From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] libnl3: new package
Date: Mon, 21 Jan 2013 18:28:10 +0100 [thread overview]
Message-ID: <20130121172810.GD4597@pengutronix.de> (raw)
In-Reply-To: <1358702090-29597-1-git-send-email-alex.aring@gmail.com>
On Sun, Jan 20, 2013 at 06:14:50PM +0100, Alexander Aring wrote:
> 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.
We'll need to do something about networkmanager. It will use libnl3 before
checking for libnl2. But thats for a separate patch.
> 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>
> ---
> 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 <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
make sure the tabs align correctly with ts=8
> +
> +#
> +# 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
sort as listed in --help. That makes updating easier.
Add --enable-pthreads. Upstream authors sometimes change the default...
> +
> +# ----------------------------------------------------------------------------
> +# 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
LIBNL3_INSTALL_FILES-$(PTXCONF_LIBNL3_ENABLE_CLI) +=genl-ctrl-list
(Note the tab position, and no /usr/sbin/ here).
> +
> +$(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
> +
> + @for i in $(LIBNL3_INSTALL_FILES-y); do \
> + $(call install_copy, libnl3, 0, 0, 0755, -, $$i) \
> + done
@$(foreach tool,$(LIBNL3_INSTALL_FILES-y), \
$(call install_copy, libnl3, 0, 0, 0755, -, /usr/sbin/$(tool));)
> +
> + @$(call install_copy, libnl3, 0, 0, 0755, /etc/libnl)
this is not needed. All files also install their path. Something like this
only makes sense if you need special permissions.
Michael
> + @$(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
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2013-01-21 17:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-20 17:14 Alexander Aring
2013-01-21 17:28 ` Michael Olbrich [this message]
2013-01-22 9:39 ` Alexander Aring
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=20130121172810.GD4597@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--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