[Owncloud] App Requirements
Frank Karlitschek
frank at owncloud.org
Thu Apr 19 15:10:23 UTC 2012
On 19.04.2012, at 16:52, Klaas Freitag <freitag at owncloud.com> wrote:
> On 18.04.2012 23:25, Florian Hülsmann wrote:
>> Hey Tom,
>>
>> actually I wrote a proposal about dependencies of apps (mainly apps
>> depending on other apps) to this mailing list on 8th of april, hoping to
>> start a constructive discussion about it...
>>
>> I thought about something like this:
>>
>> <info>
>> <!-- app info -->
>> <requires id="required_app">
>> <!-- to define specific versions of required_app, optional -->
>> <min>0.2</min> <!-- optional -->
>> <max>0.5</max> <!-- optional -->
>> <version>0.15</version> <!-- a specific version; optional -->
>> <version>0.16</version> <!-- optional -->
>> </requires>
>> <requires id="another_app" />
>>
>> <conflicts id="evil_app">
>> <max>0.3</max> <!-- same version properties as above -->
>> </conflicts>
>> <!-- ... -->
>> </info>
> I like this for inter app deps.
>
>> But we could make this even possible for PHP libraries etc.
> Yes. Well. I know most of you don't want to hear and face it, but we're talking about to reimplement a dependency system of software packages. There are already systems that cover that. See every Linux distro.
>
> I really suggest to stay away from reimplementing that. Its hell.
I agree.
It´s a fascinating scientific problem to make the perfect dependency handling work. But I would rather spend our time to build great free webservices and try to keep away from this as much as as possible :-)
It´s hell as Klaas said. Just look at Linux package management :-)
> I agree we need something for the apps. But for all system dependant stuff such as php extensions and programs, I would try to reuse the underlying package system until we have a huge coding community. Currently we will loose ourselfes.
>
> Maybe we can and should maintain a list of packages per distro times distro-version which package names are needed for the app, together with a function that is provided by the module. If a call to that fails, we can say its not there.
> Than we could either install (if the user is allowed which is off by default probably) but at least we can give a good error message to the one who installs.
>
> For the beginning, I would leave it with a "This app requires the PHP GD module. Please make sure to install it."
Yes. We should check the base dependencies in the core of course. But if an app has some additional, special dependencies than this should be checked an reported by the app.
I suggest to go simple for now.
> I'd rather suggest to work on getting also the apps properly packaged for the distros so that problem goes away naturally.
Yes.
> Klaas
>
>> Am 18.04.2012 23:17, schrieb Tom Needham:
>>> Hi All,
>>>
>>> Had an idea of how to implement requirements when installing apps. For
>>> example, when the gallery is installed, it need to check if gd is
>>> installed, rather than just giving an error. So I though about adding a
>>> <requirements> section to the apps info.xml. In there we can list
>>> <functions> <classes> and <extensions> that we can check exists when
>>> enabling the app.
>>>
>>> We can also do a check when we do the overall owncloud install to check
>>> that the default enabled apps have all their requirements met.
>>>
>>> What do you think, is this flexible enough for apps?
>>>
>>> Thanks,
>>> Tom
>>>
>>> Tom Needham
>>> tom at owncloud.com <mailto:tom at owncloud.com>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Owncloud mailing list
>>> Owncloud at kde.org
>>> https://mail.kde.org/mailman/listinfo/owncloud
>>
>
> _______________________________________________
> Owncloud mailing list
> Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
More information about the Owncloud
mailing list