Bug#1031647: git-annex: Bogus build dependency whitelist results in FTBFS on m68k
control: tag -1 + pending Hello, On Thu 23 Feb 2023 at 12:27PM -04, Joey Hess wrote: > Sean Whitton wrote: >> Joey, do you know why d/control restricts these build deps as it does? > > IIRC some of those deps are or were not available on some architectures > like m68k. And the deps used to be gated behind the webapp build flag, > so it would still build on those architectures without them installed. > > (I don't know how to get rmadison to display what packages are available > on m68k? If those deps are avilable now, you could make git-annex use > them.) > > Unfortunately, commit 78440ca37d75039d5eadd52eafbcd1751daba70a moved > those build dependencies from behind that build flag. See commit for > details; for some reason a new version of cabal changed its > behavior in a way that seemed buggy, and that was the only workaround > I could come up with at the time. > > One way you could get git-annex to build on arches where those build > deps are not available would be to remove those build deps from the cabal > file when building on those arches, and turning off the Assistant build > flag. > > I think I have a better way though. The attached patch seems to work > around that cabal problem in a way that will keep git-annex building > when those deps are not installd. It should be in the next release of > git-annex. Thank you very much for the information and for the patch. Given our freeze, I can add m68k to the list of architectures for those build-deps, but I don't think we should apply Joey's patch for now. But let's let 10.20230126 migrate to testing first. I've committed the change to git; please remind me if I don't upload it a couple of days from now. -- Sean Whitton signature.asc Description: PGP signature
Bug#1031647: git-annex: Bogus build dependency whitelist results in FTBFS on m68k
Sean Whitton wrote: > Joey, do you know why d/control restricts these build deps as it does? IIRC some of those deps are or were not available on some architectures like m68k. And the deps used to be gated behind the webapp build flag, so it would still build on those architectures without them installed. (I don't know how to get rmadison to display what packages are available on m68k? If those deps are avilable now, you could make git-annex use them.) Unfortunately, commit 78440ca37d75039d5eadd52eafbcd1751daba70a moved those build dependencies from behind that build flag. See commit for details; for some reason a new version of cabal changed its behavior in a way that seemed buggy, and that was the only workaround I could come up with at the time. One way you could get git-annex to build on arches where those build deps are not available would be to remove those build deps from the cabal file when building on those arches, and turning off the Assistant build flag. I think I have a better way though. The attached patch seems to work around that cabal problem in a way that will keep git-annex building when those deps are not installd. It should be in the next release of git-annex. -- see shy jo From f24f96e0186a61ef5940ce97de2713413989b63c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Feb 2023 10:35:19 -0400 Subject: [PATCH] move webapp build deps under Assistant build flag git-annex.cabal: Move webapp build deps under the Assistant build flag so git-annex can be built again without yesod etc installed. Commit 78440ca37d75039d5eadd52eafbcd1751daba70a got rid of the webapp build flag to work around what was apparently a cabal bug. It moved the webapp build deps to the main build-depends list. But that prevents building git-annex when yesod etc are not installed. Putting them under the Assistant build flag seems to not tickle that cabal bug, and lets git-annex build automatically with the assistant disabled when the webapp build deps are not installed. I hypotehesize that the problem may have involved build-depends nested behind two build flags. Also, cabal clean may need to be run in order for cabal to find the right solution after this change, when building in a directory where cabal configure had been run before. Also moved 3 modules that are needed to build git-annex w/o the assistant out from under the Assistant build flag. Sponsored-by: Brock Spratlen on Patreon --- CHANGELOG | 2 ++ git-annex.cabal | 37 +++-- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index a9dfdf469b..b833a04e23 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,8 @@ git-annex (10.20230215) UNRELEASED; urgency=medium * info: Fix reversion in last release involving handling of unsupported input by continuing to handle any other inputs, before exiting nonzero at the end. + * git-annex.cabal: Move webapp build deps under the Assistant build flag +so git-annex can be built again without yesod etc installed. -- Joey Hess Tue, 14 Feb 2023 14:11:11 -0400 diff --git a/git-annex.cabal b/git-annex.cabal index d3e0193005..349bda66bb 100644 --- a/git-annex.cabal +++ b/git-annex.cabal @@ -377,21 +377,7 @@ Executable git-annex aws (>= 0.20), DAV (>= 1.0), network (>= 3.0.0.0), - network-bsd, - mountpoints, - yesod (>= 1.4.3), - yesod-static (>= 1.5.1), - yesod-form (>= 1.4.8), - yesod-core (>= 1.6.0), - path-pieces (>= 0.2.1), - warp (>= 3.2.8), - warp-tls (>= 3.2.2), - wai, - wai-extra, - blaze-builder, - clientsession, - template-haskell, - shakespeare (>= 2.0.11) + network-bsd CC-Options: -Wall GHC-Options: -Wall -fno-warn-tabs -Wincomplete-uni-patterns Default-Language: Haskell2010 @@ -432,6 +418,21 @@ Executable git-annex if flag(Assistant) && ! os(solaris) && ! os(gnu) CPP-Options: -DWITH_ASSISTANT -DWITH_WEBAPP +Build-Depends: + mountpoints, + yesod (>= 1.4.3), + yesod-static (>= 1.5.1), + yesod-form (>= 1.4.8), + yesod-core (>= 1.6.0), + path-pieces (>= 0.2.1), + warp (>= 3.2.8), + warp-tls (>= 3.2.2), + wai, + wai-extra, + blaze-builder, + clientsession, + template-haskell, + shakespeare (>= 2.0.11) Other-Modules: Assistant Assistant.Alert @@ -447,8 +448,6 @@ Executable git-annex Assistant.Fsck Assistant.Gpg Assistant.Install - Assistant.Install.AutoStart - Assistant.Install.Menu Assistant.MakeRemote Assistant.MakeRepo Assistant.Monad @@ -540,7 +539,6 @@ Executable git-annex Command.Watch Command.WebApp Utility.Mounts - Utility.OSX Utility.Yesod Utility.WebApp @@ -673,6 +671,8 @@ Executable git-annex Annex.WorkerPool Annex.WorkTree Annex.YoutubeDl +Assistant.Install.AutoStart +Assistant.Install.Menu Backend Backend.Exter
Bug#1031647: git-annex: Bogus build dependency whitelist results in FTBFS on m68k
Hi Joey! On Thu, 2023-02-23 at 12:27 -0400, Joey Hess wrote: > Sean Whitton wrote: > > Joey, do you know why d/control restricts these build deps as it does? > > IIRC some of those deps are or were not available on some architectures > like m68k. And the deps used to be gated behind the webapp build flag, > so it would still build on those architectures without them installed. FWIW, adding m68k to the architecture list makes the package build fine. So, either way, I think m68k should be enabled to use all the possible build dependencies and doesn't need any limitation. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#1031647: git-annex: Bogus build dependency whitelist results in FTBFS on m68k
Hello, On Sun 19 Feb 2023 at 07:52PM +01, John Paul Adrian Glaubitz wrote: > git-annex currently FTBFS on m68k with an error message that indicates that > some > build dependencies are missing: > > Configuring git-annex-10.20230126... > Setup: Encountered missing or private dependencies: > clientsession, > wai, > wai-extra, > warp >=3.2.8, > warp-tls >=3.2.2, > yesod >=1.4.3, > yesod-core >=1.6.0, > yesod-form >=1.4.8, > yesod-static >=1.5.1 > > Looking at debian/control, these build dependencies are for some reason only > enabled > for a subset of architectures, namely those where the build dependency > doesn't arise Joey, do you know why d/control restricts these build deps as it does? -- Sean Whitton signature.asc Description: PGP signature
Bug#1031647: git-annex: Bogus build dependency whitelist results in FTBFS on m68k
Source: git-annex Version: 10.20230126-1 Severity: normal User: debian-...@lists.debian.org Usertags: m68k X-Debbugs-Cc: debian-...@lists.debian.org Hello! git-annex currently FTBFS on m68k with an error message that indicates that some build dependencies are missing: Configuring git-annex-10.20230126... Setup: Encountered missing or private dependencies: clientsession, wai, wai-extra, warp >=3.2.8, warp-tls >=3.2.2, yesod >=1.4.3, yesod-core >=1.6.0, yesod-form >=1.4.8, yesod-static >=1.5.1 Looking at debian/control, these build dependencies are for some reason only enabled for a subset of architectures, namely those where the build dependency doesn't arise: --- debian/control.old 2023-02-13 19:07:12.0 +0100 +++ debian/control 2023-02-19 19:37:53.133167401 +0100 @@ -34,16 +34,16 @@ libghc-hinotify-dev (>= 0.3.10) [linux-any], libghc-dbus-dev (>= 0.10.7) [linux-any], libghc-fdo-notify-dev (>= 0.3) [linux-any], - libghc-yesod-dev (>= 1.2.6.1) [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-yesod-core-dev (>= 1.6.0)[i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-yesod-form-dev (>= 1.3.15) [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-yesod-static-dev (>= 1.2.4) [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-shakespeare-dev (>= 2.0.0) [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-clientsession-dev[i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-warp-dev (>= 3.0.0.5)[i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-warp-tls-dev [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-wai-dev [i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], - libghc-wai-extra-dev[i386 amd64 arm64 armel armhf kfreebsd-i386 kfreebsd-amd64 mips mips64el mipsel powerpc ppc64el s390x], + libghc-yesod-dev (>= 1.2.6.1), + libghc-yesod-core-dev (>= 1.6.0), + libghc-yesod-form-dev (>= 1.3.15), + libghc-yesod-static-dev (>= 1.2.4), + libghc-shakespeare-dev (>= 2.0.0), + libghc-clientsession-dev, + libghc-warp-dev (>= 3.0.0.5), + libghc-warp-tls-dev, + libghc-wai-dev, + libghc-wai-extra-dev, libghc-dav-dev (>= 1.0), libghc-persistent-dev (>= 2.8.1), libghc-persistent-template-dev, Thus, I would suggest removing the white-list and enabling the build dependencies for all architectures. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913