]> git.pld-linux.org Git - packages/filesystem.git/blobdiff - filesystem.spec
- add missing dir creation
[packages/filesystem.git] / filesystem.spec
index cf13e144ce5c0c01bbd4ddae039cc79fcf6a85ab..e07d7e3be8f79db20e31875d98f27a1f09e0a5ca 100644 (file)
-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:       5
-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,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 \
-       $RPM_BUILD_ROOT/usr/X11R6/share/applnk
-
-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
-/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
This page took 0.112124 seconds and 4 git commands to generate.