Hi,

After my attempts to convert the packages I provide to support SCL I’ve found I 
like the idea of SCL for 3rd-party repositories, but:

* They are not drop-in replacements for existing packages, so:
 - don’t have the benefit of being as familiar to use
 - can’t work natively with existing base or other 3rd-party packages (though 
this isn’t always the case anyway)
 - have hidden complications with SELinux, as the original packages weren’t 
responsible for setting up their own SELinux contexts
* They make sense as a way to parallelly provide languages and libraries, where 
the base packages are a critical part of the system (e.g. python)
* I’d not expect an upgrade route from SafeRepo to SCL be automated using the 
RPM spec.

I’m still evaluating my decisions for mine, but I think in the least the 
decision should be to do (I), and also always supply a suffix for new packages 
and packages for new OS version’s (RHEL7, CentOS 7) whether they are SafeRepo 
or SCL.

Kind Regards

Andy

On 20 Jan 2014, at 16:01, Ben Harper <ben.har...@rackspace.com> wrote:

> Hey Mark and others,
> 
> Sorry for the delay in updating this thread.  There has been plenty of 
> discussions in IRC, IRL and other email threads about this topic.  Also, we 
> have been doing a fair amount of investigation and testing of possible 
> solutions.  I was hoping to update this thread once we were closer to a 
> decision, but it has been too long.
> 
> Mark, thanks for sharing your thoughts.  I think your insights about RHSCL 
> are right on.
> 
> We have been investigating several different solutions on how IUS should 
> proceed.  Initially, we only entertained solutions where a server could have 
> a mix of IUS and SCL packages.  Then, we started considering solutions that 
> did not have this constraint.  Here are some of the ideas we came up with 
> (both good and bad):
> 
> I) Rename IUS packages that now share names with Red Hat packages like we did 
> with php53 to php53u.
> 
> II) Rename all IUS packages just encase Red Hat makes more changes.
> 
> III) Don't rename IUS packages and use includes/excludes within repo 
> configurations to insure software is installed from the desired repo.
> 
> IV) Don't rename IUS packages and use the protectbase yum plugin[4] to insure 
> that only IUS packages get installed.  This plugin could also be integrated 
> into the ius-release rpm.
> 
> V) Don't rename IUS packages and do not support IUS with SCL channels/repos.
> 
> VI) Use Mark's idea of changing IUS to fit the SCL model.
> 
> VII) EOL all IUS packages included in RHSCL (don't panic, remember this list 
> includes bad ideas)
> 
> Ideas I, II and II fit the limitation of being able to install a mixture of 
> IUS and SCL packages.  With idea IV, one could only install a SCL package 
> that does not share a name with a IUS package.  Idea V might conflict with 
> IUS's current SafeRepo Initiative[5], as it is not clear about optional 
> distro provided repos.  Idea VI is something we might consider for el 7, but 
> I don't feel it could be something we could change for el5 and el6. I think 
> idea VII is something that could only be considered if SCL becomes very 
> popular and I don't see that happening anytime soon.
> 
> I feel the most obvious solution is to rename IUS packages.  I started doing 
> some testing with renaming mysql55 to mysql55u. Here are some notes regarding 
> this testing:
> 
> ***
> In order for the IUS mysql55 package to become mysql55u, an obsoletes would 
> be needed to get added to the new msyql55u package.  We could not do a 
> blanket statement like 'Obsoletes: mysql55' as this would convert not only 
> IUS's version of mysql55 to mysql55u, but also the SCL mysql55.  A workaround 
> was developed where we would obsolete every version of IUS's mysql55 like 
> 'Obsoletes: mysql55 = 5.5.34-2.ius%{?dist}'.  This way only IUS's mysql55 
> packages would get converted to mysql55u.  These obsoletes would needed for 
> all sub-packages like mysql55-libs, mysql55-server, etc.
> 
> We also ran into issues where the debuginfo packages were not getting 
> renamed.  We could work around this by disabling the default macro for 
> creating the debuginfo packages and then manually create it with the needed 
> obsoletes.
> 
> At this point we felt pretty satisfied that we had a working solution.  After 
> a quick test, it was discovered that mysql server was not restarting once it 
> has been converted from mysql55 to mysql55u.  Yum handles an obsolete 
> differently than just an upgrade, it will install the new application 
> (mysql55u) then remove the old one (mysql55).  All of the versions of mysql55 
> have a %postun that will do a condrestart of the mysql service only if it has 
> been updated[6].  I feel this behavior is not acceptable as the current 
> behavior is mysql gets restarted after an upgrade.  We could work around this 
> by having one last version of mysql55 which has an updated %postun that do a 
> condrestart besides just an update.  This would mean IUS would still need to 
> have mysql55 packages, which kinda defeats the purpose of renaming the 
> packages.  Please let us know if there is solution that we are overlooking to 
> insure that mysql is running after it has been transitioned to mysql55u.
> ***
> 
> If we are unable to find a solution for a seamlessly transition from mysql55 
> to mysql55u, should we rename the other packages? Should renaming be an all 
> or nothing situation?
> 
> We also investigated the other ideas:
> 
> The testing of using includes/excludes within the repo configuration worked 
> as excepted.  Configure yum to pull a given package from a certain repo.
> 
> The testing of the protectbase yum plugin worked as excepted. This plugin was 
> designed to protect the base repo from 3rd party repos.  I was able to 
> configure it to protect the IUS repo instead of the base repo.
> 
> I have not specifically test converting IUS packages to use the SCL model.  
> Even if we were to use the SCL module, we would still have the issue of 
> packages sharing the same name.  I would assume we would run into the same 
> issue with mysql not restart after changing the name to mysql55u.
> 
> We are looking for feedback regarding these ideas and see if there are other 
> solutions.
> 
> 
> Ben Harper
> OS Deployment Services, RPMDEV
> Rackspace Hosting & IUS Community
> 
> 
> [4] http://wiki.centos.org/PackageManagement/Yum/ProtectBase
> [5] http://iuscommunity.org/pages/TheSafeRepoInitiative.html
> [6] 
> https://github.com/iuscommunity-pkg/mysql55/blob/master/SPECS/mysql55.spec#L491-L494
> 
> On 09/19/2013 10:55 AM, Mark McKinstry wrote:
>> In terms of overlapping packages like php54, I think adding 'u' to the name 
>> is the best option.
>> 
>> I don't see the SCL obsoleting IUS. Red Hat is always slow to release newer 
>> versions of packages because there's a long complex process of testing 
>> before something is released. We're just now getting PHP 5.4 which was 
>> released 1.5 years ago (2013-03-01). I'll bet we won't be seeing PHP 5.5 in 
>> the SCL for at least 6 more months. Even in terms of minor version bumps, 
>> the SCL will probably lag behind, they have PHP 5.4.16 right now while IUS 
>> has 5.4.19. IUS isn't bound by a long complex process to release RPMs and 
>> can release new versions of packages quickly and easily. IUS and Red Hat 
>> have overlapped on packages before but people still use IUS because IUS 
>> always has the latest version of packages.
>> 
>> I think there's a lot of questions about how SCL will impact the way IUS 
>> does RPMs:
>> 
>> * Should IUS switch from the current parallel installable RPMs to using SCL 
>> to build them and putting everything in /opt?
>> * Should IUS switch from using the yum-replace-plugin to SCL? Maybe use 
>> something like the 'alternatives' command to choose which version of PHP you 
>> want to use from /opt?
>> * Should IUS take RPMs built using SCL? I have ruby193 RPMs for el5 built 
>> using SCL that I'd love to see others use. They won't work in EPEL because 
>> they need autoconf26x from IUS to build.
>> 
>> CentOS will be offering SCL packages, but it is going to take some time. See 
>> http://lists.centos.org/pipermail/centos/2013-September/137077.html
>> 
>> There's an SCL mailing list if people don't know: 
>> https://lists.fedorahosted.org/pipermail/softwarecollections/
>> 
>> 
>> On 08/12/2013 03:04 PM, Ben Harper wrote:
>>> Greetings,
>>> 
>>> As some of you might already know, Red Hat is planning on offering new
>>> versions of popular software with its Red Hat Software Collections
>>> (RHSCL) [1].  They are planning on releasing some software versions that
>>> IUS already offers.  This will impact IUS.
>>> 
>>> In the short term, we will need to rename some packages, as Red Hat will
>>> be providing python27, python33, php54 and mysql55.  IUS intentionally
>>> names it's packages differently than Red Hat [2].  We are evaluating
>>> options and the front runner is to add a 'u' to the end of the package
>>> name.  We did this when Red Hat released php53, and we renamed our
>>> package to php53u [3].  Please let us know if you have any ideas on how
>>> we can address this issue.
>>> 
>>> IUS was birthed out of the need for newer packages that Red Hat was not
>>> providing. Now that Red Hat will be providing that need, will RHSCL
>>> obsolete IUS?  It is way too early to say and there are still alot of
>>> questions regarding RHSCL.  Will CentOS (and the other clones) be
>>> offering these packages as well?  How will Python and PHP modules get
>>> distributed...EPEL? How often will packages get minor and major
>>> upgrades? Will they be offering RHSCL for RHEL 5?  Will there be
>>> additional cost to access the RHSCL channel?  What concerns do you have
>>> regarding RHSCL?
>>> 
>>> I have started doing some initial testing with RHSCL.  While I have only
>>> done very limited testing, RHSCL looks promising.  If you have started
>>> testing RHSCL packages, we would like your input.
>>> 
>>> Please note that there no immediate plans to change IUS, but it is
>>> important that we start a conversation about RHSCL and IUS.
>>> 
>>> 
>>> Ben Harper
>>> OS Deployment Services, RPMDEV
>>> Rackspace Hosting & IUS Community
>>> 
>>> [1]
>>> https://www.redhat.com/about/news/archive/2013/6/red-hat-software-collections-1.0-beta-now-available
>>>  
>>> 
>>> 
>>> [2]
>>> http://iuscommunity.org/pages/TheSafeRepoInitiative.html#the-current-problem-with-3rd-party-repo
>>>  
>>> 
>>> 
>>> [3] https://lists.launchpad.net/ius-community/msg00152.html
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~ius-community
>>> Post to     : ius-community@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~ius-community
>>> More help   : https://help.launchpad.net/ListHelp
>> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~ius-community
> Post to     : ius-community@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~ius-community
> More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~ius-community
Post to     : ius-community@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ius-community
More help   : https://help.launchpad.net/ListHelp

Reply via email to