Package: apache2-common Version: 2.0.54-5 Followup-For: Bug #373969
I submitted the a2dissite patch on accident. Here is the right a2ensite.patch. -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.8-2-386 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages apache2-common depends on: ii apache2-utils 2.0.54-5 utility programs for webservers ii debconf 1.4.30.13 Debian configuration management sy ii debianutils 2.8.4 Miscellaneous utilities specific t ii libc6 2.3.2.ds1-22sarge3 GNU C Library: Shared libraries an ii libdb4.2 4.2.52-18 Berkeley v4.2 Database Libraries [ ii libexpat1 1.95.8-3 XML parsing C library - runtime li ii libgcc1 1:3.4.3-13 GCC support library ii libmagic1 4.12-1 File type determination library us ii mime-support 3.28-1 MIME files 'mime.types' & 'mailcap ii net-tools 1.60-10 The NET-3 networking toolkit ii openssl 0.9.7e-3sarge1 Secure Socket Layer (SSL) binary a ii ssl-cert 1.0-11 Simple debconf wrapper for openssl -- no debconf information
--- /home/speeves/a2ensite.orig 2006-06-16 09:56:06.778188968 -0500 +++ a2ensite 2006-06-16 06:39:43.000000000 -0500 @@ -1,38 +1,128 @@ #!/bin/sh -e +# Initialize variables SYSCONFDIR='/etc/apache2' - +prompt=1 +disabledsites= +usage=" +Usage: ${0} [OPTION]... + +Options: + -f Never prompt + -h This message +" + +while getopts ":ft" OPT +do + case $OPT in + f ) + prompt=0 + ;; + h ) + echo "$usage" + exit 1 + ;; + \?) + echo "$usage" + exit 1;; + esac +done +# remove the flags from $@ +shift $((${OPTIND} - 1)) + + +# If a2ensite is called without an argument, then +# print a list of sites to choose from. Multiple sites +# can be passed to the SITENAME variable, (including globbing). if [ -z $1 ]; then echo "Which site would you like to enable?" - echo -n "Your choices are: " - ls $SYSCONFDIR/sites-available/* | \ - sed -e "s,$SYSCONFDIR/sites-available/,,g" | xargs echo + echo "Your choices are: " + ls $SYSCONFDIR/sites-available/ echo -n "Site name? " - read SITENAME + read SITENAME else - SITENAME=$1 + SITENAME="$@" fi -if [ $SITENAME = "default" ]; then - PRIORITY="000" -fi -if [ -e $SYSCONFDIR/sites-enabled/$SITENAME -o \ - -e $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" ]; then - echo "This site is already enabled!" - exit 0 +ensite="y" +# Loop through the site files in SITENAME +for siteentry in $SITENAME +do + # Allow for file globbing + for site in $(ls $SYSCONFDIR/sites-available/$siteentry | xargs -n1 -r basename) + do + # Set default site with top priority + if [ $site = "default" ]; then + PRIORITY="000" + fi + + # Check to see if the site has already been enabled + if [ -e $SYSCONFDIR/sites-enabled/$site -o \ + -e $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$site" ]; then + echo "$site is already enabled!" + enabled=1 + fi + + if ! [ -e $SYSCONFDIR/sites-available/$site ]; then + echo "$site does not exist!" + enabled=1 + fi + + # If -f flag is not passed to the script, prompt user for confirmation on each site. + if [ ${enabled:-0} -eq 0 ]; then + if [ $prompt -eq 1 ]; then + ensitelast=$ensite + echo -n "a2ensite: enable $site? [${ensitelast}] " + read ensite + + if [ "$ensite" = "" ]; then + ensite=$ensitelast + fi + + if [ ${ensite:-n} = "y" ]; then + if [ $site = "default" ]; then + ln -sf $SYSCONFDIR/sites-available/$site \ + $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$site" + else + ln -sf $SYSCONFDIR/sites-available/$site \ + $SYSCONFDIR/sites-enabled/$site + fi + enabledsites="$enabledsites $site " + fi + else + if [ $site = "default" ]; then + ln -sf $SYSCONFDIR/sites-available/$site \ + $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$site" + else + ln -sf $SYSCONFDIR/sites-available/$site \ + $SYSCONFDIR/sites-enabled/$site + fi + enabledsites="$enabledsites $site " + fi + fi + unset enabled + done +done + + + +# Print list of enabled sites, if any. +# Test to see if any sites were enabled +if [ ${#enabledsites} -gt 0 ]; then + echo "Following site(s) enabled: " + echo + for vhost in $enabledsites + do + echo "$vhost" + done + echo + echo "Run /etc/init.d/apache2 reload to fully enable." +else + echo + echo "No sites were enabled." fi +unset enabledsites -if ! [ -e $SYSCONFDIR/sites-available/$SITENAME ]; then - echo "This site does not exist!" - exit 1 -fi -if [ $SITENAME = "default" ]; then - ln -sf $SYSCONFDIR/sites-available/$SITENAME \ - $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" -else - ln -sf $SYSCONFDIR/sites-available/$SITENAME $SYSCONFDIR/sites-enabled/$SITENAME -fi -echo "Site $SITENAME installed; run /etc/init.d/apache2 reload to enable."