Source: libunibreak
Version: 1.1-2.1
Severity: wishlist
Tags: patch

Dear Maintainer,

while there aren't any known grave issues with the packaged version 1.1,
released 2013, this is severely lagging behind upstream's newest version
5.0 released in late 2021.
Upgrading to 5.0 brings the benefit of an updated linebreaking behaviour
following the current revision of Unicode and additional API-entrypoints
and new API regarding graphemes and pictographics.
Thus I believe it would be a good idea to upgrade; patches to update
the Debian package to 5.0 are attached (also fixing lintian warnings).

One noteworthy incompatible change is that in 5.0 the signature of the
set_linebreaks (without suffix) function from linebreakdef.h changed its
signature. However as far as I can tell currently the only user of
libunibreak in the Debian archives is libzltext, which does not use this
function, so this is probably not an issue.
https://github.com/adah1972/libunibreak/commit/a6bcee2daf6fb884edd1ff78ce58521ab31f9826

  $ ls -l ~1/libzltext.so.0.13
  lrwxrwxrwx 1 user user 20  1. Sep 2019  /tmp/libzltext.so.0.13 -> 
libzltext.so.0.12.10
  $ nm -gDC ~1/libzltext.so.0.12.10 | grep -E '^ +U' | grep -E 
'lb_|ub_|unibreak|break'
                   U init_linebreak
                   U set_linebreaks_utf8


The patches are split in 6 parts in hopes to make review easier.
As one of the patches is large'ish (~1.5MiB) due to adding some data files
otherwise fetched from the network, I compressed all of them into a
xz-compressed tar-archive before attaching. Some further notes:

The changelog is using the ~local suffix and my own name; this will
need to be changed to reflect the actual uploader and drop the suffix.

Upstream tarballs contain prebuilt documentation including some javascript,
to resolve the errors resulting from the sourceless javascript I'm using
Files-Excluded to repackage the tarball without the docs.
This works, but perhaps there's a softer approach to resolve this?

It appears like most packages, include a copyright declaration for debian/*
with past and current maintainers as copyright holders; this package does not,
but obviously I cannot choose a licence for someone else. If this is required,
what licence did/do you intend Eugene?

I made sure to resolve all lintian hints >= pedantic, but I only packaged for my
personal use before, so there might be some things I missed and not caught by
lintian, or just superior alternative approaches I don't know about.
Nonetheless I'm hoping the patches are helpful in getting the package back in
sync with upstream.


Cheers
Nils König



-- System Information:
Debian Release: 11.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'proposed-updates-debug'
), (500, 'stable'), (10, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-10-amd64 (SMP w/16 CPU threads)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: OpenRC (via /run/openrc), PID 1: openrc-init
LSM: AppArmor: enabled

Versions of packages libunibreak1 depends on:
ii  libc6  2.31-13+deb11u2

Attachment: libunibreak-5.0-patches.tar.xz
Description: application/xz

Attachment: signature.asc
Description: PGP signature

Reply via email to