* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
@ 2016-01-11 12:45 Jonathan Ben-Avraham
2016-01-12 22:10 ` Arnout Vandecappelle
0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Ben-Avraham @ 2016-01-11 12:45 UTC (permalink / raw)
To: buildroot
From: Jonathan Ben Avraham <yba@tkos.co.il>
This patch adds the ypbind-mt package that contains a multithreaded
ypbind daemon for Linux. It uses threads for better response and
supports the ypbind protocols version 1, 2 and 3. ypbind finds the
server for a given NIS domain and stores information about it in a
binding file on the local host.
---
This patch is a complete rework of the previous patches submitted by
the author for the ypbind-mt package in December 2015. The main
difference between this version and the previous version is the
dependency on a glibc toolchain and the Kconfig comment to this effect.
Performed menuconfig UI testing and build testing for absolute minimal
configurations using the following toolchains:
- br-arm-basic-2015.11-rc1
- br-arm-full-2015.11-rc1
- br-arm-cortex-a9-musl-2015.11-rc1
- br-arm11-full-nothread-2015.11-rc1
- br-arm-full-static-2015.11-rc1
- ia32-2012.09-62-i686-pc-linux-gnu-i386-linux
- crosstool-ng GCC 5.1 arm-mxs-linux-gnueabihf
---
Signed-off-by: Jonathan Ben Avraham <yba@tkos.co.il>
---
package/Config.in | 2 +-
.../ypbind-mt/0001-Remove_man_dir_from_build.patch | 16 ++++
package/ypbind-mt/Config.in | 17 ++++
package/ypbind-mt/S70ypbind | 99 ++++++++++++++++++++
package/ypbind-mt/ypbind-mt.mk | 21 +++++
5 files changed, 154 insertions(+), 1 deletion(-)
create mode 100644 package/ypbind-mt/0001-Remove_man_dir_from_build.patch
create mode 100644 package/ypbind-mt/Config.in
create mode 100755 package/ypbind-mt/S70ypbind
create mode 100644 package/ypbind-mt/ypbind-mt.mk
diff --git a/package/Config.in b/package/Config.in
index f3b4812..b226518 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1476,7 +1476,7 @@ endif
source "package/xinetd/Config.in"
source "package/xl2tp/Config.in"
source "package/xtables-addons/Config.in"
+ source "package/ypbind-mt/Config.in"
source "package/znc/Config.in"
endmenu
diff --git a/package/ypbind-mt/0001-Remove_man_dir_from_build.patch b/package/ypbind-mt/0001-Remove_man_dir_from_build.patch
new file mode 100644
index 0000000..10ebed7
--- /dev/null
+++ b/package/ypbind-mt/0001-Remove_man_dir_from_build.patch
@@ -0,0 +1,16 @@
+Remove the man directory from the build in order to avoid trying to build the
+commented targets ypbind.8 and ypconf.5
+
+Signed-off-by: Jonathan Ben Avraham <yba@tkos.co.il>
+
+--- a/Makefile.am 2014-12-04 16:27:18.000000000 +0200
++++ b/Makefile.am 2015-12-16 15:00:21.950050679 +0200
+@@ -5,7 +5,7 @@
+ #
+ AUTOMAKE_OPTIONS = 1.6 gnits dist-bzip2
+ #
+-SUBDIRS = lib src man po
++SUBDIRS = lib src po
+
+ CLEANFILES = *~
+
diff --git a/package/ypbind-mt/Config.in b/package/ypbind-mt/Config.in
new file mode 100644
index 0000000..812134d
--- /dev/null
+++ b/package/ypbind-mt/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_YPBIND_MT
+ bool "ypbind-mt"
+ depends on BR2_TOOLCHAIN_USES_GLIBC # rpcsvc/nis.h
+ select BR2_PACKAGE_YP_TOOLS
+ select BR2_PACKAGE_RPCBIND # runtime
+ help
+ The ypbind-mt package contains a multithreaded ypbind daemon
+ for Linux. It uses threads for better response and supports
+ the ypbind protocols version 1, 2 and 3.
+
+ Note: You need to select package "linux-pam" for NIS
+ authentication.
+
+ https://github.com/thkukuk/ypbind-mt
+
+comment "ypbind-mt needs an (e)glibc toolchain with rpcsvc/nis.h"
+ depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL
diff --git a/package/ypbind-mt/S70ypbind b/package/ypbind-mt/S70ypbind
new file mode 100755
index 0000000..08df322
--- /dev/null
+++ b/package/ypbind-mt/S70ypbind
@@ -0,0 +1,99 @@
+#! /bin/sh
+# Copyright (c) 2004 Author: Thorsten Kukuk <kukuk@suse.de>
+#
+# /etc/init.d/ypbind
+#
+# and symbolic its link
+#
+# /usr/sbin/rcypbind
+#
+# System startup script for the ypbind daemon
+#
+### BEGIN INIT INFO
+# Provides: ypbind
+# Required-Start: $remote_fs $portmap
+# Should-Start: ypserv slpd
+# Required-Stop: portmap
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Start ypbind (necessary for a NIS client)
+# Description: ypbind finds the server for NIS domains and maintains
+# the NIS binding information.
+### END INIT INFO
+
+YPBIND_BIN=/usr/sbin/ypbind
+pidfile=/var/run/ypbind.pid
+
+[ -f /etc/default/ypbind ] && . /etc/default/ypbind
+
+case "$1" in
+ start)
+ echo -n "Starting ypbind"
+ ## If the domainname is not set, skip starting of ypbind
+ ## and return with "program not configured"
+ /usr/bin/ypdomainname &> /dev/null
+ if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then
+ if [ -f /etc/defaultdomain ]; then
+ XDOMAINNAME=`cat /etc/defaultdomain`
+ /usr/bin/ypdomainname "$XDOMAINNAME"
+ fi
+ /usr/bin/ypdomainname &> /dev/null
+ if [ $? -ne 0 -o -z "`/usr/bin/ypdomainname 2>/dev/null`" ]; then
+ # Tell the user this has skipped
+ echo -n " . . . . . . . . . . No domainname set"
+ # service is not configured
+ exit 1
+ fi
+ fi
+
+ ## If we don't have a /etc/yp.conf file, skip starting of
+ ## ypbind and return with "program not configured"
+ ## if you add the -broadcast Option later, comment this out.
+ if [ ! -f /etc/yp.conf -a "$YPBIND_BROADCAST" != "yes" ] ; then
+ # Tell the user this has skipped
+ echo -n " . . . . . . . . . . ${attn}/etc/yp.conf not found${norm}"
+ # service is not configured
+ exit 1
+ fi
+
+ # evaluate the OPTIONS for ypbind-mt
+ OPTIONS=""
+ test "$YPBIND_LOCAL_ONLY" = "yes" && OPTIONS="-local-only $OPTIONS"
+ test "$YPBIND_BROADCAST" = "yes" && OPTIONS="-broadcast $OPTIONS"
+ test "$YPBIND_BROKEN_SERVER" = "yes" && OPTIONS="-broken-server $OPTIONS"
+
+ start-stop-daemon --start --quiet --pidfile $pidfile --exec $YPBIND_BIN -- $YPBIND_OPTIONS $OPTIONS
+ if [ $? -eq 0 ]; then
+ notfound=1
+ for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
+ ypwhich &>/dev/null && { notfound=0 ; break; };
+ echo -n " ."
+ sleep 1;
+ done
+ if [ $notfound -eq 1 ]; then
+ echo -n " ${warn}No NIS server found${norm}";
+ fi
+ else
+ exit 1
+ fi
+ ;;
+ stop)
+ echo -n "Shutting down ypbind"
+ start-stop-daemon --stop --quiet --pidfile $pidfile
+ # Remove static data, else glibc will continue to use NIS
+ rm -f /var/yp/binding/* /var/run/ypbind.pid
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ reload | force-reload)
+ echo -n "Reload service ypbind"
+ start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
+ exit 1
+ ;;
+esac
diff --git a/package/ypbind-mt/ypbind-mt.mk b/package/ypbind-mt/ypbind-mt.mk
new file mode 100644
index 0000000..e817a9f
--- /dev/null
+++ b/package/ypbind-mt/ypbind-mt.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# ypbind-mt
+#
+################################################################################
+
+YPBIND_MT_VERSION = ypbind-mt-2_2
+YPBIND_MT_SITE = $(call github,thkukuk,ypbind-mt,$(YPBIND_MT_VERSION))
+YPBIND_MT_LICENSE = GPLv2
+YPBIND_MT_LICENSE_FILES = COPYING
+YPBIND_MT_AUTORECONF = YES
+YPBIND_MT_DEPENDENCIES = host-pkgconf libtirpc yp-tools
+YPBIND_MT_CONF_ENV = \
+ PKG_CONFIG_SYSROOT_DIR="$(TARGET_DIR)" \
+ PKG_CONFIG_PATH="$(TARGET_DIR)/usr/lib/pkgconfig"
+
+define YPBIND_MT_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 755 package/ypbind-mt/S70ypbind $(TARGET_DIR)/etc/init.d/S70ypbind
+endef
+
+$(eval $(autotools-package))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
2016-01-11 12:45 [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package Jonathan Ben-Avraham
@ 2016-01-12 22:10 ` Arnout Vandecappelle
2016-01-13 6:31 ` Jonathan Ben Avraham
2016-01-13 7:43 ` Jonathan Ben Avraham
0 siblings, 2 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2016-01-12 22:10 UTC (permalink / raw)
To: buildroot
Hi Jonathan,
On 11-01-16 13:45, Jonathan Ben-Avraham wrote:
> From: Jonathan Ben Avraham <yba@tkos.co.il>
>
> This patch adds the ypbind-mt package that contains a multithreaded
> ypbind daemon for Linux. It uses threads for better response and
> supports the ypbind protocols version 1, 2 and 3. ypbind finds the
> server for a given NIS domain and stores information about it in a
> binding file on the local host.
>
You Sob should go here, before the ---
> ---
> This patch is a complete rework of the previous patches submitted by
> the author for the ypbind-mt package in December 2015. The main
> difference between this version and the previous version is the
> dependency on a glibc toolchain and the Kconfig comment to this effect.
>
> Performed menuconfig UI testing and build testing for absolute minimal
> configurations using the following toolchains:
>
> - br-arm-basic-2015.11-rc1
> - br-arm-full-2015.11-rc1
> - br-arm-cortex-a9-musl-2015.11-rc1
> - br-arm11-full-nothread-2015.11-rc1
> - br-arm-full-static-2015.11-rc1
> - ia32-2012.09-62-i686-pc-linux-gnu-i386-linux
> - crosstool-ng GCC 5.1 arm-mxs-linux-gnueabihf
> ---
>
> Signed-off-by: Jonathan Ben Avraham <yba@tkos.co.il>
> ---
> package/Config.in | 2 +-
> .../ypbind-mt/0001-Remove_man_dir_from_build.patch | 16 ++++
> package/ypbind-mt/Config.in | 17 ++++
> package/ypbind-mt/S70ypbind | 99 ++++++++++++++++++++
> package/ypbind-mt/ypbind-mt.mk | 21 +++++
> 5 files changed, 154 insertions(+), 1 deletion(-)
> create mode 100644 package/ypbind-mt/0001-Remove_man_dir_from_build.patch
> create mode 100644 package/ypbind-mt/Config.in
> create mode 100755 package/ypbind-mt/S70ypbind
> create mode 100644 package/ypbind-mt/ypbind-mt.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index f3b4812..b226518 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1476,7 +1476,7 @@ endif
There's something funky about this patch fragment (i.e. it's wrong). Did you
manually edit it?
> source "package/xinetd/Config.in"
> source "package/xl2tp/Config.in"
> source "package/xtables-addons/Config.in"
> + source "package/ypbind-mt/Config.in"
This conflicts with your own yp-tools submission from a few hours before. You
should put these patches in a single series to avoid that kind of problem.
> source "package/znc/Config.in"
>
> endmenu
>
> diff --git a/package/ypbind-mt/0001-Remove_man_dir_from_build.patch b/package/ypbind-mt/0001-Remove_man_dir_from_build.patch
> new file mode 100644
> index 0000000..10ebed7
> --- /dev/null
> +++ b/package/ypbind-mt/0001-Remove_man_dir_from_build.patch
> @@ -0,0 +1,16 @@
> +Remove the man directory from the build in order to avoid trying to build the
> +commented targets ypbind.8 and ypconf.5
> +
> +Signed-off-by: Jonathan Ben Avraham <yba@tkos.co.il>
> +
> +--- a/Makefile.am 2014-12-04 16:27:18.000000000 +0200
> ++++ b/Makefile.am 2015-12-16 15:00:21.950050679 +0200
> +@@ -5,7 +5,7 @@
> + #
> + AUTOMAKE_OPTIONS = 1.6 gnits dist-bzip2
> + #
> +-SUBDIRS = lib src man po
> ++SUBDIRS = lib src po
> +
> + CLEANFILES = *~
> +
> diff --git a/package/ypbind-mt/Config.in b/package/ypbind-mt/Config.in
> new file mode 100644
> index 0000000..812134d
> --- /dev/null
> +++ b/package/ypbind-mt/Config.in
> @@ -0,0 +1,17 @@
> +config BR2_PACKAGE_YPBIND_MT
> + bool "ypbind-mt"
> + depends on BR2_TOOLCHAIN_USES_GLIBC # rpcsvc/nis.h
> + select BR2_PACKAGE_YP_TOOLS
In this case it should _definitely_ be in a single series with yp-tools.
> + select BR2_PACKAGE_RPCBIND # runtime
> + help
> + The ypbind-mt package contains a multithreaded ypbind daemon
> + for Linux. It uses threads for better response and supports
> + the ypbind protocols version 1, 2 and 3.
> +
> + Note: You need to select package "linux-pam" for NIS
> + authentication.
> +
> + https://github.com/thkukuk/ypbind-mt
Isn't this a better URL?
http://www.linux-nis.org/nis/ypbind-mt/
> +
> +comment "ypbind-mt needs an (e)glibc toolchain with rpcsvc/nis.h"
> + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL
This should be exactly the same condition as the one in the main package
symbol, i.e. !BR2_TOOLCHAIN_USES_GLIBC. That's needed to avoid problems when/if
we add another libc implementation in the future.
> diff --git a/package/ypbind-mt/S70ypbind b/package/ypbind-mt/S70ypbind
> new file mode 100755
> index 0000000..08df322
> --- /dev/null
> +++ b/package/ypbind-mt/S70ypbind
> @@ -0,0 +1,99 @@
> +#! /bin/sh
> +# Copyright (c) 2004 Author: Thorsten Kukuk <kukuk@suse.de>
> +#
> +# /etc/init.d/ypbind
> +#
> +# and symbolic its link
> +#
> +# /usr/sbin/rcypbind
> +#
> +# System startup script for the ypbind daemon
We tend to prefer either an init script that is distributed with the package,
or a buildroot-specific init script. The latter should be a lot simpler, see for
instance package/inadyn/S70inadyn.
> +#
> +### BEGIN INIT INFO
> +# Provides: ypbind
> +# Required-Start: $remote_fs $portmap
> +# Should-Start: ypserv slpd
> +# Required-Stop: portmap
> +# Default-Start: 3 5
> +# Default-Stop: 0 1 2 6
> +# Short-Description: Start ypbind (necessary for a NIS client)
> +# Description: ypbind finds the server for NIS domains and maintains
> +# the NIS binding information.
> +### END INIT INFO
> +
> +YPBIND_BIN=/usr/sbin/ypbind
> +pidfile=/var/run/ypbind.pid
> +
> +[ -f /etc/default/ypbind ] && . /etc/default/ypbind
> +
> +case "$1" in
> + start)
> + echo -n "Starting ypbind"
> + ## If the domainname is not set, skip starting of ypbind
> + ## and return with "program not configured"
> + /usr/bin/ypdomainname &> /dev/null
> + if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then
I guess ypdomainname is part of this package? Then it is either installed in
/bin or in /usr/bin, so the script should use just that.
> + if [ -f /etc/defaultdomain ]; then
> + XDOMAINNAME=`cat /etc/defaultdomain`
How standard is /etc/defaultdomain? Otherwise the default domain should just be
set in the /etc/default file.
> + /usr/bin/ypdomainname "$XDOMAINNAME"
> + fi
> + /usr/bin/ypdomainname &> /dev/null
> + if [ $? -ne 0 -o -z "`/usr/bin/ypdomainname 2>/dev/null`" ]; then
> + # Tell the user this has skipped
> + echo -n " . . . . . . . . . . No domainname set"
> + # service is not configured
> + exit 1
> + fi
> + fi
This entire logic (and the indentation) is too convoluted. Can't it be done
simpler?
> +
> + ## If we don't have a /etc/yp.conf file, skip starting of
> + ## ypbind and return with "program not configured"
> + ## if you add the -broadcast Option later, comment this out.
> + if [ ! -f /etc/yp.conf -a "$YPBIND_BROADCAST" != "yes" ] ; then
> + # Tell the user this has skipped
> + echo -n " . . . . . . . . . . ${attn}/etc/yp.conf not found${norm}"
We don't have ${attn} and ${norm}.
> + # service is not configured
> + exit 1
> + fi
> +
> + # evaluate the OPTIONS for ypbind-mt
> + OPTIONS=""
> + test "$YPBIND_LOCAL_ONLY" = "yes" && OPTIONS="-local-only $OPTIONS"
> + test "$YPBIND_BROADCAST" = "yes" && OPTIONS="-broadcast $OPTIONS"
> + test "$YPBIND_BROKEN_SERVER" = "yes" && OPTIONS="-broken-server $OPTIONS"
The /etc/default file should just contain the _YPBIND_OPTIONS variable.
> +
> + start-stop-daemon --start --quiet --pidfile $pidfile --exec $YPBIND_BIN -- $YPBIND_OPTIONS $OPTIONS
> + if [ $? -eq 0 ]; then
> + notfound=1
> + for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
> + ypwhich &>/dev/null && { notfound=0 ; break; };
> + echo -n " ."
> + sleep 1;
> + done
> + if [ $notfound -eq 1 ]; then
> + echo -n " ${warn}No NIS server found${norm}";
> + fi
> + else
> + exit 1
> + fi
> + ;;
> + stop)
> + echo -n "Shutting down ypbind"
> + start-stop-daemon --stop --quiet --pidfile $pidfile
> + # Remove static data, else glibc will continue to use NIS
> + rm -f /var/yp/binding/* /var/run/ypbind.pid
> + ;;
> + restart)
> + $0 stop
> + sleep 1
> + $0 start
To handle this, we generally define start() and stop() functions and call them
here.
> + ;;
> + reload | force-reload)
> + echo -n "Reload service ypbind"
> + start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile
> + ;;
> + *)
> + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
try-restart and probe are not defined.
> + exit 1
> + ;;
> +esac
> diff --git a/package/ypbind-mt/ypbind-mt.mk b/package/ypbind-mt/ypbind-mt.mk
> new file mode 100644
> index 0000000..e817a9f
> --- /dev/null
> +++ b/package/ypbind-mt/ypbind-mt.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# ypbind-mt
> +#
> +################################################################################
> +
> +YPBIND_MT_VERSION = ypbind-mt-2_2
> +YPBIND_MT_SITE = $(call github,thkukuk,ypbind-mt,$(YPBIND_MT_VERSION))
Anything wrong with the following URL?
http://www.linux-nis.org/download/ypbind/ypbind-mt-2.2.tar.bz2
> +YPBIND_MT_LICENSE = GPLv2
Verified that most files are indeed v2 only.
> +YPBIND_MT_LICENSE_FILES = COPYING
> +YPBIND_MT_AUTORECONF = YES
> +YPBIND_MT_DEPENDENCIES = host-pkgconf libtirpc yp-tools
libtirpc is not selected in Config.in. However, you typically only need it if
!BR2_TOOLCHAIN_HAS_NATIVE_RPC - cfr. libnfs for example.
> +YPBIND_MT_CONF_ENV = \
> + PKG_CONFIG_SYSROOT_DIR="$(TARGET_DIR)" \
> + PKG_CONFIG_PATH="$(TARGET_DIR)/usr/lib/pkgconfig"
This shouldn't be needed and is wrong. The .pc files are in $(STAGING_DIR), the
pkg-config wrapper scripts sets the paths correctly, and everything is passed
through TARGET_CONFIGURE_OPTS.
> +
> +define YPBIND_MT_INSTALL_INIT_SYSV
> + $(INSTALL) -D -m 755 package/ypbind-mt/S70ypbind $(TARGET_DIR)/etc/init.d/S70ypbind
Instead of package/ypbind-mt, use $(YPBIND_MT_PKGDIR).
Regards,
Arnout
> +endef
> +
> +$(eval $(autotools-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
2016-01-12 22:10 ` Arnout Vandecappelle
@ 2016-01-13 6:31 ` Jonathan Ben Avraham
2016-01-13 11:42 ` Thomas Petazzoni
2016-01-13 7:43 ` Jonathan Ben Avraham
1 sibling, 1 reply; 6+ messages in thread
From: Jonathan Ben Avraham @ 2016-01-13 6:31 UTC (permalink / raw)
To: buildroot
On Tue, 12 Jan 2016, Arnout Vandecappelle wrote:
> Date: Tue, 12 Jan 2016 23:10:13 +0100
> From: Arnout Vandecappelle <arnout@mind.be>
> To: Jonathan Ben-Avraham <yba@tkos.co.il>, buildroot at buildroot.org
> Subject: Re: [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
>
> Hi Jonathan,
>
> On 11-01-16 13:45, Jonathan Ben-Avraham wrote:
>> From: Jonathan Ben Avraham <yba@tkos.co.il>
>>
>> This patch adds the ypbind-mt package that contains a multithreaded
>> ypbind daemon for Linux. It uses threads for better response and
>> supports the ypbind protocols version 1, 2 and 3. ypbind finds the
>> server for a given NIS domain and stores information about it in a
>> binding file on the local host.
>>
>
> You Sob should go here, before the ---
Hi Arnout,
I do not understand this comment. Please provide further explanation.
>
>> ---
>> This patch is a complete rework of the previous patches submitted by
>> the author for the ypbind-mt package in December 2015. The main
>> difference between this version and the previous version is the
>> dependency on a glibc toolchain and the Kconfig comment to this effect.
[snip]
- yba
--
9590 8E58 D30D 1660 C349 673D B205 4FC4 B8F5 B7F9 ~. .~ Tk Open Systems
=}-------- Jonathan Ben-Avraham ("yba") ----------ooO--U--Ooo------------{=
mailto:yba at tkos.co.il tel:+972.52.486.3386 http://tkos.co.il skype:benavrhm
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
2016-01-12 22:10 ` Arnout Vandecappelle
2016-01-13 6:31 ` Jonathan Ben Avraham
@ 2016-01-13 7:43 ` Jonathan Ben Avraham
2016-01-13 11:45 ` Thomas Petazzoni
1 sibling, 1 reply; 6+ messages in thread
From: Jonathan Ben Avraham @ 2016-01-13 7:43 UTC (permalink / raw)
To: buildroot
On Tue, 12 Jan 2016, Arnout Vandecappelle wrote:
> Date: Tue, 12 Jan 2016 23:10:13 +0100
> From: Arnout Vandecappelle <arnout@mind.be>
> To: Jonathan Ben-Avraham <yba@tkos.co.il>, buildroot at buildroot.org
> Subject: Re: [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
>
> Hi Jonathan,
>
> On 11-01-16 13:45, Jonathan Ben-Avraham wrote:
>> From: Jonathan Ben Avraham <yba@tkos.co.il>
>>
>> This patch adds the ypbind-mt package that contains a multithreaded
>> ypbind daemon for Linux. It uses threads for better response and
>> supports the ypbind protocols version 1, 2 and 3. ypbind finds the
>> server for a given NIS domain and stores information about it in a
>> binding file on the local host.
[snip]
>> diff --git a/package/Config.in b/package/Config.in
>> index f3b4812..b226518 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1476,7 +1476,7 @@ endif
>
> There's something funky about this patch fragment (i.e. it's wrong). Did you
> manually edit it?
>
>> source "package/xinetd/Config.in"
>> source "package/xl2tp/Config.in"
>> source "package/xtables-addons/Config.in"
>> + source "package/ypbind-mt/Config.in"
>
> This conflicts with your own yp-tools submission from a few hours before. You
> should put these patches in a single series to avoid that kind of problem.
>
>> source "package/znc/Config.in"
>>
>> endmenu
[snip]
Hi Arnout,
TP explicitly asked to submit yp-tools and ypbind-mt in separate
submissions.
It is not clear to me how to submit a patch that depends on another
pending patch having been applied. The possibilities that I see are:
1. Patch against the current origin and ignore the fact that there is a
dependency on the yp-tools patch having been applied
2. Provide the same line added by the patch for yp-tools as part of this
patch. That is, the ypbind-mt patch would add two lines to
package/Config.in.
3. Provide a patch for ypbind-mt that assumes that the patch for yp-tools
has already been applied to the origin.
What is the correct decision?
- yba
--
9590 8E58 D30D 1660 C349 673D B205 4FC4 B8F5 B7F9 ~. .~ Tk Open Systems
=}-------- Jonathan Ben-Avraham ("yba") ----------ooO--U--Ooo------------{=
mailto:yba at tkos.co.il tel:+972.52.486.3386 http://tkos.co.il skype:benavrhm
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
2016-01-13 6:31 ` Jonathan Ben Avraham
@ 2016-01-13 11:42 ` Thomas Petazzoni
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2016-01-13 11:42 UTC (permalink / raw)
To: buildroot
Jonathan,
On Wed, 13 Jan 2016 08:31:43 +0200 (IST), Jonathan Ben Avraham wrote:
> >> This patch adds the ypbind-mt package that contains a multithreaded
> >> ypbind daemon for Linux. It uses threads for better response and
> >> supports the ypbind protocols version 1, 2 and 3. ypbind finds the
> >> server for a given NIS domain and stores information about it in a
> >> binding file on the local host.
> >>
> >
> > You Sob should go here, before the ---
>
> Hi Arnout,
> I do not understand this comment. Please provide further explanation.
A Git formatted patch looks like this:
=====================================================================
foo: some short description
Here is some longer description that explains what I'm doing, it spans
multiple lines.
And even multiple paragraphs.
Signed-off-by: John Doe <john.doe@acme.com>
---
This is the v2 of the patch, which compared to v1 has such and such
changes.
=====================================================================
When Git will apply this patch, it will discard everything that is
after the "---" line. So:
* We need the SoB line to be before the "---" sign, because we want
the SoB line to be preserved in the commit log.
* We want all informations that should be kept in the Git history
before the "---" line.
* We want all informations that should *NOT* be kept in the Git
history *after* the "---" line.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package
2016-01-13 7:43 ` Jonathan Ben Avraham
@ 2016-01-13 11:45 ` Thomas Petazzoni
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2016-01-13 11:45 UTC (permalink / raw)
To: buildroot
Dear Jonathan Ben Avraham,
On Wed, 13 Jan 2016 09:43:10 +0200 (IST), Jonathan Ben Avraham wrote:
> Hi Arnout,
> TP explicitly asked to submit yp-tools and ypbind-mt in separate
> submissions.
No, I said they should be separate *patches*.
You seem to do be aware of the concept of a patch series. See for
example
http://lists.busybox.net/pipermail/buildroot/2016-January/149238.html
and the following e-mails. It is a set of 29 *separate* patches, but
grouped together in a series so that we clearly understand that PATCH 2
needs PATCH 1, that PATCH 3 needs PATCH 2 and so on.
> It is not clear to me how to submit a patch that depends on another
> pending patch having been applied. The possibilities that I see are:
>
> 1. Patch against the current origin and ignore the fact that there is a
> dependency on the yp-tools patch having been applied
>
> 2. Provide the same line added by the patch for yp-tools as part of this
> patch. That is, the ypbind-mt patch would add two lines to
> package/Config.in.
>
> 3. Provide a patch for ypbind-mt that assumes that the patch for yp-tools
> has already been applied to the origin.
>
> What is the correct decision?
Send a patch series. To do so, make N commits in your Git branch. Then
do:
$ git format-patch --cover master
It will generate for you N+1 .patch files, the first one being the
cover letter for the series, the remaining ones being the patches
themselves, one per commit in your branch.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-13 11:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-11 12:45 [Buildroot] [PATCH 1/1 v3] ypbind-mt: new package Jonathan Ben-Avraham
2016-01-12 22:10 ` Arnout Vandecappelle
2016-01-13 6:31 ` Jonathan Ben Avraham
2016-01-13 11:42 ` Thomas Petazzoni
2016-01-13 7:43 ` Jonathan Ben Avraham
2016-01-13 11:45 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.