Bug#994751: pango1.0: the development package does not include static libraries
On Mon, Sep 20, 2021 at 6:05 PM Simon McVittie wrote: > > Control: tags -1 = moreinfo > > On Mon, 20 Sep 2021 at 17:29:34 +0200, Alfonso Sanchez-Beato wrote: > > On Mon, Sep 20, 2021 at 5:05 PM Simon McVittie wrote: > > > libpango-1.0.so.0 depends on libgio-2.0.so.0, which depends on > > > libmount.so.1, which is only available as a shared library > > > > I do not see a dependency on libgio when I run ldd on > > libpango-1.0.so.0, although it does depend on libglib-2.0.so.0 and > > libgobject-2.0.so.0. > > Maybe the dependency was only introduced in a recent version? It's > certainly there in Debian unstable, which is the only suite where adding > static libraries would be in-scope for Debian (other than experimental, > but there's currently no version of pango1.0 in experimental), for at > least amd64 and i386. Right, I double checked and indeed the latest in unstable has that dependency. > > > Besides, it is possible to compile statically against libpango and > > still compile dynamically against some of its dependencies. > ... > > > More generally, configurations that aren't actively tested typically > > > don't work, so if I enable static linking in a particular package, > > > I would want to have at least superficial autopkgtest coverage for it > > > (see debian/tests/build-static and debian/tests/build in src:glib2.0 for > > > an example) > > > > I will be happy to provide such a test if that is the blocker for landing > > this. > > If this is something that works in unstable, then please do. Please see the new attached patch. > > smcv Thanks, Alfonso diff -Nru pango1.0-1.48.10+ds1/debian/changelog pango1.0-1.48.10+ds1/debian/changelog --- pango1.0-1.48.10+ds1/debian/changelog 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/changelog 2021-09-22 14:10:13.0 + @@ -1,3 +1,15 @@ +pango1.0 (1.48.10+ds1-2) unstable; urgency=medium + + * Non-maintainer upload. + * Include archive files to allow static compilation of the libraries +- d/rules: Build also archive files for static compilation +- d/libpango1.0-dev.install: Include archive files +- d/tests/build: Add --static option +- d/tests/build-static: Exercise static linking +- d/tests/control: Add build-static test + + -- Alfonso Sanchez-Beato (email Canonical) Wed, 22 Sep 2021 14:10:13 + + pango1.0 (1.48.10+ds1-1) unstable; urgency=medium * Team upload diff -Nru pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install --- pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install 2021-09-22 14:06:45.0 + @@ -1,4 +1,5 @@ usr/include +usr/lib/*/*.a usr/lib/*/*.so usr/lib/*/pkgconfig/*.pc usr/share/gir-1.0 diff -Nru pango1.0-1.48.10+ds1/debian/rules pango1.0-1.48.10+ds1/debian/rules --- pango1.0-1.48.10+ds1/debian/rules 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/rules 2021-09-22 14:06:45.0 + @@ -21,6 +21,7 @@ -Dauto_features=enabled \ -Dgtk_doc=$(with_docs) \ -Dinstall-tests=true \ + -Ddefault_library=both \ $(NULL) override_dh_auto_test-arch: diff -Nru pango1.0-1.48.10+ds1/debian/tests/build pango1.0-1.48.10+ds1/debian/tests/build --- pango1.0-1.48.10+ds1/debian/tests/build 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/tests/build 2021-09-22 14:10:13.0 + @@ -1,11 +1,36 @@ #!/bin/sh # autopkgtest check: Builds a small application against libcairo2-dev, checking # if it compiles, links and runs successfully. -# Author: Rafał Cieślak +# Authors: Rafał Cieślak , +# Alfonso Sánchez-Beato set -e set -u +mode=dynamic + +getopt_temp="$(getopt -o '' --long 'static' -n debian/tests/build -- "$@")" +eval set -- "$getopt_temp" + +while true; do +case "$1" in +(--static) +mode=static +shift +continue +;; + +(--) +shift +break +;; + +(*) +echo "getopt: Internal error" >&2 +exit 2 +esac +done + WORKDIR=$(mktemp -d) cleanup () { rm -fr "$WORKDIR" @@ -31,9 +56,26 @@ } EOF -# Deliberately word-splitting, that's how pkg-config works: -# shellcheck disable=SC2046 -"${CROSS_COMPILE}gcc" -o build_test build_test.c $("${CROSS_COMPILE}pkg-config" --cflags --libs pango) + +case "$mode" in +(static) +# Compile all statically but libgraphite and libmount, that do not have +# static version yet. +flags=$("${CROSS_COMPILE}pkg-config" --cflags --static --libs pango) +flags=$(echo "$flags&
Bug#994757: libgraphite2-dev: no archive files for static compilation are included in the -dev package
On Mon, Sep 20, 2021 at 5:39 PM Rene Engelhard wrote: > > notfound 994757 1.3.13-11 > > severity 994757 wishlist > > thanks > > Hi, > > Am 20.09.21 um 16:43 schrieb Alfonso Sanchez-Beato: > > Package: libgraphite2-dev > > Version: 1.3.13-11build1 > > There is no such version. You are reporting against Debian, please use > proper versions existing there. > > > Also you are reporting against a obsolete version which doesn't exist > anymore (and in stable stuff like this won't be changed): > > $ rmadison libgraphite2-dev > > libgraphite2-dev | 1.3.13-7| oldstable | amd64, arm64, > armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x > libgraphite2-dev | 1.3.14-1| stable | amd64, arm64, > armel, armhf, i386, mips64el, mipsel, ppc64el, s390x > libgraphite2-dev | 1.3.14-1| testing | amd64, arm64, > armel, armhf, i386, mips64el, mipsel, ppc64el, s390x > libgraphite2-dev | 1.3.14-1| unstable| amd64, arm64, > armel, armhf, i386, mips64el, mipsel, ppc64el, s390x > > > There is no libgraphite2.a file, so it is not possible to compile statically > > against this library. > Because upstream doesn't build one in their standard build and I didn't > bother to manually build it as in your patch ... > > See attached patch to solve this. > .. as I am not sure. Why would people want to statically build against > > libgraphite2.a anyways? My use case is to compile an embedded application with all dependencies bundled in, including libpango, libgraphite, and others, to minimize the final size of the image (no other apps would use the shared libs anyway). But I think it can be useful in other cases too, and that in general having the option to compile statically cannot be harmful. > > > -- System Information: > > Debian Release: bullseye/sid > > APT prefers focal-updates > > APT policy: (500, 'focal-updates'), (500, 'focal-security'), (500, > > 'focal'), (100, 'focal-backports') > > Architecture: amd64 (x86_64) > > Foreign Architectures: i386 > > Ah, this explains it. If you use Ubuntu please do some care to make a correct > Debian bug report. Do you want me to create a new bug? I was about to do it, but thought that would create more noise by now. > > > Regards, > > > Rene > > Thanks, Alfonso
Bug#994752: Bug#994751: pango1.0: the development package does not include static libraries
On Mon, Sep 20, 2021 at 6:05 PM Simon McVittie wrote: > > Control: tags -1 = moreinfo > > On Mon, 20 Sep 2021 at 17:29:34 +0200, Alfonso Sanchez-Beato wrote: > > On Mon, Sep 20, 2021 at 5:05 PM Simon McVittie wrote: > > > libpango-1.0.so.0 depends on libgio-2.0.so.0, which depends on > > > libmount.so.1, which is only available as a shared library > > > > I do not see a dependency on libgio when I run ldd on > > libpango-1.0.so.0, although it does depend on libglib-2.0.so.0 and > > libgobject-2.0.so.0. > > Maybe the dependency was only introduced in a recent version? It's > certainly there in Debian unstable, which is the only suite where adding > static libraries would be in-scope for Debian (other than experimental, > but there's currently no version of pango1.0 in experimental), for at > least amd64 and i386. Right, I double checked and indeed the latest in unstable has that dependency. > > > Besides, it is possible to compile statically against libpango and > > still compile dynamically against some of its dependencies. > ... > > > More generally, configurations that aren't actively tested typically > > > don't work, so if I enable static linking in a particular package, > > > I would want to have at least superficial autopkgtest coverage for it > > > (see debian/tests/build-static and debian/tests/build in src:glib2.0 for > > > an example) > > > > I will be happy to provide such a test if that is the blocker for landing > > this. > > If this is something that works in unstable, then please do. Please see the new attached patch. > > smcv Thanks, Alfonso diff -Nru pango1.0-1.48.10+ds1/debian/changelog pango1.0-1.48.10+ds1/debian/changelog --- pango1.0-1.48.10+ds1/debian/changelog 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/changelog 2021-09-22 14:10:13.0 + @@ -1,3 +1,15 @@ +pango1.0 (1.48.10+ds1-2) unstable; urgency=medium + + * Non-maintainer upload. + * Include archive files to allow static compilation of the libraries +- d/rules: Build also archive files for static compilation +- d/libpango1.0-dev.install: Include archive files +- d/tests/build: Add --static option +- d/tests/build-static: Exercise static linking +- d/tests/control: Add build-static test + + -- Alfonso Sanchez-Beato (email Canonical) Wed, 22 Sep 2021 14:10:13 + + pango1.0 (1.48.10+ds1-1) unstable; urgency=medium * Team upload diff -Nru pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install --- pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/libpango1.0-dev.install 2021-09-22 14:06:45.0 + @@ -1,4 +1,5 @@ usr/include +usr/lib/*/*.a usr/lib/*/*.so usr/lib/*/pkgconfig/*.pc usr/share/gir-1.0 diff -Nru pango1.0-1.48.10+ds1/debian/rules pango1.0-1.48.10+ds1/debian/rules --- pango1.0-1.48.10+ds1/debian/rules 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/rules 2021-09-22 14:06:45.0 + @@ -21,6 +21,7 @@ -Dauto_features=enabled \ -Dgtk_doc=$(with_docs) \ -Dinstall-tests=true \ + -Ddefault_library=both \ $(NULL) override_dh_auto_test-arch: diff -Nru pango1.0-1.48.10+ds1/debian/tests/build pango1.0-1.48.10+ds1/debian/tests/build --- pango1.0-1.48.10+ds1/debian/tests/build 2021-09-17 09:54:40.0 + +++ pango1.0-1.48.10+ds1/debian/tests/build 2021-09-22 14:10:13.0 + @@ -1,11 +1,36 @@ #!/bin/sh # autopkgtest check: Builds a small application against libcairo2-dev, checking # if it compiles, links and runs successfully. -# Author: Rafał Cieślak +# Authors: Rafał Cieślak , +# Alfonso Sánchez-Beato set -e set -u +mode=dynamic + +getopt_temp="$(getopt -o '' --long 'static' -n debian/tests/build -- "$@")" +eval set -- "$getopt_temp" + +while true; do +case "$1" in +(--static) +mode=static +shift +continue +;; + +(--) +shift +break +;; + +(*) +echo "getopt: Internal error" >&2 +exit 2 +esac +done + WORKDIR=$(mktemp -d) cleanup () { rm -fr "$WORKDIR" @@ -31,9 +56,26 @@ } EOF -# Deliberately word-splitting, that's how pkg-config works: -# shellcheck disable=SC2046 -"${CROSS_COMPILE}gcc" -o build_test build_test.c $("${CROSS_COMPILE}pkg-config" --cflags --libs pango) + +case "$mode" in +(static) +# Compile all statically but libgraphite and libmount, that do not have +# static version yet. +flags=$("${CROSS_COMPILE}pkg-config" --cflags --static --libs pango) +flags=$(echo "$flags&
Bug#994751: pango1.0: the development package does not include static libraries
On Mon, Sep 20, 2021 at 5:05 PM Simon McVittie wrote: > > Control: forcemerge 994752 994751 > Control: severity 994752 wishlist > Control: tags 994752 + wontfix > > On Mon, 20 Sep 2021 at 15:40:27 +0200, Alfonso Sanchez-Beato wrote: > > The development package for pango (libpango1.0-dev) does not include static > > libraries so it is not possible to link these libraries statically. > > libpango-1.0.so.0 depends on libgio-2.0.so.0, which depends on > libmount.so.1, which is only available as a shared library, so it > doesn't seem like it is going to be possible to link these libraries > statically regardless of whether we build a .a file or not. It doesn't > seem desirable to make the build take longer to build something that > won't actually work as desired. I do not see a dependency on libgio when I run ldd on libpango-1.0.so.0, although it does depend on libglib-2.0.so.0 and libgobject-2.0.so.0. Besides, it is possible to compile statically against libpango and still compile dynamically against some of its dependencies. I am doing that for my use case and it works just fine. > > More generally, configurations that aren't actively tested typically > don't work, so if I enable static linking in a particular package, > I would want to have at least superficial autopkgtest coverage for it > (see debian/tests/build-static and debian/tests/build in src:glib2.0 for > an example). However, for this particular package, it doesn't seem like > that is going to be possible. I will be happy to provide such a test if that is the blocker for landing this. > > smcv
Bug#994757: libgraphite2-dev: no archive files for static compilation are included in the -dev package
Package: libgraphite2-dev Version: 1.3.13-11build1 Severity: normal Tags: patch Dear Maintainer, There is no libgraphite2.a file, so it is not possible to compile statically against this library. See attached patch to solve this. -- System Information: Debian Release: bullseye/sid APT prefers focal-updates APT policy: (500, 'focal-updates'), (500, 'focal-security'), (500, 'focal'), (100, 'focal-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.4.0-84-generic (SMP w/8 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libgraphite2-dev depends on: ii libgraphite2-3 1.3.13-11build1 libgraphite2-dev recommends no packages. Versions of packages libgraphite2-dev suggests: pn libgraphite2-utils -- no debconf information diff -Nru graphite2-1.3.14/debian/changelog graphite2-1.3.14/debian/changelog --- graphite2-1.3.14/debian/changelog 2020-04-01 11:11:00.0 +0200 +++ graphite2-1.3.14/debian/changelog 2021-09-17 17:11:16.0 +0200 @@ -1,3 +1,9 @@ +graphite2 (1.3.14-2) unstable; urgency=medium + + * Build also archive for static compilation + + -- Alfonso Sanchez-Beato (email Canonical) Fri, 17 Sep 2021 17:11:16 +0200 + graphite2 (1.3.14-1) unstable; urgency=medium * New upstream version 1.3.14 diff -Nru graphite2-1.3.14/debian/libgraphite2-dev.install graphite2-1.3.14/debian/libgraphite2-dev.install --- graphite2-1.3.14/debian/libgraphite2-dev.install2020-04-01 11:11:00.0 +0200 +++ graphite2-1.3.14/debian/libgraphite2-dev.install2021-09-17 17:09:42.0 +0200 @@ -1,3 +1,4 @@ usr/include +usr/lib/*/lib*.a usr/lib/*/lib*.so usr/lib/*/pkgconfig diff -Nru graphite2-1.3.14/debian/rules graphite2-1.3.14/debian/rules --- graphite2-1.3.14/debian/rules 2020-04-01 10:51:17.0 +0200 +++ graphite2-1.3.14/debian/rules 2021-09-17 17:10:55.0 +0200 @@ -2,9 +2,17 @@ export DPKG_EXPORT_BUILDFLAGS = 0 include /usr/share/dpkg/architecture.mk +build = build +build_static = build-static %: - dh $@ --with python3 --buildsystem=cmake --builddirectory=build + dh $@ --with python3 --buildsystem=cmake --builddirectory=${build} + +override_dh_auto_build-arch: + dh_auto_build -O--buildsystem=cmake \ + -Nlibgraphite2-doc -Npython3-graphite2 + dh_auto_build -O--buildsystem=cmake -O--builddirectory=${build_static} \ + -Nlibgraphite2-doc -Npython3-graphite2 override_dh_auto_build-indep: @echo "Building docs" @@ -12,6 +20,7 @@ override_dh_auto_install-arch: dh_auto_install -a + dh_auto_install --builddirectory=${build_static} -a override_dh_auto_install-indep: @@ -20,9 +29,9 @@ python$$v setup.py -v install --prefix=/usr --root=$(CURDIR)/debian/python3-graphite2; \ done -override_dh_auto_test: export LD_LIBRARY_PATH := $(CURDIR)/build/src +override_dh_auto_test: export LD_LIBRARY_PATH := $(CURDIR)/${build}/src override_dh_auto_test: - set -e; if [ -f ./build/src/libgraphite2.so.3 ]; then \ + set -e; if [ -f ./${build}/src/libgraphite2.so.3 ]; then \ dh_auto_test; \ fi @@ -33,9 +42,11 @@ rm -rf tests/__pycache__ rm -rf python/graphite2/__pycache__ rm -rf python/graphite2.egg-info + dh_auto_clean --builddirectory=${build_static} dh_auto_clean override_dh_auto_configure: dh_auto_configure -- -DCMAKE_BUILD_TYPE:STRING=Release -DGRAPHITE2_NTRACING:BOOL=ON -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) -DPYTHON_EXECUTABLE=$(shell which python3) + dh_auto_configure --builddirectory=${build_static} -- -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE:STRING=Release -DGRAPHITE2_NTRACING:BOOL=ON -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) -DPYTHON_EXECUTABLE=$(shell which python3) find . -type f ! -name "rules" ! -name "changelog" \ -exec sed -i -e 's/\-O3//g' {} \;
Bug#994752: libpango1.0-dev: the development package does not include static libraries
Package: libpango1.0-dev Version: 1.44.7-2ubuntu4 Severity: normal Tags: patch Dear Maintainer, The development package for pango (libpango1.0-dev) does not include static libraries so it is not possible to link these libraries statically. Please see attached patch. -- System Information: Debian Release: bullseye/sid APT prefers focal-updates APT policy: (500, 'focal-updates'), (500, 'focal-security'), (500, 'focal'), (100, 'focal-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.4.0-84-generic (SMP w/8 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libpango1.0-dev depends on: ii gir1.2-pango-1.0 1.44.7-2ubuntu4 ii libcairo2-dev1.16.0-4ubuntu1 ii libfontconfig1-dev 2.13.1-2ubuntu3 ii libfreetype6-dev 2.10.1-2ubuntu0.1 ii libfribidi-dev 1.0.8-2 ii libglib2.0-dev 2.64.6-1~ubuntu20.04.4 ii libharfbuzz-dev 2.6.4-1ubuntu4 ii libpango-1.0-0 1.44.7-2ubuntu4 ii libpangocairo-1.0-0 1.44.7-2ubuntu4 ii libpangoft2-1.0-01.44.7-2ubuntu4 ii libpangoxft-1.0-01.44.7-2ubuntu4 ii libthai-dev 0.1.28-3 ii libx11-dev 2:1.6.9-2ubuntu1.2 ii libxft-dev 2.3.3-0ubuntu1 ii libxrender-dev 1:0.9.10-1 ii pango1.0-tools 1.44.7-2ubuntu4 ii pkg-config 0.29.1-0ubuntu4 libpango1.0-dev recommends no packages. Versions of packages libpango1.0-dev suggests: ii imagemagick 8:6.9.10.23+dfsg-2.1ubuntu11.4 ii imagemagick-6.q16 [imagemagick] 8:6.9.10.23+dfsg-2.1ubuntu11.4 pn libpango1.0-doc -- no debconf information diff -Nru pango1.0-1.48.9+ds1/debian/changelog pango1.0-1.48.9+ds1/debian/changelog --- pango1.0-1.48.9+ds1/debian/changelog2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/changelog2021-09-16 19:06:40.0 +0200 @@ -1,3 +1,9 @@ +pango1.0 (1.48.9+ds1-2) experimental; urgency=medium + + * Include archive files to allow static compilation of the libraries + + -- Alfonso Sanchez-Beato (email Canonical) Thu, 16 Sep 2021 19:06:40 +0200 + pango1.0 (1.48.9+ds1-1) experimental; urgency=medium * Team upload diff -Nru pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install --- pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install 2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install 2021-09-16 19:05:40.0 +0200 @@ -1,4 +1,5 @@ usr/include +usr/lib/*/*.a usr/lib/*/*.so usr/lib/*/pkgconfig/*.pc usr/share/gir-1.0 diff -Nru pango1.0-1.48.9+ds1/debian/rules pango1.0-1.48.9+ds1/debian/rules --- pango1.0-1.48.9+ds1/debian/rules2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/rules2021-09-16 19:05:40.0 +0200 @@ -21,6 +21,7 @@ -Dauto_features=enabled \ -Dgtk_doc=$(with_docs) \ -Dinstall-tests=true \ + -Ddefault_library=both \ $(NULL) override_dh_auto_test-arch:
Bug#994751: pango1.0: the development package does not include static libraries
Source: pango1.0 Version: 1.48.9+ds1-1 Severity: normal Tags: patch Dear Maintainer, The development package for pango (libpango1.0-dev) does not include static libraries so it is not possible to link these libraries statically. -- System Information: Debian Release: bullseye/sid APT prefers focal-updates APT policy: (500, 'focal-updates'), (500, 'focal-security'), (500, 'focal'), (100, 'focal-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.4.0-84-generic (SMP w/8 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash diff -Nru pango1.0-1.48.9+ds1/debian/changelog pango1.0-1.48.9+ds1/debian/changelog --- pango1.0-1.48.9+ds1/debian/changelog 2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/changelog 2021-09-16 19:06:40.0 +0200 @@ -1,3 +1,9 @@ +pango1.0 (1.48.9+ds1-2) experimental; urgency=medium + + * Include archive files to allow static compilation of the libraries + + -- Alfonso Sanchez-Beato (email Canonical) Thu, 16 Sep 2021 19:06:40 +0200 + pango1.0 (1.48.9+ds1-1) experimental; urgency=medium * Team upload diff -Nru pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install --- pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install 2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/libpango1.0-dev.install 2021-09-16 19:05:40.0 +0200 @@ -1,4 +1,5 @@ usr/include +usr/lib/*/*.a usr/lib/*/*.so usr/lib/*/pkgconfig/*.pc usr/share/gir-1.0 diff -Nru pango1.0-1.48.9+ds1/debian/rules pango1.0-1.48.9+ds1/debian/rules --- pango1.0-1.48.9+ds1/debian/rules 2021-08-20 12:21:25.0 +0200 +++ pango1.0-1.48.9+ds1/debian/rules 2021-09-16 19:05:40.0 +0200 @@ -21,6 +21,7 @@ -Dauto_features=enabled \ -Dgtk_doc=$(with_docs) \ -Dinstall-tests=true \ + -Ddefault_library=both \ $(NULL) override_dh_auto_test-arch:
Bug#863761: klibc-utils: klibc does not support the reboot syscall argument
Hi Ben, On Fri, Dec 29, 2017 at 12:38 AM, Ben Hutchings <b...@decadent.org.uk> wrote: > Control: severity -1 wishlist > Control: tag -1 upstream > > On Wed, 31 May 2017 08:34:04 +0200 > Alfonso Sanchez-Beato <alfonso.sanchez-be...@canonical.com> wrote: > > Package: klibc-utils > > Version: 2.0.4-8ubuntu3 > > Severity: normal > > Tags: patch > > > > Dear Maintainer, > > > > klibc "reboot" command does not support the reboot syscall argument, so > we > > cannot do things like "reboot recovery" in devices that follow the > Android > > partitions conventions. > > > > This bug has been reported in Ubuntu at > > <https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/1692494> > > > > It has also been sent upstream at > > <http://www.zytor.com/pipermail/klibc/2017-May/003957.html> > > > > The attached patch resolves the issue. > > I'm having trouble seeing why this is important. > > - What is a Debian/Ubuntu initramfs doing on a device designed for > Android, which typically doesn't require or support use of an > initramfs? > Android kernels do support and use initramfs (it is always stored in the boot partition of the device). > - Why is it important to have this facility in the initramfs, rather > than in the 'real' system? > To be able to use arguments in the reboot command like "reboot recovery", which will reboot but will use the recovery partition instead of the boot partition for loading the kernel. This sort of functionality is useful when implementing some sort of recovery after being unable to start from the rootfs. Note that regardless of this concrete use case, systemd reboot command does support using arguments and there is no reason for not supporting this in klibc too. > - Doesn't Ubuntu always use busybox and glibc in the initramfs, anyway? > No, it uses klibc. > > (Alternately, try to convince upstream of the importance, as it doesn't > seem to have had any response yet.) > Upstream seems to be dead, there has been no response to any patch sent to the upstream list in years. Thanks, Alfonso > > Ben. > > -- > Ben Hutchings > The two most common things in the universe are hydrogen and stupidity. > >
Bug#863761: klibc-utils: klibc does not support the reboot syscall argument
Package: klibc-utils Version: 2.0.4-8ubuntu3 Severity: normal Tags: patch Dear Maintainer, klibc "reboot" command does not support the reboot syscall argument, so we cannot do things like "reboot recovery" in devices that follow the Android partitions conventions. This bug has been reported in Ubuntu at <https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/1692494> It has also been sent upstream at <http://www.zytor.com/pipermail/klibc/2017-May/003957.html> The attached patch resolves the issue. -- System Information: Debian Release: stretch/sid APT prefers yakkety-updates APT policy: (500, 'yakkety-updates'), (500, 'yakkety-security'), (500, 'yakkety-proposed'), (500, 'yakkety'), (100, 'yakkety-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.8.0-53-generic (SMP w/8 CPU cores) Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages klibc-utils depends on: ii libklibc 2.0.4-8ubuntu3 klibc-utils recommends no packages. klibc-utils suggests no packages. -- no debconf information Description: Add support for reboot syscall argument Add support to the reboot command so an argument for the 4th parameter of the syscall can be passed around. This can be useful in, say, devices that follow Android partitions conventions, so we can do things like rebootinig to the kernel in recovery partition with "reboot recovery". Author: Alfonso Sanchez-beato <alfonso.sanchez-be...@canonical.com> Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/1692494 Forwarded: http://www.zytor.com/pipermail/klibc/2017-May/003957.html Last-Update: 2017-05-22 --- klibc-2.0.4.orig/usr/include/sys/reboot.h +++ klibc-2.0.4/usr/include/sys/reboot.h @@ -16,8 +16,8 @@ #define RB_DISABLE_CAD LINUX_REBOOT_CMD_CAD_OFF #define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF -/* glibc-ish one-argument version */ -__extern int reboot(int); +/* two-arguments version of reboot */ +__extern int reboot(int, void *); /* Native four-argument system call */ __extern int __reboot(int, int, int, void *); --- klibc-2.0.4.orig/usr/klibc/reboot.c +++ klibc-2.0.4/usr/klibc/reboot.c @@ -6,10 +6,10 @@ #include #include -/* This provides the one-argument glibc-ish version of reboot. +/* This provides two-argument reboot function (glibc flag plus reboot argument). The full four-argument system call is available as __reboot(). */ -int reboot(int flag) +int reboot(int flag, void *arg) { - return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, flag, NULL); + return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, flag, arg); } --- klibc-2.0.4.orig/usr/utils/halt.c +++ klibc-2.0.4/usr/utils/halt.c @@ -6,7 +6,7 @@ static __noreturn usage(void) { - static char mesg[] = "Usage: {halt|reboot|poweroff} [-n]\n"; + static char mesg[] = "Usage: {halt|reboot|poweroff} [-n] [reboot-arg]\n"; write(2, mesg, sizeof(mesg) - 1); exit(1); } @@ -16,6 +16,7 @@ int main(int argc, char *argv[]) int cmd = 0; /* initalize to shut gcc up */ int do_sync = 1; char *ptr, *ptr2; + char *reboot_arg = NULL; /* Which action (program name)? */ ptr2 = ptr = argv[0]; @@ -32,23 +33,28 @@ int main(int argc, char *argv[]) usage(); /* Walk options */ - while (*++argv && **argv == '-') - switch (*++*argv) { - case 'f': - break; /* -f assumed */ - case 'n': - do_sync = 0; - break; - default: - usage(); + while (*++argv) + if (**argv == '-') { + switch (*++*argv) { + case 'f': +break; /* -f assumed */ + case 'n': +do_sync = 0; +break; + default: +usage(); + } + } else if (cmd == LINUX_REBOOT_CMD_RESTART) { + reboot_arg = *argv; + cmd = LINUX_REBOOT_CMD_RESTART2; + } else { + usage(); /* args, not reboot == error */ } - if (*argv) - usage(); /* any args == error */ if (do_sync) sync(); - reboot(LINUX_REBOOT_CMD_CAD_OFF); /* Enable CTRL+ALT+DEL */ - if (!reboot(cmd)) { + reboot(LINUX_REBOOT_CMD_CAD_OFF, NULL); /* Enable CTRL+ALT+DEL */ + if (!reboot(cmd, reboot_arg)) { /* Success. Currently, CMD_HALT returns, so stop the world */ /* kill(-1, SIGSTOP); */ kill(getpid(), SIGSTOP); Description: Add support for reboot syscall argument Add support to the reboot command so an argument for the 4th parameter of the syscall can be passed around. This can be useful in, say, devices that follow Android partitions conventions, so we can do things like rebootinig to the kernel in recovery partition with "reboot recovery". Author: Alfonso Sanchez-beato <alfonso.sanchez-be...@canonical.com> Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/1692494 Forwarded: http://www.zytor.com/pipermail/klibc/2017-May/003957.html Last-Update: 2017-05-22 --- klibc-2.0.4.orig/usr/include/sys/reboot.h +++ klibc-2.0.4/usr/include/sys/reboo