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
4 # FIXME: verify shows changed groups of dirs changed this way
5 Summary: Common directories
6 Summary(pl.UTF-8): Wspólne katalogi
12 BuildRequires: automake
14 BuildRequires: rpm >= 4.4.9-56
16 Provides: browser-plugins(%{_target_base_arch})
18 Provides: browser-plugins(i386)
21 Provides: browser-plugins(ppc)
24 Provides: browser-plugins(s390)
27 Provides: browser-plugins(sparc)
29 Provides: filesystem-debuginfo = %{version}-%{release}
30 Obsoletes: filesystem-debuginfo < 3.0-36
31 %if "%{pld_release}" != "ac"
32 Conflicts: X11-libs < 1:7.7
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 # Adapter: This file does not like to be adapterized!
38 # disable rpm generated debug package, we handle it differently here
39 %define _enable_debug_packages 0
41 %if "%{_lib}" == "lib64"
44 %if "%{_lib}" == "libx32"
49 # x32 as additional ABI
54 # avoid rpm 4.4.9 adding rm -rf buildroot
55 %define __spec_clean_body %{nil}
57 # directory for "privilege separation" chroot
58 %define _privsepdir /usr/share/empty
59 # directory for *.idl files (for CORBA implementations)
60 %define _idldir /usr/share/idl
62 # we have to use numeric uids/groups. see comment beginning of the spec
64 %define gid_crontab 117
67 This package contains common directories for packages that extend some
68 programs functionality, but don't require them themselves.
70 %description -l pl.UTF-8
71 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
72 funkcjonalność programów, ale nie wymagających ich.
78 rm -rf $RPM_BUILD_ROOT
81 $RPM_BUILD_ROOT/{initrd,selinux} \
82 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,logrotate.d,fonts/conf.d,modprobe.d,pki/{CA,tls},security,skel,sysconfig,tmpwatch,xdg/{autostart,colors,menus}} \
83 $RPM_BUILD_ROOT/home/{users,services} \
84 $RPM_BUILD_ROOT/lib/{firmware,security,udev/{hwdb.d,rules.d},systemd/system} \
85 $RPM_BUILD_ROOT/usr/include/{security,X11} \
86 $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d,binfmt.d} \
87 $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,defaults,factory/etc/pam.d,fontconfig/conf.avail,gnome/help,mate/help,man/man{n,l},man/pl/mann,metainfo,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xdg-desktop-portal/portals,xsessions} \
88 $RPM_BUILD_ROOT/usr/src/examples \
89 $RPM_BUILD_ROOT/var/lock/subsys \
90 $RPM_BUILD_ROOT/var/log/archive \
91 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
92 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
93 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
94 $RPM_BUILD_ROOT/boot/efi/EFI \
95 $RPM_BUILD_ROOT/etc/OpenCL/vendors
98 install -d $RPM_BUILD_ROOT/usr/share/help/C
100 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
101 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
102 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
107 $RPM_BUILD_ROOT/lib64/security \
108 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
109 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
113 $RPM_BUILD_ROOT/libx32/security \
114 $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
115 $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
118 %if "%{pld_release}" == "ac"
119 rmdir $RPM_BUILD_ROOT/usr/include/X11
121 install -d $RPM_BUILD_ROOT/usr/X11R6/share
122 for manp in man{1,2,3,4,5,6,7,8} ; do
123 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
124 for mloc in it ko pl; do
125 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
128 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
132 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
133 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
134 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
135 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
136 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
137 $RPM_BUILD_ROOT/usr/src/debug
142 check_filesystem_dirs() {
143 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
145 # note: we must exclude from check all existing dirs belonging to FHS
146 find | sed -e 's|^\.||g' -e '/^$/d' | LC_ALL=C sort | grep -v $TMPFILE | \
147 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
149 if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then
150 rm -rf $RPM_BUILD_ROOT
152 echo -e "\nNot so good, some directories are not included in package\n"
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
195 %dir /etc/fonts/conf.d
196 %dir /etc/logrotate.d
201 %attr(751,root,root) %dir /etc/security
206 %dir /etc/xdg/autostart
209 %dir /etc/NetworkManager
210 %dir /etc/NetworkManager/dispatcher.d
217 %dir /lib/systemd/system
218 # for library packages or other software with optional udev support not to pull udev
220 %dir /lib/udev/hwdb.d
221 %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/binfmt.d
230 %dir /usr/lib/browser-plugins
231 %dir /usr/lib/cgi-bin
234 %dir /usr/lib/mozilla
235 %dir /usr/lib/mozilla/extensions
237 %dir /usr/lib/pkgconfig
238 %dir /usr/lib/tmpfiles.d
239 %dir /usr/share/appdata
240 %dir /usr/share/augeas
241 %dir /usr/share/augeas/lenses
242 %dir /usr/share/augeas/lenses/tests
243 %dir /usr/share/backgrounds
244 %dir /usr/share/cmake
245 %dir /usr/share/cmake/Modules
246 %dir /usr/share/defaults
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
256 %dir /usr/share/metainfo
258 %dir /usr/share/help/C
259 %dir /usr/share/man/man[nl]
260 %lang(pl) %dir /usr/share/man/pl/mann
261 %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/xdg-desktop-portal
272 %dir /usr/share/xdg-desktop-portal/portals
273 %dir /usr/share/xsessions
274 %dir /usr/src/examples
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