Add upgrade script to Tizen 4.0
[platform/core/telephony/tel-plugin-packetservice.git] / packaging / tel-plugin-packetservice.spec
index 4719d6e..8e41043 100644 (file)
-Name:       tel-plugin-packetservice
-Summary:    Telephony Packet Service library
-Version:    0.1.34
-Release:    1
-Group:      System/Libraries
-License:    Apache
-Source0:    tel-plugin-packetservice-%{version}.tar.gz
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
+# Do not create provides fro profile-tv because the main package
+# should anchor any reverse-dependencies
+%global __provides_exclude_from ^(.*\\.tv)$
+
+%define major 0
+%define minor 4
+%define patchlevel 12
+
+Name:           tel-plugin-packetservice
+Version:        %{major}.%{minor}.%{patchlevel}
+Release:        0
+License:        Apache-2.0
+Summary:        Telephony Packet Service library
+Group:          System/Libraries
+Source0:        tel-plugin-packetservice-%{version}.tar.gz
+Source1:        tel-plugin-ps.conf
 BuildRequires:  cmake
+BuildRequires:  python
+BuildRequires:  python-xml
+#BuildRequires:  model-build-features
+BuildRequires:  pkgconfig(gio-2.0)
+BuildRequires:  pkgconfig(gio-unix-2.0)
 BuildRequires:  pkgconfig(glib-2.0)
-BuildRequires:  pkgconfig(dbus-glib-1)
-BuildRequires:  pkgconfig(dlog)
-BuildRequires:  pkgconfig(tcore)
+BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(iniparser)
+BuildRequires:  pkgconfig(tcore)
+BuildRequires:  pkgconfig(db-util)
+BuildRequires:  pkgconfig(vconf)
+BuildRequires:  pkgconfig(alarm-service)
+BuildRequires:  pkgconfig(capi-system-device)
+BuildRequires:  pkgconfig(libtzplatform-config)
+BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(tfeature)
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires:      %{name}-dbinit = %{version}-%{release}
+Recommends:    %{name}-dbinit-profile_common = %{version}-%{release}
 
 %description
 Telephony Packet Service library
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+# Extension for TV
+%package profile_tv
+Summary:       Extension for TV
+Requires:      %{name} = %{version}-%{release}
+
+%description profile_tv
+Telephony Packet Service library Extension for TV
+%endif # End of extension for TV
+
+%package dbinit-profile_common
+SUmmary:       DB Init Script for non-IVI (tel-plugin-packageservice)
+Provides:      %{name}-dbinit = %{version}-%{release}
+Provides:      %{name}-dbinit-profile_mobile = %{version}-%{release}
+Provides:      %{name}-dbinit-profile_wearable = %{version}-%{release}
+Conflicts:     %{name}-dbinit-profile_tv
+Conflicts:     %{name}-dbinit-profile_ivi
+%description dbinit-profile_common
+Default DB init script for %{name} installation.
+Common for common/mobile/wearable profiles.
+
+%package dbinit-profile_tv
+Summary:       DB Init Script for TV (tel-plugin-packetservice)
+Provides:      %{name}-dbinit = %{version}-%{release}
+Conflicts:     %{name}-dbinit-profile_common
+%description dbinit-profile_tv
+DB init script for %{name} installation specialized for tv profile.
+
+%package dbinit-profile_ivi
+Summary:       DB Init Script for IVI (tel-plugin-packetservice)
+Provides:      %{name}-dbinit = %{version}-%{release}
+Conflicts:     %{name}-dbinit-profile_common
+%description dbinit-profile_ivi
+DB init script for %{name} installation specialized for ivi profile.
+
 %prep
 %setup -q
 
 %build
-%cmake . -DSYSCONFDIR=%{_sysconfdir}
-make %{?jobs:-j%jobs}
 
-%post 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+# Extension for TV
+
+%cmake . -DSYSCONFDIR=%{_sysconfdir} \
+       -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+       -DLIB_INSTALL_DIR=%{_libdir} \
+       -DPREPAID_SIM_APN_SUPPORT=1 \
+
+make %{?_smp_mflags}
+
+mkdir -p build_tv
+
+%make_install
+
+cp -a %{buildroot}%{_libdir}/telephony/plugins/ps-plugin* build_tv/
+
+%endif # End of extension for TV
+
+%cmake . -DSYSCONFDIR=%{_sysconfdir} \
+       -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+       -DLIB_INSTALL_DIR=%{_libdir} \
+       -DPREPAID_SIM_APN_SUPPORT=0 \
+
+make %{?_smp_mflags}
+
+%post
 /sbin/ldconfig
 
 #create db
-mkdir -p /opt/dbspace
+mkdir -p %TZ_SYS_DB
 
-if [ ! -f /opt/dbspace/.dnet.db ]
+if [ ! -f %TZ_SYS_DB/.dnet.db ]
+then
+  sqlite3 %TZ_SYS_DB/.dnet.db < %{_datadir}/ps-plugin/dnet_db.sql
+  sqlite3 %TZ_SYS_DB/.dnet.db < %{_datadir}/ps-plugin/dnet_db_init.sql
+fi
+if [ ! -f %TZ_SYS_DB/.dnet2.db ]
 then
-  sqlite3 /opt/dbspace/.dnet.db < /usr/share/ps-plugin/dnet_db.sql
-  sqlite3 /opt/dbspace/.dnet.db < /usr/share/ps-plugin/dnet_db_data.sql
+  sqlite3 %TZ_SYS_DB/.dnet2.db < %{_datadir}/ps-plugin/dnet_db.sql
+  sqlite3 %TZ_SYS_DB/.dnet2.db < %{_datadir}/ps-plugin/dnet_db_init.sql
 fi
 
-rm -f /usr/share/ps-plugin/dnet_db.sql
-rm -f /usr/share/ps-plugin/dnet_db_data.sql
+rm -f %{_datadir}/ps-plugin/dnet_db.sql
 
 #change file permission
-if [ -f /opt/dbspace/.dnet.db ]
+if [ -f %TZ_SYS_DB/.dnet.db ]
 then
-  chmod 660 /opt/dbspace/.dnet.db
+       chmod 660 %TZ_SYS_DB/.dnet.db
+       chown telephony:telephony %TZ_SYS_DB/.dnet.db
+       chsmack -a System %TZ_SYS_DB/.dnet.db
 fi
 
-if [ -f /opt/dbspace/.dnet.db-journal ]
+if [ -f %TZ_SYS_DB/.dnet.db-journal ]
 then
-  chmod 664 /opt/dbspace/.dnet.db-journal
+       chmod 664 %TZ_SYS_DB/.dnet.db-journal
+       chown telephony:telephony %TZ_SYS_DB/.dnet.db-journal
+       chsmack -a System %TZ_SYS_DB/.dnet.db-journal
+fi
+
+if [ -f %TZ_SYS_DB/.dnet2.db ]
+then
+       chmod 660 %TZ_SYS_DB/.dnet2.db
+       chown telephony:telephony %TZ_SYS_DB/.dnet2.db
+       chsmack -a System %TZ_SYS_DB/.dnet2.db
+fi
+
+if [ -f %TZ_SYS_DB/.dnet2.db-journal ]
+then
+       chmod 664 %TZ_SYS_DB/.dnet2.db-journal
+       chown telephony:telephony %TZ_SYS_DB/.dnet2.db-journal
+       chsmack -a System %TZ_SYS_DB/.dnet2.db-journal
 fi
 
 %postun -p /sbin/ldconfig
 
+%post dbinit-profile_tv
+mv %{_datadir}/ps-plugin/dnet_db_init.sql.tv %{_datadir}/ps-plugin/dnet_db_init.sql
+%preun dbinit-profile_tv
+mv %{_datadir}/ps-plugin/dnet_db_init.sql %{_datadir}/ps-plugin/dnet_db_init.sql.tv
+
+%post dbinit-profile_ivi
+mv %{_datadir}/ps-plugin/dnet_db_init.sql.ivi %{_datadir}/ps-plugin/dnet_db_init.sql
+%preun dbinit-profile_ivi
+mv %{_datadir}/ps-plugin/dnet_db_init.sql %{_datadir}/ps-plugin/dnet_db_init.sql.ivi
+
 %install
 %make_install
-mkdir -p %{buildroot}/usr/share/license
+mkdir -p %{buildroot}/etc/dbus-1/system.d/
+cp %{SOURCE1} %{buildroot}/etc/dbus-1/system.d/tel-plugin-ps.conf
+cp resources/tv/dnet_db_init.sql %{buildroot}%{_datadir}/ps-plugin/dnet_db_init.sql.tv
+cp resources/ivi/dnet_db_init.sql %{buildroot}%{_datadir}/ps-plugin/dnet_db_init.sql.ivi
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+# Extension for TV
+mv build_tv/ps-plugin.so %{buildroot}%{_libdir}/telephony/plugins/ps-plugin.so.tv
+
+%post profile_tv
+mv %{_libdir}/telephony/plugins/ps-plugin.so.tv %{_libdir}/telephony/plugins/ps-plugin.so
+/sbin/ldconfig
+
+%preun profile_tv
+case "$1" in
+  0)
+    # This is an un-installation.
+       rm %{_libdir}/telephony/plugins/ps-plugin.so
+    /sbin/ldconfig
+  ;;
+  1)
+    # This is an upgrade.
+    # Do nothing.
+    :
+  ;;
+esac
+
+%files profile_tv
+%manifest tel-plugin-packetservice.manifest
+%{_libdir}/telephony/plugins/ps-plugin*.tv
+%license LICENSE
+%endif # End of extension for TV
 
 %files
 %manifest tel-plugin-packetservice.manifest
-%defattr(-,root,root,-)
-/usr/share/ps-plugin/dnet_db.sql
-/usr/share/ps-plugin/dnet_db_data.sql
-%{_sysconfdir}/dbus-1/system.d/*
+%defattr(644,root,root,-)
+#%doc COPYING
+%{_datadir}/ps-plugin/dnet_db.sql
+%{_datadir}/ps-plugin/dnet_db_upgrade_30_40.sql
+%{_datadir}/upgrade/scripts/500.dnet_db_upgrade_30_40.sh
+#%{_datadir}/ps-plugin/apns-conf.xml
 %{_libdir}/telephony/plugins/ps-plugin*
-/usr/share/license/tel-plugin-packetservice
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+# Extension for TV
+%exclude %{_libdir}/telephony/plugins/ps-plugin*.tv
+%endif # End of extension for TV
+%license LICENSE
+/etc/dbus-1/system.d/tel-plugin-ps.conf
+
+%files dbinit-profile_common
+%{_datadir}/ps-plugin/dnet_db_init.sql
+%license LICENSE
+
+%files dbinit-profile_tv
+%{_datadir}/ps-plugin/dnet_db_init.sql.tv
+%license LICENSE
+
+%files dbinit-profile_ivi
+%{_datadir}/ps-plugin/dnet_db_init.sql.ivi
+%license LICENSE