OpenRA / ra2

A Red Alert 2 mod for the OpenRA game engine
GNU General Public License v3.0
972 stars 161 forks source link

Overhauled the packaging #667

Closed Mailaender closed 4 years ago

Mailaender commented 4 years ago

Followup of https://github.com/OpenRA/ra2/pull/663 which incorporates fixes from https://github.com/OpenRA/OpenRAModSDK/pull/144/ and https://github.com/OpenRA/OpenRAModSDK/pull/146. It also turned out Unix scripts weren't executable and the Makefile was in DOS format.

abcdefg30 commented 4 years ago

Imho we should just remove the packaging stuff. We don't need it anyway and can readd it later.

Mailaender commented 4 years ago

It isn't very polite to make such a suggestion on a pull request where someone took the effort and merged in those changes by hand. Also https://aur.archlinux.org/packages/openra-ra2-git/ already depends on it plus this is handy to play with friends as the game is essentially playable.

sorcerer86pt commented 4 years ago

Okay, how to test this one?

Mailaender commented 4 years ago

Run make check-packaging-scripts && ./packaging/package-all.sh test-0 on Linux/Mac.

sorcerer86pt commented 4 years ago

ok, i can only check this on Linux. Someone else should do this on Mac

sorcerer86pt commented 4 years ago

windows powershell:

HEAD is now at 0cf32ee Fix Windows packaging.
PS G:\ra2> ./make.ps1 clean
Exception calling "OpenText" with "1" argument(s): "Não foi possível localizar o ficheiro 'C:\mod.config'."
At G:\ra2\make.ps1:228 char:2
+     $reader = [System.IO.File]::OpenText($fileName)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : FileNotFoundException

You cannot call a method on a null-valued expression.
At G:\ra2\make.ps1:229 char:19
+     while($null -ne ($line = $reader.ReadLine()))
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Required mod.config variables are missing:
   MOD_ID
   ENGINE_VERSION
   AUTOMATIC_ENGINE_MANAGEMENT
   AUTOMATIC_ENGINE_SOURCE
   AUTOMATIC_ENGINE_EXTRACT_DIRECTORY
   AUTOMATIC_ENGINE_TEMP_ARCHIVE_NAME
   ENGINE_DIRECTORY
Repair your mod.config (or user.config) and try again.
Press enter to continue.
PS G:\ra2>
Mailaender commented 4 years ago

Those do exist in mod.config. Looks like it can't read them. Try downloading https://waterlan.home.xs4all.nl/dos2unix.html and type unix2dos mod.config in cmd.exe. Maybe that helps.

sorcerer86pt commented 4 years ago

output generated:

fabio@fabio-VirtualBox:~/ra2$ make check-packaging-scripts && ./packaging/package-all.sh test-0
Building Windows package
Mod version {DEV_VERSION} will remain unchanged.
Building core files (x86)
Fetching ICSharpCode.SharpZipLib from NuGet
Fetching MaxMind.Db from NuGet
Fetching NUnit from NuGet
Fetching NUnit.Console from NuGet
Fetching Open.Nat from NuGet
Fetching FuzzyLogicLibrary from NuGet.
Fetching SDL2-CS from GitHub.
Fetching OpenAL-CS from GitHub.
Fetching Eluant from GitHub.
Fetching rix0rrr.BeaconLib from NuGet.
  Restore completed in 478,92 ms for /home/fabio/ra2/engine/OpenRA.Test/OpenRA.Test.csproj.
  Restore completed in 4,14 ms for /home/fabio/ra2/engine/OpenRA.Server/OpenRA.Server.csproj.
  Restore completed in 3,65 ms for /home/fabio/ra2/engine/OpenRA.Utility/OpenRA.Utility.csproj.
  Restore completed in 2,74 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 3,78 ms for /home/fabio/ra2/engine/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj.
  Restore completed in 4,66 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  Restore completed in 3,71 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  Restore completed in 5,29 ms for /home/fabio/ra2/engine/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj.
  Restore completed in 3,6 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
Fetching SDL2 from libsdl.org
Archive:  SDL2-2.0.5-win32-x86.zip
  inflating: SDL2.dll                
Fetching FreeType2 from NuGet
Fetching Lua 5.1 from NuGet
Fetching OpenAL Soft from NuGet
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Game.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Utility -> /home/fabio/ra2/engine/OpenRA.Utility.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Utility.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Server -> /home/fabio/ra2/engine/OpenRA.Server.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Server.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.D2k -> /home/fabio/ra2/engine/mods/d2k/OpenRA.Mods.D2k.dll
  OpenRA.Platforms.Default -> /home/fabio/ra2/engine/OpenRA.Platforms.Default.dll
  OpenRA.Test -> /home/fabio/ra2/engine/OpenRA.Test.dll
Installing OpenRA engine to /home/fabio/ra2/packaging/windows/build
Installing OpenRA common mod files to /home/fabio/ra2/packaging/windows/build
Building mod files (x86)
  Restore completed in 99,36 ms for /home/fabio/ra2/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj.
  Restore completed in 1,17 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  Restore completed in 1,96 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
  Restore completed in 1,63 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 1,23 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Game.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
Compiling Windows launcher (x86)
Building Windows setup.exe (x86)
Packaging zip archive (x86)
Building core files (x64)
Fetching ICSharpCode.SharpZipLib from NuGet
Fetching MaxMind.Db from NuGet
Fetching NUnit from NuGet
Fetching NUnit.Console from NuGet
Fetching Open.Nat from NuGet
Fetching FuzzyLogicLibrary from NuGet.
Fetching SDL2-CS from GitHub.
Fetching OpenAL-CS from GitHub.
Fetching Eluant from GitHub.
Fetching rix0rrr.BeaconLib from NuGet.
  Restore completed in 487,07 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  Restore completed in 4,01 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  Restore completed in 10,49 ms for /home/fabio/ra2/engine/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj.
  Restore completed in 4 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
  Restore completed in 6,97 ms for /home/fabio/ra2/engine/OpenRA.Test/OpenRA.Test.csproj.
  Restore completed in 3,64 ms for /home/fabio/ra2/engine/OpenRA.Server/OpenRA.Server.csproj.
  Restore completed in 3,47 ms for /home/fabio/ra2/engine/OpenRA.Utility/OpenRA.Utility.csproj.
  Restore completed in 2,42 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 3,76 ms for /home/fabio/ra2/engine/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj.
Fetching SDL2 from libsdl.org
Archive:  SDL2-2.0.5-win32-x64.zip
  inflating: SDL2.dll                
Fetching FreeType2 from NuGet
Fetching Lua 5.1 from NuGet
Fetching OpenAL Soft from NuGet
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Game.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Utility -> /home/fabio/ra2/engine/OpenRA.Utility.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Utility.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Server -> /home/fabio/ra2/engine/OpenRA.Server.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Server.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.D2k -> /home/fabio/ra2/engine/mods/d2k/OpenRA.Mods.D2k.dll
  OpenRA.Platforms.Default -> /home/fabio/ra2/engine/OpenRA.Platforms.Default.dll
  OpenRA.Test -> /home/fabio/ra2/engine/OpenRA.Test.dll
Installing OpenRA engine to /home/fabio/ra2/packaging/windows/build
Installing OpenRA common mod files to /home/fabio/ra2/packaging/windows/build
Building mod files (x64)
  Restore completed in 97,82 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
  Restore completed in 2,39 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  Restore completed in 2,24 ms for /home/fabio/ra2/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj.
  Restore completed in 0,65 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 0,62 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
Compiling Windows launcher (x64)
Building Windows setup.exe (x64)
Packaging zip archive (x64)
Building Linux AppImage package
Building core files
Mod version {DEV_VERSION} will remain unchanged.
Fetching ICSharpCode.SharpZipLib from NuGet
Fetching MaxMind.Db from NuGet
Fetching NUnit from NuGet
Fetching NUnit.Console from NuGet
Fetching Open.Nat from NuGet
Fetching FuzzyLogicLibrary from NuGet.
Fetching SDL2-CS from GitHub.
Fetching OpenAL-CS from GitHub.
Fetching Eluant from GitHub.
Fetching rix0rrr.BeaconLib from NuGet.
  Restore completed in 490,96 ms for /home/fabio/ra2/engine/OpenRA.Test/OpenRA.Test.csproj.
  Restore completed in 5,32 ms for /home/fabio/ra2/engine/OpenRA.Server/OpenRA.Server.csproj.
  Restore completed in 5,43 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  Restore completed in 3,3 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  Restore completed in 5,18 ms for /home/fabio/ra2/engine/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj.
  Restore completed in 5,74 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
  Restore completed in 14,43 ms for /home/fabio/ra2/engine/OpenRA.Utility/OpenRA.Utility.csproj.
  Restore completed in 2,72 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 4,59 ms for /home/fabio/ra2/engine/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj.
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Game.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Utility -> /home/fabio/ra2/engine/OpenRA.Utility.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Utility.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Server -> /home/fabio/ra2/engine/OpenRA.Server.exe
  Post-processing /home/fabio/ra2/engine/OpenRA.Server.exe
   - Enabling /LARGEADDRESSAWARE
  OpenRA.Mods.D2k -> /home/fabio/ra2/engine/mods/d2k/OpenRA.Mods.D2k.dll
  OpenRA.Platforms.Default -> /home/fabio/ra2/engine/OpenRA.Platforms.Default.dll
  OpenRA.Test -> /home/fabio/ra2/engine/OpenRA.Test.dll
Installing OpenRA engine to /home/fabio/ra2/packaging/linux/RA2Mod.appdir/usr/lib/openra
Installing OpenRA common mod files to /home/fabio/ra2/packaging/linux/RA2Mod.appdir/usr/lib/openra
Building mod files
  Restore completed in 111,14 ms for /home/fabio/ra2/engine/OpenRA.Game/OpenRA.Game.csproj.
  Restore completed in 0,83 ms for /home/fabio/ra2/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
  Restore completed in 1,16 ms for /home/fabio/ra2/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
  Restore completed in 1,46 ms for /home/fabio/ra2/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
  Restore completed in 1,45 ms for /home/fabio/ra2/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj.
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
  OpenRA.PostProcess -> /home/fabio/ra2/engine/OpenRA.PostProcess.exe
  OpenRA.Game -> /home/fabio/ra2/engine/OpenRA.Game.exe
  OpenRA.Mods.Common -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Common.dll
  OpenRA.Mods.Cnc -> /home/fabio/ra2/engine/mods/common/OpenRA.Mods.Cnc.dll
  OpenRA.Mods.RA2 -> /home/fabio/ra2/mods/ra2/OpenRA.Mods.RA2.dll
Downloading dependencies
Building AppImage
squashfs-root/.DirIcon
squashfs-root/AppRun
squashfs-root/appimagetool.desktop
squashfs-root/appimagetool.png
squashfs-root/usr
squashfs-root/usr/bin
squashfs-root/usr/bin/AppRun
squashfs-root/usr/bin/appimagetool
squashfs-root/usr/bin/desktop-file-validate
squashfs-root/usr/bin/zsyncmake
squashfs-root/usr/lib
squashfs-root/usr/lib/appimagekit
squashfs-root/usr/lib/appimagekit/mksquashfs
squashfs-root/usr/lib/libffi.so.5
squashfs-root/usr/lib/libgio-2.0.so
squashfs-root/usr/lib/libgio-2.0.so.0
squashfs-root/usr/lib/libgio-2.0.so.0.5600.0
squashfs-root/usr/lib/libglib-2.0.so
squashfs-root/usr/lib/libglib-2.0.so.0
squashfs-root/usr/lib/libglib-2.0.so.0.5600.0
squashfs-root/usr/lib/libgmodule-2.0.so
squashfs-root/usr/lib/libgmodule-2.0.so.0
squashfs-root/usr/lib/libgmodule-2.0.so.0.5600.0
squashfs-root/usr/lib/libgobject-2.0.so
squashfs-root/usr/lib/libgobject-2.0.so.0
squashfs-root/usr/lib/libgobject-2.0.so.0.5600.0
squashfs-root/usr/lib/libgthread-2.0.so
squashfs-root/usr/lib/libgthread-2.0.so.0
squashfs-root/usr/lib/libgthread-2.0.so.0.5600.0
squashfs-root/usr/lib/libpcre.so
squashfs-root/usr/lib/libpcre.so.1
squashfs-root/usr/lib/libpcre.so.1.2.11
squashfs-root/usr/lib/libpcrecpp.so
squashfs-root/usr/lib/libpcrecpp.so.0
squashfs-root/usr/lib/libpcrecpp.so.0.0.1
squashfs-root/usr/lib/libpcreposix.so
squashfs-root/usr/lib/libpcreposix.so.0
squashfs-root/usr/lib/libpcreposix.so.0.0.6
squashfs-root/usr/share
squashfs-root/usr/share/applications
squashfs-root/usr/share/applications/appimagetool.desktop
squashfs-root/usr/share/icons
squashfs-root/usr/share/icons/hicolor
squashfs-root/usr/share/icons/hicolor/128x128
squashfs-root/usr/share/icons/hicolor/128x128/apps
squashfs-root/usr/share/icons/hicolor/128x128/apps/appimagetool.png
squashfs-root/usr/share/metainfo
squashfs-root/usr/share/metainfo/appimagetool.appdata.xml
appimagetool, continuous build (commit 7392c48), build 2120 built on 2020-03-10 18:42:43 UTC
Using architecture x86_64
/home/fabio/ra2/packaging/linux/RA2Mod.appdir should be packaged as /home/fabio/ra2/RA2Mod-test-0-x86_64.AppImage
Deleting pre-existing .DirIcon
Creating .DirIcon symlink based on information from desktop file
WARNING: AppStream upstream metadata is missing, please consider creating it
         in usr/share/metainfo/openra-ra2.appdata.xml
         Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
         for more information or use the generator at http://output.jsbin.com/qoqukof.
Generating squashfs...
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on /home/fabio/ra2/RA2Mod-test-0-x86_64.AppImage, block size 131072.
[===========================================================================================================================================================================================|] 671/671 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
    compressed data, compressed metadata, compressed fragments,
    compressed xattrs, compressed ids
    duplicates are removed
Filesystem size 19236.76 Kbytes (18.79 Mbytes)
    36.65% of uncompressed filesystem size (52489.59 Kbytes)
Inode table size 4946 bytes (4.83 Kbytes)
    34.00% of uncompressed inode table size (14546 bytes)
Directory table size 4039 bytes (3.94 Kbytes)
    43.70% of uncompressed directory table size (9242 bytes)
Number of duplicate files found 13
Number of inodes 405
Number of files 322
Number of fragments 54
Number of symbolic links  1
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 82
Number of ids (unique uids + gids) 1
Number of uids 1
    root (0)
Number of gids 1
    root (0)
Embedding ELF...
Marking the AppImage as executable...
Embedding MD5 digest
Success

Please consider submitting your AppImage to AppImageHub, the crowd-sourced
central directory of available AppImages, by opening a pull request
at https://github.com/AppImage/appimage.github.io
macOS packaging requires a macOS host.
Package build done.
sorcerer86pt commented 4 years ago

Also have the following files created:

        RA2Mod-test-0-x64-winportable.zip
    RA2Mod-test-0-x86-winportable.zip
    RA2Mod-test-0-x86_64.AppImage
    packages-microsoft-prod.deb
    packaging/linux/etc/
    packaging/linux/usr/