From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-bk0-f42.google.com ([209.85.214.42]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1TwyTR-0006rp-97 for ptxdist@pengutronix.de; Sun, 20 Jan 2013 18:14:26 +0100 Received: by mail-bk0-f42.google.com with SMTP id ji2so2721171bkc.1 for ; Sun, 20 Jan 2013 09:14:19 -0800 (PST) From: Alexander Aring Date: Sun, 20 Jan 2013 18:14:50 +0100 Message-Id: <1358702090-29597-1-git-send-email-alex.aring@gmail.com> Subject: [ptxdist] [PATCH] libnl3: new package Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Cc: Alexander Aring 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 --- rules/libnl3.in | 38 ++++++++++++++++++++++ rules/libnl3.make | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 133 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..6620000 --- /dev/null +++ b/rules/libnl3.make @@ -0,0 +1,95 @@ +# -*-makefile-*- +# +# Copyright (C) 2012 by Alexander Aring +# +# 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) \ + --$(call ptx/endis, PTXCONF_LIBNL3_ENABLE_CLI)-cli \ + --disable-manpages \ + --enable-shared \ + --disable-static + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +LIBNL3_INSTALL_FILES-y = +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/genl-ctrl-list +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-class-add +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-class-delete +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-classid-lookup +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-class-list +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-cls-add +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-cls-delete +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-cls-list +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-link-list +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-pktloc-lookup +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-qdisc-add +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/nl-qdisc-delete +LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) += /usr/sbin/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 ") + @$(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 + + @for i in $(LIBNL3_INSTALL_FILES-y); do \ + $(call install_copy, libnl3, 0, 0, 0755, -, $$i) \ + done + + @$(call install_copy, libnl3, 0, 0, 0755, /etc/libnl) + @$(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