Update of /cvsroot/fink/experimental/dazjorz/finkinfo
In directory vz-cvs-3.sog:/tmp/cvs-serv5473

Modified Files:
        dpkg.info dpkg.patch 
Log Message:
Forwardported a patch which I forgot from the previous dpkg patch, which runs 
the wrapper scripts in dpkg-base-files, currently this means the .la cleanup is 
run after package installation.


Index: dpkg.patch
===================================================================
RCS file: /cvsroot/fink/experimental/dazjorz/finkinfo/dpkg.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- dpkg.patch  12 Apr 2011 19:33:22 -0000      1.3
+++ dpkg.patch  6 Jun 2011 05:55:26 -0000       1.4
@@ -1,6 +1,6 @@
 diff -Nurd dpkg-1.15.5.6/configure dpkg-1.15.5.6-patched/configure
 --- dpkg-1.15.5.6/configure    2010-01-08 19:02:47.000000000 +0100
-+++ dpkg-1.15.5.6-patched/configure    2010-06-14 11:07:15.000000000 +0200
++++ dpkg-1.15.5.6-patched/configure    2011-06-06 07:19:23.000000000 +0200
 @@ -9745,11 +9745,7 @@
  if test "${enable_linker_optimisations+set}" = set; then :
    enableval=$enable_linker_optimisations; if test 
"x$enable_linker_optimisations" = "xno"; then
@@ -15,7 +15,7 @@
  
 diff -Nurd dpkg-1.15.5.6/dpkg-deb/build.c 
dpkg-1.15.5.6-patched/dpkg-deb/build.c
 --- dpkg-1.15.5.6/dpkg-deb/build.c     2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/dpkg-deb/build.c     2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/dpkg-deb/build.c     2011-06-06 07:19:23.000000000 
+0200
 @@ -67,6 +67,7 @@
    "Installer-Menu-Item",
    "Homepage",
@@ -26,7 +26,7 @@
  
 diff -Nurd dpkg-1.15.5.6/dselect/dselect.h 
dpkg-1.15.5.6-patched/dselect/dselect.h
 --- dpkg-1.15.5.6/dselect/dselect.h    2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/dselect/dselect.h    2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/dselect/dselect.h    2011-06-06 07:19:23.000000000 
+0200
 @@ -26,7 +26,7 @@
  
  #include "dselect-curses.h"
@@ -38,7 +38,7 @@
  #define MAX_DISPLAY_INFO 120
 diff -Nurd dpkg-1.15.5.6/dselect/main.cc dpkg-1.15.5.6-patched/dselect/main.cc
 --- dpkg-1.15.5.6/dselect/main.cc      2010-01-08 09:00:34.000000000 +0100
-+++ dpkg-1.15.5.6-patched/dselect/main.cc      2010-06-14 12:08:10.000000000 
+0200
++++ dpkg-1.15.5.6-patched/dselect/main.cc      2011-06-06 07:19:23.000000000 
+0200
 @@ -52,6 +52,11 @@
  #include <dpkg/dpkg.h>
  #include <dpkg/dpkg-db.h>
@@ -238,7 +238,7 @@
      error_unwind(ehflag_bombout); exit(2);
 diff -Nurd dpkg-1.15.5.6/dselect/pkgdepcon.cc 
dpkg-1.15.5.6-patched/dselect/pkgdepcon.cc
 --- dpkg-1.15.5.6/dselect/pkgdepcon.cc 2010-01-08 09:00:34.000000000 +0100
-+++ dpkg-1.15.5.6-patched/dselect/pkgdepcon.cc 2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/dselect/pkgdepcon.cc 2011-06-06 07:19:23.000000000 
+0200
 @@ -202,6 +202,17 @@
    return 2;
  }
@@ -290,7 +290,7 @@
      would= would_like_to_install(want,possi->ed);
 diff -Nurd dpkg-1.15.5.6/fink/md5sum dpkg-1.15.5.6-patched/fink/md5sum
 --- dpkg-1.15.5.6/fink/md5sum  1970-01-01 01:00:00.000000000 +0100
-+++ dpkg-1.15.5.6-patched/fink/md5sum  2010-06-14 11:07:15.000000000 +0200
++++ dpkg-1.15.5.6-patched/fink/md5sum  2011-06-06 07:19:23.000000000 +0200
 @@ -0,0 +1,313 @@
 +#!/usr/bin/perl
 +use strict;
@@ -607,7 +607,7 @@
 +}
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/Makefile.am 
dpkg-1.15.5.6-patched/lib/dpkg/Makefile.am
 --- dpkg-1.15.5.6/lib/dpkg/Makefile.am 2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/Makefile.am 2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/Makefile.am 2011-06-06 07:19:23.000000000 
+0200
 @@ -7,7 +7,7 @@
  AM_CPPFLAGS = \
        -DLOCALEDIR=\"$(localedir)\" \
@@ -619,7 +619,7 @@
        -I$(top_srcdir)/lib
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/Makefile.in 
dpkg-1.15.5.6-patched/lib/dpkg/Makefile.in
 --- dpkg-1.15.5.6/lib/dpkg/Makefile.in 2010-01-08 19:02:49.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/Makefile.in 2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/Makefile.in 2011-06-06 07:19:23.000000000 
+0200
 @@ -277,7 +277,7 @@
  AM_CPPFLAGS = \
        -DLOCALEDIR=\"$(localedir)\" \
@@ -631,7 +631,7 @@
        -I$(top_srcdir)/lib
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/buffer.c 
dpkg-1.15.5.6-patched/lib/dpkg/buffer.c
 --- dpkg-1.15.5.6/lib/dpkg/buffer.c    2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/buffer.c    2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/buffer.c    2011-06-06 07:19:23.000000000 
+0200
 @@ -103,7 +103,7 @@
        switch (data->type) {
        case BUFFER_WRITE_BUF:
@@ -643,7 +643,7 @@
                varbufaddbuf((struct varbuf *)data->arg.ptr, buf, length);
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/dpkg.h dpkg-1.15.5.6-patched/lib/dpkg/dpkg.h
 --- dpkg-1.15.5.6/lib/dpkg/dpkg.h      2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/dpkg.h      2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/dpkg.h      2011-06-06 07:19:23.000000000 
+0200
 @@ -91,7 +91,7 @@
  #define SHELLENV            "SHELL"
  #define DEFAULTSHELL        "sh"
@@ -672,7 +672,7 @@
  #define GZIP          "gzip"
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/nfmalloc.c 
dpkg-1.15.5.6-patched/lib/dpkg/nfmalloc.c
 --- dpkg-1.15.5.6/lib/dpkg/nfmalloc.c  2010-01-08 09:00:34.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/nfmalloc.c  2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/nfmalloc.c  2011-06-06 07:19:23.000000000 
+0200
 @@ -23,7 +23,7 @@
  
  #include <string.h>
@@ -684,7 +684,7 @@
  #include <dpkg/dpkg.h>
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/subproc.c 
dpkg-1.15.5.6-patched/lib/dpkg/subproc.c
 --- dpkg-1.15.5.6/lib/dpkg/subproc.c   2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/subproc.c   2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/subproc.c   2011-06-06 07:19:23.000000000 
+0200
 @@ -80,7 +80,9 @@
                        return 0;
                if (flags & PROCNOERR)
@@ -698,7 +698,7 @@
                else
 diff -Nurd dpkg-1.15.5.6/lib/dpkg/tarfn.c 
dpkg-1.15.5.6-patched/lib/dpkg/tarfn.c
 --- dpkg-1.15.5.6/lib/dpkg/tarfn.c     2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/lib/dpkg/tarfn.c     2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/lib/dpkg/tarfn.c     2011-06-06 07:19:23.000000000 
+0200
 @@ -80,8 +80,13 @@
  {
        int len;
@@ -716,14 +716,14 @@
        str[len] = '\0';
 diff -Nurd dpkg-1.15.5.6/origin.fink dpkg-1.15.5.6-patched/origin.fink
 --- dpkg-1.15.5.6/origin.fink  1970-01-01 01:00:00.000000000 +0100
-+++ dpkg-1.15.5.6-patched/origin.fink  2010-06-14 11:07:15.000000000 +0200
++++ dpkg-1.15.5.6-patched/origin.fink  2011-06-06 07:19:23.000000000 +0200
 @@ -0,0 +1,3 @@
 +Vendor: Fink
 +Vendor-URL: http://fink.sourceforge.net/
 +Bugs: http://fink.sourceforge.net/
 diff -Nurd dpkg-1.15.5.6/src/archives.c dpkg-1.15.5.6-patched/src/archives.c
 --- dpkg-1.15.5.6/src/archives.c       2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/archives.c       2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/src/archives.c       2011-06-06 07:19:23.000000000 
+0200
 @@ -758,9 +758,6 @@
  #ifdef HAVE_LCHOWN
        if (lchown(fnametmpvb.buf,stab.st_uid,stab.st_gid))
@@ -736,7 +736,7 @@
        debug(dbg_eachfiledetail,"tarobject nondirectory, `link' backup");
 diff -Nurd dpkg-1.15.5.6/src/configure.c dpkg-1.15.5.6-patched/src/configure.c
 --- dpkg-1.15.5.6/src/configure.c      2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/configure.c      2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/src/configure.c      2011-06-06 07:19:23.000000000 
+0200
 @@ -527,8 +527,10 @@
        const char *s;
        int pid;
@@ -764,7 +764,7 @@
  /**
 diff -Nurd dpkg-1.15.5.6/src/filesdb.c dpkg-1.15.5.6-patched/src/filesdb.c
 --- dpkg-1.15.5.6/src/filesdb.c        2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/filesdb.c        2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/src/filesdb.c        2011-06-06 07:19:23.000000000 
+0200
 @@ -28,6 +28,7 @@
  #include <assert.h>
  #include <errno.h>
@@ -793,7 +793,7 @@
    if (*pointerp) return *pointerp;
 diff -Nurd dpkg-1.15.5.6/src/help.c dpkg-1.15.5.6-patched/src/help.c
 --- dpkg-1.15.5.6/src/help.c   2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/help.c   2010-06-14 11:07:15.000000000 +0200
++++ dpkg-1.15.5.6-patched/src/help.c   2011-06-06 07:41:22.000000000 +0200
 @@ -86,11 +86,15 @@
      TAR,
      FIND,
@@ -825,7 +825,155 @@
      path = path_list;
      while (path) {
        path_end = strchr(path, ':');
-@@ -510,6 +522,26 @@
+@@ -278,6 +290,7 @@
+ {
+   const char *scriptexec;
+   int c1, r;
++  if(scriptpath) // if NULL, just want wrapper side-effect, no actual .deb 
script present
+   setexecute(scriptpath,stab);
+ 
+   push_cleanup(cu_post_script_tasks, ehflag_bombout, NULL, 0, 0);
+@@ -285,12 +298,70 @@
+   c1= m_fork();
+   if (!c1) {
+     const char **narglist;
++    /* FINK LOCAL begin */
++    const char **full_narglist;
++    char *path_wrapper;
++    struct stat stab_wrapper;
++    const char *null_script_path = "";  // must be blank string (NULL is 
end-of-array sentinel)
++    /* FINK LOCAL end */
+     for (r=0; arglist[r]; r++) ;
+-    narglist=nfmalloc((r+1)*sizeof(char*));
++    // narglist=nfmalloc((r+1)*sizeof(char*));
++    /* FINK LOCAL begin */
++    full_narglist=nfmalloc((r+2)*sizeof(char*));  // leave space for 
wrapper-script-name, add NULL terminator
++    narglist=full_narglist+1;  // orig pointer points to orig array
++    /* FINK LOCAL end */
+     for (r=1; arglist[r-1]; r++)
+       narglist[r]= arglist[r];
++    if (scriptpath) { // FINK LOCAL
+     scriptexec= preexecscript(scriptpath,(char * const *)narglist);
++    } else { scriptexec = null_script_path; }; // FINK LOCAL was called with 
no actual script path to run
+     narglist[0]= scriptexec;
++    /* FINK LOCAL begin */
++    // try to set up with wrapper
++#define FINK_DPKG_SCRIPT_DIR "@PREFIX@/lib/fink/dpkg-base-files"
++    // determine wrapper-script pathname
++    asprintf(&path_wrapper, "%s/%s", FINK_DPKG_SCRIPT_DIR, scriptname);
++    if (path_wrapper == NULL) {
++      ohshite(_("dpkg - error: could not allocate for fink script wrapper for 
%s.\n"), scriptpath);
++    } else {
++      if (!stat(path_wrapper, &stab_wrapper)) {
++        if ((stab_wrapper.st_mode & 0555) == 0555) {
++          // only use it if it exists and is chmod a+rx
++          debug(dbg_scripts,"Wrapper script '%s' will be used around '%s'", 
path_wrapper, scriptpath);
++          // it's good! set wrapper as actual runnable thing in narglist array
++          narglist=full_narglist;
++          scriptexec= preexecscript(path_wrapper,narglist);
++          narglist[0]= scriptexec;
++ 
++          /*
++            Global wrapper needs way to introspect name of package
++            being manipulated. Normal .deb scripts could have this
++            hard-coded in their script because this info is known at
++            the time the .deb is constructed. Pass the name as an
++            env var to the wrapper.
++          */
++          setenv("FINK_PACKAGE_NAME", pkg->name, 1);
++        } else {
++          debug(dbg_scripts,"Wrapper script '%s' wrong perms", path_wrapper);
++          if (scriptpath) {
++            debug(dbg_scripts,"...falling back to real script '%s'", 
scriptpath);
++          } else {
++            debug(dbg_scripts,"...skipping over because no real script '%s'", 
scriptpath);
++            exit(0);
++          }
++        }
++      } else {
++        debug(dbg_scripts,"Wrapper script '%s' does not exist", path_wrapper);
++        if (scriptpath) {
++          debug(dbg_scripts,"...falling back to real script '%s'", 
scriptpath);
++        } else {
++          debug(dbg_scripts,"...skipping over because no real script '%s'", 
scriptpath);
++          exit(0);
++        }
++      }
++    }
++    /* FINK LOCAL end */
++
+     if (setenv(MAINTSCRIPTPKGENVVAR, pkg->name, 1) ||
+         setenv(MAINTSCRIPTARCHENVVAR, pif->architecture, 1) ||
+         setenv(MAINTSCRIPTDPKGENVVAR, PACKAGE_VERSION, 1))
+@@ -324,8 +395,13 @@
+     if (errno == ENOENT) {
+       debug(dbg_scripts, "vmaintainer_script_installed nonexistent %s",
+             scriptname);
+-      return 0;
+-    }
++//    return 0;
++      /* FINK LOCAL begin */
++      // always call do_script (fink adds side-effects), but pass NULL if no 
actual script
++      scriptpath = NULL;
++//  }
++    } else
++      /* FINK LOCAL end */
+     ohshite(_("unable to stat %s `%.250s'"), buf, scriptpath);
+   }
+   do_script(pkg, &pkg->installed, scriptname, scriptpath, &stab,
+@@ -385,8 +461,14 @@
+   if (stat(cidir,&stab)) {
+     if (errno == ENOENT) {
+       debug(dbg_scripts,"maintainer_script_new nonexistent %s 
`%s'",scriptname,cidir);
+-      return 0;
+-    }
++//    return 0;
++      //    }
++      /* FINK LOCAL begin */
++      // always call do_script (fink adds side-effects), but pass NULL if no 
actual script
++      cidir = NULL;
++//  }
++    } else
++      /* FINK LOCAL end */
+     ohshite(_("unable to stat %s `%.250s'"), buf, cidir);
+   }
+   do_script(pkg, &pkg->available, scriptname, cidir, &stab,
+@@ -415,17 +497,20 @@
+     if (errno == ENOENT) {
+       debug(dbg_scripts,"maintainer_script_alternative nonexistent %s `%s'",
+             scriptname,oldscriptpath);
+-      return 0;
+-    }
++      /* FINK LOCAL begin */
++      // always call do_script (fink adds side-effects), but pass NULL if no 
actual scripts
++      oldscriptpath = NULL;
++    } else {
++      /* FINK LOCAL end */
+     warning(_("unable to stat %s '%.250s': %s"),
+             buf,oldscriptpath,strerror(errno));
+-  } else {
++    }
++  }
+     if (!do_script(pkg, &pkg->installed, scriptname, oldscriptpath, &stab,
+                    arglist, _("unable to execute %s"), buf, PROCWARN)) {
+       post_script_tasks();
+       return 1;
+     }
+-  }
+   fprintf(stderr, _("dpkg - trying script from the new package instead 
...\n"));
+ 
+   arglist= buildarglist(scriptname,
+@@ -435,6 +520,9 @@
+   strcpy(cidirrest,scriptname);
+   sprintf(buf, _("new %s script"), desc);
+ 
++  // FINK if old-pkg fails, don't want to allow "success" of new
++  // solely because wrapper worked in new-pkg: loses important
++  // error-state that *should* fail loudly
+   if (stat(cidir,&stab)) {
+     if (errno == ENOENT)
+       ohshit(_("there is no script in the new version of the package - giving 
up"));
+@@ -510,6 +598,26 @@
      
    debug(dbg_veryverbose, "isdirectoryinuse `%s' (except %s)", file->name,
          pkg ? pkg->name : "<none>");
@@ -854,7 +1002,7 @@
            packageslump->pkgs[0] ? packageslump->pkgs[0]->name : "<none>");
 diff -Nurd dpkg-1.15.5.6/src/main.c dpkg-1.15.5.6-patched/src/main.c
 --- dpkg-1.15.5.6/src/main.c   2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/main.c   2010-06-14 12:07:58.000000000 +0200
++++ dpkg-1.15.5.6-patched/src/main.c   2011-06-06 07:19:23.000000000 +0200
 @@ -47,6 +47,12 @@
  #include <dpkg/dpkg-db.h>
  #include <dpkg/myopt.h>
@@ -1053,7 +1201,7 @@
    actionfunction(argv);
 diff -Nurd dpkg-1.15.5.6/src/main.h dpkg-1.15.5.6-patched/src/main.h
 --- dpkg-1.15.5.6/src/main.h   2010-01-08 18:23:06.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/main.h   2010-06-14 11:07:15.000000000 +0200
++++ dpkg-1.15.5.6-patched/src/main.h   2011-06-06 07:19:23.000000000 +0200
 @@ -134,6 +134,11 @@
        const char *command;
  };
@@ -1068,7 +1216,7 @@
  void archivefiles(const char *const *argv);
 diff -Nurd dpkg-1.15.5.6/src/packages.c dpkg-1.15.5.6-patched/src/packages.c
 --- dpkg-1.15.5.6/src/packages.c       2010-01-08 09:00:34.000000000 +0100
-+++ dpkg-1.15.5.6-patched/src/packages.c       2010-06-14 11:07:15.000000000 
+0200
++++ dpkg-1.15.5.6-patched/src/packages.c       2011-06-06 07:19:23.000000000 
+0200
 @@ -526,6 +526,30 @@
    return ok;
  }

Index: dpkg.info
===================================================================
RCS file: /cvsroot/fink/experimental/dazjorz/finkinfo/dpkg.info,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- dpkg.info   12 Apr 2011 19:33:22 -0000      1.3
+++ dpkg.info   6 Jun 2011 05:55:26 -0000       1.4
@@ -1,6 +1,6 @@
 Package: dpkg
 Version: 1.15.5.6
-Revision: 9
+Revision: 10
 GCC: 4.0
 BuildDepends: fink (>= 0.24.12), libgettext8-dev, gettext-tools
 Conflicts: dpkg-bootstrap
@@ -14,7 +14,7 @@
 Source-MD5: 4dcb0de9af234d16a62272bcc61b8873
 
 PatchFile: %n.patch
-PatchFile-MD5: b0dfb31a0a73e6e63bf64474e25732c7
+PatchFile-MD5: a7bf2b200013c6bd100bb7d5a18055bb
 PatchScript: <<
  cd %b/..; sed 's|@PREFIX@|%p|g' < %{PatchFile} | patch -p0
 


------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to