]> TLD Linux GIT Repositories - packages/filesystem.git/blobdiff - filesystem.spec
- PLD merge
[packages/filesystem.git] / filesystem.spec
index 3f4ed4038d1bd0ea85f90551b2bf30f2fb84a656..ad3e430a40536c2328942accaa2f3e4103d2d003 100644 (file)
@@ -1,56 +1,39 @@
 # NOTE
 # - 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
-
-# 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}
+# FIXME: verify shows changed groups of dirs changed this way
 Summary:       Common directories
 Summary(pl.UTF-8):     Wspólne katalogi
 Name:          filesystem
-Version:       4.0
-Release:       34
+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
-%ifarch ppc64
-Provides:      browser-plugins(ppc)
-%endif
-%ifarch s390x
-Provides:      browser-plugins(s390)
-%endif
-%ifarch sparc64
-Provides:      browser-plugins(sparc)
-%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
-%else
-%define                with_lib64      0
-%endif
-%if "%{_lib}" == "libx32"
-%define                with_libx32     1
-%else
-%ifarch %{x8664}
-# x32 as additional ABI
-%define                with_libx32     1
-%endif
 %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)
@@ -75,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,modprobe.d,pki/{CA,tls},security,sysconfig,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/rules.d,systemd/system} \
+       $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,tmpfiles.d} \
-       $RPM_BUILD_ROOT/usr/share/{appdata,augeas/lenses/tests,backgrounds,cmake/Modules,color/icc,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/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,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 \
+       $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 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
@@ -106,25 +117,6 @@ install -d \
        $RPM_BUILD_ROOT/usr/lib64/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
        $RPM_BUILD_ROOT/usr/lib/debug/lib64/security
 %endif
-%if %{with libx32}
-install -d \
-       $RPM_BUILD_ROOT/libx32/security \
-       $RPM_BUILD_ROOT/usr/libx32/{browser-plugins,cmake,initrd,mozilla/extensions,pkcs11,pkgconfig} \
-       $RPM_BUILD_ROOT/usr/lib/debug/libx32/security
-%endif
-
-%if "%{pld_release}" == "ac"
-rmdir $RPM_BUILD_ROOT/usr/include/X11
-# X11
-install -d $RPM_BUILD_ROOT/usr/X11R6/share
-for manp in man{1,2,3,4,5,6,7,8} ; do
-       install -d $RPM_BUILD_ROOT/usr/X11R6/man/$manp
-       for mloc in it ko pl; do
-               install -d $RPM_BUILD_ROOT/usr/X11R6/man/$mloc/$manp
-       done
-done
-install -d $RPM_BUILD_ROOT/usr/share/wm-properties
-%endif
 
 install -d \
        $RPM_BUILD_ROOT/usr/lib/debug/%{_lib} \
@@ -134,31 +126,27 @@ 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
 }
 
 check_filesystem_dirs
 
-%if "%{pld_release}" != "ac"
 %pretrans -p <lua>
 -- this needs to be a dir
 if posix.stat("/usr/include/X11", "type") == "link" then
@@ -174,7 +162,6 @@ if posix.stat("/usr/include/X11", "type") == "link" then
        end
        posix.chdir(oldpwd)
 end
-%endif
 
 %post -p <lua>
 posix.chown("/var/log/archive", 0, %{gid_logs})
@@ -183,6 +170,7 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab})
 %files -f %{name}.lang
 %defattr(644,root,root,755)
 %dir /boot/efi
+%dir /boot/efi/EFI
 %dir /etc/X11/xinit
 %dir /etc/X11/xinit/xinitrc.d
 %dir /etc/X11/xinit/xinput.d
@@ -191,18 +179,24 @@ 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
 %dir /etc/modprobe.d
+%dir /etc/modules-load.d
 %dir /etc/pki
 %dir /etc/pki/CA
 %dir /etc/pki/tls
 %attr(751,root,root) %dir /etc/security
+%dir /etc/skel
 %dir /etc/sysconfig
+%dir /etc/sysctl.d
 %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
@@ -210,16 +204,12 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab})
 %dir /initrd
 %dir /lib/firmware
 %dir /lib/security
-%dir /lib/systemd
-%dir /lib/systemd/system
+# for library packages or other software with optional udev support not to pull udev
 %dir /lib/udev
+%dir /lib/udev/hwdb.d
 %dir /lib/udev/rules.d
-%dir /run
 %dir /selinux
-%dir /sys
-%if "%{pld_release}" != "ac"
 %dir /usr/include/X11
-%endif
 %dir /usr/include/security
 %dir /usr/lib/ConsoleKit
 %dir /usr/lib/ConsoleKit/run-session.d
@@ -231,7 +221,6 @@ posix.chown("/etc/cron.d", 0, %{gid_crontab})
 %dir /usr/lib/mozilla/extensions
 %dir /usr/lib/pkcs11
 %dir /usr/lib/pkgconfig
-%dir /usr/lib/tmpfiles.d
 %dir /usr/share/appdata
 %dir /usr/share/augeas
 %dir /usr/share/augeas/lenses
@@ -239,18 +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
@@ -260,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}
@@ -285,28 +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
-
-%if "%{pld_release}" == "ac"
-%dir /usr/X11R6
-%dir /usr/X11R6/man
-/usr/X11R6/man/man*
-%lang(it) /usr/X11R6/man/it
-%lang(ko) /usr/X11R6/man/ko
-%lang(pl) /usr/X11R6/man/pl
-%dir /usr/X11R6/share
-
-%dir /usr/share/wm-properties
-%endif
 
 # debuginfo
 %dir /usr/lib/debug