X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fmurphy.spec;h=b652525453ed85349ea050f49e1f1185b08d338a;hb=35b7adfc8475aa68a75ebabdadd6e87a339f81f1;hp=b92716d1cfb3caca0d11c242d0dba12fc0c9c545;hpb=71bb99a5c96aa7e41c918734eeefe0d4612253ab;p=profile%2Fivi%2Fmurphy.git diff --git a/packaging/murphy.spec b/packaging/murphy.spec index b92716d..b652525 100644 --- a/packaging/murphy.spec +++ b/packaging/murphy.spec @@ -1,3 +1,5 @@ +%bcond_with icosyscon + # By default we build with distro-default compilation flags which # enables optimizations. If you want to build with full debugging # ie. with optimization turned off and full debug info (-O0 -g3) @@ -7,6 +9,7 @@ # squashing the -core and -plugins-base packages into the base # murphy package. + %{!?_with_debug:%{!?_without_debug:%define _without_debug 0}} %{!?_with_lua:%{!?_without_lua:%define _with_lua 1}} %{!?_with_pulse:%{!?_without_pulse:%define _with_pulse 1}} @@ -18,27 +21,53 @@ %{!?_with_audiosession:%{!?_without_audiosession:%define _with_audiosession 1}} %{!?_with_websockets:%{!?_without_websockets:%define _with_websockets 1}} %{!?_with_smack:%{!?_without_smack:%define _with_smack 1}} -%{!?_with_icosyscon:%{!?_without_icosyscon:%define _with_icosyscon 1}} +%{!?_with_icosyscon:%{!?_without_icosyscon:%define _without_icosyscon 1}} +%{!?_with_icoweston:%{!?_without_icoweston:%define _without_icoweston 1}} +%{!?_with_sysmon:%{!?_without_sysmon:%define _with_sysmon 1}} %{!?_with_squashpkg:%{!?_without_squashpkg:%define _with_squashpkg 1}} -# TODO: take care of /lib vs /lib64... -%define systemddir /lib/systemd +# +# Abnormalize _with_icosyscon to _enable_icosyscon +# +# Since some people seem to have a hard time understanding that +# +# 1) the right way to disable a conditional _with_* rpm macro is to leave it +# undefined as opposed to defining it to 0 +# +# 2) if you decide to do it the wrong way at least you should be consistent +# about it and not randomly change between the conventions +# +# we need to roll this butt-ugly hack to make sure that we always go with +# the wrong convention. We always set up _enable_icosyscon to 1 or 0 depending +# on how _with_icosyscon happens to be set (or unset). +# + +%if %{!?_with_icosyscon:0}%{?_with_icosyscon:1} +%if %{_with_icosyscon} +%define _enable_icosyscon 1 +%else +%define _enable_icosyscon 0 +%endif +%else +%define _enable_icosyscon 0 +%endif -Summary: Murphy policy framework +Summary: Resource policy framework Name: murphy -Version: 0.0.42 +Version: 0.0.65 Release: 1 License: BSD-3-Clause Group: System/Service URL: http://01.org/murphy/ Source0: %{name}-%{version}.tar.gz -Source1: murphy.manifest +Source1001: %{name}.manifest BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %if %{?_with_squashpkg:0}%{!?_with_squashpkg:1} Requires: %{name}-core = %{version} %endif Requires(post): /bin/systemctl +Requires(post): libcap-tools Requires(postun): /bin/systemctl BuildRequires: flex @@ -46,6 +75,8 @@ BuildRequires: bison BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(libsystemd-daemon) BuildRequires: pkgconfig(libsystemd-journal) +BuildRequires: pkgconfig(libcap) +BuildRequires: pkgconfig(libtzplatform-config) %if %{?_with_pulse:1}%{!?_with_pulse:0} BuildRequires: pkgconfig(libpulse) @@ -81,8 +112,14 @@ BuildRequires: pkgconfig(libsmack) %endif %if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} +# %%if %%{_with_icosyscon} # gbs can't, so don't bother... BuildRequires: ico-uxf-weston-plugin-devel +BuildRequires: weston-ivi-shell-devel +BuildRequires: genivi-shell-devel BuildRequires: pkgconfig(ail) +BuildRequires: pkgconfig(aul) +BuildRequires: libxml2-devel +# %%endif %endif %if %{?_with_squashpkg:0}%{!?_with_squashpkg:1} @@ -195,6 +232,16 @@ Requires: %{name} = %{version} %endif %endif +%package gam +Summary: Murphy support for Genivi Audio Manager +Group: System/Libraries +Requires: %{name} = %{version} + +%package gam-devel +Summary: Murphy support for Genivi Audio Manager development files +Group: System/Libraries +Requires: %{name}-gam = %{version} + %package tests Summary: Various test binaries for Murphy Group: System/Testing @@ -209,14 +256,18 @@ Requires: %{name} = %{version} Summary: Murphy IVI resource manager plugin Group: System/Service -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} +%if %{_enable_icosyscon} %package system-controller Summary: Murphy IVI System Controller plugin Group: System/Service +Requires: ico-uxf-homescreen +Conflicts: murphy-ivi-resource-manager +Provides: system-controller +Conflicts: ico-uxf-homescreen-system-controller %endif %description -This package contains the basic daemon. +This package contains the basic Murphy daemon. %if %{?_with_squashpkg:0}%{!?_with_squashpkg:1} %description core @@ -274,13 +325,25 @@ This package contains various test binaries for Murphy. %description ivi-resource-manager This package contains the Murphy IVI resource manager plugin. -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} +%if %{_enable_icosyscon} %description system-controller This package contains the Murphy IVI resource manager plugin. %endif +%description gam +This package contains the Murphy plugins for necessary for supporting +Genivi Audio Manager. + +%description gam-devel +This package contains development files for Murphy Genivi Audio Manager +plugins. + %prep %setup -q +cp %{SOURCE1001} . + +echo "_with_icosyscon: \"%{_with_icosyscon}\"" +echo "_enable_icosyscon: \"%{_enable_icosyscon}\"" %build %if %{?_with_debug:1}%{!?_with_debug:0} @@ -346,102 +409,92 @@ CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-smack" CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-smack" %endif -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} +%if %{_enable_icosyscon} CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-system-controller" %else CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-system-controller" %endif -NUM_CPUS="`cat /proc/cpuinfo | tr -s '\t' ' ' | \ -grep '^processor *:' | wc -l`" -[ -z "$NUM_CPUS" ] && NUM_CPUS=1 +%if %{?_with_sysmon:1}%{!?_with_sysmon:0} +CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-system-monitor" +%else +CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-system-monitor" +%endif -./bootstrap && \ -%configure $CONFIG_OPTIONS --with-dynamic-plugins=$DYNAMIC_PLUGINS && \ -make clean && \ -make -j$(($NUM_CPUS + 1)) $V +./bootstrap +%configure $CONFIG_OPTIONS --with-dynamic-plugins=$DYNAMIC_PLUGINS +%__make clean +%__make %{?_smp_mflags} $V %install -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %make_install # Make sure we have a plugin dir even if all the basic plugins # are configured to be built in. -mkdir -p $RPM_BUILD_ROOT%{_libdir}/murphy/plugins +mkdir -p %{buildroot}%{_libdir}/murphy/plugins # Get rid of any *.la files installed by libtool. -rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/*.la # Clean up also the murphy DB installation. -rm -f $RPM_BUILD_ROOT%{_libdir}/murphy/*.la +rm -f %{buildroot}%{_libdir}/murphy/*.la # Generate list of linkedin plugins (depends on the configuration). outdir="`pwd`" -pushd $RPM_BUILD_ROOT >& /dev/null && \ -find ./%{_libdir}/murphy/plugins -name libmurphy-plugin-*.so* | \ +pushd %{buildroot} >& /dev/null && \ +find ./%{_libdir} -name libmurphy-plugin-*.so* | \ sed 's#^./*#/#g' > $outdir/filelist.plugins-base && \ popd >& /dev/null +echo "Found the following linked-in plugin files:" +cat $outdir/filelist.plugins-base | sed 's/^/ /g' # Generate list of header files, filtering ones that go to subpackages. outdir="`pwd`" -pushd $RPM_BUILD_ROOT >& /dev/null && \ +pushd %{buildroot} >& /dev/null && \ find ./%{_includedir}/murphy | \ -egrep -v '((pulse)|(ecore)|(glib)|(qt))-glue' | \ +grep -E -v '((pulse)|(ecore)|(glib)|(qt))-glue' | \ sed 's#^./*#/#g' > $outdir/filelist.devel-includes && \ popd >& /dev/null # Replace the default sample/test config files with the packaging ones. -cp packaging.in/murphy-lua.conf $RPM_BUILD_ROOT%{_sysconfdir}/murphy/murphy.conf -cp packaging.in/murphy.lua $RPM_BUILD_ROOT%{_sysconfdir}/murphy/murphy.lua +rm -f %{buildroot}%{_sysconfdir}/murphy/* +cp packaging.in/murphy-lua.conf %{buildroot}%{_sysconfdir}/murphy/murphy.conf +cp packaging.in/murphy.lua %{buildroot}%{_sysconfdir}/murphy/murphy.lua # Copy plugin configuration files in place. -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/murphy/plugins/amb +mkdir -p %{buildroot}%{_sysconfdir}/murphy/plugins/amb cp packaging.in/amb-config.lua \ -$RPM_BUILD_ROOT%{_sysconfdir}/murphy/plugins/amb/config.lua +%{buildroot}%{_sysconfdir}/murphy/plugins/amb/config.lua # Copy tmpfiles.d config file in place -mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir} -cp packaging.in/murphyd.conf $RPM_BUILD_ROOT%{_tmpfilesdir} +mkdir -p %{buildroot}%{_tmpfilesdir} +cp packaging.in/murphyd.conf %{buildroot}%{_tmpfilesdir} # Copy the systemd files in place. -mkdir -p $RPM_BUILD_ROOT%{systemddir}/system -mkdir -p $RPM_BUILD_ROOT%{systemddir}/user -cp packaging.in/murphyd.service $RPM_BUILD_ROOT%{systemddir}/system -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} -cp packaging.in/ico-homescreen.service $RPM_BUILD_ROOT%{systemddir}/user -cp packaging.in/murphy-wait-for-launchpad-ready.path $RPM_BUILD_ROOT%{systemddir}/user -%endif +mkdir -p %{buildroot}%{_unitdir} +mkdir -p %{buildroot}%{_unitdir_user} +cp packaging.in/murphyd.service %{buildroot}%{_unitdir_user} %if %{?_with_dbus:1}%{!?_with_dbus:0} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d -cp packaging.in/org.Murphy.conf $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/org.Murphy.conf +mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d +sed "s/@TZ_SYS_USER_GROUP@/%{TZ_SYS_USER_GROUP}/g" \ + packaging.in/org.Murphy.conf.in > packaging.in/org.Murphy.conf +cp packaging.in/org.Murphy.conf \ + %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.Murphy.conf %endif -# copy the manifest file -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy.manifest -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-tests.manifest -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-ivi-resource-manager.manifest -%if %{?_with_qt:1}%{!?_with_qt:0} -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-qt.manifest -%endif -%if %{?_with_glib:1}%{!?_with_glib:0} -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-glib.manifest -%endif -%if %{?_with_pulse:1}%{!?_with_pulse:0} -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-pulse.manifest -%endif -%if %{?_with_ecore:1}%{!?_with_ecore:0} -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-ecore.manifest -%endif -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/murphy-system-controller.manifest -%endif +# copy (experimental) GAM resource backend configuration files +mkdir -p %{buildroot}%{_sysconfdir}/murphy/gam +cp packaging.in/gam-*.names packaging.in/gam-*.tree \ + %{buildroot}%{_sysconfdir}/murphy/gam %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %post -/bin/systemctl enable murphyd.service +/bin/systemctl --user enable --global murphyd.service +setcap 'cap_net_admin=+ep' %{_bindir}/murphyd %if %{?_with_squashpkg:0}%{!?_with_squashpkg:1} %post core @@ -450,7 +503,7 @@ ldconfig %postun if [ "$1" = "0" ]; then -/bin/systemctl disable murphyd.service +/bin/systemctl --user disable --global murphyd.service fi %if %{?_with_squashpkg:0}%{!?_with_squashpkg:1} @@ -484,24 +537,17 @@ ldconfig %if %{?_with_qt:1}%{!?_with_qt:0} %post qt -lfconfig +ldconfig %postun qt ldconfig %endif -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} -%post system-controller -# prevent system controller from starting -rm -f %{systemddir}/user/weston.target.wants/ico-uxf-wait-launchpad-ready.path -# instead launch just ico-homescreen -ln -s %{systemddir}/user/murphy-wait-for-launchpad-ready.path %{systemddir}/user/weston.target.wants/murphy-wait-for-launchpad-ready.path - +%post gam +ldconfig -%postun system-controller -rm -f %{systemddir}/user/weston.target.wants/murphy-wait-for-launchpad-ready.path -ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/weston.target.wants/ico-uxf-wait-launchpad-ready.path -%endif +%postun gam +ldconfig %if %{?_with_squashpkg:1}%{!?_with_squashpkg:0} %files -f filelist.plugins-base @@ -509,10 +555,10 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %files %endif %defattr(-,root,root,-) -%manifest %{_datadir}/murphy.manifest +%manifest murphy.manifest %{_bindir}/murphyd %config %{_sysconfdir}/murphy -%{systemddir}/system/murphyd.service +%{_unitdir_user}/murphyd.service %{_tmpfilesdir}/murphyd.conf %if %{?_with_audiosession:1}%{!?_with_audiosession:0} %{_sbindir}/asm-bridge @@ -556,16 +602,16 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %files devel -f filelist.devel-includes %defattr(-,root,root,-) -# %{_includedir}/murphy/config.h -# %{_includedir}/murphy/common.h -# #%{_includedir}/murphy/core.h -# %{_includedir}/murphy/common -# %{_includedir}/murphy/core -# %{_includedir}/murphy/resolver -# %{_includedir}/murphy/resource +# %%{_includedir}/murphy/config.h +# %%{_includedir}/murphy/common.h +# %%{_includedir}/murphy/core.h +# %%{_includedir}/murphy/common +# %%{_includedir}/murphy/core +# %%{_includedir}/murphy/resolver +# %%{_includedir}/murphy/resource # # hmmm... should handle disabled plugins properly. -# %{_includedir}/murphy/domain-control -# %{_includedir}/murphy/plugins +# %%{_includedir}/murphy/domain-control +# %%{_includedir}/murphy/plugins %{_includedir}/murphy-db %{_libdir}/libmurphy-common.so %{_libdir}/libmurphy-core.so @@ -581,7 +627,7 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %{_libdir}/pkgconfig/murphy-common.pc %{_libdir}/pkgconfig/murphy-core.pc %{_libdir}/pkgconfig/murphy-resolver.pc -#%{_libdir}/pkgconfig/murphy-resource.pc +# %%{_libdir}/pkgconfig/murphy-resource.pc %if %{?_with_lua:1}%{!?_with_lua:0} %{_libdir}/pkgconfig/murphy-lua-utils.pc %{_libdir}/pkgconfig/murphy-lua-decision.pc @@ -593,7 +639,7 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %{_libdir}/libbreedline*.so %{_libdir}/pkgconfig/breedline*.pc %if %{?_with_dbus:1}%{!?_with_dbus:0} -#%{_includedir}/murphy/dbus +# %%{_includedir}/murphy/dbus %{_libdir}/libmurphy-libdbus.so %{_libdir}/libmurphy-dbus-libdbus.so %{_libdir}/pkgconfig/murphy-libdbus.pc @@ -604,17 +650,16 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %defattr(-,root,root,-) %doc %{_docdir}/../murphy/AUTHORS %doc %{_docdir}/../murphy/CODING-STYLE -%license %{_docdir}/../murphy/COPYING %doc %{_docdir}/../murphy/ChangeLog -%doc %{_docdir}/../murphy/INSTALL %doc %{_docdir}/../murphy/NEWS %doc %{_docdir}/../murphy/README +%license COPYING LICENSE-BSD %if %{?_with_pulse:1}%{!?_with_pulse:0} %files pulse %defattr(-,root,root,-) %{_libdir}/libmurphy-pulse.so.* -%manifest %{_datadir}/murphy-pulse.manifest +%manifest murphy.manifest %files pulse-devel %defattr(-,root,root,-) @@ -627,7 +672,7 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %files ecore %defattr(-,root,root,-) %{_libdir}/libmurphy-ecore.so.* -%manifest %{_datadir}/murphy-ecore.manifest +%manifest murphy.manifest %files ecore-devel %defattr(-,root,root,-) @@ -640,7 +685,7 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %files glib %defattr(-,root,root,-) %{_libdir}/libmurphy-glib.so.* -%manifest %{_datadir}/murphy-glib.manifest +%manifest murphy.manifest %files glib-devel %defattr(-,root,root,-) @@ -653,7 +698,7 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %files qt %defattr(-,root,root,-) %{_libdir}/libmurphy-qt.so.* -%manifest %{_datadir}/murphy-qt.manifest +%manifest murphy.manifest %files qt-devel %defattr(-,root,root,-) @@ -662,27 +707,38 @@ ln -s %{systemddir}/user/ico-uxf-wait-launchpad-ready.path %{systemddir}/user/we %{_libdir}/pkgconfig/murphy-qt.pc %endif +%files gam +%defattr(-,root,root,-) +%{_libdir}/libmurphy-decision-tree.so.* +%{_libdir}/libmurphy-decision-tree.so.0.0.0 +%{_libdir}/murphy/plugins/plugin-gam-resource-manager.so + +%files gam-devel +%defattr(-,root,root,-) +%{_bindir}/decision-test +%{_bindir}/pattern-generator +%{_libdir}/libmurphy-decision-tree.so + %files tests %defattr(-,root,root,-) %{_bindir}/resource-client %{_bindir}/resource-api-test %{_bindir}/resource-api-fuzz +%{_bindir}/resource-context-create %{_bindir}/test-domain-controller %{_bindir}/murphy-console -%manifest %{_datadir}/murphy-tests.manifest +%manifest murphy.manifest %files ivi-resource-manager %defattr(-,root,root,-) %{_libdir}/murphy/plugins/plugin-ivi-resource-manager.so -%manifest %{_datadir}/murphy-ivi-resource-manager.manifest +%manifest murphy.manifest -%if %{?_with_icosyscon:1}%{!?_with_icosyscon:0} +%if %{_enable_icosyscon} %files system-controller %defattr(-,root,root,-) %{_libdir}/murphy/plugins/plugin-system-controller.so -%{systemddir}/user/ico-homescreen.service -%{systemddir}/user/murphy-wait-for-launchpad-ready.path -%manifest %{_datadir}/murphy-system-controller.manifest +%manifest murphy.manifest %endif %changelog