Summary: | [NEW PORT] sysutils/lsyncd: Live Syncing (Mirror) Daemon | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Junichi Satoh <junichi> | ||||||||
Component: | Individual Port(s) | Assignee: | Tobias Kortkamp <tobik> | ||||||||
Status: | Closed FIXED | ||||||||||
Severity: | Affects Only Me | CC: | 0mp, junichi | ||||||||
Priority: | --- | Keywords: | feature, patch | ||||||||
Version: | Latest | ||||||||||
Hardware: | Any | ||||||||||
OS: | Any | ||||||||||
Attachments: |
|
Description
Junichi Satoh
2018-06-03 01:22:14 UTC
Hello :) I've got a couple suggestions: * Replace the current MASTER_SITES with USE_GITHUB.[1] * Define LICENSE_FILE if it's available. * Remove the "Created by..." line. It should not be included in new ports. [1]: https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#makefile-master_sites-github-description 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. X+#ifdef __FreeBSD__ X+#include </usr/local/include/sys/inotify.h> X+#else 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. Hmm, why? X: ${lsyncd_configfile:=/usr/local/etc/$name.conf} Replace /usr/local with %%PREFIX%%. XUSES= cmake lua cmake:outsource is preferred. X.include <bsd.port.pre.mk> 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. XLICENSE= GPLv2 This should be GPLv2+ as they allow later version of the GPL. X+#ifdef __FreeBSD__ X+#define DT_UNKNOWN 0 X+#define DT_DIR 4 X+#endif 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. XLIB_DEPENDS+= libinotify.so:devel/libinotify 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: Author: tobik Date: Sun Jun 10 10:30:16 UTC 2018 New revision: 472128 URL: https://svnweb.freebsd.org/changeset/ports/472128 Log: 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. WWW: https://axkibe.github.io/lsyncd/ PR: 228714 Submitted by: Junichi Satoh <junichi@junichi.org> Changes: head/sysutils/Makefile head/sysutils/lsyncd/ head/sysutils/lsyncd/Makefile head/sysutils/lsyncd/distinfo head/sysutils/lsyncd/files/ head/sysutils/lsyncd/files/lsyncd.conf.sample head/sysutils/lsyncd/files/lsyncd.in head/sysutils/lsyncd/files/patch-CMakeLists.txt head/sysutils/lsyncd/files/patch-default-rsync.lua head/sysutils/lsyncd/files/patch-lsyncd.c head/sysutils/lsyncd/pkg-descr |