5 Summary: Tizen Common Weston configuration and set-up
7 Group: Base/Configuration
8 Source0: %{name}-%{version}.tar.bz2
9 Source1001: weston-common.manifest
10 Provides: weston-startup
18 BuildRequires: autoconf >= 2.64, automake >= 1.11
19 BuildRequires: libtool >= 2.2
20 BuildRequires: libjpeg-devel
22 BuildRequires: pkgconfig
23 BuildRequires: pkgconfig(libpng)
24 BuildRequires: pkgconfig(xkbcommon)
25 BuildRequires: pkgconfig(wayland-client)
26 BuildRequires: pkgconfig(wayland-cursor)
27 BuildRequires: pkgconfig(wayland-egl)
28 BuildRequires: pkgconfig(egl)
29 BuildRequires: pkgconfig(glesv2)
30 BuildRequires: pkgconfig(pixman-1)
31 BuildRequires: pkgconfig(cairo)
32 BuildRequires: pkgconfig(cairo-egl)
33 BuildRequires: pkgconfig(cairo-glesv2)
34 BuildRequires: pkgconfig(weston)
35 BuildRequires: pkgconfig(glib-2.0)
36 BuildRequires: pkgconfig(gio-2.0)
42 ############ tz-launcher
44 Summary: A small launcher for Wayland compositors
46 %description tz-launcher
47 A small launcher for Wayland compositors
51 This package contains Tizen Common configuration and set-up for
52 the Weston compositor, including systemd unit files.
55 Summary: Tizen Common Weston configuration
56 Group: Base/Configuration
58 This package contains Tizen Common configuration for the Weston
70 %define daemon_user display
71 %define daemon_group display
76 # install weston service as 'display-manager.service' as it's the one wanted by graphical.target
77 mkdir -p %{buildroot}%{_unitdir}
78 install -m 644 display-manager-run.service %{buildroot}%{_unitdir}/display-manager-run.service
79 install -m 644 display-manager.service %{buildroot}%{_unitdir}/display-manager.service
80 install -m 644 display-manager.path %{buildroot}%{_unitdir}/display-manager.path
82 # install Environment file for weston service and weston-user.service
83 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
84 install -m 0644 weston.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/weston
85 install -m 0644 weston-user.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/weston-user
87 # install tmpfiles.d(5) conf
88 mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d
89 install -m 0644 weston_tmpfiles.conf %{buildroot}%{_prefix}/lib/tmpfiles.d/weston.conf
91 # install weston-user service in user session
92 mkdir -p %{buildroot}%{_unitdir_user}
93 install -m 644 weston-user.service %{buildroot}%{_unitdir_user}/
96 mkdir -p %{buildroot}%{_sysconfdir}/profile.d/
97 install -m 0644 weston.sh %{buildroot}%{_sysconfdir}/profile.d/
100 %define weston_config_dir %{_sysconfdir}/xdg/weston
101 mkdir -p %{buildroot}%{weston_config_dir}
102 install -m 0644 weston.ini %{buildroot}%{weston_config_dir}
104 # Add a rule to ensure the 'display' user has permissions to
105 # open the graphics device
106 mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d
107 cat >%{buildroot}%{_sysconfdir}/udev/rules.d/99-dri.rules <<'EOF'
108 SUBSYSTEM=="drm", MODE="0660", GROUP="%{daemon_group}", SMACK="*"
111 # user 'display' must own /dev/tty7 for weston to start correctly
112 cat >%{buildroot}%{_sysconfdir}/udev/rules.d/99-tty.rules <<'EOF'
113 SUBSYSTEM=="tty", KERNEL=="tty7", OWNER="%{daemon_user}", SMACK="^"
116 # user 'display' must also be able to access /dev/input/event*
117 cat >%{buildroot}%{_sysconfdir}/udev/rules.d/99-input.rules <<'EOF'
118 SUBSYSTEM=="input", KERNEL=="event*", MODE="0660", GROUP="input", SMACK="^"
121 # install desktop file
122 mkdir -p %{buildroot}%{_datadir}/applications
123 install -m 0644 weston-terminal.desktop %{buildroot}%{_datadir}/applications
126 # create groups 'display' and 'weston-launch'
127 getent group %{daemon_group} >/dev/null || %{_sbindir}/groupadd -r -o %{daemon_group}
128 getent group input >/dev/null || %{_sbindir}/groupadd -r -o input
129 getent group weston-launch >/dev/null || %{_sbindir}/groupadd -r -o weston-launch
131 # create user 'display'
132 getent passwd %{daemon_user} >/dev/null || %{_sbindir}/useradd -r -g %{daemon_group} -d /run/display -s /bin/false -c "Display daemon" %{daemon_user}
134 # add user 'display' to groups 'weston-launch', 'input' and 'video'
135 groupmod -A %{daemon_user} weston-launch
136 groupmod -A %{daemon_user} input
137 groupmod -A %{daemon_user} video
139 # setup display manager service
140 mkdir -p %{_unitdir}/graphical.target.wants/
141 ln -sf ../display-manager.path %{_unitdir}/graphical.target.wants/
143 # setup display manager access (inside user session)
144 mkdir -p %{_unitdir_user}/default.target.requires/
145 ln -sf ../weston-user.service %{_unitdir_user}/default.target.requires/
148 rm -f %{_unitdir}/graphical.target.wants/display-manager.path
149 rm -f %{_unitdir_user}/default.target.requires/weston-user.service
152 %manifest %{name}.manifest
153 %defattr(-,root,root)
155 %{_unitdir}/display-manager-run.service
156 %{_unitdir}/display-manager.service
157 %{_unitdir}/display-manager.path
158 %config %{_sysconfdir}/sysconfig/*
159 %{_prefix}/lib/tmpfiles.d/weston.conf
160 %{_unitdir_user}/weston-user.service
161 %config %{_sysconfdir}/profile.d/*
162 %config %{_sysconfdir}/udev/rules.d/*
163 %{_datadir}/applications/*.desktop
166 %manifest %{name}.manifest
167 %config %{weston_config_dir}/weston.ini
170 %manifest %{name}.manifest
171 %defattr(-,root,root)
173 %{_bindir}/tz-launcher