| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
In order to bypass:
Cloning repository...
Cloning into '/builds/gitlab/omnibus-gitlab'...
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 104
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
|
|
|
|
|
| |
We don't want to error out here, otherwise builds will only pass on
protected branches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builds with BuildStream are intermittently failing with a message like
this:
libtool: install: /usr/bin/install -c .libs/libsvn_delta-1.a /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: install: chmod 644 /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: install: ranlib /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: install: /usr/bin/install -c .libs/libsvn_delta-1.lai /buildstream/install/usr/lib/libsvn_delta-1.la
/usr/bin/ld: cannot find -lsvn_delta-1
collect2: error: ld returned 1 exit status
libtool: install: /usr/bin/install -c .libs/libsvn_delta-1.a /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: install: chmod 644 /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: install: ranlib /buildstream/install/usr/lib/libsvn_delta-1.a
libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it
build-outputs.mk:1321: recipe for target 'install-serf-lib' failed
make: *** [install-serf-lib] Error 1
make: *** Waiting for unfinished jobs....
|
|
|
|
|
|
|
|
|
|
|
|
| |
The stage2 elements were all using the default strip-commands which
don't take into account the fact that we might be cross-compiling.
An `objcopy` build for one architecture will ignore binaries for
other architectures that it doesn't understand, so in practice no
stripping was taking place for the stage2 components when we were
doing cross-builds.
With this change, a stage2 sysroot containing just the 'runtime' and
'devel' domains has gone from 889MB to 306MB.
|
|
|
|
|
|
| |
The "downloadable" state is the one we need to special-case. The
"cached" state means that the artifact is cached *locally*, and
BuildStream will already avoid rebuilding it in this case.
|
|
|
|
|
|
|
|
|
|
|
| |
We shouldn't download artifacts to the CI workers every time somebody
pushes just to throw them away again. This should speed up no-op builds.
The functionality is implemented in two shell scripts. Context is here:
https://gitlab.com/BuildStream/buildstream/issues/77
It would be possible to do this with a single script, but I wanted to
avoid doing any argument parsing code in shell.
|
|
|
|
|
|
| |
This is a Fedora 26 image which has BuildStream's dependencies
pre-installed, which saves us waiting to `dnf install` everything
at the start of every CI job.
|
| |
|
|
|
|
|
|
|
| |
There hasn't been a release since v2.2.52, but there are fixes in
'master' which are useful. In particular the build system is now
standard Autotools, and it no longer breaks if /lib64 is a symlink
to /usr/lib64 (upstream commit cd76644ce9b9814a fixes that).
|
|
|
|
|
|
|
|
|
|
|
| |
This is required at least for armv8l64, otherwise the glibc.bst
element installs a symlink in /usr/lib/ld-linux-aarch64.so.2 that
points to a missing file (it expects /usr/lib64/ld-linux-aarch64.so.2
to exist, but if /lib64 is a directory rather than a symlink then
that file ends up only in the /lib64/ directory).
This also makes our filesystem hierarchy more consistent with other
GNU/Linux operating systems.
|
| |
|
| |
|
|
|
|
|
| |
We gained this file when we imported Tristan's gnu-toolchain project, we just
need to update it for building the Baserock reference systems.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
sam/buildstream-autoconvert
This branch contains a manual conversion of the Baserock bootstrap
process to BuildStream. The original branch can be found here:
https://gitlab.com/BuildStream/buildstream-tests/tree/gnu-toolchain
It's not possible to automatically convert the existing Baserock
bootstrap due to differences in how BuildStream works.
|
| |\
| | |
| | |
| | |
| | | |
Update toolchain and allow cross-building
See merge request !9
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We cannot do long GCC builds using the default GitLab CI runners, we'll
need to provide our own.
|
| | |
| | |
| | |
| | |
| | | |
This is primarly to avoid hitting the 1 hour timeout that seems to be
hardcoded into the CI system. It's also a bit clearer this way.
|
| | |
| | |
| | |
| | |
| | |
| | | |
With an empty cache, every worker must spend 10 minutes pulling all of
the sources that are required. There's no point having 5 workers pulling
the same things in parallel, so the first stage now contains only 1 job.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This requires a feature recently added to BuildStream (in commit
03906221) that adds a framework for elements to support being
cross-compiled.
To build an armv8l64 native toolchain and sysroot on an x86_64 build
machine, for example, you can do this:
bst build --target-arch=armv8l64 gnu-toolchain/stage2.bst
You can then run `bst checkout` to get at the resulting binaries and
copy them onto an armv8l64 machine where they can be executed.
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
o Use the org.freedesktop.BasePlaform and org.freedesktop.BaseSdk
for building instead of the whole GNOME runtime.
o Some minor renames
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This required making sure that fhs-dirs is depended on by anything
which would stage on top of it, as the directory symlinks must come
first.
In this commit the dependencies are listed explicitly, probably
there is a way to do this without being as wordy.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This is because otherwise we end up using the sysrooted
/tools/sbin/ldconfig, causing the gcc build to fail as it
does not find libz.so which is otherwise properly located
if /sbin/ldconfig is used.
|
| |
| |
| |
| |
| | |
Because the GNOME sdk is no longer there, and ldconfig from stage2
is in /tools/sbin.
|
| |\
| | |
| | |
| | |
| | | |
Don't use ssh urls in the aliases when not needed
See merge request !1
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This huge commit is a manual conversion, notes on what was
needed:
o project.conf defines the arch specific stuff which was
previously hardcoded into YBD, so the stage1 target and target
etc are all defined by the build-essential project.conf
o Direct and easy changes for git source representation
o Added stage1.bst & stage2.bst "stacks", everything built in
stage2 build-depends on stage1.bst, and the final build-essential
products build-depend on stage2.bst (note build-depend means
to depend _only_ for building, not propagated forward).
o Instead of using host tools we build on the GNOME flatpak
sdk/platform bundles
o Some build-essential morph files use $(dirname $(pwd)) for a sysroot,
which is weird, it means the morph files rely on building at one directory
below the slash sysroot - in buildstream we build in /buildstream/build
which is two - had to replace these with $(dirname $(dirname $(pwd))) instead
o Remove the devices sections from the fhs-dirs elements, not allowed
to create static device nodes in buildstream.
|
| |
| |
| |
| | |
This is on by default for any autotools or supporting build system.
|
| |
| |
| |
| |
| | |
Pull in a different org.gnome.Sdk branch depending on the
build architecture.
|
| |
| |
| |
| |
| | |
Pull in a different org.gnome.Platform branch depending on the
build architecture.
|
| | |
|
| | |
|
| |
| |
| |
| | |
introspection.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
And it also builds glade for the hell of it.
|
| | |
|