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)
25 Provides: filesystem-debuginfo = %{version}-%{release}
26 Obsoletes: filesystem-debuginfo < 3.0-36
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 # Adapter: This file does not like to be adapterized!
31 %if "%{_lib}" == "lib64"
35 # directory for "privilege separation" chroot
36 %define _privsepdir /usr/share/empty
37 # directory for *.idl files (for CORBA implementations)
38 %define _idldir /usr/share/idl
40 # we have to use numeric uids/groups. see comment beginning of the spec
42 %define gid_crontab 117
45 This package contains common directories for packages that extend some
46 programs functionality, but don't require them themselves.
48 %description -l pl.UTF-8
49 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
50 funkcjonalność programów, ale nie wymagających ich.
56 rm -rf $RPM_BUILD_ROOT
59 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
60 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,init,logrotate.d,modprobe.d,modules-load.d,pki/{CA,tls},security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
61 $RPM_BUILD_ROOT/home/{users,services} \
62 $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d} \
63 $RPM_BUILD_ROOT/usr/include/{security,X11} \
64 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
65 $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} \
66 $RPM_BUILD_ROOT/usr/src/examples \
67 $RPM_BUILD_ROOT/var/lib/color/icc \
68 $RPM_BUILD_ROOT/var/lock/subsys \
69 $RPM_BUILD_ROOT/var/log/archive \
70 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
71 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
72 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
73 $RPM_BUILD_ROOT/boot/efi \
74 $RPM_BUILD_ROOT/etc/OpenCL/vendors
77 install -d $RPM_BUILD_ROOT/usr/share/help/C
79 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
80 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
81 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
86 $RPM_BUILD_ROOT/lib64/security \
87 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
88 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
92 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
93 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
94 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
95 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
96 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
97 $RPM_BUILD_ROOT/usr/src/debug
99 # create this for %clean
100 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
103 mkdir -p $RPM_BUILD_ROOT
104 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
107 check_filesystem_dirs() {
108 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
109 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
111 # note: we must exclude from check all existing dirs belonging to FHS
112 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
113 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
115 # find finds also '.', so use option -B for diff
116 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
121 check_filesystem_dirs
124 -- this needs to be a dir
125 if posix.stat("/usr/include/X11", "type") == "link" then
127 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
129 posix.mkdir("/usr/include")
130 posix.mkdir("/usr/include/X11")
131 oldpwd = posix.getcwd()
132 posix.chdir("/usr/include/X11.rpmsave")
133 for i,j in pairs(posix.glob("*")) do
134 os.rename(j, "/usr/include/X11/" .. j)
140 posix.chown("/var/log/archive", 0, %{gid_logs})
141 posix.chown("/etc/cron.d", 0, %{gid_crontab})
143 %files -f %{name}.lang
144 %defattr(644,root,root,755)
147 %dir /etc/X11/xinit/xinitrc.d
148 %dir /etc/X11/xinit/xinput.d
150 %dir /etc/OpenCL/vendors
151 %attr(751,root,root) %dir /etc/certs
155 %dir /etc/logrotate.d
157 %dir /etc/modules-load.d
161 %attr(751,root,root) %dir /etc/security
165 %dir /etc/xdg/autostart
167 %dir /etc/NetworkManager
168 %dir /etc/NetworkManager/dispatcher.d
175 %dir /lib/udev/rules.d
179 %dir /usr/include/X11
180 %dir /usr/include/security
181 %dir /usr/lib/ConsoleKit
182 %dir /usr/lib/ConsoleKit/run-session.d
183 %dir /usr/lib/browser-plugins
184 %dir /usr/lib/cgi-bin
187 %dir /usr/lib/mozilla
188 %dir /usr/lib/mozilla/extensions
190 %dir /usr/lib/pkgconfig
191 %dir /usr/lib/tmpfiles.d
192 %dir /usr/share/appdata
193 %dir /usr/share/augeas
194 %dir /usr/share/augeas/lenses
195 %dir /usr/share/augeas/lenses/tests
196 %dir /usr/share/backgrounds
197 %dir /usr/share/cmake
198 %dir /usr/share/cmake/Modules
199 %dir /usr/share/color
200 %dir /usr/share/color/icc
201 %dir /usr/share/gnome
202 %dir /usr/share/gnome/help
204 %dir /usr/share/mate/help
206 %dir /usr/share/help/C
207 %dir /usr/share/man/man[nl]
208 %lang(pl) %dir /usr/share/man/pl/mann
209 %dir /usr/share/pkgconfig
211 %dir /usr/share/soundfonts
212 %dir /usr/share/sounds
213 %dir /usr/share/themes
214 %dir /usr/share/themes/Default
215 %dir /usr/share/thumbnailers
217 %dir /usr/share/vala/vapi
218 %dir /usr/share/wallpapers
219 %dir /usr/share/wayland-sessions
220 %dir /usr/share/xsessions
221 %dir /usr/src/examples
223 %dir /var/lib/color/icc
224 %attr(700,root,root) %dir /var/lock/subsys
225 %attr(751,root,root) %dir /var/log/archive
228 %dir %{_desktopdir}/docklets
229 %dir %{_desktopdir}/screensavers
237 %dir /usr/lib64/browser-plugins
238 %dir /usr/lib64/cmake
239 %dir /usr/lib64/initrd
240 %dir /usr/lib64/mozilla
241 %dir /usr/lib64/mozilla/extensions
242 %dir /usr/lib64/pkcs11
243 %dir /usr/lib64/pkgconfig
246 %dir /libx32/security
247 %dir /usr/libx32/browser-plugins
248 %dir /usr/libx32/cmake
249 %dir /usr/libx32/initrd
250 %dir /usr/libx32/mozilla
251 %dir /usr/libx32/mozilla/extensions
252 %dir /usr/libx32/pkcs11
253 %dir /usr/libx32/pkgconfig