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