[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

lintian: r332 - in trunk: debian frontend testset testset/filenames/debian



Author: djpig
Date: 2004-07-08 14:00:07 +0200 (Thu, 08 Jul 2004)
New Revision: 332

Modified:
   trunk/debian/changelog
   trunk/frontend/lintian
   trunk/testset/filenames/debian/rules
   trunk/testset/tags.filenames
Log:
Correctly handle non-empty write-protected directories
on removal


Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2004-07-07 20:30:47 UTC (rev 331)
+++ trunk/debian/changelog	2004-07-08 12:00:07 UTC (rev 332)
@@ -117,6 +117,8 @@
       rather than executed as separate executables. Makes it easy to make
       common functions available, tags are done centrally, etc etc. Should
       also save quite a number of forks, thus more speedier.
+    + [FL] Correctly handle non-empty write-protected directories
+      on removal
   
   * lib/Util.pm:
     + [FL] dpkg supports comments in control files now, handle them

Modified: trunk/frontend/lintian
===================================================================
--- trunk/frontend/lintian	2004-07-07 20:30:47 UTC (rev 331)
+++ trunk/frontend/lintian	2004-07-08 12:00:07 UTC (rev 332)
@@ -1437,6 +1437,9 @@
 
 	# remove unpacked/ directory
 	print "N: Decreasing unpack level to 1 (removing files) ...\n" if $debug;
+	# rm -rf doesn't remove non-empty write-protected
+	# directories
+	spawn('chmod', '-R', 'u+w', '--', "$base/unpacked/") == 0 or return -1;
 	if ( -l "$base/unpacked" ) {
 	    spawn('rm', '-rf', '--', "$base/".readlink( "$base/unpacked" )) == 0
 		or return -1;
@@ -1456,6 +1459,9 @@
     my ($base) = @_;
 
     print "N: Removing package in lab ...\n" if $debug;
+    # rm -rf doesn't remove non-empty write-protected
+    # directories
+    spawn('chmod', '-R', 'u+w', '--', $base) or warn "error: chmod on $base failed.\n";
     if (spawn('rm', '-rf', '--', $base) != 0) {
 	print STDERR "error: cannot remove directory $base: $!\n";
 	return 0;

Modified: trunk/testset/filenames/debian/rules
===================================================================
--- trunk/testset/filenames/debian/rules	2004-07-07 20:30:47 UTC (rev 331)
+++ trunk/testset/filenames/debian/rules	2004-07-08 12:00:07 UTC (rev 332)
@@ -32,12 +32,17 @@
 	install -d debian/tmp/DEBIAN
 	cp -a files debian/tmp
 	chmod -R go=rX debian/tmp/files
+
+	install -d debian/tmp/usr/lib/filenames
+	install -m 555 -d debian/tmp/usr/lib/filenames/readonly
+	touch debian/tmp/usr/lib/filenames/readonly/test
+
 	install -d debian/tmp/usr/lib/menu
 	touch debian/tmp/usr/lib/menu/README
 	touch debian/tmp/usr/lib/menu/menu
 	chmod 644 debian/tmp/usr/lib/menu/*
+
 	install -d debian/tmp/usr/lib/perl5/foo
-	install -d debian/tmp/usr/lib/filenames
 	mkdir debian/tmp/usr/lib/perl5/.svn
 	mkdir debian/tmp/usr/lib/perl5/CVS
 	touch debian/tmp/usr/lib/perl5/foo/.packlist
@@ -45,25 +50,31 @@
 	touch debian/tmp/usr/lib/perl5/foo/bar.pm
 	touch -t 197501010101 debian/tmp/usr/lib/perl5/foo/ancient.pm
 	chmod 644 debian/tmp/usr/lib/perl5/foo/bar.pm
+
 	install -d debian/tmp/usr/share/doc/filenames
 	touch debian/tmp/usr/share/doc/filenames/README.macosx
+
 	install -d debian/tmp/usr/share/doc/filenames/examples
 	touch debian/tmp/usr/share/doc/filenames/examples/__init__.py
 	touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example
 	touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2
 	gzip debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2
+
 	install -d debian/tmp/usr/lib/ada/adalib/
 	touch debian/tmp/usr/lib/ada/adalib/test.ali debian/tmp/usr/lib/ada/adalib/test2.ali
 	chmod 0644 debian/tmp/usr/lib/ada/adalib/test.ali
 	chmod 0444 debian/tmp/usr/lib/ada/adalib/test2.ali
+
 	install -d debian/tmp/usr/bin/X11/
 	touch debian/tmp/usr/bin/X11/testxbin
 	install -d debian/tmp/usr/X11R6/bin
 	touch debian/tmp/usr/X11R6/bin/testxbin2
+
 	touch debian/tmp/usr/share/doc/filenames/Changes
 	chmod 644 debian/tmp/usr/share/doc/filenames/Changes
 	gzip -9 debian/tmp/usr/share/doc/filenames/Changes
 	ln -s Changes.gz debian/tmp/usr/share/doc/filenames/changelog.gz
+
 	ln -s '../filenames/doc/version6.txt.gz' debian/tmp/usr/share/doc/filenames/version.txt.gz
 	ln -s ../../share/symlink debian/tmp/usr/lib/filenames/symlink1ok
 	ln -s ../../../etc/symlink debian/tmp/usr/lib/filenames/symlink1wrong

Modified: trunk/testset/tags.filenames
===================================================================
--- trunk/testset/tags.filenames	2004-07-07 20:30:47 UTC (rev 331)
+++ trunk/testset/tags.filenames	2004-07-08 12:00:07 UTC (rev 332)
@@ -43,6 +43,7 @@
 W: filenames: file-in-unusual-dir files/svn-commit.tmp
 W: filenames: no-priority-field
 W: filenames: no-section-field
+W: filenames: non-standard-dir-perm usr/lib/filenames/readonly/ 0555 != 0755
 W: filenames: package-contains-CVS-dir usr/lib/perl5/CVS/
 W: filenames: package-contains-readme-for-other-platform-or-distro usr/share/doc/filenames/README.macosx
 W: filenames: package-contains-svn-control-dir usr/lib/perl5/.svn/



Reply to: