Commit Graph

320 Commits

Author SHA1 Message Date
Colin Walters 5dd62af628 ostbuild: Stop using "compose" to make buildroots
It pollutes the repository with a combinatorial explosion of .dirtree
metadata files, and we don't really need to track buildroots at that
level.
2012-03-13 10:39:25 -04:00
Colin Walters 5275e8d6b2 ostbuild: Drop "commit-artifacts" builtin
It's long since dead.
2012-03-13 10:39:25 -04:00
Colin Walters c11cefb99b ostbuild: Kill "autodiscover-meta"
No longer needed.
2012-03-13 10:39:25 -04:00
Colin Walters d3059d254b ostbuild: Adapt "status" to expanded manifest 2012-03-13 10:39:25 -04:00
Colin Walters ff81b21bcf ostbuild: Adapt "build" to newly updated expanded manifest 2012-03-13 10:39:25 -04:00
Colin Walters c71770c08c ostbuild: Write out separate arch-component snapshots 2012-03-13 10:39:25 -04:00
Colin Walters c3debe0fb6 ostbuild: 'checkout' command now also applies patches 2012-03-13 10:39:25 -04:00
Colin Walters d8eebaa2d1 ostbuild: Pull patches from specified patches git repository
We need to be more formal about where we get patches from, and more
specifically what version.  Let's assume they're also stored in a git
repository that we fetch, instead of copying them from "wherever the
manifest is".

This meshes nicely with splitting between manifest.json and
snapshot.json.
2012-03-13 10:39:25 -04:00
Colin Walters 6890444f28 ostbuild: Change metadata keys for artifacts
"ostbuild-name" is important to tie back in to the snapshot.
"ostbuild-revision" is shorter than ostbuild-artifact-version.
2012-03-13 10:39:25 -04:00
Colin Walters 12f2f8929d ostbuild: Copy snapshot JSON into artifact trees
This is kind of a hack...but...
2012-03-13 10:39:25 -04:00
Colin Walters d2f298488f ostbuild: Sort keys in JSON snapshot 2012-03-13 10:39:25 -04:00
Colin Walters b8e3f622f1 ostbuild: Rename build manifest to "snapshot.json"
It was confusing having two manifests.  "snapshot" matches the
jhbuild term for the same thing.
2012-03-13 10:39:24 -04:00
Colin Walters 40aedeb7a4 ostbuild: Move more intelligence into chroot-compile-one
Let's have chroot-compile-one be the core logic for composing a
buildroot, etc.  This allows us to use it as a developer tool by
checking out a tree, then doing a chroot build.
2012-03-13 10:39:24 -04:00
Colin Walters db93c43255 core: Fix "cat" crashing when it should have returned ENOENT 2012-03-08 12:10:58 -05:00
Colin Walters eb4302517f core: Fix crasher in "rev-parse" 2012-03-08 12:10:58 -05:00
Colin Walters 76bc35186e core: Add --union mode to checkout
This is another step towards ostbuild using this instead of the
"compose" builtin.
2012-03-06 11:59:06 -05:00
Colin Walters 83fb6d56e1 core: Don't call unlink() on directory if it already exists
If we fail to make a directory because it exists, we shouldn't call
unlink() on it.
2012-03-06 11:59:06 -05:00
Colin Walters 1513f29495 core: Pull diff functionality out into "diff" builtin
There's no good reason for this to be in core when it's only in use by
the diff builtin.
2012-03-06 11:59:06 -05:00
Colin Walters 4db485dd5f core: Add "subpath" option to checkout
Will be used by ostbuild to extract e.g. /runtime or /devel from
artifacts.
2012-03-06 11:59:06 -05:00
Colin Walters 1f7d776a18 core: Improve checkout API
Expose the lower-level functionality in libostree, change checkout
builtin to be a higher level driver.  This will allow us to more
easily improve the "checkout" builtin..
2012-03-06 11:59:06 -05:00
Colin Walters f44b8aca44 core: Add ostree-types.h
This allows us to have circular references between the headers.
2012-03-06 11:59:06 -05:00
Colin Walters f484665bfe libotuil: Fix missing #define in header 2012-03-06 11:59:06 -05:00
Colin Walters e4849ebd2b mainloop: Don't create poll until we need to
This slightly optimizes the case where we speculatively create a
Mainloop we might not use.
2012-03-06 11:59:06 -05:00
Colin Walters da00891688 core: Allow 'rev-parse' to resolve multiple revs 2012-03-06 11:59:06 -05:00
Colin Walters eb7c3d01a3 core: Add 'cat' builtin 2012-03-06 11:59:06 -05:00
Colin Walters 9dc86d0f5e compose: Don't print trailing (null) if we skip committing
If we skip a commit due to an idential content parent, we shouldn't
print the (null) commit checksum.
2012-03-01 16:08:27 -05:00
Colin Walters 6829ab2260 pull: Allow pulling multiple specific refs 2012-02-28 13:17:03 -05:00
Colin Walters 19bc7ff85f prune: Fix two crasher bugs 2012-02-27 09:53:44 -05:00
Colin Walters 2440338968 pull: Add ability to fetch refs/summary if no ref specified
This allows us to fetch all refs, which is useful for ostbuild where
we do want the buildroot/ refs.
2012-02-27 08:37:51 -05:00
Colin Walters b783ebc189 core: Add API to validate rev 2012-02-27 08:37:37 -05:00
Colin Walters 810a3dac86 core: Write a refs/summary file for archive repositories
This will allow us to retrieve all refs over HTTP easily.
2012-02-27 06:20:42 -05:00
Colin Walters d3a73225b0 core: Add API to enumerate all refs 2012-02-27 05:58:42 -05:00
Colin Walters 6ff07e0b3e pull: Print download URLs by default, rather than requiring -v
Let's leave verbose for more debug-type stuff.
2012-02-26 08:35:26 -05:00
Colin Walters 5329f1706b core: Further fix fallout from archive mode files
Continuing from 16c0cfe9b5, we now have
the problem that we're removing the executable bit, which obviously
breaks things when we chroot in for a build.  Fix this by masking over
our bits.
2012-02-24 17:50:44 -05:00
Colin Walters 0e5919bde1 core: Disable Soup-gnome features for pull
Otherwise we get a dconf thread that tries to talk to the session bus.
I think this comes from the proxy settings lookup.
2012-02-24 17:26:17 -05:00
Colin Walters ab58faefef core: Disable Gvfs for binaries
Otherwise
1) Lots of unnecessary shit happens and I like my straces to be clean
2) There is no dbus session bus for system daemons or when we're run
   in a root context
2012-02-24 17:24:50 -05:00
Colin Walters 51916a7002 core: Look up refs like origin/foo correctly again
We want to support both "bare" lookups where "foo" can be local, or in
any remote, as well as prefixed ones for a specific remote.

This fixes ostree-pull noticing that nothing has changed.
2012-02-24 16:08:34 -05:00
Colin Walters a417ee3fed core: Add "prune" builtin
This should be useful on clients to trim old refs.  For example,
after an upgrade the system could do:

ostree --repo=/ostree/repo prune --depth=2 gnomeos-3.4-i686-runtime

This would remote all objects that aren't in the current build and the
previous one.
2012-02-24 10:23:35 -05:00
Colin Walters 16c0cfe9b5 core: Fix regression when committing symlinks in archive mode
Commit 802959f398 broke this because it
made all archived content files be S_IFREG, which is clearly wrong.
2012-02-24 10:05:26 -05:00
Colin Walters 14cda593d5 core: Correctly look up refs in remotes 2012-02-23 23:52:59 -05:00
Colin Walters 8145faecbf pull: Don't automatically uncompress data
This totally breaks when the file we're trying to request was already
gzip'd.  We don't want to uncompress e.g. man pages because that
breaks content-addressed storage.
2012-02-23 21:52:15 -05:00
Colin Walters 7907a853b4 pull: Incrementally write into temporary file
Rather than downloading into one big chunk in memory, then writing all
at once.
2012-02-23 19:20:36 -05:00
Colin Walters b2ad353b42 core: Store "pending" objects explicitly, fix pull to use them
Before we were creating randomly-named temporary files in repo/tmp
when downloading via pull, but that means if the download process is
interrupted, we have to redownload everything again.

Let's still keep the concept of a "transaction" where files are
stored in the repository as atomically as possible (i.e. we
do a bunch of rename() calls), but now we also have an explicit
"tmp/pending/objects" directory that contains named objects.

This allows us to then skip redownloading things that are pending.
2012-02-23 18:19:00 -05:00
Colin Walters 802959f398 core: Ensure .archive-content files are mode 0644
We don't want to inherit the permissions of the actual file, otherwise
trying to fetch e.g. /etc/passwd when being served via Apache httpd
will break.
2012-02-23 12:34:43 -05:00
Colin Walters dee30bda7c pull: Only fetch .archive-content for regular files
Otherwise e.g. Apache httpd might try to follow a symbolic link to
/bin/tinylogin which clearly won't work.
2012-02-23 12:30:01 -05:00
Colin Walters 0a195e6874 ostbuild: Make resolve fully expand config-opts, delete now-unnecessary vcsconfig
The source manifest format allows for compression, but it's more
convenient for consuming code if it's fully expanded in one place.
2012-02-22 15:17:42 -05:00
Colin Walters b26b981b0d ostbuild: Use correct directory for submodule update 2012-02-22 14:17:18 -05:00
Colin Walters 9939f1861d osbuild: Don't use linux-user-chroot for git submodules
On the ostree.gnome.org build server, LDAP is used for username
lookups, and git aborts if it can't look up the user.
2012-02-22 11:51:18 -05:00
Colin Walters 341096f18a ostbuild: Drop down to Python 2.6
Hopefully this gets us working on RHEL6.
2012-02-20 22:31:10 -05:00
Colin Walters 21f1ca364f triggers: Fix comparison function 2012-02-19 21:10:59 -05:00