mirror of
https://github.com/oasislinux/oasis.git
synced 2026-02-05 11:33:57 +01:00
72 lines
2.1 KiB
Lua
72 lines
2.1 KiB
Lua
cflags{
|
|
'-Wall',
|
|
'-I $dir',
|
|
'-I pkg/openbsd/include',
|
|
}
|
|
|
|
lib('libcommon.a', [[
|
|
answer.c axfr.c buffer.c configlexer.c configparser.c dname.c dns.c
|
|
edns.c iterated_hash.c lookup3.c namedb.c nsec3.c options.c packet.c
|
|
query.c rbtree.c radtree.c rdata.c region-allocator.c rrl.c tsig.c
|
|
tsig-openssl.c udb.c udbradtree.c udbzone.c util.c
|
|
$builddir/pkg/openbsd/libbsd.a
|
|
]])
|
|
|
|
lib('libnsd.a', [[
|
|
dbaccess.c dbcreate.c difffile.c ipc.c mini_event.c netio.c server.c
|
|
zlexer.c zonec.c zparser.c
|
|
xfrd-disk.c xfrd-notify.c xfrd-tcp.c xfrd.c remote.c
|
|
libcommon.a.d
|
|
]])
|
|
|
|
exe('nsd', {'nsd.c', 'libnsd.a.d'})
|
|
exe('nsd-checkconf', {'nsd-checkconf.c', 'libcommon.a.d'})
|
|
exe('nsd-checkzone', {'nsd-checkzone.c', 'libnsd.a.d'})
|
|
|
|
local cfg = {
|
|
logfile='/var/log/nsd.log', -- just used for man page example
|
|
chrootdir='',
|
|
ratelimit_default='on',
|
|
}
|
|
table.insert(pkg.inputs.gen, '$dir/config.h')
|
|
for line in io.lines(pkg.dir..'/config.h') do
|
|
local var, val = line:match('^#define (%g+) "(%g+)"$')
|
|
if var then
|
|
cfg[var:lower()] = val
|
|
elseif line:find('^#define RATELIMIT') then
|
|
cfg.ratelimit = 'on'
|
|
elseif line:find('^#define RATELIMIT_DEFAULT_OFF') then
|
|
cfg.ratelimit_default = 'off'
|
|
end
|
|
end
|
|
local subst = {
|
|
'-e s,@configdir@,'..cfg.configdir..',g',
|
|
'-e s,@zonesdir@,'..cfg.zonesdir..',g',
|
|
'-e s,@chrootdir@,'..cfg.chrootdir..',g',
|
|
'-e s,@pidfile@,'..cfg.pidfile..',g',
|
|
'-e s,@logfile@,'..cfg.logfile..',g',
|
|
'-e s,@dbfile@,'..cfg.dbfile..',g',
|
|
'-e s,@xfrdir@,'..cfg.xfrdir..',g',
|
|
'-e s,@xfrdfile@,'..cfg.xfrdfile..',g',
|
|
'-e s,@zonelistfile@,'..cfg.zonelistfile..',g',
|
|
'-e s,@nsdconfigfile@,'..cfg.configfile..',g',
|
|
'-e s,@ratelimit_default@,'..cfg.ratelimit_default..',g',
|
|
'-e s,@user@,'..cfg.user..',g',
|
|
}
|
|
if not cfg.ratelimit then
|
|
table.insert(subst, '-e /rrlstart/,/rrlend/d')
|
|
end
|
|
set('subst', subst)
|
|
local function substman(file)
|
|
build('sed', '$outdir/'..file, '$srcdir/'..file..'.in', {expr='$subst'})
|
|
man{'$outdir/'..file}
|
|
end
|
|
|
|
for _, cmd in ipairs{'nsd', 'nsd-checkconf', 'nsd-checkzone'} do
|
|
file('bin/'..cmd, '755', '$outdir/'..cmd)
|
|
substman(cmd..'.8')
|
|
end
|
|
substman('nsd.conf.5')
|
|
|
|
fetch 'curl'
|