Ubuntu PPA

For topics that do not fit in another sub-forum.

Moderator: Oberlus

Post Reply
Message
Author
o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Ubuntu PPA

#1 Post by o01eg »

Hi,
I've created PPA with test build version for Ubuntu version 22.04, 23.10, and 24.04. It includes debug symbols as well and supports x86_64, x86, ppc64el, and aarch64:

Code: Select all

sudo add-apt-repository ppa:o01eg/freeorion
sudo apt-get update
Current version is 2024-02-14.395bd4c.

PPA repository with releases for Ubuntu version 20.04, 22.04, 23.10, and 24.04. It includes debug symbols as well and supports amd64, armhf, arm64, and ppc64el:

Code: Select all

sudo add-apt-repository ppa:o01eg/freeorion-stable
sudo apt-get update
Current version is 0.5.0.1 RC1.
Last edited by o01eg on Wed Mar 06, 2024 9:41 am, edited 270 times in total.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Ubuntu PPA

#2 Post by Vezzra »

I deem that sticky-worthy. :D

phocas
Space Floater
Posts: 47
Joined: Sat May 12, 2018 9:28 am

Re: Ubuntu PPA

#3 Post by phocas »

i will try that :D

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#4 Post by o01eg »

Uploaded version 2018-05-14.1f24dc0.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#5 Post by o01eg »

Uploaded version 2018-05-22.2e3c6f4 from 0.4.8 branch.
Packages still named 0.4.7.1... but it must be so official 0.4.8 package will update packages from PPA.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#6 Post by o01eg »

Uploaded version 2018-05-28.52dbdae.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

phocas
Space Floater
Posts: 47
Joined: Sat May 12, 2018 9:28 am

Re: Ubuntu PPA

#7 Post by phocas »

the version tag only show "v 0.48 build ???" in the main screen bottom

there are some missing screen in the pedia and weird/uncomplete links in some others tech screens

?? do you need some reports about this

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#8 Post by o01eg »

phocas wrote:the version tag only show "v 0.48 build ???" in the main screen bottom
I name 0.4.7 version so 0.4.8 release will replace this pre-release package.
phocas wrote:there are some missing screen in the pedia and weird/uncomplete links in some others tech screens

?? do you need some reports about this
Yep, it may be either packaging bug or bug in the game itself so it would be better to report it.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Ubuntu PPA

#9 Post by Vezzra »

o01eg wrote:
phocas wrote:there are some missing screen in the pedia and weird/uncomplete links in some others tech screens

?? do you need some reports about this
Yep, it may be either packaging bug or bug in the game itself so it would be better to report it.
Actually that usually isn't a bug, but happens when you fetch the source by other means than via git, so the source code does not end up in a git version controlled directory. The build scripts try to determine the commit SHA of the checked out revision ot the source code, the abbreviated SHA is then taken as build number. If determining the SHA fails (because the source is not in a git version controlled directory), then "????" is taken as build number instead.

Which is why usually FO should be build from source that has been checked out via git from the repo. Or use the source tarballs provided for stable releases, those should contain a pregenerated version of the respective source file (which is "version.cpp").

However, if you did build from within a checked out revision of the source code or a stable release source tarball, and still get that "????" as build number, then indeed we have an issue that should be reported. So if that's the case for you, please open an issue on our github repo.

Jaumito
Space Kraken
Posts: 189
Joined: Tue May 16, 2017 3:42 am
Location: Catalonia, France, Europe, Earth, Sol, Orion Arm, Milky Way, Virgo Cluster

Re: Ubuntu PPA

#10 Post by Jaumito »

Vezzra wrote:However, if you did build from within a checked out revision of the source code or a stable release source tarball, and still get that "????" as build number, then indeed we have an issue that should be reported. So if that's the case for you, please open an issue on our github repo.
For the record, I happen to have the same "???" on my 0.4.7 install, from a stable release source tarball (FreeOrion_v0.4.7_2017-04-24.60d06dc_Source). I assumed it was due to me downloading boost libraries in parts rather than whole (libboost-all-dev), because of what was then ambiguous or misleading build instructions. But again, that's just me assuming. Anyway, "???" as build number is the only glitch I have - everything else is fine.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Ubuntu PPA

#11 Post by Vezzra »

Jaumito wrote:For the record, I happen to have the same "???" on my 0.4.7 install, from a stable release source tarball (FreeOrion_v0.4.7_2017-04-24.60d06dc_Source).
Oh, major oops, you're right, there is a bug in the respective build helper script. Fixed in 4e34787 (cherry picking also already done).

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#12 Post by o01eg »

Vezzra wrote:
o01eg wrote:
phocas wrote:there are some missing screen in the pedia and weird/uncomplete links in some others tech screens

?? do you need some reports about this
Yep, it may be either packaging bug or bug in the game itself so it would be better to report it.
Actually that usually isn't a bug, but happens when you fetch the source by other means than via git, so the source code does not end up in a git version controlled directory. The build scripts try to determine the commit SHA of the checked out revision ot the source code, the abbreviated SHA is then taken as build number. If determining the SHA fails (because the source is not in a git version controlled directory), then "????" is taken as build number instead.
It's definitely my case. I publish into the PPA sources from git without .git/ folder to have a lesser archive.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Ubuntu PPA

#13 Post by Vezzra »

o01eg wrote:I publish into the PPA sources from git without .git/ folder to have a lesser archive.
Executing the following within the root directory of a version of the source code under git version control:

Code: Select all

cmake/make_versioncpp.py . CMake
should generate a proper util/Version.cpp.

Or you can take this Python script I use to create the source tarballs and modify it to fit your needs:

Code: Select all

#!/usr/bin/python


import sys
from os import getcwd, chdir, remove
from os.path import exists
from shutil import rmtree
from subprocess import check_call, check_output


EXCLUDE_ITEMS = [
    r"Installer/*",
    r"msvc2010/*",
    r"msvc2013/*",
    r"msvc2015/*",
    r"Xcode/*",
    r".git/*",
    r".*",
    r"*.pyc",
]
WC_DIR = "src-tarball"


if len(sys.argv) != 2:
    print "Usage: make_src_tarball.py branch"
    exit(1)
branch = sys.argv[1]

original_dir = getcwd()
try:
    print "Cloning FO repo into '%s'..." %  WC_DIR
    check_call("git clone https://github.com/freeorion/freeorion.git %s" % WC_DIR, shell=True)
    chdir(WC_DIR)
    print "Checkout %s..." % branch
    check_call("git checkout %s" % branch, shell=True)

    if sys.platform == "darwin":
        print "Remove OSX specific garbage..."
        check_call("dot_clean -m .", shell=True)

    print "Determine FO version & build..."
    r = check_output(r"cmake/make_versioncpp.py . CMake", shell=True)
    print r
    build_no = r.splitlines()[-1].split(" ")[-1]
    fname = "FreeOrion_" + build_no + "_Source.tar.gz"

    cmd = ["tar", "-czf", fname]
    for exclude_item in EXCLUDE_ITEMS:
        cmd.append("--exclude='" + exclude_item + "'")
    cmd.append(getcwd().split(r"/")[-1])

    chdir("..")
    if exists(fname):
        print "Delete existing '%s'..." %fname
        remove(fname)
    print "Create source tarball '%s'..." % fname
    r = check_output(" ".join(cmd), shell=True)
    print r

finally:
    chdir(original_dir)
    if exists(WC_DIR):
        print "Removing temporary folder '%s'..." % WC_DIR
        rmtree(WC_DIR)
The script is released under the GPL v2 or later.

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Ubuntu PPA

#14 Post by o01eg »

Uploaded version 2018-06-04.41c7665.
Vezzra wrote:
o01eg wrote:I publish into the PPA sources from git without .git/ folder to have a lesser archive.
Executing the following within the root directory of a version of the source code under git version control:

Code: Select all

cmake/make_versioncpp.py . CMake
should generate a proper util/Version.cpp.
I've tried it but I use a different branch so I end up to manually set required version here.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Ubuntu PPA

#15 Post by Vezzra »

o01eg wrote:I've tried it but I use a different branch so I end up to manually set required version here.
Ah yes, if the branch name isn't "master" or starts with "release", then the branch name is included in the version string. In this case, if you don't want that, you need to create Version.cpp manually. That should work.

Post Reply