mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Alexander Aring <alex.aring@gmail.com>
To: ptxdist@pengutronix.de
Cc: Alexander Aring <alex.aring@gmail.com>
Subject: [ptxdist] [PATCH v2] libnl3: new package
Date: Tue, 22 Jan 2013 11:26:57 +0100	[thread overview]
Message-ID: <1358850417-26460-1-git-send-email-alex.aring@gmail.com> (raw)

New package for libnl3 version 3.2.19.

There is already a libnl package version 1.1.
Some applications have a dependency to libnl3. Others
applications like 'networkmanager' can uses libnl or libnl3.

Eventually we should update packages like 'networkmanager' to use
libnl3 instead of libnl.

It is possible to install both libraries libnl and libnl3.
Libnl3 has an another library name and another header
file location.
The configure part of applications like  'networkmanager'
will determine which library will be used.

The new libnl3 has a option to enable or disable install
cli support.

Others possible optional features, which are currently not
available to configure, are:
	- Disable pthread support.
	- Python bindings(experimental).

This package will install a default configuration of libnl3 to
'/etc/libnl/...'.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
v2:
 - fix tabs.
 - add enable-pthreads option.
 - sort configure options.
 - rename LIBNL3_INSTALL_FILES names from /usr/sbin/genl-ctrl-list
  to genl-ctrl-list.
 - use foreach instead of sh for loop.
 - remove directory creation for config files.

 rules/libnl3.in   | 38 ++++++++++++++++++++++
 rules/libnl3.make | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+)
 create mode 100644 rules/libnl3.in
 create mode 100644 rules/libnl3.make

diff --git a/rules/libnl3.in b/rules/libnl3.in
new file mode 100644
index 0000000..4cdd2ac
--- /dev/null
+++ b/rules/libnl3.in
@@ -0,0 +1,38 @@
+## SECTION=system_libraries
+
+menuconfig LIBNL3
+	tristate
+	prompt "libnl3                        "
+	select LIBC_M
+	select LIBC_PTHREAD
+	select GCCLIBS_GCC_S
+	select HOST_FLEX
+	help
+	  libnl3 is a library for applications dealing with netlink
+	  sockets. The library provides an interface for raw
+	  netlink messaging and various netlink family specific
+	  interfaces.
+
+if LIBNL3
+
+config LIBNL3_ENABLE_CLI
+	bool
+	default y
+	prompt "Enable command line tools"
+	help
+	  Do build the following command line interface utils:
+	  genl-ctrl-list
+	  nl-class-add
+	  nl-class-delete
+	  nl-classid-lookup
+	  nl-class-list
+	  nl-cls-add
+	  nl-cls-delete
+	  nl-cls-list
+	  nl-link-list
+	  nl-pktloc-lookup
+	  nl-qdisc-add
+	  nl-qdisc-delete
+	  nl-qdisc-list
+
+endif
diff --git a/rules/libnl3.make b/rules/libnl3.make
new file mode 100644
index 0000000..33a0018
--- /dev/null
+++ b/rules/libnl3.make
@@ -0,0 +1,94 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Alexander Aring <aar@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBNL3) += libnl3
+
+#
+# Paths and names
+#
+LIBNL3_VERSION	:= 3.2.19
+LIBNL3_MD5	:= 1795c43bde05f650a43b085438e5da21
+LIBNL3		:= libnl-$(LIBNL3_VERSION)
+LIBNL3_SUFFIX	:= tar.gz
+LIBNL3_URL	:= http://www.infradead.org/~tgr/libnl/files/$(LIBNL3).$(LIBNL3_SUFFIX)
+LIBNL3_SOURCE	:= $(SRCDIR)/$(LIBNL3).$(LIBNL3_SUFFIX)
+LIBNL3_DIR	:= $(BUILDDIR)/$(LIBNL3)
+LIBNL3_LICENSE	:= GPLv2
+
+#
+# autoconf
+#
+LIBNL3_CONF_TOOL    := autoconf
+LIBNL3_CONF_OPT	    := \
+	$(CROSS_AUTOCONF_USR) \
+	--disable-manpages \
+	--enable-shared \
+	--disable-static \
+	--$(call ptx/endis, PTXCONF_LIBNL3_ENABLE_CLI)-cli \
+	--enable-pthreads
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+LIBNL3_INSTALL_FILES-y =
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=genl-ctrl-list
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-class-add
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-class-delete
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-classid-lookup
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-class-list
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-cls-add
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-cls-delete
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-cls-list
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-link-list
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-pktloc-lookup
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-qdisc-add
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-qdisc-delete
+LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI)   +=nl-qdisc-list
+
+$(STATEDIR)/libnl3.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, libnl3)
+	@$(call install_fixup, libnl3,PRIORITY,optional)
+	@$(call install_fixup, libnl3,SECTION,base)
+	@$(call install_fixup, libnl3,AUTHOR,"Alexander Aring <aar@pengutronix.de>")
+	@$(call install_fixup, libnl3,DESCRIPTION,missing)
+
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl-3)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl-genl-3)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl-nf-3)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl-route-3)
+
+ifdef PTXCONF_LIBNL3_ENABLE_CLI
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl-cli-3)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/cls/basic)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/cls/cgroup)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/qdisc/bfifo)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/qdisc/blackhole)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/qdisc/htb)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/qdisc/pfifo)
+	@$(call install_lib, libnl3, 0, 0, 0644, libnl/cli/qdisc/plug)
+endif
+
+	@$(foreach tool,$(LIBNL3_INSTALL_FILES-y), \
+		$(call install_copy, libnl3, 0, 0, 0755, -, /usr/sbin/$(tool));)
+
+	@$(call install_alternative, libnl3, 0, 0, 0644, /etc/libnl/classid)
+	@$(call install_alternative, libnl3, 0, 0, 0644, /etc/libnl/pktloc)
+
+	@$(call install_finish, libnl3)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
1.8.1.1


-- 
ptxdist mailing list
ptxdist@pengutronix.de

                 reply	other threads:[~2013-01-22 10:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1358850417-26460-1-git-send-email-alex.aring@gmail.com \
    --to=alex.aring@gmail.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox