commit
13ff807920
Binary file not shown.
@ -0,0 +1,62 @@
|
||||
From a1b257d91677637063c1eb359097d53078f7272a Mon Sep 17 00:00:00 2001
|
||||
From: Michel Salim <michel@meta.com>
|
||||
Date: Wed, 2 Aug 2023 12:19:57 -0700
|
||||
Subject: [PATCH] migrate to Clap 4
|
||||
|
||||
Summary:
|
||||
Two `below` crates currently still use Clap 3; update to 4.
|
||||
|
||||
This unblocks updating below in Fedora which has dropped clap 3 from its repos.
|
||||
|
||||
Reviewed By: brianc118
|
||||
|
||||
Differential Revision: D48002223
|
||||
|
||||
fbshipit-source-id: 5f4d02fced4f182098b3ee7627b0af3179d9addb
|
||||
---
|
||||
below/Cargo.toml | 4 ++--
|
||||
below/dump/Cargo.toml | 2 +-
|
||||
below/dump/src/command.rs | 14 +++++++-------
|
||||
below/src/main.rs | 8 ++++----
|
||||
4 files changed, 14 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/below/src/main.rs b/below/src/main.rs
|
||||
index 0cf70e53..0a0aa57f 100644
|
||||
--- a/src/main.rs
|
||||
+++ b/src/main.rs
|
||||
@@ -77,7 +77,7 @@ static LIVE_REMOTE_MAX_LATENCY_SEC: u64 = 10;
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
struct Opt {
|
||||
- #[clap(long, parse(from_os_str), default_value = config::BELOW_DEFAULT_CONF)]
|
||||
+ #[clap(long, value_parser, default_value = config::BELOW_DEFAULT_CONF)]
|
||||
config: PathBuf,
|
||||
#[clap(short, long)]
|
||||
debug: bool,
|
||||
@@ -104,7 +104,7 @@ struct CompressOpts {
|
||||
///
|
||||
/// With --dict-compress-chunk-size 16, you can expect around
|
||||
/// 20-30x smaller data files.
|
||||
- #[clap(long, requires("compress"), parse(try_from_str = parse_chunk_size))]
|
||||
+ #[clap(long, requires("compress"), value_parser = parse_chunk_size)]
|
||||
dict_compress_chunk_size: Option<u32>,
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ enum Command {
|
||||
duration: Option<String>,
|
||||
/// Output file path.
|
||||
/// Randomized name in current directory if unspecified.
|
||||
- #[clap(short, long, parse(from_os_str))]
|
||||
+ #[clap(short, long, value_parser)]
|
||||
output: Option<PathBuf>,
|
||||
/// Supply hostname to take snapshot from remote
|
||||
#[clap(short = 's', long)]
|
||||
@@ -283,7 +283,7 @@ enum Command {
|
||||
#[clap(short, long, default_value = "bash")]
|
||||
shell: Shell,
|
||||
/// Output file, stdout if not present
|
||||
- #[clap(short, long, parse(from_os_str))]
|
||||
+ #[clap(short, long, value_parser)]
|
||||
output: Option<PathBuf>,
|
||||
},
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
--- below-0.7.1/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ below-0.7.1/Cargo.toml 2023-08-02T21:21:06.579765+00:00
|
||||
@@ -37,17 +37,17 @@
|
||||
version = "0.7.1"
|
||||
|
||||
[dependencies.clap]
|
||||
-version = "3.2.25"
|
||||
+version = "4"
|
||||
features = [
|
||||
"derive",
|
||||
"env",
|
||||
- "regex",
|
||||
+ "string",
|
||||
"unicode",
|
||||
"wrap_help",
|
||||
]
|
||||
|
||||
[dependencies.clap_complete]
|
||||
-version = "3.2.5"
|
||||
+version = "4.3.1"
|
||||
|
||||
[dependencies.common]
|
||||
version = "0.7.1"
|
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=below system monitor recording daemon
|
||||
After=time-sync.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/below record --retain-for-s 604800 --compress
|
||||
# Enable backtraces in errors
|
||||
Environment=RUST_LIB_BACKTRACE=1
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,11 @@
|
||||
/var/log/below/error_*.log {
|
||||
daily
|
||||
rotate 14
|
||||
maxage 14
|
||||
copytruncate
|
||||
compress
|
||||
notifempty
|
||||
missingok
|
||||
create 0644 root root
|
||||
su root root
|
||||
}
|
@ -0,0 +1,192 @@
|
||||
## START: Set by rpmautospec
|
||||
## (rpmautospec version 0.3.5)
|
||||
## RPMAUTOSPEC: autorelease, autochangelog
|
||||
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
||||
release_number = 1;
|
||||
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
|
||||
print(release_number + base_release_number - 1);
|
||||
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
|
||||
## END: Set by rpmautospec
|
||||
|
||||
# Generated by rust2rpm 24
|
||||
%bcond_without check
|
||||
|
||||
%global crate below
|
||||
|
||||
%global forgeurl https://github.com/facebookincubator/below
|
||||
|
||||
Name: rust-below
|
||||
Version: 0.7.1
|
||||
Release: %autorelease
|
||||
Summary: Interactive tool to view and record historical system data
|
||||
|
||||
License: Apache-2.0
|
||||
URL: https://crates.io/crates/below
|
||||
Source: %{crates_source}
|
||||
# Get these from the repo as they aren't included in the crate
|
||||
Source1: %{forgeurl}/raw/v%{version}/etc/below.service
|
||||
Source2: %{forgeurl}/raw/v%{version}/etc/logrotate.conf
|
||||
# Manually created patch for downstream crate metadata changes
|
||||
# * bump clap from 3.2.5 to 4.3.5
|
||||
# * bump clap_complete from 3.2.5 to 4.3.1
|
||||
Patch: below-fix-metadata.diff
|
||||
# Migrate to clap 4
|
||||
# based on https://github.com/facebookincubator/below/commit/a1b257d91677637063c1eb359097d53078f7272a
|
||||
Patch: below-clap4.diff
|
||||
|
||||
# below-config and below-model are not available
|
||||
ExcludeArch: %{arm32} %{ix86}
|
||||
|
||||
BuildRequires: rust-packaging >= 21
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%global _description %{expand:
|
||||
below is an interactive tool to view and record historical system data. It has
|
||||
support for:
|
||||
|
||||
- information regarding hardware resource utilization
|
||||
- viewing the cgroup hierarchy
|
||||
- cgroup and process information
|
||||
- pressure stall information (PSI)
|
||||
- record mode to record system data
|
||||
- replay mode to replay historical system data
|
||||
- live mode to view live system data
|
||||
- dump subcommand to report script-friendly information (e.g. JSON and CSV)
|
||||
|
||||
below does not have support for cgroup1.
|
||||
|
||||
The name "below" stems from the fact that the below developers rejected many of
|
||||
atop's design and style decisions.}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%package -n %{crate}
|
||||
Summary: %{summary}
|
||||
License: Apache-2.0 AND (Apache-2.0 OR MIT) AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (Apache-2.0 OR BSD-3-Clause OR MIT) AND (BSD-2-Clause OR LGPL-2.1) AND MIT AND (MPL-2.0 OR MIT OR Apache-2.0) AND (Unlicense OR MIT)
|
||||
# LICENSE.dependencies contains a full license breakdown
|
||||
|
||||
Recommends: logrotate
|
||||
|
||||
%description -n %{crate} %{_description}
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%doc README.md
|
||||
%{_bindir}/below
|
||||
%{_unitdir}/%{crate}.service
|
||||
%dir %{_sysconfdir}/logrotate.d
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{crate}.conf
|
||||
%dir %{_localstatedir}/log/%{crate}
|
||||
|
||||
%post -n %{crate}
|
||||
%systemd_post %{crate}.service
|
||||
|
||||
%preun -n %{crate}
|
||||
%systemd_preun %{crate}.service
|
||||
|
||||
%postun -n %{crate}
|
||||
%systemd_postun_with_restart %{crate}.service
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version_no_tilde} -p1
|
||||
%cargo_prep
|
||||
|
||||
%generate_buildrequires
|
||||
%cargo_generate_buildrequires
|
||||
|
||||
%build
|
||||
%cargo_build
|
||||
%{cargo_license} > LICENSE.dependencies
|
||||
|
||||
%install
|
||||
%cargo_install
|
||||
install -D -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{crate}.service
|
||||
install -D -p -m0644 %{SOURCE2} \
|
||||
%{buildroot}%{_sysconfdir}/logrotate.d/%{crate}.conf
|
||||
install -d -m1777 %{buildroot}%{_localstatedir}/log/%{crate}
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
# thread 'test::record_replay_integration' panicked at 'missing memory.pressure', src/test.rs:58:10
|
||||
%cargo_test -- -- --skip test::record_replay_integration
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jan 15 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 0.7.1-1
|
||||
- Rebuilt for MSVSphere 9.3
|
||||
|
||||
* Wed Aug 02 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.7.1-1
|
||||
- Update to 0.7.1
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed May 03 2023 Fabio Valentini <decathorpe@gmail.com> - 0.6.3-4
|
||||
- Rebuild for tokio crate >= v1.24.2 (RUSTSEC-2023-0005)
|
||||
|
||||
* Mon Jan 30 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.6.3-3
|
||||
- Bump for libbpf-{sys,rs,cargo} novendor changes
|
||||
|
||||
* Mon Jan 30 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.6.3-2
|
||||
- Exclude builds on 32-bit architectures
|
||||
|
||||
* Thu Jan 26 2023 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.6.3-1
|
||||
- Update to 0.6.3
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Feb 19 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.5.0-2
|
||||
- Update binary package license (fixes: rhbz#2045491)
|
||||
|
||||
* Fri Feb 18 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.5.0-1
|
||||
- Update to 0.5.0
|
||||
|
||||
* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.4.1-4
|
||||
- Rebuild with package notes
|
||||
|
||||
* Tue Jan 25 2022 Fabio Valentini <decathorpe@gmail.com> - 0.4.1-3
|
||||
- Rebuild with thread_local 1.1.4 for RUSTSEC-2022-0006
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Nov 11 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.1-1
|
||||
- Update to 0.4.0; Fixes: RHBZ#2022244
|
||||
|
||||
* Thu Oct 28 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.0-2
|
||||
- Update vendoring logic to fix the epel8 build; Fixes: RHBZ#1978414
|
||||
|
||||
* Fri Oct 22 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.0-1
|
||||
- Update to 0.4.0; Fixes: RHBZ#2016559
|
||||
|
||||
* Sat Jul 31 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.3.0-1
|
||||
- Update to 0.3.0; Fixes: RHBZ#1983801
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jul 6 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 0.2.0-4
|
||||
- Add README-epel.md with instructions for enabling PSI support
|
||||
- Gate ExclusiveArch s390x to el8 only
|
||||
|
||||
* Wed Jun 30 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.2.0-3
|
||||
- Add vendored dependencies for EPEL and make it build there
|
||||
- Exclude s390x for the EPEL build for now due to an upstream issue
|
||||
- Mark logrotate config file as a config(noreplace)
|
||||
- Add recommends for logrotate
|
||||
- Fix permissions for the below binary
|
||||
|
||||
* Mon Jun 28 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.2.0-2
|
||||
- Install upstream systemd unit
|
||||
- Install upstream logrotate config
|
||||
- Add missing documentation
|
||||
- Expand the description
|
||||
|
||||
* Tue Jun 15 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.2.0-1
|
||||
- Initial package
|
||||
|
Loading…
Reference in new issue