On 07.06.2016 20:42, Jeffrey Johnson wrote:
On Jun 7, 2016, at 1:29 PM, Elan Ruusamäe <g...@delfi.ee> wrote:

On 06.06.2016 22:00, Elan Ruusamäe wrote:
(pld has --downgrade alias to --oldpackage via popt)

downgrading from repackage lost config files,
i.e saved them as .rpmsave leaving original path missing
remote reproducer using docker:
(commands that Dockerfile runs are displayed on that page, so not posting them 
here)

https://hub.docker.com/r/glen/rpm-repackage-bug/builds/b96cnokzxisbioj7egrc7d8/

I’m sure the problem is reproducible for you. Meanwhile, if rpm is to support
—downgrade with %config file handling, I need a far simpler reproducer
that does not involve docker and hundreds of packages.


docker was just easy way to show how problem can be reproduced. nothing suits you.
a reproducer that you can run on your own however you want.
and docker runs nowadays linux/osx/windows, natively! [*1]

to preproduce just need two packages:
1. old package, v1.1
2. new package, v1.2

and scenario:
1. install v1.1
2. upgrade v1.1->v1.2
3. "downgrade" v1.2->v1.1 with matching v1.1 and v1.2 packages (it will not really downgrade)

showing this, using the same docker image:
1. download "pure" packages:

# poldek --fetch=/tmp -u pam pam-libs --nodeps
# poldek --fetch=/tmp -u pam pam-libs --force -n th-2015 --noask
bash-4.3# ls -l /tmp/*pam*
-rw-r--r-- 1 root root 747324 Mar 28  2015 /tmp/pam-1.1.8-8.x86_64.rpm
-rw-r--r-- 1 root root 760576 May 15 08:41 /tmp/pam-1.2.1-1.x86_64.rpm
-rw-r--r-- 1 root root  34016 Mar 28  2015 /tmp/pam-libs-1.1.8-8.x86_64.rpm
-rw-r--r-- 1 root root  34391 May 15 08:41 /tmp/pam-libs-1.2.1-1.x86_64.rpm
bash-4.3# rpm -q pam pam-libs
pam-1.2.1-1.x86_64
pam-libs-1.2.1-1.x86_64
bash-4.3# rpm -Uhv --oldpackage /tmp/*pam*
warning: package pam = 1:1.1.8-8 was already added, replacing with pam >= 1:1.2.1-1 warning: package pam-libs = 1:1.1.8-8 was already added, replacing with pam-libs >= 1:1.2.1-1
Preparing... ########################################### [100%]
Repackaging...
   1:pam ########################################### [ 50%]
   2:pam-libs ########################################### [100%]
Upgrading...
   1:pam-libs ########################################### [ 50%]
warning: /etc/environment saved as /etc/environment.rpmsave
   2:pam ########################################### [100%]
bash-4.3# rpm -q pam pam-libs
pam-1.2.1-1.x86_64
pam-libs-1.2.1-1.x86_64
bash-4.3#



Meanwhile abandoning %config renaming (and doing a git check-in with 
RPM+LIBGIT2),
is likely the best forward-looking solution.
pld will not sign up to this. %config handling needs to be fixed.
There are also better solutions than /var/spool/repackage that can be attempted 
these
days.
why are you sure it's repackage problem if you can't even understand why it behaves like it does. i've seen rpm losing configs ever other corner. this was just easily reproducible usecase.

[*1]: may need beta signup, i'm not using win/mac myself

--
glen

_______________________________________________
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en

Reply via email to