diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..23a01c5 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,39 @@ +name: Build Wubi + +on: + workflow_dispatch: + inputs: + packages: + description: "URLs to additional packages to be included" + required: false + +jobs: + Build-Wubi-2004: + runs-on: ubuntu-latest + + steps: + - name: Install dependencies + run: | + sudo dpkg --add-architecture i386 + sudo apt update + sudo apt install -y git make gettext unzip wget wine32:i386 + + - name: Checkout + uses: actions/checkout@v3.6.0 + + - name: Get additional packages + run: | + if [ -n "${{ github.event.inputs.packages }}" ]; then + wget -P ${{ github.workspace }}/data/custom-installation/packages ${{ github.event.inputs.packages }} + fi + + - name: Build + run: | + cd ${{ github.workspace }} + make + + - name: Upload a Build Artifact + uses: actions/upload-artifact@v3.1.2 + with: + name: wubi20046r344.exe + path: ${{ github.workspace }}/build/wubi.exe diff --git a/data/images/Wubi zstd.ico b/data/images/Wubi zstd.ico new file mode 100644 index 0000000..da45d8e Binary files /dev/null and b/data/images/Wubi zstd.ico differ diff --git a/data/isolist.ini b/data/isolist.ini index 081d1b2..b9b456f 100644 --- a/data/isolist.ini +++ b/data/isolist.ini @@ -16,118 +16,56 @@ support=http://www.ubuntu.com/support installation_dir=ubuntu #NOTE: installation_dir must also be changed in data/wubildr.cfg -[Ubuntu-i386] -max_iso_size=1700000000 -arch=i386 -name=Ubuntu -packages=ubuntu-desktop -metalink=http://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/focal/daily-live/pending/focal-desktop-i386.list -website=http://www.ubuntu.com -ordering=1 - [Ubuntu-amd64] max_iso_size=1700000000 arch=amd64 name=Ubuntu packages=ubuntu-desktop -metalink=http://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://releases.ubuntu.com/20.04.6/ubuntu-20.04.6-desktop-amd64.list +metalink2= website=http://www.ubuntu.com ordering=1 -[Kubuntu-i386] -max_iso_size=1800000000 -arch=i386 -name=Kubuntu -packages=kubuntu-desktop -metalink=http://cdimage.ubuntu.com/kubuntu/releases/20.04.4/release/kubuntu-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/kubuntu/focal/daily-live/pending/focal-desktop-i386.list -website=http://www.kubuntu.org -ordering=3 - [Kubuntu-amd64] max_iso_size=1800000000 arch=amd64 name=Kubuntu packages=kubuntu-desktop -metalink=http://cdimage.ubuntu.com/kubuntu/releases/20.04.4/release/kubuntu-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/kubuntu/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/kubuntu/releases/20.04.6/release/kubuntu-20.04.6-desktop-amd64.list +metalink2= website=http://www.kubuntu.org ordering=3 -[Xubuntu-i386] -max_iso_size=1300000000 -arch=i386 -name=Xubuntu -packages=xubuntu-desktop -metalink=http://cdimage.ubuntu.com/xubuntu/releases/20.04.4/release/xubuntu-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/xubuntu/focal/daily-live/pending/focal-desktop-i386.list -website=http://www.xubuntu.org -ordering=4 - [Xubuntu-amd64] max_iso_size=1300000000 arch=amd64 name=Xubuntu packages=xubuntu-desktop -metalink=http://cdimage.ubuntu.com/xubuntu/releases/20.04.4/release/xubuntu-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/xubuntu/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/xubuntu/releases/20.04.6/release/xubuntu-20.04.6-desktop-amd64.list +metalink2= website=http://www.xubuntu.org ordering=4 -[Ubuntu Budgie-i386] -max_iso_size=1500000000 -arch=i386 -name=Ubuntu Budgie -packages=budgie-desktop -metalink=http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04.4/release/ubuntu-budgie-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/ubuntu-budgie/focal/daily-live/pending/focal-desktop-i386.list -website=http://ubuntubudgie.org -ordering=5 - [Ubuntu Budgie-amd64] max_iso_size=1500000000 arch=amd64 name=Ubuntu Budgie packages=budgie-desktop -metalink=http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04.4/release/ubuntu-budgie-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/ubuntu-budgie/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/ubuntu-budgie/releases/20.04.6/release/ubuntu-budgie-20.04.6-desktop-amd64.list +metalink2= website=http://ubuntubudgie.org ordering=5 -[Lubuntu-i386] -max_iso_size=1000000000 -arch=i386 -name=Lubuntu -packages=lubuntu-desktop -metalink=http://cdimage.ubuntu.com/lubuntu/releases/20.04.4/release/lubuntu-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/lubuntu/focal/daily-live/pending/focal-desktop-i386.list -website=http://lubuntu.net -ordering=7 - [Lubuntu-amd64] max_iso_size=1000000000 arch=amd64 name=Lubuntu packages=lubuntu-desktop -metalink=http://cdimage.ubuntu.com/lubuntu/releases/20.04.4/release/lubuntu-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/lubuntu/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/lubuntu/releases/20.04.5/release/lubuntu-20.04.5-desktop-amd64.list +metalink2= website=http://lubuntu.net ordering=7 -[Ubuntu Studio-i386] -max_iso_size=2800000000 -min_disk_space_mb=10000 -min_memory_mb=512 -arch=i386 -name=Ubuntu Studio -packages=ubuntustudio-desktop -metalink=http://cdimage.ubuntu.com/ubuntustudio/releases/20.04.4/release/ubuntustudio-20.04.4-dvd-i386.list -metalink2=http://cdimage.ubuntu.com/ubuntustudio/focal/dvd/pending/focal-dvd-i386.list -website=http://ubuntustudio.org -ordering=8 - [Ubuntu Studio-amd64] max_iso_size=2800000000 min_disk_space_mb=10000 @@ -135,48 +73,28 @@ min_memory_mb=512 arch=amd64 name=Ubuntu Studio packages=ubuntustudio-desktop -metalink=http://cdimage.ubuntu.com/ubuntustudio/releases/20.04.4/release/ubuntustudio-20.04.4-dvd-amd64.list -metalink2=http://cdimage.ubuntu.com/ubuntustudio/focal/dvd/pending/focal-dvd-amd64.list +metalink=http://cdimage.ubuntu.com/ubuntustudio/releases/20.04.5/release/ubuntustudio-20.04.5-dvd-amd64.list +metalink2= website=http://ubuntustudio.org ordering=8 -[Ubuntu MATE-i386] -max_iso_size=1900000000 -arch=i386 -name=Ubuntu MATE -packages=ubuntu-mate-desktop -metalink=http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.4/release/ubuntu-mate-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/ubuntu-mate/focal/daily-live/pending/focal-desktop-i386.list -website=http://ubuntu-mate.org/ -ordering=9 - [Ubuntu MATE-amd64] max_iso_size=1900000000 arch=amd64 name=Ubuntu MATE packages=ubuntu-mate-desktop -metalink=http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.4/release/ubuntu-mate-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/ubuntu-mate/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/ubuntu-mate/releases/20.04.6/release/ubuntu-mate-20.04.6-desktop-amd64.list +metalink2= website=http://ubuntu-mate.org ordering=9 -[Ubuntu Kylin-i386] -max_iso_size=1600000000 -arch=i386 -name=Ubuntu Kylin -packages=ubuntukylin-desktop -metalink=http://cdimage.ubuntu.com/ubuntukylin/releases/20.04.4/release/ubuntukylin-20.04.4-desktop-i386.list -metalink2=http://cdimage.ubuntu.com/ubuntukylin/focal/daily-live/pending/focal-desktop-i386.list -website=http://www.ubuntukylin.com -ordering=A - [Ubuntu Kylin-amd64] max_iso_size=1600000000 arch=amd64 name=Ubuntu Kylin packages=ubuntukylin-desktop -metalink=http://cdimage.ubuntu.com/ubuntukylin/releases/20.04.4/release/ubuntukylin-20.04.4-desktop-amd64.list -metalink2=http://cdimage.ubuntu.com/ubuntukylin/focal/daily-live/pending/focal-desktop-amd64.list +metalink=http://cdimage.ubuntu.com/ubuntukylin/releases/20.04.6/release/ubuntukylin-20.04.6-desktop-amd64.list +metalink2= website=http://www.ubuntukylin.com ordering=A @@ -185,7 +103,7 @@ version= arch=i386 name=Wubi packages= -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -196,7 +114,7 @@ version= arch=amd64 name=Wubi packages= -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -208,7 +126,7 @@ arch=i386 name=Wubi lz packages= initrd=casper/initrd.lz -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -220,7 +138,7 @@ arch=amd64 name=Wubi lz packages= initrd=casper/initrd.lz -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -233,7 +151,7 @@ name=Wubi EFI packages= kernel=casper/vmlinuz.efi initrd=casper/initrd.lz -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -246,7 +164,7 @@ name=Wubi EFI packages= kernel=casper/vmlinuz.efi initrd=casper/initrd.lz -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -259,7 +177,7 @@ name=Wubi MD5 packages= initrd=casper/initrd.lz md5sums=MD5SUMS -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -272,7 +190,7 @@ name=Wubi MD5 packages= initrd=casper/initrd.lz md5sums=MD5SUMS -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -284,7 +202,7 @@ arch=i386 name=Wubi gz packages= initrd=casper/initrd.gz -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -296,7 +214,7 @@ arch=amd64 name=Wubi gz packages= initrd=casper/initrd.gz -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -309,7 +227,7 @@ name=Wubi SHA256 packages= initrd=casper/initrd.lz md5sums=SHA256SUMS -metalink=20.04.4-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -322,7 +240,7 @@ name=Wubi SHA256 packages= initrd=casper/initrd.lz md5sums=SHA256SUMS -metalink=20.04.4-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi @@ -335,7 +253,7 @@ arch=i386 name=Wubi lz4 packages= initrd=casper/initrd.lz4 -metalink=20.04-desktop-i386.list +metalink=20.04.6-desktop-i386.list metalink2=focal-desktop-i386.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki @@ -347,8 +265,32 @@ arch=amd64 name=Wubi lz4 packages= initrd=casper/initrd.lz4 -metalink=20.04-desktop-amd64.list +metalink=20.04.6-desktop-amd64.list metalink2=focal-desktop-amd64.list website=https://github.com/hakuna-m/wubiuefi support=https://github.com/hakuna-m/wubiuefi/wiki ordering=a + +[Wubi zstd-i386] +version= +arch=i386 +name=Wubi zstd +packages= +initrd=casper/initrd.zstd +metalink=20.04.6-desktop-i386.list +metalink2=focal-desktop-i386.list +website=https://github.com/hakuna-m/wubiuefi +support=https://github.com/hakuna-m/wubiuefi/wiki +ordering=b + +[Wubi zstd-amd64] +version= +arch=amd64 +name=Wubi zstd +packages= +initrd=casper/initrd.zstd +metalink=20.04.6-desktop-amd64.list +metalink2=focal-desktop-amd64.list +website=https://github.com/hakuna-m/wubiuefi +support=https://github.com/hakuna-m/wubiuefi/wiki +ordering=b \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 70e2f92..66fe247 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +wubi (20.04.6r344) focal; urgency=low + + [Niktendo] + + * Bump to 20.04.5 and 20.04.6 + * Removed offical i386 editions as they are not available anymore + * Removed daily focal filelists cause they are are deprecated + * Fix metalinks for Wubi lz4-i386 and Wubi lz4-amd64 + * new desktop environment "Wubi zstd" + wubi (20.04.4r344) focal; urgency=low [Hakuna Matata] diff --git a/tools/check_winboot b/tools/check_winboot index 70ca2c1..409d861 100755 --- a/tools/check_winboot +++ b/tools/check_winboot @@ -6,19 +6,19 @@ shim_blacklist_md5="f7a57b08bc7c1c85417ae4cea582d1d4" if [ ! -e /usr/lib/grub/i386-pc/moddep.lst ]; then echo "Installing grub-pc-bin" - sudo apt-get install grub-pc-bin #TBD do not assume apt + sudo apt-get install -y grub-pc-bin #TBD do not assume apt fi if [ ! -e /usr/lib/grub/x86_64-efi/moddep.lst ]; then echo "Installing grub-efi-amd64-bin" - sudo apt-get install grub-efi-amd64-bin #TBD do not assume apt + sudo apt-get install -y grub-efi-amd64-bin #TBD do not assume apt fi if [ ! -e /usr/lib/grub/i386-efi/moddep.lst ]; then echo "Installing grub-efi-ia32-bin" - sudo apt-get install grub-efi-ia32-bin #TBD do not assume apt + sudo apt-get install -y grub-efi-ia32-bin #TBD do not assume apt fi if [ ! -e /usr/lib/shim/shim.efi.signed ] && [ ! -e /usr/lib/shim/shimx64.efi.signed ]; then echo "Installing shim-signed..." - sudo apt-get install shim-signed #TBD do not assume apt + sudo apt-get install -y shim-signed #TBD do not assume apt fi if [ -e /usr/lib/shim/shimx64.efi.signed ] && [ "$(md5sum /usr/lib/shim/shimx64.efi.signed | cut -d ' ' -f 1)" = "$shim_blacklist_md5" ] && @@ -34,11 +34,11 @@ if [ -e /usr/lib/shim/shimx64.efi.signed ] && fi if [ ! -e /usr/bin/sbsign ]; then echo "Installing sbsigntool..." - sudo apt-get install sbsigntool #TBD do not assume apt + sudo apt-get install -y sbsigntool #TBD do not assume apt fi if [ ! -e /usr/bin/openssl ];then echo "Installing openssl..." - sudo apt-get install openssl #TBD do not assume apt + sudo apt-get install -y openssl #TBD do not assume apt fi if [ ! -e .key ];then echo "generating new Secure Boot key..." diff --git a/tools/check_wine b/tools/check_wine index 3b1e3ec..6f5f9c4 100755 --- a/tools/check_wine +++ b/tools/check_wine @@ -1,26 +1,10 @@ #!/bin/sh #Required programs -python_url="https://www.python.org/ftp/python/2.7.17/python-2.7.17.msi" -python_md5="4cc27e99ad41cd3e0f2a50d9b6a34f79" -p7zip_url="https://downloads.sourceforge.net/project/sevenzip/7-Zip/4.64/7z464.exe" -p7zip_md5="d2810e3dd4b60ab05fe7c29a50921efa" -pywin_url="http://downloads.sourceforge.net/pywin32/pywin32-220.win32-py2.7.exe" -pywin_md5="59be43a3f010602ce623612ecdf34908" - -#Compiled modules -pycrypto_url="http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe" -pycrypto_md5="e7875e7f6bf0b23701bdd5ef1d8679cd" - -#2.3 modules (not needed in python 2.4+) -ctypes_url="http://downloads.sourceforge.net/ctypes/ctypes-1.0.2.win32-py2.3.exe" -ctypes_md5="9afe4b75240a8808a24df7a76b6081e3" -subprocess_url="http://effbot.org/media/downloads/subprocess-0.1-20041012.win32-py2.3.exe" -subprocess_md5="00a249ec321786b17b8bb87a4eebcaeb" - -# Unit test stuff -mock_url="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mock/mock-0.3.1.zip" -mock_md5="b9f800d9908c158b1e67149e1508571b" +python_url="https://www.python.org/ftp/python/2.7.18/python-2.7.18.msi" +python_md5="db6ad9195b3086c6b4cefb9493d738d2" +p7zip_url="https://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.msi" +p7zip_md5="9bd44a22bffe0e4e0b71b8b4cf3a80e2" # Ubuntu packages for mingw32 mingw32_url="http://archive.ubuntu.com/ubuntu/pool/universe/m/mingw32/mingw32_4.2.1.dfsg-2ubuntu1_" @@ -46,23 +30,21 @@ download(){ install_7z(){ echo "Installing 7z..." - download "$p7zip_url" "/tmp/p7zip.exe" "$p7zip_md5" - wine "/tmp/p7zip.exe" + download "$p7zip_url" "/tmp/p7zip.msi" "$p7zip_md5" + wine msiexec /i /tmp/p7zip.msi /quiet } install_wine(){ if [ ! -x /usr/bin/wine -a ! -x /usr/local/bin/wine ]; then echo "Installing wine..." - sudo apt-get install wine #TBD do not assume apt + sudo apt-get install -y wine #TBD do not assume apt fi - #echo "Creating wine folder..." - #wineprefixcreate --prefix "$WINEPREFIX" } install_mingw32(){ if [ ! -x /usr/bin/i586-mingw32msvc-gcc -a ! -x /usr/local/bin/i586-mingw32msvc-gcc ]; then echo "Installing mingw32..." - sudo apt-get install mingw32 #TBD do not assume apt + sudo apt-get install -y mingw32 #TBD do not assume apt fi if [ ! -x /usr/bin/i586-mingw32msvc-gcc -a ! -x /usr/local/bin/i586-mingw32msvc-gcc ]; then echo "Installing mingw32 via dpkg..." @@ -77,7 +59,7 @@ install_mingw32(){ install_unzip(){ if [ ! -x /usr/bin/unzip -a ! -x /usr/local/bin/unzip ]; then echo "Installing unzip..." - sudo apt-get install unzip #TBD do not assume apt + sudo apt-get install -y unzip #TBD do not assume apt fi } @@ -85,37 +67,16 @@ install_python(){ echo "Installing python..." download "$python_url" "/tmp/python.msi" "$python_md5" wine msiexec /i /tmp/python.msi /qb /ADDLOCAL=DefaultFeature /ALLUSERS=1 - # wine "/tmp/python.exe" -} - -install_pywin(){ - echo "Installing pywin..." - download "$pywin_url" "/tmp/pywin.exe" "$pywin_md5" - wine "/tmp/pywin" -} - -install_ctypes(){ - echo "Installing ctypes..." - download "$ctypes_url" "/tmp/ctypes.exe" "$ctypes_md5" - wine "/tmp/ctypes.exe" } install_mock(){ - download "$mock_url" "/tmp/mock.zip" "$mock_md5" - unzip "/tmp/mock.zip" -d "/tmp" - cp "/tmp/mock-0.3.1/mock.py" "$python_site" -} - -install_subprocess(){ - echo "Installing subprocess..." - download "$subprocess_url" "/tmp/subprocess.exe" "$subprocess_md5" - wine "/tmp/subprocess.exe" + echo "Installing mock..." + wine "$python_dir/python.exe" -m pip install mock } install_pycrypto(){ echo "Installing pycrypto..." - download "$pycrypto_url" "/tmp/pycrypto.exe" "$pycrypto_md5" - wine "/tmp/pycrypto.exe" + wine "$python_dir/python.exe" -m pip install pycryptodome } if [ ! -e "$root/wine" ]; then @@ -126,16 +87,13 @@ if [ ! -x /usr/bin/i586-mingw32msvc-gcc -a ! -x /usr/local/bin/i586-mingw32msvc- fi if [ ! -e "$python_dir/python.exe" ]; then install_python - #~ install_pywin - #~ install_subprocess - #~ install_ctypes fi if [ ! -e "$python_site/Crypto" ]; then install_pycrypto fi -if [ ! -e "$python_site/mock.py" ]; then +if [ ! -e "$python_site/Mock" ]; then install_mock fi if [ ! -e "$program_dir"*"/7-Zip/7z.exe" ]; then install_7z -fi +fi \ No newline at end of file