[libnl3]: Reduce build time of libnl3. (#15536)

Fix debian files for libnl3 to enable a parallel build.

How to verify it

SONIC_CONFIG_MAKE_JOBS=20

now:
make target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb-clean
make target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb
grep Elapsed target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb.log
Elapsed time: 0h 1m 51s

fixed version:
make target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb-clean
make target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb
grep Elapsed target/debs/bullseye/libnl-3-200_3.5.0-1_amd64.deb.log
Elapsed time: 0h 0m 22s
This commit is contained in:
Konstantin Vasin 2023-09-23 11:00:06 +03:00 committed by GitHub
parent d216cfa0cc
commit 35313c9828
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 4 additions and 81 deletions

View File

@ -24,7 +24,7 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
stg init
stg import -s ../patch/series
ln -s ../debian debian
cp -r ../debian debian
ifeq ($(CROSS_BUILD_ENVIRON), y)
dpkg-buildpackage -rfakeroot -b -us -uc -a$(CONFIGURED_ARCH) -Pcross,nocheck -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
else

View File

@ -1 +1 @@
9
10

View File

@ -204,42 +204,3 @@ Description: development library and headers for libnl-xfrm-3
.
This package contains the files that are needed to build applications using
libnl-xfrm-3.
Package: libnl-3-200-dbg
Architecture: linux-any
Section: debug
Depends: libnl-3-200 (= ${binary:Version}), ${misc:Depends}
Priority: extra
Description: debug symbols for libnl3
This is a library for applications dealing with netlink sockets.
The library provides an interface for raw netlink messaging and various
netlink family specific interfaces.
.
This package contains unstripped shared libraries. It is provided primarily
to provide a backtrace with names in a debugger, this makes it somewhat easier
to interpret core dumps. The libraries are installed in /usr/lib/debug and
are automatically used by gdb.
Package: libnl-3-200-udeb
Architecture: linux-any
XC-Package-Type: udeb
Section: debian-installer
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: library for dealing with netlink sockets
This is a library for applications dealing with netlink sockets.
The library provides an interface for raw netlink messaging and various
netlink family specific interfaces.
.
This package is a udeb. It's only useful inside of debian-installer.
Package: libnl-genl-3-200-udeb
Architecture: linux-any
XC-Package-Type: udeb
Section: debian-installer
Depends: libnl-3-200-udeb (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Description: library for dealing with netlink sockets - generic netlink
This is a library for applications dealing with netlink sockets.
The library provides an interface for raw netlink messaging and various
netlink family specific interfaces.
.
This package is a udeb. It's only useful inside of debian-installer.

View File

@ -1 +0,0 @@
usr/lib/*/libnl-3.so.* lib

View File

@ -1,2 +0,0 @@
#!/usr/bin/dh-exec
usr/lib/${DEB_HOST_MULTIARCH}/libnl-genl-3.so.* lib/${DEB_HOST_MULTIARCH}/

View File

@ -1,39 +1,4 @@
#!/usr/bin/make -f
DEB_BUILDDIR = debian/build
DEB_MAKE_FLAVORS = main udeb
udeb_libnl=libnl-3-200-udeb
udeb_libnl_genl=libnl-genl-3-200-udeb
TG_BRANCHES := debian/etc-libnl-3,debian/out-of-tree,debian/no-symvers
-include /usr/share/topgit/tg2quilt.mk
# to export the patch series use
# debian/rules tg-clean
# debian/rules tg-export
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/class/autotools.mk
# FIXME: not honoured
#CFLAGS_udeb += $(CFLAGS) -Os
CFLAGS += $(if $(findstring udeb,$(cdbs_make_curflavor)),-Os)
DEB_DH_STRIP_ARGS := --dbg-package=libnl-3-200-dbg
DEB_DH_MAKESHLIBS_ARGS_libnl-3-200 := --add-udeb=$(udeb_libnl)
DEB_DH_MAKESHLIBS_ARGS_libnl-genl-3-200 := --add-udeb=$(udeb_libnl_genl)
DEB_MAKE_DESTDIRSKEL = $(CURDIR)/debian/tmp
DEB_MAKE_DESTDIRSKEL_udeb = $(CURDIR)/debian/tmp/udeb
DEB_DH_INSTALL_ARGS_$(udeb) += --sourcedir=debian/tmp/udeb
DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
clean::
# from some unknown reason CDBS does not remove the builddir
rm -rf $(DEB_BUILDDIR)
%:
dh $@