Ah, fantastic! I've never deployed a PPA so I don't know the process, but how hard would it be to write a tool that would take a few debs and render the static dir to host the PPA? It seems like it shouldn't be as hard as it is?
I don't use Ubuntu or Debian. I honestly have not much idea about how any of it works. Like I said, I looked into it and balked. The Linux distro I use has a much simpler build system. It had ripgrep in its repos in a matter of days from the initial release IIRC.
ripgrep's releases do include binary debs, but there's no auto-update:
Yeah, unfortunately those are versioned so I can't even make a script to have it download https://someurl/ripgrep_latest_amd64.deb. I just added `cargo install ripgrep` to my script but that might prove too slow every time, so I'll see. Thank you!
Here's a quick little script I put together that should do the trick. It's idempotent, so it won't do anything if there are no updates. I did use `jq` for convenience though.
#!/bin/sh
curvers=
if command -V rg > /dev/null 2>&1; then
curvers="$(rg -V | cut -d' ' -f2)"
fi
latesturl="https://api.github.com/repos/BurntSushi/ripgrep/releases/latest"
latestvers="$(curl -s "$latesturl" | jq -r .tag_name)"
if [ "$curvers" = "$latestvers" ]; then
echo "ripgrep is up to date"
exit 0
fi
name="ripgrep_${latestvers}_amd64.deb"
url="https://github.com/BurntSushi/ripgrep/releases/download/$latestvers/$name"
(cd /tmp && curl -LO "$url" && sudo dpkg -i "$name")
echo "ripgrep updated from $curvers to $latestvers"
If you don’t mind the wait to compile rustc from source once (only for tools written in rust, of course), linuxbrew is a pretty neat way of keeping tools that aren’t directly on your distro’s repos up-to-date. Nix is another option.
I agree that `/home/linuxbrew/.linuxbrew` looks weird, but `~/.linuxbrew` seems somewhat okay.
Other locations like `/usr/local` or `/opt/linuxbrew` or somesuch might not be writable by the current user, and it seems they would like to avoid requiring root access.
How would /home/linuxbrew/ be writeable by a non root?
Using /home/ like /opt/ is just weird. It seems the installer picks ~/.linuxbrew/ if the user doesn't have sudo privilege but no idea how it got to the conclusion of using /home/linuxbrew/ otherwise.