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"
37 # directory for "privilege separation" chroot
38 %define _privsepdir /usr/share/empty
39 # directory for *.idl files (for CORBA implementations)
40 %define _idldir /usr/share/idl
42 # we have to use numeric uids/groups. see comment beginning of the spec
44 %define gid_crontab 117
47 This package contains common directories for packages that extend some
48 programs functionality, but don't require them themselves.
50 %description -l pl.UTF-8
51 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
52 funkcjonalność programów, ale nie wymagających ich.
58 rm -rf $RPM_BUILD_ROOT
61 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
62 $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}} \
63 $RPM_BUILD_ROOT/home/{users,services} \
64 $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d} \
65 $RPM_BUILD_ROOT/usr/include/{security,X11} \
66 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
67 $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} \
68 $RPM_BUILD_ROOT/usr/src/examples \
69 $RPM_BUILD_ROOT/var/lib/color/icc \
70 $RPM_BUILD_ROOT/var/lock/subsys \
71 $RPM_BUILD_ROOT/var/log/archive \
72 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
73 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
74 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
75 $RPM_BUILD_ROOT/boot/efi \
76 $RPM_BUILD_ROOT/etc/OpenCL/vendors
79 install -d $RPM_BUILD_ROOT/usr/share/help/C
81 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
82 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
83 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
88 $RPM_BUILD_ROOT/lib64/security \
89 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
90 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
94 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
95 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
96 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
97 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
98 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
99 $RPM_BUILD_ROOT/usr/src/debug
101 # create this for %clean
102 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
105 mkdir -p $RPM_BUILD_ROOT
106 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
109 check_filesystem_dirs() {
110 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
111 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
113 # note: we must exclude from check all existing dirs belonging to FHS
114 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
115 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
117 # find finds also '.', so use option -B for diff
118 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
123 check_filesystem_dirs
126 -- this needs to be a dir
127 if posix.stat("/usr/include/X11", "type") == "link" then
129 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
131 posix.mkdir("/usr/include")
132 posix.mkdir("/usr/include/X11")
133 oldpwd = posix.getcwd()
134 posix.chdir("/usr/include/X11.rpmsave")
135 for i,j in pairs(posix.glob("*")) do
136 os.rename(j, "/usr/include/X11/" .. j)
142 posix.chown("/var/log/archive", 0, %{gid_logs})
143 posix.chown("/etc/cron.d", 0, %{gid_crontab})
145 %files -f %{name}.lang
146 %defattr(644,root,root,755)
149 %dir /etc/X11/xinit/xinitrc.d
150 %dir /etc/X11/xinit/xinput.d
152 %dir /etc/OpenCL/vendors
153 %attr(751,root,root) %dir /etc/certs
157 %dir /etc/logrotate.d
159 %dir /etc/modules-load.d
163 %attr(751,root,root) %dir /etc/security
167 %dir /etc/xdg/autostart
169 %dir /etc/NetworkManager
170 %dir /etc/NetworkManager/dispatcher.d
177 %dir /lib/udev/rules.d
181 %dir /usr/include/X11
182 %dir /usr/include/security
183 %dir /usr/lib/ConsoleKit
184 %dir /usr/lib/ConsoleKit/run-session.d
185 %dir /usr/lib/browser-plugins
186 %dir /usr/lib/cgi-bin
189 %dir /usr/lib/mozilla
190 %dir /usr/lib/mozilla/extensions
192 %dir /usr/lib/pkgconfig
193 %dir /usr/lib/tmpfiles.d
194 %dir /usr/share/appdata
195 %dir /usr/share/augeas
196 %dir /usr/share/augeas/lenses
197 %dir /usr/share/augeas/lenses/tests
198 %dir /usr/share/backgrounds
199 %dir /usr/share/cmake
200 %dir /usr/share/cmake/Modules
201 %dir /usr/share/color
202 %dir /usr/share/color/icc
203 %dir /usr/share/gnome
204 %dir /usr/share/gnome/help
206 %dir /usr/share/mate/help
208 %dir /usr/share/help/C
209 %dir /usr/share/man/man[nl]
210 %lang(pl) %dir /usr/share/man/pl/mann
211 %dir /usr/share/pkgconfig
213 %dir /usr/share/soundfonts
214 %dir /usr/share/sounds
215 %dir /usr/share/themes
216 %dir /usr/share/themes/Default
217 %dir /usr/share/thumbnailers
219 %dir /usr/share/vala/vapi
220 %dir /usr/share/wallpapers
221 %dir /usr/share/wayland-sessions
222 %dir /usr/share/xsessions
223 %dir /usr/src/examples
225 %dir /var/lib/color/icc
226 %attr(700,root,root) %dir /var/lock/subsys
227 %attr(751,root,root) %dir /var/log/archive
230 %dir %{_desktopdir}/docklets
231 %dir %{_desktopdir}/screensavers
239 %dir /usr/lib64/browser-plugins
240 %dir /usr/lib64/cmake
241 %dir /usr/lib64/initrd
242 %dir /usr/lib64/mozilla
243 %dir /usr/lib64/mozilla/extensions
244 %dir /usr/lib64/pkcs11
245 %dir /usr/lib64/pkgconfig
248 %dir /libx32/security
249 %dir /usr/libx32/browser-plugins
250 %dir /usr/libx32/cmake
251 %dir /usr/libx32/initrd
252 %dir /usr/libx32/mozilla
253 %dir /usr/libx32/mozilla/extensions
254 %dir /usr/libx32/pkcs11
255 %dir /usr/libx32/pkgconfig