]> git.pld-linux.org Git - packages/filesystem.git/blob - filesystem.spec
add help dir for nan; rel 19
[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:        6
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 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
103 done
104
105 %if %{with lib64}
106 install -d \
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
110 %endif
111 %if %{with libx32}
112 install -d \
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
116 %endif
117
118 %if "%{pld_release}" == "ac"
119 rmdir $RPM_BUILD_ROOT/usr/include/X11
120 # 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
126         done
127 done
128 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
129 %endif
130
131 install -d \
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
138
139 %clean
140 cd $RPM_BUILD_ROOT
141
142 check_filesystem_dirs() {
143         RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
144         TMPFILE=$(mktemp)
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
148
149         if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then
150                 rm -rf $RPM_BUILD_ROOT
151         else
152                 echo -e "\nNot so good, some directories are not included in package\n"
153                 exit 1
154         fi
155         rm -f $TMPFILE
156 }
157
158 check_filesystem_dirs
159
160 %if "%{pld_release}" != "ac"
161 %pretrans -p <lua>
162 -- this needs to be a dir
163 if posix.stat("/usr/include/X11", "type") == "link" then
164         posix.umask("0755");
165         os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
166         posix.mkdir("/usr")
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)
173         end
174         posix.chdir(oldpwd)
175 end
176 %endif
177
178 %post -p <lua>
179 posix.chown("/var/log/archive", 0, %{gid_logs})
180 posix.chown("/etc/cron.d", 0, %{gid_crontab})
181
182 %files -f %{name}.lang
183 %defattr(644,root,root,755)
184 %dir /boot/efi
185 %dir /boot/efi/EFI
186 %dir /etc/X11/xinit
187 %dir /etc/X11/xinit/xinitrc.d
188 %dir /etc/X11/xinit/xinput.d
189 %dir /etc/OpenCL
190 %dir /etc/OpenCL/vendors
191 %attr(751,root,root) %dir /etc/certs
192 %dir /etc/cron.d
193 %dir /etc/default
194 %dir /etc/fonts
195 %dir /etc/fonts/conf.d
196 %dir /etc/logrotate.d
197 %dir /etc/modprobe.d
198 %dir /etc/pki
199 %dir /etc/pki/CA
200 %dir /etc/pki/tls
201 %attr(751,root,root) %dir /etc/security
202 %dir /etc/skel
203 %dir /etc/sysconfig
204 %dir /etc/tmpwatch
205 %dir /etc/xdg
206 %dir /etc/xdg/autostart
207 %dir /etc/xdg/colors
208 %dir /etc/xdg/menus
209 %dir /etc/NetworkManager
210 %dir /etc/NetworkManager/dispatcher.d
211 %dir /home/users
212 %dir /home/services
213 %dir /initrd
214 %dir /lib/firmware
215 %dir /lib/security
216 %dir /lib/systemd
217 %dir /lib/systemd/system
218 # for library packages or other software with optional udev support not to pull udev
219 %dir /lib/udev
220 %dir /lib/udev/hwdb.d
221 %dir /lib/udev/rules.d
222 %dir /selinux
223 %if "%{pld_release}" != "ac"
224 %dir /usr/include/X11
225 %endif
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
232 %dir /usr/lib/cmake
233 %dir /usr/lib/initrd
234 %dir /usr/lib/mozilla
235 %dir /usr/lib/mozilla/extensions
236 %dir /usr/lib/pkcs11
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
254 %dir /usr/share/mate
255 %dir /usr/share/mate/help
256 %dir /usr/share/metainfo
257 %dir /usr/share/help
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
267 %dir /usr/share/vala
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/share/zsh
275 %dir /usr/share/zsh/site-functions
276 %dir /usr/src/examples
277 %attr(700,root,root) %dir /var/lock/subsys
278 %attr(751,root,root) %dir /var/log/archive
279 %dir %{_aclocaldir}
280 %dir %{_desktopdir}
281 %dir %{_desktopdir}/docklets
282 %dir %{_desktopdir}/screensavers
283 %dir %{_iconsdir}
284 %dir %{_pixmapsdir}
285 %{_fontsdir}
286 %dir %{_idldir}
287 %dir %{_privsepdir}
288 %if %{with lib64}
289 %dir /lib64/security
290 %dir /usr/lib64/browser-plugins
291 %dir /usr/lib64/cmake
292 %dir /usr/lib64/initrd
293 %dir /usr/lib64/mozilla
294 %dir /usr/lib64/mozilla/extensions
295 %dir /usr/lib64/pkcs11
296 %dir /usr/lib64/pkgconfig
297 %endif
298 %if %{with libx32}
299 %dir /libx32/security
300 %dir /usr/libx32/browser-plugins
301 %dir /usr/libx32/cmake
302 %dir /usr/libx32/initrd
303 %dir /usr/libx32/mozilla
304 %dir /usr/libx32/mozilla/extensions
305 %dir /usr/libx32/pkcs11
306 %dir /usr/libx32/pkgconfig
307 %endif
308
309 %if "%{pld_release}" == "ac"
310 %dir /usr/X11R6
311 %dir /usr/X11R6/man
312 /usr/X11R6/man/man*
313 %lang(it) /usr/X11R6/man/it
314 %lang(ko) /usr/X11R6/man/ko
315 %lang(pl) /usr/X11R6/man/pl
316 %dir /usr/X11R6/share
317
318 %dir /usr/share/wm-properties
319 %endif
320
321 # debuginfo
322 %dir /usr/lib/debug
323 /usr/lib/debug/*
324
325 %dir /usr/src/debug
This page took 0.074783 seconds and 3 git commands to generate.