Hmm, so Archlinux has packer[0] that provides an executable named `packer` and now there is packer-io[1] that changes the upstream executable from `packer` to `packer-io`. Now i have a Makefile that runs packer-io[1] that fails on systems where its executable is not renamed to `packer-io`. (eg. everything[2] else than Archlinux) I would like to provide the user a single command to build "my" software (eg. make), but am not sure what i should do. 1. Tell Archlinux users to manually alias/link `packer` pointing to `packer-io`? 2. Automagically try to findout the correct executable in Makefile? 3. Request a rename of packer[0] executable upstream? 4. Request a rename of packer-io[1] executable upstream? What would you do? Cheers .andre [0] https://aur.archlinux.org/packages/packer/ [1] https://aur.archlinux.org/packages/packer-io/ [2] at least Debian and MS-Windows
On 23-06-2016 15:04, Andre "Osku" Schmidt via arch-general wrote:
Hmm,
so Archlinux has packer[0] that provides an executable named `packer` and now there is packer-io[1] that changes the upstream executable from `packer` to `packer-io`.
Now i have a Makefile that runs packer-io[1] that fails on systems where its executable is not renamed to `packer-io`. (eg. everything[2] else than Archlinux)
I would like to provide the user a single command to build "my" software (eg. make), but am not sure what i should do.
1. Tell Archlinux users to manually alias/link `packer` pointing to `packer-io`? 2. Automagically try to findout the correct executable in Makefile? 3. Request a rename of packer[0] executable upstream? 4. Request a rename of packer-io[1] executable upstream?
What would you do?
Cheers .andre
[0] https://aur.archlinux.org/packages/packer/ [1] https://aur.archlinux.org/packages/packer-io/ [2] at least Debian and MS-Windows
Packer and packer-io, at first glance, seem to be different projects. Even if they aren't different projects, both packages are in the AUR and therefore unsupported. As far as I know the only officially supported way of building and installing packages on Arch Linux is using makepkg and pacman. -- Mauro Santos
On Thu, Jun 23, 2016 at 4:23 PM, Mauro Santos via arch-general < arch-general@archlinux.org> wrote:
Hmm,
so Archlinux has packer[0] that provides an executable named `packer` and now there is packer-io[1] that changes the upstream executable from `packer` to `packer-io`.
Now i have a Makefile that runs packer-io[1] that fails on systems where its executable is not renamed to `packer-io`. (eg. everything[2] else
On 23-06-2016 15:04, Andre "Osku" Schmidt via arch-general wrote: than
Archlinux)
I would like to provide the user a single command to build "my" software (eg. make), but am not sure what i should do.
1. Tell Archlinux users to manually alias/link `packer` pointing to `packer-io`? 2. Automagically try to findout the correct executable in Makefile? 3. Request a rename of packer[0] executable upstream? 4. Request a rename of packer-io[1] executable upstream?
What would you do?
Cheers .andre
[0] https://aur.archlinux.org/packages/packer/ [1] https://aur.archlinux.org/packages/packer-io/ [2] at least Debian and MS-Windows
Packer and packer-io, at first glance, seem to be different projects. Even if they aren't different projects, both packages are in the AUR and therefore unsupported.
As far as I know the only officially supported way of building and installing packages on Arch Linux is using makepkg and pacman.
yeah, those are two different projects with the same (upstream) executable name. packer : aur helper for pacman. packer-io : build tool for vagrant boxes. hmm, hang on. when archlinux never allow aur helpers in repo, only packer-io could land in archlinux repos. ergo its executable doesn't need to (officially) be renamed from `packer` to `packer-io`. :P i can live with that :D cheers .andre
On 23.06.2016 16:04, Andre "Osku" Schmidt via arch-general wrote:
I would like to provide the user a single command to build "my" software (eg. make), but am not sure what i should do.
If there are pkg-config files or similar to detect the correct settings, use those. Otherwise, just default to whatever is most common and provide a configure option or environment variable (when you only have a makefile) to change the value. Feel free to add a sanity check that for example looks at the --version output if there is something like that. If you add that, include an option to disable it though. It might break in the future depending on what you look for. Also, you want the distro maintainers to package your software for you. They know what to do and they do stuff like this all the time. You don't have to waste time on creating packages yourself or ask normal users to install from source. Experienced users will be capable of changing a configure option if they really need to build from source. Normal users should use packages maintained by their distro. Also kind of fitting: http://kmkeen.com/maintainers-matter/ HTH, Florian
On Thu, Jun 23, 2016 at 4:58 PM, Florian Pritz via arch-general < arch-general@archlinux.org> wrote:
On 23.06.2016 16:04, Andre "Osku" Schmidt via arch-general wrote:
I would like to provide the user a single command to build "my" software (eg. make), but am not sure what i should do.
If there are pkg-config files or similar to detect the correct settings, use those. Otherwise, just default to whatever is most common and provide a configure option or environment variable (when you only have a makefile) to change the value. Feel free to add a sanity check that for example looks at the --version output if there is something like that. If you add that, include an option to disable it though. It might break in the future depending on what you look for.
Also, you want the distro maintainers to package your software for you. They know what to do and they do stuff like this all the time. You don't have to waste time on creating packages yourself or ask normal users to install from source. Experienced users will be capable of changing a configure option if they really need to build from source. Normal users should use packages maintained by their distro.
Also kind of fitting: http://kmkeen.com/maintainers-matter/
ah, sorry for leaving you with the impression that i'm using `make` for the classical use-case, my bad. i'm using make to simply run shell commands[0]. and what it builds is a vagrant box (virtual machine) that is not really supposed to be added in linux distro package manager repo. the blog post maintainers-matter is on my todo list, thanks for the reminder! (i wonder if it questions what the "Universal Linux Packages" will do in such case when different upstreams deliver same executable name? and you have automation tools that want to run the correct executable?) Cheers .andre [0] https://github.com/oskude/vagrant-archmini/blob/master/Makefile
participants (3)
-
Andre "Osku" Schmidt
-
Florian Pritz
-
Mauro Santos