0ec7bd46bb
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready console + full graphical desktop under Intel and Virgl/VirtIO-GPU. === Phase 1 — Stability === - fbcond: Enter key handler (scancode 0x1C→\n), display map buffering, control-char filter in all 7 keymaps, write_event assert - build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added configurable REDBEAR_SKIP_PREFIX_REBUILD guard. - build-redbear.sh: set explicit keymap '-K us' in console activation - config/redbear-device-services.toml: remove spurious init.d service files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are spawned dynamically by pcid-spawner, not as boot-time init services. Starting them without args panicked the boot flow. - relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib) - userutils: cherry-pick upstream getty commit 2834434 (standard C ptsname/grantpt/unlockpt) - base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter (K_ESC/K_BKSP/K_ENTER → \0, commit73e44d81in submodule/base) === Phase 2 — Login & Console === - login.rs: restored to 0.2.5-known-good liner-based prompt - redbear-upower: removed tokio full/signal features → protection fault fix - redbear-power: excluded temporarily (being fixed in other session) - tlc version: updated to 0.3.0 === Phase 3 — GPU/3D Drivers (commit0898332f7a) === Intel i915: FULLY implemented — real ring buffer + MMIO command submission via GEM DMA → GGTT → i915 render ring, with hardware head-pointer polling (2M iterations, 50µs backoff). Zero stubs. VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM, GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER, WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c. - driver.rs: 8 virgl_* trait methods (default Unsupported) - scheme.rs: 11 ioctl constants + 8 wire structures + dispatch - virtio/transport.rs: PCI capability discovery, feature negotiation, control+cursor virtqueue setup, vring descriptor building - virtio/mod.rs: real implementations for all 8 virgl_* methods - intel/mod.rs: explicit virgl Unsupported stubs Other changes from active sessions: Cargo.toml version bumps, linux-kpi headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat, driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and many other local recipes.
1275 lines
52 KiB
Plaintext
1275 lines
52 KiB
Plaintext
fusermount3 -u build/x86_64/redbear-full/filesystem/ || true
|
|
fusermount3: entry for /mnt/data/Builds/RedBear-OS/build/x86_64/redbear-full/filesystem not found in /etc/mtab
|
|
fusermount3 -u /tmp/redbear_installer/ || true
|
|
fusermount3: entry for /tmp/redbear_installer not found in /etc/mtab
|
|
rm -f build/x86_64/redbear-full.iso build/x86_64/redbear-full.img build/x86_64/redbear-full-bootloader-live.efi build/x86_64/redbear-full.ipxe
|
|
make build/x86_64/redbear-full.iso
|
|
make[1]: вход в каталог «/mnt/data/Builds/RedBear-OS»
|
|
bash -c 'export REDBEAR_TAG="$1"; exec bash local/scripts/integrate-redbear.sh' _ 'build/x86_64/redbear-full/redbear.tag'
|
|
========================================
|
|
Red Bear OS Pre-Build Integration
|
|
========================================
|
|
Root: RedBear-OS
|
|
Tag: build/x86_64/redbear-full/redbear.tag
|
|
|
|
==> Ensuring custom recipe symlinks...
|
|
⚠️ Refusing to replace directory recipes/archives/uutils-tar
|
|
⚠️ Refusing to replace directory recipes/libs/freetype2
|
|
⚠️ Refusing to replace directory recipes/libs/glib
|
|
⚠️ Refusing to replace directory recipes/libs/libxau
|
|
⚠️ Refusing to replace directory recipes/tools/file
|
|
✅ Custom recipe symlinks ready (188 linked, 5 skipped)
|
|
|
|
==> Validating local source forks...
|
|
✅ local/sources/base: 184 commits
|
|
✅ local/sources/bootloader: 9 commits
|
|
✅ local/sources/installer: 328 commits
|
|
✅ local/sources/relibc: 37 commits
|
|
✅ local/sources/kernel: 2783 commits
|
|
✅ Local source forks validated
|
|
|
|
==> Validating Red Bear configs...
|
|
✅ Found Red Bear target config(s): redbear-mini.toml redbear-full.toml redbear-grub.toml
|
|
|
|
==> Validating branding assets...
|
|
✅ Branding assets present
|
|
|
|
==> Checking AMD firmware blobs...
|
|
⚠️ No AMD firmware blobs found in local/firmware/amdgpu/
|
|
|
|
==> Staging branding assets into recipe source...
|
|
✅ branding icon already staged
|
|
✅ branding loading background already staged
|
|
|
|
==> Staging firmware blobs into firmware-loader recipe source...
|
|
⚠️ Skipping firmware staging because no AMD firmware blobs were found
|
|
|
|
==> Updating build tag...
|
|
✅ Updated tag file: build/x86_64/redbear-full/redbear.tag
|
|
|
|
✅ Red Bear integration complete
|
|
export PATH="/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:$PATH" && \
|
|
export COOKBOOK_HOST_SYSROOT="/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/" && \
|
|
./target/release/repo cook "--filesystem=config/redbear-full.toml" --with-package-deps
|
|
WARN: binary store missing repo/x86_64-unknown-redox/base.pkgar — will rebuild
|
|
DEBUG: dependency blake3 hashes unchanged (content-based cache)
|
|
DEBUG: using cached sysroot
|
|
+ export PATH=/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
|
|
+ PATH=/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
|
|
+ '[' '!' -z '' ']'
|
|
+ REDOXER_TOOLCHAIN=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain
|
|
+ '[' -d /home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin ']'
|
|
+ export PATH=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
|
|
+ PATH=/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/bin:/home/kellito/.redoxer/x86_64-unknown-redox/toolchain/bin:/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot//bin:/home/kellito/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin
|
|
+ export CARGO_TARGET_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/build/target
|
|
+ CARGO_TARGET_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/build/target
|
|
+ export CPPFLAGS=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ CPPFLAGS=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ USER_LDFLAGS=
|
|
+ export 'LDFLAGS=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static'
|
|
+ LDFLAGS='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static'
|
|
+ REDBEAR_PREFIX_SYSROOT=/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot
|
|
+ '[' -d /mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib ']'
|
|
+ export 'LDFLAGS=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
|
|
+ LDFLAGS='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
|
|
+ '[' x86_64-unknown-redox '!=' x86_64-unknown-linux-gnu ']'
|
|
+ export PKG_CONFIG_ALLOW_CROSS=1
|
|
+ PKG_CONFIG_ALLOW_CROSS=1
|
|
+ export PKG_CONFIG_PATH=
|
|
+ PKG_CONFIG_PATH=
|
|
+ export PKG_CONFIG_LIBDIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib/pkgconfig
|
|
+ PKG_CONFIG_LIBDIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib/pkgconfig
|
|
+ export PKG_CONFIG_SYSROOT_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot
|
|
+ PKG_CONFIG_SYSROOT_DIR=/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot
|
|
+ build_type=release
|
|
+ install_flags=--no-track
|
|
+ build_flags=--release
|
|
+ '[' '!' -z '' ']'
|
|
+ '[' '!' -z '' ']'
|
|
+ reexport_flags
|
|
+ target=x86_64_unknown_redox
|
|
+ export CFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ CFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ export CXXFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ CXXFLAGS_x86_64_unknown_redox=-I/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/include
|
|
+ export 'LDFLAGS_x86_64_unknown_redox=-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
|
|
+ LDFLAGS_x86_64_unknown_redox='-L/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/sysroot/lib --static -L/mnt/data/Builds/RedBear-OS/prefix/x86_64-unknown-redox/sysroot/x86_64-unknown-redox/lib'
|
|
+ COOKBOOK_CARGO=/mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer
|
|
+ COOKBOOK_CARGO_FLAGS=(--locked)
|
|
+ COOKBOOK_CONFIGURE=/mnt/data/Builds/RedBear-OS/local/sources/base/configure
|
|
+ COOKBOOK_CONFIGURE_FLAGS=(--host="${GNU_TARGET}" --prefix="/usr" --disable-shared --enable-static)
|
|
+ COOKBOOK_MAKE=make
|
|
+ COOKBOOK_CMAKE=cmake
|
|
+ COOKBOOK_NINJA=ninja
|
|
+ COOKBOOK_CMAKE_FLAGS=(-DBUILD_SHARED_LIBS=False -DENABLE_SHARED=False -DENABLE_STATIC=True)
|
|
+ COOKBOOK_MESON=meson
|
|
+ COOKBOOK_MESON_FLAGS=(--buildtype release --wrap-mode nofallback -Ddefault_library=static -Dprefix=/usr)
|
|
+ COOKBOOK_AUTORECONF=autoreconf
|
|
+ mkdir -pv /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin
|
|
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr'
|
|
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin'
|
|
+ for package in audiod ipcd ptyd dhcpd
|
|
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/audiod/Cargo.toml --target x86_64-unknown-redox --release
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
|
|
warning: `extern` block uses type `[u8]`, which is not FFI-safe
|
|
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
|
|
|
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
|
|
| ^^^^^^^^^ not FFI-safe
|
|
|
|
|
= help: consider using a raw pointer instead
|
|
= note: slices have no C equivalent
|
|
= note: `#[warn(improper_ctypes)]` on by default
|
|
|
|
warning: `libredox` (lib) generated 1 warning
|
|
warning: direct cast of function item into an integer
|
|
--> audiod/src/main.rs:44:83
|
|
|
|
|
44 | addr_of_mut!((*sigaction.as_mut_ptr()).sa_sigaction).write(sigusr_handler as usize);
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `#[warn(function_casts_as_integer)]` on by default
|
|
help: first cast to a pointer `as *const ()`
|
|
|
|
|
44 | addr_of_mut!((*sigaction.as_mut_ptr()).sa_sigaction).write(sigusr_handler as *const () as usize);
|
|
| ++++++++++++
|
|
|
|
warning: `audiod` (bin "audiod") generated 1 warning (run `cargo fix --bin "audiod" -p audiod` to apply 1 suggestion)
|
|
Finished `release` profile [optimized] target(s) in 0.21s
|
|
+ cp -v target/x86_64-unknown-redox/release/audiod /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/audiod
|
|
'target/x86_64-unknown-redox/release/audiod' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/audiod'
|
|
+ for package in audiod ipcd ptyd dhcpd
|
|
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/ipcd/Cargo.toml --target x86_64-unknown-redox --release
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
|
|
warning: `extern` block uses type `[u8]`, which is not FFI-safe
|
|
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
|
|
|
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
|
|
| ^^^^^^^^^ not FFI-safe
|
|
|
|
|
= help: consider using a raw pointer instead
|
|
= note: slices have no C equivalent
|
|
= note: `#[warn(improper_ctypes)]` on by default
|
|
|
|
warning: `libredox` (lib) generated 1 warning
|
|
Finished `release` profile [optimized] target(s) in 0.10s
|
|
+ cp -v target/x86_64-unknown-redox/release/ipcd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ipcd
|
|
'target/x86_64-unknown-redox/release/ipcd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ipcd'
|
|
+ for package in audiod ipcd ptyd dhcpd
|
|
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/ptyd/Cargo.toml --target x86_64-unknown-redox --release
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
|
|
warning: `extern` block uses type `[u8]`, which is not FFI-safe
|
|
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
|
|
|
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
|
|
| ^^^^^^^^^ not FFI-safe
|
|
|
|
|
= help: consider using a raw pointer instead
|
|
= note: slices have no C equivalent
|
|
= note: `#[warn(improper_ctypes)]` on by default
|
|
|
|
warning: `libredox` (lib) generated 1 warning
|
|
Finished `release` profile [optimized] target(s) in 0.09s
|
|
+ cp -v target/x86_64-unknown-redox/release/ptyd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ptyd
|
|
'target/x86_64-unknown-redox/release/ptyd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/ptyd'
|
|
+ for package in audiod ipcd ptyd dhcpd
|
|
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/dhcpd/Cargo.toml --target x86_64-unknown-redox --release
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
|
|
warning: unused imports: `DHCPOFFER` and `DHCPRELEASE`
|
|
--> dhcpd/src/main.rs:8:43
|
|
|
|
|
8 | Dhcp, DHCPACK, DHCPDISCOVER, DHCPNAK, DHCPOFFER, DHCPREQUEST, DHCPRELEASE,
|
|
| ^^^^^^^^^ ^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `iface`
|
|
--> dhcpd/src/main.rs:260:5
|
|
|
|
|
260 | iface: &str,
|
|
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface`
|
|
|
|
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: constant `DHCPOFFER` is never used
|
|
--> dhcpd/src/dhcp/mod.rs:22:11
|
|
|
|
|
22 | pub const DHCPOFFER: u8 = 2;
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: constant `DHCPDECLINE` is never used
|
|
--> dhcpd/src/dhcp/mod.rs:24:11
|
|
|
|
|
24 | pub const DHCPDECLINE: u8 = 4;
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: constant `DHCPRELEASE` is never used
|
|
--> dhcpd/src/dhcp/mod.rs:27:11
|
|
|
|
|
27 | pub const DHCPRELEASE: u8 = 7;
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: constant `OPT_PARAM_REQUEST` is never used
|
|
--> dhcpd/src/dhcp/mod.rs:36:11
|
|
|
|
|
36 | pub const OPT_PARAM_REQUEST: u8 = 55;
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
warning: `dhcpd` (bin "dhcpd") generated 6 warnings (run `cargo fix --bin "dhcpd" -p dhcpd` to apply 2 suggestions)
|
|
Finished `release` profile [optimized] target(s) in 0.08s
|
|
+ cp -v target/x86_64-unknown-redox/release/dhcpd /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/dhcpd
|
|
'target/x86_64-unknown-redox/release/dhcpd' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/dhcpd'
|
|
+ /mnt/data/Builds/RedBear-OS/target/release/cookbook_redbear_redoxer build --manifest-path /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml --target x86_64-unknown-redox --release
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/drivers/hwd/Cargo.toml: `default-features` is ignored for libredox, since `default-features` was true for `workspace.dependencies.libredox`, this could become a hard error in the future
|
|
warning: /mnt/data/Builds/RedBear-OS/local/sources/base/netstack/Cargo.toml: `default-features` is ignored for log, since `default-features` was not specified for `workspace.dependencies.log`, this could become a hard error in the future
|
|
warning: `extern` block uses type `[u8]`, which is not FFI-safe
|
|
--> /mnt/data/Builds/RedBear-OS/local/sources/libredox/src/lib.rs:314:77
|
|
|
|
|
314 | fn redox_get_proc_credentials_v1(cap_fd: usize, target_pid: usize, buf: &mut [u8])
|
|
| ^^^^^^^^^ not FFI-safe
|
|
|
|
|
= help: consider using a raw pointer instead
|
|
= note: slices have no C equivalent
|
|
= note: `#[warn(improper_ctypes)]` on by default
|
|
|
|
warning: `libredox` (lib) generated 1 warning
|
|
warning: unused import: `Verdict`
|
|
--> netstack/src/filter/conntrack.rs:73:28
|
|
|
|
|
73 | use super::{PacketContext, Verdict};
|
|
| ^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused import: `alloc::collections::BTreeMap`
|
|
--> netstack/src/filter/nat.rs:17:5
|
|
|
|
|
17 | use alloc::collections::BTreeMap;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `alloc::rc::Rc`
|
|
--> netstack/src/filter/nat.rs:18:5
|
|
|
|
|
18 | use alloc::rc::Rc;
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `PacketContext`
|
|
--> netstack/src/filter/nat.rs:23:19
|
|
|
|
|
23 | use super::{Hook, PacketContext};
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `Ipv4Address` and `Ipv6Address`
|
|
--> netstack/src/filter/rule.rs:18:32
|
|
|
|
|
18 | use smoltcp::wire::{IpAddress, Ipv4Address, Ipv6Address};
|
|
| ^^^^^^^^^^^ ^^^^^^^^^^^
|
|
|
|
warning: unused import: `ConnState`
|
|
--> netstack/src/filter/rule.rs:20:13
|
|
|
|
|
20 | use super::{ConnState, Hook, PacketContext, Verdict};
|
|
| ^^^^^^^^^
|
|
|
|
warning: unused import: `NatRule`
|
|
--> netstack/src/filter/table.rs:35:18
|
|
|
|
|
35 | use super::nat::{NatRule, NatTable};
|
|
| ^^^^^^^
|
|
|
|
warning: unused import: `ConntrackTable`
|
|
--> netstack/src/filter/mod.rs:23:32
|
|
|
|
|
23 | pub use conntrack::{ConnState, ConntrackTable};
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `NatBinding`, `NatRule`, and `NatTable`
|
|
--> netstack/src/filter/mod.rs:24:15
|
|
|
|
|
24 | pub use nat::{NatBinding, NatRule, NatTable, NatType, rewrite_src_ipv4, parse_nat_rule};
|
|
| ^^^^^^^^^^ ^^^^^^^ ^^^^^^^^
|
|
|
|
warning: unused imports: `FilterRule`, `MatchResult`, `Protocol`, and `StateMatch`
|
|
--> netstack/src/filter/mod.rs:25:16
|
|
|
|
|
25 | pub use rule::{FilterRule, MatchResult, Protocol, StateMatch};
|
|
| ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
|
|
|
|
warning: unused imports: `IpAddress`, `Ipv4Address`, and `Ipv6Address`
|
|
--> netstack/src/icmp_error.rs:12:57
|
|
|
|
|
12 | Icmpv4Packet, Icmpv4Repr, Icmpv6Packet, Icmpv6Repr, IpAddress, Ipv4Address, Ipv4Packet,
|
|
| ^^^^^^^^^ ^^^^^^^^^^^
|
|
13 | Ipv4Repr, Ipv6Address, Ipv6Packet, Ipv6Repr,
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: unused import: `self`
|
|
--> netstack/src/link/bridge.rs:24:18
|
|
|
|
|
24 | use super::stp::{self, BPDU_MAC, PortState, StpState};
|
|
| ^^^^
|
|
|
|
warning: unnecessary parentheses around block return value
|
|
--> netstack/src/link/stp.rs:126:13
|
|
|
|
|
126 | ((d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16)
|
|
| ^ ^
|
|
|
|
|
= note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
|
|
help: remove these parentheses
|
|
|
|
|
126 - ((d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16)
|
|
126 + (d.total_millis() as u64).wrapping_mul(256).wrapping_div(1000) as u16
|
|
|
|
|
|
|
warning: unused imports: `EthernetFrame` and `EthernetProtocol`
|
|
--> netstack/src/link/vlan.rs:18:22
|
|
|
|
|
18 | EthernetAddress, EthernetFrame, EthernetProtocol, IpAddress, IpCidr,
|
|
| ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `Ipv4Address`
|
|
--> netstack/src/router/mod.rs:7:32
|
|
|
|
|
7 | use smoltcp::wire::{IpAddress, Ipv4Address, Ipv4Packet, Ipv6Packet};
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: unused imports: `PacketContext` and `Verdict`
|
|
--> netstack/src/scheme/mod.rs:42:34
|
|
|
|
|
42 | use crate::filter::{FilterTable, PacketContext, Verdict};
|
|
| ^^^^^^^^^^^^^ ^^^^^^^
|
|
|
|
warning: unused import: `redox_scheme::CallerCtx`
|
|
--> netstack/src/scheme/udp.rs:2:5
|
|
|
|
|
2 | use redox_scheme::CallerCtx;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `anyhow::Context`
|
|
--> netstack/src/scheme/tcp.rs:9:5
|
|
|
|
|
9 | use anyhow::Context as _;
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
warning: unused variable: `is_orig`
|
|
--> netstack/src/filter/conntrack.rs:289:14
|
|
|
|
|
289 | let (is_orig, entry_key) = if let Some(entry) = self.entries.get_mut(&reply_key) {
|
|
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_orig`
|
|
|
|
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `icmp_code`
|
|
--> netstack/src/filter/conntrack.rs:370:13
|
|
|
|
|
370 | let icmp_code = ctx.packet[icmp_offset + 1];
|
|
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_icmp_code`
|
|
|
|
warning: unused variable: `l3num`
|
|
--> netstack/src/filter/conntrack.rs:460:9
|
|
|
|
|
460 | l3num: u8,
|
|
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_l3num`
|
|
|
|
warning: unused variable: `now`
|
|
--> netstack/src/filter/conntrack.rs:462:9
|
|
|
|
|
462 | now: Instant,
|
|
| ^^^ help: if this is intentional, prefix it with an underscore: `_now`
|
|
|
|
warning: unused variable: `old_port`
|
|
--> netstack/src/filter/nat.rs:245:5
|
|
|
|
|
245 | old_port: u16,
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_port`
|
|
|
|
warning: value assigned to `silent_until` is never read
|
|
--> netstack/src/link/ethernet.rs:531:25
|
|
|
|
|
531 | let (mut tries, mut silent_until) = match self.ndp_state {
|
|
| ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
|
|
...
|
|
536 | silent_until = now + Self::NDP_SILENCE_TIME;
|
|
| ------------------------------------------- `silent_until` is overwritten here before the previous value is read
|
|
|
|
|
= note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `hop_limit`
|
|
--> netstack/src/link/ethernet.rs:696:17
|
|
|
|
|
696 | hop_limit,
|
|
| ^^^^^^^^^ help: try ignoring the field: `hop_limit: _`
|
|
|
|
warning: unused variable: `router_lifetime`
|
|
--> netstack/src/link/ethernet.rs:697:17
|
|
|
|
|
697 | router_lifetime,
|
|
| ^^^^^^^^^^^^^^^ help: try ignoring the field: `router_lifetime: _`
|
|
|
|
warning: unused variable: `reachable_time`
|
|
--> netstack/src/link/ethernet.rs:698:17
|
|
|
|
|
698 | reachable_time,
|
|
| ^^^^^^^^^^^^^^ help: try ignoring the field: `reachable_time: _`
|
|
|
|
warning: unused variable: `retrans_time`
|
|
--> netstack/src/link/ethernet.rs:699:17
|
|
|
|
|
699 | retrans_time,
|
|
| ^^^^^^^^^^^^ help: try ignoring the field: `retrans_time: _`
|
|
|
|
warning: unused variable: `mtu`
|
|
--> netstack/src/link/ethernet.rs:701:17
|
|
|
|
|
701 | mtu,
|
|
| ^^^ help: try ignoring the field: `mtu: _`
|
|
|
|
warning: unused variable: `ipv4`
|
|
--> netstack/src/link/ipip.rs:101:16
|
|
|
|
|
101 | let Ok(ipv4) = Ipv4Packet::new_checked(&packet) else {
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_ipv4`
|
|
|
|
warning: unused variable: `now`
|
|
--> netstack/src/link/stp.rs:70:9
|
|
|
|
|
70 | now: Instant,
|
|
| ^^^ help: if this is intentional, prefix it with an underscore: `_now`
|
|
|
|
warning: unreachable pattern
|
|
--> netstack/src/scheme/netcfg/mod.rs:179:25
|
|
|
|
|
179 | _ => {}
|
|
| ^ no value can reach this
|
|
|
|
|
note: multiple earlier patterns match some of the same values
|
|
--> netstack/src/scheme/netcfg/mod.rs:179:25
|
|
|
|
|
175 | smoltcp::socket::Socket::Tcp(_) => tcp += 1,
|
|
| ------------------------------- matches some of the same values
|
|
176 | smoltcp::socket::Socket::Udp(_) => udp += 1,
|
|
| ------------------------------- matches some of the same values
|
|
177 | smoltcp::socket::Socket::Icmp(_) => icmp += 1,
|
|
| -------------------------------- matches some of the same values
|
|
178 | smoltcp::socket::Socket::Raw(_) => raw += 1,
|
|
| ------------------------------- matches some of the same values
|
|
179 | _ => {}
|
|
| ^ collectively making this unreachable
|
|
= note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unreachable pattern
|
|
--> netstack/src/scheme/netcfg/mod.rs:296:29
|
|
|
|
|
296 | ... _ => {}
|
|
| ^ no value can reach this
|
|
|
|
|
note: multiple earlier patterns match some of the same values
|
|
--> netstack/src/scheme/netcfg/mod.rs:296:29
|
|
|
|
|
292 | ... smoltcp::socket::Socket::Tcp(_) => tcp += 1,
|
|
| ------------------------------- matches some of the same values
|
|
293 | ... smoltcp::socket::Socket::Udp(_) => udp += 1,
|
|
| ------------------------------- matches some of the same values
|
|
294 | ... smoltcp::socket::Socket::Icmp(_) => icmp += 1,
|
|
| -------------------------------- matches some of the same values
|
|
295 | ... smoltcp::socket::Socket::Raw(_) => raw += 1,
|
|
| ------------------------------- matches some of the same values
|
|
296 | ... _ => {}
|
|
| ^ collectively making this unreachable
|
|
|
|
warning: unused variable: `e`
|
|
--> netstack/src/scheme/netcfg/mod.rs:764:59
|
|
|
|
|
764 | ... dev.set_qdisc(&kind).map_err(|e| {
|
|
| ^ help: if this is intentional, prefix it with an underscore: `_e`
|
|
|
|
warning: unused variable: `e`
|
|
--> netstack/src/scheme/netfilter.rs:265:27
|
|
|
|
|
265 | .map_err(|e| SyscallError::new(syscall::EINVAL))?;
|
|
| ^ help: if this is intentional, prefix it with an underscore: `_e`
|
|
|
|
warning: unused variable: `flags`
|
|
--> netstack/src/scheme/udp.rs:234:13
|
|
|
|
|
234 | let flags = metadata.first().copied().unwrap_or(0) as usize;
|
|
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
|
|
|
|
warning: type alias `BufferStack` is never used
|
|
--> netstack/src/buffer_pool.rs:6:6
|
|
|
|
|
6 | type BufferStack = Rc<RefCell<Vec<Vec<u8>>>>;
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: struct `Buffer` is never constructed
|
|
--> netstack/src/buffer_pool.rs:8:12
|
|
|
|
|
8 | pub struct Buffer {
|
|
| ^^^^^^
|
|
|
|
warning: methods `resize` and `move_out` are never used
|
|
--> netstack/src/buffer_pool.rs:14:12
|
|
|
|
|
13 | impl Buffer {
|
|
| ----------- methods in this implementation
|
|
14 | pub fn resize(&mut self, new_len: usize) {
|
|
| ^^^^^^
|
|
...
|
|
18 | pub fn move_out(&mut self) -> Buffer {
|
|
| ^^^^^^^^
|
|
|
|
warning: struct `BufferPool` is never constructed
|
|
--> netstack/src/buffer_pool.rs:65:12
|
|
|
|
|
65 | pub struct BufferPool {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: associated items `new` and `get_buffer` are never used
|
|
--> netstack/src/buffer_pool.rs:71:12
|
|
|
|
|
70 | impl BufferPool {
|
|
| --------------- associated items in this implementation
|
|
71 | pub fn new(buffers_size: usize) -> BufferPool {
|
|
| ^^^
|
|
...
|
|
78 | pub fn get_buffer(&mut self) -> Buffer {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: associated items `as_u32` and `from_u32` are never used
|
|
--> netstack/src/filter/mod.rs:65:18
|
|
|
|
|
53 | impl Hook {
|
|
| --------- associated items in this implementation
|
|
...
|
|
65 | pub const fn as_u32(self) -> u32 {
|
|
| ^^^^^^
|
|
...
|
|
76 | pub const fn from_u32(id: u32) -> Option<Hook> {
|
|
| ^^^^^^^^
|
|
|
|
warning: associated items `as_u32` and `from_u32` are never used
|
|
--> netstack/src/filter/mod.rs:123:18
|
|
|
|
|
122 | impl Verdict {
|
|
| ------------ associated items in this implementation
|
|
123 | pub const fn as_u32(self) -> u32 {
|
|
| ^^^^^^
|
|
...
|
|
132 | pub const fn from_u32(id: u32) -> Option<Verdict> {
|
|
| ^^^^^^^^
|
|
|
|
warning: field `reply_key` is never read
|
|
--> netstack/src/filter/conntrack.rs:151:5
|
|
|
|
|
149 | struct ConnEntry {
|
|
| --------- field in this struct
|
|
150 | key: ConnKey,
|
|
151 | reply_key: ConnKey,
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `ConnEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: field `dst_match` is never read
|
|
--> netstack/src/filter/nat.rs:37:9
|
|
|
|
|
32 | pub struct NatRule {
|
|
| ------- field in this struct
|
|
...
|
|
37 | pub dst_match: Option<IpAddress>,
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `NatRule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: fields `orig_dst`, `trans_dst`, `orig_dport`, and `trans_dport` are never read
|
|
--> netstack/src/filter/nat.rs:47:9
|
|
|
|
|
44 | pub struct NatBinding {
|
|
| ---------- fields in this struct
|
|
...
|
|
47 | pub orig_dst: IpAddress,
|
|
| ^^^^^^^^
|
|
48 | pub trans_dst: IpAddress,
|
|
| ^^^^^^^^^
|
|
...
|
|
51 | pub orig_dport: u16,
|
|
| ^^^^^^^^^^
|
|
52 | pub trans_dport: u16,
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: `NatBinding` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: field `ephemeral_port` is never read
|
|
--> netstack/src/filter/nat.rs:75:5
|
|
|
|
|
71 | pub struct NatTable {
|
|
| -------- field in this struct
|
|
...
|
|
75 | ephemeral_port: u16,
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= note: `NatTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: methods `lookup_dnat` and `alloc_ephemeral_port` are never used
|
|
--> netstack/src/filter/nat.rs:147:12
|
|
|
|
|
78 | impl NatTable {
|
|
| ------------- methods in this implementation
|
|
...
|
|
147 | pub fn lookup_dnat(
|
|
| ^^^^^^^^^^^
|
|
...
|
|
166 | pub fn alloc_ephemeral_port(&mut self) -> u16 {
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: function `rewrite_dst_ipv4` is never used
|
|
--> netstack/src/filter/nat.rs:230:8
|
|
|
|
|
230 | pub fn rewrite_dst_ipv4(packet: &mut [u8], new_dst: Ipv4Address) -> bool {
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: function `rewrite_port_ipv4` is never used
|
|
--> netstack/src/filter/nat.rs:243:8
|
|
|
|
|
243 | pub fn rewrite_port_ipv4(
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
warning: function `recompute_transport_checksum` is never used
|
|
--> netstack/src/filter/nat.rs:280:4
|
|
|
|
|
280 | fn recompute_transport_checksum(
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: associated constant `ANY` is never used
|
|
--> netstack/src/filter/rule.rs:40:15
|
|
|
|
|
39 | impl Protocol {
|
|
| ------------- associated constant in this implementation
|
|
40 | pub const ANY: Option<Protocol> = None;
|
|
| ^^^
|
|
|
|
warning: variant `BadFlagValue` is never constructed
|
|
--> netstack/src/filter/table.rs:260:5
|
|
|
|
|
248 | pub enum ParseError {
|
|
| ---------- variant in this enum
|
|
...
|
|
260 | BadFlagValue { flag: &'static str, value: String },
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
= note: `ParseError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: enum `BondMode` is never used
|
|
--> netstack/src/link/bond.rs:24:10
|
|
|
|
|
24 | pub enum BondMode {
|
|
| ^^^^^^^^
|
|
|
|
warning: struct `Slave` is never constructed
|
|
--> netstack/src/link/bond.rs:29:8
|
|
|
|
|
29 | struct Slave {
|
|
| ^^^^^
|
|
|
|
warning: struct `BondDevice` is never constructed
|
|
--> netstack/src/link/bond.rs:34:12
|
|
|
|
|
34 | pub struct BondDevice {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: associated items `new`, `add_slave`, and `select_slave` are never used
|
|
--> netstack/src/link/bond.rs:45:12
|
|
|
|
|
44 | impl BondDevice {
|
|
| --------------- associated items in this implementation
|
|
45 | pub fn new(name: &str, mode: BondMode) -> Self {
|
|
| ^^^
|
|
...
|
|
57 | pub fn add_slave<T: LinkDevice + 'static>(&self, dev: T) {
|
|
| ^^^^^^^^^
|
|
...
|
|
64 | fn select_slave(&self) -> Option<usize> {
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: constant `MAC_AGE_TIMEOUT` is never used
|
|
--> netstack/src/link/bridge.rs:28:7
|
|
|
|
|
28 | const MAC_AGE_TIMEOUT: Duration = Duration::from_secs(300);
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `MacEntry` is never constructed
|
|
--> netstack/src/link/bridge.rs:30:8
|
|
|
|
|
30 | struct MacEntry {
|
|
| ^^^^^^^^
|
|
|
|
warning: struct `BridgeDevice` is never constructed
|
|
--> netstack/src/link/bridge.rs:35:12
|
|
|
|
|
35 | pub struct BridgeDevice {
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: multiple associated items are never used
|
|
--> netstack/src/link/bridge.rs:45:12
|
|
|
|
|
44 | impl BridgeDevice {
|
|
| ----------------- associated items in this implementation
|
|
45 | pub fn new(name: &str) -> Self {
|
|
| ^^^
|
|
...
|
|
56 | pub fn add_port<T: LinkDevice + 'static>(&self, dev: T) {
|
|
| ^^^^^^^^
|
|
...
|
|
67 | pub fn enable_stp(&self, priority: u16, bridge_mac: EthernetAddress) {
|
|
| ^^^^^^^^^^
|
|
...
|
|
72 | fn learn(&self, mac: EthernetAddress, port: usize, now: Instant) {
|
|
| ^^^^^
|
|
...
|
|
85 | fn age_entries(&self, now: Instant) {
|
|
| ^^^^^^^^^^^
|
|
...
|
|
91 | fn lookup(&self, mac: EthernetAddress) -> Option<usize> {
|
|
| ^^^^^^
|
|
...
|
|
95 | fn flood(&self, packet: &[u8], now: Instant, except_port: Option<usize>) {
|
|
| ^^^^^
|
|
|
|
warning: variant `LinkLocalOnly` is never constructed
|
|
--> netstack/src/link/ethernet.rs:57:5
|
|
|
|
|
54 | enum SlaacState {
|
|
| ---------- variant in this enum
|
|
...
|
|
57 | LinkLocalOnly,
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: `SlaacState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
|
|
warning: constant `GRE_PROTO_IPV4` is never used
|
|
--> netstack/src/link/gre.rs:33:7
|
|
|
|
|
33 | const GRE_PROTO_IPV4: u16 = 0x0800;
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: constant `GRE_FLAG_KEY` is never used
|
|
--> netstack/src/link/gre.rs:34:7
|
|
|
|
|
34 | const GRE_FLAG_KEY: u16 = 0x2000;
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: struct `GreDevice` is never constructed
|
|
--> netstack/src/link/gre.rs:36:12
|
|
|
|
|
36 | pub struct GreDevice {
|
|
| ^^^^^^^^^
|
|
|
|
warning: associated items `new`, `push_received`, `build_encapsulated`, and `matches_endpoint` are never used
|
|
--> netstack/src/link/gre.rs:52:12
|
|
|
|
|
51 | impl GreDevice {
|
|
| -------------- associated items in this implementation
|
|
52 | pub fn new(
|
|
| ^^^
|
|
...
|
|
93 | pub fn push_received(&mut self, packet: Vec<u8>) {
|
|
| ^^^^^^^^^^^^^
|
|
...
|
|
97 | fn build_encapsulated(&mut self, inner_packet: &[u8]) -> &[u8] {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
119 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `IPIP_PROTO` is never used
|
|
--> netstack/src/link/ipip.rs:24:7
|
|
|
|
|
24 | const IPIP_PROTO: u8 = 4;
|
|
| ^^^^^^^^^^
|
|
|
|
warning: struct `IpipDevice` is never constructed
|
|
--> netstack/src/link/ipip.rs:26:12
|
|
|
|
|
26 | pub struct IpipDevice {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: associated items `new`, `push_received`, `build_outer_header`, and `matches_endpoint` are never used
|
|
--> netstack/src/link/ipip.rs:39:12
|
|
|
|
|
38 | impl IpipDevice {
|
|
| --------------- associated items in this implementation
|
|
39 | pub fn new(name: &str, parent_name: &str, local_ip: Ipv4Address, remote_ip: Ipv4Address, devices: Rc<RefCell<DeviceList>>) -> Se...
|
|
| ^^^
|
|
...
|
|
53 | pub fn push_received(&mut self, packet: Vec<u8>) {
|
|
| ^^^^^^^^^^^^^
|
|
...
|
|
57 | fn build_outer_header(&mut self, inner_packet: &[u8]) -> &[u8] {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
74 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: methods `set_rate` and `set_burst` are never used
|
|
--> netstack/src/link/qdisc.rs:34:12
|
|
|
|
|
26 | impl TokenBucket {
|
|
| ---------------- methods in this implementation
|
|
...
|
|
34 | pub fn set_rate(&mut self, rate_bps: u64) {
|
|
| ^^^^^^^^
|
|
...
|
|
38 | pub fn set_burst(&mut self, burst_bytes: u64) {
|
|
| ^^^^^^^^^
|
|
|
|
warning: method `flush` is never used
|
|
--> netstack/src/link/qdisc.rs:112:12
|
|
|
|
|
71 | impl PriorityQueue {
|
|
| ------------------ method in this implementation
|
|
...
|
|
112 | pub fn flush(&mut self) -> Vec<Vec<u8>> {
|
|
| ^^^^^
|
|
|
|
warning: constant `BPDU_MAC` is never used
|
|
--> netstack/src/link/stp.rs:17:11
|
|
|
|
|
17 | pub const BPDU_MAC: EthernetAddress = EthernetAddress([0x01, 0x80, 0xc2, 0x00, 0x00, 0x00]);
|
|
| ^^^^^^^^
|
|
|
|
warning: constant `DEFAULT_PRIORITY` is never used
|
|
--> netstack/src/link/stp.rs:18:11
|
|
|
|
|
18 | pub const DEFAULT_PRIORITY: u16 = 32768;
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `DEFAULT_HELLO` is never used
|
|
--> netstack/src/link/stp.rs:19:11
|
|
|
|
|
19 | pub const DEFAULT_HELLO: Duration = Duration::from_secs(2);
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: constant `DEFAULT_MAX_AGE` is never used
|
|
--> netstack/src/link/stp.rs:20:11
|
|
|
|
|
20 | pub const DEFAULT_MAX_AGE: Duration = Duration::from_secs(20);
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `DEFAULT_FORWARD_DELAY` is never used
|
|
--> netstack/src/link/stp.rs:21:11
|
|
|
|
|
21 | pub const DEFAULT_FORWARD_DELAY: Duration = Duration::from_secs(15);
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: enum `PortState` is never used
|
|
--> netstack/src/link/stp.rs:24:10
|
|
|
|
|
24 | pub enum PortState {
|
|
| ^^^^^^^^^
|
|
|
|
warning: struct `StpState` is never constructed
|
|
--> netstack/src/link/stp.rs:30:12
|
|
|
|
|
30 | pub struct StpState {
|
|
| ^^^^^^^^
|
|
|
|
warning: multiple associated items are never used
|
|
--> netstack/src/link/stp.rs:41:12
|
|
|
|
|
40 | impl StpState {
|
|
| ------------- associated items in this implementation
|
|
41 | pub fn new(priority: u16, mac: EthernetAddress, port_count: usize) -> Self {
|
|
| ^^^
|
|
...
|
|
54 | pub fn bridge_id(&self) -> u64 {
|
|
| ^^^^^^^^^
|
|
...
|
|
58 | pub fn send_hello(&mut self, now: Instant) -> bool {
|
|
| ^^^^^^^^^^
|
|
...
|
|
66 | pub fn process_bpdu(
|
|
| ^^^^^^^^^^^^
|
|
...
|
|
102 | pub fn is_blocked(&self, port_idx: usize) -> bool {
|
|
| ^^^^^^^^^^
|
|
...
|
|
106 | fn port_cost(&self) -> u32 {
|
|
| ^^^^^^^^^
|
|
...
|
|
110 | pub fn build_bpdu(&self) -> Vec<u8> {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: struct `BpduMessage` is never constructed
|
|
--> netstack/src/link/stp.rs:135:8
|
|
|
|
|
135 | struct BpduMessage {
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: associated function `parse` is never used
|
|
--> netstack/src/link/stp.rs:142:8
|
|
|
|
|
141 | impl BpduMessage {
|
|
| ---------------- associated function in this implementation
|
|
142 | fn parse(data: &[u8]) -> Option<Self> {
|
|
| ^^^^^
|
|
|
|
warning: function `mac_to_u64` is never used
|
|
--> netstack/src/link/stp.rs:153:4
|
|
|
|
|
153 | fn mac_to_u64(mac: EthernetAddress) -> u64 {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: constant `TPID_8021Q` is never used
|
|
--> netstack/src/link/vlan.rs:23:7
|
|
|
|
|
23 | const TPID_8021Q: u16 = 0x8100;
|
|
| ^^^^^^^^^^
|
|
|
|
warning: struct `VlanDevice` is never constructed
|
|
--> netstack/src/link/vlan.rs:25:12
|
|
|
|
|
25 | pub struct VlanDevice {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: multiple associated items are never used
|
|
--> netstack/src/link/vlan.rs:40:12
|
|
|
|
|
39 | impl VlanDevice {
|
|
| --------------- associated items in this implementation
|
|
40 | pub fn new(name: &str, parent_name: &str, vlan_id: u16, devices: Rc<RefCell<DeviceList>>) -> Self {
|
|
| ^^^
|
|
...
|
|
63 | pub fn vlan_id(&self) -> u16 {
|
|
| ^^^^^^^
|
|
...
|
|
67 | pub fn parent_name(&self) -> &str {
|
|
| ^^^^^^^^^^^
|
|
...
|
|
71 | pub fn set_priority(&mut self, pcp: u8) {
|
|
| ^^^^^^^^^^^^
|
|
...
|
|
78 | pub fn push_received(&mut self, packet: Vec<u8>) {
|
|
| ^^^^^^^^^^^^^
|
|
...
|
|
82 | fn insert_tag(&mut self, packet: &[u8]) -> &[u8] {
|
|
| ^^^^^^^^^^
|
|
...
|
|
94 | fn strip_tag(&mut self, packet: &[u8]) -> Option<&[u8]> {
|
|
| ^^^^^^^^^
|
|
...
|
|
108 | pub fn matches_tag(&self, packet: &[u8]) -> bool {
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: constant `VXLAN_PORT` is never used
|
|
--> netstack/src/link/vxlan.rs:27:7
|
|
|
|
|
27 | const VXLAN_PORT: u16 = 4789;
|
|
| ^^^^^^^^^^
|
|
|
|
warning: constant `VXLAN_FLAGS` is never used
|
|
--> netstack/src/link/vxlan.rs:28:7
|
|
|
|
|
28 | const VXLAN_FLAGS: u8 = 0x08;
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: struct `VxlanDevice` is never constructed
|
|
--> netstack/src/link/vxlan.rs:30:12
|
|
|
|
|
30 | pub struct VxlanDevice {
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: associated items `new`, `push_received`, `build_encapsulated`, `matches_endpoint`, and `decapsulate` are never used
|
|
--> netstack/src/link/vxlan.rs:46:12
|
|
|
|
|
45 | impl VxlanDevice {
|
|
| ---------------- associated items in this implementation
|
|
46 | pub fn new(
|
|
| ^^^
|
|
...
|
|
74 | pub fn push_received(&mut self, packet: Vec<u8>) {
|
|
| ^^^^^^^^^^^^^
|
|
...
|
|
78 | fn build_encapsulated(&mut self, inner_packet: &[u8]) -> &[u8] {
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
...
|
|
134 | fn matches_endpoint(&self, outer_packet: &[u8]) -> bool {
|
|
| ^^^^^^^^^^^^^^^^
|
|
...
|
|
160 | fn decapsulate(&mut self, outer_packet: &[u8]) -> Option<&[u8]> {
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: variants `Blackhole`, `Unreachable`, and `Prohibit` are never constructed
|
|
--> netstack/src/router/route_table.rs:9:5
|
|
|
|
|
7 | pub enum RouteType {
|
|
| --------- variants in this enum
|
|
8 | Unicast,
|
|
9 | Blackhole,
|
|
| ^^^^^^^^^
|
|
10 | Unreachable,
|
|
| ^^^^^^^^^^^
|
|
11 | Prohibit,
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `RouteType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
|
|
|
|
warning: associated function `from_str` is never used
|
|
--> netstack/src/router/route_table.rs:24:12
|
|
|
|
|
14 | impl RouteType {
|
|
| -------------- associated function in this implementation
|
|
...
|
|
24 | pub fn from_str(s: &str) -> Option<Self> {
|
|
| ^^^^^^^^
|
|
|
|
warning: associated function `with_type` is never used
|
|
--> netstack/src/router/route_table.rs:57:12
|
|
|
|
|
45 | impl Rule {
|
|
| --------- associated function in this implementation
|
|
...
|
|
57 | pub fn with_type(
|
|
| ^^^^^^^^^
|
|
|
|
warning: method `lookup_device` is never used
|
|
--> netstack/src/router/route_table.rs:125:12
|
|
|
|
|
104 | impl RouteTable {
|
|
| --------------- method in this implementation
|
|
...
|
|
125 | pub fn lookup_device(&self, dst: &IpAddress) -> Option<Rc<str>> {
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: field `observer` is never read
|
|
--> netstack/src/scheme/mod.rs:83:5
|
|
|
|
|
67 | pub struct Smolnetd {
|
|
| -------- field in this struct
|
|
...
|
|
83 | observer: ObserverRef,
|
|
| ^^^^^^^^
|
|
|
|
warning: associated constant `MAX_PACKET_SIZE` is never used
|
|
--> netstack/src/scheme/mod.rs:87:15
|
|
|
|
|
86 | impl Smolnetd {
|
|
| ------------- associated constant in this implementation
|
|
87 | pub const MAX_PACKET_SIZE: usize = 2048;
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `SO_REUSEADDR` is never used
|
|
--> netstack/src/scheme/tcp.rs:19:7
|
|
|
|
|
19 | const SO_REUSEADDR: usize = 2;
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: field `write_buf` is never read
|
|
--> netstack/src/scheme/tun.rs:51:5
|
|
|
|
|
47 | struct TunFile {
|
|
| ------- field in this struct
|
|
...
|
|
51 | write_buf: Vec<u8>,
|
|
| ^^^^^^^^^
|
|
|
|
warning: constant `SO_REUSEADDR` is never used
|
|
--> netstack/src/scheme/udp.rs:20:7
|
|
|
|
|
20 | const SO_REUSEADDR: usize = 2;
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: constant `SO_BROADCAST` is never used
|
|
--> netstack/src/scheme/udp.rs:21:7
|
|
|
|
|
21 | const SO_BROADCAST: usize = 6;
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: constant `LINK_LOCAL_PREFIX` is never used
|
|
--> netstack/src/slaac.rs:23:11
|
|
|
|
|
23 | pub const LINK_LOCAL_PREFIX: Ipv6Cidr = Ipv6Cidr::new(
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `ALL_NODES_MULTICAST` is never used
|
|
--> netstack/src/slaac.rs:31:11
|
|
|
|
|
31 | pub const ALL_NODES_MULTICAST: Ipv6Address =
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `ICMPV6_RS` is never used
|
|
--> netstack/src/slaac.rs:34:7
|
|
|
|
|
34 | const ICMPV6_RS: u8 = 133;
|
|
| ^^^^^^^^^
|
|
|
|
warning: constant `ICMPV6_RA` is never used
|
|
--> netstack/src/slaac.rs:35:7
|
|
|
|
|
35 | const ICMPV6_RA: u8 = 134;
|
|
| ^^^^^^^^^
|
|
|
|
warning: constant `ND_OPT_SOURCE_LL_ADDR` is never used
|
|
--> netstack/src/slaac.rs:39:7
|
|
|
|
|
39 | const ND_OPT_SOURCE_LL_ADDR: u8 = 1;
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `ND_OPT_PREFIX_INFO` is never used
|
|
--> netstack/src/slaac.rs:41:7
|
|
|
|
|
41 | const ND_OPT_PREFIX_INFO: u8 = 3;
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: constant `RA_TIMEOUT` is never used
|
|
--> netstack/src/slaac.rs:43:7
|
|
|
|
|
43 | const RA_TIMEOUT: Duration = Duration::from_secs(5);
|
|
| ^^^^^^^^^^
|
|
|
|
warning: constant `MAX_RS_RETRIES` is never used
|
|
--> netstack/src/slaac.rs:44:7
|
|
|
|
|
44 | const MAX_RS_RETRIES: u8 = 3;
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: enum `SlacdState` is never used
|
|
--> netstack/src/slaac.rs:47:10
|
|
|
|
|
47 | pub enum SlacdState {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: function `build_router_solicitation` is never used
|
|
--> netstack/src/slaac.rs:103:8
|
|
|
|
|
103 | pub fn build_router_solicitation(mac: EthernetAddress) -> Vec<u8> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `ParsedRa` is never constructed
|
|
--> netstack/src/slaac.rs:118:12
|
|
|
|
|
118 | pub struct ParsedRa {
|
|
| ^^^^^^^^
|
|
|
|
warning: struct `RaPrefix` is never constructed
|
|
--> netstack/src/slaac.rs:127:12
|
|
|
|
|
127 | pub struct RaPrefix {
|
|
| ^^^^^^^^
|
|
|
|
warning: function `parse_router_advertisement` is never used
|
|
--> netstack/src/slaac.rs:137:8
|
|
|
|
|
137 | pub fn parse_router_advertisement(data: &[u8]) -> Option<ParsedRa> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `Slacd` is never constructed
|
|
--> netstack/src/slaac.rs:205:12
|
|
|
|
|
205 | pub struct Slacd {
|
|
| ^^^^^
|
|
|
|
warning: associated items `new`, `state`, `link_local`, `tick`, and `process_ra` are never used
|
|
--> netstack/src/slaac.rs:213:12
|
|
|
|
|
212 | impl Slacd {
|
|
| ---------- associated items in this implementation
|
|
213 | pub fn new(mac: EthernetAddress) -> Self {
|
|
| ^^^
|
|
...
|
|
223 | pub fn state(&self) -> SlacdState {
|
|
| ^^^^^
|
|
...
|
|
227 | pub fn link_local(&self) -> Ipv6Cidr {
|
|
| ^^^^^^^^^^
|
|
...
|
|
233 | pub fn tick(&mut self, now: Instant) -> Option<Vec<u8>> {
|
|
| ^^^^
|
|
...
|
|
257 | pub fn process_ra(&mut self, ra: &ParsedRa) -> Vec<Ipv6Cidr> {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused `std::result::Result` that must be used
|
|
--> netstack/src/main.rs:197:9
|
|
|
|
|
197 | / match event_res.map_err(|e| anyhow!("event result is error: {:?}", e))? {
|
|
198 | | EventSource::Network => smolnetd.on_network_scheme_event(),
|
|
199 | | EventSource::Time => smolnetd.on_time_event(),
|
|
200 | | EventSource::IpScheme => smolnetd.on_ip_scheme_event(),
|
|
... |
|
|
208 | | .map_err(|e| error!("Received packet error: {:?}", e));
|
|
| |______________________________________________________________^
|
|
|
|
|
= note: this `Result` may be an `Err` variant, which should be handled
|
|
= note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
|
|
help: use `let _ = ...` to ignore the resulting value
|
|
|
|
|
197 | let _ = match event_res.map_err(|e| anyhow!("event result is error: {:?}", e))? {
|
|
| +++++++
|
|
|
|
warning: `netstack` (bin "netstack") generated 115 warnings (run `cargo fix --bin "netstack" -p netstack` to apply 32 suggestions)
|
|
Finished `release` profile [optimized] target(s) in 0.12s
|
|
+ cp -v target/x86_64-unknown-redox/release/netstack /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/netstack
|
|
'target/x86_64-unknown-redox/release/netstack' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/netstack'
|
|
+ cp -v target/x86_64-unknown-redox/release/netstack /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/smolnetd
|
|
'target/x86_64-unknown-redox/release/netstack' -> '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin/smolnetd'
|
|
+ BINS=(gpiod i2c-gpio-expanderd intel-gpiod amd-mp2-i2cd dw-acpi-i2cd e1000d ihdad ihdgd i2c-hidd intel-thc-hidd intel-lpss-i2cd ixgbed pcid pcid-spawner rtl8139d rtl8168d usbctl usbhidd thermald usbhubd ucsid usbscsid virtio-gpud virtio-netd xhcid i2cd inputd fbcond redoxerd)
|
|
+ case "${TARGET}" in
|
|
+ BINS+=(ac97d sb16d vboxd)
|
|
+ mkdir -pv /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/bin /mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib/drivers
|
|
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib'
|
|
mkdir: создан каталог '/mnt/data/Builds/RedBear-OS/recipes/core/base/target/x86_64-unknown-redox/stage.tmp/usr/lib/drivers'
|
|
+ export CARGO_PROFILE_RELEASE_OPT_LEVEL=s
|
|
+ CARGO_PROFILE_RELEASE_OPT_LEVEL=s
|
|
+ export CARGO_PROFILE_RELEASE_PANIC=abort
|
|
+ CARGO_PROFILE_RELEASE_PANIC=abort
|
|
+ EXISTING_BINS=()
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "gpiod"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "i2c-gpio-expanderd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "intel-gpiod"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "amd-mp2-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "dw-acpi-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "e1000d"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "ihdad"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "ihdgd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "i2c-hidd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "intel-thc-hidd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "intel-lpss-i2cd"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "ixgbed"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "pcid"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|
|
+ EXISTING_BINS+=("${bin}")
|
|
+ for bin in "${BINS[@]}"
|
|
+ grep -Rqs '^name = "pcid-spawner"$' /mnt/data/Builds/RedBear-OS/local/sources/base
|