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"
43 %if "%{_lib}" == "libx32"
48 # x32 as additional ABI
53 # directory for "privilege separation" chroot
54 %define _privsepdir /usr/share/empty
55 # directory for *.idl files (for CORBA implementations)
56 %define _idldir /usr/share/idl
58 # we have to use numeric uids/groups. see comment beginning of the spec
60 %define gid_crontab 117
63 This package contains common directories for packages that extend some
64 programs functionality, but don't require them themselves.
66 %description -l pl.UTF-8
67 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
68 funkcjonalność programów, ale nie wymagających ich.
74 rm -rf $RPM_BUILD_ROOT
77 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
78 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,init,logrotate.d,fonts/conf.d,modprobe.d,pki/{CA,tls},security,skel,sysconfig,tmpwatch,xdg/{autostart,menus}} \
79 $RPM_BUILD_ROOT/home/{users,services} \
80 $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
81 $RPM_BUILD_ROOT/usr/include/{security,X11} \
82 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
83 $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} \
84 $RPM_BUILD_ROOT/usr/src/examples \
85 $RPM_BUILD_ROOT/var/lib/color/icc \
86 $RPM_BUILD_ROOT/var/lock/subsys \
87 $RPM_BUILD_ROOT/var/log/archive \
88 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
89 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
90 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
91 $RPM_BUILD_ROOT/boot/efi/EFI \
92 $RPM_BUILD_ROOT/etc/OpenCL/vendors
95 install -d $RPM_BUILD_ROOT/usr/share/help/C
97 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
98 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
99 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
104 $RPM_BUILD_ROOT/lib64/security \
105 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
106 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
110 $RPM_BUILD_ROOT/libx32/security \
111 $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
112 $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
115 %if "%{pld_release}" == "ac"
116 rmdir $RPM_BUILD_ROOT/usr/include/X11
118 install -d $RPM_BUILD_ROOT/usr/X11R6/share
119 for manp in man{1,2,3,4,5,6,7,8} ; do
120 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
121 for mloc in it ko pl; do
122 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
125 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
129 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
130 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
131 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
132 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
133 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
134 $RPM_BUILD_ROOT/usr/src/debug
136 # create this for %clean
137 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
140 mkdir -p $RPM_BUILD_ROOT
141 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
144 check_filesystem_dirs() {
145 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
146 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
148 # note: we must exclude from check all existing dirs belonging to FHS
149 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
150 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
152 # find finds also '.', so use option -B for diff
153 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
158 check_filesystem_dirs
160 %if "%{pld_release}" != "ac"
162 -- this needs to be a dir
163 if posix.stat("/usr/include/X11", "type") == "link" then
165 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
167 posix.mkdir("/usr/include")
168 posix.mkdir("/usr/include/X11")
169 oldpwd = posix.getcwd()
170 posix.chdir("/usr/include/X11.rpmsave")
171 for i,j in pairs(posix.glob("*")) do
172 os.rename(j, "/usr/include/X11/" .. j)
179 posix.chown("/var/log/archive", 0, %{gid_logs})
180 posix.chown("/etc/cron.d", 0, %{gid_crontab})
182 %files -f %{name}.lang
183 %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
196 %dir /etc/fonts/conf.d
197 %dir /etc/logrotate.d
202 %attr(751,root,root) %dir /etc/security
207 %dir /etc/xdg/autostart
209 %dir /etc/NetworkManager
210 %dir /etc/NetworkManager/dispatcher.d
217 %dir /lib/systemd/system
219 %dir /lib/udev/rules.d
223 %if "%{pld_release}" != "ac"
224 %dir /usr/include/X11
226 %dir /usr/include/security
227 %dir /usr/lib/ConsoleKit
228 %dir /usr/lib/ConsoleKit/run-session.d
229 %dir /usr/lib/browser-plugins
230 %dir /usr/lib/cgi-bin
233 %dir /usr/lib/mozilla
234 %dir /usr/lib/mozilla/extensions
236 %dir /usr/lib/pkgconfig
237 %dir /usr/lib/tmpfiles.d
238 %dir /usr/share/appdata
239 %dir /usr/share/augeas
240 %dir /usr/share/augeas/lenses
241 %dir /usr/share/augeas/lenses/tests
242 %dir /usr/share/backgrounds
243 %dir /usr/share/cmake
244 %dir /usr/share/cmake/Modules
245 %dir /usr/share/color
246 %dir /usr/share/color/icc
247 %dir /usr/share/factory
248 %dir /usr/share/factory/etc
249 %dir /usr/share/factory/etc/pam.d
250 %dir /usr/share/fontconfig
251 %dir /usr/share/fontconfig/conf.avail
252 %dir /usr/share/gnome
253 %dir /usr/share/gnome/help
255 %dir /usr/share/mate/help
257 %dir /usr/share/help/C
258 %dir /usr/share/man/man[nl]
259 %lang(pl) %dir /usr/share/man/pl/mann
260 %dir /usr/share/pkgconfig
262 %dir /usr/share/soundfonts
263 %dir /usr/share/sounds
264 %dir /usr/share/themes
265 %dir /usr/share/themes/Default
266 %dir /usr/share/thumbnailers
268 %dir /usr/share/vala/vapi
269 %dir /usr/share/wallpapers
270 %dir /usr/share/wayland-sessions
271 %dir /usr/share/xsessions
272 %dir /usr/src/examples
274 %dir /var/lib/color/icc
275 %attr(700,root,root) %dir /var/lock/subsys
276 %attr(751,root,root) %dir /var/log/archive
279 %dir %{_desktopdir}/docklets
280 %dir %{_desktopdir}/screensavers
288 %dir /usr/lib64/browser-plugins
289 %dir /usr/lib64/cmake
290 %dir /usr/lib64/initrd
291 %dir /usr/lib64/mozilla
292 %dir /usr/lib64/mozilla/extensions
293 %dir /usr/lib64/pkcs11
294 %dir /usr/lib64/pkgconfig
297 %dir /libx32/security
298 %dir /usr/libx32/browser-plugins
299 %dir /usr/libx32/cmake
300 %dir /usr/libx32/initrd
301 %dir /usr/libx32/mozilla
302 %dir /usr/libx32/mozilla/extensions
303 %dir /usr/libx32/pkcs11
304 %dir /usr/libx32/pkgconfig
307 %if "%{pld_release}" == "ac"
311 %lang(it) /usr/X11R6/man/it
312 %lang(ko) /usr/X11R6/man/ko
313 %lang(pl) /usr/X11R6/man/pl
314 %dir /usr/X11R6/share
316 %dir /usr/share/wm-properties