+# NOTE
+# - do not use any other user/group than "root", as then we have to depend on "setup" package.
+# see the gid_xxx macros and post scriptlet
# disable rpm generated debug package, we handle it differently here
%define _enable_debug_packages 0
Summary(pl.UTF-8): Wspólne katalogi
Name: filesystem
Version: 4.0
-Release: 13
+Release: 40
License: GPL
Group: Base
BuildRequires: automake
# Adapter: This file does not like to be adapterized!
+%if "%{_lib}" == "lib64"
+%define with_lib64 1
+%endif
+%if "%{_lib}" == "libx32"
+%define with_libx32 1
+%define with_lib64 1
+%else
+%ifarch %{x8664}
+# x32 as additional ABI
+%define with_libx32 1
+%endif
+%endif
+
# directory for "privilege separation" chroot
%define _privsepdir /usr/share/empty
# directory for *.idl files (for CORBA implementations)
%define _idldir /usr/share/idl
+# we have to use numeric uids/groups. see comment beginning of the spec
+%define gid_logs 124
+%define gid_crontab 117
+
%description
This package contains common directories for packages that extend some
programs functionality, but don't require them themselves.
install -d \
$RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
- $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/xinitrc.d,certs,default,init,logrotate.d,pki/CA,security,sysconfig,tmpwatch,xdg/autostart} \
+ $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,init,logrotate.d,fonts/conf.d,modprobe.d,pki/{CA,tls},security,sysconfig,tmpwatch,xdg/{autostart,menus}} \
$RPM_BUILD_ROOT/home/{users,services} \
$RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
$RPM_BUILD_ROOT/usr/include/{security,X11} \
- $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkgconfig,initrd,tmpfiles.d} \
- $RPM_BUILD_ROOT/usr/share/{augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,gnome/help,man/man{n,l},man/pl/mann,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,xsessions} \
+ $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd,tmpfiles.d} \
+ $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,factory/etc/pam.d,fontconfig/conf.avail,gnome/help,mate/help,man/man{n,l},man/pl/mann,ppd,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xsessions} \
$RPM_BUILD_ROOT/usr/src/examples \
$RPM_BUILD_ROOT/var/lib/color/icc \
$RPM_BUILD_ROOT/var/lock/subsys \
$RPM_BUILD_ROOT/var/log/archive \
$RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/{docklets,screensavers},%{_iconsdir},%{_pixmapsdir}} \
$RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \
- $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}}
+ $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \
+ $RPM_BUILD_ROOT/boot/efi/EFI \
+ $RPM_BUILD_ROOT/etc/OpenCL/vendors
> %{name}.lang
install -d $RPM_BUILD_ROOT/usr/share/help/C
-for lang in ar bg ca cs da de el en_GB es eu fi fr gl he hi hr hu id it ja ko lt lv nb nds nl oc pa pl ps pt_BR ro ru sl sr sr@latin sv te th tr uk vi zh_CN zh_HK zh_TW; do
+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
install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
done
-%if "%{_lib}" == "lib64"
+%if %{with lib64}
install -d \
$RPM_BUILD_ROOT/lib64/security \
- $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkgconfig}
+ $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
+ $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
+%endif
+%if %{with libx32}
+install -d \
+ $RPM_BUILD_ROOT/libx32/security \
+ $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
+ $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
%endif
%if "%{pld_release}" == "ac"
$RPM_BUILD_ROOT/usr/lib/debug/lib/security \
$RPM_BUILD_ROOT/usr/src/debug
-%if "%{_lib}" == "lib64"
-install -d \
- $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
-%endif
-
# create this for %clean
tar -cf checkfiles.tar -C $RPM_BUILD_ROOT .
RPMFILE2=%{?with_debuginfo:%{_rpmdir}/%{name}-debuginfo-%{version}-%{release}.%{_target_cpu}.rpm}
TMPFILE=$(mktemp)
# note: we must exclude from check all existing dirs belonging to FHS
- find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | grep -E -v '^/(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
+ find | sed -e 's|^\.||g' -e 's|^$||g' | LC_ALL=C sort | grep -v $TMPFILE | \
+ 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
# find finds also '.', so use option -B for diff
rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || :
%pretrans -p <lua>
-- this needs to be a dir
if posix.stat("/usr/include/X11", "type") == "link" then
- -- feel free to write in pure lua, but success on first install is not important.
- os.execute("umask 022; mv -f /usr/include/X11{,.rpmsave}; mkdir -m755 -p /usr/include/X11 && mv -f /usr/include/X11.rpmsave/* /usr/include/X11")
+ posix.umask("0755");
+ os.rename("/usr/include/X11", "/usr/include/X11.rpmsave")
+ posix.mkdir("/usr")
+ posix.mkdir("/usr/include")
+ posix.mkdir("/usr/include/X11")
+ oldpwd = posix.getcwd()
+ posix.chdir("/usr/include/X11.rpmsave")
+ for i,j in pairs(posix.glob("*")) do
+ os.rename(j, "/usr/include/X11/" .. j)
+ end
+ posix.chdir(oldpwd)
end
%endif
+%post -p <lua>
+posix.chown("/var/log/archive", 0, %{gid_logs})
+posix.chown("/etc/cron.d", 0, %{gid_crontab})
+
%files -f %{name}.lang
%defattr(644,root,root,755)
+%dir /boot/efi
+%dir /boot/efi/EFI
%dir /etc/X11/xinit
%dir /etc/X11/xinit/xinitrc.d
+%dir /etc/X11/xinit/xinput.d
+%dir /etc/OpenCL
+%dir /etc/OpenCL/vendors
%attr(751,root,root) %dir /etc/certs
+%dir /etc/cron.d
%dir /etc/default
%dir /etc/init
+%dir /etc/fonts
+%dir /etc/fonts/conf.d
%dir /etc/logrotate.d
+%dir /etc/modprobe.d
%dir /etc/pki
%dir /etc/pki/CA
+%dir /etc/pki/tls
%attr(751,root,root) %dir /etc/security
%dir /etc/sysconfig
%dir /etc/tmpwatch
%dir /etc/xdg
%dir /etc/xdg/autostart
+%dir /etc/xdg/menus
%dir /etc/NetworkManager
%dir /etc/NetworkManager/dispatcher.d
%dir /home/users
%dir /usr/lib/initrd
%dir /usr/lib/mozilla
%dir /usr/lib/mozilla/extensions
+%dir /usr/lib/pkcs11
%dir /usr/lib/pkgconfig
%dir /usr/lib/tmpfiles.d
+%dir /usr/share/appdata
%dir /usr/share/augeas
%dir /usr/share/augeas/lenses
%dir /usr/share/augeas/lenses/tests
%dir /usr/share/cmake/Modules
%dir /usr/share/color
%dir /usr/share/color/icc
+%dir /usr/share/factory
+%dir /usr/share/factory/etc
+%dir /usr/share/factory/etc/pam.d
+%dir /usr/share/fontconfig
+%dir /usr/share/fontconfig/conf.avail
%dir /usr/share/gnome
%dir /usr/share/gnome/help
+%dir /usr/share/mate
+%dir /usr/share/mate/help
%dir /usr/share/help
%dir /usr/share/help/C
%dir /usr/share/man/man[nl]
%lang(pl) %dir /usr/share/man/pl/mann
%dir /usr/share/pkgconfig
+%dir /usr/share/ppd
%dir /usr/share/soundfonts
%dir /usr/share/sounds
%dir /usr/share/themes
%dir /usr/share/vala
%dir /usr/share/vala/vapi
%dir /usr/share/wallpapers
+%dir /usr/share/wayland-sessions
%dir /usr/share/xsessions
%dir /usr/src/examples
%dir /var/lib/color
%dir /var/lib/color/icc
%attr(700,root,root) %dir /var/lock/subsys
-%attr(751,root,logs) %dir /var/log/archive
+%attr(751,root,root) %dir /var/log/archive
%dir %{_aclocaldir}
%dir %{_desktopdir}
%dir %{_desktopdir}/docklets
%{_fontsdir}
%dir %{_idldir}
%dir %{_privsepdir}
-%if "%{_lib}" == "lib64"
+%if %{with lib64}
%dir /lib64/security
%dir /usr/lib64/browser-plugins
%dir /usr/lib64/cmake
%dir /usr/lib64/initrd
%dir /usr/lib64/mozilla
%dir /usr/lib64/mozilla/extensions
+%dir /usr/lib64/pkcs11
%dir /usr/lib64/pkgconfig
%endif
+%if %{with libx32}
+%dir /libx32/security
+%dir /usr/libx32/browser-plugins
+%dir /usr/libx32/cmake
+%dir /usr/libx32/initrd
+%dir /usr/libx32/mozilla
+%dir /usr/libx32/mozilla/extensions
+%dir /usr/libx32/pkcs11
+%dir /usr/libx32/pkgconfig
+%endif
%if "%{pld_release}" == "ac"
%dir /usr/X11R6