autojump-rs icon indicating copy to clipboard operation
autojump-rs copied to clipboard

Arch Linux package

Open jonhoo opened this issue 4 years ago • 4 comments

I was very excited to find this project, so I went ahead and made an Arch Linux package out of it: autojump-rs.

Some notes:

  • It basically runs the installer from the original autojump to get all the shell completion stuff, and then just tidies up the Python bits and replaces bin/autojump.
  • It seems to work very well!
  • I'm getting some warnings about the released binary (0.4.0):
    autojump-rs W: ELF file ('usr/bin/autojump') lacks FULL RELRO, check LDFLAGS.
    autojump-rs W: ELF file ('usr/bin/autojump') lacks PIE.
    
  • I opted to remove the man page that the original autojump provides, since there are a couple of differences between what they provide (as you outline in the README). Is there an easy way to generate a manpage and include that in the release tarballs?
  • 0.4.0 is getting pretty old — it'd be nice to have a new release with updated dependencies :)

jonhoo avatar Jun 20 '20 14:06 jonhoo

Hi @jonhoo, first of all thanks for your packaging effort!

As it turns out the upstream autojump is dead since 2018, so I've just decided to absorb its remaining non-code parts into this repo. This will take some time but things like documentation can be amended. After that the autojump-rs package will block autojump because they both provide $BINDIR/autojump, but accommodating that change should be trivial.

As for the resulting executable lacking PIE and such security features, I'll look into it after reworking the CI to get us new binaries to play with. Maybe updating toolchain versions will help, maybe not, I forgot the exact details.

xen0n avatar Jun 21 '20 08:06 xen0n

I've already set autojump-rs to conflicts=(autojump), so that should be fine.

Absorbing the non-code parts seems like a good call, though make sure you then also attribute correctly as the GPL requires!

jonhoo avatar Jun 21 '20 15:06 jonhoo

hello, looking at the installation script, the location of autocomplete.fish seems wrong:

install -d "${pkgdir}"/usr/share/fish/completions
mv "${pkgdir}"/etc/profile.d/autojump.fish "${pkgdir}"/usr/share/fish/completions

Shouldn't it be in /usr/share/fish/functions as it provides functions rather than completions ?

It being in /usr/share/fish/completions is causing a weird behavior where j jc etc. are only sourced once I type autojump THEN press <Tab> twice to try and get the completions of the command

Edit: Actually putting it in /usr/share/fish/functions is no good either. It should be in /usr/share/fish/vendor_conf.d/

midnightexigent avatar Mar 28 '21 23:03 midnightexigent

Good catch! Updated in package revision 2.

jonhoo avatar Apr 01 '21 04:04 jonhoo