Hi,

from a not so quick but untested look this seems to be reasonable to me.
I could sponsor this patch but I might wait for some comment of the
release team (or Joey but he seems uninterested in this problem - Joey,
don't you think orphaning the package makes sense?)

Kind regards and thanks to Ivo for the patch

      Andreas.

On Wed, Aug 22, 2012 at 09:08:57PM +0200, Ivo De Decker wrote:
> Hi,
> 
> On Tue, Aug 21, 2012 at 09:39:20PM +0200, Julien Cristau wrote:
> > On Tue, Aug 21, 2012 at 20:51:24 +0200, Ivo De Decker wrote:
> > 
> > > The version in squeeze added a line to /etc/profile (which is a policy
> > > violation). The version currently in wheezy removes that line. If this 
> > > last
> > > part is removed from the postinst, the line remains in /etc/profile 
> > > (where it
> > > never should have been). Removing the line in the postinst of the package 
> > > in
> > > wheezy is a policy violation. Which is preferable:
> > > - leaving the line in /etc/profile and having a package in wheezy that 
> > > has no
> > >   policy violations
> > > - having a package in wheezy that violates policy, but that cleans up the
> > >   changes caused by the policy violation in squeeze
> > > 
> > The latter, IMO.
> 
> Attaching a patch that should do just that. The patch is against the version
> currently in wheezy (2.1b.20080616-5), not against the version in sid
> (2.1b.20080616-5.1), to ease review and because the version in sid contains
> some unintended changes (Makefile and config.status).
> 
> Cheers,
> 
> Ivo

> diff -u sendfile-2.1b.20080616/debian/control 
> sendfile-2.1b.20080616/debian/control
> --- sendfile-2.1b.20080616/debian/control
> +++ sendfile-2.1b.20080616/debian/control
> @@ -9,7 +9,7 @@
>  Section: net
>  Priority: optional
>  Architecture: any
> -Depends: ${shlibs:Depends}, openbsd-inetd | inet-superserver, perl | perl5
> +Depends: ${shlibs:Depends}, openbsd-inetd | inet-superserver, perl | perl5, 
> update-inetd, libdpkg-perl
>  Suggests: pgp-i
>  Description: Simple Asynchronous File Transfer
>   Sendfile is an asynchronous file transfer service for the Internet,
> diff -u sendfile-2.1b.20080616/debian/postinst 
> sendfile-2.1b.20080616/debian/postinst
> --- sendfile-2.1b.20080616/debian/postinst
> +++ sendfile-2.1b.20080616/debian/postinst
> @@ -2,20 +2,7 @@
>  # post install script for the Debian GNU/Linux sendfile package
>  
>  require DebianNet;
> -
> -# First modify the services file
> -
> -open(SERVICES, "/etc/services");
> -    @services=<SERVICES>;
> -close(SERVICES);
> -
> -if (! grep(/^saft.*/, @services)) {
> -   push (@services, "saft            487/tcp                 # simple 
> asynchronous file transfer\n");
> -   open(SERVICES, ">/etc/services.new");
> -   print SERVICES @services;
> -   close (SERVICES);
> -   system ("mv -f /etc/services.new /etc/services");
> -}
> +use Dpkg::Version;
>  
>  # Now modify the inetd.conf file
>  
> @@ -29,30 +16,38 @@
>  }
>  undef(@inetd);
>  
> -for $profile (('/etc/profile')) {
> -    open(PROFILE, "$profile");
> -    @profile=<PROFILE>;
> -    close(PROFILE);
> -
> -    open(PROFILE, ">$profile");
> -    printf PROFILE "%s", join ('', grep (!/^.*check-sendfile/, @profile));
> -    close (PROFILE);
> +# cleanup edits from versions before 2.1b.20080616-5.2
> +# this can be removed after wheezy
> +if (($ARGV[1] ne "") &&
> +     (version_compare($ARGV[1],"2.1b.20080616-5.2") < 0)) {
> +     
> +     # remove line added by old version of sendfile
> +     my $profile = '/etc/profile';
> +     if (-e $profile) {
> +             open(PROFILE, "$profile");
> +             @profile=<PROFILE>;
> +             close(PROFILE);
> +
> +             open(PROFILE, ">$profile");
> +             printf PROFILE "%s", join ('', grep (!/^.*check-sendfile/, 
> @profile));
> +             close (PROFILE);
> +     }
> +
> +     # delete /etc/services with only 1 line created by previous versions of
> +     # sendfile
> +     my $services = "/etc/services";
> +     if (-e $services) {
> +             open(SERVICES, $services);
> +             my @srv = <SERVICES>;
> +             close(SERVICES);
> +             my $srv = join('',@srv);
> +             my $oldsrv = "saft              487/tcp                 # 
> simple asynchronous file transfer\n";
> +             if ($srv eq $oldsrv) {
> +                     unlink $services;
> +             }
> +     }
>  }
>  
> -for $profile (('/etc/csh.login')) {
> -    open(PROFILE, "$profile");
> -    @profile=<PROFILE>;
> -    close(PROFILE);
> -
> -    if (grep(/^.*check-sendfile/, @profile)) {
> -     open(PROFILE, ">$profile");
> -     printf PROFILE "%s", join ('', grep (!/^.*check-sendfile/, @profile));
> -     close(PROFILE);
> -    }
> -}
> -
> -system "/etc/init.d/netbase reload";
> -
>  if ($ARGV[0] eq 'configure') {
>      if (defined $ARGV[1] && $ARGV[1] =~ 
> /2\.1b(-[67]|\.20080311-|\.20080616-1)/) {
>       system "chmod 644 /etc/logrotate.d/sendfile";
> diff -u sendfile-2.1b.20080616/debian/postrm 
> sendfile-2.1b.20080616/debian/postrm
> --- sendfile-2.1b.20080616/debian/postrm
> +++ sendfile-2.1b.20080616/debian/postrm
> @@ -3,15 +3,6 @@
>  
>  set -e
>  
> -if [ "$1" = "remove" ]
> -then
> -    for profile in /etc/profile /etc/csh.login
> -    do
> -     grep -v 'check-sendfile' $profile > $profile.new || true
> -     mv -f $profile.new $profile
> -    done
> -fi
> -
>  if [ "$1" = "purge" ]
>  then
>    rm -rf /var/log/sendfile >/dev/null
> diff -u sendfile-2.1b.20080616/debian/changelog 
> sendfile-2.1b.20080616/debian/changelog
> --- sendfile-2.1b.20080616/debian/changelog
> +++ sendfile-2.1b.20080616/debian/changelog
> @@ -1,3 +1,21 @@
> +sendfile (2.1b.20080616-5.2) unstable; urgency=low
> +
> +  * Non-maintainer upload.
> +  * Don't edit /etc/services, /etc/profile and /etc/csh.login
> +  * Cleanup edits to those files from previous versions
> +    Closes: #685631
> +
> + -- Ivo De Decker <ivo.dedec...@ugent.be>  Wed, 22 Aug 2012 20:51:51 +0200
> +
> +sendfile (2.1b.20080616-5.1) unstable; urgency=low
> +
> +  * Non-maintainer upload.
> +  * Remove all files on purge.  Thanks for the patch to
> +    Andreas Beckmann <deb...@abeckmann.de>
> +    Closes: #668721
> +
> + -- Andreas Tille <ti...@debian.org>  Thu, 09 Aug 2012 15:03:55 +0200
> +
>  sendfile (2.1b.20080616-5) unstable; urgency=low
>  
>    * Add new config file /etc/profile.d/sendfile and remove old line from


-- 
http://fam-tille.de


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to