Debian Patches

Status for govarnam/1.9.0-2

Patch Description Author Forwarded Bugs Origin Last update
backport/build-Don-t-strip-lib-out-of-arbitrary-paths-31.patch build: Don't strip /lib out of arbitrary paths (#31)
* build: Fix indent

* build: Don't strip /lib out of arbitrary paths

The current sed expression matches on all paths elements so if
one has it's development e.g. in

/var/scratch/librem5/

it would truncate the patch to

/var/scratchrem5/

which then fails the build. Fix that by only matching at the end of
paths to remove /lib from the libdir.

(cherry picked from commit 1e47049b7728c3e4312ad3e39e11f3ae5e19e7dd)
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-16
backport/Robustify-install.sh-a-bit-32.patch Robustify install.sh a bit (#32)
* install: Don't hardcode sudo

It's possible that sudo isn't needed or one wants to use doas

* install: Don't ignore errors

Currently the script basically can't fail

* install: Don't assume /usr/local/bin exists

* install: Allow ldconfig to fail

ldconfig isn't possible when installing as regular user which
is e.g. required in packaging environments.

(cherry picked from commit 05fab8d57699aae069b7855ba53fc42db2be89ab)
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-17
backport/build-Set-a-soname-on-the-library-33.patch build: Set a soname on the library (#33)
* build: Record soname

This sets an soname for dynamic linking:

$ readelf -a libgovarnam.so | grep SONAME
0x000000000000000e (SONAME) Library soname: [libgovarnam.so.1]

This is needed for ABI versioning and dynamlic linking. See e.g.
Section 8.1 of Debian's policy.

With this one gets properly versioned dependencies e.g.

$ readelf -a _build/src/phosh-osk-stub | grep gov
0x0000000000000001 (NEEDED) Shared library: [libgovarnam.so.1.9.0]

While without that patch one gets an unversioned dependency which won't
allow to handle any ABI changes:

$ readelf -a _build/src/phosh-osk-stub | grep libgovarn
0x0000000000000001 (NEEDED) Shared library: [/usr/local/lib/libgovarnam.so]
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-17
backport/Limit-exported-symbols-35.patch Limit exported symbols (#35)
* build: Set soname on Linux

The merge of MR dropped `else` which made the soname setting
ineffective on Linux.

* Limit exported symbols

This greatly reduces the number of exported symbols by limiting the
namespace of exported symbols to {varnam,varray,vm}_ thus avoiding the
export of all the `_cg` symbols from go.

Before:

$ readelf -s /tmp/a/usr/lib/libgovarnam.so.1.9.0 | grep -v " UND " | wc -l
248

After:

$ readelf -s /usr/lib/libgovarnam.so.1.9.0 | grep -v " UND " | wc -l
52

With this we can make sure applications don't link against accidentally
exported symbols and break on library upgrades without us being able to
notice. It also allows us to notice when symbols go missing and we hence
need to bump the ABI version.

(cherry picked from commit 436d0066819f1b7f5a50f3d458b1ca056ac74f1a)
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-20
install.sh-Allow-to-specify-installation-directory.patch install.sh: Allow to specify installation directory
While $PREFIX tells us where the files should be on the installed system
${DESTDIR} is needed to specify the file location during the build
process. This is similar to DESTDIR as used in meson or autmake.
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-20
install.sh-Allow-to-skip-cli-installation.patch install.sh: Allow to skip cli installation =?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-20
build-Allow-to-set-libddir.patch build: Allow to set libddir
Needed for multiarch installations
=?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org> no 2023-09-23

All known versions for source package 'govarnam'

Links