summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* eviscerate gitlab-ci.yml for testing purposessam/ci-experimentsSam Thursfield2017-10-041-195/+14
|
* .gitlab-ci.yml: Share buildstream source cache between jobsSam Thursfield2017-10-031-0/+1
| | | | This should give a massive performance improvement.
* project.conf: Set the artifact cache URL heresam/bst-artifacts-urlSam Thursfield2017-09-202-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is possible since this change: https://gitlab.com/BuildStream/buildstream/commit/00e08459c4 Older versions of BuildStream will fail to parse the project.conf file with this change; I think it's acceptable to force everyone to update as we are still in the development stage of the BuildStream migration. If you want to override the configuration for whatever reason you'll now need to put this in your ~/.config/buildstream.conf file: projects: baserock: artifacts: pull-url: ... push-url: ... If you set a "global" artifacts configuration by doing this... artifacts: pull-url: ... ... it'll be ignored because the project-specific config from this project.conf file will take precedence. Overriding seems to be done for the whole config block, so if you only set push-url in your buildstream.conf file it will be interpreted to mean "set push-url, and unset pull-url" rather than "set push-url and use the existing value of pull-url."
* strata/foundation/kmod.morph: Simplify setting build-system: autotoolsstaging/jjardon/kmod-no-workaroundsJavier Jardón2017-09-071-4/+1
| | | | Change-Id: Ia72f4cc835fea6ecc72ab0704f877905f104bc40
* strata/foundation/kmod.morph: No need to disable xz supportJavier Jardón2017-09-071-1/+0
| | | | Change-Id: I767fc41d3336bb7a0fd14d74b7a7ee082ca03193
* strata/foundation/kmod.morph: Remove unneded workaroundsJavier Jardón2017-09-071-8/+4
| | | | Change-Id: Ifd32ee4809552bf52986431d48ed0e200d7f239d
* Retry on transient fetch errorsbenbrown/get-source-errorsBen Brown2017-09-071-0/+1
| | | | | | | | | | | 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
* Continue build on missing keybenbrown/no-key-errorBen Brown2017-09-061-7/+11
| | | | | We don't want to error out here, otherwise builds will only pass on protected branches.
* Force `-j 1` when installing Subversionsam/buildstream-autoconvertSam Thursfield2017-09-011-1/+1
| | | | | | | | | | | | | | | | | | | 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....
* gnu-toolchain: Fix debug stripping for cross-builds of stage2Sam Thursfield2017-08-317-0/+44
| | | | | | | | | | | | 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.
* .gitlab-ci.yml: Fix up previous commitSam Thursfield2017-08-292-2/+2
| | | | | | 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.
* .gitlab-ci.yml: Avoid pulling artifacts for every BuildStream buildSam Thursfield2017-08-293-15/+48
| | | | | | | | | | | 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.
* .gitlab-ci.yml: Use the official BuildStream Docker imageSam Thursfield2017-08-291-1/+1
| | | | | | 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.
* Automate conversion and testing using GitLab CISam Thursfield2017-08-253-33/+175
|
* core: Upgrade to latest 'acl' librarySam Thursfield2017-08-252-9/+3
| | | | | | | 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).
* gnu-toolchain: Add /lib64 -> /usr/lib64 symlink on 64-bit archesSam Thursfield2017-08-243-6/+47
| | | | | | | | | | | 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.
* gnu-toolchain: Update components in line with build-essential stratumSam Thursfield2017-08-245-7/+7
|
* Add 'convert' script and update READMESam Thursfield2017-08-242-36/+95
|
* Update BuildStream project config for use with Baserock definitions repoSam Thursfield2017-08-241-5/+2
| | | | | We gained this file when we imported Tristan's gnu-toolchain project, we just need to update it for building the Baserock reference systems.
* Merge remote-tracking branch 'buildstream-tests/gnu-toolchain' into ↵Sam Thursfield2017-08-2432-0/+1388
|\ | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge branch 'sam/gnu-toolchain-updates' into 'gnu-toolchain'Tristan Van Berkom2017-07-1214-37/+72
| |\ | | | | | | | | | | | | Update toolchain and allow cross-building See merge request !9
| | * .gitlab-ci.yml: Remove caching as it seems to just add a 20 minute delaySam Thursfield2017-07-071-9/+0
| | |
| | * Simplify CI for nowSam Thursfield2017-07-071-31/+6
| | | | | | | | | | | | | | | We cannot do long GCC builds using the default GitLab CI runners, we'll need to provide our own.
| | * .gitlab-ci.yml: Separate fetch into a separate stageSam Thursfield2017-07-071-6/+8
| | | | | | | | | | | | | | | 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.
| | * .gitlab-ci.yml: Split the pipeline into 2 stagesSam Thursfield2017-07-071-6/+11
| | | | | | | | | | | | | | | | | | 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.
| | * .gitlab-ci.yml: Share cached source between buildsSam Thursfield2017-07-071-2/+7
| | |
| | * Enable automated testing for this branchSam Thursfield2017-07-071-0/+44
| | |
| | * Proper support for powerpc64 (little and big endian)Sam Thursfield2017-07-072-4/+16
| | |
| | * Support cross-building the stage1 and stage2 componentsSam Thursfield2017-07-079-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * Update GCC to 7.1.0, and GLIBC to 2.25Sam Thursfield2017-07-077-15/+16
| | |
| | * Correct 'track' field for stage2-fhs-dirsSam Thursfield2017-07-071-1/+1
| | |
| | * project.conf: Fix spelling in commentSam Thursfield2017-07-071-1/+1
| |/
| * Reworking the gnu toolchain projectTristan Van Berkom2017-04-118-56/+53
| | | | | | | | | | | | | | o Use the org.freedesktop.BasePlaform and org.freedesktop.BaseSdk for building instead of the whole GNOME runtime. o Some minor renames
| * Moved all elements under the elements directoryTristan Van Berkom2017-03-2231-0/+2
| |
| * Renamed build-essential to gnu-toolchainTristan Van Berkom2017-03-2133-132/+132
| |
| * Upgrade build-essential to the baserock new usr merge approach.Tristan Van Berkom2017-02-2218-2/+27
| | | | | | | | | | | | | | | | | | 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.
| * Incoprorating /usr merge effected in upstream baserockTristan Van Berkom2017-02-212-4/+4
| |
| * stage2.bst: Adding missing fake bash element dependencyTristan Van Berkom2017-02-211-0/+1
| |
| * Place /tools at the end of PATH for the final stage3 builds.Tristan Van Berkom2017-02-1611-11/+11
| | | | | | | | | | | | | | 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.
| * Files in final stage build-essential need /tools/sbin in PATHTristan Van Berkom2017-02-1411-11/+11
| | | | | | | | | | Because the GNOME sdk is no longer there, and ldconfig from stage2 is in /tools/sbin.
| * Merge branch 'pedro/dont-use-ssh-urls' into 'build-essential' Tristan Van Berkom2017-02-141-2/+2
| |\ | | | | | | | | | | | | Don't use ssh urls in the aliases when not needed See merge request !1
| | * Don't use ssh urls in the aliases when not neededPedro Alvarez2017-02-131-2/+2
| |/
| * Manual conversion of Baserock's build-essential stratumTristan Van Berkom2017-02-0335-84/+1305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Remove "V" environment setting from project configurationTristan Van Berkom2017-02-011-1/+0
| | | | | | | | This is on by default for any autotools or supporting build system.
| * gnome-sdk.bst: Architecture conditional ostree import sourceTristan Van Berkom2017-01-261-6/+15
| | | | | | | | | | Pull in a different org.gnome.Sdk branch depending on the build architecture.
| * gnome-platform.bst: Architecture conditional ostree import sourceTristan Van Berkom2017-01-261-6/+15
| | | | | | | | | | Pull in a different org.gnome.Platform branch depending on the build architecture.
| * Added integration commands for the platform and SDKTristan Van Berkom2017-01-252-0/+11
| |
| * Removing glade.bst, this has no place in a gedit build demo.Tristan Van Berkom2017-01-251-17/+0
| |
| * gedit.bst: Removed some unneeded customizations, we can build with ↵Tristan Van Berkom2017-01-251-7/+1
| | | | | | | | introspection.
| * gtksourceview: new refTristan Van Berkom2017-01-251-1/+1
| |