summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2020-04-24 18:39:56 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2020-04-24 18:39:56 +0000
commita3a400c0f08a6da24bb106ba713ccf61c637875e (patch)
tree0d109f9052e75fca2bdd72dee8a7620b9c24a727
parentnet/smb4k: reinstate port (diff)
sysutils/runwhen: Add support for skalibs 2.9.2.1
Five years after its latest release runwhen 2015.02.24 is no longer compatible the latest skalibs version (2.9.2.1 from 16 days ago). The attached patch allows the old runwhen code to build against the latest skalibs version. It converts the enum values in rw-match.c from lower to upper case to avoid a name collision on "div", deals with the renaming of tainnow.lib to to sysclock.lib and replaces a call to the deprecated env_get() function with getenv(). This gets rid of all compiler warnings and errors. PR: 245836 Submitted by: crest@rlwinm.de
Notes
Notes: svn path=/head/; revision=532885
-rw-r--r--sysutils/runwhen/files/patch-package_compile74
-rw-r--r--sysutils/runwhen/files/patch-src_rw-match.c110
-rw-r--r--sysutils/runwhen/files/patch-src_rw__scan.c11
-rw-r--r--sysutils/runwhen/files/patch-src_tainnow=contents5
4 files changed, 200 insertions, 0 deletions
diff --git a/sysutils/runwhen/files/patch-package_compile b/sysutils/runwhen/files/patch-package_compile
new file mode 100644
index 000000000000..8025cdd49c01
--- /dev/null
+++ b/sysutils/runwhen/files/patch-package_compile
@@ -0,0 +1,74 @@
+--- package/compile.orig 2015-02-24 06:40:08 UTC
++++ package/compile
+@@ -634,7 +634,7 @@ make_13() {
+ set x \
+ ./compile/host/rw-add.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -679,7 +679,7 @@ make_15() {
+ set x \
+ ./compile/host/rw-match.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -724,7 +724,7 @@ make_17() {
+ set x \
+ ./compile/host/rw-max.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -769,7 +769,7 @@ make_19() {
+ set x \
+ ./compile/host/rw-min.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -814,7 +814,7 @@ make_21() {
+ set x \
+ ./compile/host/rw-sleep.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -859,7 +859,7 @@ make_23() {
+ set x \
+ ./compile/host/rw-sub.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -904,7 +904,7 @@ make_25() {
+ set x \
+ ./compile/host/rw-touch.o \
+ ./compile/host/runwhen.a \
+- -lskarnet \
++ -L/usr/local/lib -lskarnet \
+ ${contents_30?} &&
+ shift &&
+ . ./compile/conf/host_link.sh
+@@ -994,7 +994,7 @@ make_30() {
+ make_ compile/host/skalibs_sysdeps &&
+ echo &&
+ prj_echo Making compile/host/tainnow &&
+- cp ./compile/host/skalibs_sysdeps/tainnow.lib "${output?}" &&
++ cp ./compile/host/skalibs_sysdeps/sysclock.lib "${output?}" &&
+ contents_30=`cat "${output?}"`
+ } &&
+
diff --git a/sysutils/runwhen/files/patch-src_rw-match.c b/sysutils/runwhen/files/patch-src_rw-match.c
new file mode 100644
index 000000000000..035d99a00bbe
--- /dev/null
+++ b/sysutils/runwhen/files/patch-src_rw-match.c
@@ -0,0 +1,110 @@
+--- src/rw-match.c.orig 2020-04-22 21:36:45 UTC
++++ src/rw-match.c
+@@ -21,7 +21,7 @@ static void die_malformed(char const* str, char const*
+ #define DIE_RANGE() DIE1X(100, "timestamp out of range")
+ #define DIE_UNIT_RANGE(x0) DIE2X(100, "value out of range for unit: ", x0)
+
+-enum { unset, eq, eqn, div };
++enum { UNSET, EQ, EQN, DIV };
+
+ typedef struct {
+ unsigned int type;
+@@ -42,21 +42,21 @@ static unsigned int max_minute (void) { return 59; }
+ static unsigned int max_second (void) { return 59; }
+
+ static unit units_weekday[]={
+- { unset, 0, -1, 0, max_weekday, 6, 'w' },
+- { unset, 0, -1, 0, max_hour , 23, 'H' },
+- { unset, 0, -1, 0, max_minute , 59, 'M' },
+- { unset, 0, -1, 0, max_second , 59, 'S' },
+- { unset, 0, -1, 0, NULLP , 0, 0 }
++ { UNSET, 0, -1, 0, max_weekday, 6, 'w' },
++ { UNSET, 0, -1, 0, max_hour , 23, 'H' },
++ { UNSET, 0, -1, 0, max_minute , 59, 'M' },
++ { UNSET, 0, -1, 0, max_second , 59, 'S' },
++ { UNSET, 0, -1, 0, NULLP , 0, 0 }
+ };
+
+ static unit units_monthday[]={
+- { unset, 0, -1, 0, max_year , -1, 'y' },
+- { unset, 0, -1, 1, max_month , 12, 'm' },
+- { unset, 0, -1, 1, max_monthday, 31, 'd' },
+- { unset, 0, -1, 0, max_hour , 23, 'H' },
+- { unset, 0, -1, 0, max_minute , 59, 'M' },
+- { unset, 0, -1, 0, max_second , 59, 'S' },
+- { unset, 0, -1, 0, NULLP , 0, 0 }
++ { UNSET, 0, -1, 0, max_year , -1, 'y' },
++ { UNSET, 0, -1, 1, max_month , 12, 'm' },
++ { UNSET, 0, -1, 1, max_monthday, 31, 'd' },
++ { UNSET, 0, -1, 0, max_hour , 23, 'H' },
++ { UNSET, 0, -1, 0, max_minute , 59, 'M' },
++ { UNSET, 0, -1, 0, max_second , 59, 'S' },
++ { UNSET, 0, -1, 0, NULLP , 0, 0 }
+ };
+
+ static unsigned int max_monthday(void) {
+@@ -99,26 +99,26 @@ int main(int argc, char** argv) {
+ "\"y\", \"m\", \"d\", \"w\", \"H\", \"M\", or \"S\"");
+ if (*constraint_str==units[i].id) break;
+ }
+- if (units[i].type!=unset)
++ if (units[i].type!=UNSET)
+ DIE2X(100, "duplicate constraint for unit: ", constraint);
+ ++constraint_str;
+ switch (*constraint_str) {
+- case '=': units[i].type=eq; break;
+- case '-': units[i].type=eqn; break;
+- case '/': units[i].type=div; break;
++ case '=': units[i].type=EQ; break;
++ case '-': units[i].type=EQN; break;
++ case '/': units[i].type=DIV; break;
+ default: die_malformed(constraint_str, "\"=\", \"-\", \"/\", or \",\"");
+ }
+ ++constraint_str;
+ len=uint_scan(constraint_str, &units[i].spec);
+ if (len==0) die_malformed(constraint_str, "number");
+- if (units[i].spec==0) units[i].type=eq;
+- else if (units[i].type==eqn) units[i].spec--;
++ if (units[i].spec==0) units[i].type=EQ;
++ else if (units[i].type==EQN) units[i].spec--;
+ if (units[i].spec>units[i].maxmax) {
+- if (units[i].type!=div || units[i].min>0)
++ if (units[i].type!=DIV || units[i].min>0)
+ DIE_UNIT_RANGE(constraint);
+- units[i].type=eq;
++ units[i].type=EQ;
+ units[i].spec=0;
+- } else if (units[i].spec<units[i].min && units[i].type==eq)
++ } else if (units[i].spec<units[i].min && units[i].type==EQ)
+ DIE_UNIT_RANGE(constraint);
+ constraint_str+=len;
+ }
+@@ -149,22 +149,22 @@ int main(int argc, char** argv) {
+ }
+ }
+
+- for (i=0; units[i].max!=NULLP && units[i].type==unset; ++i)
+- units[i].type=div, units[i].spec=1;
++ for (i=0; units[i].max!=NULLP && units[i].type==UNSET; ++i)
++ units[i].type=DIV, units[i].spec=1;
+ for (; units[i].max!=NULLP; ++i)
+- if (units[i].type==unset)
+- units[i].type=eq, units[i].spec=units[i].min;
++ if (units[i].type==UNSET)
++ units[i].type=EQ, units[i].spec=units[i].min;
+
+ for (i=0; units[i].max!=NULLP;) {
+ unsigned int const value=(flag_increased? units[i].min: units[i].value);
+ unsigned int const spec=units[i].spec;
+ unsigned int newval;
+- if (units[i].type==div) {
++ if (units[i].type==DIV) {
+ newval=value+(spec-1);
+ newval-=newval%spec;
+ if (flag_need_increase && newval==value) newval+=spec;
+ } else {
+- if (units[i].type==eq) newval=spec;
++ if (units[i].type==EQ) newval=spec;
+ else newval=units[i].max()-spec;
+ if (newval<value) goto need_increase;
+ if (flag_need_increase && newval==value) goto need_increase;
diff --git a/sysutils/runwhen/files/patch-src_rw__scan.c b/sysutils/runwhen/files/patch-src_rw__scan.c
new file mode 100644
index 000000000000..77c2342d960b
--- /dev/null
+++ b/sysutils/runwhen/files/patch-src_rw__scan.c
@@ -0,0 +1,11 @@
+--- src/rw_scan.c.orig 2020-04-22 21:45:48 UTC
++++ src/rw_scan.c
+@@ -14,7 +14,7 @@ void rw_scan(tain_t* stamp, char const* text) {
+ char const* x;
+ switch (text[0]) {
+ case '$':
+- x=env_get(text+1);
++ x=getenv(text+1);
+ if (x==NULLP) DIE_MALFORMED("timestamp", text);
+ text=x;
+ i=tain_scan(text, stamp);
diff --git a/sysutils/runwhen/files/patch-src_tainnow=contents b/sysutils/runwhen/files/patch-src_tainnow=contents
new file mode 100644
index 000000000000..b359f4a72555
--- /dev/null
+++ b/sysutils/runwhen/files/patch-src_tainnow=contents
@@ -0,0 +1,5 @@
+--- src/tainnow=contents.orig 2015-01-12 06:31:21 UTC
++++ src/tainnow=contents
+@@ -1 +1 @@
+-skalibs_sysdeps/tainnow.lib
++skalibs_sysdeps/sysclock.lib