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 %if "%{_lib}" == "lib64"
45 %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,init,logrotate.d,modprobe.d,pki/{CA,tls},security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
80 $RPM_BUILD_ROOT/home/{users,services} \
81 $RPM_BUILD_ROOT/lib/{firmware,security,udev/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,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 \
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 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)
187 %dir /etc/X11/xinit/xinitrc.d
188 %dir /etc/X11/xinit/xinput.d
190 %dir /etc/OpenCL/vendors
191 %attr(751,root,root) %dir /etc/certs
195 %dir /etc/logrotate.d
200 %attr(751,root,root) %dir /etc/security
204 %dir /etc/xdg/autostart
206 %dir /etc/NetworkManager
207 %dir /etc/NetworkManager/dispatcher.d
214 %dir /lib/systemd/system
216 %dir /lib/udev/rules.d
220 %if "%{pld_release}" != "ac"
221 %dir /usr/include/X11
223 %dir /usr/include/security
224 %dir /usr/lib/ConsoleKit
225 %dir /usr/lib/ConsoleKit/run-session.d
226 %dir /usr/lib/browser-plugins
227 %dir /usr/lib/cgi-bin
230 %dir /usr/lib/mozilla
231 %dir /usr/lib/mozilla/extensions
233 %dir /usr/lib/pkgconfig
234 %dir /usr/lib/tmpfiles.d
235 %dir /usr/share/appdata
236 %dir /usr/share/augeas
237 %dir /usr/share/augeas/lenses
238 %dir /usr/share/augeas/lenses/tests
239 %dir /usr/share/backgrounds
240 %dir /usr/share/cmake
241 %dir /usr/share/cmake/Modules
242 %dir /usr/share/color
243 %dir /usr/share/color/icc
244 %dir /usr/share/gnome
245 %dir /usr/share/gnome/help
247 %dir /usr/share/mate/help
249 %dir /usr/share/help/C
250 %dir /usr/share/man/man[nl]
251 %lang(pl) %dir /usr/share/man/pl/mann
252 %dir /usr/share/pkgconfig
254 %dir /usr/share/soundfonts
255 %dir /usr/share/sounds
256 %dir /usr/share/themes
257 %dir /usr/share/themes/Default
258 %dir /usr/share/thumbnailers
260 %dir /usr/share/vala/vapi
261 %dir /usr/share/wallpapers
262 %dir /usr/share/wayland-sessions
263 %dir /usr/share/xsessions
264 %dir /usr/src/examples
266 %dir /var/lib/color/icc
267 %attr(700,root,root) %dir /var/lock/subsys
268 %attr(751,root,root) %dir /var/log/archive
271 %dir %{_desktopdir}/docklets
272 %dir %{_desktopdir}/screensavers
280 %dir /usr/lib64/browser-plugins
281 %dir /usr/lib64/cmake
282 %dir /usr/lib64/initrd
283 %dir /usr/lib64/mozilla
284 %dir /usr/lib64/mozilla/extensions
285 %dir /usr/lib64/pkcs11
286 %dir /usr/lib64/pkgconfig
289 %dir /libx32/security
290 %dir /usr/libx32/browser-plugins
291 %dir /usr/libx32/cmake
292 %dir /usr/libx32/initrd
293 %dir /usr/libx32/mozilla
294 %dir /usr/libx32/mozilla/extensions
295 %dir /usr/libx32/pkcs11
296 %dir /usr/libx32/pkgconfig
299 %if "%{pld_release}" == "ac"
303 %lang(it) /usr/X11R6/man/it
304 %lang(ko) /usr/X11R6/man/ko
305 %lang(pl) /usr/X11R6/man/pl
306 %dir /usr/X11R6/share
308 %dir /usr/share/wm-properties