Merge lp:~albaguirre/mir/remove-abi-compliance-checker into lp:mir
- remove-abi-compliance-checker
- Merge into development-branch
Proposed by
Alberto Aguirre
Status: | Merged |
---|---|
Approved by: | Alan Griffiths |
Approved revision: | no longer in the source branch. |
Merged at revision: | 4285 |
Proposed branch: | lp:~albaguirre/mir/remove-abi-compliance-checker |
Merge into: | lp:mir |
Prerequisite: | lp:~albaguirre/mir/remove-duplicate-pkg-config |
Diff against target: |
569 lines (+9/-467) 6 files modified
CMakeLists.txt (+0/-1) cmake/ABICheck.cmake (+0/-114) debian/control (+0/-1) doc/abi_compatibility_tools.md (+0/-26) tools/abi_check.sh (+0/-315) tools/setup-partial-armhf-chroot.sh (+9/-10) |
To merge this branch: | bzr merge lp:~albaguirre/mir/remove-abi-compliance-checker |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Approve | ||
Mir CI Bot | continuous-integration | Approve | |
Review via email: mp+332138@code.launchpad.net |
Commit message
Remove abi-compliance-
Remove unused abi-compliance-
Description of the change
To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote : | # |
review:
Approve
(continuous-integration)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2017-09-07 05:58:13 +0000 |
3 | +++ CMakeLists.txt 2017-10-11 16:02:41 +0000 |
4 | @@ -313,7 +313,6 @@ |
5 | endif () |
6 | |
7 | enable_coverage_report(mirserver) |
8 | -include (cmake/ABICheck.cmake) |
9 | |
10 | add_custom_target(ptest |
11 | COMMAND "${CMAKE_SOURCE_DIR}/tools/run_ctests.sh" "--cost-file" "${CMAKE_BINARY_DIR}/ptest_ctest_cost_data.txt" "sh ${CMAKE_BINARY_DIR}/discover_all_tests.sh" "--" "$$ARGS" |
12 | |
13 | === removed file 'cmake/ABICheck.cmake' |
14 | --- cmake/ABICheck.cmake 2017-05-08 03:04:26 +0000 |
15 | +++ cmake/ABICheck.cmake 1970-01-01 00:00:00 +0000 |
16 | @@ -1,114 +0,0 @@ |
17 | -cmake_minimum_required (VERSION 2.6) |
18 | - |
19 | -find_program(ABI_COMPLIANCE_CHECKER abi-compliance-checker) |
20 | -if (NOT ABI_COMPLIANCE_CHECKER) |
21 | - message(WARNING "no ABI checks possible: abi-compliance-checker was not found") |
22 | - return() |
23 | -endif() |
24 | - |
25 | -set(ENABLE_ABI_CHECK_TEST $ENV{MIR_ENABLE_ABI_CHECK_TEST}) |
26 | -execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE ABI_CHECK_TARGET_MACH OUTPUT_STRIP_TRAILING_WHITESPACE) |
27 | - |
28 | -set(ABI_DUMPS_DIR "${CMAKE_BINARY_DIR}/abi_dumps/${ABI_CHECK_TARGET_MACH}") |
29 | - |
30 | -# Given a list of key value pairs such as "key1 value1 key2 value2...keyN valueN" |
31 | -# extract the value corresponding to the given key |
32 | -function(get_value_for_key a_list key value) |
33 | - list(FIND a_list ${key} idx) |
34 | - if (idx GREATER -1) |
35 | - math(EXPR idx "${idx} + 1") |
36 | - list(GET a_list ${idx} tmp_value) |
37 | - set(${value} "${tmp_value}" PARENT_SCOPE) |
38 | - endif() |
39 | -endfunction() |
40 | - |
41 | -# Makes a one-entry per line list of all include paths used |
42 | -# to compile the given library target |
43 | -function(get_includes libname output) |
44 | - get_property(lib_includes TARGET ${libname} PROPERTY INCLUDE_DIRECTORIES) |
45 | - list(REMOVE_DUPLICATES lib_includes) |
46 | - string(REPLACE ";" "\n " tmp_out "${lib_includes}") |
47 | - set(${output} "${tmp_out}" PARENT_SCOPE) |
48 | -endfunction() |
49 | - |
50 | -# Creates the XML descriptor file that describes the given library target |
51 | -# suitable for abi-compliance-checker |
52 | -function(make_lib_descriptor name) |
53 | - set(libname "mir${name}") |
54 | - |
55 | - # Optional argument LIBRARY_HEADER - use the given header to describe |
56 | - # the binary library instead of assuming its described by include/<name> |
57 | - get_value_for_key("${ARGN}" "LIBRARY_HEADER" library_header) |
58 | - if ("${library_header}" STREQUAL "") |
59 | - set(LIB_DESC_HEADERS "${CMAKE_SOURCE_DIR}/include/${name}\n ${private_headers}") |
60 | - else() |
61 | - set(LIB_DESC_HEADERS ${library_header}) |
62 | - endif() |
63 | - |
64 | - # FIXME: Property "LOCATION" is now deprecated |
65 | - if (NOT ${CMAKE_MAJOR_VERSION} LESS 3) |
66 | - cmake_policy(SET CMP0026 OLD) |
67 | - endif() |
68 | - get_property(LIB_DESC_LIBS TARGET ${libname} PROPERTY LOCATION) |
69 | - |
70 | - get_includes(${libname} LIB_DESC_INCLUDE_PATHS) |
71 | - set(LIB_DESC_GCC_OPTS "${CMAKE_CXX_FLAGS}") |
72 | - |
73 | - # Optional EXCLUDE_HEADERS - a list |
74 | - # while attempting an abi dump |
75 | - get_value_for_key("${ARGN}" "EXCLUDE_HEADERS" LIB_DESC_SKIP_HEADERS) |
76 | - |
77 | - configure_file(${CMAKE_SOURCE_DIR}/tools/lib_descriptor.xml.skel ${libname}_desc.xml) |
78 | -endfunction() |
79 | - |
80 | -#These headers are not part of the libmirplatform ABI |
81 | -set(mirplatform-exclude-headers "${CMAKE_SOURCE_DIR}/include/platform/mir/input") |
82 | - |
83 | -make_lib_descriptor(core) |
84 | -make_lib_descriptor(client) |
85 | -make_lib_descriptor(server) |
86 | -make_lib_descriptor(common) |
87 | -make_lib_descriptor(cookie) |
88 | -make_lib_descriptor(platform EXCLUDE_HEADERS ${mirplatform-exclude-headers}) |
89 | -if(MIR_BUILD_PLATFORM_MESA_KMS) |
90 | -make_lib_descriptor(clientplatformmesa LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/src/include/client/mir/client_platform_factory.h) |
91 | -make_lib_descriptor(platformgraphicsmesakms LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/include/platform/mir/graphics/platform.h) |
92 | -endif() |
93 | -make_lib_descriptor(platforminputevdev LIBRARY_HEADER ${CMAKE_SOURCE_DIR}/include/platform/mir/input/) |
94 | - |
95 | - |
96 | -macro(_define_abi_dump_for libname) |
97 | - set(ABI_DUMP_NAME ${ABI_DUMPS_DIR}/${libname}_next.abi.tar.gz) |
98 | - |
99 | - add_custom_command(OUTPUT ${ABI_DUMP_NAME} |
100 | - COMMAND abi-compliance-checker -gcc-path ${CMAKE_CXX_COMPILER} -l ${libname} -v1 next -dump-path ${ABI_DUMP_NAME} -dump-abi ${libname}_desc.xml |
101 | - DEPENDS ${libname} |
102 | - ) |
103 | - add_custom_target(abi-dump-${libname} DEPENDS ${ABI_DUMP_NAME}) |
104 | -endmacro(_define_abi_dump_for) |
105 | - |
106 | -macro(_define_abi_check_for libname) |
107 | - add_custom_target(abi-check-${libname} |
108 | - COMMAND /bin/bash -c '${CMAKE_SOURCE_DIR}/tools/abi_check.sh ${libname} ${ABI_DUMPS_DIR} ${CMAKE_SOURCE_DIR}' |
109 | - DEPENDS abi-dump-${libname} |
110 | - ) |
111 | -endmacro(_define_abi_check_for) |
112 | - |
113 | -set(the_libs mircore mirserver mirclient mircommon mirplatform mircookie mirplatforminputevdev) |
114 | -if(MIR_BUILD_PLATFORM_MESA_KMS) |
115 | - set(the_libs ${the_libs} mirclientplatformmesa mirplatformgraphicsmesakms) |
116 | -endif() |
117 | - |
118 | -foreach(libname ${the_libs}) |
119 | - _define_abi_dump_for(${libname}) |
120 | - _define_abi_check_for(${libname}) |
121 | - list(APPEND abi-dump-list abi-dump-${libname}) |
122 | - list(APPEND abi-check-list abi-check-${libname}) |
123 | -endforeach(libname) |
124 | - |
125 | -add_custom_target(abi-dump DEPENDS ${abi-dump-list}) |
126 | -add_custom_target(abi-check DEPENDS ${abi-check-list}) |
127 | - |
128 | -if (MIR_ENABLE_TESTS AND ENABLE_ABI_CHECK_TEST) |
129 | - add_test(abi-compliance-check make abi-check) |
130 | -endif() |
131 | |
132 | === modified file 'debian/control' |
133 | --- debian/control 2017-10-11 16:02:41 +0000 |
134 | +++ debian/control 2017-10-11 16:02:41 +0000 |
135 | @@ -35,7 +35,6 @@ |
136 | valgrind [amd64 i386 armhf arm64], |
137 | libglib2.0-dev, |
138 | libfreetype6-dev, |
139 | - abi-compliance-checker, |
140 | libevdev-dev, |
141 | libinput-dev (>= 0.21), |
142 | uuid-dev, |
143 | |
144 | === removed file 'doc/abi_compatibility_tools.md' |
145 | --- doc/abi_compatibility_tools.md 2017-05-08 03:04:26 +0000 |
146 | +++ doc/abi_compatibility_tools.md 1970-01-01 00:00:00 +0000 |
147 | @@ -1,26 +0,0 @@ |
148 | -Tracking ABI compatibility {#abi_compatibility_tools} |
149 | -================================ |
150 | - |
151 | -A few make targets exist to help us track ABI compatibility across |
152 | -different Mir versions and ensure we increase the ABI version properly. |
153 | -These targets invoke the abi-compliance-checker tool for the actual ABI check. |
154 | - |
155 | -The targets are: |
156 | - |
157 | -* **make abi-check** |
158 | - |
159 | - Compiles all the public libraries in the current tree and checks their ABI against the latest released archive version |
160 | - |
161 | -* **make abi-check-\<library>** |
162 | - |
163 | - Compiles only the specified library in the current tree and checks its ABI against the latest released archive version |
164 | - |
165 | - - *library* can be any of the public library targets such as mirclient, mirserver, mirplatform, mircommon, etc. |
166 | - |
167 | -Sample usage |
168 | ------------- |
169 | - |
170 | - $ bzr branch lp:mir && cd mir |
171 | - $ debian/rules override_dh_auto_configure |
172 | - $ cd <build-dir> |
173 | - $ make abi-check |
174 | |
175 | === removed file 'tools/abi_check.sh' |
176 | --- tools/abi_check.sh 2017-05-08 03:04:26 +0000 |
177 | +++ tools/abi_check.sh 1970-01-01 00:00:00 +0000 |
178 | @@ -1,315 +0,0 @@ |
179 | -#!/bin/bash |
180 | - |
181 | -set -e |
182 | - |
183 | -declare -A abi_var_for=(\ |
184 | - ["mircore"]="MIRCORE_ABI" \ |
185 | - ["mirclient"]="MIRCLIENT_ABI" \ |
186 | - ["mircommon"]="MIRCOMMON_ABI" \ |
187 | - ["mirplatform"]="MIRPLATFORM_ABI" \ |
188 | - ["mirserver"]="MIRSERVER_ABI" \ |
189 | - ["mircookie"]="MIRCOOKIE_ABI" \ |
190 | - ["mirclientplatformmesa"]="MIR_CLIENT_PLATFORM_ABI" \ |
191 | - ["mirplatformgraphicsmesakms"]="MIR_SERVER_GRAPHICS_PLATFORM_ABI" \ |
192 | - ["mirplatforminputevdev"]="MIR_SERVER_INPUT_PLATFORM_ABI" ) |
193 | - |
194 | -declare -A libtype=(\ |
195 | - ["mirclientplatformmesa"]="plugin-client" \ |
196 | - ["mirplatformgraphicsmesakms"]="plugin" \ |
197 | - ["mirplatforminputevdev"]="plugin" ) |
198 | - |
199 | -declare -A package_name=(\ |
200 | - ["mirclientplatformmesa"]="mir-client-platform-mesa" \ |
201 | - ["mirplatformgraphicsmesakms"]="mir-platform-graphics-mesa-kms" \ |
202 | - ["mirplatforminputevdev"]="mir-platform-input-evdev" ) |
203 | - |
204 | -declare -A libsoname=(\ |
205 | - ["mirclientplatformmesa"]="mir/client-platform/mesa" \ |
206 | - ["mirplatformgraphicsmesakms"]="mir/server-platform/graphics-mesa-kms" \ |
207 | - ["mirplatforminputevdev"]="mir/server-platform/input-evdev" ) |
208 | - |
209 | -declare -A headers_for=(\ |
210 | - ["mirclientplatformmesa"]="src/include/client/mir/client_platform_factory.h" \ |
211 | - ["mirplatformgraphicsmesakms"]="mirplatform/mir/graphics/platform.h" \ |
212 | - ["mirplatforminputevdev"]="mirplatform/mir/input" ) |
213 | - |
214 | -declare -A exclusions_for=(\ |
215 | - ["mirplatform"]="mir/input" \ |
216 | - ["mirserver"]="mir/input/input_device_hub.h" ) |
217 | - |
218 | -function print_help_and_exit() |
219 | -{ |
220 | - local prog=$(basename $0) |
221 | - |
222 | - local all_libs=${!abi_var_for[@]} |
223 | - local all_libs=${all_libs// /|} |
224 | - echo "Usage: $prog <libname> <abi_dump_dir> <source_dir>" |
225 | - echo "Runs a full ABI check on the given library." |
226 | - echo "" |
227 | - echo " libname=[${all_libs}]" |
228 | - exit 0 |
229 | -} |
230 | - |
231 | -function get_abi_number() |
232 | -{ |
233 | - local abi_var=${1} |
234 | - local search_dir=${2} |
235 | - grep -hR --include=CMakeLists.txt "set($abi_var [[:digit:]]\+)" ${search_dir}/src | grep -o '[[:digit:]]\+' |
236 | -} |
237 | - |
238 | -function is_plugin() |
239 | -{ |
240 | - local name=${1} |
241 | - if [[ ${libtype[${name}]} == "plugin"* ]]; |
242 | - then |
243 | - return 0 |
244 | - else |
245 | - return 1 |
246 | - fi |
247 | -} |
248 | - |
249 | -function package_abi_for() |
250 | -{ |
251 | - local name=${1} |
252 | - local pkg_name=lib${name} |
253 | - |
254 | - if is_plugin ${name}; |
255 | - then |
256 | - pkg_name=${package_name[${name}]} |
257 | - fi |
258 | - |
259 | - apt-cache show ${pkg_name}* | grep Package: | grep -o '[[:digit:]]\+' | sort -n -r | head -n 1 |
260 | -} |
261 | - |
262 | -function needs_abi_check() |
263 | -{ |
264 | - local name=${1} |
265 | - local source_dir=${2} |
266 | - local abi_var=${abi_var_for[${name}]} |
267 | - |
268 | - local old_abi=$(package_abi_for ${name}) |
269 | - local new_abi=$(get_abi_number ${abi_var} ${source_dir}) |
270 | - if [ -z "${old_abi}" ]; |
271 | - then |
272 | - echo "Failed to find old ${abi_var}" >&2 |
273 | - exit 1 |
274 | - fi |
275 | - |
276 | - if [ -z "${new_abi}" ]; |
277 | - then |
278 | - echo "Failed to find new ${abi_var}" >&2 |
279 | - exit 1 |
280 | - fi |
281 | - echo "Detected ${abi_var}_new=${new_abi}" |
282 | - echo "Detected ${abi_var}_old=${old_abi}" |
283 | - |
284 | - if [ "${old_abi}" == "${new_abi}" ]; |
285 | - then |
286 | - return 0 |
287 | - else |
288 | - return 1 |
289 | - fi |
290 | -} |
291 | - |
292 | -function prepare_pkg_dir() |
293 | -{ |
294 | - local pkg_dir=${1} |
295 | - |
296 | - # "partial" is required by apt-get |
297 | - mkdir -p ${pkg_dir}/partial |
298 | -} |
299 | - |
300 | -function package_name_for() |
301 | -{ |
302 | - local name=${1} |
303 | - local pkg_name=lib${name} |
304 | - |
305 | - if is_plugin ${name}; |
306 | - then |
307 | - pkg_name=${package_name[${name}]} |
308 | - fi |
309 | - |
310 | - local abi_number=$(package_abi_for ${name}) |
311 | - echo ${pkg_name}${abi_number} |
312 | -} |
313 | - |
314 | -function header_packages_for() |
315 | -{ |
316 | - local name=${1} |
317 | - local pkg=lib${name}-dev |
318 | - |
319 | - if is_plugin ${name}; |
320 | - then |
321 | - # Some plugin headers are defined in this package |
322 | - pkg="libmirplatform-dev" |
323 | - fi |
324 | - |
325 | - # Only interested in other mir dev package deps |
326 | - local dev_deps=$(apt-cache depends ${pkg} | grep Depends: | grep -o "\<libmir.*-dev\>"| tr '\n' ' ') |
327 | - |
328 | - # Workaround missing dependency |
329 | - if [ ${name} == "mirserver" ] || [ ${name} == "mirplatforminputevdev" ]; |
330 | - then |
331 | - dev_deps="${dev_deps} libmirclient-dev" |
332 | - fi |
333 | - |
334 | - echo "${pkg} ${dev_deps}" |
335 | -} |
336 | - |
337 | -function soname_for() |
338 | -{ |
339 | - local name=${1} |
340 | - local pkg_dir=${2} |
341 | - local arch=$(gcc -dumpmachine) |
342 | - local abi_number=$(package_abi_for ${name}) |
343 | - local so_name=lib${name} |
344 | - |
345 | - if is_plugin ${name}; |
346 | - then |
347 | - so_name=${libsoname[${name}]} |
348 | - fi |
349 | - |
350 | - echo ${pkg_dir}/usr/lib/${arch}/${so_name}.so.${abi_number} |
351 | -} |
352 | - |
353 | -function download_packages() |
354 | -{ |
355 | - local name=${1} |
356 | - local pkg_dir=${2} |
357 | - local pkg_name=$(package_name_for ${name}) |
358 | - local header_pkgs=$(header_packages_for ${name}) |
359 | - |
360 | - echo "Downloading: ${pkg_name} ${header_pkgs} for ${name}" |
361 | - apt-get -d -o Dir::Cache=${pkg_dir} -o Debug::NoLocking=1 install --reinstall -y ${pkg_name} ${header_pkgs} |
362 | -} |
363 | - |
364 | -function download_mir_source_into() |
365 | -{ |
366 | - local pkg_dir=${1} |
367 | - pushd ${pkg_dir} > /dev/null |
368 | - |
369 | - apt-get source --download-only mir |
370 | - mkdir -p mirsource |
371 | - |
372 | - local src_pkg=$(apt-cache showsrc mir | grep -o "mir.*orig.tar.gz" | head -n 1) |
373 | - tar xf ${src_pkg} -C mirsource --strip-components 1 |
374 | - |
375 | - popd > /dev/null |
376 | -} |
377 | - |
378 | -function unpack_debs() |
379 | -{ |
380 | - local pkg_dir=${1} |
381 | - |
382 | - for deb in ${pkg_dir}/archives/* ; |
383 | - do |
384 | - if [ ! -d ${deb} ] ; then |
385 | - echo "unpacking: ${deb}" |
386 | - dpkg -x ${deb} ${pkg_dir} |
387 | - fi |
388 | - done |
389 | -} |
390 | - |
391 | -function make_lib_descriptor() |
392 | -{ |
393 | - local name=${1} |
394 | - local pkg_dir=${2} |
395 | - local descriptor_file=${3} |
396 | - |
397 | - local abi_number=$(package_abi_for ${name}) |
398 | - local lib=$(soname_for ${name} ${pkg_dir}) |
399 | - |
400 | - local lib_includes= |
401 | - for path in $(ls ${pkg_dir}/usr/include); |
402 | - do |
403 | - lib_includes=${lib_includes}${pkg_dir}/usr/include/${path}"\n" |
404 | - done |
405 | - |
406 | - local lib_headers=${pkg_dir}/usr/include/${name} |
407 | - local lib_skip_headers= |
408 | - for path in ${exclusions_for[${name}]}; |
409 | - do |
410 | - lib_skip_headers=${lib_excludes}${pkg_dir}/usr/include/${name}/${path}"\n" |
411 | - done |
412 | - |
413 | - if [ "${libtype[${name}]}" == "plugin-client" ]; |
414 | - then |
415 | - download_mir_source_into ${pkg_dir} |
416 | - lib_headers=${pkg_dir}/mirsource/${headers_for[${name}]} |
417 | - elif [ "${libtype[${name}]}" == "plugin" ]; |
418 | - then |
419 | - lib_headers=${pkg_dir}/usr/include/${headers_for[${name}]} |
420 | - fi |
421 | - |
422 | - cp ${SOURCE_DIR}/tools/lib_descriptor.xml.skel ${descriptor_file} |
423 | - sed -i 's@${LIB_DESC_LIBS}@'${lib}'@g' ${descriptor_file} |
424 | - sed -i 's@${LIB_DESC_HEADERS}@'${lib_headers}'@g' ${descriptor_file} |
425 | - sed -i 's@${LIB_DESC_INCLUDE_PATHS}@'${lib_includes}'@g' ${descriptor_file} |
426 | - sed -i 's/${LIB_DESC_GCC_OPTS}/-std=c++14/g' ${descriptor_file} |
427 | - sed -i 's@${LIB_DESC_SKIP_HEADERS}@'${lib_skip_headers}'@g' ${descriptor_file} |
428 | - sed -i 's/${LIB_DESC_DEFINES}//g' ${descriptor_file} |
429 | -} |
430 | - |
431 | -function dump_abi_for_prev_release() |
432 | -{ |
433 | - local name=${1} |
434 | - local abi_dump_dir=${2} |
435 | - local abi_dump=${3} |
436 | - local pkg_dir=${abi_dump_dir}/prev-release-pkgs |
437 | - |
438 | - if [ ! -s "${abi_dump}" ]; |
439 | - then |
440 | - echo "Generating ${abi_dump}" |
441 | - prepare_pkg_dir ${pkg_dir} |
442 | - download_packages ${name} ${pkg_dir} |
443 | - unpack_debs ${pkg_dir} |
444 | - |
445 | - local descriptor_file=${pkg_dir}/${name}_desc.xml |
446 | - make_lib_descriptor ${name} ${pkg_dir} ${descriptor_file} |
447 | - |
448 | - abi-compliance-checker -gcc-path g++ -l ${name} -v1 previous -dump-path ${abi_dump} -dump-abi ${descriptor_file} |
449 | - fi |
450 | - |
451 | - if [ ! -s "${abi_dump}" ]; |
452 | - then |
453 | - echo "Error: failed to generate abi dump for ${name}" |
454 | - exit 1; |
455 | - fi |
456 | -} |
457 | - |
458 | -function run_abi_check() |
459 | -{ |
460 | - local name=${1} |
461 | - local old_dump=${2} |
462 | - local new_dump=${3} |
463 | - local skip_symbols_file=${4} |
464 | - |
465 | - if [ -f ${skip_symbols_file} ]; |
466 | - then |
467 | - local skip_symbols_opt="-skip-symbols ${skip_symbols_file}" |
468 | - fi |
469 | - |
470 | - echo "Running abi-compliance-checker for ${name}" |
471 | - abi-compliance-checker -l ${NAME} -old "${old_dump}" -new "${new_dump}" ${skip_symbols_opt} |
472 | -} |
473 | - |
474 | -if [ $# -ne 3 ]; |
475 | -then |
476 | - print_help_and_exit |
477 | -fi |
478 | - |
479 | -NAME=${1} |
480 | -ABI_DUMP_DIR=${2} |
481 | -SOURCE_DIR=${3} |
482 | - |
483 | -OLD_ABI_DUMP_FILE=${ABI_DUMP_DIR}/${NAME}_prev.abi.tar.gz |
484 | -NEW_ABI_DUMP_FILE=${ABI_DUMP_DIR}/${NAME}_next.abi.tar.gz |
485 | -SKIP_SYMBOLS_FILE=${SOURCE_DIR}/tools/abi-check-${NAME}-skip-symbols |
486 | - |
487 | -if needs_abi_check ${NAME} ${SOURCE_DIR}; |
488 | -then |
489 | - dump_abi_for_prev_release ${NAME} ${ABI_DUMP_DIR} ${OLD_ABI_DUMP_FILE} |
490 | - run_abi_check ${NAME} ${OLD_ABI_DUMP_FILE} ${NEW_ABI_DUMP_FILE} ${SKIP_SYMBOLS_FILE} |
491 | -else |
492 | - echo "No need for abi-compliance-checker, ABI has already been bumped for ${NAME}" |
493 | -fi |
494 | |
495 | === modified file 'tools/setup-partial-armhf-chroot.sh' |
496 | --- tools/setup-partial-armhf-chroot.sh 2017-05-08 03:04:26 +0000 |
497 | +++ tools/setup-partial-armhf-chroot.sh 2017-10-11 16:02:41 +0000 |
498 | @@ -10,9 +10,9 @@ |
499 | usage() { |
500 | echo "Usage: ${name} [options] mychroot-dir" |
501 | echo "options:" |
502 | - echo " -a arch Select architecture, i.e. armhf, arm64, ppc... Default is armhf" |
503 | - echo " -d dist Select distribution, i.e. vivid, wily. Default is vivid" |
504 | - echo " -r rep Select an additional repository for bootstrap. Default is none" |
505 | + echo " -a arch Select architecture, i.e. armhf, arm64, ppc... Default is armhf" |
506 | + echo " -d dist Select distribution, i.e. vivid, wily. Default is vivid" |
507 | + echo " -r rep Select an additional repository for bootstrap. Default is none" |
508 | echo |
509 | echo "please supply at least a directory to create partial chroot in. (eg, ./setup-partial-armhf-chroot.sh mychroot-dir)" |
510 | } |
511 | @@ -39,7 +39,7 @@ |
512 | sources="$sources source$sourceid" |
513 | ;; |
514 | :) |
515 | - echo "Option -$OPTARG requires an argument" |
516 | + echo "Option -$OPTARG requires an argument" |
517 | usage |
518 | exit 1 |
519 | ;; |
520 | @@ -48,7 +48,7 @@ |
521 | exit 0 |
522 | ;; |
523 | \?) |
524 | - echo "Invalid option: -$OPTARG" |
525 | + echo "Invalid option: -$OPTARG" |
526 | usage |
527 | exit 1 |
528 | ;; |
529 | @@ -66,7 +66,7 @@ |
530 | echo "creating phablet-compatible $arch partial chroot for mir compilation in directory ${directory}" |
531 | |
532 | if [ ! -d ${directory} ]; then |
533 | - mkdir -p ${directory} |
534 | + mkdir -p ${directory} |
535 | fi |
536 | |
537 | DEBCONTROL=$(pwd)/../debian/control |
538 | @@ -83,7 +83,7 @@ |
539 | # dpkg-checkbuilddeps returns non-zero when dependencies are not met and the list is sent to stderr |
540 | builddeps=$(dpkg-checkbuilddeps -a ${arch} --admindir=. ${DEBCONTROL} 2>&1 ) |
541 | if [ $? -eq 0 ] ; then |
542 | - exit 0 |
543 | + exit 0 |
544 | fi |
545 | echo "${builddeps}" |
546 | |
547 | @@ -97,7 +97,6 @@ |
548 | -e 's/Unmet build dependencies://g' \ |
549 | -e 's/build-essential:native//g') |
550 | builddeps=$(echo ${builddeps} | sed 's/([^)]*)//g') |
551 | -builddeps=$(echo ${builddeps} | sed -e 's/abi-compliance-checker//g') |
552 | builddeps=$(echo ${builddeps} | sed -e 's/multistrap//g') |
553 | |
554 | case ${arch} in |
555 | @@ -143,7 +142,7 @@ |
556 | done |
557 | |
558 | # Fakeroot is required to stop the apt update command giving up |
559 | -fakeroot multistrap -f mstrap.conf |
560 | +fakeroot multistrap -f mstrap.conf |
561 | |
562 | rm -f var/cache/apt/archives/lock |
563 | |
564 | @@ -163,4 +162,4 @@ |
565 | ln -sf $(pwd)$(readlink ${broken_symlink}) ${broken_symlink} |
566 | done |
567 | |
568 | -popd > /dev/null |
569 | +popd > /dev/null |
PASSED: Continuous integration, rev:4283 /mir-jenkins. ubuntu. com/job/ mir-ci/ 3722/ /mir-jenkins. ubuntu. com/job/ build-mir/ 5107 /mir-jenkins. ubuntu. com/job/ build-0- fetch/5345 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 5332 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 5332 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/5332 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 5151/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/5151/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 5151/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 5151/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/5151/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 5151/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/5151/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 5151 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 5151/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 3722/rebuild
https:/