]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use -release instead of -version-info for internal library SONAMEs
authorOndřej Surý <ondrej@isc.org>
Tue, 12 Jan 2021 12:38:44 +0000 (13:38 +0100)
committerMichał Kępień <michal@isc.org>
Mon, 25 Jan 2021 14:28:09 +0000 (15:28 +0100)
The BIND 9 libraries are considered to be internal only and hence the
API and ABI changes a lot.  Keeping track of the API/ABI changes takes
time and it's a complicated matter as the safest way to make everything
stable would be to bump any library in the dependency chain as in theory
if libns links with libdns, and a binary links with both, and we bump
the libdns SOVERSION, but not the libns SOVERSION, the old libns might
be loaded by binary pulling old libdns together with new libdns loaded
by the binary.  The situation gets even more complicated with loading
the plugins that have been compiled with few versions old BIND 9
libraries and then dynamically loaded into the named.

We are picking the safest option possible and usable for internal
libraries - instead of using -version-info that has only a weak link to
BIND 9 version number, we are using -release libtool option that will
embed the corresponding BIND 9 version number into the library name.

That means that instead of libisc.so.1608 (as an example) the library
will now be named libisc-9.16.10.so.

(cherry picked from commit c605d75ea5e1d200ea332f25d2bc303984517d9f)

41 files changed:
.gitlab-ci.yml
configure
configure.ac
lib/bind9/Makefile.in
lib/bind9/api [deleted file]
lib/bind9/include/bind9/version.h
lib/bind9/version.c
lib/bind9/win32/version.c
lib/dns/Makefile.in
lib/dns/api [deleted file]
lib/dns/include/dns/version.h
lib/dns/version.c
lib/dns/win32/version.c
lib/irs/Makefile.in
lib/irs/api [deleted file]
lib/irs/include/irs/version.h
lib/irs/version.c
lib/irs/win32/version.c
lib/isc/Makefile.in
lib/isc/api [deleted file]
lib/isc/include/isc/version.h
lib/isc/version.c
lib/isc/win32/version.c
lib/isccc/Makefile.in
lib/isccc/api [deleted file]
lib/isccc/include/isccc/version.h
lib/isccc/version.c
lib/isccc/win32/version.c
lib/isccfg/Makefile.in
lib/isccfg/api [deleted file]
lib/isccfg/include/isccfg/version.h
lib/isccfg/version.c
lib/isccfg/win32/version.c
lib/ns/Makefile.in
lib/ns/api [deleted file]
lib/ns/include/ns/version.h
lib/ns/version.c
lib/ns/win32/version.c
util/api-checker.sh [deleted file]
util/copyrights
win32utils/Configure

index 429784a0d9ead1b41c2489bd61528bcfbaa8492b..be88b0d2aaf95bc9394f51bf043eb03ea277181d 100644 (file)
@@ -1479,38 +1479,6 @@ stress:recursive:freebsd12:amd64:
     variables:
       - $CI_COMMIT_TAG || ($BIND_STRESS_TEST_OS =~ /freebsd/i && $BIND_STRESS_TEST_MODE =~ /recursive/i && $BIND_STRESS_TEST_ARCH =~ /amd64/i)
 
-# ABI check
-
-abi-check:
-  <<: *base_image
-  stage: build
-  needs:
-    - job: autoreconf
-      artifacts: true
-  variables:
-    CC: gcc
-    CFLAGS: "${CFLAGS_COMMON} -Og"
-    EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
-    BIND_BASELINE_VERSION: v9_16_11
-  script:
-    - *configure
-    - make -j${BUILD_PARALLEL_JOBS:-1} V=1
-    - git clone --branch "${BIND_BASELINE_VERSION}" --depth 1 https://gitlab.isc.org/isc-projects/bind9.git refbind
-    - cd refbind/
-    - *configure
-    - make -j${BUILD_PARALLEL_JOBS:-1} V=1
-    - cd ..
-    - util/api-checker.sh . refbind
-  artifacts:
-    paths:
-      - "*-lib*.html"
-      - "*-lib*.txt"
-      - "abi-*.dump"
-    expire_in: "1 week"
-  only:
-    - main@isc-projects/bind9
-    - /^v9_[1-9][0-9]$/@isc-projects/bind9
-
 gcov:
   <<: *base_image
   <<: *default_triggering_rules
index ffbe234ebd2332d435e5ea1f05c8e6a6c50d6684..29573e12981e3233b7579a9dab89b399aba0dbd3 100755 (executable)
--- a/configure
+++ b/configure
@@ -881,14 +881,7 @@ PATH_SEPARATOR
 SHELL'
 ac_subst_files='BIND9_MAKE_INCLUDES
 BIND9_MAKE_RULES
-LIBISC_API
-LIBISCCC_API
-LIBISCCFG_API
-LIBDNS_API
 LIBDNS_MAPAPI
-LIBBIND9_API
-LIBIRS_API
-LIBNS_API
 DLZ_DRIVER_RULES'
 ac_user_opts='
 enable_option_checking
@@ -22338,29 +22331,8 @@ BIND9_CONFIGARGS="CONFIGARGS=${BIND9_CONFIGARGS}"
 
 
 
-LIBISC_API="$srcdir/lib/isc/api"
-
-
-LIBISCCC_API="$srcdir/lib/isccc/api"
-
-
-LIBISCCFG_API="$srcdir/lib/isccfg/api"
-
-
-LIBDNS_API="$srcdir/lib/dns/api"
-
-
 LIBDNS_MAPAPI="$srcdir/lib/dns/mapapi"
 
-
-LIBBIND9_API="$srcdir/lib/bind9/api"
-
-
-LIBIRS_API="$srcdir/lib/irs/api"
-
-
-LIBNS_API="$srcdir/lib/ns/api"
-
 #
 # Configure any DLZ drivers.
 #
index 99213a410e8e5ec6165e20442637403f462797b2..12d200a070206d92054890669601c3bfb5006a92 100644 (file)
@@ -2398,30 +2398,9 @@ BIND9_CONFIGARGS="`echo $BIND9_CONFIGARGS | sed 's/^ //'`"
 BIND9_CONFIGARGS="CONFIGARGS=${BIND9_CONFIGARGS}"
 AC_SUBST(BIND9_CONFIGARGS)
 
-AC_SUBST_FILE(LIBISC_API)
-LIBISC_API="$srcdir/lib/isc/api"
-
-AC_SUBST_FILE(LIBISCCC_API)
-LIBISCCC_API="$srcdir/lib/isccc/api"
-
-AC_SUBST_FILE(LIBISCCFG_API)
-LIBISCCFG_API="$srcdir/lib/isccfg/api"
-
-AC_SUBST_FILE(LIBDNS_API)
-LIBDNS_API="$srcdir/lib/dns/api"
-
 AC_SUBST_FILE(LIBDNS_MAPAPI)
 LIBDNS_MAPAPI="$srcdir/lib/dns/mapapi"
 
-AC_SUBST_FILE(LIBBIND9_API)
-LIBBIND9_API="$srcdir/lib/bind9/api"
-
-AC_SUBST_FILE(LIBIRS_API)
-LIBIRS_API="$srcdir/lib/irs/api"
-
-AC_SUBST_FILE(LIBNS_API)
-LIBNS_API="$srcdir/lib/ns/api"
-
 #
 # Configure any DLZ drivers.
 #
index 32543f3b9a491a91abf894198f1e986ceb07e612..da27f5f8f1449299edd7624e62c5103386d19f50 100644 (file)
@@ -13,8 +13,6 @@ top_srcdir =  @top_srcdir@
 
 VERSION=@BIND9_VERSION@
 
-@LIBBIND9_API@
-
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I. ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES} \
@@ -50,9 +48,6 @@ TARGETS =     timestamp
 version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libbind9.@SA@: ${OBJS}
@@ -62,7 +57,7 @@ libbind9.@SA@: ${OBJS}
 libbind9.la: ${OBJS} ${ISCCFGDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libbind9.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${NSLIBS} ${DNSLIBS} ${ISCCFGLIBS} ${ISCLIBS} \
                @DNS_CRYPTO_LIBS@ ${LIBS}
 
diff --git a/lib/bind9/api b/lib/bind9/api
deleted file mode 100644 (file)
index 32a5d65..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1600
-LIBREVISION = 7
-LIBAGE = 0
index 34ee9787bb5e4a392a595b71064b2412df2393b2..e2916dbce3701051913dae7e31398910f2af771c 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/platform.h>
 
 LIBBIND9_EXTERNAL_DATA extern const char bind9_version[];
-
-LIBBIND9_EXTERNAL_DATA extern const unsigned int bind9_libinterface;
-LIBBIND9_EXTERNAL_DATA extern const unsigned int bind9_librevision;
-LIBBIND9_EXTERNAL_DATA extern const unsigned int bind9_libage;
index a9c02ea35b5c149352cbd872a1a91260e3d0df52..82cc3fcfec5ae7f96e0b19c7dec4b8cef34ff242 100644 (file)
@@ -14,7 +14,3 @@
 #include <bind9/version.h>
 
 const char bind9_version[] = VERSION;
-
-const unsigned int bind9_libinterface = LIBINTERFACE;
-const unsigned int bind9_librevision = LIBREVISION;
-const unsigned int bind9_libage = LIBAGE;
index 542c7bc1611858a6c9fc1bbe654e584be6b6148b..72ddbe17a9694143e87a1479033e8db210f23eea 100644 (file)
@@ -14,7 +14,3 @@
 #include <bind9/version.h>
 
 LIBBIND9_EXTERNAL_DATA const char bind9_version[] = VERSION;
-
-LIBBIND9_EXTERNAL_DATA const unsigned int bind9_libinterface = LIBINTERFACE;
-LIBBIND9_EXTERNAL_DATA const unsigned int bind9_librevision = LIBREVISION;
-LIBBIND9_EXTERNAL_DATA const unsigned int bind9_libage = LIBAGE;
index 8de85bfec392f80c1a11ef176252d66131ddae8c..283b7f262b87515b4c6e105b4d59d8a4af3b18e5 100644 (file)
@@ -20,8 +20,6 @@ VERSION=@BIND9_VERSION@
 
 @LIBDNS_MAPAPI@
 
-@LIBDNS_API@
-
 @BIND9_MAKE_INCLUDES@
 
 USE_ISC_SPNEGO = @USE_ISC_SPNEGO@
@@ -137,9 +135,6 @@ version.@O@: version.c
                -DVERSION=\"${VERSION}\" \
                -DMAJOR=\"${MAJOR}\" \
                -DMAPAPI=\"${MAPAPI}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libdns.@SA@: ${OBJS}
@@ -149,7 +144,7 @@ libdns.@SA@: ${OBJS}
 libdns.la: ${OBJS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
 
 include: gen
diff --git a/lib/dns/api b/lib/dns/api
deleted file mode 100644 (file)
index bd9786a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1611
-LIBREVISION = 0
-LIBAGE = 0
index 9d66a14471233e27be22762c0855c7661e4258fe..0117063fe26674fec747e226e7340458e59867c8 100644 (file)
@@ -20,8 +20,4 @@ LIBDNS_EXTERNAL_DATA extern const char dns_version[];
 LIBDNS_EXTERNAL_DATA extern const char dns_major[];
 LIBDNS_EXTERNAL_DATA extern const char dns_mapapi[];
 
-LIBDNS_EXTERNAL_DATA extern const unsigned int dns_libinterface;
-LIBDNS_EXTERNAL_DATA extern const unsigned int dns_librevision;
-LIBDNS_EXTERNAL_DATA extern const unsigned int dns_libage;
-
 #endif /* DNS_VERSION_H */
index e063201761d0d6f9d38ff419fb118aacf42635dc..eb54101f3fbf604b53658a4f32fb001c79e8b5f5 100644 (file)
@@ -16,7 +16,3 @@
 const char dns_version[] = VERSION;
 const char dns_major[] = MAJOR;
 const char dns_mapapi[] = MAPAPI;
-
-const unsigned int dns_libinterface = LIBINTERFACE;
-const unsigned int dns_librevision = LIBREVISION;
-const unsigned int dns_libage = LIBAGE;
index d6aedd150c10b2cfb701c91a85f1920939dcd8e0..f447ba49366b617a4e8ad027e95ab1f99817d017 100644 (file)
@@ -16,7 +16,3 @@
 LIBDNS_EXTERNAL_DATA const char dns_version[] = VERSION;
 LIBDNS_EXTERNAL_DATA const char dns_major[] = MAJOR;
 LIBDNS_EXTERNAL_DATA const char dns_mapapi[] = MAPAPI;
-
-LIBDNS_EXTERNAL_DATA const unsigned int dns_libinterface = LIBINTERFACE;
-LIBDNS_EXTERNAL_DATA const unsigned int dns_librevision = LIBREVISION;
-LIBDNS_EXTERNAL_DATA const unsigned int dns_libage = LIBAGE;
index f145e02d0ddffca1ff901122799263894038d7e5..cc8f3c9041b76b694bc4c2c76c7b6b74ab556ef3 100644 (file)
@@ -13,8 +13,6 @@ top_srcdir =  @top_srcdir@
 
 VERSION=@BIND9_VERSION@
 
-@LIBIRS_API@
-
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I. -I./include -I${srcdir}/include \
@@ -60,9 +58,6 @@ TARGETS =     timestamp
 version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libirs.@SA@: ${OBJS} version.@O@
@@ -72,7 +67,7 @@ libirs.@SA@: ${OBJS} version.@O@
 libirs.la: ${OBJS} version.@O@
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} version.@O@ ${ISCLIBS} ${DNSLIBS} ${ISCCFGLIBS} ${LIBS}
 
 timestamp: libirs.@A@
diff --git a/lib/irs/api b/lib/irs/api
deleted file mode 100644 (file)
index 182c2bb..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1601
-LIBREVISION = 0
-LIBAGE = 0
index 1f848ee96f5f18424246f07420e123123e33fa26..5dcf42c7b88810cea46f243a920005b45d4d6f65 100644 (file)
@@ -14,7 +14,3 @@
 #include <irs/platform.h>
 
 LIBIRS_EXTERNAL_DATA extern const char irs_version[];
-
-LIBIRS_EXTERNAL_DATA extern const unsigned int irs_libinterface;
-LIBIRS_EXTERNAL_DATA extern const unsigned int irs_librevision;
-LIBIRS_EXTERNAL_DATA extern const unsigned int irs_libage;
index 41a3e5c496f0007ad682e971cca2333aceb6cd59..24e039d4bded73441a5071518f2514b351ba31b0 100644 (file)
@@ -14,7 +14,3 @@
 #include <irs/version.h>
 
 const char irs_version[] = VERSION;
-
-const unsigned int irs_libinterface = LIBINTERFACE;
-const unsigned int irs_librevision = LIBREVISION;
-const unsigned int irs_libage = LIBAGE;
index a9aa1880840257162429740f6bb72cd8b87565d4..ebc438e872170b1ba61cb8a5f0b5664e2995095d 100644 (file)
@@ -14,7 +14,3 @@
 #include <irs/version.h>
 
 LIBIRS_EXTERNAL_DATA const char irs_version[] = VERSION;
-
-LIBIRS_EXTERNAL_DATA const unsigned int irs_libinterface = LIBINTERFACE;
-LIBIRS_EXTERNAL_DATA const unsigned int irs_librevision = LIBREVISION;
-LIBIRS_EXTERNAL_DATA const unsigned int irs_libage = LIBAGE;
index a4a44cbf1a2deb28555c7b58ebaeaa896abfa97d..28221fc03d51108f060b22fbb85fb5cebf4d6bdd 100644 (file)
@@ -13,8 +13,6 @@ top_srcdir =  @top_srcdir@
 
 VERSION=@BIND9_VERSION@
 
-@LIBISC_API@
-
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I${srcdir}/unix/include \
@@ -97,9 +95,6 @@ TESTDIRS =    @UNITTESTS@
 version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libisc.@SA@: ${OBJS} ${SYMTBLOBJS}
@@ -113,13 +108,13 @@ libisc-nosymtbl.@SA@: ${OBJS}
 libisc.la: ${OBJS} ${SYMTBLOBJS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${SYMTBLOBJS} ${LIBS}
 
 libisc-nosymtbl.la: ${OBJS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc-nosymtbl.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${LIBS}
 
 timestamp: libisc.@A@ libisc-nosymtbl.@A@
diff --git a/lib/isc/api b/lib/isc/api
deleted file mode 100644 (file)
index f766878..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1609
-LIBREVISION = 0
-LIBAGE = 0
index 6367c8f12139a454f05ac5f2a378e77ab49ddbf6..00b23d24db1a199f7ee230d43fc97fd3abe4e8fa 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/platform.h>
 
 LIBISC_EXTERNAL_DATA extern const char isc_version[];
-
-LIBISC_EXTERNAL_DATA extern const unsigned int isc_libinterface;
-LIBISC_EXTERNAL_DATA extern const unsigned int isc_librevision;
-LIBISC_EXTERNAL_DATA extern const unsigned int isc_libage;
index 717a6ddc99b284ecab174ec6771f72709602f649..1b3c4c8c77312baca9fa3b0587f01fde32ca2778 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/version.h>
 
 const char isc_version[] = VERSION;
-
-const unsigned int isc_libinterface = LIBINTERFACE;
-const unsigned int isc_librevision = LIBREVISION;
-const unsigned int isc_libage = LIBAGE;
index e699eb4acbebf6895df9ee52456181d52227ce3b..b98bbcd59f4337e8a50f12b889efa0a97b938d6c 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/version.h>
 
 LIBISC_EXTERNAL_DATA const char isc_version[] = VERSION;
-
-LIBISC_EXTERNAL_DATA const unsigned int isc_libinterface = LIBINTERFACE;
-LIBISC_EXTERNAL_DATA const unsigned int isc_librevision = LIBREVISION;
-LIBISC_EXTERNAL_DATA const unsigned int isc_libage = LIBAGE;
index 8476367f43b75a104ef1e46326ccfd593e54c314..97f528cb47a07dbd28aaf7587045f82c639f795c 100644 (file)
@@ -13,8 +13,6 @@ top_srcdir =  @top_srcdir@
 
 VERSION=@BIND9_VERSION@
 
-@LIBISCCC_API@
-
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I. ${DNS_INCLUDES} ${ISC_INCLUDES} \
@@ -51,9 +49,6 @@ TESTDIRS =    @UNITTESTS@
 version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libisccc.@SA@: ${OBJS}
@@ -63,7 +58,7 @@ libisccc.@SA@: ${OBJS}
 libisccc.la: ${OBJS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccc.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${ISCLIBS} ${LIBS}
 
 timestamp: libisccc.@A@
diff --git a/lib/isccc/api b/lib/isccc/api
deleted file mode 100644 (file)
index 8317b41..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1600
-LIBREVISION = 2
-LIBAGE = 0
index 6d5437879eaf1c0990eed4fc39ec5ae550da919c..6bc26b0246f9a0ac9d921d665322b51a86c52228 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/platform.h>
 
 LIBISCCC_EXTERNAL_DATA extern const char isccc_version[];
-
-LIBISCCC_EXTERNAL_DATA extern const unsigned int isccc_libinterface;
-LIBISCCC_EXTERNAL_DATA extern const unsigned int isccc_librevision;
-LIBISCCC_EXTERNAL_DATA extern const unsigned int isccc_libage;
index 6a2b89ca5a9ef32b7b0a45e045b63d5362147aaf..70d67a8df6ae87c141a5d9171862c93eac8c1fab 100644 (file)
@@ -14,7 +14,3 @@
 #include <isccc/version.h>
 
 const char isccc_version[] = VERSION;
-
-const unsigned int isccc_libinterface = LIBINTERFACE;
-const unsigned int isccc_librevision = LIBREVISION;
-const unsigned int isccc_libage = LIBAGE;
index 7b944d4b68f508c81aaa06d0c90d9ade0fb3cb09..2a37dc50e9f9204723c66c184616c69e6aad286c 100644 (file)
@@ -14,7 +14,3 @@
 #include <isccc/version.h>
 
 LIBISCCC_EXTERNAL_DATA const char isccc_version[] = VERSION;
-
-LIBISCCC_EXTERNAL_DATA const unsigned int isccc_libinterface = LIBINTERFACE;
-LIBISCCC_EXTERNAL_DATA const unsigned int isccc_librevision = LIBREVISION;
-LIBISCCC_EXTERNAL_DATA const unsigned int isccc_libage = LIBAGE;
index a30a3ca0e1208f0075f5af5a470b552fae266b44..3453929c702708090726b121d20ba09ef0a15d08 100644 (file)
@@ -13,8 +13,6 @@ top_srcdir =  @top_srcdir@
 
 VERSION=@BIND9_VERSION@
 
-@LIBISCCFG_API@
-
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =    -I. ${DNS_INCLUDES} ${ISC_INCLUDES} ${ISCCFG_INCLUDES}
@@ -49,9 +47,6 @@ TARGETS =     timestamp
 version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libisccfg.@SA@: ${OBJS}
@@ -61,7 +56,7 @@ libisccfg.@SA@: ${OBJS}
 libisccfg.la: ${OBJS}
         ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
 
 timestamp: libisccfg.@A@
diff --git a/lib/isccfg/api b/lib/isccfg/api
deleted file mode 100644 (file)
index 2713ea8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1603
-LIBREVISION = 0
-LIBAGE = 0
index a850e5929777394632d3285e5c553efb4772ee24..96594e15dde9f433e079947cf266ce7c5defc995 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/platform.h>
 
 LIBISCCFG_EXTERNAL_DATA extern const char cfg_version[];
-
-LIBISCCFG_EXTERNAL_DATA extern const unsigned int cfg_libinterface;
-LIBISCCFG_EXTERNAL_DATA extern const unsigned int cfg_librevision;
-LIBISCCFG_EXTERNAL_DATA extern const unsigned int cfg_libage;
index d150f3dfd7d7f2ca9d5ee8658ca6bebc7770fd22..c1fbc39afb6e1deec043b84ee826188efa975c2f 100644 (file)
@@ -14,7 +14,3 @@
 #include <isccfg/version.h>
 
 const char cfg_version[] = VERSION;
-
-const unsigned int cfg_libinterface = LIBINTERFACE;
-const unsigned int cfg_librevision = LIBREVISION;
-const unsigned int cfg_libage = LIBAGE;
index 15793fe3c8d75880c699c7c8100029babfc3e77b..446dd6e837c36cafec8b5d4a2fe0b0cfe0642f08 100644 (file)
@@ -14,7 +14,3 @@
 #include <isccfg/version.h>
 
 LIBISCCFG_EXTERNAL_DATA const char cfg_version[] = VERSION;
-
-LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_libinterface = LIBINTERFACE;
-LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_librevision = LIBREVISION;
-LIBISCCFG_EXTERNAL_DATA const unsigned int cfg_libage = LIBAGE;
index d00ddaf2a66aeb4d033e2a4d35a0c739c3f9958b..f126f1f4a5ce4ea26bcab4c9ee21e56e34690dd2 100644 (file)
@@ -14,8 +14,6 @@ top_srcdir =  @top_srcdir@
 VERSION=@BIND9_VERSION@
 @BIND9_MAJOR@
 
-@LIBNS_API@
-
 @BIND9_MAKE_INCLUDES@
 
 USE_ISC_SPNEGO = @USE_ISC_SPNEGO@
@@ -62,9 +60,6 @@ version.@O@: version.c
        ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
                -DVERSION=\"${VERSION}\" \
                -DMAJOR=\"${MAJOR}\" \
-               -DLIBINTERFACE=${LIBINTERFACE} \
-               -DLIBREVISION=${LIBREVISION} \
-               -DLIBAGE=${LIBAGE} \
                -c ${srcdir}/version.c
 
 libns.@SA@: ${OBJS}
@@ -74,7 +69,7 @@ libns.@SA@: ${OBJS}
 libns.la: ${OBJS}
        ${LIBTOOL_MODE_LINK} \
                ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libns.la -rpath ${libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
+               -release "${VERSION}" \
                ${OBJS} ${ISCLIBS} ${DNSLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
 
 timestamp: libns.@A@
diff --git a/lib/ns/api b/lib/ns/api
deleted file mode 100644 (file)
index b84f7a8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# LIBINTERFACE ranges
-# 9.6: 50-59, 110-119
-# 9.7: 60-79
-# 9.8: 80-89, 120-129
-# 9.9: 90-109, 170-179
-# 9.9-sub: 130-139, 150-159, 200-209
-# 9.10: 140-149, 190-199
-# 9.10-sub: 180-189
-# 9.11: 160-169,1100-1199
-# 9.12: 1200-1299
-# 9.13/9.14: 1300-1499
-# 9.15/9.16: 1500-1699
-LIBINTERFACE = 1607
-LIBREVISION = 0
-LIBAGE = 0
index d9e72a09dcd2cc514bb83c1d031a5988174e2c3f..800d876251c3a9af20079ceefe6805f94f6fc775 100644 (file)
@@ -14,7 +14,3 @@
 #include <isc/platform.h>
 
 LIBNS_EXTERNAL_DATA extern const char ns_version[];
-
-LIBNS_EXTERNAL_DATA extern const unsigned int ns_libinterface;
-LIBNS_EXTERNAL_DATA extern const unsigned int ns_librevision;
-LIBNS_EXTERNAL_DATA extern const unsigned int ns_libage;
index 23f31418c2a5d312c2401155a6d77c0ec262f28f..a0019f96fc8b654dece8f70c70da8cf5e5ad0226 100644 (file)
@@ -14,7 +14,3 @@
 #include <ns/version.h>
 
 const char ns_version[] = VERSION;
-
-const unsigned int ns_libinterface = LIBINTERFACE;
-const unsigned int ns_librevision = LIBREVISION;
-const unsigned int ns_libage = LIBAGE;
index a5b25a11a0991560a7402d0c049f37f118e4af49..5916129a4de368eec519cf4a09951d6edf1a32eb 100644 (file)
@@ -18,7 +18,3 @@
 LIBNS_EXTERNAL_DATA const char ns_version[] = VERSION;
 LIBNS_EXTERNAL_DATA const char ns_major[] = MAJOR;
 LIBNS_EXTERNAL_DATA const char ns_mapapi[] = MAPAPI;
-
-LIBNS_EXTERNAL_DATA const unsigned int ns_libinterface = LIBINTERFACE;
-LIBNS_EXTERNAL_DATA const unsigned int ns_librevision = LIBREVISION;
-LIBNS_EXTERNAL_DATA const unsigned int ns_libage = LIBAGE;
diff --git a/util/api-checker.sh b/util/api-checker.sh
deleted file mode 100755 (executable)
index d87fc68..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, you can obtain one at https://mozilla.org/MPL/2.0/.
-#
-# See the COPYRIGHT file distributed with this work for additional
-# information regarding copyright ownership.
-
-set -e
-
-# Exit if program $1 is not found in PATH.
-check_program() {
-       if ! command -v "${1}" > /dev/null 2>&1; then
-               echo "'${1}' not found in PATH" >&2
-               exit 1
-       fi
-}
-
-# Check that we were spawned with two arguments and that these arguments are two
-# different directories.
-check_args() {
-       if [ ${#} -ne 2 ] || [ ! -d "${1}" ] || [ ! -d "${2}" ] || [ "${1}" = "${2}" ]; then
-               echo "Usage:"
-               echo ""
-               echo "  ${0} <TESTDIR> <REFDIR>"
-               echo ""
-               echo "Generate API compatibility reports for BIND libraries."
-               echo ""
-               echo "  <TESTDIR> is a directory with current (new) BIND version"
-               echo "  <REFDIR> is a directory with reference (old) BIND version"
-               exit 1
-       fi
-}
-
-check_args "${@}"
-TESTBIND="${1}"
-REFBIND="${2}"
-
-# Ensure the required tools are available in PATH.
-check_program abi-dumper
-check_program abi-compliance-checker
-check_program git
-check_program w3m
-
-# Find all libraries which have designated 'api' file and
-# generate ABI dump file for them.
-while read -r SO; do
-       APIFILE="$(dirname "${SO}")/../api"
-       APIFILE_DIR=$(dirname "${APIFILE}")
-       GIT_HEAD_REV=$(git -C "${APIFILE_DIR}" rev-parse HEAD | cut -c 1-10)
-       GIT_HEAD_UNIX_TIME=$(git -C "${APIFILE_DIR}" log -1 --format=%ct HEAD)
-       # Get LIBINTERFACE, LIBREVISION, LIBAGE from the 'api' file.
-       eval "$(grep -v "^#" "${APIFILE}" | tr -d " ")"
-       VERSION="${LIBINTERFACE}.${LIBREVISION}.${LIBAGE}-${GIT_HEAD_UNIX_TIME}-${GIT_HEAD_REV}"
-       abi-dumper "${SO}" -o abi-"$(basename "${SO}" .so)-${VERSION}".dump -lver "${VERSION}"
-done < <(find "${TESTBIND}"/lib/*/.libs/ "${REFBIND}"/lib/*/.libs/ -name '*.so')
-
-# Generate HTML API compatibility reports for all libraries.
-find . -maxdepth 1 -name 'abi-*.dump' | sort | while read -r OLD; read -r NEW; do
-       SONAME=${OLD/.\/abi-/}
-       SONAME=${SONAME/-*/}
-       if abi-compliance-checker -l "${SONAME}" -old "${OLD}" -new "${NEW}"; then
-               REPORT_PREFIX="PASS"
-       else
-               echo "***** Compatibility problems detected"
-               REPORT_PREFIX="WARN"
-       fi
-       OLD_REPORT_PATH="$(find "compat_reports/${SONAME}" -name '*.html')"
-       NEW_REPORT_PATH="${REPORT_PREFIX}-${SONAME}.html"
-       mv "${OLD_REPORT_PATH}" "${NEW_REPORT_PATH}"
-       echo
-done
-
-# Generate TXT API compatibility reports from HTML reports for all BIND libraries.
-echo "Generate TXT API compatibility reports from HTML reports for all BIND libraries:"
-while read -r HTMLREPORT; do
-       TXTREPORT="${HTMLREPORT/.html/.txt}"
-       echo "  w3m: ${HTMLREPORT} -> ${TXTREPORT}"
-       w3m -dump -cols 75 -O ascii -T text/html "${HTMLREPORT}" > "${TXTREPORT}"
-done < <(find . -maxdepth 1 -name '*-lib*.html')
index 326af06176309a1167b84e2e66ad5683de3dfe26..17e56052445117dfff0f4a47fc4fb03a3b7ce55e 100644 (file)
 ./fuzz/main.c                                  C       2018,2019,2020,2021
 ./install-sh                                   X       1998,1999,2000,2001,2018,2019,2020,2021
 ./lib/Kyuafile                                 X       2017,2018,2019,2020,2021
-./lib/bind9/api                                        X       2001,2006,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/bind9/check.c                            C       2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/bind9/getaddresses.c                     C       2001,2002,2004,2005,2007,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/bind9/include/bind9/check.h              C       2001,2004,2005,2006,2007,2016,2018,2019,2020,2021
 ./lib/dns/Kyuafile                             X       2017,2018,2019,2020,2021
 ./lib/dns/acl.c                                        C       1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2011,2013,2014,2016,2017,2018,2019,2020,2021
 ./lib/dns/adb.c                                        C       1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
-./lib/dns/api                                  X       1999,2000,2001,2006,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/dns/badcache.c                           C       2014,2015,2016,2018,2019,2020,2021
 ./lib/dns/byaddr.c                             C       2000,2001,2002,2003,2004,2005,2007,2009,2013,2016,2017,2018,2019,2020,2021
 ./lib/dns/cache.c                              C       1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/dns/zoneverify.c                         C       2018,2019,2020,2021
 ./lib/dns/zt.c                                 C       1999,2000,2001,2002,2004,2005,2006,2007,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/irs/Kyuafile                             X       2017,2018,2019,2020,2021
-./lib/irs/api                                  X       2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/irs/context.c                            C       2009,2014,2016,2018,2019,2020,2021
 ./lib/irs/dnsconf.c                            C       2009,2012,2016,2018,2019,2020,2021
 ./lib/irs/gai_strerror.c                       C       2009,2014,2016,2018,2019,2020,2021
 ./lib/irs/win32/version.c                      C       2014,2016,2018,2019,2020,2021
 ./lib/isc/Kyuafile                             X       2017,2018,2019,2020,2021
 ./lib/isc/aes.c                                        C       2014,2016,2017,2018,2019,2020,2021
-./lib/isc/api                                  X       1999,2000,2001,2006,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/isc/app.c                                        C       1999,2000,2001,2002,2003,2004,2005,2007,2008,2009,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/isc/assertions.c                         C       1997,1998,1999,2000,2001,2004,2005,2007,2008,2009,2015,2016,2018,2019,2020,2021
 ./lib/isc/astack.c                             C       2019,2020,2021
 ./lib/isc/xoshiro128starstar.c                 C.PORTION       2018,2019,2020,2021
 ./lib/isccc/Kyuafile                           X       2018,2019,2020,2021
 ./lib/isccc/alist.c                            C.NOM   2001,2004,2005,2007,2015,2016,2018,2019,2020,2021
-./lib/isccc/api                                        X       2001,2006,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/isccc/base64.c                           C.NOM   2001,2004,2005,2007,2013,2016,2018,2019,2020,2021
 ./lib/isccc/cc.c                               C.NOM   2001,2002,2003,2004,2005,2006,2007,2012,2013,2014,2015,2016,2018,2019,2020,2021
 ./lib/isccc/ccmsg.c                            C.NOM   2001,2004,2005,2007,2016,2018,2019,2020,2021
 ./lib/isccc/win32/version.c                    C       2001,2004,2007,2016,2018,2019,2020,2021
 ./lib/isccfg/Kyuafile                          X       2017,2018,2019,2020,2021
 ./lib/isccfg/aclconf.c                         C       1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
-./lib/isccfg/api                               X       2001,2006,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/isccfg/dnsconf.c                         C       2009,2016,2018,2019,2020,2021
 ./lib/isccfg/include/isccfg/aclconf.h          C       1999,2000,2001,2004,2005,2006,2007,2010,2011,2012,2013,2014,2016,2018,2019,2020,2021
 ./lib/isccfg/include/isccfg/cfg.h              C       2000,2001,2002,2004,2005,2006,2007,2010,2013,2014,2015,2016,2018,2019,2020,2021
 ./lib/isccfg/win32/libisccfg.vcxproj.user      X       2013,2018,2019,2020,2021
 ./lib/isccfg/win32/version.c                   C       1998,1999,2000,2001,2004,2007,2016,2018,2019,2020,2021
 ./lib/ns/Kyuafile                              X       2017,2018,2019,2020,2021
-./lib/ns/api                                   X       2017,2018,2019,2020,2021
 ./lib/ns/client.c                              C       2017,2018,2019,2020,2021
 ./lib/ns/hooks.c                               C       2018,2019,2020,2021
 ./lib/ns/include/ns/client.h                   C       2017,2018,2019,2020,2021
 ./util/COPYRIGHT.NOM                           X       2001,2004,2007,2016,2018,2019,2020,2021
 ./util/COPYRIGHT.PORTION                       X       1996,1997,1998,1999,2000,2001,2004,2007,2016,2018,2019,2020,2021
 ./util/COPYRIGHT.TOP                           X       2018,2019,2020,2021
-./util/api-checker.sh                          SH      2020,2021
 ./util/bindkeys.pl                             PERL    2009,2010,2011,2012,2014,2016,2017,2018,2019,2020,2021
 ./util/branchsync.sh                           SH      2013,2016,2018,2019,2020,2021
 ./util/check-ans-prereq.sh                     SH      2019,2020,2021
index 442cfe162a02a299c5ff6023e78e06e9b17a2fdb..87dc687ec25ef1c29488574ca84489bc79a517c5 100644 (file)
@@ -2467,18 +2467,7 @@ sub setupproject {
 sub makeversion {
     # List of directories with version files
 
-    my @dirlist = ("isc", "dns", "ns", "isccc", "isccfg", "bind9", "irs");
-    my %LibMacros = (
-        "bind9"   => "LIBBIND9_EXPORTS",
-        "dns"     => "LIBDNS_EXPORTS",
-        "irs"     => "LIBIRS_EXPORTS",
-        "isc"     => "LIBISC_EXPORTS",
-        "isccc"   => "LIBISCCC_EXPORTS",
-        "isccfg"  => "LIBISCCFG_EXPORTS",
-        "ns"      => "LIBNS_EXPORTS");
-    my @VersionNames = ("LIBINTERFACE", "LIBREVISION", "LIBAGE");
     my $Version;
-    my %ApiVersions;
     my $Mapapi;
     my $versionfile = "versions.h";
     my $versionpath = "..\\$versionfile";
@@ -2554,30 +2543,6 @@ sub makeversion {
         "#define MAJOR \"$Versions{'MAJORVER'}.$Versions{'MINORVER'}\"\n\n";
     print O "#define MAPAPI \"$Mapapi\"\n\n";
 
-    my $dir;
-    my $apifile;
-    foreach $dir (@dirlist) {
-        $apifile = "..\\lib\\$dir\\api";
-        open A, $apifile || die $!;
-        while (<A>) {
-            chomp;
-            ($data) = split(/\#/);
-            if ($data) {
-                ($name, $value) = split(/=/, $data);
-                $name =~ s/\s+//;
-                $value =~ s/\s+//;
-                $ApiVersions{$name} = $value;
-            }
-        }
-        close A;
-
-        print O "\n#ifdef $LibMacros{$dir}\n";
-        foreach $name (@VersionNames) {
-            print O "#define $name\t$ApiVersions{$name}\n";
-        }
-        print O "#endif\n\n";
-    }
-
     print O "#endif /* VERSIONS_H */\n";
     close O;
 }