Commit Graph

77 Commits

Author SHA1 Message Date
Joao Eduardo Luis 14318e4210
make-dist: replace all '-' for '.' for rpm release
Otherwise, a version like 'vX.Y.Z-foo-bar-baz' would end up as an rpm
release of 'foo.bar-baz' in the spec file, and rpm will not like that
very much because of that extra '-'.

Signed-off-by: Joao Eduardo Luis <joao@clyso.com>
2024-07-21 08:15:11 +00: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
Ivo Almeida 45183620dd mgr/dashboard: update node js version
Fixes: https://tracker.ceph.com/issues/66249

Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
2024-05-29 09:25:19 +01: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
Laura Flores 492cb97a16
Merge pull request #55985 from Svelar/make-dist
make-dist: remove old cruft recursively
2024-05-15 17:08:28 -05:00
Nizamudeen A 09e55fb7c5
Merge pull request #52617 from TomNewChao/main
mgr/dashboard/frontend:Ceph dashboard supports multiple languages

Reviewed-by: Svelar <NOT@FOUND>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2024-03-21 00:28:38 +05:30
Rongqi Sun 5331f477d9 make-dist: remove old cruft recursively
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
2024-03-06 09:00:49 +00:00
TomNewChao 913b52d6ee fix review about mgr/dashboard/frontend:Ceph dashboard supports multiple languages
1.Set the default value of DASHBOARD_FRONTEND_LANGS to 'ALL'.
2.Fix bug about receive the `"ALL"` or `'ALL'`from process.env.DASHBOARD_FRONTEND_LANGS that is not equal 'ALL' in cd.js.
3.When we use the make-dist script to build the front-end UI to release the ceph, we should add DASHBOARD_FRONTEND_LANGS="ALL" to support multiple languages.

Signed-off-by: TomNewChao <chaotomzhu@gmail.com>
2024-03-03 23:19:47 +08:00
Kefu Chai 95e03f8809 cmake: bump liburing from 0.7 to 2.5
this allows us to use newer liburing features. Seastar is using
some of them which are not provided by liburing 0.7.

in this change, `--use-libc` is passed to configure. otherwise
it does not link against libc, and the symbles like memset()
won't be available when compiling liburing.so with -fPIC using
clang, which does not pull libc in that case.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-03-02 12:16:14 +08:00
Casey Bodley 5697d81188 make-dist: replace boostorg.jfrog.io mirror with archives.boost.io
change the jfrog mirror to the same one used by win32_deps_build.sh
after 594d1e5e83

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-01-08 13:10:47 -05:00
Casey Bodley eaf9c170ca make-dist: prefer download.ceph.com mirror for boost sources
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-01-08 13:08:03 -05:00
Casey Bodley 2ba7d6e59e make-dist: don't use --continue option for wget
the boost jfrog mirror is broken and returns an HTML error page instead
of the archive. the file size of this page is 11534 bytes

when download_from() retries the download from download.ceph.com, the -c
option tells it to resume the download of the existing file. the
resulting boost_1_82_0.tar.bz2 ends up with the correct total file size
of 121325129 bytes, but the first 11534 bytes still correspond to the
HTML from jfrog. that causes the sha256sum mismatch

remove the -c option so that wget fetches the archive in its entirety

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-01-08 08:24:29 -08:00
Rishabh Dave eb6995436f cmake: add --progress flag to git submodule update commands
Ceph has lots of submodules that needs to be cloned before building
binaries from the repository. Seeing the progress when these submodules
are being cloned is useful, especially when developers/users have a
network issue or a slow network.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-10-31 23:14:49 +05:30
Nizamudeen A 47f49e5b1a mgr/dashboard: update nodejs to 18.17.0
the latest npm doesn't support setting python as a config like `npm
config set python3` instead it needs to be either set in the node-gyp
explicitly using the node-gyp command or through an environment
variable.
Since we are calling the node-gyp through npm, we need to set the
environment variable which is documented here: https://github.com/nodejs/node-gyp?tab=readme-ov-file#configuring-python-dependency

Accordingly the CMakeLists.txt for dashboard is adapted

Fixes: https://tracker.ceph.com/issues/62844
Signed-off-by: Nizamudeen A <nia@redhat.com>
2023-09-22 12:19:29 +05:30
Nizamudeen A 692a45362d deps: increase the node version to 16
With node 14, the angular 13 is going into some issues with node-gyp.
```
prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=14.20.0 runtime=node arch=x64 libc= platform=linux)
make: Entering directory '/home/jenkins-build/build/workspace/ceph-dashboard-cephadm-e2e/src/pybind/mgr/dashboard/frontend/node_modules/tree-sitter/build'
  CC(target) Release/obj.target/tree_sitter/vendor/tree-sitter/lib/src/lib.o
  AR(target) Release/obj.target/tree_sitter.a
  COPY Release/tree_sitter.a
  CXX(target) Release/obj.target/tree_sitter_runtime_binding/src/binding.o
```
and in some other environments its like `cb() never called` and stops
the whole `npm ci` process.

After some research, looks like updating node is the way to stop this.

Also, ` npm 7 will block installations if an upstream dependency
conflict is present that cannot be automatically resolved.` https://github.blog/2021-02-02-npm-7-is-now-generally-available/#peer-dependencies

Fixes: https://tracker.ceph.com/issues/62107
Signed-off-by: Nizamudeen A <nia@redhat.com>
2023-07-21 11:33:18 +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
Nathan Cutler dfc9ef6886 make-dist: don't set Release tag in ceph.spec for SUSE distros
SUSE's Open Build Service overwrites the Release tag with checkin
and build counters, so we can't use it to record the number of
commits since the last tag, and the last commit hash.  This commit
appends that extra information to the Version tag instead for
SUSE builds.

Fixes: https://tracker.ceph.com/issues/57893
Signed-off-by: Tim Serong <tserong@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2022-10-25 09:49:50 +11:00
Nizamudeen A 5f95db33e9 cmake: bump node version to 14
to update the angular to 13, we need a node version of either 12.20.x or
14.15.x or 16.10.x. But inorder to not break the angular 12 run for now
   we  need to choose the node which works for both 12 and 13. which is
14.15.x. So I went with that node version here.

Signed-off-by: Nizamudeen A <nia@redhat.com>
2022-10-19 13:34:58 +05:30
Adam C. Emerson 947ac23979 build: Bump Boost version to 1.79
Also remove bind_allocator, as Boost.Asio now provides this function.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-07-22 11:04:43 -04:00
Kefu Chai 2e283b30e8 cmake: s/--prod/--configuration=production/
to silence the warning from Angular 12.0 and up, which complains like:

Option "--prod" is deprecated: Use "--configuration production" instead

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-05-04 23:34:55 +08:00
Rafał Wądołowski c2c6678e48 cmake: Replace boost download url
Boost has moved downloads to JFrog Artifactory
https://www.boost.org/users/news/boost_has_moved_downloads_to_jfr.html

Signed-off-by: Rafał Wądołowski <rwadolowski@cloudferro.com>
2021-05-07 10:12:43 +02:00
Yingxin Cheng 636ab08f26 cmake: bump to PMDK v1.10
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Signed-off-by: Yin Congmin <congmin.yin@intel.com>
2021-04-28 17:31:41 +08:00
Kefu Chai 117838c91d
Merge pull request #40866 from hualongfeng/pmdk_in_dist
make-dist: add pmdk to dist tarball

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-15 16:43:28 +08:00
Feng Hualong 9d958d0b9d make-dist: add pmdk to dist tarball
Signed-off-by: Feng Hualong <hualong.feng@intel.com>
2021-04-15 10:40:06 +08:00
Kefu Chai cbc7f72784
Merge pull request #40614 from smithfarm/wip-39556
make-dist: refuse to run if script path contains a colon

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-04-14 22:41:35 +08:00
Nathan Cutler cb520aa914 make-dist: refuse to run if script path contains a colon
Colons are not permissible in POSIX paths and their presence is known to break
the script.

Fixes: https://tracker.ceph.com/issues/39556
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2021-04-12 09:50:51 +02:00
Kefu Chai c6e8fc5933
Merge pull request #40487 from tchaikov/wip-boost-1.75
install-deps.sh: install boost 1.75

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-04-07 15:10:34 +08:00
Ernesto Puerta 2c2a397f84
mgr/dashboard: debug nodeenv hangs
Increase verbosity in nodeenv command for debugging purposes.

Fixes: https://tracker.ceph.com/issues/50044
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2021-04-06 13:45:15 +02:00
Kefu Chai 89121189ac cmake,install-deps,make-dist: use boost 1.75
so we can use the latest boost

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-05 15:09:29 +08:00
Kefu Chai 0d21f98d71 make-dist: use a loop to collect the ingredients of the dist tarball
for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-09 12:33:47 +08:00
Kefu Chai 040d44894d make-dist: add liburing to dist tarball
since liburing is enabled by default, let's included it in the dist
tarball.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-09 12:33:47 +08:00
Kefu Chai b77aa9d685 make-dist: extract download_from() out
so we can reuse it

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-11-09 12:33:47 +08:00
Brad Hubbard f4f53ece4d make-dist: Don't prompt while running 'npm ci'
Prompting for input while in the background results in SIGTTOU being
sent and npm hanging forever.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2020-10-27 10:37:15 +10:00
Ken Dreyer 3986ad5e36 mgr/dashboard: build with NodeJS 12.18.2
Update the version of NodeJS that we use to build the dashboard.

RHEL 8 and CentOS 8 ship NodeJS 12.18.2, so I've picked this version to
make it easier to build outside of nodeenv.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2020-09-28 17:27:53 -06:00
Kefu Chai c0802c98c4 alpine: remove stale Alpine build recipe
alpine build recipe is stale and does not work with the latest Ceph,
also the APKBUILD for Ceph can be found at alphine's aports repo, see
https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/ceph.

so instead keeping a stale version, let's drop it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-08-18 14:23:50 +08:00
Kefu Chai eb5344a5d9 make-dist: redistribute boost 1.73
Fixes: https://tracker.ceph.com/issues/46208
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-26 22:43:03 +08:00
Tiago Melo 1a6a8381a5 mgr/dashboard: Add dashboard node script
This file should be used to agregate all external scripts we need.
Multiple flags can be used in the same call.

Available flags:

--env: Generates angular environment files.

--pre: Modifies 'angular.json' to enable the build of custom locales using
       angular --localize.
       Languages can be defined using the environment variable LANGS,
       if no value is provided all languages will be build.
       Default language is always build, even if not provided.
       p.e.: 'LANGS="pt" node cd --pre', will build EN and PT.
       For backward compatibility we accept both long and short version of
       languages, p.e.: 'pt' and 'pt-BR'

--post: Restores 'angular.json' to its original.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-05-12 23:39:43 +00:00
Tiago Melo 5b472e28eb mgr/dashboard: Update Node.js to latest LTS: v12.16.2
Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-05-12 23:39:43 +00:00
Sebastian Wagner 615381659c cmake: Integrate Rook client generation
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-13 11:33:55 +01:00
Tiago Melo abcc7bf85e make-dist: Bump Node.js to v10.18.1
This will fix an error caused by the usage of the latest version of Angular CLI
and Node.js v10.16.0.

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

Signed-off-by: Tiago Melo <tmelo@suse.com>
2020-02-05 15:53:00 -01:00
Nathan Cutler 249bf81a32 make-dist: drop Python 2/3 autoselect
virtualenv will prefer Python 3 over Python 2 if both are available.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-12-27 10:55:57 +01:00
Kefu Chai bad8fdf762 make-dist: package boost v1.72 instead of v1.67
to be consistent with the version used by "make check"

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-12-24 01:22:07 +08:00
Nathan Cutler 594dde9d4b build/ops: make-dist: default to no dashboard frontend build parallelism
Work around a race condition in the dashboard frontend parallel build code.

References: https://tracker.ceph.com/issues/43152
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-12-05 17:38:39 +01:00
Ricardo Dias 5bf5e340e4
make-dist: build dashboard frontend for each language
Signed-off-by: Ricardo Dias <rdias@suse.com>
2019-10-10 16:03:31 +01:00
Lenz Grimmer 7a6f741cbe
mgr/dashboard: update npm packages (#28343)
mgr/dashboard: update npm packages

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-08-05 12:20:20 +02:00
Kefu Chai bbb69fe793 cmake: require CMake v3.10.2
since we dropped the support of xenial, we now have the luxury of using
newer CMake! and by using CMake 3.10.2, we can prevent libfmt from
assuming that we are using C++11, and hence set `CMAKE_CXX_STANDARD` to
11, which will literally append `-std=gnu++11` to `CMAKE_CXX_FLAGS`.
the last `-std` option passed to `g++` takes precendence.
since we've switched over to C++17, and we are using C++17 features.
so, using cmake older than 3.8 breaks the build. because it is CMake 3.8
which stared support `CMAKE_CXX_STANDARD` 17.

- for bionic: https://packages.ubuntu.com/bionic/cmake : 3.10.2
- for CentOS7:
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/c/ : 3.13.5

so in this change,

* bump up the required version to v3.10.2
* cleanups to wipe out the workaround for lower CMake versions
* use `PROJECT_VERSION` defined by `project()` command instead of
  `VERSION` explicitly defined.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-08-02 22:09:12 +08:00
Tiago Melo 7f7f8a443c mgr/dashboard: Update all npm packages
This includes a major upgrade of angular from v7 to v8.

Using NG_CLI_ANALYTICS to disable angular cli to query about allowing analytics.

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

Signed-off-by: Tiago Melo <tmelo@suse.com>
2019-08-02 13:15:55 +00:00
Nathan Cutler 7df4b92789 build/ops: run "npm ci" with a one-hour timeout
Fixes: https://tracker.ceph.com/issues/40645
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-07-11 20:08:08 +02:00
Nathan Cutler cad431cd9e make-dist: set version number only once
Before this commit, "git describe" was being run *twice* - once
at the beginning to initialize the version variable, and another
time further down to populate the .git_version file.

Refactor so the command is run only once, and include the --long
option to eliminate the undesirable behavior of producing just
the tag when HEAD points to a tag.

Also, since .git_version is now populated without the leading "v",
the cmake code for stripping off that leading "v" is no longer
needed.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-05-08 11:28:19 +02:00
Tiago Melo d0a6541bc6 mgr/dashboard: Update Node.js to current LTS
Removed the npm update since the current node already includes the necessary
npm version.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-11-07 20:10:25 +00:00