Re: upload of rebuilt packages to the repository

Поиск
Список
Период
Сортировка
От Philippe Kueck
Тема Re: upload of rebuilt packages to the repository
Дата
Msg-id 1ddd3314-01a2-8c8d-e006-9af6a7fb547a@quarantine.de
обсуждение исходный текст
Ответ на Re: upload of rebuilt packages to the repository  (Devrim Gündüz <devrim@gunduz.org>)
Список pgsql-pkg-yum
Hi,


On 06.03.2018 15:33, Devrim Gündüz wrote:
> Err, we *never* do so. Can you please give me an example?

I didn't check the previous package of amcheck_next10-1.3-1.rhel7.x86_64
of before march 1st, sorry for that.

But a while ago I filed a bug report for yum and used one of your
packages (libgeotiff) as example:
https://bugzilla.redhat.com/show_bug.cgi?id=1527417

> When we add/update a new package, the metadata is updated, so if the cached
> version (on OS side) does not match, you get this message. That is the only
> reason for this issue (and it is not an issue, IMHO)

If we replace an existing package we get this message. Not by adding a
newer version of it.

Below is a little poc. I'm using dnf (Fedora) but its behaviour doesn't
differ from yum in this case.


Kind regards,

Philippe

--%snip%--
# prepare a dummy repo
$ mkdir -p /tmp/myrepo

# add this dummy repo to yum/dnf
$ cat > /etc/yum.repos.d/test.repo <<EOF
[test]
name=testrepo
baseurl=file:///tmp/myrepo
enabled=0
gpgcheck=0
EOF

# create a dummy package
$ cat > testrpm.spec <<EOF
Name: testrpm
Version: 0.1
Release: 1%{?dist}
Summary: this is a test package
Group: Other
License: GPLv3

%description
Bogus.

%build
date +%s > dummyfile

%install
install -D -p -m644 dummyfile %{buildroot}/%{_sysconfdir}/dummyfile

%files
%{_sysconfdir}/dummyfile
EOF

# build it
$ rpmbuild -bb testrpm.spec

# and add it to the dummy repository
$ mv $(rpm -E %{_rpmdir}/%{_arch})/testrpm*.x86_64.rpm /tmp/myrepo/

# create the dummy repo
$ createrepo /tmp/myrepo/

# build cache
$ dnf --disablerepo='*' --enablerepo=test makecache

# rebuild dummy package
$ rpmbuild -bb testrpm.spec

# replace dummy package
$ mv -f $(rpm -E %{_rpmdir}/%{_arch})/testrpm*.x86_64.rpm /tmp/myrepo/

# and recreate/update the dummy repo
$ createrepo /tmp/myrepo/

# try to install the dummy package
$ dnf --disablerepo='*' --enablerepo=test -y install testrpm
Last metadata expiration check: 0:01:17 ago on Tue 06 Mar 2018 03:53:01
PM CET.
Dependencies resolved.
============================================================================================
 Package              Arch                Version
Repository         Size
============================================================================================
Installing:
 testrpm              x86_64              0.1-1.fc27                test
             6.2 k

Transaction Summary
============================================================================================
Install  1 Package

Total download size: 6.2 k
Installed size: 11
Downloading Packages:
Package "testrpm-0.1-1.fc27.x86_64" from local repository "test" has
incorrect checksum
Error: Some packages from local repository have incorrect checksum

# rebuild cache (which has not expired yet)
$ dnf --disablerepo='*' --enablerepo=test makecache
Last metadata expiration check: 0:02:18 ago on Tue 06 Mar 2018 03:53:01
PM CET.
Metadata cache created.

# try again
$ dnf --disablerepo='*' --enablerepo=test -y install testrpm
Last metadata expiration check: 0:02:21 ago on Tue 06 Mar 2018 03:53:01
PM CET.
Dependencies resolved.
=======================================================================================================
 Package                 Arch                   Version
   Repository            Size
=======================================================================================================
Installing:
 testrpm                 x86_64                 0.1-1.fc27
   test                 6.2 k

Transaction Summary
=======================================================================================================
Install  1 Package

Total download size: 6.2 k
Installed size: 11
Downloading Packages:
Package "testrpm-0.1-1.fc27.x86_64" from local repository "test" has
incorrect checksum
Error: Some packages from local repository have incorrect checksum

# this fixes it
$ dnf --disablerepo='*' --enablerepo=test clean metadata

# so let's start over with a new release

# build and add it
$ sed -i -r -e 's/(Release: )([0-9])/echo \1$((\2+1))/e' testrpm.spec
$ rpmbuild -bb testrpm.spec
$ mv -f $(rpm -E %{_rpmdir}/%{_arch})/testrpm*.x86_64.rpm /tmp/myrepo/
$ createrepo /tmp/myrepo/

# it doesn't install the latest release because of non-expired metadata
# but at least it doesn't show checksum errors
$ yes n | dnf --disablerepo='*' --enablerepo=test install testrpm
Last metadata expiration check: 0:03:31 ago on Tue 06 Mar 2018 04:07:07
PM CET.
Dependencies resolved.
=======================================================================================================
 Package                 Arch                   Version
   Repository            Size
=======================================================================================================
Installing:
 testrpm                 x86_64                 0.1-1.fc27
   test                 6.2 k

Transaction Summary
=======================================================================================================
Install  1 Package

Total size: 6.2 k
Installed size: 11
Is this ok [y/N]: Operation aborted.
--%snip%--


В списке pgsql-pkg-yum по дате отправления:

Предыдущее
От: Devrim Gündüz
Дата:
Сообщение: Re: upload of rebuilt packages to the repository
Следующее
От: Payal Singh
Дата:
Сообщение: Re: [pgsql-pkg-yum] Amazon Linux PGDG Repo?