-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert using hardcoded php-intl meta package #3204
Conversation
… We've seen reports that just installing php5-intl or php7-intl isn't sufficient and that we need the meta package as well. Signed-off-by: DL6ER <dl6er@dl6er.de>
Debian prior to Jesse is not supported. We tried using this way and it didn't fix anything. See the notes for the PR that caused this change. |
@dschaper
Whoops, I means Debian prior to Stretch, hence including Jessie. Otherwise the whole php5 package check could be removed 😉. |
And yes, I've read the issues. Our fix works everywhere but, apparently, DietPi? And DietPi uses some "magic" to import versions of PHP that are not native to the underlying distribution. Thus I feel the problem is with trying to force those PHP packages in from a version that they are not meant to run on. |
@dschaper |
Since PHP7.0 lost support by a bunch of web applications (ownCloud, Nextcloud just to mention two), it is a pretty well known solution to use Ondrejs (official Debian PHP maintainer) PHP repo https://deb.sury.org/ to install newer PHP versions on Debian Stretch. And there are several other reasons why one might find multiple PHP versions available in the repos. Blindly taking the meta package that is pulled in by current policies, when there is a different PHP version installed already, will break things for many users. And you already HAVE the code there to check for matching PHP packages. Even when it would be the decision to only allow standard Debian repo and then use meta packages, then it is inconsistent to use those for intl module only while keeping the phpVar in place for all other modules. Either hard-code it for all of them or for none, else users will run into multiple PHP instances. And as for DietPi: This has no influence at all on DietPi since we skip the webserver install together with the PHP modules, but install them prior to Pi-hole installer.
This was never a fix, it simply had no effect for most users as the exact same PHP intl package is installed. And where it has an effect, it is a negative one. The whole assumption for the hardcode was based on one report where DietPi was used which skips the module installs all together, regardless of phpVar or meta package being used 😉. |
If the contributor that provided the instruction would like to respond. |
On the side, is there any way you can identify DietPi so that we can easily see during a debug run that your OS is being used? I think |
pi-hole/web#1148 (comment) (and below) That
However the originating reason for the misunderstanding and wrong fix should checked as well:
Probably it makes sense to document the consequence of this option, the required PHP modules and that those need to be installed manually, when using the option, what you think? Another idea:
So the idea would be to split:
|
If we could get a definitive answer from @mahowi and not third party interpretations of what we think was said or meant.
Consequences of what option? The consequences of not installing a webserver? I think that's rather obvious. Admin page doesn't work.
If no web server is installed then no PHP modules should be either. |
I'd still like to see some evidence of this being an issue with non DietPi installs however. |
@jfb-pihole When faced with a DietPi install having issues with the web interface I think our default response is to not install Pi-hole via DietPi-Software and to uninstall and instead use the Pi-hole |
This option was added by Fourdee that time to allow installing other webserver than Lighttpd or with the faster Of course this option is rarely used I guess, however since it exists with reason (that I hope you still agree with) it would make sense to either document it well and/or reduce unwanted impact to a minimum. |
Well, it seems that DietPi changes our installer or our files. There's a lot of |
Which issue you mean? Installing |
Okay, then pin/patch/modify your PHP configuration to lock |
Where you get this from? We run the installer untouched. There was one single current issue realted to the web interface with all Pi-hole beta installs and reported across the forum. Then you added PHP intl as fix to the installer, to a part of code which is not executed when using the --no-install-webserver option, hence when using this option the module must be installed manually (which is not an issue at all). As a result I added this to our code. I don't see why DietPi has anything to do with the topic of this PR.
This is impossible. It depends on the repo on which version this meta package depends on. Also I don't see why you en-question your own code with the phpVer variable now, which was added with good reason to avoid exactly the potential issues I want to re-resolve with this PR. And again, the whole code, phpVer, the PHP intl module and the commit that added static meta package (that I want to revert here) have anything to do with DietPi, so please keep this out of discussion here and concentrate on the question if the initial idea to use |
Okay, let's get to the bottom of the issue. Why do you want to make this change? What evidence can we impartially review that shows this change is needed? What does the person that proposed the change think is the proper action? |
What is your output from the same commands?
|
Lastly:
|
@dschaper Btw just in case, I know that my writing style can read rude in cases (which is not how it is meant) and when I am sure that I am right, I can be an insisting smart alec, sorry for that 😅. Okay lets go though it in chronological order:
So I hope the above clarifies that #3138 was based on misunderstanding and wrong conclusions and did not fix anything. Already this might be reason enough to revert it? |
I can confirm what @MichaIng wrote. As I didn't know about the |
"@jfb-pihole When faced with a DietPi install having issues with the web interface I think our default response is to not install Pi-hole via DietPi-Software and to uninstall and instead use the Pi-hole curl installation process?" This is correct, since we know the details of how our installer functions and not so much of how the DietPi install is implemented. Sometimes, but not always, this resolves the user problem. I too would like to see a clear indicator in a debug log that DietPi is the OS. We typically infer that from the DietPi name assigned to a device or to some details in the web config files, but a clear "this is DietPi" somewhere would be helpful. |
@jfb-pihole IMO better then asking the users to purge and reinstall Pi-hole with official installer, would be to redirect them to https://github.com/MichaIng/DietPi/issues, so we can investigate if this is an issue with DietPi-Software in the first place, if so can fix it, else forward to you. Since DietPi is a modified Debian/Raspbian, |
We do that with the Arch AUR package when issues come up. But those maintainers make it very clear to their users that it's fully supported by their own team. If a users comes to us to ask how to fix their non-working install, we try to fix it. In the vast majority of the cases an install via the official installer works. Nevertheless, identifying a DietPi install via the debugger would be the first step towards us sending those users to you for support. |
How do they make this clear? However lets get back to topic. Please read #3204 (comment) which should make clear that this PR simply reverts a mistake that didn't fix something. |
"IMO better then asking the users to purge and reinstall Pi-hole with official installer, would be to redirect them to https://github.com/MichaIng/DietPi/issues, so we can investigate if this is an issue with DietPi-Software in the first place, if so can fix it, else forward to you." I agree in principle, but in many cases when we ask the user which distro of Pi-hole they are using, they don't know. So, having them install it from the Pi-hole installer puts them on a known install platform, something we can help them with. Note that these help requests are coming to the Pi-hole team, so we work with what we know. If it's clear they are running the DietPi install, we do refer them to your site. "[[ -f /boot/dietpi.txt ]] is the safest way to check for DietPi, since this file must always exist and will never change location." This check should be added to the debugger. We don't want to get in the loop of ask/answer with users - "does this file exist, does that file exist, etc." It would be helpful if a debug log clearly showed us what we are dealing with, then we can point the user in the correct direction for help. |
@dschaper |
Using the meta package causes several issues: - Install on Debian prior to Jessie and Ubuntu prior to Xenial is broken, since those do not serve the meta packages but php5-* packages instead. - If $phpVer != "php", then multiple conflicting PHP versions can be installed. - If "${phpVer}-intl" does not pull the correct package, then inherently "${phpVer}-xml" etc are wrong, too. This is theoretically possible, e.g. if PHP7.4 was installed while the webserver uses a concurrently installed PHP7.3 instance. Then the "php" shell command output can differ from what the webserver uses. This theoretical issue would need a different approach to derive $phpVer, not based on the shell command output but by asking the webserver somehow in the first place. But using $phpVer for some modules and hardcoded meta for the others can only lead to inconsistencies and issues. Signed-off-by: MichaIng <micha@dietpi.com>
What was the conclusion on this? |
@DL6ER I think the trouble around DietPi causing bug reports with Pi-hole v5 in your forum, and that |
This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there: https://discourse.pi-hole.net/t/cant-update-to-5-0-php7-2-intl/31869/33 |
This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there: https://discourse.pi-hole.net/t/pi-hole-5-1-released/35577/1 |
By submitting this pull request, I confirm the following:
git rebase
)Signed-off-by: MichaIng micha@dietpi.com
What does this PR aim to accomplish?:
Using the meta package causes several issues:
How does this PR accomplish the above?: