From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ee0-f54.google.com ([74.125.83.54]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1Txb3p-0005S8-8x for ptxdist@pengutronix.de; Tue, 22 Jan 2013 11:26:34 +0100 Received: by mail-ee0-f54.google.com with SMTP id c41so3412475eek.41 for ; Tue, 22 Jan 2013 02:26:27 -0800 (PST) From: Alexander Aring Date: Tue, 22 Jan 2013 11:26:57 +0100 Message-Id: <1358850417-26460-1-git-send-email-alex.aring@gmail.com> Subject: [ptxdist] [PATCH v2] 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 --- 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 +# +# 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 ") + @$(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