diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7836f965bf..73ae164dd0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,8 +56,8 @@ jobs: run: | shopt -s nullglob (cd "CloverPackage/CloverV2/EFI/CLOVER/" && zip -q "CLOVERX64.efi.zip" "CLOVERX64.efi" || exit 1) - (cd "CloverPackage/sym/CloverISO-${{ env.CUR_TAG }}" && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1) - releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover_r*.pkg) + (cd CloverPackage/sym/CloverISO-*/ && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1) + releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover*.pkg) for releaseItem in "${releaseItems[@]}"; do cp -Rf "${releaseItem}" ./ || exit 1; done - name: Rename Release Assets with Commit SHA @@ -76,7 +76,7 @@ jobs: base="${f%.zip}" mv -v "$f" "${base}-${{ env.GIT_SHA }}.zip" done - for f in Clover_r*.pkg; do + for f in Clover*.pkg; do base="${f%.pkg}" mv -v "$f" "${base}-${{ env.GIT_SHA }}.pkg" done @@ -89,13 +89,13 @@ jobs: *.7z CloverV2*.zip CLOVERX64.efi*.zip - Clover_r*.pkg + Clover*.pkg - name: Verify Release Assets run: | shopt -s nullglob missing=() - for pattern in '*.7z' 'CloverV2*.zip' 'CLOVERX64.efi*.zip' 'Clover_r*.pkg'; do + for pattern in '*.7z' 'CloverV2*.zip' 'CLOVERX64.efi*.zip' 'Clover*.pkg'; do files=($pattern) if [ ${#files[@]} -eq 0 ]; then missing+=("$pattern"); fi done @@ -112,7 +112,7 @@ jobs: *.7z CloverV2*.zip CLOVERX64.efi*.zip - Clover_r*.pkg + Clover*.pkg generate_release_notes: true prerelease: ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') }} @@ -129,7 +129,7 @@ jobs: *.7z CloverV2*.zip CLOVERX64.efi*.zip - Clover_r*.pkg + Clover*.pkg generate_release_notes: false prerelease: true make_latest: false @@ -145,7 +145,7 @@ jobs: fi shopt -s nullglob - current=(*.7z CloverV2*.zip CLOVERX64.efi*.zip Clover_r*.pkg) + current=(*.7z CloverV2*.zip CLOVERX64.efi*.zip Clover*.pkg) gh release view Clover-Build-Alpha --json assets --jq '.assets[].name' | while IFS= read -r asset; do keep=false diff --git a/CloverPackage/makeV2 b/CloverPackage/makeV2 index c3c2e9dd24..f559b5c8e8 100755 --- a/CloverPackage/makeV2 +++ b/CloverPackage/makeV2 @@ -7,13 +7,25 @@ cd "$(dirname $([ -L $0 ] && readlink $0 || echo $0))" ROOT="$PWD" SYMROOT="${ROOT}"/sym mkdir -p "$SYMROOT" + REVISION=$(git describe --tags "$(git rev-list --tags --max-count=1)") +# Keep the traditional "r" prefix for numeric tags only. +# Non-numeric tags are used exactly as they are. +if [[ "$REVISION" =~ ^[0-9]+$ ]]; then + REVISION="r${REVISION}" +fi + +REVISION_SUFFIX="${REVISION#Clover}" +REVISION_SUFFIX="${REVISION_SUFFIX#[-_]}" + # Remove previous revision zip rm -rf $SYMROOT/CloverV2-*.zip + # zip CloverV2, excluding all .empty and all .DS_Store -zip -qr CloverV2-${REVISION}.zip CloverV2 -x "*/.DS_Store" "*/.empty" -mv CloverV2-${REVISION}.zip $SYMROOT +zip -qr CloverV2-${REVISION_SUFFIX}.zip CloverV2 -x "*/.DS_Store" "*/.empty" + +mv CloverV2-${REVISION_SUFFIX}.zip $SYMROOT open "$SYMROOT" diff --git a/CloverPackage/makeiso b/CloverPackage/makeiso index 53783cb8ea..ed1af4fdc9 100755 --- a/CloverPackage/makeiso +++ b/CloverPackage/makeiso @@ -25,7 +25,17 @@ EFIROOT=${SRCROOT}/CloverV2/EFI BASETOOLS_DIR=${SRCROOT}/../BaseTools/Source/C/bin REVISION=$(git describe --tags $(git rev-list --tags --max-count=1)) -PRODUCT=Clover-${REVISION} + +# Keep the traditional "r" prefix for numeric tags only. +# Non-numeric tags are used exactly as they are. +if [[ "$REVISION" =~ ^[0-9]+$ ]]; then + REVISION="r${REVISION}" +fi + +REVISION_SUFFIX="${REVISION#Clover}" +REVISION_SUFFIX="${REVISION_SUFFIX#[-_]}" + +PRODUCT=Clover-${REVISION_SUFFIX} CDLABEL=${PRODUCT}-X64 ISOIMAGE=${SYMROOT}/${CDLABEL}.iso @@ -146,17 +156,20 @@ cp -f ${CLOVERROOT}/BootSectors/boot1f32 ${IMGROOT}/usr/standalone/i386 cp -f ${CLOVERROOT}/BootSectors/boot1f32alt ${IMGROOT}/usr/standalone/i386 cp -f ${CLOVERROOT}/BootSectors/boot1x ${IMGROOT}/usr/standalone/i386 cp -f ${CLOVERROOT}/BootSectors/boot1xalt ${IMGROOT}/usr/standalone/i386 + # #ifdef CONFIG_FDISK440 # cp -f ${CLOVERROOT}/BootSectors/fdisk440 ${IMGROOT}/usr/bin # #endif + rm -rf ${IMGROOT}/.s* rm -rf ${IMGROOT}/*/.s* rm -rf ${IMGROOT}/*/*/.s* rm -rf ${IMGROOT}/*/*/*/.s* rm -rf ${IMGROOT}/*/*/*/*/.s* find "${IMGROOT}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null + echo "[HDIUTIL] ${ISOIMAGE}" -mkdir -p ${SYMROOT}/CloverISO-${REVISION} +mkdir -p ${SYMROOT}/CloverISO-${REVISION_SUFFIX} if [[ "$SYSNAME" == Linux ]]; then genisoimage -J -hfs -hfs-volid ${CDLABEL} -D -b usr/standalone/i386/cdboot -no-emul-boot -quiet -o "${ISOIMAGE}" ${IMGROOT} @@ -165,17 +178,21 @@ hdiutil makehybrid -iso -joliet -hfs -hfs-volume-name ${CDLABEL} \ -eltorito-boot ${CDBOOT} -no-emul-boot -ov -o "${ISOIMAGE}" \ ${IMGROOT} -quiet fi -mv -f ${ISOIMAGE} ${SYMROOT}/CloverISO-${REVISION}/ -echo "[TAR] CloverISO-${REVISION}" -tar -cv -f ${SYMROOT}/CloverISO-${REVISION}.tar -C ${SYMROOT}/CloverISO-${REVISION} . -echo "[LZMA] CloverISO-${REVISION}" + +mv -f ${ISOIMAGE} ${SYMROOT}/CloverISO-${REVISION_SUFFIX}/ + +echo "[TAR] CloverISO-${REVISION_SUFFIX}" +tar -cv -f ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar -C ${SYMROOT}/CloverISO-${REVISION_SUFFIX} . + +echo "[LZMA] CloverISO-${REVISION_SUFFIX}" if [[ "$SYSNAME" == Linux ]]; then -xz -f -S .lzma ${SYMROOT}/CloverISO-${REVISION}.tar +xz -f -S .lzma ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar else -"$BASETOOLS_DIR"/LzmaCompress -e -o ${SYMROOT}/CloverISO-${REVISION}.tar.lzma ${SYMROOT}/CloverISO-${REVISION}.tar +"$BASETOOLS_DIR"/LzmaCompress -e -o ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar.lzma ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar fi -rm -rf ${SYMROOT}/CloverISO-${REVISION}.tar + +rm -rf ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar # Open the final folder. if [[ "${1:-}" == "" ]]; then @@ -183,4 +200,4 @@ if [[ "${1:-}" == "" ]]; then [[ "$SYSNAME" != Linux ]] && open sym fi -exit 0 +exit 0 \ No newline at end of file diff --git a/CloverPackage/makepkg b/CloverPackage/makepkg index 0470365205..a5df1dafc7 100755 --- a/CloverPackage/makepkg +++ b/CloverPackage/makepkg @@ -29,23 +29,30 @@ echo } while [[ $# -gt 0 ]]; do - case "${1}" in - --nothemes ) NOEXTRAS+=" --nothemes";; - # --noprefpane ) NOEXTRAS+=" --noprefpane";; - --norc ) NOEXTRAS+=" --norc";; - --nolegacy ) NOEXTRAS+=" --nolegacy";; - * ) printf "\e[1m%s\e[0m\n" "Invalid option: ${1} !"; usage; exit 1;; - esac - shift + case "${1}" in + --nothemes ) NOEXTRAS+=" --nothemes";; + # --noprefpane ) NOEXTRAS+=" --noprefpane";; + --norc ) NOEXTRAS+=" --norc";; + --nolegacy ) NOEXTRAS+=" --nolegacy";; + * ) printf "\e[1m%s\e[0m\n" "Invalid option: ${1} !"; usage; exit 1;; + esac + shift done # Workspace = edk2/Clover/CloverPackage # Go to the script directory to create the package -cd "$(dirname $0)" +cd "$(dirname "$0")" +# Get the latest Git tag. revision=$(git describe --tags $(git rev-list --tags --max-count=1)) +# Keep the traditional "r" prefix for numeric tags only. +# Non-numeric tags are used exactly as they are. +if [[ "$revision" =~ ^[0-9]+$ ]]; then + revision="r${revision}" +fi + SRCROOT="${PWD}" SYMROOT="${SRCROOT}"/sym PKG_BUILD_DIR="${SYMROOT}"/package @@ -66,7 +73,7 @@ echo "${revision}" > revision # # Create a new sym directory # mkdir sym -# Make the translation +# Make the translation echo "" echo "========= Translating Resources ========" ./package/translate.sh || exit $? @@ -83,13 +90,12 @@ if [[ -n "$xcode_path" ]]; then # make -C "${SRCROOT}"/CloverPrefpane || exit $? # Make utils make -C "${SRCROOT}"/utils || exit $? -# temporary use ready-to-use binaries -# mkdir -p "${SYMROOT}"/utils -# cp -v "${SRCROOT}"/utils/binaries/* "${SYMROOT}"/utils/ + # temporary use ready-to-use binaries + # mkdir -p "${SYMROOT}"/utils + # cp -v "${SRCROOT}"/utils/binaries/* "${SYMROOT}"/utils/ fi # Start to build installer. - package/buildpkg.sh --srcroot "$SRCROOT" --symroot "sym" --builddir "$PKG_BUILD_DIR" ${NOEXTRAS:1} || exit $? #(cd sym ; zip Clover_r${revision}.zip \ @@ -97,15 +103,16 @@ package/buildpkg.sh --srcroot "$SRCROOT" --symroot "sym" --builddir "$PKG_BUILD_ # Clover_r${revision}.pkg.md5 ) # Workspace = edk2/Clover/CloverPackage/ -# Remove temp files. -rm -f version # take this to clean old sources -rm -f revision +# Remove temp files. +rm -f version +rm -f revision # Workspace = edk2/Clover/CloverPackage + # Open the final folder. ls -la sym open sym -# Finish building installer. +# Finish building installer. exit 0 diff --git a/CloverPackage/package/Distribution b/CloverPackage/package/Distribution index e279da7316..1b177b71b3 100644 --- a/CloverPackage/package/Distribution +++ b/CloverPackage/package/Distribution @@ -12,7 +12,7 @@ - Clover r%CLOVERREVISION% EFI bootloader + Clover %CLOVERREVISION% EFI bootloader