Name: bleachbit Summary: Remove sensitive data and free up disk space URL: https://www.bleachbit.org/ Version: 4.4.0 Release: 1%{?dist} License: GPLv3+ and MIT BuildArch: noarch # Development and bug reports mostly seem to happen BleachBit's GitHub project, but their documentation points to SourceForge for the GPG public key and signatures, so that's where we'll need to get the source tarballs -- https://docs.bleachbit.org/doc/install-on-linux.html#digital-signatures Source0: https://downloads.sourceforge.net/project/bleachbit/bleachbit/%{version}/bleachbit-%{version}.tar.bz2 Source1: https://downloads.sourceforge.net/project/bleachbit/bleachbit/%{version}/bleachbit-%{version}-sha256sum.txt.asc Source2: https://downloads.sourceforge.net/project/bleachbit/public_key/andrew2019.key BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: gnupg2 BuildRequires: libappstream-glib BuildRequires: make BuildRequires: python3-devel BuildRequires: python3-setuptools %if 0%{?rhel} && 0%{?rhel} < 8 BuildRequires: python3-rpm-macros %endif Requires: gtk3 Requires: python3-chardet %if 0%{?rhel} && 0%{?rhel} < 8 Requires: python36-gobject %else Requires: python3-gobject %endif %description Delete traces of your computer activity and other junk files to free disk space and maintain privacy. With BleachBit, you can free cache, delete cookies, clear Internet history, shred temporary files, delete logs, and discard junk you didn't know was there. Designed for Linux and Windows systems, it wipes clean thousands of applications including Firefox, Internet Explorer, Adobe Flash, Google Chrome, Opera, Safari, and many more. Beyond simply deleting files, BleachBit includes advanced features such as shredding files to prevent recovery, wiping free disk space to hide traces of files deleted by other applications, and cleaning Web browser profiles to make them run faster. # EPEL7 still defaults to Python 2. %if 0%{?rhel} && 0%{?rhel} < 8 %global __python %{__python3} %endif # EPEL7 rpmbuild still defines _metainfodir as /usr/share/appdata/, even though plenty of packages use the newer /usr/share/metainfo/. %if 0%{?rhel} && 0%{?rhel} < 8 %global _metainfodir %{_datadir}/metainfo %endif %prep # Can't verify the tarball all at once because upstream switched from detached signature file to a signed checksum... # %%{gpgverify} --keyring='%%{SOURCE2}' --signature='%%{SOURCE1}' --data='%%{SOURCE0}' gpg2 --import %{SOURCE2} gpg2 --verify %{SOURCE1} cd %{_sourcedir} # Old version of sha256sum on EPEL7 doesn't support ignoring missing files or PGP signature in the checksum file, so we have to filter for the one line we want. %if 0%{?rhel} && 0%{?rhel} < 8 grep "bleachbit-%{version}.tar.bz2" %{SOURCE1} > ./extracted-checksum.txt sha256sum --check ./extracted-checksum.txt %else sha256sum --ignore-missing --check %{SOURCE1} %endif %setup -q # Disable update notifications, since package will be updated by DNF or Packagekit. sed 's/online_update_notification_enabled = True/online_update_notification_enabled = False/g' --in-place ./bleachbit/__init__.py # These get installed to %%{_datadir} as non-executable files, and so shouldn't need a shebang at all. find ./bleachbit/ -type f -iname '*.py' -exec sed --regexp-extended '1s|^#! ?/.+$||g' --in-place '{}' + # Replace any remaining env shebangs, or shebangs calling unversioned or unnecessarily specifically versioned Python, with plain python3. find ./ -type f -iname '*.py' -exec sed --regexp-extended '1s|^#! ?/usr/bin/env python3?$|#!%{_bindir}/python3|g' --in-place '{}' + find ./ -type f -iname '*.py' -exec sed --regexp-extended '1s|^#! ?/usr/bin/python[[:digit:][:punct:]]*$|#!%{_bindir}/python3|g' --in-place '{}' + %build %py3_build %make_build --directory ./po/ # Remove Windows-specific functionality. %make_build delete_windows_files %install %make_install PYTHON=%{__python3} prefix=%{_prefix} INSTALL="%{_bindir}/install -Dp" %make_install --directory ./po/ PYTHON=%{__python3} prefix=%{_prefix} INSTALL="%{_bindir}/install -Dp" desktop-file-install --dir=%{buildroot}/%{_datadir}/applications/ org.bleachbit.BleachBit.desktop install -Dp org.bleachbit.BleachBit.metainfo.xml %{buildroot}/%{_metainfodir}/ # "BleachBit As Administrator" app launcher is broken, so we're not shipping any polkit files for now -- https://github.com/bleachbit/bleachbit/issues/950 rm %{buildroot}/%{_datadir}/polkit-1/actions/org.bleachbit.policy %find_lang %{name} %check desktop-file-validate %{buildroot}/%{_datadir}/applications/org.bleachbit.BleachBit.desktop appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/org.bleachbit.BleachBit.metainfo.xml %files -f %{name}.lang %doc README* %license COPYING %{_bindir}/bleachbit %{_datadir}/bleachbit/ %{_datadir}/applications/org.bleachbit.BleachBit.desktop %{_metainfodir}/org.bleachbit.BleachBit.metainfo.xml %{_datadir}/pixmaps/bleachbit.png %changelog * Mon Sep 13 2021 Audrey Toskin - 4.4.0-1 - Bump to upstream version 4.4.0, with upstream enhancements documented here: https://www.bleachbit.org/news/bleachbit-440 * Wed Jul 21 2021 Fedora Release Engineering - 4.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 4.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jan 15 2021 Audrey Toskin - 4.2.0-2 - Adjust package spec to build for EPEL7. * Wed Jan 6 2021 Audrey Toskin - 4.2.0-1 - Bump to upstream version 4.2.0, which, among other things, adds new cleaners and regular expression-based searches during deep scans. * Mon Jul 27 2020 Fedora Release Engineering - 4.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild