You are not logged in.

#1 2024-03-10 10:41:51

AngeD
Member
Registered: 2021-03-04
Posts: 13

[SOLVED] Unnecessary dependencies for shellcheck

The package shellcheck has a lot of unnecessary dependencies on arch:

depends=('ghc-libs' 'haskell-aeson' 'haskell-diff' 'haskell-fgl' 'haskell-quickcheck' 'haskell-regex-tdfa')

Debian/Fedora/Alpine... don't have the haskell deps and the program works perfectly well if you just download the binary from the github.
I also tried to fork the PKGBUILD and remove these and it works.

You can't report a bug in the new gitlab because you need an account. Where should I report this?

Last edited by AngeD (2024-03-10 17:56:29)

Offline

#2 2024-03-10 11:35:59

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,292

Re: [SOLVED] Unnecessary dependencies for shellcheck

Remove them with pacman -Rdd and try to run it

Offline

#3 2024-03-10 16:53:38

AngeD
Member
Registered: 2021-03-04
Posts: 13

Re: [SOLVED] Unnecessary dependencies for shellcheck

I never installed them. Until now, I downloaded the binary manually. With the PKGBUILD, I cloned the gitlab repo and edited the depends line like so (I build packages in containers to avoid installing the makedepends):

diff --git a/PKGBUILD b/PKGBUILD
index 5d8ee42..48f5b83 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,9 +10,8 @@ pkgdesc="Shell script analysis tool"
 url="https://www.shellcheck.net"
 license=("GPL")
 arch=('x86_64')
-depends=('ghc-libs' 'haskell-aeson' 'haskell-diff' 'haskell-fgl' 'haskell-quickcheck'
-         'haskell-regex-tdfa')
-makedepends=('ghc' 'pandoc' 'uusi')
+depends=()
+makedepends=('ghc' 'haskell-diff' 'haskell-fgl' 'pandoc' 'uusi')
 source=("$_hkgname-$pkgver.tar.gz::https://github.com/koalaman/shellcheck/archive/v$pkgver.tar.gz")
 sha512sums=('5677ad24602f666bb83358947b740a25fb80afbb991e5fc8436dfa8e970b1e6a828cf7d53fcd24f855764437c6799e194989467a2931e21165d43bc474d57061')

The package installs and run just fine.

Just to be sure, I checked with this command:

$ pacman -Q | grep haskell

It doesn't show anything.

Offline

#4 2024-03-10 17:09:42

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,480
Website

Re: [SOLVED] Unnecessary dependencies for shellcheck

Which binary did you download?  The binary executable built and provided by the arch package requires the ghc-libs as it is a dynamic executable relying on shared libraries.  Other distros may build a statically linked shellcheck which would not require the lib packages to be installed.

Arch typically does not build / provide static binaries, though there are couple exceptions.  I could see a reasonable argument that utilities written in haskell should be statically linked, but that is the case you would need to make.  You can not use the dynamically linked executable without the libs.  And if you have actually ran the test suggested by arojas, you would have seen that yourself.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#5 2024-03-10 17:40:27

AngeD
Member
Registered: 2021-03-04
Posts: 13

Re: [SOLVED] Unnecessary dependencies for shellcheck

The binary from the github repo.
I can see how the one build with the PKGBUILD could be different, but in this case, I'm really not sure how...

I can't do what arojas said because the packages where never installed on my system. As I said, I built the package using the dockerfile below and installed the package with pacman -U on bare metal, and the package works fine.
If there is something I did wrong, please tell me and I will fix it.

FROM docker.io/archlinux/archlinux:latest
RUN pacman -Syu --noconfirm base-devel
RUN useradd -m app && echo "app ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/app
USER app
$ git diff
diff --git a/PKGBUILD b/PKGBUILD
index 5d8ee42..48f5b83 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,9 +10,8 @@ pkgdesc="Shell script analysis tool"
 url="https://www.shellcheck.net"
 license=("GPL")
 arch=('x86_64')
-depends=('ghc-libs' 'haskell-aeson' 'haskell-diff' 'haskell-fgl' 'haskell-quickcheck'
-         'haskell-regex-tdfa')
-makedepends=('ghc' 'pandoc' 'uusi')
+depends=()
+makedepends=('ghc' 'haskell-diff' 'haskell-fgl' 'pandoc' 'uusi')
 source=("$_hkgname-$pkgver.tar.gz::https://github.com/koalaman/shellcheck/archive/v$pkgver.tar.gz")
 sha512sums=('5677ad24602f666bb83358947b740a25fb80afbb991e5fc8436dfa8e970b1e6a828cf7d53fcd24f855764437c6799e194989467a2931e21165d43bc474d57061')

$ git show --summary
commit a2346f51b89e10dcc67d81b00c05d3624ff52242 (HEAD -> main, tag: 0.10.0-1, origin/main, origin/HEAD)
Author: Caleb Maclennan <alerque@archlinux.org>
Date:   Fri Mar 8 23:03:33 2024 +0300

    upgpkg: 0.10.0-1

$ pacman -Q | grep -e ghc-libs -e haskell   # no output and grep exits 1

Offline

#6 2024-03-10 17:56:13

AngeD
Member
Registered: 2021-03-04
Posts: 13

Re: [SOLVED] Unnecessary dependencies for shellcheck

Ok nvm I'm dumb, I forgot to remove the binary I downloaded from the path, /usr/bin/shellcheck doesn't work without the deps.
My apologies.

Offline

Board footer

Powered by FluxBB