]> git.pld-linux.org Git - packages/filesystem.git/blob - filesystem.spec
- added kab,tpi help dirs
[packages/filesystem.git] / filesystem.spec
1 # NOTE
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
7 Name:           filesystem
8 Version:        4.1
9 Release:        14
10 License:        GPL
11 Group:          Base
12 BuildRequires:  automake
13 BuildRequires:  mktemp
14 BuildRequires:  rpm >= 4.4.9-56
15 Requires:       FHS >= 3.0
16 Provides:       browser-plugins(%{_target_base_arch})
17 %ifarch %{x8664}
18 Provides:       browser-plugins(i386)
19 %endif
20 %ifarch ppc64
21 Provides:       browser-plugins(ppc)
22 %endif
23 %ifarch s390x
24 Provides:       browser-plugins(s390)
25 %endif
26 %ifarch sparc64
27 Provides:       browser-plugins(sparc)
28 %endif
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
33 %endif
34 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35
36 # Adapter: This file does not like to be adapterized!
37
38 # disable rpm generated debug package, we handle it differently here
39 %define         _enable_debug_packages  0
40
41 %if "%{_lib}" == "lib64"
42 %define         with_lib64      1
43 %endif
44 %if "%{_lib}" == "libx32"
45 %define         with_libx32     1
46 %define         with_lib64      1
47 %else
48 %ifarch %{x8664}
49 # x32 as additional ABI
50 %define         with_libx32     1
51 %endif
52 %endif
53
54 # avoid rpm 4.4.9 adding rm -rf buildroot
55 %define         __spec_clean_body       %{nil}
56
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
61
62 # we have to use numeric uids/groups. see comment beginning of the spec
63 %define         gid_logs        124
64 %define         gid_crontab     117
65
66 %description
67 This package contains common directories for packages that extend some
68 programs functionality, but don't require them themselves.
69
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.
73
74 %prep
75 %setup -qcT
76
77 %install
78 rm -rf $RPM_BUILD_ROOT
79
80 install -d \
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,zsh/site-functions} \
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
96
97 > %{name}.lang
98 install -d $RPM_BUILD_ROOT/usr/share/help/C
99
100 for lang in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR \
101         be be@latin be@tarask bem bg bho bn bn_IN bo br brx bs byn \
102         ca ca@valencia ce chr ckb cmn crh cs csb cv cy \
103         da de de_AT de_CH doi dv dz \
104         el en en_AU en_CA en_GB en_NZ en@shaw en_US eo es \
105         es_AR es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY es_VE \
106         et eu fa ff fi fil fo fr fr_BE fr_CA fr_CH fur fy ga gd gez gl gu gv \
107         ha he hi hne hr hsb ht hu hy ia id ig ik is it it_CH iu ja \
108         ka kab kg kk kl km kn ko kok ks ks@devanagari ku kw ky la lb lg li ln lo lt lv \
109         mai mg mhr mi mk ml mn mni mr ms mt my nb nds ne nl nl_BE nn nr nso oc om or \
110         pa pap pl ps pt pt_BR quz rm ro ru rw \
111         sa sat sc sd sd@devanagari se shn si sid sk sl so sq \
112         sr sr@ijekavian sr@ijekavianlatin sr@latin ss st sv sw szl \
113         ta te tg th ti tig tk tl tlh tn tpi tr ts tt tt@iqtelif \
114         ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo zh_CN zh_HK zh_TW zu; do
115         install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
116         echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
117 done
118
119 %if %{with lib64}
120 install -d \
121         $RPM_BUILD_ROOT/lib64/security \
122         $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
123         $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
124 %endif
125 %if %{with libx32}
126 install -d \
127         $RPM_BUILD_ROOT/libx32/security \
128         $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
129         $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
130 %endif
131
132 %if "%{pld_release}" == "ac"
133 rmdir $RPM_BUILD_ROOT/usr/include/X11
134 # X11
135 install -d $RPM_BUILD_ROOT/usr/X11R6/share
136 for manp in man{1,2,3,4,5,6,7,8} ; do
137         install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
138         for mloc in it ko pl; do
139                 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
140         done
141 done
142 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
143 %endif
144
145 install -d \
146         $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
147         $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
148         $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
149         $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
150         $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
151         $RPM_BUILD_ROOT/usr/src/debug
152
153 %clean
154 cd $RPM_BUILD_ROOT
155
156 check_filesystem_dirs() {
157         RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
158         TMPFILE=$(mktemp)
159         # note: we must exclude from check all existing dirs belonging to FHS
160         find | sed -e 's|^\.||g' -e '/^$/d' | LC_ALL=C sort | grep -v $TMPFILE | \
161         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
162
163         if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then
164                 rm -rf $RPM_BUILD_ROOT
165         else
166                 echo -e "\nNot so good, some directories are not included in package\n"
167                 exit 1
168         fi
169         rm -f $TMPFILE
170 }
171
172 check_filesystem_dirs
173
174 %if "%{pld_release}" != "ac"
175 %pretrans -p <lua>
176 -- this needs to be a dir
177 if posix.stat("/usr/include/X11", "type") == "link" then
178         posix.umask("0755");
179         os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
180         posix.mkdir("/usr")
181         posix.mkdir("/usr/include")
182         posix.mkdir("/usr/include/X11")
183         oldpwd = posix.getcwd()
184         posix.chdir("/usr/include/X11.rpmsave")
185         for i,j in pairs(posix.glob("*")) do
186                 os.rename(j, "/usr/include/X11/" .. j)
187         end
188         posix.chdir(oldpwd)
189 end
190 %endif
191
192 %post -p <lua>
193 posix.chown("/var/log/archive", 0, %{gid_logs})
194 posix.chown("/etc/cron.d", 0, %{gid_crontab})
195
196 %files -f %{name}.lang
197 %defattr(644,root,root,755)
198 %dir /boot/efi
199 %dir /boot/efi/EFI
200 %dir /etc/X11/xinit
201 %dir /etc/X11/xinit/xinitrc.d
202 %dir /etc/X11/xinit/xinput.d
203 %dir /etc/OpenCL
204 %dir /etc/OpenCL/vendors
205 %attr(751,root,root) %dir /etc/certs
206 %dir /etc/cron.d
207 %dir /etc/default
208 %dir /etc/fonts
209 %dir /etc/fonts/conf.d
210 %dir /etc/logrotate.d
211 %dir /etc/modprobe.d
212 %dir /etc/pki
213 %dir /etc/pki/CA
214 %dir /etc/pki/tls
215 %attr(751,root,root) %dir /etc/security
216 %dir /etc/skel
217 %dir /etc/sysconfig
218 %dir /etc/tmpwatch
219 %dir /etc/xdg
220 %dir /etc/xdg/autostart
221 %dir /etc/xdg/colors
222 %dir /etc/xdg/menus
223 %dir /etc/NetworkManager
224 %dir /etc/NetworkManager/dispatcher.d
225 %dir /home/users
226 %dir /home/services
227 %dir /initrd
228 %dir /lib/firmware
229 %dir /lib/security
230 %dir /lib/systemd
231 %dir /lib/systemd/system
232 # for library packages or other software with optional udev support not to pull udev
233 %dir /lib/udev
234 %dir /lib/udev/hwdb.d
235 %dir /lib/udev/rules.d
236 %dir /selinux
237 %if "%{pld_release}" != "ac"
238 %dir /usr/include/X11
239 %endif
240 %dir /usr/include/security
241 %dir /usr/lib/ConsoleKit
242 %dir /usr/lib/ConsoleKit/run-session.d
243 %dir /usr/lib/binfmt.d
244 %dir /usr/lib/browser-plugins
245 %dir /usr/lib/cgi-bin
246 %dir /usr/lib/cmake
247 %dir /usr/lib/initrd
248 %dir /usr/lib/mozilla
249 %dir /usr/lib/mozilla/extensions
250 %dir /usr/lib/pkcs11
251 %dir /usr/lib/pkgconfig
252 %dir /usr/lib/tmpfiles.d
253 %dir /usr/share/appdata
254 %dir /usr/share/augeas
255 %dir /usr/share/augeas/lenses
256 %dir /usr/share/augeas/lenses/tests
257 %dir /usr/share/backgrounds
258 %dir /usr/share/cmake
259 %dir /usr/share/cmake/Modules
260 %dir /usr/share/defaults
261 %dir /usr/share/factory
262 %dir /usr/share/factory/etc
263 %dir /usr/share/factory/etc/pam.d
264 %dir /usr/share/fontconfig
265 %dir /usr/share/fontconfig/conf.avail
266 %dir /usr/share/gnome
267 %dir /usr/share/gnome/help
268 %dir /usr/share/mate
269 %dir /usr/share/mate/help
270 %dir /usr/share/metainfo
271 %dir /usr/share/help
272 %dir /usr/share/help/C
273 %dir /usr/share/man/man[nl]
274 %lang(pl) %dir /usr/share/man/pl/mann
275 %dir /usr/share/pkgconfig
276 %dir /usr/share/soundfonts
277 %dir /usr/share/sounds
278 %dir /usr/share/themes
279 %dir /usr/share/themes/Default
280 %dir /usr/share/thumbnailers
281 %dir /usr/share/vala
282 %dir /usr/share/vala/vapi
283 %dir /usr/share/wallpapers
284 %dir /usr/share/wayland-sessions
285 %dir /usr/share/xdg-desktop-portal
286 %dir /usr/share/xdg-desktop-portal/portals
287 %dir /usr/share/xsessions
288 %dir /usr/share/zsh
289 %dir /usr/share/zsh/site-functions
290 %dir /usr/src/examples
291 %attr(700,root,root) %dir /var/lock/subsys
292 %attr(751,root,root) %dir /var/log/archive
293 %dir %{_aclocaldir}
294 %dir %{_desktopdir}
295 %dir %{_desktopdir}/docklets
296 %dir %{_desktopdir}/screensavers
297 %dir %{_iconsdir}
298 %dir %{_pixmapsdir}
299 %{_fontsdir}
300 %dir %{_idldir}
301 %dir %{_privsepdir}
302 %if %{with lib64}
303 %dir /lib64/security
304 %dir /usr/lib64/browser-plugins
305 %dir /usr/lib64/cmake
306 %dir /usr/lib64/initrd
307 %dir /usr/lib64/mozilla
308 %dir /usr/lib64/mozilla/extensions
309 %dir /usr/lib64/pkcs11
310 %dir /usr/lib64/pkgconfig
311 %endif
312 %if %{with libx32}
313 %dir /libx32/security
314 %dir /usr/libx32/browser-plugins
315 %dir /usr/libx32/cmake
316 %dir /usr/libx32/initrd
317 %dir /usr/libx32/mozilla
318 %dir /usr/libx32/mozilla/extensions
319 %dir /usr/libx32/pkcs11
320 %dir /usr/libx32/pkgconfig
321 %endif
322
323 %if "%{pld_release}" == "ac"
324 %dir /usr/X11R6
325 %dir /usr/X11R6/man
326 /usr/X11R6/man/man*
327 %lang(it) /usr/X11R6/man/it
328 %lang(ko) /usr/X11R6/man/ko
329 %lang(pl) /usr/X11R6/man/pl
330 %dir /usr/X11R6/share
331
332 %dir /usr/share/wm-properties
333 %endif
334
335 # debuginfo
336 %dir /usr/lib/debug
337 /usr/lib/debug/*
338
339 %dir /usr/src/debug
This page took 0.633399 seconds and 4 git commands to generate.