Magellan Linux

Contents of /trunk/extras/kdebase-workspace/kdebase-workspace-4.9.4-r2.smage2

Parent Directory Parent Directory | Revision Log 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)
-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 }