Name: yabo Version: 0.1.0 Release: 2%{?dist} Summary: YouTube channel subscription manager License: MIT URL: https://github.com/kalkin/monorepo # In-repo source (yabo/): builds/source-archive snapshots the tracked tree # into this tarball at srpm time — see the `source-dir` marker. Source0: %{name}-%{version}.tar.gz BuildArch: noarch %global debug_package %{nil} BuildRequires: systemd-rpm-macros Requires: yt-dlp Requires: ffmpeg Requires: nodejs Requires: php-cli Requires: php-xml Requires: recutils %bcond check 1 %if %{with check} BuildRequires: ShellCheck BuildRequires: recutils BuildRequires: php-cli BuildRequires: php-xml BuildRequires: libxml2 %endif %description yabo archives whole YouTube channels for offline viewing. It detects new uploads from each channel's RSS feed into a per-channel recfile ledger, downloads them one at a time with yt-dlp (AV1-preferred, rate-limited), and generates Kodi .nfo sidecars and per-channel podcast feeds. Runs as three systemd timers (detect / download / sweep). %prep %autosetup -n %{name}-%{version} %build # Pure scripts — nothing to compile. %install DESTDIR=%{buildroot} PREFIX=%{_prefix} BINDIR=%{_bindir} \ LIBEXECDIR=%{_libexecdir} DATADIR=%{_datadir} \ SYSCONFDIR=%{_sysconfdir} UNITDIR=%{_unitdir} sh install.sh %check %if %{with check} sh tests/run.sh %endif %files %license LICENSE %doc README.md %{_bindir}/yabo-add %dir %{_libexecdir}/yabo %{_libexecdir}/yabo/yabo-rss %{_libexecdir}/yabo/yabo-download %{_libexecdir}/yabo/yabo-sweep %dir %{_datadir}/yabo %{_datadir}/yabo/lib.sh %{_datadir}/yabo/gen.php %{_datadir}/yabo/rss.php %{_unitdir}/yabo-rss.service %{_unitdir}/yabo-rss.timer %{_unitdir}/yabo-download.service %{_unitdir}/yabo-download.timer %{_unitdir}/yabo-sweep.service %{_unitdir}/yabo-sweep.timer %dir %{_sysconfdir}/yabo %config(noreplace) %{_sysconfdir}/yabo/config %post %systemd_post yabo-rss.timer yabo-download.timer yabo-sweep.timer %preun %systemd_preun yabo-rss.timer yabo-download.timer yabo-sweep.timer %postun %systemd_postun_with_restart yabo-rss.timer yabo-download.timer yabo-sweep.timer %changelog * Fri Jul 10 2026 Bahtiar `kalkin-` Gadimov - 0.1.0-2 - yabo-rss: report curl write-out per --next block so every channel is detected (a global write-out reported only the first transfer, dropping the rest) * Fri Jul 10 2026 Bahtiar `kalkin-` Gadimov - 0.1.0-1 - Initial package of the in-repo YouTube archiver