4 Bug fixes!
cover 4 Bug fixes!
This is a set of patches address 4 bug that need to be addressed in master and daisy.
Sau!
Saul Wold (4):
update-rc.d/useradd: Add additional dependecies
busybox: put udhcpc in background
freetype: enable 64 bit file support
fontconfig: enable 64 bit file support
meta/classes/update-rc.d.bbclass | 2 ++ meta/classes/useradd.bbclass | 2 +- meta/recipes-core/busybox/busybox.inc | 1 + meta/recipes-graphics/fontconfig/fontconfig_2.11.1.bb | 2 ++ meta/recipes-graphics/freetype/freetype_2.5.3.bb | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-)
Signature · 1 line
1.8.3.1
PATCH 1/4 update-rc.d/useradd: Add additional dependecies
These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages but they are not actually created yet at rootfs time.
[YOCTO #6072]
--- meta/classes/update-rc.d.bbclass | 2 ++ meta/classes/useradd.bbclass | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
meta/classes/update-rc.d.bbclass +2 -0
@@ -1,6 +1,7 @@ UPDATERCPN ?= "${PN}" DEPENDS_append = " update-rc.d-native" +DEPENDS_append_class-target = " initscripts" UPDATERCD = "update-rc.d" UPDATERCD_class-cross = "" UPDATERCD_class-native = ""
@@ -67,6 +68,7 @@ python __anonymous() { } PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd " +PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd " populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
meta/classes/useradd.bbclass +1 -1
@@ -4,7 +4,7 @@ inherit useradd_base # target sysroot, and shadow -native and -sysroot provide the utilities # and support files needed to add and modify user and group accounts DEPENDS_append = "${USERADDDEPENDS}" -USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow" +USERADDDEPENDS = " base-files base-passwd shadow-native shadow-sysroot shadow" USERADDDEPENDS_class-cross = "" USERADDDEPENDS_class-native = "" USERADDDEPENDS_class-nativesdk = ""
Signature · 1 line
1.8.3.1
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 3 lines · Saul Wold
These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages but they are not actually created yet at rootfs time.
Can you be more specific about why these dependecies/dependcies/dependiences are required? I can't, offhand, think of any reason why update-rc.d requires initscripts for example.
Also, what's going on with the PACKAGESPLITFUNCS_remove_class-nativesdk?
thanks
p.
Quoted 28 lines
[YOCTO #6072]
Signed-off-by Saul Wold <[email protected]>--- meta/classes/update-rc.d.bbclass | 2 ++ meta/classes/useradd.bbclass | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)meta/classes/update-rc.d.bbclass +2
-0@@ -1,6 +1,7 @@ UPDATERCPN ?= "${PN}" DEPENDS_append = " update-rc.d-native" +DEPENDS_append_class-target = " initscripts" UPDATERCD = "update-rc.d" UPDATERCD_class-cross = "" UPDATERCD_class-native = ""@@ -67,6 +68,7 @@ python __anonymous() { } PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd " +PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd " populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 9 lines · Phil Blundell
Quoted 3 lines · Saul Wold
These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages but they are not actually created yet at rootfs time.
Can you be more specific about why these dependecies/dependcies/dependiences are required? I can't, offhand, think of any reason why update-rc.d requires initscripts for example.
It's more about having initscripts-funtions package built so that it's available for the dynamic addition to the RDEPENDS later in populate_pacakges_updatercd(). If initscripts is not built and we add initscripts-functions to the RDEPENDS, the final rootfs will fail with an unsatisfied dependency.
Quoted 2 lines
Also, what's going on with the PACKAGESPLITFUNCS_remove_class-nativesdk?
We don't need to run that funtion to create the nativesdk sysroot, so don't run it.
Sau!
Quoted 36 lines
thanks
p.
Quoted 28 lines
[YOCTO #6072]
Signed-off-by Saul Wold <[email protected]>--- meta/classes/update-rc.d.bbclass | 2 ++ meta/classes/useradd.bbclass | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)meta/classes/update-rc.d.bbclass +2
-0@@ -1,6 +1,7 @@ UPDATERCPN ?= "${PN}" DEPENDS_append = " update-rc.d-native" +DEPENDS_append_class-target = " initscripts" UPDATERCD = "update-rc.d" UPDATERCD_class-cross = "" UPDATERCD_class-native = ""@@ -67,6 +68,7 @@ python __anonymous() { } PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd " +PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd " populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 10 lines · Saul Wold
Quoted 9 lines · Phil Blundell
Quoted 3 lines · Saul Wold
These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages but they are not actually created yet at rootfs time.
Can you be more specific about why these dependecies/dependcies/dependiences are required? I can't, offhand, think of any reason why update-rc.d requires initscripts for example.
Quoted 5 lines
It's more about having initscripts-funtions package built so that it's available for the dynamic addition to the RDEPENDS later in
populate_pacakges_updatercd(). If initscripts is not built and we add initscripts-functions to the RDEPENDS, the final rootfs will fail with an unsatisfied dependency.
It seems to me that, if a given package ships an initscript which requires /etc/init.d/functions, it ought to be the responsibility of that package to rdepend on initscripts itself. I'm not sure it's entirely desirable for update-rc.d to drag that dependency in.
Quoted 4 lines
Quoted 2 lines
Also, what's going on with the PACKAGESPLITFUNCS_remove_class-nativesdk?
We don't need to run that funtion to create the nativesdk sysroot, so don't run it.
Fair enough, but this seems like an unrelated change (and one which isn't covered by the patch summary or description). Shouldn't that be in a separate commit?
p.
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 18 lines · On Tuesday 10 June 2014 15:53:19 Phil Blundell wrote:
Quoted 11 lines · Saul Wold
Quoted 9 lines · Phil Blundell
Quoted 4 lines · Saul Wold
These dependcies are needed to ensure that thier packages are created correctly since these classes have runtime dependiences in their packages
but they are not actually created yet at rootfs time.Can you be more specific about why these dependecies/dependcies/dependiences are required? I can't, offhand, think of any reason why update-rc.d requires initscripts for example.
Quoted 5 lines
It's more about having initscripts-funtions package built so that it's available for the dynamic addition to the RDEPENDS later in
populate_pacakges_updatercd(). If initscripts is not built and we add initscripts-functions to the RDEPENDS, the final rootfs will fail with an unsatisfied dependency.
Quoted 4 lines
It seems to me that, if a given package ships an initscript which requires
/etc/init.d/functions, it ought to be the responsibility of that package to rdepend on initscripts itself. I'm not sure it's entirely desirable for update-rc.d to drag that dependency in.
It should be, however:
a) There are a bunch of recipes that don't currently do that, and you'll only find out there's a problem at do_rootfs time (or worse, if we went a step further and didn't even dynamically add the RDEPENDS, at runtime when the service fails to start).
b) Saul's patch adds a build-time dependency, not a runtime one, and the initscripts recipe only packages files so the impact is fairly trivial even if it's not going to be built through other dependencies anyway.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Also, what's going on with the PACKAGESPLITFUNCS_remove_class-nativesdk?
We don't need to run that funtion to create the nativesdk sysroot, so don't run it.
Fair enough, but this seems like an unrelated change (and one which isn't covered by the patch summary or description). Shouldn't that be in a separate commit?
The patch has been merged now, but FWIW it seems like it probably should have been a separate one.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 4 lines · Paul Eggleton
a) There are a bunch of recipes that don't currently do that, and you'll only find out there's a problem at
do_rootfstime (or worse, if we went a step further and didn't even dynamically add the RDEPENDS, at runtime when the service fails to start).
Ah, true. It doesn't seem that it should be beyond the wit of man to add a QA check for that, though.
p.
Re: [PATCH 1/4] update-rc.d/useradd: Add additional dependecies
Quoted 8 lines · On Tuesday 17 June 2014 14:18:41 Phil Blundell wrote:
Quoted 4 lines · Paul Eggleton
a) There are a bunch of recipes that don't currently do that, and you'll only find out there's a problem at
do_rootfstime (or worse, if we went a step further and didn't even dynamically add the RDEPENDS, at runtime when the service fails to start).Ah, true. It doesn't seem that it should be beyond the wit of man to add a QA check for that, though.
I guess there are two ways of handling this:
1) Automatically add the dependency
or
2) Check for the lack of it and fail if it should be added
For better or worse we opted to go with #1. I wouldn't necessarily be totally opposed to changing to #2 if people feel it is cleaner (and it is, a little) but someone would actually have to do that work and then fix the resulting fallout.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
PATCH 2/4 busybox: put udhcpc in background
In reply to Saul WoldIf the interface is slow to come up udhcpc will continue in the background
[YOCTO #6339]
--- meta/recipes-core/busybox/busybox.inc | 1 + 1 file changed, 1 insertion(+)
meta/recipes-core/busybox/busybox.inc +1 -0
@@ -119,6 +119,7 @@ do_prepare_config () { {if(net==2&&$0 !~ /^#/&&$1){print("# "$1" is not set")}else{print}}' \ ${S}/.config.oe-tmp > ${S}/.config fi + sed -i 's/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"/' ${S}/.config } # returns all the elements from the src uri that are .cfg files
Signature · 1 line
1.8.3.1
PATCH 3/4 freetype: enable 64 bit file support
In reply to Saul WoldWhen running 32bit code on a large filessytem with 64bit inodes, the fontcache was not being created correctly because an EOVERFLOW was being returned from the fstat when reading the 64 inode on a 32bit system.
The fontcache is created at rootfs time on the host system via qemu.
[YOCTO #6338]
--- meta/recipes-graphics/freetype/freetype_2.5.3.bb | 2 ++ 1 file changed, 2 insertions(+)
meta/recipes-graphics/freetype/freetype_2.5.3.bb +2 -0
@@ -25,6 +25,8 @@ LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool" EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'" EXTRA_OEMAKE_class-native = "" EXTRA_OECONF = "--without-zlib --without-bzip2 CC_BUILD='${BUILD_CC}'" +TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" + PACKAGECONFIG ??= "" PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng"
Signature · 1 line
1.8.3.1
PATCH 4/4 fontconfig: enable 64 bit file support
In reply to Saul WoldWhen running 32bit code on a large filessytem with 64bit inodes, the fontcache was not being created correctly because an EOVERFLOW was being returned from the fstat when reading the 64 inode on a 32bit system.
The fontcache is created at rootfs time on the host system via qemu.
[YOCTO #6338]
--- meta/recipes-graphics/fontconfig/fontconfig_2.11.1.bb | 2 ++ 1 file changed, 2 insertions(+)
meta/recipes-graphics/fontconfig/fontconfig_2.11.1.bb +2 -0
@@ -38,5 +38,7 @@ DEBIAN_NOAUTONAME_fontconfig-utils = "1" inherit autotools pkgconfig EXTRA_OECONF = " --disable-docs --with-default-fonts=${datadir}/fonts" +TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" + BBCLASSEXTEND = "native"
Signature · 1 line
1.8.3.1