Contents of /trunk/extras/kdebase-workspace/kdebase-workspace-4.9.4-r2.smage2
Parent Directory | Revision Log
Revision 15717 -
(show annotations)
(download)
Mon Jan 7 13:50:11 2013 UTC (11 years, 8 months ago) by niro
File size: 7376 byte(s)
Mon Jan 7 13:50:11 2013 UTC (11 years, 8 months ago) by niro
File size: 7376 byte(s)
-fixed broken dependencies
1 | # $Id$ |
2 | |
3 | PNAME="kdebase-workspace" |
4 | PVER="4.9.4" |
5 | PBUILD="r2" |
6 | |
7 | SPLIT_PACKAGES="libkworkspace kdm kdebase-workspace" |
8 | |
9 | # todo: |
10 | # - google-gadgets |
11 | # - libgps |
12 | # - lm_sensors support |
13 | COMMON_DEPEND="== kde-base/kdelibs-${PVER}" |
14 | LIBKWORKSPACE_DEPEND="${COMMON_DEPEND}" |
15 | |
16 | WORKSPACE_DEPEND="${COMMON_DEPEND} |
17 | == kde-base/kdepimlibs-${PVER} |
18 | == kde-base/kdepim-runtime-${PVER} |
19 | == kde-base/kactivities-${PVER} |
20 | == kde-base/kde-wallpapers-${PVER} |
21 | == kde-base/kde-base-artwork-${PVER} |
22 | >= virtual/phonon |
23 | >= dev-libs/polkit-qt-0.103 |
24 | >= kde-base/polkit-kde-kcmodules-0.99 |
25 | >= kde-base/polkit-kde-agent-0.99 |
26 | >= dev-libs/glib2-2.34 |
27 | >= dev-libs/libusb-compat-1 |
28 | >= dev-libs/soprano-2.8 |
29 | >= dev-libs/shared-desktop-ontologies-0.10 |
30 | >= media-libs/fontconfig-2.9 |
31 | >= media-libs/freetype-2.4 |
32 | >= media-libs/prison-1 |
33 | >= sys-apps/pciutils-3.1 |
34 | >= sys-libs/libraw1394-2.1 |
35 | >= sci-libs/libqalculate-0.9.7 |
36 | >= x11-apps/xprop-1.2 |
37 | >= x11-apps/xrandr-1.3 |
38 | >= x11-apps/xrdb-1 |
39 | >= x11-apps/xset-1.2 |
40 | >= x11-apps/xsetroot-1.1 |
41 | >= x11-libs/libxkbfile-1.0.7 |
42 | >= x11-libs/libXcomposite-0.4 |
43 | >= x11-libs/libXdamage-1.1 |
44 | >= x11-libs/libXfixes-5 |
45 | >= x11-libs/libXft-2.2 |
46 | >= x11-libs/libXinerama-1.1 |
47 | >= x11-libs/libXScrnSaver-1 |
48 | >= x11-libs/libXrender-0.9 |
49 | >= x11-libs/libXres-1 |
50 | >= x11-libs/libXrandr-1.3 |
51 | >= virtual/opengl" |
52 | |
53 | KDM_DEPEND="${COMMON_DEPEND} |
54 | >= kde-base/qimageblitz-0.0.6 |
55 | >= sys-apps/dbus-1.6 |
56 | >= sys-libs/pam-1.1 |
57 | >= x11-libs/libX11-1.4 |
58 | >= x11-libs/libXtst-1.2 |
59 | >= x11-apps/xinit-1.3 |
60 | >= x11-apps/xmessage-1" |
61 | |
62 | SDEPEND=">= dev-libs/boost-1.51 |
63 | >= dev-python/pyqt4-4.9 |
64 | == dev-python/pykde4-${PVER} |
65 | >= net-misc/networkmanager-0.9.6 |
66 | >= x11-proto/compositeproto-1 |
67 | >= x11-proto/damageproto-1 |
68 | >= x11-proto/fixesproto-5 |
69 | >= x11-proto/randrproto-1.3 |
70 | >= x11-proto/renderproto-0.11 |
71 | >= x11-proto/scrnsaverproto-1 |
72 | >= x11-proto/xineramaproto-1" |
73 | |
74 | SRCFILE="kde-workspace-${PVER}.tar.xz" |
75 | SRCDIR="${BUILDDIR}/kde-workspace-${PVER}" |
76 | |
77 | # no meta-package required |
78 | KDE4_GENERATE_META_PACKAGE=0 |
79 | sminclude kde4-split-2 |
80 | |
81 | # script/pam revisions |
82 | KDE_PAMD=kde.pamd-systemauth |
83 | KDE_NP_PAMD=kde-np.pamd-systemauth |
84 | KDM_REV=1.2 |
85 | AGENT_STARTUP_REV=1.2 |
86 | AGENT_SHUTDOWN_REV=1.2 |
87 | |
88 | SRC_URI=( |
89 | ${SRC_URI[*]} |
90 | mirror://${PNAME}/kde.desktop |
91 | mirror://${PNAME}/${KDE_PAMD} |
92 | mirror://${PNAME}/${KDE_NP_PAMD} |
93 | mirror://${PNAME}/agent-startup.sh-${AGENT_STARTUP_REV} |
94 | mirror://${PNAME}/agent-shutdown.sh-${AGENT_SHUTDOWN_REV} |
95 | mirror://${PNAME}/kdm.logrotate |
96 | mirror://${PNAME}/kdm.service-${KDM_REV} |
97 | mirror://${PNAME}/${PNAME}-${PVER}-rootprivs.patch |
98 | mirror://${PNAME}/${PNAME}-${PVER}-battery-plasmoid-showremainingtime.patch |
99 | mirror://${PNAME}/${PNAME}-${PVER}-kdm-plymouth.patch |
100 | mirror://${PNAME}/${PNAME}-${PVER}-xsession-errors-O_APPEND.patch |
101 | mirror://${PNAME}/${PNAME}-${PVER}-fix-reboot.patch |
102 | mirror://${PNAME}/${PNAME}-${PVER}-systemd-displaymanager.patch |
103 | ) |
104 | |
105 | UP2DATE="updatecmd http://www.kde.org/download/ | grep ${PNAME/4/} | sed -n '1 p' | sed 's/.*-\([^ ]*\) .*/\1/'" |
106 | |
107 | split_info_libkworkspace() |
108 | { |
109 | DESCRIPTION="A library for KDE desktop applications." |
110 | DEPEND="${LIBKWORKSPACE_DEPEND}" |
111 | } |
112 | |
113 | split_info_kdm() |
114 | { |
115 | DESCRIPTION="KDE4 login manager." |
116 | DEPEND="${KDM_DEPEND} |
117 | == kde-base/libkworkspace-${PVER}" |
118 | PROVIDE="virtual/windowmanager" |
119 | } |
120 | |
121 | split_info_kdebase-workspace() |
122 | { |
123 | DESCRIPTION="The KDE4 workspace." |
124 | DEPEND="${WORKSPACE_DEPEND} |
125 | == kde-base/kdm-${PVER}" |
126 | } |
127 | |
128 | src_prepare() |
129 | { |
130 | munpack ${SRCFILE} || die |
131 | cd ${SRCDIR} |
132 | |
133 | # allow systemsettings to enter an administrative mode |
134 | mpatch ${PNAME}-${PVER}-rootprivs.patch || die |
135 | |
136 | # show remaing battery time by default |
137 | mpatch ${PNAME}-${PVER}-battery-plasmoid-showremainingtime.patch || die |
138 | |
139 | # improved plymouth support |
140 | mpatch ${PNAME}-${PVER}-kdm-plymouth.patch || die |
141 | |
142 | # add missing O_APPEND |
143 | mpatch ${PNAME}-${PVER}-xsession-errors-O_APPEND.patch || die |
144 | |
145 | # systemd fix kdm restart/shutdown does not work |
146 | mpatch ${PNAME}-${PVER}-fix-reboot.patch || die |
147 | |
148 | # fully support systemd |
149 | mpatch ${PNAME}-${PVER}-systemd-displaymanager.patch || die |
150 | } |
151 | |
152 | src_compile() |
153 | { |
154 | cd ${SRCDIR} |
155 | |
156 | # no consolekit anymore, use systemd-logind |
157 | kde4_configure \ |
158 | $(cmake_with Akonadi) \ |
159 | $(cmake_with Boost) \ |
160 | $(cmake_with GLIB2) \ |
161 | $(cmake_with NetworkManager) \ |
162 | $(cmake_with OpenGL) \ |
163 | $(cmake_with PAM) \ |
164 | $(cmake_with PyKDE4) \ |
165 | $(cmake_with PythonLibrary) \ |
166 | $(cmake_with Qalculate) \ |
167 | $(cmake_with RAW1394) \ |
168 | $(cmake_with SIP) \ |
169 | $(cmake_with Soprano) \ |
170 | $(cmake_with USB) \ |
171 | $(cmake_with XKB) \ |
172 | $(cmake_without Googlegadgets) \ |
173 | $(cmake_without Sensors) \ |
174 | $(cmake_without Xmms) \ |
175 | $(cmake_without libgps) \ |
176 | $(cmake_without CkConnector) \ |
177 | || die |
178 | |
179 | mmake || die |
180 | } |
181 | |
182 | src_install_libkworkspace() |
183 | { |
184 | cd ${SRCDIR} |
185 | kde4-split_src_install_wrapper libs/kworkspace || die |
186 | |
187 | # generate a list of all files and dirs to prune later from base pkg |
188 | find ${BINDIR} -type d -printf '%P\n' > ${BUILDDIR}/libkworkspace.dirs || die |
189 | find ${BINDIR} '!' -type d -printf '%P\n' > ${BUILDDIR}/libkworkspace.files || die |
190 | } |
191 | |
192 | src_install_kdm() |
193 | { |
194 | cd ${SRCDIR} |
195 | |
196 | local kdemodule="kdm" |
197 | |
198 | # generate a valid kdm configuration |
199 | minstalldir ${KDEDIR}/share/config/kdm || die |
200 | export GENKDMCONF_FLAGS="--no-old --no-backup" |
201 | kde4-split_src_install_wrapper ${kdemodule} || die |
202 | kde4-split_src_install_wrapper libs/${kdemodule} || die |
203 | kde4-split_src_install_wrapper doc/${kdemodule} || die |
204 | |
205 | # generate a list of all files and dirs to prune later from base pkg |
206 | find ${BINDIR} -type d -printf '%P\n' > ${BUILDDIR}/kdm.dirs || die |
207 | find ${BINDIR} '!' -type d -printf '%P\n' > ${BUILDDIR}/kdm.files || die |
208 | |
209 | # workaround a dm bug the the xserver is not restarted |
210 | # see: https://bugs.kde.org/show_bug.cgi?id=202629#c13 |
211 | sed -i -e '/#TerminateServer=/s/^.*$/TerminateServer=true/' \ |
212 | -e '/#ServerTimeout=/s/^.*$/ServerTimeout=30/' \ |
213 | ${BINDIR}/usr/share/config/kdm/kdmrc || die |
214 | |
215 | # install gnome session |
216 | minstalldir /usr/share/xsessions || die |
217 | minstallexec -s kde.desktop /usr/share/xsessions || die |
218 | |
219 | # install pam related stuff |
220 | minstallpam ${KDE_PAMD} kde || die |
221 | minstallpam ${KDE_NP_PAMD} kde-np || die |
222 | |
223 | # systemd unit |
224 | minstallunit kdm.service-${KDM_REV} kdm.service || die |
225 | |
226 | # kdm logrotate |
227 | minstalllog kdm.logrotate kdm || die |
228 | |
229 | # kdm run dir |
230 | mkeepdir /var/lib/kdm || die |
231 | mchown root:kdm /var/lib/kdm || die |
232 | mchmod 1770 /var/lib/kdm || die |
233 | } |
234 | |
235 | src_install_kdebase-workspace() |
236 | { |
237 | cd ${SRCDIR} |
238 | kde4_src_install || die |
239 | |
240 | # prune files and dirs owned by other packages |
241 | local i |
242 | local x |
243 | cd ${BINDIR} |
244 | for x in kdm libkworkspace |
245 | do |
246 | for i in $(< ${BUILDDIR}/${x}.files) |
247 | do |
248 | if [ -e ${i} ] || [ -L ${i} ]] |
249 | then |
250 | rm -v ${i} || die "${x}:prune ${i}" |
251 | fi |
252 | done |
253 | for i in $(tac ${BUILDDIR}/${x}.dirs) |
254 | do |
255 | if [ -d ${i} ] |
256 | then |
257 | rmdir -v --ignore-fail-on-non-empty ${i} || die |
258 | fi |
259 | done |
260 | done |
261 | cd ${SRCDIR} |
262 | |
263 | # install global agent startup and shutdown scripts |
264 | minstalldir ${KDECONFDIR}/env || die |
265 | minstallfile -s agent-startup.sh-${AGENT_STARTUP_REV} ${KDECONFDIR}/env/agent-startup.sh || die |
266 | minstalldir ${KDECONFDIR}/shutdown || die |
267 | minstallfile -s agent-shutdown.sh-${AGENT_SHUTDOWN_REV} ${KDECONFDIR}/shutdown/agent-shutdown.sh || die |
268 | } |
269 | |
270 | preinstall_kdm() |
271 | { |
272 | # kdm now requires a user |
273 | ${MLIBDIR}/mgroupadd -o "-g 135" kdm |
274 | ${MLIBDIR}/museradd -o "-u 135 -g kdm -d /var/lib/kdm -s /bin/false" kdm |
275 | } |
276 | |
277 | postinstall_kdm() |
278 | { |
279 | mreloadunit dbus.service |
280 | mstartunit kdm.service |
281 | } |
282 | |
283 | postremove_kdm() |
284 | { |
285 | mstopunit kdm.service |
286 | mreloadunit dbus.service |
287 | } |