-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enable plugins and detailed EBS volume stats for nvme-cli #269
Conversation
Signed-off-by: Ben Cressey <bcressey@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
-DDISABLE_WERROR:BOOL=OFF \ | ||
-DENABLE_RDRAND:BOOL=ON \ | ||
-DENABLE_THREADING:BOOL=ON \ | ||
-DCMAKE_INSTALL_PREFIX:PATH=%{_cross_prefix} \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also not needed:
If I don't set this, then I don't get the right behavior; cmake --install
sends the files to /usr/local
instead:
#14 5.950 + DESTDIR=/home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64
#14 5.950 + cmake --install .
#14 5.960 -- Install configuration: "Release"
#14 5.961 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/libjson-c.so.5.4.0
#14 5.961 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/libjson-c.so.5
#14 5.961 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/libjson-c.so
#14 5.962 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/cmake/json-c/json-c-targets.cmake
#14 5.962 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/cmake/json-c/json-c-targets-release.cmake
#14 5.962 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/cmake/json-c/json-c-config.cmake
#14 5.963 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/lib/pkgconfig/json-c.pc
#14 5.963 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_config.h
#14 5.963 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json.h
#14 5.963 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/arraylist.h
#14 5.964 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/debug.h
#14 5.964 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_c_version.h
#14 5.964 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_inttypes.h
#14 5.964 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_object.h
#14 5.964 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_object_iterator.h
#14 5.965 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_tokener.h
#14 5.965 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_types.h
#14 5.965 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_util.h
#14 5.965 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/json_visit.h
#14 5.965 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/linkhash.h
#14 5.966 -- Installing: /home/builder/rpmbuild/BUILDROOT/bottlerocket-libjson-c-0.18-20240915.1731694836.c940f6ab.br1.aarch64/usr/local/include/json-c/printbuf.h
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🫠 , why cmake? I wonder if there is a bug in cmake
and it ignores CMAKE_INSTALL_PREFIX
when set through the toolchain
file?
-DCMAKE_INSTALL_PREFIX:PATH=%{_cross_prefix} \ | ||
-G Ninja | ||
|
||
cmake --build . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these two steps (_cross_cmake
and cmake build
) required in separate lines? If _cross_cmake
is used to generate the actual Make
files, why not move that to %prep
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these two steps (_cross_cmake and cmake build) required in separate lines?
Even if they're not, I prefer them to be separate for symmetry with autotools (configure
then make
), meson (meson setup
then meson build
), etc.
If _cross_cmake is used to generate the actual Make files, why not move that to %prep?
%prep
is only meant to prepare the source tree for building. It's not meant to encompass build steps, and by convention the entry point to the build is that first configure
/ meson setup
/ cmake
invocation. In the configure
case this often involves building and running a lot of test programs; it isn't a "pure" operation on files in the way that %prep
ideally is.
With sufficient motivation you could run build logic in the %prep
stage or patch sources in the %build
stage (and our grub
and glibc
packages kind of do that, respectively). In extreme cases (like our libgcc
) the entire build can happen elsewhere. But it's not the convention and it makes the spec "weird" when you do that.
Signed-off-by: Ben Cressey <bcressey@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
c940f6a
to
db75545
Compare
Issue number:
Fixes #274
Description of changes:
nvme-cli
requires thejson-c
library for plugins. Package it, enable plugins, and apply the recent patch to the "amzn" plugin so that it can report detailed EBS volume stats.Also fixes a bug I noticed in
rdma-core
, where the devel package didn't correctly depend on the base package.Testing done:
Verified that the "amzn" plugin worked as expected.
Also confirmed that the EBS volume links were created as expected:
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.