[PATCH 0/3] Merge GENIVI baseline strata into master
by Jonathan Maw
head: 3e35e96b35d13dfd9c0283c0fc773e0882556edd
branch: jonathan/genivi-baseline-merge-rebase
repo: ssh://git@trove.baserock.org/baserock/baserock/morphs
This merges all I have currently into master. It does not guarantee a
successfully built GENIVI baseline system yet.
Things that will affect base-system and devel-system builds:
* It changes gcc in build-essential to gcc-shared.
MERGE NOTE: The refs in strata will have to be changed back to 'master'
from jonathan/genivi-baseline-merge.
Jonathan Maw (3):
Merge the GENIVI baseline morphs
Use 'baserock/morph' ref instead of 'master' in the GENIVI strata
Remove redundant libtool and binutils from genivi-staging
audio-bluetooth.morph | 128 ++++++++
base-system-armv7-highbank.morph | 8 +-
base-system-armv7-versatile.morph | 8 +-
base-system-x86_32-generic.morph | 8 +-
base-system-x86_64-generic.morph | 8 +-
bsp-x86_32-generic.morph | 4 +-
build-essential.morph | 4 +-
connectivity.morph | 51 +++
devel-system-armv7-highbank.morph | 10 +-
devel-system-armv7-versatile.morph | 10 +-
devel-system-x86_32-generic.morph | 10 +-
devel-system-x86_64-generic.morph | 10 +-
genivi-baseline-system-armv7-versatile.morph | 70 ++++
genivi-baseline-system-x86_64-generic.morph | 70 ++++
genivi-foundation.morph | 59 ++++
genivi-staging.morph | 27 ++
genivi-wayland-armv7-versatile.morph | 40 +++
genivi-wayland-x86_64-generic.morph | 40 +++
genivi-x-armv7-versatile.morph | 40 +++
genivi-x-x86_64-generic.morph | 40 +++
genivi.morph | 69 ++++
multimedia.morph | 38 +++
wayland-armv7-versatile.morph | 51 +++
wayland-x86_64-generic.morph | 50 +++
x-armv7-versatile.morph | 260 +++++++++++++++
x-common.morph | 457 +++++++++++++++++++++++++++
x-x86_64-generic.morph | 260 +++++++++++++++
27 files changed, 1791 insertions(+), 39 deletions(-)
create mode 100644 audio-bluetooth.morph
create mode 100644 connectivity.morph
create mode 100644 genivi-baseline-system-armv7-versatile.morph
create mode 100644 genivi-baseline-system-x86_64-generic.morph
create mode 100644 genivi-foundation.morph
create mode 100644 genivi-staging.morph
create mode 100644 genivi-wayland-armv7-versatile.morph
create mode 100644 genivi-wayland-x86_64-generic.morph
create mode 100644 genivi-x-armv7-versatile.morph
create mode 100644 genivi-x-x86_64-generic.morph
create mode 100644 genivi.morph
create mode 100644 multimedia.morph
create mode 100644 wayland-armv7-versatile.morph
create mode 100644 wayland-x86_64-generic.morph
create mode 100644 x-armv7-versatile.morph
create mode 100644 x-common.morph
create mode 100644 x-x86_64-generic.morph
--
1.7.11.7
10 years, 3 months
[PATCH] Remove gtk-doc-stub from foundation
by Javier Jardón
repo: git://git.baserock.org/baserock/baserock/morphs
branch: jjardon/gtk-doc
commit: 58990c93b3e7fbff90e62399e713244f2e54fbf1
gtk-doc-stub is not needed anymore in foundation.
GTK-Doc is now an optional dependency of GLib, gobject-introespection
and systemd
Javier Jardón (1):
foundation.morph: gtk-doc-stub is not needed anymore
foundation.morph | 6 ------
tools.morph | 6 ++++++
2 files changed, 6 insertions(+), 6 deletions(-)
--
1.8.1.2
10 years, 3 months
[PATCH 0/2] Warn when git config not set
by Richard Maw
Repo: git://git.baserock.org/baserock/baserock/morph
Ref: baserock/richardmaw/branch-and-merge-git-config-warnings
Sha1: be783a5149d5d18b26f3c1adb9231074c78eb99b
Richard Maw (2):
B&M: Commit to build branches with user's email
B&M: Check git config before some subcommands
morphlib/git.py | 17 +++++++++++++++++
morphlib/plugins/branch_and_merge_plugin.py | 24 ++++++++++++++++++++++--
2 files changed, 39 insertions(+), 2 deletions(-)
--
1.7.5.4
10 years, 3 months
[PATCH 0/4] Artifact Inspection Plugin
by Richard Maw
Repo: git://git.baserock.org/baserock/baserock/morph
Ref: richardmaw/artifact-inspection-plugin-rebase
Sha1: b49757a4a0108b9a186f2a6d44652614818e5b23
This is a rebase of Jannis Pohlmann's artifact inspection
plugin work, to make the patch series shorter and based on
current morph.
Jannis Pohlmann (4):
Move MountableImage class into morphlib
Add ExtractedTarball class and method to extract/mount an artifact
Add image inspection plugin
Add version guessing for autotools projects
morphlib/__init__.py | 2 +
morphlib/bins.py | 29 ++-
morphlib/extractedtarball.py | 61 ++++
.../trebuchet_plugin.py => mountableimage.py} | 68 +-----
morphlib/plugins/artifact_inspection_plugin.py | 294 ++++++++++++++++++++
morphlib/plugins/trebuchet_plugin.py | 58 +----
.../run-in-artifact-propagates-exit-code.exit | 1 +
.../run-in-artifact-propagates-exit-code.script | 33 +++
.../run-in-artifact-propagates-exit-code.stderr | 3 +
...run-in-artifact-with-different-artifacts.script | 47 +++
...run-in-artifact-with-different-artifacts.stderr | 1 +
...run-in-artifact-with-different-artifacts.stdout | 14 +
without-test-modules | 3 +
13 files changed, 494 insertions(+), 120 deletions(-)
create mode 100644 morphlib/extractedtarball.py
copy morphlib/{plugins/trebuchet_plugin.py => mountableimage.py} (51%)
create mode 100644 morphlib/plugins/artifact_inspection_plugin.py
create mode 100644 tests.as-root/run-in-artifact-propagates-exit-code.exit
create mode 100755 tests.as-root/run-in-artifact-propagates-exit-code.script
create mode 100644 tests.as-root/run-in-artifact-propagates-exit-code.stderr
create mode 100755 tests.as-root/run-in-artifact-with-different-artifacts.script
create mode 100644 tests.as-root/run-in-artifact-with-different-artifacts.stderr
create mode 100644 tests.as-root/run-in-artifact-with-different-artifacts.stdout
--
1.7.5.4
10 years, 3 months
[PATCH 00/12] RFC: Build essential part 2
by Sam Thursfield
Repository: git://git.baserock.org/baserock/baserock/morph
Branch: samthursfield/build-essential-2
Sha1: 8d62b2f5d481b761801454791f6e016b31eb5a33
First version of the changes needed to build the build-essential stratum.
This is NOT ready for merge! The system branch will follow later today,
at which point this branch will hopefully make a bit more sense. In the
mean time, you can see the build-essential morphology here which should
explain the process reasonably:
http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/morphs.git/tre...
THINGS THAT STILL NEED DISCUSSION / ARE UGLY
1. Bootstrap
This branch removes the old bootstrap method completely. We no longer
need a separate native bootstrap method -- all we need is Morph to be
supported on one non-Baserock platform.
I had a brief go at building the build-essential-2 branch with Morph in
a Squeeze chroot and it fails during building GCC with some ZLib
problem. We could fix this problem, and then we could write a script
similar to the old bootstrap script that that runs 'debootstrap' and
then uses Morph to build a Baserock devel system image. Or we could
take the opportunity to come up with a new blessed target and drop our
Squeeze support, since it's a continual time drag and the cause of
various hacks.
2. Separating stage 1 from stage 3
As one of the commits mentions, ideally we wouldn't install the chunks
from stage 1 in the stage 3 chroot because they clash with the chunks
from stage 2. Bright ideas welcome.
3. Switching sysroots
The build-essential bootstrap process involves creating a new sysroot
in a non-standard prefix (/tools) and then using that to build a normal
system in /usr. In stage 3 of the bootstrap we enter a chroot with only
the /tools sysroot from stage 2 available. This requires a some work to
set up /bin and /lib for things that assume e.g. /bin/sh exists, when
in this case it is only at /tools/bin/sh.
That's the main remaining problem with build-essential at this point.
On x86_64 we have a kind of get-out-of-free card thanks to eglibc's
dogged insistance on installing to /lib64 instead of /lib on that
architecture. However, elsewhere we get conflicts once we try to
install in the staging area both the final eglibc chunk (with files
in /lib) and the stage 2 fhs-dirs chunk (where /lib is a symlink to
/tools).
Possibilities:
- make eglibc install everything into /usr/lib instead, and make
/bin and /lib symlinks into /usr (as Fedora have done). This
should work with a bit of badgering because we never install
the stage2 and stage3 fhs-dirs at the same time. However, there
will no doubt be significant fallout from this in the rest of
Baserock.
- have Morph create /bin and /lib in the staging area itself if
they don't exist after all the dependencies have been installed.
This would need us to hardcode the /tools prefix in Morph, which
is a bit ugly. However, it will be less work up-front I think.
Other things:
- ccache: might be worth the effort for stages 1 and/or 2. ccache is
capable of hashing the compiler binary, so with a bit of extra work we
could support it in bootstrap mode. Even for stage 3 it might be useful
if you are e.g. hacking on eglibc. Right now I've not touched the
ccache code at all. We should ensure that separate ccache directories
are used for stage1, stage2 and stage3 builds of each chunk I imagine.
- distributed building: thanks to the way Lars architected this, I
don't see any reason why this wouldn't work on a distbuild network.
There are a couple of choke points so I don't imagine the speed gain
would be huge.
- time: on x86_64 it takes about 50 minutes to build build-essential
with the host's tools. A bit of this is staging area faffing and the
time to copy the source from massive repos such Linux into the staging
area.
Sam Thursfield (12):
Fix incorrect comment
Remove old bootstrap mechanisms
Remove features used by old bootstrap method
Remove support for bootstrap mode in staging area
Refactor build process
Set environment variables defining target for build-essential
Add 'build-mode' field for chunks in a stratum
Add 'prefix' property for chunks within strata
Install immediate build dependencies last in staging area
Don't do mounts in staging area in bootstrap / test mode
Don't include bootstrap chunks in output strata
Don't install bootstrapped chunks when building artifacts in other
strata
README | 92 +---
baserock-bootstrap | 494 -------------------
dump-build-times | 75 ---
morphlib/app.py | 58 +--
morphlib/artifact.py | 36 ++
morphlib/artifact_tests.py | 12 +-
morphlib/artifactresolver.py | 6 +-
morphlib/buildcommand.py | 180 +++----
morphlib/buildenvironment.py | 59 ++-
morphlib/buildenvironment_tests.py | 88 ++--
morphlib/builder2.py | 39 +-
morphlib/builder2_tests.py | 9 +-
morphlib/cachekeycomputer.py | 10 +-
morphlib/cachekeycomputer_tests.py | 24 +-
morphlib/morph2.py | 6 +-
morphlib/plugins/trebuchet_plugin.py | 5 +-
morphlib/source.py | 7 +-
morphlib/stagingarea.py | 62 ++-
morphlib/stagingarea_tests.py | 24 +-
morphlib/util.py | 10 +
run-bootstrap-in-chroot | 199 --------
scripts/assemble-stratum | 59 ---
scripts/bootstrap | 555 ----------------------
scripts/setup-3rd-party-strata | 3 +-
tests.as-root/build-with-external-strata.script | 1 +
tests.as-root/setup | 4 +-
tests.as-root/system-overlap.script | 6 +-
tests.as-root/tarball-image-is-sensible.setup | 1 +
tests.branching/setup | 3 +-
tests.branching/workflow-petrify.stdout | 6 +
tests.build/bootstrap-mode.script | 156 ++++++
tests.build/bootstrap-mode.stdout | 15 +
tests.build/build-stratum-with-submodules.script | 3 +-
tests.build/build-system-cpan.script | 24 +-
tests.build/build-system-python-distutils.script | 25 +-
tests.build/prefix.script | 87 ++++
tests.build/prefix.stdout | 8 +
tests.build/setup | 1 +
tests.build/stratum-overlap-warns.setup | 12 +-
tests.deploy/setup | 7 +-
tests.merging/setup | 3 +-
tests/setup | 3 +-
42 files changed, 708 insertions(+), 1769 deletions(-)
delete mode 100755 baserock-bootstrap
delete mode 100755 dump-build-times
delete mode 100755 run-bootstrap-in-chroot
delete mode 100755 scripts/assemble-stratum
delete mode 100755 scripts/bootstrap
create mode 100755 tests.build/bootstrap-mode.script
create mode 100644 tests.build/bootstrap-mode.stdout
create mode 100755 tests.build/prefix.script
create mode 100644 tests.build/prefix.stdout
--
1.7.10.4
10 years, 3 months
[PATCH 0/7] Add C++ libraries
by Jonathan Maw
head: ee7520013159af5083a93e6ac10a51e79943c94f
branch: baserock/genivi/morph
repo: ssh://git@trove.baserock.org/delta/gcc-tarball
This patch should be applied to baserock/morph
It creates cxx-dynamic.morph, a chunk morphology that only provides
the C++ libraries, so can be used on top of the standard gcc.morph
without conflict, and gcc-shared.morph, a chunk morphology that adds
the C++ libraries, and would be used in place of the standard gcc.morph
Ben Brewer (7):
Add option to build dynamic libstdc++
Use proper chunk name in cxx-dynamic.morph
Make cxx-dynamic chunk just build libstdc++
Fixed syntax error in cxx-dynamic.morph
Build the whole of gcc just for libstdc++ as seems to be required
Add libgcc to cxx-dynamic
Added gcc-shared chunk to build gcc with --enable-shared
cxx-dynamic.morph | 17 +++++++++++++++++
gcc-shared.morph | 18 ++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 cxx-dynamic.morph
create mode 100644 gcc-shared.morph
--
1.7.11.7
10 years, 3 months
[PATCH 0/6] Add pulseaudio support to fhs-dirs
by Jonathan Maw
head: 19ba62965b59044edf81ff4a3aa236a916788c06
branch: baserock/genivi-baseline
repo: ssh://git@trove.baserock.org/baserock/baserock/fhs-dirs
This patch should be applied to master
Ben Brewer (6):
Added pulse to users
Give pulse user a proper home directory
Add group pulse-access and assign root to it
Set home directory correctly for user pulse
Update group file to add all groups required by pulseaudio
Add pulse to audio group so it can identify hardware
group | 4 +++-
passwd | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
--
1.7.11.7
10 years, 3 months
[PATCH 0/3] Improve build progress reporting
by Lars Wirzenius
repo: git://git.baserock.org/baserock/baserock/morph
branch: liw/build-progress
commit: d0482f35a90339bc71d3cb11345c1f6f2a413b9e
Lars Wirzenius (3):
Make BuildCommand report current and total build steps
Only build missing artifacts
Show result of final artifact always
morphlib/buildcommand.py | 154 ++++++++++++++++++++++++++--------------------
1 file changed, 87 insertions(+), 67 deletions(-)
--
1.7.10.4
10 years, 3 months