]> git.pld-linux.org Git - packages/filesystem.git/blob - filesystem.spec
- release 32: added dir for ast help
[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
5 # disable rpm generated debug package, we handle it differently here
6 %define         _enable_debug_packages  0
7
8 # avoid rpm 4.4.9 adding rm -rf buildroot
9 %define         __spec_clean_body       %{nil}
10 Summary:        Common directories
11 Summary(pl.UTF-8):      Wspólne katalogi
12 Name:           filesystem
13 Version:        4.0
14 Release:        32
15 License:        GPL
16 Group:          Base
17 BuildRequires:  automake
18 BuildRequires:  mktemp
19 BuildRequires:  rpm >= 4.4.9-56
20 Requires:       FHS >= 2.3-15
21 Provides:       browser-plugins(%{_target_base_arch})
22 %ifarch %{x8664}
23 Provides:       browser-plugins(i386)
24 %endif
25 %ifarch ppc64
26 Provides:       browser-plugins(ppc)
27 %endif
28 %ifarch s390x
29 Provides:       browser-plugins(s390)
30 %endif
31 %ifarch sparc64
32 Provides:       browser-plugins(sparc)
33 %endif
34 Provides:       filesystem-debuginfo = %{version}-%{release}
35 Obsoletes:      filesystem-debuginfo < 3.0-36
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 # Adapter: This file does not like to be adapterized!
39
40 # directory for "privilege separation" chroot
41 %define         _privsepdir     /usr/share/empty
42 # directory for *.idl files (for CORBA implementations)
43 %define         _idldir         /usr/share/idl
44
45 # we have to use numeric uids/groups. see comment beginning of the spec
46 %define         gid_logs        124
47 %define         gid_crontab     117
48
49 %description
50 This package contains common directories for packages that extend some
51 programs functionality, but don't require them themselves.
52
53 %description -l pl.UTF-8
54 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
55 funkcjonalność programów, ale nie wymagających ich.
56
57 %prep
58 %setup -qcT
59
60 %install
61 rm -rf $RPM_BUILD_ROOT
62
63 install -d \
64         $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
65         $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/xinitrc.d,certs,cron.d,default,init,logrotate.d,modprobe.d,pki/{CA,tls},security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
66         $RPM_BUILD_ROOT/home/{users,services} \
67         $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
68         $RPM_BUILD_ROOT/usr/include/{security,X11} \
69         $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
70         $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,gnome/help,mate/help,man/man{n,l},man/pl/mann,ppd,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xsessions} \
71         $RPM_BUILD_ROOT/usr/src/examples \
72         $RPM_BUILD_ROOT/var/lib/color/icc \
73         $RPM_BUILD_ROOT/var/lock/subsys \
74         $RPM_BUILD_ROOT/var/log/archive \
75         $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
76         $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
77         $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
78         $RPM_BUILD_ROOT/boot/efi \
79         $RPM_BUILD_ROOT/etc/OpenCL/vendors
80
81 > %{name}.lang
82 install -d $RPM_BUILD_ROOT/usr/share/help/C
83
84 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 sl sr sr@latin sv ta te th tr uk vi zh_CN zh_HK zh_TW; do
85         install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
86         echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
87 done
88
89 %if "%{_lib}" == "lib64"
90 install -d \
91         $RPM_BUILD_ROOT/lib64/security \
92         $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
93 %endif
94
95 %if "%{pld_release}" == "ac"
96 rmdir $RPM_BUILD_ROOT/usr/include/X11
97 # X11
98 install -d $RPM_BUILD_ROOT/usr/X11R6/share
99 for manp in man{1,2,3,4,5,6,7,8} ; do
100         install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
101         for mloc in it ko pl; do
102                 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
103         done
104 done
105 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
106 %endif
107
108 install -d \
109         $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
110         $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
111         $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
112         $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
113         $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
114         $RPM_BUILD_ROOT/usr/src/debug
115
116 %if "%{_lib}" == "lib64"
117 install -d \
118         $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
119 %endif
120
121 # create this for %clean
122 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
123
124 %clean
125 mkdir -p $RPM_BUILD_ROOT
126 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
127 cd $RPM_BUILD_ROOT
128
129 check_filesystem_dirs() {
130         RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
131         RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
132         TMPFILE=$(mktemp)
133         # note: we must exclude from check all existing dirs belonging to FHS
134         find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
135         grep -E -v '^/(boot|etc|etc/X11|home|lib|lib64|usr|usr/include|usr/lib|usr/lib64|usr/share|usr/share/man|usr/share/man/pl|usr/src|var|var/lib|var/lock|var/log)$' > $TMPFILE
136
137         # find finds also '.', so use option -B for diff
138         rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
139
140         rm -f $TMPFILE
141 }
142
143 check_filesystem_dirs
144
145 %if "%{pld_release}" != "ac"
146 %pretrans -p <lua>
147 -- this needs to be a dir
148 if posix.stat("/usr/include/X11", "type") == "link" then
149         posix.umask("0755");
150         os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
151         posix.mkdir("/usr")
152         posix.mkdir("/usr/include")
153         posix.mkdir("/usr/include/X11")
154         oldpwd = posix.getcwd()
155         posix.chdir("/usr/include/X11.rpmsave")
156         for i,j in pairs(posix.glob("*")) do
157                 os.rename(j, "/usr/include/X11/" .. j)
158         end
159         posix.chdir(oldpwd)
160 end
161 %endif
162
163 %post -p <lua>
164 posix.chown("/var/log/archive", 0, %{gid_logs})
165 posix.chown("/etc/cron.d", 0, %{gid_crontab})
166
167 %files -f %{name}.lang
168 %defattr(644,root,root,755)
169 %dir /boot/efi
170 %dir /etc/X11/xinit
171 %dir /etc/X11/xinit/xinitrc.d
172 %dir /etc/OpenCL
173 %dir /etc/OpenCL/vendors
174 %attr(751,root,root) %dir /etc/certs
175 %dir /etc/cron.d
176 %dir /etc/default
177 %dir /etc/init
178 %dir /etc/logrotate.d
179 %dir /etc/modprobe.d
180 %dir /etc/pki
181 %dir /etc/pki/CA
182 %dir /etc/pki/tls
183 %attr(751,root,root) %dir /etc/security
184 %dir /etc/sysconfig
185 %dir /etc/tmpwatch
186 %dir /etc/xdg
187 %dir /etc/xdg/autostart
188 %dir /etc/xdg/menus
189 %dir /etc/NetworkManager
190 %dir /etc/NetworkManager/dispatcher.d
191 %dir /home/users
192 %dir /home/services
193 %dir /initrd
194 %dir /lib/firmware
195 %dir /lib/security
196 %dir /lib/systemd
197 %dir /lib/systemd/system
198 %dir /lib/udev
199 %dir /lib/udev/rules.d
200 %dir /run
201 %dir /selinux
202 %dir /sys
203 %if "%{pld_release}" != "ac"
204 %dir /usr/include/X11
205 %endif
206 %dir /usr/include/security
207 %dir /usr/lib/ConsoleKit
208 %dir /usr/lib/ConsoleKit/run-session.d
209 %dir /usr/lib/browser-plugins
210 %dir /usr/lib/cgi-bin
211 %dir /usr/lib/cmake
212 %dir /usr/lib/initrd
213 %dir /usr/lib/mozilla
214 %dir /usr/lib/mozilla/extensions
215 %dir /usr/lib/pkcs11
216 %dir /usr/lib/pkgconfig
217 %dir /usr/lib/tmpfiles.d
218 %dir /usr/share/appdata
219 %dir /usr/share/augeas
220 %dir /usr/share/augeas/lenses
221 %dir /usr/share/augeas/lenses/tests
222 %dir /usr/share/backgrounds
223 %dir /usr/share/cmake
224 %dir /usr/share/cmake/Modules
225 %dir /usr/share/color
226 %dir /usr/share/color/icc
227 %dir /usr/share/gnome
228 %dir /usr/share/gnome/help
229 %dir /usr/share/mate
230 %dir /usr/share/mate/help
231 %dir /usr/share/help
232 %dir /usr/share/help/C
233 %dir /usr/share/man/man[nl]
234 %lang(pl) %dir /usr/share/man/pl/mann
235 %dir /usr/share/pkgconfig
236 %dir /usr/share/ppd
237 %dir /usr/share/soundfonts
238 %dir /usr/share/sounds
239 %dir /usr/share/themes
240 %dir /usr/share/themes/Default
241 %dir /usr/share/thumbnailers
242 %dir /usr/share/vala
243 %dir /usr/share/vala/vapi
244 %dir /usr/share/wallpapers
245 %dir /usr/share/wayland-sessions
246 %dir /usr/share/xsessions
247 %dir /usr/src/examples
248 %dir /var/lib/color
249 %dir /var/lib/color/icc
250 %attr(700,root,root) %dir /var/lock/subsys
251 %attr(751,root,root) %dir /var/log/archive
252 %dir %{_aclocaldir}
253 %dir %{_desktopdir}
254 %dir %{_desktopdir}/docklets
255 %dir %{_desktopdir}/screensavers
256 %dir %{_iconsdir}
257 %dir %{_pixmapsdir}
258 %{_fontsdir}
259 %dir %{_idldir}
260 %dir %{_privsepdir}
261 %if "%{_lib}" == "lib64"
262 %dir /lib64/security
263 %dir /usr/lib64/browser-plugins
264 %dir /usr/lib64/cmake
265 %dir /usr/lib64/initrd
266 %dir /usr/lib64/mozilla
267 %dir /usr/lib64/mozilla/extensions
268 %dir /usr/lib64/pkcs11
269 %dir /usr/lib64/pkgconfig
270 %endif
271
272 %if "%{pld_release}" == "ac"
273 %dir /usr/X11R6
274 %dir /usr/X11R6/man
275 /usr/X11R6/man/man*
276 %lang(it) /usr/X11R6/man/it
277 %lang(ko) /usr/X11R6/man/ko
278 %lang(pl) /usr/X11R6/man/pl
279 %dir /usr/X11R6/share
280
281 %dir /usr/share/wm-properties
282 %endif
283
284 # debuginfo
285 %dir /usr/lib/debug
286 /usr/lib/debug/*
287
288 %dir /usr/src/debug
This page took 0.040352 seconds and 3 git commands to generate.