| Submitter | Andrei Gherzan |
|---|---|
| Date | Feb. 9, 2012, 6:30 p.m. |
| Message ID | <1328812244-32105-1-git-send-email-andrei@gherzan.ro> |
| Download | mbox | patch |
| Permalink | /patch/21059/ |
| State | New |
| Headers | show |
Comments
On Thu, 2012-02-09 at 20:30 +0200, Andrei Gherzan wrote: > + # Moving libcrypto to /usr > + mkdir -p ${D}/${base_libdir}/ > + mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/ That looks like it will fail if ${libdir} and ${base_libdir} are the same. > + sed -i s/usr// ${D}/${libdir}/pkgconfig/libcrypto.pc Also, this seems like it might fail if ${prefix} was set to something other than "/usr". Do you really want to put the development files in ${base_libdir} anyway? I would have thought that even the most enthusiastic proponents of a standalone / would not expect to be able to use the compiler without /usr mounted. p.
On 02/09/2012 10:30 AM, Andrei Gherzan wrote: > This fix is for dhclient. It needs libcrypto at runtime and if > libcrypto is in libdir, it's path can be inaccessible on systems > where /usr is on nfs for example or dhclient is needed before > /usr is mounted. > > Signed-off-by: Andrei Gherzan<andrei@gherzan.ro> > --- > meta/recipes-connectivity/openssl/openssl.inc | 8 +++++++- > .../recipes-connectivity/openssl/openssl_1.0.0g.bb | 2 +- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc > index 771f146..76a28ff 100644 > --- a/meta/recipes-connectivity/openssl/openssl.inc > +++ b/meta/recipes-connectivity/openssl/openssl.inc > @@ -36,10 +36,11 @@ export AS = "${CC} -c" > inherit pkgconfig siteinfo > > PACKAGES =+ "libcrypto libssl ${PN}-misc" > -FILES_libcrypto = "${libdir}/libcrypto.so.*" > +FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}" > FILES_libssl = "${libdir}/libssl.so.*" > FILES_${PN} =+ " ${libdir}/ssl/*" > FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf" > +FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}" > > do_configure_prepend_darwin () { > sed -i -e '/version-script=openssl\.ld/d' Configure > @@ -132,6 +133,11 @@ do_install () { > oe_libinstall -so libcrypto ${D}${libdir} > oe_libinstall -so libssl ${D}${libdir} > > + # Moving libcrypto to /usr > + mkdir -p ${D}/${base_libdir}/ > + mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/ > + sed -i s/usr// ${D}/${libdir}/pkgconfig/libcrypto.pc > + You still did not fix the case of libdir == base_libdir as Phil pointed out. Sau! > install -d ${D}${includedir} > cp --dereference -R include/openssl ${D}${includedir} > sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl > diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb > index 80dfcb3..8ffe931 100644 > --- a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb > +++ b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb > @@ -6,7 +6,7 @@ DEPENDS += "ocf-linux" > > CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" > > -PR = "${INC_PR}.0" > +PR = "${INC_PR}.1" > > LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8" >
On Thu, Feb 9, 2012 at 10:33 AM, Phil Blundell <philb@gnu.org> wrote: > > Do you really want to put the development files in ${base_libdir} > anyway? I would have thought that even the most enthusiastic proponents > of a standalone / would not expect to be able to use the compiler > without /usr mounted. eventually I think we will end up with everything being in ${base_libdir} :) or we have to make sure that stripped out debug files and standard dev libs and headers go into /usr this should be made an option before we go on making these changes IMOs I like stuff in /usr and I don't so much care about / and /usr being on different partitions
On Thu, 2012-02-09 at 11:54 -0800, Khem Raj wrote: > eventually I think we will end up with everything being in ${base_libdir} :) > or we have to make sure that stripped out debug files and standard dev > libs and headers > go into /usr The .debug data does always go into /usr/lib/debug (even on micro). That path is hardcoded in package.bbclass or some such place and doesn't depend on ${prefix} or ${libdir}. > this should be made an option before we go on making these changes IMOs > I like stuff in /usr and I don't so much care about / and /usr being > on different partitions Yes, I agree. As I mentioned the other day, I think having a DISTRO_FEATURE for "/ usable without /usr mounted" would be a fine idea and then all this sort of thing can be made conditional on that. In this particular case I think there's also an underlying issue that, for most people, having dhcp linked against openssl is probably just not nececessary. I assume this dependency is because of secure ddns or some such thing, which is a fine feature but, I suspect, not one that the majority of OE distros are actually using. p.
Patch
diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index 771f146..76a28ff 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -36,10 +36,11 @@ export AS = "${CC} -c" inherit pkgconfig siteinfo PACKAGES =+ "libcrypto libssl ${PN}-misc" -FILES_libcrypto = "${libdir}/libcrypto.so.*" +FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}" FILES_libssl = "${libdir}/libssl.so.*" FILES_${PN} =+ " ${libdir}/ssl/*" FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf" +FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}" do_configure_prepend_darwin () { sed -i -e '/version-script=openssl\.ld/d' Configure @@ -132,6 +133,11 @@ do_install () { oe_libinstall -so libcrypto ${D}${libdir} oe_libinstall -so libssl ${D}${libdir} + # Moving libcrypto to /usr + mkdir -p ${D}/${base_libdir}/ + mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/ + sed -i s/usr// ${D}/${libdir}/pkgconfig/libcrypto.pc + install -d ${D}${includedir} cp --dereference -R include/openssl ${D}${includedir} sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb index 80dfcb3..8ffe931 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb @@ -6,7 +6,7 @@ DEPENDS += "ocf-linux" CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
This fix is for dhclient. It needs libcrypto at runtime and if libcrypto is in libdir, it's path can be inaccessible on systems where /usr is on nfs for example or dhclient is needed before /usr is mounted. Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> --- meta/recipes-connectivity/openssl/openssl.inc | 8 +++++++- .../recipes-connectivity/openssl/openssl_1.0.0g.bb | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-)