Commit Graph

293 Commits

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