Skip to content

Commit

Permalink
libyang3: base package upgrade from libyang2
Browse files Browse the repository at this point in the history
This does the base upgrade from libyang2 to libyang3.   It also drops
the completely unused libyang1 build (as the version used is in the libyang
directory which is 1.0.73).

NOTE: libyang3 depends on pkgconf, which supersedes pkg-config so there is
some churn to docker image building switching packages but it works for
all packages as a replacement.
  • Loading branch information
bradh352 committed Feb 8, 2025
1 parent b695290 commit 9d69b0c
Show file tree
Hide file tree
Showing 20 changed files with 68 additions and 176 deletions.
5 changes: 2 additions & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,9 @@

# yang
/src/sonic-yang-models/ @praveen-li @dgsudharsan @rathnasabapathyv @venkatmahalingam @qiluo-msft
/src/sonic-yang-mgmt/ @sonet-net/sonic-management
/src/sonic-yang-mgmt/ @sonic-net/sonic-management
/src/libyang/ @sonic-net/sonic-management
/src/libyang1/ @sonic-net/sonic-management
/src/libyang2/ @sonic-net/sonic-management
/src/libyang3/ @sonic-net/sonic-management

# bgpcfgd
/src/sonic-bgpcfgd/ @StormLiangMS
Expand Down
6 changes: 3 additions & 3 deletions files/build/versions/default/versions-web
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.16
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.16-1+deb12u1.dsc==d566d5f5ff64eaff40c2013468919c73
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.16.orig.tar.gz==3b8aa604d32a4acc34345987d2d7d631
https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.16.orig.tar.gz.asc==273f3e4f9f68314c3e59f694adf08024
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.1.148-0.2.debian.tar.xz==2385ff45433e3239e962791228c94ba5
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.1.148-0.2.dsc==121866bf803a7d1fab455088de5a9733
https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.1.148.orig.tar.xz==ca6915c2c2e02525630777a626224ec7
http://debian-archive.trafficmanager.net/debian/pool/main/liby/libyang/libyang_3.7.8-1.debian.tar.xz==dca761f813ca7f8ea9a11e758a428932
http://debian-archive.trafficmanager.net/debian/pool/main/liby/libyang/libyang_3.7.8-1.dsc==5962c4831cf14bd14ba5156f935beb95
http://debian-archive.trafficmanager.net/debian/pool/main/liby/libyang/libyang_3.7.8.orig.tar.xz==686529fb9dc8a5b17b28b874934abd9c
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.debian.tar.xz==ad957e90207d0669beb2109e4e325def
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.dsc==2443e4dffbdb020e7ab4f947a7904912
https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg.orig.tar.xz==6391ae27eb1ae34ff5530712bb1c4209
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ libssl-dev==3.0.15-1~deb12u1
libssl3==3.0.15-1~deb12u1
libswsscommon-dbgsym==1.0.0
libunwind8==1.6.2-3
libyang2t64==2.1.148-0.2
libyang2t64-dbgsym==2.1.148-0.2
libyang3==3.7.8-1
logrotate==3.21.0-1
lsof==4.95.0-1
openssh-client==1:9.2p1-2+deb12u4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ libtirpc-dev==1.3.3+ds-1
libunwind8==1.6.2-3
libxml2==2.9.14+dfsg-1.3~deb12u1
libxml2-dev==2.9.14+dfsg-1.3~deb12u1
libyang2t64==2.1.148-0.2
libyang3==3.7.8-1
libzmq3-dev==4.3.4-6
linux-libc-dev==6.1.124-1
logrotate==3.21.0-1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ libunwind8==1.3.2-2
libuuid1==2.36.1-8+deb11u2
libxml2==2.9.10+dfsg-6.7+deb11u4
libxml2-dev==2.9.10+dfsg-6.7+deb11u4
libyang2==2.0.112-6
libyang3==3.7.8-1
libzmq3-dev==4.3.4-1+deb11u1
linux-libc-dev==5.10.221-1
logrotate==3.18.0-2+deb11u2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ libteam-utils==1.30-1
libteam5==1.30-1
libteamdctl0==1.30-1
libunwind8==1.2.1-10~deb10u1
libyang2==2.0.112-6
libyang3==3.7.8-1
libzmq3-dev==4.3.1-4+deb10u2
linux-libc-dev==4.19.269-1
logrotate==3.14.0-4
Expand Down
4 changes: 2 additions & 2 deletions rules/libyang.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ LIBYANG_PY3 = python3-yang_$(LIBYANG_VERSION)_$(CONFIGURED_ARCH).deb
$(LIBYANG_PY3)_DEPENDS += $(LIBYANG) $(LIBYANG_CPP)
$(eval $(call add_derived_package,$(LIBYANG),$(LIBYANG_PY3)))

$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG1),$(LIBYANG2)))
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG1_DEV),$(LIBYANG2_DEV)))
$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG3)))
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG3_DEV)))

export LIBYANG LIBYANG_DBGSYM LIBYANG_DEV LIBYANG_CPP LIBYANG_PY3
10 changes: 0 additions & 10 deletions rules/libyang1.dep

This file was deleted.

43 changes: 0 additions & 43 deletions rules/libyang1.mk

This file was deleted.

10 changes: 0 additions & 10 deletions rules/libyang2.dep

This file was deleted.

31 changes: 0 additions & 31 deletions rules/libyang2.mk

This file was deleted.

10 changes: 10 additions & 0 deletions rules/libyang3.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

SPATH := $($(LIBYANG3)_SRC_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/libyang3.mk rules/libyang3.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(SPATH))

$(LIBYANG3)_CACHE_MODE := GIT_CONTENT_SHA
$(LIBYANG3)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(LIBYANG3)_DEP_FILES := $(DEP_FILES)

22 changes: 22 additions & 0 deletions rules/libyang3.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# libyang3

LIBYANG3_VERSION = 3.7.8
LIBYANG3_SUBVERSION = 1
LIBYANG3_FULLVERSION = $(LIBYANG3_VERSION)-$(LIBYANG3_SUBVERSION)

export LIBYANG3_VERSION
export LIBYANG3_SUBVERSION
export LIBYANG3_FULLVERSION

LIBYANG3 = libyang3_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(LIBYANG3)_SRC_PATH = $(SRC_PATH)/libyang3
SONIC_MAKE_DEBS += $(LIBYANG3)

LIBYANG3_DEV = libyang-dev_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_DEV)))

LIBYANG3_TOOLS = libyang3-tools_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_TOOLS)))

export LIBYANG3 LIBYANG3_DEV LIBYANG3_TOOLS

7 changes: 4 additions & 3 deletions sonic-slave-bookworm/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
debhelper \
autotools-dev \
libbsd-dev \
pkg-config \
pkgconf \
check \
# For bmp
librdkafka-dev \
Expand Down Expand Up @@ -370,6 +370,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libevent-dev \
# For libyang
swig \
pkgconf \
tcl-expect \
# For build dtb
device-tree-compiler \
# For sonic-mgmt-framework
Expand Down Expand Up @@ -424,7 +426,6 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libdbus-1-dev \
libgirepository1.0-dev \
libsystemd-dev \
pkg-config \
# For sonic-utilities build
python3-cryptography \
# For audisp-tacplus
Expand Down Expand Up @@ -714,7 +715,7 @@ RUN eatmydata apt-get install -y \
libxtables12:$arch \
libatm1-dev:$arch \
libbpf-dev:$arch \
libdb-dev:$arch pkg-config:$arch \
libdb-dev:$arch pkgconf:$arch \
libnghttp2-14:$arch \
librtmp1:$arch \
libssh2-1:$arch \
Expand Down
10 changes: 6 additions & 4 deletions sonic-slave-bullseye/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
debhelper \
autotools-dev \
libbsd-dev \
pkg-config \
pkgconf \
check \
# For mpdecimal
docutils-common \
Expand Down Expand Up @@ -363,6 +363,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libevent-dev \
# For libyang
swig \
pkgconf \
tcl-expect \
# For build dtb
device-tree-compiler \
# For sonic-mgmt-framework
Expand Down Expand Up @@ -416,7 +418,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libdbus-1-dev \
libgirepository1.0-dev \
libsystemd-dev \
pkg-config \
pkgconf \
# For sonic-swss-common build
libhiredis-dev \
# For audisp-tacplus
Expand Down Expand Up @@ -457,7 +459,7 @@ RUN eatmydata apt install -y \
python3-ply \
python3-scapy \
python3-thrift \
libabsl20200923 libc-ares2 python3-six libboost-thread1.74.0 libboost-dev libboost-system-dev libboost-thread-dev libboost-filesystem1.74.0 libboost-program-options1.74.0 libboost-thread1.74.0 libnanomsg5 libpcap0.8 libthrift-0.13.0 libboost-dev libboost-filesystem-dev libboost-program-options-dev libgmp-dev libnanomsg-dev libpcap-dev libtool pkg-config libthrift-dev python3-thrift thrift-compiler libboost-iostreams1.74.0 libgc1 cpp libboost-dev libboost-all-dev libboost-graph-dev libboost-iostreams-dev libfl-dev libgc-dev libgmp-dev libbpf-dev tcpdump libelf-dev llvm clang python3-pyroute2 python3-ply python3-scapy python3-setuptools python3-thrift libthrift-0.13.0
libabsl20200923 libc-ares2 python3-six libboost-thread1.74.0 libboost-dev libboost-system-dev libboost-thread-dev libboost-filesystem1.74.0 libboost-program-options1.74.0 libboost-thread1.74.0 libnanomsg5 libpcap0.8 libthrift-0.13.0 libboost-dev libboost-filesystem-dev libboost-program-options-dev libgmp-dev libnanomsg-dev libpcap-dev libtool pkgconf libthrift-dev python3-thrift thrift-compiler libboost-iostreams1.74.0 libgc1 cpp libboost-dev libboost-all-dev libboost-graph-dev libboost-iostreams-dev libfl-dev libgc-dev libgmp-dev libbpf-dev tcpdump libelf-dev llvm clang python3-pyroute2 python3-ply python3-scapy python3-setuptools python3-thrift libthrift-0.13.0
{%- endif %}

{%- if CONFIGURED_ARCH == "amd64" %}
Expand Down Expand Up @@ -680,7 +682,7 @@ RUN eatmydata apt-get install -y nodejs
{%- if CROSS_BUILD_ENVIRON == "y" %}
RUN eatmydata apt-get install -y rsync dh-python

RUN eatmydata apt-get install -y libelf-dev:$arch libdw-dev:$arch libbz2-dev:$arch liblzo2-dev:$arch libedit-dev:$arch libevent-dev:$arch libopts25-dev:$arch libssl-dev:$arch pps-tools:$arch libpam-cap:$arch libcap-dev:$arch libpam0g-dev:$arch libaudit-dev:$arch libgtk-3-dev:$arch libkrb5-dev:$arch libsystemd-dev:$arch libwrap0-dev:$arch libkrb5-dev:$arch libboost1.74-dev:$arch libboost-dev:$arch libzmq5:$arch libzmq3-dev:$arch libdaemon-dev:$arch libjansson-dev:$arch libmnl-dev:$arch libsensors5:$arch libsensors4-dev:$arch libperl-dev:$arch libmariadb-dev:$arch libmariadb-dev-compat:$arch libpci-dev:$arch libjson-c-dev:$arch libreadline-dev:$arch librtr-dev:$arch librrd-dev:$arch libnetfilter-conntrack-dev:$arch libnetfilter-conntrack3:$arch libnfnetlink-dev:$arch libnftnl-dev:$arch libldap2-dev:$arch libbind-export-dev:$arch check:$arch libboost-atomic-dev:$arch libboost-test-dev:$arch libglib2.0-dev:$arch libexplain-dev:$arch libc-ares-dev:$arch libiptc0:$arch libxtables12:$arch libatm1-dev:$arch libbpf-dev:$arch libdb-dev:$arch pkg-config:$arch libnghttp2-14:$arch librtmp1:$arch libssh2-1:$arch libcjson1:$arch libcjson-dev:$arch libcurl4-openssl-dev:$arch libboost-thread1.74-dev:$arch libboost-thread-dev:$arch libboost-system1.74-dev:$arch libboost-system-dev:$arch libgtest-dev:$arch libgmock-dev:$arch libfido2-dev:$arch libcunit1:$arch libcunit1-dev:$arch libauparse-dev:$arch libnetsnmptrapd40:$arch qtbase5-dev:$arch libboost-log-dev:$arch libboost-filesystem-dev:$arch libboost-program-options-dev:$arch
RUN eatmydata apt-get install -y libelf-dev:$arch libdw-dev:$arch libbz2-dev:$arch liblzo2-dev:$arch libedit-dev:$arch libevent-dev:$arch libopts25-dev:$arch libssl-dev:$arch pps-tools:$arch libpam-cap:$arch libcap-dev:$arch libpam0g-dev:$arch libaudit-dev:$arch libgtk-3-dev:$arch libkrb5-dev:$arch libsystemd-dev:$arch libwrap0-dev:$arch libkrb5-dev:$arch libboost1.74-dev:$arch libboost-dev:$arch libzmq5:$arch libzmq3-dev:$arch libdaemon-dev:$arch libjansson-dev:$arch libmnl-dev:$arch libsensors5:$arch libsensors4-dev:$arch libperl-dev:$arch libmariadb-dev:$arch libmariadb-dev-compat:$arch libpci-dev:$arch libjson-c-dev:$arch libreadline-dev:$arch librtr-dev:$arch librrd-dev:$arch libnetfilter-conntrack-dev:$arch libnetfilter-conntrack3:$arch libnfnetlink-dev:$arch libnftnl-dev:$arch libldap2-dev:$arch libbind-export-dev:$arch check:$arch libboost-atomic-dev:$arch libboost-test-dev:$arch libglib2.0-dev:$arch libexplain-dev:$arch libc-ares-dev:$arch libiptc0:$arch libxtables12:$arch libatm1-dev:$arch libbpf-dev:$arch libdb-dev:$arch pkgconf:$arch libnghttp2-14:$arch librtmp1:$arch libssh2-1:$arch libcjson1:$arch libcjson-dev:$arch libcurl4-openssl-dev:$arch libboost-thread1.74-dev:$arch libboost-thread-dev:$arch libboost-system1.74-dev:$arch libboost-system-dev:$arch libgtest-dev:$arch libgmock-dev:$arch libfido2-dev:$arch libcunit1:$arch libcunit1-dev:$arch libauparse-dev:$arch libnetsnmptrapd40:$arch qtbase5-dev:$arch libboost-log-dev:$arch libboost-filesystem-dev:$arch libboost-program-options-dev:$arch

RUN apt-get download libgirepository1.0-dev:$arch && eatmydata dpkg --force-all -i libgirepository1.0-dev*
RUN PATH=/python_virtualenv/env3/bin/:$PATH pip3 install pycairo
Expand Down
8 changes: 5 additions & 3 deletions sonic-slave-buster/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
debhelper \
autotools-dev \
libbsd-dev \
pkg-config \
pkgconf \
check \
# For mpdecimal
docutils-common \
Expand Down Expand Up @@ -358,6 +358,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libevent-dev \
# For libyang
swig \
pkgconf \
tcl-expect \
# For build dtb
device-tree-compiler \
# For sonic-mgmt-framework
Expand Down Expand Up @@ -416,7 +418,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libdbus-1-dev \
libgirepository1.0-dev \
libsystemd-dev \
pkg-config \
pkgconf \
# For sonic-swss-common build
libhiredis-dev \
# For audisp-tacplus
Expand Down Expand Up @@ -650,7 +652,7 @@ RUN eatmydata apt-get install -y nodejs
{%- if CROSS_BUILD_ENVIRON == "y" %}
RUN eatmydata apt-get install -y rsync dh-python
RUN eatmydata apt-get install -y libelf-dev:$arch libdw-dev:$arch libbz2-dev:$arch liblzo2-dev:$arch libedit-dev:$arch libevent-dev:$arch libopts25-dev:$arch libssl-dev:$arch pps-tools:$arch libpam-cap:$arch libcap-dev:$arch libpam0g-dev:$arch libaudit-dev:$arch libgtk-3-dev:$arch libkrb5-dev:$arch libsystemd-dev:$arch libwrap0-dev:$arch libkrb5-dev:$arch libboost1.67-dev:$arch libboost-dev:$arch libzmq5:$arch libzmq3-dev:$arch libdaemon-dev:$arch libjansson-dev:$arch libmnl-dev:$arch libsensors5:$arch libsensors4-dev:$arch libperl-dev:$arch libmariadb-dev:$arch libmariadb-dev-compat:$arch libpci-dev:$arch libjson-c3:$arch libjson-c-dev:$arch libreadline-dev:$arch librtr-dev:$arch librrd-dev:$arch libnetfilter-conntrack-dev:$arch libnetfilter-conntrack3:$arch libnfnetlink-dev:$arch libnftnl-dev:$arch libldap2-dev:$arch libbind-export-dev:$arch check:$arch libboost-atomic-dev:$arch libboost-test-dev:$arch libglib2.0-dev:$arch qt5-default:$arch libexplain-dev:$arch libc-ares-dev:$arch libip4tc0:$arch libip6tc0:$arch libiptc0:$arch libxtables12:$arch iptables-dev:$arch libatm1-dev:$arch libdb-dev:$arch pkg-config:$arch libnghttp2-14:$arch librtmp1:$arch libssh2-1:$arch libcjson1:$arch libcjson-dev:$arch libcurl4-openssl-dev:$arch libboost-thread1.67-dev:$arch libboost-thread-dev:$arch libboost-system1.67-dev:$arch libboost-system-dev:$arch libgtest-dev:$arch libgmock-dev:$arch
RUN eatmydata apt-get install -y libelf-dev:$arch libdw-dev:$arch libbz2-dev:$arch liblzo2-dev:$arch libedit-dev:$arch libevent-dev:$arch libopts25-dev:$arch libssl-dev:$arch pps-tools:$arch libpam-cap:$arch libcap-dev:$arch libpam0g-dev:$arch libaudit-dev:$arch libgtk-3-dev:$arch libkrb5-dev:$arch libsystemd-dev:$arch libwrap0-dev:$arch libkrb5-dev:$arch libboost1.67-dev:$arch libboost-dev:$arch libzmq5:$arch libzmq3-dev:$arch libdaemon-dev:$arch libjansson-dev:$arch libmnl-dev:$arch libsensors5:$arch libsensors4-dev:$arch libperl-dev:$arch libmariadb-dev:$arch libmariadb-dev-compat:$arch libpci-dev:$arch libjson-c3:$arch libjson-c-dev:$arch libreadline-dev:$arch librtr-dev:$arch librrd-dev:$arch libnetfilter-conntrack-dev:$arch libnetfilter-conntrack3:$arch libnfnetlink-dev:$arch libnftnl-dev:$arch libldap2-dev:$arch libbind-export-dev:$arch check:$arch libboost-atomic-dev:$arch libboost-test-dev:$arch libglib2.0-dev:$arch qt5-default:$arch libexplain-dev:$arch libc-ares-dev:$arch libip4tc0:$arch libip6tc0:$arch libiptc0:$arch libxtables12:$arch iptables-dev:$arch libatm1-dev:$arch libdb-dev:$arch pkgconf:$arch libnghttp2-14:$arch librtmp1:$arch libssh2-1:$arch libcjson1:$arch libcjson-dev:$arch libcurl4-openssl-dev:$arch libboost-thread1.67-dev:$arch libboost-thread-dev:$arch libboost-system1.67-dev:$arch libboost-system-dev:$arch libgtest-dev:$arch libgmock-dev:$arch
RUN eatmydata apt-get install -y -t buster-backports \
libbpf-dev:$arch
Expand Down
Loading

0 comments on commit 9d69b0c

Please sign in to comment.