Contents of /trunk/extras/kdebase-workspace/kdebase-workspace-4.11.13-r2.smage2
Parent Directory | Revision Log
Revision 23444 -
(show annotations)
(download)
Tue Nov 25 12:17:47 2014 UTC (9 years, 6 months ago) by niro
File size: 8377 byte(s)
Tue Nov 25 12:17:47 2014 UTC (9 years, 6 months ago) by niro
File size: 8377 byte(s)
-fix kdm vt session inconsistency
1 | # $Id$ |
2 | |
3 | PNAME="kdebase-workspace" |
4 | PVER="4.11.13" |
5 | PBUILD="r1" |
6 | |
7 | SPLIT_PACKAGES="libkworkspace kdm kdebase-workspace" |
8 | |
9 | # todo: |
10 | # - google-gadgets |
11 | # - libgps |
12 | # - lm_sensors support |
13 | # - wayland support for kwin |
14 | COMMON_DEPEND="== kde-base/kdelibs-${PVER}" |
15 | LIBKWORKSPACE_DEPEND="${COMMON_DEPEND}" |
16 | |
17 | WORKSPACE_DEPEND="${COMMON_DEPEND} |
18 | == kde-base/kdepimlibs-${PVER} |
19 | == kde-base/kdepim-runtime-${PVER} |
20 | == kde-base/kactivities-${PVER} |
21 | == kde-base/kde-wallpapers-${PVER} |
22 | == kde-base/kde-base-artwork-${PVER} |
23 | >= virtual/phonon |
24 | >= dev-libs/polkit-qt-0.112 |
25 | >= kde-base/polkit-kde-kcmodules-0.99 |
26 | >= kde-base/polkit-kde-agent-0.99 |
27 | >= dev-libs/glib2-2.42 |
28 | >= dev-libs/libusb-compat-0.1 |
29 | >= dev-libs/soprano-2.9 |
30 | >= dev-libs/shared-desktop-ontologies-0.11 |
31 | >= media-libs/fontconfig-2.11 |
32 | >= media-libs/freetype-2.5 |
33 | >= media-libs/prison-1.1 |
34 | >= sys-apps/pciutils-3.1 |
35 | >= sys-libs/libraw1394-2.1 |
36 | >= sci-libs/libqalculate-0.9.7 |
37 | >= x11-apps/xprop-1.2 |
38 | >= x11-apps/xrandr-1.3 |
39 | >= x11-apps/xrdb-1 |
40 | >= x11-apps/xset-1.2 |
41 | >= x11-apps/xsetroot-1.1 |
42 | >= x11-libs/libxkbfile-1.0.7 |
43 | >= x11-libs/libXcomposite-0.4 |
44 | >= x11-libs/libXdamage-1.1 |
45 | >= x11-libs/libXfixes-5 |
46 | >= x11-libs/libXft-2.2 |
47 | >= x11-libs/libXinerama-1.1 |
48 | >= x11-libs/libXScrnSaver-1 |
49 | >= x11-libs/libXrender-0.9 |
50 | >= x11-libs/libXres-1 |
51 | >= x11-libs/libXrandr-1.3 |
52 | >= x11-libs/xcb-util-image-0.4 |
53 | >= x11-libs/xcb-util-renderutil-0.3.9 |
54 | >= x11-libs/xcb-util-keysyms-0.4 |
55 | >= x11-libs/xcb-util-wm-0.4 |
56 | >= virtual/opengl |
57 | >= media-libs/glu-9" |
58 | |
59 | KDM_DEPEND="${COMMON_DEPEND} |
60 | >= sys-libs/libsystemd-daemon-216 |
61 | >= sys-libs/libsystemd-login-216 |
62 | >= kde-base/qimageblitz-0.0.6 |
63 | >= sys-apps/dbus-1.8 |
64 | >= sys-libs/pam-1.1 |
65 | >= x11-libs/libX11-1.6 |
66 | >= x11-libs/libXtst-1.2 |
67 | >= x11-apps/xinit-1.3 |
68 | >= x11-apps/xmessage-1" |
69 | |
70 | SDEPEND="${LIBKWORKSPACE_DEPEND} |
71 | ${WORKSPACE_DEPEND} |
72 | ${KDM_DEPEND} |
73 | >= dev-libs/boost-1.56 |
74 | >= dev-python/pyqt4-4.11 |
75 | == dev-python/pykde4-${PVER} |
76 | >= net-misc/networkmanager-0.9.10 |
77 | >= app-text/docbook-xml-dtd42-4.2 |
78 | >= app-text/docbook-xsl-stylesheets-1.76" |
79 | |
80 | SRCFILE="kde-workspace-${PVER}.tar.xz" |
81 | SRCDIR="${BUILDDIR}/kde-workspace-${PVER}" |
82 | |
83 | # no meta-package required |
84 | KDE4_GENERATE_META_PACKAGE=0 |
85 | sminclude kde4-split-2 systemd |
86 | |
87 | # script/pam revisions |
88 | KDE_PAMD=kde.pamd-systemauth |
89 | KDE_NP_PAMD=kde-np.pamd-systemauth |
90 | KDM_REV=1.2 |
91 | AGENT_STARTUP_REV=1.2 |
92 | AGENT_SHUTDOWN_REV=1.2 |
93 | |
94 | SRC_URI=( |
95 | kde://4.14.2/src/${SRCFILE} |
96 | mirror://${PNAME}/${SRCFILE} |
97 | mirror://${PNAME}/kde.desktop |
98 | mirror://${PNAME}/${KDE_PAMD} |
99 | mirror://${PNAME}/${KDE_NP_PAMD} |
100 | mirror://${PNAME}/agent-startup.sh-${AGENT_STARTUP_REV} |
101 | mirror://${PNAME}/agent-shutdown.sh-${AGENT_SHUTDOWN_REV} |
102 | mirror://${PNAME}/kdm.logrotate |
103 | mirror://${PNAME}/kdm.service-${KDM_REV} |
104 | mirror://${PNAME}/${PNAME}-4.9.4-rootprivs.patch |
105 | mirror://${PNAME}/${PNAME}-4.9.4-battery-plasmoid-showremainingtime.patch |
106 | mirror://${PNAME}/${PNAME}-4.9.4-kdm-plymouth.patch |
107 | mirror://${PNAME}/${PNAME}-4.9.4-xsession-errors-O_APPEND.patch |
108 | mirror://${PNAME}/${PNAME}-4.9.4-fix-reboot.patch |
109 | mirror://${PNAME}/${PNAME}-4.11-kdm-logind-multiseat.patch |
110 | mirror://${PNAME}/${PNAME}-4.10.4-new-session-vt-numbers.patch |
111 | ) |
112 | |
113 | UP2DATE="updatecmd -listonly http://download.kde.org/stable/ | grep 'stable/[0-9]' | sed -n 's:.*/\([0-9].*\)/:\1:;$ p'" |
114 | |
115 | split_info_libkworkspace() |
116 | { |
117 | DESCRIPTION="A library for KDE desktop applications." |
118 | DEPEND="${LIBKWORKSPACE_DEPEND}" |
119 | } |
120 | |
121 | split_info_kdm() |
122 | { |
123 | DESCRIPTION="KDE4 login manager." |
124 | DEPEND="${KDM_DEPEND} |
125 | == kde-base/libkworkspace-${PVER}" |
126 | PROVIDE="virtual/windowmanager" |
127 | } |
128 | |
129 | split_info_kdebase-workspace() |
130 | { |
131 | DESCRIPTION="The KDE4 workspace." |
132 | DEPEND="${WORKSPACE_DEPEND} |
133 | == kde-base/kdm-${PVER}" |
134 | } |
135 | |
136 | pkg_setup() |
137 | { |
138 | preinstall_kdm |
139 | } |
140 | |
141 | src_prepare() |
142 | { |
143 | munpack ${SRCFILE} || die |
144 | cd ${SRCDIR} |
145 | |
146 | # allow systemsettings to enter an administrative mode |
147 | mpatch ${PNAME}-4.9.4-rootprivs.patch || die |
148 | |
149 | # show remaing battery time by default |
150 | mpatch ${PNAME}-4.9.4-battery-plasmoid-showremainingtime.patch || die |
151 | |
152 | # improved plymouth support |
153 | mpatch ${PNAME}-4.9.4-kdm-plymouth.patch || die |
154 | |
155 | # add missing O_APPEND |
156 | mpatch ${PNAME}-4.9.4-xsession-errors-O_APPEND.patch || die |
157 | |
158 | # systemd fix kdm restart/shutdown does not work |
159 | mpatch ${PNAME}-4.9.4-fix-reboot.patch || die |
160 | |
161 | # multiseat support with systemd |
162 | mpatch ${PNAME}-4.11-kdm-logind-multiseat.patch || die |
163 | |
164 | # use vt1 not vt7 |
165 | mpatch ${PNAME}-4.10.4-new-session-vt-numbers.patch || die |
166 | } |
167 | |
168 | src_compile() |
169 | { |
170 | cd ${SRCDIR} |
171 | |
172 | # no consolekit anymore, use systemd-logind |
173 | kde4_configure \ |
174 | $(cmake_with Akonadi) \ |
175 | $(cmake_with Boost) \ |
176 | $(cmake_with GLIB2) \ |
177 | $(cmake_with OpenGL) \ |
178 | $(cmake_with PAM) \ |
179 | $(cmake_with PythonLibrary) \ |
180 | $(cmake_with Qalculate) \ |
181 | $(cmake_with RAW1394) \ |
182 | $(cmake_with Soprano) \ |
183 | $(cmake_with USB) \ |
184 | $(cmake_with XKB) \ |
185 | $(cmake_without Sensors) \ |
186 | $(cmake_without Xmms) \ |
187 | $(cmake_without libgps) \ |
188 | $(cmake_without CkConnector) \ |
189 | || die |
190 | |
191 | mmake || die |
192 | } |
193 | |
194 | src_install_libkworkspace() |
195 | { |
196 | cd ${SRCDIR} |
197 | kde4-split_src_install_wrapper libs/kworkspace || die |
198 | } |
199 | |
200 | src_install_kdm() |
201 | { |
202 | cd ${SRCDIR} |
203 | |
204 | local module="kdm" |
205 | |
206 | # generate a valid kdm configuration |
207 | minstalldir ${KDEDIR}/share/config/kdm || die |
208 | export GENKDMCONF_FLAGS="--no-old --no-backup" |
209 | kde4-split_src_install_wrapper ${module} || die |
210 | kde4-split_src_install_wrapper libs/${module} || die |
211 | kde4-split_src_install_wrapper doc/${module} || die |
212 | |
213 | # workaround a dm bug the the xserver is not restarted |
214 | # see: https://bugs.kde.org/show_bug.cgi?id=202629#c13 |
215 | sed -i -e '/#TerminateServer=/s/^.*$/TerminateServer=true/' \ |
216 | -e '/#ServerTimeout=/s/^.*$/ServerTimeout=30/' \ |
217 | ${BINDIR}/usr/share/config/kdm/kdmrc || die |
218 | |
219 | # install gnome session |
220 | minstalldir /usr/share/xsessions || die |
221 | minstallexec -s kde.desktop /usr/share/xsessions || die |
222 | |
223 | # install pam related stuff |
224 | minstallpam ${KDE_PAMD} kde || die |
225 | minstallpam ${KDE_NP_PAMD} kde-np || die |
226 | |
227 | # systemd unit |
228 | minstallunit kdm.service-${KDM_REV} kdm.service || die |
229 | |
230 | # kdm logrotate |
231 | minstalllog kdm.logrotate kdm || die |
232 | |
233 | # kdm run dir |
234 | mkeepdir /var/lib/kdm || die |
235 | mchown root:kdm /var/lib/kdm || die |
236 | mchmod 1770 /var/lib/kdm || die |
237 | } |
238 | |
239 | src_install_kdebase-workspace() |
240 | { |
241 | cd ${SRCDIR} |
242 | |
243 | # to find all candidates search for 'cmake_install.cmake' |
244 | local module |
245 | # libs |
246 | for module in kephal ksysguard oxygen taskmanager plasmaclock plasmagenericshell |
247 | do |
248 | kde4-split_src_install_wrapper libs/${module} || die |
249 | done |
250 | # progs |
251 | for module in appmenu cursors freespacenotifier kcheckpass kcminit kcontrol khotkeys kinfocenter klipper \ |
252 | kmenuedit krunner kscreensaver ksmserver ksplash kstartupconfig kstyles ksysguard ksystraycmd ktouchpadenabler \ |
253 | kwin kwrited plasma powerdevil qguiplatformplugin_kde solid-actions-kcm statusnotifierwatcher systemsettings |
254 | do |
255 | kde4-split_src_install_wrapper ${module} || die |
256 | done |
257 | # cmake |
258 | kde4-split_src_install_wrapper cmake || die |
259 | # missing docs |
260 | kde4-split_src_install_wrapper doc/kfontview || die |
261 | kde4-split_src_install_wrapper doc/plasma-desktop || die |
262 | |
263 | # install missing files which are in the source root dir and not catched by the above |
264 | # minstallexec startkde ${KDEDIR}/bin || die |
265 | # minstalldir ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
266 | # minstallfile KDE4WorkspaceConfig.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
267 | # minstallfile KDE4WorkspaceConfigVersion.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
268 | # minstallfile CMakeFiles/Export/_*/$(mlibdir)/cmake/KDE4Workspace/KDE4WorkspaceLibraryTargets.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
269 | # minstallfile CMakeFiles/Export/_*/$(mlibdir)/cmake/KDE4Workspace/KDE4WorkspaceLibraryTargets-release.cmake ${KDEDIR}/$(mlibdir)/cmake/KDE4Workspace || die |
270 | # try a hack |
271 | cd ${BUILDDIR}/build |
272 | DESTDIR=${BINDIR} cmake -DCMAKE_INSTALL_LOCAL_ONLY='ON' -P cmake_install.cmake || die |
273 | cd ${SRCDIR} |
274 | |
275 | # install global agent startup and shutdown scripts |
276 | minstalldir ${KDEDIR}/env || die |
277 | minstallfile -s agent-startup.sh-${AGENT_STARTUP_REV} ${KDEDIR}/env/agent-startup.sh || die |
278 | minstalldir ${KDEDIR}/shutdown || die |
279 | minstallfile -s agent-shutdown.sh-${AGENT_SHUTDOWN_REV} ${KDEDIR}/shutdown/agent-shutdown.sh || die |
280 | } |
281 | |
282 | preinstall_kdm() |
283 | { |
284 | # kdm now requires a user |
285 | mgroupadd -o "-g 135" kdm |
286 | museradd -o "-u 135 -g kdm -d /var/lib/kdm -s /bin/false" kdm |
287 | } |
288 | |
289 | postinstall_kdm() |
290 | { |
291 | mreloadunit dbus.service |
292 | mstartunit kdm.service |
293 | } |
294 | |
295 | postremove_kdm() |
296 | { |
297 | mstopunit kdm.service |
298 | mreloadunit dbus.service |
299 | } |