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.20211117.tar.gz b/git-annex-8.20211117.tar.gz
deleted file mode 100644
index aff8a2c..0000000
--- a/git-annex-8.20211117.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:636f119d1f4db8d0f3c6bf5952a1092c208311cbe6532a59e5c0d6dda100b3d3
-size 8599406
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 bf58681..b898b82 100644
--- a/git-annex.changes
+++ b/git-annex.changes
@@ -1,3 +1,41 @@
+-------------------------------------------------------------------
+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
diff --git a/git-annex.spec b/git-annex.spec
index e1ab307..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.20211117
+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