commit e51c7c25fd86d08aceee1db905ee9fdaa5640807 Author: askiiart <dev@askiiart.net> Date: Mon Jan 6 16:22:50 2025 -0600 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..2818a3f --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# How to package RPMS + +A guide by someone who doesn't know what they're doing. + +We'll be using [polycat](https://github.com/2IMT/polycat) as an example, a fairly simple C++ program + +## Setup + +First off, you're gonna want to install `fedora-packager` and `rpmdevtools`. + +```sh +sudo dnf install fedora-packager rpmdevtools +``` + +Next, set up the directories for RPM packaging development. + +## Resources + +- [Macros](https://docs.fedoraproject.org/en-US/packaging-guidelines/RPMMacros/) (the ones that are vabiables) +- Build systems + - [CMake](https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/) + - [Meson](https://docs.fedoraproject.org/en-US/packaging-guidelines/Meson/) +- diff --git a/polycat.spec b/polycat.spec new file mode 100644 index 0000000..551d2de --- /dev/null +++ b/polycat.spec @@ -0,0 +1,37 @@ +Name: polycat +Version: r93.0c836d5 +Release: 1%{?dist} +Summary: runcat module for polybar (or waybar) + +License: MIT +URL: https://github.com/2IMT/polycat + +BuildRequires: cmake make g++ git tar +Requires: glibc + +%description +A runcat module for polybar (or waybar) written in C++ + +%prep +git clone --recursive https://github.com/2IMT/polycat.git --depth 1 --shallow-submodules + +%build +cd ./polycat/ +%cmake -DCMAKE_BUILD_TYPE=RELEASE +%cmake_build + +%install +cd ./polycat/ +mkdir -p %{buildroot}%{_bindir} +install -Dm755 ./redhat-linux-build/polycat %{buildroot}%{_bindir}/polycat +mkdir -p %{buildroot}%{datadir}/fonts/polycat/ +install -Dm644 ./res/polycat.ttf %{buildroot}%{_datadir}/fonts/polycat/polycat.ttf + + +%files +/usr/bin/polycat +/usr/share/fonts/polycat/polycat.ttf + +%changelog +* Mon Jan 06 2025 askiiart <dev@askiiart.net> +- First version diff --git a/update-version.sh b/update-version.sh new file mode 100755 index 0000000..838a3d0 --- /dev/null +++ b/update-version.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -ex +DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) + +cd $DIR +git clone https://github.com/2IMT/polycat.git +cd polycat/ +VERSION=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)") +cd .. +rm -rf polycat/ + +sed -i "s/Version:.*/Version: $VERSION/g" polycat.spec