Bug#373969: apache2-common: wrong patch submitted initially
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."
Reply to: