# The following tag is to get correct syntax highlighting for this file in vim text editor # vim: syntax=spec Name: firmware-manager Version: 0.5 Release: 1%{?dist} 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+https://github.com/szydell/firmware-manager#13a2cf2fe4dbb3a2fa68c14847ab9fd2dc520102: # 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-0.5.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 #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 -q -n firmware-manager-0.5 # 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 # Changelog %changelog * 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