diff options
-rw-r--r-- | classes/package.bbclass | 24 | ||||
-rw-r--r-- | packages/curl/curl.inc | 52 | ||||
-rw-r--r-- | packages/curl/curl_7.18.2.bb | 52 | ||||
-rw-r--r-- | packages/curl/curl_7.19.0.bb | 2 |
4 files changed, 73 insertions, 57 deletions
diff --git a/classes/package.bbclass b/classes/package.bbclass index e01479677f..4079e11ac8 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -581,6 +581,11 @@ python package_do_shlibs() { if pstageactive == "1": lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d)) + if bb.data.getVar('PACKAGE_SNAP_LIB_SYMLINKS', d, True) == "1": + snap_symlinks = True + else: + snap_symlinks = False + needed = {} private_libs = bb.data.getVar('PRIVATE_LIBS', d, 1) for pkg in packages.split(): @@ -590,6 +595,7 @@ python package_do_shlibs() { needed[pkg] = [] sonames = list() top = os.path.join(pkgdest, pkg) + renames = [] for root, dirs, files in os.walk(top): for file in files: soname = None @@ -605,12 +611,18 @@ python package_do_shlibs() { if m: needed[pkg].append(m.group(1)) m = re.match("\s+SONAME\s+([^\s]*)", l) - if m and not m.group(1) in sonames: - # if library is private (only used by package) then do not build shlib for it - if not private_libs or -1 == private_libs.find(m.group(1)): - sonames.append(m.group(1)) - if m and libdir_re.match(root): - needs_ldconfig = True + if m: + this_soname = m.group(1) + if not this_soname in sonames: + # if library is private (only used by package) then do not build shlib for it + if not private_libs or -1 == private_libs.find(this_soname): + sonames.append(this_soname) + if libdir_re.match(root): + needs_ldconfig = True + if snap_symlinks and (file != soname): + renames.append((path, os.path.join(root, this_soname))) + for (old, new) in renames: + os.rename(old, new) shlibs_file = os.path.join(shlibs_dir, pkg + ".list") if os.path.exists(shlibs_file): os.remove(shlibs_file) diff --git a/packages/curl/curl.inc b/packages/curl/curl.inc new file mode 100644 index 0000000000..ae2cff6e10 --- /dev/null +++ b/packages/curl/curl.inc @@ -0,0 +1,52 @@ +DESCRIPTION = "Command line tool and library for client-side URL transfers." +LICENSE = "MIT" +DEPENDS = "zlib gnutls" +SECTION = "console/network" + +SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ + file://pkgconfig_fix.patch;patch=1" +S = "${WORKDIR}/curl-${PV}" + +inherit autotools pkgconfig binconfig + +EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \ + --with-gnutls=${STAGING_BINDIR_CROSS}/ \ + --without-ssl \ + --without-libssh2 \ + --with-random=/dev/urandom \ + --without-libidn \ + --enable-crypto-auth \ + " + +do_configure_prepend() { + sed -i s:OPT_GNUTLS/bin:OPT_GNUTLS:g configure.ac +} + +do_stage () { + install -d ${STAGING_INCDIR}/curl + install -m 0644 ${S}/include/curl/*.h ${STAGING_INCDIR}/curl/ + oe_libinstall -so -a -C lib libcurl ${STAGING_LIBDIR} +} + +PACKAGES += "${PN}-certs libcurl libcurl-dev libcurl-doc" + +FILES_${PN} = "${bindir}/curl" + +FILES_${PN}-certs = "${datadir}/curl/curl-*" +PACKAGE_ARCH_${PN}-certs = "all" + +FILES_${PN}-doc = "${mandir}/man1/curl.1" + +FILES_lib${PN} = "${libdir}/lib*.so.*" +RRECOMMENDS_lib${PN} += "${PN}-certs" +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${datadir}/aclocal \ + ${bindir}/*-config" + +FILES_lib${PN}-doc = "${mandir}/man3 \ + ${mandir}/man1/curl-config.1" + diff --git a/packages/curl/curl_7.18.2.bb b/packages/curl/curl_7.18.2.bb index ae2cff6e10..2c3ec415f5 100644 --- a/packages/curl/curl_7.18.2.bb +++ b/packages/curl/curl_7.18.2.bb @@ -1,52 +1,2 @@ -DESCRIPTION = "Command line tool and library for client-side URL transfers." -LICENSE = "MIT" -DEPENDS = "zlib gnutls" -SECTION = "console/network" - -SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://pkgconfig_fix.patch;patch=1" -S = "${WORKDIR}/curl-${PV}" - -inherit autotools pkgconfig binconfig - -EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \ - --with-gnutls=${STAGING_BINDIR_CROSS}/ \ - --without-ssl \ - --without-libssh2 \ - --with-random=/dev/urandom \ - --without-libidn \ - --enable-crypto-auth \ - " - -do_configure_prepend() { - sed -i s:OPT_GNUTLS/bin:OPT_GNUTLS:g configure.ac -} - -do_stage () { - install -d ${STAGING_INCDIR}/curl - install -m 0644 ${S}/include/curl/*.h ${STAGING_INCDIR}/curl/ - oe_libinstall -so -a -C lib libcurl ${STAGING_LIBDIR} -} - -PACKAGES += "${PN}-certs libcurl libcurl-dev libcurl-doc" - -FILES_${PN} = "${bindir}/curl" - -FILES_${PN}-certs = "${datadir}/curl/curl-*" -PACKAGE_ARCH_${PN}-certs = "all" - -FILES_${PN}-doc = "${mandir}/man1/curl.1" - -FILES_lib${PN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${PN} += "${PN}-certs" -FILES_lib${PN}-dev = "${includedir} \ - ${libdir}/lib*.so \ - ${libdir}/lib*.a \ - ${libdir}/lib*.la \ - ${libdir}/pkgconfig \ - ${datadir}/aclocal \ - ${bindir}/*-config" - -FILES_lib${PN}-doc = "${mandir}/man3 \ - ${mandir}/man1/curl-config.1" +require curl.inc diff --git a/packages/curl/curl_7.19.0.bb b/packages/curl/curl_7.19.0.bb new file mode 100644 index 0000000000..2c3ec415f5 --- /dev/null +++ b/packages/curl/curl_7.19.0.bb @@ -0,0 +1,2 @@ +require curl.inc + |