summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python-smartpm_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/python/python-smartpm_git.bb')
-rw-r--r--meta/recipes-devtools/python/python-smartpm_git.bb136
1 files changed, 136 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-smartpm_git.bb b/meta/recipes-devtools/python/python-smartpm_git.bb
new file mode 100644
index 0000000000..ed786e458e
--- /dev/null
+++ b/meta/recipes-devtools/python/python-smartpm_git.bb
@@ -0,0 +1,136 @@
1SUMMARY = "The Smart Package Manager"
2DESCRIPTION = "The Smart Package Manager project has the ambitious objective of creating \
3smart and portable algorithms for solving adequately the problem of managing software \
4upgrades and installation."
5
6HOMEPAGE = "http://labix.org/smart/"
7SECTION = "devel/python"
8LICENSE = "GPLv2"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
10
11DEPENDS = "python rpm gettext-native python-rpm"
12SRCNAME = "smart"
13
14SRC_URI = "\
15 git://github.com/smartpm/smart.git \
16 file://smartpm-rpm5-nodig.patch \
17 file://smart-recommends.patch \
18 file://smart-improve-error-reporting.patch \
19 file://smart-channelsdir.patch \
20 file://smart-attempt.patch \
21 file://smart-rpm4-fixes.patch \
22 file://smart-add-for-rpm-ignoresize-check.patch \
23 file://smart-already-installed-message.patch \
24 "
25
26SRCREV = "407a7eca766431257dcd1da15175cc36a1bb22d0"
27PV = "1.5+git${SRCPV}"
28
29S = "${WORKDIR}/git"
30
31# Options - rpm, qt4, gtk
32PACKAGECONFIG ??= "rpm"
33
34RPM_RDEP = "${PN}-backend-rpm"
35QT_RDEP = "${PN}-interface-qt4"
36GTK_RDEP = "${PN}-interface-gtk"
37
38RPM_RDEP_class-native = ""
39QT_RDEP_class-native = ""
40GTK_RDEP_class-native = ""
41
42RPM_RDEP_class-nativesdk = ""
43QT_RDEP_class-nativesdk = ""
44GTK_RDEP_class-nativesdk = ""
45
46PACKAGECONFIG[rpm] = ",,rpm,${RPM_RDEP}"
47PACKAGECONFIG[qt4] = ",,qt4-x11,${QT_RDEP}"
48PACKAGECONFIG[gtk] = ",,gtk+,${GTK_RDEP}"
49
50inherit distutils
51
52do_install_append() {
53 # We don't support the following items
54 rm -rf ${D}${libdir}/python*/site-packages/smart/backends/slack
55 rm -rf ${D}${libdir}/python*/site-packages/smart/backends/arch
56 rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/qt
57
58 # Temporary, debian support in OE is missing the python module
59 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/aptchannelsync.py*
60 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/debdir.py*
61 rm -rf ${D}${libdir}/python*/site-packages/smart/backends/deb
62
63 # Disable automatic channel detection
64 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/detectsys.py*
65
66 # Disable landscape support
67 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/landscape.py*
68
69 # Disable urpmi channel support
70 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/urpmichannelsync.py*
71
72 # Disable yum channel support
73 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/yumchannelsync.py*
74
75 # Disable zypper channel support
76 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/zyppchannelsync.py*
77
78 if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'rpm', 'rpm', '', d)}" ]; then
79 rm -f ${D}${libdir}/python*/site-packages/smart/plugins/rpmdir.py*
80 rm -rf ${D}${libdir}/python*/site-packages/smart/backends/rpm
81 fi
82
83 if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'qt4', 'qt4', '', d)}" ]; then
84 rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/qt4
85 fi
86
87 if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'gtk', '', d)}" ]; then
88 rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/gtk
89 fi
90}
91
92add_native_wrapper() {
93 create_wrapper ${D}/${bindir}/smart \
94 RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
95 RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \
96 RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale
97}
98
99do_install_append_class-native() {
100 add_native_wrapper
101}
102
103do_install_append_class-nativesdk() {
104 add_native_wrapper
105}
106
107PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc smartpm \
108 ${@bb.utils.contains('PACKAGECONFIG', 'rpm', '${PN}-backend-rpm', '', d)} \
109 ${@bb.utils.contains('PACKAGECONFIG', 'qt4', '${PN}-interface-qt4', '', d)} \
110 ${@bb.utils.contains('PACKAGECONFIG', 'gtk', '${PN}-interface-gtk', '', d)} \
111 ${PN}-interface-images ${PN}"
112
113RDEPENDS_smartpm = "${PN}"
114
115RDEPENDS_${PN} += "${PN}-backend-rpm python-codecs python-textutils python-xml python-fcntl \
116 python-pickle python-crypt python-compression python-shell \
117 python-resource python-netclient python-threading python-unixadmin python-pprint"
118RDEPENDS_${PN}_class-native = ""
119
120RDEPENDS_${PN}-backend-rpm = "python-rpm"
121
122RDEPENDS_${PN}-interface-qt4 = "qt4-x11 ${PN}-interface-images"
123RDEPENDS_${PN}-interface-gtk = "gtk+ ${PN}-interface-images"
124
125FILES_smartpm = "${bindir}/smart"
126
127FILES_${PN}-dbg += "${libdir}/python*/site-packages/smart/backends/rpm/.debug"
128
129FILES_${PN}-backend-rpm = "${libdir}/python*/site-packages/smart/backends/rpm"
130
131FILES_${PN}-interface-qt4 = "${libdir}/python*/site-packages/smart/interfaces/qt4"
132FILES_${PN}-interface-gtk = "${libdir}/python*/site-packages/smart/interfaces/gtk"
133FILES_${PN}-interface-images = "${datadir}/${baselib}/python*/site-packages/smart/interfaces/images"
134
135BBCLASSEXTEND = "native nativesdk"
136