Patch libyang1.0.184 so version and let frr 7.5 use the patched version

This commit is contained in:
Pavel Shirshov 2020-11-24 00:45:34 +00:00 committed by lguohan
parent 273846a412
commit a7b8f8914e
4 changed files with 44 additions and 29 deletions

View File

@ -7,10 +7,10 @@ DOCKER_FPM_FRR_DBG = $(DOCKER_FPM_FRR_STEM)-$(DBG_IMAGE_MARK).gz
$(DOCKER_FPM_FRR)_PATH = $(DOCKERS_PATH)/$(DOCKER_FPM_FRR_STEM) $(DOCKER_FPM_FRR)_PATH = $(DOCKERS_PATH)/$(DOCKER_FPM_FRR_STEM)
$(DOCKER_FPM_FRR)_PYTHON_WHEELS += $(SONIC_BGPCFGD) $(DOCKER_FPM_FRR)_PYTHON_WHEELS += $(SONIC_BGPCFGD)
$(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG) $(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG1)
$(DOCKER_FPM_FRR)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS) $(DOCKER_FPM_FRR)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS)
$(DOCKER_FPM_FRR)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) \ $(DOCKER_FPM_FRR)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) \
$(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG_DBG) $(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG1_DBG)
$(DOCKER_FPM_FRR)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES) $(DOCKER_FPM_FRR)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)

View File

@ -4,7 +4,7 @@ DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/libyang1.mk rules/libyang1.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(SPATH)) DEP_FILES += $(shell git ls-files $(SPATH))
$(LIBYANG)_CACHE_MODE := GIT_CONTENT_SHA $(LIBYANG1)_CACHE_MODE := GIT_CONTENT_SHA
$(LIBYANG)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(LIBYANG1)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(LIBYANG)_DEP_FILES := $(DEP_FILES) $(LIBYANG1)_DEP_FILES := $(DEP_FILES)

View File

@ -1,7 +1,7 @@
# libyang1 # libyang1
LIBYANG1_VERSION_BASE = 1.0 LIBYANG1_VERSION_BASE = 1.0
LIBYANG1_VERSION = $(LIBYANG_VERSION_BASE).184 LIBYANG1_VERSION = $(LIBYANG1_VERSION_BASE).184
LIBYANG1_SUBVERSION = 2 LIBYANG1_SUBVERSION = 2
LIBYANG1_FULLVERSION = $(LIBYANG1_VERSION)-$(LIBYANG1_SUBVERSION) LIBYANG1_FULLVERSION = $(LIBYANG1_VERSION)-$(LIBYANG1_SUBVERSION)
@ -25,9 +25,19 @@ $(LIBYANG1_CPP)_DEPENDS += $(LIBYANG1)
$(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_CPP))) $(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_CPP)))
LIBYANG1_CPP_DEV = libyang-cpp-dev_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb LIBYANG1_CPP_DEV = libyang-cpp-dev_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG1_CPP),$(LIBYANG1_CPP_DEV))) $(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_CPP_DEV)))
LIBYANG1_CPP_DBG = libyang-cpp1-dbgsym_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb LIBYANG1_CPP_DBG = libyang-cpp1-dbgsym_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG1_CPP),$(LIBYANG1_CPP_DBG))) $(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_CPP_DBG)))
export LIBYANG1 LIBYANG1_DBG LIBYANG1_DEV LIBYANG1_CPP LIBYANG1_CPP_DEV LIBYANG1_CPP_DBG YANG_TOOLS = yang-tools_$(LIBYANG1_FULLVERSION)_all.deb
$(YANG_TOOLS)_DEPENDS += $(LIBYANG1)
$(eval $(call add_derived_package,$(LIBYANG1),$(YANG_TOOLS)))
LIBYANG1_TOOLS = libyang-tools_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_TOOLS)))
LIBYANG1_TOOLS_DBG = libyang-tools-dbgsym_$(LIBYANG1_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(LIBYANG1),$(LIBYANG1_TOOLS_DBG)))
export LIBYANG1 LIBYANG1_DBG LIBYANG1_DEV LIBYANG1_CPP LIBYANG1_CPP_DEV LIBYANG1_CPP_DBG YANG_TOOLS LIBYANG1_TOOLS LIBYANG1_TOOLS_DBG

View File

@ -2,31 +2,36 @@
SHELL = /bin/bash SHELL = /bin/bash
.SHELLFLAGS += -e .SHELLFLAGS += -e
MAIN_TARGET = $(LIBYANG1) LIBYANG_URL = https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang
DERIVED_TARGETS = $(LIBYANG1_DEV) $(LIBYANG1_DBG) $(LIBYANG1_CPP) $(LIBYANG1_CPP_DEV) $(LIBYANG1_CPP_DBG)
DSC_FILE = libyang_$(LIBYANG1_FULLVERSION).dsc
ORIG_FILE = libyang_$(LIBYANG1_VERSION).orig.tar.gz
DEBIAN_FILE = libyang_$(LIBYANG1_FULLVERSION).debian.tar.xz
DSC_FILE_URL = $(LIBYANG_URL)/$(DSC_FILE)
ORIG_FILE_URL = $(LIBYANG_URL)/$(ORIG_FILE)
DEBIAN_FILE_URL = $(LIBYANG_URL)/$(DEBIAN_FILE)
MAIN_TARGET = $(LIBYANG1)
DERIVED_TARGETS = $(LIBYANG1_DEV) $(LIBYANG1_DBG) $(LIBYANG1_CPP) $(LIBYANG1_CPP_DEV) $(LIBYANG1_CPP_DBG) $(YANG_TOOLS) $(LIBYANG1_TOOLS) $(LIBYANG1_TOOLS_DBG)
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
# Obtaining the libyang # Obtaining the libyang
# rm -fr ./libyang-$(LIBYANG1_VERSION) rm -fr ./libyang-$(LIBYANG1_VERSION)
# git clone https://github.com/CESNET/libyang.git libyang-$(LIBYANG1_VERSION)
# pushd libyang-$(LIBYANG1_VERSION) # download debian libyang
# git checkout tags/v1.0.184 -b libyang wget -NO "$(DSC_FILE)" $(DSC_FILE_URL)
# git cherry-pick 1054200178d0277010e832f270841a586a62b31b wget -NO "$(ORIG_FILE)" $(ORIG_FILE_URL)
# git cherry-pick aab48f14db4d8d21b22c50bdc6b29d0198f21996 wget -NO "$(DEBIAN_FILE)" $(DEBIAN_FILE_URL)
# mkdir build dpkg-source -x libyang_$(LIBYANG1_FULLVERSION).dsc
# pushd build
# cmake -DENABLE_STATIC=ON -DENABLE_LYD_PRIV=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -D CMAKE_BUILD_TYPE:String="Package" .. pushd libyang-$(LIBYANG1_VERSION)
# make build-deb sed -i 's/set(LIBYANG_MAJOR_SOVERSION 1)/set(LIBYANG_MAJOR_SOVERSION 2)/' CMakeLists.txt
rm -fr ./libyang-1.0.184 sed -i 's/libyang1/libyang2/' debian/libyang1.install
wget -NO libyang_1.0.184-2.dsc http://deb.debian.org/debian/pool/main/liby/libyang/libyang_1.0.184-2.dsc
wget -NO libyang_1.0.184.orig.tar.gz http://deb.debian.org/debian/pool/main/liby/libyang/libyang_1.0.184.orig.tar.gz
wget -NO libyang_1.0.184-2.debian.tar.xz http://deb.debian.org/debian/pool/main/liby/libyang/libyang_1.0.184-2.debian.tar.xz
dpkg-source -x libyang_1.0.184-2.dsc
pushd libyang-1.0.184
dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS)
popd popd
mv $* $(DEST)/
mv $(DERIVED_TARGETS) $(DEST)/ # Move the newly-built .deb packages to the destination directory
mv $* $(DERIVED_TARGETS) $(DEST)/
$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET) $(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)