PSA: The CLI and daemon are now split into separate packages to match upstream. You'll have to uninstall system76-firmware-daemon
<=1.0.23-1 to upgrade to >=1.0.23-2.
Search Criteria
Package Details: system76-firmware 1.0.41-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/system76-firmware.git (read-only, click to copy) |
---|---|
Package Base: | system76-firmware |
Description: | System76 CLI tool for installing firmware updates |
Upstream URL: | https://github.com/pop-os/system76-firmware |
Licenses: | GPL3 |
Submitter: | yochananmarqos |
Maintainer: | yochananmarqos |
Last Packager: | yochananmarqos |
Votes: | 9 |
Popularity: | 0.000023 |
First Submitted: | 2021-02-05 19:26 (UTC) |
Last Updated: | 2022-06-22 16:16 (UTC) |
Dependencies (7)
- ca-certificates (ca-certificates-utils)
- efibootmgr (efibootmgr-git)
- openssl (libressl-git, openssl-static, openssl-hardened, quictls-openssl, openssl-git)
- xz (xz-git)
- cargo (cargo-git, rust-nightly-bin, rustup-git, rust, rustup) (make)
- dbus (dbus-elogind, dbus-git, dbus-nosystemd-minimal-git, dbus-nosystemd, dbus-selinux, dbus-x11, dbus-xdg-docs) (make)
- git (git-git, git-vfs, git-run-command-patch-git) (make)
Required by (1)
Sources (1)
Latest Comments
yochananmarqos commented on 2021-02-16 08:30 (UTC)
yochananmarqos commented on 2021-02-05 21:58 (UTC)
@spastorino: Again, that's the point of building in a chroot. You can keep your rustup
and build in a chroot using rust
.
spastorino commented on 2021-02-05 21:17 (UTC)
@yochananmarqos ahhh I see, it depends on rust but:
rust (rust-i586-git, rust-git, rust-mrustc, rust-bin, rustup-git, rust-nightly, rust-nightly-bin, rust-wasm, rustup)
On my machine:
$ pacman -Q | grep rust rustup 1.23.1-1 $
And as listed, rustup provides rust. So when I run makepkg, it downloads whatever version rustup-toolchain file says and that's why it doesn't work on my machine. So whoever has the same setup I have which is to have rustup to manage all the rust installations, would have the same issue. Anyway, I saw Jeremy released and you updated the package so everyone happy :).
yochananmarqos commented on 2021-02-04 23:58 (UTC)
@spastorino: Yes, I did read it. However, it seems to be irrelevant to this package since it depends on rust
which is currently at 1.49.0.
spastorino commented on 2021-02-04 23:42 (UTC)
@yochananmarqos yeah I understand that, did you read my comments on the github commit I've shared?. What I don't understand is how this 1.0.22 version even works. 1.0.22 is using a version of the object
crate that uses slice patterns, which was introduced in Rust 1.42 and the repo states in rust-toolchain that the Rust version used is 1.41. All I can think is that rust-toolchain on certain setups is ignored or something like that.
yochananmarqos commented on 2021-02-04 21:36 (UTC)
@spastorino: Building in a clean chroot helps ensure a reproducible build without interference from environment / user variables.
spastorino commented on 2021-02-04 21:00 (UTC)
@yochananmarqos to be honest I did not investigate too deeply but I've seen people saying that it compiles for them and I can't understand how, unless you're not using rust-toolchain provided Rust version. rust-toolchain on the system76-firmware repo states that the Rust version used is 1.41, so the script on my machines downloads Rust 1.41 and that version fails because 1.41 doesn't support slice patterns. I guess you may be using system rust or something? and that version is newer than 1.41?.
yochananmarqos commented on 2021-02-04 16:33 (UTC)
@spastorino: It builds fine for me with rust
in a clean chroot.
spastorino commented on 2021-02-04 14:28 (UTC)
The new 1.0.22 version does not compile. I've explained why here https://github.com/pop-os/system76-firmware/commit/7f66e87e82270ab388db9246195fed7c147d94b2#r46742575
Just pushed a PR mainstream https://github.com/pop-os/system76-firmware/pull/51 to fix this, Jeremy told me that they are going to merge my PR and make a new release soon.
yochananmarqos commented on 2020-12-13 00:08 (UTC)
@dreieck. Please see my comment here.
dreieck commented on 2020-12-12 23:34 (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()...
[...]
Downloading Blocking waiting for file lock on package cache
Downloaded form_urlencoded v1.0.0
Downloaded rustc-demangle v0.1.18
Downloaded cc v1.0.62
Downloaded sha2 v0.9.2
Downloaded hashbrown v0.9.1
Downloaded serde v1.0.117
[ downloading lots of stuff ]
Downloading 2 crates, remaining bytes: 901.4 KB
[...]
Thanks for maintaining!
AHoneybun commented on 2020-11-03 19:49 (UTC)
I would recommend updating the PKGBUILD file like this:
Maintainer: Corey Hinshaw <corey(at)electrickite(dot)org>
pkgname=system76-firmware-daemon _pkgname=system76-firmware pkgver=1.0.19 pkgrel=1 pkgdesc='System76 Firmware Daemon provides a daemon for installing firmware updates.' arch=('x86_64') url='https://github.com/pop-os/system76-firmware' license=('GPL3') install="${pkgname}.install" depends=( 'ca-certificates' 'dbus' 'dfu-programmer' 'efibootmgr' 'openssl' 'systemd' 'xz' ) makedepends=('rust') conflicts=('system76-driver<=17.10.32') source=("https://github.com/pop-os/${_pkgname}/archive/${pkgver}.tar.gz" "${pkgname}.install") sha256sums=('123fbe5ea5cfb114be8c099845e8a2746a6eeb0ab813cc93df19353db4a24087' 'bee86280bc6762aa773ef17441126df336abb3f4ca2163caa4df6201b6a2d708')
build() { cd ${srcdir}/${_pkgname}-${pkgver} make prefix=/usr DESTDIR="${pkgdir}" }
package() { cd ${srcdir}/${_pkgname}-${pkgver} make prefix=/usr DESTDIR="${pkgdir}" install }
This updates the package to 1.0.19 from 1.0.17-1 and adds efibootmgr as a depends since it is needed to apply the firmware update on the next boot.
electrickite commented on 2020-08-18 00:58 (UTC)
@t_a Thanks for the tip: 1.0.13-2 adds the CLI tool to the package.
phelucko commented on 2020-08-16 06:27 (UTC)
@moll, you are right. I was only checking the errors in journalctl. The complete log showed that it was caused by the missing EFI mount point. Thank you for your help!
moll commented on 2020-08-15 10:25 (UTC)
@phelucko: Doesn't the firmware-daemon print something to the general log visible via journalctl
?
phelucko commented on 2020-08-15 04:27 (UTC)
I am running 1.0.13-1. The system76-firmware-daemon service could not be started. I am getting the error Failed to start System76 Firmware Daemon.
in journalctl. The status of system76-firmware-daemon showed:
system76-firmware-daemon.service: Scheduled restart job, restart counter is at 5.
Stopped System76 Firmware Daemon.
system76-firmware-daemon.service: Start request repeated too quickly.
system76-firmware-daemon.service: Failed with result 'exit-code'.
Failed to start System76 Firmware Daemon.
t_a commented on 2020-08-06 20:15 (UTC) (edited on 2020-08-06 20:16 (UTC) by t_a)
This package seems to create the system76-firmware-cli
executable and puts it in the following location:
system76-firmware-daemon/src/system76-firmware-1.0.13/target/release/system76-firmware-cli
But shouldn't this package put that executable somewhere in the PATH like /usr/bin
? The system76-firmware-daemon-git
AUR package puts it in /usr/bin
.
nthorderindex commented on 2020-06-04 21:05 (UTC) (edited on 2020-06-05 14:55 (UTC) by nthorderindex)
I am trying to update from 1.0.11-1 to 1.0.12-1 but am encountering what seems to be a permission error:
error: failed to get `dbus` as a dependency of package `system76-firmware-daemon v0.1.0 (/tmp/system76-firmware-daemon-3001516397514285914/system76-firmware-daemon/src/system76-firmware-1.0.12/daemon)`
Caused by:
failed to create directory `/root/.cargo/registry/index/github.com-1ecc6299db9ec823`
Caused by:
Permission denied (os error 13)
error: failed to get `dbus` as a dependency of package `system76-firmware-daemon v0.1.0 (/tmp/system76-firmware-daemon-3001516397514285914/system76-firmware-daemon/src/system76-firmware-1.0.12/daemon)`
Caused by:
failed to create directory `/root/.cargo/registry/index/github.com-1ecc6299db9ec823`
Caused by:
Permission denied (os error 13)
error: failed to get `dbus` as a dependency of package `system76-firmware-daemon v0.1.0 (/tmp/system76-firmware-daemon-3001516397514285914/system76-firmware-daemon/src/system76-firmware-1.0.12/daemon)`
Caused by:
failed to create directory `/root/.cargo/registry/index/github.com-1ecc6299db9ec823`
Caused by:
Permission denied (os error 13)
error: failed to get `dbus` as a dependency of package `system76-firmware-daemon v0.1.0 (/tmp/system76-firmware-daemon-3001516397514285914/system76-firmware-daemon/src/system76-firmware-1.0.12/daemon)`
Caused by:
failed to create directory `/root/.cargo/registry/index/github.com-1ecc6299db9ec823`
Caused by:
Permission denied (os error 13)
make: *** [Makefile:48: target/release/system76-firmware-cli] Error 101
make: *** Waiting for unfinished jobs....
make: *** [Makefile:48: target/release/system76-firmware-daemon] Error 101
==> ERROR: A failure occurred in build().
Not sure if this is something wrong on my end that I can resolve, or an issue with the package.
EDIT: this was caused by a recent change in behaviour to the AUR helper I use, aura. I was able to solve it by running aura with sudo -E aura
rather than sudo aura
. Explanation in the aura changelog here: https://github.com/fosskers/aura/blob/master/aura/CHANGELOG.md#311-2020-06-02
electrickite commented on 2019-06-07 01:39 (UTC)
s_tec This package builds with no issues on my system without clang installed. What part of the package requires clang?
s_tec commented on 2019-06-06 14:04 (UTC)
This package is missing a build dependency on clang
. The clang package is not part of base-devel
, so it needs to be pulled in explicitly.
DrClutch commented on 2019-01-21 00:07 (UTC)
Not sure if this is something on my end of an issue here, but the firmware fails to build
Caused by:
process didn't exit successfully: rustc --crate-name system76_firmware_daemon src/bin/daemon.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C metadata=559a30bb38ab8be7 -C extra-filename=-559a30bb38ab8be7 --out-dir /home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps -L dependency=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps --extern buildchain=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libbuildchain-b69502ad797eb1df.rlib --extern dbus=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libdbus-3b90cb31863154d3.rlib --extern ecflash=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libecflash-8619c0d90e87f8d3.rlib --extern libc=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/liblibc-66d03348b2f47e2d.rlib --extern plain=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libplain-de0e02a4b914c113.rlib --extern lzma=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/liblzma-4ecf4f62f1f9f3fc.rlib --extern serde_json=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libserde_json-1395393f3e302500.rlib --extern sha2=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libsha2-113e6bcda7c1d267.rlib --extern system76_firmware=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libsystem76_firmware-4ba6ac599cf42f57.rlib --extern tar=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libtar-a704dbc4a6a3128f.rlib --extern tempdir=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libtempdir-42d635c6d9378fef.rlib --extern uuid=/home/user/Desktop/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/deps/libuuid-39fda5479ce1f9d0.rlib -L native=/usr/lib/openssl-1.0 -L native=/usr/lib -L native=/usr/lib -L native=/usr/lib
(signal: 11, SIGSEGV: invalid memory reference)
==> ERROR: A failure occurred in build().
Aborting...
ebobby commented on 2018-09-27 02:16 (UTC)
Fixed.
ebobby commented on 2018-09-27 02:00 (UTC)
That is weird. This didn't fail before. Did arch update its base openssl version?
graybeard commented on 2018-09-21 19:25 (UTC)
That worked - Thank you
shalzz commented on 2018-09-21 17:23 (UTC) (edited on 2018-09-21 17:23 (UTC) by shalzz)
Update the PKGBUILD build() hook from
cargo build --release
to
OPENSSL_LIB_DIR="/usr/lib/openssl-1.0" OPENSSL_INCLUDE_DIR="/usr/include/openssl-1.0" cargo build --release
to fix compilation.
graybeard commented on 2018-09-20 14:06 (UTC) (edited on 2018-09-20 14:19 (UTC) by graybeard)
Tryed it install for first time. Getting this error:
Compiling idna v0.1.4
Compiling clap v2.26.0
error: failed to run custom build command for openssl v0.9.24
process didn't exit successfully: /home/jack/.cache/pacaur/system76-firmware-daemon/src/system76-firmware-1.0.2/target/release/build/openssl-1a61ce394dacd9ad/build-script-build
(exit code: 101)
--- stderr
thread 'main' panicked at 'Unable to detect OpenSSL version', /home/jack/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.24/build.rs:16:14
core/openssl 1.1.1-1 [installed]
core/openssl-1.0 1.0.2.p-1 [installed]
ebobby commented on 2018-08-02 16:17 (UTC)
What kind of issue did you have?
libsodium is not mentioned as a dependency in the source repository. It builds fine and I have gone through one firmware update cycle without any issue.
mheese commented on 2018-08-02 08:31 (UTC)
libsodium needs to be added as a dependency
ebobby commented on 2018-07-09 17:51 (UTC)
Really? It works here, can you elaborate more in what the problem seems to be?
Thanks.
JKAbrams commented on 2018-07-08 11:26 (UTC) (edited on 2018-07-08 11:34 (UTC) by JKAbrams)
If you the following error, you need to start the firmware service:
systemctl enable system76-firmware-daemon
systemctl start system76-firmware-daemon
system76-firmware-pkexec --help
2018-07-08 13:18:46,422 ERROR Error calling _run_firmware_updater()
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/dbus/bus.py", line 175, in activate_name_owner return self.get_name_owner(bus_name)
File "/usr/lib/python3.6/site-packages/dbus/bus.py", line 361, in get_name_owner 's', (bus_name,), **keywords)
File "/usr/lib/python3.6/site-packages/dbus/connection.py", line 651, in call_blocking message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'com.system76.FirmwareDaemon': no such name
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/system76driver/firmware.py", line 439, in run_firmware_updater ret = _run_firmware_updater(reinstall, notification)
File "/usr/lib/python3.6/site-packages/system76driver/firmware.py", line 386, in _run_firmware_updater
proxy = bus.get_object('com.system76.FirmwareDaemon', '/com/system76/FirmwareDaemon')
File "/usr/lib/python3.6/site-packages/dbus/bus.py", line 241, in get_object follow_name_owner_changes=follow_name_owner_changes)
File "/usr/lib/python3.6/site-packages/dbus/proxies.py", line 248, in init self._named_service = conn.activate_name_owner(bus_name)
File "/usr/lib/python3.6/site-packages/dbus/bus.py", line 180, in activate_name_owner self.start_service_by_name(bus_name)
File "/usr/lib/python3.6/site-packages/dbus/bus.py", line 278, in start_service_by_name 'su', (bus_name, flags)))
File "/usr/lib/python3.6/site-packages/dbus/connection.py", line 651, in call_blocking message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name com.system76.FirmwareDaemon was not provided by any .service files
Actually I think this is a packaging bug where the com.system76.FirmwareDaemon is supposed to be started but cannot be started as it has changed name.
Pinned Comments
yochananmarqos commented on 2021-02-16 08:30 (UTC)
PSA: The CLI and daemon are now split into separate packages to match upstream. You'll have to uninstall
system76-firmware-daemon
<=1.0.23-1 to upgrade to >=1.0.23-2.