Bug 6621 - update candidate: fix upgrading mdv2010.x to mga2 (perl-URPM-3.40.1-1.1.mga2 & rpm-mageia-setup-1.147-8.1.mga2)
Summary: update candidate: fix upgrading mdv2010.x to mga2 (perl-URPM-3.40.1-1.1.mga2 ...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 2
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: mga2-64-OK mga2-32-OK
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2012-06-29 15:42 CEST by Thierry Vignaud
Modified: 2012-07-10 18:21 CEST (History)
2 users (show)

See Also:
Source RPM: perl-URPM, rpm-mageia-setup
CVE:
Status comment:


Attachments

Description Thierry Vignaud 2012-06-29 15:42:19 CEST
mdv upgrade to mga2 fails b/c of two issues (one only concerning live
upgrades) :

First, we've a file conflict on a core package:
Installation failed:    file /etc/rpm/macros.d/20common.macros from
install of rpm-mageia-setup-1.147-8.mga2.i586 conflicts with file from
package rpm-mandriva-setup-1.104-2.1mdv2010.2.i586

This can be manually workarounded by removing rpm-mandriva-setup.

Then, urpmi fails on restart after upgrading itself due to still
having old mdv zlib at this stage:
/usr/bin/perl: symbol lookup error:
/usr/lib/perl5/vendor_perl/5.14.2/i386-linux-thread-multi/auto/URPM/URPM.so:
undefined symbol: gzopen64

I've fixed this by making URPM not relying on zlib in order to
decompress synthesis files.
it now relies on rpmlib that already had everything needed.
As a cherry on the cake, we gain support for synthesis compressed with
xz or bzip2.
This enables us to later swtich mga3 to use xz compressed synthesis and still
have working mga2 > mga3 live upgrade.

Suggested advisory:
===================
rpm-mageia-setup:
-----------------
A file conflict prevented upgrading a mga2010.x installation to mga2.
This update fixes it.

perl-URPM:
----------
perl-URPM lacked a require on a new enough zlib, which makes urpmi fails
to restart when performing a live upgrade.
This update fixes it.

Steps to Reproduce:

1) installing a mdv2010.1 (really mdv2010.2) chroot:
mkdir mdv2010.1
urpmi.addmedia --urpmi-root=$PWD/mdv2010.1/ --distrib
ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/Mandrivalinux/official/2010.1/i586
urpmi --urpmi-root=$PWD/mdv2010.1/  --no-suggests basesystem-minimal
urpmi --no-verify-rpm

2) try to upgrade it to mga2 (it will fail)
urpmi.removemedia -a --urpmi-root=$PWD/mdv2010.1/
urpmi.addmedia --urpmi-root=$PWD/mdv2010.1/ --distrib
ftp://ftp.mandrivauser.de/mirrors/Mageia/distrib/2/i586
chroot mdv2010.1 mount /proc
LC_ALL=C LANG=C chroot mdv2010.1/ urpmi --auto-select

3) purge the chroot and recreate it
   (aka "rm -fr mdv2010.1" + redo step1)

4) try to upgrade it to mga2 with those updates (perl-URPM-3.40.1-1.1.mga2 & rpm-mageia-setup-1.147-8.1.mga2) : it will now succeed:
urpmi.update --no-ignore 'Core Updates Testing' --urpmi-root=$PWD/mdv2010.1/
urpmi.update 'Core Updates Testing' --urpmi-root=$PWD/mdv2010.1/
LC_ALL=C LANG=C chroot mdv2010.1/ urpmi --auto-select
Comment 1 claire robinson 2012-06-29 16:01:39 CEST
Thanks for the detailed testing procedures Thierry.

A couple of questions please..

Must the updates for this and bug 6619 be installed at the same time?

Depending on 1..

Should these two be pushed together?

TIA.
Comment 2 Thierry Vignaud 2012-06-29 16:20:18 CEST
No they're unrelated.
Bug #6619 is about a minor regression while this BR is about broken upgrade.
So there's no need to push them together.
That's why I made 2 separate BR.
I've put perl-URPM & rpm-mageia-setup together as successfull testing implies having both fixed.

Pushing urpmi together with perl-URPM & rpm-mageia-setup would just make MageiaUpdate restart only once instead of twice for those who update often but that's not needed.

Additional testing that can be done:
- install/remove a cople packages from rpmdrake with new perl-URPM
- perform an upgrade with rpm-mandriva-setup-build installed too
Comment 3 claire robinson 2012-06-29 16:48:34 CEST
Thanks for clarifying.

I think step 1 has been mangled by bugzilla, should this be all one line?

urpmi --urpmi-root=$PWD/mdv2010.1/  --no-suggests basesystem-minimal
urpmi --no-verify-rpm
Comment 4 claire robinson 2012-06-29 17:06:33 CEST
Note to QA..

Before the rm -rf mdv2010.1 it's necessary to umount mdv2010.1/proc or it fails with permission errors.
Comment 5 Manuel Hiebel 2012-06-29 17:28:34 CEST
On mga1 with a chroot, rpm-mageia-setup and perl-URPM fix fine the upgrade.
(there is only some warning which was already know)

Source RPM: update-candidate: => perl-URPM, rpm-mageia-setup

Comment 6 claire robinson 2012-06-29 19:08:36 CEST
I had problems with the procedure so downloaded the mdv2010.1 dual cd iso and installed a minimal mdv 2010 in virtualbox.

Took a snapshot.

Found the upgrade failed with:

Installation failed: file /etc/rpm/macros.d/20common.macros from the install of rpm-mageia-setup-1.147-8.mga2.x86_64 conflicts with file from package rpm-mandriva-setup-1.104-1mdv2010.1.x86_64

Followed by a load of perl errors.

(Tip: to scroll back up in a tty use Shift+PgUp)

With Core Updates Testing enabled the upgrade proceeded successfully
claire robinson 2012-06-29 19:26:21 CEST

Whiteboard: (none) => mga2-64-OK

Comment 7 Thierry Vignaud 2012-06-29 20:01:01 CEST
(In reply to comment #3)
> I think step 1 has been mangled by bugzilla, should this be all one line?
> 
> urpmi --urpmi-root=$PWD/mdv2010.1/  --no-suggests basesystem-minimal
> urpmi --no-verify-rpm

All should be one line indeed
Thierry Vignaud 2012-06-29 20:56:41 CEST

Summary: update candidate: ffix upgrading mdv2010.x to mga2 (perl-URPM-3.40.1-1.1.mga2 & rpm-mageia-setup-1.147-8.1.mga2) => update candidate: fix upgrading mdv2010.x to mga2 (perl-URPM-3.40.1-1.1.mga2 & rpm-mageia-setup-1.147-8.1.mga2)

Comment 8 claire robinson 2012-07-02 20:19:32 CEST
Testing complete i586

Confirmed the upgrade failed from mdv 2010.2 i586 to mga2 i586 with the file conflict.

Upgrade with testing versions completes fine. 


Validating


Suggested advisory:
===================
rpm-mageia-setup:
-----------------
A file conflict prevented upgrading a mga2010.x installation to mga2.
This update fixes it.

perl-URPM:
----------
perl-URPM lacked a require on a new enough zlib, which makes urpmi fails
to restart when performing a live upgrade.
This update fixes it.

SRPMs:
perl-URPM-3.40.1-1.1.mga2 
rpm-mageia-setup-1.147-8.1.mga2

depcheck checked.

Could sysadmin please push from core/updates_testing to core/updates

Thanks!

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs
Whiteboard: mga2-64-OK => mga2-64-OK mga2-32-OK

Comment 9 Thomas Backlund 2012-07-10 18:21:20 CEST
Update pushed:
https://wiki.mageia.org/en/Support/Advisories/MGAA-2012-0110

Status: NEW => RESOLVED
CC: (none) => tmb
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.