Created attachment 193956 [details]
shar file for sysutils/lsyncd port
Lsyncd is designed to synchronize a local directory tree with low profile of expected changes to a remote mirror.
Details are here:
I've got a couple suggestions:
* Replace the current MASTER_SITES with USE_GITHUB.
* Define LICENSE_FILE if it's available.
* Remove the "Created by..." line. It should not be included in new ports.
Created attachment 193960 [details]
fixed shar file for sysutils/lsyncd port
(In reply to Mateusz Piotrowski from comment #1)
Thanks for suggestions.
I've fixed them and also updated some codes.
I attached the fixed shar file.
This is incorrect on many levels. Why can't it find sys/inotify.h
without this? Maybe you need to add USES=localbase or
USES=localbase:ldflags to the port.
X+ // daemonize should be done before open_inofity with FreeBSD.
Replace /usr/local with %%PREFIX%%.
XUSES= cmake lua
cmake:outsource is preferred.
Not necessary here.
XPLIST_FILES= sbin/lsyncd man/man1/lsyncd.1.gz etc/lsyncd.conf.sample
lsyncd.conf.sample should probably have an @sample keyword.
This should be GPLv2+ as they allow later version of the GPL.
X+#define DT_UNKNOWN 0
X+#define DT_DIR 4
Why is this needed? These should be defined in sys/dirent.h on
FreeBSD. If lsyncd defines _XOPEN_SOURCE (or similar things that
may hide some definitions) maybe try removing that instead.
This needs to go after BUILD_DEPENDS. Use = not +=.
Created attachment 194120 [details]
re-corrected shar file for sysutils/lsyncd port
(In reply to Tobias Kortkamp from comment #4)
I've fixed them except daemonize.
About daemonize, if it's done after open_inotify() like original source, lsyncd doesn't work correctly on FreeBSD even if it's compiled without errors.
The lsyncd which is compiled with original source can't receive events for file updating. So, pselect() in mail loop waits events forever.
Because, I don't know details of differences between Linux's inotify and libinotify, I don't know that exact reason.
A commit references this bug:
Date: Sun Jun 10 10:30:16 UTC 2018
New revision: 472128
New port: sysutils/lsyncd
Lsyncd is designed to synchronize a local directory tree with low
profile of expected changes to a remote mirror. Lsyncd is especially
useful to sync data from a secure area to a not-so-secure area.
Submitted by: Junichi Satoh <email@example.com>