Add rpm spec
This commit is contained in:
parent
b9d1dd8eb1
commit
94745171f8
3 changed files with 118 additions and 0 deletions
80
fedora-sway-configs.spec.rpkg
Normal file
80
fedora-sway-configs.spec.rpkg
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
# vim: ft=spec
|
||||||
|
Name: {{{ git_name }}}
|
||||||
|
Version: {{{ git_version }}}
|
||||||
|
Release: {{{ git_release }}}%{?dist}
|
||||||
|
Summary: Configuration files for Fedora Sway Spin
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
URL: https://git.alebastr.su/alebastr/fedora-sway-configs
|
||||||
|
Source0: {{{ git_pack path=$(git rev-parse --show-toplevel) }}}
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package -n sway-config-fedora
|
||||||
|
Summary: Configuration of Sway for Fedora Sway Spin
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: sway >= 1.7
|
||||||
|
Provides: sway-config = %{version}-%{release}
|
||||||
|
Conflicts: sway-config
|
||||||
|
|
||||||
|
# By default the Fedora background is used
|
||||||
|
# Weak dependency here may cause a swaynag warning during the configuration load
|
||||||
|
Requires: desktop-backgrounds-compat
|
||||||
|
# Lack of graphical drivers may hurt the common use case
|
||||||
|
Requires: mesa-dri-drivers
|
||||||
|
# Logind needs polkit to create a graphical session
|
||||||
|
Requires: polkit
|
||||||
|
# swaybg is used in the default config
|
||||||
|
Requires: swaybg
|
||||||
|
# dmenu (as well as rxvt any many others) requires XWayland on Sway
|
||||||
|
Requires: xorg-x11-server-Xwayland
|
||||||
|
|
||||||
|
# Sway binds the terminal shortcut to one specific terminal. In our case foot
|
||||||
|
Recommends: foot
|
||||||
|
# grim is the recommended way to take screenshots on sway 1.0+
|
||||||
|
Recommends: grim
|
||||||
|
# Dmenu is the default launcher in sway
|
||||||
|
Recommends: dmenu
|
||||||
|
# In addition, xargs is recommended for use in such a launcher arrangement
|
||||||
|
Recommends: findutils
|
||||||
|
# Install configs and scripts for better integration with systemd user session
|
||||||
|
Recommends: sway-systemd
|
||||||
|
# Both utilities are suggested in the default configuration
|
||||||
|
Recommends: swayidle
|
||||||
|
Recommends: swaylock
|
||||||
|
|
||||||
|
# Minimal installation doesn't include Qt Wayland backend
|
||||||
|
Recommends: (qt5-qtwayland if qt5-qtbase-gui)
|
||||||
|
Recommends: (qt6-qtwayland if qt6-qtbase-gui)
|
||||||
|
|
||||||
|
# Default config dependencies
|
||||||
|
Recommends: libnotify
|
||||||
|
Recommends: light
|
||||||
|
Recommends: playerctl
|
||||||
|
Recommends: pulseaudio-utils
|
||||||
|
|
||||||
|
%description -n sway-config-fedora
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
{{{ git_setup_macro path=$(git rev-parse --show-toplevel) }}}
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -D -m 0644 -pv -t %{buildroot}%{_sysconfdir}/sway sway/config
|
||||||
|
install -D -m 0644 -pv -t %{buildroot}%{_sysconfdir}/sway/config.d sway/50-fedora.conf
|
||||||
|
install -D -m 0644 -pv -t %{buildroot}%{_datadir}/sway/config.d sway/config.d/*
|
||||||
|
|
||||||
|
|
||||||
|
%files -n sway-config-fedora
|
||||||
|
%license LICENSE
|
||||||
|
%config(noreplace) %{_sysconfdir}/sway/config
|
||||||
|
%config(noreplace) %{_sysconfdir}/sway/config.d/50-fedora.conf
|
||||||
|
%{_datadir}/sway/config.d
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
{{{ git_changelog }}}
|
||||||
2
rpkg.conf
Normal file
2
rpkg.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[rpkg]
|
||||||
|
user_macros = "${git_props:root}/rpkg.macros"
|
||||||
36
rpkg.macros
Normal file
36
rpkg.macros
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim ft:sh
|
||||||
|
|
||||||
|
function git_tag {
|
||||||
|
git describe --tags --abbrev=0 2>/dev/null | head -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function git_version {
|
||||||
|
tag="$(git_tag)"
|
||||||
|
tag_version="$(echo "$tag" | sed -E -n "s/^v?([^-]+)/\1/p")"
|
||||||
|
if [ -z "$tag_version" ]; then
|
||||||
|
tag_version=0
|
||||||
|
fi
|
||||||
|
output "$tag_version"
|
||||||
|
}
|
||||||
|
|
||||||
|
function git_release {
|
||||||
|
latest_tag="$(git_tag)"
|
||||||
|
if [ -n "$latest_tag" ]; then
|
||||||
|
commit_count="$(git rev-list "$latest_tag"..HEAD --count 2>/dev/null)"
|
||||||
|
commit_count=$(( commit_count + 1 ))
|
||||||
|
else
|
||||||
|
commit_count="$(git rev-list HEAD --count 2>/dev/null || printf 0)"
|
||||||
|
fi
|
||||||
|
if [ -n "$latest_tag" ] && [ "$commit_count" -eq 1 ]; then
|
||||||
|
output "0.1"
|
||||||
|
else
|
||||||
|
snap_date="$(date +%+4Y%m%d)"
|
||||||
|
shortcommit="$(git rev-parse --short HEAD)"
|
||||||
|
output "0.$commit_count.${snap_date}git${shortcommit}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function git_dir_release {
|
||||||
|
git_release "$@"
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue