X-Git-Url: https://git.tld-linux.org/?p=packages%2Ffilesystem.git;a=blobdiff_plain;f=filesystem.spec;h=ad3e430a40536c2328942accaa2f3e4103d2d003;hp=89d0c642b99cfb36906fea518e3aa59140865b59;hb=HEAD;hpb=a19a0bef22b808f5e68e628ab76a273b81d068e8 diff --git a/filesystem.spec b/filesystem.spec index 89d0c64..ad3e430 100644 --- a/filesystem.spec +++ b/filesystem.spec @@ -2,37 +2,38 @@ # - 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 # FIXME: verify shows changed groups of dirs changed this way - -# 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: 4.0 -Release: 44 +Version: 4.1 +Release: 15 License: GPL Group: Base BuildRequires: automake BuildRequires: mktemp BuildRequires: rpm >= 4.4.9-56 -Requires: FHS >= 2.3-15 +Requires: FHS >= 3.0 Provides: browser-plugins(%{_target_base_arch}) %ifarch %{x8664} Provides: browser-plugins(i386) %endif Provides: filesystem-debuginfo = %{version}-%{release} Obsoletes: filesystem-debuginfo < 3.0-36 +Conflicts: X11-libs < 1:7.7 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # Adapter: This file does not like to be adapterized! +# disable rpm generated debug package, we handle it differently here +%define _enable_debug_packages 0 + %if "%{_lib}" == "lib64" %define with_lib64 1 %endif +# avoid rpm 4.4.9 adding rm -rf buildroot +%define __spec_clean_body %{nil} + # directory for "privilege separation" chroot %define _privsepdir /usr/share/empty # directory for *.idl files (for CORBA implementations) @@ -57,27 +58,55 @@ funkcjonalność programów, ale nie wymagających ich. rm -rf $RPM_BUILD_ROOT install -d \ - $RPM_BUILD_ROOT/{initrd,selinux,run,sys} \ - $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,logrotate.d,fonts/conf.d,modprobe.d,modules-load.d,pki/{CA,tls},security,skel,sysconfig,sysctl.d,tmpwatch,xdg/{autostart,menus}} \ + $RPM_BUILD_ROOT/{initrd,selinux} \ + $RPM_BUILD_ROOT/etc/{NetworkManager/dispatcher.d,X11/xinit/{xinput,xinitrc}.d,certs,cron.d,default,logrotate.d,fonts/conf.d,modprobe.d,modules-load.d,pki/{CA,tls},security,skel,sysconfig,sysctl.d,tmpwatch,xdg/colors} \ $RPM_BUILD_ROOT/home/{users,services} \ $RPM_BUILD_ROOT/lib/{firmware,security,udev/{hwdb.d,rules.d}} \ $RPM_BUILD_ROOT/usr/include/{security,X11} \ $RPM_BUILD_ROOT/usr/lib/{ConsoleKit/run-session.d,browser-plugins,cgi-bin,cmake,mozilla/extensions,pkcs11,pkgconfig,initrd} \ - $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,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/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,defaults,factory/etc/pam.d,fontconfig/conf.avail,gnome/help,mate/help,man/man{n,l},man/pl/mann,metainfo,pkgconfig,soundfonts,sounds,themes/Default,thumbnailers,vala/vapi,wallpapers,wayland-sessions,xdg-desktop-portal/portals,xsessions,zsh/site-functions} \ $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%{_aclocaldir} \ $RPM_BUILD_ROOT%{_fontsdir}/{{100,75}dpi,OTF,Speedo,Type1/{afm,pfm},TTF,cyrillic,local,misc} \ $RPM_BUILD_ROOT{%{_idldir},%{_privsepdir}} \ $RPM_BUILD_ROOT/boot/efi/EFI \ $RPM_BUILD_ROOT/etc/OpenCL/vendors +# XDG Autostart specs: https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html +install -d $RPM_BUILD_ROOT/etc/xdg/autostart + +# XDG Desktop Menus specs: https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html +# (+custom AppDir hierarchy) +install -d $RPM_BUILD_ROOT{/etc/xdg/menus/applications-merged,/usr/share/desktop-directories,%{_desktopdir}/{docklets,screensavers}} + +# XDG Icon Theme specs: https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html +# (top level only) +install -d $RPM_BUILD_ROOT{%{_iconsdir},%{_pixmapsdir}} + +# XDG Sound Theme specs: https://specifications.freedesktop.org/sound-theme-spec/sound-theme-spec-latest.html +# (top level only) +install -d $RPM_BUILD_ROOT/usr/share/sounds + > %{name}.lang install -d $RPM_BUILD_ROOT/usr/share/help/C -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 +for lang in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR \ + be be@latin be@tarask bem bg bho bn bn_IN bo br brx bs byn \ + ca ca@valencia ce chr ckb cmn crh cs csb cv cy \ + da de de_AT de_CH doi dv dz \ + el en en_AU en_CA en_GB en_NZ en@shaw en_US eo es \ + es_AR es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY es_VE \ + et eu fa ff fi fil fo fr fr_BE fr_CA fr_CH fur fy ga gd gez gl gu gv \ + ha he hi hne hr hsb ht hu hy ia id ig ik is it it_CH iu ja \ + ka kab kg kk kl km kn ko kok ks ks@devanagari ku kw ky la lb lg li ln lo lt lv \ + mai mg mhr mi mk ml mn mni mr ms mt my nb nds ne nl nl_BE nn nr nso oc om or \ + pa pap pl ps pt pt_BR quz rm ro ru rw \ + sa sat sc sd sd@devanagari se shn si sid sk sl so sq \ + sr sr@ijekavian sr@ijekavianlatin sr@latin ss st sv sw szl \ + ta te tg th ti tig tk tl tlh tn tpi tr ts tt tt@iqtelif \ + ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo zh_CN zh_HK zh_TW zu; do install -d $RPM_BUILD_ROOT/usr/share/help/${lang} echo "%%lang($lang) %dir /usr/share/help/${lang}" >> %{name}.lang done @@ -97,25 +126,22 @@ install -d \ $RPM_BUILD_ROOT/usr/lib/debug/lib/security \ $RPM_BUILD_ROOT/usr/src/debug -# 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 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 | \ + find | sed -e 's|^\.||g' -e '/^$/d' | 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 || : - + if rpm -qpl $RPMFILE | grep -v '^/$' | LC_ALL=C sort | diff -u $TMPFILE - ; then + rm -rf $RPM_BUILD_ROOT + else + echo -e "\nNot so good, some directories are not included in package\n" + exit 1 + fi rm -f $TMPFILE } @@ -168,7 +194,9 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab}) %dir /etc/tmpwatch %dir /etc/xdg %dir /etc/xdg/autostart +%dir /etc/xdg/colors %dir /etc/xdg/menus +%dir /etc/xdg/menus/applications-merged %dir /etc/NetworkManager %dir /etc/NetworkManager/dispatcher.d %dir /home/users @@ -180,10 +208,7 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab}) %dir /lib/udev %dir /lib/udev/hwdb.d %dir /lib/udev/rules.d -# tmpfs mounted by rc-scripts -%attr(1777,root,root) %dir /run %dir /selinux -%dir /sys %dir /usr/include/X11 %dir /usr/include/security %dir /usr/lib/ConsoleKit @@ -203,20 +228,23 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab}) %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/defaults +%dir /usr/share/desktop-directories +%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/metainfo %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 @@ -226,10 +254,12 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab}) %dir /usr/share/vala/vapi %dir /usr/share/wallpapers %dir /usr/share/wayland-sessions +%dir /usr/share/xdg-desktop-portal +%dir /usr/share/xdg-desktop-portal/portals %dir /usr/share/xsessions +%dir /usr/share/zsh +%dir /usr/share/zsh/site-functions %dir /usr/src/examples -%dir /var/lib/color -%dir /var/lib/color/icc %attr(700,root,root) %dir /var/lock/subsys %attr(751,root,root) %dir /var/log/archive %dir %{_aclocaldir} @@ -251,16 +281,6 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab}) %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 # debuginfo %dir /usr/lib/debug