Hey i have just fixed most of the problem you have experienced, i apologized for the inconvenience.
To explain a bit the apt-catcher-ng problem have been solved by including a noninteractive variable before running the install, i also saw how dpkg query worked and was not optimal as not all dependencies was installed when doing this, also added some new and extra dependencies as required. The portion of the code looks like this now:
# install dependencies
local PACKAGES=("git" "time" "curl" "apt-cacher-ng" "lsb-release" "dpkg-dev" "fakeroot" "fasttrack-archive-keyring" "safe-rm" "extrepo-offline-data")
# Loop through each package
for PACKAGE in "${PACKAGES[@]}"; do
if ! dpkg-query -W -f='${Status}' "$PACKAGE" 2>/dev/null | grep -q "install ok installed"; then
echo "$PACKAGE is not installed. Installing..."
sudo DEBIAN_FRONTEND=noninteractive "$APT" install -y "$PACKAGE"
else
echo "$PACKAGE is already installed."
fi
done
also added importing the gpg keys as it would fail if not done so, Still check the gpg key manually after the build is done please for your own safety.
when it comes to the submodule fetch failure it is my fault for not being careful with the fetching process. But the problem was that i forgot to add --depth=1
when fetching so it fetched every tag ever instead of just the one this is now fixed on the latest git commit.
# Fetch only the specific tag
"$GIT" fetch --depth=1 origin tag "$VERSION"
is how it looks now.
I have also added a convenience function before the install so if you are using a freshly installed/downloaded debian 12 UTM gallery image you do not have to add any no password line on your sudoers file, it will automatically add this if using the UTM image.
Do please check if everything works, should be the latest github commit.
Just to answer this question Patrick is that my script is in NO WAY a replacement for the derivate-maker script. This is just a simplified user script for lazy people like me who do not wanna type in a bunch of commands and install dependencies all the time when building for whonix for mac m1. So it is what is it is. A user script to do the build process fast and simple without a lot of configurations.
For anyone who are a developers i also recommend doing this process manually and not use my script. But if you are lazy and just want this to work. Then i do not see a reason for not having this user script available for others if they wish to use this.
I believe in making whonix available to as many people as possible, not just devs who understand all of this. And hopefully at least as a temporary solution until something more permanent is made for the mac m1. I hope that this will help a bit on that part. I wish i could help more on the main project, but idk what i could do.