Page 1 of 20

Ubuntu PPA

Posted: Tue May 08, 2018 9:58 am
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.

Re: Ubuntu PPA

Posted: Thu May 10, 2018 12:36 pm
by Vezzra
I deem that sticky-worthy. :D

Re: Ubuntu PPA

Posted: Sun May 13, 2018 1:42 pm
by phocas
i will try that :D

Re: Ubuntu PPA

Posted: Tue May 15, 2018 4:55 am
by o01eg
Uploaded version 2018-05-14.1f24dc0.

Re: Ubuntu PPA

Posted: Wed May 23, 2018 10:52 am
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.

Re: Ubuntu PPA

Posted: Tue May 29, 2018 3:21 am
by o01eg
Uploaded version 2018-05-28.52dbdae.

Re: Ubuntu PPA

Posted: Thu May 31, 2018 5:40 pm
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

Re: Ubuntu PPA

Posted: Thu May 31, 2018 6:27 pm
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.

Re: Ubuntu PPA

Posted: Fri Jun 01, 2018 11:58 am
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.

Re: Ubuntu PPA

Posted: Fri Jun 01, 2018 12:40 pm
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.

Re: Ubuntu PPA

Posted: Fri Jun 01, 2018 2:11 pm
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).

Re: Ubuntu PPA

Posted: Fri Jun 01, 2018 6:11 pm
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.

Re: Ubuntu PPA

Posted: Sun Jun 03, 2018 12:18 pm
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.

Re: Ubuntu PPA

Posted: Tue Jun 05, 2018 3:08 am
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.

Re: Ubuntu PPA

Posted: Wed Jun 06, 2018 11:20 am
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.