Commit ebebb1ec authored by Andrea Valassi's avatar Andrea Valassi
Browse files

Prepare to build 7.2.0-0.rc01.el7 - update spec file and README

parent 0ebe8880
Pipeline #223433 passed with stages
in 4 minutes
# Copyright 2009-2017 CERN. Licensed under LGPLv3+.
Name: HEP_OSlibs
Version: 7.1.11
Release: 0%{?dist}
Version: 7.2.0
Release: 0.rc01%{?dist}
Summary: HEP OS dependencies
Group: System/Middleware
License: LGPLv3+
......@@ -166,7 +166,13 @@ support for architectures other than x86_64 and i686, such as aarch64.
%changelog
* Mon Oct 26 2017 Andrea Valassi 7.1.11-0
* Thu Oct 26 2017 Andrea Valassi 7.2.0-0.rc01
[Requestor: internal changes]
This (7.2.0-0.rc01) is an internal release that will not be distributed.
It is the first release for el7 built using koji in the new gitlab workflow.
There is no change in requirements with respect to 7.1.10 or 7.1.11.
* Thu Oct 26 2017 Andrea Valassi 7.1.11-0
[Requestor: internal changes]
This (7.1.11-0) is an internal release that will not be distributed:
it is still built using rpmbuild, from within the new gitlab workflow.
......
*(This documentation has been moved from its previous location in
https://twiki.cern.ch/twiki/bin/view/LCG/CentOS7DependencyRPM,
which is no longer maintained.)*
# **HEP_OSlibs meta-package for CentOS7 and CC7 (HEP_OSlibs for el7)**
HEP_OSlibs is a meta-package that captures the Linux OS dependencies
of the software of the four LHC experiments.
On CentOS7, CC7 and other el7 RedHat systems,
this meta-package is released under the name HEP_OSlibs.
This [README-el7.md](README-el7.md)
is the documentation page for HEP_OSlibs
on CentOS7, CC7 and other el7 RedHat systems.
- It describes HEP_OSlibs releases 7.2.x and above for el7,
built after the switch to the new gitlab-based workflow in October 2017.
- It is maintained in the [el7](/../tree/el7)
branch of this project on gitlab.cern.ch.
- For a general overview of HEP_OSlibs on all supported platforms,
please refer to the generic [master/README.md](/../blob/master/README.md)
file in the master branch.
## Git tags and rpm NVR (Name-Version-Release)
RPM filenames for HEP_OSlibs on RedHat
use the Name-Version-Package (NVR) format,
as described by the [RPM packaging guide](http://rpm-guide.readthedocs.io/en/latest/rpm-guide.html#what-is-a-spec-file)
and the [Fedora versioning guidelines](https://fedoraproject.org/wiki/Packaging:Versioning#Simple_versioning).
- On el7, the Name of the meta-package is HEP_OSlibs.
There is no longer a suffix indicating the O/S as on el6,
where the name of the meta-package was HEP_OSlibs_SL6.
- Changes in the contents (i.e. the dependencies) of the meta-package
are reflected in changes of the "upstream" RPM Version
(e.g. from 7.1.9 to 7.1.10).
- The RPM Release is initially equal to 1%{?dist},
as recommended by the [Fedora versioning guidelines](https://fedoraproject.org/wiki/Packaging:Versioning#Simple_versioning);
this value may then be incremented for new builds of the same Version.
<br/>&nbsp; -
Note that previous releases of the meta-package
built before the introduction of the gitlab-based workflow
had an RPM Release equal to 0%{?dist}.
<br/>&nbsp; -
The RPM ["%{?dist}"](https://fedoraproject.org/wiki/Packaging:DistTag) tag
is equal to ".el7.cern" on CC7, with a trailing ".cern"
(as can be seen by `rpm -E "%{?dist}"`).
Each new release of the meta-package
is assigned a new tag in this gitlab project.
- On el7, the gitlab tag is obtained
by removing the trailing ".cern" from the RPM
"Version-Release" identifier. All gitlab tags for el7 thus end with ".el7".
- As an example, the gitlab tag for the latest release
HEP_OSlibs-7.2.0-0.rc01.el7.x86_64.rpm is 7.2.0-0.rc01.el7.
- You may **browse here all [tags](/../tags?search=el7)
of HEP_OSlibs for el7**,
including tags for the legacy release series 7.0 and 7.1.
## CentOS7 vs CC7
The meta-package is designed to be installed on CentOS7/CC7.
The meta-package is designed
to be installed on CentOS7/CC7.
Packages may be specifically requested for CentOS7,
but the meta-rpm is only tested on CC7, not on CentOS7.
## 32-bit and 64-bit dependencies
The meta-package is designed to be installed on CentOS7/CC7 64-bit (x86_64).
The meta-package is designed to be installed
on CentOS7/CC7 64-bit (x86_64).
Currently, **only a 64-bit meta-rpm
with 64-bit package dependencies is built on el7.**
......@@ -46,32 +86,66 @@ in the meta-packages on el7:
with 64-bit package dependencies has been built.
On CentOS7, all LHC experiments run their software in 64-bit mode only.
## Current release: 7.1.11-0.el7
<!-- Throughout this file, all occurrences of "7.1.11-0.el7" are
## Current release: 7.2.0-0.rc01.el7
<!-- Throughout this file, all occurrences of "7.2.0-0.rc01.el7" are
automatically replaced with the latest tag by the pkg.sh script -->
The latest release of HEP_OSlibs for el7
is [7.1.11-0.el7](/../tree/7.1.11-0.el7).
is [7.2.0-0.rc01.el7](/../tree/7.2.0-0.rc01.el7).
*NB: (pre-)release candidates with tags x.y.z-0.prc\* or x.y.z-0.rc\*
are for internal use only and are not available for installation,
in spite of what may be written below.*
### Installation
The 64-bit meta-package for the latest release
7.2.0-0.rc01.el7 of HEP_OSlibs for el7 is available
from the [WLCG](http://linuxsoft.cern.ch/wlcg/centos7/x86_64/) and
[centos/7/cern](http://linuxsoft.cern.ch/cern/centos/7/cern/x86_64/Packages/)
repositories at CERN.
In the [workflow](/../blob/7.2.0-0.rc01.el7/workflow.md) for this release,
the meta-package is generally available earlier
in the WLCG repository than in the centos/7/cern repository.
This is an internal release,
which is not meant to be distributed or installed on WLCG sites.
The HEP_OSlibs meta-rpm's available from the two repositories
are signed with different signatures and serve different purposes.
- Those in the centos/7/cern repository
are used for the installation on CC7 systems at CERN (including lxplus7),
where the WLCG repository may not have been configured.
- Those in the WLCG repository are used for the installation
at external Grid sites (including CentOS7 nodes),
where the CC7 repository may not have been configured.
Its goal is to test the new gitlab-based workflow, except for koji:
as on previous releases, the rpm's are built using `rpmbuild`,
but this is now done within the gitlab CI (as on Ubuntu).
The recommended way to install HEP_OSlibs
at Grid sites outside CERN is to use the WLCG repository.
The 64-bit meta-rpm and the source rpm for this release
are only available as gitlab CI
[artifacts](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.1.11-0.el7-testing/browse/build?job=deploy_job).
The GPG key of the WLCG repository is needed because
the HEP_OSlibs meta-rpm's in this repository are signed with this key,
as described [here](http://linuxsoft.cern.ch/wlcg/__README__).
The easiest way to install HEP_OSlibs from the WLCG repository consists
in first installing the wlcg-repo rpm describing the wlcg repository
and then installing HEP_OSlibs, as follows:
```bash
yum install http://linuxsoft.cern.ch/wlcg/centos7/x86_64/wlcg-repo-1.0.0-1.el7.noarch.rpm
yum install HEP_OSlibs
```
Installing the wlcg-repo rpm creates a repo file and a GPG key,
typically in `/etc/yum.repos.d/wlcg-centos7.repo`
and `/etc/pki/rpm-gpg/RPM-GPG-KEY-wlcg`.
### Contents
The direct dependencies for the latest
release 7.1.11-0.el7 of HEP_OSlibs for el7
release 7.2.0-0.rc01.el7 of HEP_OSlibs for el7
are declared in the corresponding rpm spec file,
which is available in gitlab:
- the rpm spec file used to build the package: <br/>
see [HEP_OSlibs.spec](/../blob/7.1.11-0.el7/HEP_OSlibs.spec)
see [HEP_OSlibs.spec](/../blob/7.2.0-0.rc01.el7/HEP_OSlibs.spec)
Lists of direct and indirect dependencies have also been prepared
while testing the meta-package in the gitlab CI,
......@@ -79,31 +153,46 @@ on a system running a minimal Docker image of `cern/cc7-base`.
The following four dependency lists for this release are available in gitlab:
- direct dependencies, as a list (from `rpm -qpR`): <br/>
see [HEP_OSlibs.x86_64.dependencies-direct.txt](/../blob/7.1.11-0.el7/dependencies/HEP_OSlibs.x86_64.dependencies-direct.txt)
see [HEP_OSlibs.x86_64.dependencies-direct.txt](/../blob/7.2.0-0.rc01.el7/dependencies/HEP_OSlibs.x86_64.dependencies-direct.txt)
- recursive dependencies, as a list (from `repoquery --tree-requires`): <br/>
see [HEP_OSlibs.x86_64.dependencies-recursive-flat.txt](/../blob/7.1.11-0.el7/dependencies/HEP_OSlibs.x86_64.dependencies-recursive-flat.txt)
see [HEP_OSlibs.x86_64.dependencies-recursive-flat.txt](/../blob/7.2.0-0.rc01.el7/dependencies/HEP_OSlibs.x86_64.dependencies-recursive-flat.txt)
- installed dependencies, as a list (from `rpm -qa`,
before and after installation): <br/>
see [HEP_OSlibs.x86_64.dependencies-installed.txt](/../blob/7.1.11-0.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed.txt)
see [HEP_OSlibs.x86_64.dependencies-installed.txt](/../blob/7.2.0-0.rc01.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed.txt)
- installed packages, as a list, with sizes in bytes (from `rpm -qa`,
before and after installation): <br/>
see [HEP_OSlibs.x86_64.dependencies-installed-size.txt](/../blob/7.1.11-0.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-size.txt)
see [HEP_OSlibs.x86_64.dependencies-installed-size.txt](/../blob/7.2.0-0.rc01.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-size.txt)
<!-- GITURL = https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs -- DO NOT DELETE! -->
<!-- GITURL = https://gitlab.cern.ch/avalassi/heposlibs-test -- DO NOT DELETE! -->
The four short dependency lists mentioned above,
plus the following more detailed list,
are also available for download as gitlab CI
[artifacts](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.1.11-0.el7-testing/browse/build?job=deploy_job):
[artifacts](https://gitlab.cern.ch/avalassi/heposlibs-test/builds/artifacts/7.2.0-0.rc01.el7-testing/browse/build?job=deploy_job):
- recursive dependencies, as a tree (from `repoquery --tree-requires`): <br/>
download [HEP_OSlibs.x86_64.dependencies-recursive-tree.txt](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.1.11-0.el7-testing/raw/build/HEP_OSlibs.x86_64.dependencies-recursive-tree.txt?job=deploy_job)
download [HEP_OSlibs.x86_64.dependencies-recursive-tree.txt](https://gitlab.cern.ch/avalassi/heposlibs-test/builds/artifacts/7.2.0-0.rc01.el7-testing/raw/build/HEP_OSlibs.x86_64.dependencies-recursive-tree.txt?job=deploy_job)
### Changelog
<!-- CHANGELOG = HEP_OSlibs.spec#L167 -- DO NOT DELETE! -->
Read the changelog for release 7.1.11-0.el7 in the
[HEP_OSlibs.spec](/../blob/7.1.11-0.el7/HEP_OSlibs.spec#L167)
Read the changelog for release 7.2.0-0.rc01.el7 in the
[HEP_OSlibs.spec](/../blob/7.2.0-0.rc01.el7/HEP_OSlibs.spec#L167)
file.
## Updates (for developers)
To create a new release of HEP_OSlibs for el7,
read the description of the new [workflow](/../blob/el7/workflow.md)
based on koji and gitlab CI jobs.
## Contact
Please contact the [heposlibs-dev](mailto:heposlibs-dev@cern.ch)
mailing list if you have change requests for this meta-package.
All updates to this meta-package will be communicated
via the heposlibs-users mailing list
([register](https://e-groups.cern.ch/e-groups/Egroup.do?egroupId=10106256)).
## License
Copyright 2009-2017 CERN.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment