package/unscd: new package
v5 cover package/unscd: new package
systemd recipe/support is removed. systemd support is best left to someone versed in systemd who desires to use unscd with systemd.
The BR2_GLIBC_NSCD suggestion is incorporated. However, I'm not sure what the proper next steps are to properly install glibc nscd for both internal/external toolchains. Is it sufficient, for now, to just define BR2_GLIBC_NSCD?
Doug Kehn (2):
package/unscd: new package
toolchain/toolchain-common.in: install nscd
package/Config.in | 1 + package/unscd/Config.in | 11 ++++++++++ package/unscd/S46unscd | 24 ++++++++++++++++++++++ package/unscd/unscd.hash | 3 +++ package/unscd/unscd.mk | 47 +++++++++++++++++++++++++++++++++++++++++++ toolchain/toolchain-common.in | 4 ++++ 6 files changed, 90 insertions(+) create mode 100644 package/unscd/Config.in create mode 100644 package/unscd/S46unscd create mode 100644 package/unscd/unscd.hash create mode 100644 package/unscd/unscd.mk
--
Changes v4 -> v5
- Reincorporate $(APPLY_PATCHES) suggestion after update by Arnout.
Changes v3 -> v4
- Incorporate feedback/suggestions by Yann and Maxime.
Changes v2 -> v3
- Remove trailing '/' from UNSCD_SITE.
- Whitespace cleanup.
Changes v1 -> v2
- Incorporate feedback/suggestions by Yann (from nss-pam-ldapd patch).
Signature · 1 line
2.6.2
PATCH v5 1/2 package/unscd: new package
A daemon which handles passwd, group and host lookups for running programs and caches the results for the next query. You only need this package if you are using slow Name Services like LDAP, NIS or NIS+.
This particular NSCD is a complete rewrite of the GNU glibc nscd which is a single threaded server process which offloads all NSS lookups to worker children; cache hits are handled by the parent, and only cache misses start worker children, making the parent immune to resource leaks, hangs, and crashes in NSS libraries.
It should mostly be a drop-in replacement for existing installs using nscd.
--
Changes v4 -> v5
- Reincorporate $(APPLY_PATCHES) suggestion after update by Arnout.
Changes v3 -> v4
- Incorporate feedback/suggestions by Yann and Maxime.
Changes v2 -> v3
- Remove trailing '/' from UNSCD_SITE.
- Whitespace cleanup.
Changes v1 -> v2
- Incorporate feedback/suggestions by Yann (from nss-pam-ldapd patch).
--- package/Config.in | 1 + package/unscd/Config.in | 11 +++++++++++ package/unscd/S46unscd | 24 ++++++++++++++++++++++++ package/unscd/unscd.hash | 3 +++ package/unscd/unscd.mk | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 86 insertions(+) create mode 100644 package/unscd/Config.in create mode 100644 package/unscd/S46unscd create mode 100644 package/unscd/unscd.hash create mode 100644 package/unscd/unscd.mk
package/Config.in +1 -0
@@ -1534,6 +1534,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/sysvinit/Config.in" source "package/tar/Config.in" endif + source "package/unscd/Config.in" source "package/util-linux/Config.in" endmenu
package/unscd/Config.in new file +11 -0
@@ -0,0 +1,11 @@ +config BR2_PACKAGE_UNSCD + bool "unscd" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_GLIBC_NSCD + help + Micro Name Service Caching Daemon + + https://packages.debian.org/unscd + +comment "unscd needs an (e)glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC
package/unscd/S46unscd new file +24 -0
@@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="nscd" +DAEMON="/usr/sbin/${NAME}" + +case "$1" in +start) + printf "Starting ${NAME}: " + start-stop-daemon -S -x ${DAEMON} + [ $? -eq 0 ] && echo "OK" || echo "FAIL" + ;; +stop) + printf "Stopping ${NAME}: " + start-stop-daemon -K -x ${DAEMON} + [ $? -eq 0 ] && echo "OK" || echo "FAIL" + ;; +restart|reload) + $0 stop + $0 start + ;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac
package/unscd/unscd.hash new file +3 -0
@@ -0,0 +1,3 @@ +# From http://snapshot.debian.org/archive/debian/20150519T094547Z/pool/main/u/unscd/unscd_0.51-1.dsc +sha256 0dbf717726e1c29af8f4ef7d2d2695e5eedb342320a730a56ae0d56fe32891f8 unscd_0.51.orig.tar.gz +sha256 8ae16a826afd464639f6c6372fabafee5b93aea9645b3fbf23970296d4961f27 unscd_0.51-1.debian.tar.gz
package/unscd/unscd.mk new file +47 -0
47 lines not on this page · raw message
Signature · 1 line
2.6.2
PATCH v5 1/2 package/unscd: new package
Dear Doug Kehn,
package/unscd/Config.in line 4
Quoted 10 lines · Doug Kehn
package/unscd/Config.in new file +4
-0@@ -0,0 +1,11 @@ +config BR2_PACKAGE_UNSCD + bool "unscd" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_GLIBC_NSCD
I think you should leave this BR2_GLIBC_NSCD thing on the side for now. Just make unscd a normal package, and don't worry about nscd coming from glibc: there is anyway no mechanism in Buildroot today to install the nscd coming from the toolchain.
package/unscd/Config.in line 11
Quoted 7 lines
package/unscd/Config.in new file +7
-0+UNSCD_POST_EXTRACT_HOOKS += UNSCD_EXTRACT_DEBIAN + +define UNSCD_APPLY_DEBIAN_PATCHES + $(APPLY_PATCHES) $(@D) $(@D)/debian/patches +endef + +UNSCD_POST_PATCH_HOOKS += UNSCD_APPLY_DEBIAN_PATCHES
This doesn't work because the patches don't end with an extension that is recognized by our apply-patch script. So all what you see is:
Quoted 1 line
Quoted 1 line
Quoted 1 line
unscd 0.51 Patching
support/scripts/apply-patches.sh /home/thomas/projets/buildroot/output/build/unscd-0.51 /home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches Unsupported file type for /home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/change_invalidate_request_info_output, skipping Unsupported file type for /home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/support_large_numbers_in_config, skipping
which makes the entire dance around applying the Debian patches useless.
Unfortunately, fixing this requires fixing our apply-patches script. Generally speaking, I am not super happy with all the logic we need to add in various packages to get them to apply the Debian patches. But Debian packages vary quite a bit in the way the patches are organized, so I don't know if it's doable to fix.
BTW any reason to not use the upstream version, at
http://busybox.net/~vda/unscd/nscd-0.52.c, which is higher than 0.51 ?
Can you look into this patching issue (or alternatively use 0.52 with no patches) and send an updated version ?
Thanks !
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 1/2 package/unscd: new package
Quoted 31 lines · Thomas Petazzoni
Dear Doug Kehn,
package/unscd/Config.in line 4
Quoted 10 lines · Doug Kehn
package/unscd/Config.in new file +4
-0@@ -0,0 +1,11 @@ +config BR2_PACKAGE_UNSCD + bool "unscd" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_GLIBC_NSCDI think you should leave this
BR2_GLIBC_NSCDthing on the side for now. Just make unscd a normal package, and don't worry about nscd coming from glibc: there is anyway no mechanism in Buildroot today to install the nscd coming from the toolchain.package/unscd/Config.in line 11
Quoted 7 lines
package/unscd/Config.in new file +7
-0+UNSCD_POST_EXTRACT_HOOKS += UNSCD_EXTRACT_DEBIAN + +define UNSCD_APPLY_DEBIAN_PATCHES + $(APPLY_PATCHES) $(@D) $(@D)/debian/patches +endef + +UNSCD_POST_PATCH_HOOKS += UNSCD_APPLY_DEBIAN_PATCHESThis doesn't work because the patches don't end with an extension that is recognized by our apply-patch script. So all what you see is:
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
unscd 0.51 Patching
support/scripts/apply-patches.sh/home/thomas/projets/buildroot/output/build/unscd-0.51/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patchesUnsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/change_invalidate_request_info_output, skipping Unsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/support_large_numbers_in_config, skipping
Uh, that shouldn't happen, since 7caf464 everything in the series file should
be applied regardless of name...
Quoted 4 lines
which makes the entire dance around applying the Debian patches useless.
Unfortunately, fixing this requires fixing our apply-patches script.
Which I did :-)
Regards,
Arnout
Quoted 15 lines
Generally speaking, I am not super happy with all the logic we need to add in various packages to get them to apply the Debian patches. But Debian packages vary quite a bit in the way the patches are organized, so I don't know if it's doable to fix.
BTW any reason to not use the upstream version, at
http://busybox.net/~vda/unscd/nscd-0.52.c, which is higher than 0.51 ?Can you look into this patching issue (or alternatively use 0.52 with no patches) and send an updated version ?
Thanks !
Thomas
Signature · 6 lines
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
PATCH v5 1/2 package/unscd: new package
Arnout,
Quoted 7 lines · Arnout Vandecappelle
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
unscd 0.51 Patching
support/scripts/apply-patches.sh/home/thomas/projets/buildroot/output/build/unscd-0.51/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patchesUnsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/change_invalidate_request_info_output, skipping Unsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/support_large_numbers_in_config, skippingUh, that shouldn't happen, since 7caf464 everything in the series file should
be applied regardless of name...
I tested on top of next, so it should have worked... but it did not. I didn't check if the patches were actually applied, but it is clear that this message was displayed, since I copy/pasted from my terminal.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 1/2 package/unscd: new package
Quoted 9 lines · Thomas Petazzoni
Arnout,
Quoted 5 lines · Arnout Vandecappelle
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
unscd 0.51 Patching
support/scripts/apply-patches.sh/home/thomas/projets/buildroot/output/build/unscd-0.51/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patchesUnsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/change_invalidate_request_info_output, skipping Unsupported file type for/home/thomas/projets/buildroot/output/build/unscd-0.51/debian/patches/support_large_numbers_in_config, skipping
Quoted 6 lines
Quoted 2 lines
Uh, that shouldn't happen, since 7caf464 everything in the series file should
be applied regardless of name...I tested on top of next, so it should have worked... but it did not. I didn't check if the patches were actually applied, but it is clear that this message was displayed, since I copy/pasted from my terminal.
7caf464 was applied to master only, and there has been no merge from master to
next. So that explains it.
next will be gone soon so don't worry ;-)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . 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
PATCH v5 1/2 package/unscd: new package
Hello,
Quoted 2 lines · Arnout Vandecappelle
7caf464 was applied to master only, and there has been no merge from master to
next. So that explains it.
Ah damn, ok.
Quoted 1 line
next will be gone soon so don't worry ;-)
Indeed.
Doug: can you resend a new version of the unscd patch, without the attempt to integrate the installation of the glibc provided nscd daemon? This way, we can merge unscd quickly, and then work on installing the one from glibc if you are interested.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 1/2 package/unscd: new package
Hi Thomas,
Quoted 9 lines · Thomas Petazzoni
Hello,
Quoted 2 lines · Arnout Vandecappelle
7caf464 was applied to master only, and there has been no merge from master to
next. So that explains it.Ah damn, ok.
Quoted 8 lines
Quoted 1 line
next will be gone soon so don't worry ;-)
Indeed.
Doug: can you resend a new version of the unscd patch, without the attempt to integrate the installation of the glibc provided nscd daemon? This way, we can merge unscd quickly, and then work on installing the one from glibc if you are interested.
Yes, I will resend, after incorporating/updating to 0.52 as suggested.
Regards,
...doug
PATCH v5 2/2 toolchain/toolchain-common.in: install nscd
In reply to Doug KehnAdd BR2_GLIBC_NSCD for installing nscd. BR2_GLIBC_NSCD can be used by other packages (e.g. unscd) to prevent the selection of multiple nscd packages.
--
Changes v4 -> v5
- No changes.
Changes v3 -> v4
- Incorporate feedback/suggestions by Yann and Maxime.
Changes v2 -> v3
- Remove trailing '/' from UNSCD_SITE.
- Whitespace cleanup.
Changes v1 -> v2
- Incorporate feedback/suggestions by Yann (from nss-pam-ldapd patch).
--- toolchain/toolchain-common.in | 4 ++++ 1 file changed, 4 insertions(+)
toolchain/toolchain-common.in +4 -0
@@ -136,6 +136,10 @@ config BR2_ECLIPSE_REGISTER configuration files to make your toolchain appear within Eclipse, through the Eclipse Buildroot plugin. +config BR2_GLIBC_NSCD + bool "Install nscd" + depends on BR2_TOOLCHAIN_USES_GLIBC + # Options for packages to depend on, if they require at least a # specific version of the kernel headers. # Toolchains should choose the adequate option (ie. the highest
Signature · 1 line
2.6.2
PATCH v5 2/2 toolchain/toolchain-common.in: install nscd
Dear Doug Kehn,
toolchain/toolchain-common.in config BR2_ECLIPSE_REGISTER · line 141
Quoted 11 lines · Doug Kehn
toolchain/toolchain-common.in +3
-0@@ -136,6 +136,10 @@ config BR2_ECLIPSE_REGISTER configuration files to make your toolchain appear within Eclipse, through the Eclipse Buildroot plugin. +config BR2_GLIBC_NSCD + bool "Install nscd" + depends on BR2_TOOLCHAIN_USES_GLIBC
If this option were to be used by PATCH 1/2, then it should be introduced before.
However, it is very useless to add an option that doesn't do anything at all: if you add this option, it should actually install nscd.
If you want an example on how to do that, look at how the gconv library installation is implemented. It works fine for both internal and external toolchains.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
v5 cover package/unscd: new package
In reply to Doug KehnDear Doug Kehn, everyone,
just a small question. Perhaps I'm wrong, but..., isn't nscd deprecated in favor of sssd? If so, shouldn't we add the sssd package instead?
Regards,
Vincent.
Quoted 34 lines · Doug Kehn
systemd recipe/support is removed. systemd support is best left to someone versed in systemd who desires to use unscd with systemd.
The
BR2_GLIBC_NSCDsuggestion is incorporated. However, I'm not sure what the proper next steps are to properly install glibc nscd for both internal/external toolchains. Is it sufficient, for now, to just defineBR2_GLIBC_NSCD?Doug Kehn (2):
package/unscd: new package
toolchain/toolchain-common.in: install nscdpackage/Config.in | 1 + package/unscd/Config.in | 11 ++++++++++ package/unscd/S46unscd | 24 ++++++++++++++++++++++ package/unscd/unscd.hash | 3 +++ package/unscd/unscd.mk | 47 +++++++++++++++++++++++++++++++++++++++++++ toolchain/toolchain-common.in | 4 ++++ 6 files changed, 90 insertions(+) create mode 100644 package/unscd/Config.in create mode 100644 package/unscd/S46unscd create mode 100644 package/unscd/unscd.hash create mode 100644 package/unscd/unscd.mk--
Changes v4 -> v5
- Reincorporate $(APPLY_PATCHES) suggestion after update by Arnout.
Changes v3 -> v4
- Incorporate feedback/suggestions by Yann and Maxime.
Changes v2 -> v3
- Remove trailing '/' fromUNSCD_SITE.
- Whitespace cleanup.
Changes v1 -> v2
- Incorporate feedback/suggestions by Yann (from nss-pam-ldapd patch).
v5 cover package/unscd: new package
Hi Vincent,
Quoted 4 lines · Vicente Olivert Riera
Dear Doug Kehn, everyone,
just a small question. Perhaps I'm wrong, but..., isn't nscd deprecated in favor of sssd? If so, shouldn't we add the sssd package instead?
I believe [u]nscd is deprecated for RHEL/CENTOS. I'm not sure about other distros. My Arch Linux distro installs glibc nscd by default.
I'm by no means an sssd expert; however, from a quick cursory look
http://serverfault.com/questions/534791/what-are-the-dependencies-of-sssd-nscd-to-function
it appears sssd may have dependencies that may not be desirable for some systems. This is of course debatable.
I use unscd in my Buildroot system so I thought I would share what is working for me since unscd was not an available package. I'm okay with this patch not being accepted in favor of sssd.
Regards,
...doug
Quoted 40 lines
Regards,
Vincent.
Quoted 34 lines · Doug Kehn
systemd recipe/support is removed. systemd support is best left to someone versed in systemd who desires to use unscd with systemd.
The
BR2_GLIBC_NSCDsuggestion is incorporated. However, I'm not sure what the proper next steps are to properly install glibc nscd for both internal/external toolchains. Is it sufficient, for now, to just defineBR2_GLIBC_NSCD?Doug Kehn (2):
package/unscd: new package
toolchain/toolchain-common.in: install nscdpackage/Config.in | 1 + package/unscd/Config.in | 11 ++++++++++ package/unscd/S46unscd | 24 ++++++++++++++++++++++ package/unscd/unscd.hash | 3 +++ package/unscd/unscd.mk | 47 +++++++++++++++++++++++++++++++++++++++++++ toolchain/toolchain-common.in | 4 ++++ 6 files changed, 90 insertions(+) create mode 100644 package/unscd/Config.in create mode 100644 package/unscd/S46unscd create mode 100644 package/unscd/unscd.hash create mode 100644 package/unscd/unscd.mk--
Changes v4 -> v5
- Reincorporate $(APPLY_PATCHES) suggestion after update by Arnout.
Changes v3 -> v4
- Incorporate feedback/suggestions by Yann and Maxime.
Changes v2 -> v3
- Remove trailing '/' fromUNSCD_SITE.
- Whitespace cleanup.
Changes v1 -> v2
- Incorporate feedback/suggestions by Yann (from nss-pam-ldapd patch).