Commit Graph

59 Commits

Author SHA1 Message Date
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
Sage Weil
3988351227 Merge PR #23432 into master
* refs/pull/23432/head:
	Revert "rocksdb: pickup change to link against libsnappy.a"
	cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX"
	cmake: cleanup snappy related script
	debian: strip "-Wl,-Bsymbolic-functions" from LDFLAGS
2018-08-07 08:59:39 -05:00
Kefu Chai
02b4e2340a
Merge pull request #23285 from tspmelo/wip-package-lock
mgr/dashboard: Add package-lock.json

Reviewed-by: Ricardo Dias <rdias@suse.com>
2018-08-06 22:48:52 +08:00
Kefu Chai
4b09b2fbc4 cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX"
as the higher version of libstdc++ is backward compatible with the lower
ones. so there is no need to statically link against C++ libraries. they
can always use the libstdc++ ships with the distro.

This reverts commit a6c73b6ac1

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-06 18:30:38 +08:00
Tiago Melo
b4fc13d554 mgr/dashboard: Replace "npm install" with "npm ci"
"npm ci" is the recommended command to install dependencies
in a continuous integration system.

It will make sure node_modules is empty and that the version in
"package-lock.json" match the ones in "package.json"

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-07-31 18:07:37 +01:00
Kefu Chai
a6c73b6ac1 cmake,make-dist: build gperftools if WITH_STATIC_LIBSTDCXX
we could create a mini project to build a shared library, and use
try_compile() to test if the found gperftools is compiled with -fPIC.
but as we are targeting mostly xenial when enabling
WITH_STATIC_LIBSTDCXX, and google-perftools on xenial by default
is built without -fPIC. so let's keep it simple.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-29 21:25:52 +08:00
Kefu Chai
53a1500a8f cmake,make-dist: bump up boost version to 1.67
* to pick up the fix of https://svn.boost.org/trac10/ticket/11622
* also the boost::python's library name now includes the version suffix
  of python version, so update BuildBoost.cmake accordingly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-04-21 09:02:28 +08:00
Kefu Chai
19aee456c0 cmake,make-dist: use sha256 instead of md5 for checksum
the boost's download page offers the SHA256 hash, so it'd be easier to
verify the hash this way.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-04-21 01:17:35 +08:00
Nathan Cutler
72c6405da3 build/ops: make-dist: fall back to python3
If python2.7 is not available, we might be building in a Python 3-only
environment.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-04-04 19:17:45 +02:00
Nathan Cutler
9f970f9cde build/ops: declare python version when calling setup-virtualenv.sh
This just makes the current Python 2.7 dependency explicit. Making
these statements optionally use Python 3 is left for later.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-03-23 11:21:23 +01:00
Tiago Melo
d5f8713882 mgr/dashboard: remove node/npm system installation
Node and npm are now being installed in a virtualenv, removing the need of
having it installed in the system or as a node dependency.

Now, if you want to use npm, you just need to activate the virtualenv created
on 'build/src/pybind/mgr/dashboard/node-env', and then you can execute the
same commands as you did before.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-03-16 12:06:22 +00:00
Ricardo Dias
aa205a6731
mgr/dashboard: renamed dashboard_v2 to dashboard
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-03-16 07:23:08 +00:00
Nathan Cutler
382d8b3a16 Revert "make-dist: add OBS-specific release suffix on SUSE"
This reverts commit ca6c92b3ec.

The OBS-specific suffix potentially causes trouble when building outside of
OBS. Also, the OBS build process already includes a spec-file munging step
where this can be done.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-03-09 01:42:02 +01:00
Ricardo Dias
fcfedccd91
make-dist: Added dashboard_v2 frontend build files to dist tarball
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-03-05 13:07:14 +00:00
Nathan Cutler
ca6c92b3ec make-dist: add OBS-specific release suffix on SUSE
This is needed to prevent OBS from overriding the nice release number generated
by make-dist.

For more information, see
https://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#How_to_control_a_Release_number_of_resulted_packages

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Casey Bodley
0e47a339df cmake: update minimum boost version to 1.66
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-05 13:52:47 -05:00
Kefu Chai
65f91227a6 make-dist: exclude unused bits in boost
the docs, examples and tests are not used. so drop them. we could go
further by removing unused components in boost. but that'd be an issue
if somebody added a component in CMakeLists but forgets to update this
script. also, we need to remove boost/$component and lib/$component to
achieve this goal. this also introduces extra complicity. so leave it
for another change.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-24 19:16:07 +08:00
Kefu Chai
2218efa005 make-dist: repackage boost in the correct path
before this change, boost is put into ./src. after this change, it is
put into $outfile/src. i.e. something like
ceph-12.1.2-4592-gf5f2ced624/src .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-24 11:13:16 +08:00
Brad Hubbard
598556f98b make-dist,cmake: Try multiple URLs to download boost before failing
Remove SPOF during boost download for make-dist and later cmake > 3.7

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-10-04 11:13:34 +10:00