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>
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>
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>
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>
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>
* 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
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>
"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>
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>
* 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>
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>
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>
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>
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>
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>
Similar to autobuild-ceph 17591db, only try to set rpm_release if there
is a release part to the git describe output (i.e. if it's not at a
version tag)
Signed-off-by: Dan Mick <dan.mick@redhat.com>
This allows the make-dist script to create a .spec file that
can actually use the tarball created to build srpms.
Tested on Fedora 24, using mock.
Signed-off-by: Ira Cooper <ira@redhat.com>