Commit Graph

52 Commits

Author SHA1 Message Date
Colin Walters 660ff7422f ostbuild: Various cleanups 2012-01-18 17:38:31 -05:00
Colin Walters 970682a779 ostbuild: Actually do check for Makefile
Just kidding, we need the makefile path to check for .NOTPARALLEL
2012-01-18 17:08:30 -05:00
Colin Walters 4af64c7635 ostbuild: Don't check for a "Makefile"
WebKit uses GNUmakefile which is totally valid, and this check
isn't really gaining us anything.
2012-01-18 16:40:47 -05:00
Colin Walters 55f6998d37 ostbuild: Ensure we don't retrieve submodules from the network
This is a bit gross...we have to manually frob the submodule
URLs to point to our mirror.
2012-01-18 13:35:53 -05:00
Colin Walters 298e4957d9 ostbuild: Support rm-configure flag
This is easier than making git patches that delete configure.
2012-01-16 20:17:39 -05:00
Colin Walters 9d37f76a5a ostbuild: Actually exit with error if we fail a build 2012-01-16 17:50:57 -05:00
Colin Walters 5bf4eb39e7 ostbuild: Do fetches before resolution
Otherwise we get the OLD revision in the manifest.
2012-01-16 09:57:40 -05:00
Colin Walters 813923943d ostbuild: Fix documentation dir (should be 'doc') 2012-01-16 09:57:00 -05:00
Colin Walters b1ff693ea3 Revert "ostbuild: Check for the Makefile in the correct directory"
I'm not sure how this made anything work...probably I was screwing
something else up.

This reverts commit aeeed8da13.
2012-01-16 09:39:13 -05:00
Colin Walters bff6baced8 ostbuild: Save build logs to a file, monitor output for warnings
This is bringing us back closer to metabuild.
2012-01-16 09:27:46 -05:00
Colin Walters d5def94b54 ostbuild: Clean up artifact splitting, put non-symlink .so in runtime
We were breaking nss which just installs libnss3.so as the real
shared library.
2012-01-15 21:45:12 -05:00
Colin Walters ef7f12f31b ostbuild: Run triggers after constructing build root 2012-01-15 17:05:23 -05:00
Colin Walters 610afbd2f1 ostbuild: Make --fetch a separate option 2012-01-14 16:56:31 -05:00
Colin Walters aeeed8da13 ostbuild: Check for the Makefile in the correct directory 2012-01-14 16:54:00 -05:00
Colin Walters 134cddaa96 ostbuild: Make explicit resolve (and fetch steps)
Build should only work on already-downloaded sources.
2012-01-12 23:22:39 -05:00
Colin Walters b44afdef23 ostbuild: Lots of stuff
* Only create one build commit which contains multiple artifact trees,
  rather than one per artifact.  This is atomic.  We can use the new
  compose syntax like foo:/devel to slice out the /devel tree.
* Create the minimal buildroot for each component by composing the
  previous components in the build order, instead of continually
  updating one big tree.
* Ensure the artifact builder gets empty directories in /etc
2012-01-12 10:48:11 -05:00
Colin Walters ef2a16525e ostbuild: Optionally log start of commands we want output from too
compose is slow, but we also want output.
2012-01-11 14:33:48 -05:00
Colin Walters 1f398e001b ostbuild: Import odict from gobject-introspection 2012-01-11 14:32:37 -05:00
Colin Walters 46d09b1501 compile-one: Fix build of modules that don't support srcdir != builddir
We need to run configure and make/make install in the _build
directory.
2012-01-09 19:56:03 -05:00
Colin Walters 492f0777f2 ostbuild: Make --debug-shell not exit immediately
We need to keep stdin open.
2012-01-09 11:10:10 -05:00
Colin Walters cddd58fbd8 ostbuild: Allow specifying no components to mean "all" 2012-01-08 14:20:52 -05:00
Colin Walters e21b181b4a ostbuild: Allow specifying components to build on the command line 2012-01-07 11:47:51 -05:00
Colin Walters a2fdbcbe63 ostbuild: Switch to JSON metadata, various other fixes 2012-01-06 20:02:46 -05:00
Colin Walters 732b37698e ostbuild: Don't fail if trying to rename() across a bind mount 2012-01-06 14:07:20 -05:00
Colin Walters 5b2a5d1dd1 ostbuild: Make use of --recompose 2012-01-06 14:07:12 -05:00
Colin Walters d72d6c5fb1 ostbuild: Use split out linux-user-chroot binary
This way other meta-build projects could use it; mainly mock/pbuilder.

Also I don't have to keep running chown root:root; chmod u+s in a
separate root terminal after every install.
2012-01-06 11:41:27 -05:00
Colin Walters fea117cd5e gnomeos: Move everything into JSON, start plowing through X.org
Also:

* Stop generating tarballs for artifacts, use plain directories
* Commit artifacts as uid/gid 0, with no xattrs

Other misc stuff
2012-01-05 23:05:49 -05:00
Colin Walters 5b0084994e gnomeos: We can now build gobject-introspection 2012-01-03 19:09:12 -05:00
Colin Walters a080ff0181 ostbuild: Port chroot-compile-one to ostbuild executor 2011-12-23 12:15:57 -05:00
Colin Walters be117edee4 ostbuild: Port commit-artifacts to ostbuild executor 2011-12-23 10:57:54 -05:00
Colin Walters 853dda39e7 ostbuild: Move autodiscover-meta to ostbuild executor 2011-12-23 10:48:57 -05:00
Colin Walters 122b31ed3b ostbuild: Make new 'ostbuild' main entry point, and compile-one a subcommand
The collection of Python scripts here have gotten to the point where
we need to share code.  Start refactoring things so that we have one
main command which imports subcommands as libraries.
2011-12-23 10:40:27 -05:00
Colin Walters 633477806c ostbuild: Propagate buildroot version, finish add-artifacts
We need to track what buildroot each artifact was created in.
2011-12-23 07:46:08 -05:00
Colin Walters 0b8754d47c ostbuild: Separate metadata discovery, kill wrapper scripts
Add a simple KEY=VALUE metadata file format, and rather than
assuming 'basename' at a low level, allow passing e.g. NAME=gtk3
to override "gtk+".

The wrapper scripts are annoying...for now let's just remove them.
2011-12-21 10:52:57 -05:00
Colin Walters 835e0eae59 ostbuild: In chroot build, reuse source directory basename
This ensures that the output artifacts are named correctly, and not
"source".
2011-12-20 18:45:20 -05:00
Colin Walters acca018e57 ostbuild: Ensure private libraries are in runtime, and kill .la files
A regular libfoo.so not in one of the regular directories should go in
runtime.  (Probably we should double check it's a regular file too).

Also, delete .la files unconditionally.
2011-12-20 18:42:27 -05:00
Colin Walters 5f3b029638 ostbuild: Flesh out chroot build to use ostbuild-user-chroot
One thing that made this take significantly longer than it might
have otherwise is that we have to keep PWD "up to date" - otherwise
we hit bugs in glibc's getcwd() implementation.
2011-12-19 21:44:32 -05:00
Colin Walters db9b7b7be6 osbuild: Make a MS_NOSUID bind mount over /
This closes a serious issue in that we still do a uid switch to 0 when
executing a suid binary, even though we're not gaining capabilities.
2011-12-12 12:13:32 -05:00
Colin Walters 15d23546ff user-chroot: Add --unshare-pid, --unshare-net, and --mount-proc
To use CLONE_NEWPID we have to actually call clone() because it's
not supported by unshare().

To enable CLONE_NEWPID to be useful, we have to allow creating a new
proc mount rather than binding an existing one.
2011-12-07 10:52:42 -05:00
Colin Walters fbb09d71a6 ostbuild: Add --unshare-ipc flag for user-chroot
This optionally closes down more paths to the host, which is
a good thing.
2011-12-07 09:48:38 -05:00
Colin Walters fb5ecdac42 ostbuild: Also allow making directories read-only 2011-12-06 19:36:42 -05:00
Colin Walters a4b249e333 ostbuild: Clarify "safely" for user-chroot 2011-12-06 14:39:30 -05:00
Colin Walters d32b2cb572 ostbuild: Recursively make mount points private
This ensures we're not going to mutate any global state.
2011-12-06 14:36:57 -05:00
Colin Walters 3042724698 ostbuild: Allow binding arbitrary directories, don't hardcode /proc /dev
This is just more flexible, and eventually we want this to be a
generic user-chroot tool.
2011-12-06 14:06:45 -05:00
Colin Walters 0fb40b201f ostbuild: Ensure user chroot mounts are not shared
It's possible that the root filesystem mount is global; we need
to undo that in order to be sure that our "private" bind mounts
really are private.
2011-12-06 12:18:17 -05:00
Colin Walters e68d0d25c0 ostbuild: Update user-chroot to bind mount /proc and /dev 2011-12-06 10:43:01 -05:00
Colin Walters 7093ed4c57 ostbuild: ostbuild-user-chroot: New Linux-specific utility for safe chroots 2011-12-04 17:09:03 -05:00
Colin Walters e8865af09e core: Split pull functionality into separate ostree-pull binary
This is to avoid everything depending on libsoup.
2011-11-30 09:21:14 -05:00
Colin Walters 654a2c295d ostbuild: Relicense under LGPLv2+, tweak artifact generation 2011-11-29 16:15:04 -05:00
Colin Walters 86adf002ff ostbuild: Don't run fakeroot if we are root
For efficiency reasons, as well as a quick shortcut to avoid pulling
fakeroot into the gnomeos yocto layer.
2011-11-27 20:31:23 -05:00