Package Details: firmware-manager 0.1.2-5

Git Clone URL: https://aur.archlinux.org/firmware-manager.git (read-only, click to copy)
Package Base: firmware-manager
Description: GTK application for managing system and device firmware.
Upstream URL: https://github.com/pop-os/firmware-manager
Licenses: GPL3
Provides: firmware-manager-virtual
Submitter: electrickite
Maintainer: yochananmarqos
Last Packager: yochananmarqos
Votes: 6
Popularity: 0.060443
First Submitted: 2020-04-02 02:45 (UTC)
Last Updated: 2022-01-06 18:56 (UTC)

Pinned Comments

yochananmarqos commented on 2021-02-27 23:08 (UTC)

PSA: The shared lib is now split into a separate package, so you'll need to remove the previous version before updating to 0.1.2-3.

Latest Comments

Eeems commented on 2021-08-13 22:23 (UTC)

@yochananmarqos Can confirm, it builds now. Thanks!

yochananmarqos commented on 2021-08-13 18:24 (UTC)

@Eeems: Fixed!

Eeems commented on 2021-08-13 17:57 (UTC)

I'm getting the following error when trying to build.

error: failed to load manifest for workspace member `/tmp/build/80754af9/pkg/src/firmware-manager-0.1.2/gtk`


Caused by:

  failed to read `/tmp/build/80754af9/pkg/src/firmware-manager-0.1.2/gtk/Cargo.toml`


Caused by:

  No such file or directory (os error 2)

yochananmarqos commented on 2021-03-21 14:44 (UTC) (edited on 2021-03-21 14:45 (UTC) by yochananmarqos)

@dreleck: That's just how Cargo works, it's a package manager and needs to download the dependencies. Go and NPM are similar in that regard.

dreieck commented on 2021-03-21 11:06 (UTC) (edited on 2021-03-21 11:12 (UTC) by dreieck)

This package fails to build on internet connection with 1 Mbit/s speed -- in build() (!!), stuff gets downloaded, and some stuff seems to timeout before finished; somehing assumes a priviliged high speed internet connection:

==> Starting build()...
[...]
info: downloading component 'rustc'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2020-01-30/rustc-1.41.0-x86_64-unknown-linux-gnu.tar.xz'
error: component download failed for rustc-x86_64-unknown-linux-gnu
error: caused by: could not download file
make: *** [Makefile:113: target/com.system76.FirmwareManager.desktop] Error 1
make: *** Waiting for unfinished jobs....
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Msg("cleaning up cached downloads"), State { next_error: Some(Os { code: 2, kind: NotFound, message: "No such file or directory" }), backtrace: InternalBacktrace { backtrace: None } })', download/src/lib.rs:121:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
make: *** [Makefile:129: target/com.system76.FirmwareManager.Notify.desktop] Error 101
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Msg("cleaning up cached downloads"), State { next_error: Some(Os { code: 2, kind: NotFound, message: "No such file or directory" }), backtrace: InternalBacktrace { backtrace: None } })', download/src/lib.rs:121:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
make: *** [Makefile:148: target/firmware_manager.pc] Error 101
error: component download failed for rustc-x86_64-unknown-linux-gnu
error: caused by: could not rename file
make: *** [Makefile:143: target/release/libfirmware_manager.so] Error 1
==> ERROR: A failure occurred in build().

(The "Waiting for unfinished jobs...." and the "thread 'main' panicked at [...]" each take several minutes of time while still the internet connection is busy; maybe the download tries to finish while some hypervising thread thinks it failed?).

Is it possible for you to move all downloads into the source-array, so that makepkg's download configuration can be honoured? Alternatively, using prepare() and using there some non-timeouting-while-still-data-is-slowly-flowing download method?

Also note the "panicing" because of missing files ...

By the way, why does some static fixed version rustc needs to be downloaded in build()? This should be left to source-array ... also enabling check summing possibility ...

Thanks for maintaining!

yochananmarqos commented on 2021-02-28 18:06 (UTC)

@smsx: Fixed.

smsx commented on 2021-02-28 15:28 (UTC)

seems to be a typo with the newest dependencies. It attempts to install libfirmwaremanager but the actual package name is libfirmware-manager.

yochananmarqos commented on 2021-02-27 23:08 (UTC)

PSA: The shared lib is now split into a separate package, so you'll need to remove the previous version before updating to 0.1.2-3.

jsimon0 commented on 2021-02-10 18:30 (UTC)

@yochananmarqos This worked. Thanks

yochananmarqos commented on 2021-02-10 18:13 (UTC) (edited on 2021-02-10 18:14 (UTC) by yochananmarqos)

@jsimon0: I solved the issue in my firmware-manager-git package by using a Polkit policy. Try that out. You'll be able to run the binary just as firmware-manager and use the menu shortcut. It will prompt for elevation.

jsimon0 commented on 2021-02-10 17:17 (UTC)

While this builds for me, I cannot run it. I get the following exception at runtime if I run with elevated permissions. Anybody else?

$ pkexec firmware-manager
Unable to init server: Could not connect: Connection refused

Backtrace omitted. Run with RUST_BACKTRACE=1 to display it.
Run with RUST_BACKTRACE=full to include source snippets.

The application panicked (crashed).
  failed to init GTK: BoolError { message: "Failed to initialize GTK", filename: "/home/jsimon/.cargo/registry/src/github.com-1ecc6299db9ec823/gtk-0.9.2/src/rt.rs", function: "gtk::rt", line: 129 }
in src/libcore/result.rs, line 1188
thread: main

Obviously, if I run it without elevated permissions, it opens but doesn't work.

electrickite commented on 2020-12-16 02:57 (UTC)

@dreieck Version 0.1.1-2 adds a firmware-manager symlink.

yochananmarqos commented on 2020-12-13 00:02 (UTC) (edited on 2020-12-13 00:05 (UTC) by yochananmarqos)

@dreieck: I symlink com.system76.FirmwareManager to firmware-manager in my firmware-manager-git package. However, it makes no sense to symlink com.system76.FirmwareManager.Notify as it's only used by com.system76.FirmwareManager.Notify.service.

As far as the Cargo crates, that's how it works. Go packages are similar. Please don't spam every AUR package that uses Rust. See Arch package guidelines.

dreieck commented on 2020-12-12 23:45 (UTC)

The executables get installed at the non-intuitive names /usr/bin/com.system76.FirmwareManager and /usr/bin/com.system76.FirmwareManager.Notify.

Can you make them installed (or symlinked) to intuitive names, like firmware-manager and firmware-manager.Notify?

Thanks for maintaining!

dreieck commented on 2020-12-12 23:12 (UTC)

Your PKGBUILD downloads stuff in build().

This must not happen. No internet connection must be assumed in build() and package().

Please make sure that everything needed to build the software is downloaded in the source-array, if that is not possible use the prepare()-function and download stuff there. (source-array has the advantage that user's makepkg.conf-settings are honoured.)

==> Starting build()...
[...]
  Downloaded libdbus-sys v0.2.1
  Downloaded mac v0.1.1
  Downloaded maybe-uninit v2.0.0
[ lots of stuff downloading ]
 Downloading 6 crates, remaining bytes: 1.7 MB
[...]

Thanks for maintaining!