diff --git a/srcpkgs/btsync/INSTALL b/srcpkgs/btsync/INSTALL new file mode 100644 index 00000000000..4896f4dec25 --- /dev/null +++ b/srcpkgs/btsync/INSTALL @@ -0,0 +1,20 @@ +BUILD_DIR="./var/tmp/${PKGNAME}.build" + +case "${ACTION}" in +post) + . usr/lib/btsync/btsync-vars.sh + mkdir -p "$BUILD_DIR" + ( + cd "$BUILD_DIR" + xbps-uhelper fetch "${BTSYNC_URL}>$PKGNAME.tar.gz" + echo "$BTSYNC_CHECKSUM $PKGNAME.tar.gz" > chksum + sha256sum -c chksum || exit 1 + tar xf "$PKGNAME.tar.gz" + ) || { + echo Error while extracting; + rm -r $BUILD_DIR; + exit 1; + } + cp $BUILD_DIR/btsync "usr/bin/btsync" +;; +esac diff --git a/srcpkgs/btsync/REMOVE b/srcpkgs/btsync/REMOVE new file mode 100644 index 00000000000..c3a3f67c6c0 --- /dev/null +++ b/srcpkgs/btsync/REMOVE @@ -0,0 +1,5 @@ +case "$ACTION" in +pre) + rm usr/bin/btsync + ;; +esac diff --git a/srcpkgs/btsync/files/LICENSE b/srcpkgs/btsync/files/LICENSE new file mode 100644 index 00000000000..46cdff51330 --- /dev/null +++ b/srcpkgs/btsync/files/LICENSE @@ -0,0 +1,3 @@ +see https://www.getsync.com/legal/eula + https://www.getsync.com/legal/privacy + https://www.getsync.com/legal/terms-of-use diff --git a/srcpkgs/btsync/files/btsync-vars.sh.in b/srcpkgs/btsync/files/btsync-vars.sh.in new file mode 100644 index 00000000000..a81ca4ff344 --- /dev/null +++ b/srcpkgs/btsync/files/btsync-vars.sh.in @@ -0,0 +1 @@ +export BTSYNC_URL="%BTSYNC_URL%" BTSYNC_CHECKSUM="%BTSYNC_CHECKSUM%" diff --git a/srcpkgs/btsync/files/btsync.conf b/srcpkgs/btsync/files/btsync.conf new file mode 100644 index 00000000000..aefe9a48e0d --- /dev/null +++ b/srcpkgs/btsync/files/btsync.conf @@ -0,0 +1,81 @@ +{ + "device_name": "My Sync Device", + "listening_port" : 0, // 0 - randomize port + +/* storage_path dir contains auxilliary app files if no storage_path field: .sync dir created in the directory + where binary is located. otherwise user-defined directory will be used */ + "storage_path" : "/var/lib/btsync", + +/* set location of pid file */ + "pid_file" : "/var/run/btsync/btsync.pid", + +/* use UPnP for port mapping */ + "use_upnp" : true, + +/* limits in kB/s. 0 - no limit */ + "download_limit" : 0, + "upload_limit" : 0, + +/* proxy configuration */ +// "proxy_type" : "socks4", // Valid types: "socks4", "socks5", "http_connect". Any other value means no proxy +// "proxy_addr" : "192.168.1.2", // IP address of proxy server. +// "proxy_port" : 1080, +// "proxy_auth" : false, // Use authentication for proxy. Note: only username/password for socks5 (RFC 1929) is supported, and it is not really secure +// "proxy_username" : "user", +// "proxy_password" : "password", + + "webui" : + { + "listen" : "0.0.0.0:8888" // remove field to disable WebUI + +/* preset credentials. Use password or password_hash */ +// ,"login" : "admin" +// ,"password" : "password" +// ,"password_hash" : "some_hash" // password hash in crypt(3) format +// ,"allow_empty_password" : false // Defaults to true +/* ssl configuration */ +// ,"force_https" : true // disable http +// ,"ssl_certificate" : "/path/to/cert.pem" +// ,"ssl_private_key" : "/path/to/private.key" + +/* directory_root path defines where the WebUI Folder browser starts (linux only). Default value is / */ +// ,"directory_root" : "/home/user/MySharedFolders/" + +/* directory_root_policy defines how directory_root is used (linux only). + Valid values are: + "all" - accepts directory_root and its subdirectories for 'getdir' and 'adddir' actions + "belowroot" - accepts directory_root's subdirectories for 'getdir' and 'adddir' actions, + but denies attempts to use 'adddir' to create directories directly within directory_root + Default value is "all". */ +// ,"directory_root_policy" : "all" + +/* dir_whitelist defines which directories can be shown to user or have folders added (linux only) + relative paths are relative to directory_root setting */ +// ,"dir_whitelist" : [ "/home/user/MySharedFolders/personal", "work" ] + } + +/* !!! if you set shared folders in config file WebUI will be DISABLED !!! + shared directories specified in config file override the folders previously added from WebUI. */ +/*, + "shared_folders" : + [ + { + "secret" : "MY_SECRET_1", // required field - use --generate-secret in command line to create new secret + "dir" : "/home/user/bittorrent/sync_test", // * required field + "use_relay_server" : true, // use relay server when direct connection fails + "use_tracker" : true, + "use_dht" : false, + "search_lan" : true, + "use_sync_trash" : true, // enable SyncArchive to store files deleted on remote devices + "overwrite_changes" : false, // restore modified files to original version, ONLY for Read-Only folders + "known_hosts" : // specify hosts to attempt connection without additional search + [ + "192.168.1.2:44444" + ] + } + ] +*/ + +/* Advanced preferences can be added to config file. Info is available at http://sync-help.bittorrent.com */ + +} diff --git a/srcpkgs/btsync/files/btsync/run b/srcpkgs/btsync/files/btsync/run new file mode 100644 index 00000000000..1c0fbd71bf0 --- /dev/null +++ b/srcpkgs/btsync/files/btsync/run @@ -0,0 +1,4 @@ +#!/bin/sh +mkdir -p /run/btsync +chown -R btsync:btsync /run/btsync +exec chpst -u btsync:btsync btsync --nodaemon --config /etc/btsync.conf 2>&1 diff --git a/srcpkgs/btsync/template b/srcpkgs/btsync/template new file mode 100644 index 00000000000..cfd6b739fff --- /dev/null +++ b/srcpkgs/btsync/template @@ -0,0 +1,61 @@ +pkgname=btsync +version=2.0.105 +revision=1 +repository=nonfree +short_desc="Automatically sync files via secure, distributed technology" +maintainer="Juhani Imberg " +license="Proprietary license" +homepage="https://www.getsync.com" + +case "${XBPS_TARGET_MACHINE}" in +x86_64) + _type=x64 + _hash=9e1427b7a6c6e960a378b97ac458ad53c445457ed0e5c8bf693f446597377b78 + ;; +i686) + _type=i386 + _hash=4d446255ff6332da9a244737d6c20e7dcd32d24a8eaabffbaf73147e5898ed8f + ;; +arm*) + _type=arm + _hash=c63fccb76ba3f5dd1197f33bfb8427747faaca9c030f9d8c7f5dfc016d293807 + ;; +esac + +_filename="BitTorrent-Sync_${_type}.tar.gz" +distfiles="https://download-cdn.getsyncapp.com/${version}/linux-${_type}/${_filename}" +checksum="$_hash" +skip_extraction=$_filename +create_wrksrc=yes +system_accounts="btsync" +btsync_homedir="/var/lib/btsync" +conf_files="/etc/btsync.conf" + +do_fetch() { + mkdir -p $wrksrc + cd $wrksrc + xbps-uhelper fetch $distfiles + echo "$checksum $_filename" | sha256sum -c || { sha256sum "$_filename"; return 1; } +} + +do_extract() { + : +} + +do_build() { + sed \ + -e "s|%BTSYNC_URL%|${distfiles}|" \ + -e "s|%BTSYNC_CHECKSUM%|${checksum}|" \ + ${FILESDIR}/btsync-vars.sh.in > btsync-vars.sh +} + +do_install() { + vmkdir "usr/lib/btsync" + vcopy btsync-vars.sh "usr/lib/btsync" + + vconf "${FILESDIR}/btsync.conf" + + vlicense "${FILESDIR}/LICENSE" + + vsv btsync +}