add network-multicast to bulld depends
This commit is contained in:
parent
980e93ae0e
commit
a8e05c8da1
5 changed files with 31 additions and 7 deletions
5
Makefile
5
Makefile
|
@ -2,7 +2,10 @@ CFLAGS=-Wall
|
|||
GIT_ANNEX_TMP_BUILD_DIR?=tmp
|
||||
IGNORE=-ignore-package monads-fd -ignore-package monads-tf
|
||||
BASEFLAGS=-threaded -Wall $(IGNORE) -outputdir $(GIT_ANNEX_TMP_BUILD_DIR) -IUtility
|
||||
FEATURES=-DWITH_ASSISTANT -DWITH_S3 -DWITH_WEBAPP -DWITH_OLD_YESOD
|
||||
|
||||
# If you get build failures due to missing haskell libraries,
|
||||
# you can turn off some of these features.
|
||||
FEATURES=-DWITH_ASSISTANT -DWITH_S3 -DWITH_WEBAPP -DWITH_OLD_YESOD -DWITH_MULTICAST
|
||||
|
||||
bins=git-annex
|
||||
mans=git-annex.1 git-annex-shell.1
|
||||
|
|
1
debian/control
vendored
1
debian/control
vendored
|
@ -38,6 +38,7 @@ Build-Depends:
|
|||
libghc-crypto-api-dev,
|
||||
libghc-hamlet-dev,
|
||||
libghc-clientsession-dev,
|
||||
libghc-network-multicast-dev,
|
||||
ikiwiki,
|
||||
perlmagick,
|
||||
git,
|
||||
|
|
|
@ -3,11 +3,23 @@ have some way of pairing devices.
|
|||
|
||||
It could work like this:
|
||||
|
||||
1. Prompt for the hostname (or do avahi local machine discovery).
|
||||
2. Enable the two hosts to ssh to one-another and run git-annex shell.
|
||||
(A tricky problem, if ssh keys need to be added to do that.)
|
||||
3. Push over a clone of the repository. (Using git-annex-shell?)
|
||||
4. Start [[syncing]].
|
||||
1. Prompt for the hostname, or do avahi local machine discovery, or use
|
||||
ZeroMQ with IP multicast, or use haskell's `network-multicast`. That
|
||||
last option seems to work best!
|
||||
2. Let user pick host to pair with. Somehow authenticate that this is
|
||||
the host they expected to pair with, and not an imposter. Probably
|
||||
have the users enter a shared secret and use it to HMAC the ssh public
|
||||
keys.
|
||||
3. Exchange a hostname or IP address with the pair. Ideally,
|
||||
use `.local`, as it'll work as long as both are on the same subnet.
|
||||
If mDNS is not available, regular DNS or IP addresses might have
|
||||
to be used, but will result in a more fragile pairing. Or perhaps
|
||||
the assistant could broadcast itself queries for current IP addresses,
|
||||
if connecting to a paired host fails.
|
||||
4. Enable the two hosts to ssh to one-another and run git-annex shell.
|
||||
(Set up per-host ssh keys.)
|
||||
5. Pull over a clone of the repository.
|
||||
6. Start [[syncing]].
|
||||
|
||||
Also look into the method used by
|
||||
<https://support.mozilla.org/en-US/kb/add-a-device-to-firefox-sync>
|
||||
|
|
|
@ -65,6 +65,7 @@ libraries. To build and use git-annex by hand, you will need:
|
|||
* [crypto-api](http://hackage.haskell.org/package/crypto-api)
|
||||
* [hamlet](http://hackage.haskell.org/package/hamlet)
|
||||
* [clientsession](http://hackage.haskell.org/package/clientsession)
|
||||
* [network-multicast](http://hackage.haskell.org/package/network-multicast)
|
||||
* Shell commands
|
||||
* [git](http://git-scm.com/)
|
||||
* [uuid](http://www.ossp.org/pkg/lib/uuid/)
|
||||
|
|
|
@ -40,6 +40,9 @@ Flag Assistant
|
|||
Flag Webapp
|
||||
Description: Enable git-annex webapp
|
||||
|
||||
Flag Multicast
|
||||
Description: Enable multicast pairing
|
||||
|
||||
Executable git-annex
|
||||
Main-Is: git-annex.hs
|
||||
Build-Depends: MissingH, hslogger, directory, filepath,
|
||||
|
@ -75,13 +78,17 @@ Executable git-annex
|
|||
Build-Depends: dbus
|
||||
CPP-Options: -DWITH_DBUS
|
||||
|
||||
if flag(Webapp)
|
||||
if flag(Webapp) && flag(Assistant)
|
||||
Build-Depends: yesod, yesod-static, case-insensitive,
|
||||
http-types, transformers, wai, wai-logger, warp, blaze-builder,
|
||||
blaze-html, crypto-api, hamlet, clientsession,
|
||||
template-haskell, yesod-default (>= 1.1.0), data-default
|
||||
CPP-Options: -DWITH_WEBAPP
|
||||
|
||||
if flag(Multicast) && flag(Webapp)
|
||||
Build-Depends: network-multicast
|
||||
CPP-Options: -DWITH_MULTICAST
|
||||
|
||||
if os(darwin)
|
||||
CPP-Options: -DOSX
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue