summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/rpm')
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.0.bb52
1 files changed, 2 insertions, 50 deletions
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
index ba1a2a2341..566325ea4a 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -43,12 +43,11 @@ LICENSE = "LGPL 2.1"
43LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" 43LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
44 44
45DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt" 45DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt"
46PR = "r10" 46PR = "r11"
47 47
48# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed 48# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
49# in order to extract the distribution SRPM into a format we can extract... 49# in order to extract the distribution SRPM into a format we can extract...
50SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm \ 50SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;unpack=rpm-5.4.0.tar.gz \
51 file://rpm2cpio;md5=1850f9872a4803f5165bfd5816274275 \
52 file://perfile_rpmdeps.sh \ 51 file://perfile_rpmdeps.sh \
53 file://rpm-autogen.patch \ 52 file://rpm-autogen.patch \
54 file://rpm-libsql-fix.patch \ 53 file://rpm-libsql-fix.patch \
@@ -66,8 +65,6 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm \
66SRC_URI[md5sum] = "19c1a7f68d7765eeb7615c9c4e54e380" 65SRC_URI[md5sum] = "19c1a7f68d7765eeb7615c9c4e54e380"
67SRC_URI[sha256sum] = "887e76218308b570c33c8c2fb10b5298b3afd5d602860d281befc85357b3b923" 66SRC_URI[sha256sum] = "887e76218308b570c33c8c2fb10b5298b3afd5d602860d281befc85357b3b923"
68 67
69SRPM_UNPACK = "rpm-5.4.0.tar.gz"
70
71inherit autotools gettext 68inherit autotools gettext
72 69
73acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" 70acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
@@ -328,51 +325,6 @@ FILE_${PN}-dev = "${includedir}/rpm \
328###%{_rpmhome}/lib/librpmjsm.la 325###%{_rpmhome}/lib/librpmjsm.la
329###%{_rpmhome}/lib/librpmjsm.so 326###%{_rpmhome}/lib/librpmjsm.so
330 327
331def subprocess_setup():
332 import signal
333 # Python installs a SIGPIPE handler by default. This is usually not what
334 # non-Python subprocesses expect.
335 # SIGPIPE errors are known issues with gzip/bash
336 signal.signal(signal.SIGPIPE, signal.SIG_DFL)
337
338# If base_do_unpack is refactored this may have to be adjusted
339python base_do_unpack_append() {
340 import subprocess
341
342 for url in bb.data.getVar("SRC_URI", d, True).split():
343 local = bb.fetch2.localpath(url, d)
344 if local is None:
345 continue
346 local = os.path.realpath(local)
347
348 if local.endswith('.src.rpm') or local.endswith('.srpm'):
349 cmdname = os.path.join(bb.data.getVar('WORKDIR', localdata, 1),'rpm2cpio')
350 efile = os.path.join(bb.data.getVar('WORKDIR', localdata, 1),os.path.basename(local))
351 cmd = "%s %s | cpio -i" % (cmdname, efile)
352 cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', localdata, 1), cmd)
353 old_cwd = os.getcwd()
354 newdir = os.path.join(d.getVar("WORKDIR", True), 'srpm-unpack')
355 bb.mkdirhier(newdir)
356 os.chdir(newdir)
357 ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
358 os.chdir(old_cwd)
359 if ret != 0:
360 raise bb.build.FuncFailed('Unpack command failed: %s (%s)' % (cmd, ret))
361
362 srpm_uri = bb.data.getVar('SRPM_UNPACK', localdata, True).split()
363 if len(srpm_uri) == 0:
364 return
365
366 rootdir = bb.data.getVar('WORKDIR', localdata, True)
367 srpm_file_uri = [ "file://" + rootdir + "/srpm-unpack/" + uri for uri in srpm_uri];
368
369 try:
370 fetcher = bb.fetch2.Fetch(srpm_file_uri, localdata, cache=False)
371 fetcher.unpack(rootdir, srpm_file_uri)
372 except bb.fetch2.BBFetchException, e:
373 raise bb.build.FuncFailed(e)
374}
375
376do_configure() { 328do_configure() {
377 # Disable tests! 329 # Disable tests!
378 echo "all:" > tests/Makefile.am 330 echo "all:" > tests/Makefile.am