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} \
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,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/browser-plugins
230 %dir /usr/lib/cgi-bin
233 %dir /usr/lib/mozilla
234 %dir /usr/lib/mozilla/extensions
236 %dir /usr/lib/pkgconfig
237 %dir /usr/lib/tmpfiles.d
238 %dir /usr/share/appdata
239 %dir /usr/share/augeas
240 %dir /usr/share/augeas/lenses
241 %dir /usr/share/augeas/lenses/tests
242 %dir /usr/share/backgrounds
243 %dir /usr/share/cmake
244 %dir /usr/share/cmake/Modules
245 %dir /usr/share/defaults
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
260 %dir /usr/share/soundfonts
261 %dir /usr/share/sounds
262 %dir /usr/share/themes
263 %dir /usr/share/themes/Default
264 %dir /usr/share/thumbnailers
266 %dir /usr/share/vala/vapi
267 %dir /usr/share/wallpapers
268 %dir /usr/share/wayland-sessions
269 %dir /usr/share/xdg-desktop-portal
270 %dir /usr/share/xdg-desktop-portal/portals
271 %dir /usr/share/xsessions
272 %dir /usr/src/examples
273 %attr(700,root,root) %dir /var/lock/subsys
274 %attr(751,root,root) %dir /var/log/archive
277 %dir %{_desktopdir}/docklets
278 %dir %{_desktopdir}/screensavers
286 %dir /usr/lib64/browser-plugins
287 %dir /usr/lib64/cmake
288 %dir /usr/lib64/initrd
289 %dir /usr/lib64/mozilla
290 %dir /usr/lib64/mozilla/extensions
291 %dir /usr/lib64/pkcs11
292 %dir /usr/lib64/pkgconfig
295 %dir /libx32/security
296 %dir /usr/libx32/browser-plugins
297 %dir /usr/libx32/cmake
298 %dir /usr/libx32/initrd
299 %dir /usr/libx32/mozilla
300 %dir /usr/libx32/mozilla/extensions
301 %dir /usr/libx32/pkcs11
302 %dir /usr/libx32/pkgconfig
305 %if "%{pld_release}" == "ac"
309 %lang(it) /usr/X11R6/man/it
310 %lang(ko) /usr/X11R6/man/ko
311 %lang(pl) /usr/X11R6/man/pl
312 %dir /usr/X11R6/share
314 %dir /usr/share/wm-properties