]> git.pld-linux.org Git - packages/filesystem.git/blob - filesystem.spec
Add /usr/share/xdg-desktop-portal/portals. Release 2
[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:        2
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} \
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,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xdg-desktop-portal/portals,xsessions} \
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/browser-plugins
230 %dir /usr/lib/cgi-bin
231 %dir /usr/lib/cmake
232 %dir /usr/lib/initrd
233 %dir /usr/lib/mozilla
234 %dir /usr/lib/mozilla/extensions
235 %dir /usr/lib/pkcs11
236 %dir /usr/lib/pkgconfig
237 %dir /usr/lib/tmpfiles.d
238 %dir /usr/share/appdata
239 %dir /usr/share/augeas
240 %dir /usr/share/augeas/lenses
241 %dir /usr/share/augeas/lenses/tests
242 %dir /usr/share/backgrounds
243 %dir /usr/share/cmake
244 %dir /usr/share/cmake/Modules
245 %dir /usr/share/defaults
246 %dir /usr/share/factory
247 %dir /usr/share/factory/etc
248 %dir /usr/share/factory/etc/pam.d
249 %dir /usr/share/fontconfig
250 %dir /usr/share/fontconfig/conf.avail
251 %dir /usr/share/gnome
252 %dir /usr/share/gnome/help
253 %dir /usr/share/mate
254 %dir /usr/share/mate/help
255 %dir /usr/share/help
256 %dir /usr/share/help/C
257 %dir /usr/share/man/man[nl]
258 %lang(pl) %dir /usr/share/man/pl/mann
259 %dir /usr/share/pkgconfig
260 %dir /usr/share/soundfonts
261 %dir /usr/share/sounds
262 %dir /usr/share/themes
263 %dir /usr/share/themes/Default
264 %dir /usr/share/thumbnailers
265 %dir /usr/share/vala
266 %dir /usr/share/vala/vapi
267 %dir /usr/share/wallpapers
268 %dir /usr/share/wayland-sessions
269 %dir /usr/share/xdg-desktop-portal
270 %dir /usr/share/xdg-desktop-portal/portals
271 %dir /usr/share/xsessions
272 %dir /usr/src/examples
273 %attr(700,root,root) %dir /var/lock/subsys
274 %attr(751,root,root) %dir /var/log/archive
275 %dir %{_aclocaldir}
276 %dir %{_desktopdir}
277 %dir %{_desktopdir}/docklets
278 %dir %{_desktopdir}/screensavers
279 %dir %{_iconsdir}
280 %dir %{_pixmapsdir}
281 %{_fontsdir}
282 %dir %{_idldir}
283 %dir %{_privsepdir}
284 %if %{with lib64}
285 %dir /lib64/security
286 %dir /usr/lib64/browser-plugins
287 %dir /usr/lib64/cmake
288 %dir /usr/lib64/initrd
289 %dir /usr/lib64/mozilla
290 %dir /usr/lib64/mozilla/extensions
291 %dir /usr/lib64/pkcs11
292 %dir /usr/lib64/pkgconfig
293 %endif
294 %if %{with libx32}
295 %dir /libx32/security
296 %dir /usr/libx32/browser-plugins
297 %dir /usr/libx32/cmake
298 %dir /usr/libx32/initrd
299 %dir /usr/libx32/mozilla
300 %dir /usr/libx32/mozilla/extensions
301 %dir /usr/libx32/pkcs11
302 %dir /usr/libx32/pkgconfig
303 %endif
304
305 %if "%{pld_release}" == "ac"
306 %dir /usr/X11R6
307 %dir /usr/X11R6/man
308 /usr/X11R6/man/man*
309 %lang(it) /usr/X11R6/man/it
310 %lang(ko) /usr/X11R6/man/ko
311 %lang(pl) /usr/X11R6/man/pl
312 %dir /usr/X11R6/share
313
314 %dir /usr/share/wm-properties
315 %endif
316
317 # debuginfo
318 %dir /usr/lib/debug
319 /usr/lib/debug/*
320
321 %dir /usr/src/debug
This page took 0.044946 seconds and 4 git commands to generate.