mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 11:14:25 +00:00
97 lines
3.2 KiB
Bash
97 lines
3.2 KiB
Bash
#!/usr/bin/env bash
|
|
AARU_VERSION=6.0.0-alpha9
|
|
OS_NAME=$(uname)
|
|
|
|
mkdir -p build
|
|
|
|
# Create standalone versions
|
|
cd Aaru
|
|
for conf in Debug Release;
|
|
do
|
|
for distro in alpine-arm64 alpine-arm alpine-x64 linux-arm64 linux-arm linux-x64 osx-arm64 osx-x64 win-arm64 win-arm win-x64 win-x86 debian-arm debian-arm64 debian-x64 rhel-arm64 rhel-x64 sles-x64;
|
|
do
|
|
dotnet publish -f net7.0 -r ${distro} -c ${conf}
|
|
|
|
# Package the Linux packages (stopped working)
|
|
# if [[ ${distro} == alpine* ]] || [[ ${distro} == linux* ]]; then
|
|
# pkg="tarball"
|
|
# elif [[ ${distro} == win* ]] || [[ ${distro} == osx* ]]; then
|
|
# pkg="zip"
|
|
# elif [[ ${distro} == rhel* ]] || [[ ${distro} == sles* ]]; then
|
|
# pkg="rpm"
|
|
# else
|
|
# pkg="deb"
|
|
# fi
|
|
# dotnet ${pkg} -f net7.0 -r ${distro} -c ${conf} -o ../build
|
|
#
|
|
|
|
# Package the Linux packages using MSBuild
|
|
if [[ ${distro} == alpine* ]] || [[ ${distro} == linux* ]]; then
|
|
task="CreateTarball"
|
|
extension="tar.gz"
|
|
elif [[ ${distro} == win* ]] || [[ ${distro} == osx* ]]; then
|
|
task="CreateZip"
|
|
extension="zip"
|
|
elif [[ ${distro} == rhel* ]] || [[ ${distro} == sles* ]]; then
|
|
task="CreateRpm"
|
|
extension="rpm"
|
|
else
|
|
task="CreateDeb"
|
|
extension="deb"
|
|
fi
|
|
|
|
dotnet msbuild Aaru.csproj /t:${task} /p:TargetFramework=net7.0 /p:RuntimeIdentifier=${distro} /p:Configuration=${conf}
|
|
mv bin/${conf}/net7.0/${distro}/*.${extension} ../build
|
|
|
|
done
|
|
done
|
|
|
|
cd ..
|
|
|
|
# If we are compiling on Linux check if we are on Arch Linux and then create the Arch Linux package as well
|
|
if [[ ${OS_NAME} == Linux ]]; then
|
|
OS_RELEASE=$(pcregrep -o1 -e "^ID=(?<distro_id>\w+)" /etc/os-release)
|
|
|
|
if [[ ${OS_RELEASE} != arch ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
tar --exclude-vcs --exclude="*/bin" --exclude="*/obj" --exclude="build" --exclude="pkg/pacman/*/*.tar.xz" \
|
|
--exclude="pkg/pacman/*/src" --exclude="pkg/pacman/*/pkg" --exclude="pkg/pacman/*/*.tar" \
|
|
--exclude="pkg/pacman/*/*.asc" --exclude="*.user" --exclude=".idea" --exclude=".vs" --exclude=".vscode" \
|
|
--exclude="build.iso" --exclude=".DS_Store" -cvf pkg/pacman/stable/aaru-src-${AARU_VERSION}.tar .
|
|
cd pkg/pacman/stable
|
|
xz -v9e aaru-src-${AARU_VERSION}.tar
|
|
gpg --armor --detach-sign aaru-src-${AARU_VERSION}.tar.xz
|
|
cp PKGBUILD PKGBUILD.bak
|
|
echo -e \\n >> PKGBUILD
|
|
makepkg -g >> PKGBUILD
|
|
makepkg
|
|
mv PKGBUILD.bak PKGBUILD
|
|
mv aaru-src-${AARU_VERSION}.tar.xz aaru-src-${AARU_VERSION}.tar.xz.asc ../../../build
|
|
cd ../../..
|
|
|
|
fi
|
|
|
|
mv pkg/pacman/stable/*.pkg.tar.zst build/
|
|
|
|
cd build
|
|
for i in *.deb *.rpm *.zip *.tar.gz *.pkg.tar.zst;
|
|
do
|
|
gpg --armor --detach-sign "$i"
|
|
done
|
|
|
|
cd ..
|
|
rm -Rf build/macos/Aaru.app
|
|
mkdir -p build/macos/Aaru.app/Contents/Resources
|
|
mkdir -p build/macos/Aaru.app/Contents/MacOS
|
|
cp Aaru/Aaru.icns build/macos/Aaru.app/Contents/Resources
|
|
cp Aaru/Info.plist build/macos/Aaru.app/Contents
|
|
cp -r Aaru/bin/Release/net7.0/osx-x64/publish/* build/macos/Aaru.app/Contents/MacOS
|
|
rm -Rf build/macos-dbg/Aaru.app
|
|
mkdir -p build/macos-dbg/Aaru.app/Contents/Resources
|
|
mkdir -p build/macos-dbg/Aaru.app/Contents/MacOS
|
|
cp Aaru/Aaru.icns build/macos-dbg/Aaru.app/Contents/Resources
|
|
cp Aaru/Info.plist build/macos-dbg/Aaru.app/Contents
|
|
cp -r Aaru/bin/Debug/net7.0/osx-x64/publish/* build/macos-dbg/Aaru.app/Contents/MacOS
|