diff --git a/_service b/_service
new file mode 100644
index 0000000..f16198a
--- /dev/null
+++ b/_service
@@ -0,0 +1,15 @@
+
+
+ https://git.joeyh.name/git/git-annex.git
+ git
+ 8.20211231
+ @PARENT_TAG@
+ disable
+
+
+
+
+ *.tar
+ xz
+
+
diff --git a/git-annex-8.20211028.tar.gz b/git-annex-8.20211028.tar.gz
deleted file mode 100644
index 977c6f0..0000000
--- a/git-annex-8.20211028.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e184cc795a4eaf3f1b0cb8ee7b0670a0e33db25daee9c3a4c0188b3b63a5dbee
-size 8565925
diff --git a/git-annex-8.20211231.tar.xz b/git-annex-8.20211231.tar.xz
new file mode 100644
index 0000000..c0247d1
--- /dev/null
+++ b/git-annex-8.20211231.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d6e60171cd1a22cd3259a17144fd5706dd15e7ed120e1524f0982c4504e72a0a
+size 6768544
diff --git a/git-annex.changes b/git-annex.changes
index f27450e..b898b82 100644
--- a/git-annex.changes
+++ b/git-annex.changes
@@ -1,3 +1,67 @@
+-------------------------------------------------------------------
+Wed Jan 19 12:40:15 UTC 2022 - Ben Greiner
+
+- Update to git-annex version 8.20211231
+ * Improved support for using git-annex in a read-only repository,
+ git-annex branch information from remotes that cannot be merged
+ into the git-annex branch will now not crash it, but will be
+ merged in memory.
+ * addurl, youtube-dl: When --check-raw prevents downloading an
+ url, still continue with any downloads that come after it,
+ rather than erroring out.
+ * Fix locking problems when annex.pidlock is set and concurrency
+ is enabled eg with -J.
+ * Improve error message display when autoinit fails due to eg, a
+ permissions problem.
+ * export: Avoid unncessarily re-exporting non-annexed files that
+ were already exported.
+ * Improve git command queue flushing so that eg, addurl of
+ several large files that take time to download will update the
+ index for each file, rather than deferring the index updates to
+ the end.
+ * sync: Better error message when unable to export to a remote
+ because remote.name.annex-tracking-branch is configured to a
+ ref that does not exist.
+ * Fix build with ghc 9.0.1
+ * Fix build with old versions of feed library.
+- git-annex 8.20211123 was released with these changes:
+ * Bugfix: When -J was enabled, getting files could leak an
+ ever-growing number of git cat-file processes.
+ * Support git's new "ort" resolver, which became the default in
+ git 2.34.0, and broke the test suite and automatic merge
+ resolution of a conflict between an annexed file and a
+ non-annexed file.
+ * importfeed: Display url before starting youtube-dl download.
+- Move to _service checking out the upstream source directly
+- Avoid compiling and linking the binary a second time in the
+ install phase and a third time in the check phase
+
+-------------------------------------------------------------------
+Sat Nov 20 17:31:42 UTC 2021 - psimons@suse.com
+
+- Update git-annex to version 8.20211117.
+ git-annex (8.20211117) upstream; urgency=medium
+
+ * filter-process: New command that can make git add/checkout faster when
+ there are a lot of unlocked annexed files or non-annexed files, but that
+ also makes git add of large annexed files slower. Use it by running:
+ git config filter.annex.process 'git-annex filter-process'
+ * Fix a typo in the name of youtube-dl
+ (reversion introduced in version 8.20210903)
+ * git-lfs: Fix interoperability with gitlab's implementation of the
+ git-lfs protocol, which requests Content-Encoding chunked.
+ * importfeed: Fix a crash when used in a non-unicode locale.
+ * migrate: New --remove-size option.
+ * uninit: Avoid error message when no commits have been made to the
+ repository yet.
+ * uninit: Avoid error message when there is no git-annex branch.
+ * metadata --batch: Avoid crashing when a non-annexed file is input,
+ instead output a blank line like other batch commands do.
+ * metadata --batch --json: Reject input whose "fields" does not consist
+ of arrays of strings. Such invalid input used to be silently ignored.
+
+ -- Joey Hess Wed, 17 Nov 2021 12:18:49 -0400
+
-------------------------------------------------------------------
Mon Nov 1 08:26:45 UTC 2021 - psimons@suse.com
diff --git a/git-annex.spec b/git-annex.spec
index 20c83c5..d31fb23 100644
--- a/git-annex.spec
+++ b/git-annex.spec
@@ -1,7 +1,7 @@
#
# spec file for package git-annex
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,12 +17,13 @@
Name: git-annex
-Version: 8.20211028
+Version: 8.20211231
Release: 0
Summary: Manage files with git, without checking their contents into git
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
-URL: https://hackage.haskell.org/package/%{name}
-Source0: https://github.com/opensuse-haskell/git-annex/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
+URL: https://git-annex.branchable.com/
+# Update the revision element in the _service file and run `osc service runall` for updates
+Source0: %{name}-%{version}.tar.xz
BuildRequires: bash-completion
BuildRequires: chrpath
BuildRequires: curl
@@ -129,8 +130,8 @@ BuildRequires: lsof
BuildRequires: rsync
Requires(post): desktop-file-utils
Requires(post): hicolor-icon-theme
-Requires(postun): desktop-file-utils
-Requires(postun): hicolor-icon-theme
+Requires(postun):desktop-file-utils
+Requires(postun):hicolor-icon-theme
Recommends: curl
Recommends: gpg2
Recommends: lsof
@@ -168,20 +169,26 @@ Optional dependency offering bash completion for git-annex
%prep
%autosetup
+# don't build again when installing manuals, completions, and desktop files
+sed -i '/^install-.*:/ s/build//' Makefile
%build
%define cabal_configure_options -ftestsuite
%ghc_bin_build
-%check
-%make_build DESTDIR=%{buildroot} BUILDER=./Setup test
-
%install
%ghc_bin_install
+# The make install-completions target expects the binary in the local directory
+ln -s %{buildroot}%{_bindir}/git-annex ./git-annex
make DESTDIR=%{buildroot} BUILDER=./Setup install-mans install-completions install-desktop
rm %{buildroot}%{_datadir}/fish/vendor_completions.d/git-annex.fish
rm %{buildroot}%{_datadir}/zsh/site-functions/_git-annex
+%check
+export PATH=%{buildroot}%{_bindir}:$PATH
+# this is `make test` but without the repeated build of the binaries and with immediate display of the results
+%{buildroot}%{_bindir}/git-annex test
+
%files
%license COPYRIGHT
%doc CHANGELOG NEWS README
@@ -193,7 +200,7 @@ rm %{buildroot}%{_datadir}/zsh/site-functions/_git-annex
%dir %{_datadir}/icons/hicolor/16x16/apps
%dir %{_datadir}/icons/hicolor/scalable
%dir %{_datadir}/icons/hicolor/scalable/apps
-%{_sysconfdir}/xdg/autostart/git-annex.desktop
+%config %{_sysconfdir}/xdg/autostart/git-annex.desktop
%{_mandir}/man1/git-annex*.1%{?ext_man}
%{_mandir}/man1/git-remote-tor-annex.1%{?ext_man}
%{_datadir}/applications/git-annex.desktop