[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