[prev in list] [next in list] [prev in thread] [next in thread]
List: openembedded-core
Subject: [OE-core] opkg intercept for ldconfig on oe-core
From: ben.shelton () ni ! com (Ben Shelton)
Date: 2015-01-30 23:06:09
Message-ID: 20150130230609.GA13593 () bshelton-desktop
[Download RAW message or body]
Hi all,
I was looking at the opkg intercept functionality, and if I'm understanding this
properly, it looks like it changes the PATH so that e.g. ldconfig is redirected
to the script under /usr/share/opkg/intercept/ldconfig when running postinst
scripts. That way, when installing a bunch of libraries, ldconfig can be run
once at the end rather than once for every package.
However, the postinst scripts for libraries are generated with
ldconfig_postinst_fragment() in meta/classes/package.bbclass, which looks like
this:
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
fi
}
Because this script uses the full absolute path to ldconfig, the opkg intercept
ldconfig script isn't being invoked. I verified this by putting an echo in
/usr/share/opkg/intercept/ldconfig, which I saw only when I changed my package's
postinst script to
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
ldconfig
fi
}
In the history of package.bbclass, it originally used to look like this, but was
changed in 2008 in a sync from OE.dev.
Is this expected behavior? Is opkg intercept still supported? Should we fix
this, and if so, what would be a safe way to do it?
Thanks,
Ben
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic