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
12 BuildRequires: automake
14 BuildRequires: rpm >= 4.4.9-56
16 Provides: browser-plugins(%{_target_base_arch})
18 Provides: browser-plugins(i386)
21 Provides: browser-plugins(ppc)
24 Provides: browser-plugins(s390)
27 Provides: browser-plugins(sparc)
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
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 # Adapter: This file does not like to be adapterized!
38 # disable rpm generated debug package, we handle it differently here
39 %define _enable_debug_packages 0
41 %if "%{_lib}" == "lib64"
44 %if "%{_lib}" == "libx32"
49 # x32 as additional ABI
54 # avoid rpm 4.4.9 adding rm -rf buildroot
55 %define __spec_clean_body %{nil}
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
62 # we have to use numeric uids/groups. see comment beginning of the spec
64 %define gid_crontab 117
67 This package contains common directories for packages that extend some
68 programs functionality, but don't require them themselves.
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.
78 rm -rf $RPM_BUILD_ROOT
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
97 # XDG Autostart specs: https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
98 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
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}}
104 # XDG Icon Theme specs: https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
106 install -d $RPM_BUILD_ROOT{%{_iconsdir},%{_pixmapsdir}}
108 # XDG Sound Theme specs: https://specifications.freedesktop.org/sound-theme-spec/sound-theme-spec-latest.html
110 install -d $RPM_BUILD_ROOT/usr/share/sounds
113 install -d $RPM_BUILD_ROOT/usr/share/help/C
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
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
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
147 %if "%{pld_release}" == "ac"
148 rmdir $RPM_BUILD_ROOT/usr/include/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
157 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
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
171 check_filesystem_dirs() {
172 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
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
178 if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then
179 rm -rf $RPM_BUILD_ROOT
181 echo -e "\nNot so good, some directories are not included in package\n"
187 check_filesystem_dirs
189 %if "%{pld_release}" != "ac"
191 -- this needs to be a dir
192 if posix.stat("/usr/include/X11", "type") == "link" then
194 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
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)
208 posix.chown("/var/log/archive", 0, %{gid_logs})
209 posix.chown("/etc/cron.d", 0, %{gid_crontab})
211 %files -f %{name}.lang
212 %defattr(644,root,root,755)
216 %dir /etc/X11/xinit/xinitrc.d
217 %dir /etc/X11/xinit/xinput.d
219 %dir /etc/OpenCL/vendors
220 %attr(751,root,root) %dir /etc/certs
222 %attr(750,root,root) %dir /etc/cron.d
225 %dir /etc/fonts/conf.d
226 %dir /etc/logrotate.d
231 %attr(751,root,root) %dir /etc/security
236 %dir /etc/xdg/autostart
239 %dir /etc/xdg/menus/applications-merged
240 %dir /etc/NetworkManager
241 %dir /etc/NetworkManager/dispatcher.d
248 %dir /lib/systemd/system
249 # for library packages or other software with optional udev support not to pull udev
251 %dir /lib/udev/hwdb.d
252 %dir /lib/udev/rules.d
254 %if "%{pld_release}" != "ac"
255 %dir /usr/include/X11
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
265 %dir /usr/lib/mozilla
266 %dir /usr/lib/mozilla/extensions
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
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
292 %dir /usr/share/mate/help
293 %dir /usr/share/metainfo
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
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
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
318 %dir %{_desktopdir}/docklets
319 %dir %{_desktopdir}/screensavers
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
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
346 %if "%{pld_release}" == "ac"
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
355 %dir /usr/share/wm-properties