Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • selsky/ntpsec
  • armbiant/gnome-ntpsec
  • smallm/ntpsec
  • devicenull/ntpsec
  • paelzer/ntpsec
  • mvangund/ntpsec
  • fe051/ntpsec
  • ollie314/ntpsec
  • rlaager/ntpsec
  • fhgwright/ntpsec
  • phirephly/ntpsec
  • Omnifarious/ntpsec
  • ghane/ntpsec
  • antranigv/ntpsec
  • pakarsolusitelematika/ntpsec
  • ianbruene/ntpsec
  • wingel/ntpsec
  • katyaBeck/ntpsec
  • akumiszcza/ntpsec
  • rouing/ntpsec
  • NTPsec/ntpsec
  • mlichvar/ntpsec
  • ktims/ntpsec
  • fararano.kevin/ntpsec
  • phillipcharleshart/ntpsec
  • SPACE001/ntpsec
  • thomasdstewart/ntpsec
  • testsleeek/ntpsec
  • NeatNerdPrime/ntpsec
  • marcinbrodowski35/ntpsec
  • AbbasDev/ntpsec
  • jurgen.xhelo/ntpsec
  • Wan10/ntpsec
  • BrnoPCmaniak/ntpsec
  • anastrophe/ntpsec
  • georgyo/ntpsec
  • mikie.simpson/ntpsec
  • OptimalRanging/ntpsec
  • toofishes/ntpsec
  • Jandrusk/ntpsec
  • sdwalker/ntpsec
  • mnordhoff/ntpsec
  • cjmayo/ntpsec
  • micromax/ntpsec
  • tychotithonus/ntpsec
  • ddrown/ntpsec
  • brendanbank/ntpsec
  • jh23453/ntpsec
  • samifarin/ntpsec
  • miller24joseph/ntpsec
  • AZDNice/ntpsec
  • lnceballos/ntpsec
  • gabriel-ku/ntpsec
  • psreport/ntpsec
  • thesamesam/ntpsec
  • alexk7/ntpsec
  • RRZEFox/ntpsec
  • m_by/ntpsec
  • jameshilliard/ntpsec
  • daemoneye/ntpsec
  • xgerault/ntpsec
  • permanent-vacations/ntpsec
  • o.zeynalpour/ntpsec
  • ravi.love.nippy/ntpsec
  • jhamlin96/ntpsec
  • abaehr/ntpsec
  • accidentallythecable-public/forks/ntpsec
  • james.jstroud/ntpsec
  • youwt19821020/ntpsec-no-root
  • jamesb_fe80/ntpsec
  • demsjf8/ntpsec
  • yegorich/ntpsec
  • 1963bib/ntpsec
  • armbiant/gnome-ntp
  • chucalu/ntpsec
  • folkertvanheusden/ntpsec
  • mktyler/ntpsec
  • 19bcs2794/ntpsec
  • LOCNNIL/ntpsec
  • lifeofguenter/ntpsec
  • trv-n/ntpsec-trimble-3
  • szepeviktor/ntpsec
  • lightswitch05/ntpsec
  • m_msft/ntpsec
84 results
Show changes
Commits on Source (5)
......@@ -40,7 +40,9 @@ alpine-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/alpine
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
alpine-refclocks:
<<: *job_definition
......@@ -52,7 +54,9 @@ alpine-edge-basic:
<<: *job_definition_allow_failure
image: $CI_REGISTRY/ntpsec/ntpsec/alpine-edge
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
alpine-edge-refclocks:
<<: *job_definition_allow_failure
......@@ -105,7 +109,9 @@ debian-oldstable-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/debian-oldstable
script:
- python3 ./waf configure --disable-doc --disable-manpage --disable-nts build
- python3 ./waf configure --disable-doc --disable-manpage --disable-nts build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
debian-oldstable-refclocks:
<<: *job_definition
......@@ -117,7 +123,9 @@ debian-stable-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
debian-stable-refclocks:
<<: *job_definition
......@@ -129,7 +137,9 @@ debian-testing-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/debian-testing
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
debian-testing-refclocks:
<<: *job_definition
......@@ -141,7 +151,9 @@ debian-unstable-basic:
<<: *job_definition_allow_failure
image: $CI_REGISTRY/ntpsec/ntpsec/debian-unstable
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
debian-unstable-refclocks:
<<: *job_definition_allow_failure
......@@ -153,7 +165,9 @@ ubuntu-latest-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-latest
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
ubuntu-latest-refclocks:
<<: *job_definition
......@@ -165,7 +179,9 @@ ubuntu-rolling-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-rolling
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
ubuntu-rolling-refclocks:
<<: *job_definition
......@@ -177,7 +193,9 @@ ubuntu-devel-basic:
<<: *job_definition_allow_failure
image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-devel
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
ubuntu-devel-refclocks:
<<: *job_definition_allow_failure
......@@ -189,6 +207,10 @@ freebsd-11-basic:
<<: *job_definition
script:
- python ./waf configure --disable-doc --disable-manpage --disable-nts build
- DESTDIR=build/prison python ./waf install
- DESTDIR=./prison python ./waf install
- DESTDIR=../prison python ./waf install
- rm -rvf build/prison ./prison ../prison
tags:
- freebsd-11
rules:
......@@ -207,6 +229,10 @@ freebsd-12-basic:
<<: *job_definition
script:
- python ./waf configure --disable-doc --disable-manpage build
- DESTDIR=build/prison python ./waf install
- DESTDIR=./prison python ./waf install
- DESTDIR=../prison python ./waf install
- rm -rvf build/prison ./prison ../prison
tags:
- freebsd-12
rules:
......@@ -225,7 +251,9 @@ centos-latest-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/centos-latest
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
centos-latest-refclocks:
<<: *job_definition
......@@ -237,7 +265,9 @@ fedora-latest-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/fedora-latest
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
fedora-latest-refclocks:
<<: *job_definition
......@@ -249,7 +279,9 @@ fedora-rawhide-basic:
<<: *job_definition_allow_failure
image: $CI_REGISTRY/ntpsec/ntpsec/fedora-rawhide
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
fedora-rawhide-refclocks:
<<: *job_definition_allow_failure
......@@ -281,7 +313,9 @@ clang-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/clang
script:
- python3 ./waf configure --disable-doc --disable-manpage --check-c-compiler=clang build
- python3 ./waf configure --disable-doc --disable-manpage --check-c-compiler=clang build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
clang-refclocks:
<<: *job_definition
......@@ -293,7 +327,9 @@ openSUSE-leap-basic:
<<: *job_definition
image: $CI_REGISTRY/ntpsec/ntpsec/opensuse-leap
script:
- python3 ./waf configure --disable-doc --disable-manpage --disable-nts build
- python3 ./waf configure --disable-doc --disable-manpage --disable-nts build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
openSUSE-leap-refclocks:
<<: *job_definition
......@@ -305,7 +341,9 @@ openSUSE-tumbleweed-basic:
<<: *job_definition_allow_failure
image: $CI_REGISTRY/ntpsec/ntpsec/opensuse-tumbleweed
script:
- python3 ./waf configure --disable-doc --disable-manpage build
- python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- python3 ./waf install
- python3 ./waf uninstall
openSUSE-tumbleweed-refclocks:
<<: *job_definition_allow_failure
......@@ -351,6 +389,12 @@ gentoo-basic:
image: $CI_REGISTRY/ntpsec/ntpsec/gentoo
script:
- python ./waf configure --disable-doc --disable-manpage build
- DESTDIR=build/prison python ./waf install
- DESTDIR=./prison python ./waf install
- DESTDIR=../prison python ./waf install
- python ./waf install
- python ./waf uninstall
- rm -rvf build/prison ./prison ../prison
gentoo-refclocks:
<<: *job_definition
......@@ -363,6 +407,12 @@ gentoo-hardened-basic:
image: $CI_REGISTRY/ntpsec/ntpsec/gentoo-hardened
script:
- python ./waf configure --disable-doc --disable-manpage build
- DESTDIR=build/prison python ./waf install
- DESTDIR=./prison python ./waf install
- DESTDIR=../prison python ./waf install
- python ./waf install
- python ./waf uninstall
- rm -rvf build/prison ./prison ../prison
gentoo-hardened-refclocks:
<<: *job_definition
......@@ -387,7 +437,13 @@ coverity-scan:
macos-basic:
<<: *job_definition
script:
- PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig python ./waf configure --disable-doc --disable-manpage build
- PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig python ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
- DESTDIR=build/prison python ./waf install
- DESTDIR=./prison python ./waf install
- DESTDIR=../prison python ./waf install
- python ./waf install
- python ./waf uninstall
- rm -rvf build/prison ./prison ../prison
tags:
- macos
rules:
......
......@@ -34,6 +34,7 @@ bool ntpc_step_systime(double);
/* Don't include anything from OpenSSL */
const char *version = NTPSEC_VERSION_EXTENDED;
const char *progname = "libntpc";
int SYS_TYPE = TYPE_SYS;
int PEER_TYPE = TYPE_PEER;
......
......@@ -43,6 +43,10 @@ def _dlo(paths):
for ntpc_path in paths:
try:
lib = ctypes.CDLL(ntpc_path, use_errno=True)
wrap_version = "@NTPSEC_VERSION_EXTENDED@"
clib_version = ctypes.c_char_p.in_dll(lib, 'version').value
if clib_version != wrap_version:
sys.stderr.write("ntp.ntpc wrong version %s !== %s" % (clib_version, wrap_version))
return lib
except OSError:
pass
......
......@@ -12,12 +12,10 @@ import ntp.util
version = ntp.util.stdversion()
Popen = waflib.Utils.subprocess.Popen
cmd_smap = {
("main/ntpd/ntpd", "--version"): "ntpd %s\n" % version,
}
cmd_map = {
("main/ntpclients/ntpleapfetch", "--version"): "ntpleapfetch %s\n"
% version,
("main/ntpd/ntpd", "--version"): "ntpd %s\n" % version,
("main/ntpfrob/ntpfrob", "-V"): "ntpfrob %s\n" % version,
("main/ntptime/ntptime", "-V"): "ntptime %s\n" % version
}
......@@ -48,45 +46,37 @@ def addLog(color, text):
test_logs.append((color, text))
def bin_test_summary(_):
def bin_test_summary(ctx):
"""Print out the log."""
for i in test_logs:
waflib.Logs.pprint(i[0], i[1])
def run(cmd, reg, pythonic, apath=None, environ=None):
def run(cmd, expected, pythonic):
"""Run an individual non-python test."""
check = False
odir = apath if apath else waflib.Context.out_dir
environ = {} if environ is None else environ
if apath:
cmd = [os.sep.join(['.'] + cmd[0].split(os.sep)[-1:])] + list(cmd[1:])
prefix = "running: " + " ".join(cmd)
if not os.path.exists("%s/%s" % (odir, cmd[0])):
addLog("YELLOW", '"%s" SKIPPING (does not exist)' % "%s/%s" % (odir, cmd[0]))
return None
if not apath:
if pythonic:
cmd = [sys.executable] + list(cmd)
prefix = "running: " + " ".join(cmd)
p = Popen(cmd, universal_newlines=True,
env=environ, cwd=odir,
if not os.path.exists("%s/%s" % (waflib.Context.out_dir, cmd[0])):
addLog("YELLOW", prefix + " SKIPPING (does not exist)")
return False
if pythonic:
cmd = [sys.executable] + list(cmd)
p = Popen(cmd, env={'PYTHONPATH': '%s/main/tests/pylib' %
waflib.Context.out_dir},
universal_newlines=True,
stdin=waflib.Utils.subprocess.PIPE,
stdout=waflib.Utils.subprocess.PIPE,
stderr=waflib.Utils.subprocess.PIPE)
stderr=waflib.Utils.subprocess.PIPE,
cwd=waflib.Context.out_dir)
stdout, stderr = p.communicate()
if reg in (stdout, stderr):
check = True
if check:
if expected in (stdout, stderr):
addLog("GREEN", prefix + " OK")
return True
addLog("RED", prefix + " FAILED")
addLog("PINK", "Expected: " + reg)
addLog("PINK", "Expected: " + expected)
if stdout:
addLog("PINK", "Got (stdout): " + stdout)
if stderr:
......@@ -97,19 +87,6 @@ def run(cmd, reg, pythonic, apath=None, environ=None):
def cmd_bin_test(ctx):
"""Run a suite of binary tests."""
fails = 0
skips = 0
env = {}
destdir = os.path.abspath(os.environ.get('DESTDIR', '/'))
path = spath = None
if ctx.cmd == 'install':
pypath = destdir + ctx.env.PYTHONARCHDIR # + os.sep + 'ntp'
env = {'PYTHONPATH': pypath} if destdir != '/' else {}
path = destdir + os.sep if destdir != '/' else '/'
spath = path + ctx.env.SBINDIR[1:] + os.sep
path = path + ctx.env.BINDIR[1:] + os.sep
addLog('BLUE', 'Following relative to: %s' % spath)
if ctx.env['PYTHON_ARGPARSE']:
cmd_map_python.update(cmd_map_python_argparse)
......@@ -117,34 +94,17 @@ def cmd_bin_test(ctx):
if ctx.env['PYTHON_CURSES']:
cmd_map_python.update(cmd_map_python_curses)
for cmd in sorted(cmd_smap):
status = run(cmd, cmd_smap[cmd], False, spath, env)
fails = fails + 1 if status is False else fails
skips = skips + 1 if status is None else skips
if ctx.cmd == 'install':
addLog('BLUE', 'Following relative to: %s' % path)
for cmd in sorted(cmd_map):
status = run(cmd, cmd_map[cmd], False, path, env)
fails = fails + 1 if status is False else fails
skips = skips + 1 if status is None else skips
if not run(cmd, cmd_map[cmd], False):
fails += 1
for cmd in sorted(cmd_map_python):
status = run(cmd, cmd_map_python[cmd], True, path, env)
fails = fails + 1 if status is False else fails
skips = skips + 1 if status is None else skips
if not run(cmd, cmd_map_python[cmd], True):
fails += 1
if skips > 0 or fails > 0:
if 1 == fails:
bin_test_summary(ctx)
if skips == 1:
waflib.Logs.warn("1 binary test skipped!")
elif skips > 1:
waflib.Logs.warn("%d binary tests skipped!" % skips)
if fails >= 7:
pass
if fails == 1:
ctx.fatal("1 binary test failed!")
elif fails > 1:
elif 1 < fails:
bin_test_summary(ctx)
ctx.fatal("%d binary tests failed!" % fails)
......@@ -169,6 +169,10 @@ def configure(ctx):
ctx.start_msg("systemd unit directory:")
ctx.end_msg(ctx.env.SYSTEMD_systemdsystemunitdir)
ctx.env.BIN_GIT = False
if os.path.exists(".git"):
ctx.find_program("git", var="BIN_GIT", mandatory=False)
source_date_epoch = os.getenv('SOURCE_DATE_EPOCH', None)
if ctx.options.build_epoch is not None:
build_epoch = ctx.options.build_epoch
......@@ -179,22 +183,26 @@ def configure(ctx):
build_epoch = int(source_date_epoch)
ctx.define("BUILD_EPOCH", build_epoch,
comment="Using SOURCE_DATE_EPOCH")
elif ctx.env.BIN_GIT:
cmd = ctx.env.BIN_GIT + shlex.split("log -1 --pretty=%ct")
build_epoch = int(ctx.cmd_and_log(cmd).strip())
ctx.define("BUILD_EPOCH", build_epoch, comment="last git commit")
else:
build_epoch = int(time.time())
ctx.define("BUILD_EPOCH", build_epoch, comment="Using default")
build_epoch_formatted = datetime.utcfromtimestamp(build_epoch).strftime(
"%Y-%m-%dT%H:%M:%SZ")
if ((os.path.exists(".git") and
ctx.find_program("git", var="BIN_GIT", mandatory=False))):
cmd = ctx.env.BIN_GIT + shlex.split("log -1 --format=%h")
if ctx.env.BIN_GIT:
cmd = ctx.env.BIN_GIT + shlex.split("describe --dirty")
git_short_hash = ctx.cmd_and_log(cmd).strip()
git_short_hash = '-'.join(git_short_hash.split('-')[1:])
ctx.env.NTPSEC_VERSION = "%s+" % ntpsec_release
ctx.env.NTPSEC_VERSION_EXTENDED = ("%s+ %s (git rev %s)" %
ctx.env.NTPSEC_VERSION_EXTENDED = ("%s+%s %s" %
(ntpsec_release,
build_epoch_formatted,
git_short_hash))
git_short_hash,
build_epoch_formatted))
else:
ctx.env.NTPSEC_VERSION = "%s" % ntpsec_release
ctx.env.NTPSEC_VERSION_EXTENDED = ("%s %s" % (ntpsec_release,
......