when I reinstall(same version) some web aplicattion as squirremail, the pages of /var/www are removed, wouldn't remove this directory until that user execute webapp-config
That's an intended behaviour if you don't have USE="vhosts" set. If you do, then reopen this bug.
I have USE="... vhost" set
Well, sorry you'll need to describe better what's going then. What's exactly removed? Attach some emerge output or whatever.
I emerge phpmyadmin, and I install phpmyadmin in a vhost named "terminal" ( webapp-config -I -h terminal -d phpmyadmin phpmyadmin 2.8.0.4), then phpmyadmin is installed in /var/www/terminal. When I re-emerge phpmyadmin (same version) "emerge --oneshot phpmyadmin", the instalation in /var/www/terminal/htdocs/phpmyadmin is removed and shouldn't removed of this directory. Only should remove this directory if you unmerge phpmyadmin.
*** Bug 135365 has been marked as a duplicate of this bug. ***
*** Bug 133057 has been marked as a duplicate of this bug. ***
this is http://www.vhost-tools.org/ticket/32
I still have USE="vhosts" set and did an emerge -ev world on my server yesterday to try and fix an issue forgetting about this bug. I can confirm that this bug is still present and it has removed each and every installation of every webapp I had on my server. I am just in the process of restoring them now. This is an absolutely terrible bug to still have as it destroys service. Is there any reason this still hasn't been fixed? Is there something I could do to help out or do people just not feel that this is an important bug? When running a server this is the last thing I want to see happen - disruption in service. I synced up the tree yesterday night before commencing with the emerge and have app-admin/webapp-config-1.50.15 installed along with several webapps all from the main tree (no overlays or anything on my stable server).
I cannot confirm this issue. However it may be due to the fact that the main location webapps are installed to, and where I then install them for use in, are on differing partitions. My understanding is that if webapp can make symlinks, it does this. Apparently a situation where it cannot do this is when it's being installed for use on a different partition, at which point copies are made. Am I thinking along the right lines here? Portage 2.1.1 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-netwerkz x86_64) ================================================================= System uname: 2.6.16-netwerkz x86_64 Intel(R) Xeon(TM) CPU 2.80GHz Gentoo Base System version 1.12.5 Last Sync: Sat, 23 Sep 2006 10:00:08 +0000 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=x86-64 -Os -pipe -fomit-frame-pointer -fforce-addr -mno-tls-direct-seg-refs" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=x86-64 -Os -pipe -fomit-frame-pointer -fforce-addr -mno-tls-direct-seg-refs" DISTDIR="/usr/gentoo/distfiles" FEATURES="autoconfig distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="ftp://mirror.datapipe.net/gentoo http://gentoo.mirrors.pair.com/ http://mirror.usu.edu/mirrors/gentoo/" LINGUAS="" MAKEOPTS="-j3" PKGDIR="/usr/gentoo/packages" 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'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 apache2 bash-completion berkdb bzip2 crypt dlloader elibc_glibc ftp hardened input_devices_evdev input_devices_keyboard input_devices_mouse kernel_linux ncurses nls nptl nptlonly pam perl pic pie python readline ssl tcpd unicode userland_GNU userlocales vhosts video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i810 video_cards_mga video_cards_neomagic video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xml2 zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
The bahaviour I am seeing involved the webapp, phpmyadmin for arguments sake, being re-emerged, and then it removes the old version and in that step calls webapp-config to remove *all* webapp-config installed instances. So phpmyadmin is still installed but webapp-config has been called to remove every installation! A very irritating bug. Shouldn't you just stop webapp-config from being called to remove instances altogether? It doesn't automatically install instances when the vhost USE flag is set, so why should it automatically remove them at all either? It does not seem logical to me. The eclass could be modified quite easily to give consistent behaviour at least. This wouldn't fix it for the case where the vhost USE flag is not set though. IMHO it would still be incorrect to call webapp-config to remove a webapp on a re-merge of the webapp. Hope you understand what I mean now - phpmyadmin is already installed, I have installed an instance using webapp-config. Then I re-emerge the same version of phpmyadmin and the unmerge after the emerge removes all instances.
Hm. Okay. I do use phpmyadmin and have upgraded it multiple times, sounds like having my stuff on different partitions is saving me here. Though if more people are having the issue you are, I find it rather difficult to believe others aren't reporting here, or on IRC. Anyway, this isn't a chat so unless any further info is needed from me, i'll shut my trap.
I think you are misunderstanding. If you *upgrade* any webapp then it goes into a *new slot* and so emerge doesn't unmerge the old instance. I think this is the key, and most people never re-emerge the same version which causes the previous instance to be unmerged. cryos htdocs # emerge -pv phpmyadmin These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-db/phpmyadmin-2.9.0 USE="vhosts" 0 kB Notice the R, not U, meaning it will be re-emerged. Now try emerging it and you will get any webapp-config instances unmerged. If these are your active sites it will probably make you unhappy. I did a complete rebuild of all packages on my server (i.e. emerge -ev world) and this of course re-emerged all of my webapps too. I am surprised more people are not reporting this issue, but it isn't something people do all the time. It is nonetheless quite a nasty bug when you encounter it.
I also confirm this - I'm amazing it's still a bug too, as far as I'm concerend webapp config should be completly blocked untill this is fixed, because encouraging people to use it when it's working like this is awful. I've had trac sites of mine go down due to it several times
What is stopping you from modifying the function webapp_pkg_prerm () function? Instead of automatically removing anything just warn users they need to uninstall x, y and z. Then users don't get nasty surprises - I don't think the current implementation is helping anyone. Just leave the following, and remove the if else block around it then we can be advised upon what is left remaining, pick it up in elog etc... ewarn "Don't forget to use webapp-config to remove the copy of" ewarn "${PN}-${PVR} installed in" ewarn ewarn " ${x}"
Hi, I'm sorry for the delay in someone fixing this bug. I've started looking into it. Hopefully I'll have a fix soon. Best regards, Stu
folks, I finally got around to looking at this. I patched the eclass so that w-c does not get called to remove any copies of a web app installed into a virtual host if USE=vhosts. This means that nothing will get uninstalled on reinstall. Please test and reopen if it's still broken.
It is great to hear that such a critical bug has finally been fixed - this bit me more than once I am afraid... I will test is as soon as I get chance to. Thanks.