[dev] Installation Thoughts
Michael M Slusarz
slusarz at horde.org
Fri Oct 18 18:34:21 UTC 2013
Quoting Jan Schneider <jan at horde.org>:
> Zitat von Mathieu Parent <math.parent at gmail.com>:
>
>> Hi Michael,
>>
>> 2013/10/17 Michael M Slusarz <slusarz at horde.org>:
>>> Going through our installation process on a Debian VM (specifically using a
>>> distro that has given us issues), and here's what I think so far. (This is
>>> simply on the PEAR install process - this is independent of
>>> configuring/running any of our code.)
>>
>> (with my Debian packager hat).
>>
>> Shouldn't the recommended way to install Horde on distributions be
>> using the native package manager?
>
> At least for those distros that keep the horde packages up-to-date,
> yes, probably. But that doesn't mean that we shouldn't make the pear
> installation easier, even on package-supported distros.
And from our perspective, we have no control what happens downstream.
So we have to provide an installation path that is easy-to-use under
the assumption that this is the only way people are going to install.
>> For Debian jessie, this can be done with:
>> apt-get install php-horde-webmail # for example
>>
>> Complete instructions (including Debian 7) are at:
>> https://wiki.debian.org/Horde
>>
>> This provide better upgrade mechanism as well as proper dependency
>> tracking (PEAR lacks in those both areas, and Composer is not really
>> better).
>
> Agreed.
Can't speak for Composer, since I don't have too much experience with
it. But putting together the proof of concept script last night in a
few hours would never have happened without it. I was stressing over
how I was going to use PEAR to install the necessary Horde libs for
the installer script in a temp directory to package via phar. When I
used composer instead, I had in running in probably 5 minutes.
>>> * Two immediate fatal flaws I see. beta/alpha packages are NEVER installed
>>> and packages from foreign channels are NEVER installed. At least with the
>>> default PEAR settings on Debian 7.
>>
>> This seems a reasonable default.
>>
>> [...]
>>>
>>> This can be fixed by doing a force install (-f). But I have to admit that,
>>> as someone familiar with PEAR/PECL, this is not apparent to me at all. For
>>> someone -- i.e. pretty much every one else -- they are going to think that
>>> horde_lz4 is properly installed on their system.
>>
>> Yes. PEAR is broken in handling PECL packages.
>>
>>> Takeaways from all this:
>>> 1. Not saying we should remove -B, but we have to workaround this.
>>
>> Why don't you simply remove -B?
>
> Because it requires build permissions and environments and
> dependencies like external libraries that cannot simply be pulled
> in. Installing without -B is explicitly documented by the way.
To me it's simply the fact that you are potentially building a whole
mess of modules that a) you are never going to use or b) won't compile
on your system, which I believe is Jan's concern.
The issue is that certain PECL features - like horde_lz4 - are
entirely self-contained, so there's no reason NOT to build them.
Hiding the install process behind a script allows us to force install
things like horde_lz4 without the confusion/complexity of trying to
explain to a novice user in an INSTALL file why they should do it (and
why they should do it for a small selection of packages, but not all
packages).
michael
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the dev
mailing list