diff -Nru natlog-1.02.00/build natlog-1.02.03/build --- natlog-1.02.00/build 2012-07-16 18:39:28.000000000 +0000 +++ natlog-1.02.03/build 2015-12-11 16:18:57.000000000 +0000 @@ -1,22 +1,54 @@ #!/usr/bin/icmake -qt/tmp/bisonc++ +#define LOGENV "NATLOG" + +string + g_logPath = getenv(LOGENV)[1], + g_cwd = chdir(""); // initial working directory, ends in / + +int g_echo = ON; + #include "icmconf" +#include "icmake/cuteoln" +#include "icmake/backtick" #include "icmake/setopt" #include "icmake/run" #include "icmake/md" +#include "icmake/findall" +#include "icmake/logfile" +#include "icmake/logzip" +#include "icmake/uninstall" +#include "icmake/loginstall" #include "icmake/special" - +#include "icmake/pathfile" +#include "icmake/precompileheaders" #include "icmake/clean" #include "icmake/manpage" #include "icmake/install" - -string g_cwd = chdir(""); // initial working directory +#include "icmake/github" void main(int argc, list argv) { string option; string strip; + int idx; + + for (idx = listlen(argv); idx--; ) + { + if (argv[idx] == "-q") + { + g_echo = OFF; + argv -= (list)"-q"; + } + else if (argv[idx] == "-P") + { + g_gch = 0; + argv -= (list)"-P"; + } + } + + echo(g_echo); option = argv[1]; @@ -26,20 +58,24 @@ if (option == "distclean") clean(1); + if (option != "") + special(); + if (option == "install") install(argv[2], argv[3]); - if (option != "") - special(); + if (option == "uninstall") + uninstall(argv[2]); - if (option == "sourceforge") - exit(0); + if (option == "github") + github(); if (option == "man") manpage(); if (option == "library") { + precompileHeaders(); system("icmbuild library"); exit(0); } @@ -49,19 +85,24 @@ if (option == "program") { + precompileHeaders(); system("icmbuild program " + strip); exit(0); } - if (option == "oxref") + if (option == "xref") { + precompileHeaders(); system("icmbuild program " + strip); run("oxref -fxs tmp/lib" LIBRARY ".a > " PROGRAM ".xref"); exit(0); } - printf("Usage: build [-p] what\n" - "Where `what' is one of:\n" + printf("Usage: build [-q -P] what\n" + "Where\n" + " [-q]: run quietly, do not show executed commands\n" + " [-P]: do not use precompiled headers\n" + "`what' is one of:\n" " clean - clean up remnants of previous " "compilations\n" " distclean - clean + fully remove tmp/\n" @@ -69,18 +110,21 @@ " man - build the man-page (requires Yodl)\n" " program [strip] - build " PROGRAM " (optionally strip the\n" " executable)\n" - " oxref [strip] - same a `program', also builds xref file\n" + " xref [strip] - same a `program', also builds xref file\n" " using oxref\n" - " install program [path] - install the program at `path'\n" - " (by default below `" BINARY "')\n" - " install man [base] - install the man pages below `base'\n" - " (by default below `" MAN "')\n" - " install std [base] - install standard docs below `base'\n" - " (by default below `" STD "')\n" - " sourceforge - prepare sourceforge's index update\n" - "\n" - "If the environment variable DRYRUN is defined, no commands are\n" - "actually executed\n" + " install selection [base] - to install the software in the \n" + " locations defined in the INSTALL.im file,\n" + " optionally below base\n" + " selection can be\n" + " x, to install all components,\n" + " or a combination of:\n" + " b (binary program),\n" + " d (documentation),\n" + " m (man-page)\n" + " uninstall logfile - remove files and empty directories listed\n" + " in the file 'logfile'\n" + " github - prepare github's gh-pages update\n" + " (internal use only)\n" "\n" ); exit(1); diff -Nru natlog-1.02.00/changelog natlog-1.02.03/changelog --- natlog-1.02.00/changelog 2015-02-23 10:06:04.000000000 +0000 +++ natlog-1.02.03/changelog 2015-12-11 16:17:51.000000000 +0000 @@ -1,3 +1,26 @@ +natlog (1.02.03) + + * Adapted natlog's build scripts to icmake >= 8.00.03 + + -- Frank B. Brokken Fri, 11 Dec 2015 17:17:43 +0100 + +natlog (1.02.02) + + * Kevin Brodsky observed that the installation scripts used 'chdir' rather + than 'cd'. Fixed in this release. + + * Kevin Brodsky also observed that the combined size of all precompiled + headers might exceed some disks capacities. The option -P was added to the + ./build script to prevent the use of precompiled headers. + + -- Frank B. Brokken Mon, 05 Oct 2015 21:06:54 +0200 + +natlog (1.02.01) + + * Standardized the (de)installation procedures. See INSTALL for details. + + -- Frank B. Brokken Sun, 04 Oct 2015 16:09:21 +0200 + natlog (1.02.00) * Conntrack(8) has two modes: when -p is specified conntrack shows diff -Nru natlog-1.02.00/debian/changelog natlog-1.02.03/debian/changelog --- natlog-1.02.00/debian/changelog 2015-11-30 22:23:33.000000000 +0000 +++ natlog-1.02.03/debian/changelog 2015-12-12 17:24:40.000000000 +0000 @@ -1,8 +1,31 @@ -natlog (1.02.00-4build1) xenial; urgency=medium +natlog (1.02.03-1) unstable; urgency=medium - * Rebuild for bobcat 3 -> 4 ABI transition + [ Frank B. Brokken ] + * New upstream release (Closes: #807672). + * Updated required versions of icmake and yodl in 'control' - -- Michael Hudson-Doyle Tue, 01 Dec 2015 11:23:33 +1300 + [ tony mancill ] + * Add patch for typo in usage.cc. + + -- Frank B. Brokken Fri, 11 Dec 2015 17:33:15 +0100 + +natlog (1.02.02-1) unstable; urgency=medium + + * Upstream fixed a flaw in the installation script, Upstream's 'build' + script now supports -P to prevent the use of precompiled headers + + -- Frank B. Brokken Tue, 06 Oct 2015 20:47:13 +0200 + +natlog (1.02.01-1) unstable; urgency=medium + + * New upstream release uses precompiled headers and redefines its + installation procedure. The debian/rules file was adapted accordingly + + * Natlog now depends on libbobcat-dev >= 4.00.00 + + * Removed git-orig-source target from debian/rules + + -- Frank B. Brokken Sun, 04 Oct 2015 16:16:22 +0200 natlog (1.02.00-4) unstable; urgency=medium diff -Nru natlog-1.02.00/debian/control natlog-1.02.03/debian/control --- natlog-1.02.00/debian/control 2015-11-30 22:23:33.000000000 +0000 +++ natlog-1.02.03/debian/control 2015-12-12 17:24:40.000000000 +0000 @@ -5,10 +5,10 @@ Uploaders: George Danchev , tony mancill Build-Depends: debhelper (>= 9), - icmake (>= 7.22.00), - libbobcat-dev (>= 3.25.01), + icmake (>= 8.00.03), + libbobcat-dev (>= 4.01.02), libpcap-dev, - yodl (>= 3.05.0) + yodl (>= 3.06.0) Standards-Version: 3.9.6 Vcs-Git: git://anonscm.debian.org/collab-maint/natlog.git Vcs-Browser: http://anonscm.debian.org/cgit/collab-maint/natlog.git diff -Nru natlog-1.02.00/debian/patches/series natlog-1.02.03/debian/patches/series --- natlog-1.02.00/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/debian/patches/series 2015-12-12 17:24:40.000000000 +0000 @@ -0,0 +1 @@ +typo.patch diff -Nru natlog-1.02.00/debian/patches/typo.patch natlog-1.02.03/debian/patches/typo.patch --- natlog-1.02.00/debian/patches/typo.patch 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/debian/patches/typo.patch 2015-12-12 17:24:40.000000000 +0000 @@ -0,0 +1,11 @@ +--- a/usage.cc ++++ b/usage.cc +@@ -30,7 +30,7 @@ + " (default `" << + Options::defaultPIDfile() << "')\n" + " --protocol spec - spec: protocols handled with the `conntrack'\n" +- " comand. Use colon separated combinations of\n" ++ " command. Use colon separated combinations of\n" + " tcp, udp and icmp, or use `all' " + "(default: tcp)\n" + " --syslog-tag id - id: identifier prefixed to syslog messages\n" diff -Nru natlog-1.02.00/debian/rules natlog-1.02.03/debian/rules --- natlog-1.02.00/debian/rules 2015-11-30 22:23:33.000000000 +0000 +++ natlog-1.02.03/debian/rules 2015-12-12 17:24:40.000000000 +0000 @@ -1,14 +1,6 @@ #!/usr/bin/make -f # -*- makefile -*- -# The following is for internal development usage only -# Update that sum when new _upstream_ releases occur, this -# catches silent file content forges at the upstream server side -# Archive downloaded from https://www.icce.rug.nl/debian/natlog -# file: natlog_x.y.z.tar.gz - -MD5TRUSTED := f5d578e011c15d02848ce72b23849021 - # Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 @@ -55,9 +47,7 @@ dh_installdirs # Add here commands to install the package into debian/natlog. - ./build install program debian/natlog/usr/sbin/natlog - GZIP="-9n" ./build install man debian/natlog/usr/share/man/man1 - ./build install std debian/natlog/usr/share/doc/natlog + ./build install x debian/natlog mkdir -p debian/natlog/etc/logrotate.d cp debian/natlog.logrotate debian/natlog/etc/logrotate.d/natlog @@ -90,41 +80,6 @@ dh_md5sums dh_builddeb -# The following is for internal development usage only -# Archive downloaded from https://www.icce.rug.nl/debian/natlog -# file: natlog_x.y.z.tar.gz - -DEBVERSION:=$(shell head -n 1 debian/changelog | sed -e 's/^[^(]*(\([^)]*\)).*/\1/') -UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//') -UPNAME := natlog -UPFILE := $(UPNAME)_$(UPVERSION).tar.gz -DEFILE := $(UPNAME)_$(UPVERSION).orig.tar.gz -URL := https://www.icce.rug.nl/debian/natlog -MD5CURRENT := `md5sum ../tarballs/$(DEFILE) | sed -e 's/ .*//'` - -get-orig-source: - @@[ -d ../tarballs/. ]||mkdir -p ../tarballs - - -@if [ ! -f ../tarballs/$(DEFILE) ] ; then \ - echo "Downloading $(URL)/$(UPFILE) from $(URL)/$(UPFILE) ..." ; \ - wget --no-check-certificate --quiet -N -nv -T20 -t3 -O \ - ../tarballs/$(DEFILE) $(URL)/$(UPFILE) ; \ - else \ - echo "Upstream source tarball have been already downloaded" ; \ - fi - - -@if [ "$(MD5CURRENT)" != "$(MD5TRUSTED)" ] ; then \ - echo "Expecting upstream filename md5sum $(MD5TRUSTED), but $(MD5CURRENT) found" ; \ - echo "Upstream filename md5sum is NOT trusted! Possible upstream filename forge!" ; \ - false ; \ - else \ - echo "Upstream filename md5sum is trusted!" ; \ - fi - -print-version: - @@echo "Debian version: $(DEBVERSION)" - @@echo "Upstream version: $(UPVERSION)" - binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure diff -Nru natlog-1.02.00/icmake/backtick natlog-1.02.03/icmake/backtick --- natlog-1.02.00/icmake/backtick 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/backtick 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,10 @@ +list backtick(string arg) +{ + list ret; + + echo(OFF); + ret = `arg`; + echo(g_echo); + return ret; +} + diff -Nru natlog-1.02.00/icmake/clean natlog-1.02.03/icmake/clean --- natlog-1.02.00/icmake/clean 2012-07-15 12:04:10.000000000 +0000 +++ natlog-1.02.03/icmake/clean 2015-10-06 18:49:04.000000000 +0000 @@ -10,7 +10,7 @@ if (dist) - run("rm -rf tmp"); + run("rm -rf tmp *.ih.gch */*.ih.gch"); chdir("documentation"); @@ -18,7 +18,6 @@ "man/*.1 " "man/*.3* " "man/*.html " - "manual/manual-stamp " "manual/*.html " "manual/invoking/usage " "manual/invoking/usage.txt " diff -Nru natlog-1.02.00/icmake/cuteoln natlog-1.02.03/icmake/cuteoln --- natlog-1.02.00/icmake/cuteoln 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/cuteoln 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,9 @@ +string cutEoln(string text) +{ + int len; + + len = strlen(text) - 1; + if (text[len] == "\n") + text = substr(text, 0, len); + return text; +} diff -Nru natlog-1.02.00/icmake/findall natlog-1.02.03/icmake/findall --- natlog-1.02.00/icmake/findall 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/findall 2015-12-11 16:18:57.000000000 +0000 @@ -0,0 +1,26 @@ +// assuming we're in g_cwd, all entries of type 'type' matching source/pattern +// are returned w/o final \n + +list findAll(string type, string source, string pattern) +{ + string cmd; + list entries; + list ret; + int idx; + + chdir(source); + + cmd = "find ./ -mindepth 1 -maxdepth 1 -type " + type; + + if (pattern != "") + pattern = "-name '" + pattern + "'"; + + entries = backtick(cmd + " " + pattern + " -printf \"%f\\n\""); + + for (idx = listlen(entries); idx--; ) + ret += (list)cutEoln(entries[idx]); + + chdir(g_cwd); + + return ret; +} diff -Nru natlog-1.02.00/icmake/github natlog-1.02.03/icmake/github --- natlog-1.02.00/icmake/github 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/github 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,6 @@ +void github() +{ + run("cp -r release.yo tmp/manhtml/natlogman.html ../../wip"); + run("cp changelog ../../wip/changelog.txt"); + exit(0); +} diff -Nru natlog-1.02.00/icmake/install natlog-1.02.03/icmake/install --- natlog-1.02.00/icmake/install 2012-07-15 12:35:22.000000000 +0000 +++ natlog-1.02.03/icmake/install 2015-10-06 18:49:04.000000000 +0000 @@ -1,54 +1,75 @@ -string setWhere(string where, string defaultWhere) -{ - if (where == "") - where = defaultWhere; - - md(where); - return where; -} -void install(string what, string where) +void install(string request, string dest) { - string path; - - if (what == "program") + string target; + int components = 0; + list pathsplit; + string base; + base = "tmp/install/"; + + md(base); + + if (request == "x") + components = 63; + else { - if (where == "") - where = BINARY; - - path = get_path(where); - if (path != "") - md(path); - - printf(" INSTALLING the executable `", where, "'\n"); - run("icmbuild install program " + where); - exit(0); + if (strfind(request, "b") != -1) + components |= 2; + if (strfind(request, "d") != -1) + components |= 4; + if (strfind(request, "m") != -1) + components |= 8; } - if (what == "man") + if (components & 2) { - where = setWhere(where, MAN); + target = base + BINARY; + pathsplit = path_file(target); - printf(" INSTALLING the manual page at `", where, "'\n"); - run("gzip -9 < tmp/man/" PROGRAM ".1 > " + where + "/" PROGRAM ".1.gz"); - exit(0); + printf(" installing the executable `", target, "'\n"); + logFile("tmp/bin", "binary", pathsplit[0], pathsplit[1]); } - if (what == "std") + + if (components & (4 | 8)) { - where = setWhere(where, STD); + target = base + DOC "/"; + if (components & 4) + { + printf(" installing the changelog at `", target, "\n"); + logZip("", "changelog", target ); + } + + if (components & 8) + { + printf(" installing the html-manual page at `", target, "\n"); + logInstall("tmp/manhtml", "", target); + } + } - printf(" INSTALLING the changelog at `", where, "\n"); - run("gzip -9 < changelog > " + where + "/changelog.gz"); + + if (components & 8) + { + target = base + MAN "/"; + printf(" installing the manual page below `", target, "'\n"); - printf(" INSTALLING the html-manual page at `", where, "\n"); - run("cp tmp/manhtml/" PROGRAM "man.html " + where); - exit(0); + logZip("tmp/man", "natlog.1", target); } - exit(0); -} + chdir(g_cwd); + if (dest == "") + dest = "/"; + else + md(dest); + dest = cutEoln(backtick("realpath " + dest)[0]); + if (g_logPath != "") + backtick("icmake/log " + dest + " " + g_logPath); + run("tar cf - -Ctmp/install . | tar xf - -C" + dest); + printf("\n Installation completed\n"); + + exit(0); +} diff -Nru natlog-1.02.00/icmake/log natlog-1.02.03/icmake/log --- natlog-1.02.00/icmake/log 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/log 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,9 @@ +#!/bin/bash + +find tmp/install -type f -exec md5sum "{}" \; | + sed 's|tmp/install|'$1'|' > $2 +find tmp/install -type l -exec printf "link %s\n" "{}" \; | + sed 's|tmp/install|'$1'|' >> $2 +find tmp/install -type d -exec printf "dir %s\n" "{}" \; | + sed 's|tmp/install|'$1'|' >> $2 + diff -Nru natlog-1.02.00/icmake/logfile natlog-1.02.03/icmake/logfile --- natlog-1.02.00/icmake/logfile 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/logfile 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,7 @@ +void logFile(string srcdir, string src, string destdir, string dest) +{ + chdir(g_cwd); + md(destdir); + + run("cp " + srcdir + "/" + src + " " + destdir + "/" + dest); +} diff -Nru natlog-1.02.00/icmake/loginstall natlog-1.02.03/icmake/loginstall --- natlog-1.02.00/icmake/loginstall 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/loginstall 2015-12-11 16:18:57.000000000 +0000 @@ -0,0 +1,39 @@ +// source and dest, absolute or reachable from g_cwd, should exist. +// files and links in source matching dest (if empty: all) are copied to dest +// and are logged in g_log + +// Before they are logged, dest is created + +void logInstall(string src, string pattern, string dest) +{ + list entries; + int idx; + + chdir(g_cwd); + + md(dest); + src += "/"; + dest += "/"; + + if (listlen(makelist(O_DIR, src)) == 0) + { + printf("Warning: ", src, " not found: can't install ", src, pattern, + " at ", dest, "\n"); + return; + } + + entries = findAll("f", src, pattern); + + for (idx = listlen(entries); idx--; ) + run("cp " + src + entries[idx] + " " + dest); + + chdir(g_cwd); + entries = findAll("l", src, pattern); + + for (idx = listlen(entries); idx--; ) + run("cp " CPOPTS " " + src + entries[idx] + " " + dest); +} + + + + diff -Nru natlog-1.02.00/icmake/logzip natlog-1.02.03/icmake/logzip --- natlog-1.02.00/icmake/logzip 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/logzip 2015-12-11 16:18:57.000000000 +0000 @@ -0,0 +1,45 @@ +// names may be a series of files in src, not a wildcard. +// if it's empty then all files in src are used. +// the files are gzipped and logged in dest. +// src and dest do not have to end in / + +void logZip(string src, string names, string dest) +{ + list files; + int idx; + string file; + + chdir(g_cwd); + + md(dest); + dest += "/"; + + if (src != "") + { + if (listlen(makelist(O_DIR, src)) == 0) + { + printf("Warning: ", src, " not found: can't install ", src, names, + " at ", dest, "\n"); + return; + } + chdir(src); + } + + if (names == "") + files = makelist("*"); + else + files = strtok(names, " "); + + for (idx = listlen(files); idx--; ) + { + file = files[idx]; + run("gzip -n -9 < " + file + " > " + file + ".gz"); + } + + run("tar cf - *.gz | (cd " + g_cwd + "; cd " + dest + "; tar xf -)"); + + run("rm *.gz"); +} + + + diff -Nru natlog-1.02.00/icmake/manpage natlog-1.02.03/icmake/manpage --- natlog-1.02.00/icmake/manpage 2012-07-15 12:30:33.000000000 +0000 +++ natlog-1.02.03/icmake/manpage 2015-10-06 18:49:04.000000000 +0000 @@ -7,10 +7,8 @@ chdir("documentation/man"); - if (PROGRAM ".yo" younger MANPAGE || "release.yo" younger MANPAGE) - { - run("yodl2man -o " MANPAGE " " PROGRAM); - run("yodl2html -o " MANHTML " " PROGRAM); - } + run("yodl2man -o " MANPAGE " " PROGRAM); + run("yodl2html -o " MANHTML " " PROGRAM); + exit(0); } diff -Nru natlog-1.02.00/icmake/md natlog-1.02.03/icmake/md --- natlog-1.02.00/icmake/md 2012-07-15 12:04:10.000000000 +0000 +++ natlog-1.02.03/icmake/md 2015-10-06 18:49:04.000000000 +0000 @@ -10,12 +10,16 @@ list paths; string dir; - paths = strtok(target, " "); - - for (idx = sizeof(paths); idx--; ) + if (!exists(target)) + run("mkdir -p " + target); + else if (((int)stat(target)[0] & S_IFDIR) == 0) { - dir = element(idx, paths); - if (!exists(dir)) - run("mkdir -p " + dir); + printf(target + " exists, but is not a directory\n"); + exit(1); } } + + + + + diff -Nru natlog-1.02.00/icmake/pathfile natlog-1.02.03/icmake/pathfile --- natlog-1.02.00/icmake/pathfile 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/pathfile 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,21 @@ +list path_file(string path) +{ + list ret; + int len; + int idx; + + for (len = strlen(path), idx = len; idx--; ) + { + if (path[idx] == "/") + { + ret = + (list)substr(path, 0, idx) + (list)substr(path, idx + 1, len); + return ret; + } + } + + ret = (list)"" + (list)path; + return ret; +} + + diff -Nru natlog-1.02.00/icmake/precompileheaders natlog-1.02.03/icmake/precompileheaders --- natlog-1.02.00/icmake/precompileheaders 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/precompileheaders 2015-12-11 16:18:57.000000000 +0000 @@ -0,0 +1,43 @@ +string g_compiler; +int g_gch = 1; + +void _precompile(string class) +{ + string classIH; + + classIH = class + ".ih"; + if (classIH younger class + ".ih.gch") + run(g_compiler + " -x c++-header " + classIH); +} + +void precompileHeaders() +{ + int idx; + list classes; + string class; + + if (!g_gch) + return; + + classes = makelist(O_SUBDIR, "*"); + + + g_compiler = setOpt(CXX, "CXX") + " " + + setOpt(CXXFLAGS, "CXXFLAGS") + " "; + + + _precompile("main"); // precompile the main program .ih file + + + for (idx = listlen(classes); idx--; ) + { + class = classes[idx]; + + chdir(class); + + _precompile(class); + + chdir(g_cwd); + } +} + diff -Nru natlog-1.02.00/icmake/remove natlog-1.02.03/icmake/remove --- natlog-1.02.00/icmake/remove 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/remove 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,40 @@ +#!/bin/bash + +g_echo=$2 + +rm_f() +{ + [ $g_echo -ne 0 ] && echo rm $1 + rm -f $1 +} + +rm_dir() +{ + [ $g_echo -ne 0 ] && echo rmdir $1 + rmdir --ignore-fail-on-non-empty -p $1 +} + + +IFS=" +" + +for line in `cat $1` +do + field1=`echo $line | awk '{printf $1}'` + field2=`echo $line | awk '{printf $2}'` + + if [ $field1 == "link" ] ; then + rm_f $field2 + elif [ $field1 == "dir" ] ; then + rm_dir $field2 + elif [ -e "$field2" ] ; then + if [ "$field1" != "`md5sum $field2 | awk '{printf $1}'`" ] ; then + echo $field2 changed, not removed + else + rm_f $field2 + fi + fi +done + +rm_f $1 + diff -Nru natlog-1.02.00/icmake/run natlog-1.02.03/icmake/run --- natlog-1.02.00/icmake/run 2012-07-15 12:04:10.000000000 +0000 +++ natlog-1.02.03/icmake/run 2015-10-06 18:49:04.000000000 +0000 @@ -1,15 +1,8 @@ -int g_dryrun = setOpt("", "DRYRUN") != ""; - -void runP(int testValue, string cmd) -{ - if (g_dryrun) - printf(cmd, "\n"); - else - system(testValue, cmd); -} - void run(string cmd) { - runP(0, cmd); + if (g_echo == OFF) + cmd += "> /dev/null 2>&1"; + + system(0, cmd); } diff -Nru natlog-1.02.00/icmake/uninstall natlog-1.02.03/icmake/uninstall --- natlog-1.02.00/icmake/uninstall 1970-01-01 00:00:00.000000000 +0000 +++ natlog-1.02.03/icmake/uninstall 2015-10-06 18:49:04.000000000 +0000 @@ -0,0 +1,24 @@ +void uninstall(string logfile) +{ + int idx; + list entry; + string dir; + list line; + + if (!exists(logfile)) + { + printf("installation log file " + logfile + " not found\n"); + exit(0); + } + + run("icmake/remove " + logfile + " " + (string)g_echo); + + exit(0); +} + + + + + + + diff -Nru natlog-1.02.00/INSTALL natlog-1.02.03/INSTALL --- natlog-1.02.00/INSTALL 2012-11-25 19:20:56.000000000 +0000 +++ natlog-1.02.03/INSTALL 2015-10-06 18:49:04.000000000 +0000 @@ -1,43 +1,88 @@ -To Install natlog by hand instead of using the binary distribution perform +To install natlog by hand instead of using a binary distribution perform the following steps: 0. natlog and its construction depends, in addition to the normally standard available system software on specific software and versions - documented in the file `build-depends'. + which is documented in the file `required'. - (If you compile the bobcat library yourself, note that natlog does not - use the SSL, Milter and Xpointer classes; they may --as far as natlog - is concerned-- be left out of the library) + (If you compile the bobcat library yourself, note that natlog does + not use the SSL, Milter and Xpointer classes; they may --as far as + natlog is concerned-- be left out of the library by running + './build light') 1. It is expected you use icmake for the package construction. For this a top-level script (build) and support scripts in the ./icmake/ - directory are available. Icmake is available on a great many - architectures. See also the file INSTALL.im for additional details. + directory are available. By default, the 'build' script echoes the + commands it executes to the standard output stream. By specifying the + option -q (e.g., ./build -q ...) this is prevented, significantly + reducing the output generated by 'build'. - 1. Inspect the values of the variables in the file INSTALL.im Modify these - when necessary to suit your own local situation. In particular, check - the skeletons (SKEL) and program (BINARY) specifications. + 2. Inspect the values of the variables in the file INSTALL.im Modify these + when necessary. - 4. Run + 3. Run ./build program [strip] - to compile natlog. The argument `strip' is optional and will strip - symbolic information from the final executable. + to compile natlog. The argument `strip' is optional and strips + symbolic information from the final executable. - 5. To install the program, run (probably as root): - ./build install program - - If you also installed Yodl you can also do: - ./build man - followed by - ./build install man - to install natlog's man-page. - - Additionally, - ./build install std - installs some additional documentation - - Just run ./build to see the actual locations that will be used. - - Following the installation nothing below ./tmp is required - for the proper functioning of natlog, so consider removing it. + 4. If you installed Yodl then you can create the documentation: + ./build man + builds the man-page. + + 5. Before installing the components of natlog, consider defining the + environment variable NATLOG, defining its value as the (preferably + absolute) filename of a file on which installed files and directories + are logged. + Defining the NATLOG environment variable as ~/.natlog usually + works well. + + 6. Run (probably as root) + + ./build install 'what' 'base' + + to install. Here, 'what' specifies what you want to install. + Specify: + x, to install all components, + or specify a combination of: + b (binary program), + d (standard documentation), + m (man-pages) + E.g., use + ./build install bm 'base' + if you only want to be able to run natlog, and want its man-page to + be installed below 'base'. + + ./build install's last argument 'base' is optional: the base directory + below which the requested files are installed. This base directory is + prepended to the paths #defined in the INSTALL.im file. If 'base' is + not specified, then INSTALL.im's #defined paths are used as-is. + + When requesting non-existing elements (e.g., './build install x' was + requested, but the man-pages weren't constructed) then these + non-existing elements are silently ignored by the installation + process. + + If the environment variable NATLOG was defined when issuing the + `./build install ...' command then a log of all installed files is + written to the file indicated by the NATLOG environment variable + (see also the next item). + + Defining the NATLOG environment variable as ~/.natlog usually + works well. + + 7. Uninstalling previously installed components of natlog is easy + if the environment variable NATLOG was defined before issuing the + `./build install ...' command. In that case, run the command + + ./build uninstall logfile + + where 'logfile' is the file that was written by ./build install. + Modified files and non-empty directories are not removed, but the + logfile itself is removed following the uninstallation. + + 8. Following the installation nothing in the directory tree which contains + this file (i.e., INSTALL) is required for the proper functioning of + natlog, so consider removing it. If you only want to remove + left-over files from the build-process, just run + ./build distclean diff -Nru natlog-1.02.00/INSTALL.im natlog-1.02.03/INSTALL.im --- natlog-1.02.00/INSTALL.im 2015-02-18 18:55:46.000000000 +0000 +++ natlog-1.02.03/INSTALL.im 2015-12-11 16:22:06.000000000 +0000 @@ -1,28 +1,57 @@ + // The name of the program and the support directories as installed by + // the 'build install' command. Normally there is no reason for changing + // this #define #define PROGRAM "natlog" - // When defined, these overrule COMPILER and COMPILER_OPTIONS - // COMPILER and COMPILER_OPTIONS are now obsolete - // Instead of CXX and CXXFLAGS, CC and CFLAGS can be used. - // Their #define values are overruled by identically named environment - // variables. + // The CXX, CXXFLAGS, and LDFLAGS #defines are overruled by identically + // named environment variables: -#define CXX "g++" -//#define CXX "g++-5" // the compiler to use. +#define CXX "g++" -#define CXXFLAGS "--std=c++14 -Wall -O2 -pthread" // the compiler options to use. +#define CXXFLAGS "--std=c++14 -Wall -O2 -pthread -fdiagnostics-color=never" -#define LDFLAGS "" // flags passed to the linker +#define LDFLAGS "" -#define BINARY "/usr/bin/"${PROGRAM} - // the full path of the final program -#define MAN "/usr/share/man/man1" - // the directory whre the manual page is stored + // The following /bin/cp option is used to keep, rather than follow + // symbolic references. If your installation doesn't support these flags, + // then change them into available ones. + // -P, --no-dereference + // never follow symbolic links in SOURCE + // --preserve[=ATTR_LIST] + // preserve the specified attributes (default: + // mode,ownership,timestamps), if possible additional + // attributes: context, links, all + // -d same as --no-dereference --preserve=links +#define CPOPTS "-d" + +// COMPONENTS TO INSTALL +// ===================== + + // For an operational non-Debian installation, you probably must be + // `root'. + + // If necessary, adapt DOC, HDR, LIB and MAN (below) to your situation. + // The provided locations are used by Debian Linux. + + // With 'build install' you can dynamically specify a location to prepend + // to the locations configured here, and select which components you want + // to install + +// ONLY USE ABSOLUTE DIRECTORY NAMES: + + + // the final program +#define BINARY "/usr/bin/"${PROGRAM} -#define STD "/usr/share/doc/"${PROGRAM} // the directory where the standard documentation is stored +#define DOC "/usr/share/doc/"${PROGRAM} + + // the directory whre the manual page is stored +#define MAN "/usr/share/man/man1" + diff -Nru natlog-1.02.00/natlog.xref natlog-1.02.03/natlog.xref --- natlog-1.02.00/natlog.xref 2015-02-18 19:12:10.000000000 +0000 +++ natlog-1.02.03/natlog.xref 2015-10-06 18:49:04.000000000 +0000 @@ -1,7 +1,7 @@ oxref by Frank B. Brokken (f.b.brokken@rug.nl) -oxref V1.00.02 2012-2015 +oxref V1.00.03 2012-2015 -CREATED Wed, 18 Feb 2015 19:12:10 +0000 +CREATED Sun, 04 Oct 2015 14:05:51 +0000 CROSS REFERENCE FOR: -fxs tmp/libmodules.a ---------------------------------------------------------------------- @@ -11,8 +11,8 @@ Used By: saveadd.cc: PcapFilter::saveAdd(PcapPacket const&) -addIcmp(std::string const&, FBB::Pattern const&) - Full name: ConntrackRecord::addIcmp(std::string const&, FBB::Pattern const&) +addIcmp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) + Full name: ConntrackRecord::addIcmp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) Source: addicmp.cc Used By: icmpconnection.cc: Conntrack::icmpConnection(FBB::Pattern const&) @@ -29,8 +29,8 @@ Used By: add.cc: PcapRecord::add(PcapPacket const&, PcapRecord::Type) -addTcpudp(std::string const&, FBB::Pattern const&) - Full name: ConntrackRecord::addTcpudp(std::string const&, FBB::Pattern const&) +addTcpudp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) + Full name: ConntrackRecord::addTcpudp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) Source: addtcpudp.cc Used By: tcpudpconnection.cc: Conntrack::tcpudpConnection(FBB::Pattern const&) @@ -39,7 +39,7 @@ Full name: Icmbuild::author Source: version.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) callback(PcapFilter*, pcap_pkthdr const*, unsigned char const*) Full name: PcapFilter::callback(PcapFilter*, pcap_pkthdr const*, unsigned char const*) @@ -47,23 +47,23 @@ Used By: operatorfun.cc: PcapFilter::operator()() -checkSyslogParam(char const*, std::string const&, std::string const&) - Full name: NatFork::checkSyslogParam(char const*, std::string const&, std::string const&) +checkSyslogParam(char const*, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) + Full name: NatFork::checkSyslogParam(char const*, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) Source: checksyslogparam.cc Used By: setupstdmsg.cc: NatFork::setupStdMsg() childProcess() - Full name: Conntrack::childProcess() + Full name: NatFork::childProcess() Source: childprocess.cc Used By: - destructor.cc: Conntrack::~Conntrack() + parentprocess.cc: NatFork::parentProcess() childProcess() - Full name: NatFork::childProcess() + Full name: Conntrack::childProcess() Source: childprocess.cc Used By: - parentprocess.cc: NatFork::parentProcess() + destructor.cc: Conntrack::~Conntrack() childRedirections() Full name: Conntrack::childRedirections() @@ -89,6 +89,47 @@ Used By: run.cc: NatFork::run() +cxx11] + Full name: ShowSeconds::s_utcMarker[abi:cxx11] + Source: data.cc + Used By: + setformat.cc: ShowSeconds::setFormat() + logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + log.cc: PcapRecord::log(PcapRecord::Record const*, long, long) const + +cxx11] + Full name: Options::s_time[abi:cxx11] + Source: data.cc + Used By: + options1.cc: Options::Options() + settime.cc: Options::setTime(std::__cxx11::basic_string, std::allocator > const&) + +cxx11] + Full name: Options::s_syslogPriorities[abi:cxx11] + Source: data.cc + Used By: + setsyslogpriority.cc: Options::setSyslogPriority() + +cxx11] + Full name: Options::s_syslogFacilities[abi:cxx11] + Source: data.cc + Used By: + setsyslogfacility.cc: Options::setSyslogFacility() + +cxx11] + Full name: ShowSeconds::s_show[abi:cxx11] + Source: data.cc + Used By: + operatorinsert.cc: operator<<(std::ostream&, ShowSeconds const&) + setformat.cc: ShowSeconds::setFormat() + +cxx11]() + Full name: Options::setProtocol[abi:cxx11]() + Source: setprotocol.cc + Used By: + options1.cc: Options::Options() + Devices(std::ostream&) Full name: Devices::Devices(std::ostream&) Source: devices1.cc @@ -110,14 +151,14 @@ icmpconnection.cc: Conntrack::icmpConnection(FBB::Pattern const&) tcpudpconnection.cc: Conntrack::tcpudpConnection(FBB::Pattern const&) -filter(std::string const&, bool) - Full name: Pcap::filter(std::string const&, bool) +filter(std::__cxx11::basic_string, std::allocator > const&, bool) + Full name: Pcap::filter(std::__cxx11::basic_string, std::allocator > const&, bool) Source: filter.cc Used By: pcapfilter1.cc: PcapFilter::PcapFilter(char const*, PcapRecord&, PcapRecord::Type) -find(std::string const&) const - Full name: ConntrackRecord::find(std::string const&) const +find(std::__cxx11::basic_string, std::allocator > const&) const + Full name: ConntrackRecord::find(std::__cxx11::basic_string, std::allocator > const&) const Source: find.cc Used By: icmpconnection.cc: Conntrack::icmpConnection(FBB::Pattern const&) @@ -134,8 +175,8 @@ Full name: ConntrackRecord::firstFree() Source: firstfree.cc Used By: - addicmp.cc: ConntrackRecord::addIcmp(std::string const&, FBB::Pattern const&) - addtcpudp.cc: ConntrackRecord::addTcpudp(std::string const&, FBB::Pattern const&) + addicmp.cc: ConntrackRecord::addIcmp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) + addtcpudp.cc: ConntrackRecord::addTcpudp(std::__cxx11::basic_string, std::allocator > const&, FBB::Pattern const&) icmpConnection(FBB::Pattern const&) Full name: Conntrack::icmpConnection(FBB::Pattern const&) @@ -167,15 +208,15 @@ destructor.cc: PcapRecord::~PcapRecord() remove.cc: PcapRecord::remove(PcapPacket const&) -logIcmp(ConntrackRecord::Record const&, std::string const&, std::string) - Full name: Conntrack::logIcmp(ConntrackRecord::Record const&, std::string const&, std::string) +logIcmp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + Full name: Conntrack::logIcmp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) Source: logicmp.cc Used By: destructor.cc: Conntrack::~Conntrack() icmpconnection.cc: Conntrack::icmpConnection(FBB::Pattern const&) -logTcpudp(ConntrackRecord::Record const&, std::string const&, std::string) - Full name: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::string const&, std::string) +logTcpudp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + Full name: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) Source: logtcpudp.cc Used By: destructor.cc: Conntrack::~Conntrack() @@ -203,8 +244,8 @@ Full name: operator<<(std::ostream&, ShowSeconds const&) Source: operatorinsert.cc Used By: - logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::string const&, std::string) - logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::string const&, std::string) + logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) log.cc: PcapRecord::log(PcapRecord::Record const*, long, long) const Options() @@ -255,14 +296,14 @@ Used By: devices1.cc: Devices::Devices(std::ostream&) -protocol(std::string const&, std::string&) - Full name: Options::protocol(std::string const&, std::string&) +protocol(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >&) + Full name: Options::protocol(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >&) Source: protocol.cc Used By: - setprotocol.cc: Options::setProtocol() + setprotocol.cc: Options::setProtocol[abi:cxx11]() -rawTime(std::ostream&, std::string const&) - Full name: ShowSeconds::rawTime(std::ostream&, std::string const&) +rawTime(std::ostream&, std::__cxx11::basic_string, std::allocator > const&) + Full name: ShowSeconds::rawTime(std::ostream&, std::__cxx11::basic_string, std::allocator > const&) Source: time.cc Used By: data.cc: GLOBALS data.cc 2data.o @@ -290,7 +331,7 @@ Full name: Options::s_defaultConfigPath Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) openconfig.cc: Options::openConfig() s_defaultConntrackArgs @@ -303,35 +344,35 @@ Full name: Options::s_defaultConntrackCommand Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) options1.cc: Options::Options() s_defaultPIDfile Full name: Options::s_defaultPIDfile Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) openconfig.cc: Options::openConfig() s_defaultSyslogFacility Full name: Options::s_defaultSyslogFacility Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) setsyslogfacility.cc: Options::setSyslogFacility() s_defaultSyslogIdent Full name: Options::s_defaultSyslogIdent Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) setsyslogparams.cc: Options::setSyslogParams() s_defaultSyslogPriority Full name: Options::s_defaultSyslogPriority Source: data.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) setsyslogpriority.cc: Options::setSyslogPriority() s_filterExpr @@ -353,41 +394,6 @@ saveadd.cc: PcapFilter::saveAdd(PcapPacket const&) saveremove.cc: PcapFilter::saveRemove(PcapPacket const&) -s_show - Full name: ShowSeconds::s_show - Source: data.cc - Used By: - operatorinsert.cc: operator<<(std::ostream&, ShowSeconds const&) - setformat.cc: ShowSeconds::setFormat() - -s_syslogFacilities - Full name: Options::s_syslogFacilities - Source: data.cc - Used By: - setsyslogfacility.cc: Options::setSyslogFacility() - -s_syslogPriorities - Full name: Options::s_syslogPriorities - Source: data.cc - Used By: - setsyslogpriority.cc: Options::setSyslogPriority() - -s_time - Full name: Options::s_time - Source: data.cc - Used By: - options1.cc: Options::Options() - settime.cc: Options::setTime(std::string const&) - -s_utcMarker - Full name: ShowSeconds::s_utcMarker - Source: data.cc - Used By: - setformat.cc: ShowSeconds::setFormat() - logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::string const&, std::string) - logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::string const&, std::string) - log.cc: PcapRecord::log(PcapRecord::Record const*, long, long) const - saveAdd(PcapPacket const&) Full name: PcapFilter::saveAdd(PcapPacket const&) Source: saveadd.cc @@ -413,12 +419,6 @@ Used By: childprocess.cc: NatFork::childProcess() -setProtocol() - Full name: Options::setProtocol() - Source: setprotocol.cc - Used By: - options1.cc: Options::Options() - setSyslogFacility() Full name: Options::setSyslogFacility() Source: setsyslogfacility.cc @@ -437,8 +437,8 @@ Used By: setsyslogparams.cc: Options::setSyslogParams() -setTime(std::string const&) - Full name: Options::setTime(std::string const&) +setTime(std::__cxx11::basic_string, std::allocator > const&) + Full name: Options::setTime(std::__cxx11::basic_string, std::allocator > const&) Source: settime.cc Used By: options1.cc: Options::Options() @@ -467,12 +467,12 @@ Used By: log.cc: PcapRecord::log(PcapRecord::Record const*, long, long) const -ShowSeconds(std::string const&) - Full name: ShowSeconds::ShowSeconds(std::string const&) +ShowSeconds(std::__cxx11::basic_string, std::allocator > const&) + Full name: ShowSeconds::ShowSeconds(std::__cxx11::basic_string, std::allocator > const&) Source: showseconds1.cc Used By: - logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::string const&, std::string) - logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::string const&, std::string) + logicmp.cc: Conntrack::logIcmp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) + logtcpudp.cc: Conntrack::logTcpudp(ConntrackRecord::Record const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >) signalHandler(unsigned int) Full name: Conntrack::signalHandler(unsigned int) @@ -493,8 +493,8 @@ Used By: parentprocess.cc: Conntrack::parentProcess() -utcTime(std::ostream&, std::string const&) - Full name: ShowSeconds::utcTime(std::ostream&, std::string const&) +utcTime(std::ostream&, std::__cxx11::basic_string, std::allocator > const&) + Full name: ShowSeconds::utcTime(std::ostream&, std::__cxx11::basic_string, std::allocator > const&) Source: time.cc Used By: setformat.cc: ShowSeconds::setFormat() @@ -503,13 +503,13 @@ Full name: Icmbuild::version Source: version.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) years Full name: Icmbuild::years Source: version.cc Used By: - usage.cc: usage(std::string const&) + usage.cc: usage(std::__cxx11::basic_string, std::allocator > const&) ~Conntrack() Full name: Conntrack::~Conntrack() diff -Nru natlog-1.02.00/required natlog-1.02.03/required --- natlog-1.02.00/required 2015-02-23 10:16:39.000000000 +0000 +++ natlog-1.02.03/required 2015-12-11 16:18:36.000000000 +0000 @@ -2,19 +2,18 @@ mv, sed, etc, etc, are not explicitly mentioned. Neither is the g++ compiler explicitly mentioned, but a fairly recent one is assumed. -Required software for building Natlog 1.02.00 ---------------------------------------------- +Required software for building the natlog 1.02.00 +------------------------------------------------- -libbobcat-dev (>= 3.25.01), -libpcap-dev +libbobcat-dev (>= 4.01.03), To use the provided build-script: - icmake (>= 7.22.00) + icmake (>= 8.00.03) -To construct the manual and map-page: +To construct the man-page: - yodl (>= 3.05.0) + yodl (>= 3.06.0) diff -Nru natlog-1.02.00/VERSION natlog-1.02.03/VERSION --- natlog-1.02.00/VERSION 2015-02-18 19:14:59.000000000 +0000 +++ natlog-1.02.03/VERSION 2015-12-11 16:16:46.000000000 +0000 @@ -1,3 +1,3 @@ #define AUTHOR "Frank B. Brokken (f.b.brokken@rug.nl)"; -#define VERSION "1.02.00" +#define VERSION "1.02.03" #define YEARS "2012-2015"