You are not logged in.
I am not sure where is the best place to ask this... There is a package in the AUR called "apache-tools" that provides some apache-related tools such as htpasswd. Rather than that being a separate AUR package, could it be a package provided by the "apache" package such that its presence does not conflict with installing "apache" ?
Use case... I have Ansible configurations used for provisioning and "apache-tools" is included as a provider of generally useful command-line tools. On a subset of nodes that run webservers, they call for "apache" but it conflicts with "apache-tools". It would be good if "apache" satisfied the call for "apache-tools" in this case, replacing "apache-tools" if that is already installed.
If "apache" could provide "apache-tools" then the "apache-tools" package could be removed from the AUR.
Offline
The apache package already provides the tools that AUR package mentions:
$ pacman -Fx "/usr/bin/(htdigest$|htpasswd$|ab$|htdbm$)"
usr/bin/ab is owned by extra/apache 2.4.66-1
usr/bin/htdbm is owned by extra/apache 2.4.66-1
usr/bin/htdigest is owned by extra/apache 2.4.66-1
usr/bin/htpasswd is owned by extra/apache 2.4.66-1What is ansible failing on?
Mod note: moving to NC.
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
Apache tools is installed as part of a baseline default to give things like htpassword without needing the full apache package. But when apache is required, that default presence of apache-tools prevents it from installing (Pacman terminates with an error) rather than the install just going ahead because it satisfies apache-tools.
Offline
well, comparing the PKGBUILDs the conflict is justified: both use the current httpd release as source
the difference is that "apache" properly configures and builds the full httpd server along with user/group and service while "apache-tools" merely extracts the bundled tools
so the proper solution seem to update your playbooks and split between apache and apache-tools depend on if you rather only need the tools or if the node is a full webserver instance
although i see the question of why apache-tools exists rather this way: what do you need components of the httpd server without the server itself?
most can be done by other means - like htpasswd can also be done with openssl
so the question becomes: what's the need for EXACTLY that cannot be satisfied otherwise?
Offline
in a nutshell, engineer on their laptop has htpasswd which is convenient (yes, openssl could be used but only if you know how). It's a user convenience. Server has full-blown apache on it.
I agree you can use openssl but, if you don't know how then you have to go and find out. The apache-tools must have been provided with this convenience in mind. It would make sense to me to have these packages work together.
Offline
Apache tools is installed as part of a baseline default
This is the real problem here.
Offline
starfry wrote:Apache tools is installed as part of a baseline default
This is the real problem here.
why, what's wrong with that?
Offline
Exactly what you're running into. You are saying you MUST have that package installed when it's simply not true. It should not be part of the baseline default
Offline
How is apache-tools being installed? Is it installed from a repo, or does the Ansible role/playbook pull the PKGBUILD from the AUR and build the package…?
If it's the former, couldn't you instead provide an `apache-tools` metapackage that simply pulls in apache as a dependency as a workaround?
Better would be of course to fix the Ansible code itself (starting with: what is htpasswd used for?).
But not sure if that's an option. Is the Ansible code publicly available?
Offline
starfry wrote:Apache tools is installed as part of a baseline default
This is the real problem here.
I see another one
yes, openssl could be used but only if you know how). It's a user convenience. Server has full-blown apache on it.
I agree you can use openssl but, if you don't know how then you have to go and find out.
using the wrong tool just for the convenience of refusing to learn HOW to use the correct one
as one trained in metal works i can think of several "it gets the job done"-anologies - and as one wise person once taught me: the perfect tool for you is the one you get the job done best - but that still doesn't mean to abuse callipars for markings as callipers aren't just made for markings but specifically for meassuring and meassuting only
same goes with apache-tools: someone felt the "need" to just grab the few tools the httpd source package comes with for the sake of convenience to not bother to learn how to use other tools proper to get the job done
so, if you feel the "need" to abuse htpasswd just because you don't want to learn how to use openssl - or do whatever it is you use htpasswd for aside from a htdocs dir of a server - then THAT's the root cause of the conflict you encounter
tl;dr: you got yourself in a xy-problem - instead of try to get a solution for your conflict you should avoid it in the first place
Offline