Conversation
|
It seems like you aren't going to use Void Linux? |
|
No you are right. |
|
https://github.com/void-linux/void-packages/runs/7163511132?check_suite_focus=true
The cause is not very detailed by I guess it's the commit description that is wrong. By the way I was trying to change the package name to the tool name and thought this would have been enough: # Template file for 'haiti'
pkgname=haiti
_gemname=haiti-hash
version=1.3.0
revision=1
build_style=gem
depends="ruby-docopt ruby-paint"
short_desc="Hash type identifier (CLI & lib)"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://noraj.github.io/haiti/"
changelog="https://github.com/noraj/haiti/blob/master/docs/CHANGELOG.md"
distfiles="https://rubygems.org/downloads/${_gemname}-${version}.gem>${pkgname}-${version}.gem"
checksum=d2a2808cc1626bc5bb24c34a211645c2b3749af6f7d595a9a2d65d1be0d72a9f
post_install() {
vlicense LICENSE.txt
}But I have a hard time doing that since https://github.com/void-linux/void-packages/blob/master/common/build-style/gem.sh assume that But since I have So in order to manage that I have to re-define the whole # Template file for 'haiti'
pkgname=haiti
_gemname=haiti-hash
version=1.3.0
revision=1
build_style=gem
depends="ruby-docopt ruby-paint"
short_desc="Hash type identifier (CLI & lib)"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://noraj.github.io/haiti/"
changelog="https://github.com/noraj/haiti/blob/master/docs/CHANGELOG.md"
distfiles="https://rubygems.org/downloads/${_gemname}-${version}.gem>${pkgname}-${version}.gem"
checksum=d2a2808cc1626bc5bb24c34a211645c2b3749af6f7d595a9a2d65d1be0d72a9f
do_install() {
: ${gem_cmd:=gem}
local _GEMDIR _INSTDIR
_GEMDIR=$($gem_cmd env gemdir)
_INSTDIR=${DESTDIR}/${_GEMDIR}/gems/${_gemname}-${version}
$gem_cmd install \
--local \
--install-dir ${DESTDIR}/${_GEMDIR} \
--bindir ${DESTDIR}/usr/bin \
--ignore-dependencies \
--no-document \
--verbose \
${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname#ruby-}-${version}.gem
# Remove cache
rm -rf ${DESTDIR}/${_GEMDIR}/cache
# Remove ext directory. they are only source code and configuration
# The actual extensions are guarded in an arch path
rm -rf ${_INSTDIR}/ext
# Remove installed tests and benchmarks
rm -rf ${_INSTDIR}/{test,tests,autotest,benchmark,benchmarks,script,examples,demo}
# Remove files shipped on the root of the gem, most of the time they are useless
find ${_INSTDIR} -maxdepth 1 -type f -delete
# Remove unnecessary files
find ${DESTDIR}/${_GEMDIR}/extensions \( -name mkmf.log -o -name gem_make.out \) -delete
# Place manpages in usr/share/man/man[0-9]
if [ -d ${_INSTDIR}/man ]; then
find ${_INSTDIR}/man -type f -name '*.[0-8n]' | while read -r m; do
vman ${m}
done
fi
rm -rf "${_INSTDIR}/man"
# Place executables in /usr/bin
if [ -d "${_INSTDIR}/bin" ]; then
for f in "${_INSTDIR}"/bin/*; do
vbin "${f}"
done
fi
rm -rf ${_INSTDIR}/bin
# Place conf files in their places
if [ -d ${_INSTDIR}/etc ]; then
find ${_INSTDIR}/etc -type f | while read -r c; do
vmkdir ${c%/*}/
mv ${c} "${DESTDIR}/${c##*${_INSTDIR}/etc/}/"
done
fi
rm -rf ${_INSTDIR}/etc
# Ignore the ~> operator, replace it with >=
sed 's|~>|>=|g' \
-i ${DESTDIR}/${_GEMDIR}/specifications/${_gemname}-${version}.gemspec
}
post_install() {
vlicense LICENSE.txt
}Bit this seems hardly maintainable. So the 3 options are :
I wonder if there is an easy alternative I'm missing. |
|
It seems like noone will use it on Void Linux. |
|
It's a bit harsh to assume that and say it like that but ok, I guess security tools are not welcome on this distro. |
Sorry, but I only assume that because you wrote the tool and try to submit this tool to multiple distro.
Security tools are very welcomed in this distro. In facts, all tools which will be used by our users will be welcomed.
I think NO Void Linux users will use it. Evident: noone ever asked for it while
Maintaining a software also costs. Build and distribute are easy, since machine are cheap. Human cost is not.
I only know VUR because of your comments.
|
The tool is from 2019 and have already spread. I'm not actually trying to ship it in more distro for fame or whatever but because I had feedback from users that they don't want to
That make sense.
I know a least one Void user which use it but he is using the docker image or the distro package in an ArchLinux package because there is no Void package. Maybe there are more that are actually using a workaround and don't feel the need to request for it but would switch to void package if available. But again it make sens to me to not include it if it targets too few users. On ArchLinux there is an user repository (AUR) where people can vote for package, so eventually a dev can provide it's tool on the AUR and if it's a massive success and lot of people vote for it sometimes ArchLinux dev offers to include the tool in the official repo. Unfortunately there is no such a mechanism for Void.
For that I can maintain the Void package and bump / test it at each Haiti release, I put orphan because I thought it required the name of an official team member.
Yay, it seems very little know. Maybe you know another more popular void user repository alternative? |
In
Citation requested, please.
Citation requested, again.
No, it's fine to be used by a few users, (you're not using Void Linux, so I don't think you're counted).
Users can request to package it. See https://github.com/void-linux/void-packages/issues?q=is%3Aissue+is%3Aopen+label%3Arequest for current requests.
Maintaining a distro isn't simply bump version of a package, but also integrate with other parts of system.
No, I don't |
I didn't meant spread in term of distro coverage, but spread in term of it's known and used by security enthusiast peoples.
It's mostly oral feedback or Discord DMs. At least in the pentest community people are familiar with python and not afraid of pip install stuff but when it comes to cpan, npm, gem, cargo, etc. they are lost and don't know what to do so they prefer distro packages.
This is a personal friend of mines, I have no public record of my friend showing he use Void.
Thank you, has a BA dev I know that, that's why I also offered to test and stuff. But anyway, thanks for the discussion, I'll just add the Void template to haiti repo as in the end whatever the choice of where it's stored it will be me maintaining it. |
Testing the changes
Local build testing
Note
I have a hard time calling the package
haitiinstead ofruby-haiti-hash? see #37804 (comment)