mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Alexander Aring <alex.aring@gmail.com>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] libnl3: new package
Date: Tue, 22 Jan 2013 10:39:10 +0100	[thread overview]
Message-ID: <CAB_54W5VxW=7BWRZTMspwNgiLHyJknM9B3tq15caBA_QO-S44A@mail.gmail.com> (raw)
In-Reply-To: <20130121172810.GD4597@pengutronix.de>


[-- Attachment #1.1: Type: text/plain, Size: 8478 bytes --]

Hi,

thank you for reviewing this.


2013/1/21 Michael Olbrich <m.olbrich@pengutronix.de>

> 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.
>
That's a hint that networkmanager prefers libnl3 instead of libnl2 instead
 of libnl(1).
But there are a lot of another application which used libnl.


> > 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
>
Thank you so much for this information!


> > +
> > +#
> > +# 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
>

[-- Attachment #1.2: Type: text/html, Size: 11723 bytes --]

[-- Attachment #2: Type: text/plain, Size: 48 bytes --]

-- 
ptxdist mailing list
ptxdist@pengutronix.de

      reply	other threads:[~2013-01-22  9:39 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
2013-01-22  9:39   ` Alexander Aring [this message]

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='CAB_54W5VxW=7BWRZTMspwNgiLHyJknM9B3tq15caBA_QO-S44A@mail.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