SFTtech / openage

Free (as in freedom) open source clone of the Age of Empires II engine 🚀
http://openage.dev
Other
12.6k stars 1.11k forks source link

Create nightly distro packages #94

Open boombatower opened 9 years ago

boombatower commented 9 years ago

Breaking off from #81...

I have openSUSE build working (download instructions).

I have fedora and openSUSE builds working (download instructions).

I have script created (which I need to commit somewhere, putting in package repo almost seems right, but not quite...I'll consider it). The script can be setup on cron, pick the latest commit, update package repo and .spec file for latest commit tar ball, and push changes to repo to trigger build. I'll get that setup on remote server in the future, could possible be done via travis as well.

It may also make sense to move to something like home:boombatower:openage as the repository? I was originally branching games repo since that was my target, but on my request to move into official games repo it was suggested that non-playable games are probably not a good idea.

It would be slick if we did the necessary work to support building for .deb packages. https://en.opensuse.org/openSUSE:Build_Service_Debian_builds Perhaps someone is familiar with deb packaging? Then we can get nightly builds for all major distros from one place!

Open Build Service (OBS) is great in that it provides the familiar fork/branch and pull request workflow for packaging in addition to allowing us to package for all major distros in one place. Can even make changes through web interface!

boombatower commented 9 years ago

Seems like probably a good idea to mention packages somewhere either in building or main README to suggest their usage? Especially after we have ubuntu/debian as well.

We should probably also add an example of how to use the installed convert scripts to write to homedir where .desktop file will be set to look. Unless that is to be rolled into main game soon? Or simply preferred to wait.

oldlaptop noted the debian wiki is outdated and pointed me to https://github.com/oldlaptop/uqm-deb/blob/master/uqm-0.7.0/debian/rules in IRC. So I may take a look at that in the future.

We also need opus libs built for ubuntu (as per #90). If we get them built for Travis we should be able to drop those package file into OBS and use them for building openage for debian.

boombatower commented 9 years ago

Until asset stuff is sorted out, one can create ~/openage and then create a symbolic link to from ~/openage/assets to /path/to/dev/assets and it loads from .desktop file / menu entry!

boombatower commented 9 years ago

Depends on #95.

franciscod commented 9 years ago

i'd say it's too early for this! developers need to tinker with a cloned repo, not the installed binaries

boombatower commented 9 years ago

I would definitely not expect developers to be using this. and yes probably too early.

TheJJ commented 9 years ago

After we decided on the versioning in #93, we will probably release minor advancements very often (tm). These can then be packaged by anyone who likes, i wouldn't consider this as a task for the project itself, this is up to the distro users/packagers.

boombatower commented 9 years ago

Agree that anyone can package. I just wanted to track this so anyone interested in project could see/contribute. Not sure what we want to do with the result which is working nightly openSUSE/Fedora packages and some initial work on debian/ubuntu (need to build dependencies unfortunately).

Perhaps a link in one of the various READMEs or the main one?

boombatower commented 9 years ago

Created git repo for the script I created to make nightly packages https://github.com/boombatower/obs-git-update

TheJJ commented 8 years ago

This could actually be done once #397 is closed, building the master branch as whatever distro packages.

simonsan commented 4 years ago

Small update (win builds): As long as we are working on a stable Kevin win-setup I was setting up a build and packaging pipeline at Appveyor. You will find nightly packages for Windows 32bit/64bit here.

I will try to create *.deb and AppImages in the nearer future and release them there, too.

To create *.deb packages I want to use our already established cmake/cpack buildsystem: https://cmake.org/cmake/help/v3.16/cpack_gen/deb.html

And convert these then to AppImages with this tool: https://github.com/simoniz0r/deb2appimage