Open carlwgeorge opened 7 years ago
We need to generate RPMs like:
php55u-
phalcon-3.0.4-1.ius
.el7.centos.x86_64.rpm (Remi/IUS)php55w-
phalcon-3.0.4-1.w6
.el7.centos.x86_64.rpm (Webtatic)Also take a look at https://github.com/phalcongelist/packagecloud/blob/master/builder/patching.mk#L41
repo_vendor
tag, but why? Your phalcon RPM packages don't come from IUS or Webtatic, so they shouldn't have those strings in the release.We should be able to drop the name on the vendor tag provided we can uniquely identify similar versions of Phalcon across different platform vendors. That means we'll need to get a matrix to see if the prefix name portion is unique across all vendors (e.g. php56u [IUS]). Otherwise, may need to adjust the vendor tag to be "phalcon-ius".
@carlwgeorge Webtatic isn't done yet here ... nor is Remi which is why it's not shown in source.
As you know guys, we store packages in Packagecloud. So we have to use different file names to be able push package to cloud.
Well, I agree with @virgofx we can use format like
php55u-phalcon-3.0.4-1.el7.centos.x86_64.rpm
php55w-phalcon-3.0.4-1.el7.centos.x86_64.rpm
Probably we should create a more universal RPM-spec file and just use format like php55-phalcon-3.0.4-1.el7.centos.x86_64.rpm
without repo vendor at all.
Cc: @virgofx
The problem with the last method @sergeyklay is that Linux on the non-debian side for PHP is very specific which means the playground for PHP will either be one of the major PHP RPM providers so I don't think we can do a universal RPM spec ... it needs to be consistent with each of the main RPM providers (IUS, Webtatic, Remi, etc) This holds true for the dependencies (e.g. php56u-phalcon should require php56u and php56u-common)
@sergeyklay That approach would probably be ideal. You can accomplish that by taking advantage of virtual provides of the packages.
-Requires: %{php_base}(zend-abi) = %{zend_apiver}
-Requires: %{php_base}(api) = %{php_apiver}
+Requires: php(zend-abi) = %{php_zend_api}
+Requires: php(api) = %{php_core_api}
That should ensure compatibility with IUS, Webtatic, Remi, and any other providers who follow the pattern Fedora sets (which should be all of them).
@carlwgeorge I start to refactor it (https://github.com/phalcongelist/packagecloud/commit/70acb45dffe697e748677b484bcd2ac985cea0c9). Feel free to send PR to the dev
branch.
@virgofx Is there any changes/ideas related to this issue
Not yet. I need to spend some time with it. I still have it on my list to get everything working with all Linux distros just been super busy at work :/
This is still an issue. Please remove the "ius" string from your release field.
Since IUS doesn't build this package, we do ... What's the issue? This package is targeted specifically for use in combination with other php* IUS packages.
It confuses users, who mistake your packages as packages built by IUS, and then come to us to report issues or ask questions. I think it's great that you're building off IUS packages, I'm just asking for a simple change to the release field. The php??u-
prefix is enough to indicate that it's intended to be used with IUS packages. How about setting repo_vendor
to phalcon
?
First off, thanks for choosing to base your phalcon RPM packages off of the IUS php70u packages. We love seeing users and developers benefit from our work.
I do have one small request. Please remove the "ius" string from your release field.
Naming the packages with the same
%{php_base}
as ours is appropriate, but including "ius" in the release field is misleading. Today a user came to our IRC channel asking questions about php70u-phalcon. I would suggest settingrepo_vendor
tophalcon
or removing it entirely.