[oe] [meta-networking][PATCH] net-snmp: Add pkgconfig file support

Jeremy A. Puhlman jpuhlman at mvista.com
Thu Feb 20 00:29:12 UTC 2020


From: Jeremy Puhlman <jpuhlman at mvista.com>

Signed-off-by: Jeremy A. Puhlman <jpuhlman at mvista.com>
---
 ...upport-for-building-applications-and.patch | 170 ++++++++++++++++++
 .../net-snmp/net-snmp_5.8.bb                  |   1 +
 2 files changed, 171 insertions(+)
 create mode 100644 meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch

diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
new file mode 100644
index 000000000..6cb9588eb
--- /dev/null
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
@@ -0,0 +1,170 @@
+From aea8c2f0bf8004c8da8ca9acb04ab07798cd8068 Mon Sep 17 00:00:00 2001
+From: Hugh McMaster <hugh.mcmaster at outlook.com>
+Date: Wed, 3 Apr 2019 21:36:03 +1100
+Subject: [PATCH] Add pkg-config support for building applications and
+ sub-agents
+
+The netsnmp package should be used when building Net-SNMP applications.
+The netsnmp-agent package should be used when building Net-SNMP subagents.
+
+Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
+[ bvanassche: edited makefile code and .pc files; added ./configure changes ]
+
+
+Upstream-Status: Backport
+https://sourceforge.net/p/net-snmp/patches/_discuss/thread/a0d66e91dd/f940/attachment/0001-Add-pkg-config-support-for-building-applications-and.patch
+
+---
+ Makefile.in         |  2 ++
+ Makefile.rules      | 30 ++++++++++++++++++++++++++----
+ configure           |  4 ++++
+ configure.ac        |  1 +
+ netsnmp-agent.pc.in | 12 ++++++++++++
+ netsnmp.pc.in       | 12 ++++++++++++
+ 6 files changed, 57 insertions(+), 4 deletions(-)
+ create mode 100644 netsnmp-agent.pc.in
+ create mode 100644 netsnmp.pc.in
+
+diff --git a/Makefile.in b/Makefile.in
+index 9dbdde1353b1..ec972636c279 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -35,6 +35,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h
+ INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@
+ INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user
+ INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h
++INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc
+ 
+ #
+ # other install rules.
+@@ -275,6 +276,7 @@ configclean: makefileclean
+ 		libtool include/net-snmp/net-snmp-config.h \
+ 		net-snmp-config net-snmp-config-x configure-summary \
+ 		net-snmp-create-v3-user net-snmp-create-v3-user-x
++	rm -f *.pc
+ 	rm -f mibs/.index
+ 	rm -f include/net-snmp/agent/mib_module_config.h		\
+ 		include/net-snmp/agent/agent_module_config.h		\
+diff --git a/Makefile.rules b/Makefile.rules
+index 9e9e9009e5d2..e714f91e725e 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -85,12 +85,14 @@ subdirs:
+ # installlibs handles local, ucd and subdir libs. need to do subdir libs
+ # before bins, sinze those libs may be needed for successful linking
+ install: installlocalheaders @installucdheaders@ \
+-         installlibs \
+-         installlocalbin      installlocalsbin   \
++         installlibs         install_pkgconfig   \
++         installlocalbin     installlocalsbin    \
+          installsubdirs      $(OTHERINSTALL)
+ 
+-uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \
+-           uninstallsubdirs $(OTHERUNINSTALL)
++uninstall: uninstalllibs     uninstall_pkgconfig \
++           uninstallbin      uninstallsbin       \
++           uninstallheaders                      \
++           uninstallsubdirs  $(OTHERUNINSTALL)
+ 
+ installprogs: installbin installsbin
+ 
+@@ -287,6 +289,26 @@ uninstalllibs:
+ 		done \
+ 	fi
+ 
++#
++# pkg-config files
++#
++install_pkgconfig: $(INSTALL_PKGCONFIG)
++	@if test "x$(INSTALL_PKGCONFIG)" != x; then			\
++		$(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
++		for i in $(INSTALL_PKGCONFIG); do			\
++			echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
++		done;							\
++		$(INSTALL) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
++	fi
++
++uninstall_pkgconfig:
++	@if test "x$(INSTALL_PKGCONFIG)" != x; then			\
++		for i in $(INSTALL_PKGCONFIG); do			\
++			echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
++			$(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\
++		done;							\
++	fi
++
+ #
+ # normal bin binaries
+ #
+diff --git a/configure b/configure
+index 5ec44f5ce082..5103a4dc9d88 100755
+--- a/configure
++++ b/configure
+@@ -30422,6 +30422,8 @@ ac_config_files="$ac_config_files net-snmp-config:net-snmp-config.in"
+ 
+ ac_config_files="$ac_config_files net-snmp-create-v3-user:net-snmp-create-v3-user.in"
+ 
++ac_config_files="$ac_config_files netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in"
++
+ ac_config_files="$ac_config_files dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in"
+ 
+ ac_config_files="$ac_config_files local/snmpconf"
+@@ -31445,6 +31447,8 @@ do
+     "mibs/Makefile") CONFIG_FILES="$CONFIG_FILES mibs/Makefile:Makefile.top:mibs/Makefile.in:Makefile.rules" ;;
+     "net-snmp-config") CONFIG_FILES="$CONFIG_FILES net-snmp-config:net-snmp-config.in" ;;
+     "net-snmp-create-v3-user") CONFIG_FILES="$CONFIG_FILES net-snmp-create-v3-user:net-snmp-create-v3-user.in" ;;
++    "netsnmp.pc") CONFIG_FILES="$CONFIG_FILES netsnmp.pc:netsnmp.pc.in" ;;
++    "netsnmp-agent.pc") CONFIG_FILES="$CONFIG_FILES netsnmp-agent.pc:netsnmp-agent.pc.in" ;;
+     "dist/generation-scripts/gen-variables") CONFIG_FILES="$CONFIG_FILES dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" ;;
+     "local/snmpconf") CONFIG_FILES="$CONFIG_FILES local/snmpconf" ;;
+     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+diff --git a/configure.ac b/configure.ac
+index 4c4dce09d488..d62a02da5d88 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -136,6 +136,7 @@ AC_CONFIG_FILES([net-snmp-config:net-snmp-config.in],
+ 		[chmod +x net-snmp-config])
+ AC_CONFIG_FILES([net-snmp-create-v3-user:net-snmp-create-v3-user.in],
+ 		[chmod +x net-snmp-create-v3-user])
++AC_CONFIG_FILES([netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in])
+ AC_CONFIG_FILES([dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in])
+ AC_CONFIG_FILES([local/snmpconf])
+ 
+diff --git a/netsnmp-agent.pc.in b/netsnmp-agent.pc.in
+new file mode 100644
+index 000000000000..3a1c77bbf814
+--- /dev/null
++++ b/netsnmp-agent.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++libdir=@libdir@
++
++Name: netsnmp-agent (@PACKAGE_NAME@)
++Description: SNMP (Simple Network Management Protocol) sub-agent SDK.
++URL: http://www.net-snmp.org
++Version: @PACKAGE_VERSION@
++Cflags: -I${includedir}
++Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp
++Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@
+diff --git a/netsnmp.pc.in b/netsnmp.pc.in
+new file mode 100644
+index 000000000000..0a1f5785a4f4
+--- /dev/null
++++ b/netsnmp.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++libdir=@libdir@
++
++Name: netsnmp (@PACKAGE_NAME@)
++Description: SNMP (Simple Network Management Protocol) daemon and applications.
++URL: http://www.net-snmp.org
++Version: @PACKAGE_VERSION@
++Cflags: -I${includedir}
++Libs: -L${libdir} -lnetsnmp
++Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@
+-- 
+2.21.0.196.g041f5ea1cf98
+
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
index 192b6b506..317350e94 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
@@ -27,6 +27,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
            file://reproducibility-have-printcap.patch \
            file://reproducibility-accept-configure-options-from-env.patch \
            file://0001-net-snmp-fix-compile-error-disable-des.patch \
+           file://0001-Add-pkg-config-support-for-building-applications-and.patch \
            "
 SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a"
 SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf"
-- 
2.20.1



More information about the Openembedded-devel mailing list