Commit Graph

319 Commits

Author SHA1 Message Date
David Galloway
0b0c73ad86 install-deps: Replace apt-mirror
apt-mirror.front.sepia.ceph.com has happened to always work because we set up CNAMEs to gitbuilder.ceph.com.

That host is making its way to a new home upstate (literally and figuratively) so we'll get rid of the front subdomain since it's publicly accessible anyway and add TLS while we're at it.

Signed-off-by: David Galloway <david.galloway@ibm.com>
2025-12-16 17:08:00 -05:00
T K Chandra Hasan
e93f35520d
Fix install-deps.sh script when crimson flag is disabled.
With ceph#66229 merged, crimson is now enabled by default for all the builds. So if we're trying to build with crimson disabled, the bcond must be reversed to install the relavant dependencies.

Signed-off-by: T K Chandra Hasan <t.k.chandra.hasan@ibm.com>
2025-11-27 21:28:26 +05:30
Casey Bodley
20f4bc9202 install-deps: remove old logic for unsupported centos/rhel 8
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2025-11-04 11:32:00 -05:00
Casey Bodley
99e0298034 install-deps: warn about gcc older than 13 for el9 and later
function ensure_decent_gcc_on_rh() is supposed to log a warning when it
finds the default gcc version is older than the gcc toolset version
installed by ceph.spec.in

> Your GCC is too old. Please run following command to add DTS to your environment:

however, this function is only called if the dts_ver variable is
initialized, so set it to 13 for centos/rocky 9 and later to match
ceph.spec.in

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2025-11-04 11:27:25 -05:00
Dan Mick
fd19a09e02 install-deps.sh: install proper compiler version on Debian/Ubuntu
This code used to run in a pbuilder hook (because it needed to run
inside the build environment chroot).  When building in a container,
you also want the right compiler installed.

This is necessary at least to build reef on ubuntu focal.

Fixes: https://tracker.ceph.com/issues/73585
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2025-10-18 17:47:32 -07:00
John Mulligan
b1b0defd44 install-deps.sh: let FOR_MAKE_CHECK variable take precedence
Previously, the FOR_MAKE_CHECK variable could only enable installing
extra (test) dependencies when install-deps.sh was used and it was
ignored if `tty -s` exited true. This change allows FOR_MAKE_CHECK to
take precedence over the tty check and to specify one of true, 1, yes to
enable extra "for make check" deps or false, 0, no to explicitly disable
the extra deps.

Based-on-work-by: Dan Mick <dan.mick@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-10-13 18:03:21 -04:00
David Galloway
add0dc2c96 install-deps: Add Rocky 9, combine if statements
Signed-off-by: David Galloway <david.galloway@ibm.com>
2025-07-23 14:59:41 -04:00
Aishwarya Mathuria
0f3b651fcc install-deps.sh: use gcc-12 for ubuntu jammy
Clang relies on the system's libstdc++ headers for standard C++
features. On Ubuntu Jammy, gcc-11 is the default and it's libstdc++ is
missing some of the newer features supported by C++20.

This causes build failures as certain standard headers are incomplete.
To fix this, we install gcc-12 explicitly so that Clang can pick up the
newer libstdc++ headers.

Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
2025-07-14 07:45:22 +00:00
John Mulligan
a2bc95c9c4 install-deps.sh: add a temporary repo for missing el10 deps
Add a new dnf/yum repository hosted in the ceph lab infra for providing
the last few dependencies missing from other el10 repos.
Hopefully we can remove this soon but it serves as a stopgap as we work
on getting el10 builds working in the ceph CI infra and tested.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-06-27 11:04:44 -04:00
John Mulligan
ae7878d3c1 install-deps.sh: enable crb for rocky 10
Rocky Linux 10 has a CRB repo that must be enabled for a number of
Ceph's dependencies to be installed via dnf.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-06-20 20:07:09 -04:00
Kefu Chai
d4c6b9c803 install-deps.sh: refresh package index before installing dependencies
Fix dependency installation failures caused by outdated package indexes
on Debian-based systems. When the host's package index is stale, package
installation can fail with HTTP 404 errors because updated packages are
no longer available at their cached URLs.

Recent build server failures show this issue:

```
E: Failed to fetch http://us.ports.ubuntu.com/ubuntu-ports/pool/main/o/openldap/libldap-2.5-0_2.5.18%2bdfsg-0ubuntu0.22.04.3_arm64.deb  404  Not Found [IP: 91.189.91.104 80]
E: Failed to fetch http://us.ports.ubuntu.com/ubuntu-ports/pool/main/o/openldap/libldap-dev_2.5.18%2bdfsg-0ubuntu0.22.04.3_arm64.deb  404  Not Found [IP: 91.189.91.104 80]
E: Failed to fetch http://us.ports.ubuntu.com/ubuntu-ports/pool/main/o/openldap/libldap2-dev_2.5.18%2bdfsg-0ubuntu0.22.04.3_all.deb  404  Not Found [IP: 91.189.91.104 80]
```

In this change, we add `apt-get update` before installing the
ceph-build-deps meta package, following the same pattern used in
ensure_decent_gcc_on_ubuntu().

Note: Additional `apt-get update` calls are still required when installing
packages from custom repositories after adding their source lists.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2025-06-10 16:38:00 +08:00
Matan Breizman
e1aa80eb39 ceph.spec.in, install-deps: sed -i 's/seastar/crimson/'
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2025-04-03 07:53:39 +00:00
Matan Breizman
23c33f69ff src: sed -i 's/WITH_SEASTAR/WITH_CRIMSON/'
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2025-04-03 07:53:15 +00:00
Dan Mick
e90047cc69
Merge pull request #62324 from phlogistonjohn/jjm-bwc-fix-70470-clang-2
build-with-container: fix container build on docker and clang setup on ubuntu jammy  [v2]
2025-03-26 14:08:55 -07:00
John Mulligan
bbd7933598 install-deps: extract SUDO variable logic into a reusable function
While the function is pretty simple and could be copy-pasted I
prefer to extract things into functions to indicate that the
logic is used/repeated elsewhere to ward off making changes to
one copy vs the other.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-03-15 12:48:25 -04:00
John Mulligan
c51c6cdcb6 install-deps: fix a log line to use ci_debug
The log line was doing exactly what ci_debug does, so switch it to use
that function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-03-14 14:40:40 -04:00
Adam C. Emerson
b446290f44
build: Upgrade to Boost 1.87
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2025-03-12 10:28:22 -04:00
Patrick Donnelly
db58a29a53
CMakeLists: add boost::locale dependency for client
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2025-02-27 13:41:56 -05:00
Patrick Donnelly
668a556322
install-deps: unconditionally install boost libraries
If we add a new Boost component, the install-deps.sh script will not install it
because other Boost libraries are installed with the desired version. Just
unconditionally install. The package manager is smart enough to skip already
installed packages.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
2025-02-27 13:41:56 -05:00
John Mulligan
de8b21d7bd install-deps.sh: enable crb repository for centos 10 stream
The centos 10 stream distribution is like centos 9 and needs the crb
repository enabled to even think about building ceph. Note that I made
it a separate block in case more stuff needs to be added for it later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2025-02-20 16:27:23 -05:00
Ernesto Puerta
96ec7badb8
mgr/restful: remove deprecated module
Detailed changes:
* Remove `restful` mgr module dir,
* Remove Python depedencies (`pecan`, `werkzeug`) from ceph.spec and
  debian control,
* Remove docs,
* Remove associated QA tests,
* Update vstart.

Fixes: https://tracker.ceph.com/issues/47066
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2024-10-28 14:17:18 +01:00
Casey Bodley
0a1d0933ad
Merge pull request #57581 from adamemerson/wip-boost-1.85
build: Bump boost version to 1.85

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2024-06-27 16:35:32 +01:00
Casey Bodley
ae0bac968e
Merge pull request #53849 from dvanders/dvanders_alma
install-deps.sh, do_cmake.sh: almalinux is another el flavour

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2024-06-25 16:10:21 +01:00
Kyr Shatskyy
fa518c5580 os/bluestore: remove zoned namespace support
This is actually a follow up patch for the PR #55054 and
commit 03e11acca0
and makes clean up for suse based distros.

Fixes: 03e11acca0
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
2024-06-21 20:50:09 +02:00
Adam Emerson
3d36ac2d0b build: Bump Boost to 1.85
Signed-off-by: Adam Emerson <aemerson@redhat.com>
2024-05-22 21:38:33 -04:00
luo rixin
a17342147d install-deps: save and restore user's XDG_CACHE_HOME
Since ccache 4.0, ccache use $XDG_CACHE_HOME/ccache to keep compile cache
if XDG_CACHE_HOME is set. In this case $XDG_CACHE_HOME is overwrite,
ccache will use $XDG_CACHE_HOME/ccache(ccache will create the dir if not exsit) to
store compile cache, but $XDG_CACHE_HOME will be removed next round running,
leading to ccache contests are always removed. So save and restore user's XDG_CACHE_HOME.

Fixes: https://tracker.ceph.com/issues/65175
Signed-off-by: luo rixin <luorixin@huawei.com>
2024-04-18 09:05:39 +08:00
Casey Bodley
453be876b3 install-deps: remove cortx-motr integration
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-04-09 09:03:37 -04:00
Nizamudeen A
257dc69d32 install-deps: enable copr ceph/grpc
In dashboard, to generate nvmeof apis in el8 this is needed so that it
can download the python3-grpcio packages.
https://copr.fedorainfracloud.org/coprs/ceph/grpc/

Fixes: https://tracker.ceph.com/issues/65184
Signed-off-by: Nizamudeen A <nia@redhat.com>
2024-04-05 13:55:13 +05:30
Adam Kupczyk
b5bae62c00
Merge pull request #55054 from pereman2/zns-remove
os/bluestore: remove zoned namespace support
It has never been finished and now its in the way of future improvements.
2024-02-06 15:32:48 +01:00
Alexander Indenbaum
11a37da053 build dependencies: centos9
- ceph.spec.in: declare git as build dependency
- install-deps.sh: enable CRB repo

Test procedure:
    docker run --rm -ti  -v /home/baum/ceph-ci:/home/ceph quay.io/centos/centos:stream9 bash
    [root@a3c4b1545e93 /]# cd /home/ceph/
    [root@a3c4b1545e93 ceph]# ./install-deps.sh 2>&1 tee install-deps.log

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
2024-01-26 19:56:31 +00:00
luo rixin
04691123ed install-deps: Force remove ceph-libboost* packages
As `apt-get remove ceph-libboost*` show the error and cause the make check failed.
`E: The package ceph-libboost1.79-dev needs to be reinstalled, but I can't find an archive for it.`
The ceph-libboost* packages may be not removed, so use `dpkg` to force remove ceph-libboost*.

Fixes: https://tracker.ceph.com/issues/64032

Signed-off-by: luo rixin <luorixin@huawei.com>
2024-01-19 11:50:30 +08:00
Pere Diaz Bou
03e11acca0 os/bluestore: remove zoned from crimson
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
2024-01-09 23:08:05 +01:00
Adam Emerson
87f4a8914c build: Don't kill install-deps.sh if we can't get ceph-libboost
We can still use the submodule.

Signed-off-by: Adam Emerson <aemerson@redhat.com>
2023-10-27 19:18:19 -04:00
Dan van der Ster
6e85f76385 install-deps.sh, do_cmake.sh: almalinux is another el flavour
Signed-off-by: Dan van der Ster <dan.vanderster@clyso.com>
2023-10-05 09:51:34 -07:00
Adam Emerson
0c3f511e14 build: Remove old ceph-libboost* packages in install-deps
Here, we extract `clean_boost_on_ubuntu()` and call it before other
installs on Debian distributions so that if we install a system boost,
a potentially newer `ceph-libboost` won't get in the way.

As the sources.list.d being removed in the original cleanup code isn't
the one we're currently installing in the install code, add a removal
for the currently used source, then do apt-update so packages from the
removed source are no longer included as available.

Two subsidiary dev packages from conflicting boost libraries can be
installed, but it leaves apt in an inconsistent state. To clean this
up, add `--fix-missing` to the removal line and call
`clean_boost_on_ubuntu()` before other uses of apt.

Fixes: https://tracker.ceph.com/issues/62097
Signed-off-by: Adam Emerson <aemerson@redhat.com>
2023-07-31 11:17:43 -04:00
Nizamudeen A
d179b95ddf install-deps: remove the legacy resolver flags
This was a workaround that was introduced long time ago. This will be
something that could be deprectaed at some point [1]. And its preventing some of the dependencies to be
downloaded or stored into the wheelhouse. Deps like jsonschema, parse,
mypy, cryptography etc.

[1] https://pip.pypa.io/en/latest/user_guide/#deprecation-timeline

Fixes: https://tracker.ceph.com/issues/62082
Signed-off-by: Nizamudeen A <nia@redhat.com>
2023-07-20 17:16:34 +05:30
Adam C. Emerson
244c5ebbd4 build: Bump boost to 1.82
Needed to fix coroutine detection under Clang

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2023-07-05 15:45:07 -04:00
luo rixin
2671fadf80 install-deps: remove leveldb pkg
Signed-off-by: luo rixin <luorixin@huawei.com>
2023-05-04 11:35:30 +08:00
Adam King
ce08eda429
Merge pull request #48697 from phlogistonjohn/jjm-cleaner-build-sh
build scripts: various cleanups and minor changes preparing for containerized build and test

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2023-03-06 11:04:09 -05:00
John Mulligan
1361f2e850 install-deps.sh: use ci_debug function
Replace a number of boilerplate CI_DEBUG lines with the recently added
ci_debug function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
9b7db758c3 install-deps.sh: source lib-build.sh
Currently, only in_jenkins is used. More will come later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
e8b370a9c7 install-deps.sh: copy ubuntu/apt retry logic from run-make.sh
Copy the logic from run-make.sh into install-deps.sh so that we can later
remove it from run-make.sh. It helps prevent breakage when apt-get is
interrupted.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
8b529a0d41 install-deps.sh: support INSTALL_EXTRA_PKGS
Instead of requiring other scripts to install packages independently,
teach install-deps.sh to install additional packages from the variable
INSTALL_EXTRA_PKGS. Now, other scripts should just set
INSTALL_EXTRA_PKGS and call install-deps.sh.

In particular, this fixes an issue installing packages in a clean (ex.
container) system that doesn't yet have repositories set up. Since this
task is performed by install-deps.sh already we avoid a chicken-and-egg
issue (or doing redundant work of setting up repos) in other scripts.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
b315700bbf install-deps.sh: move functions above all "main" script body
Previously, the main part (top level body) of the script started and
then some function definitions occurred and then the main part of the
script resumed after that. I, and others, find this confusing so this
change moves the function definitions to occur before the main body of
the install-deps.sh script.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
Zack Cerza
349a92bdb7 install-deps.sh: Fail when downloading apt repos
More specifically, if we get e.g. a 504 while attempting to download a
.list file, fail the build and log the status code.

Signed-off-by: Zack Cerza <zack@redhat.com>
2023-02-06 13:50:46 -07:00
John Mulligan
cd1cd1bd33 install-deps: switch to C.UTF-8 locale
The en_US.UTF-8 locale is not always going to present on all systems.
Specifically, setting en_US.UTF-8 causes numerous warnings when running
this script on a CentOS Stream 8 container. Rather than install
additional packages to suppress the warning, use the C.UTF-8 locale.

Additionally, try to update the comment explaining the line to something
based on the commit history rather than the confusing term "vulnerable".

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
John Mulligan
8c1281965e install-deps: for consistency, reformat tabs to spaces
The majority of the install-deps.sh file was already using spaces to
indent, convert the remaining hard tabs to 8 spaces.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
John Mulligan
e8b20c0d1f install-deps: remove emacs modeline from script
The majority of the lines in this shell script uses spaces to indent,
but I *think* this modeline tells emacs to indent with tabs. In a very
near future change I'm going to make all indents use spaces. So we first
remove the emacs modeline that tells it to use the opposite.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
Laura Flores
0d2a5f3466 install-deps.sh: fix install-deps script for focal and bionic
When run on focal and bionic, install-deps ends early
due to this extra debug message that was added to the
end of `ensure_decent_gcc_on_ubuntu`. The debug message
prints when the script is run in a jenkins environment.

When the script is not run in a jenkins environment, the
value returned there is "false" or "0", which acts as
an early return. This stops the script from completing.

We can remove this line, as `ensure_decent_gcc_on_ubuntu`
is only called for focal and bionic, and most of the jenkins
nodes are running jammy. Also, there is a debug message at the
beginning of the function that should suffice.

Fixes: https://tracker.ceph.com/issues/57466
Signed-off-by: Laura Flores <lflores@redhat.com>
2022-09-07 19:45:57 +00:00
David Galloway
f4df4090b0
Merge pull request #47885 from ceph/boost-focal
install-deps: Actually install libboost we built for Jammy
2022-09-01 10:02:07 -04:00