Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-04 Thread Harald Hoyer
Am 03.02.2012 11:33, schrieb Kay Sievers:
 On Fri, Feb 3, 2012 at 11:25, Frank Murphy frankl...@gmail.com wrote:
 On 02/02/12 18:47, Kay Sievers wrote:

 The former dracut ‘usrmove’ module has been renamed to ‘convertfs’. We
 need to carry that option for quite some time through future releases

 Does this mean that ‘convertfs’ will be build into dracut-*?
 
 The module will be provided by dracut for at least the next two Fedora
 releases, to be able to upgrade older installations with just yum.
 
 Does the user\tester have to keep doing --force --add?
 
 For now, the module is not included by default. We will have a call to
 that script in anaconda, so updates from media will not need any of
 these steps. Manual updates with dracut will need that.
 
 Does rd.convertfs have to stay on /etc/grub.cfg
 Shoule we adjust /etc/dracut.conf add_extramodules=convertfs
 
 Only once, It can also be be entered one time at the bootloader.
 
 Kay

https://fedoraproject.org/wiki/Upgrading_Fedora_using_yum#Fedora_16_-.3E_Fedora_17
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-03 Thread Frank Murphy

On 02/02/12 18:47, Kay Sievers wrote:


The former dracut ‘usrmove’ module has been renamed to ‘convertfs’. We
need to carry that option for quite some time through future releases



Does this mean that ‘convertfs’ will be build into dracut-*?
Does the user\tester have to keep doing --force --add?
Does rd.convertfs have to stay on /etc/grub.cfg
Shoule we adjust /etc/dracut.conf add_extramodules=convertfs

Apologies if, it's only me that doesn't understand.


--
Regards,

Frank Murphy, friend of fedoraproject
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-03 Thread Kay Sievers
On Fri, Feb 3, 2012 at 11:25, Frank Murphy frankl...@gmail.com wrote:
 On 02/02/12 18:47, Kay Sievers wrote:

 The former dracut ‘usrmove’ module has been renamed to ‘convertfs’. We
 need to carry that option for quite some time through future releases

 Does this mean that ‘convertfs’ will be build into dracut-*?

The module will be provided by dracut for at least the next two Fedora
releases, to be able to upgrade older installations with just yum.

 Does the user\tester have to keep doing --force --add?

For now, the module is not included by default. We will have a call to
that script in anaconda, so updates from media will not need any of
these steps. Manual updates with dracut will need that.

 Does rd.convertfs have to stay on /etc/grub.cfg
 Shoule we adjust /etc/dracut.conf add_extramodules=convertfs

Only once, It can also be be entered one time at the bootloader.

Kay
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

@ Harald Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-02 Thread Frank Murphy

On 27/01/12 13:10, Harald Hoyer wrote:

Hello Testers and rawhide Users,

Fedora 17 will locate the entire base operating system in /usr. The directories
/bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64



if before the /usrmove.
There is a symlink:
/lib/foo  /usr/lib/foo2

and a hardlink was created before the move.

/usr/lib/foo  /usr/lib/foo2

Would the /usrmove script
replace the hardlink with the softlink?

--
Regards,

Frank Murphy, friend of fedoraproject
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: @ Harald Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-02 Thread Rex Dieter
Frank Murphy wrote:

 On 27/01/12 13:10, Harald Hoyer wrote:
 Hello Testers and rawhide Users,

 Fedora 17 will locate the entire base operating system in /usr. The
 directories /bin, /sbin, /lib, /lib64 will only be symlinks:
   /bin → /usr/bin
   /sbin → /usr/sbin
   /lib → /usr/lib
   /lib64 → /usr/lib64

 
 if before the /usrmove.
 There is a symlink:
 /lib/foo  /usr/lib/foo2
 
 and a hardlink was created before the move.
 
 /usr/lib/foo  /usr/lib/foo2
 
 Would the /usrmove script
 replace the hardlink with the softlink?

no.

-- rex


-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: @ Harald Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-02 Thread Frank Murphy

On 02/02/12 12:42, Rex Dieter wrote:



Would the /usrmove script
replace the hardlink with the softlink?


no.

-- rex



Thanks Rex,
Unfortunatly I'm not a scripter.


--
Regards,

Frank Murphy, friend of fedoraproject
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-02 Thread Kay Sievers
On Fri, Jan 27, 2012 at 14:10, Harald Hoyer har...@redhat.com wrote:
 Hello Testers and rawhide Users,

 Fedora 17 will locate the entire base operating system in /usr. The 
 directories
 /bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64

 Some reasoning behind this change is outlined here:
  http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

 The official Fedora 17 feature page is here:
  https://fedoraproject.org/wiki/Features/UsrMove

 The needed changes to implement the unified filesystem are about to land in
 rawhide soon. New installations of rawhide/Fedora 17 will install the symlinks
 right away, and no special care needs to be taken

 Currently installed systems need some manual steps to convert the current 
 system
 to match the layout of rawhide/Fedora 17. After that, the system can continue 
 to
 be updated with YUM as usual.

 Some RPM packages in rawhide/Fedora 17 will carry a RPM dependency guard, 
 which
 will make sure, they can only be installed when /bin, /sbin, /lib, /lib64 are
 symlinks and not directories like in Fedora 16 and older.

 The installed system’s base filesystem layout can not be safely altered, while
 the system itself is running on top of it. Dracut, the initramfs used to find
 and mount the root filesystem, can be instructed to convert the filesystem to
 match rawhide/Fedora 17’s expectations.

The former dracut ‘usrmove’ module has been renamed to ‘convertfs’. We
need to carry that option for quite some time through future releases
and want to name the module more generic for possible future needs in
that category.

This is the current version/build number:
 dracut-014-81.git20120202.fc17

Please build the custom dracut image now with:
 # dracut --force --add convertfs

On the kernel commandline dracut now looks for:
 rd.convertfs

In some cases, we still do not properly support multi-lib updates with
the current testing repo, without adding also the i386 repository to
the updated system; the f17-usrmove repo does not automatically copy
the 32bit libs in the 64bit repo. This issue will not happen when all
moves to rawhide.

These known bugs are fixed:
- rebuild of the dracut initramfs on the converted system had problems
with optimized i686 libs, which is fixed now

- the ntfs-3g was not part of the f17-usrmove repository and
installing the old package on the converted system broke its symlink
logic. The fixed package is built for f17-usrmove now.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Rpm-maint] Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Panu Matilainen

On 01/31/2012 11:30 PM, James Antill wrote:

On Tue, 2012-01-31 at 15:58 -0500, Bill Nottingham wrote:

James Antill (ja...@fedoraproject.org) said:

[root@nostromo ~]# mv /bin /cow
[root@nostromo ~]# /cow/ln -s /cow /bin
[root@nostromo ~]# rpm -qf /cow/bash
bash-4.2.20-1.fc16.x86_64
[root@nostromo ~]# rpm -qf /bin/bash
bash-4.2.20-1.fc16.x86_64

rpm should already handle this, no need for the provides.


  Good to see everyone still doesn't read what I write.

  As I said, rpm _does something_ to make the above work for -qf (the
above even works if you inside /cow ... as long as the /bin symlink
exists!).
  However, it _does not_ work, if you put the above in package
provides/requires and try to install them. Eg.


It does, in some cases. Which makes it even more fun.

Take a system with /usr/bin/sdiff.

...
Name: cow
Summary: cow
Version: 1.0
Release: 1
URL: http://redhat.com/
License: Moo
Requires: /bin/sdiff
...

root@nostromo x86_64]# rpm -ivh cow-1.0-1.x86_64.rpm --test
error: Failed dependencies:
/bin/sdiff is needed by cow-1.0-1.x86_64
[root@nostromo x86_64]# mv /bin /cow
[root@nostromo x86_64]# /cow/ln /usr/bin -s /bin
[root@nostromo x86_64]# /cow/rpm -ivh cow-1.0-1.x86_64.rpm  --test
Preparing...### [100%]


  IMO this is pretty crazy, because by changing the symlink back you've
broken the prco constraints in the DB (but everything would verify as
correct).


Actually verify does notice this breakage (using slightly different 
sample specimen to avoid having to muck with /bin):


[root@localhost ~]# rpm -Uvh 
/home/pmatilai/rpmbuild/RPMS/noarch/cow-1.0-1.noarch.rpm

error: Failed dependencies:
/moo/sdiff is needed by cow-1.0-1.noarch
[root@localhost ~]# ln -s /usr/bin /moo
[root@localhost ~]# rpm -Uvh 
/home/pmatilai/rpmbuild/RPMS/noarch/cow-1.0-1.noarch.rpm
Preparing...### 
[100%]

Updating / installing...
   1:cow### 
[100%]

[root@localhost ~]# rpm -V cow
[root@localhost ~]# rm -f /moo
[root@localhost ~]# rpm -V cow
Unsatisfied dependencies for cow-1.0-1.noarch:
/moo/sdiff is needed by (installed) cow-1.0-1.noarch
[root@localhost ~]#


  It also seems like rpm is doing a _lot_ of work it doesn't need to do
here, but who knows ... it looks pretty magic (and I'm scared to go find
out why/how it's doing the above :).

  Cc'ing rpm maintainers for their opinion on what rpm is doing and why.


This is the somewhat infamous and magical fingerprinting at work, 
whether you actually wanted to know it or not :)


Roughly speaking, rpm doesn't look up installed file matches by 
comparing the entire path, it compares the fingerprint (basically 
inode + device combination) of all matching basenames for equality.


So what happens in the above /moo/sdiff case is that rpm looks up all 
files with 'sdiff' basename from the rpmdb (in this case returning 
/usr/bin/sdiff from diffutils), and compares the fingerprint of 
/moo/sdiff and /usr/bin/sdiff for equality. When the /moo - /usr/bin 
link is in place, /moo/sdiff and /usr/bin/sdiff are the same physical 
file regardless of the actual path used to reach it, and thus considered 
a match.


As for the why-part: its a caching and tracking mechanism for dealing 
with directories vs symlinks to directories. Whether the issue discussed 
here should be considered a side-effect or an intentional feature is 
perhaps another question, but that's how rpm has worked since very very 
early days.


To-be-installed files obviously have no on-disk fingerprints, so it wont 
work for initial installation. So yes, those fake compatibility 
provides are needed. Strictly speaking, compatibility provides would be 
needed for ALL the moved files, not just /bin, as it's technically 
perfectly legal for a package to depend on an arbitrary path in 
/lib[64], not just /[s]bin.


- Panu -
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Emanuel Rietveld

On 02/01/2012 01:32 PM, Panu Matilainen wrote:
To-be-installed files obviously have no on-disk fingerprints, so it 
wont work for initial installation. So yes, those fake compatibility 
provides are needed. Strictly speaking, compatibility provides would 
be needed for ALL the moved files, not just /bin, as it's technically 
perfectly legal for a package to depend on an arbitrary path in 
/lib[64], not just /[s]bin.


- Panu -


Would it be possible to leave out these provides and fix each individual 
package to require in the new path instead?

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Chris Adams
Once upon a time, Emanuel Rietveld codehot...@gmail.com said:
 On 02/01/2012 01:32 PM, Panu Matilainen wrote:
 To-be-installed files obviously have no on-disk fingerprints, so it 
 wont work for initial installation. So yes, those fake compatibility 
 provides are needed. Strictly speaking, compatibility provides would 
 be needed for ALL the moved files, not just /bin, as it's technically 
 perfectly legal for a package to depend on an arbitrary path in 
 /lib[64], not just /[s]bin.
 
 - Panu -
 
 Would it be possible to leave out these provides and fix each individual 
 package to require in the new path instead?

It isn't practical to fix every package that requires /bin/sh.

There sure seems to be a lot of uncertainty for a feature that is
supposedly ready to land.
-- 
Chris Adams cmad...@hiwaay.net
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Genes MailLists
On 02/01/2012 09:41 AM, Chris Adams wrote:
 Once upon a time, Emanuel Rietveld codehot...@gmail.com said:
 On 02/01/2012 01:32 PM, Panu Matilainen wrote:
 To-be-installed files obviously have no on-disk fingerprints, so it 
 wont work for initial installation. So yes, those fake compatibility 
 provides are needed. Strictly speaking, compatibility provides would 
 be needed for ALL the moved files, not just /bin, as it's technically 
 perfectly legal for a package to depend on an arbitrary path in 
 /lib[64], not just /[s]bin.

- Panu -

 Would it be possible to leave out these provides and fix each individual 
 package to require in the new path instead?
 
 It isn't practical to fix every package that requires /bin/sh.
 
 There sure seems to be a lot of uncertainty for a feature that is
 supposedly ready to land.

 Just asking - does a bind mount of /bin instead of a soft link help?
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Panu Matilainen

On 02/01/2012 04:41 PM, Chris Adams wrote:

Once upon a time, Emanuel Rietveldcodehot...@gmail.com  said:

On 02/01/2012 01:32 PM, Panu Matilainen wrote:

To-be-installed files obviously have no on-disk fingerprints, so it
wont work for initial installation. So yes, those fake compatibility
provides are needed. Strictly speaking, compatibility provides would
be needed for ALL the moved files, not just /bin, as it's technically
perfectly legal for a package to depend on an arbitrary path in
/lib[64], not just /[s]bin.

- Panu -


Would it be possible to leave out these provides and fix each individual
package to require in the new path instead?


It isn't practical to fix every package that requires /bin/sh.


It's not just that the impracticality either - not providing /bin/sh, 
/sbin/ldconfig and the like would mean a huge incompatibility break with 
nearly every existing package in the wild. Not really an option.


- Panu -
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Chris Adams
Once upon a time, Genes MailLists li...@sapience.com said:
  Just asking - does a bind mount of /bin instead of a soft link help?

That doesn't affect RPM database and yum metadata issues.
-- 
Chris Adams cmad...@hiwaay.net
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Bill Nottingham
Panu Matilainen (pmati...@laiskiainen.org) said: 
 To-be-installed files obviously have no on-disk fingerprints, so it
 wont work for initial installation. So yes, those fake compatibility
 provides are needed. Strictly speaking, compatibility provides would
 be needed for ALL the moved files, not just /bin, as it's technically
 perfectly legal for a package to depend on an arbitrary path in
 /lib[64], not just /[s]bin.
 
 - Panu -
 
 Would it be possible to leave out these provides and fix each individual
 package to require in the new path instead?
 
 It isn't practical to fix every package that requires /bin/sh.
 
 It's not just that the impracticality either - not providing
 /bin/sh, /sbin/ldconfig and the like would mean a huge
 incompatibility break with nearly every existing package in the
 wild. Not really an option.

I'm not convinced of the all case, though. /bin/sh, /sbin/ldconfig, 
etc. could be reasonable for a package to require, and should be provided.
 
Requires: /lib/modules/3.1.2-1.fc16/kernel/drivers/net/3c59x.ko is likely
too dumb to live, though.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-02-01 Thread Panu Matilainen

On 02/01/2012 06:38 PM, Bill Nottingham wrote:

Panu Matilainen (pmati...@laiskiainen.org) said:

To-be-installed files obviously have no on-disk fingerprints, so it
wont work for initial installation. So yes, those fake compatibility
provides are needed. Strictly speaking, compatibility provides would
be needed for ALL the moved files, not just /bin, as it's technically
perfectly legal for a package to depend on an arbitrary path in
/lib[64], not just /[s]bin.

- Panu -


Would it be possible to leave out these provides and fix each individual
package to require in the new path instead?


It isn't practical to fix every package that requires /bin/sh.


It's not just that the impracticality either - not providing
/bin/sh, /sbin/ldconfig and the like would mean a huge
incompatibility break with nearly every existing package in the
wild. Not really an option.


I'm not convinced of the all case, though. /bin/sh, /sbin/ldconfig,
etc. could be reasonable for a package to require, and should be provided.

Requires: /lib/modules/3.1.2-1.fc16/kernel/drivers/net/3c59x.ko is likely
too dumb to live, though.


Oh, sure. Hence the strictly speaking.

I'm not arguing for adding provides for eg /lib/modules (although I 
think I've seen such dependencies in the wonderful world of kernel 
module packaging ;), just pointing out that it's not 100% transparent 
change for package(r)s. Made ever more fun by the rpm behavior on 
installed files where you test a package on your machine, see it 
installs fine and then scratch head when it fails to work as part of 
initial install.


- Panu -
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Kevin Kofler
Miloslav Trmač wrote:

 http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2
 
 As you say, ugh!.

Yeah, this is awful!

Can't you push more strongly in FESCo for a revote? This feature really needs
to be reconsidered, and hopefully thrown out by revoking its approval.

Kevin Kofler

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Bill Nottingham
Miloslav Trmač (m...@volny.cz) said: 
 On Tue, Jan 31, 2012 at 1:06 AM, Martin Langhoff
 martin.langh...@gmail.com wrote:
   But you can add:
 
  Provides: /bin/foo
 
  Ugh! Will that be needed that across the distro for a release or two?
 
 http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2

That should not be needed.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Bill Nottingham
Bill Nottingham (nott...@redhat.com) said: 
 Miloslav Trmač (m...@volny.cz) said: 
  On Tue, Jan 31, 2012 at 1:06 AM, Martin Langhoff
  martin.langh...@gmail.com wrote:
    But you can add:
  
   Provides: /bin/foo
  
   Ugh! Will that be needed that across the distro for a release or two?
  
  http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2
 
 That should not be needed.

To be precise:

[root@nostromo ~]# mv /bin /cow
[root@nostromo ~]# /cow/ln -s /cow /bin
[root@nostromo ~]# rpm -qf /cow/bash
bash-4.2.20-1.fc16.x86_64
[root@nostromo ~]# rpm -qf /bin/bash
bash-4.2.20-1.fc16.x86_64

rpm should already handle this, no need for the provides.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Miloslav Trmač
On Tue, Jan 31, 2012 at 4:52 PM, Bill Nottingham nott...@redhat.com wrote:
 Bill Nottingham (nott...@redhat.com) said:
 Miloslav Trmač (m...@volny.cz) said:
  On Tue, Jan 31, 2012 at 1:06 AM, Martin Langhoff
  martin.langh...@gmail.com wrote:
    But you can add:
  
   Provides: /bin/foo
  
   Ugh! Will that be needed that across the distro for a release or two?
 
  http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2

 That should not be needed.

 To be precise:

 [root@nostromo ~]# mv /bin /cow
 [root@nostromo ~]# /cow/ln -s /cow /bin
 [root@nostromo ~]# rpm -qf /cow/bash
 bash-4.2.20-1.fc16.x86_64
 [root@nostromo ~]# rpm -qf /bin/bash
 bash-4.2.20-1.fc16.x86_64

 rpm should already handle this, no need for the provides.

Elsewhere in this thread it was pointed out that yum doesn't handle it
the same way.
   Mirek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Bill Nottingham
Miloslav Trmač (m...@volny.cz) said: 
  To be precise:
 
  [root@nostromo ~]# mv /bin /cow
  [root@nostromo ~]# /cow/ln -s /cow /bin
  [root@nostromo ~]# rpm -qf /cow/bash
  bash-4.2.20-1.fc16.x86_64
  [root@nostromo ~]# rpm -qf /bin/bash
  bash-4.2.20-1.fc16.x86_64
 
  rpm should already handle this, no need for the provides.
 
 Elsewhere in this thread it was pointed out that yum doesn't handle it
 the same way.

When calculating local on-system provides, it should - in fact, I'd be
surprised if it doesn't. Admins sometimes move directories around and
replace them with symlinks.

Is the statement that it won't take it into account for an initial install
transaction?

(The solution then would be to merely not change the packaging outside of
the filesystem package.)

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Martin Langhoff
On Tue, Jan 31, 2012 at 11:03 AM, Bill Nottingham nott...@redhat.com wrote:
 Miloslav Trmač (m...@volny.cz) said:
 When calculating local on-system provides, it should - in fact, I'd be
 surprised if it doesn't. Admins sometimes move directories around and
 replace them with symlinks.

Well, that's a very different scenario.

 Is the statement that it won't take it into account for an initial install
 transaction?

My statement is that packages on a F17 system won't declare that they
install /bin/foo (unless an explicit compat provides is written into
the spec file).

So external packages (_not_ coming from Fedora) may depend on
/bin/foo, and yum won't know what to install.

Perhaps yum can be taught explicitly about these symlinks, or perhaps
the whole repo needs a whole lot of provides added. Cannot right now
see a practical 3rd option.

Note that I'm _for_ the /usr move, just being curious (perhaps
annoying) about some technical details. The benefits are compelling
for many things I do in my personal computing, and for the work we do
@ OLPC.

From the OLPC angle, I favour yum being taught about the symlinks -- a
big pile of provides will only grow the yum sqlite database, and
that's _not_ good news for bandwidth-limited users, nor for
RAM-limited devices. Like XOs :-)

cheers,


m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- Software Architect - OLPC
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Adam Williamson
On Tue, 2012-01-31 at 11:03 -0500, Bill Nottingham wrote:
 Miloslav Trmač (m...@volny.cz) said: 
   To be precise:
  
   [root@nostromo ~]# mv /bin /cow
   [root@nostromo ~]# /cow/ln -s /cow /bin
   [root@nostromo ~]# rpm -qf /cow/bash
   bash-4.2.20-1.fc16.x86_64
   [root@nostromo ~]# rpm -qf /bin/bash
   bash-4.2.20-1.fc16.x86_64
  
   rpm should already handle this, no need for the provides.
  
  Elsewhere in this thread it was pointed out that yum doesn't handle it
  the same way.
 
 When calculating local on-system provides, it should - in fact, I'd be
 surprised if it doesn't. Admins sometimes move directories around and
 replace them with symlinks.
 
 Is the statement that it won't take it into account for an initial install
 transaction?

Perhaps it'd be nice for someone to be sure about this? The competing
uncertain 'I think it's sort of like this' assertions are making me
nervous.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Andreas Bierfert
On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
 Add f17-usrmove in the file /etc/yum.repos.d/f17-usrmove.repo
  [f17-usrmove]
  name=Fedora $releasever - $basearch
  failovermethod=priority
  baseurl=http://koji.fedoraproject.org/repos/f17-usrmove/latest/$basearch
  enabled=1
  metadata_expire=1d
  gpgcheck=0
 
 # yum clean all
 # yum upgrade

As a heads up for x86-64 users:
The f17-usrmove koji repo for x86-64 is missing x86-32 rpms which are
normally copied from the x86-32 to x86-64 as part of the rawhide
compose.
 
Workaround is to add a second entry to the repo file pointing directly
to the x86-32 (i386) repo. Otherwise yum will bail out eventually
because of protected multilib versions.

[f17-usrmove-x86-32]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://koji.fedoraproject.org/repos/f17-usrmove/latest/i386
enabled=1
metadata_expire=1d
gpgcheck=0


Regards,
Andreas
-- 
Andreas Bierfert andreas.bierf...@lowlatency.de


signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Genes MailLists

  What would be the pros/cons of a bind mount instead of a soft link for
/bin et al?

  gene
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread James Antill
On Tue, 2012-01-31 at 10:52 -0500, Bill Nottingham wrote:
 Bill Nottingham (nott...@redhat.com) said: 
  Miloslav Trmač (m...@volny.cz) said: 
   On Tue, Jan 31, 2012 at 1:06 AM, Martin Langhoff
   martin.langh...@gmail.com wrote:
 But you can add:
   
Provides: /bin/foo
   
Ugh! Will that be needed that across the distro for a release or two?
   
   http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2
  
  That should not be needed.
 
 To be precise:
 
 [root@nostromo ~]# mv /bin /cow
 [root@nostromo ~]# /cow/ln -s /cow /bin
 [root@nostromo ~]# rpm -qf /cow/bash
 bash-4.2.20-1.fc16.x86_64
 [root@nostromo ~]# rpm -qf /bin/bash
 bash-4.2.20-1.fc16.x86_64
 
 rpm should already handle this, no need for the provides.

 Good to see everyone still doesn't read what I write.

 As I said, rpm _does something_ to make the above work for -qf (the
above even works if you inside /cow ... as long as the /bin symlink
exists!).
 However, it _does not_ work, if you put the above in package
provides/requires and try to install them. Eg.

http://james.fedorapeople.org/yum/sym1.spec
http://james.fedorapeople.org/yum/sym2.spec

...you _cannot_ install these packages, even via. local only rpm.

 Also, even if someone could fix rpm to work this out, making this work
at the yum layer is _much_ harder ... because the repodata does not
currently specify that /path/to/blah is a regular file or a symlink (and
if it's a symlink, what it points to).

 So the coreutils provides _are needed_ (along with all others), or the
coreutils package has to lie and say it is installing the packages
into a dir. /bin.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread James Antill
On Tue, 2012-01-31 at 11:03 -0500, Bill Nottingham wrote:
 Miloslav Trmač (m...@volny.cz) said: 
   To be precise:
  
   [root@nostromo ~]# mv /bin /cow
   [root@nostromo ~]# /cow/ln -s /cow /bin
   [root@nostromo ~]# rpm -qf /cow/bash
   bash-4.2.20-1.fc16.x86_64
   [root@nostromo ~]# rpm -qf /bin/bash
   bash-4.2.20-1.fc16.x86_64
  
   rpm should already handle this, no need for the provides.
  
  Elsewhere in this thread it was pointed out that yum doesn't handle it
  the same way.
 
 When calculating local on-system provides, it should - in fact, I'd be
 surprised if it doesn't. Admins sometimes move directories around and
 replace them with symlinks.

 I would be _very_ surprised if rpm let you install foo which
requires /bin/bash ... if bash _only_ provided /usr/bin/bash and another
package (or even the same one) provided /bin = /usr/bin.

 I'm not 100% sure what -qf is doing, but I'd guess it's just walking
the basename list and seeing if anything matches the inode of what is
passed in ... which is fine for query, to help the sysadmin. out, but
I'd guess would be very expensive at install time.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Bill Nottingham
James Antill (ja...@fedoraproject.org) said: 
  [root@nostromo ~]# mv /bin /cow
  [root@nostromo ~]# /cow/ln -s /cow /bin
  [root@nostromo ~]# rpm -qf /cow/bash
  bash-4.2.20-1.fc16.x86_64
  [root@nostromo ~]# rpm -qf /bin/bash
  bash-4.2.20-1.fc16.x86_64
  
  rpm should already handle this, no need for the provides.
 
  Good to see everyone still doesn't read what I write.
 
  As I said, rpm _does something_ to make the above work for -qf (the
 above even works if you inside /cow ... as long as the /bin symlink
 exists!).
  However, it _does not_ work, if you put the above in package
 provides/requires and try to install them. Eg.

It does, in some cases. Which makes it even more fun.

Take a system with /usr/bin/sdiff.

...
Name: cow
Summary: cow
Version: 1.0
Release: 1
URL: http://redhat.com/
License: Moo
Requires: /bin/sdiff

%description
Moo

%setup
%build
%install
mkdir -p $RPM_BUILD_ROOT/usr/bin
touch $RPM_BUILD_ROOT%{_bindir}/this-cow-goes-moo

%files
%{_bindir}/*
...

root@nostromo x86_64]# rpm -ivh cow-1.0-1.x86_64.rpm --test
error: Failed dependencies:
/bin/sdiff is needed by cow-1.0-1.x86_64
[root@nostromo x86_64]# mv /bin /cow
[root@nostromo x86_64]# /cow/ln /usr/bin -s /bin
[root@nostromo x86_64]# /cow/rpm -ivh cow-1.0-1.x86_64.rpm  --test
Preparing...### [100%]

Yum installs the package as well.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Bill Nottingham
Bill Nottingham (nott...@redhat.com) said: 
   Good to see everyone still doesn't read what I write.
  
   As I said, rpm _does something_ to make the above work for -qf (the
  above even works if you inside /cow ... as long as the /bin symlink
  exists!).
   However, it _does not_ work, if you put the above in package
  provides/requires and try to install them. Eg.
 
 It does, in some cases. Which makes it even more fun.

example snipped

Confirmed with a quick check - following of symlinks works for extrapolating
provides from the installed system. It does not work for extrapolating
provides from to-be-installed-in-the-same-transaction packages.

Hooray corner cases!

Bill (obviously we should split everything into individual transactions)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread James Antill
On Tue, 2012-01-31 at 15:58 -0500, Bill Nottingham wrote:
 James Antill (ja...@fedoraproject.org) said: 
   [root@nostromo ~]# mv /bin /cow
   [root@nostromo ~]# /cow/ln -s /cow /bin
   [root@nostromo ~]# rpm -qf /cow/bash
   bash-4.2.20-1.fc16.x86_64
   [root@nostromo ~]# rpm -qf /bin/bash
   bash-4.2.20-1.fc16.x86_64
   
   rpm should already handle this, no need for the provides.
  
   Good to see everyone still doesn't read what I write.
  
   As I said, rpm _does something_ to make the above work for -qf (the
  above even works if you inside /cow ... as long as the /bin symlink
  exists!).
   However, it _does not_ work, if you put the above in package
  provides/requires and try to install them. Eg.
 
 It does, in some cases. Which makes it even more fun.
 
 Take a system with /usr/bin/sdiff.
 
 ...
 Name: cow
 Summary: cow
 Version: 1.0
 Release: 1
 URL: http://redhat.com/
 License: Moo
 Requires: /bin/sdiff
 ...
 
 root@nostromo x86_64]# rpm -ivh cow-1.0-1.x86_64.rpm --test
 error: Failed dependencies:
   /bin/sdiff is needed by cow-1.0-1.x86_64
 [root@nostromo x86_64]# mv /bin /cow
 [root@nostromo x86_64]# /cow/ln /usr/bin -s /bin
 [root@nostromo x86_64]# /cow/rpm -ivh cow-1.0-1.x86_64.rpm  --test
 Preparing...### [100%]

 IMO this is pretty crazy, because by changing the symlink back you've
broken the prco constraints in the DB (but everything would verify as
correct).
 It also seems like rpm is doing a _lot_ of work it doesn't need to do
here, but who knows ... it looks pretty magic (and I'm scared to go find
out why/how it's doing the above :).

 Cc'ing rpm maintainers for their opinion on what rpm is doing and why.

 Yum installs the package as well.

 Yeh, if it asks rpm if something is installed which satisfies that and
is told yes, it will. However ... yum currently caches file
requires/providers from rpm (among other things).
 So it's very possible that yum doesn't DTRT when it has cached data
saying diffutils owns /usr/bin/sdiff and not /bin/sdiff (but it might,
because it's a negative failure).

 In general I think only a huge amount of pain can come from relying on
this (and you can't install into this situation, easily).

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Adam Williamson
On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
 Hello Testers and rawhide Users,
 
 Fedora 17 will locate the entire base operating system in /usr. The 
 directories
 /bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64

I've just tested building a live image from the /usr move repository. It
boots, and the /usr move changes appear to be implemented. I'm currently
testing if it can be installed successfully.

One thing I already noticed is that there seems to be a problem with the
ntfs-3g executables. /bin/ntfs-3g seems to be a symlink to itself - it
shows as /bin/ntfs-3g - /bin/ntfs-3g in ls output. Trying to do 'ls
-l /usr/bin/ntfs-3g' results in 'cannot access /usr/bin/ntfs-3g: Too
many levels of symbolic links'. /bin/ntfsmount is similarly affected.

On a pre-/usr move system it seems that these executables are actually
located in /bin but have symlinks in /usr/bin - /usr/bin/ntfs-3g is a
symlink to /bin/ntfs-3g . Perhaps the existence of these symlinks
in /usr/bin confused things?
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Adam Williamson
On Tue, 2012-01-31 at 14:23 -0800, Adam Williamson wrote:
 On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
  Hello Testers and rawhide Users,
  
  Fedora 17 will locate the entire base operating system in /usr. The 
  directories
  /bin, /sbin, /lib, /lib64 will only be symlinks:
   /bin → /usr/bin
   /sbin → /usr/sbin
   /lib → /usr/lib
   /lib64 → /usr/lib64
 
 I've just tested building a live image from the /usr move repository. It
 boots, and the /usr move changes appear to be implemented. I'm currently
 testing if it can be installed successfully.
 
 One thing I already noticed is that there seems to be a problem with the
 ntfs-3g executables. /bin/ntfs-3g seems to be a symlink to itself - it
 shows as /bin/ntfs-3g - /bin/ntfs-3g in ls output. Trying to do 'ls
 -l /usr/bin/ntfs-3g' results in 'cannot access /usr/bin/ntfs-3g: Too
 many levels of symbolic links'. /bin/ntfsmount is similarly affected.
 
 On a pre-/usr move system it seems that these executables are actually
 located in /bin but have symlinks in /usr/bin - /usr/bin/ntfs-3g is a
 symlink to /bin/ntfs-3g . Perhaps the existence of these symlinks
 in /usr/bin confused things?

Installation fails at partitioning stage, with udisksd hitting Error
opening /etc/crypttab file: Failed to open file '/etc/crypttab': No such
file or directory (g-file-error-quark, 4)

The file /etc/crypttab indeed doesn't exist. I'm not sure if this is
actually specific to the /usr move stuff, but it does prevent me being
able to ensure that installation works from a /usr-moved live image. I
have a non-usr-move image also, I'll test install with that.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Kay Sievers
On Tue, Jan 31, 2012 at 23:36, Adam Williamson awill...@redhat.com wrote:
 On Tue, 2012-01-31 at 14:23 -0800, Adam Williamson wrote:
 On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
  Hello Testers and rawhide Users,
 
  Fedora 17 will locate the entire base operating system in /usr. The 
  directories
  /bin, /sbin, /lib, /lib64 will only be symlinks:
   /bin → /usr/bin
   /sbin → /usr/sbin
   /lib → /usr/lib
   /lib64 → /usr/lib64

 I've just tested building a live image from the /usr move repository. It
 boots, and the /usr move changes appear to be implemented. I'm currently
 testing if it can be installed successfully.

 One thing I already noticed is that there seems to be a problem with the
 ntfs-3g executables. /bin/ntfs-3g seems to be a symlink to itself - it
 shows as /bin/ntfs-3g - /bin/ntfs-3g in ls output. Trying to do 'ls
 -l /usr/bin/ntfs-3g' results in 'cannot access /usr/bin/ntfs-3g: Too
 many levels of symbolic links'. /bin/ntfsmount is similarly affected.

 On a pre-/usr move system it seems that these executables are actually
 located in /bin but have symlinks in /usr/bin - /usr/bin/ntfs-3g is a
 symlink to /bin/ntfs-3g . Perhaps the existence of these symlinks
 in /usr/bin confused things?

Oh, for some reason, we missed to add ntfs-3g to the packages in the
f17-usrmove repo. The unconverted package contains:
  /usr/bin/ntfs-3g - /bin/ntfs-3g
which needs to be fixed to work properly for the usrmove.

 Installation fails at partitioning stage, with udisksd hitting Error
 opening /etc/crypttab file: Failed to open file '/etc/crypttab': No such
 file or directory (g-file-error-quark, 4)

 The file /etc/crypttab indeed doesn't exist. I'm not sure if this is
 actually specific to the /usr move stuff, but it does prevent me being
 able to ensure that installation works from a /usr-moved live image. I
 have a non-usr-move image also, I'll test install with that.

Sounds unlikely that this is related. But tests should show.

Unrelated: Do you know if the installer uses udisks? If, it should
probably switch to the current udisks2, because udisks will not much
longer be supported, and we should people give a note about that.

Thanks,
Kay
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-31 Thread Adam Williamson
On Wed, 2012-02-01 at 02:38 +0100, Kay Sievers wrote:

  Installation fails at partitioning stage, with udisksd hitting Error
  opening /etc/crypttab file: Failed to open file '/etc/crypttab': No such
  file or directory (g-file-error-quark, 4)
 
  The file /etc/crypttab indeed doesn't exist. I'm not sure if this is
  actually specific to the /usr move stuff, but it does prevent me being
  able to ensure that installation works from a /usr-moved live image. I
  have a non-usr-move image also, I'll test install with that.
 
 Sounds unlikely that this is related. But tests should show.
 
 Unrelated: Do you know if the installer uses udisks? If, it should
 probably switch to the current udisks2, because udisks will not much
 longer be supported, and we should people give a note about that.

Confirmed that this bug is not related to /usr move. I'm working with
anaconda team now to try and get an anaconda that's actually capable of
completing a live install, with or without the /usr move stuff.

I'm not sure if anaconda uses udisks directly, or if it's something else
calling udisksd. The udisksd error may not actually have been the cause
of the anaconda crash, according to bcl.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Joel Rees
On Fri, Jan 27, 2012 at 10:10 PM, Harald Hoyer har...@redhat.com wrote:
 Hello Testers and rawhide Users,

 Fedora 17 will locate the entire base operating system in /usr.
 [...]

You guys really are going to do this?

If it were I, instead of combining, I'd be working through the list of
what is where and starting to move things out of /bin, et. al., that
don't belong there, and starting to split /usr even further.

I guess this is what you get when you start using ACLs.

--
Joel Rees
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Daniel J Walsh
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/29/2012 05:33 PM, Michel Alexandre Salim wrote:
 On 01/27/2012 04:08 PM, Daniel J Walsh wrote:
 On 01/27/2012 08:10 AM, Harald Hoyer wrote:
 The packages, which are about to land in rawhide, are at this 
 moment available via the ‘f17-usrmove’ koji tag. They are
 ready for testing now. Any tests, preferably in virtual
 machines or snapshots, where failures are acceptable, are more
 than welcome, and any feedback is greatly appreciated.
 
 ..
 SELinux relabelling should take effect after you rebooted your
  updated system and can take a long time (at least in a VM it 
 takes insanely long and is still not finished). We are
 currently investigating, what seem to take so long, so you
 might consider to test with SELinux disabled for now.
 
 WHy not do this with enforcing=0 rather then selinux=0, then the
  relabel should not be required.
 
 
 I can report that on my laptop (Sony Vaio SA3), starting from a
 clean Fedora 16 x86_64 install and pulling kernel, kernel-devel and
 gcc from updates-testing (I have to compile acpi_call to turn off
 my new fusion AMD card), the upgrade went without a hitch.
 
 Answering Dan's SELinux suggestion -- I tried doing the migration
 with enforcing=0 -- at the next boot it still tries to relabel the
 filesystem (I aborted once and booted with selinux=0 to verify
 everything is working, and am now doing the relabeling).
 
 Does the usrmove script have to be modified, perhaps?
 
Yes
grep autorelabel /usr/lib/dracut/modules.d/30usrmove/*
/usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh:echo Set
autorelabel flag.
/usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh:
$ROOT/.autorelabel
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8mqQAACgkQrlYvE4MpobPiQwCgn5M5yzSZoUrJXKzkvYk964Hi
F2sAnRAKxSlREAzk1v+Z3tBlFElK2ln7
=GcyP
-END PGP SIGNATURE-
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Frank Murphy

On 30/01/12 14:28, Daniel J Walsh wrote:



Yes
grep autorelabel /usr/lib/dracut/modules.d/30usrmove/*
/usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh:echo Set
autorelabel flag.
/usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh:
$ROOT/.autorelabel


What about on an already done box.
Anything to be aware of?


--
Regards,

Frank Murphy
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Martin Langhoff
On Fri, Jan 27, 2012 at 8:10 AM, Harald Hoyer har...@redhat.com wrote:
 Fedora 17 will locate the entire base operating system in /usr. The 
 directories
 /bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin

Interesting!

Do we need to teach rpm / yum about the equivalence, when resolving
dependencies?

For a trivial example -- if package A depends on /bin/foo, will yum 
rpm be satisfied with /usr/bin/foo?

cheers,



m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- Software Architect - OLPC
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Daniel J Walsh
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/30/2012 09:34 AM, Frank Murphy wrote:
 On 30/01/12 14:28, Daniel J Walsh wrote:
 
 Yes grep autorelabel /usr/lib/dracut/modules.d/30usrmove/* 
 /usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh:echo Set 
 autorelabel flag. 
 /usr/lib/dracut/modules.d/30usrmove/usrmove-convert.sh: 
 $ROOT/.autorelabel
 
 What about on an already done box. Anything to be aware of?
 
 

Doubt it.  It looks like the only things that need to be relabled are
the symlinks /sbin, /bin, /lib, /lib64, best if we did this with
setfiles.  /etc/ld.so.cache seems to need a label also.

Here is a patch that I think we should consider, which would eliminate
the relabel, if it works...

Sadly I updated my machine with a previous version of this script and
the script broke.  If anyone has a good test environment, that could
try it out, would be great.


Theoretically if this patch works, you would not need to disable
SELinux at all.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8m8DoACgkQrlYvE4MpobO1wACeNjHDlNpntQeu42hprMUIc41y
0L8An1weo4Qt/Ayfce1szzeXC9Qs/03M
=YuXP
-END PGP SIGNATURE-
156,157c156,164
 echo Set autorelabel flag.
  $ROOT/.autorelabel
---
 
 . $ROOT/etc/selinux/config
 if [ $SELINUX != disabled ]; then
 echo Fixing SELinux lables
 if [ $SELINUX != disabled ]; then
 echo Fixing SELinux lables
 /usr/sbin/setfiles -r $ROOT -p /etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts $ROOT/sbin $ROOT/bin $ROOT/lib $ROOT/lib64 $ROOT/usr/lib $ROOT/usr/lib64 $ROOT/etc/ld.so.cache $ROOT/var/cache/ldconfig
 fi
 fi
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Bill Nottingham
Martin Langhoff (martin.langh...@gmail.com) said: 
 On Fri, Jan 27, 2012 at 8:10 AM, Harald Hoyer har...@redhat.com wrote:
  Fedora 17 will locate the entire base operating system in /usr. The 
  directories
  /bin, /sbin, /lib, /lib64 will only be symlinks:
   /bin → /usr/bin
 
 Interesting!
 
 Do we need to teach rpm / yum about the equivalence, when resolving
 dependencies?
 
 For a trivial example -- if package A depends on /bin/foo, will yum 
 rpm be satisfied with /usr/bin/foo?

Assuming /bin - /usr/bin link is packaged, yes.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Martin Langhoff
On Mon, Jan 30, 2012 at 3:47 PM, Bill Nottingham nott...@redhat.com wrote:
 Assuming /bin - /usr/bin link is packaged, yes.

Wow, it follows the symlink created by a 3rd package.

clever,



m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- Software Architect - OLPC
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Bill Nottingham
Martin Langhoff (martin.langh...@gmail.com) said: 
 On Mon, Jan 30, 2012 at 3:47 PM, Bill Nottingham nott...@redhat.com wrote:
  Assuming /bin - /usr/bin link is packaged, yes.
 
 Wow, it follows the symlink created by a 3rd package.

Technically, the link doesn't even need to be packaged; as long as /bin
exists in the RPM db (as a dir or as a symlink), RPM will follow the link
and resolve the dependency.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread James Antill
On Mon, 2012-01-30 at 15:47 -0500, Bill Nottingham wrote:
 Martin Langhoff (martin.langh...@gmail.com) said: 
  On Fri, Jan 27, 2012 at 8:10 AM, Harald Hoyer har...@redhat.com wrote:
   Fedora 17 will locate the entire base operating system in /usr. The 
   directories
   /bin, /sbin, /lib, /lib64 will only be symlinks:
/bin → /usr/bin
  
  Interesting!
  
  Do we need to teach rpm / yum about the equivalence, when resolving
  dependencies?
  
  For a trivial example -- if package A depends on /bin/foo, will yum 
  rpm be satisfied with /usr/bin/foo?
 
 Assuming /bin - /usr/bin link is packaged, yes.

 No, not in any meaningful way, although I assume all of the problems
have been worked out in the testing done already.

 Yum just uses text matching. Yum doesn't even know if something is a
symlink in the repodata, and I'd assume it would be a massive depsolving
expense to resolve those even if we had that data.

 rpm _kind of_ knows about it, Eg.:

% rpm -qf /etc/init.d/httpd
httpd-0:2.2.21-1.fc15.x86_64
% rpm -qf /etc/rc.d/init.d/httpd
httpd-0:2.2.21-1.fc15.x86_64
% repoquery -qf /etc/init.d/httpd 
% repoquery -qf /etc/rc.d/init.d/httpd
httpd-0:2.2.17-10.fc15.1.x86_64
httpd-0:2.2.21-1.fc15.x86_64

...but I assume rpm uses realpath() to cheat because if you create two
packages where one provides /etc/rc.d/init.d/sym2 and the other
requires /etc/init.d/sym2 ... rpm _doesn't_ let you install them, like
yum.


 But you can add:

Provides: /bin/foo

...to your packages, and you can pretend they are installed into /bin
(keeping compat. with everything) ... at which point rpm/yum won't care
that the /bin = /usr/bin symlink has actually moved where they are
installed from build time (but note that Requires: /usr/bin/foo won't
work, in the later case).

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Martin Langhoff
On Jan 30, 2012 5:37 PM, James Antill ja...@fedoraproject.org wrote:
   For a trivial example -- if package A depends on /bin/foo, will yum 
   rpm be satisfied with /usr/bin/foo?
 
  Assuming /bin - /usr/bin link is packaged, yes.

  No, not in any meaningful way, although I assume all of the problems
 have been worked out in the testing done already.

  Yum just uses text matching.

So some work needs to be done at the yum layer to make upgrades and install
of foreign rpms reasonably smooth, I gather?

  But you can add:

 Provides: /bin/foo

Ugh! Will that be needed that across the distro for a release or two?

cheers,

martin
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-30 Thread Miloslav Trmač
On Tue, Jan 31, 2012 at 1:06 AM, Martin Langhoff
martin.langh...@gmail.com wrote:
  But you can add:

 Provides: /bin/foo

 Ugh! Will that be needed that across the distro for a release or two?

http://pkgs.fedoraproject.org/gitweb/?p=coreutils.git;a=commitdiff;h=09220fef36dcc2fe06bd858578119872f889c7e2

As you say, ugh!.
   Mirek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-29 Thread Michel Alexandre Salim
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/27/2012 04:08 PM, Daniel J Walsh wrote:
 On 01/27/2012 08:10 AM, Harald Hoyer wrote:
 The packages, which are about to land in rawhide, are at this 
 moment available via the ‘f17-usrmove’ koji tag. They are ready
 for testing now. Any tests, preferably in virtual machines or 
 snapshots, where failures are acceptable, are more than welcome, 
 and any feedback is greatly appreciated.
 
...
 SELinux relabelling should take effect after you rebooted your 
 updated system and can take a long time (at least in a VM it
 takes insanely long and is still not finished). We are currently 
 investigating, what seem to take so long, so you might consider
 to test with SELinux disabled for now.
 
 WHy not do this with enforcing=0 rather then selinux=0, then the 
 relabel should not be required.


I can report that on my laptop (Sony Vaio SA3), starting from a clean
Fedora 16 x86_64 install and pulling kernel, kernel-devel and gcc from
updates-testing (I have to compile acpi_call to turn off my new fusion
AMD card), the upgrade went without a hitch.

Answering Dan's SELinux suggestion -- I tried doing the migration with
enforcing=0 -- at the next boot it still tries to relabel the filesystem
(I aborted once and booted with selinux=0 to verify everything is
working, and am now doing the relabeling).

Does the usrmove script have to be modified, perhaps?

- -- 
Michel Alexandre Salim

()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8lyUkACgkQNd069XiIR3gCLQCfX13j8qORKZwgZgFcAMl0FPGQ
TqsAn08vOu0nt5g+gJMq3Wnr/o9SZxXU
=goH8
-END PGP SIGNATURE-
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-28 Thread Josh Boyer
On Fri, Jan 27, 2012 at 5:57 PM, John Ellson john.ell...@comcast.net wrote:
 Another issue is that I have:

    /bin/sh: error while loading shared libraries: libc.so.6: cannot open
 shared object file: No such file or directory
   [    1.796642] Kernel panic - not syncing:  attempted to kill init!

 when trying to boot kernel-3.3.0-0.rc1.git4.1.fc17.i686 from f17-usrmove
 repo.    Reverting to kernel-3.3.0-0.rc1.git3.1.fc17.i686 from the Rawhide
 repo works ok.

That means your initramfs for the git4.1 kernel is probably broken.  It has
nothing to do with the kernel itself.

There is a patch needed for kernel.spec eventually, but it isn't integrated
yet and I think the patch I've seen needs to be updated slightly.

josh
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-28 Thread John Ellson

On 01/28/2012 06:48 AM, Josh Boyer wrote:

On Fri, Jan 27, 2012 at 5:57 PM, John Ellsonjohn.ell...@comcast.net  wrote:

Another issue is that I have:

/bin/sh: error while loading shared libraries: libc.so.6: cannot open
shared object file: No such file or directory
   [1.796642] Kernel panic - not syncing:  attempted to kill init!

when trying to boot kernel-3.3.0-0.rc1.git4.1.fc17.i686 from f17-usrmove
repo.Reverting to kernel-3.3.0-0.rc1.git3.1.fc17.i686 from the Rawhide
repo works ok.

That means your initramfs for the git4.1 kernel is probably broken.  It has
nothing to do with the kernel itself.

There is a patch needed for kernel.spec eventually, but it isn't integrated
yet and I think the patch I've seen needs to be updated slightly.

josh


Is there a workaround, or do I need to wait for a kernel update?
I tried to rebuild initramfs using:

dracut -f initramfs-3.3.0-0.rc1.git4.1.fc17.i686.img 
3.3.0-0.rc1.git4.1.fc17.i686


but that made no difference.


John
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-28 Thread John Ellson

On 01/27/2012 05:57 PM, John Ellson wrote:

On 01/27/2012 08:10 AM, Harald Hoyer wrote:

Hello Testers and rawhide Users,

Fedora 17 will locate the entire base operating system in /usr. The 
directories

/bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64



Mostly worked as described.


One issue is that the default user's PATH needs to be cleaned up:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/guest/.local/bin:/home/guest/bin



...


There may be a similar problem with ldconfig.At the moment  
ldconfig -p show most libs being resolved from /lib instead of from 
/usr/lib.




I'm not against this change,  but it would be better if it resulted in a 
performance gain rather than a performance loss.


I wrote a test to stat() the 2000+ files in /usr/bin/*, or /bin/*,  100 
times.


The time cost of a stat() of /usr/bin/foo was ~ 12.4 microseconds; the 
time cost of a stat() of /bin/foo was ~17.8 microseconds.


So to me, it is important that the default PATHs are changed to minimize 
the traversal of softlinks.


At the moment, having /bin early in the PATH means that a softlink has 
been *introduced* into most lookups, thus degrading performance.

The same issue exists for libs.


John
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-28 Thread Garrett Holmstrom

On 2012-01-27 5:10, Harald Hoyer wrote:

Any files with conflicting names, which the conversion could not resolve, will
be backed up to files named *.usrmove~ residing in /usr/lib, /usr/lib64,
/usr/bin and /usr/sbin.


To which file does the conversion script append this suffix when it 
resolves a conflict:  the one under / or the one under /usr?

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Harald Hoyer
Hello Testers and rawhide Users,

Fedora 17 will locate the entire base operating system in /usr. The directories
/bin, /sbin, /lib, /lib64 will only be symlinks:
 /bin → /usr/bin
 /sbin → /usr/sbin
 /lib → /usr/lib
 /lib64 → /usr/lib64

Some reasoning behind this change is outlined here:
 http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

The official Fedora 17 feature page is here:
 https://fedoraproject.org/wiki/Features/UsrMove

The needed changes to implement the unified filesystem are about to land in
rawhide soon. New installations of rawhide/Fedora 17 will install the symlinks
right away, and no special care needs to be taken

Currently installed systems need some manual steps to convert the current system
to match the layout of rawhide/Fedora 17. After that, the system can continue to
be updated with YUM as usual.

Some RPM packages in rawhide/Fedora 17 will carry a RPM dependency guard, which
will make sure, they can only be installed when /bin, /sbin, /lib, /lib64 are
symlinks and not directories like in Fedora 16 and older.

The installed system’s base filesystem layout can not be safely altered, while
the system itself is running on top of it. Dracut, the initramfs used to find
and mount the root filesystem, can be instructed to convert the filesystem to
match rawhide/Fedora 17’s expectations.

A screenshot of a successful conversion process is here:
 http://people.freedesktop.org/~kay/usrmove-convert-log.png

The packages, which are about to land in rawhide, are at this moment available
via the ‘f17-usrmove’ koji tag. They are ready for testing now. Any tests,
preferably in virtual machines or snapshots, where failures are acceptable, are
more than welcome, and any feedback is greatly appreciated.

Keep in mind, that this still needs wider testing and a possible bug in the
conversion logic might break an installed system. Please be careful with your
data, do not try this on a production system, and always have a backup of your 
data.

If your system has a split-off /usr, a separate mount point, the dracut /usr
mount conversion logic for /usr on NFS is not yet supported; we are working on
it. /usr on iSCSI, FCoE, NBD although is supported, as long as “netroot=...” is
specified on the kernel command line for these disks (see man dracut.kernel(7)).

Please report any issues regarding the /usr-move test (not general rawhide bugs)
by replying to this email, by sending an email to the fedora-test list
t...@lists.fedoraproject.org, or by grabbing ‘haraldh’ or ‘kay’ on IRC
#fedora-devel on freenode, or contact us by email directly.

The final guard in RPM is not yet enabled in the ‘f17-usrmove’ koji tag version
of the packages. Make sure you never install any of the packages below this tag
on an unconverted system, it will not be able to bootup. Before the packages hit
rawhide, the guard will be enabled and safely prevent these packages to be
installed on unconverted systems.

At the moment, we are still waiting for an updated RPM in the koji buildsystem,
which provides the runtime check for the filesystem guard. After this is
resolved by Fedora Release Engineering, we can go ahead and enable the needed
guard and move the packages from the ‘f17-usrmove’ koji tag to ‘rawhide’:
 https://fedorahosted.org/rel-eng/ticket/5034

This is the screen log of a full conversion and update process:
 http://people.freedesktop.org/~kay/usrmove-convert-log.txt

Here are the steps to prepare your system, to convert it, and to be able to
continue updating your installed system with YUM:

Download and install the most recent dracut package from rawhide:
 # yum --enablerepo=rawhide update dracut

Update the installed initramfs image for your current kernel, and instruct
dracut to include the dracut module to convert your current filesystem:
 # dracut --force --add usrmove

If dracut detects ‘rd.usrmove’ on the kernel command line at bootup, it starts
the filesystem conversion of the root filesystem.

Change the following kernel commandline parameter directly in the bootloader
menu, which is shown during bootup, or edit the line in /etc/grub*.cfg.
 - remove “ro”
 - append “rw” to let dracut mount your root filesystem writeable
 - remove “rhgb” to hide the graphical bootsplash
 - append “rd.info” to get a more verbose output from dracut
 - append “rd.usrmove” to enable the /usr-move conversion script in dracut
 - append “selinux=0” for now, because the relabeling in a converted F16 system
does not seem to work properly at this moment

During bootup, dracut will now convert your filesystem, and /lib, /lib64, /bin
and /sbin should then all be symbolic links to the corresponding directories in
/usr.

After the conversion, the system needs to be immediately updated to rawhide. No
packages from F16 or F15, or older rawhide packages must be installed anymore.
Make sure to disable any F15 and F16 repositories in yum!

Any files with conflicting names, which the conversion could not resolve, will
be backed up 

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Harald Hoyer
Am 27.01.2012 14:10, schrieb Harald Hoyer:
 ...
 Download and install the most recent dracut package from rawhide:
  # yum --enablerepo=rawhide update dracut
 ...

you should have at least: dracut-014-77.git20120126.fc17
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Stijn Hoop
Hi,

thanks for the detailed instructions for testing. I am not sure
though, whether any of this is applicable on a system already running
rawhide?

Reading this, I surmise that I have to do the following steps once
these packages hit rawhide. Can you comment on the correctness?

 Currently installed systems need some manual steps to convert the
 current system to match the layout of rawhide/Fedora 17. After that,
 the system can continue to be updated with YUM as usual.

 Download and install the most recent dracut package from rawhide:
  # yum --enablerepo=rawhide update dracut

This will hit me soon automatically (as it is in rawhide proper, and I
update regularly).

 Update the installed initramfs image for your current kernel, and
 instruct dracut to include the dracut module to convert your current
 filesystem: # dracut --force --add usrmove
 
 If dracut detects ‘rd.usrmove’ on the kernel command line at bootup,
 it starts the filesystem conversion of the root filesystem.
 
 Change the following kernel commandline parameter directly in the
 bootloader menu, which is shown during bootup, or edit the line
 in /etc/grub*.cfg.
  - remove “ro”
  - append “rw” to let dracut mount your root filesystem writeable
  - remove “rhgb” to hide the graphical bootsplash
  - append “rd.info” to get a more verbose output from dracut
  - append “rd.usrmove” to enable the /usr-move conversion script in
 dracut

These two steps are needed as well, however...

  - append “selinux=0” for now, because the relabeling in a converted
 F16 system does not seem to work properly at this moment

... do you know if this is applicable for a correctly labeled rawhide
as well?

 Any files with conflicting names, which the conversion could not
 resolve, will be backed up to files named *.usrmove~ residing
 in /usr/lib, /usr/lib64, /usr/bin and /usr/sbin.

Sidenote: should we file these as bugs?

 After a successful conversion, revert the changes made to the kernel
 command line in the bootloader config file /etc/grub*.cfg.

This step is needed.

 SELinux relabelling should take effect after you rebooted your
 updated system and can take a long time (at least in a VM it takes
 insanely long and is still not finished). We are currently
 investigating, what seem to take so long, so you might consider to
 test with SELinux disabled for now.

Again, is this only for hosts based on F16?

 Until the rawhide repository gets all the converted rpms, use the
 f17-usrmove repository to update the system after the filesystem
 conversion and disable rawhide in the
 file /etc/yum.repos.d/fedora-rawhide.repo

When the tag hits rawhide proper, I assume this can be skipped?

Can I update dracut now, and wait for the rest of the tag to hit
rawhide before adding the rd.usrmove flag?

Regards,

--Stijn
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Michal Schmidt

On 01/27/2012 02:10 PM, Harald Hoyer wrote:

SELinux relabelling should take effect after you rebooted your updated system
and can take a long time (at least in a VM it takes insanely long and is still
not finished). We are currently investigating, what seem to take so long, so you
might consider to test with SELinux disabled for now.


It takes so long because:
 - it runs setfiles with -l to log the label changes.
 - journald runs, syslog.socket is active, but syslog.service is not.
 - journald blocks for some time on every attempt to write a line to
   the syslog socket.
http://lists.fedoraproject.org/pipermail/devel/2012-January/161530.html

Michal
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Harald Hoyer
Am 27.01.2012 14:33, schrieb Stijn Hoop:
 Hi,
 
 thanks for the detailed instructions for testing. I am not sure
 though, whether any of this is applicable on a system already running
 rawhide?
 
 Reading this, I surmise that I have to do the following steps once
 these packages hit rawhide. Can you comment on the correctness?
 
 Currently installed systems need some manual steps to convert the
 current system to match the layout of rawhide/Fedora 17. After that,
 the system can continue to be updated with YUM as usual.
 
 Download and install the most recent dracut package from rawhide:
  # yum --enablerepo=rawhide update dracut
 
 This will hit me soon automatically (as it is in rawhide proper, and I
 update regularly).

yes

 
 Update the installed initramfs image for your current kernel, and
 instruct dracut to include the dracut module to convert your current
 filesystem: # dracut --force --add usrmove

 If dracut detects ‘rd.usrmove’ on the kernel command line at bootup,
 it starts the filesystem conversion of the root filesystem.

 Change the following kernel commandline parameter directly in the
 bootloader menu, which is shown during bootup, or edit the line
 in /etc/grub*.cfg.
  - remove “ro”
  - append “rw” to let dracut mount your root filesystem writeable
  - remove “rhgb” to hide the graphical bootsplash
  - append “rd.info” to get a more verbose output from dracut
  - append “rd.usrmove” to enable the /usr-move conversion script in
 dracut
 
 These two steps are needed as well, however...
 
  - append “selinux=0” for now, because the relabeling in a converted
 F16 system does not seem to work properly at this moment
 
 ... do you know if this is applicable for a correctly labeled rawhide
 as well?

might be, please test :-)

 
 Any files with conflicting names, which the conversion could not
 resolve, will be backed up to files named *.usrmove~ residing
 in /usr/lib, /usr/lib64, /usr/bin and /usr/sbin.
 
 Sidenote: should we file these as bugs?
 
 After a successful conversion, revert the changes made to the kernel
 command line in the bootloader config file /etc/grub*.cfg.
 
 This step is needed.
 
 SELinux relabelling should take effect after you rebooted your
 updated system and can take a long time (at least in a VM it takes
 insanely long and is still not finished). We are currently
 investigating, what seem to take so long, so you might consider to
 test with SELinux disabled for now.
 
 Again, is this only for hosts based on F16?

might be. please test.

 
 Until the rawhide repository gets all the converted rpms, use the
 f17-usrmove repository to update the system after the filesystem
 conversion and disable rawhide in the
 file /etc/yum.repos.d/fedora-rawhide.repo
 
 When the tag hits rawhide proper, I assume this can be skipped?

Yes, we will announce this, if we move the tag after the testing.

 
 Can I update dracut now, and wait for the rest of the tag to hit
 rawhide before adding the rd.usrmove flag?

sure

 
 Regards,
 
 --Stijn

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Frank Murphy

On 27/01/12 13:10, Harald Hoyer wrote:


Update the installed initramfs image for your current kernel, and instruct
dracut to include the dracut module to convert your current filesystem:
  # dracut --force --add usrmove


Is it only a one off this image?

The next update for kernel,
will know of /usr*

--
Regards,

Frank Murphy, friend of fedoraproject
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Nils Philippsen
On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:

  - append “selinux=0” for now, because the relabeling in a converted F16 
 system
 does not seem to work properly at this moment

Have you checked enforcing=0 instead? If this worked, you'd not need
to relabel the whole system, but only the parts affected by the move. Or
so I'd like to believe ;-).

Nils
-- 
Nils Philippsen  Those who would give up Essential Liberty to purchase 
Red Hat   a little Temporary Safety, deserve neither Liberty
n...@redhat.com   nor Safety.  --  Benjamin Franklin, 1759
PGP fingerprint:  C4A8 9474 5C4C ADE3 2B8F  656D 47D8 9B65 6951 3011

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Harald Hoyer
Am 27.01.2012 15:03, schrieb Nils Philippsen:
 On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
 
  - append “selinux=0” for now, because the relabeling in a converted F16 
 system
 does not seem to work properly at this moment
 
 Have you checked enforcing=0 instead? If this worked, you'd not need
 to relabel the whole system, but only the parts affected by the move. Or
 so I'd like to believe ;-).
 
 Nils

Feel free to test! :-)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Daniel J Walsh
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/27/2012 08:10 AM, Harald Hoyer wrote:
 Hello Testers and rawhide Users,
 
 Fedora 17 will locate the entire base operating system in /usr. The
 directories /bin, /sbin, /lib, /lib64 will only be symlinks: /bin →
 /usr/bin /sbin → /usr/sbin /lib → /usr/lib /lib64 → /usr/lib64
 
 Some reasoning behind this change is outlined here: 
 http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

  The official Fedora 17 feature page is here: 
 https://fedoraproject.org/wiki/Features/UsrMove
 
 The needed changes to implement the unified filesystem are about to
 land in rawhide soon. New installations of rawhide/Fedora 17 will
 install the symlinks right away, and no special care needs to be
 taken
 
 Currently installed systems need some manual steps to convert the
 current system to match the layout of rawhide/Fedora 17. After
 that, the system can continue to be updated with YUM as usual.
 
 Some RPM packages in rawhide/Fedora 17 will carry a RPM dependency
 guard, which will make sure, they can only be installed when /bin,
 /sbin, /lib, /lib64 are symlinks and not directories like in Fedora
 16 and older.
 
 The installed system’s base filesystem layout can not be safely
 altered, while the system itself is running on top of it. Dracut,
 the initramfs used to find and mount the root filesystem, can be
 instructed to convert the filesystem to match rawhide/Fedora 17’s
 expectations.
 
 A screenshot of a successful conversion process is here: 
 http://people.freedesktop.org/~kay/usrmove-convert-log.png
 
 The packages, which are about to land in rawhide, are at this
 moment available via the ‘f17-usrmove’ koji tag. They are ready for
 testing now. Any tests, preferably in virtual machines or
 snapshots, where failures are acceptable, are more than welcome,
 and any feedback is greatly appreciated.
 
 Keep in mind, that this still needs wider testing and a possible
 bug in the conversion logic might break an installed system. Please
 be careful with your data, do not try this on a production system,
 and always have a backup of your data.
 
 If your system has a split-off /usr, a separate mount point, the
 dracut /usr mount conversion logic for /usr on NFS is not yet
 supported; we are working on it. /usr on iSCSI, FCoE, NBD although
 is supported, as long as “netroot=...” is specified on the kernel
 command line for these disks (see man dracut.kernel(7)).
 
 Please report any issues regarding the /usr-move test (not general
 rawhide bugs) by replying to this email, by sending an email to the
 fedora-test list t...@lists.fedoraproject.org, or by grabbing
 ‘haraldh’ or ‘kay’ on IRC #fedora-devel on freenode, or contact us
 by email directly.
 
 The final guard in RPM is not yet enabled in the ‘f17-usrmove’ koji
 tag version of the packages. Make sure you never install any of the
 packages below this tag on an unconverted system, it will not be
 able to bootup. Before the packages hit rawhide, the guard will be
 enabled and safely prevent these packages to be installed on
 unconverted systems.
 
 At the moment, we are still waiting for an updated RPM in the koji
 buildsystem, which provides the runtime check for the filesystem
 guard. After this is resolved by Fedora Release Engineering, we can
 go ahead and enable the needed guard and move the packages from the
 ‘f17-usrmove’ koji tag to ‘rawhide’: 
 https://fedorahosted.org/rel-eng/ticket/5034
 
 This is the screen log of a full conversion and update process: 
 http://people.freedesktop.org/~kay/usrmove-convert-log.txt
 
 Here are the steps to prepare your system, to convert it, and to be
 able to continue updating your installed system with YUM:
 
 Download and install the most recent dracut package from rawhide: #
 yum --enablerepo=rawhide update dracut
 
 Update the installed initramfs image for your current kernel, and
 instruct dracut to include the dracut module to convert your
 current filesystem: # dracut --force --add usrmove
 
 If dracut detects ‘rd.usrmove’ on the kernel command line at
 bootup, it starts the filesystem conversion of the root
 filesystem.
 
 Change the following kernel commandline parameter directly in the
 bootloader menu, which is shown during bootup, or edit the line in
 /etc/grub*.cfg. - remove “ro” - append “rw” to let dracut mount
 your root filesystem writeable - remove “rhgb” to hide the
 graphical bootsplash - append “rd.info” to get a more verbose
 output from dracut - append “rd.usrmove” to enable the /usr-move
 conversion script in dracut - append “selinux=0” for now, because
 the relabeling in a converted F16 system does not seem to work
 properly at this moment
 
 During bootup, dracut will now convert your filesystem, and /lib,
 /lib64, /bin and /sbin should then all be symbolic links to the
 corresponding directories in /usr.
 
 After the conversion, the system needs to be immediately updated to
 rawhide. No packages from F16 or F15, or older rawhide 

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Harald Hoyer
Finally my VM relabeled everything after 8 hours. Seems to work fine with
selinux enabled.

Should have booted with enforce=0 and removed the .autorelabel creation
from the conversion script.

Will test that version on Monday.
Am 27.01.2012 14:36 schrieb Michal Schmidt mschm...@redhat.com:

 On 01/27/2012 02:10 PM, Harald Hoyer wrote:

 SELinux relabelling should take effect after you rebooted your updated
 system
 and can take a long time (at least in a VM it takes insanely long and is
 still
 not finished). We are currently investigating, what seem to take so long,
 so you
 might consider to test with SELinux disabled for now.


 It takes so long because:
  - it runs setfiles with -l to log the label changes.
  - journald runs, syslog.socket is active, but syslog.service is not.
  - journald blocks for some time on every attempt to write a line to
   the syslog socket.
 http://lists.fedoraproject.**org/pipermail/devel/2012-**
 January/161530.htmlhttp://lists.fedoraproject.org/pipermail/devel/2012-January/161530.html

 Michal
 --
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.**org/mailman/listinfo/develhttps://admin.fedoraproject.org/mailman/listinfo/devel
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Frank Murphy

On 27/01/12 14:12, Harald Hoyer wrote:



Have you checked enforcing=0 instead? If this worked, you'd not need
to relabel the whole system, but only the parts affected by the move. Or
so I'd like to believe ;-).

Nils


Feel free to test! :-)


Finished fist kvm_guest
selinux=1 enforcing=1
no problems booting.

--
Regards,

Frank Murphy, friend of fedoraproject
UTF_8 Encoded
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Kevin Kofler
Harald Hoyer wrote:
 A screenshot of a successful conversion process is here:
 http://people.freedesktop.org/~kay/usrmove-convert-log.png

So this copies the whole affected directories and then swaps in the copy, 
right? That means it needs enough disk space left in / to carry full copies 
of bin, sbin, lib and lib64, which is another annoying constraint. :-(

Kevin Kofler

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread John Ellson

On 01/27/2012 08:10 AM, Harald Hoyer wrote:

Hello Testers and rawhide Users,

Fedora 17 will locate the entire base operating system in /usr. The directories
/bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64



Mostly worked as described.


One issue is that the default user's PATH needs to be cleaned up:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/guest/.local/bin:/home/guest/bin


No point in having the primary PATH going through softlinks all the 
time.  Probably should be:


   /usr/local/bin:/usr/bin:/home/guest/.local/bin:/home/guest/bin

Everything was being found in /bin before /usr/bin, and this caused an 
obscure breakage in the graphviz build scripts

because it found /bin/tclsh instead of /usr/bin/tclsh.

(Where does this default PATH come from??)


There may be a similar problem with ldconfig.At the moment  
ldconfig -p show most libs being resolved from /lib instead of from 
/usr/lib.





Another issue is that I have:

/bin/sh: error while loading shared libraries: libc.so.6: cannot 
open shared object file: No such file or directory

   [1.796642] Kernel panic - not syncing:  attempted to kill init!

when trying to boot kernel-3.3.0-0.rc1.git4.1.fc17.i686 from f17-usrmove 
repo.Reverting to kernel-3.3.0-0.rc1.git3.1.fc17.i686 from the 
Rawhide repo works ok.



John
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Fedora 17’s unified filesystem (/usr-move)

2012-01-27 Thread Adam Williamson
On Fri, 2012-01-27 at 14:10 +0100, Harald Hoyer wrote:
 Hello Testers and rawhide Users,
 
 Fedora 17 will locate the entire base operating system in /usr. The 
 directories
 /bin, /sbin, /lib, /lib64 will only be symlinks:
  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64
 
 Some reasoning behind this change is outlined here:
  http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
 
 The official Fedora 17 feature page is here:
  https://fedoraproject.org/wiki/Features/UsrMove
 
 The needed changes to implement the unified filesystem are about to land in
 rawhide soon. New installations of rawhide/Fedora 17 will install the symlinks
 right away, and no special care needs to be taken

Thanks for your work, Harald.

So, as I mentioned in another follow-up, we didn't really establish any
'ground rules' for when we're going to re-tag the builds into Rawhide.
Aside from the questions other groups may have, from the QA side, I'd
suggest we want at least:

* two or three successful tests of the yum process with an existing
Rawhide install

* a successful test of a fresh install with the /usr move packages
(assuming we're in a state where we can even do a fresh install
*without* the /usr move stuff: we will know more on that front shortly)

and ideally:

* a successful test of a media-based upgrade from F16

before we go ahead and PULL SOME LEVERS.

I have the /usr move feature on the agenda for the QA meeting on Monday
morning, so we'll plan the testing out in more detail then. I guess
we'll look at building a special install image for testing, if that's
necessary. If you and/or kay could be at the meeting - 1600 UTC on
Monday - that'd be a big help. Thanks!
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel