Re: [gentoo-dev] rfc: locations of binaries and separate /usr
On Sun, 8 Jan 2012 00:47:21 +0100 Lars Wendler polynomia...@gentoo.org wrote: Am Freitag 06 Januar 2012, 17:07:20 schrieb Alex Alexander: On Fri, Jan 06, 2012 at 08:35:32AM -0500, Rich Freeman wrote: On Thu, Jan 5, 2012 at 5:36 PM, Alex Alexander wi...@gentoo.org wrote: If people are really interested in keeping a tight, self contained root, we need to: - establish a [tight] list of software we consider critical for / - fix/patch software in that list so it can run without /usr there - create /bin = /usr/bin/ symlinks for above software (simplifies things if packages start hardcoding /usr/bin here and there) - move everything else in /usr/bin/ You're missing one thing: - establish a list of all the configurations that will actually work with this self-contained root I think this is why there is so much disagreement over whether this is a good move. If you have a really simple configuration, then the self-contained root concept works reasonably well (though apparently we'll have to heavily patch newer versions of udev or abandon it to sustain this). However, if you have a very complex configuration the current self-contained root is already broken and you need an initramfs anyway. For in-between cases things might work now but that is likely to change as upstream moves on. The binary distros don't have users tweaking their kernels and init scripts, so they basically have to design for worst-case. Gentoo can get away with designing for more of an average case since we just tell anybody with a complex case to go read a howto and configure what is necessary (and we like to do that stuff anyway). We can choose not to like it, but it sounds like maintaining a self-contained root for even the typical case will become untenable. Those who argue that having /usr on a separate partition simply shouldn't be supported are basically just saying that our self-contained root should include everything in /usr which seems to defeat the whole point of a self-contained root anyway. It seems to me that the most reasonable approach is to not force the issue, but not deviate greatly from upstream either. That means accepting that over time the rootfs will become less and less capable of working on its own, and immediately improving tools like dracut to overcome these limitations. Users who can get away with it can avoid using an initramfs, at least for a time. Sure, it is all open source, and Gentoo can swim upstream if we REALLY want to. However, this only works if developers are willing to spend the time constantly fixing upstream's tools. It sounds to me like the maintainers of packages like udev/systemd/etc want to actually move in the same direction as upstream so in practice I don't see that happening. Now, Gentoo is about choice, so one thing we should try to do as much as possible is understand the limitations of the various configurations and make it clear to users when they do and don't need an initramfs. To be honest, tight coupling worries me more than the /usr move, since that has a lot more potential to constrain the choices we can offer our users (which is a great deal of the value that Gentoo offers). I understand its advantages, but it seems somewhat contrary to the unix way. That's why I wrote tight list. I do not expect the self-contained root to be able to handle everything /usr (or a complete initramfs) would. What it could and couldn't do is something that needs to be decided, but some work is already done there - it's just a bit messy and incomplete and because most people don't care it keeps getting worse. The important thing here is to make a clear definition of where we draw the line and make sure things work the way we want them to. I agree with you in that at some point patching may become too time consuming, but I still believe that if we do this properly, with a well-defined plan and list of packages we want to keep in / (with symlinks to be compatible with whatever others are trying to do), we won't be alone in this. Gentoo may be one of the most hardcore power-user distros out there, but we're certainly not the only one. Now, if only we had people interested enough in doing this... :) I'm interested in everything which prevents such kind of insanity from Gentoo. So count me in as volunteer keeping /bin, /sbin and /lib in Gentoo and systemd away from it. As long as we keep trying and working hard I'm sure we can do the workload that might come across when blind upstreams start adopting those foolish systemd/GnomeOS ideas... From which point this was systemd/GnomeOS ideas? As far I can see, this was completely irrelevant, separate Fedora idea. But with scapegoat, everything seems better, doesn't it? Does working
[gentoo-dev] [PATCH autotools-utils] Pass --docdir to configure, and install docs from it.
As EAPI 2 support is intended, this requires configuring the build system to install docs into a temporary location and moving files from it. Due to the lack of 'dodoc -r', directories inside docdir are supported only with EAPI 4. Fixes: https://bugs.gentoo.org/show_bug.cgi?id=350423 --- eclass/autotools-utils.eclass | 24 +++- 1 files changed, 23 insertions(+), 1 deletions(-) diff --git a/eclass/autotools-utils.eclass b/eclass/autotools-utils.eclass index 9a13a3a..fcdf219 100644 --- a/eclass/autotools-utils.eclass +++ b/eclass/autotools-utils.eclass @@ -392,8 +392,12 @@ autotools-utils_src_configure() { [[ -z ${myeconfargs+1} || $(declare -p myeconfargs) == 'declare -a'* ]] \ || die 'autotools-utils.eclass: myeconfargs has to be an array.' + [[ ${EAPI} == 2 ]] ! use prefix EPREFIX= + # Common args - local econfargs=() + local econfargs=( + --docdir=${EPREFIX}/usr/share/doc/${PF} + ) # Handle static-libs found in IUSE, disable them by default if in_iuse static-libs; then @@ -441,6 +445,24 @@ autotools-utils_src_install() { emake DESTDIR=${D} $@ install || die emake install failed popd /dev/null + # Move docs installed by autotools (in EAPI 4). + if [[ -d ${D}${EPREFIX}/usr/share/doc/${PF} ]]; then + if [[ ${EAPI} == [23] ]]; then + mkdir ${T}/temp-docdir + mv ${D}${EPREFIX}/usr/share/doc/${PF}/* ${T}/temp-docdir/ \ + || die moving docs to tempdir failed + + local f + for f in ${T}/temp-docdir/*; do + [[ -d ${f} ]] \ +die directories in docdir require at least EAPI 4 + done + + dodoc ${T}/temp-docdir/* || die docdir dodoc failed + rm -r ${T}/temp-docdir || die + fi + fi + # XXX: support installing them from builddir as well? if [[ ${DOCS} ]]; then dodoc ${DOCS[@]} || die dodoc failed -- 1.7.8.3
Re: [gentoo-dev] rfc: locations of binaries and separate /usr
On Sat, Jan 07, 2012 at 08:01:17PM +0100, Enrico Weigelt wrote Great. Perhaps you could create some unusual setups (perhaps in a full-VM), so we can build an test platform on it. IIRC the main problem are scenarios where /usr is not available at boot, eg. has to be mounted from somewhere else (eg. NFS). So, our test platform should have such setups. I run with an interesting setup at home which could be a torture test for mounting. fdisk shows... Device Boot Start End Blocks Id System /dev/sda1 63 976768064 4883840015 Extended /dev/sda5 126 996029 497952 83 Linux /dev/sda6 996093 8819684 3911796 82 Linux swap / Solaris /dev/sda7 8819748 976768064 483974158+ 83 Linux sda1 is the entire harddrive sda5 is the 250 megabyte / partition using ext2fs (YES!) sda6 is the swap partition sda7 is the rest of the harddrive using reiserfs /opt, /var, /usr, and /tmp are are bindmounted from /home like so... /dev/sda5 / ext2 noatime,nodiratime,async 0 1 /dev/sda7 /home reiserfs noatime,nodiratime,async,notail 0 1 /home/bindmounts/opt/opt auto bind 0 0 /home/bindmounts/var/var auto bind 0 0 /home/bindmounts/usr/usr auto bind 0 0 /home/bindmounts/tmp/tmp auto bind 0 0 This allows me to... * use a really small / partition, without resorting to LVM * not worry about running out of space in other partitions * I started using it years ago when I had not decided which distro to use. I could wipe the contents of /opt, /var, /usr, and /tmp but keep my data, emails, etc, in my user directory and install another distro without blowing away my data. -- Walter Dnes waltd...@waltdnes.org
[gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sci-electronics/gtkwave: ChangeLog gtkwave-3.3.28.ebuild
On Sun, 8 Jan 2012 16:22:24 + (UTC) Thomas Beierlein (tomjbe) tom...@gentoo.org wrote: tomjbe 12/01/08 16:22:24 Modified: ChangeLog Added:gtkwave-3.3.28.ebuild Log: Strip flags (bug #377935). Version bump. Drop old unstable versions Please avoid doing this unless your package fails with basic (supported) flags, or flags that are common enough that a lot of people are hitting it. -floop-parallelize-all is neither of these and in this case is causing an ICE (internal compiler error) that needs to be fixed, not wallpapered over. Thanks! -- fonts, gcc-porting,you were never more here, expanse getting broader toolchain, wxwidgets though bigger boats been done by less water @ gentoo.org signature.asc Description: PGP signature
Re: [gentoo-dev] rfc: locations of binaries and separate /usr
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Hi, do you need udevd in runlevel boot at all (for sysvinit)? Given either your kernel knows its root hardware device driver or has an initrd to load needed modules to mount the root filesystem. You can have CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y and let the kernel create all the /dev/{sd,sr,hd}? device files needed for /etc/init.d/{fsck,bootmisc,localmount} to check and mount /usr. Normally you can start udevd after localmount and just right before network, to persistent-network rename the interfaces. On NFS_ROOT setups, you either have network by CONFIG_IP_PNP (kernel-level ip autoconfiguration) and get your root fs from the DHCP or you have an initrd which can mount /usr. So, all you need udevd for is fancy-permissions/groups once a non-root plugs in an USB drive (which is an multiuser-nightmare by itself). It should be sufficient to load udevd after localmount has mounted /usr udevd replays all the discoveries read from the kernel and applies the permission/ownership rules. Concern is to sustain the freedom of choice that brought me to Gentoo. Please provide systemd as an option. And provide sysvinit/openrc as an option. Do __not__ make an initrd mandatory. /* skip __ALL__ the systemd rants */ Thanks. - -- Gentoo Dev http://xmw.de/ -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF4EAREIAAYFAk8KH60ACgkQknrdDGLu8JANDwD/V+MvWXtn/yXcE1/nTQT7ZlMh g+K/EHomildn5cuTNssA/1eu83i6vQee6YbOoGouyWOfKvAxMRM33nhrPc3qXOqc =txiD -END PGP SIGNATURE-
[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2012-01-08 23h59 UTC
The attached list notes all of the packages that were added or removed from the tree, for the week ending 2012-01-08 23h59 UTC. Removals: dev-python/omnijson 2012-01-02 05:27:00 floppym x11-misc/synergy-plus 2012-01-02 21:23:16 cardoe app-admin/mon 2012-01-08 01:30:05 hwoarang Additions: dev-python/omnijson 2012-01-02 05:13:25 floppym dev-python/certifi 2012-01-02 06:56:38 floppym dev-python/requests 2012-01-02 06:58:29 floppym dev-ruby/sass-rails 2012-01-02 19:51:25 graaff sys-apps/usleep 2012-01-03 10:06:46 ssuominen sys-apps/hotplug2stdout 2012-01-03 10:22:17 ssuominen app-cdr/cddetect2012-01-03 10:33:56 ssuominen app-arch/pet2tgz2012-01-03 10:40:34 ssuominen app-cdr/pburn 2012-01-03 11:08:24 ssuominen media-radio/qsstv 2012-01-03 13:54:00 tomjbe sci-calculators/grpn2012-01-03 21:18:24 ssuominen sci-biology/picard 2012-01-04 03:41:51 weaver dev-python/polygon 2012-01-04 21:49:17 bicatali dev-java/ws-commons-util2012-01-06 10:55:01 fordfrog dev-java/netbeans-javafx2012-01-06 11:31:31 fordfrog dev-python/cvxopt 2012-01-06 15:40:31 bicatali dev-python/simpy2012-01-06 16:04:38 jlec dev-tcltk/tkdnd 2012-01-06 17:49:33 jlec media-libs/lv2-ui 2012-01-07 15:17:35 aballier media-libs/suil 2012-01-07 15:33:51 aballier sys-apps/rsbac-admin2012-01-07 20:14:04 blueness sys-kernel/rsbac-sources2012-01-07 20:25:49 blueness dev-python/lp_solve 2012-01-07 20:36:32 bicatali dev-python/oosuite 2012-01-07 20:39:27 bicatali sys-apps/systemd-sysv-utils 2012-01-07 22:38:20 mgorny sci-physics/fastjet 2012-01-08 01:32:14 bicatali sci-mathematics/isabelle2012-01-08 12:35:43 gienah dev-tex/rail2012-01-08 12:40:00 gienah sci-mathematics/prover9 2012-01-08 13:57:17 gienah sci-mathematics/p9m42012-01-08 14:48:52 gienah kde-misc/kcm-ufw2012-01-08 15:26:07 thev00d00 dev-ruby/sfl2012-01-08 15:43:45 graaff -- Robin Hugh Johnson Gentoo Linux Developer E-Mail : robb...@gentoo.org GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 Removed Packages: dev-python/omnijson,removed,floppym,2012-01-02 05:27:00 x11-misc/synergy-plus,removed,cardoe,2012-01-02 21:23:16 app-admin/mon,removed,hwoarang,2012-01-08 01:30:05 Added Packages: dev-python/omnijson,added,floppym,2012-01-02 05:13:25 dev-python/certifi,added,floppym,2012-01-02 06:56:38 dev-python/requests,added,floppym,2012-01-02 06:58:29 dev-ruby/sass-rails,added,graaff,2012-01-02 19:51:25 sys-apps/usleep,added,ssuominen,2012-01-03 10:06:46 sys-apps/hotplug2stdout,added,ssuominen,2012-01-03 10:22:17 app-cdr/cddetect,added,ssuominen,2012-01-03 10:33:56 app-arch/pet2tgz,added,ssuominen,2012-01-03 10:40:34 app-cdr/pburn,added,ssuominen,2012-01-03 11:08:24 media-radio/qsstv,added,tomjbe,2012-01-03 13:54:00 sci-calculators/grpn,added,ssuominen,2012-01-03 21:18:24 sci-biology/picard,added,weaver,2012-01-04 03:41:51 dev-python/polygon,added,bicatali,2012-01-04 21:49:17 dev-java/ws-commons-util,added,fordfrog,2012-01-06 10:55:01 dev-java/netbeans-javafx,added,fordfrog,2012-01-06 11:31:31 dev-python/cvxopt,added,bicatali,2012-01-06 15:40:31 dev-python/simpy,added,jlec,2012-01-06 16:04:38 dev-tcltk/tkdnd,added,jlec,2012-01-06 17:49:33 media-libs/lv2-ui,added,aballier,2012-01-07 15:17:35 media-libs/suil,added,aballier,2012-01-07 15:33:51 sys-apps/rsbac-admin,added,blueness,2012-01-07 20:14:04 sys-kernel/rsbac-sources,added,blueness,2012-01-07 20:25:49 dev-python/lp_solve,added,bicatali,2012-01-07 20:36:32 dev-python/oosuite,added,bicatali,2012-01-07 20:39:27 sys-apps/systemd-sysv-utils,added,mgorny,2012-01-07 22:38:20 sci-physics/fastjet,added,bicatali,2012-01-08 01:32:14 sci-mathematics/isabelle,added,gienah,2012-01-08 12:35:43 dev-tex/rail,added,gienah,2012-01-08 12:40:00 sci-mathematics/prover9,added,gienah,2012-01-08 13:57:17 sci-mathematics/p9m4,added,gienah,2012-01-08 14:48:52 kde-misc/kcm-ufw,added,thev00d00,2012-01-08 15:26:07 dev-ruby/sfl,added,graaff,2012-01-08 15:43:45 Done.
Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in sci-electronics/gtkwave: ChangeLog gtkwave-3.3.28.ebuild
On Sun, 8 Jan 2012 13:55:17 -0600 Ryan Hill dirtye...@gentoo.org wrote: On Sun, 8 Jan 2012 16:22:24 + (UTC) Thomas Beierlein (tomjbe) tom...@gentoo.org wrote: tomjbe 12/01/08 16:22:24 Modified: ChangeLog Added:gtkwave-3.3.28.ebuild Log: Strip flags (bug #377935). Version bump. Drop old unstable versions Please avoid doing this unless your package fails with basic (supported) flags, or flags that are common enough that a lot of people are hitting it. -floop-parallelize-all is neither of these and in this case is causing an ICE (internal compiler error) that needs to be fixed, not wallpapered over. Sorry, my fault! You are right. I was looking for sci-electronics bugs to fix and did not recognize that it was assigned to toolchain. Thanks for catching it. Thomas. --
Re: [gentoo-dev] rfc: locations of binaries and separate /usr
On 01/08/2012 02:58 PM, Michael Weber wrote: Hi, do you need udevd in runlevel boot at all (for sysvinit)? Given either your kernel knows its root hardware device driver or has an initrd to load needed modules to mount the root filesystem. You can have CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y and let the kernel create all the /dev/{sd,sr,hd}? device files needed for /etc/init.d/{fsck,bootmisc,localmount} to check and mount /usr. Normally you can start udevd after localmount and just right before network, to persistent-network rename the interfaces. On NFS_ROOT setups, you either have network by CONFIG_IP_PNP (kernel-level ip autoconfiguration) and get your root fs from the DHCP or you have an initrd which can mount /usr. So, all you need udevd for is fancy-permissions/groups once a non-root plugs in an USB drive (which is an multiuser-nightmare by itself). It should be sufficient to load udevd after localmount has mounted /usr udevd replays all the discoveries read from the kernel and applies the permission/ownership rules. Concern is to sustain the freedom of choice that brought me to Gentoo. Please provide systemd as an option. And provide sysvinit/openrc as an option. Do __not__ make an initrd mandatory. In any case, you won't need an initramfs unless /usr is on a separate partition. Assuming that /usr is mounted before init starts, doesn't it make sense to start udevd as early as possible, before modules, before lvm, and before localmount? If we start udevd after localmount as you suggest, wouldn't that imply that we don't support modular kernels? -- Thanks, Zac