uninstall sys-apps/memtest86-3.3 or sys-apps/memtest86+-2.01 when /boot partition is not mounted will delete /boot directory instead of uninstalling the memtest86(+) Reproducible: Always Steps to Reproduce: 1. umount /boot 2. emerge --unmerge memtest86+ Actual Results: "/boot" directory got deleted from "/" Expected Results: delete "/boot/memtest86plus/" this is for both the "sys-apps/memtest86" and "sys-apps/memtest86+" when /boot was mounted everthing went as expected its easy to fix # mkdir /boot # mount /boot # rm -R /boot/memtest86plus or # rm -R /boot/memtest86
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!?