Mailinglist Archive: opensuse-packaging (129 mails)

< Previous Next >
Re: [opensuse-packaging] Re: Use of generics in "requires" statements?
  • From: Greg Freemyer <greg.freemyer@xxxxxxxxx>
  • Date: Wed, 29 Apr 2015 10:47:24 -0400
  • Message-id: <CAGpXXZJ9X5w-eJDhBNKm_=7L5KCNvCZovAdVoRM+bjyJDmGC+A@mail.gmail.com>
On Tue, Apr 28, 2015 at 7:57 PM, Yamaban <foerster@xxxxxxxx> wrote:
On Wed, 29 Apr 2015 01:04, Greg Freemyer wrote:

All,

My SR to add a couple of generic "Requires:" to the wordpress spec
file has been rejected because they are generic:

https://build.opensuse.org/request/show/304469

My re-opened SR was also rejected.

Can someone explain to my why the use of

Requires: httpd
Requires: mod_php_any

is wrong. I know the below will also work, but I don't see why we
should be restrictive

Requires: apache2
Requires: apache2-mod_php5

That is unless wordpress is strictly a apache2 based tool, but I can't
imagine that is true.

fyi: In the SR Eric did say:

"httpd only for other than opensuse."

I don't understand that since apache2, lighttpd and nginx all provide
httpd in their opebnsuse packages.

He also said
"zypper se php_mod_any" show "package not found"

That is true, but "zypper se" doesn't search for generic provides so
that logic would invalidate all use of generic requires.


Foreword: I'm no guru, god, or any other "last-instance", but
on a few things, I can shed a little light on:

First: the package apache2 provides "apache2", "httpd" and "http_daemon"
(https://build.opensuse.org/package/view_file/Apache/apache2/apache2.spec?expand=1)

fyi: you can get a more definitive list of provides by going to the
main package page:

https://build.opensuse.org/package/show/Apache/apache2

Click on the distro you care about. (say 13.2).

https://build.opensuse.org/package/binaries/Apache/apache2?repository=openSUSE_13.2

You get a list of RPMs. Then click on the RPM you care about, say
apache2-2.4.12-6.1.i586.rpm

You get a list of all the provides and requres.

https://build.opensuse.org/package/binary/Apache/apache2?arch=i586&filename=apache2-2.4.12-6.1.i586.rpm&repository=openSUSE_13.2

For each provide you get a list of which packages in the repo the rpm
is built for requires that provide.

For each require you get a list of which packages in the repo the rpm
is built for can satisfy the require.

Second: the main package php5 provides sub-packages:
apache2-mod_php5: Provides: "mod_php_any", "php-session"
fastcgi: Provides: "php-cgi", "php-fastcgi", "php-session"
(https://build.opensuse.org/package/view_file/devel:languages:php/php5/php5.spec?expand=1)

Third: if using zypper to search, do it right:
zypper search --provides {requirement}

so here you "require" either:

for openSUSE / SLE:
"apache2" and "apache2-mod_php5"

and for Fedora / Redhat:
"httpd" and "mod_php_any"

So httpd and mod_php_any are Redhat specific identifiers?

with a constuct of:

%if 0%{?suse_version}
Requires: apache2
Requires: apache2-mod_php5
%else
Requires: httpd
Requires: mod_php_any
%endif


or you go full generic, any http server, any php server modul:
"http_daemon" and "php-session"

I guess that is my question. Where is a list of full generic identifiers?

Requires: http_daemon
Requires: php-session

I prefer the full generics, but I'll go with the Apache specific just
to get this done.

Thanks
Greg
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-packaging+owner@xxxxxxxxxxxx

< Previous Next >
References