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 # directory for "privilege separation" chroot
41 %define _privsepdir /usr/share/empty
42 # directory for *.idl files (for CORBA implementations)
43 %define _idldir /usr/share/idl
45 # we have to use numeric uids/groups. see comment beginning of the spec
49 This package contains common directories for packages that extend some
50 programs functionality, but don't require them themselves.
52 %description -l pl.UTF-8
53 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
54 funkcjonalność programów, ale nie wymagających ich.
60 rm -rf $RPM_BUILD_ROOT
63 $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
64 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/xinitrc.d,certs,default,init,logrotate.d,modprobe.d,pki/CA,security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
65 $RPM_BUILD_ROOT/home/{users,services} \
66 $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
67 $RPM_BUILD_ROOT/usr/include/{security,X11} \
68 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
69 $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} \
70 $RPM_BUILD_ROOT/usr/src/examples \
71 $RPM_BUILD_ROOT/var/lib/color/icc \
72 $RPM_BUILD_ROOT/var/lock/subsys \
73 $RPM_BUILD_ROOT/var/log/archive \
74 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
75 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
76 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
77 $RPM_BUILD_ROOT/boot/efi \
78 $RPM_BUILD_ROOT/etc/OpenCL/vendors
81 install -d $RPM_BUILD_ROOT/usr/share/help/C
83 for lang in ar as 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
84 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
85 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
88 %if "%{_lib}" == "lib64"
90 $RPM_BUILD_ROOT/lib64/security \
91 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
94 %if "%{pld_release}" == "ac"
95 rmdir $RPM_BUILD_ROOT/usr/include/X11
97 install -d $RPM_BUILD_ROOT/usr/X11R6/share
98 for manp in man{1,2,3,4,5,6,7,8} ; do
99 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
100 for mloc in it ko pl; do
101 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
104 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
108 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
109 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
110 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
111 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
112 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
113 $RPM_BUILD_ROOT/usr/src/debug
115 %if "%{_lib}" == "lib64"
117 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
120 # create this for %clean
121 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
124 mkdir -p $RPM_BUILD_ROOT
125 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
128 check_filesystem_dirs() {
129 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
130 RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
132 # note: we must exclude from check all existing dirs belonging to FHS
133 find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
134 grep -E -v '^/(boot|etc|etc/X11|home|lib|lib64|usr|usr/include|usr/lib|usr/lib64|usr/share|usr/share/man|usr/share/man/pl|usr/src|var|var/lib|var/lock|var/log)$' > $TMPFILE
136 # find finds also '.', so use option -B for diff
137 rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
142 check_filesystem_dirs
144 %if "%{pld_release}" != "ac"
146 -- this needs to be a dir
147 if posix.stat("/usr/include/X11", "type") == "link" then
149 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
151 posix.mkdir("/usr/include")
152 posix.mkdir("/usr/include/X11")
153 oldpwd = posix.getcwd()
154 posix.chdir("/usr/include/X11.rpmsave")
155 for i,j in pairs(posix.glob("*")) do
156 os.rename(j, "/usr/include/X11/" .. j)
163 posix.chown("/var/log/archive", 0, %{gid_logs})
165 %files -f %{name}.lang
166 %defattr(644,root,root,755)
169 %dir /etc/X11/xinit/xinitrc.d
171 %dir /etc/OpenCL/vendors
172 %attr(751,root,root) %dir /etc/certs
175 %dir /etc/logrotate.d
179 %attr(751,root,root) %dir /etc/security
183 %dir /etc/xdg/autostart
185 %dir /etc/NetworkManager
186 %dir /etc/NetworkManager/dispatcher.d
193 %dir /lib/systemd/system
195 %dir /lib/udev/rules.d
199 %if "%{pld_release}" != "ac"
200 %dir /usr/include/X11
202 %dir /usr/include/security
203 %dir /usr/lib/ConsoleKit
204 %dir /usr/lib/ConsoleKit/run-session.d
205 %dir /usr/lib/browser-plugins
206 %dir /usr/lib/cgi-bin
209 %dir /usr/lib/mozilla
210 %dir /usr/lib/mozilla/extensions
212 %dir /usr/lib/pkgconfig
213 %dir /usr/lib/tmpfiles.d
214 %dir /usr/share/appdata
215 %dir /usr/share/augeas
216 %dir /usr/share/augeas/lenses
217 %dir /usr/share/augeas/lenses/tests
218 %dir /usr/share/backgrounds
219 %dir /usr/share/cmake
220 %dir /usr/share/cmake/Modules
221 %dir /usr/share/color
222 %dir /usr/share/color/icc
223 %dir /usr/share/gnome
224 %dir /usr/share/gnome/help
226 %dir /usr/share/mate/help
228 %dir /usr/share/help/C
229 %dir /usr/share/man/man[nl]
230 %lang(pl) %dir /usr/share/man/pl/mann
231 %dir /usr/share/pkgconfig
233 %dir /usr/share/soundfonts
234 %dir /usr/share/sounds
235 %dir /usr/share/themes
236 %dir /usr/share/themes/Default
237 %dir /usr/share/thumbnailers
239 %dir /usr/share/vala/vapi
240 %dir /usr/share/wallpapers
241 %dir /usr/share/wayland-sessions
242 %dir /usr/share/xsessions
243 %dir /usr/src/examples
245 %dir /var/lib/color/icc
246 %attr(700,root,root) %dir /var/lock/subsys
247 %attr(751,root,root) %dir /var/log/archive
250 %dir %{_desktopdir}/docklets
251 %dir %{_desktopdir}/screensavers
257 %if "%{_lib}" == "lib64"
259 %dir /usr/lib64/browser-plugins
260 %dir /usr/lib64/cmake
261 %dir /usr/lib64/initrd
262 %dir /usr/lib64/mozilla
263 %dir /usr/lib64/mozilla/extensions
264 %dir /usr/lib64/pkcs11
265 %dir /usr/lib64/pkgconfig
268 %if "%{pld_release}" == "ac"
272 %lang(it) /usr/X11R6/man/it
273 %lang(ko) /usr/X11R6/man/ko
274 %lang(pl) /usr/X11R6/man/pl
275 %dir /usr/X11R6/share
277 %dir /usr/share/wm-properties