Commit graph

2579 commits

Author SHA1 Message Date
Joey Hess
cfa0c7a7c7
add missing libghc-unliftio-core-dev dep
Noticed looking at official debian packaging.
2022-12-26 12:39:07 -04:00
Joey Hess
5256be61c1
When youtube-dl is not available in PATH, use yt-dlp instead
Debian is going to drop youtube-dl which is not active upstream, and yt-dlp
is the replacement. This will make it be used if youtube-dl gets removed.

If an old version of youtube-dl remains installed, git-annex will still use
it. That might not be desirable, but changing git-annex to use yt-dlp in
preference to youtube-dl when both are installed risks breaking when
the user has annex.youtube-dl-options set to something that is supported
by youtube-dl, but not by yt-dlp.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-11-21 14:40:33 -04:00
Joey Hess
c24ce026d8
change name of option
See https://bugs.debian.org/885987
2022-10-03 13:02:11 -04:00
Joey Hess
982eb7ed0d
remove vendored http-client-restricted
Removed vendored copy of http-client-restricted, and removed the
HttpClientRestricted build flag that avoided that dependency.

http-client-restricted is in Debian stable, and the i386ancient build also
uses it, so I think this vendored copy is no longer needed.

Sponsored-by: Noam Kremen on Patreon
2022-03-22 11:50:06 -04:00
Joey Hess
d3b7c6705c
clean up concurrent output of tests
Using concurrent-output this is easy. Just have to check if tasty has
color enabled, and propagate it into the worker processes, some of which
will be run without a controlling console.

Also added a call to installSignalHandlers; I noticed that interrupting
the test suite could leave the console in a bad state and this fixes
that.

The ansi-terminal dependency is free, since tasty also depends on it.

Sponsored-by: Dartmouth College's Datalad project
2022-03-16 12:41:28 -04:00
Yaroslav Halchenko
00a917d2d2
Update standalone patch for changes in debian/control text description 2022-01-07 17:24:50 -04:00
Joey Hess
218a3c0f09
improve description
Sponsored-by: Jack Hill on Patreon
2022-01-06 12:24:27 -04:00
Joey Hess
5555697ae6
Enable building with git-annex benchmark by default
Only turning it off when the criterion library is not installed.

Not enabled for osx or i386ancient yet since that will need some
invesitgation to update their respective stack.yaml files.
2020-10-02 13:57:10 -04:00
Joey Hess
087b7ee66a
Revert "data type that starts off using a set but converts to a bloom filter when large"
This reverts commit 7e2c4ed216.

I was not able to use this in the end..
See comment in the previous commit.
2020-07-01 20:12:19 -04:00
Joey Hess
7e2c4ed216
data type that starts off using a set but converts to a bloom filter when large
This adds a dep on hashable, but it's a free dependency, since
unordered-containers already pulled it in.

Using unordered-containers for the set seems to make sense, since it
hashes and bloom filter hashes too. (Though different hashes.)
I dunno, never quite know if I should use unordered-containers or containers.
2020-07-01 14:06:12 -04:00
Yaroslav Halchenko
bb20c16cf0
debian/: declare breaks until yet to be released datalad 0.12.3
This is due to upcoming release with API breakage:
    * add: Removed the --include-dotfiles option.
which is used in the core of datalad.  Such breakage is yet to be mitigated
on DataLad side. Relevant issue: https://github.com/datalad/datalad/issues/4185
2020-02-27 12:39:13 -04:00
Joey Hess
c08a38f5ee
add libghc-filepath-bytestring-dev build dep
Debian impressively packaged my new library before anyone even asked
them to, and before git-annex needed it.
2019-12-27 15:10:11 -04:00
Yaroslav Halchenko
e296637737
(Build-)depend on git >= 2.22 to avoid memory leaked git being bundled or used
Note from Joey:
  git-annex still supports git 2.1, but operates in a degraded fashion.
  It would be better for backports of the debian package to also
  backport a newer git. This dependency is mostly expressing that,
  also that any users who might upgrade git-annex should also upgrade
  git.

  Also worth noting that the i386ancient autobuilder has git 2.1 on it
  (best I have been able to manage there), but luckily the epoch is
  bumped to 2, so the dependencies will still be satisfied.
2019-11-22 13:56:18 -04:00
Joey Hess
fef3cd055d
Removed support for git versions older than 2.1
debian oldoldstable has 2.1, and that's what i386ancient uses. It would be
better to require git 2.2, which is needed to use adjusted branches, but
can't do that w/o losing support for some old linux kernels or a
complicated git backport.
2019-09-11 16:14:43 -04:00
Joey Hess
7f97575941
Makefile: Changed default zsh completion location to zsh default fpath.
Systems such as Debian that have overridden the default fpath will need to
set ZSH_COMPLETIONS_PATH.

I feel that Debian is causing unncessary complexity by making this change,
and have filed a bug report about it.

This also means that when git-annex is installed with PREFIX=/usr/local
it will use /usr/local/share/zsh/site-functions which works with probably
all versions of zsh.
2019-08-16 14:08:56 -04:00
Joey Hess
5fcaaf77db
Make git-annex-standalone.deb include the shell completions again
Was lost when the install-completions target was added.
2019-08-16 13:47:48 -04:00
Joey Hess
42c386fc47
add: Display progress meter when hashing files.
* add: Display progress meter when hashing files.
* add: Support --json-progress option.
2019-06-25 13:12:47 -04:00
Yaroslav Halchenko
0c085986fc
debian: fix for install-misc being renamed to install-desktop 2019-03-26 21:10:17 -04:00
Joey Hess
dd554fabb8
fix link on download page and add a few more to break later 2018-12-10 12:55:13 -04:00
Joey Hess
e83af72e99
remove libghc-stm-dev dep
It moved into ghc, so bump ghc version.
2018-12-04 15:12:07 -04:00
Joey Hess
f62114e5ad
Merge branch 'remove-esqueleto' 2018-11-20 11:50:04 -04:00
Yaroslav Halchenko
c17f4ca88f
BF: fix standalone-build patch to not strip away netbase from Depends
Also refreshed the patch altogether
2018-11-15 11:28:19 -04:00
Yaroslav Halchenko
b4e7eef509
BF: adjust the standalone patch for the change in Breaks statement 2018-11-12 13:24:15 -04:00
Joey Hess
4340173c22
remove unused dep 2018-11-10 12:31:07 -04:00
Yaroslav Halchenko
5483deecd5
debian: Current version breaks released versions of datalad 2018-11-05 11:36:47 -04:00
Joey Hess
3963c5fcf5
better approach to enabling WAL mode
The old approach opened the database an extra time to enable WAL mode,
but more recent persistent-sqlite has a better API to enable it.
2018-10-30 13:47:38 -04:00
Yaroslav Halchenko
042e20d895
BF: refreshed debian/patches/standalone-build for addition of netbase 2018-09-19 15:28:59 -04:00
Yaroslav Halchenko
672973149f
BF: add netbase to Depends:
see https://github.com/nipy/heudiconv/issues/260 for more
context, but it seems to be required on a lean docker instances
for git annex to be usable
2018-09-19 15:28:59 -04:00
Joey Hess
bcaf6bcf45
remove no longer used dependency
Utility.SRV used to use this
2018-09-05 11:49:01 -04:00
Joey Hess
1272ccdf1e
git pkt-line format
Git uses pkt-line in the pack and http protocols, and for the long-running
filter processes protocol as well.

This should be a quite efficient parser and builder since it uses
attoparsec and bytestring-builder.

This adds a dependency on attoparsec, but it's a free dependency because
eg aeson depends on attoparsec and git-annex depends on aeson.

This commit was supported by the NSF-funded DataLad project.
2018-08-10 14:12:33 -04:00
Yaroslav Halchenko
2cf30081bf
Use git describe output for defining sortable version for NeuroDebian snapshots
It largely reverts all the changes to the state of bfef0ba69f
to get a sortable version of git-annex-standalone package
2018-08-09 11:08:24 -04:00
Joey Hess
9366fae13a
remove debian/cabal-wrapper
No longer used in either the upstream debian/ or debian's debian/
2018-08-04 10:22:55 -04:00
Yaroslav Halchenko
37a9d2572b
BF: debian/rules -- use BUILDER=./Setup to avoid network access
per Joey's recommendation
original cabal issue/reason: https://github.com/haskell/cabal/issues/5363

Seems to build ok now even on buster.
2018-08-04 10:18:58 -04:00
Joey Hess
e802323071
deal with the persistent locpath issue
linux standalone: Generate locale files in ~/.cache/git-annex/locales/ so
they're available even when the standalone tarball is installed in a
directory owned by root.

This avoids a full-on reference counting cleanup hell, by letting old
locale caches linger as long as the standalone bundle directory associated
with them is still around. Old ones get cleaned up.

In the case where the directory has a new bundle unpacked over top of it,
the old locale cache is invalidated and rebuilt. Of course, running
programs using that may get confused, but this was already the case, and
unpacking over top of a bundle is probably not a good idea anyhow.

To support that, added a buildid file, which only needs to be unique across
builds of git-annex with different libc versions. sha1sum of git-annex
seems good enough for that.

Removed debian/patches/standalone-no-LOCPATH as it's no longer
necessary.

This commit was supported by the NSF-funded DataLad project.
2018-07-10 12:13:19 -04:00
Yaroslav Halchenko
fd725a0bb1
NF: a standalone-no-LOCPATH patch for the Debian standalone build 2018-06-25 13:54:14 -04:00
Yaroslav Halchenko
ccab0070a5
BF: deb standalone patch - force use of gzip compression 2018-05-23 11:48:29 -04:00
Yaroslav Halchenko
ea915b6777
Refresh standalone-build 2018-05-20 14:00:28 -04:00
Joey Hess
c34152777b
Use http-conduit for url downloads by default, annex.web-options enables curl
* For url downloads, git-annex now defaults to using a http library,
  rather than wget or curl. But, if annex.web-options is set, it will
  use curl. To use the .netrc file, run:
    git config annex.web-options --netrc
* git-annex no longer uses wget (and wget is no longer shipped with
  git-annex builds).

Note that curl is always run in silent mode, since the new API for
download has a MeterUpdate and doesn't make way for curl progress
output. It might be worth writing a parser for curl's progress output
to update the meter when using it, but I didn't bother with this edge
case for now.

This commit was supported by the NSF-funded DataLad project.
2018-04-06 17:36:20 -04:00
Joey Hess
2927618d35
Added adb special remote which allows exporting files to Android devices.
git annex testremote passes.

exportree not implemented yet, although the documentation talks about it,
since it will be the main way this remote will be used.

The adb push/pull progress is displayed for now; it would be better
to consume it and use it to update the git-annex progress bar.

This commit was sponsored by andrea rota.
2018-03-27 14:54:41 -04:00
Joey Hess
8f71b316c9
remove chrpath hack
Makefile: Remove chrpath workaround for bug in cabal,  which is no longer
needed.

https://github.com/haskell/cabal/issues/2717 says it uses RUNPATH instead
of RPATH now, but I don't even see that for statically linked libraries;
the bug with that appears to be fixed.

cabal-install version 1.24.0.2
compiled using version 1.24.2.0 of the Cabal library

I left the rpath removal using otool on OSX because those straight up
broke the linker, and I don't know if the OSX autobuilder is updated to
a new enough cabal to not need it.

This commit was sponsored by Ewen McNeill on Patreon.
2018-02-27 12:02:38 -04:00
Yaroslav Halchenko
8e8b4634be
Updated patch for standalone 2018-02-20 16:15:00 -04:00
Joey Hess
39b59c341f
send stderr to json when --json-error-messages enabled 2018-02-19 15:28:38 -04:00
Joey Hess
aee9adbadc
Add gpg-agent to Build-Depends. Needed to run the test suite.
Merged from Debian.

I think what this actually deals with is the case where gpg is installed,
but gpg-agent is not, since Utility.Gpg.stdParams enables --use-agent
when GPG_BATCH is set, and the test suite enables GPG_BATCH. So, test suite
will work with gpg not installed, or with both gpg and gpg-agent installed,
but not with only gpg.

For this reason, I've also put in an explicit dep on gnupg, although
dpkg-dev recommends it and all debian package builds tend to have it
available implicitly.
2018-02-14 17:32:44 -04:00
Joey Hess
be62234e3f
use Breaks 2018-02-09 11:01:55 -04:00
Yaroslav Halchenko
ddec6a71e7
Adjusted debian/patches/standalone-build for changes in control 2018-02-09 11:00:59 -04:00
Joey Hess
6f72bd0b47
datalad < 0.9.1 had a problem in its special remote protocol handling which is broken by EXTENSIONS. Make the debian git-annex package conflict with the problem version of datalad. 2018-02-07 16:16:33 -04:00
Joey Hess
f00770d736
Removed no longer needed dependency on yesod-default.
This commit was sponsored by Nick Daly on Patreon.
2017-12-05 13:18:25 -04:00
Joey Hess
d6d8f72957
documentation update for youtube-dl
Code not updated yet.

This commit was sponsored by Thomas Hochstein on Patreon.
2017-11-28 14:05:58 -04:00
Joey Hess
57b4c5bdff
add Utility.HtmlDetect
This will be used in youtube-dl integration, to tell when a html page has
been downloaded by addurl, in which case it is worth running youtube-dl
to see if it can extract media from it.

tagsoup is an almost free dependency, because yesod depends on it.
So, this only really adds a dep when git-annex is built without the
webapp.

I'd like this to as closely as possible match how browsers decide if a
page is html or not. Unfortunately, that is fairly heuristic, in order
to support malformed html. And, we don't want to falsely detect
something as html just because it has something that looks like a html
tag embedded somewhere in it. Probably any major video hosting site is
going to be serving html documents that at least start with a <html>
tag, so requiring that or a DOCTYPE should be good enough.

This commit was sponsored by Jeff Goeke-Smith on Patreon.
2017-11-28 13:03:11 -04:00
Yaroslav Halchenko
c3fd257b2c
Added a note to standalone build that it would break datalad << 0.9.1 2017-10-11 12:13:19 -04:00