Here's a second iteration of the diff.
-- Hugo
diff --git infrastructure/db/user.list infrastructure/db/user.list index 7b25c24d7a7..44b14157f3f 100644 --- infrastructure/db/user.list +++ infrastructure/db/user.list @@ -410,3 +410,4 @@ id user group port 899 _openhab _openhab misc/openhab 900 _z2m _z2m comms/zigbee2mqtt 901 _ergo _ergo net/ergo +902 _ot-recorder _ot-recorder sysutils/owntracks-recorder diff --git sysutils/owntracks-recorder/Makefile sysutils/owntracks-recorder/Makefile new file mode 100644 index 00000000000..6e453e68b78 --- /dev/null +++ sysutils/owntracks-recorder/Makefile @@ -0,0 +1,31 @@ +# Use /usr/ports/infrastructure/bin/portcheck + +COMMENT = Store and access data published by OwnTracks apps +PKGNAME= owntracks-recorder-0.9.9 +DIST_TUPLE += github owntracks recorder 0.9.9 . +CATEGORIES = sysutils +HOMEPAGE = https://github.com/owntracks/recorder +MAINTAINER = Hugo Osvaldo Barrera <h...@whynothugo.nl> + +# GPLv2+ +PERMIT_PACKAGE = Yes + +WANTLIB = c m pthread config curl lmdb mosquitto +BUILD_DEPENDS = misc/findutils +LIB_DEPENDS = databases/lmdb \ + devel/libconfig \ + net/curl \ + net/mosquitto + +USE_GMAKE = Yes + +post-extract: + cp ${WRKDIST}/config.mk.in ${WRKDIST}/config.mk + ln -sf /usr/local/bin/gfind ${WRKDIR}/bin/find + +post-install: + mkdir -p ${PREFIX}/share/examples/owntracks-recorder/ + mv ${WRKINST}/etc/owntracks-recorder.conf \ + ${PREFIX}/share/examples/owntracks-recorder/owntracks-recorder.conf + +.include <bsd.port.mk> diff --git sysutils/owntracks-recorder/distinfo sysutils/owntracks-recorder/distinfo new file mode 100644 index 00000000000..0d9b4f9c214 --- /dev/null +++ sysutils/owntracks-recorder/distinfo @@ -0,0 +1,2 @@ +SHA256 (owntracks-recorder-0.9.9.tar.gz) = Zuatxx4BFUjzkCZkxfZD7bRWZbAf7esMXYiSQWo4CKI= +SIZE (owntracks-recorder-0.9.9.tar.gz) = 4493953 diff --git sysutils/owntracks-recorder/patches/patch-config_mk sysutils/owntracks-recorder/patches/patch-config_mk new file mode 100644 index 00000000000..a07dc92b57b --- /dev/null +++ sysutils/owntracks-recorder/patches/patch-config_mk @@ -0,0 +1,31 @@ +Index: config.mk +--- config.mk.orig ++++ config.mk +@@ -60,15 +60,15 @@ WITH_ENCRYPT ?= no + + # Where should the recorder store its data? This directory must + # exist and be writeable by recorder (and readable by ocat) +-STORAGEDEFAULT = /var/spool/owntracks/recorder/store ++STORAGEDEFAULT = /var/db/owntracks-recorder + + # Where should the recorder find its document root (HTTP)? +-DOCROOT = /var/spool/owntracks/recorder/htdocs ++DOCROOT = /usr/local/share/owntracks/recorder/www + + # Should we support $TZ lookup in API data? If so, specify + # path to the database + WITH_TZ ?= yes +-TZDATADB = /usr/share/owntracks/recorder/timezone16.bin ++TZDATADB = /usr/local/share/owntracks/recorder/timezone16.bin + + + # Define the precision for reverse-geo lookups. The higher +@@ -92,7 +92,7 @@ GHASHPREC = 7 + JSON_INDENT ?= no + + # Location of optional default configuration file +-CONFIGFILE = /etc/default/ot-recorder ++CONFIGFILE = /etc/owntracks-recorder.conf + + # Optionally specify the path to the Mosquitto libs, include here + MOSQUITTO_CFLAGS = `$(PKG_CONFIG) --cflags libmosquitto` diff --git sysutils/owntracks-recorder/patches/patch-util_c sysutils/owntracks-recorder/patches/patch-util_c new file mode 100644 index 00000000000..bc10c7adcca --- /dev/null +++ sysutils/owntracks-recorder/patches/patch-util_c @@ -0,0 +1,46 @@ +Index: util.c +--- util.c.orig ++++ util.c +@@ -33,8 +33,12 @@ + #include <stdarg.h> + #include <math.h> + #ifdef WITH_TOURS ++#ifdef __OpenBSD__ ++# include <uuid.h> ++#else + # include <uuid/uuid.h> + #endif ++#endif + #include "udata.h" + + #ifndef LINESIZE +@@ -672,9 +676,27 @@ char *uuid4() + { + static char uustr[37]; + uuid_t uu; ++#ifdef __OpenBSD__ ++ uint32_t status; ++ char *temp_uustr; + +- uuid_generate(uu); +- uuid_unparse_lower(uu, uustr); ++ uuid_create(&uu, &status); ++ if (status != uuid_s_ok) { ++ printf("could not create uuid\n"); ++ return (uustr); ++ } ++ ++ uuid_to_string(&uu, &temp_uustr, &status); ++ if (status != uuid_s_ok) { ++ printf("could not stringify uuid\n"); ++ return (uustr); ++ } ++ strlcpy(uustr, temp_uustr, 37); ++ free(temp_uustr); ++#else ++ uuid_generate(uu); ++ uuid_unparse_lower(uu, uustr); ++#endif + + return (uustr); + } diff --git sysutils/owntracks-recorder/pkg/DESCR sysutils/owntracks-recorder/pkg/DESCR new file mode 100644 index 00000000000..4765bf8b357 --- /dev/null +++ sysutils/owntracks-recorder/pkg/DESCR @@ -0,0 +1 @@ +Store and access location data published via MQTT by the OwnTracks apps. diff --git sysutils/owntracks-recorder/pkg/PLIST sysutils/owntracks-recorder/pkg/PLIST new file mode 100644 index 00000000000..c0a5f9fba83 --- /dev/null +++ sysutils/owntracks-recorder/pkg/PLIST @@ -0,0 +1,320 @@ +@newgroup _ot-recorder:902 +@newuser _ot-recorder:902:_ot-recorder::Owntracks Recorder:/nonexistent:/sbin/nologin +@rcscript ${RCDIR}/ot_recorder +@bin bin/ocat +@bin sbin/ot-recorder +share/examples/owntracks-recorder/ +share/examples/owntracks-recorder/owntracks-recorder.conf +@sample ${SYSCONFDIR}/owntracks-recorder.conf +share/owntracks/ +share/owntracks/recorder/ +share/owntracks/recorder/timezone16.bin +share/owntracks/recorder/www/ +share/owntracks/recorder/www/index.html +share/owntracks/recorder/www/last/ +share/owntracks/recorder/www/last/index.html +share/owntracks/recorder/www/last/last.html +share/owntracks/recorder/www/last/manifest.json +share/owntracks/recorder/www/last/map_google.js +share/owntracks/recorder/www/last/map_leaflet.js +share/owntracks/recorder/www/last/websock.js +share/owntracks/recorder/www/map/ +share/owntracks/recorder/www/map/index.html +share/owntracks/recorder/www/map/map_google.js +share/owntracks/recorder/www/map/map_leaflet.js +share/owntracks/recorder/www/owntracks.xsl +share/owntracks/recorder/www/static/ +share/owntracks/recorder/www/static/datatables/ +share/owntracks/recorder/www/static/datatables/css/ +share/owntracks/recorder/www/static/datatables/css/jquery.dataTables.min.css +share/owntracks/recorder/www/static/datatables/images/ +share/owntracks/recorder/www/static/datatables/images/sort_asc.png +share/owntracks/recorder/www/static/datatables/images/sort_asc_disabled.png +share/owntracks/recorder/www/static/datatables/images/sort_both.png +share/owntracks/recorder/www/static/datatables/images/sort_desc.png +share/owntracks/recorder/www/static/datatables/images/sort_desc_disabled.png +share/owntracks/recorder/www/static/datatables/js/ +share/owntracks/recorder/www/static/datatables/js/jquery.dataTables.min.js +share/owntracks/recorder/www/static/datatables/js/jquery.min.js +share/owntracks/recorder/www/static/defaultface.svg +share/owntracks/recorder/www/static/flags/ +share/owntracks/recorder/www/static/flags/AD.png +share/owntracks/recorder/www/static/flags/AE.png +share/owntracks/recorder/www/static/flags/AF.png +share/owntracks/recorder/www/static/flags/AG.png +share/owntracks/recorder/www/static/flags/AI.png +share/owntracks/recorder/www/static/flags/AL.png +share/owntracks/recorder/www/static/flags/AM.png +share/owntracks/recorder/www/static/flags/AN.png +share/owntracks/recorder/www/static/flags/AO.png +share/owntracks/recorder/www/static/flags/AQ.png +share/owntracks/recorder/www/static/flags/AR.png +share/owntracks/recorder/www/static/flags/AS.png +share/owntracks/recorder/www/static/flags/AT.png +share/owntracks/recorder/www/static/flags/AU.png +share/owntracks/recorder/www/static/flags/AW.png +share/owntracks/recorder/www/static/flags/AX.png +share/owntracks/recorder/www/static/flags/AZ.png +share/owntracks/recorder/www/static/flags/BA.png +share/owntracks/recorder/www/static/flags/BB.png +share/owntracks/recorder/www/static/flags/BD.png +share/owntracks/recorder/www/static/flags/BE.png +share/owntracks/recorder/www/static/flags/BF.png +share/owntracks/recorder/www/static/flags/BG.png +share/owntracks/recorder/www/static/flags/BH.png +share/owntracks/recorder/www/static/flags/BI.png +share/owntracks/recorder/www/static/flags/BJ.png +share/owntracks/recorder/www/static/flags/BL.png +share/owntracks/recorder/www/static/flags/BM.png +share/owntracks/recorder/www/static/flags/BN.png +share/owntracks/recorder/www/static/flags/BO.png +share/owntracks/recorder/www/static/flags/BR.png +share/owntracks/recorder/www/static/flags/BS.png +share/owntracks/recorder/www/static/flags/BT.png +share/owntracks/recorder/www/static/flags/BW.png +share/owntracks/recorder/www/static/flags/BY.png +share/owntracks/recorder/www/static/flags/BZ.png +share/owntracks/recorder/www/static/flags/CA.png +share/owntracks/recorder/www/static/flags/CC.png +share/owntracks/recorder/www/static/flags/CD.png +share/owntracks/recorder/www/static/flags/CF.png +share/owntracks/recorder/www/static/flags/CG.png +share/owntracks/recorder/www/static/flags/CH.png +share/owntracks/recorder/www/static/flags/CI.png +share/owntracks/recorder/www/static/flags/CK.png +share/owntracks/recorder/www/static/flags/CL.png +share/owntracks/recorder/www/static/flags/CM.png +share/owntracks/recorder/www/static/flags/CN.png +share/owntracks/recorder/www/static/flags/CO.png +share/owntracks/recorder/www/static/flags/CR.png +share/owntracks/recorder/www/static/flags/CU.png +share/owntracks/recorder/www/static/flags/CV.png +share/owntracks/recorder/www/static/flags/CW.png +share/owntracks/recorder/www/static/flags/CX.png +share/owntracks/recorder/www/static/flags/CY.png +share/owntracks/recorder/www/static/flags/CZ.png +share/owntracks/recorder/www/static/flags/DE.png +share/owntracks/recorder/www/static/flags/DJ.png +share/owntracks/recorder/www/static/flags/DK.png +share/owntracks/recorder/www/static/flags/DM.png +share/owntracks/recorder/www/static/flags/DO.png +share/owntracks/recorder/www/static/flags/DZ.png +share/owntracks/recorder/www/static/flags/EC.png +share/owntracks/recorder/www/static/flags/EE.png +share/owntracks/recorder/www/static/flags/EG.png +share/owntracks/recorder/www/static/flags/EH.png +share/owntracks/recorder/www/static/flags/ER.png +share/owntracks/recorder/www/static/flags/ES.png +share/owntracks/recorder/www/static/flags/ET.png +share/owntracks/recorder/www/static/flags/EU.png +share/owntracks/recorder/www/static/flags/FI.png +share/owntracks/recorder/www/static/flags/FJ.png +share/owntracks/recorder/www/static/flags/FK.png +share/owntracks/recorder/www/static/flags/FM.png +share/owntracks/recorder/www/static/flags/FO.png +share/owntracks/recorder/www/static/flags/FR.png +share/owntracks/recorder/www/static/flags/GA.png +share/owntracks/recorder/www/static/flags/GB.png +share/owntracks/recorder/www/static/flags/GD.png +share/owntracks/recorder/www/static/flags/GE.png +share/owntracks/recorder/www/static/flags/GG.png +share/owntracks/recorder/www/static/flags/GH.png +share/owntracks/recorder/www/static/flags/GI.png +share/owntracks/recorder/www/static/flags/GL.png +share/owntracks/recorder/www/static/flags/GM.png +share/owntracks/recorder/www/static/flags/GN.png +share/owntracks/recorder/www/static/flags/GQ.png +share/owntracks/recorder/www/static/flags/GR.png +share/owntracks/recorder/www/static/flags/GS.png +share/owntracks/recorder/www/static/flags/GT.png +share/owntracks/recorder/www/static/flags/GU.png +share/owntracks/recorder/www/static/flags/GW.png +share/owntracks/recorder/www/static/flags/GY.png +share/owntracks/recorder/www/static/flags/HK.png +share/owntracks/recorder/www/static/flags/HN.png +share/owntracks/recorder/www/static/flags/HR.png +share/owntracks/recorder/www/static/flags/HT.png +share/owntracks/recorder/www/static/flags/HU.png +share/owntracks/recorder/www/static/flags/Hello.txt +share/owntracks/recorder/www/static/flags/IC.png +share/owntracks/recorder/www/static/flags/ID.png +share/owntracks/recorder/www/static/flags/IE.png +share/owntracks/recorder/www/static/flags/IL.png +share/owntracks/recorder/www/static/flags/IM.png +share/owntracks/recorder/www/static/flags/IN.png +share/owntracks/recorder/www/static/flags/IQ.png +share/owntracks/recorder/www/static/flags/IR.png +share/owntracks/recorder/www/static/flags/IS.png +share/owntracks/recorder/www/static/flags/IT.png +share/owntracks/recorder/www/static/flags/JE.png +share/owntracks/recorder/www/static/flags/JM.png +share/owntracks/recorder/www/static/flags/JO.png +share/owntracks/recorder/www/static/flags/JP.png +share/owntracks/recorder/www/static/flags/KE.png +share/owntracks/recorder/www/static/flags/KG.png +share/owntracks/recorder/www/static/flags/KH.png +share/owntracks/recorder/www/static/flags/KI.png +share/owntracks/recorder/www/static/flags/KM.png +share/owntracks/recorder/www/static/flags/KN.png +share/owntracks/recorder/www/static/flags/KP.png +share/owntracks/recorder/www/static/flags/KR.png +share/owntracks/recorder/www/static/flags/KW.png +share/owntracks/recorder/www/static/flags/KY.png +share/owntracks/recorder/www/static/flags/KZ.png +share/owntracks/recorder/www/static/flags/LA.png +share/owntracks/recorder/www/static/flags/LB.png +share/owntracks/recorder/www/static/flags/LC.png +share/owntracks/recorder/www/static/flags/LI.png +share/owntracks/recorder/www/static/flags/LICENSE.txt +share/owntracks/recorder/www/static/flags/LK.png +share/owntracks/recorder/www/static/flags/LR.png +share/owntracks/recorder/www/static/flags/LS.png +share/owntracks/recorder/www/static/flags/LT.png +share/owntracks/recorder/www/static/flags/LU.png +share/owntracks/recorder/www/static/flags/LV.png +share/owntracks/recorder/www/static/flags/LY.png +share/owntracks/recorder/www/static/flags/MA.png +share/owntracks/recorder/www/static/flags/MC.png +share/owntracks/recorder/www/static/flags/MD.png +share/owntracks/recorder/www/static/flags/ME.png +share/owntracks/recorder/www/static/flags/MF.png +share/owntracks/recorder/www/static/flags/MG.png +share/owntracks/recorder/www/static/flags/MH.png +share/owntracks/recorder/www/static/flags/MK.png +share/owntracks/recorder/www/static/flags/ML.png +share/owntracks/recorder/www/static/flags/MM.png +share/owntracks/recorder/www/static/flags/MN.png +share/owntracks/recorder/www/static/flags/MO.png +share/owntracks/recorder/www/static/flags/MP.png +share/owntracks/recorder/www/static/flags/MQ.png +share/owntracks/recorder/www/static/flags/MR.png +share/owntracks/recorder/www/static/flags/MS.png +share/owntracks/recorder/www/static/flags/MT.png +share/owntracks/recorder/www/static/flags/MU.png +share/owntracks/recorder/www/static/flags/MV.png +share/owntracks/recorder/www/static/flags/MW.png +share/owntracks/recorder/www/static/flags/MX.png +share/owntracks/recorder/www/static/flags/MY.png +share/owntracks/recorder/www/static/flags/MZ.png +share/owntracks/recorder/www/static/flags/NA.png +share/owntracks/recorder/www/static/flags/NC.png +share/owntracks/recorder/www/static/flags/NE.png +share/owntracks/recorder/www/static/flags/NF.png +share/owntracks/recorder/www/static/flags/NG.png +share/owntracks/recorder/www/static/flags/NI.png +share/owntracks/recorder/www/static/flags/NL.png +share/owntracks/recorder/www/static/flags/NO.png +share/owntracks/recorder/www/static/flags/NP.png +share/owntracks/recorder/www/static/flags/NR.png +share/owntracks/recorder/www/static/flags/NU.png +share/owntracks/recorder/www/static/flags/NZ.png +share/owntracks/recorder/www/static/flags/OM.png +share/owntracks/recorder/www/static/flags/PA.png +share/owntracks/recorder/www/static/flags/PE.png +share/owntracks/recorder/www/static/flags/PF.png +share/owntracks/recorder/www/static/flags/PG.png +share/owntracks/recorder/www/static/flags/PH.png +share/owntracks/recorder/www/static/flags/PK.png +share/owntracks/recorder/www/static/flags/PL.png +share/owntracks/recorder/www/static/flags/PN.png +share/owntracks/recorder/www/static/flags/PR.png +share/owntracks/recorder/www/static/flags/PS.png +share/owntracks/recorder/www/static/flags/PT.png +share/owntracks/recorder/www/static/flags/PW.png +share/owntracks/recorder/www/static/flags/PY.png +share/owntracks/recorder/www/static/flags/QA.png +share/owntracks/recorder/www/static/flags/RO.png +share/owntracks/recorder/www/static/flags/RS.png +share/owntracks/recorder/www/static/flags/RU.png +share/owntracks/recorder/www/static/flags/RW.png +share/owntracks/recorder/www/static/flags/SA.png +share/owntracks/recorder/www/static/flags/SB.png +share/owntracks/recorder/www/static/flags/SC.png +share/owntracks/recorder/www/static/flags/SD.png +share/owntracks/recorder/www/static/flags/SE.png +share/owntracks/recorder/www/static/flags/SG.png +share/owntracks/recorder/www/static/flags/SH.png +share/owntracks/recorder/www/static/flags/SI.png +share/owntracks/recorder/www/static/flags/SK.png +share/owntracks/recorder/www/static/flags/SL.png +share/owntracks/recorder/www/static/flags/SM.png +share/owntracks/recorder/www/static/flags/SN.png +share/owntracks/recorder/www/static/flags/SO.png +share/owntracks/recorder/www/static/flags/SR.png +share/owntracks/recorder/www/static/flags/SS.png +share/owntracks/recorder/www/static/flags/ST.png +share/owntracks/recorder/www/static/flags/SV.png +share/owntracks/recorder/www/static/flags/SY.png +share/owntracks/recorder/www/static/flags/SZ.png +share/owntracks/recorder/www/static/flags/TC.png +share/owntracks/recorder/www/static/flags/TD.png +share/owntracks/recorder/www/static/flags/TF.png +share/owntracks/recorder/www/static/flags/TG.png +share/owntracks/recorder/www/static/flags/TH.png +share/owntracks/recorder/www/static/flags/TJ.png +share/owntracks/recorder/www/static/flags/TK.png +share/owntracks/recorder/www/static/flags/TL.png +share/owntracks/recorder/www/static/flags/TM.png +share/owntracks/recorder/www/static/flags/TN.png +share/owntracks/recorder/www/static/flags/TO.png +share/owntracks/recorder/www/static/flags/TR.png +share/owntracks/recorder/www/static/flags/TT.png +share/owntracks/recorder/www/static/flags/TV.png +share/owntracks/recorder/www/static/flags/TW.png +share/owntracks/recorder/www/static/flags/TZ.png +share/owntracks/recorder/www/static/flags/UA.png +share/owntracks/recorder/www/static/flags/UG.png +share/owntracks/recorder/www/static/flags/US.png +share/owntracks/recorder/www/static/flags/UY.png +share/owntracks/recorder/www/static/flags/UZ.png +share/owntracks/recorder/www/static/flags/VA.png +share/owntracks/recorder/www/static/flags/VC.png +share/owntracks/recorder/www/static/flags/VE.png +share/owntracks/recorder/www/static/flags/VG.png +share/owntracks/recorder/www/static/flags/VI.png +share/owntracks/recorder/www/static/flags/VN.png +share/owntracks/recorder/www/static/flags/VU.png +share/owntracks/recorder/www/static/flags/WF.png +share/owntracks/recorder/www/static/flags/WS.png +share/owntracks/recorder/www/static/flags/YE.png +share/owntracks/recorder/www/static/flags/YT.png +share/owntracks/recorder/www/static/flags/ZA.png +share/owntracks/recorder/www/static/flags/ZM.png +share/owntracks/recorder/www/static/flags/ZW.png +share/owntracks/recorder/www/static/flags/__.png +share/owntracks/recorder/www/static/index.html +share/owntracks/recorder/www/static/leaflet/ +share/owntracks/recorder/www/static/leaflet/images/ +share/owntracks/recorder/www/static/leaflet/images/layers-2x.png +share/owntracks/recorder/www/static/leaflet/images/layers.png +share/owntracks/recorder/www/static/leaflet/images/marker-icon-2x.png +share/owntracks/recorder/www/static/leaflet/images/marker-icon.png +share/owntracks/recorder/www/static/leaflet/images/marker-shadow.png +share/owntracks/recorder/www/static/leaflet/leaflet.css +share/owntracks/recorder/www/static/leaflet/leaflet.js +share/owntracks/recorder/www/static/leaflet/leaflet.js.map +share/owntracks/recorder/www/static/recorder.png +share/owntracks/recorder/www/table/ +share/owntracks/recorder/www/table/config.js +share/owntracks/recorder/www/table/index.html +share/owntracks/recorder/www/table/otable.css +share/owntracks/recorder/www/test-ws.html +share/owntracks/recorder/www/test.txt +share/owntracks/recorder/www/utils/ +share/owntracks/recorder/www/utils/config.js +share/owntracks/recorder/www/utils/debug.js +share/owntracks/recorder/www/utils/index.html +share/owntracks/recorder/www/utils/map.css +share/owntracks/recorder/www/utils/map.js +share/owntracks/recorder/www/utils/map_google.js +share/owntracks/recorder/www/utils/map_leaflet.js +share/owntracks/recorder/www/utils/misc.js +share/owntracks/recorder/www/utils/network.js +share/owntracks/recorder/www/views/ +share/owntracks/recorder/www/views/jane.json.sample +share/owntracks/recorder/www/views/leafletmap.html +share/owntracks/recorder/www/views/vmap.html +@mode 770 +@owner _ot-recorder +@group _ot-recorder +@sample /var/db/owntracks-recorder/ diff --git sysutils/owntracks-recorder/pkg/ot_recorder.rc sysutils/owntracks-recorder/pkg/ot_recorder.rc new file mode 100644 index 00000000000..8e460df29cd --- /dev/null +++ sysutils/owntracks-recorder/pkg/ot_recorder.rc @@ -0,0 +1,12 @@ +#!/bin/ksh + +daemon="${TRUEPREFIX}/sbin/ot-recorder" +daemon_flags="" +daemon_user="_ot-recorder" + +. /etc/rc.d/rc.subr + +rc_bg=YES +rc_reload=NO + +rc_cmd $1