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
5 # disable rpm generated debug package, we handle it differently here
6 %define _enable_debug_packages 0
8 # avoid rpm 4.4.9 adding rm -rf buildroot
9 %define __spec_clean_body %{nil}
10 Summary: Common directories
11 Summary(pl.UTF-8): Wspólne katalogi
17 BuildRequires: automake
19 BuildRequires: rpm >= 4.4.9-56
20 Requires: FHS >= 2.3-15
21 Provides: browser-plugins(%{_target_base_arch})
23 Provides: browser-plugins(i386)
26 Provides: browser-plugins(ppc)
29 Provides: browser-plugins(s390)
32 Provides: browser-plugins(sparc)
34 Provides: filesystem-debuginfo = %{version}-%{release}
35 Obsoletes: filesystem-debuginfo < 3.0-36
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 # Adapter: This file does not like to be adapterized!
40 # directory for "privilege separation" chroot
41 %define _privsepdir /usr/share/empty
42 # directory for *.idl files (for CORBA implementations)
43 %define _idldir /usr/share/idl
45 # we have to use numeric uids/groups. see comment beginning of the spec
47 %define gid_crontab 117
50 This package contains common directories for packages that extend some
51 programs functionality, but don't require them themselves.
53 %description -l pl.UTF-8
54 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
55 funkcjonalność programów, ale nie wymagających ich.
61 rm -rf $RPM_BUILD_ROOT
64 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
65 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,init,logrotate.d,modprobe.d,pki/{CA,tls},security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
66 $RPM_BUILD_ROOT/home/{users,services} \
67 $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
68 $RPM_BUILD_ROOT/usr/include/{security,X11} \
69 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
70 $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,gnome/help,mate/help,man/man{n,l},man/pl/mann,ppd,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xsessions} \
71 $RPM_BUILD_ROOT/usr/src/examples \
72 $RPM_BUILD_ROOT/var/lib/color/icc \
73 $RPM_BUILD_ROOT/var/lock/subsys \
74 $RPM_BUILD_ROOT/var/log/archive \
75 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
76 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
77 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
78 $RPM_BUILD_ROOT/boot/efi \
79 $RPM_BUILD_ROOT/etc/OpenCL/vendors
82 install -d $RPM_BUILD_ROOT/usr/share/help/C
84 for lang in ar as ast bg bn_IN ca cs da de el en_GB es eu fa fi fr gl gu he hi hr hu id it ja ko kn lt lv mk ml mr nb nds nl oc pa pl ps pt pt_BR ro ru sl sr sr@latin sv ta te th tr uk vi zh_CN zh_HK zh_TW; do
85 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
86 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
89 %if "%{_lib}" == "lib64"
91 $RPM_BUILD_ROOT/lib64/security \
92 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
94 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
97 $RPM_BUILD_ROOT/libx32/security \
98 $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
100 $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
103 %if "%{_lib}" == "libx32"
105 $RPM_BUILD_ROOT/libx32/security \
106 $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
108 $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
111 %if "%{pld_release}" == "ac"
112 rmdir $RPM_BUILD_ROOT/usr/include/X11
114 install -d $RPM_BUILD_ROOT/usr/X11R6/share
115 for manp in man{1,2,3,4,5,6,7,8} ; do
116 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
117 for mloc in it ko pl; do
118 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
121 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
125 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
126 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
127 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
128 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
129 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
130 $RPM_BUILD_ROOT/usr/src/debug
132 # create this for %clean
133 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
136 mkdir -p $RPM_BUILD_ROOT
137 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
140 check_filesystem_dirs() {
141 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
142 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
144 # note: we must exclude from check all existing dirs belonging to FHS
145 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
146 grep -E -v '^/(boot|etc|etc/X11|home|lib|lib64|usr|usr/include|usr/lib|usr/lib64|usr/share|usr/share/man|usr/share/man/pl|usr/src|var|var/lib|var/lock|var/log)$' > $TMPFILE
148 # find finds also '.', so use option -B for diff
149 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
154 check_filesystem_dirs
156 %if "%{pld_release}" != "ac"
158 -- this needs to be a dir
159 if posix.stat("/usr/include/X11", "type") == "link" then
161 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
163 posix.mkdir("/usr/include")
164 posix.mkdir("/usr/include/X11")
165 oldpwd = posix.getcwd()
166 posix.chdir("/usr/include/X11.rpmsave")
167 for i,j in pairs(posix.glob("*")) do
168 os.rename(j, "/usr/include/X11/" .. j)
175 posix.chown("/var/log/archive", 0, %{gid_logs})
176 posix.chown("/etc/cron.d", 0, %{gid_crontab})
178 %files -f %{name}.lang
179 %defattr(644,root,root,755)
182 %dir /etc/X11/xinit/xinitrc.d
183 %dir /etc/X11/xinit/xinput.d
185 %dir /etc/OpenCL/vendors
186 %attr(751,root,root) %dir /etc/certs
190 %dir /etc/logrotate.d
195 %attr(751,root,root) %dir /etc/security
199 %dir /etc/xdg/autostart
201 %dir /etc/NetworkManager
202 %dir /etc/NetworkManager/dispatcher.d
209 %dir /lib/systemd/system
211 %dir /lib/udev/rules.d
215 %if "%{pld_release}" != "ac"
216 %dir /usr/include/X11
218 %dir /usr/include/security
219 %dir /usr/lib/ConsoleKit
220 %dir /usr/lib/ConsoleKit/run-session.d
221 %dir /usr/lib/browser-plugins
222 %dir /usr/lib/cgi-bin
225 %dir /usr/lib/mozilla
226 %dir /usr/lib/mozilla/extensions
228 %dir /usr/lib/pkgconfig
229 %dir /usr/lib/tmpfiles.d
230 %dir /usr/share/appdata
231 %dir /usr/share/augeas
232 %dir /usr/share/augeas/lenses
233 %dir /usr/share/augeas/lenses/tests
234 %dir /usr/share/backgrounds
235 %dir /usr/share/cmake
236 %dir /usr/share/cmake/Modules
237 %dir /usr/share/color
238 %dir /usr/share/color/icc
239 %dir /usr/share/gnome
240 %dir /usr/share/gnome/help
242 %dir /usr/share/mate/help
244 %dir /usr/share/help/C
245 %dir /usr/share/man/man[nl]
246 %lang(pl) %dir /usr/share/man/pl/mann
247 %dir /usr/share/pkgconfig
249 %dir /usr/share/soundfonts
250 %dir /usr/share/sounds
251 %dir /usr/share/themes
252 %dir /usr/share/themes/Default
253 %dir /usr/share/thumbnailers
255 %dir /usr/share/vala/vapi
256 %dir /usr/share/wallpapers
257 %dir /usr/share/wayland-sessions
258 %dir /usr/share/xsessions
259 %dir /usr/src/examples
261 %dir /var/lib/color/icc
262 %attr(700,root,root) %dir /var/lock/subsys
263 %attr(751,root,root) %dir /var/log/archive
266 %dir %{_desktopdir}/docklets
267 %dir %{_desktopdir}/screensavers
273 %if "%{_lib}" == "lib64"
275 %dir /usr/lib64/browser-plugins
276 %dir /usr/lib64/cmake
277 %dir /usr/lib64/initrd
278 %dir /usr/lib64/mozilla
279 %dir /usr/lib64/mozilla/extensions
280 %dir /usr/lib64/pkcs11
281 %dir /usr/lib64/pkgconfig
283 %dir /libx32/security
284 %dir /usr/libx32/browser-plugins
285 %dir /usr/libx32/cmake
286 %dir /usr/libx32/initrd
287 %dir /usr/libx32/mozilla
288 %dir /usr/libx32/mozilla/extensions
289 %dir /usr/libx32/pkcs11
290 %dir /usr/libx32/pkgconfig
293 %if "%{_lib}" == "libx32"
294 %dir /libx32/security
295 %dir /usr/libx32/browser-plugins
296 %dir /usr/libx32/cmake
297 %dir /usr/libx32/initrd
298 %dir /usr/libx32/mozilla
299 %dir /usr/libx32/mozilla/extensions
300 %dir /usr/libx32/pkcs11
301 %dir /usr/libx32/pkgconfig
304 %if "%{pld_release}" == "ac"
308 %lang(it) /usr/X11R6/man/it
309 %lang(ko) /usr/X11R6/man/ko
310 %lang(pl) /usr/X11R6/man/pl
311 %dir /usr/X11R6/share
313 %dir /usr/share/wm-properties