From 7d0b5eefbab91c88388e5dadeca977feadfca1af Mon Sep 17 00:00:00 2001
From: JuhaniImberg <juhani@imberg.fi>
Date: Fri, 8 May 2015 22:40:52 +0300
Subject: [PATCH] btsync: changed make_dirs to home dir, added configuration
 file, fixed missing newlines

---
 srcpkgs/btsync/INSTALL           | 10 +---
 srcpkgs/btsync/REMOVE            |  2 +-
 srcpkgs/btsync/files/btsync.conf | 81 ++++++++++++++++++++++++++++++++
 srcpkgs/btsync/template          |  6 ++-
 4 files changed, 87 insertions(+), 12 deletions(-)
 create mode 100644 srcpkgs/btsync/files/btsync.conf

diff --git a/srcpkgs/btsync/INSTALL b/srcpkgs/btsync/INSTALL
index 5359bb2eb2..4896f4dec2 100644
--- a/srcpkgs/btsync/INSTALL
+++ b/srcpkgs/btsync/INSTALL
@@ -16,13 +16,5 @@ post)
 		exit 1;
 	}
 	cp $BUILD_DIR/btsync "usr/bin/btsync"
-	mkdir -p etc
-	if [ ! -f etc/btsync.conf ]; then
-		./$BUILD_DIR/btsync --dump-sample-config \
-			| sed 's:/home/user/\.sync:/var/lib/btsync:' \
-			| sed 's:\/\/ "pid_file":  "pid_file":' \
-			| sed 's:\/\/ "storage_path":  "storage_path":' \
-			> "etc/btsync.conf"
-	fi
 ;;
-esac
\ No newline at end of file
+esac
diff --git a/srcpkgs/btsync/REMOVE b/srcpkgs/btsync/REMOVE
index c9a0edb3a9..c3a3f67c6c 100644
--- a/srcpkgs/btsync/REMOVE
+++ b/srcpkgs/btsync/REMOVE
@@ -2,4 +2,4 @@ case "$ACTION" in
 pre)
 	rm usr/bin/btsync
 	;;
-esac
\ No newline at end of file
+esac
diff --git a/srcpkgs/btsync/files/btsync.conf b/srcpkgs/btsync/files/btsync.conf
new file mode 100644
index 0000000000..aefe9a48e0
--- /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/template b/srcpkgs/btsync/template
index 7ecf61c512..cfd6b739ff 100644
--- a/srcpkgs/btsync/template
+++ b/srcpkgs/btsync/template
@@ -28,7 +28,8 @@ checksum="$_hash"
 skip_extraction=$_filename
 create_wrksrc=yes
 system_accounts="btsync"
-make_dirs="/var/lib/btsync 0770 ${system_accounts} ${system_accounts}"
+btsync_homedir="/var/lib/btsync"
+conf_files="/etc/btsync.conf"
 
 do_fetch() {
 	mkdir -p $wrksrc
@@ -49,10 +50,11 @@ do_build() {
 }
 
 do_install() {
-
 	vmkdir "usr/lib/btsync"
 	vcopy btsync-vars.sh "usr/lib/btsync"
 
+	vconf "${FILESDIR}/btsync.conf"
+
 	vlicense "${FILESDIR}/LICENSE"
 
 	vsv btsync