]>
Commit | Line | Data |
---|---|---|
1 | # NOTE | |
2 | # - do not use any other user/group than "root", as then we have to depend on "setup" package. | |
3 | # see the gid_xxx macros and post scriptlet | |
4 | # FIXME: verify shows changed groups of dirs changed this way | |
5 | Summary: Common directories | |
6 | Summary(pl.UTF-8): Wspólne katalogi | |
7 | Name: filesystem | |
8 | Version: 4.1 | |
9 | Release: 19 | |
10 | License: GPL | |
11 | Group: Base | |
12 | BuildRequires: automake | |
13 | BuildRequires: mktemp | |
14 | BuildRequires: rpm >= 4.4.9-56 | |
15 | Requires: FHS >= 3.0 | |
16 | Provides: browser-plugins(%{_target_base_arch}) | |
17 | %ifarch %{x8664} | |
18 | Provides: browser-plugins(i386) | |
19 | %endif | |
20 | %ifarch ppc64 | |
21 | Provides: browser-plugins(ppc) | |
22 | %endif | |
23 | %ifarch s390x | |
24 | Provides: browser-plugins(s390) | |
25 | %endif | |
26 | %ifarch sparc64 | |
27 | Provides: browser-plugins(sparc) | |
28 | %endif | |
29 | Provides: filesystem-debuginfo = %{version}-%{release} | |
30 | Obsoletes: filesystem-debuginfo < 3.0-36 | |
31 | %if "%{pld_release}" != "ac" | |
32 | Conflicts: X11-libs < 1:7.7 | |
33 | %endif | |
34 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
35 | ||
36 | # Adapter: This file does not like to be adapterized! | |
37 | ||
38 | # disable rpm generated debug package, we handle it differently here | |
39 | %define _enable_debug_packages 0 | |
40 | ||
41 | %if "%{_lib}" == "lib64" | |
42 | %define with_lib64 1 | |
43 | %endif | |
44 | %if "%{_lib}" == "libx32" | |
45 | %define with_libx32 1 | |
46 | %define with_lib64 1 | |
47 | %else | |
48 | %ifarch %{x8664} | |
49 | # x32 as additional ABI | |
50 | %define with_libx32 1 | |
51 | %endif | |
52 | %endif | |
53 | ||
54 | # avoid rpm 4.4.9 adding rm -rf buildroot | |
55 | %define __spec_clean_body %{nil} | |
56 | ||
57 | # directory for "privilege separation" chroot | |
58 | %define _privsepdir /usr/share/empty | |
59 | # directory for *.idl files (for CORBA implementations) | |
60 | %define _idldir /usr/share/idl | |
61 | ||
62 | # we have to use numeric uids/groups. see comment beginning of the spec | |
63 | %define gid_logs 124 | |
64 | %define gid_crontab 117 | |
65 | ||
66 | %description | |
67 | This package contains common directories for packages that extend some | |
68 | programs functionality, but don't require them themselves. | |
69 | ||
70 | %description -l pl.UTF-8 | |
71 | Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających | |
72 | funkcjonalność programów, ale nie wymagających ich. | |
73 | ||
74 | %prep | |
75 | %setup -qcT | |
76 | ||
77 | %install | |
78 | rm -rf $RPM_BUILD_ROOT | |
79 | ||
80 | install -d \ | |
81 | $RPM_BUILD_ROOT/{initrd,selinux} \ | |
82 | $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,logrotate.d,fonts/conf.d,modprobe.d,pki/{CA,tls},security,skel,sysconfig,tmpwatch,xdg/colors} \ | |
83 | $RPM_BUILD_ROOT/home/{users,services} \ | |
84 | $RPM_BUILD_ROOT/lib/{firmware,security,udev/{hwdb.d,rules.d},systemd/system} \ | |
85 | $RPM_BUILD_ROOT/usr/include/{security,X11} \ | |
86 | $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d,binfmt.d} \ | |
87 | $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,bash-completion/completions,cmake/Modules,defaults,doc/gi-doc,factory/etc/pam.d,fish/vendor_completions.d,fontconfig/conf.avail,gnome/help,mate/help,man/man{n,l},man/pl/mann,metainfo,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xdg-desktop-portal/portals,xsessions,zsh/site-functions} \ | |
88 | $RPM_BUILD_ROOT/usr/src/examples \ | |
89 | $RPM_BUILD_ROOT/var/lock/subsys \ | |
90 | $RPM_BUILD_ROOT/var/log/archive \ | |
91 | $RPM_BUILD_ROOT%{_aclocaldir} \ | |
92 | $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \ | |
93 | $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \ | |
94 | $RPM_BUILD_ROOT/boot/efi/EFI \ | |
95 | $RPM_BUILD_ROOT/etc/OpenCL/vendors | |
96 | ||
97 | # XDG Autostart specs: https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html | |
98 | install -d $RPM_BUILD_ROOT/etc/xdg/autostart | |
99 | ||
100 | # XDG Desktop Menus specs: https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html | |
101 | # (+custom AppDir hierarchy) | |
102 | install -d $RPM_BUILD_ROOT{/etc/xdg/menus/applications-merged,/usr/share/desktop-directories,%{_desktopdir}/{docklets,screensavers}} | |
103 | ||
104 | # XDG Icon Theme specs: https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html | |
105 | # (top level only) | |
106 | install -d $RPM_BUILD_ROOT{%{_iconsdir},%{_pixmapsdir}} | |
107 | ||
108 | # XDG Sound Theme specs: https://specifications.freedesktop.org/sound-theme-spec/sound-theme-spec-latest.html | |
109 | # (top level only) | |
110 | install -d $RPM_BUILD_ROOT/usr/share/sounds | |
111 | ||
112 | > %{name}.lang | |
113 | install -d $RPM_BUILD_ROOT/usr/share/help/C | |
114 | ||
115 | for lang in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR \ | |
116 | be be@latin be@tarask bem bg bho bn bn_IN bo br brx bs byn \ | |
117 | ca ca@valencia ce chr ckb cmn crh cs csb cv cy \ | |
118 | da de de_AT de_CH doi dv dz \ | |
119 | el en en_AU en_CA en_GB en_NZ en@shaw en_US eo es \ | |
120 | es_AR es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY es_VE \ | |
121 | et eu fa ff fi fil fo fr fr_BE fr_CA fr_CH fur fy ga gd gez gl gu gv \ | |
122 | ha he hi hne hr hsb ht hu hy ia id ig ik is it it_CH iu ja \ | |
123 | ka kab kg kk kl km kn ko kok ks ks@devanagari ku kw ky la lb lg li ln lo lt lv \ | |
124 | mai mg mhr mi mk ml mn mni mr ms mt my nan nb nds ne nl nl_BE nn nr nso oc om or \ | |
125 | pa pap pl ps pt pt_BR quz rm ro ru rw \ | |
126 | sa sat sc sd sd@devanagari se shn si sid sk sl so sq \ | |
127 | sr sr@ijekavian sr@ijekavianlatin sr@latin ss st sv sw szl \ | |
128 | ta te tg th ti tig tk tl tlh tn tpi tr ts tt tt@iqtelif \ | |
129 | ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo zh_CN zh_HK zh_TW zu; do | |
130 | install -d $RPM_BUILD_ROOT/usr/share/help/${lang} | |
131 | echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang | |
132 | done | |
133 | ||
134 | %if %{with lib64} | |
135 | install -d \ | |
136 | $RPM_BUILD_ROOT/lib64/security \ | |
137 | $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \ | |
138 | $RPM_BUILD_ROOT/usr/lib/debug/lib64/security | |
139 | %endif | |
140 | %if %{with libx32} | |
141 | install -d \ | |
142 | $RPM_BUILD_ROOT/libx32/security \ | |
143 | $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \ | |
144 | $RPM_BUILD_ROOT/usr/lib/debug/libx32/security | |
145 | %endif | |
146 | ||
147 | %if "%{pld_release}" == "ac" | |
148 | rmdir $RPM_BUILD_ROOT/usr/include/X11 | |
149 | # X11 | |
150 | install -d $RPM_BUILD_ROOT/usr/X11R6/share | |
151 | for manp in man{1,2,3,4,5,6,7,8} ; do | |
152 | install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp | |
153 | for mloc in it ko pl; do | |
154 | install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp | |
155 | done | |
156 | done | |
157 | install -d $RPM_BUILD_ROOT/usr/share/wm-properties | |
158 | %endif | |
159 | ||
160 | install -d \ | |
161 | $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \ | |
162 | $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \ | |
163 | $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \ | |
164 | $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \ | |
165 | $RPM_BUILD_ROOT/usr/lib/debug/lib/security \ | |
166 | $RPM_BUILD_ROOT/usr/src/debug | |
167 | ||
168 | %clean | |
169 | cd $RPM_BUILD_ROOT | |
170 | ||
171 | check_filesystem_dirs() { | |
172 | RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm | |
173 | TMPFILE=$(mktemp) | |
174 | # note: we must exclude from check all existing dirs belonging to FHS | |
175 | find | sed -e 's|^\.||g' -e '/^$/d' | LC_ALL=C sort | grep -v $TMPFILE | \ | |
176 | grep -E -v '^/(boot|etc|etc/X11|home|lib|lib64|libx32|usr|usr/include|usr/lib|usr/lib64|usr/libx32|usr/share|usr/share/doc|usr/share/man|usr/share/man/pl|usr/src|var|var/lib|var/lock|var/log)$' > $TMPFILE | |
177 | ||
178 | if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then | |
179 | rm -rf $RPM_BUILD_ROOT | |
180 | else | |
181 | echo -e "\nNot so good, some directories are not included in package\n" | |
182 | exit 1 | |
183 | fi | |
184 | rm -f $TMPFILE | |
185 | } | |
186 | ||
187 | check_filesystem_dirs | |
188 | ||
189 | %if "%{pld_release}" != "ac" | |
190 | %pretrans -p <lua> | |
191 | -- this needs to be a dir | |
192 | if posix.stat("/usr/include/X11", "type") == "link" then | |
193 | posix.umask("0755"); | |
194 | os.rename("/usr/include/X11", "/usr/include/X11.rpmsave") | |
195 | posix.mkdir("/usr") | |
196 | posix.mkdir("/usr/include") | |
197 | posix.mkdir("/usr/include/X11") | |
198 | oldpwd = posix.getcwd() | |
199 | posix.chdir("/usr/include/X11.rpmsave") | |
200 | for i,j in pairs(posix.glob("*")) do | |
201 | os.rename(j, "/usr/include/X11/" .. j) | |
202 | end | |
203 | posix.chdir(oldpwd) | |
204 | end | |
205 | %endif | |
206 | ||
207 | %post -p <lua> | |
208 | posix.chown("/var/log/archive", 0, %{gid_logs}) | |
209 | posix.chown("/etc/cron.d", 0, %{gid_crontab}) | |
210 | ||
211 | %files -f %{name}.lang | |
212 | %defattr(644,root,root,755) | |
213 | %dir /boot/efi | |
214 | %dir /boot/efi/EFI | |
215 | %dir /etc/X11/xinit | |
216 | %dir /etc/X11/xinit/xinitrc.d | |
217 | %dir /etc/X11/xinit/xinput.d | |
218 | %dir /etc/OpenCL | |
219 | %dir /etc/OpenCL/vendors | |
220 | %attr(751,root,root) %dir /etc/certs | |
221 | # root:crontab | |
222 | %attr(750,root,root) %dir /etc/cron.d | |
223 | %dir /etc/default | |
224 | %dir /etc/fonts | |
225 | %dir /etc/fonts/conf.d | |
226 | %dir /etc/logrotate.d | |
227 | %dir /etc/modprobe.d | |
228 | %dir /etc/pki | |
229 | %dir /etc/pki/CA | |
230 | %dir /etc/pki/tls | |
231 | %attr(751,root,root) %dir /etc/security | |
232 | %dir /etc/skel | |
233 | %dir /etc/sysconfig | |
234 | %dir /etc/tmpwatch | |
235 | %dir /etc/xdg | |
236 | %dir /etc/xdg/autostart | |
237 | %dir /etc/xdg/colors | |
238 | %dir /etc/xdg/menus | |
239 | %dir /etc/xdg/menus/applications-merged | |
240 | %dir /etc/NetworkManager | |
241 | %dir /etc/NetworkManager/dispatcher.d | |
242 | %dir /home/users | |
243 | %dir /home/services | |
244 | %dir /initrd | |
245 | %dir /lib/firmware | |
246 | %dir /lib/security | |
247 | %dir /lib/systemd | |
248 | %dir /lib/systemd/system | |
249 | # for library packages or other software with optional udev support not to pull udev | |
250 | %dir /lib/udev | |
251 | %dir /lib/udev/hwdb.d | |
252 | %dir /lib/udev/rules.d | |
253 | %dir /selinux | |
254 | %if "%{pld_release}" != "ac" | |
255 | %dir /usr/include/X11 | |
256 | %endif | |
257 | %dir /usr/include/security | |
258 | %dir /usr/lib/ConsoleKit | |
259 | %dir /usr/lib/ConsoleKit/run-session.d | |
260 | %dir /usr/lib/binfmt.d | |
261 | %dir /usr/lib/browser-plugins | |
262 | %dir /usr/lib/cgi-bin | |
263 | %dir /usr/lib/cmake | |
264 | %dir /usr/lib/initrd | |
265 | %dir /usr/lib/mozilla | |
266 | %dir /usr/lib/mozilla/extensions | |
267 | %dir /usr/lib/pkcs11 | |
268 | %dir /usr/lib/pkgconfig | |
269 | %dir /usr/lib/tmpfiles.d | |
270 | %dir /usr/share/appdata | |
271 | %dir /usr/share/augeas | |
272 | %dir /usr/share/augeas/lenses | |
273 | %dir /usr/share/augeas/lenses/tests | |
274 | %dir /usr/share/backgrounds | |
275 | %dir /usr/share/bash-completion | |
276 | %dir /usr/share/bash-completion/completions | |
277 | %dir /usr/share/cmake | |
278 | %dir /usr/share/cmake/Modules | |
279 | %dir /usr/share/defaults | |
280 | %dir /usr/share/desktop-directories | |
281 | %dir /usr/share/doc/gi-doc | |
282 | %dir /usr/share/factory | |
283 | %dir /usr/share/factory/etc | |
284 | %dir /usr/share/factory/etc/pam.d | |
285 | %dir /usr/share/fish | |
286 | %dir /usr/share/fish/vendor_completions.d | |
287 | %dir /usr/share/fontconfig | |
288 | %dir /usr/share/fontconfig/conf.avail | |
289 | %dir /usr/share/gnome | |
290 | %dir /usr/share/gnome/help | |
291 | %dir /usr/share/mate | |
292 | %dir /usr/share/mate/help | |
293 | %dir /usr/share/metainfo | |
294 | %dir /usr/share/help | |
295 | %dir /usr/share/help/C | |
296 | %dir /usr/share/man/man[nl] | |
297 | %lang(pl) %dir /usr/share/man/pl/mann | |
298 | %dir /usr/share/pkgconfig | |
299 | %dir /usr/share/soundfonts | |
300 | %dir /usr/share/sounds | |
301 | %dir /usr/share/themes | |
302 | %dir /usr/share/themes/Default | |
303 | %dir /usr/share/thumbnailers | |
304 | %dir /usr/share/vala | |
305 | %dir /usr/share/vala/vapi | |
306 | %dir /usr/share/wallpapers | |
307 | %dir /usr/share/wayland-sessions | |
308 | %dir /usr/share/xdg-desktop-portal | |
309 | %dir /usr/share/xdg-desktop-portal/portals | |
310 | %dir /usr/share/xsessions | |
311 | %dir /usr/share/zsh | |
312 | %dir /usr/share/zsh/site-functions | |
313 | %dir /usr/src/examples | |
314 | %attr(700,root,root) %dir /var/lock/subsys | |
315 | %attr(751,root,root) %dir /var/log/archive | |
316 | %dir %{_aclocaldir} | |
317 | %dir %{_desktopdir} | |
318 | %dir %{_desktopdir}/docklets | |
319 | %dir %{_desktopdir}/screensavers | |
320 | %dir %{_iconsdir} | |
321 | %dir %{_pixmapsdir} | |
322 | %{_fontsdir} | |
323 | %dir %{_idldir} | |
324 | %dir %{_privsepdir} | |
325 | %if %{with lib64} | |
326 | %dir /lib64/security | |
327 | %dir /usr/lib64/browser-plugins | |
328 | %dir /usr/lib64/cmake | |
329 | %dir /usr/lib64/initrd | |
330 | %dir /usr/lib64/mozilla | |
331 | %dir /usr/lib64/mozilla/extensions | |
332 | %dir /usr/lib64/pkcs11 | |
333 | %dir /usr/lib64/pkgconfig | |
334 | %endif | |
335 | %if %{with libx32} | |
336 | %dir /libx32/security | |
337 | %dir /usr/libx32/browser-plugins | |
338 | %dir /usr/libx32/cmake | |
339 | %dir /usr/libx32/initrd | |
340 | %dir /usr/libx32/mozilla | |
341 | %dir /usr/libx32/mozilla/extensions | |
342 | %dir /usr/libx32/pkcs11 | |
343 | %dir /usr/libx32/pkgconfig | |
344 | %endif | |
345 | ||
346 | %if "%{pld_release}" == "ac" | |
347 | %dir /usr/X11R6 | |
348 | %dir /usr/X11R6/man | |
349 | /usr/X11R6/man/man* | |
350 | %lang(it) /usr/X11R6/man/it | |
351 | %lang(ko) /usr/X11R6/man/ko | |
352 | %lang(pl) /usr/X11R6/man/pl | |
353 | %dir /usr/X11R6/share | |
354 | ||
355 | %dir /usr/share/wm-properties | |
356 | %endif | |
357 | ||
358 | # debuginfo | |
359 | %dir /usr/lib/debug | |
360 | /usr/lib/debug/* | |
361 | ||
362 | %dir /usr/src/debug |