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} \
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 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
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
229 %dir /usr/src/examples
230 %attr(700,root,root) %dir /var/lock/subsys
231 %attr(751,root,root) %dir /var/log/archive
234 %dir %{_desktopdir}/docklets
235 %dir %{_desktopdir}/screensavers
243 %dir /usr/lib64/browser-plugins
244 %dir /usr/lib64/cmake
245 %dir /usr/lib64/initrd
246 %dir /usr/lib64/mozilla
247 %dir /usr/lib64/mozilla/extensions
248 %dir /usr/lib64/pkcs11
249 %dir /usr/lib64/pkgconfig