X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=filesystem.spec;h=e07d7e3be8f79db20e31875d98f27a1f09e0a5ca;hb=c09a789cd404d37f9987104201aef0ade47d8be3;hp=573e54e7b72019b8f0e5bd1be3f4152dd7951a20;hpb=f2ad31f4b75ec44989a1716b8ed456bc718627a6;p=packages%2Ffilesystem.git diff --git a/filesystem.spec b/filesystem.spec index 573e54e..e07d7e3 100644 --- a/filesystem.spec +++ b/filesystem.spec @@ -1,136 +1,194 @@ -Summary: Basic filesystem layout -Summary(de): Grundlegende Dateisystemstruktur -Summary(fr): Arborescence de base du système de fichiers -Summary(pl): Podstawa uk³ad katalogów systemu Linux -Summary(tr): Temel dosya sistemi yapýsý +# +# Conditional build: +%bcond_without debuginfo # build without debuginfo package + +# disable rpm generated debug package, we handle it differently here +%define _enable_debug_packages 0 + +# avoid rpm 4.4.9 adding rm -rf buildroot +%define __spec_clean_body %{nil} +Summary: Common directories +Summary(pl.UTF-8): Wspólne katalogi Name: filesystem -Version: 1.5 -Release: 4 -Copyright: Public Domain +Version: 3.0 +Release: 25 +License: GPL Group: Base -Group(pl): Podstawowe -Buildroot: /tmp/%{name}-%{version}-root -Prereq: setup -Buildarch: noarch +BuildRequires: automake +BuildRequires: mktemp +Requires: FHS >= 2.3-15 +Provides: browser-plugins(%{_target_base_arch}) +%ifarch %{x8664} +Provides: browser-plugins(i386) +%endif +%ifarch ppc64 +Provides: browser-plugins(ppc) +%endif +%ifarch s390x +Provides: browser-plugins(s390) +%endif +%ifarch sparc64 +Provides: browser-plugins(sparc) +%endif +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +# directory for "privilege separation" chroot +%define _privsepdir /usr/share/empty +# directory for *.idl files (for CORBA implementations) +%define _idldir /usr/share/idl %description -This package contains the basic directory layout for a Linux system, -including the proper permissions for the directories. This layout conforms -to the Filesystem Hierarchy Standard (FHS) 2.0. - -%description -l de -Dieses Paket enthält die grundlegende Verzeichnisstruktur eines Linux-Systems, -einschließlich der entsprechenden Zugriffsrechte. Diese Struktur entspricht -dem Filesystem Hierarchy Standard (FHS) 2.0. - -%description -l fr -Ce package contient l'arborescence type pour système linux -y compris les permissions adéquates pour les répertoires. Cette -arborescence est conforme au standard \"Filesystem Hierarchy Standard\" -(FHS) 2.0. - -%description -l pl -Pakiet ten zawiera informacje o podstawowej strukturze katalogów systemu i -praw dostêpu do nich. - -%description -l tr -Bu paket GNU makro iþleme dilini içerir. Mantýksal olarak ayrýþtýrýlabilen -metin dosyalarý yazýmý için yararlýdýr. +This package contains common directories for packages that extend some +programs functionality, but don't require them themselves. + +%description -l pl.UTF-8 +Ten pakiet zawiera wspólne katalogi dla pakietów rozszerzających +funkcjonalność programów, ale nie wymagających ich. + +%package debuginfo +Summary: Common directories for debug information +Summary(pl.UTF-8): Wspólne katalogi dla plików z informacjami dla debuggera +Group: Development/Debug + +%description debuginfo +This package provides common directories for debug information. + +%description debuginfo -l pl.UTF-8 +Ten pakiet udostępnia wspólne katalogi dla plików z informacjami dla +debuggera. %prep +%setup -qcT %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/{bin,boot,home/users,opt} \ - $RPM_BUILD_ROOT/etc/{X11/wmconfig,profile.d,security,opt} \ - $RPM_BUILD_ROOT/lib/{modules,security} \ - $RPM_BUILD_ROOT/{mnt/{floppy,cdrom},proc,root,sbin,tmp} \ - $RPM_BUILD_ROOT/usr/{bin,src,games,lib,include,sbin,share} \ - $RPM_BUILD_ROOT/usr/share/{dict,doc,info,man,misc,games,tmac} \ - $RPM_BUILD_ROOT/usr/local/{bin,games,share/{info,doc,man},lib,sbin,src} \ - $RPM_BUILD_ROOT/var/{lock/subsys,log,mail,run,spool} \ - $RPM_BUILD_ROOT/var/{games,state/misc,tmp,db,opt,crash,cache,account} \ - $RPM_BUILD_ROOT/var/cache/fonts - -ln -sf share/man $RPM_BUILD_ROOT/usr/man -ln -sf share/info $RPM_BUILD_ROOT/usr/info -ln -sf state $RPM_BUILD_ROOT/var/lib -ln -sf share/doc $RPM_BUILD_ROOT/usr/doc -ln -sf share/doc $RPM_BUILD_ROOT/usr/local/doc -ln -sf share/dict $RPM_BUILD_ROOT/usr/dict - -%pre -if [ -e /usr/man ] && [ ! -L /usr/man ]; then - mkdir -p /usr/share/man - cp -a /usr/man/* /usr/share/man || : - rm -rf /usr/man -fi -if [ -e /usr/info ] && [ ! -L /usr/info ]; then - mkdir -p /usr/share/info - cp -a /usr/info/* /usr/share/info || : - rm -rf /usr/info - ln -sf ../../../etc/info-dir /usr/share/info/dir -fi -if [ -e /usr/doc ] && [ ! -L /usr/doc ]; then - mkdir -p /usr/share/doc - cp -a /usr/doc/* /usr/share/doc || : - rm -rf /usr/doc -fi -if [ -e /usr/local/doc ] && [ ! -L /usr/local/doc ]; then - mkdir -p /usr/local/share/doc - cp -a /usr/local/doc/* /usr/local/share/doc - rm -rf /usr/local/doc -fi -if [ -e /usr/dict ] && [ ! -L /usr/dict ]; then - mkdir -p /usr/share/dict - cp -a /usr/dict/* /usr/share/dict || : - rm -rf /usr/dict -fi -if [ -e /var/lib ] && [ ! -L /var/lib ]; then - mkdir -p /var/state - cp -a /var/lib/* /var/state - rm -rf /var/lib -fi - -%post -if [ -L /var/tmp ]; then - rm -rf /var/tmp - mkdir -p /var/tmp - chmod 1777 /var/tmp -fi +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} \ + $RPM_BUILD_ROOT/home/{users,services} \ + $RPM_BUILD_ROOT/lib/{firmware,security} \ + $RPM_BUILD_ROOT/usr/include/security \ + $RPM_BUILD_ROOT/usr/lib/{cgi-bin,browser-plugins,pkgconfig,initrd,ConsoleKit/run-session.d} \ + $RPM_BUILD_ROOT/usr/share/{gnome/{help,wm-properties},man/man{n,l},man/pl/mann,pkgconfig,sounds,themes/Default,wallpapers,xsessions} \ + $RPM_BUILD_ROOT/usr/src/examples \ + $RPM_BUILD_ROOT/var/lock/subsys \ + $RPM_BUILD_ROOT{%{_aclocaldir},%{_desktopdir}/docklets,%{_iconsdir},%{_pixmapsdir}} \ + $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \ + $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} + +%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/initrd +%endif + +%if %{with debuginfo} +install -d \ + $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \ + $RPM_BUILD_ROOT/usr/lib/debug%{_libdir} \ + $RPM_BUILD_ROOT/usr/lib/debug/{bin,sbin} \ + $RPM_BUILD_ROOT/usr/lib/debug/usr/{bin,sbin} \ + $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 + +find $RPM_BUILD_ROOT/usr/lib/debug -type d | while read line; do + echo ${line#$RPM_BUILD_ROOT} +done > $RPM_BUILD_ROOT/usr/src/debug/%{name}-debuginfo.files +%endif + +# create this for %clean +tar -cf checkfiles.tar -C $RPM_BUILD_ROOT . %clean -rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +tar -xf checkfiles.tar -C $RPM_BUILD_ROOT +cd $RPM_BUILD_ROOT + +check_filesystem_dirs() { + RPMFILE=%{_rpmdir}/%{name}-%{version}-%{release}.%{_target_cpu}.rpm + 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)$' > $TMPFILE + + # find finds also '.', so use option -B for diff + rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || : + + rm -f $TMPFILE +} + +check_filesystem_dirs %files -%defattr(755,root,root,755) -/bin -%attr(700,root,root) /boot -%dir /etc -%attr(750,root,root) %dir /etc/security -%dir /etc/profile.d -%dir /etc/opt -%dir /etc/X11 -%dir /etc/X11/wmconfig -/home -/lib -/mnt -/opt -%attr(555,root,root) /proc -%attr(700,root,root) /root -%dir /sbin -%attr(1777,root,root) /tmp -/usr -%dir /var -%dir /var/db -%dir /var/account -%dir /var/games -/var/lock -%attr(751,root,root) /var/log -%dir /var/run -%dir /var/crash -/var/cache -%dir /var/state -%dir /var/opt -%attr(1777,root,root) %dir /var/tmp +%defattr(644,root,root,755) +%dir /etc/X11/xinit +%dir /etc/X11/xinit/xinitrc.d +%attr(751,root,root) %dir /etc/certs +%dir /etc/default +%attr(751,root,root) %dir /etc/security +%dir /etc/logrotate.d +%dir /etc/sysconfig +%dir /etc/sysconfig/wmstyle +%dir /etc/tmpwatch +%dir /etc/pki +%dir /etc/xdg +%dir /etc/xdg/autostart +%dir /home/users +%attr(751,root,adm) %dir /home/services +%dir /initrd +%dir /lib/firmware +%dir /lib/security +%dir /selinux +%dir /sys +%dir /usr/include/security +%dir /usr/lib/ConsoleKit +%dir /usr/lib/ConsoleKit/run-session.d +%dir /usr/lib/browser-plugins +%dir /usr/lib/cgi-bin +%dir /usr/lib/initrd +%dir /usr/lib/pkgconfig +%dir /usr/share/gnome +%dir /usr/share/gnome/help +%dir /usr/share/gnome/wm-properties +%dir /usr/share/man/man[nl] +%lang(pl) %dir /usr/share/man/pl/mann +%dir /usr/share/pkgconfig +%dir /usr/share/sounds +%dir /usr/share/themes +%dir /usr/share/themes/Default +%dir /usr/share/wallpapers +%dir /usr/share/xsessions +%dir /usr/src/examples +%attr(700,root,root) %dir /var/lock/subsys +%dir %{_aclocaldir} +%dir %{_desktopdir} +%dir %{_desktopdir}/docklets +%dir %{_iconsdir} +%dir %{_pixmapsdir} +%{_fontsdir} +%dir %{_idldir} +%dir %{_privsepdir} +%if "%{_lib}" == "lib64" +%dir /lib64/security +%dir /usr/lib64/browser-plugins +%dir /usr/lib64/initrd +%dir /usr/lib64/pkgconfig +%endif + +%if %{with debuginfo} +%files debuginfo +%defattr(644,root,root,755) +%dir /usr/lib/debug +/usr/lib/debug/* + +%dir /usr/src/debug +/usr/src/debug/filesystem-debuginfo.files +%endif