[4.0] Remove profile build dependencies 83/101083/11
authorhk57.kim <hk57.kim@samsung.com>
Tue, 27 Dec 2016 06:36:06 +0000 (15:36 +0900)
committerhk57.kim <hk57.kim@samsung.com>
Tue, 27 Dec 2016 06:36:10 +0000 (15:36 +0900)
- This is for Tizen 4.0.
- Added backward-compatibility that does not deteriorate 4.0 Configurability
- When you send SR of this comimt you need to create JIRA-TRE of:

 - common/mobile/ivi profile: Add libpush-profile_common, push-bin-profile_common, push-tool-profile_common
 - wearable profile: Add libpush-profile_wearable, push-bin-profile_wearable, push-tool-profile_wearable
 - tv profile: Add libpush-profile_tv, push-bin-profile_tv, push-tool-profile_tv

(It's add, not replace.)

Change-Id: Ifccf846974b0744bf60d4dde28a2a58eabde7931
Signed-off-by: hk57.kim <hk57.kim@samsung.com>
packaging/push.spec

index 9eb6ee2..abcc412 100644 (file)
@@ -1,5 +1,11 @@
 %global _support_weblog 0
 
+# Do not provide .so automatically for the extensions.
+# This if statement is for backward compatibility with GBM/Obsolete build systems
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%global __provides_exclude_from ^.*\\.(wearable|mobile|tv|ivi|common)$
+%endif
+
 Name:       push
 Summary:    Push services and client library
 Version:    0.4.61
@@ -26,36 +32,161 @@ Push services and client library.
 Summary:    Push service client library
 Group:      Application Framework/Libraries
 Requires:   %{name}-bin = %{version}-%{release}
-Provides:   libpush.so.0
-
+Requires:      libpush-compat = %{version}-%{release}
+Recommends:    libpush-profile_common = %{version}-%{release}
+Provides:      libpush.so.0
 %description -n libpush
 Push service client library
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+%package -n libpush-profile_common
+Summary:    Push service client library for common/mobile/ivi
+Group:      Application Framework/Libraries
+Provides:      libpush-compat = %{version}-%{release}
+Provides:      libpush-profile_mobile = %{version}-%{release}
+Provides:      libpush-profile_ivi = %{version}-%{release}
+Conflicts:     libpush-profile_wearable
+Conflicts:     libpush-profile_tv
+%description -n libpush-profile_common
+Push service client library for common/mobile/ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package -n libpush-profile_tv
+Summary:    Push service client library for tv
+Group:      Application Framework/Libraries
+Provides:      libpush-compat = %{version}-%{release}
+Conflicts:     libpush-profile_common
+Conflicts:     libpush-profile_wearable
+%description -n libpush-profile_tv
+Push service client library for tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package -n libpush-profile_wearable
+Summary:    Push service client library for wearable
+Group:      Application Framework/Libraries
+Provides:      libpush-compat = %{version}-%{release}
+Conflicts:     libpush-profile_common
+Conflicts:     libpush-profile_tv
+%description -n libpush-profile_wearable
+Push service client library for wearable
+%endif
+
 %package -n libpush-devel
 Summary:    Push service client library (DEV)
 Group:      Development/Libraries
 Requires:   libpush = %{version}-%{release}
 Requires:   capi-appfw-application-devel
-
 %description -n libpush-devel
 Push service client library (DEV)
 
 %package bin
 Summary:    Push service daemon
 Group:      Application Framework/Service
-
+Requires:      %{name}-bin-compat = %{version}-%{release}
+Recommends:    %{name}-bin-profile_common = %{version}-%{release}
 %description bin
 Push service daemon
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+%package bin-profile_common
+Summary:    Push service daemon for mobile/common/ivi
+Group:      Application Framework/Service
+Provides:      %{name}-bin-compat = %{version}-%{release}
+Provides:      %{name}-bin-profile_mobile = %{version}-%{release}
+Provides:      %{name}-bin-profile_ivi = %{version}-%{release}
+Conflicts:     %{name}-bin-profile_wearable
+Conflicts:     %{name}-bin-profile_tv
+%description bin-profile_common
+Push service daemon for mobile/common/ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package bin-profile_tv
+Summary:    Push service daemon for tv
+Group:      Application Framework/Service
+Provides:      %{name}-bin-compat = %{version}-%{release}
+Conflicts:     %{name}-bin-profile_wearable
+Conflicts:     %{name}-bin-profile_common
+%description bin-profile_tv
+Push service daemon for tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package bin-profile_wearable
+Summary:    Push service daemon for wearable
+Group:      Application Framework/Service
+Provides:      %{name}-bin-compat = %{version}-%{release}
+Conflicts:     %{name}-bin-profile_tv
+Conflicts:     %{name}-bin-profile_common
+%description bin-profile_wearable
+Push service daemon for wearable
+%endif
+
 %package tool
 Summary:    Push service tool
 Group:      Development/Tools
 Requires:   libpush = %{version}-%{release}
 Requires:   %{name}-bin = %{version}-%{release}
-
+Requires:      %{name}-tool-compat = %{version}-%{release}
+Recommends:    %{name}-tool-profile_common = %{version}-%{release}
 %description tool
 Push service tool
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+%package tool-profile_common
+Summary:    Push service tool for mobile/common/ivi
+Group:      Development/Tools
+Provides:      %{name}-tool-compat = %{version}-%{release}
+Provides:      %{name}-tool-profile_mobile = %{version}-%{release}
+Provides:      %{name}-tool-profile_ivi = %{version}-%{release}
+Conflicts:     %{name}-tool-profile_wearable
+Conflicts:     %{name}-tool-profile_tv
+%description tool-profile_common
+Push service tool for mobile/common/ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package tool-profile_tv
+Summary:    Push service tool for tv
+Group:      Development/Tools
+Provides:      %{name}-tool-compat = %{version}-%{release}
+Conflicts:     %{name}-tool-profile_wearable
+Conflicts:     %{name}-tool-profile_common
+%description tool-profile_tv
+Push service tool for tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package tool-profile_wearable
+Summary:    Push service tool for wearable
+Group:      Development/Tools
+Provides:      %{name}-tool-compat = %{version}-%{release}
+Conflicts:     %{name}-tool-profile_tv
+Conflicts:     %{name}-tool-profile_common
+%description tool-profile_wearable
+Push service tool for wearable
+%endif
+
 %define _upgrade_script_path /usr/share/upgrade/scripts/
 %define _upgrade_script 500.sppc.sh
 
@@ -68,9 +199,16 @@ Push service tool
 rm -rf %{buildroot}
 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
 install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/pushd.service
-%if "%{profile}" == "mobile"
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
 install -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/pushd.path
-%else
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %install_service multi-user.target.wants pushd.service
 %endif
 
@@ -86,132 +224,166 @@ cp -a include/push.h %{buildroot}%{_includedir}
 
 mkdir -p %{buildroot}%{_libdir}/pkgconfig
 cp -a push.pc %{buildroot}%{_libdir}/pkgconfig/
-
-mkdir -p %{buildroot}/usr/share/push/
 mkdir -p %{buildroot}%{_bindir}
 
 mkdir -p %{buildroot}%{_upgrade_script_path}
 cp -f scripts/%{_upgrade_script} %{buildroot}%{_upgrade_script_path}
 
+mkdir -p %{buildroot}/usr/share/push
 
 %ifarch %{arm}
 
-#libpush
-cp -a arm/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a arm/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a arm/bin/pushd %{buildroot}%{_bindir}
-cp -a arm/bin/push_tool %{buildroot}%{_bindir}
-cp -a arm/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+pushd arm/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+popd
+pushd arm/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE"; done
+popd
+pushd arm/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE"; done
+popd
 %if %{_support_weblog}
        arm/bin/pushlog_tool
 %endif
+%endif
 
-%if "%{profile}" == "tv"
-#libpush
-cp -a arm_tv/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a arm_tv/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a arm_tv/bin/pushd %{buildroot}%{_bindir}
-cp -a arm_tv/bin/push_tool %{buildroot}%{_bindir}
-cp -a arm_tv/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd arm_tv/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE.tv"; done
+popd
+pushd arm_tv/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE.tv"; done
+popd
+pushd arm_tv/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE.tv"; done
+popd
 %if %{_support_weblog}
        arm_tv/bin/pushlog_tool
 %endif
 %endif
 
-%if "%{profile}" == "wearable"
-#libpush
-cp -a arm_wearable/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a arm_wearable/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a arm_wearable/bin/pushd %{buildroot}%{_bindir}
-cp -a arm_wearable/bin/push_tool %{buildroot}%{_bindir}
-cp -a arm_wearable/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd arm_wearable/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE.wearable"; done
+popd
+pushd arm_wearable/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE.wearable"; done
+popd
+pushd arm_wearable/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE.wearable"; done
+popd
 %if %{_support_weblog}
        arm_wearable/bin/pushlog_tool
 %endif
 %endif
-%endif
 
+%endif //%ifarch %{arm}
 
 %ifarch aarch64
-#libpush
-cp -a aarch64/lib64/libpush.so.* %{buildroot}%{_libdir}
-#libpush-devel
-cp -a aarch64/lib64/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a aarch64/bin/pushd %{buildroot}%{_bindir}
-cp -a aarch64/bin/push_tool %{buildroot}%{_bindir}
-cp -a aarch64/share/push/*.cer %{buildroot}/usr/share/push/
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+pushd aarch64/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+popd
+pushd aarch64/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE"; done
+popd
+pushd aarch64/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE"; done
+popd
+
 %if %{_support_weblog}
        aarch64/bin/pushlog_tool
 %endif
 %endif
 
+%endif //%ifarch aarch64
 
 %ifarch %{ix86}
 
-#libpush
-cp -a x86/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a x86/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a x86/bin/pushd %{buildroot}%{_bindir}
-cp -a x86/bin/push_tool %{buildroot}%{_bindir}
-cp -a x86/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+pushd x86/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+popd
+pushd x86/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE"; done
+popd
+pushd x86/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE"; done
+popd
 %if %{_support_weblog}
        x86/bin/pushlog_tool
 %endif
+%endif
 
-%if "%{profile}" == "tv"
-#libpush
-cp -a x86_tv/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a x86_tv/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a x86_tv/bin/pushd %{buildroot}%{_bindir}
-cp -a x86_tv/bin/push_tool %{buildroot}%{_bindir}
-cp -a x86_tv/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd x86_tv/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE.tv"; done
+popd
+pushd x86_tv/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE.tv"; done
+popd
+pushd x86_tv/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE.tv"; done
+popd
 %if %{_support_weblog}
        x86_tv/bin/pushlog_tool
 %endif
 %endif
 
-%if "%{profile}" == "wearable"
-#libpush
-cp -a x86_wearable/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a x86_wearable/lib/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a x86_wearable/bin/pushd %{buildroot}%{_bindir}
-cp -a x86_wearable/bin/push_tool %{buildroot}%{_bindir}
-cp -a x86_wearable/share/push/*.cer %{buildroot}/usr/share/push/
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd x86_wearable/lib/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE.wearable"; done
+popd
+pushd x86_wearable/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE.wearable"; done
+popd
+pushd x86_wearable/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE.wearable"; done
+popd
 %if %{_support_weblog}
        x86_wearable/bin/pushlog_tool
 %endif
 %endif
 
-%endif
+%endif //%ifarch %{ix86}
 
 
 %ifarch x86_64
-#libpush
-cp -a x86_64/lib64/libpush.so.* %{buildroot}%{_libdir}
-#libpus-devel
-cp -a x86_64/lib64/libpush.so %{buildroot}%{_libdir}
-#push-bin
-cp -a x86_64/bin/pushd %{buildroot}%{_bindir}
-cp -a x86_64/bin/push_tool %{buildroot}%{_bindir}
-cp -a x86_64/share/push/*.cer %{buildroot}/usr/share/push/
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+pushd x86_64/lib64/
+for FILE in libpush.so*; do cp -a "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+popd
+pushd x86_64/bin/
+for FILE in push*; do cp -a "$FILE" "%{buildroot}%{_bindir}/$FILE"; done
+popd
+pushd x86_64/share/push/
+for FILE in *.cer; do cp -a "$FILE" "%{buildroot}/usr/share/push/$FILE"; done
+popd
 %if %{_support_weblog}
        x86_64/bin/pushlog_tool
 %endif
 %endif
 
+%endif //%ifarch x86_64
 
 %post bin
 mkdir -p %{TZ_SYS_GLOBALUSER_DB}
@@ -224,46 +396,131 @@ chmod 644 %{TZ_SYS_GLOBALUSER_DB}/.push.db-journal
 chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.push.db
 chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.push.db-journal
 
-%if "%{profile}" == "mobile"
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" || "%{?profile}" != "tv"
 ln -sf ../pushd.path  %{_unitdir}/multi-user.target.wants/
 %endif
 
-%post -n libpush
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post bin-profile_tv
+pushd %{_bindir}
+for FILE in push*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
+pushd /usr/share/push/
+for FILE in Push*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
+
+%post tool-profile_tv
+ln -sf push_tool.tv %{_bindir}/push_tool
+
+%post -n libpush-profile_tv
+pushd %{_libdir}
+for FILE in libpush.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
 /sbin/ldconfig
 
-%postun -n libpush -p /sbin/ldconfig
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post bin-profile_wearable
+pushd %{_bindir}
+for FILE in push*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+pushd /usr/share/push/
+for FILE in Push*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+
+%post tool-profile_wearable
+ln -sf push_tool.wearable %{_bindir}/push_tool
+
+%post -n libpush-profile_wearable
+pushd %{_libdir}
+for FILE in libpush.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+/sbin/ldconfig
+
+%endif
+
 
 %files -n libpush
 %manifest libpush.manifest
-%attr(755,root,root) %{_libdir}/libpush.so.*
 
 %files -n libpush-devel
 %{_includedir}/*.h
 %{_libdir}/pkgconfig/*.pc
-%{_libdir}/libpush.so
 
 %files bin
 %manifest push-bin.manifest
-%{_bindir}/pushd
-%attr(600,service_fw,service_fw) /usr/share/push/*.cer
+%{_unitdir}/pushd.service
 %attr(644,root,root) /usr/share/licenses/%{name}/LICENSE
-
 %{_upgrade_script_path}%{_upgrade_script}
 %attr(755,root,root) %{_upgrade_script_path}%{_upgrade_script}
 
-%{_unitdir}/pushd.service
-%if "%{profile}" == "mobile"
+%files tool
+%manifest push-tool.manifest
+%if %{_support_weblog}
+       %{_bindir}/pushlog_tool
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || ivi || common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv"
+
+%files -n libpush-profile_common
+%manifest libpush.manifest
+%attr(755,root,root) %{_libdir}/libpush.so*
+%exclude %{_libdir}/libpush.so*.tv
+%exclude %{_libdir}/libpush.so*.wearable
+
+%files bin-profile_common
+%{_bindir}/pushd
+%attr(600,service_fw,service_fw) /usr/share/push/PushServerTrust.cer
 %{_unitdir}/pushd.path
-%else
+
+%files tool-profile_common
+%{_bindir}/push_tool
+
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+
+%files -n libpush-profile_tv
+%manifest libpush.manifest
+%attr(755,root,root) %{_libdir}/libpush.so*.tv
+
+%files bin-profile_tv
+%{_bindir}/pushd.tv
+%attr(600,service_fw,service_fw) /usr/share/push/PushServerTrust.cer.tv
 %{_unitdir}/multi-user.target.wants/pushd.service
+
+%files tool-profile_tv
+%{_bindir}/push_tool.tv
+
 %endif
 
-%files tool
-%manifest push-tool.manifest
-%{_bindir}/push_tool
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+
+%files -n libpush-profile_wearable
+%manifest libpush.manifest
+%attr(755,root,root) %{_libdir}/libpush.so*.wearable
+
+%files bin-profile_wearable
+%{_bindir}/pushd.wearable
+%attr(600,service_fw,service_fw) /usr/share/push/PushServerTrust.cer.wearable
+%{_unitdir}/multi-user.target.wants/pushd.service
+
+%files tool-profile_wearable
+%{_bindir}/push_tool.wearable
 
-%if %{_support_weblog}
-       %{_bindir}/pushlog_tool
 %endif
 
 %changelog