Release version 0.9.6
[platform/core/appfw/pkgmgr-tool.git] / packaging / pkgmgr-tool.spec
1 Name:       pkgmgr-tool
2 Summary:    Packager Manager Tool package
3 Version:    0.9.6
4 Release:    1
5 Group:      Application Framework/Package Management
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9
10 Requires:  unzip
11 Requires:  smack
12 Requires:  cryptsetup
13
14 BuildRequires:  boost-devel
15 BuildRequires:  cmake
16 BuildRequires:  gettext-tools
17 BuildRequires:  pkgconfig(glib-2.0)
18 BuildRequires:  pkgconfig(gio-2.0)
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(bundle)
21 BuildRequires:  pkgconfig(pkgmgr-info)
22 BuildRequires:  pkgconfig(iniparser)
23 BuildRequires:  pkgconfig(libsmack)
24 BuildRequires:  pkgconfig(libtzplatform-config)
25 BuildRequires:  pkgconfig(xdgmime)
26 BuildRequires:  pkgconfig(pkgmgr)
27 BuildRequires:  pkgconfig(pkgmgr-installer)
28 BuildRequires:  pkgconfig(aul)
29 BuildRequires:  pkgconfig(storage)
30 BuildRequires:  pkgconfig(sqlite3)
31 BuildRequires:  pkgconfig(gmock)
32 BuildRequires:  pkgmgr-info-parser-devel
33 BuildRequires:  pkgmgr-info-parser
34 BuildRequires:  fdupes
35 %if 0%{?gcov:1}
36 BuildRequires:  lcov
37 BuildRequires:  zip
38 %endif
39 Requires(posttrans):  /usr/bin/pkg_initdb
40
41 %description
42 Packager Manager Tool for packaging
43
44 %package unittests
45 Summary:    GTest for pkgmgr-tool
46 Group:      Development/Libraries
47 Requires:   %{name}
48
49 %description unittests
50 GTest for pkgmgr-tool
51
52 %if 0%{?gcov:1}
53 %package gcov
54 Summary:  pkgmgr-tool API(gcov)
55 Group:    System/API
56
57 %description gcov
58 gcov objects of an pkgmgr-tool
59 %endif
60
61 %prep
62 %setup -q
63 cp %{SOURCE1001} .
64
65 %build
66 %if 0%{?gcov:1}
67 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
68 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
69 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
70 export LDFLAGS+=" -lgcov"
71 %endif
72
73 %cmake .
74 %__make %{?_smp_mflags}
75
76 %check
77 ctest -V
78 %if 0%{?gcov:1}
79 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
80 genhtml %{name}.info -o out --legend --show-details
81 %endif
82
83 %install
84 %make_install
85 mkdir -p %{buildroot}%{_sysconfdir}/opt/upgrade
86
87 %if 0%{?gcov:1}
88 builddir=$(basename $PWD)
89 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
90 mkdir -p "$gcno_obj_dir"
91 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
92 %endif
93
94 cat << EOF > run-unittest.sh
95 #!/bin/sh
96
97 setup() {
98     echo "setup start"
99     mkdir -p /tmp/pkgmgr-tool-unittests
100     cp -r /usr/share/pkgmgr-tool_unittests/* /tmp/pkgmgr-tool-unittests/
101 }
102
103 test_main() {
104     echo "test_main start"
105     CUR_DIR=$(pwd)
106     cd /tmp/pkgmgr-tool-unittests
107     /usr/bin/pkgmgr-tool_unittests
108     cd $CUR_DIR
109 }
110
111 teardown() {
112     echo "teardown start"
113     rm -rf /tmp/pkgmgr-tool-unittests
114 }
115
116 main() {
117     setup
118     test_main
119     teardown
120 }
121
122 main "\$*"
123 EOF
124
125 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
126 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
127
128 %fdupes %{buildroot}
129
130 %post
131 /sbin/ldconfig
132 mkdir -p %{_sysconfdir}/skel/priv_shared_res
133 chsmack -t -a User::Home %{_sysconfdir}/skel/priv_shared_res
134
135 # Update mime database to support package mime types
136 update-mime-database %{_datadir}/mime
137
138 %files
139 %manifest %{name}.manifest
140 %license LICENSE
141 %defattr(-,root,root,-)
142 %{_bindir}/pkgcmd
143 %{_bindir}/pkg_getsize
144 %{_bindir}/pkg_cleardata
145 %{_bindir}/pkginfo
146 %{_bindir}/rsc-slice
147 %{_bindir}/res-copy
148 %{_bindir}/pkg_upgrade
149 %attr(0755,root,root) %{_bindir}/install_preload_pkg
150 %{_datadir}/mime/packages/mime.wac.xml
151 %{_datadir}/mime/packages/mime.tpk.xml
152 %attr(0700,root,root) /etc/package-manager/pkgmgr-unzip-pkg.sh
153 %attr(0700,root,root) /etc/package-manager/pkgmgr-create-delta.sh
154 %attr(0700,root,root) /usr/share/upgrade/scripts/700.pkgmgr.patch.sh
155 %attr(0700,root,root) /etc/package-manager/updates/update.sh
156 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30000.sh
157 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30001.sh
158 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30002.sh
159 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30003.sh
160 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30004.sh
161 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30005.sh
162 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30006.sh
163 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30007.sh
164 %attr(0700,root,root) /etc/package-manager/updates/upgrade_to_30008.sh
165 %attr(0700,root,root) %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh
166
167 %files unittests
168 %{_bindir}/pkgmgr-tool_unittests
169 %{_datadir}/pkgmgr-tool_unittests/*
170 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
171
172 %if 0%{?gcov:1}
173 %files gcov
174 %defattr(-,root,root,-)
175 %{_datadir}/gcov/obj/*
176 %endif