diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2020-04-24 18:39:56 +0000 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2020-04-24 18:39:56 +0000 |
commit | a3a400c0f08a6da24bb106ba713ccf61c637875e (patch) | |
tree | 0d109f9052e75fca2bdd72dee8a7620b9c24a727 | |
parent | net/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_compile | 74 | ||||
-rw-r--r-- | sysutils/runwhen/files/patch-src_rw-match.c | 110 | ||||
-rw-r--r-- | sysutils/runwhen/files/patch-src_rw__scan.c | 11 | ||||
-rw-r--r-- | sysutils/runwhen/files/patch-src_tainnow=contents | 5 |
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 |