Hi Helmut,

On Wed, 8 Jul 2020 18:49:42 +0200, Helmut Grohne <hel...@subdivi.de> wrote:
[...]
> > diff --git a/debian/control.in/main b/debian/control.in/main
> > index 659267bd..c513a01a 100644
> > --- a/debian/control.in/main
> > +++ b/debian/control.in/main
> > @@ -12,7 +12,8 @@ Build-Depends: gettext, dpkg (>= 1.18.7), dpkg-dev (>=
> > 1.17.14), xz-utils, file, g++-9, g++-9-multilib [amd64 i386
> > kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el mipsr6
> > mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 s390x
> > sparc sparc64 x32] <!nobiarch>, python3:native, libidn2-0 (>= 2.0.5~)
> > <!nocheck>,
> > - libc-bin (>= @GLIBC_VERSION@) <cross>
> > + libc-bin (>= @GLIBC_VERSION@) <cross>,
> > + libgd-dev <!stage1> <!stage2>  
> 
> I suggest adding a trailing comma to make the diff for the next change
> smaller.
> 
> >  Build-Depends-Indep: perl, po-debconf (>= 1.0)
> >  Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
> >  Uploaders: Clint Adams <cl...@debian.org>, Aurelien Jarno
> > <aure...@debian.org>, Adam Conrad <adcon...@0c3.net>, Samuel Thibault
> > <sthiba...@debian.org> @@ -47,11 +48,31 @@ Section: libdevel Priority:
> > optional Multi-Arch: foreign
> >  Depends: ${shlibs:Depends}, ${misc:Depends}
> > -Recommends: manpages, manpages-dev
> > +Recommends: libc-devtools (>> @GLIBC_VERSION@)
> >  Build-Profiles: <!stage1>
> >  Description: GNU C Library: Development binaries
> >   This package contains utility programs related to the GNU C Library
> >   development package.
> > + .
> > +  * gencat: generate message catalogs
> > +  * rpcgen: compile RPC protocols to C
> > +
> > +Package: libc-devtools
> > +Architecture: any
> > +Section: devel
> > +Priority: optional
> > +Multi-Arch: foreign  
> 
> I doubt that memusage is eligible for Multi-Arch: foreign.
> 
> > +Depends: ${shlibs:Depends}, ${misc:Depends}
> > +Recommends: manpages, manpages-dev
> > +Build-Profiles: <!stage1> <!stage2>  
> 
> You need Breaks + Replaces here. With the current patch, piuparts should
> be unhappy.

Thanks for the careful review, I’ve fixed all the above in the attached patch
(using ${binary:Version} for Breaks/Replaces for now).

Regards,

Stephen
From c0322308d2be0a5e54fa39ae1437f0fad7901540 Mon Sep 17 00:00:00 2001
From: Stephen Kitt <sk...@debian.org>
Date: Tue, 21 Apr 2020 20:55:53 +0200
Subject: [PATCH] Build and package memusage*

This builds memusage and memusagestat in the libc pass, and ships them
in a new package, libc-devtools (short for "libc-provided developer
tools", and not libc-dev-tools to avoid making it seem to
closely-related to libc-dev-bin). This involves adding a
build-dependency on libgd-dev (outside stage1 and stage2). Other tools
which are not used to build *with* libc, but useful for development in
general, are moved to libc-devtools: mtrace, sotruss, sprof.

libc-dev-bin recommends libc-devtools to provide a simple
transition (see #91815 for the discussion).

Closes: #91815
Signed-off-by: Stephen Kitt <sk...@debian.org>
---
 debian/control.in/main                        | 27 +++++++++++++++++--
 debian/debhelper.in/libc-dev-bin.install      |  3 ---
 debian/debhelper.in/libc-dev-bin.manpages     |  1 -
 debian/debhelper.in/libc-devtools.install     |  5 ++++
 ...rrides => libc-devtools.lintian-overrides} |  2 ++
 debian/debhelper.in/libc-devtools.manpages    |  1 +
 debian/rules                                  |  3 +++
 debian/rules.d/build.mk                       |  8 ++++++
 8 files changed, 44 insertions(+), 6 deletions(-)
 create mode 100644 debian/debhelper.in/libc-devtools.install
 rename debian/debhelper.in/{libc-dev-bin.lintian-overrides => libc-devtools.lintian-overrides} (58%)
 create mode 100644 debian/debhelper.in/libc-devtools.manpages

diff --git a/debian/control.in/main b/debian/control.in/main
index 659267bd..2a2fb5a8 100644
--- a/debian/control.in/main
+++ b/debian/control.in/main
@@ -12,7 +12,8 @@ Build-Depends: gettext, dpkg (>= 1.18.7), dpkg-dev (>= 1.17.14), xz-utils, file,
  g++-9, g++-9-multilib [amd64 i386 kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 s390x sparc sparc64 x32] <!nobiarch>,
  python3:native,
  libidn2-0 (>= 2.0.5~) <!nocheck>,
- libc-bin (>= @GLIBC_VERSION@) <cross>
+ libc-bin (>= @GLIBC_VERSION@) <cross>,
+ libgd-dev <!stage1> <!stage2>,
 Build-Depends-Indep: perl, po-debconf (>= 1.0)
 Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
 Uploaders: Clint Adams <cl...@debian.org>, Aurelien Jarno <aure...@debian.org>, Adam Conrad <adcon...@0c3.net>, Samuel Thibault <sthiba...@debian.org>
@@ -47,11 +48,33 @@ Section: libdevel
 Priority: optional
 Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Recommends: manpages, manpages-dev
+Recommends: libc-devtools (>> @GLIBC_VERSION@)
 Build-Profiles: <!stage1>
 Description: GNU C Library: Development binaries
  This package contains utility programs related to the GNU C Library
  development package.
+ .
+  * gencat: generate message catalogs
+  * rpcgen: compile RPC protocols to C
+
+Package: libc-devtools
+Architecture: any
+Section: devel
+Priority: optional
+Multi-Arch: no
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: libc-dev-bin (<< ${binary:Version})
+Replaces: libc-dev-bin (<< ${binary:Version})
+Recommends: manpages, manpages-dev
+Build-Profiles: <!stage1> <!stage2>
+Description: GNU C Library: Development tools
+ This package contains development tools shipped by the GNU C
+ Library.
+ .
+  * memusage, memusagestat: profile a program's memory usage
+  * mtrace: interpret the malloc trace log
+  * sotruss: trace shared library calls
+  * sprof: display shared object profiling data
 
 Package: libc-l10n
 Architecture: all
diff --git a/debian/debhelper.in/libc-dev-bin.install b/debian/debhelper.in/libc-dev-bin.install
index 0d760a7e..902029b5 100644
--- a/debian/debhelper.in/libc-dev-bin.install
+++ b/debian/debhelper.in/libc-dev-bin.install
@@ -1,5 +1,2 @@
 debian/tmp-libc/usr/bin/gencat usr/bin
-debian/tmp-libc/usr/bin/mtrace usr/bin
 debian/tmp-libc/usr/bin/rpcgen usr/bin
-debian/tmp-libc/usr/bin/sotruss usr/bin
-debian/tmp-libc/usr/bin/sprof usr/bin
diff --git a/debian/debhelper.in/libc-dev-bin.manpages b/debian/debhelper.in/libc-dev-bin.manpages
index c33123a0..576ec52c 100644
--- a/debian/debhelper.in/libc-dev-bin.manpages
+++ b/debian/debhelper.in/libc-dev-bin.manpages
@@ -1,3 +1,2 @@
 debian/local/manpages/gencat.1
 debian/local/manpages/rpcgen.1 
-debian/local/manpages/sotruss.1
diff --git a/debian/debhelper.in/libc-devtools.install b/debian/debhelper.in/libc-devtools.install
new file mode 100644
index 00000000..7a0024da
--- /dev/null
+++ b/debian/debhelper.in/libc-devtools.install
@@ -0,0 +1,5 @@
+debian/tmp-libc/usr/bin/memusage usr/bin
+debian/tmp-libc/usr/bin/memusagestat usr/bin
+debian/tmp-libc/usr/bin/mtrace usr/bin
+debian/tmp-libc/usr/bin/sotruss usr/bin
+debian/tmp-libc/usr/bin/sprof usr/bin
diff --git a/debian/debhelper.in/libc-dev-bin.lintian-overrides b/debian/debhelper.in/libc-devtools.lintian-overrides
similarity index 58%
rename from debian/debhelper.in/libc-dev-bin.lintian-overrides
rename to debian/debhelper.in/libc-devtools.lintian-overrides
index eedd7cbd..1031449a 100644
--- a/debian/debhelper.in/libc-dev-bin.lintian-overrides
+++ b/debian/debhelper.in/libc-devtools.lintian-overrides
@@ -1,3 +1,5 @@
 # these manpages are provided by the manpages package
+libc-dev-bin: binary-without-manpage usr/bin/memusage
+libc-dev-bin: binary-without-manpage usr/bin/memusagestat
 libc-dev-bin: binary-without-manpage usr/bin/mtrace
 libc-dev-bin: binary-without-manpage usr/bin/sprof
diff --git a/debian/debhelper.in/libc-devtools.manpages b/debian/debhelper.in/libc-devtools.manpages
new file mode 100644
index 00000000..c43e02da
--- /dev/null
+++ b/debian/debhelper.in/libc-devtools.manpages
@@ -0,0 +1 @@
+debian/local/manpages/sotruss.1
diff --git a/debian/rules b/debian/rules
index 97e00f91..84bddc48 100755
--- a/debian/rules
+++ b/debian/rules
@@ -136,6 +136,9 @@ ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
   endif
 else
   DEB_ARCH_REGULAR_PACKAGES = $(libc) $(libc)-dev $(libc)-dbg $(libc)-pic libc-bin libc-dev-bin
+  ifeq ($(filter stage2,$(DEB_BUILD_PROFILES)),)
+    DEB_ARCH_REGULAR_PACKAGES += libc-devtools
+  endif
   DEB_INDEP_REGULAR_PACKAGES = glibc-doc glibc-source libc-l10n locales
   ifneq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
     DEB_UDEB_PACKAGES =
diff --git a/debian/rules.d/build.mk b/debian/rules.d/build.mk
index 0d03116a..7dbe9024 100644
--- a/debian/rules.d/build.mk
+++ b/debian/rules.d/build.mk
@@ -37,7 +37,15 @@ $(stamp)configure_%: $(stamp)config_sub_guess $(stamp)patch $(KERNEL_HEADER_DIR)
 	echo "BASH := /bin/bash"                  >> $(DEB_BUILDDIR)/configparms
 	echo "KSH := /bin/bash"                   >> $(DEB_BUILDDIR)/configparms
 	echo "SHELL := /bin/bash"                 >> $(DEB_BUILDDIR)/configparms
+ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
+	if [ "$(curpass)" = "libc" ]; then \
+	  echo "LIBGD = yes"                      >> $(DEB_BUILDDIR)/configparms; \
+	else \
+	  echo "LIBGD = no"                       >> $(DEB_BUILDDIR)/configparms; \
+	fi
+else
 	echo "LIBGD = no"                         >> $(DEB_BUILDDIR)/configparms
+endif
 	echo "bindir = $(bindir)"                 >> $(DEB_BUILDDIR)/configparms
 	echo "datadir = $(datadir)"               >> $(DEB_BUILDDIR)/configparms
 	echo "complocaledir = $(complocaledir)"   >> $(DEB_BUILDDIR)/configparms
-- 
2.20.1

Attachment: pgpdvbHdiGXfp.pgp
Description: OpenPGP digital signature

Reply via email to