Colin Walters
a7b917c856
core: Check out asynchronously
...
This can be a large performance win in certain circumstances:
* Cold buffer cache (we don't block the whole process)
* Requiring a copy instead of hardlink
2012-06-21 18:05:13 -04:00
Colin Walters
7cce6e5ba1
pull: Properly propagate errors
2012-06-20 15:42:41 -04:00
Colin Walters
ee98a0b4f7
core: Don't silence output of ostree-run-triggers
...
We want to see which triggers are being run by default.
2012-06-19 16:14:31 -04:00
Colin Walters
4d59080f46
triggers: Quiet GConf trigger
...
The default is just way, way too verbose.
2012-06-19 15:03:16 -04:00
Adrian Perez
bdc57338c1
Add fontconfig trigger
...
This wil regenerate the fontconfig caches, accounting for modifications in
the system font directories.
2012-06-13 17:58:53 +03:00
Colin Walters
35a80c8e39
core: Fall back to copying checkouts on EMLINK/EXDEV
...
The previous fix to just ignore symbolic links for hard linking isn't
really good enough, since it can happen for empty files too.
Since this is an optimization, when we get EMLINK, let's instead just
fall back to copying. This also applies to EXDEV.
2012-06-12 14:50:41 -04:00
Colin Walters
270dc05176
ostbuild: Move to gnome-ostree module
...
Since we want to keep "ostree" buildsystem-independent, let's move
ostbuild out into the gnome-ostree module.
http://git.gnome.org/browse/gnome-ostree/commit/?id=04ba1926e33b442af1e357460e4415d4c0311e87
2012-06-08 19:01:25 -04:00
Colin Walters
6aaa2089f0
ostbuild: Fix previous commit (this should have been amended)
2012-06-08 16:51:51 -04:00
Colin Walters
f4b6d88254
ostbuild: Fix -k option to git-mirror
2012-06-08 16:47:23 -04:00
Colin Walters
13b37ddaa2
ostbuild: Allow specifying components to git fetch
2012-06-07 10:19:28 -04:00
Colin Walters
210fbc3daf
ostbuild: Add rootdir argument to deploy-qemu
2012-06-06 15:43:42 -04:00
Colin Walters
2c385c0078
ostbuild: Fix circular dependency between resolve and git-mirror
...
git-mirror was looking for the latest snapshot, which we don't
have until we resolve.
This leads to some code duplication.
2012-06-06 12:56:48 -04:00
Colin Walters
a14ff0aeab
core: Fix mkdtemp invocation
2012-06-06 10:03:15 -04:00
Colin Walters
c436f8ac61
ostbuild: Add -k option to git-mirror
...
libwacom's sourceforge git server was down...
2012-06-05 22:55:53 -04:00
Colin Walters
e485bace01
pull: Download and checksum asynchronously
...
This is quite a noticeable speedup when downloading loose objects.
2012-06-05 22:38:17 -04:00
Colin Walters
df54408e5d
core: Fix memory leak
2012-06-05 22:32:03 -04:00
Colin Walters
8f2dda3e25
core: Just require libsoup, not libsoup-gnome
2012-05-31 10:25:41 -04:00
Colin Walters
cbd4ade053
core: Switch to using mkdtemp() so we only depend on GLib 2.28
...
We claim to build against 2.28, let's actually make it work.
2012-05-29 22:34:11 -04:00
Colin Walters
f438d9aaa6
core: Drop some dead temporary file code
2012-05-29 22:09:31 -04:00
Matthias Clasen
90aff4f2f6
Trivial: fix a typo
2012-05-26 18:48:06 -04:00
Colin Walters
d3b063cec0
ostbuild: Have resolve use git-mirror rather than duplicating code
...
This also brings us back to a sensible world of:
ostbuild resolve --fetch
Doing both fetch *and* writing out the updated revisions.
2012-05-26 12:10:51 -04:00
Colin Walters
9582effb8d
core: Don't checkout symbolic links via hardlink
...
Doing so can easily get us up to the maximum ext4 hardlink count.
2012-05-26 11:55:12 -04:00
Colin Walters
1ef6bb0ef6
ostbuild: add --diffstat option for source-diff
2012-05-25 15:01:41 -04:00
Colin Walters
9c27f1de99
core: Remove leftover debug print
2012-05-25 09:55:10 -04:00
Colin Walters
88b3440eef
core: ostree-pull: Add --depth option
...
This is useful for getting say the last 10 builds.
2012-05-24 20:58:20 -04:00
Colin Walters
fb71519cd6
core: Attempt direct link() and fallback on EEXIST
...
Rather than always doing:
1) make temporary link
2) unlink() target
3) rename()
Just try making the link, and only do the second two if the file
already exists. This reduces system call traffic a lot.
2012-05-24 20:14:51 -04:00
Colin Walters
f7bbf41132
ostbuild: Add 'tag' concept to manifest, improve git mirroring
...
We should explicitly distinguish between the case where we have a git
branch we're following, versus an immutable tag. In the latter case,
we can entirely avoid running 'git fetch' for it once we have it.
This is a noticeable speedup in our current scenario of pinning WebKit
to a tag.
The git mirroring code now has a --fetch-skip-secs=X option which
allows us to basically run it in a loop, without hitting remote git
repositories too often.
2012-05-24 19:54:36 -04:00
Colin Walters
0d1ba45c73
ostbuild: git-mirror: Also fetch patches git
2012-05-24 18:11:06 -04:00
Colin Walters
1a5ea54aff
core: Make OstreeRepo struct private
2012-05-23 18:08:52 -04:00
Colin Walters
6c006815ce
ostbuild: Fix --debug-shell option
2012-05-23 18:02:08 -04:00
Colin Walters
893774aab5
core: Make device/inode loose object cache work for parent repos too
...
Otherwise ostbuild suddenly becomes significantly slower when using a
shadow repo.
2012-05-23 07:48:16 -04:00
Colin Walters
b45a0803fe
ostbuild: Few more misc fixes
2012-05-22 08:26:17 -04:00
Colin Walters
95f66e1157
ostbuild: Fix typos in component lookup path
2012-05-21 18:41:59 -04:00
Colin Walters
9bd36f9bff
ostbuild: Enhance source-diff with --log and --logp options
2012-05-18 20:25:02 -04:00
Colin Walters
6d59b4077c
ostbuild: Add source-diff builtin
...
OMG OMG OMG
2012-05-18 20:12:35 -04:00
Colin Walters
58d28ad5a6
core: Rearrange code for clarity (doesn't actually fix leaks)
2012-05-18 20:12:17 -04:00
Colin Walters
790d2757f6
ostbuild: Drop dead branch-prefix and pull-components
...
And other various tweaks.
2012-05-18 16:30:45 -04:00
Colin Walters
32020e55c8
ostbuild: Various fixes, removal of dead code
2012-05-18 16:30:45 -04:00
Colin Walters
ecfd9b2cf3
ostbuild: Remove /var from components
...
We expect them to create on demand.
2012-05-18 16:30:45 -04:00
Colin Walters
a3246d590e
ostbuild: Fix git-mirror
2012-05-18 16:30:45 -04:00
Colin Walters
bcab6748a5
ostbuild: Some work on qemu deployment
2012-05-18 16:30:45 -04:00
Colin Walters
3a20f6a913
ostadmin: Update for new trees/ location of trees
2012-05-18 16:30:45 -04:00
Colin Walters
6e2efc6134
ostbuild: Add import-tree
...
This is the new workflow:
$ ostbuild import-tree wip-gnome-menus-3.6
$ $EDITOR ~/build/ostbuild/snapshots/wip-gnome-menus-3.6-2012.1-abcd.json
$ ostbuild build
2012-05-18 16:30:45 -04:00
Colin Walters
f4aba2a339
ostbuild: Tighten build process significantly
...
First, "resolve" now just picks git commits. We don't expand
config-opts and patches, nor do we generate tree contents. This makes
the generated files *much* more human editable.
Next, fold "build-components" and "compose" into just "build". One
never really wants to just build components. This lets us eliminate
binary snapshots as a concept; instead we always have a combination of
source snapshot and component/ refs.
2012-05-18 16:30:45 -04:00
Colin Walters
92244c80cc
ostbuild: More work on partial builds
2012-05-18 16:30:44 -04:00
Colin Walters
eae69513a7
ostbuild: Make partial builds work
...
If we have component-revisions in our source+binary snapshot, then
we can skip them.
2012-05-18 16:30:44 -04:00
Colin Walters
5d0744ea29
ostbuild: Write out related objects on composes
2012-05-18 16:30:44 -04:00
Colin Walters
829a760b56
ostbuild: Minor fixes
2012-05-18 16:30:44 -04:00
Colin Walters
65165ff1df
ostbuild: Make binary snapshots an extension of source
...
This significantly simplifies things; we no longer need to retrieve
individual components via 'pull-components', etc.
2012-05-18 16:30:44 -04:00
Colin Walters
4f95106cda
core: Prefer packed metadata
2012-05-18 16:30:44 -04:00
Colin Walters
f95090095e
core: Map metadata from repository as trusted
...
ot_util_variant_map() assumed untrusted; add a boolean, and use it for
the repository internals.
2012-05-18 16:30:44 -04:00
Colin Walters
cf53ed5cef
core: Limit recursion during traversal
...
The related objects commit introduced OSTREE_MAX_RECURSION; use it.
2012-05-18 16:30:44 -04:00
Colin Walters
cd38cb1489
core: Add write-refs builtin
...
This will be used by import-tree to pipe refs to write.
2012-05-14 21:58:22 -04:00
Colin Walters
d7a15b381e
core: Allow adding related objects to commits
...
This will be used to store the set of components.
2012-05-14 21:58:22 -04:00
Colin Walters
50cc2356f4
core: Really fix saving variants with REPLACE_DESTINATION
2012-05-14 20:49:00 -04:00
Colin Walters
6d9de91672
core: Make argument parsing more robust against "lt-ostree" name
...
When running uninstalled, we were parsing our argv[0] incorrectly.
2012-05-14 11:31:53 -04:00
Colin Walters
102180c5f2
core: Replace pack superindex via rename() rather than truncating
...
This helps allow cloning repositories via "cp -al".
2012-05-14 11:22:18 -04:00
Colin Walters
2fbf864251
core: Clarify error message
2012-05-14 11:22:18 -04:00
Matthias Clasen
5a1a300892
ostree-pull: Avoid an uninitialized variable warning
2012-05-12 10:51:01 -04:00
Matthias Clasen
225cebd5ef
core: fix a typo
...
ostree config had two 'set' subcommands, but no 'get'.
2012-05-12 10:50:53 -04:00
Colin Walters
4fa14eb712
core: Don't look in packs if we found loose object
...
Unless the caller wants us to; which at present none do, but let's be
forward looking and add an option.
2012-05-12 10:46:25 -04:00
Colin Walters
6fbe15fc05
ostbuild: Add ostree-revision in buildroots, bin-to-src
...
First, for binary snapshots we need to include the exact revision of
the architecture buildroot. To do that, introduce
"architecture-buildroots2".
Second, for bin-to-src, we'd like to allow "partial" builds. So while
we do expand everything to source, *also* include the binary
ostree-revision. This will allow building just one component, while
reusing the previously built binaries.
2012-05-10 14:29:23 -04:00
Colin Walters
d1b23f0807
ostbuild: Fix pull-components
...
We need to pull the actual commits, not the refs.
2012-05-10 10:30:02 -04:00
Colin Walters
488ce33795
pull: Use API to stage files with length
...
Not doing so at the moment triggers a bug in the staging path, and
it's more efficient anyways.
2012-05-10 10:29:26 -04:00
Colin Walters
c6df0b0ae0
pull: Add --prefer-loose option
...
This is a hack...
2012-05-10 09:54:56 -04:00
Colin Walters
efc2810f02
core: unpack: Add --keep-packs option
...
Matches the pack --keep-all-loose.
2012-05-10 09:47:24 -04:00
Colin Walters
a04ef7ba10
core: Fix ostree-pull to be able to look up remotes in parent repo
...
We should probably add a generalized inheritance mechanism.
2012-05-10 08:50:37 -04:00
Colin Walters
f33a2f9a08
core: pack: Keep loose objects which are referenced externally
...
By default, don't delete loose objects which have hard links. This
has the natural semantics that if you delete all the checkouts, you
probably want it packed.
Conversely, if it has a hard link, we do want further checkouts to
share storage, even if we pack in between them.
2012-05-09 23:20:36 -04:00
Colin Walters
d8b97316d9
core: unpack: Actually delete no-longer-needed pack files
2012-05-09 23:19:54 -04:00
Colin Walters
fdf05be216
ostbuild: resolve: Add --fetch-patches option
...
This is kind of lame, but...
2012-05-09 19:46:29 -04:00
Colin Walters
7149530976
ostbuild: Allow using dirty-git: for patches too
2012-05-09 19:40:24 -04:00
Colin Walters
92891e60ca
ostbuild: Use .lastfetch file per branch
...
This way we don't try to update gtk+ twice, once for gtk master and
once for gtk-2-22.
2012-05-09 19:36:46 -04:00
Adrian Perez
bd6bd0eed5
ostree-pull: Fix segfault by initializing pull_data earlier
...
In the case of not being able to check the repository or not being able
to parse command line arguments, attributes from "pull_data" would be used
with garbage in them. This patch makes initialization of the sctructure to
happen earlier so it is safe to use in those cases.
2012-05-09 14:10:23 -04:00
Colin Walters
d9bc7e0acd
ostbuild: build-components: Ensure specifying components forces rebuild
2012-05-09 12:46:04 -04:00
Colin Walters
d2da92be07
Move gnomeos/ to "gnome-ostree" module
...
Now that we're hopefully going to be changing the format less. The
layering here is now more clear, rather than having things entangled.
2012-05-09 09:29:27 -04:00
Colin Walters
dfbf1f7ac6
ostadmin: Use /ostree for current working directory of checkouts
...
Otherwise we put them in the wrong place.
2012-05-08 10:21:38 -04:00
Colin Walters
9179d1b27a
ostadmin: Make a /ostree/current symbolic link
2012-05-08 09:14:03 -04:00
Colin Walters
18b6f5fd0c
ostadmin: Initial code
2012-05-07 20:43:03 -04:00
Carl-Anton Ingmarsson
1de0cc238b
ostbuild: further fixes to pull-components
...
Call self.parse_config() so that all necessary directories are parsed.
Also don't call nonexistant self.parse_active_branch() and just use
self.active_branch since it's already have been initialized.
2012-05-07 17:54:04 -04:00
Colin Walters
f487500e50
ostbuild: Default to (previous) --skip-built
...
For components specified on the command line, we now force a rebuild.
There's also a new option to skip if the git revision matches, but
metadata changed (useful for now to avoid cascading builds if you know
you don't need it).
2012-05-07 17:51:12 -04:00
Matthias Clasen
2ca6f04265
ostbuild: make pull-components work
...
This builtin did not work for me. It did not initialize self.repo,
it used the nonexisting parse_active_branch function unconditionally,
and it did not actually find the list of components in contents.json.
This commit fixes all three of these issues.
2012-05-06 14:09:28 -04:00
Matthias Clasen
ae0b4ac628
Fix a typo
2012-05-06 13:57:09 -04:00
Matthias Clasen
07f67f3baf
ostree: avoid a segfault
...
When running ostree --repo=/ostree/repo without further arguments,
we end up calling strcmp with one argument being NULL.
2012-05-06 13:56:57 -04:00
Matthias Clasen
4a03176489
checkout: Deal gracefully with bad input
...
I had a /ostree/gnomeos-3.4-i686-devel directory, and this caused
ostree --repo=repo checkout gnomeos-3.5-i686-devel
to segfault.
2012-05-06 09:23:49 -04:00
Colin Walters
c0e73c9fa0
core: pack: Fix calculation of size of pack objects
...
In archive mode, due to the previous change, we're now only
looking at metadata size, which is clearly wrong.
2012-05-05 16:00:53 -04:00
Colin Walters
a0ad28c16c
core: pull: Fix regression from memory leak fixes
2012-05-05 14:59:14 -04:00
Colin Walters
38dd179017
core: Compile again on GLib 2.28
2012-05-05 11:45:19 -04:00
Colin Walters
ba1c75c61b
ostbuild: Drop use of link cache, it's gone now
2012-05-05 09:54:42 -04:00
Colin Walters
9aa9397e42
ostbuild: Create deploy-qemu subcommand
2012-05-04 16:16:16 -04:00
Colin Walters
a2d937c2f0
triggers: Print name of each trigger we're running
2012-05-04 16:16:16 -04:00
Adrian Perez
5835bb72b4
ostbuild: Make --shell-on-failure flag to work
...
Fixes an issue which would cause ostbuild to fail to spawn the
debug shell and print a traceback instead.
2012-05-04 16:16:16 -04:00
Colin Walters
0597a3f71c
ostbuild: More work on deploy commands
2012-05-04 16:16:16 -04:00
Colin Walters
3a365521a8
ostbuild: Use --from-file for buildroot compose for easier debugging
2012-05-04 16:16:16 -04:00
Colin Walters
8785fefda8
ostbuild: Rename shadow-repo-init -> init
2012-05-04 16:16:16 -04:00
Colin Walters
851a9c2ce9
ostbuild: Checksum full component metadata for --skip-built
...
If we're using --skip-built, we really do want to rebuild if anything
changed (like the build dependency, configure arguments etc.)
2012-05-04 16:16:16 -04:00
Colin Walters
29b230107e
ostbuild: Break out git-mirror from resolve
...
Other bits
2012-05-04 16:16:16 -04:00
Colin Walters
986cd2172b
ostbuild: Use expanduser
2012-05-04 16:16:16 -04:00
Colin Walters
938f4eaf44
ostbuild: Lots more
2012-05-04 16:16:16 -04:00
Colin Walters
b845e0a2bb
ostbuild: Resolve takes --manifest arg
2012-05-04 16:16:16 -04:00
Colin Walters
a6a8e00edf
ostbuild: Add tree-to-bin and bin-to-src
2012-05-04 16:16:16 -04:00
Adrian Perez
0e266d3f92
ostbuild: Fix DB saving with /tmp and builddir in different volumes
...
This fixes the case where /tmp resides in one volume, and the build
directory in a different one: by storing the temporary file in the
same directory as the target one, we avoid the case in which os.rename()
would cross file system boundaries.
Reviewed-by: Colin Walters <walters@verbum.org>
2012-05-04 16:16:16 -04:00
Colin Walters
717cec46c3
ostbuild: Major rework
2012-05-04 16:16:16 -04:00
Colin Walters
7280ce358d
ostbuild: Show ostbuild log messages in warningfilter again
2012-05-04 16:16:16 -04:00
Colin Walters
d040b61d19
core: checkout: Add --from-file option too
...
Easier for debugging if we don't have to redirect stdin.
Conflicts:
src/ostree/ot-builtin-checkout.c
2012-05-04 16:15:20 -04:00
Colin Walters
0660d9e5cf
core: Improve error message if we hit an unreadable file
2012-05-04 16:14:47 -04:00
Colin Walters
26c484faed
core: Add a mutex to cache data structures in preparation for threading
...
Conflicts:
src/libostree/ostree-repo.c
2012-05-04 16:14:28 -04:00
Colin Walters
6cdbedf4e6
core: pull-local: Be a bit more verbose, don't open objects we already have
2012-05-04 16:13:44 -04:00
Colin Walters
ac38a7e1b1
core: Avoid checksumming hardlinks that point into repository
...
By default, when doing a commit, scan all of our loose objects and
build up a (device,inode) -> checksum hash. Then when we're doing a
commit, if we see a file with that (device,inode) pair, we can avoid
checksumming it.
2012-05-04 16:10:30 -04:00
Colin Walters
0fc291b954
core: Drop --link-cache option, we do it by default now for archives
2012-05-04 16:10:30 -04:00
Colin Walters
27358a8de6
core: [INCOMPATIBLE CHANGE] Re-split archive content into .file and .filecontent
...
This will allow us to use hard links again for user-mode checkouts,
rather than the hackish link cache. It was pretty silly anyways to
have file objects be stored with just a small metadata header
prepended, but uncompressed.
Either they should be hardlinkable, or compressed (in pack files).
2012-05-04 16:10:30 -04:00
Colin Walters
3321fa08d7
core: Handle zero-sized archives, improve fsck error message
2012-05-04 13:40:25 -04:00
Colin Walters
8d926c3e36
core: Add valgrind framework, plug various memory leaks
2012-05-04 10:04:32 -04:00
Colin Walters
7ce587da30
core: Optimize commits to raw repositories
...
Avoid creating a temporary intermediate file in the case where we have
the total object length available.
2012-05-04 06:15:47 -04:00
Colin Walters
67f61976f4
core: Clean up object storage API
...
Rather than passing xattr/file_info for all objects, change the API to
assume we're passing the defined object stream for each type. Namely,
for OSTREE_OBJECT_TYPE_FILE, we're now giving the "archive file" data.
This significantly cleans up the code for committing to archive mode
repositories, at the cost of having to (at present) create an
intermediate temporary file when committing to raw repositories.
2012-05-03 19:59:13 -04:00
Colin Walters
99cb8a80fa
daemon: Use g_thread_new() for GLib 2.32
2012-05-03 16:07:18 -04:00
Colin Walters
ff3867c052
core: Increase type safety of some local alloc functions
2012-05-03 16:05:53 -04:00
Colin Walters
749bf56917
core: Fix gcc uninitialized-variable warning
2012-05-01 18:53:00 -04:00
Colin Walters
d4321629f4
core: Rename local-clone to pull-local
...
Also change it to copy selective refs, rather than enumerating
all objects.
2012-05-01 17:44:29 -04:00
Colin Walters
8d6bdaedfe
core: Fix 32/8 bit confusion in pack index listing
2012-05-01 17:44:14 -04:00
Colin Walters
233558d230
core: diff: Fast path unmodified directories
2012-04-29 12:15:12 -04:00
Colin Walters
9cb87ffc07
core: pack: Add --metadata-only argument
...
Useful for bare repositories.
2012-04-29 12:15:12 -04:00
Colin Walters
da3b17be1e
core: Fix uninitialized variable
2012-04-26 11:52:26 -04:00
Colin Walters
bf3abd02cd
core: local-clone: Delete leftover code assuming file objects are loose
2012-04-25 09:44:46 -04:00
Colin Walters
5947b5b145
core: Add ability for repositories to have a "parent"
...
This will be useful for ostbuild; a user can create their own archive
mode repository which transparently inherits objects from the
root-owned one in /ostree.
2012-04-18 23:12:34 -04:00
Adrian Perez
99142ef417
switchroot: Properly check for number of arguments
...
The ostree-switch-root tool expects three arguments (argc=4): new root, OS
tree target, and init(8) binary to launch inside it. Also, the error message
when not enough arguments are passed now tells about the second argument
being the target OS tree.
Reviewed-by: Colin Walters <walters@verbum.org>
2012-04-18 15:20:46 -04:00
Colin Walters
255b7d1309
core: Pull pack files individually
2012-04-16 18:17:11 -04:00
Colin Walters
3f02a1fd56
core: Cache pack indexes
...
This is a 10x speedup on heavy users of ostree_repo_find_object(),
such as ostree-pull.
2012-04-16 18:17:06 -04:00
Colin Walters
920cbbc242
triggers: Test for gconftool-2
...
This was done for the rest of the triggers.
2012-04-13 16:11:03 -04:00
Colin Walters
863384b90d
ostbuild: Take advantage of link cache
...
This greatly speeds up construction of buildroots.
2012-04-13 16:10:40 -04:00
Colin Walters
262f426997
core: Add --link-cache option to checkout
...
This is a convenient way to have a lookaside directory of hard links,
which can greatly speed up checkouts. In the future we probably want
to push this down into the repository.
2012-04-13 14:33:38 -04:00
Colin Walters
38ef75e6e0
core: Re-unify on one OSTREE_OBJECT_TYPE_FILE
...
Having the archived vs not distinction in the object system wasn't
useful in light of pack files. In fact, we should probably move
towards generating a pack file per commit by default.
2012-04-11 22:27:59 -04:00
Colin Walters
f15c184584
core: Clean up checksumming
...
Don't expose GChecksum in APIs. Add a new stream class which allows
us to pass an input stream somewhere, but gather a checksum as it's
read.
Move some bits of the internals towards binary csums.
2012-04-11 22:04:06 -04:00
Colin Walters
fa4cbc8b89
core: Drop wrapping of metadata variants
2012-04-11 22:04:05 -04:00
Colin Walters
5a82b141ae
core: Split pack files into data/metadata
...
This will allow us to download metadata first (separately), and in the
future we can have an improved metadata pack format that compresses
heavily.
2012-04-11 22:04:05 -04:00
Colin Walters
11c0fbc738
core: Switch to 'ay' for checksums, drop versions/metadata
2012-04-11 22:04:00 -04:00
Colin Walters
188621f0b2
core: Drop 'compose' builtin
...
We'll just add this functionality to commit.
2012-04-11 19:54:55 -04:00
Colin Walters
0e8149eb83
core: Clean up checksum API
...
We want to move towards guchar * for binary checksums.
2012-04-11 19:54:55 -04:00
Colin Walters
6542b8f5c9
core: unpack: Regenerate pack index after unpacking
2012-04-11 19:54:30 -04:00
Colin Walters
d63ec5c2ff
core: Fix uninitialized variables
2012-04-11 19:54:30 -04:00
Colin Walters
394fe75471
core: Port builtins to local alloc macros
2012-04-09 15:57:46 -04:00
Colin Walters
8b6bf09d7a
core: Port libostree to local alloc
2012-04-09 15:57:46 -04:00
Colin Walters
87f45052af
core: Port libotutil to local-alloc
2012-04-09 15:57:46 -04:00
Colin Walters
ca08ad6c5e
core: Add macros for local allocation
...
This is GCC-specific, but it makes the code significantly
cleaner.
2012-04-09 15:56:28 -04:00
Colin Walters
72398ab62c
core: Fix xattr API to conform to coding style
2012-04-09 15:56:27 -04:00
Colin Walters
3c39a5bfa7
core: Fix a minor memory leak
2012-04-09 14:18:00 -04:00
Colin Walters
74485bed35
core: pull: Add progress bar, allow pulling individual commits
2012-04-08 17:26:02 -04:00
Colin Walters
a69e4452b4
core: checkout: Add --from-stdin option
...
This allows checking out many branches in one go, useful in
combination with the --union flag for ostbuild to combine a lot of
components.
2012-04-06 15:11:11 -04:00
Colin Walters
92ab820c0b
ls: Add mode to print filenames as binary
...
This is useful to extract the file listing to another program.
2012-04-06 15:10:20 -04:00
Diego Escalante Urrelo
b64cd799dc
ostree-pull: GOptionEntry must be NULL terminated
2012-04-05 09:05:22 -04:00
Colin Walters
bae584c64a
core: Associate branches with remotes, move trigger runs into checkout
...
Also add --atomic-retarget option to checkout. This does the magical
symlink dance to do atomic swaps between trees.
2012-04-03 23:46:34 -04:00
Colin Walters
3f23ac156a
core: Clean up stale packfiles
2012-04-03 23:46:34 -04:00
Colin Walters
8792007bc1
core: Validate structure of objects in fsck
2012-04-03 08:52:58 -04:00
Colin Walters
10b2f30165
core: Make pull slightly more verbose
2012-04-03 08:52:44 -04:00
Colin Walters
9c7a47434d
core: Drop "staged" state for objects, refactor pull to split metadata/data
...
Previously we had the "staged" state to ensure we didn't add a commit
object without the associated dirtree, etc. However it's
easier/better to just ensure in the pull command that we have all
referenced objects.
Also change pull to download metadata first. This will allow adding
a progress bar later.
2012-04-02 19:52:22 -04:00
Colin Walters
56089abd43
core: Make fsck verify from commit objects
...
Rather than verifying every object, traverse all commit objects we
find. This is a better check, since primarily we care about being
able to check out trees. In the new packfile regime, this ensures
validity of packed data.
It also means we aren't checking loose objects that we most likely
don't care about.
2012-04-02 18:32:40 -04:00
Colin Walters
d8173a5125
core: Move commit/dirtree traversal into library
...
So it can more easily be reused by other builtins.
2012-04-02 18:32:40 -04:00
Colin Walters
a0b7d94cb6
core: Fix a few memory leaks
2012-04-02 18:32:40 -04:00
Colin Walters
ea4d2be39c
core: Return input stream for raw repositories too
...
This bug is more obvious when fsck is rebased on top of
ostree_repo_load_file().
2012-04-02 18:32:40 -04:00
Colin Walters
b971ce0dfa
core: Only depend on GLib 2.30
2012-04-02 13:42:09 -04:00
Colin Walters
80bdfd7f42
core: Add pack files
...
This concept is also directly inspired by git. At present, our
implementation is quite similar, except we don't have delta
compression.
2012-03-31 11:51:47 -04:00
Colin Walters
68cce01556
core: Add stream->variant helper, as well as clear macros for ptrarray/hashtable
2012-03-31 10:32:26 -04:00
Colin Walters
b221b0fdd6
core: Add a few more GIO utility functions
2012-03-31 10:32:02 -04:00
Colin Walters
70afd6011f
core: Add helper functions to convert (checksum, objtype) pair to/from string
2012-03-14 09:37:00 -04:00
Colin Walters
277843f3a2
ostbuild: Add preserve_net config option
...
This is going to be necessary for the builder.
2012-03-13 17:06:06 -04:00
Colin Walters
8e3a3c5667
ostbuild: Re-unify into one snapshot.json file
...
This is actually easier. Now add 'ostbuild query-content' which can
extract the JSON data we stuff into builds.
2012-03-13 10:39:31 -04:00
Colin Walters
4d1d6789c2
ostbuild: Rework again, split into components.json and targets.json
...
The "resolve" builtin now does a lot more heavy lifting; we expand the
manifest.json, and "build" consequently is less intelligent now, more
of a low-level implementation.
2012-03-13 10:39:31 -04:00
Colin Walters
ee49c8098c
ostbuild: Only check out source if we need to
...
When using --skip-built, we shouldn't do a checkout if we're not going
to build.
2012-03-13 10:39:31 -04:00
Colin Walters
addbdb619c
ostbuild: Stop generating git mirror config
...
Nothing's using it right now and it's a little buggy.
2012-03-13 10:39:31 -04:00
Colin Walters
87e9a29f11
ostbuild: Further work on regenerating a snapshot from a compose
2012-03-13 10:39:26 -04:00
Colin Walters
07e93bd326
ostbuild: Change to name-prefix and base-prefix in manifest
...
This makes it clearer that we're using this as a prefix, when we
generate the snapshots.
2012-03-13 10:39:26 -04:00
Colin Walters
76f7bf2060
ostbuild: Switch to composing via checkouts+commit
...
Store the compose contents as a JSON file in the filesystem tree.
This is more flexible compared to defining "compose" as just a literal
layering of filesystem trees. For example, we might want to run
prelink.
2012-03-13 10:39:26 -04:00
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