mirror of
https://github.com/terrapkg/packages.git
synced 2026-06-30 15:28:28 +00:00
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "brew-proxy.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
# This spec file contains portions of code licensed under the MIT license.
|
||||
#
|
||||
# MIT License
|
||||
#
|
||||
# Copyright (c) 2026 Contributors to brew-proxy <https://codeberg.org/HastD/brew-proxy>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
# Globals.
|
||||
%global proxy_dbus_name sh.brew.BrewProxy
|
||||
%global with_selinux 1
|
||||
%global modulename brew-proxy
|
||||
%global selinuxtype targeted
|
||||
|
||||
# Metadata.
|
||||
Name: brew-proxy
|
||||
Version: 0.3.1
|
||||
Release: 1%{?dist}
|
||||
Summary: DBus-activated proxy service for a more secure Homebrew setup on Linux
|
||||
License: %{shrink:
|
||||
((MIT OR Apache-2.0) AND Unicode-3.0)
|
||||
AND (Apache-2.0 OR MIT)
|
||||
AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT)
|
||||
AND MIT
|
||||
}
|
||||
SourceLicense: Apache-2.0 OR MIT
|
||||
Packager: libffi <contact@ffi.lol>
|
||||
|
||||
# Links.
|
||||
URL: https://codeberg.org/HastD/%{name}
|
||||
Source0: %{url}/archive/v%{version}.tar.gz
|
||||
|
||||
# Macros.
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: cargo-rpm-macros
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: rust-srpm-macros
|
||||
|
||||
# Build tooling.
|
||||
BuildRequires: meson
|
||||
BuildRequires: clang
|
||||
BuildRequires: mold
|
||||
|
||||
# Subpackages.
|
||||
Recommends: %{name}-selinux
|
||||
|
||||
%package selinux
|
||||
# Meta.
|
||||
Summary: SELinux policy for %{name}
|
||||
Requires: %{name}
|
||||
BuildArch: noarch
|
||||
|
||||
# Libraries.
|
||||
BuildRequires: selinux-policy-devel
|
||||
%selinux_requires
|
||||
|
||||
%description
|
||||
brew-proxy is a DBus-activated service that facilitates configuring a
|
||||
Homebrew installation on Linux more securely.
|
||||
|
||||
%description selinux
|
||||
SELinux policy for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -C
|
||||
%cargo_prep_online
|
||||
%meson
|
||||
|
||||
%build
|
||||
%cargo_license_summary_online
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%check
|
||||
# Tests from the `tests/` directory are not feasible to run as they are E2E
|
||||
# tests that require a working dbus instance and a configured service.
|
||||
%cargo_test -- --lib --bin brew-proxy --bin brew-proxy-daemon
|
||||
%cargo_test -- --doc
|
||||
%cargo_test -- -p %{name}-utils
|
||||
|
||||
%post
|
||||
%systemd_post %{name}-daemon.service
|
||||
%systemd_post %{name}-setup.service
|
||||
|
||||
%preun
|
||||
%systemd_preun %{name}-daemon.service
|
||||
%systemd_preun %{name}-setup.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart %{name}-daemon.service
|
||||
%systemd_postun_with_reload %{name}-setup.service
|
||||
|
||||
%pre selinux
|
||||
%selinux_relabel_pre -s %{selinuxtype}
|
||||
|
||||
%post selinux
|
||||
%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2
|
||||
|
||||
%postun selinux
|
||||
if [ "$1" -eq 0 ]; then
|
||||
%selinux_modules_uninstall -s %{selinuxtype} %{modulename}
|
||||
%selinux_relabel_post -s %{selinuxtype}
|
||||
fi
|
||||
|
||||
%posttrans selinux
|
||||
%selinux_relabel_post -s %{selinuxtype}
|
||||
|
||||
%files
|
||||
%license LICENSE.dependencies
|
||||
%license LICENSES/Apache-2.0.txt
|
||||
%license LICENSES/MIT.txt
|
||||
%license LICENSES/CC0-1.0.txt
|
||||
%doc README.md
|
||||
%doc CHANGELOG.md
|
||||
%{_sysconfdir}/profile.d/%{name}.*
|
||||
%{_bindir}/%{name}
|
||||
%{_unitdir}/%{name}-daemon.service
|
||||
%{_unitdir}/%{name}-setup.service
|
||||
%{_sysusersdir}/%{name}.conf
|
||||
%{_libexecdir}/%{name}/
|
||||
%{_datadir}/dbus-1/system-services/{%proxy_dbus_name}.service
|
||||
%{_datadir}/dbus-1/system.d/{%proxy_dbus_name}.conf
|
||||
%{_datadir}/fish/vendor_conf.d/%{name}.fish
|
||||
%{_datadir}/polkit-1/actions/%{proxy_dbus_name}.policy
|
||||
%{_datadir}/polkit-1/rules.d/%{proxy_dbus_name}.rules
|
||||
%{_environmentdir}/30-%{name}.conf
|
||||
|
||||
%files selinux
|
||||
%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2
|
||||
%{_datadir}/selinux/devel/include/distributed/%{modulename}.if
|
||||
%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename}
|
||||
|
||||
%changelog
|
||||
* Tue Jun 30 2026 libffi <contact@ffi.lol> - 0.3.1
|
||||
- Initial release
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(codeberg("HastD/brew-proxy"));
|
||||
Reference in New Issue
Block a user