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
Colin Walters
633da1e7ad
triggers: We need to order their execution
...
Otherwise we run in inode order which is unpredictable. In particular
this causes problems because we might run e.g. the gtk+ trigger before
the gdk-pixbuf one. And ldconfig should really be first.
2012-02-19 20:52:50 -05:00
Colin Walters
f1e38d6e4b
ostbuild: Add --recompose argument
...
This is necessary to run after rebuilding the Yocto base.
2012-02-16 18:30:42 -05:00
Colin Walters
8729997eab
switchroot: Bind mount /lib/modules after we mount /lib
...
Otherwise we don't ge the right /lib/modules.
2012-02-13 10:56:13 -05:00
Colin Walters
fcd70e5891
switchroot: Bind mount /lib/modules from /ostree/modules
...
Since we have kernels outside of the tree, keep modules outside
too.
2012-02-10 19:17:29 -05:00
Colin Walters
351d243ccf
ostbuild: Fix --debug-shell
...
We want to reuse an existing source tree.
2012-02-09 16:47:25 -05:00
Colin Walters
820709e791
ostbuild: When doing a fetch, call fetch before trying to mirror the branch
...
Otherwise when the manifest specifies a branch we haven't fetched, we
error out.
2012-02-09 11:19:33 -05:00
Colin Walters
feca75a930
switchroot: remount rootfs read/write
...
See rationale in comment.
2012-02-08 22:23:25 -05:00
Colin Walters
8e944cbffd
ostree-switch-root: Correctly prepend sysroot before mounts to move from dracut
2012-02-08 20:22:27 -05:00
Colin Walters
0172ab5a3a
switchroot: Further work on being dracut-only
2012-02-08 17:32:34 -05:00
Colin Walters
fef67756f9
ostbuild: Add 'status' command
...
Roughly equivalent to 'jhbuild info'.
2012-02-08 16:37:14 -05:00
Colin Walters
a904c9693b
Add ostree-switch-root here
...
Merge the code from ostree-init; now that we're back to targeting an
initramfs (dracut), we don't need to statically link the binary, so
there's no strong reason to have a separate module.
2012-02-05 16:02:44 -05:00
Colin Walters
097c1b8025
vcs: Delete temporary directory too
2012-02-02 13:56:46 -05:00
Colin Walters
73fa98694e
builtins: Fix error message if workdir doesn't exist
2012-02-02 13:56:25 -05:00
Colin Walters
845ba39a0e
ostbuild: Add 'checkout' builtin
...
This is useful for the developer to get the source code of
several things at exactly the revision specified in the manifest.
2012-02-02 09:22:44 -05:00
Colin Walters
df92b8d46f
ostbuild: Unify mirrordir lookup code
2012-02-02 08:40:18 -05:00
Colin Walters
f1930d2c99
triggers: Fix typo in gconf trigger
2012-01-31 22:59:28 -05:00
Colin Walters
a8151ac836
Add gconf trigger
2012-01-31 22:54:23 -05:00
Colin Walters
914f9ffc61
ostbuild: Actually compose devel image from devel base
...
Otherwise we don't have gcc, gdb, git etc...
2012-01-31 18:57:02 -05:00
Colin Walters
102f6a7f43
ostbuild: Make separate .lastfetch files for e.g. gtk2 and gtk3
...
This ensures we don't need to check out any git repository which is
built twice under different names.
2012-01-29 17:24:20 -05:00
Colin Walters
e048173c60
ostbuild: Fix error message for unknown builtin
2012-01-29 16:47:19 -05:00
Colin Walters
8c878ebb86
mainloop: Ensure we reset running to True when rerun
...
Otherwise we pretty much exit immediately...
2012-01-29 13:29:31 -05:00
Colin Walters
3426de05fe
ostbuild: Ensure we return the right process exit code
2012-01-27 11:09:53 -05:00
Colin Walters
1d3b9ae711
triggers: Add dconf update
...
Necessary for gdm at least.
2012-01-23 18:09:33 -05:00
Colin Walters
00ec0ddb9b
core: Add --delete option for fsck
...
Useful to clean up any broken objects.
2012-01-23 17:06:10 -05:00
Colin Walters
8e36e80896
ostbuild: Support marking files as setuid
2012-01-22 13:31:22 -05:00
Colin Walters
e8dbaa3c07
core: Add generic "commit filter" API, use it to implement statoverride
...
The builder wants the ability to mark a given file as e.g. setuid. To
implement this, the repo now has a callback-based API when importing a
directory to modify or remove items.
The commit tool accepts a "statoverride" file as input which looks like:
+mode /path/to/file
2012-01-22 13:27:38 -05:00
Colin Walters
1ca517f36f
ostbuild: chdir into source directory when launching debug shell
2012-01-20 17:52:08 -05:00
Colin Walters
dde4da9513
core: Allow cloning only certain refs for local clone
...
This is way, way faster.
2012-01-20 17:50:59 -05:00
Colin Walters
d4470a844d
ostbuild: Ensure we look in correct git repository if --fetch is specified
...
The mirrordir variable was bound from the previous iteration, which
was clearly broken.
2012-01-19 18:31:37 -05:00
Colin Walters
16f2f5f7e5
mainloop: Only delete pid watch if we found the right pid
2012-01-19 18:30:45 -05:00
Colin Walters
abfe17e2cb
ostbuild: Show cwd on failure
...
This is helpful for disambiguation.
2012-01-19 16:41:59 -05:00
Colin Walters
39fe050f04
core: Add standard::size to info we get from archives
...
This makes "ostree ls" show the file size.
2012-01-19 09:54:09 -05:00
Colin Walters
660ff7422f
ostbuild: Various cleanups
2012-01-18 17:38:31 -05:00
Colin Walters
970682a779
ostbuild: Actually do check for Makefile
...
Just kidding, we need the makefile path to check for .NOTPARALLEL
2012-01-18 17:08:30 -05:00
Colin Walters
4af64c7635
ostbuild: Don't check for a "Makefile"
...
WebKit uses GNUmakefile which is totally valid, and this check
isn't really gaining us anything.
2012-01-18 16:40:47 -05:00
Colin Walters
55f6998d37
ostbuild: Ensure we don't retrieve submodules from the network
...
This is a bit gross...we have to manually frob the submodule
URLs to point to our mirror.
2012-01-18 13:35:53 -05:00
Colin Walters
298e4957d9
ostbuild: Support rm-configure flag
...
This is easier than making git patches that delete configure.
2012-01-16 20:17:39 -05:00
Colin Walters
9d37f76a5a
ostbuild: Actually exit with error if we fail a build
2012-01-16 17:50:57 -05:00
Colin Walters
5bf4eb39e7
ostbuild: Do fetches before resolution
...
Otherwise we get the OLD revision in the manifest.
2012-01-16 09:57:40 -05:00
Colin Walters
a6e6146ab6
core: Note which artifact failed to compose
2012-01-16 09:57:24 -05:00
Colin Walters
813923943d
ostbuild: Fix documentation dir (should be 'doc')
2012-01-16 09:57:00 -05:00
Colin Walters
b1ff693ea3
Revert "ostbuild: Check for the Makefile in the correct directory"
...
I'm not sure how this made anything work...probably I was screwing
something else up.
This reverts commit aeeed8da13 .
2012-01-16 09:39:13 -05:00
Colin Walters
bff6baced8
ostbuild: Save build logs to a file, monitor output for warnings
...
This is bringing us back closer to metabuild.
2012-01-16 09:27:46 -05:00
Colin Walters
d5def94b54
ostbuild: Clean up artifact splitting, put non-symlink .so in runtime
...
We were breaking nss which just installs libnss3.so as the real
shared library.
2012-01-15 21:45:12 -05:00
Colin Walters
e34b90453c
gnomeos: Building gdm
2012-01-15 17:06:18 -05:00
Colin Walters
ef7f12f31b
ostbuild: Run triggers after constructing build root
2012-01-15 17:05:23 -05:00
Colin Walters
ebe35dbefe
core: Ensure we delete duplicate files in a transaction
...
If multiple files have the same hash, we need to ensure we're not
overwriting other tempfiles in the same transaction. Instead
just delete them, since we know they're in the repo.
2012-01-15 12:25:52 -05:00
Colin Walters
9910c0ddf4
core: Create a directory for each transaction
...
This helps ensure that we can more easily identify stale tempfiles
left over if we crash in the middle of a transaction.
2012-01-15 11:03:01 -05:00
Colin Walters
610afbd2f1
ostbuild: Make --fetch a separate option
2012-01-14 16:56:31 -05:00
Colin Walters
aeeed8da13
ostbuild: Check for the Makefile in the correct directory
2012-01-14 16:54:00 -05:00
Colin Walters
40226c2769
core: Move triggers into separate binary: ostree-run-triggers
...
I'm trying to keep ostree as being closer to just being the versioning
filesystem, so let's split out the triggers into a different binary
(although still namespaced ostree-).
2012-01-13 15:08:27 -05:00
Colin Walters
134cddaa96
ostbuild: Make explicit resolve (and fetch steps)
...
Build should only work on already-downloaded sources.
2012-01-12 23:22:39 -05:00
Colin Walters
b44afdef23
ostbuild: Lots of stuff
...
* Only create one build commit which contains multiple artifact trees,
rather than one per artifact. This is atomic. We can use the new
compose syntax like foo:/devel to slice out the /devel tree.
* Create the minimal buildroot for each component by composing the
previous components in the build order, instead of continually
updating one big tree.
* Ensure the artifact builder gets empty directories in /etc
2012-01-12 10:48:11 -05:00
Colin Walters
ef2a16525e
ostbuild: Optionally log start of commands we want output from too
...
compose is slow, but we also want output.
2012-01-11 14:33:48 -05:00
Colin Walters
1f398e001b
ostbuild: Import odict from gobject-introspection
2012-01-11 14:32:37 -05:00
Colin Walters
62821024b9
core: While walking mtrees during commit, ensure the referenced path is resolved
...
This gives us a clean error instead of an assertion.
2012-01-11 13:42:59 -05:00
Colin Walters
e693d2cfe5
core: Error out on an empty compose
2012-01-11 13:42:37 -05:00
Colin Walters
0044ff133a
core: Add from-file argument to compose
...
We don't want to have to pass a million arguments.
2012-01-10 18:55:00 -05:00
Colin Walters
46d09b1501
compile-one: Fix build of modules that don't support srcdir != builddir
...
We need to run configure and make/make install in the _build
directory.
2012-01-09 19:56:03 -05:00
Colin Walters
492f0777f2
ostbuild: Make --debug-shell not exit immediately
...
We need to keep stdin open.
2012-01-09 11:10:10 -05:00
Colin Walters
cddd58fbd8
ostbuild: Allow specifying no components to mean "all"
2012-01-08 14:20:52 -05:00
Colin Walters
888d33c943
core: Make diff accept one argument too to mean "foo^ foo"
2012-01-08 14:20:07 -05:00
Colin Walters
e21b181b4a
ostbuild: Allow specifying components to build on the command line
2012-01-07 11:47:51 -05:00
Colin Walters
8d935f46c4
core: Make local-clone handle nested refs/heads directories
2012-01-07 11:26:12 -05:00
Colin Walters
788dfe89e1
core: Ensure we abort transaction if we fail in the middle
...
Otherwise we could leave a lot of temp files lying around.
2012-01-07 11:11:51 -05:00
Colin Walters
a2fdbcbe63
ostbuild: Switch to JSON metadata, various other fixes
2012-01-06 20:02:46 -05:00
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
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
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
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
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
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
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
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
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
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
Colin Walters
11d57d63e3
core: Support --owner-uid and --owner-gid options for commit
...
This allows us to more easily import user-built tarballs into
a root-owned OSTree repo.
2011-12-18 17:36:46 -05:00
Colin Walters
134283afbf
core: In user mode checkouts of archives, use hard links
...
Now that we've done all the gyrations to separate content from
metadata in archives, we can just hard link when doing user checkouts.
2011-12-15 16:12:31 -05:00
Colin Walters
e014b2d9c2
core: Fix a few memory leaks
2011-12-15 15:17:27 -05:00
Colin Walters
9a71ab187d
core: INCOMPATIBLE CHANGE: Split archive files in two parts (meta and content)
...
This will allow us to have hardlink checkouts of archives. A key use
case here is an archive repo of an OS (with root-owned files etc.)
where we want to do builds in a user tree.
A positive side effect of doing things this way is that now the SHA256
checksums for a given file should be identical regardless of whether
it's stored in an archive or bare repository.
2011-12-15 13:14:06 -05:00
Colin Walters
ecbffd4915
core: Don't insert null byte in temporary file names
2011-12-15 13:10:41 -05:00
Colin Walters
8ab2296a70
core: Add utility functions to convert a OstreeObjectType to/from a string
2011-12-15 13:09:51 -05:00
Colin Walters
b8e8b58585
core: INCOMPATIBLE CHANGE: Name repo files with their type (e.g. .dirmeta)
...
This makes inspection easier. Internally the code gets simpler because
metadata and files are more unified; there is just one object type.
2011-12-12 12:29:09 -05:00
Colin Walters
db9b7b7be6
osbuild: Make a MS_NOSUID bind mount over /
...
This closes a serious issue in that we still do a uid switch to 0 when
executing a suid binary, even though we're not gaining capabilities.
2011-12-12 12:13:32 -05:00
Colin Walters
dc4164993b
core: Initialize variables in fsck
...
Otherwise we segfault on an unhandled filename.
2011-12-08 18:23:25 -05:00
Colin Walters
d3058629fd
core: Change fsck to use packfile parsing API
2011-12-08 18:04:37 -05:00
Colin Walters
f6117de8d3
core: s/pack/archived/
...
This completes the rename from the previous commit.
2011-12-08 17:45:37 -05:00
Colin Walters
d6ceb91c35
core: Make ot_transfer_out_value() take a & for the second argument
...
As Ray Strode argued, it's confusing to have something that looks like
a function be magical. And OT_TRANSFER_OUT_VALUE is uglier.
2011-12-08 17:31:45 -05:00
Colin Walters
35fa68a74c
core: INCOMPATIBLE CHANGE: Rename .packfile to .archive
...
It's too confusing that we call the mode "archive" but the actual
files ".packfile". Also, git already has a "packfile" that serves a
totally different purpose.
2011-12-08 17:15:59 -05:00
Colin Walters
30c53a967c
core: Switch is_archive to an enumeration
...
This is in preparation for adding a third mode.
2011-12-08 17:05:16 -05:00
Colin Walters
7932811fbb
core: Delete some dead code
2011-12-08 14:55:41 -05:00
Colin Walters
dccd106731
core: Clean up checkout code
...
Take a GFile * for destination. Also, we only need one recursive
function, not two.
2011-12-08 10:28:44 -05:00
Colin Walters
15d23546ff
user-chroot: Add --unshare-pid, --unshare-net, and --mount-proc
...
To use CLONE_NEWPID we have to actually call clone() because it's
not supported by unshare().
To enable CLONE_NEWPID to be useful, we have to allow creating a new
proc mount rather than binding an existing one.
2011-12-07 10:52:42 -05:00
Colin Walters
fbb09d71a6
ostbuild: Add --unshare-ipc flag for user-chroot
...
This optionally closes down more paths to the host, which is
a good thing.
2011-12-07 09:48:38 -05:00
Colin Walters
d70950e891
core: Add -U option for checkout to skip lchown() and xattrs
...
This is useful for checking out an OS filesystem tree as a regular
user, and not caring about /dev and stuff.
2011-12-06 21:38:04 -05:00
Colin Walters
a94e0b8bf8
core: Ensure we chown created directories too
2011-12-06 20:16:03 -05:00
Colin Walters
c32141c2bf
core: Remove some useless wrapping of packfile unpacking in checkout
2011-12-06 20:09:09 -05:00
Colin Walters
fb5ecdac42
ostbuild: Also allow making directories read-only
2011-12-06 19:36:42 -05:00
Colin Walters
a4b249e333
ostbuild: Clarify "safely" for user-chroot
2011-12-06 14:39:30 -05:00
Colin Walters
d32b2cb572
ostbuild: Recursively make mount points private
...
This ensures we're not going to mutate any global state.
2011-12-06 14:36:57 -05:00
Colin Walters
3042724698
ostbuild: Allow binding arbitrary directories, don't hardcode /proc /dev
...
This is just more flexible, and eventually we want this to be a
generic user-chroot tool.
2011-12-06 14:06:45 -05:00
Colin Walters
0fb40b201f
ostbuild: Ensure user chroot mounts are not shared
...
It's possible that the root filesystem mount is global; we need
to undo that in order to be sure that our "private" bind mounts
really are private.
2011-12-06 12:18:17 -05:00
Colin Walters
e68d0d25c0
ostbuild: Update user-chroot to bind mount /proc and /dev
2011-12-06 10:43:01 -05:00
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
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