diff options
Diffstat (limited to 'meta/recipes-devtools/python/python-smartpm_git.bb')
-rw-r--r-- | meta/recipes-devtools/python/python-smartpm_git.bb | 136 |
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 @@ | |||
1 | SUMMARY = "The Smart Package Manager" | ||
2 | DESCRIPTION = "The Smart Package Manager project has the ambitious objective of creating \ | ||
3 | smart and portable algorithms for solving adequately the problem of managing software \ | ||
4 | upgrades and installation." | ||
5 | |||
6 | HOMEPAGE = "http://labix.org/smart/" | ||
7 | SECTION = "devel/python" | ||
8 | LICENSE = "GPLv2" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" | ||
10 | |||
11 | DEPENDS = "python rpm gettext-native python-rpm" | ||
12 | SRCNAME = "smart" | ||
13 | |||
14 | SRC_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 | |||
26 | SRCREV = "407a7eca766431257dcd1da15175cc36a1bb22d0" | ||
27 | PV = "1.5+git${SRCPV}" | ||
28 | |||
29 | S = "${WORKDIR}/git" | ||
30 | |||
31 | # Options - rpm, qt4, gtk | ||
32 | PACKAGECONFIG ??= "rpm" | ||
33 | |||
34 | RPM_RDEP = "${PN}-backend-rpm" | ||
35 | QT_RDEP = "${PN}-interface-qt4" | ||
36 | GTK_RDEP = "${PN}-interface-gtk" | ||
37 | |||
38 | RPM_RDEP_class-native = "" | ||
39 | QT_RDEP_class-native = "" | ||
40 | GTK_RDEP_class-native = "" | ||
41 | |||
42 | RPM_RDEP_class-nativesdk = "" | ||
43 | QT_RDEP_class-nativesdk = "" | ||
44 | GTK_RDEP_class-nativesdk = "" | ||
45 | |||
46 | PACKAGECONFIG[rpm] = ",,rpm,${RPM_RDEP}" | ||
47 | PACKAGECONFIG[qt4] = ",,qt4-x11,${QT_RDEP}" | ||
48 | PACKAGECONFIG[gtk] = ",,gtk+,${GTK_RDEP}" | ||
49 | |||
50 | inherit distutils | ||
51 | |||
52 | do_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 | |||
92 | add_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 | |||
99 | do_install_append_class-native() { | ||
100 | add_native_wrapper | ||
101 | } | ||
102 | |||
103 | do_install_append_class-nativesdk() { | ||
104 | add_native_wrapper | ||
105 | } | ||
106 | |||
107 | PACKAGES = "${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 | |||
113 | RDEPENDS_smartpm = "${PN}" | ||
114 | |||
115 | RDEPENDS_${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" | ||
118 | RDEPENDS_${PN}_class-native = "" | ||
119 | |||
120 | RDEPENDS_${PN}-backend-rpm = "python-rpm" | ||
121 | |||
122 | RDEPENDS_${PN}-interface-qt4 = "qt4-x11 ${PN}-interface-images" | ||
123 | RDEPENDS_${PN}-interface-gtk = "gtk+ ${PN}-interface-images" | ||
124 | |||
125 | FILES_smartpm = "${bindir}/smart" | ||
126 | |||
127 | FILES_${PN}-dbg += "${libdir}/python*/site-packages/smart/backends/rpm/.debug" | ||
128 | |||
129 | FILES_${PN}-backend-rpm = "${libdir}/python*/site-packages/smart/backends/rpm" | ||
130 | |||
131 | FILES_${PN}-interface-qt4 = "${libdir}/python*/site-packages/smart/interfaces/qt4" | ||
132 | FILES_${PN}-interface-gtk = "${libdir}/python*/site-packages/smart/interfaces/gtk" | ||
133 | FILES_${PN}-interface-images = "${datadir}/${baselib}/python*/site-packages/smart/interfaces/images" | ||
134 | |||
135 | BBCLASSEXTEND = "native nativesdk" | ||
136 | |||