[pkg-lighttpd] Bug#355773: lighttpd: lighty-enable-mod does not
handle command line arguments.
Tobias Gruetzmacher
tobias at portfolio16.de
Tue Mar 7 19:48:18 UTC 2006
Package: lighttpd
Version: 1.4.10-4
Severity: normal
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The Perl script lighty-enable-mod does not handle command line
arguments at all because of two programming errors (checks ARGV[1]
instead of ARGV[0], so only works when there are 2 or more arguments
and uses split on @ARGV which gives the length of the array).
See the attached patch for a fix of those errors and some small
enhancements and a fix for a grammatical error in one message.
- -- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14-2-k7
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Versions of packages lighttpd depends on:
ii libbz2-1.0 1.0.3-2 high-quality block-sorting file co
ii libc6 2.3.6-3 GNU C Library: Shared libraries an
ii libldap2 2.1.30-13 OpenLDAP libraries
ii libpcre3 6.4-1.1 Perl 5 Compatible Regular Expressi
ii libssl0.9.8 0.9.8a-7 SSL shared libraries
ii lsb-base 3.0-15 Linux Standard Base 3.0 init scrip
ii mime-support 3.36-1 MIME files 'mime.types' & 'mailcap
ii zlib1g 1:1.2.3-10 compression library - runtime
Versions of packages lighttpd recommends:
pn php4-cgi <none> (no description available)
pn php5-cgi <none> (no description available)
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFEDeOCGf7YPOK+o0ERAjgVAJ9nNb6tc0D478uQqWKIEhJEeePrcQCgxmGa
a6eDlzVzhODYLCQFneqyHEc=
=T/c+
-----END PGP SIGNATURE-----
-------------- next part --------------
--- /usr/sbin/lighty-enable-mod 2006-02-13 13:23:22.000000000 +0100
+++ /home/tobias/bin/lighty-enable-mod 2006-03-07 20:37:23.494608494 +0100
@@ -36,11 +36,11 @@
#--- list of avaiable modules
my @files = bsd_glob($confdir.'conf-available/*.conf');
print "Available modules: ";
-foreach my $file (@files) {
- if (basename($file) =~ /^\d+\-([\w\-]+)\.conf$/) {
+foreach my $file (@files) {
+ if (basename($file) =~ /^\d+\-([\w\-]+)\.conf$/) {
$available{$1} = $file;
print qq{$1 };
- }
+ }
}
print "\n";
@@ -48,14 +48,14 @@
@files = bsd_glob($confdir.'conf-enabled/*.conf');
print "Already enabled modules: ";
foreach my $file (@files) {
- if (basename($file) =~ /^\d+\-([\w\-]+)\.conf$/) {
+ if (basename($file) =~ /^\d+\-([\w\-]+)\.conf$/) {
$enabled{$1} = $file;
- print qq{$1 };
+ print qq{$1 };
}
}
print "\n";
-unless (defined($ARGV[1])) {
+unless (defined($ARGV[0])) {
my $prompt = $enabling ? 'Enable module: ' : 'Disable module: ';
my $term = new Term::ReadLine $prompt;
my $OUT = $term->OUT || \*STDOUT;
@@ -63,7 +63,7 @@
@todo = split(/ /, $var);
}
else {
- @todo = split(/ /, @ARGV);
+ @todo = @ARGV;
}
@@ -76,19 +76,23 @@
my $st = stat($target);
unless ( -f $target ) {
- symlink($available{$do}, $target);
- print "ok\n";
- }
+ if (symlink($available{$do}, $target)) {
+ print "ok\n";
+ }
+ else {
+ print "failure: $!\n";
+ }
+ }
else {
print "already enabled\n";
}
#--- check dependencies
- for my $module ($moduledeps{$do})
+ for my $module (@{$moduledeps{$do}})
{
unless ( -f $target && -l $target )
{
- print qq{Module $do depends from module $module which is not activated.\n};
+ print qq{Module $do depends on module $module which is not activated.\n};
}
}
}
More information about the pkg-lighttpd-maintainers
mailing list