Просмотр исходного кода

* ChangeLog: undo file corruption (ugh)
* utils/start-stop-daemon.8: fix typo
* configure.in: use AC_C_INLINE instead of our own test
* lib/nfmalloc, include/dpkg-db.h: remove HAVE_INLINE tests, use extern inline directly
* lib/varbuf.c: add inline keyowrd to varbufaddc
* optlib/Makefile.in: undo earlier patch and build libopt.a again
* lib/Makefile.in: use libopt.a again, and a rule to build it
* Makefile.in: build optlib before lib
* Makefile.conf.in: add RANLIB
* dselect/method.h, dselect/methlist.cc, dselect/method.cc,
dselect/methparse.cc: rename struct option to dselect_option to prevent
conflict with getopt.h
* main/help.c: rework do_script a bit to compile without errors
* scripts/dpkg-gencontrol.1: add -n option to specify filename
* scripts/dpkg-source.1:
+ document -n option for dpkg-gencontrol
+ fix confusing wording for dpkg-buildpackage -uc option
+ fix layout error for dpkg-distaddfile section
+ it's DEADJOE, not DEAD_JOEY
* scripts/dpkg-architecture.pl:
+ apply cleanup patch from Julian Gilbey
+ modify gcc regexp to recognize gcc versions like 2.96-ia64-000717
* scripts/dpkg-checkbuilddeps.pl, scripts/dpkg-checkbuilddeps.1: new
script from Joey Hess to check build dependencies
* THANKS: Add Joey Hess
* scripts/dpkg-parsechangelog.pl:
+ support reading changelog from stdin
+ remove Linux reference
* scripts/dpkg-statoverride.pl: exit with exitcode 1 if we do --list but
don't output anything, and use exitcode 2 if we try to remove a
non-exiting override (unless --force is given).
* scripts/dpkg-statoverride.8: document new exitcode for --list
* main/main.c, main/dpkg.8: remove --smallmem and --largemem references
* scripts/dpkg-buildpackage.sh:
+ don't bother to specify architecture settings on commandlines since
we put them in the environment already
+ remove debsign support, it's useless and debsign can't handle it
+ use DEB_BUILD_ARCH to get build architecture, not DEB_HOST_ARCH
+ remove Linux reference
* scripts/dpkg-scanpackages.pl: mark last argument as optional in
usage info
* scripts/dpkg-scanpackages.8, scripts/dpkg-name.1,
scripts/dpkg-shlibdeps.pl, scripts/dpkg-source.pl, scripts/822-date.1,
scripts/cl-debian.pl, scripts/cleanup-info.pl, scripts/dpkg-genchanges.pl,
scripts/dpkg-distaddfile.pl, scripts/dpkg-source.1,
scripts/dpkg-divert.pl, scripts/install-info.pl, scripts/install-info.8,
scripts/dpkg-gencontrol.pl, scripts/update-alternatives.pl,
scripts/update-rc.d.8: remove Linux references

Wichert Akkerman лет назад: 25
Родитель
Сommit
cf5d2919f6

Разница между файлами не показана из-за своего большого размера
+ 156 - 4
ChangeLog


+ 9 - 6
Makefile.conf.in

@@ -37,6 +37,13 @@ alternativesdir		= $(sysconfdir)/alternatives
 PERL			= @PERL@
 PERL			= @PERL@
 mkinstalldirs		= $(SHELL) $(top_srcdir)/mkinstalldirs
 mkinstalldirs		= $(SHELL) $(top_srcdir)/mkinstalldirs
 LN			= @LN_S@
 LN			= @LN_S@
+INSTALL			= @INSTALL@
+INSTALL_PROGRAM		= @INSTALL_PROGRAM@
+INSTALL_DATA		= @INSTALL_DATA@
+INSTALL_SCRIPT		= @INSTALL_SCRIPT@
+SED			= @SED@
+RM			= @RM@
+
 
 
 WARN_ALL		= @WARN_ALL@
 WARN_ALL		= @WARN_ALL@
 WARN_WRITESTRINGS	= @WARN_WRITESTRINGS@
 WARN_WRITESTRINGS	= @WARN_WRITESTRINGS@
@@ -45,12 +52,6 @@ WARN_IMPLICIT		= @WARN_IMPLICIT@
 
 
 CC			= @CC@
 CC			= @CC@
 CFLAGS			= @CFLAGS@ @CWARNS@
 CFLAGS			= @CFLAGS@ @CWARNS@
-INSTALL			= @INSTALL@
-INSTALL_PROGRAM		= @INSTALL_PROGRAM@
-INSTALL_DATA		= @INSTALL_DATA@
-INSTALL_SCRIPT		= @INSTALL_SCRIPT@
-SED			= @SED@
-RM			= @RM@
 
 
 CXX			= @CXX@
 CXX			= @CXX@
 CXXFLAGS		= @CXXFLAGS@
 CXXFLAGS		= @CXXFLAGS@
@@ -59,6 +60,8 @@ LD			= @LD@
 LDFLAGS			= @LDFLAGS@
 LDFLAGS			= @LDFLAGS@
 LIBS			= @LIBS@
 LIBS			= @LIBS@
 
 
+RANLIB			= @RANLIB@
+
 DEFS			= @DEFS@ -D_GNU_SOURCE
 DEFS			= @DEFS@ -D_GNU_SOURCE
 INCLUDE_CFLAGS		= -I$(top_srcdir)/include -I$(top_srcdir) -I$(srcdir) -I../include -I.. -I. -I$(top_srcdir)/optlib
 INCLUDE_CFLAGS		= -I$(top_srcdir)/include -I$(top_srcdir) -I$(srcdir) -I../include -I.. -I. -I$(top_srcdir)/optlib
 
 

+ 1 - 1
Makefile.in

@@ -8,7 +8,7 @@ GENFILES	= version.h
 
 
 include Makefile.conf
 include Makefile.conf
 
 
-SUBDIRS		= include lib optlib intl dpkg-deb split scripts utils main \
+SUBDIRS		= include optlib lib intl dpkg-deb split scripts utils main \
 		  utils @DSELECTDIR@ po methods doc
 		  utils @DSELECTDIR@ po methods doc
 
 
 all: version.h all-recursive
 all: version.h all-recursive

+ 1 - 0
THANKS

@@ -26,6 +26,7 @@ J.H.M. Dassen <jdassen@cistron.nl>
 Jim Pick <jim@jimpick.com>
 Jim Pick <jim@jimpick.com>
 Jim Van Zandt <jrv@vanzandt.mv.com>
 Jim Van Zandt <jrv@vanzandt.mv.com>
 Joel Klecker <jk@espy.org>
 Joel Klecker <jk@espy.org>
+Joey Hess <joeyh@debian.org>
 Josip Rodin <jrodin@jagor.srce.hr>
 Josip Rodin <jrodin@jagor.srce.hr>
 Juan Cespedes <cespedes@debian.org>
 Juan Cespedes <cespedes@debian.org>
 Juergen Menden <menden@morgana.camelot.de>
 Juergen Menden <menden@morgana.camelot.de>

+ 1 - 0
configure.in

@@ -115,6 +115,7 @@ AC_SIZE_T
 AC_VPRINTF
 AC_VPRINTF
 AC_C_CONST
 AC_C_CONST
 AC_C_BIGENDIAN
 AC_C_BIGENDIAN
+AC_C_INLINE
 AC_CHECK_SIZEOF(unsigned long)
 AC_CHECK_SIZEOF(unsigned long)
 AC_CHECK_SIZEOF(unsigned int)
 AC_CHECK_SIZEOF(unsigned int)
 AC_CHECK_TYPE(ptrdiff_t,int)
 AC_CHECK_TYPE(ptrdiff_t,int)

+ 23 - 5
debian/changelog

@@ -1,10 +1,12 @@
 dpkg (1.9.0) unstable; urgency=low
 dpkg (1.9.0) unstable; urgency=low
 
 
+  * The Copenhagen release
+  * Things should mostly work OpenBSD 2.8 as well now
   * Removed all --smallmem code, as smallmem and largemem now actually
   * Removed all --smallmem code, as smallmem and largemem now actually
     use about the same amount of memory, and largemem is faster.  Both
     use about the same amount of memory, and largemem is faster.  Both
     --largemem and --smallmem are now obselete options, and will print
     --largemem and --smallmem are now obselete options, and will print
-    a warning if used.
-  * Update German translation, Closes: Bug#80529
+    a warning if used. Closes: Bug#84905
+  * Update German translation, Closes: Bug#80529,#87581
   * Update French translation, Closes: Bug#65284,#87238
   * Update French translation, Closes: Bug#65284,#87238
   * Add French manpages, courtesy of Philippe Batailler
   * Add French manpages, courtesy of Philippe Batailler
   * Ingore vim swapfiles in dpkg-source, Closes: Bug#81630
   * Ingore vim swapfiles in dpkg-source, Closes: Bug#81630
@@ -26,15 +28,31 @@ dpkg (1.9.0) unstable; urgency=low
   * Minor script changes, Closes: Bug#87485
   * Minor script changes, Closes: Bug#87485
   * Stop dpkg-genchanges from complaining about missing packages
   * Stop dpkg-genchanges from complaining about missing packages
     when doing a source-only build. Closes: Bug#87571
     when doing a source-only build. Closes: Bug#87571
-  * Make dpkg-architecture -s export all variables instead of only
-    the first
+  * Various dpkg-architecture cleanups. Closes: Bug#87505
+  * Modify dpkg-architecture to handle gcc versions containing letters.
+    Closes: Bug#83083
   * dpkg-buildpackage updates: Closes: Bug#87572
   * dpkg-buildpackage updates: Closes: Bug#87572
     + make -C work properly
     + make -C work properly
     + fix test for gpg secret keyring
     + fix test for gpg secret keyring
     + improve source messages
     + improve source messages
     + skip signing pause when building unsigned packages
     + skip signing pause when building unsigned packages
     + test for invalid signinterface. Closes: Bug#87579
     + test for invalid signinterface. Closes: Bug#87579
+    + remove debsign support, it's useless and doesn't work
+    + Use correct architecture when naming .changes file. Closes: Bug#88015
   * Fix wording in dpkg-statoverride manpage for --add. Closes: Bug#85080
   * Fix wording in dpkg-statoverride manpage for --add. Closes: Bug#85080
+  * Fix typo in start-stop-daemon manpage. Closes: Bug#88225
+  * Add dpkg-checkbuilddeps to check if build dependencies are satisfied
+    and modify dpkg-buildpackage to call it if wanted. Closes: Bug#86453
+  * dpkg-parsechangelog can read a changelog from stdin now. Closes: Bug#80142
+  * Fix confusing wording for dpkg-buildpackage -uc option in manpage.
+    Closes: Bug#83468
+  * dpkg-statoverride now exits with exitcode 1 if we do a --list but don't
+    output anything. Closes: Bug#84328
+  * Remove Linux reference from all scripts, they should run fine on
+    other OSes as well.
+  * Mark last argument in dpkg-scanpackages usage info as optional.
+    Closes: Bug#86658
+  * Fix formatting error in dpkg-source.1. Closes: Bug#82723
 
 
  -- Wichert Akkerman <wakkerma@debian.org>  UNRELEASED
  -- Wichert Akkerman <wakkerma@debian.org>  UNRELEASED
 
 
@@ -617,7 +635,7 @@ dpkg (1.4.1.7) unstable; urgency=low
     + varbufprintf (used for some error messages) vsnprintf return value
     + varbufprintf (used for some error messages) vsnprintf return value
       assumption changed to correspond to reality rather than glibc-doc.
       assumption changed to correspond to reality rather than glibc-doc.
     + Don't read available-info when not needed (slightly improved from 
     + Don't read available-info when not needed (slightly improved from 
-	  dpkg-iwj: don't read for listfiles either :)
+      dpkg-iwj: don't read for listfiles either :)
     + Cleanup --assert-* code
     + Cleanup --assert-* code
     + Assume largemem on systems without sysinfo(2).
     + Assume largemem on systems without sysinfo(2).
     + modify preexec-script for easier script execution
     + modify preexec-script for easier script execution

+ 1 - 1
debian/control

@@ -28,7 +28,7 @@ Package: dpkg-dev
 Section: devel
 Section: devel
 Priority: important
 Priority: important
 Architecture: all
 Architecture: all
-Depends: perl5, cpio (>= 2.4.2-2), patch (>= 2.2-1), make, binutils
+Depends: perl5, perl-modules, cpio (>= 2.4.2-2), patch (>= 2.2-1), make, binutils
 Recommends: c-compiler
 Recommends: c-compiler
 Suggests: gnupg, debian-keyring
 Suggests: gnupg, debian-keyring
 Conflicts: dpkgname
 Conflicts: dpkgname

+ 3 - 2
debian/rules

@@ -156,14 +156,15 @@ binary-dpkg-dev: stamp-binary
 	set -e ; for i in dpkg-name dpkg-source dpkg-genchanges dpkg-gencontrol \
 	set -e ; for i in dpkg-name dpkg-source dpkg-genchanges dpkg-gencontrol \
 		dpkg-shlibdeps dpkg-buildpackage dpkg-distaddfile 822-date \
 		dpkg-shlibdeps dpkg-buildpackage dpkg-distaddfile 822-date \
 		dpkg-scanpackages dpkg-scansources dpkg-architecture \
 		dpkg-scanpackages dpkg-scansources dpkg-architecture \
-		dpkg-parsechangelog ; do \
+		dpkg-parsechangelog dpkg-checkbuilddeps ; do \
 		mv $(TMP)/usr/bin/$$i $(TMP_DPKG_DEV)/usr/bin/ ; \
 		mv $(TMP)/usr/bin/$$i $(TMP_DPKG_DEV)/usr/bin/ ; \
 	done
 	done
 	set -e ; for i in "" ja sv ; do \
 	set -e ; for i in "" ja sv ; do \
 		install -d -m 755 -o root -g root $(TMP_DPKG_DEV)/usr/share/man/$$i/man1 ; \
 		install -d -m 755 -o root -g root $(TMP_DPKG_DEV)/usr/share/man/$$i/man1 ; \
 		for m in dpkg-name.1 dpkg-source.1 822-date.1 dpkg-architecture.1 \
 		for m in dpkg-name.1 dpkg-source.1 822-date.1 dpkg-architecture.1 \
 			dpkg-buildpackage.1 dpkg-distaddfile.1 dpkg-genchanges.1 \
 			dpkg-buildpackage.1 dpkg-distaddfile.1 dpkg-genchanges.1 \
-			dpkg-gencontrol.1 dpkg-parsechangelog.1 dpkg-shlibdeps.1 ; do \
+			dpkg-gencontrol.1 dpkg-parsechangelog.1 dpkg-shlibdeps.1 \
+			dpkg-checkbuilddeps.1 ; do \
 			if [ -e $(TMP)/usr/share/man/$$i/man1/$$m ] ; then \
 			if [ -e $(TMP)/usr/share/man/$$i/man1/$$m ] ; then \
 				mv $(TMP)/usr/share/man/$$i/man1/$$m $(TMP_DPKG_DEV)/usr/share/man/$$i/man1/$$m ; \
 				mv $(TMP)/usr/share/man/$$i/man1/$$m $(TMP_DPKG_DEV)/usr/share/man/$$i/man1/$$m ; \
 			fi ; \
 			fi ; \

+ 2 - 2
dselect/methlist.cc

@@ -119,9 +119,9 @@ methodlist::methodlist() : baselist(&methodlistbindings) {
   if (debug)
   if (debug)
     fprintf(debug,"methodlist[%p]::methodlist()\n",this);
     fprintf(debug,"methodlist[%p]::methodlist()\n",this);
 
 
-  table= new struct option*[noptions];
+  table= new struct dselect_option*[noptions];
 
 
-  struct option *opt, **ip;
+  struct dselect_option *opt, **ip;
   for (opt=options, ip=table, nitems=0; opt; opt=opt->next, nitems++) {
   for (opt=options, ip=table, nitems=0; opt; opt=opt->next, nitems++) {
     if (opt == coption) { assert(newcursor==-1); newcursor= nitems; }
     if (opt == coption) { assert(newcursor==-1); newcursor= nitems; }
     *ip++= opt;
     *ip++= opt;

+ 1 - 1
dselect/method.cc

@@ -80,7 +80,7 @@ static void cu_unlockmethod(int, void**) {
 
 
 static enum urqresult ensureoptions(void) {
 static enum urqresult ensureoptions(void) {
   const char *const *ccpp;
   const char *const *ccpp;
-  option *newoptions;
+  dselect_option *newoptions;
   int nread;
   int nread;
 
 
   if (!options) {
   if (!options) {

+ 5 - 5
dselect/method.h

@@ -27,8 +27,8 @@ struct method {
   char *name, *path, *pathinmeth;
   char *name, *path, *pathinmeth;
 };
 };
 
 
-struct option {
-  option *next;
+struct dselect_option {
+  dselect_option *next;
   method *meth;
   method *meth;
   char index[OPTIONINDEXMAXLEN];
   char index[OPTIONINDEXMAXLEN];
   char *name, *summary;
   char *name, *summary;
@@ -40,7 +40,7 @@ class methodlist : public baselist {
   int name_column, description_column;
   int name_column, description_column;
 
 
   // Table of methods
   // Table of methods
-  struct option **table;
+  struct dselect_option **table;
 
 
   // Misc.
   // Misc.
   char searchstring[50];
   char searchstring[50];
@@ -69,10 +69,10 @@ class methodlist : public baselist {
 };
 };
 
 
 extern int noptions;
 extern int noptions;
-extern struct option *options, *coption;
+extern struct dselect_option *options, *coption;
 extern struct method *methods;
 extern struct method *methods;
 
 
-extern void readmethods(const char *pathbase, option **optionspp, int *nread);
+extern void readmethods(const char *pathbase, dselect_option **optionspp, int *nread);
 extern void getcurrentopt();
 extern void getcurrentopt();
 extern void writecurrentopt();
 extern void writecurrentopt();
 
 

+ 5 - 5
dselect/methparse.cc

@@ -42,7 +42,7 @@ extern "C" {
 #include "bindings.h"
 #include "bindings.h"
 
 
 int noptions=0;
 int noptions=0;
-struct option *options=0, *coption=0;
+struct dselect_option *options=0, *coption=0;
 struct method *methods=0;
 struct method *methods=0;
 
 
 static void badmethod(const char *pathname, const char *why) NONRETURNING;
 static void badmethod(const char *pathname, const char *why) NONRETURNING;
@@ -57,7 +57,7 @@ static void eofmethod(const char *pathname, FILE *f, const char *why) {
   badmethod(pathname,why);
   badmethod(pathname,why);
 }
 }
 
 
-void readmethods(const char *pathbase, option **optionspp, int *nread) {
+void readmethods(const char *pathbase, dselect_option **optionspp, int *nread) {
   static const char *const methodprograms[]= {
   static const char *const methodprograms[]= {
     METHODSETUPSCRIPT, METHODUPDATESCRIPT, METHODINSTALLSCRIPT, 0
     METHODSETUPSCRIPT, METHODUPDATESCRIPT, METHODINSTALLSCRIPT, 0
   };
   };
@@ -69,7 +69,7 @@ void readmethods(const char *pathbase, option **optionspp, int *nread) {
   struct dirent *dent;
   struct dirent *dent;
   struct varbuf vb;
   struct varbuf vb;
   method *meth;
   method *meth;
-  option *opt, **optinsert;
+  dselect_option *opt, **optinsert;
   struct stat stab;
   struct stat stab;
 
 
   baselen= strlen(pathbase);
   baselen= strlen(pathbase);
@@ -131,7 +131,7 @@ void readmethods(const char *pathbase, option **optionspp, int *nread) {
     
     
     while ((c= fgetc(names)) != EOF) {
     while ((c= fgetc(names)) != EOF) {
       if (isspace(c)) continue;
       if (isspace(c)) continue;
-      opt= new option;
+      opt= new dselect_option;
       opt->meth= meth;
       opt->meth= meth;
       vb.reset();
       vb.reset();
       do {
       do {
@@ -228,7 +228,7 @@ void getcurrentopt() {
   int admindirlen;
   int admindirlen;
   char *p;
   char *p;
   method *meth;
   method *meth;
-  option *opt;
+  dselect_option *opt;
   
   
   if (!methoptfile) {
   if (!methoptfile) {
     admindirlen= strlen(admindir);
     admindirlen= strlen(admindir);

+ 1 - 10
include/dpkg-db.h

@@ -273,12 +273,7 @@ struct varbuf {
 #endif
 #endif
 };
 };
 
 
-#if HAVE_INLINE
-inline extern void varbufaddc(struct varbuf *v, int c) {
-  if (v->used >= v->size) varbufextend(v);
-  v->buf[v->used++]= c;
-}
-#endif
+inline extern void varbufaddc(struct varbuf *v, int c);
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus
 inline void varbuf::operator()(int c) { varbufaddc(this,c); }
 inline void varbuf::operator()(int c) { varbufaddc(this,c); }
@@ -308,11 +303,7 @@ int epochsdiffer(const struct versionrevision *a,
                  const struct versionrevision *b);
                  const struct versionrevision *b);
 
 
 /*** from nfmalloc.c ***/
 /*** from nfmalloc.c ***/
-#ifdef HAVE_INLINE
 extern inline void *nfmalloc(size_t);
 extern inline void *nfmalloc(size_t);
-#else
-extern void *nfmalloc(size_t);
-#endif
 char *nfstrsave(const char*);
 char *nfstrsave(const char*);
 char *nfstrnsave(const char*, int);
 char *nfstrnsave(const char*, int);
 void nffreeall(void);
 void nffreeall(void);

+ 5 - 2
lib/Makefile.in

@@ -16,8 +16,11 @@ ALL_CFLAGS	+= -DCOPYINGFILE=\"$(copyingfile)\"
 
 
 .PHONY: all
 .PHONY: all
 all:: libdpkg.a
 all:: libdpkg.a
-	
-libdpkg.a: $(OBJECTS) ../optlib/*.o
+
+../optlib/libopt.a:
+	set -e ; cd ../optlib ; $(MAKE) libopt.a
+
+libdpkg.a: $(OBJECTS) ../optlib/libopt.a
 	$(AR) r $@ $^
 	$(AR) r $@ $^
 	$(RANLIB) $@
 	$(RANLIB) $@
 
 

+ 0 - 4
lib/nfmalloc.c

@@ -45,11 +45,7 @@ static void nfobstack_init(void) {
   obstack_chunk_size(&db_obs) = CHUNK_SIZE;
   obstack_chunk_size(&db_obs) = CHUNK_SIZE;
 }
 }
   
   
-#ifdef HAVE_INLINE
 inline void *nfmalloc(size_t size)
 inline void *nfmalloc(size_t size)
-#else
-void *nfmalloc(size_t size)
-#endif
 {
 {
   OBSTACK_INIT;
   OBSTACK_INIT;
   return obstack_alloc(&db_obs, size);
   return obstack_alloc(&db_obs, size);

+ 1 - 1
lib/varbuf.c

@@ -27,7 +27,7 @@
 #include <dpkg.h>
 #include <dpkg.h>
 #include <dpkg-db.h>
 #include <dpkg-db.h>
 
 
-void varbufaddc(struct varbuf *v, int c) {
+inline void varbufaddc(struct varbuf *v, int c) {
   if (v->used >= v->size) varbufextend(v);
   if (v->used >= v->size) varbufextend(v);
   v->buf[v->used++]= c;
   v->buf[v->used++]= c;
 }
 }

+ 1 - 5
main/dpkg.8

@@ -408,10 +408,6 @@ Try to (de)install things even when not root.
 Ignore dependency-checking for specified packages (actually, checking is
 Ignore dependency-checking for specified packages (actually, checking is
 performed, but only warnings about conflicts are given, nothing else).
 performed, but only warnings about conflicts are given, nothing else).
 .TP
 .TP
-\fB--largemem\fP | \fB--smallmem\fP
-Tells \fBdpkg\fP whether to preserve memory (e.g. with less than 24 MB
-of RAM) or consume as much as needed(the default).
-.TP
 \fB--new\fP | \fB--old\fP
 \fB--new\fP | \fB--old\fP
 Select new or old binary package format. This is a \fBdpkg-deb\fP(1)
 Select new or old binary package format. This is a \fBdpkg-deb\fP(1)
 option.
 option.
@@ -496,7 +492,7 @@ for more information about them:
 .TP
 .TP
 .B DPKG_NO_TSTP
 .B DPKG_NO_TSTP
 Define this to something if you prefer \fBdpkg\fP starting a new
 Define this to something if you prefer \fBdpkg\fP starting a new
-shell rather than suspending \fBdpkg\fP, while doing a shell escape.
+shell rather than suspending itself, while doing a shell escape.
 .TP
 .TP
 .B SHELL
 .B SHELL
 The program \fBdpkg\fP will execute while starting a new shell.
 The program \fBdpkg\fP will execute while starting a new shell.

+ 6 - 1
main/help.c

@@ -259,8 +259,13 @@ static int do_script(const char *pkg, const char *scriptname, const char *script
 
 
   c1= m_fork();
   c1= m_fork();
   if (!c1) {
   if (!c1) {
+    char **narglist;
+    for (r=0; arglist[r]; r++) ;
+    narglist=nfmalloc(r*sizeof(char*));
+    for (r=1; arglist[r]; r++)
+      narglist[r]= arglist[r];
     scriptexec= preexecscript(scriptpath,arglist);
     scriptexec= preexecscript(scriptpath,arglist);
-    arglist[0]=scriptexec;
+    narglist[0]= (char*)scriptexec;
     execv(scriptexec,arglist);
     execv(scriptexec,arglist);
     ohshite(desc,name);
     ohshite(desc,name);
   }
   }

+ 0 - 1
main/main.c

@@ -97,7 +97,6 @@ Options:\n\
   -E|--skip-same-version     Skip packages whose same version is installed\n\
   -E|--skip-same-version     Skip packages whose same version is installed\n\
   -G|--refuse-downgrade      Skip packages with earlier version than installed\n\
   -G|--refuse-downgrade      Skip packages with earlier version than installed\n\
   -B|--auto-deconfigure      Install even if it would break some other package\n\
   -B|--auto-deconfigure      Install even if it would break some other package\n\
-  --largemem | --smallmem    Optimise for large (>4Mb) or small (<4Mb) RAM use\n\
   --no-act                   Just say what we would do - don't do it\n\
   --no-act                   Just say what we would do - don't do it\n\
   -D|--debug=<octal>         Enable debugging - see -Dhelp or --debug=help\n\
   -D|--debug=<octal>         Enable debugging - see -Dhelp or --debug=help\n\
   --status-fd <n>            Send status change updates to file descriptor <n>\n\
   --status-fd <n>            Send status change updates to file descriptor <n>\n\

+ 5 - 2
optlib/Makefile.in

@@ -7,11 +7,14 @@ include ../Makefile.conf
 SOURCES		= getopt.c getopt1.c long-options.c closeout.c obstack.c
 SOURCES		= getopt.c getopt1.c long-options.c closeout.c obstack.c
 
 
 OBJECTS		= $(patsubst %.c, %.o, $(SOURCES))
 OBJECTS		= $(patsubst %.c, %.o, $(SOURCES))
-GENFILES	= $(OBJECTS)
+GENFILES	= $(OBJECTS) libopt.a
 
 
 .PHONY: all
 .PHONY: all
-all:: $(OBJECTS)
+all:: libopt.a
 	
 	
+libopt.a: $(OBJECTS)
+	$(AR) r $@ $^
+
 .PHONY: install
 .PHONY: install
 install:: all
 install:: all
 
 

+ 1 - 1
scripts/822-date.1

@@ -1,6 +1,6 @@
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Authors: Ian Jackson
 .\" Authors: Ian Jackson
-.TH 822\-DATE 1 "14th August 1996" "Debian Project" "Debian GNU/Linux manual"
+.TH 822\-DATE 1 "14th August 1996" "Debian Project" "dpkg utilities"
 .SH NAME 
 .SH NAME 
 822\-date \- Print date and time in RFC822 format
 822\-date \- Print date and time in RFC822 format
 .SH SYNOPSIS
 .SH SYNOPSIS

+ 3 - 2
scripts/Makefile.in

@@ -7,13 +7,14 @@ include ../Makefile.conf
 BIN_SCRIPTS		= dpkg-name dpkg-source dpkg-genchanges \
 BIN_SCRIPTS		= dpkg-name dpkg-source dpkg-genchanges \
 			  dpkg-gencontrol dpkg-shlibdeps dpkg-buildpackage \
 			  dpkg-gencontrol dpkg-shlibdeps dpkg-buildpackage \
 			  dpkg-parsechangelog dpkg-distaddfile 822-date \
 			  dpkg-parsechangelog dpkg-distaddfile 822-date \
-			  dpkg-scanpackages dpkg-scansources dpkg-architecture
+			  dpkg-scanpackages dpkg-scansources \
+			  dpkg-architecture dpkg-checkbuilddeps
 
 
 SBIN_SCRIPTS		= update-rc.d update-alternatives install-info \
 SBIN_SCRIPTS		= update-rc.d update-alternatives install-info \
 			  dpkg-divert dpkg-statoverride cleanup-info
 			  dpkg-divert dpkg-statoverride cleanup-info
 
 
 MAN1PAGES		= dpkg-name.1 dpkg-source.1 822-date.1 \
 MAN1PAGES		= dpkg-name.1 dpkg-source.1 822-date.1 \
-			  dpkg-architecture.1
+			  dpkg-architecture.1 dpkg-checkbuilddeps.1
 MAN8PAGES		= update-rc.d.8 update-alternatives.8 install-info.8  \
 MAN8PAGES		= update-rc.d.8 update-alternatives.8 install-info.8  \
 			  cleanup-info.8 dpkg-scanpackages.8 dpkg-scansources.8 \
 			  cleanup-info.8 dpkg-scanpackages.8 dpkg-scansources.8 \
 			  dpkg-divert.8 dpkg-statoverride.8
 			  dpkg-divert.8 dpkg-statoverride.8

+ 1 - 1
scripts/cl-debian.pl

@@ -21,7 +21,7 @@ $since='';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux parsechangelog/dpkg $version.  Copyright (C) 1996
+"Debian parsechangelog/dpkg $version.  Copyright (C) 1996
 Ian Jackson.  This is free software; see the GNU General Public Licence
 Ian Jackson.  This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 
 

+ 1 - 1
scripts/cleanup-info.pl

@@ -27,7 +27,7 @@
 my $version = '1.1.6'; # This line modified by Makefile
 my $version = '1.1.6'; # This line modified by Makefile
 sub version {
 sub version {
     print STDERR <<END;
     print STDERR <<END;
-Debian GNU/Linux cleanup-info $version.  Copyright (C)1996 Kim-Minh Kaplan.
+Debian cleanup-info $version.  Copyright (C)1996 Kim-Minh Kaplan.
 This is free software; see the GNU General Public Licence
 This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 END
 END

+ 40 - 30
scripts/dpkg-architecture.pl

@@ -122,10 +122,20 @@ $deb_build_gnu_system =~ s/^.*-//;
 
 
 # Default host: Current gcc.
 # Default host: Current gcc.
 $gcc = `\${CC:-gcc} --print-libgcc-file-name`;
 $gcc = `\${CC:-gcc} --print-libgcc-file-name`;
-$gcc =~ s!^.*gcc-lib/(.*)/(?:egcs-)?\d+(?:.\d+)*/libgcc.*$!$1!s;
-if ($gcc eq '') {
-    &warn ("Couldn't determine gcc system type, falling back to default (native compilation)");
+if {$?>>8) {
+    &warn("Couldn't determine gcc system type, falling back to default (native compilation)");
+    $gcc = '';
 } else {
 } else {
+    $gcc =~ s!^.*gcc-lib/([^/]*)/(?:egcs-)?\d+(?:[.\da-z]*)/libgcc.*$!$1!s;
+    if (defined $1 and $! ne '') {
+	$gcc = $1;
+    } else {
+	&warn("Couldn't determine gcc system type, falling back to default (native compilation)");
+	$gcc = '';
+    }
+}
+
+if ($gcc ne '') {
     @list = &gnu_to_debian($gcc);
     @list = &gnu_to_debian($gcc);
     if (!defined(@list)) {
     if (!defined(@list)) {
 	&warn ("Unknown gcc system type $gcc, falling back to default (native compilation)"),
 	&warn ("Unknown gcc system type $gcc, falling back to default (native compilation)"),
@@ -135,10 +145,8 @@ if ($gcc eq '') {
 	$gcc=$archtable{$list[0]};
 	$gcc=$archtable{$list[0]};
 	$deb_host_arch = $list[0];
 	$deb_host_arch = $list[0];
 	$deb_host_gnu_type = $gcc;
 	$deb_host_gnu_type = $gcc;
-        $deb_host_gnu_cpu = $gcc;
-        $deb_host_gnu_system = $gcc;
-        $deb_host_gnu_cpu =~ s/-.*$//;
-        $deb_host_gnu_system =~ s/^.*-//;
+        ($deb_host_gnu_system = $gcc) =~ s/^.*-//;
+        ($deb_host_gnu_cpu = $gcc ) =~ s/-.*$//;
     }
     }
 }
 }
 if (!defined($deb_host_arch)) {
 if (!defined($deb_host_arch)) {
@@ -206,7 +214,7 @@ if ($req_host_gnu_type ne '') {
 #$gcc =~ s!^.*gcc-lib/(.*)/\d+(?:.\d+)*/libgcc.*$!$1!s;
 #$gcc =~ s!^.*gcc-lib/(.*)/\d+(?:.\d+)*/libgcc.*$!$1!s;
 &warn("Specified GNU system type $deb_host_gnu_type does not match gcc system type $gcc.") if ($gcc ne '') && ($gcc ne $deb_host_gnu_type);
 &warn("Specified GNU system type $deb_host_gnu_type does not match gcc system type $gcc.") if ($gcc ne '') && ($gcc ne $deb_host_gnu_type);
 
 
-undef @env;
+%env = ();
 if (!$force) {
 if (!$force) {
     $deb_build_arch = $ENV{DEB_BUILD_ARCH} if (exists $ENV{DEB_BUILD_ARCH});
     $deb_build_arch = $ENV{DEB_BUILD_ARCH} if (exists $ENV{DEB_BUILD_ARCH});
     $deb_build_gnu_cpu = $ENV{DEB_BUILD_GNU_CPU} if (exists $ENV{DEB_BUILD_GNU_CPU});
     $deb_build_gnu_cpu = $ENV{DEB_BUILD_GNU_CPU} if (exists $ENV{DEB_BUILD_GNU_CPU});
@@ -218,36 +226,38 @@ if (!$force) {
     $deb_host_gnu_type = $ENV{DEB_HOST_GNU_TYPE} if (exists $ENV{DEB_HOST_GNU_TYPE});
     $deb_host_gnu_type = $ENV{DEB_HOST_GNU_TYPE} if (exists $ENV{DEB_HOST_GNU_TYPE});
 }
 }
 
 
-push @env, "DEB_BUILD_ARCH=$deb_build_arch";
-push @env, "DEB_BUILD_GNU_CPU=$deb_build_gnu_cpu";
-push @env, "DEB_BUILD_GNU_SYSTEM=$deb_build_gnu_system";
-push @env, "DEB_BUILD_GNU_TYPE=$deb_build_gnu_type";
-push @env, "DEB_HOST_ARCH=$deb_host_arch";
-push @env, "DEB_HOST_GNU_CPU=$deb_host_gnu_cpu";
-push @env, "DEB_HOST_GNU_SYSTEM=$deb_host_gnu_system";
-push @env, "DEB_HOST_GNU_TYPE=$deb_host_gnu_type";
+@ordered = qw(DEB_BUILD_ARCH DEB_BUILD_GNU_CPU
+	      DEB_BUILD_GNU_SYSTEM DEB_BUILD_GNU_TYPE
+	      DEB_HOST_ARCH DEB_HOST_GNU_CPU
+	      DEB_HOST_GNU_SYSTEM DEB_HOST_GNU_TYPE);
+
+$env{'DEB_BUILD_ARCH'}=$deb_build_arch;
+$env{'DEB_BUILD_GNU_CPU'}=$deb_build_gnu_cpu;
+$env{'DEB_BUILD_GNU_SYSTEM'}=$deb_build_gnu_system;
+$env{'DEB_BUILD_GNU_TYPE'}=$deb_build_gnu_type;
+$env{'DEB_HOST_ARCH'}=$deb_host_arch;
+$env{'DEB_HOST_GNU_CPU'}=$deb_host_gnu_cpu;
+$env{'DEB_HOST_GNU_SYSTEM'}=$deb_host_gnu_system;
+$env{'DEB_HOST_GNU_TYPE'}=$deb_host_gnu_type;
 
 
 if ($action eq 'l') {
 if ($action eq 'l') {
-    print join("\n",@env)."\n";
+    foreach $k (@ordered) {
+	print "$k=$env{$k}\n";
+    }
 } elsif ($action eq 's') {
 } elsif ($action eq 's') {
-    print "export ".join("\n",@env)."\n" if ($#env != 0);
-    print "export ".join("\nexport ",@env)."\n" if ($#enf != 0);
+    foreach $k (@ordered) {
+	print "$k=$env{$k}; ";
+    }
+    print "export ".join(" ",@ordered)."\n";
 } elsif ($action eq 'u') {
 } elsif ($action eq 'u') {
-    print "unset DEB_BUILD_ARCH DEB_BUILD_GNU_CPU DEB_BUILD_GNU_SYSTEM DEB_BUILD_GNU_TYPE DEB_HOST_ARCH DEB_HOST_GNU_CPU DEB_HOST_GNU_SYSTEM DEB_HOST_GNU_TYPE\n";
+    print "unset ".join(" ",@ordered)."\n";
 } elsif ($action eq 'c') {
 } elsif ($action eq 'c') {
-    foreach $_ (@env) {
-       m/^(.*)=(.*)$/;
-       $ENV{$1}=$2;
-    }
+    @ENV{keys %env} = values %env;
     exec @ARGV;
     exec @ARGV;
 } elsif ($action eq 'q') {
 } elsif ($action eq 'q') {
-    undef %env;
-    foreach $_ (@env) {
-       m/^(.*)=(.*)$/;
-       $env{$1}=$2;
-    }
     if (exists $env{$req_variable_to_print}) {
     if (exists $env{$req_variable_to_print}) {
         print "$env{$req_variable_to_print}\n";     # works because -q implies -f !
         print "$env{$req_variable_to_print}\n";     # works because -q implies -f !
+        print "$env{$req_variable_to_print}\n";
     } else {
     } else {
         die "$req_variable_to_print is not a supported variable name";
         die "$req_variable_to_print is not a supported variable name";
     }
     }
@@ -465,4 +475,4 @@ dpkg-cross
 
 
 If you have questions about the usage of the make variables in your rules
 If you have questions about the usage of the make variables in your rules
 files, or about cross compilation support in your packages, please email me.
 files, or about cross compilation support in your packages, please email me.
-The addresse is Marcus Brinkmann <brinkmd@debian.org>.
+The address is Marcus Brinkmann <brinkmd@debian.org>.

+ 26 - 25
scripts/dpkg-buildpackage.sh

@@ -7,7 +7,7 @@ version="1.3.0"; # This line modified by Makefile
 progname="`basename \"$0\"`"
 progname="`basename \"$0\"`"
 usageversion () {
 usageversion () {
 	cat >&2 <<END
 	cat >&2 <<END
-Debian GNU/Linux dpkg-buildpackage $version.  
+Debian dpkg-buildpackage $version.  
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 2000 Wichert Akkerman
 Copyright (C) 2000 Wichert Akkerman
 This is free software; see the GNU General Public Licence version 2
 This is free software; see the GNU General Public Licence version 2
@@ -16,10 +16,11 @@ or later for copying conditions.  There is NO warranty.
 Usage: dpkg-buildpackage [options]
 Usage: dpkg-buildpackage [options]
 Options: -r<gain-root-command>
 Options: -r<gain-root-command>
          -p<sign-command>
          -p<sign-command>
+	 -d            do not check build dependencies and conflicts
+	 -D            check build dependencies and conflicts
 	 -k<keyid>     the key to use for signing
 	 -k<keyid>     the key to use for signing
          -sgpg         the sign-command is called like GPG
          -sgpg         the sign-command is called like GPG
          -spgp         the sign-command is called like PGP 
          -spgp         the sign-command is called like PGP 
-         -sdebsign     the sign-command works like debsign
          -us           unsigned source
          -us           unsigned source
          -uc           unsigned changes
          -uc           unsigned changes
          -a<arch>      Debian architecture we build for
          -a<arch>      Debian architecture we build for
@@ -55,6 +56,8 @@ fi
 signsource='withecho signfile'
 signsource='withecho signfile'
 signchanges='withecho signfile'
 signchanges='withecho signfile'
 cleansource=false
 cleansource=false
+checkbuilddep=true
+checkbuilddep_args=''
 binarytarget=binary
 binarytarget=binary
 sourcestyle=''
 sourcestyle=''
 version=''
 version=''
@@ -72,9 +75,10 @@ do
 	-r*)	rootcommand="$value" ;;
 	-r*)	rootcommand="$value" ;;
 	-p*)	signcommand="$value" ;;
 	-p*)	signcommand="$value" ;;
 	-k*)	signkey="$value" ;;
 	-k*)	signkey="$value" ;;
+	-d)	checkbuilddep=false ;;
+	-D)	checkbuilddep=true ;;
 	-sgpg)  forcesigninterface=gpg ;;
 	-sgpg)  forcesigninterface=gpg ;;
 	-spgp)  forcesigninterface=pgp ;;
 	-spgp)  forcesigninterface=pgp ;;
-	-sdebsign)  forcesigninterface=debsign ;;
 	-us)	signsource=: ;;
 	-us)	signsource=: ;;
 	-uc)	signchanges=: ;;
 	-uc)	signchanges=: ;;
 	-ap)	usepause="true";;
 	-ap)	usepause="true";;
@@ -88,9 +92,9 @@ do
 	-nc)	noclean=true; if [ -z "$binaryonly" ]; then binaryonly=-b; fi ;;
 	-nc)	noclean=true; if [ -z "$binaryonly" ]; then binaryonly=-b; fi ;;
 	-b)	binaryonly=-b; [ "$sourceonly" ] && \
 	-b)	binaryonly=-b; [ "$sourceonly" ] && \
 			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
 			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
-	-B)	binaryonly=-B; binarytarget=binary-arch; [ "$sourceonly" ] && \
+	-B)	binaryonly=-B; checkbuilddep_args=-B; binarytarget=binary-arch; [ "$sourceonly" ] && \
 			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
 			{ echo >&2 "$progname: cannot combine $1 and -S" ; exit 2 ; } ;;
-	-S)	sourceonly=-S; [ "$binaryonly" ] && \
+	-S)	sourceonly=-S; checkbuilddep=false; [ "$binaryonly" ] && \
 			{ echo >&2 "$progname: cannot combine $binaryonly and $1" ; exit 2 ; } ;;
 			{ echo >&2 "$progname: cannot combine $binaryonly and $1" ; exit 2 ; } ;;
 	-v*)	since="$value" ;;
 	-v*)	since="$value" ;;
 	-m*)	maint="$value" ;;
 	-m*)	maint="$value" ;;
@@ -113,16 +117,11 @@ else
   signinterface=$signcommand
   signinterface=$signcommand
 fi
 fi
 
 
-if [ "$signinterface" != "gpg" -a "$signinterface" != "pgp" -a \
-	"$signitnerface" != "debsign" ] ; \
+if [ "$signinterface" != "gpg" -a "$signinterface" != "pgp" ] ; then
 	echo >&2 "$progname: invalid sign interface specified"
 	echo >&2 "$progname: invalid sign interface specified"
 	exit 1
 	exit 1
 fi
 fi
 
 
-if test "$signinterface" = "debsign"; then
-	signsource=:
-fi
-
 mustsetvar () {
 mustsetvar () {
 	if [ "x$2" = x ]; then
 	if [ "x$2" = x ]; then
 		echo >&2 "$progname: unable to determine $3" ; \
 		echo >&2 "$progname: unable to determine $3" ; \
@@ -139,10 +138,11 @@ mustsetvar package "`dpkg-parsechangelog | sed -n 's/^Source: //p'`" "source pac
 mustsetvar version "`dpkg-parsechangelog | sed -n 's/^Version: //p'`" "source version"
 mustsetvar version "`dpkg-parsechangelog | sed -n 's/^Version: //p'`" "source version"
 if [ -n "$maint" ]; then maintainer="$maint"; 
 if [ -n "$maint" ]; then maintainer="$maint"; 
 else mustsetvar maintainer "`dpkg-parsechangelog | sed -n 's/^Maintainer: //p'`" "source maintainer"; fi
 else mustsetvar maintainer "`dpkg-parsechangelog | sed -n 's/^Maintainer: //p'`" "source maintainer"; fi
-eval `dpkg-architecture -a${arch} -t${targetgnusystem} -s`
-archlist=`dpkg-architecture -a${targetarch} -t${targetgnusystem} -f 2> /dev/null`
+eval `dpkg-architecture -a${arch} -t${targetgnusystem} -s -f`
+env
+exit 0
 if [ x$sourceonly = x ]; then
 if [ x$sourceonly = x ]; then
-	mustsetvar arch "`dpkg-architecture -a${targetarch} -t${targetgnusystem} -qDEB_HOST_ARCH`" "build architecture"
+	mustsetvar arch "`dpkg-architecture -a${targetarch} -t${targetgnusystem} -qDEB_BUILD_ARCH`" "build architecture"
 else
 else
 	arch=source
 	arch=source
 fi
 fi
@@ -155,13 +155,6 @@ signfile () {
 		(cat "../$1" ; echo "") | \
 		(cat "../$1" ; echo "") | \
 		$signcommand --local-user "${signkey:-$maintainer}" --clearsign --armor \
 		$signcommand --local-user "${signkey:-$maintainer}" --clearsign --armor \
 			--textmode  > "../$1.asc" 
 			--textmode  > "../$1.asc" 
-	elif test "$signinterface" = "debsign"; then
-		if test x$signkey != x; then
-			$signcommand -k"$signkey" ../$1
-		else
-			$signcommand ../$1
-		fi
-		return
 	else
 	else
 		$signcommand -u "${signkey:-$maintainer}" +clearsig=on -fast <"../$1" \
 		$signcommand -u "${signkey:-$maintainer}" +clearsig=on -fast <"../$1" \
 			>"../$1.asc"
 			>"../$1.asc"
@@ -175,6 +168,14 @@ withecho () {
 	"$@"
 	"$@"
 }
 }
 
 
+if [ "$checkbuilddep" = "true" ]; then
+	if ! dpkg-checkbuilddeps $checkbuilddep_args; then
+		echo >&2 "$progname: Build dependancies/conflicts unsatisfied; aborting."
+		echo >&2 "$progname: (Use -d flag to override.)"
+		exit 3
+	fi
+fi
+
 set -- $binaryonly $sourceonly $sourcestyle
 set -- $binaryonly $sourceonly $sourcestyle
 if [ -n "$maint"	]; then set -- "$@" "-m$maint"		; fi
 if [ -n "$maint"	]; then set -- "$@" "-m$maint"		; fi
 if [ -n "$changedby"	]; then set -- "$@" "-e$changedby"	; fi
 if [ -n "$changedby"	]; then set -- "$@" "-e$changedby"	; fi
@@ -182,14 +183,14 @@ if [ -n "$since"	]; then set -- "$@" "-v$since"		; fi
 if [ -n "$desc"		]; then set -- "$@" "-C$desc"		; fi
 if [ -n "$desc"		]; then set -- "$@" "-C$desc"		; fi
 
 
 if [ x$noclean != xtrue ]; then
 if [ x$noclean != xtrue ]; then
-	withecho $rootcommand debian/rules clean $archlist
+	withecho $rootcommand debian/rules clean
 fi
 fi
 if [ x$binaryonly = x ]; then
 if [ x$binaryonly = x ]; then
 	cd ..; withecho dpkg-source $diffignore -b "$dirn"; cd "$dirn"
 	cd ..; withecho dpkg-source $diffignore -b "$dirn"; cd "$dirn"
 fi
 fi
 if [ x$sourceonly = x ]; then
 if [ x$sourceonly = x ]; then
-	withecho debian/rules build $archlist
-	withecho $rootcommand debian/rules $binarytarget $archlist
+	withecho debian/rules build 
+	withecho $rootcommand debian/rules $binarytarget
 fi
 fi
 if [ "$usepause" = "true" -a "signchanges" != ":" ] && [ "x$binaryonly" = x -o "x$signchanges" != x ] ; then
 if [ "$usepause" = "true" -a "signchanges" != ":" ] && [ "x$binaryonly" = x -o "x$signchanges" != x ] ; then
     echo Press the return key to start signing process
     echo Press the return key to start signing process
@@ -236,7 +237,7 @@ fi
 $signchanges "$pva.changes"
 $signchanges "$pva.changes"
 
 
 if $cleansource; then
 if $cleansource; then
-	withecho $rootcommand debian/rules clean $archlist
+	withecho $rootcommand debian/rules clean
 fi
 fi
 
 
 echo "dpkg-buildpackage: $srcmsg"
 echo "dpkg-buildpackage: $srcmsg"

+ 1 - 1
scripts/dpkg-distaddfile.pl

@@ -13,7 +13,7 @@ require 'controllib.pl';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-distaddfile $version.  Copyright (C) 1996
+"Debian dpkg-distaddfile $version.  Copyright (C) 1996
 Ian Jackson.  This is free software; see the GNU General Public Licence
 Ian Jackson.  This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 
 

+ 1 - 1
scripts/dpkg-divert.pl

@@ -8,7 +8,7 @@ $version= '1.0.11'; # This line modified by Makefile
 $admindir= "/var/lib/dpkg"; # This line modified by Makefile
 $admindir= "/var/lib/dpkg"; # This line modified by Makefile
 
 
 sub showversion {
 sub showversion {
-    print("Debian GNU/Linux dpkg-divert $version.\n") || &quit("failed to write version: $!");
+    print("Debian dpkg-divert $version.\n") || &quit("failed to write version: $!");
 }
 }
 
 
 sub usage {
 sub usage {

+ 2 - 2
scripts/dpkg-genchanges.pl

@@ -30,9 +30,9 @@ require 'controllib.pl';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-genchanges $version. 
+"Debian dpkg-genchanges $version. 
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 1996 Ian Jackson.
-Copyright (C) 2000 Wichert Akkerman.
+Copyright (C) 2000,2001 Wichert Akkerman.
 This is free software; see the GNU General Public Licence version 2 or later
 This is free software; see the GNU General Public Licence version 2 or later
 for copying conditions.  There is NO warranty.
 for copying conditions.  There is NO warranty.
 
 

+ 7 - 3
scripts/dpkg-gencontrol.pl

@@ -17,7 +17,7 @@ require 'controllib.pl';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-gencontrol $version. 
+"Debian dpkg-gencontrol $version. 
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 2000 Wichert Akkerman.
 Copyright (C) 2000 Wichert Akkerman.
 This is free software; see the GNU General Public Licence version 2 or later
 This is free software; see the GNU General Public Licence version 2 or later
@@ -32,6 +32,7 @@ Options:  -p<package>            print control file for package
           -v<forceversion>       set version of binary package
           -v<forceversion>       set version of binary package
           -f<fileslistfile>      write files here instead of debian/files
           -f<fileslistfile>      write files here instead of debian/files
           -P<packagebuilddir>    temporary build dir instead of debian/tmp
           -P<packagebuilddir>    temporary build dir instead of debian/tmp
+	  -n<filename>           assume the package filename will be <filename>
           -O                     write to stdout, not .../DEBIAN/control
           -O                     write to stdout, not .../DEBIAN/control
           -is                    include section field
           -is                    include section field
           -ip                    include priority field
           -ip                    include priority field
@@ -84,6 +85,8 @@ while (@ARGV) {
         $substvar{$1}= $';
         $substvar{$1}= $';
     } elsif (m/^-T/) {
     } elsif (m/^-T/) {
         $varlistfile= $';
         $varlistfile= $';
+    } elsif (m/^-n/) {
+        $forcefilename= $';
     } elsif (m/^-h$/) {
     } elsif (m/^-h$/) {
         &usageversion; exit(0);
         &usageversion; exit(0);
     } else {
     } else {
@@ -220,8 +223,9 @@ if (open(X,"< $fileslistfile")) {
 }
 }
 $sversion=$f{'Version'};
 $sversion=$f{'Version'};
 $sversion =~ s/^\d+://;
 $sversion =~ s/^\d+://;
-print(Y &substvars(sprintf("%s_%s_%s.deb %s %s\n",
-                           $oppackage,$sversion,$f{'Architecture'},
+$forcefilename=sprintf("%s_%s_%s.deb", $oppackage,$sversion,$f{'Architecture'})
+	   unless ($forcefilename);
+print(Y &substvars(sprintf("%s %s %s\n", $forcefilename, 
                            &spfileslistvalue('Section'), &spfileslistvalue('Priority'))))
                            &spfileslistvalue('Section'), &spfileslistvalue('Priority'))))
     || &syserr("write new entry to new files list file");
     || &syserr("write new entry to new files list file");
 close(Y) || &syserr("close new files list file");
 close(Y) || &syserr("close new files list file");

+ 3 - 5
scripts/dpkg-name.1

@@ -4,7 +4,7 @@
 .\" This is free software; see the GNU General Public Licence version 2
 .\" This is free software; see the GNU General Public Licence version 2
 .\" or later for copying conditions.  There is NO warranty.
 .\" or later for copying conditions.  There is NO warranty.
 .\" Time-stamp: <96/05/03 14:00:06 root>
 .\" Time-stamp: <96/05/03 14:00:06 root>
-.TH dpkg-name 1 "May 1996" "Debian Project" "Debian GNU/Linux"
+.TH dpkg-name 1 "May 1996" "Debian Project" "dpkg utilities"
 .SH NAME
 .SH NAME
 dpkg\-name \- rename Debian packages to full package names
 dpkg\-name \- rename Debian packages to full package names
 .SH SYNOPSIS
 .SH SYNOPSIS
@@ -81,10 +81,8 @@ Print version information and exit successfully.
 .B "\-l, \-\-license"
 .B "\-l, \-\-license"
 Print copyright information and (a reference to GNU) license
 Print copyright information and (a reference to GNU) license
 information and exit successfully.
 information and exit successfully.
-.SH BUGS?
-Successfully tested on
-.B Debian GNU/Linux 
-systems only. Some packages don't follow the name structure
+.SH BUGS
+Some packages don't follow the name structure
 <package>_<version>_<architecture>.deb. Packages renamed by dpkg-name
 <package>_<version>_<architecture>.deb. Packages renamed by dpkg-name
 will follow this structure. Generally this will have no impact on how
 will follow this structure. Generally this will have no impact on how
 packages are installed by dselect/dpkg, but other installation tools
 packages are installed by dselect/dpkg, but other installation tools

+ 11 - 5
scripts/dpkg-parsechangelog.pl

@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 #!/usr/bin/perl
 
 
-$dpkglibdir= ".";
+$dpkglibdir= "/usr/lib/dpkg";
 $version= '1.3.0'; # This line modified by Makefile
 $version= '1.3.0'; # This line modified by Makefile
 
 
 $format='debian';
 $format='debian';
@@ -16,8 +16,10 @@ require 'controllib.pl';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-source $version.  Copyright (C) 1996
-Ian Jackson.  This is free software; see the GNU General Public Licence
+"Debian dpkg-source $version.
+Copyright (C) 1996 Ian Jackson.
+Copyright (C) 2001 Wichert Akkerman
+This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 
 
 Usage: dpkg-parsechangelog [<option> ...]
 Usage: dpkg-parsechangelog [<option> ...]
@@ -46,7 +48,7 @@ while (@ARGV) {
 @ARGV && &usageerr("$progname takes no non-option arguments");
 @ARGV && &usageerr("$progname takes no non-option arguments");
 $changelogfile= "./$changelogfile" if $changelogfile =~ m/^\s/;
 $changelogfile= "./$changelogfile" if $changelogfile =~ m/^\s/;
 
 
-if (!$force) {
+if (not $force and $changelogfile ne "-") {
     open(STDIN,"< $changelogfile") ||
     open(STDIN,"< $changelogfile") ||
         &error("cannot open $changelogfile to find format: $!");
         &error("cannot open $changelogfile to find format: $!");
     open(P,"tail -40 |") || die "cannot fork: $!\n";
     open(P,"tail -40 |") || die "cannot fork: $!\n";
@@ -57,6 +59,7 @@ if (!$force) {
     close(P); $? && &subprocerr("tail of $changelogfile");
     close(P); $? && &subprocerr("tail of $changelogfile");
 }
 }
 
 
+
 for $pd (@parserpath) {
 for $pd (@parserpath) {
     $pa= "$pd/$format";
     $pa= "$pd/$format";
     if (!stat("$pa")) {
     if (!stat("$pa")) {
@@ -71,5 +74,8 @@ for $pd (@parserpath) {
         
         
 defined($pf) || &error("format $pa unknown");
 defined($pf) || &error("format $pa unknown");
 
 
-open(STDIN,"< $changelogfile") || die "cannot open $changelogfile: $!\n";
+if ($changelogfile ne "-") {
+    open(STDIN,"< $changelogfile") || die "cannot open $changelogfile: $!\n";
+}
 exec($pf,@ap); die "cannot exec format parser: $!\n";
 exec($pf,@ap); die "cannot exec format parser: $!\n";
+

+ 1 - 1
scripts/dpkg-scanpackages.8

@@ -13,7 +13,7 @@
 .\" You should have received a copy of the GNU General Public
 .\" You should have received a copy of the GNU General Public
 .\" License along with dpkg; if not, write to the Free Software
 .\" License along with dpkg; if not, write to the Free Software
 .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-.TH DPKG-SCANPACKAGES 8 "1996-07-08" "Debian GNU/Linux"
+.TH DPKG-SCANPACKAGES 8 "1996-07-08" "Debian project" "dpkg utilities"
 .SH NAME
 .SH NAME
 dpkg-scanpackages \- create Packages files
 dpkg-scanpackages \- create Packages files
 .
 .

+ 1 - 1
scripts/dpkg-scanpackages.pl

@@ -30,7 +30,7 @@ $written=0;
 $i=100; grep($pri{$_}=$i--,@fieldpri);
 $i=100; grep($pri{$_}=$i--,@fieldpri);
 
 
 $#ARGV == 1 || $#ARGV == 2
 $#ARGV == 1 || $#ARGV == 2
-    or die "Usage: dpkg-scanpackages binarypath overridefile pathprefix > Packages\n";
+    or die "Usage: dpkg-scanpackages binarypath overridefile [pathprefix] > Packages\n";
 ($binarydir, $override, $pathprefix) = @ARGV;
 ($binarydir, $override, $pathprefix) = @ARGV;
 -d $binarydir or die "Binary dir $binarydir not found\n";
 -d $binarydir or die "Binary dir $binarydir not found\n";
 -e $override or die "Override file $override not found\n";
 -e $override or die "Override file $override not found\n";

+ 1 - 1
scripts/dpkg-shlibdeps.pl

@@ -25,7 +25,7 @@ require 'controllib.pl';
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-shlibdeps $version.
+"Debian dpkg-shlibdeps $version.
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 1996 Ian Jackson.
 Copyright (C) 2000 Wichert Akkerman.
 Copyright (C) 2000 Wichert Akkerman.
 This is free software; see the GNU General Public Licence version 2 or
 This is free software; see the GNU General Public Licence version 2 or

+ 14 - 4
scripts/dpkg-source.1

@@ -1,6 +1,6 @@
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Authors: Ian Jackson
 .\" Authors: Ian Jackson
-.TH DPKG\-SOURCE 1 "Januari 2000" "Debian Project" "Debian GNU/Linux manual"
+.TH DPKG\-SOURCE 1 "Januari 2000" "Debian Project" "dpkg utilities"
 .SH NAME 
 .SH NAME 
 dpkg\-source, dpkg\-gencontrol, dpkg\-shlibdeps, dpkg\-genchanges,
 dpkg\-source, dpkg\-gencontrol, dpkg\-shlibdeps, dpkg\-genchanges,
 dpkg\-buildpackage, dpkg\-distaddfile, dpkg\-parsechangelog
 dpkg\-buildpackage, dpkg\-distaddfile, dpkg\-parsechangelog
@@ -283,7 +283,7 @@ filtered out of the list of files for the diff. (This list is
 generated by a find command.) \fB-i\fR by itself enables the option,
 generated by a find command.) \fB-i\fR by itself enables the option,
 with a default that will filter out CVS, RCS and libtool .deps
 with a default that will filter out CVS, RCS and libtool .deps
 subdirectories, and all files within them, as well as ~ suffixed
 subdirectories, and all files within them, as well as ~ suffixed
-backup files and DEAD_JOE's.
+backup files and DEADJOEs.
 
 
 This is very helpful in cutting out extraneous files that get included
 This is very helpful in cutting out extraneous files that get included
 in the .diff.gz, (eg: "debian/BUGS_TODO/*" or "debian/RCS/*,v").  For
 in the .diff.gz, (eg: "debian/BUGS_TODO/*" or "debian/RCS/*,v").  For
@@ -407,6 +407,11 @@ If the source control file lists only one binary package then this
 option may be omitted; otherwise it is essential to select which
 option may be omitted; otherwise it is essential to select which
 binary package's information to generate.
 binary package's information to generate.
 .TP
 .TP
+.BI -n filename
+Assume the filename of the package will be
+.I filename
+instead of the normal package_version_arch.deb filename.
+.TP
 .BR -is ", " -ip ", " -isp
 .BR -is ", " -ip ", " -isp
 Include the
 Include the
 .BR Section " and " Priority
 .BR Section " and " Priority
@@ -586,7 +591,7 @@ Clean the source tree (using
 after the package has been built.
 after the package has been built.
 .TP
 .TP
 .BR -us ", " -uc
 .BR -us ", " -uc
-Do not sign the source package or the changelog, respectively.
+Do not sign the source package or the .changes file, respectively.
 .TP
 .TP
 .BI -a architecture
 .BI -a architecture
 Specify the Debian architecture we build for. The architecture of the
 Specify the Debian architecture we build for. The architecture of the
@@ -595,8 +600,13 @@ for the host machine.
 .TP
 .TP
 .B -i[<regexp>]
 .B -i[<regexp>]
 Passed unchanged to
 Passed unchanged to
-.B dpkg-source
+.BR dpkg-source .
+.TP
+.B -D
+Check build dependancies and conflicts; abort if unsatisfied.
 .TP
 .TP
+.B -d
+Do not check build dependancies and conflicts.
 .SH DPKG-DISTADDFILE ARGUMENTS
 .SH DPKG-DISTADDFILE ARGUMENTS
 .B dpkg-distaddfile
 .B dpkg-distaddfile
 does not take any non-common options.  It takes three non-option
 does not take any non-common options.  It takes three non-option

+ 1 - 1
scripts/dpkg-source.pl

@@ -26,7 +26,7 @@ delete $ENV{'POSIXLY_CORRECT'};
 
 
 sub usageversion {
 sub usageversion {
     print STDERR
     print STDERR
-"Debian GNU/Linux dpkg-source $version.  Copyright (C) 1996
+"Debian dpkg-source $version.  Copyright (C) 1996
 Ian Jackson and Klee Dienes.  This is free software; see the GNU
 Ian Jackson and Klee Dienes.  This is free software; see the GNU
 General Public Licence version 2 or later for copying conditions.
 General Public Licence version 2 or later for copying conditions.
 There is NO warranty.
 There is NO warranty.

+ 2 - 1
scripts/dpkg-statoverride.8

@@ -32,7 +32,8 @@ Remove an override for \fB<file>\fR.
 .TP
 .TP
 .I --list [<glob-pattern>]
 .I --list [<glob-pattern>]
 List all overrides. If a glob pattern is specified restrict the output
 List all overrides. If a glob pattern is specified restrict the output
-to overrides which match the glob.
+to overrides which match the glob. If there are no overrides or none
+match the glob \fBdpkg-statoverride\fR will exit with an exitcode of 1.
 .TP
 .TP
 .I --force
 .I --force
 Force an action, even if a sanity check would otherwise prohibit it.
 Force an action, even if a sanity check would otherwise prohibit it.

+ 6 - 2
scripts/dpkg-statoverride.pl

@@ -70,6 +70,7 @@ while (@ARGV) {
 }
 }
 
 
 $dowrite=0;
 $dowrite=0;
+$exitcode=0;
 
 
 &badusage("no mode specified") unless $mode;
 &badusage("no mode specified") unless $mode;
 &ReadOverrides;
 &ReadOverrides;
@@ -125,7 +126,8 @@ if ($mode eq "add") {
 	$file=$ARGV[0];
 	$file=$ARGV[0];
 	if (not defined $owner{$file}) {
 	if (not defined $owner{$file}) {
 		print STDERR "No override present.\n";
 		print STDERR "No override present.\n";
-		exit(0);
+		exit(0) if ($doforce); 
+		exit(2);
 	}
 	}
 	delete $owner{$file};
 	delete $owner{$file};
 	delete $group{$file};
 	delete $group{$file};
@@ -143,15 +145,17 @@ if ($mode eq "add") {
 		push(@list,"^$_\$");
 		push(@list,"^$_\$");
 	}
 	}
 	$pat= join('|',@list);
 	$pat= join('|',@list);
+	$exitcode=1;
 	for $file (keys %owner) {
 	for $file (keys %owner) {
 		next unless ($file =~ m/$pat/o);
 		next unless ($file =~ m/$pat/o);
+		$exitcode=0;
 		print "$owner{$file} $group{$file} $mode{$file} $file\n";
 		print "$owner{$file} $group{$file} $mode{$file} $file\n";
 	}
 	}
 }
 }
 
 
 &WriteOverrides if ($dowrite);
 &WriteOverrides if ($dowrite);
 
 
-exit(0);
+exit($exitcode);
 
 
 sub ReadOverrides {
 sub ReadOverrides {
 	open(SO,"$admindir/statoverride") || &quit("cannot open statoverride: $!");
 	open(SO,"$admindir/statoverride") || &quit("cannot open statoverride: $!");

+ 1 - 1
scripts/install-info.8

@@ -3,7 +3,7 @@
 .\"
 .\"
 .\" This is free software; see the GNU General Public Licence version 2
 .\" This is free software; see the GNU General Public Licence version 2
 .\" or later for copying conditions.  There is NO warranty.
 .\" or later for copying conditions.  There is NO warranty.
-.TH INSTALL-INFO 8 "29th November 1995" "Debian Project" "Debian GNU/Linux"
+.TH INSTALL-INFO 8 "29th November 1995" "Debian Project" "dpkg utilities"
 .SH NAME
 .SH NAME
 install\-info \- create or update entry in Info directory
 install\-info \- create or update entry in Info directory
 .SH SYNOPSIS
 .SH SYNOPSIS

+ 1 - 1
scripts/install-info.pl

@@ -7,7 +7,7 @@
 $version= '0.93.42.2'; # This line modified by Makefile
 $version= '0.93.42.2'; # This line modified by Makefile
 sub version {
 sub version {
         print STDERR <<END;
         print STDERR <<END;
-Debian GNU/Linux install-info $version.  Copyright (C) 1994,1995
+Debian install-info $version.  Copyright (C) 1994,1995
 Ian Jackson.  This is free software; see the GNU General Public Licence
 Ian Jackson.  This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 END
 END

+ 4 - 2
scripts/update-alternatives.pl

@@ -28,8 +28,10 @@ sub ENOENT { 2; }
 $version= '0.93.80'; # This line modified by Makefile
 $version= '0.93.80'; # This line modified by Makefile
 sub usageversion {
 sub usageversion {
     print(STDERR <<END)
     print(STDERR <<END)
-Debian GNU/Linux update-alternatives $version.  Copyright (C) 1995
-Ian Jackson.  This is free software; see the GNU General Public Licence
+Debian update-alternatives $version.
+Copyright (C) 1995 Ian Jackson.
+Copyright (C) 2000 Wichert Akkerman
+This is free software; see the GNU General Public Licence
 version 2 or later for copying conditions.  There is NO warranty.
 version 2 or later for copying conditions.  There is NO warranty.
 
 
 Usage: update-alternatives --install <link> <name> <path> <priority>
 Usage: update-alternatives --install <link> <name> <path> <priority>

+ 1 - 1
scripts/update-rc.d.8

@@ -1,6 +1,6 @@
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Hey, Emacs!  This is an -*- nroff -*- source file.
 .\" Authors: Ian Jackson
 .\" Authors: Ian Jackson
-.TH UPDATE\-RC.D 8 "2 March 1998" "Debian Project" "Debian/GNU Linux"
+.TH UPDATE\-RC.D 8 "2 March 1998" "Debian Project" "dpkg utilities"
 .SH NAME
 .SH NAME
 update\-rc.d \- install and remove System-V style init script links
 update\-rc.d \- install and remove System-V style init script links
 .SH SYNOPSIS
 .SH SYNOPSIS

+ 1 - 1
utils/start-stop-daemon.8

@@ -161,7 +161,7 @@ and place the pid into it just before executing the process. Note, it will
 not be removed when stopping the program.
 not be removed when stopping the program.
 .B NOTE:
 .B NOTE:
 This feature may not work in all cases. Most notably when the program
 This feature may not work in all cases. Most notably when the program
-being executed forks from it's main process. Because of this it is usually
+being executed forks from its main process. Because of this it is usually
 only useful when combined with the
 only useful when combined with the
 .B --background
 .B --background
 option.
 option.

+ 1 - 1
version-nr

@@ -1 +1 @@
-1.8.0
+1.9.0