Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 195017 - update to sys-libs/cracklib-2.8.10 removes dicts when FEATURES=unmerge-orphans
Summary: update to sys-libs/cracklib-2.8.10 removes dicts when FEATURES=unmerge-orphans
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
: 195498 (view as bug list)
Depends on:
Reported: 2007-10-07 18:39 UTC by Pacho Ramos
Modified: 2008-10-12 09:06 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2007-10-07 18:39:26 UTC
cracklib update to sys-libs/cracklib-2.8.10 breaks passwd command causing the following error:
passwd: Critical error - immediate abort

I fixed it re-emerging cracklib and shadow:
emerge -1 cracklib shadow

More information in:

Portage (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r8 i686)
System uname: 2.6.22-gentoo-r8 i686 Genuine Intel(R) CPU T2300 @ 1.66GHz
Timestamp of tree: Sun, 07 Oct 2007 11:50:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=pentium-m -mfpmath=sse -msse3"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=pentium-m -mfpmath=sse -msse3"
FEATURES="ccache distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
LINGUAS="es es_ES en_US"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage"
USE="X a52 aac acpi aim alsa ape arts asf audiofile avahi avi bash-completion bcmath beagle bitmap-fonts bonobo bzip2 bzlib cairo caps cdb cddb cdparanoia cdr cdrparanoia cli cpdflib cracklib cross crypt css cups curl curlwrappers daap dbus divx4linux dts dv dvb dvd dvdr dvdread emerald encode escreen esd exif fam fbcon ffmpeg firefox flac foomaticdb fortran ftp galago gb gcj gd gif gimp gimpprint glitz glut glx gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal iconv imagemagick imlib ipv6 isdnlog jabber jack java jikes jpeg kde kdeenablefinal kdehiddenvisibility latex lcms lesstif libnotify logrotate mac mad mbox midi mikmod mime ming mmap mmx mmxext mng modplug mono motif mp3 mpeg mpi mplayer mudflap musepack musicbrainz nas ncurses nethack nls nocd nptl nptlonly nsplugin ntfs nvidia ogg oggvorbis openal opengl openmp opnegl pam pcmcia pcre pdf pdflib perl pic png pnp posix ppds pppd python qt qt3 qt4 quicktime readline real reflection reiserfs rpm rtc ruby scanner sdl seamonkey session slang slp smp sndfile sockets socks5 speex spell spl sse sse2 sse3 ssl startup-notification svg syslog tcltk tcpd tetex tga theora threads tiff timidity tk truetype truetype-fonts trusted type1-fonts unicode usb userlocales v4l v4l2 vcd videos vim vorbis wifi win32codecs wma wmf wxwindows x86 xcomposite xine xml xorg xpm xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" DVB_CARDS=" " ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_ES en_US" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa fbdev"

Reproducible: Always
Comment 1 Ben XO 2007-10-10 11:08:55 UTC
I can confirm that this happened to me on more than one machine, and the solution fixed it
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-10-11 14:30:38 UTC
*** Bug 195498 has been marked as a duplicate of this bug. ***
Comment 3 CJ Kucera 2007-10-11 19:21:00 UTC
Ah, this is actually related to bug #195527 which I just submitted awhile ago.  This bit me too.  If you have unmerge-orphans in FEATURES, the cracklib dictionaries end up getting removed incorrectly.  This is because in the old version of cracklib, the files were officially owned by the package, which is no longer the case.

If you set FEATURES="-unmerge-orphans" before merging in the update, it'd be fine as well.  The re-emerge of cracklib works because the generated dictionaries don't get removed since the "old" cracklib didn't own them to begin with.
Comment 4 Alan Hourihane 2007-10-22 13:15:18 UTC
I get this message.

bash$ passwd
New UNIX password: 
/usr/lib/cracklib_dict.pwd: No such file or directory
PWOpen: No such file or directory
Comment 5 Robert Bradbury 2007-10-24 07:22:41 UTC
I believe to work around this bug, in addition to emerging "sys-libs/cracklib" it is necessary to emerge "sys-apps/cracklib-words".  That provides the dictionaries required by cracklib.  It is open to debate whether cracklib should require cracklib-words.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2008-02-05 23:40:43 UTC
(In reply to comment #5)
> I believe to work around this bug, in addition to emerging "sys-libs/cracklib"
> it is necessary to emerge "sys-apps/cracklib-words".  That provides the
> dictionaries required by cracklib.  It is open to debate whether cracklib
> should require cracklib-words.

There'd be nothing broken if sys-libs/cracklib didn't create the dicts as *orphaned* files that get unmerged by default as noted in Comment #3, this is a horrible idea.
Comment 7 SpanKY gentoo-dev 2008-02-24 11:39:27 UTC
cracklib-2.8.12 is stable now so most people who hit this will get it fixed when they upgrade

ive added a workaround check to cvs for people still on older versions:

unfortunately, i cant make this automatic via pkg_postrm() as portage will only execute the pkg_postrm() of the older ebuilds, not the newer ones
Comment 8 Tobias Kral 2008-02-26 21:37:19 UTC
(In reply to comment #7)
> ive added a workaround check to cvs for people still on older versions:

Thanks a lot! I've just installed a "new" system on x86 with 2006.1-i586-stage3 and run into this issue. Everything worked fine.