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,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
206 %dir /etc/xdg/autostart
208 %dir /etc/NetworkManager
209 %dir /etc/NetworkManager/dispatcher.d
216 %dir /lib/systemd/system
218 %dir /lib/udev/rules.d
222 %if "%{pld_release}" != "ac"
223 %dir /usr/include/X11
225 %dir /usr/include/security
226 %dir /usr/lib/ConsoleKit
227 %dir /usr/lib/ConsoleKit/run-session.d
228 %dir /usr/lib/browser-plugins
229 %dir /usr/lib/cgi-bin
232 %dir /usr/lib/mozilla
233 %dir /usr/lib/mozilla/extensions
235 %dir /usr/lib/pkgconfig
236 %dir /usr/lib/tmpfiles.d
237 %dir /usr/share/appdata
238 %dir /usr/share/augeas
239 %dir /usr/share/augeas/lenses
240 %dir /usr/share/augeas/lenses/tests
241 %dir /usr/share/backgrounds
242 %dir /usr/share/cmake
243 %dir /usr/share/cmake/Modules
244 %dir /usr/share/color
245 %dir /usr/share/color/icc
246 %dir /usr/share/factory
247 %dir /usr/share/factory/etc
248 %dir /usr/share/factory/etc/pam.d
249 %dir /usr/share/fontconfig
250 %dir /usr/share/fontconfig/conf.avail
251 %dir /usr/share/gnome
252 %dir /usr/share/gnome/help
254 %dir /usr/share/mate/help
256 %dir /usr/share/help/C
257 %dir /usr/share/man/man[nl]
258 %lang(pl) %dir /usr/share/man/pl/mann
259 %dir /usr/share/pkgconfig
261 %dir /usr/share/soundfonts
262 %dir /usr/share/sounds
263 %dir /usr/share/themes
264 %dir /usr/share/themes/Default
265 %dir /usr/share/thumbnailers
267 %dir /usr/share/vala/vapi
268 %dir /usr/share/wallpapers
269 %dir /usr/share/wayland-sessions
270 %dir /usr/share/xsessions
271 %dir /usr/src/examples
273 %dir /var/lib/color/icc
274 %attr(700,root,root) %dir /var/lock/subsys
275 %attr(751,root,root) %dir /var/log/archive
278 %dir %{_desktopdir}/docklets
279 %dir %{_desktopdir}/screensavers
287 %dir /usr/lib64/browser-plugins
288 %dir /usr/lib64/cmake
289 %dir /usr/lib64/initrd
290 %dir /usr/lib64/mozilla
291 %dir /usr/lib64/mozilla/extensions
292 %dir /usr/lib64/pkcs11
293 %dir /usr/lib64/pkgconfig
296 %dir /libx32/security
297 %dir /usr/libx32/browser-plugins
298 %dir /usr/libx32/cmake
299 %dir /usr/libx32/initrd
300 %dir /usr/libx32/mozilla
301 %dir /usr/libx32/mozilla/extensions
302 %dir /usr/libx32/pkcs11
303 %dir /usr/libx32/pkgconfig
306 %if "%{pld_release}" == "ac"
310 %lang(it) /usr/X11R6/man/it
311 %lang(ko) /usr/X11R6/man/ko
312 %lang(pl) /usr/X11R6/man/pl
313 %dir /usr/X11R6/share
315 %dir /usr/share/wm-properties