From 12d2028c09709629e877560300818d15c3c13102 Mon Sep 17 00:00:00 2001 From: Wichert Akkerman Date: Sat, 12 Feb 2000 20:34:53 +0000 Subject: [PATCH] configure.in: don't try to outguess what CFLAGS should be scripts/update-alternatives.8: fix typo `Merge Marcus Brinkman patches day': + scripts/dpkg-architecture.pl: architecture -q should not imply -f + scripts/dpkg-shlibdeps.pl: build a list of packages instead of overwriting previous results. + utils/start-stop-daemon.c: update HURD specifics + configure.in: revamp HURD detection stuff + debian/rules: use dpkg-buildarchitecture to get proper info, set config_arg if we are crosscompiling + debian/rules: typo in clean target, scan start-stop-daemon for shlibdeps --- ChangeLog | 15 +++++++++++++++ Makefile.conf.in | 2 ++ configure.in | 18 +++++------------- debian/changelog | 6 ++++-- debian/rules | 18 ++++++++++++++---- scripts/dpkg-architecture.pl | 6 +++--- scripts/dpkg-shlibdeps.pl | 5 ++--- scripts/update-alternatives.8 | 4 ++-- utils/Makefile.in | 1 + utils/start-stop-daemon.c | 10 ++++------ 10 files changed, 52 insertions(+), 33 deletions(-) diff --git a/ChangeLog b/ChangeLog index e5a92c44..36fd0425 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Sat Feb 12 17:11:33 CET 2000 Wichert Akkerman + + * configure.in: don't try to outguess what CFLAGS should be + * scripts/update-alternatives.8: fix typo + * `Merge Marcus Brinkman patches day': + + scripts/dpkg-architecture.pl: architecture -q should not imply -f + + scripts/dpkg-shlibdeps.pl: build a list of packages instead of + overwriting previous results. + + utils/start-stop-daemon.c: update HURD specifics + + configure.in: revamp HURD detection stuff + + debian/rules: use dpkg-buildarchitecture to get proper info, + set config_arg if we are crosscompiling + + debian/rules: typo in clean target, scan start-stop-daemon for + shlibdeps + Tue Feb 8 21:33:58 EST 2000 Ben Collins * main/{processarc,archive}.c: Make the conflictor an array of structs and diff --git a/Makefile.conf.in b/Makefile.conf.in index 15ae7464..b4d2e507 100644 --- a/Makefile.conf.in +++ b/Makefile.conf.in @@ -54,6 +54,8 @@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ +SSD_LIBS = @SSD_LIBS@ + DEFS = @DEFS@ INCLUDE_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir) -I$(srcdir) -I../include -I.. -I. diff --git a/configure.in b/configure.in index 73c938f1..25742827 100644 --- a/configure.in +++ b/configure.in @@ -101,25 +101,17 @@ AC_CHECK_TYPE(ptrdiff_t,int) AC_CHECK_FUNCS(unsetenv alphasort scandir strerror strsignal strtoul) AC_CHECK_FUNCS(vsnprintf lchown snprintf) AC_CHECK_HEADERS(sys/cdefs.h sys/sysinfo.h syslog.h stddef.h) -AC_CHECK_HEADERS(error.h hurd.h ps.h hurd/ihash.h) +AC_CHECK_HEADERS(error.h) AC_SYS_SIGLIST_DECLARED -AC_CHECK_LIB(shouldbeinlibc, fmt_past_time) -AC_CHECK_LIB(ps, proc_stat_list_pid_proc_stat) +AC_CHECK_LIB(ihash, ihash_create, SSD_LIBS="-lihash $SSD_LIBS") +AC_CHECK_LIB(ps, proc_stat_list_create, SSD_LIBS="-lps $SSD_LIBS") +AC_CHECK_LIB(shouldbeinlibc, fmt_past_time, SSD_LIBS="-lshouldbeinlibc $SSD_LIBS") +AC_SUBST(SSD_LIBS) AC_HAVE_SYSINFO AC_MEMINFO_IN_SYSINFO -AC_SUBST(OPTCFLAGS) -if test "${GCC-no}" = yes; then - CFLAGS="-D_REENTRANT -D_GNU_SOURCE -O2" - CXXFLAGS="-D_REENTRANT -D_GNU_SOURCE -O2" - OPTCFLAGS="-O3" -else - CFLAGS="-D_REENTRANT -D_GNU_SOURCE -O" - CXXFLAGS="-D_REENTRANT -D_GNU_SOURCE -O" -fi - AC_TRY_COMPILE([ #include #include diff --git a/debian/changelog b/debian/changelog index 8fa7510e..ee9040f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ -dpkg (1.6.8) unstable; urgency=low +dpkg (1.7.0) unstable; urgency=low - * fixed problems with multiple conflicts/replaces + * Use objdump instead of ldd in dpkg-shlibdeps + * HURD updates, Closes: Bug#57753,#57754,#57755 + * dpkg-architecture: -q should not imply -f, Closes: Bug# 57761 -- Wichert Akkerman UNRELEASED diff --git a/debian/rules b/debian/rules index 57f45e77..866bebbe 100755 --- a/debian/rules +++ b/debian/rules @@ -10,7 +10,15 @@ TMP_DPKG_DOC := $(TMP)-dpkg-doc DIR := $(shell pwd) # We should really get this in a different way... -arch = $(shell dpkg --print-architecture) +DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE 2> /dev/null || true) +DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE 2> /dev/null || true) +arch := $(shell dpkg-architecture -qDEB_HOST_ARCH) + +ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + config_arg := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +else + config_arg := +endif # Setup the buildlocation $(BUILD)/config.status: @@ -24,12 +32,13 @@ $(BUILD)/config.status: --sysconfdir=/etc \ --sharedstatedir=/var/lib \ --localstatedir=/var/lib \ - --with-admindir=/var/lib/dpkg + --with-admindir=/var/lib/dpkg \ + $(config_arg) clean: $(checkdir) rm -f debian/files debian/substvars - rm -f debian/dpkg,substvars + rm -f debian/dpkg.substvars rm -fr $(BUILD) $(TMP) $(TMP_DPKG) $(TMP_DPKG_DEV) $(TMP_DPKG_DOC) rm -f stamp-build stamp-binary @@ -114,7 +123,8 @@ binary-dpkg: stamp-binary install -p -m 755 -o root -g root debian/dpkg.postinst $(TMP_DPKG)/DEBIAN/postinst dpkg-shlibdeps -dPre-Depends -Tdebian/dpkg.substvars \ - $(TMP_DPKG)/usr/bin/dpkg $(TMP_DPKG)/usr/bin/dselect + $(TMP_DPKG)/usr/bin/dpkg $(TMP_DPKG)/usr/bin/dselect \ + $(TMP_DPKG)/sbin/start-stop-daemon dpkg-gencontrol -Tdebian/dpkg.substvars -pdpkg -P$(TMP_DPKG) dpkg --build $(TMP_DPKG) .. diff --git a/scripts/dpkg-architecture.pl b/scripts/dpkg-architecture.pl index 9b05080c..487a448f 100755 --- a/scripts/dpkg-architecture.pl +++ b/scripts/dpkg-architecture.pl @@ -37,6 +37,8 @@ # 1.0.5 Update default for rules files (i386->i486). # Print out overridden values, so make gets them, too. # 1.0.6 Revert to i386 to comply with policy ยง 5.1. +# 1.0.7 -q should not imply -f, because this prevents setting +# make variables with non-standard names correctly. $version="1.0.0"; $0 = `basename $0`; chomp $0; @@ -160,7 +162,6 @@ while (@ARGV) { } elsif (m/^-q/) { $req_variable_to_print = $'; $action = 'q'; - $force=1; } elsif (m/^-c$/) { $action = 'c'; last; @@ -290,8 +291,7 @@ value. Existing environment variables with the same name as used by the scripts are not overwritten, except if the B<-f> force flag is present. This allows the user to override a value even when the call to dpkg-architecture is buried in -some other script (for example dpkg-buildpackage). The B<-q> query option -implies B<-f>, and is therefore not affected by existing environment settings. +some other script (for example dpkg-buildpackage). =head1 TERMS diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl index 4a6b2508..7f4cb88e 100755 --- a/scripts/dpkg-shlibdeps.pl +++ b/scripts/dpkg-shlibdeps.pl @@ -165,7 +165,7 @@ if ($#libfiles >= 0) { &warn("diversions involved - output may be incorrect"); print(STDERR " $_\n") || syserr("write diversion info to stderr"); } elsif (m=^(\S+(, \S+)*): /.+/([^/]+)$=) { - $pathpackages{$+}= $1; + push @{$pathpackages{$+}}, split(/, /, $1); } else { &warn("unknown output from dpkg --search: \`$_'"); } @@ -178,8 +178,7 @@ LIB: for ($i=0;$i<=$#libname;$i++) { &warn("could not find any packages for $libfiles[$i]". " ($libname[$i].so.$libsoname[$i])"); } else { - @packages= split(/, /,$pathpackages{$libfiles[$i]}); - for $p (@packages) { + for $p (@{$pathpackages{$libfiles[$i]}}) { scanshlibsfile("$shlibsppdir/$p$shlibsppext", $libname[$i],$libsoname[$i],$libf[$i]) && next LIB; diff --git a/scripts/update-alternatives.8 b/scripts/update-alternatives.8 index 8b64399d..565ee223 100644 --- a/scripts/update-alternatives.8 +++ b/scripts/update-alternatives.8 @@ -31,6 +31,7 @@ update-alternatives \- maintain symbolic links determining default commands .RI [ options ] .B --display .I name +.PP .B update-alternatives .RI [ options ] .B --config @@ -50,7 +51,7 @@ user has not specified a particular preference. .PP Debian's alternatives system aims to solve this problem. A generic name in the filesystem is -shared by all files providing interchangable functionality. +shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name. For example, if the text editors @@ -210,7 +211,6 @@ Any number of the common options may be specified together with any action. Generate more comments about what .B update-alternatives is doing. -This option is not yet implemented. .TP .B --quiet Don't generate any comments unless errors occur. diff --git a/utils/Makefile.in b/utils/Makefile.in index b55ff420..713e0b65 100644 --- a/utils/Makefile.in +++ b/utils/Makefile.in @@ -50,6 +50,7 @@ install-doc: $(INSTALL_DATA) $(srcdir)/$(MD5_MANPAGES) $(DESTDIR)/$(man1dir) start-stop-daemon: $(SSD_OBJECTS) ../optlib/libopt.a + $(CC) $(LDFLAGS) -o $@ $(SSD_OBJECTS) $(SSD_LIBS) md5sum: $(MD5_OBJECTS) ../optlib/libopt.a diff --git a/utils/start-stop-daemon.c b/utils/start-stop-daemon.c index 47a974dc..91eb6e1e 100644 --- a/utils/start-stop-daemon.c +++ b/utils/start-stop-daemon.c @@ -27,10 +27,8 @@ #error Unknown architecture - cannot build start-stop-daemon #endif -#ifdef HAVE_HURH_H +#ifdef OSHURD #include -#endif -#ifdef HAVE_PS_H #include #endif @@ -82,7 +80,6 @@ static const char *progname = ""; static struct stat exec_stat; #if defined(OSHURD) -static struct ps_context *context; static struct proc_stat_list *procset; #endif @@ -107,7 +104,6 @@ static int do_stop(void); #if defined(OSLinux) static int pid_is_exec(int pid, const struct stat *esb); #endif -static void do_psinit(void); #ifdef __GNUC__ @@ -519,7 +515,9 @@ check_all (void *ptr) } static void -do_psinit(void) +do_procinit(void) +{ + struct ps_context *context; error_t err; err = ps_context_create (getproc (), &context); -- 2.39.5