hroptatyr / yuck

Your Umbrella Command Kit, a bog-standard command line option parser for C with all the knickknackery and whatnots.
Other
61 stars 7 forks source link

Create Debian package for better project adoption #15

Open kravemir opened 6 years ago

kravemir commented 6 years ago

This project seems to be useful, I've found it, when I was looking for better alternative to GNU getopt. It seems to be able to build git-like command-line interface, which is great! I was looking for something like Python Click, of course without annotation, but I'm about CLI style.

Currently, dropt isn't available as debian package: https://packages.debian.org/search?searchon=names&keywords=yuck.

Open-source developers want to get their software packaged into official distribution repositories, because it makes it easier for users to use their software. And, it is much more complicated to package software, which uses library, which isn't in official distribution repositories.

Debian packages are automatically imported into Ubuntu package archives, which is one of the most popular distributions.

You should also consider getting project into official repositories of other distributions. I'm creating issue for Debian only, as I use Debian based distributions.

hroptatyr commented 6 years ago

Hi thanks for the suggestion. However, yuck being a developer-only tool I think its best place is here (on github). Especially since there are no run-time dependencies and, being a code generator, source files would need to be installed which is difficult in a binary-only distro, such as Debian.

rudimeier commented 6 years ago

Source files being installed wouldn't be a problem, like libtool (libltdl) or gettext (libintl).

Though for yuck it doesn't seem to make sense currently without having an m4 macro or maybe a "yuck-import" command to copy the needed files at autogen.sh time. If this would be added then project's could use yuck without having all the source files in their git repo. But requiring developers to have yuck globally installed might be bad as long as yuck is not famous yet.

Otherwise one could just import yuck from git at autogen time and putting it into the dist (make dist), like many projects use gnulib.

kravemir commented 6 years ago

Hi thanks for the suggestion. However, yuck being a developer-only tool I think its best place is here (on github).

Autotools is a tool for developers only, and it is packaged. CMake is too. Parser generators, lexer generators,... And, I bet, that there are hundreds of tools for developers only, which are packaged.

I'm not fan of an idea, to put sources of project dependencies, together with sources of the project. Also, download of sources at build time is no go, as package build should be stable, and not dependent on availability of web resources (they could cease to exist). Therefore, it depdency to be packaged to sources for Debian package, that means more work on project packaging.

Well, I wouldn't pick a library/tool, which makes my packaging process more complicated, and possible unstable, because the tool/depdency isn't packaged.

Hope, it doesn't sound aggressively. I mean it as advice, because it seems to be very useful tool. But, comment is just an opinion of a developer, who doesn't want to have extra issues with his project.