Hacker News new | past | comments | ask | show | jobs | submit login

I would love for someone to maintain a PPA. :-)

I've looked into it before, but it looks like a fairly weighty process to go through.

It does look like someone is working on it though! https://github.com/x4121/ripgrep-ubuntu




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:

    $ curl -LO https://github.com/BurntSushi/ripgrep/releases/download/0.10.0/ripgrep_0.10.0_amd64.deb
    $ sudo dpkg -i ripgrep_0.10.0_amd64.deb


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"


I changed it a bit to be able to update more than one package: https://www.pastery.net/mushya/


This is perfect, thank you! I didn't know that there was a GH API endpoint to give you latest release names, that's pretty neat.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: