Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskell.package-list: dont report broken packages to Hackage #243601

Merged
merged 2 commits into from
Oct 22, 2023

Conversation

nomeata
Copy link
Contributor

@nomeata nomeata commented Jul 15, 2023

Description of changes

Claiming that a hackage package is available in nixpkgs when we
explicitly mark it as broken is less helpful, so let's filter them out.

This changes the number of reported packages from 17137 to 10937.

Fixes #243512

Things done

Tested nix-build -A haskell.package-list.

Claiming that a hackage package is available in nixpkgs when we
explicitly mark it as broken is less helpful, so let's filter them out.

This changes the number of reported packages from 17137 to 10937.

Fixes NixOS#243512
@nomeata nomeata changed the title haskell: Hackage dont report broken haskell.package-list: Hackage dont report broken Jul 15, 2023
@nomeata nomeata changed the title haskell.package-list: Hackage dont report broken haskell.package-list: dont report broken packages to Hackage Jul 15, 2023
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels Jul 15, 2023
@maralorn
Copy link
Member

Excellent, thank you!

Note, that a lot of packages are not marked broken themselves but are only implicitly broken by one of their dependencies. Compare our broken.yaml, which lists packages which receive the broken flag, with transitive-broken.yaml which contains packages for which we only deactivate the hydra job, so the user sees the real culprit on eval.

If we do this we should hide packages from both lists.

@nomeata
Copy link
Contributor Author

nomeata commented Jul 15, 2023

Should I keep the existing workflow, and extend hackage2tex to put a transitivelyBroken attribute into meta?

Or should I just parse ./pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml directly from ./pkgs/development/haskell-modules/package-list.nix?

@sternenseemann
Copy link
Member

sternenseemann commented Jul 15, 2023 via email

@nomeata
Copy link
Contributor Author

nomeata commented Jul 15, 2023

Done. After going from 17137 to 10937 we are now down to 6624.

@maralorn
Copy link
Member

Yeah, that number is exactly the right ball park.

@nomeata
Copy link
Contributor Author

nomeata commented Jul 15, 2023

Doing the same to the repology report at https://repology.org/repositories/statistics/total would drop us below AUR. I wonder if people will like this… but it’s certainly the right move: repology/repology-updater#1340

@nomeata
Copy link
Contributor Author

nomeata commented Jul 15, 2023

Is this a rule that applies outside of haskell packages too, so that Repology should ignore packages with "hydraPlatforms": []? Or is in general broken the better attribute?

@maralorn
Copy link
Member

Well, to be fair in theory hydraPlatforms == [] is an underapproximation. It e.g. applies to unfree software which we cannot cache for licensing reasons but are perfectly fine and working packages, happens e.g. for some games which we have packaged. That is not so much a concern for Haskell because Hackage only accepts Open Source licenses. But it could happen for non-Hackage packages of which we have a few.

The ratio of broken to transitive broken packages in the rest of nixpkgs is unknown to me. My guess is that that we don’t have a lot of transitively broken packages in the rest of nixpkgs. In all parts of the package set which are not autogenerated broken is more thought to be a temporary thing anyway, I guess? If a package is broken for a while we can just drop it.

Besides that I 100% agree that repology should ignore broken packages.

@nomeata
Copy link
Contributor Author

nomeata commented Jul 17, 2023

Besides that I 100% agree that repology should ignore broken packages.

Repology doesn't agree, it seems: repology/repology-updater#1340. Not sure if there are further good arguments.

@maralorn
Copy link
Member

Well, doesn’t really impact the usability of nixpkgs, so that’s fine by me.

@nomeata
Copy link
Contributor Author

nomeata commented Oct 20, 2023

Excellent, thank you!

@maralorn, care to merge in that case?

@maralorn maralorn merged commit f8e6a54 into NixOS:haskell-updates Oct 22, 2023
@nomeata nomeata deleted the hackage-dont-report-broken branch October 22, 2023 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: haskell 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants