Track nixpkgs package update
Be notified when to upgrade a package

1 TODO Packaging

Move elsewhere

  • no need to open a separate PR for a simple backport. Just mention on the original PR (for master) that this should be backported to 19.03
  • if for some reason you need a PR for a release branch, please base it directly on release-19.03. (staging-19.03 is only used for changes that cause mass rebuilds).
  • please use git cherry-pick -x for cherry-picking commits from master to another branch so we can track the origin of each change

2 TODO Listing packages

2.1 TODO From NixOS/nixpkgs

I maintain packages in the NixOS/nixpkgs upstream repository. Let’s make the assumption that I am listed as maintainer in those packages (if not, well, I need to open a PR). Thus, I need to list all packages (or derivation in the Nix world) where I appear as a maintainer.

We can use rg (manual) for that task :

  • searching only pkgs/
  • searching for vdemeester and maintainers on the same line
  • displaying files only
rg -l -e ".*maintainer.*vdemeester" ~/src/github.com/NixOS/nixpkgs
Results

/home/vincent/src/github.com/NixOS/nixpkgs/pkgs/servers/consul/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/servers/traefik/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/tools/networking/kail/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/tools/security/notary/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/gomodifytags/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/skopeo/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/gauge/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/kube-prompt/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/go-outline/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/gopkgs/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/delve/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/gotests/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/skaffold/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/go-symbols/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/goconvey/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/vndr/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/kustomize/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/godef/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/podman/conmon.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/podman/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/runc/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/containerd/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/docker/proxy.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/virtualization/docker/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/networking/cluster/cni/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix /home/vincent/src/github.com/NixOS/nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix

Once we have that list, we need to get the url or repository (GitHub, Gitlab, …) for upstream, so we can map a name with a repository. We also need to use the name (name, or pname) of the derivation (instead of the folder name or the file name). We are going to play a bit with grep and cut.

for f in ${files}; do
    names=$(cat $f | grep --perl-regexp --only-matching 'name = "\K.*"' | cut --fields=1 --delimiter='{')
    for name in ${names}; do
        echo ${name%-$}
    done
done
Results

consul traefik kail notary gomodifytags-unstable skopeo gauge go-outline kube-prompt delve gotests gopkgs skaffold go-symbols goconvey vndr-unstable kustomize godef podman conmon runc containerd docker-proxy docker-runc docker-containerd docker-init docker drone.io cni minishift git-appraise-unstable

Now that we have a list, we want to get the potential URL to subscribe too… This is gonna be tricky as there can be several cases : fetchFromGitHub, fetchFromGit, …

2.2 TODO From vdemeester/nur-packages

It’s a bit easier than for NixOS/nixpkgs, as I maintain the whole repository, thus I need to watch all the packages in this repository.

3 TODO Subscribing to release updates

4 TODO Notification

Emacs 24.3.50.3 (Org mode 8.0.3)

Vincent Demeester. Last Updated 2019-04-09 Tue 21:30 (exported 2019-05-15 Wed 18:20).