+# 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: Common directories
Summary(pl.UTF-8): Wspólne katalogi
Name: filesystem
-Version: 3.0
-Release: 38
+Version: 4.0
+Release: 28
License: GPL
Group: Base
BuildRequires: automake
Provides: browser-plugins(sparc)
%endif
Provides: filesystem-debuginfo = %{version}-%{release}
-Obsoletes: filesystem-debuginfo
+Obsoletes: filesystem-debuginfo < 3.0-36
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# Adapter: This file does not like to be adapterized!
# 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
+
%description
This package contains common directories for packages that extend some
programs functionality, but don't require them themselves.
rm -rf $RPM_BUILD_ROOT
install -d \
- $RPM_BUILD_ROOT/{initrd,selinux,sys} \
- $RPM_BUILD_ROOT/etc/{pki,X11/xinit/xinitrc.d,certs,default,logrotate.d,security,sysconfig/wmstyle,tmpwatch,xdg/autostart,init,NetworkManager/dispatcher.d} \
+ $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \
+ $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}} \
$RPM_BUILD_ROOT/home/{users,services} \
- $RPM_BUILD_ROOT/lib/{firmware,security} \
+ $RPM_BUILD_ROOT/lib/{firmware,security,udev/rules.d,systemd/system} \
$RPM_BUILD_ROOT/usr/include/{security,X11} \
- $RPM_BUILD_ROOT/usr/lib/{cgi-bin,browser-plugins,mozilla/extensions,pkgconfig,initrd,ConsoleKit/run-session.d} \
- $RPM_BUILD_ROOT/usr/share/{backgrounds,gnome/{help,wm-properties},man/man{n,l},man/pl/mann,pkgconfig,sound{,font}s,themes/Default,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,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,%{_iconsdir},%{_pixmapsdir}} \
+ $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
+
+> %{name}.lang
+install -d $RPM_BUILD_ROOT/usr/share/help/C
+
+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
+ install -d $RPM_BUILD_ROOT/usr/share/help/${lang}
+ echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang
+done
%if "%{_lib}" == "lib64"
install -d \
$RPM_BUILD_ROOT/lib64/security \
- $RPM_BUILD_ROOT/usr/lib64/pkgconfig \
- $RPM_BUILD_ROOT/usr/lib64/browser-plugins \
- $RPM_BUILD_ROOT/usr/lib64/mozilla/extensions \
- $RPM_BUILD_ROOT/usr/lib64/initrd
+ $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig}
%endif
%if "%{pld_release}" == "ac"
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/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|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 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
-%files
+%post -p <lua>
+posix.chown("/var/log/archive", 0, %{gid_logs})
+
+%files -f %{name}.lang
%defattr(644,root,root,755)
+%dir /boot/efi
%dir /etc/X11/xinit
%dir /etc/X11/xinit/xinitrc.d
%attr(751,root,root) %dir /etc/certs
%dir /etc/default
%dir /etc/init
%dir /etc/logrotate.d
+%dir /etc/modprobe.d
+%dir /etc/pki
+%dir /etc/pki/CA
%attr(751,root,root) %dir /etc/security
%dir /etc/sysconfig
-%dir /etc/sysconfig/wmstyle
%dir /etc/tmpwatch
-%dir /etc/pki
%dir /etc/xdg
%dir /etc/xdg/autostart
+%dir /etc/xdg/menus
%dir /etc/NetworkManager
%dir /etc/NetworkManager/dispatcher.d
%dir /home/users
%dir /initrd
%dir /lib/firmware
%dir /lib/security
+%dir /lib/systemd
+%dir /lib/systemd/system
+%dir /lib/udev
+%dir /lib/udev/rules.d
+%dir /run
%dir /selinux
%dir /sys
%if "%{pld_release}" != "ac"
%dir /usr/lib/ConsoleKit
%dir /usr/lib/ConsoleKit/run-session.d
%dir /usr/lib/browser-plugins
-%dir /usr/lib/mozilla
-%dir /usr/lib/mozilla/extensions
%dir /usr/lib/cgi-bin
+%dir /usr/lib/cmake
%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/backgrounds
+%dir /usr/share/cmake
+%dir /usr/share/cmake/Modules
+%dir /usr/share/color
+%dir /usr/share/color/icc
%dir /usr/share/gnome
%dir /usr/share/gnome/help
-%dir /usr/share/gnome/wm-properties
+%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/themes/Default
+%dir /usr/share/thumbnailers
%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(750,root,logs) %dir /var/log/archive
+%attr(751,root,root) %dir /var/log/archive
%dir %{_aclocaldir}
%dir %{_desktopdir}
%dir %{_desktopdir}/docklets
+%dir %{_desktopdir}/screensavers
%dir %{_iconsdir}
%dir %{_pixmapsdir}
%{_fontsdir}
%if "%{_lib}" == "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/initrd
+%dir /usr/lib64/pkcs11
%dir /usr/lib64/pkgconfig
%endif