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