Novum / vkQuake

Vulkan Quake port based on QuakeSpasm
GNU General Public License v2.0
1.83k stars 222 forks source link

Adding Linux binaries to releases page? #49

Closed mdeguzis closed 8 years ago

mdeguzis commented 8 years ago

Would you be willing to add Debian Jessie or Ubuntu-based binaries? I have been building this for several revisions, and can tell you it runs quite well. I''ll fix up some of the Lintian messages.

Current binaries and source:

http://packages.libregeek.org/steamos-tools/pool/games/v/vkquake/

I have no problem maintaining these .

Novum commented 8 years ago

I would prefer just a normal binary instead of something Debian/Ubuntu specific. Same as QuakeSpasm.

mdeguzis commented 8 years ago

I don't often do that, so please excuse me if I state this wrong: would you like tar.gz archives with the built source entirely in place?

flukejones commented 8 years ago

Why not use a MojoSetup and keep it distro neutral?

mdeguzis commented 8 years ago

Interesting, i'll take a look at that more today. In what I have run into with Linux packaging, man projects will offer the two most popular binary packages: .deb or .rpm. I misspoke when I said Ubuntu or Debian specific. The way you usually approach a more "universal" .deb package, is to account for the variants in debian/control, such as Depends: ffmpeg_debian | ffmpeg_ubuntu. I've also heard other "disro neutral" approaches like autopackage.

As said above, I believe other proejcts merely statically build (as per the build instructions here) and ship the .tar.gz archive. Users would, as often expected, install the run time dependencies from the Readme. These could be explicitly laid out if need be.

Novum commented 8 years ago

From QuakeSpasm README.deps:

These binaries were compiled for x86_64-linux on a CentOS 4.8 setup. They depend on SDL (libSDL-1.2.so.0), ogg/vorbis (libvorbis.so.0, libogg.so.0 and libvorbisfile.so.3) and libmad (libmad.so.0). (The sdl2 version depends on libSDL2-2.0.so.0 instead of libSDL-1.2.so)

Not a fan of all the different packaging systems just fragmenting the user base.

mdeguzis commented 8 years ago

Ok I'll keep the debs and RPMs in my own repo.

mdeguzis commented 8 years ago

@Novum , would you be at all ok with a distro-agnostic Flatpak? Beyond this, I will put the effort into making a normal binary for you.

mdeguzis commented 8 years ago

I will test the tar archive I just made tonight on a fresh install of Debian Jessie / SteamOS without the dependency packages installed. If successful, I will link the archive for consideration.

mdeguzis commented 8 years ago

I tested the below archive and steps. If this is acceptable, I will happily continue providing release binaries.

Test 1:

  1. cd $HOME/
  2. git clone https://github.com/Novum/vkQuake/
  3. install depdencies noted in readme
  4. cd vkQuake
  5. make -C Quake USE_SDL2=1
  6. Remove packages that provide dependencies
  7. This will leave libs installed, so /usr/lib/x86_64-linux-gnu/libmad.so.0 was removed 8 . Try running ./vkquake from $HOME/vkQuake, it will not launch (as a test)
  8. copy libs from libs/ folder to $HOME/vkQuake/ (of course these are in the root dir in the below archive)
  9. Try running ./vkquake again, launches successfully.

Test 2:

  1. Fresh install of SteamOS (no depds installed)
  2. wget http://libregeek.org/Linux/games/vkQuake-0.50.0-latest_linux.tar.gz
  3. tar -xzf vkQuake-0.50.0-latest_linux.tar.gz -C $HOME
  4. cp -r id1 $HOME/vkQuake/
  5. (on my end) added destop file and /usr/share/games/vkquake
  6. Launch command was cd /home/desktop/vkQuake && ./vkquake

Test archive (sans id1 of course):

http://packages.libregeek.org/linux-binaries/stable/vkquake-0.50-latest_linux.tar.gz

Novum commented 8 years ago

I guess so. Is there a way that I can give you access to the releases page? I would rename the 0.50 release to Win/Linux and add it there.

mdeguzis commented 8 years ago

I believe if you add me as a collaborator, that would work. Valve did that for me on the SteamOS tracker to push to the wiki. Heading to bed. It I'll try to add them in the morning. Based on my tests, this archive should work. Ill farm some feedback as well.

On August 12, 2016 11:47:01 PM EDT, Axel Gneiting notifications@github.com wrote:

I guess so. Is there a way that I can give you access to the releases page? I would rename the 0.50 release to Win/Linux and add it there.

You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub: https://github.com/Novum/vkQuake/issues/49#issuecomment-239600003

Sent from my Android device with K-9 Mail. Please excuse my brevity.

mdeguzis commented 8 years ago

https://help.github.com/articles/permission-levels-for-a-user-account-repository/

On August 12, 2016 11:47:01 PM EDT, Axel Gneiting notifications@github.com wrote:

I guess so. Is there a way that I can give you access to the releases page? I would rename the 0.50 release to Win/Linux and add it there.

You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub: https://github.com/Novum/vkQuake/issues/49#issuecomment-239600003

Sent from my Android device with K-9 Mail. Please excuse my brevity.

mdeguzis commented 8 years ago

Linux binary added to releases page for 0.50. Tested on 2 fresh machines to ensure LD_LIBRARY_PATH and such are used correctly. Tested on Ubuntu/Debian/ArchLinux.

mdeguzis commented 8 years ago

Of note, the package is ~ 7 MB due to the amount of libraries linked and reported by ldd. On Debian systems, this would have required only a 1.6 MB package from testing with Ubuntu/Debian/SteamOS. However, obviously other systems may required the libraries.