nixpkgs/maintainers/scripts
Sergei Trofimovich 8a256ed0a7 maintainers/scripts/bootstrap-files: documentation and a script to update tarballs
This script attempts to document the exact procedure used to upload
bootstrap binaries used previously. I modeled it after most recent
https://github.com/NixOS/nixpkgs/pull/282517 upload.

There is one deviation from it to make it easier to handle mass updates
for https://github.com/NixOS/nixpkgs/issues/253713:

The binaries are expected to be stored in `stdenv/$target` (and not
something like `stdenv-linux/i686`.

The script handles both native and cross- linux targets. `darwin` will
need a bit more work to fin into this scheme, but it should be easy.

Example run to generate `i686-linux` update:

    $ maintainers/scripts/bootstrap-files/refresh-tarballs.bash --commit --targets=i686-unknown-linux-gnu
2024-01-28 14:48:18 +00:00
..
bootstrap-files maintainers/scripts/bootstrap-files: documentation and a script to update tarballs 2024-01-28 14:48:18 +00:00
convert-to-import-cargo-lock
doc doc/manpage-urls.json: Add *all* systemd manpages 2023-12-12 23:06:11 +00:00
haskell haskellPackages: stackage LTS 21.23 -> LTS 21.25 2024-01-04 13:31:30 +01:00
all-tarballs.nix release.nix: namespace bootstrap tools with triples 2023-10-07 19:38:01 +00:00
build.nix
check-by-name.sh maintainers/scripts/check-by-name.sh: Introduce symlink alias 2023-12-22 00:04:16 +01:00
check-hydra-by-maintainer.nix
check-maintainer-github-handles.sh
check-maintainers-sorted.nix
convert-to-import-cargo-lock.sh
copy-tarballs.pl
db-to-md.sh
debian-patches.sh
dep-licenses.sh
eval-release.nix
eval-release.sh
feature-freeze-teams.pl
fetch-kde-qt.sh
find-tarballs.nix
fix-maintainers.pl maintainers/fix-maintainers.pl: error on unset GH_TOKEN 2023-10-09 09:05:38 -04:00
get-maintainer.sh maintainers-list.nix: Document (current) invitation process, add get-maintainer.sh (#267084) 2023-12-08 02:57:38 +01:00
hydra-eval-failures.py
hydra_eval_check
luarocks-config.lua
luarocks-packages.csv Merge remote-tracking branch 'origin/master' into staging-next 2023-12-26 16:33:57 +01:00
mdize-module.sh
nix-call-package
nix-diff.sh
nix-generate-from-cpan.nix
nix-generate-from-cpan.pl
nixpkgs-lint.nix
nixpkgs-lint.pl
patchelf-hints.sh
pluginupdate.py maintainers/scripts/pluginupdate.py: filter invalid XML characters 2024-01-03 23:23:09 +01:00
README.md maintainers/scripts/check-by-name.sh: Introduce symlink alias 2023-12-22 00:04:16 +01:00
rebuild-amount.sh
remove-old-aliases.py maintainers/scripts/remove-old-aliases: Drop pkgs. prefix if present 2023-09-12 11:41:36 +00:00
sha-to-sri.py maintainers/scripts/sha256-to-SRI.py: rename to sha-to-sri.py 2023-09-22 18:37:24 +02:00
update-channel-branches.sh
update-dotnet-lockfiles.nix
update-octave-packages
update-octave-shell.nix
update-python-libraries
update-redirected-urls.sh
update-ruby-packages
update.nix
update.py
vanity-manual-equalities.txt
vanity.sh

Maintainer scripts

This folder contains various executable scripts for nixpkgs maintainers, and supporting data or nixlang files as needed. These scripts generally aren't a stable interface and may changed or be removed.

What follows is a (very incomplete) overview of available scripts.

Metadata

check-by-name.sh

An alias for pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh, see documentation.

get-maintainer.sh

get-maintainer.sh [selector] value returns a JSON object describing a given nixpkgs maintainer, equivalent to lib.maintainers.${x} // { handle = x; }.

This allows looking up a maintainer's attrset (including GitHub and Matrix handles, email address etc.) based on any of their handles, more correctly and robustly than text search through maintainers-list.nix.

 ./get-maintainer.sh nicoo
{
  "email": "nicoo@debian.org",
  "github": "nbraud",
  "githubId": 1155801,
  "keys": [
    {
      "fingerprint": "E44E 9EA5 4B8E 256A FB73 49D3 EC9D 3708 72BC 7A8C"
    }
  ],
  "name": "nicoo",
  "handle": "nicoo"
}

 ./get-maintainer.sh name 'Silvan Mosberger'
{
  "email": "contact@infinisil.com",
  "github": "infinisil",
  "githubId": 20525370,
  "keys": [
    {
      "fingerprint": "6C2B 55D4 4E04 8266 6B7D  DA1A 422E 9EDA E015 7170"
    }
  ],
  "matrix": "@infinisil:matrix.org",
  "name": "Silvan Mosberger",
  "handle": "infinisil"
}

The maintainer is designated by a selector which must be one of:

  • handle (default): the maintainer's attribute name in lib.maintainers;
  • email, name, github, githubId, matrix, name: attributes of the maintainer's object, matched exactly; see maintainer-list.nix for the fields' definition.