blob: 9ba11265335dc07733a0b9496bbb50bf471b36fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
DESCRIPTION = "The RPM Package Manager - relaunched"
HOMEPAGE = "http://rpm5.org/"
LICENSE = "LGPL 2.1"
DEPENDS = "zlib perl popt beecrypt python libpcre"
PR = "r0"
SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.1/${BPN}-${PV}.tar.gz \
file://remove-compiled-tests.patch;apply=no \
"
inherit autotools gettext
acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
# Specify the default rpm macros in terms of adjustable variables
rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
EXTRA_OECONF = "--with-python=$PYTHONVER \
--with-python-inc-dir=${STAGING_INCDIR}/python$PYTHONVER \
--with-python-lib-dir=${libdir}/python$PYTHONVER \
--with-db=internal \
--with-db-tools-integrated \
--without-apidocs \
--without-selinux \
--without-lua \
--without-dmalloc \
--without-efence \
--without-neon \
--with-pcre=${libdir} \
--with-path-macros=${rpm_macros}"
CFLAGS_append = " -DRPM_VENDOR_WINDRIVER"
PACKAGES += "python-rpm"
FILES_python-rpm = "${libdir}/python*/site-packages/rpm/_*"
# The mutex needs to be POSIX/pthreads/library or we can't
# share a database between host and target environments
# (there is a minor performance penalty, but not one great enough
# to justify the pain of a more optimized approach!)
EXTRA_OECONF += "--with-mutex=POSIX/pthreads/library"
do_configure() {
rm ${S}/db/dist/configure.in -f
for i in `find ${S} -name *.ac`; do
j=`echo $i | sed 's/.ac/.m4/g'`
mv $i $j
done
export ac_cv_va_copy=C99
autotools_do_configure
cd ${S}/db3
${S}/db3/configure \
--build=${BUILD_SYS} \
--host=${HOST_SYS} \
--target=${TARGET_SYS} \
--prefix=${prefix} \
--exec_prefix=${exec_prefix} \
--bindir=${bindir} \
--sbindir=${sbindir} \
--libexecdir=${libexecdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
--sharedstatedir=${sharedstatedir} \
--localstatedir=${localstatedir} \
--libdir=${libdir} \
--includedir=${includedir} \
--oldincludedir=${oldincludedir} \
--infodir=${infodir} \
--mandir=${mandir} \
${EXTRA_OECONF}
}
INSTALL_ACTIONS=""
# When installing the native version, the rpm components are renamed with a
# naming transform. We need to adjust the rpmpopt file with the same transform
INSTALL_ACTIONS_virtclass-native="sed -i -e 's,rpm,${HOST_SYS}-rpm,' ${D}/${libdir}/rpm/rpmpopt"
do_install_append() {
${INSTALL_ACTIONS}
sed -i -e 's,%__check_files,#%%__check_files,' ${D}/${libdir}/rpm/macros
}
def rpm_python_version(d):
import os, bb
staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
if os.path.exists( "%s/python2.6" % staging_incdir ): return "2.6"
if os.path.exists( "%s/python2.5" % staging_incdir ): return "2.5"
if os.path.exists( "%s/python2.4" % staging_incdir ): return "2.4"
if os.path.exists( "%s/python2.3" % staging_incdir ): return "2.3"
raise "No Python in STAGING_INCDIR. Forgot to build python/python-native?"
# Use a shell variable here since otherwise gettext trys to expand this at
# parse time when it manipulates EXTRA_OECONF which fails
export PYTHONVER = "${@rpm_python_version(d)}"
BBCLASSEXTEND = "native"
|