kde-filesystem/kde-filesystem.spec
chengquan b7f66ccbab init
2019-12-17 16:29:52 +08:00

177 lines
5.7 KiB
RPMSpec

%define _kde4_prefix %_prefix
%define _kde4_sysconfdir %_sysconfdir
%define _kde4_libdir %_libdir
%define _kde4_libexecdir %_libexecdir/kde4
%define _kde4_datadir %_datadir
%define _kde4_sharedir %_datadir
%define _kde4_iconsdir %_kde4_sharedir/icons
%define _kde4_configdir %_kde4_sharedir/config
%define _kde4_appsdir %_kde4_sharedir/kde4/apps
%define _kde4_docdir %_kde4_prefix/share/doc
%define _kde4_bindir %_kde4_prefix/bin
%define _kde4_sbindir %_kde4_prefix/sbin
%define _kde4_includedir %_kde4_prefix/include/kde4
%define _kde4_buildtype release
%define _kde4_macros_api 2
%define rpm_macros_dir %{_sysconfdir}/rpm
%define rpm_macros_dir %{_rpmconfigdir}/macros.d
Name: kde-filesystem
Version: 4
Release: 61
Summary: KDE filesystem layout
License: Public Domain
Obsoletes: kde-filesystem
Source1: teamnames
Source2: macros.kde4
Source3: applnk-hidden-directory
Provides: kde4-macros(api) = 2
BuildRequires: gawk
Requires: filesystem rpm
Obsoletes: kdegraphics kdegraphics-devel kdegraphics-libs
Obsoletes: kdenetwork kdenetwork-common kdenetwork-devel
Obsoletes: kdesdk kdesdk-common kdesdk-devel
%description
This package provides some directories that are required/used by KDE.
%prep
%build
%install
## KDE3
mkdir -p %{buildroot}%{_sysconfdir}/kde/{env,shutdown,kdm}
mkdir -p %{buildroot}%{_datadir}/{applications/kde,applnk,apps,autostart,config,config.kcfg,emoticons,mimelnk,services,servicetypes,templates,source}
mkdir -p %{buildroot}%{_datadir}/apps/konqueror/servicemenus
# not sure who best should own locolor, so we'll included it here, for now. -- Rex
mkdir -p %{buildroot}%{_datadir}/icons/locolor/{16x16,22x22,32x32,48x48}/{actions,apps,mimetypes}
mkdir -p %{buildroot}%{_datadir}/applnk/{.hidden,Applications,Edutainment,Graphics,Internet,Settings,System,Toys,Utilities}
mkdir -p %{buildroot}%{_datadir}/mimelnk/{all,application,audio,fonts,image,inode,interface,media,message,model,multipart,print,text,uri,video}
# do qt3 too?
# mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/qt-3.3/plugins
mkdir -p %{buildroot}%{_prefix}/{lib,%{_lib}}/kde3/plugins
mkdir -p %{buildroot}%{_docdir}/HTML/en
rm -f %{name}.list
for locale in $(grep '=' %{SOURCE1} | awk -F= '{print $1}') ; do
mkdir -p %{buildroot}%{_docdir}/HTML/${locale}/common
# do docs/common too, but it could be argued that apps/pkgs using or
# depending on is a bug -- Rex
mkdir -p %{buildroot}%{_docdir}/HTML/${locale}/docs/
ln -s ../common %{buildroot}%{_docdir}/HTML/${locale}/docs/common
echo "%lang($locale) %{_docdir}/HTML/$locale/" >> %{name}.list
done
# internal services shouldn't be displayed in menu
install -p -m644 -D %{SOURCE3} %{buildroot}%{_datadir}/applnk/.hidden/.directory
## KDE4
mkdir -p %{buildroot}%{_sysconfdir}/rpm \
%{buildroot}%{_kde4_sysconfdir}/kde/{env,shutdown,kdm} \
%{buildroot}%{_kde4_includedir} \
%{buildroot}%{_kde4_libexecdir} \
%{buildroot}%{_kde4_appsdir}/color-schemes \
%{buildroot}%{_kde4_appsdir}/solid/actions \
%{buildroot}%{_kde4_datadir}/applications/kde4 \
%{buildroot}%{_kde4_datadir}/{autostart,wallpapers} \
%{buildroot}%{_kde4_configdir} \
%{buildroot}%{_kde4_sharedir}/config.kcfg \
%{buildroot}%{_kde4_sharedir}/emoticons \
%{buildroot}%{_kde4_sharedir}/kde4/services/ServiceMenus \
%{buildroot}%{_kde4_sharedir}/kde4/servicetypes \
%{buildroot}%{_kde4_sharedir}/templates/.source \
%{buildroot}%{_kde4_datadir}/icons/locolor/{16x16,22x22,32x32,48x48}/{actions,apps,mimetypes} \
%{buildroot}%{_kde4_docdir}/HTML/en/common
# do qt4 too?
# mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/qt4/plugins
mkdir -p %{buildroot}%{_kde4_prefix}/{lib,%{_lib}}/kde4/plugins/{gui_platform,styles}
for locale in $(grep '=' %{SOURCE1} | awk -F= '{print $1}') ; do
mkdir -p %{buildroot}%{_kde4_docdir}/HTML/${locale}/common
echo "%lang($locale) %{_kde4_docdir}/HTML/$locale/" >> %{name}.li
done
# rpm macros
mkdir -p %{buildroot}%{rpm_macros_dir}
cat >%{buildroot}%{rpm_macros_dir}/macros.kde4<<EOF
%%_kde4_prefix %%_prefix
%%_kde4_sysconfdir %%_sysconfdir
%%_kde4_libdir %%_libdir
%%_kde4_libexecdir %%_libexecdir/kde4
%%_kde4_datadir %%_datadir
%%_kde4_sharedir %%_datadir
%%_kde4_iconsdir %%_kde4_sharedir/icons
%%_kde4_configdir %%_kde4_sharedir/config
%%_kde4_appsdir %%_kde4_sharedir/kde4/apps
%%_kde4_docdir %_kde4_prefix/share/doc
%%_kde4_bindir %%_kde4_prefix/bin
%%_kde4_sbindir %%_kde4_prefix/sbin
%%_kde4_includedir %%_kde4_prefix/include/kde4
%%_kde4_buildtype %_kde4_buildtype
%%_kde4_macros_api %_kde4_macros_api
EOF
cat %{SOURCE2} >> %{buildroot}%{rpm_macros_dir}/macros.kde4
## Plasma5, forward compatibility
mkdir -p %{buildroot}%{_sysconfdir}/xdg/plasma-workspace/{env,shutdown}
%files -f %{name}.list
# KDE3
%{_sysconfdir}/kde/
%{_datadir}/applications/kde/
%{_datadir}/applnk/
%{_datadir}/apps/
%{_datadir}/autostart/
%{_datadir}/config/
%{_datadir}/config.kcfg/
%{_datadir}/emoticons/
%{_datadir}/icons/locolor
%{_datadir}/mimelnk/
%{_datadir}/services/
%{_datadir}/servicetypes/
%{_datadir}/templates/
%{_prefix}/lib/kde3/
%{_prefix}/%{_lib}/kde3/
%dir %{_docdir}/HTML/
%lang(en) %{_docdir}/HTML/en/
# KDE4
%{rpm_macros_dir}/macros.kde4
%{_kde4_sysconfdir}/kde/
%{_kde4_libexecdir}/
%{_kde4_includedir}/
%{_kde4_appsdir}/
%{_kde4_configdir}/
%{_kde4_sharedir}/config.kcfg/
%{_kde4_sharedir}/emoticons/
%{_kde4_sharedir}/kde4/
%{_kde4_sharedir}/templates/
%{_kde4_datadir}/applications/kde4/
%{_kde4_datadir}/autostart/
%{_kde4_datadir}/icons/locolor/
%{_kde4_datadir}/wallpapers/
%{_kde4_prefix}/lib/kde4/
%{_kde4_prefix}/%{_lib}/kde4/
%dir %{_kde4_docdir}/HTML/
%lang(en) %{_kde4_docdir}/HTML/en/
# Plasma5
%{_sysconfdir}/xdg/plasma-workspace/
%changelog
* Thu Dec 12 2019 openEuler BuildTeam<buildteam@openeuler.org> - 4-61
- Package Init