Package: apache2-common
Version: 2.0.54-5
Followup-For: Bug #373969

I changed disabledsites= to enabledsites= on line 6.

-- 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
--- ../orig/a2ensite.orig       2006-06-10 21:14:30.000000000 -0500
+++ a2ensite    2006-06-16 20:41:10.000000000 -0500
@@ -1,38 +1,128 @@
 #!/bin/sh -e
 
+# Initialize variables
 SYSCONFDIR='/etc/apache2'
-
+prompt=1
+enabledsites=
+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."

Reply via email to