]> TLD Linux GIT Repositories - packages/filesystem.git/blobdiff - filesystem.spec
- PLD merge
[packages/filesystem.git] / filesystem.spec
index dfe7392f06f2ba516c56c9bc6bc6eb9f207da9f7..ad3e430a40536c2328942accaa2f3e4103d2d003 100644 (file)
@@ -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:       43
+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,init,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
 }
 
@@ -153,7 +179,6 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab})
 %attr(751,root,root) %dir /etc/certs
 %dir /etc/cron.d
 %dir /etc/default
-%dir /etc/init
 %dir /etc/fonts
 %dir /etc/fonts/conf.d
 %dir /etc/logrotate.d
@@ -169,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
@@ -181,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
@@ -204,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
@@ -227,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}
@@ -252,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