packages: libnl/libnl.spec, libnl/libnl.git-183e86913aab58acf7b5b9cd160518e...
qboosh
qboosh at pld-linux.org
Tue May 22 12:46:22 CEST 2012
Author: qboosh Date: Tue May 22 10:46:22 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- updated to 3.2.9
- added three git patches to allow build it with doxygen 1.8.0+
---- Files affected:
packages/libnl:
libnl.spec (1.44 -> 1.45) , libnl.git-183e86913aab58acf7b5b9cd160518e527bb0348.patch (NONE -> 1.1) (NEW), libnl.git-2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb.patch (NONE -> 1.1) (NEW), libnl.git-fec10a282355def49133e63b8a4591cc51b46478.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/libnl/libnl.spec
diff -u packages/libnl/libnl.spec:1.44 packages/libnl/libnl.spec:1.45
--- packages/libnl/libnl.spec:1.44 Fri Jan 27 17:45:43 2012
+++ packages/libnl/libnl.spec Tue May 22 12:46:17 2012
@@ -6,15 +6,18 @@
Summary: Netlink sockets library
Summary(pl.UTF-8): Biblioteka do obsługi gniazd netlink
Name: libnl
-Version: 3.2.7
+Version: 3.2.9
Release: 1
Epoch: 1
License: LGPL v2.1
Group: Libraries
Source0: http://www.infradead.org/~tgr/libnl/files/%{name}-%{version}.tar.gz
-# Source0-md5: 6a233a9dffa0ee3a7f6110c95c5410ab
+# Source0-md5: c13adec0239b266207fff07d79e5ce9e
Patch0: %{name}-link.patch
Patch1: %{name}-pedantic.patch
+Patch2: libnl.git-183e86913aab58acf7b5b9cd160518e527bb0348.patch
+Patch3: libnl.git-2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb.patch
+Patch4: libnl.git-fec10a282355def49133e63b8a4591cc51b46478.patch
URL: http://www.infradead.org/~tgr/libnl/
BuildRequires: autoconf
BuildRequires: automake
@@ -28,17 +31,14 @@
%if %{with apidocs}
BuildRequires: asciidoc >= 8.6.5
BuildRequires: asciidoc-filter-mscgen >= 1.2
-BuildRequires: doxygen
+BuildRequires: doxygen >= 1.8.0
BuildRequires: mscgen
BuildRequires: python-pygments
BuildRequires: tetex-dvips
BuildRequires: tetex-format-latex
-BuildRequires: xmlstarlet >= 1.2.1
%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define skip_post_check_so bfifo.so.0.0.0 blackhole.so.0.0.0 htb.so.0.0.0 pfifo.so.0.0.0 basic.so.0.0.0 cgroup.so.0.0.0
-
%description
libnl is a library for applications dealing with netlink socket. It
provides an easy to use interface for raw netlink message but also
@@ -103,6 +103,9 @@
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
%{__libtoolize}
@@ -148,6 +151,7 @@
%dir %{_sysconfdir}/libnl
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libnl/classid
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libnl/pktloc
+%attr(755,root,root) %{_sbindir}/genl-ctrl-list
%attr(755,root,root) %{_sbindir}/nl-class-*
%attr(755,root,root) %{_sbindir}/nl-classid-lookup
%attr(755,root,root) %{_sbindir}/nl-cls-*
@@ -170,6 +174,7 @@
%attr(755,root,root) %{_libdir}/libnl/cli/cls/*.so*
%dir %{_libdir}/libnl/cli/qdisc
%attr(755,root,root) %{_libdir}/libnl/cli/qdisc/*.so*
+%{_mandir}/man8/genl-ctrl-list.8*
%{_mandir}/man8/nl-classid-lookup.8*
%{_mandir}/man8/nl-pktloc-lookup.8*
%{_mandir}/man8/nl-qdisc-*.8*
@@ -227,6 +232,10 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.45 2012/05/22 10:46:17 qboosh
+- updated to 3.2.9
+- added three git patches to allow build it with doxygen 1.8.0+
+
Revision 1.44 2012/01/27 16:45:43 qboosh
- updated to 3.2.7
- removed obsolete soname patch (issue fixed upstream)
================================================================
Index: packages/libnl/libnl.git-183e86913aab58acf7b5b9cd160518e527bb0348.patch
diff -u /dev/null packages/libnl/libnl.git-183e86913aab58acf7b5b9cd160518e527bb0348.patch:1.1
--- /dev/null Tue May 22 12:46:22 2012
+++ packages/libnl/libnl.git-183e86913aab58acf7b5b9cd160518e527bb0348.patch Tue May 22 12:46:17 2012
@@ -0,0 +1,261 @@
+From 183e86913aab58acf7b5b9cd160518e527bb0348 Mon Sep 17 00:00:00 2001
+From: Thomas Graf <tgraf at redhat.com>
+Date: Wed, 9 May 2012 10:06:24 +0200
+Subject: [PATCH] doc: Check documentation generation requirements with
+ autoconf
+
+Adds --enable-doc/--disable-doc, if omitted doc will only be build
+if requirements are met. If explicitely enabled, configure script
+will fail if requirements are not met.
+---
+ configure.in | 62 +++++++++++++++++++++++++++++++++++
+ doc/Makefile.am | 25 +++++++++++++-
+ doc/README | 6 +++-
+ m4/ax_python.m4 | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 188 insertions(+), 2 deletions(-)
+ create mode 100644 m4/ax_python.m4
+
+diff --git a/configure.in b/configure.in
+index f676371..ed059c3 100644
+--- a/configure.in
++++ b/configure.in
+@@ -73,6 +73,68 @@ AC_PROG_YACC
+ AC_C_CONST
+ AC_C_INLINE
+
++#
++# Generating the documentation
++#
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--disable-doc], [Do not generate documentation]),
++ [generate_doc="$enableval"], [generate_doc=auto])
++
++if test "x$generate_doc" != "xno"; then
++ AC_PROG_SED
++ AC_PROG_EGREP
++
++ AX_PYTHON
++
++ AC_CHECK_PROG(HAVE_DOXYGEN, [doxygen], yes, no)
++ if test "x$HAVE_DOXYGEN" = "xno" -a "x$generate_doc" = "xyes"; then
++ AC_MSG_ERROR([*** doxygen package required to generate documentation])
++ fi
++
++ link_doc=yes
++ AC_CHECK_PROG(HAVE_XMLSTARLET, [xmlstarlet], yes, no)
++ if test "x$HAVE_XMLSTARLET" = "xno"; then
++ if test "x$generate_doc" = "xyes"; then
++ AC_MSG_ERROR([*** xmlstarlet package required to generate documentation])
++ else
++ AC_MSG_WARN([*** xmlstarlet not found, linking to APi reference disabled])
++ link_doc=no
++ fi
++ fi
++
++ AC_CHECK_PROG(HAVE_ASCIIDOC, [asciidoc], yes, no)
++ if test "x$HAVE_ASCIIDOC" = "xno"; then
++ if test "x$generate_doc" = "xyes"; then
++ AC_MSG_ERROR([*** asciidoc package required to generate documentation])
++ else
++ AC_MSG_WARN([*** asciidoc not found, disabling building of guides])
++ fi
++ fi
++
++ AC_CHECK_PROG(HAVE_MSCGEN, [mscgen], yes, no)
++ if test "x$HAVE_MSCGEN" = "xno"; then
++ AC_MSG_WARN([*** mscgen not found, get it at http://www.mcternan.me.uk/mscgen/])
++ if test "x$generate_doc" = "xyes"; then
++ AC_MSG_ERROR([*** mscgen package required to generate documentation])
++ else
++ AC_MSG_WARN([*** Disabling building of guides])
++ HAVE_ASCIIDOC=no
++ HAVE_DOXYGEN=no
++ fi
++ fi
++
++ if test "x$HAVE_DOXYGEN" = "xno"; then
++ AC_MSG_WARN([*** Disabling API linking due to missing doxygen package])
++ link_doc=no
++ fi
++
++ AM_CONDITIONAL([LINK_DOC], [test "x$link_doc" = "xyes"])
++ AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$HAVE_DOXYGEN" = "xyes"])
++ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "x$HAVE_ASCIIDOC" = "xyes"])
++fi
++
++AM_CONDITIONAL([GENERATE_DOC], [test "x$generate_doc" != "xno"])
++
+ AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
+ [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
+ [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 6f574dd..142dc31 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -79,20 +79,43 @@ EXTRA_DIST = \
+ images/icons/callouts/15.png
+
+ %.html: %.txt
++if LINK_DOC
+ ./resolve-asciidoc-refs.py $< > asciidoc.tmp
+ asciidoc $(ASCIIDOCOPTS) -o $@ asciidoc.tmp
+ ./doxygen-link.py libnl.dict $@ > asciidoc.tmp
+ mv asciidoc.tmp $@
++else
++ asciidoc $(ASCIIDOCOPTS) -o $@ $<
++endif
+
+ asciidoc: core.html route.html index.html
+
++link_doc:
++if LINK_DOC
++ ./gen-tags.sh | ./tags2dict.sh > libnl.dict
++else
++ @echo "Warning: Linking to API reference is disabled, check configure output"
++endif
++
+ api_ref:
+ doxygen Doxyfile;
+- ./gen-tags.sh | ./tags2dict.sh > libnl.dict
++ $(MAKE) link_doc
+
+ gendoc:
++if GENERATE_DOC
++if HAVE_DOXYGEN
+ $(MAKE) api_ref
++else
++ @echo "Warning: Building of API reference (doxygen) is disabled, check autoconf logs"
++endif
++if HAVE_ASCIIDOC
+ $(MAKE) asciidoc
++else
++ @echo "Warning: Building of asciidoc files is disabled, check autoconf logs"
++endif
++else
++ @echo "Warning: Building of documentation disabled by user or autoconf"
++endif
+
+ clean-local:
+ rm -f api/* libnl.dict *.html;
+diff --git a/doc/README b/doc/README
+index f4d1211..0c230a2 100644
+--- a/doc/README
++++ b/doc/README
+@@ -1,6 +1,10 @@
+ Requirements to build documentation
+
+ mscgen
+-asciidoc 8.6.5
++ http://www.mcternan.me.uk/mscgen/
++
+ mscgen-filter-1.2
++ http://code.google.com/p/asciidoc-mscgen-filter/
++
++asciidoc 8.6.x
+ doxygen
+diff --git a/m4/ax_python.m4 b/m4/ax_python.m4
+new file mode 100644
+index 0000000..1bc9d8a
+--- /dev/null
++++ b/m4/ax_python.m4
+@@ -0,0 +1,97 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_python.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_PYTHON
++#
++# DESCRIPTION
++#
++# This macro does a complete Python development environment check.
++#
++# It recurses through several python versions (from 2.1 to 2.6 in this
++# version), looking for an executable. When it finds an executable, it
++# looks to find the header files and library.
++#
++# It sets PYTHON_BIN to the name of the python executable,
++# PYTHON_INCLUDE_DIR to the directory holding the header files, and
++# PYTHON_LIB to the name of the Python library.
++#
++# This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG),
++# PYTHON_INCLUDE_DIR and PYTHON_LIB.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Michael Tindal
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 2 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 9
++
++AC_DEFUN([AX_PYTHON],
++[AC_MSG_CHECKING(for python build information)
++AC_MSG_RESULT([])
++for python in python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python; do
++AC_CHECK_PROGS(PYTHON_BIN, [$python])
++ax_python_bin=$PYTHON_BIN
++if test x$ax_python_bin != x; then
++ AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
++ AC_CHECK_HEADER([$ax_python_bin/Python.h],
++ [[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]],
++ ax_python_header=no)
++ if test $ax_python_lib != no; then
++ if test $ax_python_header != no; then
++ break;
++ fi
++ fi
++fi
++done
++if test x$ax_python_bin = x; then
++ ax_python_bin=no
++fi
++if test x$ax_python_header = x; then
++ ax_python_header=no
++fi
++if test x$ax_python_lib = x; then
++ ax_python_lib=no
++fi
++
++AC_MSG_RESULT([ results of the Python check:])
++AC_MSG_RESULT([ Binary: $ax_python_bin])
++AC_MSG_RESULT([ Library: $ax_python_lib])
++AC_MSG_RESULT([ Include Dir: $ax_python_header])
++
++if test x$ax_python_header != xno; then
++ PYTHON_INCLUDE_DIR=$ax_python_header
++ AC_SUBST(PYTHON_INCLUDE_DIR)
++fi
++if test x$ax_python_lib != xno; then
++ PYTHON_LIB=$ax_python_lib
++ AC_SUBST(PYTHON_LIB)
++fi
++])dnl
+--
+1.7.6.5
+
================================================================
Index: packages/libnl/libnl.git-2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb.patch
diff -u /dev/null packages/libnl/libnl.git-2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb.patch:1.1
--- /dev/null Tue May 22 12:46:22 2012
+++ packages/libnl/libnl.git-2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb.patch Tue May 22 12:46:17 2012
@@ -0,0 +1,610 @@
+From 2fbab02ba8c7b0a418c9d89c2c6db89dd4efd0eb Mon Sep 17 00:00:00 2001
+From: Thomas Graf <tgraf at redhat.com>
+Date: Wed, 9 May 2012 15:02:40 +0200
+Subject: [PATCH] doc: add section about addressing
+
+Adds a new section to netlink fundamentals explaining the common
+addressing use cases and illustrates kernel->user, user->user,
+and user->kernel communication.
+---
+ doc/core.txt | 189 +++++++++++++++++++++++++++++++++++---------
+ doc/images/addressing.png | Bin 0 -> 13682 bytes
+ 2 files changed, 150 insertions(+), 39 deletions(-)
+ create mode 100644 doc/images/addressing.png
+
+diff --git a/doc/core.txt b/doc/core.txt
+index 19ebf70..7f26e05 100644
+--- a/doc/core.txt
++++ b/doc/core.txt
+@@ -7,7 +7,7 @@
+ Netlink Library (libnl)
+ =======================
+ Thomas Graf <tgraf at suug.ch>
+-3.2, Sep 13 2011:
++3.2, May 9 2011:
+ :numbered:
+
+ == Introduction
+@@ -59,32 +59,47 @@ The low level APIs are described in:
+
+ === Linking to this Library
+
+-.Checking the presence using autoconf
++.Checking the presence of the library using autoconf
+
+ Projects using autoconf may use +PKG_CHECK_MODULES()+ to check if
+ a specific version of libnl is available on the system. The example
+ below also shows how to retrieve the +CFLAGS+ and linking dependencies
+ required to link against the library.
+
++The following example shows how to check for a specific version of libnl. If
++found, it extends the `CFLAGS` and `LIBS` variable appropriately:
++
+ [source]
+ ----
+ PKG_CHECK_MODULES(LIBNL3, libnl-3.0 >= 3.1, [have_libnl3=yes], [have_libnl3=no])
+ if (test "${have_libnl3}" = "yes"); then
+- CFLAGS="$LIBNL3_CFLAGS"
+- LIBS="$LIBNL3_LIBS"
++ CFLAGS+="$LIBNL3_CFLAGS"
++ LIBS+="$LIBNL3_LIBS"
+ fi
+ ----
+
+ NOTE: The pkgconfig file is named +libnl-3.0.pc+ for historic reasons, it also
+ covers library versions >= 3.1.
+
+-.Main Header
++.Header Files
++
++The main header file is `<netlink/netlink.h>`. Additional headers may need to
++be included in your sources depending on the subsystems and components your
++program makes use of.
++
++[source,c]
++-----
++#include <netlink/netlink.h>
++#include <netlink/cache.h>
++#include <netlink/route/link.h>
++-----
++
++.Version Dependent Code
+
+-The main header is `<netlink/netlink.h>`. Additional headers need to
+-be included in your sources depending on the subsystems your program
+-makes use of.
++If your code wishes to be capable to link against multiple versions of libnl
++you may have direct the compiler to only include portions on the code depending
++on the version of libnl that it is compiled against.
+
+-.Version Checking
+ [source,c]
+ -----
+ #include <netlink/version.h>
+@@ -94,7 +109,7 @@ makes use of.
+ #endif
+ -----
+
+-.Linking to libnl
++.Linking
+ -----
+ $ gcc myprogram.c -o myprogram $(pkgconfig --cflags --libs libnl-3.0)
+ -----
+@@ -120,13 +135,12 @@ $ NLDBG=2 ./myprogram
+ | 4 | Even less important messages
+ |===============================================================
+
+-.Debugging Netlink Messages
++.Debugging the Netlink Protocol
+
+-Often it is useful to peek into the stream of netlink messages
+-exchanged with other sockets. Setting the environment variable
+-+NLCB=debug+ will cause the debugging message handlers to be used
+-causing the netlink messages exchanged to be printed to +stderr+ in a
+-human readable format:
++It is often useful to peek into the stream of netlink messages exchanged
++with other sockets. Setting the environment variable +NLCB=debug+ will
++cause the debugging message handlers to be used which in turn print the
++netlink messages exchanged in a human readable format to to +stderr+:
+
+ -----
+ $ NLCB=debug ./myprogram
+@@ -180,6 +194,92 @@ protocol uses its own protocol number (e.g. +NETLINK_ROUTE+,
+ port number, formerly referred to as PID, which uniquely identifies
+ each peer.
+
++[[core_addressing]]
++=== Addressing
++
++The netlink address (port) consists of a 32bit integer. Port 0 (zero)
++is reserved for the kernel and refers to the kernel side socket of each
++netlink protocol family. Other port numbers usually refer to user space
++owned sockets, although this is not enforced.
++
++NOTE: In the beginning, it was common practice to use the process
++ identifier (PID) as the local port number. This became unpractical
++ with the introduction of threaded netlink applications and
++ applications requiring multiple sockets. Therefore libnl generates
++ unique port numbers based on the process identifier and adds an
++ offset to it allowing for multiple sockets to be used. The initial
++ socket will still equal to the process identifier for backwards
++ compatibility reasons.
++
++image:addressing.png["Addressing Example"]
++
++The above figure illustrates three applications and the kernel side
++exposing two kernel side sockets. It shows the common netlink use
++cases:
++
++ * User space to kernel
++ * User space to user space
++ * Listening to kernel multicast notifications
++
++.User Space to Kernel
++
++The most common form of netlink usage is for a user space application
++to send requests to the kernel and process the reply which is either
++an error message or a success notification.
++
++["mscgen"]
++--------
++msc {
++ App1,App2,Kernel;
++ App1=>Kernel [label="request (src=11, dst=0)"];
++ Kernel<=App1 [label="reply (src=0, dst=11)"];
++ ...;
++ App2=>Kernel [label="request (src=21, dst=0)"];
++ Kernel<=App2 [label="reply (src=0, dst=21)"];
++}
++--------
++
++.User Space to User Space
++
++Netlink may also be used as an IPC mechanism to communicate between user
++space applications directly. Communication is not limited to two peers,
++any number of peers may communicate with each other and multicasting
++capabilities allow to reach multiple peers with a single message.
++
++In order for the sockets to be visible to each other, both sockets must
++be created for the same netlink protocol family.
++
++["mscgen"]
++--------
++msc {
++ App2,App3;
++ App2=>App3 [label="request (src=22, dst=31)"];
++ App2<=App3 [label="reply (src=31, dst=22)"];
++ ...;
++}
++--------
++
++.User space listening to kernel notifications
++
++This form of netlink communication is typically found in user space
++daemons that need to act on certain kernel events. Such daemons will
++typically maintain a netlink socket subscribed to a multicast group that
++is used by the kernel to notify interested user space parties about
++specific events.
++
++["mscgen"]
++--------
++msc {
++ Kernel,App3;
++ Kernel=>App3 [label="notification (src=0, group=foo)"];
++ ...;
++}
++--------
++
++Use of multicasting is preferred over direct addressing due to the
++flexibility in exchanging the user space component at any time without
++the kernel noticing.
++
+ [[core_msg_format]]
+ === Message Format
+
+@@ -395,7 +495,7 @@ The following standard flags are defined
+ #define NLM_F_ECHO 8
+ --------
+
+-- `NLM_F_REQUEST` - Message is a request, see <<core_msg_type>>.
++- `NLM_F_REQUEST` - Message is a request, see <<core_msg_types>>.
+ - `NLM_F_MULTI` - Multipart message, see <<core_multipart>>
+ - `NLM_F_ACK` - ACK message requested, see <<core_msg_ack>>.
+ - `NLM_F_ECHO` - Request to echo the request.
+@@ -447,13 +547,14 @@ flags are mutually exclusive to the `GET` flags:
+ Behaviour of these flags may differ slightly between different netlink
+ protocols.
+
++[[core_seq_num]]
+ === Sequence Numbers
+
+ Netlink allows the use of sequence numbers to help relate replies to
+ requests. It should be noted that unlike in protocols such as TCP
+ there is no strict enforcment of the sequence number. The sole purpose
+ of sequence numbers is to assist a sender in relating replies to the
+-corresponding requests. See <<core_msg_type>> for more information.
++corresponding requests. See <<core_msg_types>> for more information.
+
+ Sequence numbers are managed on a per socket basis, see
+ <<core_sk_seq_num>> for more information on how to use sequence numbers.
+@@ -469,16 +570,15 @@ See <<core_sk_multicast>>
+ == Netlink Sockets
+
+ In order to use the netlink protocol, a netlink socket is required.
+-Each socket defines a completely independent context for sending and
+-receiving of messages. An application may use multiple sockets for the
+-same netlink protocol, e.g. one socket to send requests and receive
+-replies and another socket subscribed to a multicast group to receive
+-notifications.
++Each socket defines an independent context for sending and receiving of
++messages. An application may make use multiple sockets, e.g. a socket to
++send requests and receive the replies and another socket subscribed to a
++multicast group to receive notifications.
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/packages/libnl/libnl.spec?r1=1.44&r2=1.45
More information about the pld-cvs-commit
mailing list