+Thu Nov 30 02:45:42 CET 2000 Wichert Akkerman <wakkerma@debian.org>
+
+ * scripts/dpkg-statoverride.{pl,8}: add new --import option to
+ import settings from /etc/suid.conf
+
Tue 28 Nov 18:48:52 CET 2000 peter karlsson <peterk@debian.org>
* po/sv.po: Terminology changes
* try to remove directories again after removing conffiles
* verify Enhances works (ie don't trigger some assertion)
+Fix:
+<joeyh_> package a conflicted with old versions of package b. package b
+ conficted with old versions of package a. I had the old versions of both
+ installed, and told dpkg to install the new versions of a and b
+ simulantaneously. It refused.
+
dselect:
* support Enhances (GNU/FSF)
* toggle for searching through descriptions
* Fix two memory leaks. Closes: Bug#74259
* Fix some things perl5.6 complains about. Closes: Bug#77337
* Fix referenes to dpkg-deb manpage. Closes: Bug#77855
+ * Add new --import option to dpkg-statoverride to make it easy to
+ import suidmanager settings.
-- Wichert Akkerman <wakkerma@debian.org> UNRELEASED
-.TH DPKG-STATOVERRIDE 8 "June 2000" "Debian project" "dpkg utililties"
+.TH DPKG-STATOVERRIDE 8 "November 2000" "Debian project" "dpkg utililties"
.SH NAME
dpkg-statoverride -- override ownership and mode of files
.SH SYNOPSIS
.br
\fBdpkg-statoverride\fR [options] --remove \fI<file>\fR
.br
+\fBdpkg-statoverride\fR [options] --import \fI<package>\fR \fI<file>\fR
+.br
\fBdpkg-statoverride\fR [options] --list \fI[<glob-pattern>]\fR
.SH DESCRIPTION
`\fBstat overrides\fR' are a way to tell dpkg to use a different owner
.I --remove <file>
Remove an override for \fB<file>\fR.
.TP
+.TP
+.I --import <package> <file>
+Import the override for file \fB<file>\fR as provided by package
+\fB<package>\fR. If the user has not made an override nothing is
+done and the default permissions are used. If an override is present
+it is removed from \fI/etc/suid.conf\fR and added to the statoverride
+database.
.I --list [<glob-pattern>]
List all overrides. If a glob pattern is specified restrict the output
to overrides which match the glob.
Usage:
dpkg-statoverride [options] --add <owner> <group> <mode> <file>
+ dpkg-statoverride [options] --import <package> <file>
dpkg-statoverride [options] --remove <file>
dpkg-statoverride [options] --list [<glob-pattern>]
} elsif (m/^--list$/) {
&CheckModeConflict;
$mode= 'list';
+ } elsif (m/^--import$/) {
+ &CheckModeConflict;
+ $mode= 'import';
} else {
&badusage("unknown option \`$_'");
}
}
}
} elsif ($mode eq "remove") {
- @ARGV==1 || &badusage("--remove needs four arguments");
+ @ARGV==1 || &badusage("--remove needs one arguments");
$file=$ARGV[0];
if (not defined $user{$file}) {
print "No override present.";
delete $mode{$file};
$dowrite=1;
print STDERR "warning: --update is useless for --remove\n" if ($doupdate);
+} elsif ($mode eq "import") {
+ @ARGV==2 || &badusage("--import needs two arguments");
+ $pkg=$ARGV[0];
+ $file=$ARGV[1];
+ if (defined $user{$file}) {
+ print STDERR "An override for \"$file\" already exists, ";
+ if ($doforce) {
+ print STDERR "but --force specified so lets ignore it.\n";
+ } else {
+ print STDERR "aborting\n";
+ exit(3);
+ }
+ SUIDCONF=open("/etc/suid.conf") || &quit("error opening /etc/suid.conf");
+ while (<SUIDCONF>) {
+ chomp;
+ ($sm_pkg,$sm_file,$sm_user,$sm_group)=split;
+ next ($sm_file != $pkg) next;
+ last if ($sm_pkg==$pkg);
+ $sm_user="#$sm_user") if ($sm_user =~ m/^\d*$/);
+ $sm_group="#$sm_group") if ($sm_group =~ m/^\d*$/);
+ $user{$fm_file}=$sm_user;
+ $group{$fm_file}=$sm_group;
+ if { -x /usr/sbin/suidunregister) {
+ @args = ("suidunregister", "$file");
+ system(@args) == 0 || &quit("system @args failed: $?");
+ }
+ $dowrite=1;
+ last;
+ }
+ close(SUIDCONF);
+ }
} elsif ($mode eq "list") {
my (@list,@ilist,$pattern,$file);