cabal-audit icon indicating copy to clipboard operation
cabal-audit copied to clipboard

Provide balanced installation/contribution instructions

Open hasufell opened this issue 1 year ago • 4 comments

Both the installation section and the contribution section tell me to use nix as the first option. In the worst case, this will make an uninformed newcomer install nix and go down a rabbit hole of tooling nightmares (YMMV).

I suggest to be a bit more balanced. Cabal and Stack are by far the most popular options to build haskell projects: https://taylor.fausak.me/2022/11/18/haskell-survey-results/#s3q0

I don't see a stack.yaml in this repo either.

hasufell avatar May 16 '24 04:05 hasufell

Hi! That's a great idea. Providing contribution instructions using cabal should be trivial, it should already “just work”. I will do that.

I probably won’t maintain a stack.yaml though, I never personally use that tool and it is kinda subsumed by what nix does.

MangoIV avatar May 16 '24 07:05 MangoIV

This would be great. For example, trying just now:

git clone [email protected]:MangoIV/cabal-audit.git 
cd cabal-audit
cabal update
cabal install
cabal run cabal-audit

Apparently does not work, resulting in the following error:

cabal-audit failed:
Listing the advisories in directory /tmp/cabal-audit-f2a93cceff80dacf failed with: 
[AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n",AdvisoryError [MatchMessage {matchAnn = Nothing, matchPath = [], matchMessage = "missing mandatory key: advisory.date"}] "missing mandatory key: advisory.date in <top-level>\n"]

telser avatar Jun 06 '24 13:06 telser

can you come around? I don’t think the reason has anything to do with the installation, it’s an upstream bug in the security advisories tooling. The PR I have open there will fix it.

MangoIV avatar Jun 06 '24 13:06 MangoIV

The issue is how git outputs dates and how the security-advisories tooling parsers them.

MangoIV avatar Jun 06 '24 13:06 MangoIV