Mir

Merge lp:~albaguirre/mir/remove-abi-compliance-checker into lp:mir

Proposed by Alberto Aguirre on 2017-10-11
Status: Merged
Approved by: Alan Griffiths on 2017-10-12
Approved revision: 4283
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
Reviewer Review Type Date Requested Status
Alan Griffiths 2017-10-11 Approve on 2017-10-11
Mir CI Bot continuous-integration Approve on 2017-10-11
Review via email: mp+332138@code.launchpad.net

Commit message

Remove abi-compliance-checker

Remove unused abi-compliance-checker related code

To post a comment you must log in.
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:4283
https://mir-jenkins.ubuntu.com/job/mir-ci/3722/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/5107
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5345
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/5332
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/5332
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/5332
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=artful/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=artful/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=artful/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/5151/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5151
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/5151/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3722/rebuild

review: Approve (continuous-integration)
Alan Griffiths (alan-griffiths) wrote :

Sure

review: Approve

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

Subscribers

People subscribed via source and target branches