net/onedrive: update to 2.4.3

PR:		245805
Submitted by:	Hiroo Ono <hiroo.ono+freebsd@gmail.com> (maintainer)
This commit is contained in:
Mikael Urankar 2020-07-28 18:49:40 +00:00
parent 0dc36c0e86
commit d9ff33e30b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=543628
9 changed files with 124 additions and 91 deletions

View file

@ -2,62 +2,45 @@
PORTNAME= onedrive
DISTVERSIONPREFIX= v
DISTVERSION= 2.3.3
PORTREVISION= 1
DISTVERSION= 2.4.3
CATEGORIES= net
MAINTAINER= hiroo.ono+freebsd@gmail.com
COMMENT= OneDrive Free client
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libcurl.so:ftp/curl \
libinotify.so:devel/libinotify
BUILD_DEPENDS= ldc2:lang/ldc
RUN_DEPENDS= ${LOCALBASE}/sbin/logrotate:sysutils/logrotate
USES= gmake pkgconfig sqlite
USES= autoreconf gmake pkgconfig sqlite
USE_GITHUB= yes
GH_ACCOUNT= abraunegg
GNU_CONFIGURE= yes
PKGCONFIG= pkgconf
MAKE_ARGS= DC=ldc2
INSTALL_TARGET= install.noservice
OPTIONS_DEFINE= DOCS NOTIFY BASH ZSH
OPTIONS_DEFAULT= DOCS NOTIFY BASH ZSH
OPTIONS_DEFINE= NOTIFY COMPLETION
OPTIONS_DEFAULT= NOTIFY COMPLETION
OPTIONS_SUB= yes
DOCFILES= README.md README.Office365.md config CHANGELOG.md
NOTIFY_VARS= NOTIFICATIONS=1
NOTIFY_CONFIGURE_ENABLE= notifications
NOTIFY_USES= gnome
NOTIFY_USE= GNOME=glib20
NOTIFY_USE= GNOME=glib20,gdkpixbuf2
NOTIFY_LIB_DEPENDS= libnotify.so:devel/libnotify
BASH_COMPLETION_DIR= ${LOCALBASE}/share/bash-completion/completions
ZSH_COMPLETION_DIR= ${LOCALBASE}/share/zsh/site-functions
COMPLETION_DESC= Install completion for BASH and ZSH
COMPLETION_CONFIGURE_ENABLE= completions
ONEDRIVE_LOGDIR= /var/log/${PORTNAME}
post-extract:
${CP} ${FILESDIR}/freebsd_inotify.d ${WRKSRC}/src
do-install-DOCS-on:
.for f in ${DOCFILES}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
.endfor
do-install-BASH-on:
@${MKDIR} ${STAGEDIR}${BASH_COMPLETION_DIR}
${INSTALL_DATA} ${WRKSRC}/completions/complete.bash \
${STAGEDIR}${BASH_COMPLETION_DIR}/onedrive
do-install-ZSH-on:
@${MKDIR} ${STAGEDIR}${ZSH_COMPLETION_DIR}
${INSTALL_DATA} ${WRKSRC}/completions/complete.zsh \
${STAGEDIR}${ZSH_COMPLETION_DIR}/_onedrive
post-install-DOCS-on:
${INSTALL_MAN} ${WRKSRC}/onedrive.1 ${STAGEDIR}${MANPREFIX}/man/man1
post-install:
${INSTALL} -d -m 0775 ${STAGEDIR}${ONEDRIVE_LOGDIR}
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1556052070
SHA256 (abraunegg-onedrive-v2.3.3_GH0.tar.gz) = 9ee4ea4b3ea880f7624761d053bbb09a2465706685e9ed258c50925ff5e32377
SIZE (abraunegg-onedrive-v2.3.3_GH0.tar.gz) = 599457
TIMESTAMP = 1594652822
SHA256 (abraunegg-onedrive-v2.4.3_GH0.tar.gz) = 4236f436b3658e360164d945a8bc5c9620539c1339ef9182e3d060d2e3b90b9b
SIZE (abraunegg-onedrive-v2.4.3_GH0.tar.gz) = 959963

View file

@ -50,6 +50,7 @@ enum IN_MASK_ADD = 0x20000000; /* Add to the mask of an already
enum IN_ISDIR = 0x40000000; /* Event occurred against dir. */
enum IN_ONESHOT = 0x80000000; /* Only send event once. */
enum IN_ALL_EVENTS = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVE_SELF | IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF);
/* Create and initialize inotify-kqueue instance. */
extern (C) int inotify_init ();

View file

@ -1,40 +0,0 @@
--- Makefile.orig 2019-04-16 02:18:26 UTC
+++ Makefile
@@ -7,8 +7,9 @@ gitversion := $(shell if [ -f .git/HEAD ] ; then echo
ifeq ($(pkgconfig),1)
LIBS = $(shell pkg-config --libs sqlite3 libcurl)
+LIBS += $(shell pkg-config --libs libinotify)
else
-LIBS = -lcurl -lsqlite3
+LIBS = -lcurl -lsqlite3 -linotify
endif
ifeq ($(notifications),1)
NOTIF_VERSIONS = -version=NoPragma -version=NoGdk -version=Notifications
@@ -74,7 +75,8 @@ SOURCES = \
src/sync.d \
src/upload.d \
src/util.d \
- src/progress.d
+ src/progress.d \
+ src/freebsd_inotify.d
ifeq ($(notifications),1)
SOURCES += src/notifications/notify.d src/notifications/dnotify.d
@@ -90,11 +92,12 @@ onedrive: version $(SOURCES)
install.noservice: onedrive onedrive.1
mkdir -p $(DESTDIR)/var/log/onedrive
- chown root.users $(DESTDIR)/var/log/onedrive
+ # chown root.users $(DESTDIR)/var/log/onedrive
chmod 0775 $(DESTDIR)/var/log/onedrive
- install -D onedrive $(DESTDIR)$(PREFIX)/bin/onedrive
- install -D onedrive.1 $(DESTDIR)$(MANDIR)/onedrive.1
- install -D -m 644 logrotate/onedrive.logrotate $(DESTDIR)/etc/logrotate.d/onedrive
+ install onedrive $(DESTDIR)$(PREFIX)/bin/onedrive
+ # install -D onedrive.1 $(DESTDIR)$(MANDIR)/onedrive.1
+ install -d $(DESTDIR)$(PREFIX)/etc/logrotate.d
+ install -m 644 logrotate/onedrive.logrotate $(DESTDIR)$(PREFIX)/etc/logrotate.d/onedrive
install: all install.noservice
for i in $(DOCFILES) ; do install -D -m 644 $$i $(DESTDIR)$(DOCDIR)/$$i ; done

View file

@ -0,0 +1,61 @@
--- Makefile.in.orig 2020-07-13 17:07:56 UTC
+++ Makefile.in
@@ -25,6 +25,7 @@ systemdsystemunitdir = @systemdsystemunitdir@
curl_LIBS = @curl_LIBS@
sqlite_LIBS = @sqlite_LIBS@
notify_LIBS = @notify_LIBS@
+inotify_LIBS = @inotify_LIBS@
COMPLETIONS = @COMPLETIONS@
BASH_COMPLETION_DIR = @BASH_COMPLETION_DIR@
ZSH_COMPLETION_DIR = @ZSH_COMPLETION_DIR@
@@ -54,7 +55,7 @@ endif
system_unit_files = contrib/systemd/onedrive@.service
user_unit_files = contrib/systemd/onedrive.service
-DOCFILES = README.md config LICENSE CHANGELOG.md docs/Docker.md docs/INSTALL.md docs/Office365.md docs/USAGE.md docs/BusinessSharedFolders.md
+DOCFILES = README.md config CHANGELOG.md docs/Office365.md docs/USAGE.md docs/BusinessSharedFolders.md
ifneq ("$(wildcard /etc/redhat-release)","")
RHEL = $(shell cat /etc/redhat-release | grep -E "(Red Hat Enterprise Linux Server|CentOS)" | wc -l)
@@ -66,6 +67,7 @@ endif
SOURCES = \
src/config.d \
+ src/freebsd_inotify.d \
src/itemdb.d \
src/log.d \
src/main.d \
@@ -101,14 +103,15 @@ onedrive: $(SOURCES)
else \
echo $(version) > version ; \
fi
- $(DC) $(DCFLAGS) $(addprefix -L,$(curl_LIBS)) $(addprefix -L,$(sqlite_LIBS)) $(addprefix -L,$(notify_LIBS)) -L-ldl $(SOURCES) -of$@
+ $(DC) $(DCFLAGS) $(addprefix -L,$(curl_LIBS)) $(addprefix -L,$(sqlite_LIBS)) $(addprefix -L,$(notify_LIBS)) $(addprefix -L,$(inotify_LIBS)) -L-ldl $(SOURCES) -of$@
install: all
- $(INSTALL) -D onedrive $(DESTDIR)$(bindir)/onedrive
- $(INSTALL) -D onedrive.1 $(DESTDIR)$(mandir)/man1/onedrive.1
- $(INSTALL) -D -m 644 contrib/logrotate/onedrive.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/onedrive
+ $(INSTALL) -s onedrive $(DESTDIR)$(bindir)/onedrive
+ $(INSTALL) onedrive.1 $(DESTDIR)$(mandir)/man1/onedrive.1
+ mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d
+ $(INSTALL) -m 644 contrib/logrotate/onedrive.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/onedrive
mkdir -p $(DESTDIR)$(docdir)
- $(INSTALL) -D -m 644 $(DOCFILES) $(DESTDIR)$(docdir)
+ $(INSTALL) -m 644 $(DOCFILES) $(DESTDIR)$(docdir)
ifeq ($(HAVE_SYSTEMD),yes)
$(INSTALL) -d -m 0755 $(DESTDIR)$(systemduserunitdir) $(DESTDIR)$(systemdsystemunitdir)
ifeq ($(RHEL),1)
@@ -125,8 +128,10 @@ ifeq ($(RHEL_VERSION),6)
endif
endif
ifeq ($(COMPLETIONS),yes)
- $(INSTALL) -D -m 644 contrib/completions/complete.zsh $(DESTDIR)$(ZSH_COMPLETION_DIR)/_onedrive
- $(INSTALL) -D -m 644 contrib/completions/complete.bash $(DESTDIR)$(BASH_COMPLETION_DIR)/onedrive
+ mkdir -p $(DESTDIR)$(ZSH_COMPLETION_DIR)
+ $(INSTALL) -m 644 contrib/completions/complete.zsh $(DESTDIR)$(ZSH_COMPLETION_DIR)/_onedrive
+ mkdir -p $(DESTDIR)$(BASH_COMPLETION_DIR)
+ $(INSTALL) -m 644 contrib/completions/complete.bash $(DESTDIR)$(BASH_COMPLETION_DIR)/onedrive
endif

View file

@ -0,0 +1,10 @@
--- configure.ac.orig 2020-04-21 17:07:18 UTC
+++ configure.ac
@@ -144,6 +144,7 @@
dnl Check for required modules: curl and sqlite at the moment
PKG_CHECK_MODULES([curl],[libcurl])
PKG_CHECK_MODULES([sqlite],[sqlite3])
+PKG_CHECK_MODULES([inotify],[libinotify])
dnl
dnl systemd and unit file directories

View file

@ -1,15 +1,21 @@
A complete tool to interact with OneDrive on Linux.
Built following the UNIX philosophy.
A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive
for Business, OneDrive for Office365 and Sharepoint.
This Powerful and highly configurable client can run on all major Linux
distributions, as a Docker container and on FreeBSD.
This client is a 'fork' of skilion client which was abandoned in 2018.
Features:
State caching
Real-Time file monitoring with Inotify
Resumable uploads
Support OneDrive for Business (part of Office 365)
Shared folders (not Business)
* State caching
* Real-Time file monitoring with Inotify
* File uploat / download validation to ensure data integrity
* Resumable uploads
* Support OneDrive for Business (part of Office 365)
* Sharepoint / Office365 Shared libraries (refer to docs/Office365.md
to configure)
What's missing:
While local changes are uploaded right away, remote changes are delayed
No GUI
* While local changes are uploaded right away, remote changes are delayed
until next sync when using --monitor
* No GUI
WWW: https://github.com/skilion/onedrive
WWW: https://github.com/abraunegg/onedrive

11
net/onedrive/pkg-message Normal file
View file

@ -0,0 +1,11 @@
[
{
type: upgrade
maximum_version: "2.4.3"
message: <<EOM
When upgrading from version 2.3.3, the onedrive client may fail to
synchronize. In this case, execute onedrive --logout to logout and
re-authenticate. For more detail, see USAGE.md.
EOM
}
]

View file

@ -1,10 +1,11 @@
bin/onedrive
etc/logrotate.d/onedrive
%%DOCS%%man/man1/onedrive.1.gz
%%BASH%%share/bash-completion/completions/onedrive
%%ZSH%%share/zsh/site-functions/_onedrive
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md
%%PORTDOCS%%%%DOCSDIR%%/README.Office365.md
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/config
man/man1/onedrive.1.gz
%%COMPLETION%%etc/bash_completion.d/onedrive
%%COMPLETION%%share/zsh/site-functions/_onedrive
%%DOCSDIR%%/CHANGELOG.md
%%DOCSDIR%%/Office365.md
%%DOCSDIR%%/README.md
%%DOCSDIR%%/USAGE.md
%%DOCSDIR%%/config
@dir /var/log/onedrive