Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 55153 - [possible webapp-config bug?] horde ebuilds suffer from the "empty directories get deleted on upgrade/reinstall" issue
Summary: [possible webapp-config bug?] horde ebuilds suffer from the "empty directorie...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Web Application Packages Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-25 07:20 UTC by Mike Nerone
Modified: 2006-01-11 11:19 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Nerone 2004-06-25 07:20:31 UTC
This is the same portage problem referenced in Bug #624 and Bug #2167 and needs to be worked around. The ebuild creates empty directories, but during an upgrade or reinstall, after the installation makes sure those empty dirs exist, the "safe unmerge" deletes them (this really should be fixed in portage, IMHO, but the accepted solution seems to be to workaround this for the time being).

In the case of horde-pear, I think this definitely needs to be fixed within the ebuild. For the other horde apps (I'm sure others besides just horde and horde-imp are affected), perhaps this needs to be addressed in the webapp eclass?

############################################################
# emerge -av horde horde-imp horde-pear
...success...
# qpkg -c -v horde
net-www/horde-2.2.5 *
net-www/horde-imp-3.2.4 *
net-www/horde-pear-1.3-r1 *
# emerge -av horde horde-imp horde-pear
...
<<<        dir /usr/share/webapps/horde/2.2.5/sqlscripts
<<<        dir /usr/share/webapps/horde/2.2.5/hostroot/icons
<<<        dir /usr/share/webapps/horde/2.2.5/hostroot/error
<<<        dir /usr/share/webapps/horde/2.2.5/hostroot/cgi-bin
<<<        dir /usr/share/webapps/horde/2.2.5/hostroot
...
<<<        dir /usr/share/webapps/horde-imp/3.2.4/sqlscripts
<<<        dir /usr/share/webapps/horde-imp/3.2.4/hostroot/icons
<<<        dir /usr/share/webapps/horde-imp/3.2.4/hostroot/error
<<<        dir /usr/share/webapps/horde-imp/3.2.4/hostroot/cgi-bin
<<<        dir /usr/share/webapps/horde-imp/3.2.4/hostroot
...
<<<        dir /usr/lib/php/tests/DB/tests/pgsql
<<<        dir /usr/lib/php/tests/DB/tests/odbc
<<<        dir /usr/lib/php/tests/DB/tests/oci8
<<<        dir /usr/lib/php/tests/DB/tests/mysql
<<<        dir /usr/lib/php/tests/DB/tests/ibase
<<<        dir /usr/lib/php/docs/HTML_TreeMenu/docs
<<<        dir /usr/lib/php/docs/HTML_TreeMenu
<<<        dir /usr/lib/php/docs/DB/DB
<<<        dir /usr/lib/php/data/HTML_TreeMenu/imagesAlt2
<<<        dir /usr/lib/php/data/HTML_TreeMenu/imagesAlt
<<<        dir /usr/lib/php/data/HTML_TreeMenu/images
<<<        dir /usr/lib/php/data/HTML_TreeMenu
<<<        dir /usr/lib/php/HTML/docs
...otherwise, successful...
# qpkg -c -v horde
net-www/horde-2.2.5 *
/usr/share/webapps/horde/2.2.5/sqlscripts !not exist!
/usr/share/webapps/horde/2.2.5/hostroot !not exist!
/usr/share/webapps/horde/2.2.5/hostroot/error !not exist!
/usr/share/webapps/horde/2.2.5/hostroot/icons !not exist!
/usr/share/webapps/horde/2.2.5/hostroot/cgi-bin !not exist!
5/462

net-www/horde-imp-3.2.4 *
/usr/share/webapps/horde-imp/3.2.4/sqlscripts !not exist!
/usr/share/webapps/horde-imp/3.2.4/hostroot !not exist!
/usr/share/webapps/horde-imp/3.2.4/hostroot/error !not exist!
/usr/share/webapps/horde-imp/3.2.4/hostroot/icons !not exist!
/usr/share/webapps/horde-imp/3.2.4/hostroot/cgi-bin !not exist!
5/411

net-www/horde-pear-1.3-r1 *
/usr/lib/php/HTML/docs !not exist!
/usr/lib/php/data/HTML_TreeMenu !not exist!
/usr/lib/php/data/HTML_TreeMenu/imagesAlt2 !not exist!
/usr/lib/php/data/HTML_TreeMenu/images !not exist!
/usr/lib/php/data/HTML_TreeMenu/imagesAlt !not exist!
/usr/lib/php/docs/DB/DB !not exist!
/usr/lib/php/docs/HTML_TreeMenu !not exist!
/usr/lib/php/docs/HTML_TreeMenu/docs !not exist!
/usr/lib/php/tests/DB/tests/oci8 !not exist!
/usr/lib/php/tests/DB/tests/odbc !not exist!
/usr/lib/php/tests/DB/tests/ibase !not exist!
/usr/lib/php/tests/DB/tests/mysql !not exist!
/usr/lib/php/tests/DB/tests/pgsql !not exist!
13/525
############################################################


############################################################
# emerge info
Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r5)
=================================================================
System uname: 2.6.7-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -fstack-protector"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ http://128.213.5.34/gentoo/ http://gentoo.netnitco.net http://mirror.cpsc.ucalgary.ca/mirror/gentoo.org http://cudlug.cudenver.edu/gentoo/ http://gentoo.ccccom.com http://gentoo.binarycompass.org"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="alsa apache2 arts avi crypt cups encode flash foomaticdb gd gif gtk2 imagemagick imap imlib jpeg lcms libg++ libwww mad mcal memlimit mikmod mmx mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png ppds python quicktime readline samba sasl sdl slang slp spell sse ssl svga tcpd tiff truetype usb vhosts x86 xml xml2 xmms zlib"
############################################################
Comment 1 SpanKY gentoo-dev 2004-07-13 19:37:49 UTC
the first three cases you point out are directories made by webapp-config, not horde

the 4th case i dont see it being a bug since, afaik, those directories dont really need to exist to function correctly
Comment 2 Mike Nerone 2004-07-15 18:02:09 UTC
When I made this report, I didn't realize that it's the webapp eclass that handles those skeleton directories. Those were my main concern, not the PEAR dirs.

I do still consider the horde-pear case a minor bug, though. Any merge that leaves you with a package that thinks it's incomplete (functional though it may be) is a bug. IMHO, unnecessary empty dirs should either not be merged in the first place or should be preserved through an update/reinstall (wouldn't some keep files solve this?).

I realize the shortcoming is in portage, though, and merely cosmetic in the case of horde-pear (incidentally, for *some* apps, it's not cosmetic: e.g. for postfix, its spool directories are required to exist; however, it doesn't like to see .keep files in them, so the ebuild works around this issue by creating those directories in pkg_postinst so that they don't get unmerged during an updat -- but I digress).
Comment 3 Renat Lumpau (RETIRED) gentoo-dev 2005-07-03 18:13:04 UTC
Stu - thoughts?
Comment 4 Renat Lumpau (RETIRED) gentoo-dev 2006-01-08 09:08:38 UTC
wrobel - thoughts?
Comment 5 Gunnar Wrobel (RETIRED) gentoo-dev 2006-01-11 11:19:53 UTC
The webapp.eclass uses "dodir" in webapp_src_preinst which leads to this effect.
We ensured that w-c won't complain when these dirs are missing.