summaryrefslogtreecommitdiffstats
path: root/meta/packages/rpm/rpm_4.4.2.3.bb
blob: b526c1bcdf9465d83b37fcdcd32f9296c49ed551 (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
DESCRIPTION = "The RPM Package Manager."
HOMEPAGE = "http://rpm.org/"
LICENSE = "LGPL GPL"
DEPENDS = "zlib beecrypt file popt python"
PR = "r12"

SRC_URI = "http://www.rpm.org/releases/rpm-4.4.x/rpm-4.4.2.3.tar.gz \
           file://external-tools.patch;patch=1 \
	   file://cross_libpaths.patch;patch=1 \
	   file://weakdeps.patch;patch=1;pnum=0 \
	   file://tagsbackport.patch;patch=1;pnum=0 \
	   file://missingok.patch;patch=1;pnum=0 \
	   file://extcond.patch;patch=1;pnum=0"

inherit autotools gettext

S = "${WORKDIR}/rpm-${PV}"

acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"

EXTRA_OECONF = "--with-python=$PYTHONVER \
		--with-python-incdir=${STAGING_INCDIR}/python$PYTHONVER \
		--with-python-libdir=${libdir}/python$PYTHONVER \
		--without-apidocs \
		--without-selinux \
		--without-lua \
		--without-dmalloc \
		--without-efence"

PACKAGES += "python-rpm"
FILES_python-rpm = "${libdir}/python*/site-packages/rpm/_*"

# Handle the db MUTEX settings here, the POSIX library is
# the default - "POSIX/pthreads/library".
# Don't ignore the nice SWP instruction on the ARM:
# These enable the ARM assembler mutex code, this won't
# work with thumb compilation...
ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
MUTEX = ""
MUTEX_arm = "${ARM_MUTEX}"
MUTEX_armeb = "${ARM_MUTEX}"
EXTRA_OECONF += "${MUTEX}"

export varprefix = "${localstatedir}"

do_configure () {
	rm ${S}/popt/ -Rf
	rm ${S}/db/dist/configure.in -f
	cd ${S}/db/dist/aclocal
	rm libtool* -f
	for i in `ls *.ac`; do
	    j=`echo $i | sed 's/.ac/.m4/g'`
	    mv $i $j
	done
	cd ${S}/db/dist/aclocal_java
	for i in `ls *.ac`; do
	    j=`echo $i | sed 's/.ac/.m4/g'`
	    mv $i $j
	done
	cd ${S}
	autotools_do_configure
	cd ${S}/db/dist
	. ./RELEASE
	# Edit version information we couldn't pre-compute.
	(echo "1,\$s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" &&
	 echo "1,\$s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" &&
	 echo "1,\$s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" &&
	 echo "1,\$s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" &&
	 echo "1,\$s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" &&
	 echo "1,\$s/__EDIT_DB_VERSION__/$DB_VERSION/g" &&
	 echo "w" &&
	 echo "q") | ed 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} \
		    --with-pic

}

do_install_append () {
	rmdir ${D}${localstatedir}/tmp || true
}

def rpm_python_version(d):
	import os, bb
	staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
	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)}"