]> err.no Git - dpkg/commitdiff
scripts/cl-debian.pl: Allow space between `#' and the bugnumber in the changelog...
authorWichert Akkerman <wakkerma@debian.org>
Sun, 9 Jan 2000 01:31:17 +0000 (01:31 +0000)
committerWichert Akkerman <wakkerma@debian.org>
Sun, 9 Jan 2000 01:31:17 +0000 (01:31 +0000)
scripts/start-stop-daemon.c: test for __sparc__ instead
scripts/Makefile.in: add optlib to CFLAGS
utils/start-stop-daemon.c: add option to chroot first, patch from Marco d'Itri
utils/start-stop-daemon.8: document chroot option
dselect/pkgtop.cc: use waddnstr to print package description instead of waddch

ChangeLog
THANKS
TODO
configure.in
debian/changelog
dselect/pkgtop.cc
scripts/cl-debian.pl
utils/Makefile.in
utils/start-stop-daemon.8
utils/start-stop-daemon.c

index cf5839709f767e5266e29bb51b93ef32d9a3f0e4..10b969e6d7a16f2171cad3d54604562f3a6e5fe8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Sun Jan  9 01:40:23 CET 2000 Wichert Akkerman <wakkerma@debian.org>
+
+  * scripts/cl-debian.pl: Allow space between `#' and the bugnumber in the
+    changelog scripts
+  * scripts/start-stop-daemon.c: test for __sparc__ instead
+  * scripts/Makefile.in: add optlib to CFLAGS
+  * utils/start-stop-daemon.c: add option to chroot first, patch from Marco d'Itri
+  * utils/start-stop-daemon.8: document chroot option
+  * dselect/pkgtop.cc: use waddnstr to print package description instead of waddch
+
 Fri Jan  7 18:24:45 CET 2000 Wichert Akkerman <wakkerma@debian.org>
 
   * dselect/method.cc: pass admindir to dpkg
diff --git a/THANKS b/THANKS
index b9bd37cc947757a84a22f1b392100a7ce8b54928..c3c9ccda8aa6f5f6f9d025b119c35a370995005f 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -29,6 +29,7 @@ Juergen Menden <menden@morgana.camelot.de>
 Juho Vuori <javuori@cc.helsinki.fi>
 Kim-Minh Kaplan <kkaplan@cdfhp3.in2p3.fr>
 Klee Dienes <klee@debian.org>
+Marco d'Itri <md@linux.it>
 Marcus Brinkmann <brinkmd@debian.org> 
 Masato Taruishi <taru@debian.or.jp>
 Matt Welsh <mdw@sunsite.unc.edu>
diff --git a/TODO b/TODO
index 5dbc9756fc20acea332e8d3b898e193e328b67af..435d771d1a53e721788ef271468544dad6019c42 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,10 @@
+
+* start-stop-daemon: write pidfile before we chroot?
+
+------------------------------------------------------------------------------
+
+Old TODO entries from IWJ:
+
 Here are some currently-known inadequacies:
 
 urgent
index 57a337f6af113681224dd249ca49d7e7f511623c..1320e1f3b5aeca59d9f0d4519c823ae392e3561f 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ([2.12])
+AC_PREREQ([2.13])
 
 AC_INIT(include/dpkg.h.in)
 AC_CONFIG_HEADER(config.h)
index 86d978d8e2db31eefc08a449538518cacd7e346d..26cf51d4859836811124bf70377857c4ff2bf1d3 100644 (file)
@@ -1,3 +1,11 @@
+dpkg (1.6.7) unstable; urgency=low
+
+  * start-stop-daemon can chroot now, Closes: Bug#54513
+  * Allow space between # and the bugnumber in the changelog
+  * Display package description with waddnstr, Closes: Bug#54313
+
+ -- Wichert Akkerman <wakkerma@debian.org>  UNRELEASED
+
 dpkg (1.6.6) unstable; urgency=low
 
   * dpkg-buildpackage supports debsign, Closes: Bug#58333
index ade9428f7e4a43cd9e33dcacdd9820b79da7a1d5..f6466eda8978b4a4a2870ef31c8d8da9769c7164 100644 (file)
@@ -221,7 +221,7 @@ void packagelist::redraw1itemsel(int index, int selected) {
 
     i= description_width;
     p= info->description ? info->description : "";
-    while (i>0 && *p && *p != '\n') { waddch(listpad,*p); i--; p++; }
+    while (i>0 && *p && *p != '\n') { waddnstr(listpad,p,1); i--; p++; }
       
   } else {
 
index dc823f2de71521b63c5b81b5d3e4eb104a5a1696..5ec9f54e8f50f7d2d5fe7a894af1a5118f5f2199 100755 (executable)
@@ -138,7 +138,7 @@ $expect eq 'next heading or eof' || die "found eof where expected $expect";
 $f{'Changes'} =~ s/\n$//;
 $f{'Changes'} =~ s/^/\n/;
 
-while ($f{'Changes'} =~ /closes:\s*(?:bug)?\#\d+(?:,\s*(?:bug)?\#\d+)*/ig) {
+while ($f{'Changes'} =~ /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig) {
   push(@closes, $& =~ /\#(\d+)/g);
 }
 $f{'Closes'} = join(' ',sort { $a <=> $b} @closes);
index 99a7342f01f6d6f9d997e1efbed4b751c8c18799..09cbf46433a6e250ceaac499ed0cbbd11be0c8e7 100644 (file)
@@ -5,6 +5,8 @@ top_srcdir      = @top_srcdir@
 
 include ../Makefile.conf
 
+CFLAGS                 += $(top_srcdir)/optlib
+
 SSD_SOURCES            = start-stop-daemon.c
 SSD_OBJECTS            = $(patsubst %.c, %.o, $(SSD_SOURCES))
 SSD_MANPAGES           = start-stop-daemon.8
index 71bed3ec5a69443d50f778c620ab76f1c8905f78..0b7bad09dc05236aad6df4178e2630e737b4c47b 100644 (file)
@@ -130,6 +130,12 @@ even if the `group' options is not specified. The group option is only for
 groups that the user isn't normally a member of (like adding per/process
 group membership for generic users like `nobody').
 .TP
+.I -r|--chroot root
+Chdir and chroot to
+.B root
+before starting the process. Please note that the pidfile is also written
+after the chroot.
+.TP
 .I -b|--background
 Typically used with programs that don't detach on their own. This option
 will force
index def1026d13d11861420abba6f52e8d8871445c98..47a974dcb5e4b9c5f4e4f559035cfe6e27facb27 100644 (file)
@@ -21,7 +21,7 @@
 #define OSLinux
 #elif defined(__GNU__)
 #define OSHURD
-#elif defined(Sparc)
+#elif defined(__sparc__)
 #define OSsunos
 #else
 #error Unknown architecture - cannot build start-stop-daemon
@@ -73,6 +73,7 @@ static int runas_gid = -1;
 static const char *userspec = NULL;
 static char *changeuser = NULL;
 static char *changegroup = NULL;
+static char *changeroot = NULL;
 static const char *cmdname = NULL;
 static char *execname = NULL;
 static char *startas = NULL;
@@ -255,6 +256,7 @@ parse_options(int argc, char * const *argv)
                { "signal",       1, NULL, 's'},
                { "test",         0, NULL, 't'},
                { "user",         1, NULL, 'u'},
+               { "chroot",       1, NULL, 'r'},
                { "verbose",      0, NULL, 'v'},
                { "exec",         1, NULL, 'x'},
                { "chuid",        1, NULL, 'c'},
@@ -265,7 +267,7 @@ parse_options(int argc, char * const *argv)
        int c;
 
        for (;;) {
-               c = getopt_long(argc, argv, "HKSVa:n:op:qs:tu:vx:c:bm",
+               c = getopt_long(argc, argv, "HKSVa:n:op:qr:s:tu:vx:c:bm",
                                longopts, (int *) 0);
                if (c == -1)
                        break;
@@ -319,6 +321,9 @@ parse_options(int argc, char * const *argv)
                        changeuser = strtok(changeuser, ":");
                        changegroup = strtok(NULL, ":");
                        break;
+               case 'r':  /* --chroot /new/root */
+                       changeroot = optarg;
+                       break;
                case 'b':  /* --background */
                        background = 1;
                        break;
@@ -650,12 +655,20 @@ main(int argc, char **argv)
                        else
                                printf(")");
                }
+               if (changeroot != NULL)
+                       printf(" in directory %s", changeroot);
                printf(".\n");
                exit(0);
        }
        if (quietmode < 0)
                printf("Starting %s...\n", startas);
        *--argv = startas;
+       if (changeroot != NULL) {
+               if (chdir(changeroot) < 0)
+                       fatal("Unable to chdir() to %s", changeroot);
+               if (chroot(changeroot) < 0)
+                       fatal("Unable to chroot() to %s", changeroot);
+       }
        if (changeuser != NULL) {
                if (setgid(runas_gid))
                        fatal("Unable to set gid to %d", runas_gid);