|
| 1 | +Name: lwnode-example-messageport |
| 2 | +Summary: - |
| 3 | +Version: 1.0.0 |
| 4 | +Release: 1 |
| 5 | +Group: System/Servers |
| 6 | +License: MIT |
| 7 | +Source: %{name}-%{version}.tar.gz |
| 8 | +Source1001: lwnode-example-messageport.manifest |
| 9 | + |
| 10 | +Requires(post): /sbin/ldconfig |
| 11 | +Requires(postun): /sbin/ldconfig |
| 12 | + |
| 13 | +%if ("%{tizen_version}" >= "7.0") |
| 14 | +BuildRequires: sdk-core |
| 15 | +BuildRequires: sdk-rootstraps |
| 16 | +%else |
| 17 | +BuildRequires: builtin-java |
| 18 | +BuildRequires: builtin-tizensdk, builtin-tizensdk-rootstraps |
| 19 | +BuildRequires: app-signer, python-xml |
| 20 | +%endif |
| 21 | + |
| 22 | +BuildRequires: cmake, ninja |
| 23 | +BuildRequires: rsync |
| 24 | +BuildRequires: pkgconfig(dlog) |
| 25 | +BuildRequires: pkgconfig(glib-2.0) |
| 26 | +BuildRequires: pkgconfig(aul) |
| 27 | +BuildRequires: pkgconfig(capi-appfw-app-common) |
| 28 | + |
| 29 | +%define _signer_url http://<<url>>/kuep_net_signer.sh |
| 30 | + |
| 31 | +%description |
| 32 | +sample |
| 33 | + |
| 34 | +# Configure |
| 35 | + |
| 36 | +# Initialize the variables |
| 37 | +%define _output ./out |
| 38 | +%define _native_out ./out/%{name} |
| 39 | +%define _jsroot res |
| 40 | +%define _lib_dist ./out/project/%{_jsroot}/lib |
| 41 | +%define _native_dist ./out/project/%{_jsroot}/lib/build |
| 42 | +%define _project ./out/project |
| 43 | +%define _certi ./packaging |
| 44 | + |
| 45 | +%prep |
| 46 | +%setup -q |
| 47 | + |
| 48 | +%build |
| 49 | +mkdir -p %{_native_out} |
| 50 | +cmake . -B%{_native_out} -H. -G Ninja |
| 51 | +ninja -v -C %{_native_out} |
| 52 | + |
| 53 | +# project scaffolding |
| 54 | +rm -rf %{_project} |
| 55 | +mkdir -p %{_project}/%{_jsroot} |
| 56 | + |
| 57 | +# copy lwnode binary |
| 58 | +cp -rf bin %{_project} |
| 59 | +cp -rf lib %{_project} |
| 60 | + |
| 61 | +# copy JavaScript files |
| 62 | +rsync -avm --include='*.js' -f 'hide,! */' ./%{_jsroot}/* %{_project}/%{_jsroot} |
| 63 | +rsync -avm --include='*.node' -f 'hide,! */' ./%{_jsroot}/* %{_project}/%{_jsroot} |
| 64 | +rsync -avm --include='*.json' -f 'hide,! */' ./%{_jsroot}/* %{_project}/%{_jsroot} |
| 65 | +cp -rf tizen-manifest.xml %{_project} |
| 66 | + |
| 67 | +# copy exec file |
| 68 | +cp -f %{_native_out}/%{name} %{_project}/bin |
| 69 | + |
| 70 | +# setup tizen certificate profile |
| 71 | +tizen cli-config "profiles.path=%{_prefix}/tizen-studio-data/profile/profiles.xml" |
| 72 | +tizen security-profiles add -n ABS -a %{_certi}/tizen_author.p12 -p \ |
| 73 | + tizenauthor -d %{_certi}/tizen-distributor-partner-manufacturer-signer.p12 \ |
| 74 | + -dp tizenpkcs12passfordsigner |
| 75 | + |
| 76 | +# signing |
| 77 | +curl -o ./kuep_net_signer.sh %{_signer_url} && chmod +x ./kuep_net_signer.sh |
| 78 | +./kuep_net_signer.sh -s -tizen_major_ver %{?tizen_version_major} %{_project}/lib/liblwnode.* |
| 79 | +./kuep_net_signer.sh -s -tizen_major_ver %{?tizen_version_major} %{_project}/lib/libescargot.* |
| 80 | +./kuep_net_signer.sh -s -tizen_major_ver %{?tizen_version_major} %{_project}/bin/%{name} |
| 81 | + |
| 82 | +# packaging |
| 83 | +cd %{_project} |
| 84 | +zip ../%{name}.tpk * -r |
| 85 | +cd - > /dev/null |
| 86 | +tizen package -t tpk -s ABS -- %{_output}/%{name}.tpk |
| 87 | + |
| 88 | +%install |
| 89 | + |
| 90 | +%clean |
| 91 | +rm -f ./*.list |
| 92 | +rm -f ./*.manifest |
| 93 | +rm -rf %{_project} |
| 94 | +rm -rf %{_native_out} |
| 95 | +rm -f kuep_net_signer.sh |
| 96 | + |
| 97 | +%post |
| 98 | +/sbin/ldconfig |
| 99 | + |
| 100 | +%postun |
| 101 | +/sbin/ldconfig |
| 102 | + |
| 103 | +%files |
| 104 | +%defattr(-,root,root,-) |
0 commit comments