Summary: | mount-boot.eclass: unmerging with unmounted /boot often results in portage deleting empty /boot directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jochums Johannes <infernoid> |
Component: | Eclasses | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | sping, volkerarmin |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | mount-boot.eclass.diff |
Description
Jochums Johannes
2009-06-14 16:03:08 UTC
I can confirm this: shanghai:~ # emerge -Cv memtest86+ sys-apps/memtest86+ selected: 2.11 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-apps/memtest86+-2.11... No package files given... Grabbing a set. <<< obj /usr/share/doc/memtest86+-2.11/README.bz2 <<< obj /usr/share/doc/memtest86+-2.11/README.build-process.bz2 --- !found obj /boot/memtest86plus/memtest --- !found dir /boot/memtest86plus <<< dir /usr/share/doc/memtest86+-2.11 --- !empty dir /usr/share/doc --- !empty dir /usr/share --- !empty dir /usr <<< dir /boot Another problem is that all files residing in the real /boot partition weren't unmerged. Adding a ".keep" file into the unmounted /boot directory prevents the deletion of the /boot mount point. shanghai:~ # emerge --info Portage 2.2_rc33 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.8_p20080602-r1, 2.6.27.25 x86_64) ================================================================= System uname: Linux-2.6.27.25-x86_64-Quad-Core_AMD_Opteron-tm-_Processor_2380-with-gentoo-2.0.1 Timestamp of tree: Wed, 17 Jun 2009 17:45:01 +0000 app-shells/bash: 4.0_p24 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.6.2-r1 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=barcelona -mtune=barcelona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/X11/Sessions /etc/X11/app-defaults /etc/X11/xinit /etc/adobe /etc/bonobo-activation /etc/ca-certificates /etc/ca-certificates.conf /etc/dbus-1 /etc/env.d /etc/env.d/java/ /etc/fonts /etc/fonts/fonts.conf /etc/foomatic /etc/games /etc/gconf /etc/gentoo-release /etc/gimp /etc/gnome-vfs-2.0 /etc/gre.d /etc/gtk-2.0 /etc/hp /etc/hsqldb /etc/htdig /etc/init.d /etc/iproute2 /etc/java-config-2 /etc/lftp /etc/logrotate.d /etc/ntop /etc/opt /etc/pango /etc/profile.d /etc/qt4 /etc/revdep-rebuild /etc/sandbox.d /etc/sasl2 /etc/sensors.d /etc/sgml /etc/sound /etc/ssl /etc/ssmtp /etc/t1lib /etc/terminfo /etc/udev/rules.d /etc/vbox /etc/xdg /etc/xinetd.d /etc/xml" CXXFLAGS="-march=barcelona -mtune=barcelona -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical --with-bdeps=y" FEATURES="collision-protect distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LDFLAGS="-Wl,-O1,--hash-style=gnu,--sort-common,--as-needed" LINGUAS="de en" MAKEOPTS="-j7" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread emboss encode evo fam ffmpeg firefox flac gdbm gif gnutls gtk iconv idn isdnlog jpeg jpeg2k kde lame libnotify mad midi mikmod mmap mmx mmxext mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf png ppds pppd qt3 qt3support qt4 quicktime readline reflection sdl session slang spell spl sse sse2 ssl startup-notification svg sysfs theora threads tiff truetype unicode usb vcd vorbis x264 xml xorg xulrunner xv xvid zlib" ALSA_CARDS="emu10k1 hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="nv nvidia" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS This happens due to the mount-boot.eclass not having a pkg_postrm function mounting /boot like the pkg_preinst function of that eclass already does... Created attachment 195022 [details, diff]
mount-boot.eclass.diff
How about this possible fix?
*** Bug 288351 has been marked as a duplicate of this bug. *** am i the first who believes portage should not mount or unmount anything but fail with an error and a hint to mount manually? what if there's a different partition behind it now? baselayout should already handle installing of a .keep files, but sometimes the .keep file ends up in the mounted partition (or people delete things as they're creating the sep partition). this isnt a bug in the mount-boot eclass as even if it werent in use, things installing into unmounted /boot would trigger the same exact problem. should be easy to workaround in the eclass using Lars' fix as a base http://sources.gentoo.org/eclass/mount-boot.eclass?r1=1.16&r2=1.17 "should be easy to workaround" doesn't really sounds like fixed!? |