File balena-etcher.spec of Package balena-etcher

Name:           balena-etcher
Version:        2.1.0
Release:        5.1
Summary:        Flash OS images to SD cards & USB drives, safely and easily
License:        Apache-2.0
URL:            https://github.com/balena-io/etcher
Source0:        etcher-v%{version}.rpm

BuildRequires:  rpm
BuildRequires:  cpio
Requires:       rpm
ExclusiveArch:  x86_64

%description
Flash OS images to SD cards & USB drives, safely and easily.

%package lang
Summary:        Translation files for balena-etcher
Group:          Productivity/Other
Requires:       %{name} = %{version}-%{release}

%description lang
Translation (localization) data for additional UI languages.

%prep
# nothing here; we'll extract upstream RPM in %install

%install
# clean buildroot
rm -rf %{buildroot}
mkdir -p %{buildroot}

# extract upstream RPM
cd %{buildroot}
rpm2cpio %{SOURCE0} | cpio -idmv

# fix absolute symlink -> make it relative
rm -f usr/lib/balena-etcher/balenaEtcher
ln -s balena-etcher usr/lib/balena-etcher/balenaEtcher

%files
%defattr(-,root,root,-)
/usr/bin/balena-etcher

# keep build-id directory hierarchy
%dir /usr/lib/.build-id
%dir /usr/lib/.build-id/*
%attr(0644,root,root) /usr/lib/.build-id/*/*

# main application bundle
%dir /usr/lib/balena-etcher
%dir /usr/lib/balena-etcher/resources

/usr/lib/balena-etcher/balena-etcher
/usr/lib/balena-etcher/balenaEtcher
/usr/lib/balena-etcher/chrome-sandbox
/usr/lib/balena-etcher/chrome_100_percent.pak
/usr/lib/balena-etcher/chrome_200_percent.pak
/usr/lib/balena-etcher/chrome_crashpad_handler
/usr/lib/balena-etcher/icudtl.dat
/usr/lib/balena-etcher/libEGL.so
/usr/lib/balena-etcher/libGLESv2.so
/usr/lib/balena-etcher/libffmpeg.so
/usr/lib/balena-etcher/libvk_swiftshader.so
/usr/lib/balena-etcher/libvulkan.so.1
/usr/lib/balena-etcher/resources.pak
/usr/lib/balena-etcher/snapshot_blob.bin
/usr/lib/balena-etcher/v8_context_snapshot.bin
/usr/lib/balena-etcher/version
/usr/lib/balena-etcher/vk_swiftshader_icd.json

# everything inside resources
/usr/lib/balena-etcher/resources/*

# license files (waren bislang unpackaged)
/usr/lib/balena-etcher/LICENSE
/usr/lib/balena-etcher/LICENSES.chromium.html

# desktop integration & icon
/usr/share/applications/balena-etcher.desktop
/usr/share/pixmaps/balena-etcher.png

# docs (nur directory + wildcard, keine doppelten Einträge mehr)
%dir /usr/share/doc/balena-etcher
/usr/share/doc/balena-etcher/*

%files lang
%defattr(-,root,root,-)
%dir /usr/lib/balena-etcher/locales
/usr/lib/balena-etcher/locales/*

%changelog
* Tue May  6 2025 Byron Fröhlich <byron.froehlich@mailbox.org> - 2.1.0
- Fixed duplicated %files entries for build-id, resources and docs  
- Kept lang-subpackage for locales
openSUSE Build Service is sponsored by