Bug 1367352

Summary: Many DTS-4 references in DTS-6 Dockerfiles
Product: Red Hat Developer Toolset Reporter: Miloš Prchlík <mprchlik>
Component: devtoolset-metaAssignee: Marek Polacek <mpolacek>
Status: CLOSED ERRATA QA Contact: Miloš Prchlík <mprchlik>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: DTS 6.0 RHEL 7CC: hhorak, jakub, mnewsome, ohudlick, rzima
Target Milestone: alpha   
Target Release: 6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: devtoolset-6-6.0-6.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-15 10:02:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miloš Prchlík 2016-08-16 09:10:28 UTC
Description of problem:

There's way too many references to devtoolset-4 files, paths, packages, etc. in Dockerfiles supplied by devtoolset-6-dockerfiles package. I guess this may have been easily caused by simple copy-pasting related to BZ#1362204 but I rather report it, just to keep the track.

[root@hp-sl2x170zg6-02 ~]# cd /opt/rh/devtoolset-6/root/usr/share/devtoolset-6-dockerfiles/rhel7
[root@hp-sl2x170zg6-02 rhel7]# grep -r 'devtoolset-4'
devtoolset-6-perftools-docker/Dockerfile:LABEL BZComponent="devtoolset-4-perftools-docker"
devtoolset-6-perftools-docker/Dockerfile:LABEL Name="rhscl/devtoolset-4-perftools-rhel7"
devtoolset-6-perftools-docker/Dockerfile:    yum install -y --setopt=tsflags=nodocs devtoolset-4-systemtap devtoolset-4-valgrind devtoolset-4-dyninst devtoolset-4-dyninst-devel devtoolset-4-elfutils devtoolset-4-elfutils-devel devtoolset-4-oprofile devtoolset-4-oprofile-jit devtoolset-4-oprofile-devel && \
devtoolset-6-perftools-docker/Dockerfile:    PATH=/root/bin:/opt/rh/devtoolset-4/root/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
devtoolset-6-perftools-docker/contrib/bin/usage:This is a devtoolset-4-perftools base image.  It contains the dts-4
devtoolset-6-perftools-docker/contrib/bin/usage:   % atomic run --spc devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/contrib/bin/usage:            devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/contrib/bin/usage:   % atomic run devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/contrib/bin/usage:   % docker commit $CONTAINER devtoolset-4-perftools-rhel7-`uname -r`
devtoolset-6-perftools-docker/contrib/etc/scl_enable:source scl_source enable devtoolset-4
devtoolset-6-perftools-docker/test/expected-usage:This is a devtoolset-4-perftools base image.  It contains the dts-4
devtoolset-6-perftools-docker/test/expected-usage:   % atomic run --spc devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/test/expected-usage:or % docker run -ti --privileged --ipc=host --net=host --pid=host [...]             devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/test/expected-usage:   % atomic run devtoolset-4-perftools-rhel7 /bin/bash
devtoolset-6-perftools-docker/test/expected-usage:   % docker commit  devtoolset-4-perftools-rhel7-3.10.0-327.10.1.el7.x86_64
devtoolset-6-perftools-docker/test/run:IMAGE_NAME=${IMAGE_NAME:-rhscl/devtoolset-4-perftools-rhel7}
devtoolset-6-toolchain-docker/Dockerfile:LABEL BZComponent="devtoolset-4-toolchain-docker"
devtoolset-6-toolchain-docker/Dockerfile:LABEL Name="rhscl/devtoolset-4-toolchain-rhel7"
devtoolset-6-toolchain-docker/Dockerfile:    yum install -y --setopt=tsflags=nodocs devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-gcc-gfortran devtoolset-4-gdb && \
devtoolset-6-toolchain-docker/Dockerfile:    PATH=/opt/app-root/src/bin:/opt/app-root/bin:/opt/rh/devtoolset-4/root/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
devtoolset-6-toolchain-docker/contrib/bin/usage:This is a devtoolset-4-toochain base image.
devtoolset-6-toolchain-docker/contrib/bin/usage:docker run -ti devtoolset-4-toolchain-rhel7 /bin/bash
devtoolset-6-toolchain-docker/contrib/etc/scl_enable:source scl_source enable devtoolset-4
devtoolset-6-toolchain-docker/test/expected-usage:This is a devtoolset-4-toochain base image.
devtoolset-6-toolchain-docker/test/expected-usage:docker run -ti devtoolset-4-toolchain-rhel7 /bin/bash
devtoolset-6-toolchain-docker/test/run:IMAGE_NAME=${IMAGE_NAME:-rhscl/devtoolset-4-toolchain-rhel7}
[root@hp-sl2x170zg6-02 rhel7]# 


Version-Release number of selected component (if applicable):

devtoolset-6-dockerfiles-6.0-5.el7.x86_64


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Marek Polacek 2016-08-16 10:46:21 UTC
(devtoolset-6-toolchain-docker wasn't needed for alpha so we have obsolete devtoolset-4 in the dockerfiles.)

Related, which version schema should we use?  We outlined some rules in #1333041, but what to use for DTS6?
Currently, it's
Version="4"
Release="10.5"
so should I go with
Version="6"
Release="1.0"
?

Comment 3 Miloš Prchlík 2016-08-16 11:17:33 UTC
(In reply to Marek Polacek from comment #2)
> (devtoolset-6-toolchain-docker wasn't needed for alpha so we have obsolete
> devtoolset-4 in the dockerfiles.)
> 
> Related, which version schema should we use?  We outlined some rules in
> #1333041, but what to use for DTS6?
> Currently, it's
> Version="4"
> Release="10.5"
> so should I go with
> Version="6"
> Release="1.0"
> ?

I discussed it a bit with Honza Horak (well, I asked him for clarification, and I'm almost ashamed by calling that a "discussion" :), and you are correct. The scheme we adopted in DTS-4.1 times continues, and for DTS-6.0 Version="6", Release="1" are correct values. With every build done by you (or devels in general) Release += 1, until the whole DTS-6.0 is released, then - when such time comes - automatic rebuild caused by e.g. updated base rhel7 image will add ".<int>" to the Release value. (So, for example, we will have Release 1, 2, 3 and 4, where 4 is the Release value by the time DTS-6.0 is released, and every automated rebuild after that will produce Release 4.1, 4.2, 4.3, etc. For DTS-6.1, we're supposed to increment Release once again, starting with Version="6", Release="5", to keep NVR rising.)

Adding a link to document provided by Honza as a official source for this: https://mojo.redhat.com/docs/DOC-1023066#jive_content_id_Labels

Comment 4 Marek Polacek 2016-08-16 11:22:26 UTC
Thanks a lot, so I'll go with
Version="6"
Release="1"
(so without ".0" in Release).

Comment 6 Radek Zima 2016-08-18 06:00:18 UTC
Hi Marek,

this happens because nobody officially asked for such image support. Each new docker image needs its request in RCM system(JIRA queue). When it is there I can perform common tasks to prepare all necessities. 

Please follow official process as is described in "RHSCL Development Guide" - "Docker request & workflow" section.
https://docs.engineering.redhat.com/display/RCM/RHSCL+Development+Guides

Radek

Comment 9 Miloš Prchlík 2016-10-14 06:56:25 UTC
Verified for build devtoolset-6-dockerfiles-6.0-6.el7 - no obvious DTS4 references anymore, it's even possible to build images with these provided Dockerfile, and resulting images look very DTS6-ish.

Comment 11 errata-xmlrpc 2016-11-15 10:02:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2724.html