Colin Walters
ce7345d51e
core: Major cleanup to internal import API
2011-12-05 14:21:18 -05:00
Colin Walters
b8000c00d5
core: Further unify code for importing from local FS and libarchive
...
Note this change makes it so we no longer call link() from an import
filesystem tree to the repository. This is a Good Thing really; it
makes local FS commits slower, but also less prone to corruption.
2011-12-05 11:20:14 -05:00
Colin Walters
267bf8ef4a
core: Ensure we initialize checksum in FIFO case too
2011-12-05 11:15:12 -05:00
Colin Walters
9d39517554
core: Add _from_input variant of checksum API
2011-12-05 10:28:42 -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
f812720fc6
gnomeos: Make run script transparently update existing FS image
...
This is noticeably faster.
2011-12-04 14:56:21 -05:00
Colin Walters
26de73ea55
gnomeos: commit-yocto-build.sh: Directly import tar files
...
Oh wow...this is fast.
2011-12-04 14:55:33 -05:00
Colin Walters
78f435d245
core: Fix handling of hardlinks for tar commits
...
We were creating files with the wrong name. Add a test.
2011-12-04 14:38:30 -05:00
Colin Walters
17cc772cf3
core: Support for committing from any libarchive-supported format
...
We really want the ability to take a .tar.gz and directly import
it into a repository, without creating a temporary filesystem tree.
First, doing it this way is significantly faster. Also, this allows
us to handle importing tar files with e.g. uid 0 files into packed
repositories as non-root, which is very useful for tests and builds.
2011-12-04 14:08:55 -05:00
Colin Walters
f9315e8f82
core: Fix a memory leak in checkout
2011-12-04 14:08:55 -05:00
Colin Walters
45addeadf0
core: Handle NULL xattrs in packfile generation, throw error on invalid mode
2011-12-04 13:12:06 -05:00
Colin Walters
56e0f231b5
core: Correctly map S_ISDIR to G_FILE_TYPE_DIRECTORY
2011-12-04 13:12:06 -05:00
Colin Walters
ae3a5e3c07
core: Clean up filename utility API
...
Remove more unused functions, and change pathname splitting to handle
more cases like duplicate //, and to throw an error on .. as a filename.
2011-12-04 12:12:34 -05:00
Colin Walters
1f6d49cdb9
core: Initialize checksums for non-regular files, handle NULL xattrs
2011-12-04 12:11:29 -05:00
Colin Walters
7545405b73
core: Delete some dead utility code
2011-12-02 19:54:53 -05:00
Colin Walters
0003e101f6
core: New ot_transfer_out_value() macro
...
This makes out values considerably less typing.
2011-12-02 18:17:06 -05:00
Colin Walters
32c8166b25
core: Ensure we clean up leftover directories during merge
...
(Not sure why this regressed)
2011-12-02 17:58:45 -05:00
Colin Walters
3ab69101f7
core: Fix packed file creation
...
We were calculating the wrong checksum, and also mistakenly
not using packed files in archive mode for non-regular files.
2011-12-02 17:49:57 -05:00
Colin Walters
b5ce760678
core: Don't use g_file_delete(), it calls into g_vfs_get_default()
...
For some (probably crazy) reason. Skipping this and calling
unlink() directly makes 'strace' MUCH smaller.
2011-12-02 14:32:25 -05:00
Colin Walters
0d4df5b3fe
core: Avoid reading regular file data twice when archiving
2011-12-02 14:23:01 -05:00
Colin Walters
d1950da1a0
core: Further unify API to create files
...
We now have just one place which writes to the filesystem. Wrap a
temporary file allocation API on top of that.
2011-12-02 13:42:25 -05:00
Colin Walters
c7235182a4
core: Use g_io_error_from_errno() to ensure we have more useful error codes
2011-12-02 11:40:06 -05:00
Colin Walters
7fc625c967
core: Move pack file parsing into core, add ostree_create_file_from_input() API
...
This moves us closer to consistently passing around a triple of:
(GFileInfo *info, GVariant *xattrs, GInputStream *content)
Which will help the libarchive work.
2011-12-02 10:11:09 -05:00
Colin Walters
f98e2a2ddb
core: Tweak dir metadata importing code for libarchive work
...
This will allow us to share a bit more code.
2011-12-01 19:45:00 -05:00
Colin Walters
177d845f5b
core: Modify pack file importer to also optionally checksum
...
For future work on importing from an archive.
2011-12-01 19:25:35 -05:00
Colin Walters
bb0867aeb8
core: Add ot_gfile_create_tmp_symlink()
...
In some cases we'll need the ability to create a symbolic link, then
actually import it.
2011-12-01 19:25:02 -05:00
Colin Walters
23d01d97dd
core: Propagate GCancellable a bit from the import APIs
2011-11-30 22:20:25 -05:00
Colin Walters
702c38739e
core: Drop some dead code from packfile writing, expose GInputStream API too
...
We never actually dropped into the bits to write metadata as packfiles,
because such a thing doesn't exist.
Also add a GInputStream-based API for writing packfiles.
2011-11-30 22:15:05 -05:00
Colin Walters
556662b24c
core: Extract stage_and_checksum() internal API
...
This will be used for staging both metadata and data consistently
before actually importing it.
2011-11-30 21:20:15 -05:00
Colin Walters
99bf19314e
core: Add ot_gfile_create_tmp() to utils, use it
2011-11-30 20:32:06 -05:00
Colin Walters
247e027125
repo: Don't call g_hash_table_destroy on a NULL hash
2011-11-30 20:23:54 -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
3ac841d931
core: Make libostree.so an installed library
...
This will make it easier to have multiple binaries.
2011-11-29 18:25:07 -05:00
Colin Walters
654a2c295d
ostbuild: Relicense under LGPLv2+, tweak artifact generation
2011-11-29 16:15:04 -05:00
Colin Walters
84562f161f
core: Use ot_clear_checksum()
2011-11-29 14:06:54 -05:00
Colin Walters
70574c3c06
otutil: New utility functions
2011-11-29 13:42:05 -05:00
Colin Walters
b07b2f6473
core: Remove an unused variable
2011-11-28 20:45:27 -05:00
Colin Walters
cb5b3b15f5
core: checksum builtin: Actually quit main loop on error too
2011-11-28 19:34:54 -05:00
Colin Walters
7e32bc6cd7
core: Make commit always operate on directory contents, not file list
...
This simplifies things significantly, at some cost in flexibility.
We'll later add the ability to e.g. filter out files by regular
expression.
2011-11-28 12:57:25 -05:00
Colin Walters
b296dc4efc
core: Some tweaks to ls output
2011-11-28 10:17:49 -05:00
Colin Walters
3f0866dc79
gnomeos: Switch to using pseudo for commits
...
This is noticeably faster.
One side effect here is that xattrs are empty, which is actually
a good thing.
2011-11-27 20:43:44 -05:00
Colin Walters
89735a233b
gnomeos: Pull in pseudo into -dev image
...
As a potential 'fakeroot' implementation.
2011-11-27 20:34:30 -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
Colin Walters
2f1490f766
core: Fix a compiler warning
2011-11-27 20:15:07 -05:00
Colin Walters
87547827c8
core: Add ls builtin
2011-11-27 20:10:48 -05:00
Colin Walters
48507624c2
core: Don't default to "master" for show, there is no default branch anymore
2011-11-27 18:46:11 -05:00
Colin Walters
56a9a68993
configure: Actually disable soup-gnome if not found
2011-11-27 18:08:18 -05:00
Colin Walters
1a5994a45c
gnomeos: include -dev packages too in -dev image
...
Otherwise we don't get headers and stuff...
2011-11-27 18:03:22 -05:00
Colin Walters
b0b0ffcd61
core: Add asynchronous checksum API, use it in checksum builtin
2011-11-27 17:21:04 -05:00
Colin Walters
8af4a62665
gnomeos: Add basic device files in /dev
...
So we're more usable in a chroot for compiling software.
2011-11-27 13:12:22 -05:00
Colin Walters
ab3efe446d
gnomeos: Fetch ostree from file:/// URI
...
This means anyone not using /src/ostree for the checkout will have
to change it, but it's way less annoying for me not to have to push
changes to git.
2011-11-27 13:08:32 -05:00
Colin Walters
ea858ab558
ostbuild: Split nice/logger program out, merge make/makeinstall into one executable
2011-11-27 13:07:33 -05:00
Colin Walters
6cdea44c4b
daemon: Allow running as non-root in test mode
2011-11-27 11:34:03 -05:00
Colin Walters
9c4fc94266
gnomeos: Prefix branch names with -yocto to clarify their origin
...
Also add git to the dev image.
2011-11-25 12:02:03 -05:00
Colin Walters
7d0a8bab6c
gnomeos: Add ncurses to base
2011-11-25 12:01:38 -05:00
Colin Walters
fd58e16a8d
core: Minor code cleanup
2011-11-25 12:01:05 -05:00
Colin Walters
fa06a4dcea
ostbuild: Rename osbuild to ostbuild, clean up old C files
2011-11-25 12:00:16 -05:00
Colin Walters
3c025e526f
core: Ad ot_clear_gvariant(), use it
...
This saves us a conditional.
2011-11-22 10:20:10 -05:00
Colin Walters
43ae898f65
gnomeos: Make python actually work, install bash by default
2011-11-22 10:03:12 -05:00
Colin Walters
2bee1bbbdf
core: A bit more daemon work
2011-11-22 10:02:49 -05:00
Colin Walters
aa69aae94e
core: Move merge dirs code into gio utils
2011-11-21 15:04:07 -05:00
Colin Walters
c117aadc95
core: Stub out a system daemon
2011-11-20 20:55:24 -05:00
Colin Walters
ff77a1bd7d
gnomeos: Check out both -base and -dev roots
...
This makes it easier to boot into either.
2011-11-20 20:50:14 -05:00
Colin Walters
fb98d0bf24
ostree-init: Also trim trailing newline from arguments
...
Otherwise the parsed argument is corrupted.
2011-11-20 20:49:45 -05:00
Colin Walters
bfd47eb93a
TODO: Update
2011-11-20 20:49:15 -05:00
Colin Walters
571787b14e
gnomeos: Add -x86 tag to builds
...
Since later we'll want -x86_64 too.
2011-11-19 14:03:18 -05:00
Colin Walters
1dbf134946
core: Rework argument parsing
...
Default to /sysroot/ostree/repo when run as root. Also better
handle the requires-repo flag.
2011-11-19 14:02:21 -05:00
Colin Walters
79eb682cda
gnomeos: local-clone into built image
...
This way we have the whole history in the image, and we can start
to demo things like switching roots, pulling etc.
2011-11-19 10:52:17 -05:00
Colin Walters
dce29a984a
core: Ensure data is properly initialized
...
Avoids a crash if we bail early.
2011-11-19 10:45:53 -05:00
Colin Walters
a042731673
core: Add local-clone builtin
...
This is useful for converting between e.g. archive and non-archive
repositories.
2011-11-18 18:50:53 -05:00
Colin Walters
b7a45b5815
core: Also chown() after unpacking objects
2011-11-18 18:50:29 -05:00
Colin Walters
7d63ad5ae8
core: Switch to GFile* for unpacking and storing objects
2011-11-18 16:14:01 -05:00
Colin Walters
c66474750b
core: Expose API to get repository tmpdir
2011-11-18 16:01:28 -05:00
Colin Walters
f6ec479f17
core: Rework object iteration API to be GFile based and pass more data
...
It makes more sense to have e.g. the details of .packfile naming
inside the repo, and pass the expected checksum and type.
2011-11-18 15:21:32 -05:00
Colin Walters
8621eb85b1
core: Skip an unnecessary unlink() call
2011-11-18 09:41:36 -05:00
Colin Walters
7276e2df43
core: Have single "overwrite" flag instead of ignore_exists+force pair
...
The default is always ignore_exists. Also port the internals here
to use more GIO code, and stop using *at syscall variants since they're
only useful if used 100%.
2011-11-18 09:37:25 -05:00
Colin Walters
860c3cf502
core: Convert public get_object_path() to GFile*
2011-11-18 09:04:25 -05:00
Colin Walters
9cf15ed151
core: More cleanup of GIO utility API
2011-11-18 08:43:47 -05:00
Colin Walters
231f7ed76c
core: Use ot_gfile_ prefix for new local GFile creation function
2011-11-18 08:10:23 -05:00
Colin Walters
6591e586ed
core: Remove last user of g_file_new()
2011-11-18 08:02:19 -05:00
Colin Walters
12f2d89174
core: Add checksum builtin
...
This necessitated reworking things so that builtins can specify no
--repo is required.
2011-11-18 07:29:13 -05:00
Colin Walters
7f64d5cec7
core: Make checksum API also operate on directories
2011-11-18 06:34:54 -05:00
Colin Walters
b8cef545d1
core: CHANGE CHECKSUM ALGORITHM, port checksum API to GFile
...
This commit originally was to port ostree_stat_and_checksum_file() to
GFile*, but I noticed that the checksum code was reading data in host
endianness. Fix that while we're here.
This invalidates all existing repositories.
2011-11-17 19:32:01 -05:00
Colin Walters
2c2b9c0e00
core: Convert metadata parsing API to GFile
2011-11-17 18:36:57 -05:00
Colin Walters
218684786d
core: Use GFile for xattr API
2011-11-17 18:33:26 -05:00
Colin Walters
e588a47ba6
gnomeos: Have commit-yocto-build make more assumptions
...
This is so it's easier to use.
2011-11-17 18:29:32 -05:00
Colin Walters
a8735778f0
core: Use ot_gfile_get_path_cached() pervasively
...
This requires no free() calls and is just better.
2011-11-17 18:23:36 -05:00
Colin Walters
8a24861763
gnomeos: Refactor build so we can have separate runtime/devel images
2011-11-17 13:24:52 -05:00
Colin Walters
8e9b9c59d6
core: Fix pull to actually download files too
2011-11-17 10:40:55 -05:00
Colin Walters
ed2be6306d
core: Should write remote refs in refs/<remote>/<branch>
...
Not just refs/<branch>, otherwise multiple remotes conflict.
2011-11-17 10:40:01 -05:00
Colin Walters
db9801bff2
core: Allow resolving e.g. "origin/master" as a rev
...
Also:
* Disallow .. in revs to avoid looking outside where we should be
* Allow resolving empty revs
2011-11-17 10:36:04 -05:00
Colin Walters
aa865bbb83
core: Validate file names read from directory variants
...
In a future where we pull data from remote servers, we don't want
to allow path uplinks.
2011-11-16 23:23:30 -05:00
Colin Walters
4a26be1bef
core: diff: Correctly handle files changing type
2011-11-16 23:09:32 -05:00
Colin Walters
e759c1cce5
tests: Fix number of tests
2011-11-16 22:51:56 -05:00
Colin Walters
c33db03b4c
core: Flesh out diff a bit more
...
Now correctly notices changes to directory metadata (not just
contents).
2011-11-16 22:51:09 -05:00
Colin Walters
115626c264
core: Fix a minor memory leak
2011-11-16 22:51:09 -05:00
Colin Walters
53191e4c8e
gnomeos: Some tweaks to image content
2011-11-16 21:47:56 -05:00
Colin Walters
9fb390664a
core: Implement diff command
2011-11-16 18:16:41 -05:00
Colin Walters
073aa5973c
gnomeos: Mounts work, far fewer boot errors
2011-11-16 12:51:24 -05:00
Colin Walters
f51e4ee772
gnomeos: Import copy of initscripts from Poky edison release
2011-11-15 16:31:33 -05:00