# The following tag is to get correct syntax highlighting for this file in vim text editor # vim: syntax=spec Name: firmware-manager Version: 0.1.5 Release: 3 Summary: system76-firmware License: GPLv3 URL: https://github.com/szydell/firmware-manager # Detailed information about the source Git repository and the source commit # for the created rpm package VCS: git+git@github.com:szydell/firmware-manager.git#f8e449d7dab75c39bf530827377632b9f03c9a22: # git_dir_pack macro places the repository content (the source files) into a tarball # and returns its filename. The tarball will be used to build the rpm. Source: firmware-manager-f8e449d7.tar.gz #Packages required for build BuildRequires: cargo %{?systemd_requires} BuildRequires: dbus-devel BuildRequires: openssl-devel BuildRequires: systemd-devel BuildRequires: cairo-gobject-devel BuildRequires: pango-devel BuildRequires: atk-devel BuildRequires: gtk3-devel BuildRequires: xz-devel BuildRequires: libXrandr-devel BuildRequires: libXcursor-devel BuildRequires: libXcomposite-devel #Packages required to work Requires: dbus-common Requires: systemd Requires: system76-firmware Requires: fwupd # More detailed description of the package %description System76 GUI firmware manager %define debug_package %{nil} #-- %prep %setup -T -b 0 -q -n firmware-manager # This will invoke `make` command in the directory with the extracted sources. %build make prefix=/usr libdir=/usr/lib64 # This will copy the files generated by the `make` command above into # the installable rpm package. %install make install-bin prefix=/usr libdir=/usr/lib64 DESTDIR=%{buildroot} make install-ffi prefix=/usr libdir=/usr/lib64 DESTDIR=%{buildroot} make install-notify prefix=/usr DESTDIR=%{buildroot} make install-icons prefix=/usr libdir=/usr/lib64 DESTDIR=%{buildroot} # do after installation %post systemctl daemon-reload >/dev/null 2>&1 || : echo "To enable firmware updates notification run: systemctl enable --user com.system76.FirmwareManager.Notify.timer" # do before uninstallation %preun %systemd_preun com.system76.FirmwareManager.Notify.service # do after unistallation %postun systemctl daemon-reload >/dev/null 2>&1 || : # Those files will be in the rpm %files %{_sysconfdir}/xdg/autostart/com.system76.FirmwareManager.Notify.desktop %{_userunitdir}/com.system76.FirmwareManager.Notify.timer %{_userunitdir}/com.system76.FirmwareManager.Notify.service %{_libdir}/pkgconfig/firmware_manager.pc %{_libdir}/libfirmware_manager.so %{_includedir}/firmware_manager.h %{_datadir}/icons/hicolor/64x64/apps/firmware-manager.png %{_datadir}/icons/hicolor/64x64@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/16x16@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/16x16/apps/firmware-manager.png %{_datadir}/icons/hicolor/32x32/apps/firmware-manager.png %{_datadir}/icons/hicolor/24x24@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/128x128/apps/firmware-manager.png %{_datadir}/icons/hicolor/128x128@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/48x48/apps/firmware-manager.png %{_datadir}/icons/hicolor/scalable/apps/firmware-manager-symbolic.svg %{_datadir}/icons/hicolor/256x256@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/48x48@2x/apps/firmware-manager.png %{_datadir}/icons/hicolor/24x24/apps/firmware-manager.png %{_datadir}/icons/hicolor/256x256/apps/firmware-manager.png %{_datadir}/icons/hicolor/32x32@2x/apps/firmware-manager.png %{_datadir}/metainfo/com.system76.FirmwareManager.appdata.xml %{_datadir}/applications/com.system76.FirmwareManager.desktop %{_bindir}/com.system76.FirmwareManager %{_bindir}/com.system76.FirmwareManager.Notify %{_libdir}/libfirmware_manager.so.0 # Changelog %changelog * Thu Feb 15 2024 Marcin Szydelski 0.1.5-2 rebuild for F40 - bump Version to: 0.1.5-2 * Wed Feb 14 2024 Marcin Szydelski 0.1.5-1 - bump Version to: 0.1.5-1 - get version from Cargo.toml * Wed Feb 14 2024 Marcin Szydelski 0.1.2-10 - bump Version to: 0.1.2-10 - fetch upstream - Translated to danish (#154) - chore: update dependencies - fix: Set correct return type for fwupd section dropdown - fix: set the correct return type in `emit_by_name` to prevent `panic!` * Fri Dec 15 2023 Marcin Szydelski 0.1.2-9 - bump Version to: 0.1.2-9 - fetch upstream - i18n(el): add Greek translation - init * Sat Dec 02 2023 Marcin Szydelski 0.1.2-8 - bump Version to: 0.1.2-8 - fetch upstream - Create firmware_manager_gtk.ftl - Create firmware_manager_notify.ftl * Sun Nov 26 2023 Marcin Szydelski 0.1.2-7 - bump Version to: 0.1.2-7 - Merge branch 'pop-os:master' into master - Update toolchain, edition - Update system76-firmware - i18n(ru): Add Russian translation - i18n(uk): Add Ukrainian translation - fix: swap html2runes for html2md to fix Rust 1.69.0 compatibility - chore: update dependencies - chore(rust): set toolchain to 1.65.0 - fix: changelog parse error (#138) - Update dependencies - i18n(sr-Cyrl, sr): Add Serbian (Cyrillic and Latin) translation * Tue Mar 07 2023 Marcin Szydelski 0.1.2-6 - bump Version to: 0.1.2-6 * Tue Mar 07 2023 Marcin Szydelski 0.1.2-5 - bump Version to: 0.1.2-5 - fetch upstream - chore(debian): update compat version * Wed Jan 25 2023 Marcin Szydelski 0.1.2-4 - bump Version to: 0.1.2-4 - Merge branch 'pop-os:master' into master - docs(readme): Fix typos in readme (#132) - gtk: Show firmware release date - gtk: Make description a required field * Mon Oct 10 2022 Marcin Szydelski 0.1.2-3 - bump Version to: 0.1.2-3 - fetch upstream - chore(cargo): Update dependencies * Sun Aug 14 2022 Marcin Szydelski 0.1.2-2 - bump Version to: 0.1.2-2 - fetch upstream - gtk: Trim changelog descriptions * Thu Jul 21 2022 Marcin Szydelski 0.1.2-1 - bump Version to: 0.1.2-1 - Merge branch 'pop-os:master' into master - fix no new line at end of file - i18n(cs): Add Czech translation - Merge branch 'pop-os:master' into master - fix(build): Pin dependencies for Ubuntu support - fix(build): Add --offline argument - chore: Update dependencies - fix: fwupd error for devices needing requests feature - Show current firmware version even if updates are not possible - fix: Use hyphen in translation directory - i18n(zh_CN): Remove i18n/cn folder - i18n(cn, zh_CN): Add Chinese (Simplified) translation * Mon Mar 21 2022 Marcin Szydelski 0.12-1 - Merge branch 'pop-os:master' into master - i18n(it): Add Italian translation - Merge branch 'pop-os:master' into master - i18n(fi): Add Finnish translation - Merge branch 'pop-os:master' into master - fix: Use `reveals_child()` instead of `is_child_revealed()` - chore: Run `cargo update` - chore: Update to gtk-rs 0.14 - chore: `cargo fmt` - Add arm64 builds * Thu Aug 12 2021 Marcin Szydelski 0.11-1 - Merge branch 'pop-os:master' into master - i18n(hi, bn): Add Hindi and Bengali translation (#112) * Fri Jul 30 2021 Marcin Szydelski 0.10-1 - Merge branch 'pop-os:master' into master - i18n(sl): Add Slovenian translation - i18n(ml): Add Malayalam language support - i18n(es): Add Spanish translation - i18n(et): Add Estonian translation - i18n(hu): Add Hungarian translation - Remove duplicate line - Added Turkish translation - Merge branch 'pop-os:master' into master - fix: Use dbus-rs backend of notify-rust to fix busy loop issue - i18n(ca): Add Catalan translation - i18n(kr): Add Korean translation. Needs additional overviews * Wed Jun 16 2021 Marcin Szydelski 0.9-1 - +new BuildRequires - Merge branch 'pop-os:master' into master - i18n(de): Add German translation - i18n(sr): Add Serbian (Latin) translation - i18n(id): Add Indonesia translation - i18n(pt-BR): Add "Update" button translation - i18n: Add missing "Update" button - i18n(fr): Add French language support - i18n(pt-BR): Add Brazilian Portuguese translation - chore: Update dependencies - chore: Version 0.1.3 - i18n(pl): Add Polish translation - feat: Add support for i18n (internationalization) - fix(packaging): Fix debian/rules - chore: Update dependencies - chore(gtk): Update dependencies - chore: Remove unnecessary conditional features - Merge pull request #5 from pop-os/master - fix: Update fwupd-dbus to handle comma-separated checksums - chore: Update rust-toolchain to 1.47 - fix: Update fwupd-dbus to support fetching JCAT files - improv: Add more info to firmware update dialog message * Wed Dec 30 2020 Marcin Szydelski 0.8-1 - +libfirmware_manager.so.0 * Wed Dec 30 2020 Marcin Szydelski 0.7-1 - Merge pull request #4 from pop-os/master - fix(shlibs): Use `>= 0.1.2~` (#88) - fix: Add .shlibs file, and update version to 0.1.2 (#87) - improv: Use `cdylib-link-lines` - fix: Correctly use shlibs for dependencies - chore: Update gtk-rs to 0.9 - Merge pull request #3 from pop-os/master - Fix builds on groovy * Thu Apr 09 2020 Marcin Szydelski 0.5-1 - Merge pull request #2 from pop-os/master - 0.1.1 - format DMI information and update dependencies - update messaging about power needed for firmware updates (#77) * Thu Nov 21 2019 Marcin Szydelski 0.4-1 - -systemd-rpm-macros * Thu Nov 21 2019 Marcin Szydelski 0.3-1 - --user - missing slash - systemd macro - systemd directory * Tue Nov 19 2019 Marcin Szydelski 0.2-1 - BuildRequires: xz-devel * Tue Nov 19 2019 Marcin Szydelski 0.1-1 - Fedora RPM - fix(notify): Notify binary now checks if being called from admin user - feat(core): Add function to determine if the active user is an admin - fix(packaging): Better fix for Eoan packaging - chore(deps): Update dependencies - docs(appstream): Add Appstream XML data - fix(notify): fwupd firmware is upgradeable only if upgradeable is set - chore(deps): Update dependencies - chore(deps): Update Rust to 1.36.0 - feat(gtk): Non-admin users now get a non-admin view (#65) - docs(testing): A couple small updates (#63) - fix(notify): Only sudo group will receive firmware update desktop notifications - fix(gtk): Prevent USB hotplug events from refreshing the view following a flash - chore(deps): Update dependencies in Cargo.lock file - refactor(core): Change name of remote cache timestamp file - fix(core): Fix the cached timestamp not being updated - feat(gtk): Stop the USB hotplug thread when the FW widget is dropped - feat(core): Callers may now stop the USB hotplug event thread - improvement(gtk): App log color improvements - improvement(core): Display error when a fwupd device fails to retrieve its releases - fix(build): Fix for shells which cannot handle the \n expression - improvement(core): Switch back to using our client for remote updates - improvement(gtk): Add color to UI event trace logs - improvement(gtk): Improved log colors for GTK app - fix(core): Allow our notify binary to also adhere to the fwupd timestamp - docs(gtk): Document all the APIs in the GTK member - test(core): Add test for timestamp checking - docs(core): Document everything else in the core - docs(core): Enforce public API documentation at compile-time - feat(gtk): Use fern + log for logging - feat(core): Use log for logging - fix(packaging): Add libudev to debian packaging requirements - feat(gtk): Refresh the UI on USB hotplug events - feat(core): Add usb_hotplug_event_loop convenience function - feat(gtk): Improved backtraces for panics in GTK app - fix(core): Ensure fwupd is only refreshed once per day - fix(build): Fix Eoan builds - refactor: Slight refactor of fwupd client creation - feat(gtk): Make info label selectable - docs: Add a distributor section to the README - chore(deps): Update dependencies - fix(core): Device firmware may be newer than what fwupd provides - fix(gtk): Place the power message in dialogs in the same label as the header - fix(core): Allow system76-firmware bios method to fail - fix(gtk): Ensure that the empty view is shown when set - fix(gtk): Increase width & height of dialog - assets(icons): Add icons to the packaging - feat(gtk): Dialogs now match the changelog revealer layout - fix(core): Tell the main thread when scanning is complete - feat(core): Use board vendor + name for System76 system firmware - refactor(core): Move fwupd and system76 funcs to their news modules - fix(core): Use fwupdmgr refresh until we find the cause of invalid signatures - feat(packaging): Provide a virtual package for the firmware manager - fix(core): version sorting when using fwupd - docs(coc): Add the code of conduct - docs(contributing): Add a contributing file for contributor guidelines - docs(readme): Improve the readme again - fix(gtk): Run the system76 dialog BEFORE destroying it - fix(core): Add generic version collection sort to fix fwupd release sorting - docs(changelog): Add a changelog to the project - docs(readme): Add extra details and improve wording - chore(gtk): Remove last-remaining usage of Rc in the lib - fix(core): Activate fwupd with dbus ping - refactor(gtk): Refactor progress bar (de)activation - refactor(gtk): Refactor device entity/widget creation - fix(packaging): Update debian packaging - chore(gtk): Remove TODO comment that's no longer valid - docs(readme): Update README.md - chore(deps): Update cargo dependencies - fix(notify): Fix update boolean expression - feat(gtk): Refresh GTK widget after error dismissal - refactor(gtk): Improve state management with refactor - fix(packaging): Fix the CI - fix(packaging): Generate the Cargo manifests w/ Makefile to fix conditional compilation - fix(core): Handle network connection errors - docs(readme): Update README with screenshots and thorough explanation of the project - fix(gtk): Add a waiting label widget to device widget stack - fix(packaging): Add postinst script to start fwupd service if it is inactive - fix(packaging): Have libfirmware-manager depend on -notify too - fix(gtk): Improve the layout of revealer changelogs - fix(gtk): Fix battery detection and battery message text - feat(packaging): Add firmware-manager-notify as dependency - fix(gtk): Fix misalignment of firmware dialog - refactor(clippy): Appease the clippy linter - fix(build): Builds without Makefile now build with fwupd + system76 features by default - fix(gtk): Fix the waiting progress label - fix(packaging): Remove System76 from application & .desktop files - fix(gtk): Remove button margin causing button to shrink - fix(packaging): Fix conflict in debian packaging - fix(gtk): Ensure homogenous device entity box heights - fix(gtk): Fix display of progress bar and its label - fix(gtk): Fix alignment of device labels - fix(gtk): Fix buttons to allow shadow without clipping - fix(gtk): Show 100% before hiding the progress bar - fix(core): Collapse Thelio I/O devices into one - fix(gtk): Default progress bars to "Waiting" after click - fix(gtk): Only show battery message when a battery is detected - fix(gtk): Set margins for changelogs in dropdown - feat(gtk): Add indicator for dropdown state - fix(packaging): Ensure fwupd is started at init - feat(packaging): systemd support for periodic update checks - fix(gtk): Show the widget by default - fix(gtk): Fix the dynamic width of the firmware content container - fix(notify): Actually check if discovered firmware is updateable - feat(gtk): Hide device and system firmware sections until they are found - feat(gtk): Use a GTK revealer, instead of dialogs, for changelogs - fix(notify): Make the notification non-resident, so it closes on click - feat(gtk): Handle Ctrl + Q in the standalone application - refactor(gtk): Refactoring - fix(gtk): System76 changelog places most-recent version first - fix(core): Fix latest version # for Thelio I/O boards - feat(gtk): Seamless navigation between system and device list boxes - feat(gtk): Improved keyboard navigation - fix(fwupd): Only update enabled remotes - fix(packaging): Fix the pkconfig generation - feat(gtk): Accurate progress bars on devices - refactor: Applies some refactoring - fix(packaging): Fix the pkgconfig generation - fix(packaging): Ensure that build tools aren't building in release mode - fix(core): Fix parsing of changelog for Thelio Major R1 - feat(gtk): Display dialog with changelogs when clicking devices - fix(core): Thelio I/O boards will number from 1, not 0 - fix(gtk): Display the "not found" view only when firmware was not found - fix(gtk): Progress bar event loop now handles the `Disconnected` signal - refactor(core): Remove the optional state of firmware signal events - fix(notify): Also update fwupd remote cache in the notify binary - feat(fwupd): Update the fwupd remote cache every 2 weeks - feat(gtk): Allow multiple system firmware to be displayed - fix(gtk): Put all requires reboot devices into System Firmware - fix(fwupd): Fix fwupd system detection - fix(packaging): Fix the debian packaging - fix(gtk): Allow the background thread to gracefully exit on drop - refactor(gtk): Use GTK builders everywhere where applicable - refactor(gtk): Use gtk::DialogBuilder to remove a use of unsafe - chore(deps): Rust 1.35 + Gtk-rs 0.7 - feat(notify): Create firmware-manager-notify package - refactor(gtk): Separate GTK widget library into firmware-manager-gtk - docs(testing): Add TESTING.md - feat(packaging): Conditional compilation; Makefile improvements; Updated README.md - feat(packaging): Use freedesktop-desktop-entry to generate desktop entry - feat(packaging): Create the desktop entry - chore(deps): system76-firmware - feat(gtk): Add refresh button to the application - chore(deps): system76-firmware - fix(fwupd): Further improvements to fwupd support - fix(gtk): Fix GTK application window size - chore(deps): fwupd-dbus - fix(gtk): Display fwupd devices even if no updates are available - feat(core): Integrate fwupd-dbus client for fwupd support - feat(core): Use slotmap EC arch to manage device widgets - fix(build): Fix the bionic build - feat(gtk): Implemented the GTK Firmware Widget - docs: Initial commit