Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Easy release ubuntu #72

Merged
merged 23 commits into from
Feb 11, 2024

Conversation

humbertodias
Copy link
Collaborator

@humbertodias humbertodias commented Feb 9, 2024

Release ubuntu

The script easy-release-ubuntu create a portable version of paintown through packaging AppImage.

Features

  • Local
  • GitHub Action
  • AppImage

1. Local

Compile

./easy-compile-ubuntu
./release/release-ubuntu

Output

Before
	linux-vdso.so.1 (0x00007fffd30ff000)
	libasan.so.6 => /lib/x86_64-linux-gnu/libasan.so.6 (0x00007fbb0d200000)
	libSDL2-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007fbb0d060000)
	libSDL2_image-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2_image-2.0.so.0 (0x00007fbb0f1f0000)
	libSDL2_ttf-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2_ttf-2.0.so.0 (0x00007fbb0f1dd000)
	libSDL2_mixer-2.0.so.0 => /lib/x86_64-linux-gnu/libSDL2_mixer-2.0.so.0 (0x00007fbb0f1b8000)
	libSDL2_gfx-1.0.so.0 => /lib/x86_64-linux-gnu/libSDL2_gfx-1.0.so.0 (0x00007fbb0f1a3000)
After
	linux-vdso.so.1 (0x00007ffea7d7d000)
	libasan.so.6 => /lib/x86_64-linux-gnu/libasan.so.6 (0x00007fa044e00000)
	./libSDL2-2.0.so.0 (0x00007fa044c60000)
	./libSDL2_image-2.0.so.0 (0x00007fa04a18b000)
	./libSDL2_ttf-2.0.so.0 (0x00007fa04a178000)
	./libSDL2_mixer-2.0.so.0 (0x00007fa04a153000)
	./libSDL2_gfx-1.0.so.0 (0x00007fa04a13e000)
paintown: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=47bb08fdefa18e3737c9cb2ed85b7ac0106726e2, with debug_info, not stripped

Download the paintown-x86_64.AppImage and enable the executable permission
appImage_enable_executable

Download the data.zip and uncompress it in the same AppImage folder
https://github.com/kazzmir/paintown/releases/download/v3.6.0/data-3.6.0.zip

Then, click on the right button of your mouse and select Run
appimage-run

Running
appimage-running

Note

Tested on Ubuntu 22.04 - LTS

2. GHA

  • Release

Note

if you create a tag v* the generated artifact will be storage as a release.

image

eg.
https://github.com/humbertodias/allegro-paintown/releases/tag/v1.7

@juvinious
Copy link
Collaborator

I wonder if we would be better off to create an AppImage since this is packaging all the shared libraries?

@humbertodias
Copy link
Collaborator Author

humbertodias commented Feb 10, 2024

I wonder if we would be better off to create an AppImage since this is packaging all the shared libraries?

Makes sense. I added AppImage in v1.7
I have used AppImageKit for that

paintown.AppDir
├── AppRun -> usr/bin/paintown
├── paintown.desktop
├── paintown.png
└── usr
    ├── bin
    │   └── paintown
    └── lib
        ├── libSDL2-2.0.so.0
        ├── libSDL2_gfx-1.0.so.0
        ├── libSDL2_image-2.0.so.0
        ├── libSDL2_mixer-2.0.so.0
        └── libSDL2_ttf-2.0.so.0

@juvinious
Copy link
Collaborator

It works, however it seems to ignore the parameters given.
So if I wanted to specify data directory like

$ ./paintown-x86_64.AppImage -d data-other

it ignores it.
We should allow it to override with the parameters given:

$ ./paintown --help
[0:paintown] Paintown by Jon Rafkind
[0:paintown] Command line options
[0:paintown]  --software, software : Use a software renderer instead of opengl/hardware
[0:paintown]  -d, --data, data, datapath, data-path, path <path> : Use data path of <path>. Default is data/
[0:paintown]  -s, nosound : Disable sound
[0:paintown]  -m, music, nomusic, no-music : Turn off music
[0:paintown]  -l, --debug, debug # : Enable debug statements. Higher numbers gives more debugging. Default is 0. Negative numbers are allowed. Example: -l 3
[0:paintown]  -w, fullscreen, nowindowed, no-windowed : Start in fullscreen mode
[0:paintown]  disable-quit : Don't allow the game to exit using the normal methods
[0:paintown]  debug-log # : Send debug output to a file.
[0:paintown]  fps, rate-limit : Don't rate limit the game to the default fps (40). This is mainly useful for benchmarking graphics capabilities.
[0:paintown]  help, -h, --help : Print the command line options and exit.
[0:paintown]  joystick, nojoystick, no-joystick : Disable joystick input
[0:paintown]  mugen, --mugen : Go directly to the mugen menu
[0:paintown]  mugen:training <player 1 name>,<player 2 name>,<stage> : Start training game with the specified players and stage
[0:paintown]  mugen:script <player 1 name>:<player 1 script>,<player 2 name>:<player 2 script>,<stage> : Start a scripted mugen game where each player reads its input from the specified scripts
[0:paintown]  mugen:watch <player 1 name>,<player 2 name>,<stage> : Start watch game with the specified players and stage
[0:paintown]  mugen:team <player 1 name>,<player 2 name>,<player 3 name>,<player 4 name>,<stage> : Start watch game with the specified players and stage
[0:paintown]  mugen:arcade <player 1 name>,<player 2 name>,<stage> : Start an arcade mugen game between two players
[0:paintown]  mugen:server [port] : Start a server on port 8473
[0:paintown]  mugen:client [host] [port] : Join a server on port (defaults to 8473)
[0:paintown]  paintown:arcade player=<name>: Start an arcade game in the Paintown engine
[0:paintown]  version, --version, -v : Print the version of Paintown and exit.
[0:paintown] 

@humbertodias
Copy link
Collaborator Author

humbertodias commented Feb 10, 2024

Now it should work humbertodias@c2556c3

./paintown-x86_64.AppImage -v
[0:paintown] Version 3.6.1

@kazzmir
Copy link
Owner

kazzmir commented Feb 11, 2024

lets put these release scripts into a release/ subdirectory, they don't need the easy prefix

@humbertodias
Copy link
Collaborator Author

No problem. Subdirectory created

@kazzmir
Copy link
Owner

kazzmir commented Feb 11, 2024

Can you recreate all your branches/pr's on my main repo? I added you as a collaborator.

@humbertodias humbertodias reopened this Feb 11, 2024
@humbertodias humbertodias changed the base branch from master to release-linux February 11, 2024 20:12
@kazzmir
Copy link
Owner

kazzmir commented Feb 11, 2024

Can you join the discord server to discuss this https://discord.com/invite/4SRhCE2Gch

@humbertodias humbertodias merged commit 3b51a89 into kazzmir:release-linux Feb 11, 2024
kazzmir added a commit that referenced this pull request Feb 11, 2024
Co-authored-by: Jon Rafkind <jon@rafkind.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants