#!/usr/bin/env bash
#
# Unified Build Tool
# Copyright (C) 2021-2026 by Thomas Dreibholz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Contact: thomas.dreibholz@gmail.com

set -eu

os=ubuntu
distribution=noble
architecture=amd64

os=debian
# distribution=bookworm
# architecture=arm64
distribution=unstable
architecture=m68k

os=fedora
distribution=41
architecture=x86_64


mkdir -p input
mkdir -p output
rm -f output/*

mkdir -p "/var/tmp/aptcache/${os}-${distribution}-${architecture}"
mkdir -p "/var/tmp/rpmcache/${os}-${distribution}-${architecture}"


# ====== Run PBuilder =======================================================
# docker run --rm -it --privileged \
#    --volume "$(pwd)/input":/input:ro \
#    --volume "$(pwd)/output":"/var/cache/pbuilder/result/${os}-${distribution}-${architecture}" \
#    --volume "/var/tmp/aptcache/${os}-${distribution}-${architecture}":"/var/cache/pbuilder/aptcache/${os}-${distribution}-${architecture}" \
#    "dreibh/td-build-tool-pbuilder-${os}-${distribution}-${architecture}:latest" \
#    bash -c "find /input -maxdepth 1 -name '*.dsc' | xargs -n1 -r env OS="${os}" DIST="${distribution}" ARCH="${architecture}" pbuilder build"


# ====== Run Mock ===========================================================
docker run --rm -it --privileged \
   --volume "$(pwd)/input":/input:ro \
   --volume "$(pwd)/output":"/var/lib/mock/${os}-${distribution}-${architecture}/result" \
   --volume "/var/tmp/rpmcache/${os}-${distribution}-${architecture}":"/var/cache/mock/${os}-${distribution}-${architecture}" \
   "dreibh/td-build-tool-mock-${os}-${distribution}-${architecture}:latest" \
   bash


os=fedora
distribution=41
architecture=x86_64
mock -r /etc/mock/${os}-${distribution}-${architecture}.cfg --isolation=auto --resultdir /output --installdeps /input/*.rpm
mock -r /etc/mock/${os}-${distribution}-${architecture}.cfg --isolation=auto --resultdir /output --rebuild --offline --no-clean --no-cleanup-after /input/*.rpm
