360 Commits

Author SHA1 Message Date
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
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