README-el7.md 8.74 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
15
- It describes HEP_OSlibs releases 7.3.x and above for el7,
  built using the gitlab-based workflow developed in October 2017
  and further modified in January 2021.
16
- It is maintained in the [el7](/../el7)
17
18
  branch of this project on gitlab.cern.ch.
- For a general overview of HEP_OSlibs on all supported platforms,
19
  please refer to the generic [master/README.md](/../master/README.md)
20
  file in the master branch.
21

22
23
24
25
26
## 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)
27
and the [Fedora versioning guidelines](https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning).
28
29
30
31
32
33
34
- 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},
35
  as recommended by the [Fedora versioning guidelines](https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning);
36
37
38
39
  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
40
    in October 2017 had an RPM Release equal to 0%{?dist}.
41
    <br/>&nbsp; -
42
    The RPM ["%{?dist}"](https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag) tag
43
44
45
46
47
48
    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
Andrea Valassi's avatar
Andrea Valassi committed
49
50
  by removing the trailing ".cern" from the RPM "Version-Release" identifier. 
  All gitlab tags for el7 thus end with ".el7".
51
- As an example, the gitlab tag for the latest release
52
  HEP_OSlibs-7.3.1-2.el7.x86_64.rpm is 7.3.1-2.el7.
53
54
55
56
- 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.

57
## CentOS7 vs CC7
58

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

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

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

70
Currently (as of release 7.1.10), **only a 64-bit meta-rpm
71
72
with 64-bit package dependencies is built on el7.**
Installing this meta-package will only pull in 64-bit dependencies.
73
On CentOS7, all LHC experiments run their software in 64-bit mode only.
74

75
76
## Current release: 7.3.1-2.el7
<!-- Throughout this file, all occurrences of "7.3.1-2.el7" are
77
78
automatically replaced with the latest tag by the pkg.sh script -->

79
The latest stable release of HEP_OSlibs for el7
80
is [7.3.1-2.el7](/../7.3.1-2.el7).
81

82
<!-- KOJIBUILDID = buildID=49985 -- DO NOT DELETE! -->
83
This release was built via koji
84
(see http://koji.cern.ch/koji/buildinfo?buildID=49985).
85
86

<!-- *NB: (pre-)release candidates with tags x.y.z-0.prc\* or x.y.z-0.rc\*
Andrea Valassi's avatar
Andrea Valassi committed
87
88
are for internal use only and will not be made available for installation
through the WLCG repository, in spite of what may be written below.* -->
89
90

*Ongoing work on other release candidates currently in QA is described in the
91
[el7/QA-el7.md](/../el7/QA-el7.md) page.*
92
93
94
95

### Installation

The 64-bit meta-package for the latest release
96
7.3.1-2.el7 of HEP_OSlibs for el7 is available **only**
97
98
99
100
101
102
103
from the [WLCG](http://linuxsoft.cern.ch/wlcg/centos7/x86_64/)
repository at CERN.

As of release 7.3.0, the WLCG repository
is meant to be used for installing HEP_OSlibs for el7
both on CC7 systems at CERN (including lxplus7)
and on CentOS7 or CC7 systems at external Grid sites.
104

105
106
107
108
109
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
Andrea Valassi's avatar
Andrea Valassi committed
110
111
in first installing the [wlcg-repo rpm](https://linuxsoft.cern.ch/wlcg/centos7/x86_64/wlcg-repo-1.0.0-1.el7.noarch.rpm)
describing the wlcg repository and then installing HEP_OSlibs, as follows:
112
```bash
113
  yum install https://linuxsoft.cern.ch/wlcg/centos7/x86_64/wlcg-repo-1.0.0-1.el7.noarch.rpm
114
115
116
117
118
119
  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`.
120

121
122
123
### Contents

The direct dependencies for the latest
124
release 7.3.1-2.el7 of HEP_OSlibs for el7
125
126
127
are declared in the corresponding rpm spec file,
which is available in gitlab:
- the rpm spec file used to build the package: <br/>
128
  see [HEP_OSlibs.spec](/../7.3.1-2.el7/HEP_OSlibs.spec)
129
130
131
132
133

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`.

134
135
136
The following six package lists for this release are available in gitlab:
- HEP_OSlibs direct dependencies, as a list
  (from `rpm -qpR`): <br/>
137
  see [HEP_OSlibs.x86_64.dependencies-direct.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.dependencies-direct.txt)
138
139
- HEP_OSlibs installed dependencies, as a list
  (from `rpm -qa`, before and after installation): <br/>
140
  see [HEP_OSlibs.x86_64.dependencies-installed.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed.txt)
141
142
- HEP_OSlibs installed dependencies, as a list, with sizes in bytes
  (from `rpm -qa`, before and after installation): <br/>
143
  see [HEP_OSlibs.x86_64.dependencies-installed-size.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-size.txt)
144
145
- HEP_OSlibs installed dependencies, as a list, with version number
  (from `rpm -qa`, before and after installation): <br/>
146
  see [HEP_OSlibs.x86_64.dependencies-installed-nvra.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.dependencies-installed-nvra.txt)
147
148
- list of all packages present after HEP_OSlibs installation,
  with version number (from `rpm -qa`, after installation): <br/>
149
  see [HEP_OSlibs.x86_64.all-installed-nvra.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.all-installed-nvra.txt)
Andrea Valassi's avatar
Andrea Valassi committed
150
151
- HEP_OSlibs recursive dependencies, as a list
  (from `repoquery --tree-requires`): <br/>
152
  see [HEP_OSlibs.x86_64.dependencies-recursive-flat.txt](/../7.3.1-2.el7/dependencies/HEP_OSlibs.x86_64.dependencies-recursive-flat.txt)
153

154
<!-- GITURL = https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs -- DO NOT DELETE! -->
155
156
The six package lists mentioned above,
and additional information including the following files,
157
are also available for download as gitlab CI
158
[artifacts](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.3.1-2.el7-testing/browse/build?job=deploy_job):
Andrea Valassi's avatar
Andrea Valassi committed
159
- HEP_OSlibs installation log: <br/>
160
  download [HEP_OSlibs.x86_64.installation-log.txt](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.3.1-2.el7-testing/raw/build/HEP_OSlibs.x86_64.installation-log.txt?job=deploy_job)
161
162
- HEP_OSlibs recursive dependencies, as a tree
  (from `repoquery --tree-requires`): <br/>
163
  download [HEP_OSlibs.x86_64.dependencies-recursive-tree.txt](https://gitlab.cern.ch/linuxsupport/rpms/HEP_OSlibs/builds/artifacts/7.3.1-2.el7-testing/raw/build/HEP_OSlibs.x86_64.dependencies-recursive-tree.txt?job=deploy_job)
164
165

### Changelog
166
<!-- CHANGELOG = HEP_OSlibs.spec#L231 -- DO NOT DELETE! -->
167

168
169
Read the changelog for release 7.3.1-2.el7 in the
[HEP_OSlibs.spec](/../7.3.1-2.el7/HEP_OSlibs.spec#L231)
170
file.
171

172
173
174
## Updates (for developers)

To create a new release of HEP_OSlibs for el7,
175
read the description of the new [workflow](/../el7/workflow.md)
176
177
178
179
180
181
182
183
184
185
186
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)).

187
188
## License

189
Copyright 2009-2021 CERN. 
190
191
Licensed under [LGPLv3](https://www.gnu.org/licenses/lgpl-3.0.txt)
or (at your option) any later version.
192
See [COPYRIGHT.txt](COPYRIGHT.txt) for more details.