[Mageia-dev] Planning the /usr move

Colin Guthrie mageia at colin.guthr.ie
Sat Jul 14 20:03:23 CEST 2012


'Twas brillig, and Colin Guthrie at 11/07/12 14:10 did gyre and gimble:
> 'Twas brillig, and Colin Guthrie at 11/07/12 12:52 did gyre and gimble:
>> In a set of follow up emails I'll post some results from investigations
>> of what packages are affected by the change (preliminary checks are
>> quite promising in that there are not too many packages that will need
>> fixed - IIRC fedora found ~30 packages which isn't too bad).
> 
> OK, here are some results from a small script I wrote.
> 
> Firstly I ran two commands:
> 
> urpmf ^/sbin | sort -u >slash-sbin.txt
> urpmf ^/bin | sort -u >slash-bin.txt
> 
> 
> 
> Then ran the attached script on each which takes each package name and
> tries to find any conflicting files in /usr in other packages.
> 
> Here are the results:
> 
> /sbin:
> 
> alsa-utils:self
> bluez:self
> davfs2:self
> info-install:dpkg
> iputils:self
> libselinux-utils:self
> ncpfs:self
> sound-scripts:self
> util-linux:self
> xfsdump:self
> zapata:dahdi-tools
> 
> 
> /bin:
> 
> coreutils:heimdal-workstation
> findutils:self
> fuse:self
> gawk:self
> gettext-base:self
> gzip:self
> kbd:self
> kmod:self
> lsb-release:self
> open:self
> pdksh:self
> plymouth:self
> procps:self
> sound-scripts:self
> util-linux:heimdal-login shadow-utils
> 
> 
> 
> As you can see the results are quite easy. Most of them "self conflict"
> which is a trivial fix in those packages.
> 
> The ones that are actually mildly complicated are:
> 
> info-install:dpkg
> zapata:dahdi-tools
> coreutils:heimdal-workstation
> util-linux:heimdal-login shadow-utils
> 
> The heimdal-login issues should be mostly OK, as the package itself
> conflicts with util-linux, but the -workstation provides it's own "su"
> in /usr/bin. This is likely to be a problem in itself as I'm not sure
> any package can conflict with core-utils!! I don't know anything about
> heimdal, so anyone with expertise in the ins and outs of this should
> speak up!
> 
> The Only other real problem is that we currently use "login" from
> shadow-utils (by virtue of it being in /usr/bin) but a /bin/login is
> provided by util-linux.
> 
> It seems fedora use the util-linux one and remove binaries from
> shadow-utils they don't use. If no-one has any strong opinion or
> knowledge here I'll just follow that pattern.
> 
> http://pkgs.fedoraproject.org/gitweb/?p=shadow-utils.git;a=blob;f=shadow-utils.spec;hb=HEAD
> 
> 
> 
> I've not done checks in the various lib packages (for /lib and /lib64)
> but I suspect there will be less complications there anyway and mostly
> just self-conflicts.

OK, so I've now down more analysis and the following should be a
complete list of package which have issues relating to the same files
existing in / vs /usr (46 packages in total):

 acl-2.2.51-3.mga2.src.rpm
 alsa-utils-1.0.25-4.mga2.src.rpm
 attr-2.4.46-1.mga2.src.rpm
 bluez-4.101-1.mga3.src.rpm
 coreutils-8.17-1.mga3.src.rpm
 davfs2-1.4.6-1.mga1.src.rpm
 db47-4.7.25-8.mga1.src.rpm
 db48-4.8.30-8.mga2.src.rpm
 db51-5.1.25-5.mga2.src.rpm
 db52-5.2.36-2.mga3.src.rpm
 dmapi-2.2.10-3.mga1.src.rpm
 filesystem-2.1.9-17.mga2.src.rpm
 findutils-4.5.10-1.mga2.src.rpm
 fuse-2.8.7-1.mga2.src.rpm
 gawk-4.0.1-1.mga2.src.rpm
 gcc-4.7.1-3.mga3.src.rpm
 gettext-0.18.1.1-2.mga2.src.rpm
 grub-0.97-32.mga1.src.rpm
 gzip-1.5-1.mga3.src.rpm
 iputils-20101006-3.mga2.src.rpm
 kbd-1.15.3-1.mga2.src.rpm
 kmod-8-1.mga3.src.rpm
 libselinux-2.0.78-3.mga1.src.rpm
 libtermcap-2.0.8-51.mga3.src.rpm
 libusb1-1.0.9-1.mga2.src.rpm
 libusb-compat-0.1.4-1.mga3.src.rpm
 lsb-4.1-12.mga3.src.rpm
 lsb-release-2.0-37.mga3.src.rpm
 ncpfs-2.2.6-12.mga3.src.rpm
 ncurses-5.9-6.mga2.src.rpm
 nspr-4.9.1-1.mga3.src.rpm
 nss-3.13.5-1.mga3.src.rpm
 open-1.4-21.mga1.src.rpm
 pcre-8.21-1.mga2.src.rpm
 pdksh-5.2.14-29.mga1.src.rpm
 plymouth-0.8.5.1-1.mga3.src.rpm
 procps-3.2.8-6.mga1.src.rpm
 readline-6.2-4.mga2.src.rpm
 sound-scripts-0.62-9.mga3.src.rpm
 systemd-186-1.mga3.src.rpm
 texinfo-4.13a-5.mga3.src.rpm
 util-linux-2.21.2-1.mga3.src.rpm
 xfsdump-3.1.0-1.mga2.src.rpm
 xz-5.0.4-1.mga3.src.rpm
 zapata-1.4.12.1-2.mga2.src.rpm
 zlib-1.2.7-3.mga3.src.rpm



My plan will be to rebuild each of them locally without any kind of
conflicts (most of them self conflicts as I mentioned previously).

Then I will update the filesystem package and build it locally with the
rpm test so it cannot be installed unless the filesystem is in a
suitible state, do the filesystem conversion via dracut, then upgrade
filesystem package and all the rebuilt packages.

Assuming my system is fine, I will then submit all the packages above
for build on the buildsystem, update the filesystem package on the
buildsystem, then rebuild all the above packages again but with an
additional Requires(pre): filesystem >= $whatever-it-is.


Assuming it all works for me, would others be willing to test (on
x86_64) the packages I'll build?  I'll publish them to a custom repo,
along with detailed instructions on the dracut procedure, for running
the upgrade.


Cheers

Col


-- 

Colin Guthrie
colin(at)mageia.org
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/




More information about the Mageia-dev mailing list