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
6 # disable rpm generated debug package, we handle it differently here
7 %define _enable_debug_packages 0
9 # avoid rpm 4.4.9 adding rm -rf buildroot
10 %define __spec_clean_body %{nil}
11 Summary: Common directories
12 Summary(pl.UTF-8): Wspólne katalogi
18 BuildRequires: automake
20 BuildRequires: rpm >= 4.4.9-56
21 Requires: FHS >= 2.3-15
22 Provides: browser-plugins(%{_target_base_arch})
24 Provides: browser-plugins(i386)
27 Provides: browser-plugins(ppc)
30 Provides: browser-plugins(s390)
33 Provides: browser-plugins(sparc)
35 Provides: filesystem-debuginfo = %{version}-%{release}
36 Obsoletes: filesystem-debuginfo < 3.0-36
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 # Adapter: This file does not like to be adapterized!
41 %if "%{_lib}" == "lib64"
44 %if "%{_lib}" == "libx32"
49 # x32 as additional ABI
54 # directory for "privilege separation" chroot
55 %define _privsepdir /usr/share/empty
56 # directory for *.idl files (for CORBA implementations)
57 %define _idldir /usr/share/idl
59 # we have to use numeric uids/groups. see comment beginning of the spec
61 %define gid_crontab 117
64 This package contains common directories for packages that extend some
65 programs functionality, but don't require them themselves.
67 %description -l pl.UTF-8
68 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
69 funkcjonalność programów, ale nie wymagających ich.
75 rm -rf $RPM_BUILD_ROOT
78 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
79 $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/{autostart,colors,menus}} \
80 $RPM_BUILD_ROOT/home/{users,services} \
81 $RPM_BUILD_ROOT/lib/{firmware,security,udev/{hwdb.d,rules.d},systemd/system} \
82 $RPM_BUILD_ROOT/usr/include/{security,X11} \
83 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
84 $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,factory/etc/pam.d,fontconfig/conf.avail,gnome/help,mate/help,man/man{n,l},man/pl/mann,ppd,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xsessions} \
85 $RPM_BUILD_ROOT/usr/src/examples \
86 $RPM_BUILD_ROOT/var/lib/color/icc \
87 $RPM_BUILD_ROOT/var/lock/subsys \
88 $RPM_BUILD_ROOT/var/log/archive \
89 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
90 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
91 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
92 $RPM_BUILD_ROOT/boot/efi/EFI \
93 $RPM_BUILD_ROOT/etc/OpenCL/vendors
96 install -d $RPM_BUILD_ROOT/usr/share/help/C
98 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 sk sl sr sr@latin sv ta te th tr uk vi zh_CN zh_HK zh_TW; do
99 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
100 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
105 $RPM_BUILD_ROOT/lib64/security \
106 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
107 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
111 $RPM_BUILD_ROOT/libx32/security \
112 $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
113 $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
116 %if "%{pld_release}" == "ac"
117 rmdir $RPM_BUILD_ROOT/usr/include/X11
119 install -d $RPM_BUILD_ROOT/usr/X11R6/share
120 for manp in man{1,2,3,4,5,6,7,8} ; do
121 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
122 for mloc in it ko pl; do
123 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
126 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
130 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
131 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
132 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
133 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
134 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
135 $RPM_BUILD_ROOT/usr/src/debug
137 # create this for %clean
138 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
141 mkdir -p $RPM_BUILD_ROOT
142 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
145 check_filesystem_dirs() {
146 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
147 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
149 # note: we must exclude from check all existing dirs belonging to FHS
150 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
151 grep -E -v '^/(boot|etc|etc/X11|home|lib|lib64|libx32|usr|usr/include|usr/lib|usr/lib64|usr/libx32|usr/share|usr/share/man|usr/share/man/pl|usr/src|var|var/lib|var/lock|var/log)$' > $TMPFILE
153 # find finds also '.', so use option -B for diff
154 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
159 check_filesystem_dirs
161 %if "%{pld_release}" != "ac"
163 -- this needs to be a dir
164 if posix.stat("/usr/include/X11", "type") == "link" then
166 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
168 posix.mkdir("/usr/include")
169 posix.mkdir("/usr/include/X11")
170 oldpwd = posix.getcwd()
171 posix.chdir("/usr/include/X11.rpmsave")
172 for i,j in pairs(posix.glob("*")) do
173 os.rename(j, "/usr/include/X11/" .. j)
180 posix.chown("/var/log/archive", 0, %{gid_logs})
181 posix.chown("/etc/cron.d", 0, %{gid_crontab})
183 %files -f %{name}.lang
184 %defattr(644,root,root,755)
188 %dir /etc/X11/xinit/xinitrc.d
189 %dir /etc/X11/xinit/xinput.d
191 %dir /etc/OpenCL/vendors
192 %attr(751,root,root) %dir /etc/certs
196 %dir /etc/fonts/conf.d
197 %dir /etc/logrotate.d
202 %attr(751,root,root) %dir /etc/security
207 %dir /etc/xdg/autostart
210 %dir /etc/NetworkManager
211 %dir /etc/NetworkManager/dispatcher.d
218 %dir /lib/systemd/system
219 # for library packages or other software with optional udev support not to pull udev
221 %dir /lib/udev/hwdb.d
222 %dir /lib/udev/rules.d
223 # tmpfs mounted by rc-scripts
224 %attr(1777,root,root) %dir /run
227 %if "%{pld_release}" != "ac"
228 %dir /usr/include/X11
230 %dir /usr/include/security
231 %dir /usr/lib/ConsoleKit
232 %dir /usr/lib/ConsoleKit/run-session.d
233 %dir /usr/lib/browser-plugins
234 %dir /usr/lib/cgi-bin
237 %dir /usr/lib/mozilla
238 %dir /usr/lib/mozilla/extensions
240 %dir /usr/lib/pkgconfig
241 %dir /usr/lib/tmpfiles.d
242 %dir /usr/share/appdata
243 %dir /usr/share/augeas
244 %dir /usr/share/augeas/lenses
245 %dir /usr/share/augeas/lenses/tests
246 %dir /usr/share/backgrounds
247 %dir /usr/share/cmake
248 %dir /usr/share/cmake/Modules
249 %dir /usr/share/color
250 %dir /usr/share/color/icc
251 %dir /usr/share/factory
252 %dir /usr/share/factory/etc
253 %dir /usr/share/factory/etc/pam.d
254 %dir /usr/share/fontconfig
255 %dir /usr/share/fontconfig/conf.avail
256 %dir /usr/share/gnome
257 %dir /usr/share/gnome/help
259 %dir /usr/share/mate/help
261 %dir /usr/share/help/C
262 %dir /usr/share/man/man[nl]
263 %lang(pl) %dir /usr/share/man/pl/mann
264 %dir /usr/share/pkgconfig
266 %dir /usr/share/soundfonts
267 %dir /usr/share/sounds
268 %dir /usr/share/themes
269 %dir /usr/share/themes/Default
270 %dir /usr/share/thumbnailers
272 %dir /usr/share/vala/vapi
273 %dir /usr/share/wallpapers
274 %dir /usr/share/wayland-sessions
275 %dir /usr/share/xsessions
276 %dir /usr/src/examples
278 %dir /var/lib/color/icc
279 %attr(700,root,root) %dir /var/lock/subsys
280 %attr(751,root,root) %dir /var/log/archive
283 %dir %{_desktopdir}/docklets
284 %dir %{_desktopdir}/screensavers
292 %dir /usr/lib64/browser-plugins
293 %dir /usr/lib64/cmake
294 %dir /usr/lib64/initrd
295 %dir /usr/lib64/mozilla
296 %dir /usr/lib64/mozilla/extensions
297 %dir /usr/lib64/pkcs11
298 %dir /usr/lib64/pkgconfig
301 %dir /libx32/security
302 %dir /usr/libx32/browser-plugins
303 %dir /usr/libx32/cmake
304 %dir /usr/libx32/initrd
305 %dir /usr/libx32/mozilla
306 %dir /usr/libx32/mozilla/extensions
307 %dir /usr/libx32/pkcs11
308 %dir /usr/libx32/pkgconfig
311 %if "%{pld_release}" == "ac"
315 %lang(it) /usr/X11R6/man/it
316 %lang(ko) /usr/X11R6/man/ko
317 %lang(pl) /usr/X11R6/man/pl
318 %dir /usr/X11R6/share
320 %dir /usr/share/wm-properties