Skip to content

Commit 4de1598

Browse files
committed
IGNORE THIS COMMIT: merge libyang3 step 1 (PR sonic-net#21679)
1 parent 722bab6 commit 4de1598

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1835
-332
lines changed

.github/CODEOWNERS

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@
6363

6464
# yang
6565
/src/sonic-yang-models/ @praveen-li @dgsudharsan @rathnasabapathyv @venkatmahalingam @qiluo-msft
66-
/src/sonic-yang-mgmt/ @sonet-net/sonic-management
66+
/src/sonic-yang-mgmt/ @sonic-net/sonic-management
6767
/src/libyang/ @sonic-net/sonic-management
68-
/src/libyang1/ @sonic-net/sonic-management
69-
/src/libyang2/ @sonic-net/sonic-management
68+
/src/libyang3/ @sonic-net/sonic-management
69+
/src/libyang3-py3/ @sonic-net/sonic-management
7070

7171
# bgpcfgd
7272
/src/sonic-bgpcfgd/ @StormLiangMS

.gitmodules

+5-1
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,8 @@
133133
url = https://github.com/Marvell-switching/sonic-platform-marvell.git
134134
[submodule "platform/vpp"]
135135
path = platform/vpp
136-
url = https://github.com/sonic-net/sonic-platform-vpp.git
136+
url = https://github.com/sonic-net/sonic-platform-vpp.git
137+
[submodule "src/libyang3-py3"]
138+
path = src/libyang3-py3
139+
url = https://github.com/CESNET/libyang-python.git
140+
tag = v3.0.3

rules/docker-fpm-frr.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ DOCKER_FPM_FRR_DBG = $(DOCKER_FPM_FRR_STEM)-$(DBG_IMAGE_MARK).gz
77
$(DOCKER_FPM_FRR)_PATH = $(DOCKERS_PATH)/$(DOCKER_FPM_FRR_STEM)
88
$(DOCKER_FPM_FRR)_PYTHON_WHEELS += $(SONIC_BGPCFGD) $(SONIC_FRR_MGMT_FRAMEWORK)
99

10-
$(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG2)
10+
$(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG3)
1111
$(DOCKER_FPM_FRR)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BOOKWORM)_DBG_DEPENDS)
1212
$(DOCKER_FPM_FRR)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) \
13-
$(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG2_DBG)
13+
$(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG3_DBG)
1414

1515
$(DOCKER_FPM_FRR)_DBG_IMAGE_PACKAGES = $($(DOCKER_SWSS_LAYER_BOOKWORM)_DBG_IMAGE_PACKAGES)
1616

rules/frr.mk

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ export FRR_VERSION FRR_SUBVERSION FRR_BRANCH FRR_TAG
88

99

1010
FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_$(CONFIGURED_ARCH).deb
11-
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG2) $(LIBYANG2_DEV)
12-
$(FRR)_RDEPENDS += $(LIBYANG2)
13-
$(FRR)_UNINSTALLS = $(LIBYANG2_DEV) $(LIBYANG2)
11+
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG3) $(LIBYANG3_DEV)
12+
$(FRR)_RDEPENDS += $(LIBYANG3)
1413
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr
1514
SONIC_MAKE_DEBS += $(FRR)
1615

rules/libyang.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ LIBYANG_PY3 = python3-yang_$(LIBYANG_VERSION)_$(CONFIGURED_ARCH).deb
2929
$(LIBYANG_PY3)_DEPENDS += $(LIBYANG) $(LIBYANG_CPP)
3030
$(eval $(call add_derived_package,$(LIBYANG),$(LIBYANG_PY3)))
3131

32-
$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG1),$(LIBYANG2)))
33-
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG1_DEV),$(LIBYANG2_DEV)))
32+
#$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG3)))
33+
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG3_DEV)))
3434

3535
export LIBYANG LIBYANG_DBGSYM LIBYANG_DEV LIBYANG_CPP LIBYANG_PY3

rules/libyang1.dep

-10
This file was deleted.

rules/libyang1.mk

-43
This file was deleted.

rules/libyang2.dep

-10
This file was deleted.

rules/libyang2.mk

-31
This file was deleted.

rules/libyang3-py3.dep

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
SPATH := $($(LIBYANG3_PY3)_SRC_PATH)
3+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/libyang3-py3.mk rules/libyang3-py3.dep
4+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
5+
SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && find . -type f -exec sh -c 'git ls-files --error-unmatch "$0" >/dev/null 2>&1' {} \; -printf '%P\n'))
6+
SMDEP_FILES += $(addprefix $(SPATH).patch/,$(shell cd $(SPATH).patch && find . -type f -exec sh -c 'git ls-files --error-unmatch "$0" >/dev/null 2>&1' {} \; -printf '%P\n'))
7+
8+
$(LIBYANG3_PY3)_CACHE_MODE := GIT_CONTENT_SHA
9+
$(LIBYANG3_PY3)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
10+
$(LIBYANG3_PY3)_DEP_FILES := $(DEP_FILES)
11+
$(LIBYANG3_PY3)_SMDEP_FILES := $(SMDEP_FILES)
12+
$(LIBYANG3_PY3)_SMDEP_PATHS := $(SPATH)

rules/libyang3-py3.mk

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# libyang3 python3 deb package
2+
3+
LIBYANG3_PY3_VERSION = 3.0.3
4+
LIBYANG3_PY3_SUBVERSION = 1
5+
LIBYANG3_PY3_FULLVERSION = $(LIBYANG3_PY3_VERSION)-$(LIBYANG3_PY3_SUBVERSION)
6+
7+
export LIBYANG3_PY3_VERSION
8+
export LIBYANG3_PY3_SUBVERSION
9+
export LIBYANG3_PY3_FULLVERSION
10+
11+
LIBYANG3_PY3 = python3-libyang_$(LIBYANG3_PY3_FULLVERSION)_$(CONFIGURED_ARCH).deb
12+
$(LIBYANG3_PY3)_SRC_PATH = $(SRC_PATH)/libyang3-py3
13+
$(LIBYANG3_PY3)_DEPENDS += $(LIBYANG3) $(LIBYANG3_DEV)
14+
$(LIBYANG3_PY3)_RDEPENDS += $(LIBYANG3)
15+
SONIC_DPKG_DEBS += $(LIBYANG3_PY3)
16+
17+
export LIBYANG3_PY3
18+

rules/libyang3.dep

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
SPATH := $($(LIBYANG3)_SRC_PATH)
3+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/libyang3.mk rules/libyang3.dep
4+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
5+
DEP_FILES += $(shell git ls-files $(SPATH))
6+
7+
$(LIBYANG3)_CACHE_MODE := GIT_CONTENT_SHA
8+
$(LIBYANG3)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
9+
$(LIBYANG3)_DEP_FILES := $(DEP_FILES)
10+

rules/libyang3.mk

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# libyang3
2+
3+
LIBYANG3_VERSION = 3.7.8
4+
LIBYANG3_SUBVERSION = 2
5+
LIBYANG3_FULLVERSION = $(LIBYANG3_VERSION)-$(LIBYANG3_SUBVERSION)
6+
7+
export LIBYANG3_VERSION
8+
export LIBYANG3_SUBVERSION
9+
export LIBYANG3_FULLVERSION
10+
11+
LIBYANG3 = libyang3_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
12+
$(LIBYANG3)_SRC_PATH = $(SRC_PATH)/libyang3
13+
SONIC_MAKE_DEBS += $(LIBYANG3)
14+
15+
LIBYANG3_DEV = libyang-dev_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
16+
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_DEV)))
17+
18+
LIBYANG3_TOOLS = libyang3-tools_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
19+
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_TOOLS)))
20+
21+
LIBYANG3_DBG = libyang3-dbgsym_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
22+
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_DBG)))
23+
24+
LIBYANG3_TOOLS_DBG = libyang3-tools-dbgsym_$(LIBYANG3_FULLVERSION)_$(CONFIGURED_ARCH).deb
25+
$(eval $(call add_derived_package,$(LIBYANG3),$(LIBYANG3_TOOLS_DBG)))
26+
27+
export LIBYANG3 LIBYANG3_DBG LIBYANG3_DEV LIBYANG3_TOOLS LIBYANG3_TOOLS_DBG
28+

rules/sonic-yang-models-py3.mk

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ SONIC_YANG_MODELS_PY3 = sonic_yang_models-1.0-py3-none-any.whl
22
$(SONIC_YANG_MODELS_PY3)_SRC_PATH = $(SRC_PATH)/sonic-yang-models
33
$(SONIC_YANG_MODELS_PY3)_PYTHON_VERSION = 3
44
$(SONIC_YANG_MODELS_PY3)_DEBS_DEPENDS = $(LIBYANG) $(LIBYANG_CPP) \
5-
$(LIBYANG_PY3)
5+
$(LIBYANG_PY3) \
6+
$(LIBYANG3) \
7+
$(LIBYANG3_PY3)
68

79
SONIC_PYTHON_WHEELS += $(SONIC_YANG_MODELS_PY3)
810
export SONIC_YANG_MODELS_PY3

slave.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -1730,4 +1730,4 @@ jessie : $$(addprefix $(TARGET_PATH)/,$$(JESSIE_DOCKER_IMAGES)) \
17301730

17311731
## To build some commonly used libs. Some submodules depend on these libs.
17321732
## It is used in component pipelines. For example: swss needs libnl, libyang
1733-
lib-packages: $(addprefix $(DEBS_PATH)/,$(LIBNL3) $(LIBYANG) $(PROTOBUF) $(LIB_SONIC_DASH_API))
1733+
lib-packages: $(addprefix $(DEBS_PATH)/,$(LIBNL3) $(LIBYANG) $(LIBYANG3) $(PROTOBUF) $(LIB_SONIC_DASH_API))

sonic-slave-bookworm/Dockerfile.j2

+6-3
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
281281
debhelper \
282282
autotools-dev \
283283
libbsd-dev \
284-
pkg-config \
284+
pkgconf \
285285
check \
286286
# For bmp
287287
librdkafka-dev \
@@ -370,6 +370,10 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
370370
libevent-dev \
371371
# For libyang
372372
swig \
373+
pkgconf \
374+
tcl-expect \
375+
# For libyang3-py3
376+
python3-cffi \
373377
# For build dtb
374378
device-tree-compiler \
375379
# For sonic-mgmt-framework
@@ -424,7 +428,6 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
424428
libdbus-1-dev \
425429
libgirepository1.0-dev \
426430
libsystemd-dev \
427-
pkg-config \
428431
# For sonic-utilities build
429432
python3-cryptography \
430433
# For audisp-tacplus
@@ -714,7 +717,7 @@ RUN eatmydata apt-get install -y \
714717
libxtables12:$arch \
715718
libatm1-dev:$arch \
716719
libbpf-dev:$arch \
717-
libdb-dev:$arch pkg-config:$arch \
720+
libdb-dev:$arch pkgconf:$arch \
718721
libnghttp2-14:$arch \
719722
librtmp1:$arch \
720723
libssh2-1:$arch \

sonic-slave-bullseye/Dockerfile.j2

+8-4
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
283283
debhelper \
284284
autotools-dev \
285285
libbsd-dev \
286-
pkg-config \
286+
pkgconf \
287287
check \
288288
# For mpdecimal
289289
docutils-common \
@@ -363,6 +363,10 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
363363
libevent-dev \
364364
# For libyang
365365
swig \
366+
pkgconf \
367+
tcl-expect \
368+
# For libyang3-py3
369+
python3-cffi \
366370
# For build dtb
367371
device-tree-compiler \
368372
# For sonic-mgmt-framework
@@ -416,7 +420,7 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
416420
libdbus-1-dev \
417421
libgirepository1.0-dev \
418422
libsystemd-dev \
419-
pkg-config \
423+
pkgconf \
420424
# For sonic-swss-common build
421425
libhiredis-dev \
422426
# For audisp-tacplus
@@ -457,7 +461,7 @@ RUN eatmydata apt install -y \
457461
python3-ply \
458462
python3-scapy \
459463
python3-thrift \
460-
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
464+
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
461465
{%- endif %}
462466

463467
{%- if CONFIGURED_ARCH == "amd64" %}
@@ -680,7 +684,7 @@ RUN eatmydata apt-get install -y nodejs
680684
{%- if CROSS_BUILD_ENVIRON == "y" %}
681685
RUN eatmydata apt-get install -y rsync dh-python
682686

683-
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
687+
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
684688

685689
RUN apt-get download libgirepository1.0-dev:$arch && eatmydata dpkg --force-all -i libgirepository1.0-dev*
686690
RUN PATH=/python_virtualenv/env3/bin/:$PATH pip3 install pycairo

0 commit comments

Comments
 (0)