* [gentoo-commits] proj/webapp-config:blueness commit in: examples/, /, doc/, ebuild/, eclass/
@ 2011-06-14 17:09 Anthony G. Basile
0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2011-06-14 17:09 UTC (permalink / raw
To: gentoo-commits
commit: ab538fe606d79691bab53a78681ef47126b6a651
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 14 17:09:00 2011 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jun 14 17:09:00 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/webapp-config.git;a=commit;h=ab538fe6
Stripping down clutter for clarity
---
AUTHORS | 22 -
CHANGES | 1052 -----------------------------------
COPYING | 280 ----------
ChangeLog | 463 ---------------
HACKING | 28 -
INSTALL | 22 -
MANIFEST.in | 15 -
README | 17 -
RELEASE_NOTES | 30 -
TODO | 41 --
doc/Makefile | 43 --
doc/webapp-config.5.xml | 216 -------
doc/webapp-config.8.xml | 573 -------------------
doc/webapp-eclass.xml | 567 -------------------
doc/webapp.eclass.5.xml | 444 ---------------
ebuild/webapp-config-1.50.18.ebuild | 58 --
eclass/webapp.eclass | 538 ------------------
examples/phpmyadmin-2.5.4-r1.ebuild | 93 ---
examples/phpmyadmin-2.5.4-r2.ebuild | 92 ---
examples/postinstall-en.txt | 13 -
20 files changed, 0 insertions(+), 4607 deletions(-)
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index db94af2..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,22 +0,0 @@
-AUTHORS
--------
-
-Original design came from GLEP 11:
-
- http://glep.gentoo.org/
-
-Code authors:
-
- Stuart Herbert <stuart@stuartherbert.com>
- Renat Lumpau <rl03@gentoo.org>
- Gunnar Wrobel <wrobel@gentoo.org>
-
-Significant contributors (testing, review, design suggestions):
-
- dju`
- Dietrich Heise
- Rob Holland
- Martin Holzner
- Robin H. Johnson
- Max Kalika
- Sven Wegener
diff --git a/CHANGES b/CHANGES
deleted file mode 100644
index 32f881f..0000000
--- a/CHANGES
+++ /dev/null
@@ -1,1052 +0,0 @@
-Version 1.50.19 - Released
-=========================================
-
- * bug fix: webapp-config-1.50.16 errors out during uninstall if
- htdocs is a symlink (Gentoo bug #181938)
-
-Version 1.50.18 - Released
-=========================================
-
-Version 1.50.17 - Released
-=========================================
-
-Version 1.50.16 - Released
-=========================================
-
-Version 1.50.15 - Released 19th July 2006
-=========================================
-
- * enhancement: Added script webapp-cleaner.
-
-Version 1.50.14 - Released 20th April 2006
-==========================================
-
- * bug fix: Added types import (Gentoo bug #126534)
- * bug fix: Added support for splitting hostnames into
- subdomains. (Gentoo bug #126486)
- * enhancement: Added cherokee support (Gentoo bug #129359)
- * bug fix: Added -D and -E description. Fixed upgrade
- instructions (Gentoo bug #129167)
-
-Version 1.50.13 - Released 06th March 2006
-==========================================
-
- * bug fix: amd64 libdir fix (Gentoo bug #125156)
-
-Version 1.50.12 - Released 06th March 2006
-==========================================
-
- * bug fix: amd64 libdir fix (Gentoo bug #125156)
-
-Version 1.50.11 - Released 04th March 2006
-==========================================
-
- * bug fix: Fixed package detection.
-
-Version 1.50.10 - Released 30th January 2006
-============================================
-
- * bug fix: Both vhost_config_virtual_files and
- vhost_config_default_dirs were ignored. Fixed.
- * bug fix: Fixed pass-through of the server variable and modified
- the uid/gid extraction to result in readable names.
- * bug fix: Showing the instructions now includes the server
- argument.
-
-Version 1.50.9 - Released 27th January 2006
-===========================================
-
- * enhancement: Allowing config-server-owned.
- * bug fix: Fix for recognizing config protected files.
- * bug fix: Fixed error message for a problematic configuration
- configuration file.
- * bug fix: Fixed behaviour for upgrades. Now shows upgrade
- instructions.
-
-Version 1.50.7 - Released 9th January 2006
-==========================================
-
- * bug fix: Another correction to symlinks. We now support broken
- links.
- * bug fix: Fix for variables VHOST_SERVER_xID.
- * bug fix: Adapted running hooks
- * bug fix: Fixed documentation of "--list-installs"
-
-Version 1.50.6 - Released 4th January 2006
-==========================================
-
- * bug fix: Removed a problematic doctest so that src_test will work.
-
-Version 1.50.5 - Released 4th January 2006
-==========================================
-
- * bug fix: Fixed trailing slashes for the -d flag (Gentoo bug
- #115765)
- * enhancement: Support for symlinked directories.
- * enhancement: Ebuild now provides src_test.
-
-Version 1.50.3 - Released 12th December 2005
-============================================
-
- * bug fix: Removed "root" references for BSD.
- * bug fix: Fixed handling of content file between upgrades.
-
-Version 1.50.2 - Released 05th December 2005
-============================================
-
- * bug fix: Reverted hook logic.
- * bug fix: Added MY_HOSTROOTDIR to the exported variables.
-
-Version 1.50.1 - Released 05th December 2005
-============================================
-
- * bug fix: fixed problem with missing hook directories.
-
-Version 1.50.0 - Released 24th November 2005
-============================================
-
- * rewrite in python
-
-Version 1.11-r1 - Released 20st July 2005
-=========================================
-
- * bug fix: webapp-config removes all '//' occurances from the install
- directory name
- - Ensures we don't add otherwise duplicate strings into the database
- of what is installed where
- * bug fix: webapp-config no longer reads .webapp files twice during
- upgrades
- - Should fix problems of an upgrade removing the wrong version of
- an app
- * bug fix: webapp-config no longer appends to .webapp files
- - Should fix numerous reported problems
- * bug fix: $PN and $PVR are exported for hook scripts
- * bug fix: --pretend no longer modifies the .webapp file
- * bug fix: users can change VHOSTS_HTDOCS_INSECURE, and webapp-config will
- notice
- * bug fix: users can change VHOSTS_HTDOCS_SECURE, and webapp-config will
- notice
- * bug fix: webapp-config will select the correct target directory when
- --secure is used
-
-Version 1.11 - Released 30th May 2005
-=====================================
-
- * r12, r13 and r14 were released separately by Gentoo
- * v1.11 incorporates the changes made by Gentoo
- - fix for creating path-to-dir w/ permissions 777
- - replaced with own fix
- - fix for insecure creation of temporary files
- - replaced with fix from vapier@gentoo.org
- - replaced deprecated qpkg with equery (yuck)
- - added as-is
- * bug fix: no longer uses 'id -g' to work out the default group
- - updated sbin/webapp-config
- - see Gentoo bug #60155
- - tested & ready for release
- * bug fix: change 'etc-upgrade' to 'etc-update' in the man page
- - updated doc/webapp-config.8.xml
- - see Gentoo bug #53390
- - tested & ready for release
- * bug fix: webapp-config runs with the default umask, except when
- adding files into their destination directories
- - updated sbin/webapp-config
- - see Gentoo bug #53390
- - also fixes Gentoo bug #91785
- * bug fix: changed default permissions on .webapp files to be '0600'
- - also changes default permissions for files in /var/db/webapps
- - see Gentoo bug #71228
- - tested & ready for release
- * bug fix: make the default output more verbose than it currently is
- - updated sbin/webapp-config
- - updated lib/servers/basic.sh
- - see Gentoo bug #64684
- - tested & ready for release
- * bug fix: --list-servers works now
- - updated sbin/webapp-config
- - see Gentoo bug #69463
- - tested & ready for release
- * bug fix: cope with too many protected files
- - updated sbin/webapp-config
- - see Gentoo bug #73520
- - tested & ready for release
- * bug fix: --pretend does not create any directories any more
- - updated sbin/webapp-config
- - see Gentoo bug #80535
- - tested & ready for release
- * bug fix: --bug-report needs to automatically switch on --verbose
- - updated sbin/webapp-config
- - see Gentoo bug #82655
- - tested & ready for release
- * bug fix? ensure we overwrite old files left behind by broken users
- - see Gentoo bug #89821
- * bug fix: incorrect instructions for removing an app
- - updated doc/webapp-config.8.xml
- - see Gentoo bug #90157
- - tested & ready for release
- * bug fix: webapp-config no longer goes around resetting the write
- permissions of directories it is not responsible for
- - bug added in v1.10-r14
- - see Gentoo bug #92388
- - tested & ready for release
- * bug fix: webapp.eclass installs SQL files as only readable by root
- - prevents non-root users stealing passwords listed in these files
- - updated eclass/webapp.eclass
- - tested & ready for release
- * bug fix: --list-installs output included cruft which broke emerge -C
- - updated sbin/webapp-config
- * enhancement: added support for postupgrade-en.txt files
- - updated sbin/webapp-config, doc/webapp-config.5.xml
- - see Gentoo bug #53585
- * enhancement: added support for other webservers installed under gentoo
- - added lib/servers/aolserver.sh
- - added lib/servers/lighttpd.sh
- - added a generic 'basic.sh' for servers which seem to run as root
- - moved lib/servers/apache-basic.sh to be lib/servers/apache.sh
- - updated config/webapp-config to default to 'apache'
- - tested & ready for release
- * enhancement: added short aliases for some of the longer options
- - updated sbin/webapp-config
- - updated doc/webapp-config.8.xml
- - see Gentoo bug #76767
- - tested & ready for release
- * enhancement: removed support for 'runbycgibin'
- - never really worked in the first place
- - this is best done by setting up an appropriate handler in your webserver
- - updated sbin/webapp-config
- - updated config/webapp-config
- - updated doc/webapp-config.eclass.5.xml
-
-Version 1.10-r11 - Released 19th September 2004
-===============================================
-
- * version bump: changed version to 1.10-r11
- - updated sbin/webapp-config
- * enhancement: support for amd64 platform
- - updated sbin/webapp-config
- * bug fix: missing libsh_einfo on line 359
- - see http://bugs.gentoo.org/62845
- - updated sbin/webapp-config
-
-Version 1.10-r10 - Released 19th August 2004
-============================================
-
- * version bump: changed version to 1.10-r10
- - updated sbin/webapp-config
- - updated config/webapp-config
- * enhancement: VHOST_SERVER variable now exported
- - contains whatever's passed to webapp-config w/ the -s switch
- - no use to anyone, as -s can only contain 'apache-basic' right now :)
- - updated sbin/webapp-config
- - updated docs/webapp.eclass.5.xml
- * bug fix: VHOST_PERMS misspelt as VHOSTS_PERMS :(
- - updated config/webapp-config
- * bug fix: default for VHOST_PERMS_VIRTUAL_FILE was 'o-x', should be 'o-w'
- - updated sbin/webapp-config
- - updated config/webapp-config to be config v5
-
-Version 1.10-r9 - Released 19th August 2004
-===========================================
-
- * enhancement: you can now control the permissions used for the directory
- that webapp-config installs into by changing the config file
- - updated sbin/webapp-config
- - updated config/webapp-config
- - updated lib/servers/apache-basic.sh
- - updated doc/webapp-config.5.xml
- * enhancement: we now export more variables for use in hook functions
- and the post-installation instructions
- - updated sbin/webapp-config
- - updated doc/webapp-config.8.xml
- * feature change: webapp-config is no longer chatty
- - by popular request
- - updated sbin/webapp-config
- - updated lib/libsh.sh
- - updated lib/servers/apache-basic.sh
- * bug fix: no more installing virtual files with '0' permissions
- - we now pick up the permissions from the master copy of the file
- - updated sbin/webapp-config
- * bug fix: only add directories that we really need to the contents file
- - updated sbin/webapp-config
-
-Version 1.10-r8 - Released 16th August 2004
-===========================================
-
- * version changed to 1.10-r8
- - updated sbin/webapp-config
- * bug fix: installed 'virtual' files cannot always be set '644'
- - prevents executables installed in the cgi-bin directory from working
- - updated sbin/webapp-config
- - updated config/webapp-config
-
-Version 1.10-r7 - Released 12th August 2004
-===========================================
-
-A big thanks to dju` (http://dju.elegiac.net/) for pointing out that these
-changes were needed.
-
- * version changed to 1.10-r7
- - updated sbin/webapp-config
- * enhancement: permissions for files and directories can now be set from
- the config file
- - updated sbin/webapp-config
- - updated config/webapp-config
- - updated doc/webapp-config.5.xml
- * bug fix: .webapp files are no longer created 666
- - updated sbin/webapp-config
-
-Version 1.10-r6 - Released 8th August 2004
-==========================================
-
-8th August 2004
----------------
-
- * version bump to 1.10-r6
- - updated sbin/webapp-config
-
- * bug fix: files containing a '+' in the name are now uninstalled correctly
- - bug was caused by using egrep in fn_getcontentsline()
- - updated sbin/webapp-config to use regular grep
- - thanks to Dietrich Heise <dietrich@pegestorf.de> for the bug report
-
-6th August 2004
----------------
-
- * reverted the configuration change for the default user and group of
- config-owned files
- - the 'nobody' user is reserved for NFS root_squash
-
-31st July 2004
---------------
-
- * configuration change: the default user and group for config-owned files
- is now 'nobody'
- - updated config/webapp-config
- - updated sbin/webapp-config
-
-28th July 2004
---------------
-
- * bug fix: when creating a directory, test for a 'virtual' parent *before*
- trying to delete any directories from disk
- - updated sbin/webapp-config
-
-22nd July 2004
---------------
-
- * enhancement: directories that already exist are now handled better
- - ownership and permissions on existing directories are now changed
- - removing warning messages
- - updated sbin/webapp-config
-
-18th July 2004
---------------
-
- * bug fix: fix fir 'libse_enotice: command not found'
- - updated sbin/webapp-config
-
-Version 1.10-r5 - Released 11th July 2004
-=========================================
-
-11th July 2004
---------------
-
- * bug fix: config-file protection wasn't working
- - never worked if you were re-installing the same package
- - broken for everyone else when I made webapp-config safe to use with
- directories containing spaces in them
- - updated sbin/webapp-config
-
-8th July 2004
--------------
-
- * version bump: 1.10-r5
- * enhancement: many more variables exported for hook scripts, and now for use
- in post-install texts too
- - updated sbin/webapp-config
- - updated eclass/webapp.eclass.5
-
-Version 1.10-r4 - Released 7th July 2004
-========================================
-
-7th July 2004
--------------
-
- Hrm. All the fixes listed below as being in -r3 never made it into the
- final tarball. This was due to a mixup between my laptop (where all the
- dev work is done) and my desktop (where testing and releases occur).
-
- So -r4 is what -r3 should have been.
-
-Version 1.10-r3 - Released 28th June 2004
-=========================================
-
-28th June 2004
---------------
-
- * bug fix: hook scripts were called with parameters of 'start' and 'stop'
- instead of 'install' and 'clean'
- - updated sbin/webapp-config
-
-27th June 2004
---------------
-
- * version changed to 1.10-r3
- - updated sbin/webapp-config
-
- * bug fix: tightening up umasks
- - server-owned files are now created with mode 660
- - updated sbin/webapp-config
-
- * bug fix: incorrect references to 'webapp.ebuild' in SEE ALSO sections
- of the manuals
- - updated doc/webapp-config.5.xml
- - updated doc/webapp.eclass.5.xml
-
- * bug fix: changing VHOST_HTDOCS_INSECURE broke webapp-config
- - updated config/webapp-config
-
-23rd June 2004
---------------
-
- * version change to v1.10-r2
- - updated sbin/webapp-config
- * bug fix: --secure attempts to install files from /usr/share/webapps/<pn>/
- <pvr>/htdocs-secure, which doesn't exist (Gentoo bug #??)
- - updated config/webapp-config
- * bug fix: the examples for webapp-config -I used -d with full directory
- paths (Gentoo bug #52888)
- - the XML was correct
- - re-generated the man pages (grrr)
- * bug fix: you can't use webapp-config -U to upgrade from one unrelated
- package to another (Gentoo bug #?)
- - you can only upgrade to a different version of the same package
- - updated sbin/webapp-config
-
-14th June 2004
---------------
-
- * bug fix: fn_add_contents() didn't cope with files and directories that
- contained spaces (Gentoo bug #53215)
- - updated sbin/webapp-config
- - thanks to Sven Wegener for the fix
-
- * enhancement: internal file-type cache re-written to improve performance
- - also simplifies support for files & directories with spaces in the
- name
- - also makes XML metadata file support easier to add
- - updated sbin/webapp-config
-
-13th June 2004
---------------
-
- * bug fix: files always copied, never hard-linked (Gentoo bug #53809)
- - fixed in sbin/webapp-config
- - thanks to Sven Wegener for the bug report & fix
-
- * bug fix: --help broke (Gentoo bug #53794)
- - fixed in sbin/webapp-config
- - thanks to Sven Wegener for the bug report & fix
-
- * bug fix: config-owned / server-owned files always installed as virtual
- (Gentoo bug #53806)
- - fixed in sbin/webapp-config
- - fixed in eclass/webapp.eclass
- - thanks to Sven Wegener for the bug report once more!
-
-11th June 2004
---------------
-
- * bug fix: the examples for webapp-config -I used -d with full directory
- paths (Gentoo bug #52888)
- - updated doc/webapp-config.8.xml
-
-Version 1.10 - Released 11th June 2004
-======================================
-
-11th June 2004
---------------
-
- * bug fix: webapp-config needs to support installing files w/
- spaces in the name (Gentoo bug #53215)
- - wow - this needed fixing all over the place. Quite an eye-opener on
- just how many unquoted parameters were being used
- - updated sbin/webapp-config
- - updated lib/libsh.sh
- - updated eclass/webapp.eclass
- - updated lib/servers/apache-basic.sh
-
- * bug fix: webapp-config needs to set umask 0 when running
- (Gentoo bug #53390)
- - updated sbin/webapp-config
-
- * documentation improvement:
- - standardised on 'master copy' and 'virtual copy' as the terms to
- use to mean files under /usr/share/webapps and /var/www respectively
- - updated doc/webapp-config.8.xml
-
- * enhancement: hard linking now documented
- - updated doc/webapp-config.8.xml to cover --soft switch
- - updated doc/webapp-config.8.xml to explain how to get the most out
- of hard linking
-
- * enhancement: --secure switch to install into /var/www/<host>/htdocs-secure
- (Gentoo bug #53384)
- - updated doc/webapp-config.8.xml to list --secure switch
- - updated sbin/webapp-config to support --secure
- - updated config/webapp-config to support VHOST_HTDOCS_INSECURE and
- VHOST_HTDOCS_SECURE config options
- - updated doc/webapp-config.5.xml to document VHOST_HTDOCS_INSECURE and
- VHOST_HTDOCS_SECURE config options
-
-4th June 2004
--------------
-
- * enhancement: --bug-report now runs all mode-specific checks before
- quitting
-
- * enhancement: hard linking now supported
- - by default, webapp-config will now try to hard-link in a file, and
- will then try to copy the file if the hard link fails
-
- many users have found the use of symlinks confusing
- many users have objected to having cgi-bin's symlinked in
- some popular packages will not work when their files are symlinked
- rather than hard-linked
-
- softlinking now has to be explicitly asked for with a --soft switch
- (I'll make it so that this can also be set in the config file)
-
- - updated sbin/webapp-config
- - support hard-linking files by default
- - new --soft switch if you would prefer to use symlinks instead
- - TODO: update doc/webapp-config.8.xml to document new --soft option
-
- - updated config/webapp-config to add new VHOST_LINK_TYPE config variable
- - TODO: update doc/webapp-config.8.xml to add a new section discussing
- soft links vs hard links
-
-28th May 2004
--------------
-
- * version changed to 1.10dev
-
- * enhancement: checks to ensure that the config file matches the version
- of webapp-config
- - sanity checks to ensure that the user is not trying to use webapp-config
- with a broken config-file ... or an older config file that hasn't been
- updated when webapp-config was updated!
- - added WA_CONFIG_VERSION to config/webapp-config
- - added --check-config to sbin/webapp-config
- - updated sbin/webapp-config to always do --check-config
-
- * cosmetic: fatal error message is now prefixed with 'Fatal error: ' string
- to make it even more obvious what the problem is
- - updated lib/libsh.sh
-
-27th May 2004
--------------
-
- * bug fix: documentation errors
- - webapp_pkg_setup() was documented as preparing ${D} for ebuilds. This
- used to be the case, but is now done in webapp_pkg_preinst().
- - examples and documentation go into /usr/share/doc, not /usr/doc
- - updated doc/webapp.eclass.5.xml
-
-Version 1.9-r3 - 25th May 2004
-------------------------------
-
- * version change to 1.9-r3
- - updated sbin/webapp-config
-
- * enhancement: export more environment variables for the hook scripts
- - updated sbin/webapp-config to export a few VHOST_* variables
- - updated doc/webapp.eclass.5.xml to document the exported variables
-
-22nd May 2004
--------------
-
- * workaround: portage-2.0.51 does not call src_install() and pkg_postinst()
- inside the same shell instance
- - updated webapp.eclass to create an empty file during src_install(),
- and to look for that file at the start of pkg_postinst()
- * behaviour change: if you already have something in /var/www/localhost/$PN,
- webapp.eclass will now overwrite whatever is in there
- - requested after discussion on gentoo-core mailing list
-
-20th May 2004 (changes for webapp-config-1.10)
-----------------------------------------------
-
- * Work in progress: XML support
- - added xslt/to-bash.xsl: stylesheet for transforming contents of the
- XML metadata file into a set of bash function calls
- - next step is to implement the callback functions
- * Enhancement: use hard-linking if available
- - lots of updates to sbin/webapp-config to support hard-linking
- - we use hard-linking if we can, and fallback to symlinks if we
- cannot
- * Enhancement: support copying files instead of linking them
- - some apps (in particular some PHP-based ones) don't work correctly
- if they are symlinked in
- - updated sbin/webapp-config to support copying 'virtual' files rather
- than linking to them
- - update sbin/webapp-config to turn 'virtual' directories into real
- ones
- - update eclass/webapp.eclass to allow setting meta options on packages
- such as the new virtualise option
- - update doc/webapp.eclass.5.xml to document the new metadata
-
-Version 1.9-r2 - 19th May 2004
-==============================
-
-A bug fix release.
-
- * Version changed to 1.9-r2
- - updated sbin/webapp-config
-
- * Bug fix: fn_run_hooks() now makes sure that the script is executable
- before trying to execute it
- - updated sbin/webapp-config
-
-Version 1.9-r1 - 18th May 2004
-==============================
-
-A bug-fix release.
-
- * Version changed to 1.9-r1
- - updated sbin/webapp-config
-
- * Fix for fn_run_hooks() looking in the wrong place
- - updated sbin/webapp-config - now uses MY_HOOKSCRIPTSDIR rather
- than MY_HOOKSCRIPTDIRS
- - thanks to Sven Wegener <sven.wegener@stealer.net> for spotting
- this one
-
- * Fix for fn_run_hooks() not exporting an environment to the hook scripts
- - updated sbin/webapp-config - now exports a few variables which should
- help the people who need this
- - updated doc/webapp.eclass.5.xml to document the variables exported to
- the hook scripts
-
-Version 1.9 - 17th May 2004
-===========================
-
-17th May 2004
--------------
-
- * Version changed to 1.9
- - updated sbin/webapp-config
-
- * Enhancement: post-install (and pre-remove) script hook
- - you can supply a script that will be executed after the installation
- of a virtual copy, and immediately before the removal of a virtual copy
- - updated eclass/webapp.eclas - add new function webapp_hook_script()
- - updated config/webapp-config - add MY_HOOKSCRIPTSDIR variable
- - updated sbin/webapp-config - call webapp_hook_script post-install, and
- pre-clean
- - updated doc/webapp.eclass.5.xml - document webapp_hook_script()
-
- * Enhancement: you can now configure which user & group will own files
- that are not owned by the web server or the config user
- - because we install symlinks everywhere, this is something you have
- to configure before installing the master copy with emerge
- - updated config/webapp-config to include VHOST_DEFAULT_UID and
- VHOST_DEFAULT_GID
- - updated sbin/webapp-config to chown directories to VHOST_DEFAULT_UID:
- VHOST_DEFAULT_GID. Also all symlinks created by webapp-config will
- be owned by this uid/gid combo too
- - updated doc/webapp-config.5.xml to document VHOST_DEFAULT_UID and
- VHOST_DEFAULT_GID
- - updated eclass/webapp.eclass to chown files and directories to
- VHOST_CONFIG_UID and VHOST_CONFIG_GID
-
- * Work In Progress: xml configuration files
- - the plan is to replace the various metadata files in
- /usr/share/webapps/$PN/$PVR with a single metadata.xml. This will
- ease the transition to webapp-config v2, and give us new capabilities
- that we currently don't have
- - step 1 of this plan is to create some xsl stylesheets that we can
- apply to the metadata.xml. we'll feed these through xsltproc, and
- feed the output of that into webapp-config's internal metadata cache
- - step 2 of this plan is to create some xsl stylesheets that will allow
- us to add files and directories to metadata.xml
- - step 3 of this plan is to create some xsl stylesheets that will allow
- us to add metadata to metadata.xml
- - at this point, we'll have enough capabilities to replace webapp-config's
- metadata files with a single metadata.xml file ;-)
-
-14th May 2004
--------------
-
- * Enhancement: hook into pkg_prerm(), to remove all installed copies
- of the package that Portage is about to remove
- - requires a change to the contents of the .webapp file that lives
- in the install directory of virtual copies
- - we can't remove any virtual copies created by webapp-config-1.8 or
- less using this method. Maybe I should rethink how this will work?
- - updated sbin/webapp-config to include install host and directory
- in future .webapp files
- - updated eclass/webapp.eclass to look in the .webapp files, and if
- possible to remove all the virtual copies (not working yet!!)
-
- * Enhancement: webapp-config should never die() after verifying all params
- - this means that it *will* overwrite files not under it's control
- - added by popular request
- - updated sbin/webapp-config
-
- * Bug fix: webapp-config --list-installs only worked when used with
- wildcards
- - updated sbin/webapp-config
-
-13th May 2004
--------------
-
- * Bug fix: if installing into a directory that does NOT contain a webapp,
- output a warning and refuse to install
- - updated pkg_setup() in config/webapp.eclass
- * Bug fix: no longer delete the master copy directory when upgrading
- - updated webapp_getinstalltype() in config/webapp.eclass
- * Enhancement: if USE=-vhosts, packages are upgraded properly
- - old versions of the package are auto-removed
-
-12th May 2004
--------------
-
- * Enhancement: tell people what to do when USE=vhosts is on
- - updated eclass/webapp.eclass
-
- * Bug fix: webapp-config now allows you to set $MY_HTDOCSDIR to be
- server-owned or config-owned as necessary.
- - updated sbin/webapp-config
-
-11th May 2004
--------------
-
- * Version changed to 1.9dev
- - updated sbin/webapp-config
-
- * Enhancement: generate HTML versions of the man pages
- - updated doc/Makefile to build HTML as well as man pages
- - I would build PDF as well, but Gentoo's version of xmlto seems to be
- missing a dependency or two for that
-
- * Enhancement: drop-in webserver config support
- - packages (such as trac) that need to add configuration files for
- webservers can do so by calling the webapp_server_config() function
- in the ebuild.
- - updated eclass/webapp-config to add new webapp_server_config() function
- - updated doc/webapp.eclass.5.xml to document new function
-
-Version 1.8 - 11th May 2004
-===========================
-
-11th May 2004
--------------
-
- * Urgent bugfix - webapp-config -U broken
- - updated sbin/webapp-config to only call fn_setinstalldir when not
- upgrading
-
- * Added subversion tags for webapp-config 1.6 and webapp-config 1.7
-
- * Version updated to 1.8
-
-10th May 2004
--------------
-
- * Maintenance - ebuilds that use the webapp eclass now depend on
- webapp-config v1.7
- - updated eclass/webapp.eclass
-
-2nd May 2004
-------------
-
- * Enhancement - catch common ebuild problems in webapp.eclass
- - catches ebuilds that set SLOT themselves
- - catches ebuilds that do not call webapp_src_install()
-
-Version 1.7 - 1st May 2004
-==========================
-
-30th April 2004
----------------
-
- * Bug fix - directories were always installed as 'root-owned'
- - updated sbin/webapp-config
- - another feature broken by the ${D} changes in webapp-config-1.3
-
- * Enhancement - old packages are removed when USE-vhosts
- - portage wouldn't normally remove them, because the eclass SLOTs
- every installed package (deliberately)
- - updated eclass/webapp.eclass
-
-Version 1.6 - 29th April 2004
-=============================
-
-29th April 2004
----------------
-
- * Bug fix - correctly select install or upgrade mode when USE=-vhosts
- - updated webapp_pkg_postinst in eclass/webapp-config
-
- * Bug fix - install config files as files, not symlinks
- - updated eclass/webapp.config. This got broken when we changed how
- we used ${D} in webapp-config-1.3
-
- * Bug fix - install into /var/www/localhost when USE=-vhosts
- - grrr - I must be more careful when moving code between my machines
- - updated eclass/webapp.eclass to use the -h switch once more
-
- * Bug fix - examples/phpmyadmin* ebuilds did not call webapp_src_preinst
-
- * Bug fix - added missing uid and gids for Apache server
- - updated lib/servers/apache-basic.sh
-
- * Changed behaviour - -d is now relative from htdocs dir
- - requested by too many to count ;-)
- - updated sbin/webapp-config
- - updated doc/webapp-config.8.xml
- - updated config/webapp-config
- - updated eclass/webapp.eclass
- - updated lib/servers/apache-basic.sh
-
- * New feature - --show-postinst
- - requested by Rob Holland
- - re-displays the post-installation instructions for an installation
- - required changes to sbin/webapp-config
- - updated doc/webapp-config.8.xml to match
-
- * New feature - --pretend mode
- - shows where the install would occur, and then bails
- - updated sbin/webapp-config to make --pretend an alias for --bug-report
- - updated doc/webapp-config.8.xml
-
-Version 1.5 - 28th April 2004
-=============================
-
-28th April 2004
----------------
-
- * Bug fix - do not attempt to install cgi-bin's twice
- - updated lib/servers/apache-basic.sh to only install from htdocs
- and hostroot. The cgi-bin directory is under hostroot, and will
- always be installed when hostroot is installed
-
- * Eclass now requires webapp-config-1.5
- - the eclass is shipped as part of the Portage tree
-
-26th April 2004
----------------
-
- * Version change to 1.5dev
-
- * Bug fix - package upgrades work if you use USE=-vhost
- - updated sbin/webapp-config to add new --show-installed switch
- - updated eclass/webapp.eclass's pkg_postinst() function to detect
- a previously-installed copy of the package, and to change the
- flags to webapp-config appropriately
- - updated doc/webapp-config.8.xml to add new --show-installed switch
-
-Version 1.4 - Released 23rd April 2004
-======================================
-
- * Version change to 1.4
-
- * Bug fix - portage removes ${D} between a compile and an install
- - updated eclass/webapp.eclass - added new function webapp_src_preinst()
- to create the necessary directories in ${D}
- - updated doc/webapp.eclass.5.xml to cover webapp_src_preinst()
- - updated examples/phpmyadmin* to use webapp_src_preinst()
-
- * Bug fix - coping with ${D}
- - updated eclass/webapp.eclass so that webapp_checkfileexists() now
- uses $2 like it is supposed to
-
-Version 1.3 - Released 23rd April 2004
-======================================
-
-23rd April 2004
----------------
-
- * Version change to 1.3
-
- * Removed the automatic ${D} from variables defined in the config file
- - removed all trace of ${D} from config/webapp-config
- - updated eclass/webapp.eclass to prepend ${D} where necessary
- - updated examples/phpmyadmin-2.5.4-r1 to use ${D} where necessary
- - updated examples/phpmyadmin-2.5.4-r2 to use ${D} where necessary too
-
- * Another fix for USE=-vhosts
- - updated eclass/webapp.eclass to always install webapps into
- /var/www/localhost/htdocs; ie VHOST_HOSTNAME is ignored
-
- * Auto-install webapp-config support
- - updated eclass/webapp.eclass to DEPEND on net-www/webapp-config 1.3
- or later.
-
-Version 1.2 - Released 23rd April 2004
-======================================
-
-20th April 2004
----------------
-
- * Version change to 1.2
- - updated in sbin/webapp-config
-
- * Bug fix for webapp.eclass
- - moved the test for /etc/vhosts/webapp-config from the global scope
- into the pkg_setup function
-
- * Bug fix for webapp.eclass(5)
- - changed the SYNOPSIS from 'inherit webapp.eclass' to 'inherit eclass'
-
- * Improved output for fatal errors
- - updated sbin/webapp-config to always accurately trap when -d is missing
- from a -C operation
- - updated lib/libsh.sh to leave the user in no doubt whatsoever that
- the script has exited with a fatal error
-
- * Improved error handling for unusual cases
- - updated sbin/webapp-config to ensure that missing contents files and
- install databases are trapped and handled correctly
-
-Version 1.1 - Released 14th April 2004
-======================================
-
-14th April 2004
----------------
-
- * Released webapp-config 1.1
-
-13th April 2004
----------------
-
- * Completed webapp.eclass(5) man page. Not the best document I've ever
- written, but it is a start. Hopefully someone will submit patches or
- something to improve it.
-
- * Improved webapp.eclass, to match the documentation
- - now exports pkg_postinst(), rather than pkg_config() (doh!)
-
- * New support for post-installation instructions
- - new webapp_postinst_txt() in the eclass, which adds a text file
- containing post-install instructions
- - updated sbin/webapp-config to display any post-install instructions
- that exist
- - updated example ebuilds to support the new post-install instructions
- - this support will need reviewing; output the file to the screen at the
- end of the ebuild sucks a bit, tbh - but at least it's a start
-
- * Moved /var/cache/webapps to /var/db/webapps
- - /var/cache is for temporary files only
- - updated config/webapp-config
-
- * Support for NOT having the vhosts USE flag set didn't work. It does now.
- - fixed pkg_postinst() in eclass/webapp.eclass
-
-7th April 2004
---------------
-
- * Completed webapp-config(5) man page
-
-6th April 2004
---------------
-
- * Completed webapp-config(8) man page
-
- * Changed behaviour of install (-I mode)
-
- - updated sbin/webapp-config so that --virtual-files and --force-virtual
- have no effect on config files. They are always copied into the install
- directory.
-
-5th April 2004
---------------
-
- * The example phpmyadmin ebuild now SLOTs correctly (doh)
-
- * Changed the behaviour of upgrade (-U mode)
-
- - update sbin/webapp-config to only automatically overwrite all files
- that have never ever been changed. If the md5 is different, the
- file is config-protected instead.
- - timestamps are no longer used to decide whether upgrade can replace
- a file or not. Only the md5 is used. We still record timestamps
- in the contents file, but for the moment they are no longer used.
- - updated webapp-config.8.xml man page to match
-
- * Fixed a bug in upgrades (-U mode)
-
- - Loops that performed tests on parent directories became infinite loops
- if they were given absolute paths to examine. This has been fixed.
-
- * Man page gets ever closer to completion
-
- - finished the Protected Configuration Files section
- - added new Contents File section
-
-31st March 2004
----------------
-
- * Manual page for webapp-config(8) drafted
- * Added new -V switch (alias for --verbose)
-
-29th March 2004
----------------
-
- * Continuing work for new 'installs' file
-
- - updated eclass/webapp.eclass to create /var/cache/webapps/${PN}/${PVR}
- directory. This is where the 'installs' file will now live, so that
- /usr can be mounted read-only
- - updated config/webapp-config to look for the 'installs' file under
- the /var/cache/webapps/${PN}/${PVR} directory
- - updated sbin/webapp-config to look for the 'installs' file under
- the /var/cache/webapps/${PN}/${PVR} directory
- - added new 'libsh_file_isempty()' function to test whether a file
- is empty (zero length) or not
- - empty 'installs' files are now removed during webapp-config -C
- - I'm happy that --list-installs is now working as intended
-
- * Fixed --bug-report switch (it works now ;-)
-
-26th March 2004
----------------
-
- * Bug fix for --list-servers not working at all
-
- * Continuing work for new 'installs' file
-
- - added new switch --list-installs to webapp-config
-
- * Added new 'verbose' output mode. The idea is that, without this switch,
- as much output as possible should be fit to feed into other command-line
- programs.
-
- - added new global G_VERBOSE to webapp-config
- - added new --verbose switch to webapp-config
- - added libsh_everbose to lib/libsh.sh
-
-24th March 2004
----------------
-
- * Added support for new 'installs' file inside the master copy, for keeping
- track of the virtual installs that have been made
-
- - file is created, updated, and destroyed by webapp-config. We can't
- do this in the webapp.eclass, because Portage (correctly) will notice
- that it has been changed and won't remove it during an emerge -C.
- - added a new G_INSTALL_TIMESTAMP global to webapp-config, to tell us
- when an install was made
- - the fn_ws_install_verify() and fn_ws_clean_verify() now make sure that
- G_INSTALLDIR is an absolute path, even if the user passed it in as
- a relative path. We use the install path as the primary key inside
- our 'installs' file
- - added --list-installs to the help output. Function not implemented
- yet.
-
- * Updated webapp.eclass to install a webapp into $VHOSTS_ROOT when the
- 'vhosts' USE flag is NOT set. Previously the path was hard-coded.
-
- * Moved the default location of the webapp-config config file from
- /etc/conf.d to /etc/vhosts.
diff --git a/COPYING b/COPYING
deleted file mode 100644
index 5a965fb..0000000
--- a/COPYING
+++ /dev/null
@@ -1,280 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-\f
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 50c8a4d..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,463 +0,0 @@
-2007-09-12 Gunnar Wrobel <p@rdus.de>
-
- * sbin/webapp-cleaner:
-
- Merge fix from rl03 for #177775.
- http://bugs.gentoo.org/show_bug.cgi?id=177775
- svn merge -r51:52 branches/rl03/trunk/ trunk/
-
-2007-05-11 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/config.py (Config):
-
- Fixed the way the target directory for a portage install is set.
-
-
-2007-04-28 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/*.py:
-
- Support categories, support paludis. Allow absolute paths, fix
- config variable import, updated sandbox.
-
-2006-12-30 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/*.py:
-
- Fixed copyright years.
-
- * WebappConfig/content.py (Contents.get_canremove):
-
- Fixed doc testing for older get_canremove fix.
-
- * WebappConfig/ebuild.py (Ebuild.run_vars):
-
- Fixed doc testing for uid/gid fixes.
-
- * WebappConfig/config.py (Config.__init__, Config.get_perm):
-
- Fixed uid/gid BDS problems (bugs #104652 and #149939)
-
- Fixed type in get_perm (bug #133530)
-
- * WebappConfig/permissions.py (PermissionMap):
-
- Fixed permission map parsing (bug #146059)
-
- * WebappConfig/wrapper.py (package_installed):
-
- Added support for package.provided when detecting installed
- packages (bug #139965)
-
-2006-04-21 Gunnar Wrobel <p@rdus.de>
-
- * doc/webapp-config.8.xml: Added -D and -E description.
- Fixed upgrade instructions. Bug #129167
-
- * config/webapp-config (vhost_root): Added another
- vhost_root option.
- (vhost_hostname): Added cherokee.
-
- * doc/webapp-config.5.xml: Description of subdomain
- variables.
-
- * WebappConfig/server.py (Cherokee): Added cherokee
- support. Bug #129359
-
- * WebappConfig/config.py (Config.split_hostname):
- Added support for splitting hostnames into subdomains.
- Bug #126486
-
- * WebappConfig/wrapper.py: Added types import.
- Bug #126534
-
-2006-03-06 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/version.py: Version bump to 1.50.13
-
- * WebappConfig/wrapper.py: Fix for the libdir
- problem (see bug #125156)
-
- * WebappConfig/sandbox.py (Sandbox.__init__): Second
- correction for the amd64 libdir problem.
-
- * WebappConfig/version.py: Version bump to 1.50.12
-
- * WebappConfig/wrapper.py: Added libdir retrieval for
- amd64
-
- * WebappConfig/sandbox.py (Sandbox.__init__): Added
- possible amd64 libdir fix
-
-2006-02-28 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/db.py (WebappSource.packageavail):
- Adapted to change in package_installed
-
- * WebappConfig/wrapper.py (package_installed):
- Fixed logic to allow for non-exact checks
-
- * WebappConfig/server.py (Basic.__init__): Added check
- for installed web server.
- (Basic.supported): Added package check.
-
-2006-01-30 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/db.py (WebappSource.get_source_files):
- Added array sorting.
- (WebappSource.get_source_directories):
- Added array sorting.
-
- * WebappConfig/ebuild.py (Ebuild.run_vars): Fixed
- pass-through of the server variable and modified
- the uid/gid extraction to result in readable names.
-
- * WebappConfig/server.py (Basic.install): Showing the
- instructions now includes the server argument.
-
-2006-01-29 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/config.py (Config.run): Both
- vhost_config_virtual_files and
- vhost_config_default_dirs were ignored. Fixed.
-
-2006-01-27 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/version.py: Version bump to 1.50.9
-
- * WebappConfig/server.py (Basic): Fixed
- behaviour for upgrades. Now shows upgrade instructions
-
- * WebappConfig/config.py (BashConfigParser.get):
- Fixed error message for a problematic configuration
- configuration file.
-
-2006-01-13 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py (Contents.get_canremove):
- Fix for recognizing config protected files
-
- * WebappConfig/worker.py (WebappAdd.mkfile):
- Fix for recognizing config protected files
-
- * WebappConfig/filetype.py (FileType.__init__): New
- return value: config-server-owned
-
- * WebappConfig/content.py (Contents.read): Allowing
- config-server-owned
-
- * WebappConfig/server.py (Basic.__init__): Setting
- server permissions for config-server-owned
-
- * WebappConfig/config.py (Config.create_permissions):
- Added permissions for config-server-owned
-
-2006-01-09 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/version.py: Releasing .7
-
- * doc/webapp-config.8.xml: Fixed documentation of
- "--list-installs". Ticket #37
-
- * WebappConfig/server.py (Basic.install): Adapted
- running hooks (necessary for ticket #40)
-
- * WebappConfig/ebuild.py (Ebuild.run_vars): Fixed
- VHOST_SERVER_UID (see ticket #40 -> www.vhost-tools.org)
-
-2006-01-05 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/worker.py (WebappAdd.mkfile): Fix to
- support broken symlinks.
-
-2006-01-04 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/db.py (WebappSource.reportpackageavail):
- Removed problematic doc tests.
-
- * WebappConfig/version.py: Version 1.50.5
-
- * WebappConfig/tests/testfiles: Fixed a number of empty
- directories that are not included by distutils.
-
- * WebappConfig/worker.py (WebappAdd): Fixed doctest for
- distutil changes.
-
- * WebappConfig/content.py (Contents.__init__): Added
- generic ignored file.
-
- * WebappConfig/dotconfig.py (DotConfig): Doctest fix.
-
- * ebuild/webapp-config-1.50.4.ebuild (src_test): Added
- testing function.
-
-2005-12-28 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py (Contents.read): Fixed a
- problem that I introduced with 1.50.3. The cleaning of
- the hostroot dir did not work anymore.
-
- * WebappConfig/version.py: Version 1.50.4
-
- * WebappConfig/db.py (WebappSource.get_source_files):
- Tried to fix the symlinking problem.
-
- * WebappConfig/config.py (Config.setinstalldir):
- Fixed trailing slashes for the installdir (bug #115765)
-
-2005-12-09 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py (Contents.write): Fixed
- handling of content file between upgrades.
-
-2005-12-07 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/config.py (Config.create_permissions):
- Removed "root" reference and modified group owner
- from "root" to config user gid. Unclear why the bash
- version used root here.
-
- * WebappConfig/server.py (Basic.set_server_user):
- Removed "root" reference.
-
-2005-11-30 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/ebuild.py (Ebuild.run_vars): Added
- MY_HOSTROOTDIR to the exported variables.
-
- Added doctests for the last two changes.
-
-2005-11-27 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/ebuild.py (Ebuild.run_hooks): Reverted
- hook logic. Stupid mistake. Thanks Renat!
-
-2005-11-07 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/db.py (AppHierarchy.list_locations):
- Improved handling of situations where the user only
- specifies the project name.
- (AppHierarchy.list_locations):
- Fixes for --listunsed which did not report unused
- packages.
-
- * WebappConfig/config.py (Config.run): Fixed call for
- list-installs
-
- * WebappConfig/server.py (Basic.upgrade): Added support
- for switching packages during upgrading
-
- * WebappConfig/config.py: Removed upgrade check, added
- warnings.
-
- * Many changes to remove --force-virtual support
-
-2005-11-06 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/server.py (Basic.install): Fixed
- creation of the root directory
-
- * WebappConfig/content.py (Contents.check_installdir):
- Moved check for the installation directory to a better
- place
-
- * WebappConfig/config.py: Fixed permission issues
-
- * WebappConfig/worker.py (WebappAdd.mkfile): Fixed
- messages while linking.
-
- * WebappConfig/config.py (Config.create_server):
- Fixed soft linking.
-
- * WebappConfig/protect.py: Fixed some bugs concerning
- the handling of config protected files.
-
- * WebappConfig/content.py (Contents.appdb): Fixed path
- to the content file. Patches upgrading.
-
- * WebappConfig/filetype.py: Fixed double slashes.
-
- * WebappConfig/server.py: Adapted to the new user/group
- handliing
-
- * WebappConfig/wrapper.py: Fixed import statement from
- gentoolkit
-
- * WebappConfig/config.py: Adapted to the new user/group
- handliing
-
- * WebappConfig/worker.py: Adapted to the new user/group
- handliing
-
- * WebappConfig/permissions.py: Added functions get_user and
- get_group to handle numerical uid's and gid's
-
- * doc/webapp-config.8.xml: Fixed instructions concerning
- numerical uid and gid
-
- * config/webapp-config: Removed fixmes concerning numerical
- uid and gid
-
-2005-11-05 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/permissions.py: Added the permission handler.
-
- * sbin/webapp-config: pylintification.
-
-2005-11-03 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py: Removed pretend check for file
- operations.
- (Contents.read): Incorrect check for relative flag fixed.
-
- * WebappConfig/config.py (Config.create_permissions):
- Incorrect permissions fixed.
-
- * WebappConfig/dotconfig.py (DotConfig.write): Added quotes
- that I forgot before
-
- * WebappConfig/db.py: Doctest fix.
- (WebappDB.add): Fixed handling of newlines in the "install"
- files
-
- * WebappConfig/content.py (Contents.add): Handling absoulte
- paths was incorrect. Fixed.
-
- * WebappConfig/worker.py: Fixed handling absolute paths.
-
- * WebappConfig/server.py (Basic.install): Fixed handling
- absolute paths.
-
- * WebappConfig/config.py (Config.run): Fixed creating the
- virtual install location.
-
-2005-11-02 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/db.py: Another doctest fix.
-
- * WebappConfig/worker.py: Fixing doctests.
-
- * WebappConfig/content.py: Fixed doctests.
-
- * WebappConfig/db.py: Fixed doctests.
-
- * WebappConfig/ebuild.py: Fixed doctests.
-
- * WebappConfig/debug.py: Added support for debugging class
- variables, extended status message function (not needed
- by w-c)
-
-2005-11-01 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/version.py: Version 1.22
-
- * WebappConfig/config.py: Pretending to install and clean
- runs through now but still has bugs.
-
- * WebappConfig/server.py: Pretending to install and clean
- runs through now but still has bugs.
-
- * WebappConfig/worker.py
- (WebappRemove.remove_dirs)
- (WebappRemove.remove_files):
- Fixed return value (anything left behind)
-
- * WebappConfig/dotconfig.py (DotConfig.__getitem__): Added
- function to retrieve red values.
-
- * WebappConfig/server.py: Adapted to the new source
- organization.
-
- * WebappConfig/config.py: Adapted to the new source
- organization.
-
-2005-10-31 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py (Contents.add): Fixed action
- when pretending.
- (Contents.kill): Added function to remove the content file.
-
- * WebappConfig/db.py (WebappSource): Added some debugging
- statements.
-
- * WebappConfig/worker.py: Final structure. Doctests added.
- One left.
- (WebappAdd): Finished doc tests. Fixed class. => Completed.
-
- * WebappConfig/content.py: Fixed variable typo.
-
- * WebappConfig/db.py
- (WebappSource.source_exists):
- (WebappSource.get_source_directories):
- (WebappSource.get_source_files):
- Added functions.
-
- (WebappSource.read):
- Added support for filetypes from whithin the source handler.
-
- * WebappConfig/worker.py: Splitted the worker in adding and
- removing. Nearly finished doctesting.
-
-2005-10-30 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py: Finished doctesting the module.
-
-2005-10-29 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/tests/testfiles: Added a number of test
- files for the doc tests.
-
- * WebappConfig/content.py: Handler for the contents
- file (split from worker.py)
-
- * WebappConfig/db.py: Moved functions for package
- availability into the Webapps handler
-
- * WebappConfig/protect.py: Handler for config protected
- files (split from worker.py)
-
- * WebappConfig/dotconfig.py: Handler for the dotConfig file
- in virtual install locations (split from worker.py/config.py)
-
- * WebappConfig/ebuild.py: Handler for the ebuild postinstall
- files and script hooks. (split from worker.py)
-
-2005-10-28 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/content.py: Handler for the contents of
- a virtual install. (split from worker.py)
-
- * WebappConfig/db.py: Handler for /var/db/webapps and
- /usr/share/webapps (split from worker.py)
-
- * WebappConfig/filetype.py: Handler for different file types.
- (split from worker.py)
-
- * WebappConfig/worker.py: Splitting file.
-
- * WebappConfig/wrapper.py: Fixed for debug.py
-
- * WebappConfig/server.py: Fixed for debug.py
-
- * WebappConfig/debug.py: Renamed util.py to debug.py
- and incorporated updates from other project.
-
- * WebappConfig/tests/testfiles: Added a number of test
- files for the doc tests.
-
- * BUGS.txt: Added file (r45:47)
-
- * TODO.txt: Merged in revision (r45:47)
-
-2005-10-27 Gunnar Wrobel <p@rdus.de>
-
- * WebappConfig/config.py: Merged revisions (r41:42)
-
- * WebappConfig/worker.py: Merged revisions (r37:41)
-
- * TODO.txt: Merged TODO items (r36:37)
-
- * ChangeLog: Added personal changelog to keep a record on this
- branch.
-
- * branch/gunnar: Created separate branch based on revision 36.
diff --git a/HACKING b/HACKING
deleted file mode 100644
index c4b56a6..0000000
--- a/HACKING
+++ /dev/null
@@ -1,28 +0,0 @@
-===============================
-webapp-config DEVELOPMENT NOTES
-===============================
-
-:Last update: $Date$
-:Revision: $Revision$
-:Contact: web-apps@gentoo.org
-
-Changes
--------
-
-Versions
---------
-
-Authors
--------
-
-Release management
-------------------
-
-Branches
---------
-
-Documentation
--------------
-
-Project pages
--------------
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index eff72bb..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,22 +0,0 @@
-==================================
-webapp-config INSTALL instructions
-==================================
-
-:Last update: $Date$
-:Revision: $Revision$
-:Contact: web-apps@gentoo.org
-
-Obtaining the software
-----------------------
-
-Prerequisites
--------------
-
-Installing the software
------------------------
-
-Configuring the software
-------------------------
-
-Obtaining support
------------------
diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 06ab77a..0000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,15 +0,0 @@
-include config/*
-include doc/*
-include eclass/*
-include examples/*
-include xslt/*
-include AUTHORS
-include ChangeLog
-include CHANGES
-include COPYING
-include HACKING
-include INSTALL
-include README
-include RELEASE_NOTES
-include TODO
-recursive-include WebappConfig/tests *
diff --git a/README b/README
deleted file mode 100644
index 8bd52ca..0000000
--- a/README
+++ /dev/null
@@ -1,17 +0,0 @@
-======
-README
-======
-
-:Last update: $Date$
-:Revision: $Revision$
-:Contact: web-apps@gentoo.org
-
-
-About
------
-
-Links
------
-
-File description
-----------------
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
deleted file mode 100644
index 69abbe4..0000000
--- a/RELEASE_NOTES
+++ /dev/null
@@ -1,30 +0,0 @@
-Version 1.50.19 - Released
-=========================================
-
-FULL CHANGES
-------------
-
-
-SHORT CHANGES
--------------
-
-
-FRESHMEAT
-=========
-
-# Release focus. Possible values:
-# 0 - N/A
-# 1 - Initial freshmeat announcement
-# 2 - Documentation
-# 3 - Code cleanup
-# 4 - Minor feature enhancements
-# 5 - Major feature enhancements
-# 6 - Minor bugfixes
-# 7 - Major bugfixes
-# 8 - Minor security fixes
-# 9 - Major security fixes
-
-focus:
-name:
-project:
-branch:
diff --git a/TODO b/TODO
deleted file mode 100644
index 5ad91eb..0000000
--- a/TODO
+++ /dev/null
@@ -1,41 +0,0 @@
-=======================
-webapp-config TODO List
-=======================
-
-:Last update: $Date$
-:Revision: $Revision$
-:Contact: web-apps@gentoo.org
-
-Open bugs
----------
-
-
-Required enhancements
----------------------
-
-1.50.19
-
-Update the CHANGES file.
-Check the freshmeat project site.
-Check the sourceforge project site.
-Check the Ohloh project site
-Complete the README file.
-Complete the INSTALL file.
-Complete the HACKING file.
-Get a common file header for the code files.
-
-Plans
------
-
-Three RSS feeds: commits, devnotes, announcements
-
-
-Deferred For webapp-config-v2
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- * sqlite database for contents db?
- * enhancement: introduce metadata.xml support
- * vhost-config support
- * support for multiple webapps installed into the same directory
- (Gentoo Bug #56364)
-
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index aaace8a..0000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# webapp-config/doc/Makefile
-# Simple Makefile to rebuild the documentation from the
-# docbook XML sources
-#
-# Part of the webapp-config package
-#
-# Copyright (c) 1999-2005 Gentoo Foundation
-# Released under v2 of the GNU GPL
-#
-# Author(s) Stuart Herbert <stuart@gentoo.org>
-# Renat Lumpau <rl03@gentoo.org>
-# Gunnar Wrobel <php@gunnarwrobel.de>
-#
-# ========================================================================
-
-MAN_PAGES = webapp-config.8 webapp-config.5 webapp.eclass.5
-HTML_PAGES = webapp-config.8.html webapp-config.5.html webapp.eclass.5.html
-
-TMPFILE=./webapp-config.man
-
-all: man html
-
-html: $(HTML_PAGES)
-
-man: $(MAN_PAGES)
-
-clean:
- rm -f $(MAN_PAGES)
- rm -f $(HTML_PAGES)
-
-%.html: %.xml
- @echo HTML $@
- @xmlto html-nochunks $<
-
-%: %.xml
- @echo MAN $@
- @xmlto man $<
-#
-# fix up the blank lines that docbook leaves behind
-#
- @cat $@ | sed -e 's/$$/.fred/g;' | tr -d '\n' | sed -e 's/.fred.fred\./.fred./g;' | sed -e 's/.fred/\n/g;' > $(TMPFILE)
- @mv $(TMPFILE) $@
diff --git a/doc/webapp-config.5.xml b/doc/webapp-config.5.xml
deleted file mode 100644
index 49de978..0000000
--- a/doc/webapp-config.5.xml
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-<article>
- <articleinfo>
- <title>webapp-config</title>
-
- <authorgroup>
- <author>
- <firstname>Stuart</firstname>
- <surname>Herbert</surname>
- <affiliation>
- <address><email>stuart@gentoo.org</email></address>
- <address><email>stuart@gnqs.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Renat</firstname>
- <surname>Lumpau</surname>
- <affiliation>
- <address><email>rl03@gentoo.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Gunnar</firstname>
- <surname>Wrobel</surname>
- <affiliation>
- <address><email>php@gunnarwrobel.de</email></address>
- </affiliation>
- </author>
- </authorgroup>
-
- <copyright>
- <year>2003-2005</year>
- <holder>Stuart Herbert</holder>
- <holder>Renat Lumpau</holder>
- <holder>Gunnar Wrobel</holder>
- </copyright>
-
- </articleinfo>
-
- <section>
- <title>Reference</title>
-
- <refentry>
- <refentryinfo>
- <title>webapp-config</title>
- <date>November 2005</date>
- <productname>Gentoo Linux</productname>
- </refentryinfo>
- <refmeta>
- <refentrytitle>webapp-config</refentrytitle>
- <manvolnum>5</manvolnum>
- </refmeta>
- <refnamediv>
- <refname>webapp-config</refname>
- <refpurpose>Configuration file for the <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry> tool</refpurpose>
- </refnamediv>
- <refsynopsisdiv>
- <cmdsynopsis><command>/etc/vhosts/webapp-config</command></cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
- <para><filename>/etc/vhosts/webapp-config</filename> contains the default settings for the <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry> installer tool.</para>
- </refsect1>
-
- <refsect1>
- <title>Settings</title>
- <variablelist>
- <varlistentry>
- <term>vhost_root</term>
- <listitem>
- <para>Directory which holds the <filename>htdocs</filename> directory for your website.</para>
- <para>By default, all websites are <filename>/var/www/<replaceable>fqdn</replaceable></filename>, where <replaceable>fqdn</replaceable> is the full hostname of the website (e.g. www.gentoo.org). If you are putting your websites somewhere else, you must update vhost_root to suit.</para>
- <para>You can use the value of <userinput>vhost_hostname</userinput> in your definition of <userinput>vhost_root</userinput>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_hostname</term>
- <listitem>
- <para>Default value when <command>webapp-config</command>'s <option>-h</option> switch hasn't been used.</para>
- <para>By default, this is set to the full hostname of your computer. If this hasn't been set correctly, then this is set to <userinput>localhost</userinput> instead.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_subdomain_{1,2,3...}</term>
- <listitem>
- <para>The value of <userinput>vhost_hostname</userinput>
- is splitted at each dot and the resulting domain name
- parts are stored in sequentially
- numbered <userinput>vhost_subdomain_N</userinput>
- variables (e.g. <userinput>www.test.org</userinput>
- results
- in <userinput>vhost_subdomain_1</userinput>=org, <userinput>vhost_subdomain_2</userinput>=test,
- etc.).
- </para>
- <para>
- You may not set these variables yourself since they
- are generated internally
- by <command>webapp-config</command>. But you can use
- them within the configuration file. So if you want to
- have fine grained control over the location the web
- applications get installed, you can
- set <userinput>vhost_root</userinput>="/var/www/${vhost_subdomain_1}/${vhost_subdomain_2}/${vhost_subdomain_3}"
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_server</term>
- <listitem>
- <para>Default value when <command>webapp-config</command>'s <option>-s</option> switch hasn't been used.</para>
- <para>By default, this is set to <userinput>apache</userinput>, which is the webserver that most people use.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_config_uid</term>
- <listitem>
- <para>Default value when <command>webapp-config</command>'s <option>-u</option> switch hasn't been used.</para>
- <para>By default, this is set to the username of the user who is running <command>webapp-config</command>. At the time of writing, <command>webapp-config</command> only works for the <userinput>root</userinput> user, because only the <userinput>root</userinput> user is allowed to change the ownership of files and directories on disk.</para>
- <para>This can be <emphasis>either</emphasis> the name of a user or their numerical user id.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_config_gid</term>
- <listitem>
- <para>Default value when <command>webapp-config</command>'s <option>-g</option> switch hasn't been used.</para>
- <para>By default, this is set to the primary group of the user who is running <command>webapp-config</command>.</para>
- <para>This can be <emphasis>either</emphasis> the name of a group or their numerical group id.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_config_virtual_files</term>
- <listitem>
- <para>Default value when <command>webapp-config</command>'s <option>--virtual-files</option> switch hasn't been used.</para>
- <para>By default, files which can be shared are hardlinked in. The <glossterm>virtual install</glossterm> does not get a local copy of the file, which normally prevents the web server or non-root users from editing the file.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_default_uid</term>
- <listitem>
- <para>Default user to own all files and directories that aren't server-owned or config-owned.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_default_gid</term>
- <listitem>
- <para>Default group to own all files and directories that aren't server-owned or config-owned.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_htdocs_insecure</term>
- <term>vhost_htdocs_secure</term>
- <listitem>
- <para>Default values for the basename of the DocumentRoot.</para>
- <para><command>webapp-config</command> installs into <filename>vhost_root/vhost_htdocs_insecure</filename> by default. If you use the <option>--secure</option> switch, <command>webapp-config</command> installs into <filename>vhost_root/vhost_htdocs_secure</filename> instead.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_perms_serverowned_dir</term>
- <term>vhost_perms_serverowned_file</term>
- <listitem>
- <para>Default filesystem permissions for directories and files that are installed as 'server-owned'.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_perms_configowned_dir</term>
- <term>vhost_perms_configowned_file</term>
- <listitem>
- <para>Default filesystem permissions for directories and files that are installed as 'config-owned'.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_perms_defaultowned_dir</term>
- <listitem>
- <para>Default filesystem permissions for directories that are installed as 'default-owned'. Note that it is not possible to install files that are 'default-owned'.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_perms_virtual_dir</term>
- <term>vhost_perms_virtual_file</term>
- <listitem>
- <para>Default filesystem permissions for directories and files that are installed as 'virtual'.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vhost_perms_installdir</term>
- <listitem>
- <para>Default filesystem permissions for the directory that <command>webapp-config</command> installs the package into.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry><refentrytitle>webapp.eclass</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry></para>
- <para><command>webapp-config</command> is based on the design for an installer for web-based applications first defined in <ulink url="http://www.gentoo.org/proj/en/glep/glep-0011.html">GLEP #11</ulink> for the Gentoo Linux project.</para>
- </refsect1>
- </refentry>
- </section>
-</article>
diff --git a/doc/webapp-config.8.xml b/doc/webapp-config.8.xml
deleted file mode 100644
index e51e172..0000000
--- a/doc/webapp-config.8.xml
+++ /dev/null
@@ -1,573 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-<article>
- <articleinfo>
- <title>webapp-config</title>
-
- <authorgroup>
- <author>
- <firstname>Stuart</firstname>
- <surname>Herbert</surname>
- <affiliation>
- <address><email>stuart@gentoo.org</email></address>
- <address><email>stuart@gnqs.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Renat</firstname>
- <surname>Lumpau</surname>
- <affiliation>
- <address><email>rl03@gentoo.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Gunnar</firstname>
- <surname>Wrobel</surname>
- <affiliation>
- <address><email>php@gunnarwrobel.de</email></address>
- </affiliation>
- </author>
- </authorgroup>
-
- <copyright>
- <year>2003-2005</year>
- <holder>Stuart Herbert</holder>
- <holder>Renat Lumpau</holder>
- <holder>Gunnar Wrobel</holder>
- </copyright>
- </articleinfo>
-
- <section>
- <title>Reference</title>
-
- <refentry>
- <refentryinfo>
- <title>webapp-config</title>
- <date>November 2005</date>
- <productname>Gentoo Linux</productname>
- </refentryinfo>
- <refmeta>
- <refentrytitle>webapp-config</refentrytitle>
- <manvolnum>8</manvolnum>
- </refmeta>
- <refnamediv>
- <refname>webapp-config</refname>
- <refpurpose>manage installs of web-based applications for virtual hosting</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="opt">
- <option>--bug-report</option>
- </arg>
- <arg choice="plain">
- <option>-I</option>
- </arg>
- <arg choice="opt">
- <option>-dghusDE</option>
- <option>--soft</option>
- <option>--secure</option>
- </arg>
- <arg choice="req">
- <replaceable>app-name</replaceable>
- </arg>
- <arg choice="req">
- <replaceable>app-version</replaceable>
- </arg>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="opt">
- <option>--bug-report</option>
- </arg>
- <arg choice="plain">
- <option>-U</option>
- </arg>
- <arg choice="opt">
- <option>-dghusDE</option>
- </arg>
- <arg choice="req">
- <replaceable>app-name</replaceable>
- </arg>
- <arg choice="req">
- <replaceable>app-version</replaceable>
- </arg>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="opt">
- <option>--bug-report</option>
- </arg>
- <arg choice="plain">
- <option>-C</option>
- </arg>
- <arg choice="req">
- <option>-d</option>
- <replaceable>directory</replaceable>
- </arg>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="plain">
- <option>--list-installs</option>
- </arg>
- <group choice="opt">
- <arg>
- <replaceable>app-name</replaceable>
- </arg>
- </group>
- <group choice="opt">
- <arg>
- <replaceable>app-version</replaceable>
- </arg>
- </group>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="plain">
- <option>--list-unused-installs</option>
- </arg>
- <group choice="opt">
- <arg>
- <replaceable>app-name</replaceable>
- </arg>
- </group>
- <group choice="opt">
- <arg>
- <replaceable>app-version</replaceable>
- </arg>
- </group>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="plain">
- <option>--show-installed</option>
- </arg>
- <group choice="opt">
- <arg>
- <option>-d</option>
- <replaceable>directory</replaceable>
- </arg>
- </group>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <arg choice="plain">
- <option>--show-postinst</option>
- </arg>
- <arg choice="plain">
- <replaceable>app-name</replaceable>
- </arg>
- <arg choice="plain">
- <replaceable>app-version</replaceable>
- </arg>
- </cmdsynopsis>
-
- <cmdsynopsis>
- <command>webapp-config</command>
- <group choice="plain">
- <arg>--list-servers</arg>
- <arg>-v</arg>
- <arg>--version</arg>
- <arg>-h</arg>
- <arg>--help</arg>
- </group>
- </cmdsynopsis>
-
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
- <para><command>webapp-config</command> is a powerful tool that allows you to install, upgrade, and remove web-based applications in a virtual-hosting environment.</para>
- </refsect1>
-
- <refsect1>
- <title>Web-Based Applications And Virtual Hosts</title>
- <para><command>webapp-config</command> is aimed at providing the package management functionality that you need if you are running multiple web sites off of the same computer (<glossterm>virtual hosting</glossterm>).</para>
- <refsect2>
- <title>Two-Stage Install</title>
- <para>Package managers such as <command>rpm</command> and <command>emerge</command> are designed to install one copy of a package, and to install it onto one fixed location. This conflicts with the needs of a virtual hosting environment, where you need to be able to install a package in multiple places, so that it can be part of more than just the one website. But package managers are essential for maintaining a computer over time - so how can we have both?</para>
- <para>The answer is a two-stage install. The traditional package manager installs a <glossterm>master copy</glossterm> into <filename>/usr/share/webapps/</filename>. This <glossterm>master copy</glossterm> isn't fit to run - but it is ready to then be used by <command>webapp-config</command> to install the package multiple times in multiple places.</para>
- </refsect2>
-
- <refsect2>
- <title>Multiple Installations Of The Same Package</title>
- <para><command>webapp-config</command> allows you to install multiple copies of the same package on the same computer at the same time. You choose which directory to install each separate copy into.</para>
- <para>We call these multiple installations "<glossterm>virtual copies</glossterm>".</para>
- <para>You can also have different versions of the same package installed at the same time. This allows you to gradually roll out a new version of a package across your sites; you are not forced to upgrade every single website at once.</para>
- <para><command>webapp-config</command> minimises the number of duplicated files to the absolute minimum possible, to keep disk space usage low. The majority of files are hard linked to the master copy; only configuration files, and any files that the package needs to write to, are copied into the virtual copy.</para>
- </refsect2>
-
- <refsect2>
- <title>File Ownership And Permissions</title>
- <para>If you are used to installing web-based applications by hand, you'll appreciate that it can be a pain to get every file owned by the correct user, and with the correct permissions. Some files need to be owned by the user that the webserver runs as. Others need to be owned by specific shell accounts, so that those users can login and edit the configuration files. If your Linux distribution offers you a choice of web servers - each running under a different user - even the installers can struggle to get it right.</para>
- <para>With <command>webapp-config</command>, you tell the installer which web server you are going to be using, and which shell account needs to be able to edit the configuration files. <command>webapp-config</command> then installs your files with the correct ownership and permissions.</para>
- </refsect2>
-
- <refsect2>
- <title>Protected Configuration Files</title>
- <para><command>webapp-config</command> automatically ensures that your configuration files are never overwritten during an upgrade - even if you have not edited the files at all. Additionally, <command>webapp-config</command> will never overwrite any file that it did not install, or that has been changed since it was installed by <command>webapp-config</command>. <command>webapp-config</command> uses md5 checksums to determine whether a file has been changed or not. In the case of symbolic links, <command>webapp-config</command> will not replace a symlink that points to a different file.</para>
- <para>When an upgrade does attempt to overwrite a protected file, <command>webapp-config</command> creates a ._cfg file with the new file inside. You can use <command>etc-update</command> to complete the install, just as you would with the regular <command>emerge</command>.</para>
- </refsect2>
-
- <refsect2>
- <title>Hard Linking vs Soft Linking</title>
- <para>A <glossterm>virtual copy</glossterm> is built mostly by creating hard links to files under <filename>/usr/share/webapps</filename>. If a hard link cannot be created, the file is copied from <filename>/usr/share/webapps</filename> instead.</para>
- <para>Hard links can only be created to files on the same filesystem. If you keep <filename>/usr/share/webapps</filename> and <filename>/var/www</filename> on different filesystems, <command>webapp-config</command> cannot use hard links, and will be forced to copy the files instead.</para>
- <para>There are two ways to get around the hard link problem.</para>
- <para>The easiest way is to make <filename>/usr/share/webapps</filename> a symlink to a directory under <filename>/var/www</filename>. For most people, this will ensure that everything is on the same filesystem.</para>
- <para>However, if you keep the websites you host on separate filesystems (like I do), then <command>webapp-config</command> is never going to be able to hard-link files for you.</para>
- <para>You can choose to use the <option>--soft</option> command-line switch instead. This switch tells <command>webapp-config</command> to create symbolic links instead of hard links. Symbolic links work across filesystems.</para>
- <para>The problem with using symbolic links is that some packages do not work when the virtual copy is made from symbolic links. Many users - and system administrators alas - have also complained that they find directories full of symbolic links confusing. For these reasons, symbolic links are not used by default in <command>webapp-config</command> any more.</para>
- </refsect2>
-
- <refsect2>
- <title>Virtual File Voodoo</title>
- <para>By default, the <glossterm>master copy</glossterm> contains the metadata that decides which files get linked into a <glossterm>virtual copy</glossterm> and which files do not. Files are either owned by the web server (server-owned), are configuration files (config-owned), or are linked in (virtual). Directories can be server-ownedor config-owned, but most of the time they need to be just plain directories (default-owned) created inside the installation directory (set with the <option>-d</option> switch). <command>webapp-config</command> provides a number of switches which allows you to override the <glossterm>master copy</glossterm>'s metadata - if you ever find that you need to.</para>
- <para>The <option>--default-dirs</option> and <option>--virtual-files</option> switches allow you to decide what <command>webapp-config</command> will do if (respectively) a directory or a file is marked as being default or virtual. You can tell <command>webapp-config</command> to make the directory or file any of the other choices - server-owned or config-owned - instead.</para>
- </refsect2>
- <refsect2>
- <title>${ROOT}</title>
- <para>This version of webapp-config is intended to fully support ${ROOT}. If you are unsure what that means, consult <citerefentry><refentrytitle>emerge</refentrytitle><manvolnum>1</manvolnum></citerefentry></para>
- </refsect2>
- </refsect1>
-
- <refsect1>
- <title>Actions</title>
- <variablelist>
- <varlistentry>
- <term><option>-I</option></term>
- <term><option>--install</option></term>
- <listitem>
- <para>Activate <emphasis>install mode</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-U</option></term>
- <term><option>--upgrade</option></term>
- <listitem>
- <para>Activate <emphasis>upgrade mode</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-C</option></term>
- <term><option>--clean</option></term>
- <listitem>
- <para>Activate <emphasis>remove mode</emphasis>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--list-installs</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <term><option>--li</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <listitem>
- <para>Outputs a list of all the virtual copies of the <replaceable>app-name</replaceable>-<replaceable>app-version</replaceable> package.</para>
- <para>If you omit <replaceable>app-name</replaceable> or <replaceable>app-version</replaceable> webapp-config will display all available packages/versions.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--list-unused-installs</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <term><option>--lui</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <listitem>
- <para>Outputs a list of all the master copies of the <replaceable>app-name</replaceable>-<replaceable>app-version</replaceable> package that have not been installed using <command>webapp-config</command> <option>-I</option>.</para>
- <para>Both <replaceable>app-name</replaceable> or <replaceable>app-version</replaceable> can be <emphasis>*</emphasis> to search for multiple packages or versions.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--show-installed</option></term>
- <term><option>--si</option></term>
- <listitem>
- <para>Outputs the app-name and app-version of the application installed in <replaceable>directory</replaceable>.</para>
- <para>Use the <option>-d</option> switch to tell <command>webapp-config</command> which <replaceable>directory</replaceable> to look in. <replaceable>directory</replaceable> is a directory under the htdocs dir.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--show-postinst</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <term><option>--spi</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <listitem>
- <para>Displays the post-installation instructions of the <replaceable>app-name</replaceable>-<replaceable>app-version</replaceable> package. Very handy if you didn't see them displayed when the package was installed.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--show-postupgrade</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <term><option>--spu</option> <replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <listitem>
- <para>Displays the post-upgrade instructions of the <replaceable>app-name</replaceable>-<replaceable>app-version</replaceable> package. Very handy if you didn't see them displayed when the package was upgraded.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--list-servers</option></term>
- <term><option>--ls</option></term>
- <listitem>
- <para>Outputs a list of the web servers that <command>webapp-config</command> currently supports.</para>
- <para>Use the <option>-s</option> <replaceable>server</replaceable> switch to change which web-server an install or upgrade should use.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-?</option></term>
- <term><option>--help</option></term>
- <listitem>
- <para>Provide a list of supported switches. Also lists all the default values for each switch.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-v</option></term>
- <term><option>--version</option></term>
- <listitem>
- <para>Displays the current version number of <command>webapp-config</command></para>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Options</title>
- <para>List of the remaining switches that <command>webapp-config</command> accepts. To see the default values that <command>webapp-config</command> will use when a switch is omitted, use <userinput>webapp-config --help</userinput>.</para>
- <variablelist>
- <varlistentry>
- <term><replaceable>app-name</replaceable> <replaceable>app-version</replaceable></term>
- <listitem>
- <para>Together, these two parameters tell <command>webapp-config</command> which package to install (<option>-I</option> mode), upgrade to (<option>-U</option> mode), or to search for (<option>--list-installs</option> mode).</para>
- <para>They must be the last two parameters passed to <command>webapp-config</command>.</para>
- <para>These parameters are not optional.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--bug-report</option></term>
- <term><option>--pretend</option></term>
- <term><option>-p</option></term>
- <listitem>
- <para>Provide output to include inside a bug-report.</para>
- <para>Use this switch if you're having problems with the install (<option>-I</option> mode), upgrade (<option>-U</option> mode), or clean (<option>-C</option> mode) operations. Add this switch to the command-line that's not working, and make sure you paste the output into your bug report.</para>
- <para>If you need to use this switch, make sure it's the first switch you use to call <command>webapp-config</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-s</option> <replaceable>server</replaceable></term>
- <term><option>--server</option> <replaceable>server</replaceable></term>
- <listitem>
- <para>Set which web-server to install (<option>-I</option> mode) or upgrade (<option>-U</option> mode) for.</para>
- <para><command>webapp-config</command> needs to know which web server you are going to use to access your virtual copy. If you don't provide the correct switch, your virtual copy may not work correctly.</para>
- <para>Use <userinput>webapp-config --list-servers</userinput> to see a list of valid <replaceable>server</replaceable> settings.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-u</option> <replaceable>user</replaceable></term>
- <term><option>--user</option> <replaceable>user</replaceable></term>
- <listitem>
- <para>Set which user will own any installed configuration files.</para>
- <para>When <command>webapp-apache</command> creates a <glossterm>virtual copy</glossterm> (<option>-I</option> mode), the <glossterm>virtual copy</glossterm> creates <emphasis>local</emphasis> copies of any configuration files that the package needs to use. By using the <option>-u</option> switch, you can specify which <replaceable>user</replaceable> owns these configuration files.</para>
- <para>If you give shell accounts out to the users who host websites on your computer, the <option>-u</option> allows you to give ownership of the configuration file (and therefore write permission) to the shell account associated with the website.</para>
- <para><replaceable>user</replaceable> can be a username or a numerical user id.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-g</option> <replaceable>group</replaceable></term>
- <term><option>--group</option> <replaceable>group</replaceable></term>
- <listitem>
- <para>Set which group will own any installed configuration files.</para>
- <para>When <command>webapp-apache</command> creates a <glossterm>virtual copy</glossterm> (<option>-I</option> mode), the <glossterm>virtual copy</glossterm> creates <emphasis>local</emphasis> copies of any configuration files that the package needs to use. By using the <option>-g</option> switch, you can specify which <replaceable>group</replaceable> owns these configuration files.</para>
- <para>If you give shell accounts out to groups of users who host websites on your computer, the <option>-g</option> allows you to give ownership of the configuration file (and therefore write permission) to the group associated with the website.</para>
- <para><replaceable>group</replaceable> can be a group name or a numerical group id.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-d</option> <replaceable>directory</replaceable></term>
- <term><option>--dir</option> <replaceable>directory</replaceable></term>
- <listitem>
- <para>Specify where to create the virtual copy.</para>
- <para>The <command>webapp-config</command> tool allows you to create a virtual copy anywhere you want. You are no longer limited to installing a web-based app in /home/httpd/htdocs/<package-name>/! Simply use the <option>-d</option> switch to tell <command>webapp-config</command> where you want to create your virtual copy.</para>
- <para><replaceable>directory</replaceable> is a directory under your htdocs dir. If you do not set the <replaceable>hostname</replaceable> correctly (by using the <option>-h</option> switch), <command>webapp-config</command> will look under the wrong htdocs directory!</para>
- <para>This option is required by the <option>-C</option> switch.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-h</option> <replaceable>host</replaceable></term>
- <term><option>--host</option> <replaceable>host</replaceable></term>
- <listitem>
- <para>Specify the <glossterm>fully-qualified domain name</glossterm> of the virtual host.</para>
- <para>Some web-based applications - whether through genuine need or bad design - need to know the hostname of the website that they are part of.</para>
- <para>Some web-based applications need to install files (such as cgi scripts) that do not belong under the htdocs directory. To make sure that these files go in the right place, you need to use the <option>-h</option> switch to tell <command>webapp-config</command> the hostname of the website.</para>
- <para><replaceable>host</replaceable> must be a <glossterm>fully-qualified domain name</glossterm>.</para>
- <para>If you do not use the <option>-h</option> switch, your virtual copy may not work correctly.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-D</option> <replaceable>KEY=VALUE</replaceable></term>
- <term><option>--define</option> <replaceable>KEY=VALUE</replaceable></term>
- <listitem>
- <para>Define a configuration variable for <command>webapp-config</command>.</para>
- <para>
- Allows to name a <replaceable>KEY=VALUE</replaceable>
- pair that will be imported into the configuration
- variables of webapp-config. This allows you to provide
- customized variables which can be used in the
- configuration file. This can also be used to
- temporarily overwrite variables from the configuration
- file.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-E</option> <replaceable>variable name</replaceable></term>
- <term><option>--envvar</option> <replaceable>variable name</replaceable></term>
- <listitem>
- <para>Define an environment variable that will be picked up by <command>webapp-config</command>.</para>
- <para>
- Allows to name single environment variable that will
- be imported by webapp-config. This allows you to
- provide customized variables which can be used in the
- configuration file. This can also be used to
- temporarily overwrite variables from the configuration
- file.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--envall</option></term>
- <listitem>
- <para>Imports all environment variables into the configuration process of <command>webapp-config</command>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>-V</option></term>
- <term><option>--verbose</option></term>
- <listitem>
- <para>Use this option to increase the amount of output from the <option>--list-installs</option> switch.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--soft</option></term>
- <listitem>
- <para>Use this option to create the virtual copy using symbolic links instead of hard links.</para>
- <para>You may find this option useful if <filename>/usr/share/webapps</filename> is on a different filesystem to your htdocs directories. However, it has been discovered that some packages do not work with this option, which is why it is no longer the default behaviour. You are always better off making <filename>/usr/share/webapps</filename> a symlink to a directory on the same filesystem as your htdocs directories.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--secure</option></term>
- <listitem>
- <para>Use this option to install into the <filename>htdocs-secure</filename> directory rather than into the <filename>htdocs</filename> directory.</para>
- <para>This option is useful if you keep separate directories for your http: and https: sites.</para>
- <para>You can change 'htdocs-secure' by editing the config file <filename>/etc/vhosts/webapp-config</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--default-dirs</option> <replaceable>type</replaceable></term>
- <term><option>--vd</option> <replaceable>type</replaceable></term>
- <term><option>--virtual-files</option> <replaceable>type</replaceable></term>
- <term><option>--vf</option> <replaceable>type</replaceable></term>
- <listitem>
- <para><replaceable>type</replaceable> must be one of:</para>
- <variablelist>
- <varlistentry>
- <term>server-owned</term>
- <listitem>
- <para>Directories or files are owned by the user that the web server runs as. Use the <option>-s</option> switch to specify which web server to use.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>config-owned</term>
- <listitem>
- <para>Directories or files are owned by the user and group specified with the <option>-u</option> and <option>-g</option> switches.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>virtual</term>
- <listitem>
- <para>Directories or files are shared; no local copy is created.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
-
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Examples</title>
- <para>All of these examples are aimed at Gentoo Linux. If you are using <command>webapp-config</command> on a different Linux distribution, they may not work out of the box for you.</para>
- <refsect2>
- <title>Installing applications</title>
- <para>To install a copy of phpmyadmin-2.5.6, so that it is available from http://www.example.com/databases/admin/, you would do this:</para>
- <para><userinput>webapp-config -I -h www.example.com -d /databases/admin/ phpmyadmin 2.5.6</userinput></para>
- <para>To make sure that the shell account 'dbadmin' could edit the configuration files of phpmyadmin, you'd add the <option>-u</option> switch like this:</para>
- <para><userinput>webapp-config -I -h www.example.com -d /databases/admin -u dbadmin phpmyadmin 2.5.6</userinput></para>
- </refsect2>
- <refsect2>
- <title>Upgrading applications</title>
- <para>To upgrade the copy of phpmyadmin-2.5.6 to version 2.5.7, you would do this:</para>
- <para><userinput>webapp-config -U -d /databases/admin/ phpmyadmin 2.5.7</userinput></para>
- <para>To upgrade <emphasis>all</emphasis> the virtual copies of phpmyadmin-2.5.6, you would do this:</para>
- <para>
- <userinput>for x in `webapp-config --li phpmyadmin 2.5.6`;do . ${x}/.webapp && webapp-config -U -h ${WEB_HOSTNAME} -d ${WEB_INSTALLDIR} phpmyadmin 2.5.7; done</userinput>
- </para>
- </refsect2>
- <refsect2>
- <title>Removing applications</title>
- <para>To remove the copy of phpmyadmin-2.5.7, you would do this:</para>
- <para><userinput>webapp-config -C -h www.example.com -d /databases/admin/</userinput></para>
- <para>To remove <emphasis>all</emphasis> the virtual copies of phpmyadmin-2.5.7, you would do this:</para>
- <para>
- <userinput>for x in `webapp-config --li phpmyadmin 2.5.7`;do . ${x}/.webapp && webapp-config -C -h ${WEB_HOSTNAME} -d ${WEB_INSTALLDIR}; done</userinput>
- </para>
- </refsect2>
- </refsect1>
-
- <refsect1>
- <title>Files</title>
- <variablelist>
- <varlistentry>
- <term><filename>/etc/vhosts/webapp-config</filename></term>
- <listitem>
- <para>Configuration file, holding the defaults for <command>webapp-config</command></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>/var/db/webapps</filename></term>
- <listitem>
- <para>This directory tree holds information about the location of each virtual copy on the computer.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry><refentrytitle>webapp.eclass</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>emerge</refentrytitle><manvolnum>1</manvolnum></citerefentry></para>
- <para><command>webapp-config</command> is based on the design for an installer for web-based application installers first defined in <ulink url="http://www.gentoo.org/proj/en/glep/glep-0011.html">GLEP #11</ulink> for the Gentoo Linux project.</para>
- </refsect1>
- </refentry>
- </section>
-</article>
diff --git a/doc/webapp-eclass.xml b/doc/webapp-eclass.xml
deleted file mode 100644
index 569b353..0000000
--- a/doc/webapp-eclass.xml
+++ /dev/null
@@ -1,567 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/webapps/webapp-eclass.xml,v 1.3 2006/01/19 16:43:24 rl03 Exp $ -->
-
-<guide link="/proj/en/webapps/webapp-eclass.xml" lang="en">
-<title>webapp.eclass Documentation</title>
-
-<author title="Author">
- <mail link="rl03@gentoo.org">Renat Lumpau</mail>
-</author>
-
-<abstract>
-The goal of this guide is to teach the reader how to create and maintain ebuilds
-for web applications. It presents an overview of the webapp.eclass and then
-discusses three ebuilds of increasing complexity and functionality.
-</abstract>
-
-<!-- The content of this document is licensed under the CC-BY-SA license -->
-<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
-<license/>
-
-<version>1.0</version>
-<date>2006-01-17</date>
-
-<chapter>
-<title>Introduction</title>
-<section>
-<title>Background</title>
-<body>
-
-<p>
-<c>webapp.eclass</c> and <c>webapp-config</c> provide a standardized way to
-maintain web applications on Gentoo. Server administrators can use the
-<c>webapp-config</c> utility to install, upgrade, and remove software.
-<c>webapp-config</c> relies on a package manager such as Portage to prepare
-the application for installation into multiple virtual hosts. On Gentoo, this
-is done by an ebuild that uses <c>webapp.eclass</c>.
-</p>
-
-<p>
-The goal of this guide is to teach the reader how to create and maintain
-ebuilds for web applications. It presents an overview of the
-<c>webapp.eclass</c> and then discusses three ebuilds of increasing complexity
-and functionality. Using the <c>webapp-config</c> utility is beyond the scope
-of this guide and is documented in <c>man 8 webapp-config</c>.
-</p>
-
-</body>
-</section>
-<section>
-<title>Prerequisites</title>
-<body>
-
-<p>
-This guide assumes a basic familiarity with Portage and the ebuild format. Both
-are well-documented; the reader is encouraged to consult the <uri
-link="/proj/en/devrel/handbook/handbook.xml">official ebuild HOWTO</uri> and
-the unofficial <uri
-link="http://dev.gentoo.org/~plasmaroo/devmanual/">devmanual</uri>.
-</p>
-
-<p>
-<c>webapp-config</c> is under active development. Be sure to install the latest
-version; as of the time of this writing, it is 1.50.7. You can follow the
-development process on our <uri
-link="http://www.vhost-tools.org/">website</uri>.
-</p>
-
-</body>
-</section>
-<section>
-<title>A standardized approach to installing web applications</title>
-<body>
-
-<p>
-Gentoo has developed a standardized way of handling web applications. It is
-outlined in <uri link="/proj/en/glep/glep-0011.html">GLEP 11</uri> and
-discussed in detail in <c>man 5 webapp.eclass</c>. The reader is urged to
-familiarize himself with these documents before proceeding. The manpage also
-outlines the filesystem locations into which the eclass and
-<c>webapp-config</c> install files; advanced users and developers should take
-note.
-</p>
-
-<p>
-The <c>webapp.eclass</c> is located in the usual place in the Portage tree. By
-default, it will be found in <path>/usr/portage/eclass/webapp.eclass</path>. By
-definition, the source code is the ultimate documentation and should be
-consulted whenever something does not perform as expected or further
-clarification is required.
-</p>
-</body>
-</section>
-</chapter>
-
-<chapter>
-<title>Writing Ebuilds</title>
-<section>
-<title>Beginner: www-apps/gallery-2.0.2</title>
-<body>
-
-<p>
-Many web applications require no compilation and are installed by copying their
-files to a directory to be served by a httpd server such as Apache. The
-<c>webapp.eclass</c> simplifies this task by preparing the necessary set of
-directories.
-</p>
-
-<p>
-Let's take a look at a simple ebuild for <uri
-link="http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-apps/gallery">www-apps/gallery-2.0.2</uri>.
-To use any of the functions in the eclass, the ebuild must first inherit it:
-</p>
-
-<pre caption="Inheriting the eclass">
-inherit webapp.eclass
-</pre>
-
-<p>
-The ebuild then sets several standard variables, such as <c>DESCRIPTION</c>,
-<c>IUSE</c>, <c>RDEPEND</c>, and <c>S</c>. The first important note is that
-ebuilds that use the <c>webapp.eclass</c> do not typically set the <c>SLOT</c>
-variable (the rationale for this is described in the manpage). <uri
-link="#doc_chap2_sect3">Section 2.3</uri> will explain how <c>SLOT</c> can be
-set when it is truly needed, but for now we will let the eclass handle it.
-</p>
-
-<note>
-Unless explicitly overridden, the eclass sets <c>SLOT="${PVR}"</c>. One
-important downside of this behavior is that security revision bumps are no
-longer possible. This is unfortunate and will be changed soon.
-</note>
-
-<p>
-<path>www-apps/gallery-2.0.2</path> does not require patching or compiling, so
-the ebuild does not call <c>src_unpack</c> or <c>src_compile</c>; installation
-is handled in <c>src_install</c>. The first thing <c>src_install</c> does is
-call a special helper function that sets up the required directory structure:
-</p>
-
-<pre caption="Setting up src_install">
-src_install() {
- webapp_src_preinst
-</pre>
-
-<p>
-This function is required of all ebuilds that use the <c>webapp.eclass</c> and
-override the default <c>src_install</c>.
-</p>
-
-<p>
-Having set up the environment, the ebuild installs the web application:
-</p>
-
-<pre caption="Installing">
-cp -R * ${D}/${MY_HTDOCSDIR}
-</pre>
-
-<p>
-<c>${MY_HTDOCSDIR}</c> is one of the variables exported by
-<c>webapp_src_preinst</c>. Files placed there will be copied into the right
-directory under the webserver's document root by <c>webapp-config</c>. For a
-full list of variables exported by the eclass, please see the manpage.
-</p>
-
-<p>
-Next, the ebuild marks a file in <c>${FILESDIR}</c> as a file containing
-instructions to be displayed by <c>webapp-config</c> after the application has
-been installed:
-</p>
-
-<pre caption="Post-install instructions">
-webapp_postinst_txt en ${FILESDIR}/postinstall-en2.txt
-</pre>
-
-<note>
-A careful reader will observe that it is customary for other ebuilds to display
-instructions to the user in <c>pkg_postinst</c>. Ebuilds that inherit
-<c>webapp.eclass</c> may still do so, but the ebuild author should understand
-the important difference in usage. More often than not, post-install
-instructions include information specific to a virtual host, such as locations
-of a particular configuration file or a URL to access the web application
-remotely. This information is not available to Portage and cannot be included
-in <c>pkg_postinst</c>. Instead, it should be included in a post-install file
-and installed using <c>webapp_postinstall_txt</c>.
-</note>
-
-<p>
-Let's examine a typical post-install file:
-</p>
-
-<pre caption="Post-install file">
- 0. Create a new MySQL database:
- mysqladmin create geeklog
-
- 1. Edit ${VHOST_ROOT}/${PN}-${PVR}/config.php and set database settings.
-
- 2. Login on
- http://${VHOST_HOSTNAME}/${VHOST_APPDIR}/admin/install/install.php
- and follow the directions.
-
- 3. Don't forget to delete the admin/install directory when you're done!
-</pre>
-
-<p>
-Post-install instruction files are plain text files. They can contain
-bash-style variables (e.g., <c>${PN}</c>) that will be expanded at display
-time. The <c>webapp-config</c> utility responsible for displaying the file
-exports a number of variables that allow for the customization of instructions.
-Consult the manpage for a list of available variables.
-</p>
-
-<p>
-Finally, the ebuild calls another mandatory helper function:
-</p>
-
-<pre caption="webapp_src_install">
-webapp_src_install
-</pre>
-
-<p>
-<c>webapp_src_install</c> is responsible for setting the right permissions on
-installed files.
-</p>
-
-<p>
-There are several best practices for writing simple ebuilds:
-</p>
-
-<ul>
- <li>
- Don't copy unneeded files. Some packages include <path>.svn</path> or
- <path>CVS</path> directories or <path>Makefiles</path>; those should be
- removed prior to installation. Note that the <path>LICENSE</path> file is
- sometimes needed by the application and should not be removed.
- </li>
- <li>
- Ensure that consecutive calls to all ebuild functions succeed. For
- instance, don't remove files outside of <c>src_unpack</c>. If you must,
- remove files from <c>${D}</c> rather than <c>${S}</c>.
- </li>
- <li>
- For portability purposes, don't use GNU-only extensions such as <c>cp
- -a</c>. They will break on non-GNU userlands such as Gentoo/FreeBSD.
- </li>
-</ul>
-
-</body>
-</section>
-<section>
-<title>Intermediate: www-apps/tikiwiki-1.9.2</title>
-<body>
-
-<p>
-Many web applications have a more complicated installation procedure. Let's
-look at how <uri
-link="http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-apps/tikiwiki">www-apps/tikiwiki-1.9.2</uri>
-handles one such package. After inheriting the eclass, the ebuild specifies a
-number of required and optional dependencies.
-</p>
-
-<pre caption="Specifying Dependencies">
-RDEPEND="virtual/php
- mysql? ( >=dev-db/mysql-4 )
- postgres? ( dev-db/postgresql )
- graphviz? ( media-gfx/graphviz )
-"
-</pre>
-
-<p>
-Many web-applications written in PHP require that the PHP binary have certain
-capabilities built-in; common requirements include support for sessions and a
-specific database engine. This is typically accomplished by using the
-<c>depend.php</c> eclass; unfortunately, the author is not aware of any existing
-documentation for that eclass. The reader is referred to the eclass itself for
-further information and encouraged to consult relevant ebuilds in Portage.
-</p>
-
-<warn>
-If the package requires specific Perl modules, all dependencies must have
-ebuilds available. Relying on CPAN is not acceptable.
-</warn>
-
-<p>
-A common mistake with specifying dependencies for web applications is to
-unconditionally <c>RDEPEND</c> on a database engine such as MySQL or
-PostgreSQL. Many, if not all, web applications are able to connect to a remote
-database server. Thus, a local database should not be a requirement; the right
-syntax for dealing with this is:
-</p>
-
-<pre caption="Database Dependencies">
-mysql? ( >=dev-db/mysql-4 )
-</pre>
-
-<note>
-It is currently not possible to depend on a generic webserver. Instead, you
-must explicitly specify the webserver (e.g., <path>net-www/apache</path>). This
-is inconvenient and has been reported in <uri
-link="http://bugs.gentoo.org/show_bug.cgi?id=11007">bug #11007</uri>; we hope
-that this issue will be resolved soon.
-</note>
-
-<p>
-<path>www-apps/tikiwiki</path> does not use <c>depend.php</c> and instead uses
-<c>pkg_setup</c> to print a warning:
-</p>
-
-<pre caption="pkg_setup()">
-pkg_setup () {
- webapp_pkg_setup
- einfo "Make sure your PHP is compiled with mysql or postgres support"
- einfo "If you need PDF generation, make sure your PHP is emerged with xml2"
-}
-</pre>
-
-<p>
-Note the use of a mandatory helper function <c>webapp_pkg_setup</c>.
-</p>
-
-<p>
-Many web applications require write access to certain files. The eclass
-provides a helper function that marks a file as server-owned; at install time,
-<c>webapp-config</c> will ensure that it has the right owner and permissions:
-</p>
-
-<pre caption="webapp_serverowned">
-webapp_serverowned ${MY_HTDOCSDIR}/tiki-install.php
-</pre>
-
-<p>
-<c>webapp_serverowned</c> takes an optional <c>-R</c> flag to recurse into
-subdirectories. This flag has been added recently and not many ebuilds take
-advantage of it. Please consult the manpage for more information.
-</p>
-
-<p>
-Practically all web applications use configuration files to store settings.
-Such files should not be placed into <path>/etc</path> (figuring out the
-rationale is left as an exercise for the reader). To avoid losing important
-configuration information, the eclass provides another helper function that
-will instruct <c>webapp-config</c> not to overwrite an existing file. The
-administrator can use familiar tools such as <c>etc-update</c> or
-<c>dispatch-conf</c> to manage such files.
-</p>
-
-<pre caption="webapp_configfile">
-webapp_configfile ${MY_HTDOCSDIR}/config.php
-</pre>
-
-<p>
-Note that it is currently not possible to mark a file as both server-owned and
-config-protected. This has been fixed in an upcoming version of
-<c>webapp-config</c>. For now, there is a workaround described in <uri
-link="#doc_chap2_sect3">Section 2.3</uri>.
-</p>
-
-<p>
-To ease upgrades of web applications, the eclass provides a helper function
-that displays instructions when an existing installation is being upgraded:
-</p>
-
-<pre caption="Post-upgrade file">
-webapp_postupgrade_txt en ${FILESDIR}/postupgrade-en.txt
-</pre>
-
-<p>
-Even though no ebuilds in Portage currently take advantage this functionality,
-the reader is encouraged to use it in his ebuilds.
-</p>
-
-<p>
-The ebuild calls the familiar helper function to complete the installation.
-Note an important consequence of using <c>webapp_src_install</c> to set the
-correct file permissions: any manual adjustments to file permissions and
-ownership via <c>fowners</c> and <c>fperms</c> must occur <e>after</e>
-<c>webapp_src_install</c> is called.
-</p>
-
-<pre caption="Adjusting permissions">
-webapp_src_install
-fperms 0644 /etc/zm.conf
-</pre>
-
-<p>
-The tikiwiki ebuild displays some brief notes using <c>pkg_postinst</c>. Note
-the use of another helper function:
-</p>
-
-<pre caption="pkg_postinst">
-pkg_postinst() {
- einfo "To setup a MySQL database, run:"
- einfo "\"emerge --config =${PF}\""
- einfo "If you are using PostgreSQL, consult your documentation"
- webapp_pkg_postinst
-}
-</pre>
-
-<p>
-Strictly speaking, <c>webapp_pkg_postinst</c> is not mandatory. It is
-responsible for automatically calling <c>webapp-config</c> when the
-<c>vhosts</c> USE flag is unset. In rare instances it may be desirable to
-override this behavior; please consult <path>www-apps/otrs</path> for an
-example.
-</p>
-
-</body>
-</section>
-<section>
-<title>Advanced: www-apps/moinmoin-1.5.0</title>
-<body>
-
-<p>
-This section presents an overview of more advanced installation tasks provided
-by the <c>webapp.eclass</c>. An example of this functionality is <uri
-link="http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-apps/moinmoin">www-apps/moinmoin-1.5.0</uri>.
-</p>
-
-<p>
-<c>moinmoin</c> is a wiki engine written in Python that uses <c>distutils</c>
-to install itself. Thus, it requires <c>SLOT="0"</c> to avoid collisions.
-Ebuilds that inherit <c>webapp.eclass</c> must set
-<c>WEBAPP_MANUAL_SLOT="yes"</c> to override the default <c>SLOT</c>ting
-behavior:
-</p>
-
-<pre caption="Setting SLOT">
-SLOT="0"
-WEBAPP_MANUAL_SLOT="yes"
-</pre>
-
-<note>
-The <c>yes</c> in <c>WEBAPP_MANUAL_SLOT="yes"</c> is case-sensitive.
-</note>
-
-<p>
-<c>moinmoin</c> installs files that should not be served by the webserver. The
-ebuild places such files in <c>${MY_HOSTROOTDIR}/${PF}</c>.
-</p>
-
-<pre caption="Installing into dodir ${MY_HOSTROOTDIR}/${PF}">
-dodir ${MY_HOSTROOTDIR}/${PF}
-cp -r data underlay config/wikiconfig.py ${D}/${MY_HOSTROOTDIR}/${PF}
-</pre>
-
-<p>
-A best practice for installing any application via Portage is to ensure it
-operates out of the proverbial box with sensible defaults. The eclass
-implements a helper function to aid with configuring the application after it
-has been installed by <c>webapp-config</c>.
-</p>
-
-<pre caption="webapp_hook_script">
-webapp_hook_script ${FILESDIR}/reconfig-2
-</pre>
-
-<p>
-The reconfig hook is a script, typically written in bash, that is invoked by
-<c>webapp-config</c> after installation and before removal.
-</p>
-
-<pre caption="Reconfig hook">
-#!/bin/bash
-
-die() {
- echo "#####"
- echo $1
- echo "#####"
- exit 1
-}
-
-if [ $1 = "install" ]; then
- sed -e "s|/path/to/wikiconfig|${VHOST_ROOT}/${PN}-${PVR}|g" \
- -i ${MY_INSTALLDIR}/moin.cgi || die "sed failed"
- sed -e "s|\./data/|${VHOST_ROOT}/${PN}-${PVR}/data|
- s|\./underlay/|${VHOST_ROOT}/${PN}-${PVR}/underlay|" \
- -i ${VHOST_ROOT}/${PN}-${PVR}/wikiconfig.py || die "sed failed"
-
-elif [ $1 = "clean" ]; then
- echo $1
-fi
-</pre>
-
-<p>
-The reconfig hook can use the same variables as the postinstall file. It is
-typically used to edit configuration files to set file locations that may
-differ from the default values. As of <c>webapp-config-1.50</c>, reconfig hooks
-are run in a sandbox to minimize risk; please consult the manpage for more
-details.
-</p>
-
-<p>
-There are several best practices for using reconfig hooks:
-</p>
-
-<ul>
- <li>Die with an error message if the script failed</li>
- <li>
- Be careful about removing files when called with <c>clean</c>. Don't remove
- configuration files or any other files that may have been locally
- modified.
- </li>
- <li>
- To mark a file as both config-protected and server-owned, use
- <c>webapp_configfile</c> from the ebuild and use the reconfig hook to mark
- it as server-owned:
- </li>
-</ul>
-
-<pre caption="Using the reconfig hook to mark files as server-owned">
-chown ${VHOST_SERVER_UID}:${VHOST_SERVER_GID} ${MY_INSTALLDIR}/Settings.php
-</pre>
-
-<p>
-The eclass provides several other functions that are rarely used. The most
-notable is <c>webapp_sqlscript</c>, which marks a file as an SQL create script.
-In its current state, this function is only moderately useful.
-</p>
-
-</body>
-</section>
-</chapter>
-
-<chapter>
-<title>Additional Best Practices</title>
-<section>
-<title>Apache</title>
-<body>
-
-<ul>
- <li>
- Be careful when installing apache configuration files. If you place a
- misconfigured Apache configuration file into
- <path>/etc/apache{2}/vhosts.d</path>, the server will fail on next restart.
- Is is better to either install the file elsewhere and let the administrator
- customize it, or comment out the contents to avoid failure.
- </li>
-</ul>
-
-</body>
-</section>
-</chapter>
-
-<chapter>
-<title>Next Steps</title>
-<section>
-<title>Obtaining More Information</title>
-<body>
-
-<p>
-Additional examples can be found in the <path>www-apps</path> category of the
-Portage tree. Developers and users should also consult the <uri
-link="http://svn.gnqs.org/projects/gentoo-webapps-overlay">web-apps
-overlay</uri> for even more examples and software packages.
-</p>
-
-<p>
-If you have a question that is not answered in this document, please feel free
-to contact the <uri
-link="http://svn.gnqs.org/projects/gentoo-webapps-overlay/wiki/Contributors">web-apps
-herd</uri> or ask on <uri link="irc://freenode/gentoo-web">IRC</uri>.
-</p>
-
-</body>
-</section>
-</chapter>
-</guide>
diff --git a/doc/webapp.eclass.5.xml b/doc/webapp.eclass.5.xml
deleted file mode 100644
index e9bd4ff..0000000
--- a/doc/webapp.eclass.5.xml
+++ /dev/null
@@ -1,444 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-<article>
- <articleinfo>
- <title>webapp.eclass</title>
-
- <authorgroup>
- <author>
- <firstname>Stuart</firstname>
- <surname>Herbert</surname>
- <affiliation>
- <address><email>stuart@gentoo.org</email></address>
- <address><email>stuart@gnqs.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Renat</firstname>
- <surname>Lumpau</surname>
- <affiliation>
- <address><email>rl03@gentoo.org</email></address>
- </affiliation>
- </author>
- <author>
- <firstname>Gunnar</firstname>
- <surname>Wrobel</surname>
- <affiliation>
- <address><email>wrobel@gentoo.org</email></address>
- </affiliation>
- </author>
- </authorgroup>
-
- <copyright>
- <year>2003-2006</year>
- <holder>Stuart Herbert</holder>
- <holder>Renat Lumpau</holder>
- <holder>Gunnar Wrobel</holder>
- </copyright>
- </articleinfo>
-
- <section>
- <title>Reference</title>
-
- <refentry>
- <refentryinfo>
- <title>webapp.eclass</title>
- <date>January 2006</date>
- <productname>Gentoo Linux</productname>
- </refentryinfo>
- <refmeta>
- <refentrytitle>webapp.eclass</refentrytitle>
- <manvolnum>5</manvolnum>
- </refmeta>
- <refnamediv>
- <refname>webapp.eclass</refname>
- <refpurpose>standardised approach to writing ebuilds for web-based applications</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>inherit webapp</command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
- <para>If you are writing an ebuild for a web-based application, your ebuild should use the functions, variables, and techniques documented in this man page.</para>
- <para>The main reason to use the webapp eclass is that it provides a solution to a number of problems that plagued older approaches:</para>
- <refsect2>
- <title>Support For Virtual Hosts</title>
- <para>Many web servers today have to be able to host more than one website at a time. This is normally done through <glossterm>name-based virtual hosting</glossterm>. See the Apache documentation for more details about how this works.</para>
- <para>Traditional package installers only install a single copy of a package. Many webservers need to make the same package available as part of different virtual hosts. The administrator normally ends up installing and upgrading each of these packages by hand. This makes for more work for the administrator.</para>
- <para><userinput>webapp.eclass</userinput> overcomes this problem by installing packages, and associated metadata, in a format and location understood by <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The administrator then uses <command>webapp-config</command> to install and upgrade however many copies of the package as he needs.</para>
- </refsect2>
- <refsect2>
- <title>Installing Into The Correct Directory</title>
- <para>Virtual hosts are normally stored on disk in their own directories. The location of these directories can vary from computer to computer. It is not unusual for each administrator to have his own preferred location for putting virtual hosts.</para>
- <para>Traditional packagers always install a single copy of the package, normally into <filename>/home/httpd/htdocs/<package-name>/</filename>. If the administrator changes the DocumentRoot of their preferred web server to point to a different directory, traditional packagers are unable to detect this and adjust accordingly. They also are unable to detect any attempt to install a package into a virtual host.</para>
- <para><userinput>webapp.eclass</userinput> overcomes this problem because it makes no attempt to install packages into the webserver's DocumentRoot. Instead, it installs the files of the package into the <filename>/usr/share/webapps</filename> hierarchy - which is never directly used by any webserver. The administrator then uses <command>webapp-config</command> to complete the installation to the directory of his choice.</para>
- </refsect2>
- <refsect2>
- <title>Installing With The Correct File Ownerships</title>
- <para>Web-based applications are made up of files and directories that need to be owned by more than one user. Any files or directories that the web server needs to write to - these need to be owned by whatever user the web server runs as. Configuration files need to be owned by the non-root user who owns the website. The rest of the files and directories need to be owned by root, to ensure that they cannot be tampered with by other users.</para>
- <para>Traditional packagers have no way to understand which user the web server runs as, or which user needs to own the configuration files. Some packages assume that the user is running the Apache web server, and hard-code the information into their installation scripts. Unfortunately, any packages that do this will not work if the user chooses to use an alternative web server.</para>
- <para><userinput>webapp.eclass</userinput> overcomes this problem because it provides a number of functions which the ebuild can use to indicate who needs to own what. When the administrator completes the install using <command>webapp-config</command>, he can tell <command>webapp-config</command> which web server the package will be running under, and which user needs to own the configuration files.</para>
- </refsect2>
- <refsect2>
- <title>Apache Modules vs CGI Scripts</title>
- <para>Most web-based applications are written in scripting languages such as PHP, Python, or Perl. Most scripting languages are available either as Apache modules and as stand-alone CGI scripting engines. Sometimes, it makes more sense to install scripting languages as CGI scripting engines. Although CGI engines run much slower than Apache modules, the advantage is that it allows a single computer to run multiple versions of the same language - something that sometimes is necessary.</para>
- <para>It's also worth pointing out that the administrator has a choice of web servers - and not all scripting languages run as compiled-in modules in all web servers.</para>
- <para>It is difficult-to-impossible for a traditional package manager to provide a single package that can cope with all of the possible permutations.</para>
- <para><userinput>webapp.eclass</userinput> provides a function for ebuilds to indicate which script files need to be run by which scripting engine. <command>webapp-config</command> can, if necessary, modify these script files to use the correct CGI engine when installing into a virtual host.</para>
- </refsect2>
- <refsect2>
- <title>Overwriting Configuration Files</title>
- <para>When packages are upgraded, new configuration files are installed. Different package managers handle this in different ways. Portage can prevent files being overwritten on a per-directory basis. Web-based applications normally have configuration files installed in the same directories as the scripts themselves. Packages for Portage, therefore, normally end up overwriting the configuration file because the alternative is having to wade through pages of <command>etc-update</command> output.</para>
- <para><userinput>webapp.eclass</userinput> avoids this problem by allowing ebuilds to indicate which files are configuration files. <command>webapp-config</command> uses this information to ensure that configuration files are not overwritten. The administrator can then use <command>etc-update</command> as normal to complete the upgrade.</para>
- </refsect2>
- <refsect2>
- <title>Handling Web Server Configuration Files</title>
- <para>There are some web-based applications that will not work without installing configuration files for the webserver. Deciding which webserver to install configuration files for, and where to install these configuration files, is problematic at best.</para>
- <para><userinput>webapp.eclass</userinput> addresses this in two ways. Firstly, ebuilds are encouraged to supply configuration files for <emphasis>all</emphasis> supported webservers. <command>webapp-config</command> will then install the correct configuration files for the selected webserver when the virtual copy of the application is installed.</para>
- </refsect2>
- <refsect2>
- <title>Handling SQL Databases</title>
- <para>Many web-based applications store their data in sql-based databases. Installing these databases is enough of a pain; upgrading them is something that's often left to the administrator to struggle through.</para>
- <para><userinput>webapp.eclass</userinput> does not provide a full solution today to this problem. Ebuilds can indicate which files are SQL scripts, and which database engine the scripts are for. A future version of <userinput>webapp.eclass</userinput> will (hopefully) provide a tool to automatically generate an upgrade script to help the administrator.</para>
- </refsect2>
- </refsect1>
-
- <refsect1>
- <title>Installation Directories</title>
- <para><glossterm>webapp.eclass</glossterm> creates an intermediate install of a package, so that the computer's administrator can then perform multiple installations using <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
- <para>The intermediate install (known as the <glossterm>master copy</glossterm>) is never used by, or accessed via, the web server.</para>
- <para>The intermediate install goes into the <filename>/usr/share/webapps</filename> directory structure:</para>
- <screen>
-/usr/share/webapps
-|- <package name>
- |- <package version>
- |- hostroot ${MY_HOSTROOTDIR}
- |- htdocs ${MY_HTDOCSDIR}
- |- cgi-bin ${MY_CGIBINDIR}
- |- conf ${MY_SERVERCONFIGDIR}
- |- errors ${MY_ERRORSDIR}
- |- icons ${MY_ICONSDIR}
- </screen>
- <variablelist>
- <varlistentry>
- <term>MY_HOSTROOTDIR</term>
- <listitem>
- <para>Any files or directories that would normally go into <filename>/var/www/localhost</filename> should be installed into this directory.</para>
- <para>This directory is for files that you do <emphasis>not</emphasis> want served up under the DocumentRoot. An example of suitable files would be password databases.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_HTDOCSDIR</term>
- <listitem>
- <para>Any files or directories that would normally go into <filename>/var/www/localhost/htdocs/<package-name>/</filename> should be installed into this directory.</para>
- <para>This directory is for the main files of the package. Don't put all the files in a subdirectory called <package-name>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_CGIBINDIR</term>
- <listitem>
- <para>Any files or directories that would normally go into <filename>/var/www/localhost/cgi-bin/</filename> should be installed into this directory.</para>
- <para>At runtime (when the package is running), this directory will be read-only. You should keep this in mind when deciding which files, scripts, and executables belong in here.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_SERVERCONFIGDIR</term>
- <listitem>
- <para>This directory contains the per-vhost config files that the web server will use.</para>
- <para>You may have to manually configure your webserver to actually use any configuration files installed in this directory.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_ERRORSDIR</term>
- <listitem>
- <para>Any files or directories that would normally go into <filename>/var/www/localhost/errors/</filename> should be installed into this directory.</para>
- <para>When the webserver encounters an error, such as 403: Forbidden or 404: File not found, the default behaviour of the webserver is to look for a page in the MY_ERRORSDIR directory.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_ICONSDIR</term>
- <listitem>
- <para>Any files or directories that would normally to into <filename>/var/www/localhost/icons/</filename> should be installed into this directory.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Functions</title>
- <refsect2>
- <title>Functions for pkg_setup()</title>
- <variablelist>
- <varlistentry>
- <term><command>webapp_pkg_setup</command></term>
- <listitem>
- <para>If your ebuild has a <userinput>pkg_setup</userinput>, make sure that the first thing it does is to call the <userinput>webapp_pkg_setup</userinput> function.</para>
- <para>This function performs a lot of sanity checks.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- <refsect2>
- <title>Functions for src_install()</title>
- <para>The first line of your <userinput>src_install()</userinput> function must be</para>
- <screen>
- webapp_src_preinst
- </screen>
- <para><userinput>webapp_src_preinst()</userinput> prepares ${D}, so that you can install your files into directories as normal. Then, use these functions <emphasis>after</emphasis> you have installed your files, to add metadata that <command>webapp-config</command> will use later.</para>
- <para>Unless explicitly stated in the description of the function, you should assume that these functions do <emphasis>not</emphasis> copy any files into ${D} for you.</para>
- <variablelist>
- <varlistentry>
- <term><command>webapp_configfile</command> <replaceable>file</replaceable> <replaceable>[file ...]</replaceable></term>
- <listitem>
- <para>Use this function to indicate that a particular file is an editable configuration file. <command>webapp-config</command> will install configuration files so that they can be edited by non-root users.</para>
- <para><replaceable>file</replaceable> is a config-file. The file should be in ${D}. <replaceable>file</replaceable> is normally under ${MY_HTDOCSDIR}.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_hook_script</command> <replaceable>file</replaceable></term>
- <listitem>
- <para>Use this function to install a script that <command>webapp-config</command> will run immediately after the creation of a <glossterm>virtual copy</glossterm> and immediately before the removal of a <glossterm>virtual copy</glossterm>.</para>
- <para><replaceable>file</replaceable> is an executable script. The script must accept one parameter; either <userinput>file install</userinput>, or <userinput>file clean</userinput>. When called as <userinput>file install</userinput>, the script is running after the creation of a <glossterm>virtual copy</glossterm>. And when called as <userinput>file clean</userinput>, the script is running immediately before the removal of a <glossterm>virtual copy</glossterm>.</para>
- <para>Think of hook scripts as a way to perform custom actions that <command>webapp-config</command> itself doesn't give you a way to do. Because any files created by hook scripts aren't added to the contents list, it is essential that hook scripts also clean up after themselves - because <command>webapp-config</command> cannot do it for you.</para>
- <para>Hook scripts are now run inside a sandbox. Write access is limited to <userinput>VHOST_HTDOCSDIR</userinput>, <userinput>MY_INSTALLDIR</userinput>, <userinput>VHOST_ROOT</userinput> and <userinput>VHOST_CGIBINDIR</userinput>.</para>
- <para>Hook scripts can rely on a number of environment variables being set. They are listed in the HOOK SCRIPT VARS section below.</para>
- <para>Please note that hook scripts <emphasis>must</emphasis> work correctly with <userinput>${ROOT}</userinput> set!</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_postinst_txt</command> <replaceable>language</replaceable> <replaceable>file</replaceable></term>
- <listitem>
- <para>Use this function to install a plain text file that contains any post-installation instructions that the administrator needs to read about. <command>webapp-config</command> will show these instructions to the administrator after he has run <command>webapp-config</command> <option>-I</option>.</para>
- <para>The instructions can contain shell variables. They will be expanded by <command>webapp-config</command> before being shown to the administrator.</para>
- <para>The instructions can make use of the environment variables that are listed in the HOOK SCRIPT VARS section below.</para>
- <para><replaceable>language</replaceable> is for future compatibility. For now, always use <userinput>en</userinput>.</para>
- <para><replaceable>file</replaceable> is a text file in ${S}. This function will install this file for you into ${D}.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_postupgrade_txt</command> <replaceable>language</replaceable> <replaceable>file</replaceable></term>
- <listitem>
- <para>Use this function to install a plain text file that contains any post-uprade instructions that the administrator needs to read about. <command>webapp-config</command> will show these instructions to the administrator after he has run <command>webapp-config</command> <option>-U</option>.</para>
- <para>The instructions can contain shell variables. They will be expanded by <command>webapp-config</command> before being shown to the administrator.</para>
- <para>The instructions can make use of the environment variables that are listed in the HOOK SCRIPT VARS section below.</para>
- <para><replaceable>language</replaceable> is for future compatibility. For now, always use <userinput>en</userinput>.</para>
- <para><replaceable>file</replaceable> is a text file in ${S}. This function will install this file for you into ${D}.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_serverowned</command> <replaceable>[-R]</replaceable> <replaceable>file</replaceable> <replaceable>[file ...]</replaceable></term>
- <listitem>
- <para>Use this function to mark a file that needs to be owned by whichever user the web server runs as. <command>webapp-config</command> will ensure that the file is owned by the correct user when the time comes.</para>
- <para><replaceable>file</replaceable> is a file under ${D}.</para>
- <para>Use the optional <replaceable>-R</replaceable> flag to recurse into subdirectories.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_server_configfile</command> <replaceable>server</replaceable> <replaceable>file</replaceable> <replaceable>newfile</replaceable></term>
- <listitem>
- <para>Use this function to install a webserver configuration file. The configuration file is installed into ${MY_SERVERCONFIGDIR}, and <command>webapp-config</command> will install this file during install (-I mode).</para>
- <para><replaceable>server</replaceable> is one of: apache, lighttpd, aolserver.</para>
- <para><replaceable>file</replaceable> is a webserver configuration file in ${S}. This should be a configuration file tested with <replaceable>server</replaceable>.</para>
- <para><replaceable>newfile</replaceable> is the new name for <replaceable>file</replaceable>. This parameter is optional; if not supplied, <replaceable>newfile</replaceable> is set to <userinput>`basename <replaceable>file</replaceable>`</userinput>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_sqlscript</command> <replaceable>sql-engine</replaceable> <replaceable>file</replaceable></term>
- <listitem>
- <para>Use this function to install an SQL script. The script is installed into ${MY_SQLSCRIPTSDIR}, but is <emphasis>not</emphasis> installed into any database server at this time.</para>
- <para><replaceable>sql-engine</replaceable> is one of: mysql, postgresql.</para>
- <para><replaceable>file</replaceable> is an SQL script in ${S}. This should be a script to create the tables from scratch. <replaceable>file</replaceable> will be installed into ${D} for you by this function.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><command>webapp_src_install</command></term>
- <listitem>
- <para>Call this function at the end of your <userinput>src_install</userinput> function.</para>
- <para>To see what this function does, read the source code.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- <refsect2>
- <title>Functions for pkg_postinst()</title>
- <variablelist>
- <varlistentry>
- <term><command>webapp_pkg_postinst</command></term>
- <listitem>
- <para>If your ebuild has a <userinput>pkg_postinst</userinput> function, make sure the last thing it does is to call <userinput>webapp_pkg_postinst</userinput>.</para>
- <para>This function automatically calls <command>webapp-config</command> if the <emphasis>vhosts</emphasis> flag is NOT present.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- </refsect1>
-
- <refsect1>
- <title>Hook Script Vars</title>
- <para>These environment variables will always be present whenever <command>webapp-config</command> runs a hook script, or whenever post-installation instructions are shown.</para>
- <variablelist>
- <varlistentry>
- <term>MY_HOSTROOTDIR</term>
- <term>MY_HTDOCSDIR</term>
- <term>MY_CGIBINDIR</term>
- <term>MY_ERRORSDIR</term>
- <term>MY_ICONSDIR</term>
- <term>MY_SERVERCONFIGDIR</term>
- <term>MY_SQLSCRIPTSDIR</term>
- <listitem>
- <para>See the Install Directories section above.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>ROOT</term>
- <listitem>
- <para>The ${ROOT} variable as set by Portage. Please note that you do not need to explicitly add the ${ROOT} prefix - webapp-config will do that automatically.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>MY_INSTALLDIR</term>
- <listitem>
- <para>The full path to the directory that the virtual copy has been installed into.</para>
- <para>If you are not using virtual hosts, this defaults to <filename>/var/www/localhost/htdocs/${PN}/</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_SERVER</term>
- <listitem>
- <para>The name of the webserver that we are installing for. Set with the <option>-s</option> option to <command>webapp-config</command>.</para>
- <para>At the moment, <command>webapp-config</command> only supports the <command>apache-basic</command> web server, so this isn't a lot of use.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_ROOT</term>
- <listitem>
- <para>The full path to the Document Root's parent directory.</para>
- <para>If you are not using virtual hosts, this defaults to <filename>/var/www/localhost/</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_HOSTNAME</term>
- <listitem>
- <para>The hostname that this application will be accessed via.</para>
- <para>If you are not using virtual hosts, this defaults to <filename>localhost</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_HTDOCSDIR</term>
- <listitem>
- <para>The full path to the Document Root of the website that the virtual copy is being installed into.</para>
- <para>If you are not using virtual hosts, this defaults to <filename>/var/www/localhost/htdocs/</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_APPDIR</term>
- <listitem>
- <para>The directory under VHOST_HTDOCSDIR where the virtual copy is being installed into. If you want the full path, use $MY_INSTALLDIR.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_CGIBINDIR</term>
- <listitem>
- <para>The directory under VHOST_HTDOCSDIR which cgi-bin files installed into.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_CONFDIR</term>
- <listitem>
- <para>The directory under VHOST_HTDOCSDIR which server configuration files are installed into.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_ERRORSDIR</term>
- <listitem>
- <para>The directory under VHOST_HTDOCSDIR which custom error files are installed into.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_ICONSDIR</term>
- <listitem>
- <para>The directory under VHOST_HTDOCSDIR which custom server icons are installed into.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_CONFIG_UID</term>
- <listitem>
- <para>The name of the user who owns all configuration files.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_CONFIG_GID</term>
- <listitem>
- <para>The name of the user who owns all configuration files.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_SERVER_UID</term>
- <listitem>
- <para>The name of the user who will own all server-owned files and directories.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_SERVER_GID</term>
- <listitem>
- <para>The name of the group who owns all server-owned files and directories.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_DEFAULT_UID</term>
- <listitem>
- <para>The name of the user who owns all the remaining files and directories.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_DEFAULT_GID</term>
- <listitem>
- <para>The name of the group who owns all the remaining files and directories.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>VHOST_PERMS_SERVEROWNED_DIR</term>
- <term>VHOST_PERMS_SERVEROWNED_FILE</term>
- <term>VHOST_PERMS_CONFIGOWNED_DIR</term>
- <term>VHOST_PERMS_CONFIGOWNED_FILE</term>
- <term>VHOST_PERMS_DEFAULTOWNED_DIR</term>
- <term>VHOST_PERMS_VIRTUALOWNED_DIR</term>
- <term>VHOST_PERMS_VIRTUALOWNED_FILE</term>
- <term>VHOST_PERMS_INSTALLDIR</term>
- <listitem>
- <para>See <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Examples</title>
- <para>See <filename>/usr/share/doc/webapp-config*/</filename> for example ebuilds.</para>
- </refsect1>
-
- <refsect1>
- <title>Files</title>
- <variablelist>
- <varlistentry>
- <term><filename>/etc/vhosts/webapp-config</filename></term>
- <listitem>
- <para>Configuration file, holding the defaults for <command>webapp-config</command> and the <userinput>webapp.eclass</userinput> eclass.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>webapp-config</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>emerge</refentrytitle><manvolnum>1</manvolnum></citerefentry></para>
- <para>The <userinput>webapp.eclass</userinput> is part of the <command>webapp-config</command> package. <command>webapp-config</command> is based on the design for an installer for web-based applications first discussed in <ulink url="http://www.gentoo.org/proj/en/glep/glep-0011.html">GLEP #11</ulink> for the Gentoo Linux project.</para>
- </refsect1>
- </refentry>
- </section>
-</article>
diff --git a/ebuild/webapp-config-1.50.18.ebuild b/ebuild/webapp-config-1.50.18.ebuild
deleted file mode 100644
index eb6a2c8..0000000
--- a/ebuild/webapp-config-1.50.18.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/webapp-config/webapp-config-1.50.14.ebuild,v 1.2 2006/04/22 21:41:52 flameeyes Exp $
-
-inherit eutils distutils
-
-DESCRIPTION="Gentoo's installer for web-based applications"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE=""
-S=${WORKDIR}/${PF}
-
-DEPEND=""
-
-src_install() {
-
- # According to this discussion:
- # http://mail.python.org/pipermail/distutils-sig/2004-February/003713.html
- # distutils does not provide for specifying two different script install
- # locations. Since we only install one script here the following should
- # be ok
- distutils_src_install --install-scripts="/usr/sbin"
-
- dodir /etc/vhosts
- cp config/webapp-config ${D}/etc/vhosts/
- keepdir /usr/share/webapps
- keepdir /var/db/webapps
- dodoc examples/phpmyadmin-2.5.4-r1.ebuild AUTHORS.txt CHANGES.txt examples/postinstall-en.txt
- doman doc/webapp-config.5 doc/webapp-config.8 doc/webapp.eclass.5
- dohtml doc/webapp-config.5.html doc/webapp-config.8.html doc/webapp.eclass.5.html
-}
-
-src_test() {
- cd ${S}
- distutils_python_version
- if [[ $PYVER_MAJOR > 1 ]] && [[ $PYVER_MINOR > 3 ]] ; then
- einfo "Running webapp-config doctests..."
- if ! PYTHONPATH="." ${python} WebappConfig/tests/dtest.py; then
- eerror "DocTests failed - please submit a bug report"
- die "DocTesting failed!"
- fi
- else
- einfo "Python version below 2.4! Disabling tests."
- fi
-}
-
-pkg_postinst() {
- echo
- einfo "Now that you have upgraded webapp-config, you **must** update your"
- einfo "config files in /etc/vhosts/webapp-config before you emerge any"
- einfo "packages that use webapp-config."
- echo
- epause 5
-}
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
deleted file mode 100644
index 4807c3f..0000000
--- a/eclass/webapp.eclass
+++ /dev/null
@@ -1,538 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/webapp.eclass,v 1.48 2007/01/03 20:16:39 rl03 Exp $
-#
-# eclass/webapp.eclass
-# Eclass for installing applications to run under a web server
-#
-# Part of the implementation of GLEP #11
-#
-# Author(s) Stuart Herbert
-# Renat Lumpau <rl03@gentoo.org>
-# Gunnar Wrobel <wrobel@gentoo.org>
-#
-# ------------------------------------------------------------------------
-#
-# The master copy of this eclass is held in our subversion repository.
-# http://svn.gnqs.org/projects/vhost-tools/browser/
-#
-# If you make changes to this file and don't tell us, chances are that
-# your changes will be overwritten the next time we release a new version
-# of webapp-config.
-#
-# ------------------------------------------------------------------------
-
-SLOT="${PVR}"
-IUSE="vhosts"
-DEPEND=">=app-admin/webapp-config-1.50.15"
-RDEPEND="${DEPEND}"
-
-EXPORT_FUNCTIONS pkg_postinst pkg_setup src_install pkg_prerm
-
-INSTALL_DIR="/${PN}"
-IS_UPGRADE=0
-IS_REPLACE=0
-
-INSTALL_CHECK_FILE="installed_by_webapp_eclass"
-
-ETC_CONFIG="${ROOT}/etc/vhosts/webapp-config"
-WEBAPP_CONFIG="${ROOT}/usr/sbin/webapp-config"
-WEBAPP_CLEANER="${ROOT}/usr/sbin/webapp-cleaner"
-
-# ------------------------------------------------------------------------
-# INTERNAL FUNCTION - USED BY THIS ECLASS ONLY
-#
-# Load the config file /etc/vhosts/webapp-config
-#
-# Supports both the old bash version, and the new python version
-#
-# ------------------------------------------------------------------------
-
-function webapp_read_config ()
-{
- ENVVAR=$(${WEBAPP_CONFIG} --query ${CATEGORY}/${PN} ${PVR}) || die "Could not read settings from webapp-config!"
- eval ${ENVVAR}
-}
-
-# ------------------------------------------------------------------------
-# INTERNAL FUNCTION - USED BY THIS ECLASS ONLY
-#
-# Check whether a specified file exists within the image/ directory
-# or not.
-#
-# @param $1 - file to look for
-# @param $2 - prefix directory to use
-# @return 0 on success, never returns on an error
-# ------------------------------------------------------------------------
-
-function webapp_checkfileexists ()
-{
- local my_prefix
-
- [ -n "${2}" ] && my_prefix="${2}/" || my_prefix=
-
- if [ ! -e "${my_prefix}${1}" ]; then
- msg="ebuild fault: file '${1}' not found"
- eerror "$msg"
- eerror "Please report this as a bug at http://bugs.gentoo.org/"
- die "$msg"
- fi
-}
-
-# ------------------------------------------------------------------------
-# INTERNAL FUNCTION - USED BY THIS ECLASS ONLY
-# ------------------------------------------------------------------------
-
-function webapp_check_installedat
-{
- local my_output
-
- ${WEBAPP_CONFIG} --show-installed -h localhost -d "${INSTALL_DIR}" 2> /dev/null
-}
-
-# ------------------------------------------------------------------------
-# INTERNAL FUNCTION - USED BY THIS ECLASS ONLY
-#
-# ------------------------------------------------------------------------
-
-function webapp_strip_appdir ()
-{
- local my_stripped="${1}"
- echo "${1}" | sed -e "s|${MY_APPDIR}/||g;"
-}
-
-function webapp_strip_d ()
-{
- echo "${1}" | sed -e "s|${D}||g;"
-}
-
-function webapp_strip_cwd ()
-{
- local my_stripped="${1}"
- echo "${1}" | sed -e 's|/./|/|g;'
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# Identify a config file for a web-based application.
-#
-# @param $1 - config file
-# ------------------------------------------------------------------------
-
-function webapp_configfile ()
-{
- local m=""
- for m in "$@" ; do
- webapp_checkfileexists "${m}" "${D}"
-
- local MY_FILE="$(webapp_strip_appdir "${m}")"
- MY_FILE="$(webapp_strip_cwd "${MY_FILE}")"
-
- elog "(config) ${MY_FILE}"
- echo "${MY_FILE}" >> ${D}/${WA_CONFIGLIST}
- done
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# Install a script that will run after a virtual copy is created, and
-# before a virtual copy has been removed
-#
-# @param $1 - the script to run
-# ------------------------------------------------------------------------
-
-function webapp_hook_script ()
-{
- webapp_checkfileexists "${1}"
-
- elog "(hook) ${1}"
- cp "${1}" "${D}/${MY_HOOKSCRIPTSDIR}/$(basename "${1}")" || die "Unable to install ${1} into ${D}/${MY_HOOKSCRIPTSDIR}/"
- chmod 555 "${D}/${MY_HOOKSCRIPTSDIR}/$(basename "${1}")"
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# Install a text file containing post-installation instructions.
-#
-# @param $1 - language code (use 'en' for now)
-# @param $2 - the file to install
-# ------------------------------------------------------------------------
-
-function webapp_postinst_txt ()
-{
- webapp_checkfileexists "${2}"
-
- elog "(info) ${2} (lang: ${1})"
- cp "${2}" "${D}/${MY_APPDIR}/postinst-${1}.txt"
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# Install a text file containing post-upgrade instructions.
-#
-# @param $1 - language code (use 'en' for now)
-# @param $2 - the file to install
-# ------------------------------------------------------------------------
-
-function webapp_postupgrade_txt ()
-{
- webapp_checkfileexists "${2}"
-
- elog "(info) ${2} (lang: ${1})"
- cp "${2}" "${D}/${MY_APPDIR}/postupgrade-${1}.txt"
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# Identify a file which must be owned by the webserver's user:group
-# settings.
-#
-# The ownership of the file is NOT set until the application is installed
-# using the webapp-config tool.
-#
-# @param $1 - file to be owned by the webserver user:group combo
-#
-# ------------------------------------------------------------------------
-
-function webapp_serverowned ()
-{
- local a=""
- local m=""
- if [ "${1}" = "-R" ]; then
- shift
- for m in "$@" ; do
- for a in $(find ${D}/${m}); do
- a=${a/${D}\/\///}
- webapp_checkfileexists "${a}" "$D"
- local MY_FILE="$(webapp_strip_appdir "${a}")"
- MY_FILE="$(webapp_strip_cwd "${MY_FILE}")"
-
- elog "(server owned) ${MY_FILE}"
- echo "${MY_FILE}" >> "${D}/${WA_SOLIST}"
- done
- done
- else
- for m in "$@" ; do
- webapp_checkfileexists "${m}" "$D"
- local MY_FILE="$(webapp_strip_appdir "${m}")"
- MY_FILE="$(webapp_strip_cwd "${MY_FILE}")"
-
- elog "(server owned) ${MY_FILE}"
- echo "${MY_FILE}" >> "${D}/${WA_SOLIST}"
- done
- fi
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# @param $1 - the webserver to install the config file for
-# (one of apache1, apache2, cherokee)
-# @param $2 - the config file to install
-# @param $3 - new name for the config file (default is `basename $2`)
-# this is an optional parameter
-#
-# NOTE:
-# this function will automagically prepend $1 to the front of your
-# config file's name
-# ------------------------------------------------------------------------
-
-function webapp_server_configfile ()
-{
- webapp_checkfileexists "${2}"
-
- # sort out what the name will be of the config file
-
- local my_file
-
- if [ -z "${3}" ]; then
- my_file="${1}-$(basename "${2}")"
- else
- my_file="${1}-${3}"
- fi
-
- # warning:
- #
- # do NOT change the naming convention used here without changing all
- # the other scripts that also rely upon these names
-
- elog "(${1}) config file '${my_file}'"
- cp "${2}" "${D}/${MY_SERVERCONFIGDIR}/${my_file}"
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - FOR USE IN EBUILDS
-#
-# @param $1 - the db engine that the script is for
-# (one of: mysql|postgres)
-# @param $2 - the sql script to be installed
-# @param $3 - the older version of the app that this db script
-# will upgrade from
-# (do not pass this option if your SQL script only creates
-# a new db from scratch)
-# ------------------------------------------------------------------------
-
-function webapp_sqlscript ()
-{
- webapp_checkfileexists "${2}"
-
- # create the directory where this script will go
- #
- # scripts for specific database engines go into their own subdirectory
- # just to keep things readable on the filesystem
-
- if [ ! -d "${D}/${MY_SQLSCRIPTSDIR}/${1}" ]; then
- mkdir -p "${D}/${MY_SQLSCRIPTSDIR}/${1}" || die "unable to create directory ${D}/${MY_SQLSCRIPTSDIR}/${1}"
- fi
-
- # warning:
- #
- # do NOT change the naming convention used here without changing all
- # the other scripts that also rely upon these names
-
- # are we dealing with an 'upgrade'-type script?
- if [ -n "${3}" ]; then
- # yes we are
- elog "(${1}) upgrade script from ${CATEGORY}/${PN}-${PVR} to ${3}"
- cp "${2}" "${D}${MY_SQLSCRIPTSDIR}/${1}/${3}_to_${PVR}.sql"
- chmod 600 "${D}${MY_SQLSCRIPTSDIR}/${1}/${3}_to_${PVR}.sql"
- else
- # no, we are not
- elog "(${1}) create script for ${CATEGORY}/${PN}-${PVR}"
- cp "${2}" "${D}/${MY_SQLSCRIPTSDIR}/${1}/${PVR}_create.sql"
- chmod 600 "${D}/${MY_SQLSCRIPTSDIR}/${1}/${PVR}_create.sql"
- fi
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - call from inside your ebuild's src_install AFTER
-# everything else has run
-#
-# For now, we just make sure that root owns everything, and that there
-# are no setuid files.
-# ------------------------------------------------------------------------
-
-function webapp_src_install ()
-{
- chown -R "${VHOST_DEFAULT_UID}:${VHOST_DEFAULT_GID}" "${D}/"
- chmod -R u-s "${D}/"
- chmod -R g-s "${D}/"
-
- keepdir "${MY_PERSISTDIR}"
- fowners "root:0" "${MY_PERSISTDIR}"
- fperms 755 "${MY_PERSISTDIR}"
-
- # to test whether or not the ebuild has correctly called this function
- # we add an empty file to the filesystem
-
- touch "${D}/${MY_APPDIR}/${INSTALL_CHECK_FILE}"
-}
-
-# ------------------------------------------------------------------------
-# EXPORTED FUNCTION - call from inside your ebuild's pkg_config AFTER
-# everything else has run
-#
-# If 'vhosts' USE flag is not set, auto-install this app
-#
-# ------------------------------------------------------------------------
-
-function webapp_pkg_setup ()
-{
- # add sanity checks here
-
- # special case - some ebuilds *do* need to overwride the SLOT
- if [[ "${SLOT}+" != "${PVR}+" && "${WEBAPP_MANUAL_SLOT}" != "yes" ]]; then
- die "Set WEBAPP_MANUAL_SLOT=\"yes\" if you need to SLOT manually"
- fi
-
- # pull in the shared configuration file
-
- G_HOSTNAME="localhost"
- webapp_read_config
-
- # are we installing a webapp-config solution over the top of a
- # non-webapp-config solution?
-
- if ! use vhosts ; then
- local my_dir="${ROOT}${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
- local my_output
-
- if [ -d "${my_dir}" ] ; then
- my_output="$(webapp_check_installedat)"
-
- if [ "$?" != "0" ]; then
- # okay, whatever is there, it isn't webapp-config-compatible
- ewarn "You already have something installed in ${my_dir}"
- ewarn
- ewarn "Whatever is in ${my_dir}, it's not"
- ewarn "compatible with webapp-config."
- ewarn
- ewarn "This ebuild may be overwriting important files."
- ewarn
- fi
- fi
- fi
-}
-
-function webapp_getinstalltype ()
-{
- # or are we upgrading?
-
- if ! use vhosts ; then
- # we only run webapp-config if vhosts USE flag is not set
-
- local my_output
-
- my_output="$(webapp_check_installedat)"
-
- if [ "${?}" = "0" ] ; then
- # something is already installed there
- #
- # make sure it isn't the same version
-
- local my_cat="$(echo ${my_output} | awk '{ print $1 }')"
- local my_pn="$(echo ${my_output} | awk '{ print $2 }')"
- local my_pvr="$(echo ${my_output} | awk '{ print $3 }')"
-
- REMOVE_PKG="${my_cat}/${my_pn}-${my_pvr}"
-
- if [[ "${my_pn}" == "${PN}" && "${my_cat}" == "${CATEGORY}" ]]; then
- if [ "${my_pvr}" != "${PVR}" ]; then
- elog "This is an upgrade"
- IS_UPGRADE=1
- else
- elog "This is a re-installation"
- IS_REPLACE=1
- fi
- else
- elog "${my_output} is installed there"
- fi
- else
- elog "This is an installation"
- fi
- fi
-}
-
-function webapp_src_preinst ()
-{
- # create the directories that we need
-
- dodir "${MY_HTDOCSDIR}"
- dodir "${MY_HOSTROOTDIR}"
- dodir "${MY_CGIBINDIR}"
- dodir "${MY_ICONSDIR}"
- dodir "${MY_ERRORSDIR}"
- dodir "${MY_SQLSCRIPTSDIR}"
- dodir "${MY_HOOKSCRIPTSDIR}"
- dodir "${MY_SERVERCONFIGDIR}"
-}
-
-function webapp_pkg_postinst ()
-{
- webapp_read_config
-
- # sanity checks, to catch bugs in the ebuild
-
- if [ ! -f "${ROOT}${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]; then
- eerror
- eerror "This ebuild did not call webapp_src_install() at the end"
- eerror "of the src_install() function"
- eerror
- eerror "Please log a bug on http://bugs.gentoo.org"
- eerror
- eerror "You should use emerge -C to remove this package, as the"
- eerror "installation is incomplete"
- eerror
- die "Ebuild did not call webapp_src_install() - report to http://bugs.gentoo.org"
- fi
-
- # if 'vhosts' is not set in your USE flags, we install a copy of
- # this application in ${ROOT}/var/www/localhost/htdocs/${PN}/ for you
-
- if ! use vhosts ; then
- echo
- elog "vhosts USE flag not set - auto-installing using webapp-config"
-
- webapp_getinstalltype
-
- G_HOSTNAME="localhost"
- local my_mode=-I
- webapp_read_config
-
- if [ "${IS_REPLACE}" = "1" ]; then
- elog "${CATEGORY}/${PN}-${PVR} is already installed - replacing"
- my_mode=-I
- elif [ "${IS_UPGRADE}" = "1" ]; then
- elog "${REMOVE_PKG} is already installed - upgrading"
- my_mode=-U
- else
- elog "${CATEGORY}/${PN}-${PVR} is not installed - using install mode"
- fi
-
- my_cmd="${WEBAPP_CONFIG} ${my_mode} -h localhost -u root -d ${INSTALL_DIR} ${CATEGORY}/${PN} ${PVR}"
- elog "Running ${my_cmd}"
- ${my_cmd}
-
- # run webapp-cleaner instead of emerge
- echo
- local cleaner="${WEBAPP_CLEANER} -p -C ${CATEGORY}/${PN}"
- einfo "Running ${cleaner}"
- ${cleaner}
- else
- # vhosts flag is on
- #
- # let's tell the administrator what to do next
-
- elog
- elog "The 'vhosts' USE flag is switched ON"
- elog "This means that webapp-config will not be run automatically to"
- elog "complete the installation."
- elog
- elog "To install ${CATEGORY}/${PN}-${PVR} into a virtual host, run the following command:"
- elog
- elog " webapp-config -I -h <host> -d ${PN} ${CATEGORY}/${PN} ${PVR}"
- elog
- elog "For more details, see the webapp-config(8) man page"
- fi
-
- return 0
-}
-
-function webapp_pkg_prerm ()
-{
- # remove any virtual installs that there are
-
- local my_output
- local x
-
- my_output="$(${WEBAPP_CONFIG} --list-installs ${CATEGORY}/${PN} ${PVR})"
-
- if [ "${?}" != "0" ]; then
- return
- fi
-
- if ! use vhosts ; then # remove any installed copies
-
- for x in ${my_output} ; do
- [ -f ${x}/.webapp ] && . ${x}/.webapp || ewarn "Cannot find file ${x}/.webapp"
- if [ "${WEB_HOSTNAME}" -a "${WEB_INSTALLDIR}" ]; then
- ${WEBAPP_CONFIG} -C -h ${WEB_HOSTNAME} -d ${WEB_INSTALLDIR} ${CATEGORY}/${PN} ${PVR}
- fi
- done
- else # don't remove anything, but warn user. bug #136959
-
- ewarn "Don't forget to use webapp-config to remove any copies of"
- ewarn "${CATEGORY}/${PN}-${PVR} installed in"
- ewarn
-
- for x in ${my_output} ; do
- [ -f ${x}/.webapp ] && . ${x}/.webapp || ewarn "Cannot find file ${x}/.webapp"
- ewarn " ${x}"
- done
- fi
-}
diff --git a/examples/phpmyadmin-2.5.4-r1.ebuild b/examples/phpmyadmin-2.5.4-r1.ebuild
deleted file mode 100644
index d84d7ad..0000000
--- a/examples/phpmyadmin-2.5.4-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /home/cvsroot/gentoo-x86/dev-db/phpmyadmin/phpmyadmin-2.5.4.ebuild,v 1.6 2003/12/15 20:03:27 stuart Exp $
-
-inherit webapp
-
-MY_P=phpMyAdmin-${PV/_p/-pl}
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="http://phpmyadmin.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}-php.tar.bz2"
-RESTRICT="nomirror"
-LICENSE="GPL-2"
-KEYWORDS="alpha arm ppc hppa mips sparc x86 amd64"
-DEPEND=">=net-www/apache-1.3
- >=dev-db/mysql-3.21 <dev-db/mysql-5.0
- >=dev-php/mod_php-3.0.8
- sys-apps/findutils"
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- epatch ${FILESDIR}/config.inc.php-${PV}.patch
-
- # Remove .cvs* files and CVS directories
- find ${S} -name .cvs\* -or \( -type d -name CVS -prune \) | xargs rm -rf
-}
-
-src_compile() {
- einfo "Setting random user/password details for the controluser"
-
- local pmapass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}"
- mv config.inc.php ${T}/config.inc.php
- sed -e "s/@pmapass@/${pmapass}/g" \
- ${T}/config.inc.php > config.inc.php
- sed -e "s/@pmapass@/${pmapass}/g" \
- ${FILESDIR}/mysql-setup.sql.in-${PV} > ${T}/mysql-setup.sql
-}
-
-src_install() {
- webapp_src_preinst
-
- local docs="ANNOUNCE.txt CREDITS Documentation.txt RELEASE-DATE-${PV} TODO ChangeLog LICENSE README"
-
- # install the SQL scripts available to us
- #
- # unfortunately, we do not have scripts to upgrade from older versions
- # these are things we need to add at a later date
-
- webapp_sqlscript mysql ${T}/mysql-setup.sql
-
- # handle documentation files
- #
- # NOTE that doc files go into /usr/share/doc as normal; they do NOT
- # get installed per vhost!
-
- dodoc ${docs}
- for doc in ${docs} INSTALL; do
- rm -f ${doc}
- done
-
- # Copy the app's main files
-
- einfo "Installing main files"
- cp -r . ${D}${MY_HTDOCSDIR}
-
- # Identify the configuration files that this app uses
-
- webapp_configfile ${MY_HTDOCSDIR}/config.inc.php
-
- # Identify any script files that need #! headers adding to run under
- # a CGI script (such as PHP/CGI)
- #
- # for phpmyadmin, we *assume* that all .php files that don't end in
- # .inc.php need to have CGI/BIN support added
-
- for x in `find . -name '*.php' -print | grep -v 'inc.php'` ; do
- webapp_runbycgibin php ${MY_HTDOCSDIR}/$x
- done
-
- # there are no files which need to be owned by the web server
-
- webapp_serverowned ${MY_HTDOCSDIR}
-
- # add the post-installation instructions
-
- webapp_postinst_txt en ${FILESDIR}/postinstall-en.txt
-
- # all done
- #
- # now we let the eclass strut its stuff ;-)
-
- webapp_src_install
-}
diff --git a/examples/phpmyadmin-2.5.4-r2.ebuild b/examples/phpmyadmin-2.5.4-r2.ebuild
deleted file mode 100644
index 88beeb1..0000000
--- a/examples/phpmyadmin-2.5.4-r2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /home/cvsroot/gentoo-x86/dev-db/phpmyadmin/phpmyadmin-2.5.4.ebuild,v 1.6 2003/12/15 20:03:27 stuart Exp $
-
-inherit eutils
-inherit webapp
-
-MY_P=phpMyAdmin-${PV/_p/-pl}
-DESCRIPTION="Web-based administration for MySQL database in PHP"
-HOMEPAGE="http://phpmyadmin.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}-php.tar.bz2"
-RESTRICT="nomirror"
-LICENSE="GPL-2"
-KEYWORDS="alpha arm ppc hppa mips sparc x86 amd64"
-DEPEND=">=net-www/apache-1.3
- >=dev-db/mysql-3.21 <dev-db/mysql-5.0
- >=dev-php/mod_php-3.0.8
- sys-apps/findutils"
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- epatch ${FILESDIR}/config.inc.php-${PV}.patch
-
- # Remove .cvs* files and CVS directories
- find ${S} -name .cvs\* -or \( -type d -name CVS -prune \) | xargs rm -rf
-}
-
-src_compile() {
- einfo "Setting random user/password details for the controluser"
-
- local pmapass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}"
- mv config.inc.php ${T}/config.inc.php
- sed -e "s/@pmapass@/${pmapass}/g" \
- ${T}/config.inc.php > config.inc.php
- sed -e "s/@pmapass@/${pmapass}/g" \
- ${FILESDIR}/mysql-setup.sql.in-${PV} > ${T}/mysql-setup.sql
-}
-
-src_install() {
- webapp_src_preinst
-
- local docs="ANNOUNCE.txt CREDITS Documentation.txt RELEASE-DATE-${PV} TODO ChangeLog LICENSE README"
-
- # install the SQL scripts available to us
- #
- # unfortunately, we do not have scripts to upgrade from older versions
- # these are things we need to add at a later date
-
- webapp_sqlscript mysql ${T}/mysql-setup.sql
-
- # handle documentation files
- #
- # NOTE that doc files go into /usr/share/doc as normal; they do NOT
- # get installed per vhost!
-
- dodoc ${docs}
- for doc in ${docs} INSTALL; do
- rm -f ${doc}
- done
-
- # Copy the app's main files
-
- einfo "Installing main files"
- cp -r . ${D}${MY_HTDOCSDIR}
-
- # Identify the configuration files that this app uses
-
- webapp_configfile ${MY_HTDOCSDIR}/config.inc.php
-
- # Identify any script files that need #! headers adding to run under
- # a CGI script (such as PHP/CGI)
- #
- # for phpmyadmin, we *assume* that all .php files that don't end in
- # .inc.php need to have CGI/BIN support added
-
- for x in `find . -name '*.php' -print | grep -v 'inc.php'` ; do
- webapp_runbycgibin php ${MY_HTDOCSDIR}/$x
- done
-
- # there are no files which need to be owned by the web server
-
- # add the post-installation instructions
-
- webapp_postinst_txt en ${FILESDIR}/postinstall-en.txt
-
- # all done
- #
- # now we let the eclass strut its stuff ;-)
-
- webapp_src_install
-}
diff --git a/examples/postinstall-en.txt b/examples/postinstall-en.txt
deleted file mode 100644
index 4bd19f0..0000000
--- a/examples/postinstall-en.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-To complete installation, you must
-
-1. Update MySQL's grant tables and the pmadb database:
- mysql -u root -p < ${MY_SQLSCRIPTSDIR}/mysql/${PVR}_create.sql
-2. Reload MySQL:
- /etc/init.d/mysql restart
-
-If you are upgrading from an earlier version and are using phpMyAdmin's
-features for master/foreign tables be sure to read
- http://localhost/phpmyadmin/Documentation.html#col_com
-You will need to perform the ALTER TABLE step yourself.
-
-Finally, point your browser to http://localhost/phpmyadmin/.
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-06-14 17:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-14 17:09 [gentoo-commits] proj/webapp-config:blueness commit in: examples/, /, doc/, ebuild/, eclass/ Anthony G. Basile
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox