Hi,

On Sun, Feb 13, 2011 at 06:07:17PM +0000, Dominic Hargreaves wrote:

> It appears that they have fixed this in Fedora with a trivial C
> wrapper:
> 
> <https://bugzilla.redhat.com/show_bug.cgi?id=611009>
> <http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/releases/14/Fedora/source/SRPMS/BackupPC-3.1.0-16.fc14.src.rpm>

I used that suid wrapper to fix BackupPC locally, and it works fine.  However, 
in the spirit of making
minimal changes for an NMU, I left the index.cgi in /usr/share, which I now see 
lintian complains
about:

    E: backuppc: arch-dependent-file-in-usr-share 
usr/share/backuppc/cgi-bin/index.cgi

The only way forward that I can see is to install it into /usr/lib.  I
can do this, but no before late Sunday.  I don't want to duplicate 
efforts, either, so if someone else is working on this, do let me know.

Here's my current patch.  Anyone: feel free to take it and run with it.

Cheers,
-Steve

diff -u backuppc-3.2.0/debian/control backuppc-3.2.0/debian/control
--- backuppc-3.2.0/debian/control
+++ backuppc-3.2.0/debian/control
@@ -7,8 +7,8 @@
 Standards-Version: 3.9.1
 
 Package: backuppc
-Architecture: all
-Depends: ${perl:Depends}, libdigest-md5-perl, libcompress-zlib-perl, 
libarchive-zip-perl, tar (>> 1.13), adduser (>=3.9), dpkg (>=1.8.3), apache2 | 
httpd, perl-suid, ${misc:Depends}, smbclient, samba-common-bin, bzip2, 
default-mta | exim4 | mail-transport-agent, iputils-ping, ucf, 
libtime-modules-perl, libwww-perl
+Architecture: any
+Depends: ${shlibs:Depends}, ${perl:Depends}, libdigest-md5-perl, 
libcompress-zlib-perl, libarchive-zip-perl, tar (>> 1.13), adduser (>=3.9), 
dpkg (>=1.8.3), apache2 | httpd, ${misc:Depends}, smbclient, samba-common-bin, 
bzip2, default-mta | exim4 | mail-transport-agent, iputils-ping, ucf, 
libtime-modules-perl, libwww-perl
 Recommends: rsync, libfile-rsyncp-perl (>= 0.68), openssh-client | ssh-client, 
rrdtool, libio-dirent-perl
 Suggests: w3m | www-browser, par2
 Conflicts: libfile-rsyncp-perl (<< 0.68)
diff -u backuppc-3.2.0/debian/rules backuppc-3.2.0/debian/rules
--- backuppc-3.2.0/debian/rules
+++ backuppc-3.2.0/debian/rules
@@ -29,13 +29,14 @@
        # Add here commands to compile the package.
        #$(MAKE)
        #/usr/bin/docbook-to-man debian/backuppc.sgml > backuppc.1
+       cc debian/setuidwrapper.c -o index.cgi
 
        touch build-stamp
 
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp configure-stamp
+       rm -f build-stamp configure-stamp index.cgi
 
        # Add here commands to clean up after the build process.
        rm -f init.d/*-backuppc*
@@ -63,7 +64,8 @@
            
        pod2man --section=8 --center="BackupPC manual" doc/BackupPC.pod 
backuppc.8
        perl -e "s/.IX Title.*/.SH NAME\nbackuppc \\- BackupPC manual/g" -p 
-i.tmp backuppc.8
-       mv -f debian/backuppc/usr/share/backuppc/cgi-bin/* 
debian/backuppc/usr/share/backuppc/cgi-bin/index.cgi
+       mv -f debian/backuppc/usr/share/backuppc/cgi-bin/* 
debian/backuppc/usr/share/backuppc/lib/realindex.cgi
+       install --mode=755 index.cgi debian/backuppc/usr/share/backuppc/cgi-bin
        install --mode=644 conf/hosts debian/backuppc/etc/backuppc
        install --mode=644 debian/localhost.pl debian/backuppc/etc/backuppc
        install --mode=644 debian/apache.conf debian/backuppc/etc/backuppc
diff -u backuppc-3.2.0/debian/changelog backuppc-3.2.0/debian/changelog
--- backuppc-3.2.0/debian/changelog
+++ backuppc-3.2.0/debian/changelog
@@ -1,3 +1,14 @@
+backuppc (3.2.0-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/setuidwrapper.c: New.
+  * debian/rules: Build setuidwrapper as cgi-bin/index.cgi; install real
+    index.cgi as lib/realindex.cgi.  Closes: #581950.
+  * control: Remove depends on perl-suid.  Change to Architecture any, add
+    ${shlibs:Depends}.
+
+ -- Steve M. Robbins <s...@debian.org>  Sat, 07 May 2011 10:11:56 -0500
+
 backuppc (3.2.0-3) unstable; urgency=low
 
   * Shell characters are now properly escaped. Closes: #516626
only in patch2:
unchanged:
--- backuppc-3.2.0.orig/debian/setuidwrapper.c
+++ backuppc-3.2.0/debian/setuidwrapper.c
@@ -0,0 +1,11 @@
+#include <unistd.h>
+
+#define REAL_PATH "/usr/share/backuppc/lib/realindex.cgi"
+
+int main(ac, av)
+char **av;
+{
+    execv(REAL_PATH, av);
+    return 0;
+}
+

Attachment: signature.asc
Description: Digital signature

Reply via email to