Author: djpig
Date: 2005-06-17 02:19:29 +0200 (Fri, 17 Jun 2005)
New Revision: 416

Modified:
   trunk/checks/menu-format
   trunk/checks/menus
   trunk/checks/menus.desc
   trunk/collection/menu-files
   trunk/debian/changelog
   trunk/testset/binary/debian/rules
   trunk/testset/filenames/debian/rules
   trunk/testset/tags.binary
   trunk/testset/tags.filenames
Log:
  * checks/menus:
    + [FL] New check menu-file-in-usr-lib because /usr/lib/menu is
      deprecated
    + [FL] Also find menu files in /usr/share/menu (Closes: #314187)
    + [FL] Rename executable-in-usr-lib-menu to executable-menu-file
  * checks/menu-format:
    + [FL] Adapt to changes in collections/menu-files

  * collections/menu-files:
    + [FL] Also collect files from /usr/share/menu


Modified: trunk/checks/menu-format
===================================================================
--- trunk/checks/menu-format    2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/checks/menu-format    2005-06-17 00:19:29 UTC (rev 416)
@@ -22,6 +22,7 @@
 use strict;
 use Tags;
 use Util;
+use File::Basename;
 
 # This is a list of all tags that should be in every menu item.
 my @req_tags=qw(needs section title command);
@@ -119,13 +120,25 @@
     $sections_hash{$section}=1;
 }
 
-opendir (MENUDIR, "menu/") or fail("cannot read menu file directory.");
-while (my $menufile = readdir(MENUDIR)) {
-    next if -x "menu/$menufile"; # don't try to parse executables
-    next if $menufile eq "README"; # README is a special case
+my @menufiles;
+opendir (MENUDIR, "menu/lib") or fail("cannot read menu/lib file directory.");
+push @menufiles, map { "menu/lib/$_" } readdir(MENUDIR);
+closedir MENUDIR;
+opendir (MENUDIR, "menu/share") or fail("cannot read menu/share file 
directory.");
+push @menufiles, map { "menu/share/$_" } readdir(MENUDIR);
+closedir MENUDIR;
 
+foreach my $menufile (@menufiles) {
+    next if -x $menufile; # don't try to parse executables
+
+    my $basename = basename $menufile;
+    my $fullname = "/usr/share/menu/$basename";
+    $fullname = "/usr/lib/menu/$basename" if $menufile =~ m,^menu/lib/,o;
+
+    next if $basename eq "README"; # README is a special case
+
     my $menufile_line ="";
-    open (IN,"menu/$menufile") or
+    open (IN, $menufile) or
        fail("cannot open menu file $menufile for reading.");
     # line below is commented out in favour of the while loop
     # do { $_=<IN>; } while defined && (m/^\s* \#/ || m/^\s*$/);
@@ -140,7 +153,7 @@
 
     # Check first line of file to see if it matches the old menu file format.
     if ($menufile_line =~ m/^(?!\?package\(.*\)).* .* .* .* "?.*"? .*$/o) {
-       tag "old-format-menu-file", "/usr/lib/menu/$menufile";
+       tag "old-format-menu-file", $fullname;
        close IN;
        next;
     }
@@ -159,16 +172,16 @@
        # Note that I allow whitespace after the continuation character.
        # This is caught by VerifyLine().
        if (! ($menufile_line =~ m/\\\s*?$/)) {
-           VerifyLine($pkg,$type,$menufile,$line,$lc);
+           VerifyLine($pkg,$type,$menufile,$fullname,$line,$lc);
            $line="";
        }
     } while ($menufile_line = <IN>);
-    VerifyLine($pkg,$type,$menufile,$line,$lc);
+    VerifyLine($pkg,$type,$menufile,$fullname,$line,$lc);
 
     close IN;
 }
-closedir MENUDIR;
 
+
 }
 
 # -----------------------------------
@@ -176,11 +189,7 @@
 # Pass this a line of a menu file, it sanitizes it and
 # verifies that it is correct.
 sub VerifyLine {
-    my $pkg=shift;
-    my $type=shift;
-    my $menufile=shift;
-    my $line=shift;
-    my $linecount=shift;
+    my ( $pkg, $type, $menufile, $fullname, $line, $linecount ) = @_;
 
     my %vals;
 
@@ -193,7 +202,7 @@
     # This is in here to fix a common mistake: whitespace after a '\'
     # character.
     if ($line =~ s/\\\s+\n/ /mgo) {
-       tag "whitespace-after-continuation-character", 
"/usr/lib/menu/$menufile:$linecount";
+       tag "whitespace-after-continuation-character", "$fullname:$linecount";
     }
 
     # Ignore lines that are all whitespace or empty.
@@ -204,14 +213,14 @@
 
     # Start by testing the package check.
     if (not $line =~ m/^\?package\((.*?)\):/o) {
-       tag "bad-test-in-menu-item", "/usr/lib/menu/$menufile:$linecount";
+       tag "bad-test-in-menu-item", "$fullname:$linecount";
        return;
     }
     my $pkg_test = $1;
     my %tested_packages = map { $_ => 1 } split( /\s*,\s*/, $pkg_test);
     my $tested_packages = scalar keys %tested_packages;
     unless (exists $tested_packages{$pkg}) {
-       tag "pkg-not-in-package-test", "$pkg_test /usr/lib/menu/$menufile";
+       tag "pkg-not-in-package-test", "$pkg_test $fullname";
     }
     $line =~ s/^\?package\(.*?\)://;
        
@@ -251,14 +260,14 @@
        my $value = $2;
 
        if (exists $vals{$tag}) {
-           tag "duplicated-tag-in-menu-item", "/usr/lib/menu/$menufile 
$1:$linecount";
+           tag "duplicated-tag-in-menu-item", "$fullname $1:$linecount";
        }
 
        # If the value was quoted, remove those quotes.
        if ($value =~ m/^\"(.*)\"$/) {
            $value = $1;
        } else {
-           tag "unquoted-string-in-menu-item", "/usr/lib/menu/$menufile 
$1:$linecount";
+           tag "unquoted-string-in-menu-item", "$fullname $1:$linecount";
        }
 
        # If the value has escaped characters, remove the
@@ -280,7 +289,7 @@
     # If that loop didn't match up to end of line, we have a
     # problem..
     if (pos($line) < length($line)) {
-       tag "unparsable-menu-item", "/usr/lib/menu/$menufile:$linecount";
+       tag "unparsable-menu-item", "$fullname:$linecount";
        # Give up now, before things just blow up in our face.
        return;
     }
@@ -290,7 +299,7 @@
     # Test for important tags.
     foreach my $tag (@req_tags) {
        unless ( exists($vals{$tag}) && defined($vals{$tag}) ) {
-           tag "menu-item-missing-required-tag", "$tag 
/usr/lib/menu/$menufile:$linecount";
+           tag "menu-item-missing-required-tag", "$tag $fullname:$linecount";
            # Just give up right away, if such an essential tag is missing,
            # chance is high the rest doesn't make sense either. And now all
            # following checks can assume those tags to be there
@@ -301,7 +310,7 @@
     # Make sure all tags are known.
     foreach my $tag (keys %vals) {
        if (! $known_tags_hash{$tag}) {
-           tag "menu-item-contains-unknown-tag", "$tag 
/usr/lib/menu/$menufile:$linecount";
+           tag "menu-item-contains-unknown-tag", "$tag $fullname:$linecount";
        }
     }
 
@@ -320,9 +329,9 @@
     
        my @com=split(' ',$vals{'command'});
        if ($com[0] eq "su-to-root") {
-           tag "su-to-root-without-usr-sbin", 
"/usr/lib/menu/$menufile:$linecount";
+           tag "su-to-root-without-usr-sbin", "$fullname:$linecount";
        } elsif ($com[0] eq "/usr/bin/su-to-root") {
-           tag "su-to-root-with-usr-bin", "/usr/lib/menu/$menufile:$linecount";
+           tag "su-to-root-with-usr-bin", "$fullname:$linecount";
        } elsif ($com[0] eq "/usr/sbin/su-to-root") {
            shift @com;
            
@@ -347,16 +356,16 @@
             }
             
             unless ($cmd) {
-               tag "su-to-root-without--c", 
"/usr/lib/menu/$menufile:$linecount";
+               tag "su-to-root-without--c", "$fullname:$linecount";
            } else {   
-               tag "menu-command-not-in-package", 
"/usr/lib/menu/$menufile:$linecount $cmd"
+               tag "menu-command-not-in-package", "$fullname:$linecount $cmd"
                    if (!($file_index{".$cmd"} 
                        || grep {$file_index{".".$_.$cmd}} qw(/usr/local/bin/ 
/usr/bin/ /bin/ /usr/bin/X11/ /usr/games/)) # Check for binary in PATH
                        && ($tested_packages < 2)
                        && ($section !~ m:^WindowManagers/Modules:));
            }
        } else {
-           tag "menu-command-not-in-package", 
"/usr/lib/menu/$menufile:$linecount $com[0]"
+           tag "menu-command-not-in-package", "$fullname:$linecount $com[0]"
                if ($com[0] && ! ($file_index{".$com[0]"}
                    || grep {$file_index{".".$_.$com[0]}} qw(/usr/local/bin/ 
/usr/bin/ /bin/ /usr/bin/X11/ /usr/games/)) # Check for binary in PATH
                    && ($tested_packages < 2)
@@ -364,13 +373,13 @@
        }
 
     if (exists($vals{'icon'})) {
-       VerifyIcon($menufile, $linecount, $vals{'icon'}, 32);
+       VerifyIcon($menufile, $fullname, $linecount, $vals{'icon'}, 32);
     }
     if (exists($vals{'icon32x32'})) {
-       VerifyIcon($menufile, $linecount, $vals{'icon32x32'}, 32);
+       VerifyIcon($menufile, $fullname, $linecount, $vals{'icon32x32'}, 32);
     }
     if (exists($vals{'icon16x16'})) {
-       VerifyIcon($menufile, $linecount, $vals{'icon16x16'}, 16);
+       VerifyIcon($menufile, $fullname, $linecount, $vals{'icon16x16'}, 16);
     }
 
     # Check the needs tag.
@@ -379,26 +388,26 @@
     if ($section =~ m:^WindowManagers/Modules:) {
        # WM/Modules: needs must not be the regular ones nor wm
        if ($needs_tag_vals_hash{$needs} or $needs eq "wm") {
-           tag "non-wm-module-in-wm-modules-menu-section", "$needs 
/usr/lib/menu/$menufile:$linecount";
+           tag "non-wm-module-in-wm-modules-menu-section", "$needs 
$fullname:$linecount";
        }
     } elsif ($section =~ m:^WindowManagers:) {
        # Other WM sections: needs must be wm
         if ($needs ne 'wm') {
-           tag "non-wm-in-windowmanager-menu-section", "$needs 
/usr/lib/menu/$menufile:$linecount";
+           tag "non-wm-in-windowmanager-menu-section", "$needs 
$fullname:$linecount";
        }
     } else {
        # Any other section: just only the general ones
        if ($needs eq "dwww") {
-           tag "menu-item-needs-dwww", "/usr/lib/menu/$menufile:$linecount";
+           tag "menu-item-needs-dwww", "$fullname:$linecount";
        } elsif (not $needs_tag_vals_hash{$needs}) {
-           tag "menu-item-needs-tag-has-unknown-value", "$needs 
/usr/lib/menu/$menufile:$linecount";
+           tag "menu-item-needs-tag-has-unknown-value", "$needs 
$fullname:$linecount";
        }
     }
 
     # Check the section tag
        # Check for historical changes in the section tree.
        if ($section =~ m:^Apps/Games:) {
-           tag "menu-item-uses-apps-games-section", 
"/usr/lib/menu/$menufile:$linecount";
+           tag "menu-item-uses-apps-games-section", "$fullname:$linecount";
            $section =~ s:^Apps/::;
        }
 
@@ -406,7 +415,7 @@
        my ($rootsection) = $section =~ m:([^/]*):;
        if (not $root_sections_hash{$rootsection}) {
            if (not $rootsection =~ m/$pkg/i) {
-               tag "menu-item-creates-new-root-section", "$rootsection 
/usr/lib/menu/$menufile:$linecount";
+               tag "menu-item-creates-new-root-section", "$rootsection 
$fullname:$linecount";
            }
        } else {
            # Check to see if the section is valid.
@@ -424,18 +433,18 @@
                }
            }
            if (! $ok) {
-               tag "menu-item-creates-new-section", "$vals{section} 
/usr/lib/menu/$menufile:$linecount";
+               tag "menu-item-creates-new-section", "$vals{section} 
$fullname:$linecount";
            }
        }
 }
 
 
 sub VerifyIcon {
-    my ($menufile, $linecount, $icon, $size) = @_;
+    my ($menufile, $fullname, $linecount, $icon, $size) = @_;
     local *IN;
 
     if ($icon eq 'none') {
-       tag "menu-item-uses-icon-none", "/usr/lib/menu/$menufile:$linecount";
+       tag "menu-item-uses-icon-none", "$fullname:$linecount";
        return;
     }
     

Modified: trunk/checks/menus
===================================================================
--- trunk/checks/menus  2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/checks/menus  2005-06-17 00:19:29 UTC (rev 416)
@@ -80,16 +80,20 @@
 
     if ($perm =~ m,^-,o) { # file checks
        # menu file?
-       if ($file =~ m,^usr/lib/menu/\S,o) { # correct permissions?
+       if ($file =~ m,^usr/(lib|share)/menu/\S,o) { # correct permissions?
            if ($perm =~ m,x,o) {
-               tag "executable-in-usr-lib-menu", sprintf("$file %04o",$operm);
+               tag "executable-menu-file", sprintf("$file %04o",$operm);
            }
 
-           next if $file eq 'usr/lib/menu/README';
+           next if $file =~ m,^usr/(lib|share)/menu/README$,;
 
+           if ($file =~ m,^usr/lib/,o) {
+               tag "menu-file-in-usr-lib", $file;
+           }
+
            $menu_file = $file;
 
-           if ($file eq 'usr/lib/menu/menu' and $pkg ne 'menu') {
+           if ($file =~ m,usr/(lib|share)/menu/menu$,o and $pkg ne 'menu') {
                tag "bad-menu-file-name", $file;
            }
        }

Modified: trunk/checks/menus.desc
===================================================================
--- trunk/checks/menus.desc     2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/checks/menus.desc     2005-06-17 00:19:29 UTC (rev 416)
@@ -67,12 +67,18 @@
 Info: The postrm script calls the <tt>install-docs</tt> command. Usually,
  this command should be called from the <tt>prerm</tt> maintainer script.
 
-Tag: executable-in-usr-lib-menu
+Tag: executable-menu-file
 Type: warning
-Info: Files in <tt>/usr/lib/menu</tt> should normally not be marked as
- executables. You only need to do this if your package has to generate
- menu entries dynamically.
+Info: Menu files should normally not be marked as executables. You only
+ need to do this if your package has to generate menu entries dynamically.
 
+Tag: menu-file-in-usr-lib
+Type: warning
+Info: As of menu, version 2.1.25, /usr/lib/menu as location for menu
+ files is deprecated (but still works perfectly). Menu files should
+ now be placed in /usr/share/menu instead. Only menu files that are
+ actually binary executables still need to go to /usr/lib/menu.
+
 Tag: executable-in-usr-share-docbase
 Type: error
 Info: Files in <tt>/usr/share/doc-base</tt> may not be marked as executables.

Modified: trunk/collection/menu-files
===================================================================
--- trunk/collection/menu-files 2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/collection/menu-files 2005-06-17 00:19:29 UTC (rev 416)
@@ -35,14 +35,25 @@
        or fail("cannot rm old menu directory");
 }
 
-if (-d "unpacked/usr/lib/menu") {
-    spawn('cp', '-a', 'unpacked/usr/lib/menu', 'menu') == 0
-       or fail("cannot copy unpacked/usr/lib/menu directory");
+mkdir("menu", 0777) or fail("cannot mkdir menu: $!");
+
+if (-d "unpacked/usr/lib/menu") {    
+    spawn('cp', '-a', 'unpacked/usr/lib/menu', 'menu/lib') == 0
+       or fail("cannot copy unpacked/usr/lib/menu/ directory");
 } else {
     # no menu directory
-    mkdir("menu", 0777) or fail("cannot mkdir menu: $!");
+    mkdir("menu/lib", 0777) or fail("cannot mkdir menu/lib: $!");
 }
 
+if (-d "unpacked/usr/share/menu") {    
+    spawn('cp', '-a', 'unpacked/usr/share/menu', 'menu/share') == 0
+       or fail("cannot copy unpacked/usr/share/menu directory");
+} else {
+    # no menu directory
+    mkdir("menu/share", 0777) or fail("cannot mkdir menu/share: $!");
+}
+
+
 exit 0;
 
 # -----------------------------------

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/debian/changelog      2005-06-17 00:19:29 UTC (rev 416)
@@ -2,8 +2,18 @@
 
   * checks/conffiles:
     + [JvW] Warn on /var files being a conffile too (Closes: #293443)
+  * checks/menus:
+    + [FL] New check menu-file-in-usr-lib because /usr/lib/menu is
+      deprecated
+    + [FL] Also find menu files in /usr/share/menu (Closes: #314187)
+    + [FL] Rename executable-in-usr-lib-menu to executable-menu-file
+  * checks/menu-format:
+    + [FL] Adapt to changes in collections/menu-files
 
- -- Jeroen van Wolffelaar <[EMAIL PROTECTED]>  Tue, 12 Apr 2005 23:12:36 +0200
+  * collections/menu-files:
+    + [FL] Also collect files from /usr/share/menu
+  
+ -- Frank Lichtenheld <[EMAIL PROTECTED]>  Fri, 17 Jun 2005 02:17:52 +0200
 
 lintian (1.23.8) unstable; urgency=low
 

Modified: trunk/testset/binary/debian/rules
===================================================================
--- trunk/testset/binary/debian/rules   2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/testset/binary/debian/rules   2005-06-17 00:19:29 UTC (rev 416)
@@ -19,8 +19,10 @@
        install -s -m 755 hello-static $(tmp)/usr/bin/static-hello
        install -d $(tmp)/usr/share/doc/binary
        install -m 644 INSTALL $(tmp)/usr/share/doc/binary
+       install -d $(tmp)/usr/share/menu
        install -d $(tmp)/usr/lib/menu
        install -d $(tmp)/usr/share/binary
+       install -m 644 debian/menu $(tmp)/usr/share/menu/binary
        install -m 644 debian/menu $(tmp)/usr/lib/menu/binary
        install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary
        install -m 644 debian/copyright $(tmp)/usr/share/doc/binary

Modified: trunk/testset/filenames/debian/rules
===================================================================
--- trunk/testset/filenames/debian/rules        2005-04-12 23:21:38 UTC (rev 
415)
+++ trunk/testset/filenames/debian/rules        2005-06-17 00:19:29 UTC (rev 
416)
@@ -38,8 +38,11 @@
        touch debian/tmp/usr/lib/filenames/readonly/test
 
        install -d debian/tmp/usr/lib/menu
+       install -d debian/tmp/usr/share/menu
        touch debian/tmp/usr/lib/menu/README
+       touch debian/tmp/usr/share/menu/README
        touch debian/tmp/usr/lib/menu/menu
+       touch debian/tmp/usr/share/menu/menu
        chmod 644 debian/tmp/usr/lib/menu/*
 
        install -d debian/tmp/usr/lib/perl5/foo

Modified: trunk/testset/tags.binary
===================================================================
--- trunk/testset/tags.binary   2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/testset/tags.binary   2005-06-17 00:19:29 UTC (rev 416)
@@ -2,14 +2,20 @@
 E: binary: debian-changelog-file-missing
 E: binary: file-directly-in-usr-share usr/share/baz
 E: binary: menu-item-missing-required-tag section /usr/lib/menu/binary:1
+E: binary: menu-item-missing-required-tag section /usr/share/menu/binary:1
 E: binary: non-wm-in-windowmanager-menu-section x11 /usr/lib/menu/binary:4
+E: binary: non-wm-in-windowmanager-menu-section x11 /usr/share/menu/binary:4
 E: binary: postinst-does-not-call-updatemenus usr/lib/menu/binary
 E: binary: postrm-does-not-call-updatemenus usr/lib/menu/binary
 E: binary: statically-linked-binary ./usr/bin/static-hello
 E: binary: su-to-root-with-usr-bin /usr/lib/menu/binary:5
+E: binary: su-to-root-with-usr-bin /usr/share/menu/binary:5
 E: binary: su-to-root-without--c /usr/lib/menu/binary:2
 E: binary: su-to-root-without--c /usr/lib/menu/binary:3
+E: binary: su-to-root-without--c /usr/share/menu/binary:2
+E: binary: su-to-root-without--c /usr/share/menu/binary:3
 E: binary: su-to-root-without-usr-sbin /usr/lib/menu/binary:4
+E: binary: su-to-root-without-usr-sbin /usr/share/menu/binary:4
 E: binary: suidregister-used-in-maintainer-script postinst
 E: binary: unstripped-binary-or-object ./usr/bin/hello
 I: binary: arch-dep-package-has-big-usr-share
@@ -25,8 +31,13 @@
 W: binary: file-in-unusual-dir usr/bar
 W: binary: invalid-date-in-changelog The, 15 Apr 2004 23:33:51 +0200
 W: binary: menu-command-not-in-package /usr/lib/menu/binary:6 /imnothere
+W: binary: menu-command-not-in-package /usr/share/menu/binary:6 /imnothere
+W: binary: menu-file-in-usr-lib usr/lib/menu/binary
 W: binary: menu-item-needs-tag-has-unknown-value wm /usr/lib/menu/binary:5
+W: binary: menu-item-needs-tag-has-unknown-value wm /usr/share/menu/binary:5
 W: binary: package-contains-hardlink usr/bar2 -> usr/share/baz
 W: binary: package-contains-upstream-install-documentation 
usr/share/doc/binary/INSTALL
 W: binary: unquoted-string-in-menu-item /usr/lib/menu/binary needs:1
 W: binary: unquoted-string-in-menu-item /usr/lib/menu/binary needs:2
+W: binary: unquoted-string-in-menu-item /usr/share/menu/binary needs:1
+W: binary: unquoted-string-in-menu-item /usr/share/menu/binary needs:2

Modified: trunk/testset/tags.filenames
===================================================================
--- trunk/testset/tags.filenames        2005-04-12 23:21:38 UTC (rev 415)
+++ trunk/testset/tags.filenames        2005-06-17 00:19:29 UTC (rev 416)
@@ -1,4 +1,5 @@
 E: filenames: bad-menu-file-name usr/lib/menu/menu
+E: filenames: bad-menu-file-name usr/share/menu/menu
 E: filenames: lengthy-symlink usr/lib/filenames/symlink4wrong 
../filenames/symlink2
 E: filenames: lengthy-symlink usr/share/doc/filenames/version.txt.gz 
../filenames/doc/version6.txt.gz
 E: filenames: no-copyright-file
@@ -7,8 +8,8 @@
 E: filenames: package-installs-file-to-usr-something-x11 usr/bin/X11/
 E: filenames: package-installs-file-to-usr-something-x11 usr/bin/X11/testxbin
 E: filenames: package-installs-packlist usr/lib/perl5/foo/.packlist
-E: filenames: postinst-does-not-call-updatemenus usr/lib/menu/menu
-E: filenames: postrm-does-not-call-updatemenus usr/lib/menu/menu
+E: filenames: postinst-does-not-call-updatemenus usr/share/menu/menu
+E: filenames: postrm-does-not-call-updatemenus usr/share/menu/menu
 E: filenames: symlink-contains-spurious-segments 
usr/lib/filenames/symlink5wrong ../menu/../somethingelse
 E: filenames: symlink-contains-spurious-segments 
usr/lib/filenames/symlink6wrong ./file4
 E: filenames: symlink-contains-spurious-segments 
usr/lib/filenames/symlink7wrong ../menu/./something
@@ -41,6 +42,7 @@
 W: filenames: file-in-unusual-dir files/Maelstrom Sound
 W: filenames: file-in-unusual-dir files/Maelstrom Sound.mine
 W: filenames: file-in-unusual-dir files/svn-commit.tmp
+W: filenames: menu-file-in-usr-lib usr/lib/menu/menu
 W: filenames: no-priority-field
 W: filenames: no-section-field
 W: filenames: non-standard-dir-perm usr/lib/filenames/readonly/ 0555 != 0755


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to