#1007888 libnftables1: add a debian symbols file for API tracking

Package:
nftables
Source:
nftables
Description:
Program to control packet filtering rules by Netfilter project
Submitter:
Steve Beattie
Date:
2022-06-07 23:21:03 UTC
Severity:
normal
Tags:
#1007888#5
Date:
2022-03-18 02:41:58 UTC
From:
To:
In Ubuntu, the attached patch was applied to detect and track API
changes to libnftables1.

  * debian/libnftables1.symbols:
    - create a symbols file to ensure the API does not accidentally
      change over time (LP: #1965464)


Thanks for considering the patch.

*** /home/steve/tmp/tmpnuvlt8uz/nftables_1.0.2-1ubuntu1.debdiff
diff -Nru nftables-1.0.2/debian/libnftables1.symbols nftables-1.0.2/debian/libnftables1.symbols
--- nftables-1.0.2/debian/libnftables1.symbols	1969-12-31 16:00:00.000000000 -0800
+++ nftables-1.0.2/debian/libnftables1.symbols	2022-03-17 18:14:57.000000000 -0700
@@ -0,0 +1,25 @@
+libnftables.so.1 libnftables1 #MINVER#
+ nft_ctx_add_include_path@Base 0.9.2
+ nft_ctx_add_var@Base 1.0.0
+ nft_ctx_buffer_error@Base 0.9.2
+ nft_ctx_buffer_output@Base 0.9.2
+ nft_ctx_clear_include_paths@Base 0.9.2
+ nft_ctx_clear_vars@Base 1.0.0
+ nft_ctx_free@Base 0.9.2
+ nft_ctx_get_dry_run@Base 0.9.2
+ nft_ctx_get_error_buffer@Base 0.9.2
+ nft_ctx_get_optimize@Base 1.0.2
+ nft_ctx_get_output_buffer@Base 0.9.2
+ nft_ctx_new@Base 0.9.2
+ nft_ctx_output_get_debug@Base 0.9.2
+ nft_ctx_output_get_flags@Base 0.9.2
+ nft_ctx_output_set_debug@Base 0.9.2
+ nft_ctx_output_set_flags@Base 0.9.2
+ nft_ctx_set_dry_run@Base 0.9.2
+ nft_ctx_set_error@Base 0.9.2
+ nft_ctx_set_optimize@Base 1.0.2
+ nft_ctx_set_output@Base 0.9.2
+ nft_ctx_unbuffer_error@Base 0.9.2
+ nft_ctx_unbuffer_output@Base 0.9.2
+ nft_run_cmd_from_buffer@Base 0.9.2
+ nft_run_cmd_from_filename@Base 0.9.2

#1007888#10
Date:
2022-03-18 08:05:48 UTC
From:
To:
So there is one problem with this, upstream's symbol versioning is
broken in 1.0.2 and before, which is leaving the symbols in Debian
unversioned. Upstream has fixed this after 1.0.2 in the following
commits:

http://git.netfilter.org/nftables/commit/?id=1d507ce7f1d3c12481ee24bd1dcac2fc1984ee9f
http://git.netfilter.org/nftables/commit/?id=e98a9b83cd52c7c75bedb3dad46539b197ed17ba

So, assuming those are cherry-picked back, the attached symbols file
would be wrong.

#1007888#15
Date:
2022-03-24 06:56:52 UTC
From:
To:
Hi,
I agree with Steve that it would overall be useful to have this.
I updated his related upload to Ubuntu in regard to the last comments
about those fixes that were referred above.

Indeed that makes the symbols file more useful and correct (having
proper @ _1/_2/_3 mappings).
I've kept it all to start at 1.0.2 (where we start tracking symbols)
and from here on it should help us to avoid mistakes.

I've opened a PR with the combined fix at:
https://salsa.debian.org/pkg-netfilter-team/pkg-nftables/-/merge_requests/7

Hope that helps to discuss or accept this.

#1007888#20
Date:
2022-06-07 23:19:46 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
nftables, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1007888@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Arturo Borrero Gonzalez <arturo@debian.org> (supplier of updated nftables package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 08 Jun 2022 00:59:59 +0200
Source: nftables
Architecture: source
Version: 1.0.4-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Changed-By: Arturo Borrero Gonzalez <arturo@debian.org>
Closes: 1007888
Changes:
 nftables (1.0.4-1) unstable; urgency=medium
 .
   [ Christian Ehrhardt ]
   * [8b15f04] Fix version map usage and add symbols file (Closes: #1007888 LP: #1965464)
 .
   [ Arturo Borrero Gonzalez ]
   * [527715a] New upstream version 1.0.4
   * [929b673] d/patches: drop all patches
   * [1a1a7e5] d/control: bump build-dep on libnftnl
Checksums-Sha1:
 06f465cb2aac6c9962952f9358d5d121401038d7 2657 nftables_1.0.4-1.dsc
 e2e8b324cece1409a311284ff4fe26c3a5554809 979540 nftables_1.0.4.orig.tar.bz2
 c4cdc0d2acb28f5bd0e66f539c4a95a1f00259d3 833 nftables_1.0.4.orig.tar.bz2.asc
 318a866d07bc72bbfdf5a17bd8eace7e95630c73 21156 nftables_1.0.4-1.debian.tar.xz
 5a8739d492c2e58129bba25824875f96cfec5de6 8715 nftables_1.0.4-1_amd64.buildinfo
Checksums-Sha256:
 2adb7a23a24c6b507b4388d238b2857004b63a796b1f0fb47be9bd96b5aa2d3d 2657 nftables_1.0.4-1.dsc
 927fb1fea1f685a328c10cf791eb655d7e1ed49d310eea5cb3101dfd8d6cba35 979540 nftables_1.0.4.orig.tar.bz2
 055f7602fe10db76c41725cb4267fddd1d19d7d094cb0cb0f3da4f0b833f9d6d 833 nftables_1.0.4.orig.tar.bz2.asc
 6655fa615a3d01769520ad79a56c752a77cfc2c3ecda8a5e908bd6bc964bfd7a 21156 nftables_1.0.4-1.debian.tar.xz
 752dd98c3791ba8ac7a6643df23502aea218c34e9bde3700bdb264f44327d670 8715 nftables_1.0.4-1_amd64.buildinfo
Files:
 d5e9111939711edcd4e82dc21f789ee5 2657 net important nftables_1.0.4-1.dsc
 dcc3c263e00903037cf86d74477a9519 979540 net important nftables_1.0.4.orig.tar.bz2
 3e3f49aeb412b41566e8b89dd4415b42 833 net important nftables_1.0.4.orig.tar.bz2.asc
 b6f4d00168a6615daeed5b958926272c 21156 net important nftables_1.0.4-1.debian.tar.xz
 2a53e3f79da6e122edd23c227dd1050b 8715 net important nftables_1.0.4-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE3ZhhqyPcMzOJLgepaOcTmB0VFfgFAmKf2OQACgkQaOcTmB0V
FfiH9Q/+J01tPMq79Xn3Yk03hOZiTYxkW8sSdw+9Z0iMf/lo2/IAnU9GhQxyiFyB
ilwnorkfVgVxNbmfkAneoY2HIOEbjPO5lFEE5zzV25gpAbPd9P2qdpD+CRfZbsfB
YwCwuqbSMk+W/AUm9uW4+6EfeawrLEdUzd5sv0r5mJUIyUs8RwkiTFHCXuwNgED2
7fIsaPz0A9PyUHbiozX5bMoQmFr2etHHi2SeFYVhP+1n+eg/LIaN8+2eOfNMoVxZ
tjPdmqwsFvunEr3TDSbPr+HZNcspzvoTV8ji/NhCAccRihpA/x8I1cQHWfA9VaCe
gHvy1RM0x0SHs0XWZOYnrQ4lqOt2wpl439YiMtRhP+lMaqfNmtcUKK/5WMkshW6G
xvL+Ztw3LXx7uJ7UzEwNUQgHZ6JAuBlktjbMfgf6DP2AD802qrWGufn+mw1R5cJ1
DQss3UdxEUqZapAm1RTqIfZu9ZnJqWKWB4UkRUeYsDksRJlsmtQqkAhm8tVtwVrP
wL3EaAlzNpIIzcNjV/bzEa7b7NjsuguRsRMyBoBiB/IFpPN7nvhAQuWgtHgu1cyP
31LNBoFfwk5lfPLthD4SdNxZVb6RXjkATV2YYtdbL68pQeVKJeCovJ4itoH22WhA
+QlmZuL4LAM4zqENmKX6pYO9cBInzpZTM3QyFFH32PCHiJfQd2U=
=O2YR
-----END PGP SIGNATURE-----