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