]> git.pld-linux.org Git - packages/filesystem.git/blob - filesystem.spec
- release 28: added /usr/lib*/pkcs11 dir
[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:        28
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
48 %description
49 This package contains common directories for packages that extend some
50 programs functionality, but don't require them themselves.
51
52 %description -l pl.UTF-8
53 Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających
54 funkcjonalność programów, ale nie wymagających ich.
55
56 %prep
57 %setup -qcT
58
59 %install
60 rm -rf $RPM_BUILD_ROOT
61
62 install -d \
63         $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
64         $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/xinitrc.d,certs,default,init,logrotate.d,modprobe.d,pki/CA,security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
65         $RPM_BUILD_ROOT/home/{users,services} \
66         $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
67         $RPM_BUILD_ROOT/usr/include/{security,X11} \
68         $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
69         $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} \
70         $RPM_BUILD_ROOT/usr/src/examples \
71         $RPM_BUILD_ROOT/var/lib/color/icc \
72         $RPM_BUILD_ROOT/var/lock/subsys \
73         $RPM_BUILD_ROOT/var/log/archive \
74         $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
75         $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
76         $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
77         $RPM_BUILD_ROOT/boot/efi
78
79 > %{name}.lang
80 install -d $RPM_BUILD_ROOT/usr/share/help/C
81
82 for lang in ar as 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 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
83         install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
84         echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
85 done
86
87 %if "%{_lib}" == "lib64"
88 install -d \
89         $RPM_BUILD_ROOT/lib64/security \
90         $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
91 %endif
92
93 %if "%{pld_release}" == "ac"
94 rmdir $RPM_BUILD_ROOT/usr/include/X11
95 # X11
96 install -d $RPM_BUILD_ROOT/usr/X11R6/share
97 for manp in man{1,2,3,4,5,6,7,8} ; do
98         install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
99         for mloc in it ko pl; do
100                 install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
101         done
102 done
103 install -d $RPM_BUILD_ROOT/usr/share/wm-properties
104 %endif
105
106 install -d \
107         $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
108         $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \
109         $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \
110         $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \
111         $RPM_BUILD_ROOT/usr/lib/debug/lib/security \
112         $RPM_BUILD_ROOT/usr/src/debug
113
114 %if "%{_lib}" == "lib64"
115 install -d \
116         $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
117 %endif
118
119 # create this for %clean
120 tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
121
122 %clean
123 mkdir -p $RPM_BUILD_ROOT
124 tar -xf checkfiles.tar -C $RPM_BUILD_ROOT
125 cd $RPM_BUILD_ROOT
126
127 check_filesystem_dirs() {
128         RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm
129         RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
130         TMPFILE=$(mktemp)
131         # note: we must exclude from check all existing dirs belonging to FHS
132         find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
133         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
134
135         # find finds also '.', so use option -B for diff
136         rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
137
138         rm -f $TMPFILE
139 }
140
141 check_filesystem_dirs
142
143 %if "%{pld_release}" != "ac"
144 %pretrans -p <lua>
145 -- this needs to be a dir
146 if posix.stat("/usr/include/X11", "type") == "link" then
147         posix.umask("0755");
148         os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
149         posix.mkdir("/usr")
150         posix.mkdir("/usr/include")
151         posix.mkdir("/usr/include/X11")
152         oldpwd = posix.getcwd()
153         posix.chdir("/usr/include/X11.rpmsave")
154         for i,j in pairs(posix.glob("*")) do
155                 os.rename(j, "/usr/include/X11/" .. j)
156         end
157         posix.chdir(oldpwd)
158 end
159 %endif
160
161 %post -p <lua>
162 posix.chown("/var/log/archive", 0, %{gid_logs})
163
164 %files -f %{name}.lang
165 %defattr(644,root,root,755)
166 %dir /boot/efi
167 %dir /etc/X11/xinit
168 %dir /etc/X11/xinit/xinitrc.d
169 %attr(751,root,root) %dir /etc/certs
170 %dir /etc/default
171 %dir /etc/init
172 %dir /etc/logrotate.d
173 %dir /etc/modprobe.d
174 %dir /etc/pki
175 %dir /etc/pki/CA
176 %attr(751,root,root) %dir /etc/security
177 %dir /etc/sysconfig
178 %dir /etc/tmpwatch
179 %dir /etc/xdg
180 %dir /etc/xdg/autostart
181 %dir /etc/xdg/menus
182 %dir /etc/NetworkManager
183 %dir /etc/NetworkManager/dispatcher.d
184 %dir /home/users
185 %dir /home/services
186 %dir /initrd
187 %dir /lib/firmware
188 %dir /lib/security
189 %dir /lib/systemd
190 %dir /lib/systemd/system
191 %dir /lib/udev
192 %dir /lib/udev/rules.d
193 %dir /run
194 %dir /selinux
195 %dir /sys
196 %if "%{pld_release}" != "ac"
197 %dir /usr/include/X11
198 %endif
199 %dir /usr/include/security
200 %dir /usr/lib/ConsoleKit
201 %dir /usr/lib/ConsoleKit/run-session.d
202 %dir /usr/lib/browser-plugins
203 %dir /usr/lib/cgi-bin
204 %dir /usr/lib/cmake
205 %dir /usr/lib/initrd
206 %dir /usr/lib/mozilla
207 %dir /usr/lib/mozilla/extensions
208 %dir /usr/lib/pkcs11
209 %dir /usr/lib/pkgconfig
210 %dir /usr/lib/tmpfiles.d
211 %dir /usr/share/appdata
212 %dir /usr/share/augeas
213 %dir /usr/share/augeas/lenses
214 %dir /usr/share/augeas/lenses/tests
215 %dir /usr/share/backgrounds
216 %dir /usr/share/cmake
217 %dir /usr/share/cmake/Modules
218 %dir /usr/share/color
219 %dir /usr/share/color/icc
220 %dir /usr/share/gnome
221 %dir /usr/share/gnome/help
222 %dir /usr/share/mate
223 %dir /usr/share/mate/help
224 %dir /usr/share/help
225 %dir /usr/share/help/C
226 %dir /usr/share/man/man[nl]
227 %lang(pl) %dir /usr/share/man/pl/mann
228 %dir /usr/share/pkgconfig
229 %dir /usr/share/ppd
230 %dir /usr/share/soundfonts
231 %dir /usr/share/sounds
232 %dir /usr/share/themes
233 %dir /usr/share/themes/Default
234 %dir /usr/share/thumbnailers
235 %dir /usr/share/vala
236 %dir /usr/share/vala/vapi
237 %dir /usr/share/wallpapers
238 %dir /usr/share/wayland-sessions
239 %dir /usr/share/xsessions
240 %dir /usr/src/examples
241 %dir /var/lib/color
242 %dir /var/lib/color/icc
243 %attr(700,root,root) %dir /var/lock/subsys
244 %attr(751,root,root) %dir /var/log/archive
245 %dir %{_aclocaldir}
246 %dir %{_desktopdir}
247 %dir %{_desktopdir}/docklets
248 %dir %{_desktopdir}/screensavers
249 %dir %{_iconsdir}
250 %dir %{_pixmapsdir}
251 %{_fontsdir}
252 %dir %{_idldir}
253 %dir %{_privsepdir}
254 %if "%{_lib}" == "lib64"
255 %dir /lib64/security
256 %dir /usr/lib64/browser-plugins
257 %dir /usr/lib64/cmake
258 %dir /usr/lib64/initrd
259 %dir /usr/lib64/mozilla
260 %dir /usr/lib64/mozilla/extensions
261 %dir /usr/lib64/pkcs11
262 %dir /usr/lib64/pkgconfig
263 %endif
264
265 %if "%{pld_release}" == "ac"
266 %dir /usr/X11R6
267 %dir /usr/X11R6/man
268 /usr/X11R6/man/man*
269 %lang(it) /usr/X11R6/man/it
270 %lang(ko) /usr/X11R6/man/ko
271 %lang(pl) /usr/X11R6/man/pl
272 %dir /usr/X11R6/share
273
274 %dir /usr/share/wm-properties
275 %endif
276
277 # debuginfo
278 %dir /usr/lib/debug
279 /usr/lib/debug/*
280
281 %dir /usr/src/debug
This page took 0.099974 seconds and 3 git commands to generate.