X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=filesystem.spec;h=e07d7e3be8f79db20e31875d98f27a1f09e0a5ca;hb=c09a789cd404d37f9987104201aef0ade47d8be3;hp=7fd52cb3b74893fb80b59f8f939a7d469ffcae69;hpb=0604b7eb37596cc26cc1956e1949a5faa5e8def7;p=packages%2Ffilesystem.git diff --git a/filesystem.spec b/filesystem.spec index 7fd52cb..e07d7e3 100644 --- a/filesystem.spec +++ b/filesystem.spec @@ -1,54 +1,194 @@ +# +# 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): Wspólne katalogi +Summary(pl.UTF-8): Wspólne katalogi Name: filesystem Version: 3.0 -Release: 1 +Release: 25 License: GPL Group: Base -URL: http://www.pathname.com/fhs/ -Requires: FHS >= 2.3-14.2 +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 common directories for packages that extend -some programs functionality, but don't require them themselves. +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. -%description -l pl -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/etc/{sysconfig,xdg} \ - $RPM_BUILD_ROOT/usr/share/{sounds,pixmaps,icons,wm-properties,xsessions,wallpapers,themes/Default} +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 +mkdir -p $RPM_BUILD_ROOT +tar -xf checkfiles.tar -C $RPM_BUILD_ROOT cd $RPM_BUILD_ROOT -# %{_rpmfilename} is not expanded, so use -# %{name}-%{version}-%{release}.%{buildarch}.rpm -RPMFILE=%{name}-%{version}-%{release}.%{_target_cpu}.rpm -TMPFILE=%{name}-%{version}.tmp$$ -find . | sed -e 's|^\.||g' -e 's|^$||g' | sort | grep -v $TMPFILE > $TMPFILE +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 %{_rpmdir}/$RPMFILE | grep -v '^/$' | sort | diff -uB $TMPFILE - || : + # find finds also '.', so use option -B for diff + rpm -qpl $RPMFILE $RPMFILE2 | grep -v '^/$' | LC_ALL=C sort | diff -uB - $TMPFILE || : -rm -rf $RPM_BUILD_ROOT + rm -f $TMPFILE +} + +check_filesystem_dirs %files %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 /usr/share/icons -%dir /usr/share/pixmaps +%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/wm-properties %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