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