On 27 January 2018 at 04:45, Peter Robinson <pbrobinson@gmail.com> wrote:
On Fri, Jan 26, 2018 at 4:41 PM, Stephen John Smoogen <smooge@gmail.com> wrote:
> Several meetings ago, the EPEL Steering Committee took up the following points:
>
> 1. Peter Robinson's DTS enablement request
>  A. What packages require it (chromium etc)
>  B. Is there a version in CentOS?


I am going to try this again because I didn't communicate clearly what was needed to be done now. I also sent an email that wasn't complete and should have caught that. 

1. The proposal was accepted. The questions were answered in the meeting and also by Peter outside the meeting. Peter has answered it again because I was not clear.

2. The next step is getting the mock and fedpkg commands to work with the DTS cleanly. This means adding the lines to mock-core-configs package files for to do so. The package seems ot be owned by Releng but I am not sure as zodbot says no such package.

[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

A similar set need to be added to the Koji configs pointing to the copies. 

3. Another step is writing up the extra steps needed to set up environments inside an RPM spec file. This just needs to be some text that a packager knows what to say in the spec file sections so that the build works. The instructions in Toshio's draft is for developing RPMs and the other instructions on the other parts were for running it in an interactive shell. Looking at the chromium I see things like:

%if 0%{?rhel} == 7
BuildRequires: devtoolset-7-toolchain, devtoolset-7-libatomic-devel
%endif

====
%build
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
%endif

But I am not sure if that is all the items needed for getting this working. If that is all that is needed does the following text work for the EPEL-7 packaging guidelines?

=== Devtoolset ===

The Developer Toolset that is found in CentOS SCL's and Red Hat subscription can be used as a build requirement in EPEL packages. This will allow packages which require newer gcc and similar tools to build appropriately. 

In order to work with these a packager needs to do the following:

1. Add a Build Requires

%if 0%{?rhel} == 7
BuildRequires: devtoolset-7-toolchain, devtoolset-7-libatomic-devel
%endif
2. In sections needing compiler or other tools are being used, the packager will need to set up the environment. This can be done via the following lines:

%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
%endif

This will put the newer gcc and other tools earlier in the buildpath and set up any other changes needed. 

CAVEAT: EPEL packages may only use devtoolset as a build requirement and not as a Requires. This is because it needs access to extra repositories and channels a user may not wish or be allowed to add to their system. 





[1] https://buildlogs.centos.org/centos/7/sclo/
[2] https://wiki.centos.org/AdditionalResources/Repositories/SCL
_______________________________________________
epel-devel mailing list -- epel-devel@lists.fedoraproject.org
To unsubscribe send an email to epel-devel-leave@lists.fedoraproject.org



--
Stephen J Smoogen.