From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Fri, 20 Jul 2012 22:45:38 +0200 Subject: [Buildroot] [PATCH] Add package linux-pam (resending, fixed indentation, mentioned website) In-Reply-To: <1342647267-20745-1-git-send-email-golubovsky@gmail.com> References: <1342647267-20745-1-git-send-email-golubovsky@gmail.com> Message-ID: <20120720224538.189830cc@skate> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hello Dmitry, Le Wed, 18 Jul 2012 17:34:27 -0400, Dmitry a ?crit : > 1. Add the linux-pam package building instructions > 2. If the linux-pam package is selected, make sure it builds before > busybox just in case busybox is configured with PAM support > (make linux-pam a dependency of busybox) > > Signed-off-by: Dmitry > --- > package/Config.in | 1 + > package/busybox/busybox.mk | 3 +++ > package/linux-pam/Config.in | 15 +++++++++++++++ > package/linux-pam/linux-pam.mk | 37 +++++++++++++++++++++++++++++++++++++ > 4 files changed, 56 insertions(+), 0 deletions(-) > create mode 100644 package/linux-pam/Config.in > create mode 100644 package/linux-pam/linux-pam.mk > > diff --git a/package/Config.in b/package/Config.in > index 6aabb8e..4bbb293 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -660,6 +660,7 @@ source "package/bootutils/Config.in" > endif > source "package/htop/Config.in" > source "package/kmod/Config.in" > +source "package/linux-pam/Config.in" linux-pam is a library, so it should rather go in Libraries -> Other in the menuconfig. > if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS > source "package/module-init-tools/Config.in" > endif > diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk > index 394a1ae..4a1de33 100644 > --- a/package/busybox/busybox.mk > +++ b/package/busybox/busybox.mk > @@ -11,6 +11,9 @@ else > BUSYBOX_VERSION = $(call qstrip,$(BR2_BUSYBOX_VERSION)) > BUSYBOX_SITE = http://www.busybox.net/downloads > endif > +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) > +BUSYBOX_DEPENDENCIES += linux-pam > +endif > BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 > BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config This Busybox change should be part of a separate patch (so your patch series should have two patches: one adding the linux-pam package, one tweaking Busybox to use linux-pam). Also, shouldn't you ensure that CONFIG_PAM is enabled in the Busybox configuration in that case? > # Allows the build system to tweak CFLAGS > diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in > new file mode 100644 > index 0000000..8a9bbca > --- /dev/null > +++ b/package/linux-pam/Config.in > @@ -0,0 +1,15 @@ > +config BR2_PACKAGE_LINUX_PAM > + bool "linux-pam" > + select BR2_PACKAGE_LIBINTL > + select BR2_PACKAGE_GETTEXT No, see http://buildroot.org/downloads/manual/manual.html#_gettext_integration_and_interaction_with_packages. > diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk > new file mode 100644 > index 0000000..5024033 > --- /dev/null > +++ b/package/linux-pam/linux-pam.mk > @@ -0,0 +1,37 @@ > +############################################ > +# > +# linux-pam > +# > +############################################ > + > +LINUX_PAM_VERSION = 1.1.4 > +LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.bz2 > +LINUX_PAM_SITE = http://linux-pam.org/library/ > +LINUX_PAM_INSTALL_STAGING = YES > +LINUX_PAM_INSTALL_TARGET = YES > +LINUX_PAM_CONF_OPT = --disable-prelude --disable-isadir --disable-nis --disable-regenerate-docu > +LINUX_PAM_CONF_OPT += --enable-securedir=/lib/security --libdir=/lib > +LINUX_PAM_DEPENDENCIES = gettext libintl flex > +LINUX_PAM_LICENSE = BSD > +LINUX_PAM_LICENSE_FILES = COPYING > + > +define LINUX_PAM_BUILD_CMDS > + $(MAKE) CC="$(TARGET_CC) -lintl -lfl" LD="$(TARGET_LD)" -C $(@D) all > +endef > + > +define LINUX_PAM_DISABLE_INNETGR > + echo >>$(@D)/config.h > + echo "#undef HAVE_RUSEROK">>$(@D)/config.h > + echo "#define HAVE_RUSEROK_AF">>$(@D)/config.h > + echo "#define ruserok_af(a, b, c, d, e) (-1)" >>$(@D)/config.h > + echo "#undef innetgr">>$(@D)/config.h > + echo "#define innetgr(a, b, c, d) 0" >>$(@D)/config.h > + echo "all:" >$(@D)/doc/Makefile > + echo "" >>$(@D)/doc/Makefile > + echo "install:" >>$(@D)/doc/Makefile > + echo "" >>$(@D)/doc/Makefile > +endef Can you add a comment above this justifying why this is needed? Thanks! Best regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com