When installing the same application (most often seen with www-apps/gallery) into different filesystem locations, all is fine. Then, when uninstalling one of these locations using 'webapp-config -C', the other locations also get removed from the list 'webapp-config --li --verbose' provides. I have had 5 copies of www-apps/gallery in different locations. Then I uninstalled one by issuing: 'webapp-config -C -h site -d gallery2 gallery 2.3.2'. This results in none is given in the output of 'webapp-config --li --verbose' anymore: tango011 ~ # webapp-config --li --verbose * Installs for dokuwiki-20130510a * /var/www/marc-richter.info/htdocs/dokuwiki * Installs for drupal-7.24 * /var/www/marc-richter.info/htdocs/drupal * Installs for mediawiki-1.20.6 * /var/www/www.bardor.de/htdocs/mediawiki * Installs for owncloud-5.0.13-r1 * /var/www/marc-richter.info/htdocs/owncloud * Installs for phpBB-3.0.12 * /var/www/www.bardor.de/htdocs/phpBB3 * Installs for phpmyadmin-4.0.6 * /var/www/tango011.server4you.de/htdocs/phpmyadmin * Installs for wordpress-3.7.1 * /var/www/zoosau.de/htdocs/wordpress tango011 ~ # But it is installed in 4 locations still, which webapp-config realizes as soon as you try to install it into a folder where it already resides: tango011 gallery # pwd /var/www/marc-richter.info/htdocs/gallery tango011 gallery # ls MANIFEST bootstrap.inc config.php embed.php images index.php init.inc install lib locale main.php modules themes upgrade tango011 gallery # webapp-config -I -h marc-richter.info -d gallery gallery 2.3.2 * Fatal error: Package /gallery-2.3.2 is already installed here. * Fatal error: Use webapp-config -C to uninstall it first. * Fatal error: Install directory already contains a web application! * Fatal error(s) - aborting tango011 gallery # The other locations are still in place and the applications in there are still served; no files are missing or anything. Reproducible: Always Steps to Reproduce: 1. Install =www-apps/gallery-2.3.2 2. Install it into a location using webapp-config: 'webapp-config -I -h host-of-your-choice -d gallery1 gallery 2.3.2' 3. Install it into a second location using webapp-config: 'webapp-config -I -h host-of-your-choise -d gallery2 gallery 2.3.2' 4. Verify both are shown in the output of 'webapp-config --li -V' 5. Remove it from the first location, using: 'webapp-config -C -h host-of-your-choice -d gallery1 gallery 2.3.2' 6. Find the second location (host-of-your-choice/htdocs/gallery2) also vanished from the output of 'webapp-config --li -V' 7. Validate that the files of the second installation are still in place (for example: 'ls -l /var/www/host-of-your-choice/htdocs/gallery2' 8. Even webapp-config doesn't list this install anymore, it realizes that there is an installation inside that location, as soon as you issue an install of any webapp into a folder already contains a webapp installed with webapp-config (but not listed): 'webapp-config -I -h host-of-your-choice -d gallery2 gallery 2.3.2': * Fatal error: Package /gallery-2.3.2 is already installed here. * Fatal error: Use webapp-config -C to uninstall it first. * Fatal error: Install directory already contains a web application! * Fatal error(s) - aborting 9. Even webapp-config doesn't list this install anymore, it can remove it using 'webapp-config -C -h host-of-your-choice -d gallery2 gallery 2.3.2': * Removing /gallery-2.3.2 from /var/www/marc-richter.info/htdocs/gallery2 * Installed by root on 2013-12-17 10:33:24 * Config files owned by 0:0 !found /var/www/marc-richter.info/cgi-bin !found /var/www/marc-richter.info/error !empty /var/www/marc-richter.info/icons * Unable to read the install database /var/db/webapps/gallery/2.3.2/installs * Remove whatever is listed above by hand tango011 ~ # emerge --info app-admin/webapp-config Portage 2.3.6-r5 (funtoo/1.0/linux-gnu/arch/x86-64bit, gcc-4.8.1, glibc-2.18, 3.11.0-gentoo-mr01 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.11.0-gentoo-mr01-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_3400+-with-gentoo-2.2.0 KiB Mem: 3801968 total, 117376 free KiB Swap: 4194296 total, 4147612 free Timestamp of tree: Unknown ld GNU ld (GNU Binutils) 2.23.2 ccache version 3.1.9 [disabled] app-shells/bash: 4.2_p45-r1 dev-lang/python: 2.7.6-r1000, 3.3.3-r1000 dev-util/ccache: 3.1.9-r3 dev-util/cmake: 2.8.12 sys-apps/baselayout: 2.2.0-r4 sys-apps/openrc: 0.12.3-r1 sys-apps/sandbox: 2.6-r2 sys-devel/autoconf: 2.69 sys-devel/automake: 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.8.1-r3 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.7 (virtual/os-headers) sys-libs/glibc: 2.18 Repositories: gentoo flora judge-funtoo-overlay ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA dlj-1.1 Oracle-BCLA-JavaSE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=k8 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -march=k8 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles merge-sync mini-manifest news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed" LINGUAS="de en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/flora /usr/local/portage/judge-funtoo-overlay" SYNC="git://github.com/funtoo/ports-2012.git" SYNC_USER="root" USE="acl amd64 apache2 bash-completion bcmath berkdb bzip2 cracklib crypt ctype curl cxx exif fam ftp gd-external gdbm gif git gnutls gzip hash i18n iconv icu imap imlib inifile innodb ipv6 jadetex jpeg jpeg2k lame latex libwww lzo maildir mercurial mhash mime mmx mng modules mp3 mp4 mpeg mudflap multilib mysql mysqli ncurses netpbm nls nptl ogg openmp pam pcre pdf pdo perl php plotutils png posix postgres python readline resolvconf rss ruby sasl session snmp soap sockets sqlite sqlite3 sse sse2 ssl subversion suhosin syslog szip tcpd threads tidy tiff trashquota truetype unicode vhosts vim-syntax vorbis win32codecs xattr xml xmlreader xmlrpc xmlwriter zip zlib" ABI_X86="64" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default auth_digest authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation postgres proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi rewrite setenvif speling status unique_id usertrack version vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi addition auth_pam cache_purge dav dav_ext degradation fancyindex flv geoip gunzip gzip_static headers_more image_filter lua metrics mp4 naxsi push random_index realip secure_link slowfs_cache spdy stub_status sub upload_progress upstream_check xslt" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3 php5-4 php5-5" PYTHON_ABIS="2.7 3.3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19 ruby20" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, SYNC_UMASK ================================================================= Package Settings ================================================================= app-admin/webapp-config-1.52 was built with the following: USE="portage" PYTHON_TARGETS="python2_7 python3_3 -pypy2_0 -python2_6 -python3_2" tango011 ~ #
PS: 'webapp-config --lui -V' lists gallery-2.3.2 as not in use, even it still is installed in the other 4 locations, which might suggest anybody not aware of this malfunction that it is safe to remove the package from the system.
Just to confirm, the issue is with its entry being removed from the --list-install database and not from the filesystem, correct? If so, that's good because it shouldn't be removed from the filesystem and an entry removal is menial. I am currently working on how webapp-config handles it's entries though, so it should be fixed in the next release.
(In reply to Devan Franchini from comment #2) > Just to confirm, the issue is with its entry being removed from the > --list-install database and not from the filesystem, correct? If so, that's > good because it shouldn't be removed from the filesystem and an entry > removal is menial. I am currently working on how webapp-config handles it's > entries though, so it should be fixed in the next release. I do confirm that your description matches the behaviour I'm observing with version 1.52. In fact, the "-d directory" is ignored as well, meaning if you want to remove *one* instance out of several inside a give host, all of them are cleared from the database.
Issue has been resolved and will be available in the next release of webapp-config.
*** Bug 546460 has been marked as a duplicate of this bug. ***