All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Fixes and improvements from O.S. Systems
@ 2011-10-21  3:31 Otavio Salvador
  2011-10-21  3:31 ` [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building Otavio Salvador
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21  3:31 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 99da9a4e65f9dffb04efc3ad60125194c476d6b3:

  distro-tracking-fields: update fields for tzdata and gst-plugins-good (2011-10-20 13:07:16 +0100)

are available in the git repository at:
  git://github.com/OSSystems/oe-core master
  https://github.com/OSSystems/oe-core/tree/HEAD

Otavio Salvador (4):
  bootimg.bbclass: add support to disable HDD image building
  useradd.bbclass: check if a group already exists manually
  base-passwd: move initial criation of group and passwd to preinst
  dbus: use useradd class to allow use in read-only filesystems

 meta/classes/bootimg.bbclass                       |   44 +++++++++---------
 meta/classes/useradd.bbclass                       |    8 +++-
 .../recipes-core/base-passwd/base-passwd_3.5.22.bb |    4 +-
 meta/recipes-core/dbus/dbus.inc                    |   48 +++++++++-----------
 4 files changed, 53 insertions(+), 51 deletions(-)

-- 
1.7.2.5




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building
  2011-10-21  3:31 [PATCH 0/4] Fixes and improvements from O.S. Systems Otavio Salvador
@ 2011-10-21  3:31 ` Otavio Salvador
  2011-10-21  6:07   ` Khem Raj
  2011-10-21  3:31 ` [PATCH 2/4] useradd.bbclass: check if a group already exists manually Otavio Salvador
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21  3:31 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta/classes/bootimg.bbclass |   44 +++++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index a5ba3cf..eecc2bf 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -48,34 +48,36 @@ SYSLINUXMENU = "${HDDDIR}/menu"
 inherit syslinux
 		
 build_boot_bin() {
-	install -d ${HDDDIR}
-	install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
-	${HDDDIR}/vmlinuz
+	# Create an HDD image
+	if [ "${NOHDD}" != "1" ] ; then
+		install -d ${HDDDIR}
+		install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
+		${HDDDIR}/vmlinuz
 
-	if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then 
-    		install -m 0644 ${INITRD} ${HDDDIR}/initrd
-	fi
+		if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
+				install -m 0644 ${INITRD} ${HDDDIR}/initrd
+		fi
 
-	if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then 
-    		install -m 0644 ${ROOTFS} ${HDDDIR}/rootfs.img
-	fi
+		if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
+				install -m 0644 ${ROOTFS} ${HDDDIR}/rootfs.img
+		fi
 
-	install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
+		install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
 
-	# Do a little math, bash style
-	#BLOCKS=`du -s ${HDDDIR} | cut -f 1`
-	BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
-	SIZE=`expr $BLOCKS + ${BOOTIMG_EXTRA_SPACE}`	
+		# Do a little math, bash style
+		BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
+		SIZE=`expr $BLOCKS + ${BOOTIMG_EXTRA_SPACE}`
 
-	mkdosfs -n ${BOOTIMG_VOLUME_ID} -d ${HDDDIR} \
-	-C ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg $SIZE 
+		mkdosfs -n ${BOOTIMG_VOLUME_ID} -d ${HDDDIR} \
+		-C ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg $SIZE
 
-	syslinux ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
-	chmod 644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
+		syslinux ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
+		chmod 644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
 
-	cd ${DEPLOY_DIR_IMAGE}
-	rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
-	ln -s ${IMAGE_NAME}.hddimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
+		cd ${DEPLOY_DIR_IMAGE}
+		rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
+		ln -s ${IMAGE_NAME}.hddimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
+	fi
 	
 	#Create an ISO if we have an INITRD
 	if [ -n "${INITRD}" ] && [ -s "${INITRD}" ] && [ "${NOISO}" != "1" ] ; then
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/4] useradd.bbclass: check if a group already exists manually
  2011-10-21  3:31 [PATCH 0/4] Fixes and improvements from O.S. Systems Otavio Salvador
  2011-10-21  3:31 ` [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building Otavio Salvador
@ 2011-10-21  3:31 ` Otavio Salvador
  2011-10-21  3:41   ` Scott Garman
  2011-10-21  3:31 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
  2011-10-21  3:31 ` [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems Otavio Salvador
  3 siblings, 1 reply; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21  3:31 UTC (permalink / raw)
  To: openembedded-core

The use of groupadd -f makes much more difficult to figure when a
group is not add. This was the case of the class not working for our
usage and this being caused by the lack of '/etc/group' file but
unnoticed as groupadd wasn't failing according.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta/classes/useradd.bbclass |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 1e03a04..fb70b3e 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -37,7 +37,13 @@ if test "x$GROUPADD_PARAM" != "x"; then
 	opts=`echo "$GROUPADD_PARAM" | cut -d ';' -f 1`
 	remaining=`echo "$GROUPADD_PARAM" | cut -d ';' -f 2-`
 	while test "x$opts" != "x"; do
-		eval $PSEUDO groupadd -f $OPT $opts
+		groupname=`echo "$opts" | awk '{ print $NF }'`
+		group_exists=`grep "^$groupname:" $SYSROOT/etc/group || true`
+		if test "x$group_exists" = "x"; then
+			eval $PSEUDO groupadd  $OPT $opts
+		else
+			echo "Note: group $groupname already exists, not re-creating it"
+		fi
 
 		if test "x$opts" = "x$remaining"; then
 			break
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21  3:31 [PATCH 0/4] Fixes and improvements from O.S. Systems Otavio Salvador
  2011-10-21  3:31 ` [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building Otavio Salvador
  2011-10-21  3:31 ` [PATCH 2/4] useradd.bbclass: check if a group already exists manually Otavio Salvador
@ 2011-10-21  3:31 ` Otavio Salvador
  2011-10-21  3:41   ` Scott Garman
  2011-10-21  6:52   ` Phil Blundell
  2011-10-21  3:31 ` [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems Otavio Salvador
  3 siblings, 2 replies; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21  3:31 UTC (permalink / raw)
  To: openembedded-core

To allow use and manipulation of users and groups at rootfs building
time, the '/etc/passwd' and '/etc/group' needs to be available as soon
as possible.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 .../recipes-core/base-passwd/base-passwd_3.5.22.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
index 137512d..9f81ba3 100644
--- a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
+++ b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Base system master password/group files."
 DESCRIPTION = "The master copies of the user database files (/etc/passwd and /etc/group).  The update-passwd tool is also provided to keep the system databases synchronized with these master files."
 SECTION = "base"
-PR = "r3"
+PR = "r4"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
 
@@ -37,7 +37,7 @@ do_install () {
 	install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
 }
 
-pkg_postinst_${PN} () {
+pkg_preinst_${PN} () {
 	set -e
 
 	if [ ! -e $D${sysconfdir}/passwd ] ; then
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems
  2011-10-21  3:31 [PATCH 0/4] Fixes and improvements from O.S. Systems Otavio Salvador
                   ` (2 preceding siblings ...)
  2011-10-21  3:31 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
@ 2011-10-21  3:31 ` Otavio Salvador
  2011-10-21  6:54   ` Phil Blundell
  3 siblings, 1 reply; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21  3:31 UTC (permalink / raw)
  To: openembedded-core

Move creation of required user/groups to useradd class thus allowing
use with read-only filesystems and booting the initial boot.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta/recipes-core/dbus/dbus.inc |   48 +++++++++++++++++----------------------
 1 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index a8ecda8..2a97c02 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -10,15 +10,22 @@ DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X
 DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
 DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
 
+PR = "r1"
+
 SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
            file://tmpdir.patch; \
            file://dbus-1.init"
 
-inherit autotools pkgconfig gettext update-rc.d
+inherit useradd autotools pkgconfig gettext update-rc.d
 
 INITSCRIPT_NAME = "dbus-1"
 INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
 
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-r netdev"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
+                       --no-create-home --user-group messagebus"
+
 CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
 
 DEBIANNAME_${PN} = "dbus-1"
@@ -44,32 +51,7 @@ RRECOMMENDS_${PN}-lib = "${PN}"
 FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
 
 pkg_postinst_dbus() {
-	# can't do adduser stuff offline
-	if [ "x$D" != "x" ]; then
-		exit 1
-	fi
-
-	MESSAGEUSER=messagebus
-	MESSAGEHOME=/var/run/dbus
-	UUIDDIR=/var/lib/dbus
-
-	mkdir -p $MESSAGEHOME
-	mkdir -p $UUIDDIR
-	chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
-	chown "$MESSAGEUSER":"$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || \
-		adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password \
-			--ingroup "$MESSAGEUSER" "$MESSAGEUSER"
-
-	chown "$MESSAGEUSER":"$MESSAGEUSER" "$UUIDDIR"
-
-	grep -q netdev: /etc/group || addgroup netdev
-
-	chown root:"$MESSAGEUSER" /usr/libexec/dbus-daemon-launch-helper
-	chmod 4754 /usr/libexec/dbus-daemon-launch-helper
-
-	# add volatile after new user/grp are created
-	echo "d messagebus messagebus 0755 /var/run/dbus none" > /etc/default/volatiles/99_dbus
-	if [ -e /etc/init.d/populate-volatile.sh ] ; then
+	if [ -z "${D}" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
 		/etc/init.d/populate-volatile.sh update
 	fi
 }
@@ -92,6 +74,18 @@ do_install() {
 	install -d ${D}${sysconfdir}/init.d
 	install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
 
+	install -d ${D}${sysconfdir}/default/volatiles
+	echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
+	     > ${D}${sysconfdir}/default/volatiles/99_dbus
+
+
+	mkdir -p ${D}${localstatedir}/run/dbus ${D}${localstatedir}/lib/dbus
+
+	chown messagebus:messagebus ${D}${localstatedir}/run/dbus ${D}${localstatedir}/lib/dbus
+
+	chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper
+	chmod 4754 ${D}${libexecdir}/dbus-daemon-launch-helper
+
 	# disable dbus-1 sysv script on systemd installs
 	# nearly all distros call the initscript plain 'dbus', but OE-core is different
 	ln -sf /dev/null ${D}/${base_libdir}/systemd/system/dbus-1.service
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/4] useradd.bbclass: check if a group already exists manually
  2011-10-21  3:31 ` [PATCH 2/4] useradd.bbclass: check if a group already exists manually Otavio Salvador
@ 2011-10-21  3:41   ` Scott Garman
  0 siblings, 0 replies; 17+ messages in thread
From: Scott Garman @ 2011-10-21  3:41 UTC (permalink / raw)
  To: openembedded-core

On 10/20/2011 08:31 PM, Otavio Salvador wrote:
> The use of groupadd -f makes much more difficult to figure when a
> group is not add. This was the case of the class not working for our
> usage and this being caused by the lack of '/etc/group' file but
> unnoticed as groupadd wasn't failing according.
>
> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>

Thanks for getting to the bottom of this!

Acked-by: Scott Garman <scott.a.garman@intel.com>

> ---
>   meta/classes/useradd.bbclass |    8 +++++++-
>   1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> index 1e03a04..fb70b3e 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -37,7 +37,13 @@ if test "x$GROUPADD_PARAM" != "x"; then
>   	opts=`echo "$GROUPADD_PARAM" | cut -d ';' -f 1`
>   	remaining=`echo "$GROUPADD_PARAM" | cut -d ';' -f 2-`
>   	while test "x$opts" != "x"; do
> -		eval $PSEUDO groupadd -f $OPT $opts
> +		groupname=`echo "$opts" | awk '{ print $NF }'`
> +		group_exists=`grep "^$groupname:" $SYSROOT/etc/group || true`
> +		if test "x$group_exists" = "x"; then
> +			eval $PSEUDO groupadd  $OPT $opts
> +		else
> +			echo "Note: group $groupname already exists, not re-creating it"
> +		fi
>
>   		if test "x$opts" = "x$remaining"; then
>   			break


-- 
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21  3:31 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
@ 2011-10-21  3:41   ` Scott Garman
  2011-10-21  6:52   ` Phil Blundell
  1 sibling, 0 replies; 17+ messages in thread
From: Scott Garman @ 2011-10-21  3:41 UTC (permalink / raw)
  To: openembedded-core

On 10/20/2011 08:31 PM, Otavio Salvador wrote:
> To allow use and manipulation of users and groups at rootfs building
> time, the '/etc/passwd' and '/etc/group' needs to be available as soon
> as possible.
>
> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>

Acked-by: Scott Garman <scott.a.garman@intel.com>

> ---
>   .../recipes-core/base-passwd/base-passwd_3.5.22.bb |    4 ++--
>   1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> index 137512d..9f81ba3 100644
> --- a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> @@ -1,7 +1,7 @@
>   SUMMARY = "Base system master password/group files."
>   DESCRIPTION = "The master copies of the user database files (/etc/passwd and /etc/group).  The update-passwd tool is also provided to keep the system databases synchronized with these master files."
>   SECTION = "base"
> -PR = "r3"
> +PR = "r4"
>   LICENSE = "GPLv2+"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
>
> @@ -37,7 +37,7 @@ do_install () {
>   	install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
>   }
>
> -pkg_postinst_${PN} () {
> +pkg_preinst_${PN} () {
>   	set -e
>
>   	if [ ! -e $D${sysconfdir}/passwd ] ; then


-- 
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building
  2011-10-21  3:31 ` [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building Otavio Salvador
@ 2011-10-21  6:07   ` Khem Raj
  2011-10-21 12:27     ` Otavio Salvador
  0 siblings, 1 reply; 17+ messages in thread
From: Khem Raj @ 2011-10-21  6:07 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Thu, Oct 20, 2011 at 8:31 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
>  meta/classes/bootimg.bbclass |   44 +++++++++++++++++++++--------------------
>  1 files changed, 23 insertions(+), 21 deletions(-)
>
> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
> index a5ba3cf..eecc2bf 100644
> --- a/meta/classes/bootimg.bbclass
> +++ b/meta/classes/bootimg.bbclass
> @@ -48,34 +48,36 @@ SYSLINUXMENU = "${HDDDIR}/menu"
>  inherit syslinux
>
>  build_boot_bin() {
> -       install -d ${HDDDIR}
> -       install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
> -       ${HDDDIR}/vmlinuz
> +       # Create an HDD image
> +       if [ "${NOHDD}" != "1" ] ; then

please document this new variable NOHDD somewhere so people know how
and when to use it

> +               install -d ${HDDDIR}
> +               install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
> +               ${HDDDIR}/vmlinuz
>
> -       if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
> -               install -m 0644 ${INITRD} ${HDDDIR}/initrd
> -       fi
> +               if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
> +                               install -m 0644 ${INITRD} ${HDDDIR}/initrd
> +               fi
>
> -       if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
> -               install -m 0644 ${ROOTFS} ${HDDDIR}/rootfs.img
> -       fi
> +               if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
> +                               install -m 0644 ${ROOTFS} ${HDDDIR}/rootfs.img
> +               fi
>
> -       install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
> +               install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
>
> -       # Do a little math, bash style
> -       #BLOCKS=`du -s ${HDDDIR} | cut -f 1`
> -       BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
> -       SIZE=`expr $BLOCKS + ${BOOTIMG_EXTRA_SPACE}`
> +               # Do a little math, bash style
> +               BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
> +               SIZE=`expr $BLOCKS + ${BOOTIMG_EXTRA_SPACE}`
>
> -       mkdosfs -n ${BOOTIMG_VOLUME_ID} -d ${HDDDIR} \
> -       -C ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg $SIZE
> +               mkdosfs -n ${BOOTIMG_VOLUME_ID} -d ${HDDDIR} \
> +               -C ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg $SIZE
>
> -       syslinux ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
> -       chmod 644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
> +               syslinux ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
> +               chmod 644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
>
> -       cd ${DEPLOY_DIR_IMAGE}
> -       rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
> -       ln -s ${IMAGE_NAME}.hddimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
> +               cd ${DEPLOY_DIR_IMAGE}
> +               rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
> +               ln -s ${IMAGE_NAME}.hddimg ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg
> +       fi
>
>        #Create an ISO if we have an INITRD
>        if [ -n "${INITRD}" ] && [ -s "${INITRD}" ] && [ "${NOISO}" != "1" ] ; then
> --
> 1.7.2.5
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21  3:31 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
  2011-10-21  3:41   ` Scott Garman
@ 2011-10-21  6:52   ` Phil Blundell
  2011-10-21 12:05     ` Otavio Salvador
  1 sibling, 1 reply; 17+ messages in thread
From: Phil Blundell @ 2011-10-21  6:52 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-10-21 at 03:31 +0000, Otavio Salvador wrote:
> @@ -37,7 +37,7 @@ do_install () {
>  	install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
>  }
>  
> -pkg_postinst_${PN} () {
> +pkg_preinst_${PN} () {
>  	set -e
>  
>  	if [ ! -e $D${sysconfdir}/passwd ] ; then

Doesn't this break on-target installs (or, more generally, installs
where preinst runs before unpacking)?

p.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems
  2011-10-21  3:31 ` [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems Otavio Salvador
@ 2011-10-21  6:54   ` Phil Blundell
  2011-10-21  7:05     ` Koen Kooi
  0 siblings, 1 reply; 17+ messages in thread
From: Phil Blundell @ 2011-10-21  6:54 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-10-21 at 03:31 +0000, Otavio Salvador wrote:
> +USERADD_PACKAGES = "${PN}"
> +GROUPADD_PARAM_${PN} = "-r netdev"
> +USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
> +                       --no-create-home --user-group messagebus"

Why does dbus need "netdev"?

p.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems
  2011-10-21  6:54   ` Phil Blundell
@ 2011-10-21  7:05     ` Koen Kooi
  0 siblings, 0 replies; 17+ messages in thread
From: Koen Kooi @ 2011-10-21  7:05 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 21 okt. 2011, om 08:54 heeft Phil Blundell het volgende geschreven:

> On Fri, 2011-10-21 at 03:31 +0000, Otavio Salvador wrote:
>> +USERADD_PACKAGES = "${PN}"
>> +GROUPADD_PARAM_${PN} = "-r netdev"
>> +USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
>> +                       --no-create-home --user-group messagebus"
> 
> Why does dbus need "netdev"?


A little digging on the internet shows that some applications using dbus use netdev and as a result dbus will complain about a missing netdev group. Dbus itself doesn't seem to need it. A handfull of searchresults imply that not dbus but e.g. networkmanager and wpa-supplicant should create the group, but:

root@beagleboard:/etc/dbus-1/system.d# ls
ConsoleKit.conf           org.freedesktop.PolicyKit1.conf
NetworkManager.conf       org.freedesktop.UDisks.conf
avahi-dbus.conf           org.freedesktop.UPower.conf
bluetooth.conf            org.freedesktop.hostname1.conf
dbus-wpa_supplicant.conf  org.freedesktop.locale1.conf
gdm.conf                  org.freedesktop.login1.conf
nm-avahi-autoipd.conf     org.freedesktop.systemd1.conf
nm-dhcp-client.conf       org.freedesktop.timedate1.conf
nm-dispatcher.conf        org.gnome.GConf.Defaults.conf

root@beagleboard:/etc/dbus-1/system.d# grep netdev *
root@beagleboard:/etc/dbus-1/system.d# 

So it seems (but I am not certain!) that netdev is a relic of the past and can go away. What I would propose:

1) convert the existing *inst to useradd.bbclass
2) bump PR, remove netdev

That should give us a nice bisectable stack of commits.

regards,

Koen


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21  6:52   ` Phil Blundell
@ 2011-10-21 12:05     ` Otavio Salvador
  0 siblings, 0 replies; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21 12:05 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, Oct 21, 2011 at 04:52, Phil Blundell <philb@gnu.org> wrote:
> On Fri, 2011-10-21 at 03:31 +0000, Otavio Salvador wrote:
>> @@ -37,7 +37,7 @@ do_install () {
>>       install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
>>  }
>>
>> -pkg_postinst_${PN} () {
>> +pkg_preinst_${PN} () {
>>       set -e
>>
>>       if [ ! -e $D${sysconfdir}/passwd ] ; then
>
> Doesn't this break on-target installs (or, more generally, installs
> where preinst runs before unpacking)?

It does indeed. I will fix it and send a new patch for it.

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building
  2011-10-21  6:07   ` Khem Raj
@ 2011-10-21 12:27     ` Otavio Salvador
  2011-10-21 15:57       ` Khem Raj
  0 siblings, 1 reply; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21 12:27 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, Oct 21, 2011 at 04:07, Khem Raj <raj.khem@gmail.com> wrote:
> On Thu, Oct 20, 2011 at 8:31 PM, Otavio Salvador
> <otavio@ossystems.com.br> wrote:
>> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>> ---
>>  meta/classes/bootimg.bbclass |   44 +++++++++++++++++++++--------------------
>>  1 files changed, 23 insertions(+), 21 deletions(-)
>>
>> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
>> index a5ba3cf..eecc2bf 100644
>> --- a/meta/classes/bootimg.bbclass
>> +++ b/meta/classes/bootimg.bbclass
>> @@ -48,34 +48,36 @@ SYSLINUXMENU = "${HDDDIR}/menu"
>>  inherit syslinux
>>
>>  build_boot_bin() {
>> -       install -d ${HDDDIR}
>> -       install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
>> -       ${HDDDIR}/vmlinuz
>> +       # Create an HDD image
>> +       if [ "${NOHDD}" != "1" ] ; then
>
> please document this new variable NOHDD somewhere so people know how
> and when to use it

What do you suggests.

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building
  2011-10-21 12:27     ` Otavio Salvador
@ 2011-10-21 15:57       ` Khem Raj
  0 siblings, 0 replies; 17+ messages in thread
From: Khem Raj @ 2011-10-21 15:57 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, Oct 21, 2011 at 5:27 AM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> On Fri, Oct 21, 2011 at 04:07, Khem Raj <raj.khem@gmail.com> wrote:
>> On Thu, Oct 20, 2011 at 8:31 PM, Otavio Salvador
>> <otavio@ossystems.com.br> wrote:
>>> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>>> ---
>>>  meta/classes/bootimg.bbclass |   44 +++++++++++++++++++++--------------------
>>>  1 files changed, 23 insertions(+), 21 deletions(-)
>>>
>>> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
>>> index a5ba3cf..eecc2bf 100644
>>> --- a/meta/classes/bootimg.bbclass
>>> +++ b/meta/classes/bootimg.bbclass
>>> @@ -48,34 +48,36 @@ SYSLINUXMENU = "${HDDDIR}/menu"
>>>  inherit syslinux
>>>
>>>  build_boot_bin() {
>>> -       install -d ${HDDDIR}
>>> -       install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
>>> -       ${HDDDIR}/vmlinuz
>>> +       # Create an HDD image
>>> +       if [ "${NOHDD}" != "1" ] ; then
>>
>> please document this new variable NOHDD somewhere so people know how
>> and when to use it
>
> What do you suggests.

Either OE manual or local.conf.sample.extended may be

>
> --
> Otavio Salvador                             O.S. Systems
> E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
> Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21 14:52   ` Mark Hatle
@ 2011-10-21 16:01     ` Otavio Salvador
  0 siblings, 0 replies; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21 16:01 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, Oct 21, 2011 at 12:52, Mark Hatle <mark.hatle@windriver.com> wrote:
...
> Any opinions from folks if this is even halfway reasonable for us to consider?
>
> (I'm guessing with some anon python code we could probably load in the
> passwd/group files, place them into a variable and use the variable to embed
> them within the preinst -- keeping the contents out of the recipe.)

I like this idea but I'd prefer to have this merged before it.

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21 14:10 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
@ 2011-10-21 14:52   ` Mark Hatle
  2011-10-21 16:01     ` Otavio Salvador
  0 siblings, 1 reply; 17+ messages in thread
From: Mark Hatle @ 2011-10-21 14:52 UTC (permalink / raw)
  To: openembedded-core

I've seen other distributions solve this doing this by creating the passwd/group
files based on the contents of the recipe and not some external file.

So you would have a list of users/groups that need to be created with their
attributes.  In the do_install these items would be dumped into the
passwd/group.master file(s).  But also in the preinst, it would check for the
existence of the files -- if they didn't exist yet.. it would simply write out
the passwd/group files at that point.

By embedding the data in the recipe, it keeps things in sync and resolves the
chicken/egg problem.

Any opinions from folks if this is even halfway reasonable for us to consider?

(I'm guessing with some anon python code we could probably load in the
passwd/group files, place them into a variable and use the variable to embed
them within the preinst -- keeping the contents out of the recipe.)

--Mark

On 10/21/11 9:10 AM, Otavio Salvador wrote:
> To allow use and manipulation of users and groups at rootfs building
> time, the '/etc/passwd' and '/etc/group' needs to be available as soon
> as possible.
> 
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
>  .../recipes-core/base-passwd/base-passwd_3.5.22.bb |   19 ++++++++++++++++++-
>  1 files changed, 18 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> index 137512d..aa90a6d 100644
> --- a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
> @@ -1,7 +1,7 @@
>  SUMMARY = "Base system master password/group files."
>  DESCRIPTION = "The master copies of the user database files (/etc/passwd and /etc/group).  The update-passwd tool is also provided to keep the system databases synchronized with these master files."
>  SECTION = "base"
> -PR = "r3"
> +PR = "r4"
>  LICENSE = "GPLv2+"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
>  
> @@ -37,6 +37,23 @@ do_install () {
>  	install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
>  }
>  
> +pkg_preinst_${PN} () {
> +	set -e
> +
> +	# Used for rootfs generation. On in-target install this will be run
> +        # before the unpack so the files won't be available
> +
> +	if [ ! -e $D${sysconfdir}/passwd ] && [ -e $D${datadir}/base-passwd/passwd.master ]; then
> +		cp $D${datadir}/base-passwd/passwd.master $D${sysconfdir}/passwd
> +	fi
> +
> +	if [ ! -e $D${sysconfdir}/group ] && [ -e $D${datadir}/base-passwd/group.master ]; then
> +		cp $D${datadir}/base-passwd/group.master $D${sysconfdir}/group
> +	fi
> +
> +	exit 0
> +}
> +
>  pkg_postinst_${PN} () {
>  	set -e
>  




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst
  2011-10-21 14:10 [PATCH 0/4 v2] Fixes and improvements Otavio Salvador
@ 2011-10-21 14:10 ` Otavio Salvador
  2011-10-21 14:52   ` Mark Hatle
  0 siblings, 1 reply; 17+ messages in thread
From: Otavio Salvador @ 2011-10-21 14:10 UTC (permalink / raw)
  To: openembedded-core

To allow use and manipulation of users and groups at rootfs building
time, the '/etc/passwd' and '/etc/group' needs to be available as soon
as possible.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 .../recipes-core/base-passwd/base-passwd_3.5.22.bb |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
index 137512d..aa90a6d 100644
--- a/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
+++ b/meta/recipes-core/base-passwd/base-passwd_3.5.22.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Base system master password/group files."
 DESCRIPTION = "The master copies of the user database files (/etc/passwd and /etc/group).  The update-passwd tool is also provided to keep the system databases synchronized with these master files."
 SECTION = "base"
-PR = "r3"
+PR = "r4"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
 
@@ -37,6 +37,23 @@ do_install () {
 	install -p -m 644 debian/copyright ${D}${docdir}/${BPN}/
 }
 
+pkg_preinst_${PN} () {
+	set -e
+
+	# Used for rootfs generation. On in-target install this will be run
+        # before the unpack so the files won't be available
+
+	if [ ! -e $D${sysconfdir}/passwd ] && [ -e $D${datadir}/base-passwd/passwd.master ]; then
+		cp $D${datadir}/base-passwd/passwd.master $D${sysconfdir}/passwd
+	fi
+
+	if [ ! -e $D${sysconfdir}/group ] && [ -e $D${datadir}/base-passwd/group.master ]; then
+		cp $D${datadir}/base-passwd/group.master $D${sysconfdir}/group
+	fi
+
+	exit 0
+}
+
 pkg_postinst_${PN} () {
 	set -e
 
-- 
1.7.2.5




^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-10-21 16:07 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-21  3:31 [PATCH 0/4] Fixes and improvements from O.S. Systems Otavio Salvador
2011-10-21  3:31 ` [PATCH 1/4] bootimg.bbclass: add support to disable HDD image building Otavio Salvador
2011-10-21  6:07   ` Khem Raj
2011-10-21 12:27     ` Otavio Salvador
2011-10-21 15:57       ` Khem Raj
2011-10-21  3:31 ` [PATCH 2/4] useradd.bbclass: check if a group already exists manually Otavio Salvador
2011-10-21  3:41   ` Scott Garman
2011-10-21  3:31 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
2011-10-21  3:41   ` Scott Garman
2011-10-21  6:52   ` Phil Blundell
2011-10-21 12:05     ` Otavio Salvador
2011-10-21  3:31 ` [PATCH 4/4] dbus: use useradd class to allow use in read-only filesystems Otavio Salvador
2011-10-21  6:54   ` Phil Blundell
2011-10-21  7:05     ` Koen Kooi
2011-10-21 14:10 [PATCH 0/4 v2] Fixes and improvements Otavio Salvador
2011-10-21 14:10 ` [PATCH 3/4] base-passwd: move initial criation of group and passwd to preinst Otavio Salvador
2011-10-21 14:52   ` Mark Hatle
2011-10-21 16:01     ` Otavio Salvador

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.