Commit Graph

15 Commits

Author SHA1 Message Date
92e347b556 Add copyright headers to some files that lack them
We do our best to keep copyright headers up to date, yet
git history provides better information on this subject
and is more accurate than copyright headers.
2018-12-24 23:46:43 +00:00
7b0d371b3f ci: install kernel headers after compiler dependencies
* ci/install-dependencies.sh: Install kernel headers after compiler
dependencies to avoid a needless attempt to install $common_packages.
2018-08-19 10:26:18 +00:00
f0ec4e696c ci: fix kernel headers version diagnostics
* ci/run-build-and-tests.sh: Honor $CPPFLAGS when printing
kernel headers version.
2018-08-19 10:26:18 +00:00
610a776a74 ci: robustify network-related operations
Reduce false positives by wrapping network-related operations into a loop.

* ci/install-dependencies.sh (retry_if_failed): New function.
Use it to invoke apt-get update, apt-get install, git clone,
add-apt-repository, and pip install.
2018-07-03 13:23:19 +00:00
762ee767f0 travis: use kernel headers from v4.17
There is too much noise when using unreleased kernel uapi.

* ci/install-dependencies.sh (clone_repo): Add optional "branch"
argument, pass it to "git clone".
($KHEADERS): Pass $KBRANCH as branch argument of clone_repo.
* .travis.yml (matrix): Specify KBRANCH=v4.17 for
KHEADERS=torvalds/linux.
2018-06-06 15:10:37 +00:00
Eugene Syromyatnikov
c802a67751 ci: install libbluetooth-dev
* ci/install-dependencies.sh (common_packages): Add libbluetooth-dev.
2018-05-08 14:25:27 +00:00
c9ace844ba build: rewrite libdw detection without pkg-config
pkg-config expected to be more convenient way to configure libdw,
but in practice it appeared to be less portable than good old
AC_CHECK_HEADERS and AC_CHECK_LIB.

* ci/install-dependencies.sh (common_packages): Remove pkg-config.
(STACKTRACE == "libdw"): Do not install libz-dev and liblzma-dev.
* debian/control (Build-Depends): Remove pkg-config.
* m4/st_libdw.m4 (st_ARG_LIBDW, st_LIBDW): Rewrite without pkg-config.
2018-05-05 14:38:38 +00:00
ee5d88c5b6 ci: add more variants of unwinder to test matrices
Check x86_64 builds with libdw, with libunwind, and without stacktrace.
As Travis CI doesn't provide a suitable libdw, do not test libdw there.

* ci/install-dependencies.sh (common_packages): Remove libdw-dev.
Install libdw-dev or libunwind8-dev depending on $STACKTRACE.
* ci/run-build-and-tests.sh: Specify --with-libdw=yes,
--with-libunwind=yes, or --without-stacktrace depending on $STACKTRACE.
* .gitlab-ci.yml (gcc-x86_64): Rename to gcc-x86_64-libdw,
add STACKTRACE=libdw.
(gcc-x86): Rename to gcc-x86-nounwind, add STACKTRACE=no.
(clang-x86_64): Rename to clang-x86_64-libdw, add STACKTRACE=libdw.
(clang-x86): Rename to clang-x86-nounwind, add STACKTRACE=no.
(gcc-x86_64-libunwind, gcc-x86_64-nounwind, gcc-x86-nounwind,
clang-x86_64-libunwind, clang-x86_64-nounwind, clang-x86-nounwind):
New test matrix entries.
* .travis.yml: Add STACKTRACE=libunwind to all x86_64 test matrix
entries except musl-gcc, add STACKTRACE=no to other matrix entries,
add test matrix entries with STACKTRACE=no variants on x86_64.
2018-05-04 23:13:45 +00:00
9165da9f68 Use libdw-based unwinder in ci and packages
* ci/install-dependencies.sh (common_packages): Add pkg-config,
replace libunwind8-dev with libdw-dev.
* debian/control (Build-Depends) [amd64]: Add pkg-config,
replace libunwind-dev with libdw-dev.
* debian/rules (build-udeb/Makefile): Replace --without-libunwind
with --without-stacktrace.
* strace.spec.in (buildrequires_libunwind_devel): Rename
to buildrequires_stacktrace, replace libunwind-devel with
either elfutils-devel or libdw-devel.
2018-04-11 22:01:37 +00:00
Eugene Syromyatnikov
a02a583b3f strace: handle possible NULL from localtime() call
* strace.c (printleader): Print raw tv_sec value if localtime() returned
NULL.
* tests/localtime.c: New file.
* tests/localtime.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add localtime.
(MISC_TESTS): Add localtime.test.
(localtime_LDADD): New variable.
* tests/.gitignore: Add localtime.
* ci/install-dependencies.sh (common_packages): Add faketime.

Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
Closes: https://github.com/strace/strace/issues/42
2018-04-04 20:32:42 +00:00
Eugene Syromyatnikov
bf4aaabfed ci: install libunwind8-dev
While in debian/control we use libunwind-dev in Build-Depends, in case
of ci we have to be more conservative and use the name portable across
different ci implementations.

* ci/install-dependencies.sh (common_packages): Add libunwind8-dev.

Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
2018-03-26 13:10:06 +00:00
595fd1a2b2 ci: clone musl from the local server
Assume that strace project on the local server contains an appropriate
musl repository, use this repository instead of hardcoded github
location.

* ci/install-dependencies.sh (clone_repo): Use local server by default.
(musl-gcc): Un-hardcode the location of musl repository.
2018-03-13 15:12:14 +00:00
8727472041 ci: refactor cloning of additional repositories
* ci/install-dependencies.sh (clone_repo): New function.
Use it instead of direct invocations of git clone.
2018-03-13 15:12:14 +00:00
8d00c56663 ci: extend error diagnostics when configure invocation fails
* ci/run-build-and-tests.sh: Include $CC -dumpspecs output in addition
to config.log when ./configure fails.
2018-03-13 15:12:14 +00:00
8c00b612e5 ci: rename travis-build.sh and travis-install.sh scripts
* travis-build.sh: Rename to ci/run-build-and-tests.sh, all callers
updated.
* travis-install.sh: Rename to ci/install-dependencies.sh, all callers
updated.
2018-03-13 13:19:02 +00:00