README-el7.md 9.98 KB
Newer Older
1
2
3
4
*(This documentation has been moved from its previous location in 
https://twiki.cern.ch/twiki/bin/view/LCG/CentOS7DependencyRPM,
which is no longer maintained.)*

5
# **HEP_OSlibs meta-package for CentOS7 and CC7 (HEP_OSlibs for el7)**
6
7
8
9

HEP_OSlibs is a meta-package that captures the Linux OS dependencies 
of the software of the four LHC experiments.

10
11
12
This [README-el7.md](README-el7.md)
is the documentation page for HEP_OSlibs
on CentOS7, CC7 and other el7 RedHat systems.
13
14
- 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.
15
16
17
18
19
- 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.
20

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
## 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
51
  HEP_OSlibs-7.2.11-3.el7.x86_64.rpm is 7.2.11-3.el7.
52
53
54
55
- 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.

56
## CentOS7 vs CC7
57

58
59
The meta-package is designed
to be installed on CentOS7/CC7.
60
61
62
63
64
65

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

66
67
The meta-package is designed to be installed
on CentOS7/CC7 64-bit (x86_64).
68
69
70
71

Currently, **only a 64-bit meta-rpm
with 64-bit package dependencies is built on el7.**
Installing this meta-package will only pull in 64-bit dependencies.
72
73
74
75
76

Different policies have been used over time
for the inclusion of 32-bit and 64-bit package-dependencies
in the meta-packages on el7:
- In the 7.0 release series, a single 64-bit meta-package was built, 
77
78
  including both 32-bit and 64-bit package dependencies.
  This is the same policy used in HEP_OSlibs_SL6 for el6.
79
- In releases 7.1.0 to 7.1.9, separate 64-bit and 32-bit meta-packages
80
81
82
83
84
85
86
87
88
  were built, including only the respective dependencies.
    <br/>&nbsp; -
    The split of 64-bit and 32-bit dependencies was implemented 
    by using ISA macros (`%{__isa}`) in the spec file.
    This also simplifies the port to new architectures such as ARM.
- As of release 7.1.10, only the 64-bit meta-package
  with 64-bit package dependencies has been built. 
  On CentOS7, all LHC experiments run their software in 64-bit mode only.

89
90
## Current release: 7.2.11-3.el7
<!-- Throughout this file, all occurrences of "7.2.11-3.el7" are
91
92
automatically replaced with the latest tag by the pkg.sh script -->

93
The latest stable release of HEP_OSlibs for el7
94
is [7.2.11-3.el7](/../tree/7.2.11-3.el7).
95

96
<!-- KOJIBUILDID = buildID=37989 -- DO NOT DELETE! -->
97
This release was built via koji
98
(see http://koji.cern.ch/koji/buildinfo?buildID=37989).
99
100

<!-- *NB: (pre-)release candidates with tags x.y.z-0.prc\* or x.y.z-0.rc\*
101
are for internal use only and are not available for installation,
102
103
104
105
in spite of what may be written below.* -->

*Ongoing work on other release candidates currently in QA is described in the
[el7/QA-el7.md](/../blob/el7/QA-el7.md) page.*
106
107
108
109

### Installation

The 64-bit meta-package for the latest release
110
7.2.11-3.el7 of HEP_OSlibs for el7 is available
111
112
113
114
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.

115
In the [workflow](/../blob/7.2.11-3.el7/workflow.md) for this release,
116
117
the meta-package is generally available earlier
in the WLCG repository than in the centos/7/cern repository.
118

119
120
121
122
123
124
125
126
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.
127

128
129
The recommended way to install HEP_OSlibs
at Grid sites outside CERN is to use the WLCG repository.
130

131
132
133
134
135
136
137
138
139
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
140
  yum install https://linuxsoft.cern.ch/wlcg/centos7/x86_64/wlcg-repo-1.0.0-1.el7.noarch.rpm
141
142
143
144
145
146
  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`.
147

148
149
150
### Contents

The direct dependencies for the latest
151
release 7.2.11-3.el7 of HEP_OSlibs for el7
152
153
154
are declared in the corresponding rpm spec file,
which is available in gitlab:
- the rpm spec file used to build the package: <br/>
155
  see [HEP_OSlibs.spec](/../blob/7.2.11-3.el7/HEP_OSlibs.spec)
156
157
158
159
160

Lists of direct and indirect dependencies have also been prepared
while testing the meta-package in the gitlab CI,
on a system running a minimal Docker image of `cern/cc7-base`.

161
162
163
The following six package lists for this release are available in gitlab:
- HEP_OSlibs direct dependencies, as a list
  (from `rpm -qpR`): <br/>
164
  see [HEP_OSlibs.x86_64.dependencies-direct.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.dependencies-direct.txt)
165
166
- HEP_OSlibs recursive dependencies, as a list
  (from `repoquery --tree-requires`): <br/>
167
  see [HEP_OSlibs.x86_64.dependencies-recursive-flat.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.dependencies-recursive-flat.txt)
168
169
- HEP_OSlibs installed dependencies, as a list
  (from `rpm -qa`, before and after installation): <br/>
170
  see [HEP_OSlibs.x86_64.dependencies-installed.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed.txt)
171
172
- HEP_OSlibs installed dependencies, as a list, with sizes in bytes
  (from `rpm -qa`, before and after installation): <br/>
173
  see [HEP_OSlibs.x86_64.dependencies-installed-size.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-size.txt)
174
175
- HEP_OSlibs installed dependencies, as a list, with version number
  (from `rpm -qa`, before and after installation): <br/>
176
  see [HEP_OSlibs.x86_64.dependencies-installed-nvra.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-nvra.txt)
177
178
- list of all packages present after HEP_OSlibs installation,
  with version number (from `rpm -qa`, after installation): <br/>
179
  see [HEP_OSlibs.x86_64.all-installed-nvra.txt](/../blob/7.2.11-3.el7/dependencies/HEP_OSlibs.x86_64.all-installed-nvra.txt)
180

181
<!-- GITURL = https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs -- DO NOT DELETE! -->
182
183
The six package lists mentioned above,
and additional information including the following files,
184
are also available for download as gitlab CI
185
[artifacts](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.2.11-3.el7-testing/browse/build?job=deploy_job):
186
187
- HEP_OSlibs recursive dependencies, as a tree
  (from `repoquery --tree-requires`): <br/>
188
  download [HEP_OSlibs.x86_64.dependencies-recursive-tree.txt](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.2.11-3.el7-testing/raw/build/HEP_OSlibs.x86_64.dependencies-recursive-tree.txt?job=deploy_job)
189
- HEP_OSlibs installation log: <br/>
190
  download [HEP_OSlibs.x86_64.installation-log.txt](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.2.11-3.el7-testing/raw/build/HEP_OSlibs.x86_64.intallation-log.txt?job=deploy_job)
191
192

### Changelog
193
<!-- CHANGELOG = HEP_OSlibs.spec#L364 -- DO NOT DELETE! -->
194

195
196
Read the changelog for release 7.2.11-3.el7 in the
[HEP_OSlibs.spec](/../blob/7.2.11-3.el7/HEP_OSlibs.spec#L364)
197
file.
198

199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
## 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)).

214
215
## License

Andrea Valassi's avatar
Andrea Valassi committed
216
Copyright 2009-2019 CERN. 
217
218
Licensed under [LGPLv3](https://www.gnu.org/licenses/lgpl-3.0.txt)
or (at your option) any later version.
219
See [COPYRIGHT.txt](COPYRIGHT.txt) for more details.