summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* deploy: Update to use latest libgsystem APIwip/gs-dir-iterColin Walters2015-01-031-24/+5
|
* Use *at() functions for filesystem commitsColin Walters2015-01-034-36/+250
| | | | | | This is just an efficiency optimization. It does take us further down the path of consistently using *at() functions internally, with all of the performance wins that entails.
* Merge branch 'giuseppe/staticdeltas' of https://github.com/giuseppe/ostreeColin Walters2014-12-1914-387/+1851
|\
| * Remove unused variable warningGiuseppe Scrivano2014-12-181-1/+0
| |
| * fix --help for static-deltaGiuseppe Scrivano2014-12-182-29/+56
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
| * test-rollsum: Process all input, print more statisticsColin Walters2014-12-182-7/+21
| | | | | | | | | | | | | | Copying the bup code, we need to loop over all chunks even after hitting the rollsum returning 0. Also print more statistics.
| * Static deltas supportColin Walters2014-12-1814-416/+1792
| | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=721799
| * Revert "ostree-repo-pull: Remove currently #if 0 static delta code"Giuseppe Scrivano2014-12-181-0/+48
| | | | | | | | This reverts commit 1c2e20af25b21abc0dee1547a0d5bad1a21c0b58.
* | Enforce 'rdev' (device file major/minor) is 0Colin Walters2014-12-193-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Historically OSTree supported device files, but it wasn't useful, and added attack surface. Support was removed in https://git.gnome.org/browse/ostree/commit/?id=62a896350bd54bff5a9413d2ee0fad7ff4364f9a Perform a further cleanup by enforcing internally that the device major/minor must be 0. Conflicts: src/libostree/ostree-core.c
* | core: Deduplicate code converting struct stat -> GFileInfoColin Walters2014-12-194-29/+34
| | | | | | | | | | We were doing the same thing in a number of places, make a helper function.
* | Add ostree_repo_pull_default_console_progress_changed()Matthew Barnes2014-12-189-121/+81
| | | | | | | | | | Replaces ot_common_pull_progress() in ostree binary, so it can be shared with rpm-ostree.
* | repo: Minor cleanup: Move size generation code initializationColin Walters2014-12-181-5/+5
|/ | | | It has a global effect, so do it in the entrypoint.
* doc: Update gtk-docsMatthew Barnes2014-12-174-24/+286
|
* Add "ostree remote list" commandMatthew Barnes2014-12-173-2/+100
| | | | Lists available remote names.
* Add ostree_repo_remote_list()Matthew Barnes2014-12-173-0/+52
| | | | Lists available remote names.
* Release 2014.13v2014.13Colin Walters2014-12-171-1/+1
|
* basic-test: Fixup mtime check for bare-userColin Walters2014-12-171-1/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=741662
* tests: Fix two bugs in tests revealed by new remote changesColin Walters2014-12-172-7/+3
|
* Add more flexible _remote_change() API , expose via 'ostree remote'Colin Walters2014-12-154-44/+193
| | | | | | | | | | | | | For Anaconda, I needed OSTREE_REPO_REMOTE_CHANGE_ADD_IF_NOT_EXISTS, with the GFile *sysroot argument to avoid ugly hacks. We want to write the content provided via "ostreesetup" as a remote to the target chroot only in the case where it isn't provided as part of the tree content itself. This is also potentially useful in idempotent systems management tools like Ansible. https://bugzilla.gnome.org/show_bug.cgi?id=741577
* repo: (cleanup) Use _is_system() rather than inlining itColin Walters2014-12-151-9/+5
| | | | No reason to duplicate the code.
* Improve "ostree remote" help outputMatthew Barnes2014-12-091-84/+236
| | | | | | | | | Must have glossed over these because the commands are so simple. - List subcommands for "ostree remote --help". - Only show options relevant to COMMAND for "ostree remote COMMAND --help".
* trivial-httpd: use PR_SET_PDEATHSIG by defaultColin Walters2014-12-081-1/+18
| | | | | | | If we're not daemonizing, this is a useful way to ensure we go away if our parent does. https://bugzilla.gnome.org/show_bug.cgi?id=741264
* test-local-pull: Sort find output to make test robustAlexander Larsson2014-12-081-3/+3
| | | | | | | | There is no guarantee that find will produce output in the same order, so we need to sort the output to ensure we always get the same output. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* repo: Add private functions to access remote optionsMatthew Barnes2014-12-083-57/+162
| | | | | | ostree_repo_pull_with_options() needs this, and I'd rather keep the OstreeRemote struct definition tucked away in ostree-repo.c with its own internal API.
* repo: Add ostree_repo_remote_get_url()Matthew Barnes2014-12-083-9/+47
| | | | | Peeking at remote details by way of ostree_repo_copy_config() doesn't work anymore.
* repo: Add an internal struct to manage remotesMatthew Barnes2014-12-082-95/+278
| | | | | | | | | | | | OstreeRemote is a reference-counted struct that encompasses data about a remote, whether read from a configuration file or created explicitly via ostree_repo_remote_add(). OstreeRemotes are held in an internal table indexed by remote name. This solves some problems caused by merging system-wide remote data into the OstreeRepo's internal config key file. Also fixes https://bugzilla.gnome.org/show_bug.cgi?id=740911
* libotutil: Add ot_keyfile_copy_group()Matthew Barnes2014-12-082-0/+37
| | | | Copies all the keys of a group from one GKeyFile to another.
* Add local-pull archive-z2 <=> bare-user roundtrip testAlexander Larsson2014-12-082-0/+58
| | | | | | | | | | | | | This creates a archive-z2 repo, pull-locals it to bare-user and then again back to archive-z2 making sure things fsck along the way. Then it checks out all repos and makes sure each one reproduces the same result. Unfortunately we can't install this as a real test because it doesn't work in the test-runner because tmpfs doesn't support user xattrs. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* Add test-basic-user.sh testing for bare-user reposAlexander Larsson2014-12-082-0/+30
| | | | | | | | | | | This just does whatever test-basic.sh does, but on a bare-user repo. This works standalone, but unfortunately it breaks in gnome-desktop-testing-runner as /tmp doesn't support xattrs, so it is not installed atm. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* Split out basic tests from test-basic.shAlexander Larsson2014-12-083-340/+365
| | | | | | This will let us reuse them with other repo types https://bugzilla.gnome.org/show_bug.cgi?id=741125
* Support for "bare-user" repo formatAlexander Larsson2014-12-084-21/+210
| | | | | | | | | | | | | | | | | | | | | | This format is pretty much the same as the "bare" format, except the file ownership and xattrs is not stored in the actual filesystem object, but rather on the side in a user xattr. This means two things: 1) An unprivileged user can store such a repo independent of the types of files in it or their xattrs. And you can later (as root) reconstruct the real filesystem tree with ownership. Although you can't do that using hardlink-sharing. This also means ostree fsck does a full verification. 2) Such a repository can be checked out with user-mode (checkout -U) as an unprivileged user using hardlinks for space sharing. Additionally, symlinks are stored as regular files (with the content being the symlink target) because user xattrs are not supported on symlinks. We know at checkout time if the file is a symlink because the original st_mode is stored in the xattr metadata. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* Add ot_lgetxattrat and ot_lsetxattrat utilsAlexander Larsson2014-12-082-0/+80
| | | | | | | | | These are implementation of the missing corresponding syscalls that are done with the /proc/self/fd mechanism described at: https://mail.gnome.org/archives/ostree-list/2014-February/msg00017.html https://bugzilla.gnome.org/show_bug.cgi?id=741125
* README.md: Add a quick blurb on styleColin Walters2014-12-071-0/+95
|
* union checkout: Fix symlink handling for xattrsAlexander Larsson2014-12-051-1/+1
| | | | | | | | | | | Applying xattrs on a symlink during checkout failed since it was setting the xattrs on the final filename, not the temporary name. This made the "checkout union 1" test in test-basic.sh fail. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* checkout: fchown symlink to proper uid/gidAlexander Larsson2014-12-041-5/+17
| | | | | | | | | | | When commiting a symlink we do store the uid/gid of the actual symlink (i.e. not target). However, this was not restored on non-user-mode checkout as it should. This commit fixes that, and additionally it ensures xattrs on symlinks are not set in user-mode checkout. https://bugzilla.gnome.org/show_bug.cgi?id=741125
* deploy: Ensure that we can deploy using only /usr/lib/ostree-bootColin Walters2014-11-301-2/+2
| | | | | | | | rpm-ostree at least has the option to generate a tree with just that instead of /boot, but while we were enumerating the latter, we'd still return paths from /boot. https://bugzilla.gnome.org/show_bug.cgi?id=740947
* docs: Add verbose option to manualKenjiro Nakayama2014-11-301-0/+8
|
* README.md: Mention patches and test suiteColin Walters2014-11-301-0/+23
|
* docs: Fix a pile of Docbook validation errorsColin Walters2014-11-2931-85/+142
| | | | At least now validates with RNG mode in Emacs.
* Release 2014.12v2014.12Colin Walters2014-11-261-1/+1
|
* tests: Fix u-boot test failureColin Walters2014-11-251-2/+3
| | | | This bit needs to be specific to syslinux.
* trivial: Fix typo in previous commitColin Walters2014-11-251-1/+1
|
* grub2: If using --sysroot, run in chrootColin Walters2014-11-251-0/+75
| | | | | | | | | | | | | | In Anaconda, we're using "ostree admin --sysroot=/mnt/sysimage instutil set-kargs", and it was working before, but newer versions of lorax strip out /etc/system-release which grub2 wants. That was wrong anyways as we want the /etc/system-release from the target root. (Man, grub2 sucks...give me a declarative config file format I can just write) https://bugzilla.gnome.org/show_bug.cgi?id=740697
* Refactor command-line parsingMatthew Barnes2014-11-2442-490/+545
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor command-line parsing to better utilize GOptionContext. This eliminates most of the manual parsing and global options are now shown in the help output. Here's a sample: $ ostree admin --help Usage: ostree admin [OPTION...] --print-current-dir|COMMAND Builtin "admin" Commands: cleanup config-diff deploy init-fs instutil os-init status switch undeploy upgrade Help Options: -h, --help Show help options Application Options: --sysroot=PATH Create a new OSTree sysroot at PATH -v, --verbose Print debug information during command processing --version Print version information and exit https://bugzilla.gnome.org/show_bug.cgi?id=740295
* Various manpage / usage blurb improvementsMatthew Barnes2014-11-1623-61/+69
| | | | | | | | | Corrections, clarifications, consistency. Not a comprehensive overhaul of the manpages; they do still need work. These are just flaws I've noted while studying the ostree command syntax. https://bugzilla.gnome.org/show_bug.cgi?id=740097
* ostree-fetcher: move more logic into ostree_fetcher_request_uri_internalGiuseppe Scrivano2014-11-121-75/+56
| | | | | | | | Make _ostree_fetcher_request_uri_with_partial_async and ostree_fetcher_stream_uri_async simple wrapper around the same function, all the requests are created in the same place now. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* ostree-fetcher: make _ostree_fetcher_stream_uri_sync privateGiuseppe Scrivano2014-11-124-51/+37
| | | | | | | | Rename _ostree_fetcher_contents_membuf_sync to ostree_fetcher_request_uri_to_membuf and drop unused argument user_data. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* ostree-fetcher: Remove _ostree_fetcher_request_uri_to_stream functionGiuseppe Scrivano2014-11-122-22/+11
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* ostree-metalink: use _ostree_fetcher_contents_membuf_syncGiuseppe Scrivano2014-11-121-65/+38
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* ostree-fetcher: add max_size argument to change _ostree_metalink_request_syncGiuseppe Scrivano2014-11-123-3/+6
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>