# The following tag is to get correct syntax highlighting for this file in vim text editor
# vim: syntax=spec

Name:       system76-firmware
Version:    1.0.67
Release:    1
Summary:    system76-firmware
License:    GPLv3
URL:        https://github.com/szydell/system76-firmware

# Detailed information about the source Git repository and the source commit
# for the created rpm package
VCS:        git+git@github.com:szydell/system76-firmware.git#8f02ae0889efc397f0114c4899159c05972df303:

# 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:     system76-firmware-8f02ae08.tar.gz

#Packages required for build
BuildRequires: cargo
%{?systemd_requires}
BuildRequires: systemd
BuildRequires: dbus-devel
BuildRequires: xz-devel
BuildRequires: libsodium-devel 
BuildRequires: openssl-devel

#Packages required to work
Requires: dbus-common 
Requires: systemd
#system76-driver provides python library needed by the system76-firmware application
Requires: system76-driver



# More detailed description of the package
%description
System76 firmware updater daemon and cli

%define debug_package %{nil}

#--
%prep
%setup -T -b 0 -q -n system76-firmware

# This will invoke `make` command in the directory with the extracted sources.
%build
make all

# This will copy the files generated by the `make` command above into
# the installable rpm package.
%install

make install DESTDIR=%{buildroot}

# do after installation
%post
%systemd_post system76-firmware-daemon.service
systemctl daemon-reload >/dev/null 2>&1 || :

# do before uninstallation
%preun
%systemd_preun system76-firmware-daemon.service

# do after unistallation
%postun
systemctl daemon-reload >/dev/null 2>&1 || :
%systemd_postun_with_restart system76-firmware-daemon.service



# Those files will be in the rpm
%files
%{_bindir}/system76-firmware-cli
%{_sbindir}/system76-firmware-daemon
%{_sysconfdir}/dbus-1/system.d/system76-firmware-daemon.conf
%{_sysconfdir}/systemd/system/system76-firmware-daemon.service


# Changelog
%changelog
* Wed Dec 18 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.66-1
- bump Version to: 1.0.66-1
- fetch upstream
- Merge pull request #150 from pop-os/spark-r2
- Gate iopl for x86 only, update rust-toolchain
- Build for arm64
- Add thelio-spark-r2
- Add thelio-mira-r4
- Add pang15 and bump version to 1.0.64

* Tue Dec 03 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.63-1
- bump Version to: 1.0.63-1
- fetch upstream
- Bump version to 1.0.63
- Add meer9

* Thu Oct 17 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.62-4
- bump Version to: 1.0.62-4
- fetch upstream
- Add thelio-spark-r1
- Use libc::Ioctl for ioctl constant

* Sun Aug 11 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.62-3
- bump Version to: 1.0.62-3
- fetch upstream
- Add bonw15-b

* Thu Jul 18 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.62-2
- bump Version to: 1.0.62-2
- fetch upstream
- Add new model thelio-mega-r3 to model whitelist

* Tue May 21 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.62-1
- bump Version to: 1.0.62-1
- fetch upstream
- Add gaze19
- 1.0.62
- Add lemp13-b and bump version
- Add darp10, darp10-b
- Add meer8-b

* Tue Mar 26 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.60-2
- bump Version to: 1.0.60-2
- fetch upstream
- Remove `me_cr` and `me_hap`

* Mon Mar 18 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.60-1
- bump Version to: 1.0.60-1
- fetch upstream
- Add thelio-r4

* Thu Mar 14 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.59-1
- bump Version to: 1.0.59-1
- fetch upstream
- 1.0.59
- Add addw4, lemp13, oryp12

* Thu Feb 15 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.58-3
rebuild for F40
- bump Version to: 1.0.58-3

* Wed Feb 14 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.58-2
try to rebuild for epel9
- bump Version to: 1.0.58-2

* Wed Feb 14 2024 Marcin Szydelski <marcin@szydelscy.pl> 1.0.58-1
- bump Version to: 1.0.58-1
- fetch upstream
- 1.0.58: Fix for pang14

* Wed Dec 27 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.57-1
- bump Version to: 1.0.57-1
- fetch upstream
- Add thelio-major-r5

* Thu Nov 30 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.56-1
- bump Version to: 1.0.56-1
- fetch upstream
- Add support for pang14

* Sun Nov 26 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.55-1
- bump Version to: 1.0.55-1
- Merge branch 'pop-os:master' into master
- Update Cargo.toml and Cargo.lock
- Add meer8
- Remove `bios_set` and `bios_me`
- Fix argument order for `with_prefix_in`
- Format code
- Fix clippy lints
- Update edition, deps, toolchain
- Add support for thelio-spark-b1
- 1.0.53: Add pang13

* Tue May 23 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.52-1
- bump Version to: 1.0.52-1
- fetch upstream
- Add lemp12
- Add darp9
- 1.0.52: Add galp7
- fix: allow `me_` fields of changelog to be optional
- Add thelio-mira-b4.1
- 1.0.51
- Add new RPL models
- Add meer7

* Tue Mar 07 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.50-2
- bump Version to: 1.0.50-2

* Tue Mar 07 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.50-1
- bump Version to: 1.0.50-1
- fetch upstream
- Add thelio-major-r4
- Add thelio-b5
- 1.0.50: Add pang12 EC version support

* Wed Jan 25 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.49-2
- bump Version to: 1.0.49-2

* Wed Jan 25 2023 Marcin Szydelski <marcin@szydelscy.pl> 1.0.49-1
- bump Version to: 1.0.49-1
- fetch upstream
- Add pang12
- Add thelio-mira-b4
- Add thelio-r3
- Add thelio-major-r3
- Add thelio-major-b4

* Tue Nov 08 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.45-2
- bump Version to: 1.0.45-2

* Wed Nov 02 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.45-1
- bump Version to: 1.0.45-1
- fetch upstream
- Merge pull request #98 from pop-os/thelio-mira-r3
- Make date and description required fields
- New model: add thelio-mira-r3

* Mon Sep 19 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.44-2
- bump Version to: 1.0.44-2
- fetch upstream
- Handle date field in changelog

* Mon Sep 12 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.44-1
- bump Version to: 1.0.44-1
- fetch upstream
- Add thelio-mega-r2

* Mon Sep 05 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.43-1
- bump Version to: 1.0.43-1
- fetch upstream
- Add thelio-b4
- 1.0.43: Add oryp10

* Sat Aug 13 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.42-3
- bump Version to: 1.0.42-3

* Sat Aug 13 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.42-2
- bump Version to: 1.0.42-2

* Wed Aug 03 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.42-1
- bump Version to: 1.0.42-1
- fetch upstream
- 1.0.42: Add galp6

* Thu Jul 21 2022 Marcin Szydelski <marcin@szydelscy.pl> 1.0.41-1
- bump Version to: 1.0.41-1
- publish
- Merge branch 'pop-os:master' into master
- 1.0.41: Add lemp11 and oryp9
- 1.0.40: Add darp8

* Tue Jun 07 2022 Marcin Szydelski <marcin@szydelscy.pl> 0.22-1
- Merge branch 'pop-os:master' into master
- fix: find efi_dev when /boot/efi is mounted via systemd autofs
- 1.0.39: Modify BootOrder for thelio-mira-r2
- 1.0.38: Add thelio-mira-r2
- 1.0.37: Add gaze17
- Add thelio-mira-b3
- Add thelio-mira-b2
- Add thelio-b3 (#81)
- improv: Use clap's new derive syntax
- chore: Update to clap 3
- Add kudu6
- 1.0.32: Add gaze16-3060-b

* Sun Sep 19 2021 Marcin Szydelski <marcin@szydelscy.pl> 0.21-1
- Merge branch 'pop-os:master' into master
- 1.0.31 - Specify tar version 0.4.35 to work around regression

* Fri Sep 17 2021 Marcin Szydelski <marcin@szydelscy.pl> 0.20-1
- Merge branch 'pop-os:master' into master
- 1.0.30 - Add oryp8
- Update dependencies
- fix: Reinstate timestamp-based block caching
- 1.0.29 - Add pang11
- Update dependencies

* Fri Jul 30 2021 Marcin Szydelski <marcin@szydelscy.pl> 0.19-1
- Merge branch 'pop-os:master' into master
- 1.0.28 - Add gaze16-3050, gaze16-3060
- Update dependencies
- Merge branch 'pop-os:master' into master
- Update changelog
- Update version to 1.0.27
- Add mira-b1 to automatic update whitelist
- 1.0.26 - Add meer6 (#61)
- system76-firmware: add missing dependency on efibootmgr
- Merge branch 'pop-os:master' into master
- 1.0.25 - Fix booting to firmware updater on thelio-mira-r1

* Tue May 04 2021 Marcin Szydelski <marcin@szydelscy.pl> 0.18-1
- Merge pull request #19 from pop-os/master
- chore: Update DBus to 0.9
- fix: Remove cached tail block on error
- Use is_dir instead of is_ok
- fix: Create cache directory if it doesn't exist
- fix: Cache the tail block
- Replace dh-systemd with debhelper version requirement
- Add oryp7
- 1.0.23
- chore: Bump Rust to 1.47.0 (#51)
- 1.0.22 - Add thelio-major-b3

* Wed Dec 30 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.17-1
- Merge pull request #18 from pop-os/master
- 1.0.21 - Add darp7

* Thu Dec 24 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.16-1
- Merge pull request #17 from pop-os/master
- 1.0.20 - Add galp5, lemp10, pang10, and thelio-mira-r1
- 1.0.19: - Update ectool to ensure locked EC access - Test that DMI vendor
contains System76
- improv: Add /efi mount point (#43)
- improv: Print what transition is being made to the terminal
- improv: Document CLI with clap's .help() and .about()
- 1.0.18 - Fix CLI argument parsing of --proprietary
- Temporarily disable automatic darp6 transition
- 1.0.17 - Fallback when passed transition arguments on unsupported model
- improv: Use clap for argument handling
- improv: Update to 2018 edition
- Set rust-toolchain to 1.41.0
- 1.0.16 - Support for transitioning to open firmware
- Also vendor daemon crates
- Sync packaging with system76-power
- 1.0.15 - Add thelio-major-r2.1 and thelio-mega-r1.1

* Mon Aug 24 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.15-1
- Merge pull request #16 from pop-os/master
- 1.0.14 - Add bonw14

* Tue Jun 30 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.14-1
- Merge pull request #15 from pop-os/master
- 1.0.13 - Add oryp6

* Mon Jun 15 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.13-1
- Merge pull request #14 from pop-os/master
- Find EFI mount point in /boot and /boot/efi (#29)
- Add thelio-b2
- 1.0.11 - add addw2 and gaze15
- Merge pull request #13 from pop-os/master
- Add thelio-r2
- 1.0.10 - add serw12

* Thu Apr 09 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.12-1
- Merge pull request #12 from pop-os/master
- 1.0.9 - Add support for system76-ec
- 1.0.8 - meer5 support

* Sat Feb 22 2020 Marcin Szydelski <marcin@szydelscy.pl> 0.11-1
- Merge pull request #11 from pop-os/master
- Add Thelio Megas

* Fri Dec 27 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.10-1
- Merge pull request #10 from pop-os/master
- Update buildchain to 0.4.11
- 1.0.7
- Add thelio-major-r2

* Thu Nov 14 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.9-1
- daemon-reload

* Thu Nov 14 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.8-1
- Merge pull request #9 from pop-os/master
- 1.0.6
- Switch branch back to master
- Attempt to fix sbuild
- Add darp6 and galp4
- Change branch to coreboot
- Allow updates for coreboot firmware

* Fri Sep 20 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.7-1
- Merge pull request #8 from pop-os/master
- Add ability in library to use custom EFI directory
- Support in library for donloading and installing arbitrary firmware IDs
- Trim BIOS vendor
- Do not build daemon with --frozen when not using vendoring
- Attempt to fix build on eoan
- Fix compilation
- Update dependencies
- Disable firmware updates on coreboot firmware since they will overwrite with
the proprietary firmware
- Merge pull request #7 from pop-os/master
- feat(daemon): Add a model whitelist
- chore(deps): Update dependencies
- fix(client): Allow the Version ME and description fields to be null
- feat(client): Move daemon to workspace member, & create client crate

* Tue Aug 06 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.6-1
- Additional dependency: system76-driver
- Allow the wheel group member, to update firmware

* Mon Jul 08 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.5-1
- Merge pull request #4 from pop-os/master
- Add thelio-io subcommand to CLI
- Thelio Io firmware support
- 1.0.5 - update version and dependencies

* Thu Apr 25 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.4-1
- Merge pull request #3 from pop-os/master
- Revert ecflash to stable branch version
- Move vendoring into debian/rules
- 1.0.4 - update public key

* Mon Mar 18 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.3-1
- Merge pull request #2 from pop-os/master
- 1.0.3 - update buildchain to fix signature validation

* Tue Mar 12 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.2-1
- from pop main
- ca-certs
- Update dependencies
- Require ca-certificates to build

* Thu Jan 17 2019 Marcin Szydelski <marcin@szydelscy.pl> 0.1-1
First release of fedora package
- fork info
- missing BuildRequires
- fedora packaging init
- fedora packaging init
- fix openssl 1.1.1 compile error
- SSL Fix
- Rename cli binary to have -cli suffix
- install/uninstall the systemd unit with the daemon
- Update error message to reflect action taken
- Create ISSUE_TEMPLATE.md
- 1.0.2 release
- Merge branch 'master' of github.com:pop-os/system76-firmware
- 1.0.1 - update lock file
- Update Cargo.lock
- Create LICENSE
- 1.0.0
- Update README.md
- Update README.md
- Break into two packages, add simple cli
- Move service into debian packaging
- Add dbus-1
- Add liblzma-dev
- Add pkg-config
- Vendor ecflash
- Update lock file
- Fix ME version reading
- Fix dbus api name
- Update DBUS API
- Update readme and dbus API
- Remove warnings
- Remove debug print
- Add download cache
- Update buildchain version
- Update depencencies
- Switch to rust-lzma which works better with cargo vendor
- Update README, add debian packaging
- Add makefile and systemd service
- Also allow members of the sudo group
- Add rebuild script
- WIP: DBUS API
- Add code to set EFI boot
- init