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)
20 Provides: filesystem-debuginfo = %{version}-%{release}
21 Obsoletes: filesystem-debuginfo < 3.0-36
22 Conflicts: X11-libs < 1:7.7
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 # Adapter: This file does not like to be adapterized!
27 # disable rpm generated debug package, we handle it differently here
28 %define _enable_debug_packages 0
30 %if "%{_lib}" == "lib64"
34 # avoid rpm 4.4.9 adding rm -rf buildroot
35 %define __spec_clean_body %{nil}
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} \
62 $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,logrotate.d,fonts/conf.d,modprobe.d,modules-load.d,pki/{CA,tls},security,skel,sysconfig,sysctl.d,tmpwatch,xdg/{autostart,colors,menus}} \
63 $RPM_BUILD_ROOT/home/{users,services} \
64 $RPM_BUILD_ROOT/lib/{firmware,security,udev/{hwdb.d,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} \
67 $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,zsh/site-functions} \
68 $RPM_BUILD_ROOT/usr/src/examples \
69 $RPM_BUILD_ROOT/var/lock/subsys \
70 $RPM_BUILD_ROOT/var/log/archive \
71 $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
72 $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
73 $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
74 $RPM_BUILD_ROOT/boot/efi/EFI \
75 $RPM_BUILD_ROOT/etc/OpenCL/vendors
78 install -d $RPM_BUILD_ROOT/usr/share/help/C
80 for lang in af am ar as ast az be bg bn bn_IN br bs ca ca@valencia cmn crh cs cy da de dz el en_AU en_CA en_GB eo es es_CO et eu fa fi fr ga gl gu he hi hr hu hy id is it ja ka kk kn ko ku ky lt lv mai mg mk ml mn mr ms nb nds ne nl nn oc or pa pl ps pt pt_BR ro ru si sk sl sq sr sr@latin sv ta te th tr ug uk ur uz vi xh zh_CN zh_HK zh_TW; do
81 install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
82 echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
87 $RPM_BUILD_ROOT/lib64/security \
88 $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
89 $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
93 $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
94 $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
95 $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
96 $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
97 $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
98 $RPM_BUILD_ROOT/usr/src/debug
103 check_filesystem_dirs() {
104 RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
106 # note: we must exclude from check all existing dirs belonging to FHS
107 find | sed -e 's|^\.||g' -e '/^$/d' | LC_ALL=C sort | grep -v $TMPFILE | \
108 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
110 if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then
111 rm -rf $RPM_BUILD_ROOT
113 echo -e "\nNot so good, some directories are not included in package\n"
119 check_filesystem_dirs
122 -- this needs to be a dir
123 if posix.stat("/usr/include/X11", "type") == "link" then
125 os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
127 posix.mkdir("/usr/include")
128 posix.mkdir("/usr/include/X11")
129 oldpwd = posix.getcwd()
130 posix.chdir("/usr/include/X11.rpmsave")
131 for i,j in pairs(posix.glob("*")) do
132 os.rename(j, "/usr/include/X11/" .. j)
138 posix.chown("/var/log/archive", 0, %{gid_logs})
139 posix.chown("/etc/cron.d", 0, %{gid_crontab})
141 %files -f %{name}.lang
142 %defattr(644,root,root,755)
146 %dir /etc/X11/xinit/xinitrc.d
147 %dir /etc/X11/xinit/xinput.d
149 %dir /etc/OpenCL/vendors
150 %attr(751,root,root) %dir /etc/certs
154 %dir /etc/fonts/conf.d
155 %dir /etc/logrotate.d
157 %dir /etc/modules-load.d
161 %attr(751,root,root) %dir /etc/security
167 %dir /etc/xdg/autostart
170 %dir /etc/NetworkManager
171 %dir /etc/NetworkManager/dispatcher.d
177 # for library packages or other software with optional udev support not to pull udev
179 %dir /lib/udev/hwdb.d
180 %dir /lib/udev/rules.d
182 %dir /usr/include/X11
183 %dir /usr/include/security
184 %dir /usr/lib/ConsoleKit
185 %dir /usr/lib/ConsoleKit/run-session.d
186 %dir /usr/lib/browser-plugins
187 %dir /usr/lib/cgi-bin
190 %dir /usr/lib/mozilla
191 %dir /usr/lib/mozilla/extensions
193 %dir /usr/lib/pkgconfig
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/defaults
202 %dir /usr/share/factory
203 %dir /usr/share/factory/etc
204 %dir /usr/share/factory/etc/pam.d
205 %dir /usr/share/fontconfig
206 %dir /usr/share/fontconfig/conf.avail
207 %dir /usr/share/gnome
208 %dir /usr/share/gnome/help
210 %dir /usr/share/mate/help
211 %dir /usr/share/metainfo
213 %dir /usr/share/help/C
214 %dir /usr/share/man/man[nl]
215 %lang(pl) %dir /usr/share/man/pl/mann
216 %dir /usr/share/pkgconfig
217 %dir /usr/share/soundfonts
218 %dir /usr/share/sounds
219 %dir /usr/share/themes
220 %dir /usr/share/themes/Default
221 %dir /usr/share/thumbnailers
223 %dir /usr/share/vala/vapi
224 %dir /usr/share/wallpapers
225 %dir /usr/share/wayland-sessions
226 %dir /usr/share/xdg-desktop-portal
227 %dir /usr/share/xdg-desktop-portal/portals
228 %dir /usr/share/xsessions
230 %dir /usr/share/zsh/site-functions
231 %dir /usr/src/examples
232 %attr(700,root,root) %dir /var/lock/subsys
233 %attr(751,root,root) %dir /var/log/archive
236 %dir %{_desktopdir}/docklets
237 %dir %{_desktopdir}/screensavers
245 %dir /usr/lib64/browser-plugins
246 %dir /usr/lib64/cmake
247 %dir /usr/lib64/initrd
248 %dir /usr/lib64/mozilla
249 %dir /usr/lib64/mozilla/extensions
250 %dir /usr/lib64/pkcs11
251 %dir /usr/lib64/pkgconfig