Commit Graph

509 Commits

Author SHA1 Message Date
Colin Walters 5b2a5d1dd1 ostbuild: Make use of --recompose 2012-01-06 14:07:12 -05:00
Colin Walters b8480a3a4c gnomeos: Initial commit should be a compose
This is just cleaner - we know where the ref came from, rather
than making it a copy, and also we can use it with the new
--recompose bits to keep adding to it.
2012-01-06 14:05:51 -05:00
Colin Walters 95d0e94370 core: Make --recompose skip passed arguments if they were already composed
This allows us to do "--recompose -b foo bar baz" and add bar and baz
iff they weren't already there.
2012-01-06 14:04:39 -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 99f19440d0 gnomeos: Switch to GNU tar 2012-01-05 19:10:26 -05:00
Colin Walters 5119cbdb7c core: Add --no-xattrs option for commit
Will be used by ostbuild.
2012-01-05 19:10:26 -05:00
Colin Walters 5c3614d644 core: Error out cleanly if user attempts to commit an empty tree 2012-01-05 18:27:21 -05:00
Colin Walters 5b0084994e gnomeos: We can now build gobject-introspection 2012-01-03 19:09:12 -05:00
Colin Walters bd4fc401e4 gnomeos: Add python-dev to devel image, drop pseudo
We need python-dev for gobject-introspection at least, and we don't
need pseudo at this time.
2012-01-03 19:07:02 -05:00
Colin Walters e39372e88b gnomeos: Add python-misc too so we get argparse
For some reason in the current yocto argparse is in python-misc.
2012-01-03 19:04:17 -05:00
Colin Walters 2188769208 gnomeos: Include Python files in main ostree package 2011-12-27 18:09:24 -05:00
Colin Walters adf0cf60aa .gitignore: Also ignore _build
This is automake's default build directory.
2011-12-27 10:36:36 -05:00
Colin Walters 1ae5149a3d core: Make compose skip commit if tree is identical
This was a new option for commit, but we always want to do it
for a compose.
2011-12-27 10:32:28 -05:00
Colin Walters af62271eed tests: Fix metadata test, we removed the spurious = 2011-12-27 10:31:23 -05:00
Colin Walters 31ba50b809 core: Add --print-metadata-key option for show
Useful for tools to extract simple metadata.
2011-12-26 22:09:14 -05:00
Colin Walters 8854ec59be Add an initial man page - ostree(1)
Heavily cribbed from systemd - thanks Lennart!
2011-12-23 18:46:19 -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 649d7c3ecf gnomeos: Add --skip-if-unchanged for yocto commit, also show a diff after building
We don't want to make new commits if nothing changed.
2011-12-23 07:45:13 -05:00
Colin Walters 1687f3efa8 core: Add --add-metadata-string option for commit
A convenience function for the common case of slapping a string into
the metadata.
2011-12-23 07:17:46 -05:00
Colin Walters 2e48474263 core: Fix libarchive test count 2011-12-23 07:12:03 -05:00
Colin Walters 3e59cc1305 core: Add --tar-autocreate-parents option for commit
The tar files we're making of artifacts don't include parent
directories.  Now we could change the builder to make them, but we can
also just autocreate them on import.  Mode 0755 with no xattrs seems
OK here.
2011-12-23 06:49:04 -05:00
Colin Walters 4bbc99fb1d core: Fix build with libarchive disabled 2011-12-22 19:52:30 -05:00
Colin Walters dab4611263 core: Add --skip-if-unchanged option for commit
There's not much point for OS builds to have "empty" commits.
2011-12-22 18:47:30 -05:00
Colin Walters d8ea31e24e core: Add some more sanity checks to pull when parsing metadata 2011-12-22 17:00:58 -05:00
Colin Walters 786ce3b560 core: Preemptively error out on paths longer than PATH_MAX
Just noticed this while thinking like an attacker.
2011-12-22 16:50:01 -05:00
Colin Walters 3292dcb6d6 core: Allow / in ref names like git does
Using / is nice basically.
2011-12-22 15:59:47 -05:00
Colin Walters a47556432b gnomeos: Update yocto commit script for new commit commandline syntax 2011-12-22 13:19:30 -05:00
Colin Walters 9bcd4ff8aa core: Use global random object
We were pointlessly creating a new rand (and thus opening /dev/random)
on every temp file creation, but still using the global rand.
2011-12-22 11:23:16 -05:00
Colin Walters 0018b6d75f core: Drop unix::is-mountpoint from fast queryinfo flags
If this is present, we call access() and stat() on the parent
directory.
2011-12-22 11:07:55 -05:00
Colin Walters d25f1bf73d core: Use GFile for repo constructor API, and a bit more internally
Also, ensure that the repo directory GFile is absolute - this avoids
a getcwd() syscall every time we construct a GFile object.
2011-12-22 11:04:08 -05:00
Colin Walters 8a499c4a2a core: Add --recompose option for compose
This will allow us to easily regenerate a compose without passing the
full list of components each time.
2011-12-22 10:29:16 -05:00
Colin Walters e9fd921afe core: Change compose to operate purely in-memory
This is *significantly* faster than checking out each branch into the
real filesystem, then importing it again.
2011-12-21 21:42:13 -05:00
Colin Walters add55849ab core: Allow specifying a previous commit tree as a basis for a new commit
It's pretty trivial to map a previously existing commit tree into a
mutable tree too.  While we're here change the command line arguments
for commit so that we can now properly overlay any combination of
directory, commit, or tarfile.
2011-12-21 20:10:10 -05:00
Colin Walters c8377c7c5c core: Expose more details of commit via API
Rather than offering high level "commit directory", instead perform
operations on a mtree.  Commits are treated more like regular objects.

Change the commit builtin to drive this all at a lower level.
2011-12-21 18:58:44 -05:00
Colin Walters 59281d5901 core: Add omitted mutable tree files 2011-12-21 18:58:27 -05:00
Colin Walters 72257bab2b core: Rename "store" public APIs to "stage" since that's what they do 2011-12-21 17:13:04 -05:00
Colin Walters 06548f137e core: Make OstreeRepoFile "public"
* "ls" used it
* It's not like our internal API is 100% stable anyways
* The _ is ugly
2011-12-21 13:41:38 -05:00
Colin Walters 2b7a83d1cc core: Add new "mutable tree" class, use it for tar file import
The tar import code forced the resuscitation of a hackish "FileTree"
data type for representing an in-memory tree.  Split this out
into an OstreeMutableTree class for future use by any other in-memory
tree construction.
2011-12-21 13:34:10 -05:00
Colin Walters 14d682305b core: Remove dead code from OstreeRepoFile
Originally I thought it would make sense for OstreeRepoFile to be
mutable, and it probably does, but we should do it in a different way.
2011-12-21 11:01:41 -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 bdfde03b61 core: Support committing multiple tarballs in the same transaction
ostbuild will generate two artifacts: foo-runtime.tar.gz and
foo-devel.tar.gz in the general case.  When committing to the devel
tree, it'd be lame (i.e. slower and not atomic) to have to commit
twice.
2011-12-20 17:21:15 -05:00
Colin Walters d444ee917d gnomeos: Rename images to "runtime" and "devel"
They're just better names, and this matches what the
default artifact splitter is doing now.
2011-12-20 14:44:51 -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