New upstream version 2016.9
|
|
@ -0,0 +1,6 @@
|
|||
[submodule "libglnx"]
|
||||
path = libglnx
|
||||
url = https://git.gnome.org/browse/libglnx
|
||||
[submodule "bsdiff"]
|
||||
path = bsdiff
|
||||
url = https://github.com/mendsley/bsdiff
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
language: c
|
||||
dist: trusty
|
||||
sudo: required
|
||||
|
||||
env:
|
||||
- ci_distro=ubuntu ci_suite=trusty
|
||||
- ci_docker=debian:jessie ci_distro=debian ci_suite=jessie
|
||||
- ci_docker=debian:unstable ci_distro=debian ci_suite=unstable
|
||||
- ci_docker=ubuntu:xenial ci_distro=ubuntu ci_suite=xenial
|
||||
|
||||
script:
|
||||
- tests/ci-install.sh
|
||||
- ci_parallel=2 ci_sudo=yes tests/ci-build.sh
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
|
@ -0,0 +1 @@
|
|||
docs/CONTRIBUTING.md
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
# Having a separate GNUmakefile lets me 'include' the dynamically
|
||||
# generated rules created via cfg.mk (package-local configuration)
|
||||
# as well as maint.mk (generic maintainer rules).
|
||||
# This makefile is used only if you run GNU Make.
|
||||
# It is necessary if you want to build targets usually of interest
|
||||
# only to the maintainer.
|
||||
|
||||
# Copyright (C) 2001, 2003, 2006-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# If the user runs GNU make but has not yet run ./configure,
|
||||
# give them a diagnostic.
|
||||
_gl-Makefile := $(wildcard [M]akefile)
|
||||
ifneq ($(_gl-Makefile),)
|
||||
|
||||
# Make tar archive easier to reproduce.
|
||||
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
|
||||
|
||||
# Allow the user to add to this in the Makefile.
|
||||
ALL_RECURSIVE_TARGETS =
|
||||
|
||||
include Makefile
|
||||
|
||||
# Some projects override e.g., _autoreconf here.
|
||||
-include $(srcdir)/cfg.mk
|
||||
|
||||
# Allow cfg.mk to override these.
|
||||
_build-aux ?= build-aux
|
||||
_autoreconf ?= autoreconf -v
|
||||
|
||||
include $(srcdir)/maint.mk
|
||||
|
||||
# Ensure that $(VERSION) is up to date for dist-related targets, but not
|
||||
# for others: rerunning autoreconf and recompiling everything isn't cheap.
|
||||
_have-git-version-gen := \
|
||||
$(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes)
|
||||
ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL))
|
||||
_is-dist-target ?= $(filter-out %clean, \
|
||||
$(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS)))
|
||||
_is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS)))
|
||||
ifneq (,$(_is-dist-target)$(_is-install-target))
|
||||
_curr-ver := $(shell cd $(srcdir) \
|
||||
&& $(_build-aux)/git-version-gen \
|
||||
.tarball-version \
|
||||
$(git-version-gen-tag-sed-script))
|
||||
ifneq ($(_curr-ver),$(VERSION))
|
||||
ifeq ($(_curr-ver),UNKNOWN)
|
||||
$(info WARNING: unable to verify if $(VERSION) is the correct version)
|
||||
else
|
||||
ifneq (,$(_is-install-target))
|
||||
# GNU Coding Standards state that 'make install' should not cause
|
||||
# recompilation after 'make all'. But as long as changing the version
|
||||
# string alters config.h, the cost of having 'make all' always have an
|
||||
# up-to-date version is prohibitive. So, as a compromise, we merely
|
||||
# warn when installing a version string that is out of date; the user
|
||||
# should run 'autoreconf' (or something like 'make distcheck') to
|
||||
# fix the version, 'make all' to propagate it, then 'make install'.
|
||||
$(info WARNING: version string $(VERSION) is out of date;)
|
||||
$(info run '$(MAKE) _version' to fix it)
|
||||
else
|
||||
$(info INFO: running autoreconf for new version string: $(_curr-ver))
|
||||
GNUmakefile: _version
|
||||
touch GNUmakefile
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: _version
|
||||
_version:
|
||||
cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf)
|
||||
$(MAKE) $(AM_MAKEFLAGS) Makefile
|
||||
|
||||
else
|
||||
|
||||
.DEFAULT_GOAL := abort-due-to-no-makefile
|
||||
srcdir = .
|
||||
|
||||
# The package can override .DEFAULT_GOAL to run actions like autoreconf.
|
||||
-include ./cfg.mk
|
||||
|
||||
# Allow cfg.mk to override these.
|
||||
_build-aux ?= build-aux
|
||||
_autoreconf ?= autoreconf -v
|
||||
|
||||
include ./maint.mk
|
||||
|
||||
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
|
||||
$(MAKECMDGOALS): abort-due-to-no-makefile
|
||||
endif
|
||||
|
||||
abort-due-to-no-makefile:
|
||||
@echo There seems to be no Makefile in this directory. 1>&2
|
||||
@echo "You must run ./configure before running 'make'." 1>&2
|
||||
@exit 1
|
||||
|
||||
endif
|
||||
|
||||
# Tell version 3.79 and up of GNU make to not build goals in this
|
||||
# directory in parallel, in case someone tries to build multiple
|
||||
# targets, and one of them can cause a recursive target to be invoked.
|
||||
|
||||
# Only set this if Automake doesn't provide it.
|
||||
AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) \
|
||||
dist distcheck tags ctags
|
||||
|
||||
ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS)
|
||||
|
||||
ifneq ($(word 2, $(MAKECMDGOALS)), )
|
||||
ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), )
|
||||
.NOTPARALLEL:
|
||||
endif
|
||||
endif
|
||||
|
|
@ -53,7 +53,7 @@ grub2configdir = $(sysconfdir)/grub.d
|
|||
INSTALL_DATA_HOOKS += install-grub2-config-hook
|
||||
else
|
||||
# We're using our internal generator
|
||||
libexec_SCRIPTS = src/boot/grub2/ostree-grub-generator
|
||||
ostree_boot_SCRIPTS = src/boot/grub2/ostree-grub-generator
|
||||
endif
|
||||
|
||||
EXTRA_DIST += src/boot/dracut/module-setup.sh \
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ gir_DATA =
|
|||
typelibdir = $(libdir)/girepository-1.0
|
||||
typelib_DATA =
|
||||
gsettings_SCHEMAS =
|
||||
ostree_bootdir = $(prefix)/lib/ostree
|
||||
ostree_boot_PROGRAMS =
|
||||
|
||||
# This is a special facility to chain together hooks easily
|
||||
INSTALL_DATA_HOOKS =
|
||||
|
|
|
|||
|
|
@ -16,20 +16,37 @@
|
|||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
if BUILDOPT_SYSTEMD
|
||||
sbin_PROGRAMS += ostree-prepare-root
|
||||
sbin_PROGRAMS += ostree-remount
|
||||
noinst_LTLIBRARIES += libswitchroot-mountutil.la
|
||||
ostree_boot_PROGRAMS += ostree-remount
|
||||
endif
|
||||
|
||||
libswitchroot_mountutil_la_SOURCES = \
|
||||
src/switchroot/ostree-mount-util.c \
|
||||
ostree_prepare_root_SOURCES = \
|
||||
src/switchroot/ostree-mount-util.h \
|
||||
src/switchroot/ostree-prepare-root.c \
|
||||
$(NULL)
|
||||
|
||||
ostree_prepare_root_SOURCES = src/switchroot/ostree-prepare-root.c
|
||||
ostree_prepare_root_LDADD = libswitchroot-mountutil.la
|
||||
ostree_prepare_root_CFLAGS = $(AM_CFLAGS) -Isrc/switchroot
|
||||
if BUILDOPT_USE_STATIC_COMPILER
|
||||
# ostree-prepare-root can be used as init in a system without a populated /lib.
|
||||
# To support this use case we need to link statically as we will be unable to
|
||||
# locate libc.so at run time if it's not installed in /lib.
|
||||
#
|
||||
# We support building ostree-prepare-root with a different compiler to the rest
|
||||
# of ostree so we can use musl rather than glibc. This reduces the size of the
|
||||
# executable significantly: from ~700K -> ~30K. We have to use _SCRIPTS here
|
||||
# to get autotools to install this as an executable but without generating rules
|
||||
# to make it itself which we have specified manually. See
|
||||
# https://lists.gnu.org/archive/html/help-gnu-utils/2007-01/msg00007.html
|
||||
ostree_boot_SCRIPTS = ostree-prepare-root
|
||||
|
||||
ostree_remount_SOURCES = src/switchroot/ostree-remount.c
|
||||
ostree_remount_LDADD = libswitchroot-mountutil.la
|
||||
ostree-prepare-root : $(ostree_prepare_root_SOURCES)
|
||||
$(STATIC_COMPILER) -o $@ -static $(ostree_prepare_root_SOURCES) $(AM_CPPFLAGS) $(AM_CFLAGS)
|
||||
else
|
||||
ostree_boot_PROGRAMS += ostree-prepare-root
|
||||
|
||||
ostree_prepare_root_CFLAGS = $(AM_CFLAGS) -Isrc/switchroot
|
||||
endif
|
||||
|
||||
ostree_remount_SOURCES = \
|
||||
src/switchroot/ostree-mount-util.h \
|
||||
src/switchroot/ostree-remount.c \
|
||||
$(NULL)
|
||||
ostree_remount_CFLAGS = $(AM_CFLAGS) -Isrc/switchroot
|
||||
|
|
|
|||
6835
Makefile.in
|
|
@ -0,0 +1,451 @@
|
|||
This file is outdated, but some of the text here is still useful for
|
||||
historical context. I'm preserving it (explicitly still in the tree)
|
||||
for posterity.
|
||||
|
||||
OSTree
|
||||
======
|
||||
|
||||
Problem statement
|
||||
-----------------
|
||||
|
||||
Hacking on the core operating system is painful - this includes most
|
||||
of GNOME from upower and NetworkManager up to gnome-shell. I want a
|
||||
system that matches these requirements:
|
||||
|
||||
1. Does not disturb your existing OS
|
||||
2. Is not terribly slow to use
|
||||
3. Shares your $HOME - you have your data
|
||||
4. Allows easy rollback
|
||||
5. Ideally allows access to existing apps
|
||||
|
||||
Comparison with existing tools
|
||||
------------------------------
|
||||
|
||||
- Virtualization
|
||||
|
||||
Fails on points 2) and 3). Actually qemu-kvm can be pretty fast,
|
||||
but in a lot of cases there is no substitute for actually booting
|
||||
on bare metal; GNOME 3 really needs some hardware GPU
|
||||
acceleration.
|
||||
|
||||
- Rebuilding distribution packages
|
||||
|
||||
Fails on points 1) and 4). Is also just very annoying: dpkg/rpm
|
||||
both want tarballs, which you don't have since you're working from
|
||||
git. The suggested "mock/pbuilder" type chroot builds are *slow*.
|
||||
And even with non-chroot builds there is lots of pointless build
|
||||
wrapping going on. Both dpkg and rpm also are poor at helping you
|
||||
revert back to the original system.
|
||||
|
||||
All of this can be scripted to be less bad of course - and I have
|
||||
worked on such scripts. But fundamentally you're still fighting
|
||||
the system, and if you're hacking on a lowlevel library like say
|
||||
glib, you can easily get yourself to the point where you need a
|
||||
recovery CD - at that point your edit/compile/debug cycle is just
|
||||
too long.
|
||||
|
||||
- "sudo make install"
|
||||
|
||||
Now your system is in an undefined state. You can use e.g. rpm
|
||||
-qV to try to find out what you overwrote, but neither dpkg nor
|
||||
rpm will help clean up any files left over that aren't shipped by
|
||||
the old package.
|
||||
|
||||
This is most realistic option for people hacking on system
|
||||
components currently, but ostree will be better.
|
||||
|
||||
- LXC / containers
|
||||
|
||||
Fails on 3), and 4) is questionable. Also shares the annoying part
|
||||
of rebuilding distribution packages. LXC is focused on running
|
||||
multiple server systems at the *same time*, which isn't what we
|
||||
want (at least, not right now), and honestly even trying to support
|
||||
that for a graphical desktop would be a lot of tricky work, for
|
||||
example getting two GDM instances not to fight over VT
|
||||
allocations. But some bits of the technology may make sense to use.
|
||||
|
||||
- jhbuild + distribution packages
|
||||
|
||||
The state of the art in GNOME - but can only build non-root things -
|
||||
this means you can't build NetworkManager, and thus are permanently
|
||||
stuck on whatever the distro provides.
|
||||
|
||||
Who is ostree for?
|
||||
------------------
|
||||
|
||||
First - operating system developers and testers. I specifically keep
|
||||
a few people in mind - Dan Williams and Eric Anholt, as well as myself
|
||||
obviously. For Eric Anholt, a key use case for him is being able to
|
||||
try out the latest gnome-shell, and combine it with his work on Mesa,
|
||||
and see how it works/performs - while retaining the ability to roll
|
||||
back if one or both breaks.
|
||||
|
||||
The rollback concept is absolutely key for shipping anything to
|
||||
enthusiasts or knowledable testers. With a system like this, a tester
|
||||
can easily perform a local rollback - something just not well
|
||||
supported by dpkg/rpm. (What about Conary? See below.)
|
||||
|
||||
Also, distributing operating system trees (instead of packages) gives
|
||||
us a sane place to perform automated QA **before** we ship it to
|
||||
testers. We should never be wasting these people's time.
|
||||
|
||||
Even better, this system would allow testers to *bisect* across
|
||||
operating system builds, and do so very efficiently.
|
||||
|
||||
The core idea - chroots
|
||||
-----------------------
|
||||
|
||||
chroots are the original lightweight "virtualization". Let's use
|
||||
them. So basically, you install a mainstream distribution (say
|
||||
Debian). It has a root filesystem like this:
|
||||
|
||||
/usr
|
||||
/etc
|
||||
/home
|
||||
...
|
||||
|
||||
Now, what we can do is have a system that installs chroots as a subdirectory
|
||||
of the root, like:
|
||||
|
||||
/ostree/gnomeos-3.0-opt-393a4555/{usr,etc,sbin,...}
|
||||
/ostree/gnomeos-3.2-opt-7e9788a2/{usr,etc,sbin,...}
|
||||
|
||||
These live in the same root filesystem as your regular distribution
|
||||
(Note though, the root partition should be reasonably sized, or
|
||||
hopefully you've used just one big partition).
|
||||
|
||||
You should be able to boot into one of these roots. Since ostree
|
||||
lives inside a distro created partition, a tricky part here is that we
|
||||
need to know how to interact with the installed distribution's grub.
|
||||
This is an annoying but tractable problem.
|
||||
|
||||
First, we install a kernel+initramfs alongside the distribution's.
|
||||
Then, we have a "trampoline" ostree-init binary which is statically
|
||||
linked, and boot the kernel with init=/ostree/ostree-init. This then
|
||||
takes care of chrooting and running the init binary.
|
||||
|
||||
An important note here is that we bind mount the real /home. This
|
||||
means you have your data. This also implies we share uid/gid, so
|
||||
/etc/passwd will have to be in sync. Probably what we'll do is have a
|
||||
script to pull the data from the "host" OS.
|
||||
|
||||
I've decided for now to move /var into /ostree to avoid sharing it
|
||||
with the "host" distribution, because in practice we're likely
|
||||
to hit incompatibilities.
|
||||
|
||||
Do note however /etc lives *inside* the OSTree; it's presently
|
||||
versioned and readonly like everything else.
|
||||
|
||||
On a pure OSTree system, the filesystem layout will look like this:
|
||||
|
||||
.
|
||||
|-- boot
|
||||
|-- home
|
||||
|-- ostree
|
||||
| |-- var
|
||||
| |-- current -> gnomeos-3.2-opt-7e9788a2
|
||||
| |-- gnomeos-3.0-opt-393a4555
|
||||
| | |-- etc
|
||||
| | |-- lib
|
||||
| | |-- mnt
|
||||
| | |-- proc
|
||||
| | |-- run
|
||||
| | |-- sbin
|
||||
| | |-- srv
|
||||
| | |-- sys
|
||||
| | `-- usr
|
||||
| `-- gnomeos-3.2-opt-7e9788a2
|
||||
| |-- etc
|
||||
| |-- lib
|
||||
| |-- mnt
|
||||
| |-- proc
|
||||
| |-- run
|
||||
| |-- sbin
|
||||
| |-- srv
|
||||
| |-- sys
|
||||
| `-- usr
|
||||
|-- root
|
||||
|
||||
|
||||
Making this efficient
|
||||
---------------------
|
||||
|
||||
One of the first things you'll probably ask is "but won't that use a
|
||||
lot of disk space"? Indeed, it will, if you just unpack a set of RPMs
|
||||
or .debs into each root.
|
||||
|
||||
Besides chroots, there's another old Unix idea we can take advantage
|
||||
of - hard links. These allow sharing the underlying data of a file,
|
||||
with the tradeoff that changing any one file will change all names
|
||||
that point to it. This mutability means that we have to either:
|
||||
|
||||
1. Make sure everything touching the operating system breaks hard links
|
||||
This is probably tractable over a long period of time, but if anything
|
||||
has a bug, then it corrupts the file effectively.
|
||||
2. Make the core OS read-only, with a well-defined mechanism for mutating
|
||||
under the control of ostree.
|
||||
|
||||
I chose 2.
|
||||
|
||||
A userspace content-addressed versioning filesystem
|
||||
---------------------------------------------------
|
||||
|
||||
At its very core, that's what ostree is. Just like git. If you
|
||||
understand git, you know it's not like other revision control systems.
|
||||
git is effectively a specialized, userspace filesystem, and that is a
|
||||
very powerful idea.
|
||||
|
||||
At the core of git is the idea of "content-addressed objects". For
|
||||
background on this, see <http://book.git-scm.com/7_how_git_stores_objects.html>
|
||||
|
||||
Why not just use git? Basically because git is designed mainly for
|
||||
source trees - it goes to effort to be sure it's compressing text for
|
||||
example, under the assumption that you have a lot of text. Its
|
||||
handling of binaries is very generic and unoptimized.
|
||||
|
||||
In contrast, ostree is explicitly designed for binaries, and in
|
||||
particular one type of binary - ELF executables (or it will be once we
|
||||
start using bsdiff).
|
||||
|
||||
Another big difference versus git is that ostree uses hard links
|
||||
between "checkouts" and the repository. This means each checkout uses
|
||||
almost no additional space, and is *extremely* fast to check out. We
|
||||
can do this because again each checkout is designed to be read-only.
|
||||
|
||||
So we mentioned above there are:
|
||||
|
||||
/ostree/gnomeos-3.2-opt-7e9788a2
|
||||
/ostree/gnomeos-3.2-opt-393a4555
|
||||
|
||||
There is also a "repository" that looks like this:
|
||||
|
||||
/ostree/repo/objects/17/a95e8ca0ba655b09cb68d7288342588e867ee0.file
|
||||
/ostree/repo/objects/17/68625e7ff5a8db77904c77489dc6f07d4afdba.meta
|
||||
/ostree/repo/objects/17/cc01589dd8540d85c0f93f52b708500dbaa5a9.file
|
||||
/ostree/repo/objects/30
|
||||
/ostree/repo/objects/30/6359b3ca7684358a3988afd005013f13c0c533.meta
|
||||
/ostree/repo/objects/30/8f3c03010cedd930b1db756ce659c064f0cd7f.meta
|
||||
/ostree/repo/objects/30/8cf0fd8e63dfff6a5f00ba5a48f3b92fb52de7.file
|
||||
/ostree/repo/objects/30/6cad7f027d69a46bb376044434bbf28d63e88d.file
|
||||
|
||||
Each object is either metadata (like a commit or tree), or a hard link
|
||||
to a regular file.
|
||||
|
||||
Note that also unlike git, the checksum here includes *metadata* such
|
||||
as uid, gid, permissions, and extended attributes. (It does not include
|
||||
file access times, since those shouldn't matter for the OS)
|
||||
|
||||
This is another important component to allowing the hardlinks. We
|
||||
wouldn't want say all empty files to be shared necessarily. (Though
|
||||
maybe this is wrong, and since the OS is readonly, we can make all
|
||||
files owned by root without loss of generality).
|
||||
|
||||
However this tradeoff means that we probably need a second index by
|
||||
content, so we don't have to redownload the entire OS if permissions
|
||||
change =)
|
||||
|
||||
Atomic upgrades, rollback
|
||||
-------------------------
|
||||
|
||||
OSTree is designed to atomically swap operating systems - such that
|
||||
during an upgrade and reboot process, you either get the full new
|
||||
system, or the old one. There is no "Please don't turn off your
|
||||
computer". We do this by simply using a symbolic link like:
|
||||
|
||||
/ostree/current -> /ostree/gnomeos-3.4-opt-e3b0c4429
|
||||
|
||||
Where gnomeos-e3b0c4429 has the full regular filesystem tree with usr/
|
||||
etc/ directories as above. To upgrade or rollback (there is no
|
||||
difference internally), we simply check out a new tree into
|
||||
gnomeos-b90ae4763 for example, then swap the "current" symbolic link,
|
||||
then remove the old tree.
|
||||
|
||||
But does this mean you have to reboot for OS upgrades? Very likely,
|
||||
yes - and this is no different from RPM/deb or whatever. They just
|
||||
typically lie to you about it =)
|
||||
|
||||
A typical model with RPM/deb is to unpack the new files, then use some
|
||||
IPC mechanism (SIGHUP, a control binary like /usr/sbin/apachectl) to
|
||||
signal the running process to reload. There are multiple problems
|
||||
with this - one is that in the new state, daemon A may depend on the
|
||||
updated configuration in daemon B. This may not be particularly
|
||||
common in default configurations, but it's highly likely that that
|
||||
some deployments will have e.g. apache talking to a local MySQL
|
||||
instance. So you really want to do is only apply the updated
|
||||
configuration when all the files are in place; not after each RPM or
|
||||
.deb is installed.
|
||||
|
||||
What's even harder is the massive set of race conditions that are
|
||||
possible while RPM/deb are in the process of upgrading. Cron jobs are
|
||||
very likely to hit this. If we want the ability to apply updates to a
|
||||
live system, we could first pause execution of non-upgrade userspace
|
||||
tasks. This could be done via SIGSTOP for example. Then, we can swap
|
||||
around the filesystem tree, and then finally attempt to apply updates
|
||||
via SIGHUP, and if possible, restart processes.
|
||||
|
||||
Configuration Management
|
||||
------------------------
|
||||
|
||||
By now if you've thought about this problem domain before, you're wondering
|
||||
about configuration management. In other words, if the OS is read only,
|
||||
how do I edit /etc/sudoers?
|
||||
|
||||
Well, have you ever been a system administrator on a zypper/yum
|
||||
system, done an RPM update, which then drops .rpmnew files in your
|
||||
/etc/ that you have to go and hunt for with "find" or something, and
|
||||
said to yourself, "Wow, this system is awesome!!!" ? Right, that's
|
||||
what I thought.
|
||||
|
||||
Configuration (and systems) management is a tricky problem, and I
|
||||
certainly don't have a magic bullet. However, one large conceptual
|
||||
improvement I think is defaulting to "rebase" versus "merge".
|
||||
|
||||
This means that we won't permit direct modification of /etc - instead,
|
||||
you HAVE to write a script which accomplishes your goals. To generate
|
||||
a tree, we check out a new copy, then run your script on top.
|
||||
|
||||
If the script fails, we can roll back the update, or drop to a shell
|
||||
if interactive.
|
||||
|
||||
However, we also need to consider cases where the administrator
|
||||
modifies state indirectly by a program. Think "adduser" for example.
|
||||
|
||||
Possible approaches:
|
||||
|
||||
1. Patch all of these programs to know how to write to the writable
|
||||
location, instead of the R/O bind mount overlay.
|
||||
2. Move the data to /var
|
||||
|
||||
What about "packages"?
|
||||
----------------------
|
||||
|
||||
There are several complex and separate issues hiding in this seemingly
|
||||
simple question.
|
||||
|
||||
I think OSTree always makes sense to use as a core operating system
|
||||
builder and updater. By "core" here I mean the parts that aren't
|
||||
removable. Debian has Essential: yes, any other distribution has this
|
||||
too implicitly in the set of dependencies for their updater tool.
|
||||
|
||||
Now, let me just say I will absolutely support using something like
|
||||
apt/yum/zypper (and consequently deb/rpm) on top of OSTree. This
|
||||
isn't trivial, but there aren't any conceptual issues.
|
||||
|
||||
Concretely for example, RPM or .deb might make sense as a delivery
|
||||
vehicle for third party OS extensions. A canoncial example is the
|
||||
NVidia graphics driver.
|
||||
|
||||
If one is using OSTree to build an *operating system*, then there has
|
||||
to be some API for applications. And that demands its own targeted
|
||||
solution - something like an evolved glick (zeroinstall is also
|
||||
similar).
|
||||
|
||||
Current package systems are totally broken for application deployment
|
||||
though; for example, they will remove files away from under running
|
||||
applications on update. And we clearly need the ability to install
|
||||
and upgrade applications without rebooting the OS.
|
||||
|
||||
Details of RPM installation
|
||||
---------------------------
|
||||
|
||||
We should be able to install LSB rpms. This implies providing "rpm".
|
||||
The tricky part here is since the OS itself is not assembled via RPMs,
|
||||
we need to fake up a database of "provides" as if we were. Even
|
||||
harder would be maintaining binary compatibilty with any arbitrary
|
||||
%post scripts that may be run.
|
||||
|
||||
What about BTRFS? Doesn't it solve everything?
|
||||
-----------------------------------------------
|
||||
|
||||
In short, BTRFS is not a magic bullet, but yes - it helps
|
||||
significantly. The obvious thing to do is layer BTRFS under dpkg/rpm,
|
||||
and have a separate subvolume for /home so rollbacks don't lose your
|
||||
data. See e.g.
|
||||
<http://fedoraproject.org/wiki/Features/SystemRollbackWithBtrfs>
|
||||
|
||||
As a general rule an issue with the BTRFS is that it can't roll back
|
||||
just changes to things installed by RPM (i.e. what's in rpm -qal).
|
||||
|
||||
For example, it's possible to e.g. run yum update, then edit something
|
||||
in /etc, reboot and notice things are broken, then roll back and have
|
||||
silently lost your changes to /etc.
|
||||
|
||||
Another example is adding a new binary in /usr/local. You could say,
|
||||
"OK, we'll use subvolumes for those!". But then what about /var (and
|
||||
your VM images that live in /var/lib/libvirt ?)
|
||||
|
||||
Finally, probably the biggest disadvantage of the rpm/dpkg + BTRFS
|
||||
approach is it doesn't solve the race conditions that happen when
|
||||
unpacking packages into the live system. This problem is really
|
||||
important to me.
|
||||
|
||||
Note though ostree can definitely take advantage of BTRFS features!
|
||||
In particular, we could use "reflink"
|
||||
<http://lwn.net/Articles/331808/> instead of hard links, and avoid
|
||||
having the object store corrupted if somehow the files are modified
|
||||
directly.
|
||||
|
||||
Other systems
|
||||
-------------
|
||||
|
||||
I've spent a long time thinking about this problem, and here are some
|
||||
of the other possible solutions out there I looked at, and why I
|
||||
didn't use them:
|
||||
|
||||
- Git: <http://git-scm.com/>
|
||||
|
||||
Really awesome, and the core inspiration here. But like I mentioned
|
||||
above, not at all designed for binaries - we can make different tradeoffs.
|
||||
|
||||
- bup: <https://github.com/apenwarr/bup>
|
||||
|
||||
bup is cool. But it shares the negative tradeoffs with git, though it
|
||||
does add positives of its own. It also inspired me.
|
||||
|
||||
- git-annex: <http://git-annex.branchable.com/git-annex/>
|
||||
|
||||
Looks interesting; I think this will share the same negative tradeoffs with git
|
||||
as far as using it for an OS goes.
|
||||
|
||||
- schroot: <http://www.debian-administration.org/articles/566>
|
||||
|
||||
Like LXC/containers, but just using a chroot.
|
||||
|
||||
- NixOS: <http://nixos.org/>
|
||||
|
||||
The NixOS people have a lot of really good ideas, and they've definitely
|
||||
thought about the problem space. However, their approach of checksumming
|
||||
all inputs to a package is pretty wacky. I don't see the point, and moreover
|
||||
it uses gobs of disk space.
|
||||
|
||||
- Conary: <http://wiki.rpath.com/wiki/Conary:Updates_and_Rollbacks>
|
||||
|
||||
If rpm/dpkg are like CVS, Conary is closer to Subversion. It's not
|
||||
bad, but ostree is better than it for the exact same reasons git
|
||||
is better than Subversion.
|
||||
|
||||
- BTRFS: <http://en.wikipedia.org/wiki/Btrfs>
|
||||
|
||||
See above.
|
||||
|
||||
- Solaris IPS: <http://hub.opensolaris.org/bin/view/Project+pkg/>
|
||||
|
||||
Rollback is ZFS level, so I think this shares the same tradeoffs as BTRFS+RPM/deb.
|
||||
They probably have some vertical integration though which definitely helps.
|
||||
Obviously we can't use ZFS.
|
||||
|
||||
- Jhbuild: <https://live.gnome.org/Jhbuild>
|
||||
|
||||
What we've been using in GNOME, and has the essential property of allowing you
|
||||
to "fall back" to a stable system. But ostree will blow it out of the water.
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
- OSTree wiki page: <https://live.gnome.org/OSTree>
|
||||
|
||||
- ostbuild wiki page: <https://live.gnome.org/OSTree/Ostbuild>
|
||||
|
||||
- Git repository: <http://git.gnome.org/browse/ostree/>
|
||||
|
||||
- Deploying OSTree in the Gnome servers: <https://bugzilla.gnome.org/show_bug.cgi?id=669772>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
*.lo
|
||||
*.o
|
||||
.deps
|
||||
.libs
|
||||
/*.bak
|
||||
/*.gcda
|
||||
/*.gcno
|
||||
/*.orig
|
||||
/*.rej
|
||||
/*.tab.c
|
||||
/*~
|
||||
/.*.sw[nop]
|
||||
/.dirstamp
|
||||
/.gitignore
|
||||
/GPATH
|
||||
/GRTAGS
|
||||
/GSYMS
|
||||
/GTAGS
|
||||
/ID
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/TAGS
|
||||
/gtkdoc-check.test
|
||||
/html
|
||||
/html-build.stamp
|
||||
/html.stamp
|
||||
/ostree-decl-list.txt
|
||||
/ostree-decl.txt
|
||||
/ostree-undeclared.txt
|
||||
/ostree-undocumented.txt
|
||||
/ostree-unused.txt
|
||||
/ostree.args
|
||||
/ostree.hierarchy
|
||||
/ostree.interfaces
|
||||
/ostree-overrides.txt
|
||||
/ostree.pdf
|
||||
/ostree.prerequisites
|
||||
/ostree.signals
|
||||
/ostree.types
|
||||
/pdf-build.stamp
|
||||
/pdf.stamp
|
||||
/scan-build.stamp
|
||||
/setup-build.stamp
|
||||
/sgml-build.stamp
|
||||
/sgml.stamp
|
||||
/so_locations
|
||||
/tags
|
||||
/tmpl
|
||||
/tmpl/*.bak
|
||||
/tmpl/ostree-unused.sgml
|
||||
/xml
|
||||
/version.xml
|
||||
_libs
|
||||
|
|
@ -1,945 +0,0 @@
|
|||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# Copyright (C) 2013 Colin Walters <walters@verbum.org>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# Shared variables between toplevel Makefile.am and doc/Makefile.am
|
||||
# ...since gtk-doc forces use of recursive make =(
|
||||
#
|
||||
# Copyright (C) 2013 Colin Walters <walters@verbum.org>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# -*- mode: makefile -*-
|
||||
|
||||
####################################
|
||||
# Everything below here is generic #
|
||||
####################################
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = apidoc
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/buildutil/attributes.m4 \
|
||||
$(top_srcdir)/buildutil/glibtests.m4 \
|
||||
$(top_srcdir)/buildutil/gtk-doc.m4 \
|
||||
$(top_srcdir)/buildutil/libglnx.m4 \
|
||||
$(top_srcdir)/buildutil/libtool.m4 \
|
||||
$(top_srcdir)/buildutil/ltoptions.m4 \
|
||||
$(top_srcdir)/buildutil/ltsugar.m4 \
|
||||
$(top_srcdir)/buildutil/ltversion.m4 \
|
||||
$(top_srcdir)/buildutil/lt~obsolete.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/../Makefile-libostree-defines.am \
|
||||
$(srcdir)/Makefile.in $(top_srcdir)/gtk-doc.make
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BUILDOPT_FUSE_CFLAGS = @BUILDOPT_FUSE_CFLAGS@
|
||||
BUILDOPT_FUSE_LIBS = @BUILDOPT_FUSE_LIBS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GJS = @GJS@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
|
||||
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_MKENUMS = @GLIB_MKENUMS@
|
||||
GOBJECT_QUERY = @GOBJECT_QUERY@
|
||||
GPGME_CONFIG = @GPGME_CONFIG@
|
||||
GPGME_PTHREAD_CFLAGS = @GPGME_PTHREAD_CFLAGS@
|
||||
GPGME_PTHREAD_LIBS = @GPGME_PTHREAD_LIBS@
|
||||
GREP = @GREP@
|
||||
GRUB2_MKCONFIG = @GRUB2_MKCONFIG@
|
||||
GTKDOC_CHECK = @GTKDOC_CHECK@
|
||||
GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
|
||||
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
|
||||
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
|
||||
GTKDOC_MKPDF = @GTKDOC_MKPDF@
|
||||
GTKDOC_REBASE = @GTKDOC_REBASE@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
|
||||
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
|
||||
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
|
||||
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
|
||||
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
|
||||
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
|
||||
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
|
||||
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
|
||||
LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OSTREE_FEATURES = @OSTREE_FEATURES@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
OT_DEP_E2P_CFLAGS = @OT_DEP_E2P_CFLAGS@
|
||||
OT_DEP_E2P_LIBS = @OT_DEP_E2P_LIBS@
|
||||
OT_DEP_GIO_UNIX_CFLAGS = @OT_DEP_GIO_UNIX_CFLAGS@
|
||||
OT_DEP_GIO_UNIX_LIBS = @OT_DEP_GIO_UNIX_LIBS@
|
||||
OT_DEP_GPGME_CFLAGS = @OT_DEP_GPGME_CFLAGS@
|
||||
OT_DEP_GPGME_LIBS = @OT_DEP_GPGME_LIBS@
|
||||
OT_DEP_LIBARCHIVE_CFLAGS = @OT_DEP_LIBARCHIVE_CFLAGS@
|
||||
OT_DEP_LIBARCHIVE_LIBS = @OT_DEP_LIBARCHIVE_LIBS@
|
||||
OT_DEP_LIBMOUNT_CFLAGS = @OT_DEP_LIBMOUNT_CFLAGS@
|
||||
OT_DEP_LIBMOUNT_LIBS = @OT_DEP_LIBMOUNT_LIBS@
|
||||
OT_DEP_LZMA_CFLAGS = @OT_DEP_LZMA_CFLAGS@
|
||||
OT_DEP_LZMA_LIBS = @OT_DEP_LZMA_LIBS@
|
||||
OT_DEP_SELINUX_CFLAGS = @OT_DEP_SELINUX_CFLAGS@
|
||||
OT_DEP_SELINUX_LIBS = @OT_DEP_SELINUX_LIBS@
|
||||
OT_DEP_SOUP_CFLAGS = @OT_DEP_SOUP_CFLAGS@
|
||||
OT_DEP_SOUP_LIBS = @OT_DEP_SOUP_LIBS@
|
||||
OT_DEP_ZLIB_CFLAGS = @OT_DEP_ZLIB_CFLAGS@
|
||||
OT_DEP_ZLIB_LIBS = @OT_DEP_ZLIB_LIBS@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
YACC = @YACC@
|
||||
YFLAGS = @YFLAGS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
installed_test_metadir = @installed_test_metadir@
|
||||
installed_testdir = @installed_testdir@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
systemdsystemunitdir = @systemdsystemunitdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
libostree_public_headers = \
|
||||
src/libostree/ostree.h \
|
||||
src/libostree/ostree-async-progress.h \
|
||||
src/libostree/ostree-autocleanups.h \
|
||||
src/libostree/ostree-core.h \
|
||||
src/libostree/ostree-dummy-enumtypes.h \
|
||||
src/libostree/ostree-mutable-tree.h \
|
||||
src/libostree/ostree-repo.h \
|
||||
src/libostree/ostree-types.h \
|
||||
src/libostree/ostree-repo-file.h \
|
||||
src/libostree/ostree-diff.h \
|
||||
src/libostree/ostree-gpg-verify-result.h \
|
||||
src/libostree/ostree-sepolicy.h \
|
||||
src/libostree/ostree-sysroot.h \
|
||||
src/libostree/ostree-sysroot-upgrader.h \
|
||||
src/libostree/ostree-deployment.h \
|
||||
src/libostree/ostree-bootconfig-parser.h \
|
||||
src/libostree/ostree-repo-deprecated.h \
|
||||
$(NULL)
|
||||
|
||||
NULL =
|
||||
|
||||
# We require automake 1.6 at least.
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# The name of the module, e.g. 'glib'.
|
||||
DOC_MODULE = ostree
|
||||
|
||||
# The top-level SGML file. You can change this if you want to.
|
||||
DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir).
|
||||
# gtk-doc will search all .c & .h files beneath here for inline comments
|
||||
# documenting the functions and macros.
|
||||
# e.g. DOC_SOURCE_DIR=../../../gtk
|
||||
DOC_SOURCE_DIR = $(top_srcdir)/src/libostree
|
||||
|
||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
||||
SCANGOBJ_OPTIONS = --version
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
||||
SCAN_OPTIONS = --rebuild-types
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
MKDB_OPTIONS = --sgml-mode --output-format=xml
|
||||
|
||||
# Extra options to supply to gtkdoc-mktmpl
|
||||
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
|
||||
MKTMPL_OPTIONS =
|
||||
|
||||
# MKHTML_OPTIONS=--path="$(builddir)/html $(srcdir)/html"
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref. Not normally needed.
|
||||
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
||||
FIXXREF_OPTIONS =
|
||||
|
||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||
HFILE_GLOB = $(addprefix $(top_srcdir)/,$(libostree_public_headers))
|
||||
CFILE_GLOB = $(top_srcdir)/src/libostree/*.c
|
||||
|
||||
# Header files to ignore when scanning.
|
||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
|
||||
IGNORE_HFILES = \
|
||||
bupsplit.h \
|
||||
ostree-bootloader.h \
|
||||
ostree-bootloader-grub2.h \
|
||||
ostree-bootloader-syslinux.h \
|
||||
ostree-bootloader-uboot.h \
|
||||
ostree-cmdprivate.h \
|
||||
ostree-core-private.h \
|
||||
ostree-fetcher.h \
|
||||
ostree-gpg-verifier.h \
|
||||
ostree-gpg-verify-result-private.h \
|
||||
ostree-kernel-args.h \
|
||||
ostree-libarchive-input-stream.h \
|
||||
ostree-lzma-compressor.h \
|
||||
ostree-lzma-decompressor.h \
|
||||
ostree-metalink.h \
|
||||
ostree-repo-file-enumerator.h \
|
||||
ostree-repo-private.h \
|
||||
ostree-repo-static-delta-private.h \
|
||||
ostree-sysroot-private.h \
|
||||
ostree-tls-cert-interaction.h \
|
||||
$(NULL)
|
||||
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
||||
HTML_IMAGES =
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
||||
content_files = \
|
||||
$(NULL)
|
||||
|
||||
|
||||
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
|
||||
# These files must be listed here *and* in content_files
|
||||
# e.g. expand_content_files=running.sgml
|
||||
expand_content_files = \
|
||||
version.xml \
|
||||
$(NULL)
|
||||
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||
# signals and properties.
|
||||
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||
GTKDOC_LIBS =
|
||||
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
|
||||
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
|
||||
SETUP_FILES = \
|
||||
$(content_files) \
|
||||
$(expand_content_files) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_MODULE)-sections.txt \
|
||||
$(DOC_MODULE)-overrides.txt
|
||||
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) version.xml \
|
||||
ostree-sections.txt $(NULL)
|
||||
DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
|
||||
html-build.stamp pdf-build.stamp \
|
||||
sgml.stamp html.stamp pdf.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
REPORT_FILES = \
|
||||
$(DOC_MODULE)-undocumented.txt \
|
||||
$(DOC_MODULE)-undeclared.txt \
|
||||
$(DOC_MODULE)-unused.txt
|
||||
|
||||
CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
|
||||
@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
|
||||
@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
|
||||
@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
|
||||
@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
|
||||
|
||||
#### setup ####
|
||||
GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
|
||||
GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
|
||||
|
||||
#### scan ####
|
||||
GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V))
|
||||
GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
|
||||
GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V))
|
||||
GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
|
||||
|
||||
#### xml ####
|
||||
GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V))
|
||||
GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_XML_0 = @echo " DOC Building XML";
|
||||
|
||||
#### html ####
|
||||
GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V))
|
||||
GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
|
||||
GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V))
|
||||
GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
|
||||
|
||||
#### pdf ####
|
||||
GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V))
|
||||
GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../Makefile-libostree-defines.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign apidoc/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign apidoc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
$(srcdir)/../Makefile-libostree-defines.am $(top_srcdir)/gtk-doc.make $(am__empty):
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
dist-hook
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
@ENABLE_GTK_DOC_FALSE@all-local:
|
||||
all-am: Makefile all-local
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-local
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-data-local
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic \
|
||||
maintainer-clean-local
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-local
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am all-local check check-am clean clean-generic \
|
||||
clean-libtool clean-local cscopelist-am ctags-am dist-hook \
|
||||
distclean distclean-generic distclean-libtool distclean-local \
|
||||
distdir dvi dvi-am html html-am info info-am install \
|
||||
install-am install-data install-data-am install-data-local \
|
||||
install-dvi install-dvi-am install-exec install-exec-am \
|
||||
install-html install-html-am install-info install-info-am \
|
||||
install-man install-pdf install-pdf-am install-ps \
|
||||
install-ps-am install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
maintainer-clean-local mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
|
||||
uninstall-am uninstall-local
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
version.xml:
|
||||
echo -n $(VERSION) > "$@"
|
||||
|
||||
gtkdoc-check.test: Makefile
|
||||
$(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
|
||||
echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
|
||||
chmod +x $@
|
||||
|
||||
all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
|
||||
.PHONY: all-gtk-doc
|
||||
|
||||
@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
|
||||
|
||||
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
|
||||
|
||||
$(REPORT_FILES): sgml-build.stamp
|
||||
|
||||
setup-build.stamp:
|
||||
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
|
||||
if test "x$$files" != "x" ; then \
|
||||
for file in $$files ; do \
|
||||
destdir=`dirname $(abs_builddir)/$$file`; \
|
||||
test -d "$$destdir" || mkdir -p "$$destdir"; \
|
||||
test -f $(abs_srcdir)/$$file && \
|
||||
cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
|
||||
done; \
|
||||
fi; \
|
||||
fi
|
||||
$(AM_V_at)touch setup-build.stamp
|
||||
|
||||
scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
|
||||
$(GTK_DOC_V_SCAN)_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
|
||||
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
|
||||
scanobj_options=""; \
|
||||
gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
scanobj_options="--verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
|
||||
gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
|
||||
else \
|
||||
for i in $(SCANOBJ_FILES) ; do \
|
||||
test -f $$i || touch $$i ; \
|
||||
done \
|
||||
fi
|
||||
$(AM_V_at)touch scan-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
|
||||
@true
|
||||
|
||||
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
|
||||
$(GTK_DOC_V_XML)_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
|
||||
$(AM_V_at)touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
xml/gtkdocentities.ent: Makefile
|
||||
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
||||
echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
|
||||
echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
|
||||
echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
|
||||
echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
|
||||
echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
|
||||
echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
|
||||
) > $@
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
|
||||
$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
|
||||
mkhtml_options=""; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkhtml_options="$$mkhtml_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
|
||||
if test "$$?" = "0"; then \
|
||||
mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
|
||||
fi; \
|
||||
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
|
||||
-@test "x$(HTML_IMAGES)" = "x" || \
|
||||
for file in $(HTML_IMAGES) ; do \
|
||||
if test -f $(abs_srcdir)/$$file ; then \
|
||||
cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
||||
fi; \
|
||||
if test -f $(abs_builddir)/$$file ; then \
|
||||
cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
||||
fi; \
|
||||
done;
|
||||
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
$(AM_V_at)touch html-build.stamp
|
||||
|
||||
pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
|
||||
$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
|
||||
mkpdf_options=""; \
|
||||
gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkpdf_options="$$mkpdf_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
if test "x$(HTML_IMAGES)" != "x"; then \
|
||||
for img in $(HTML_IMAGES); do \
|
||||
part=`dirname $$img`; \
|
||||
echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
|
||||
if test $$? != 0; then \
|
||||
mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
|
||||
fi; \
|
||||
done; \
|
||||
fi; \
|
||||
gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
|
||||
$(AM_V_at)touch pdf-build.stamp
|
||||
|
||||
##############
|
||||
|
||||
clean-local:
|
||||
@rm -f *~ *.bak
|
||||
@rm -rf .libs
|
||||
@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
|
||||
rm -f $(DOC_MODULE).types; \
|
||||
fi
|
||||
@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
|
||||
rm -f $(DOC_MODULE)-sections.txt; \
|
||||
fi
|
||||
|
||||
distclean-local:
|
||||
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
|
||||
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
|
||||
fi
|
||||
|
||||
maintainer-clean-local:
|
||||
@rm -rf xml html
|
||||
|
||||
install-data-local:
|
||||
@installfiles=`echo $(builddir)/html/*`; \
|
||||
if test "$$installfiles" = '$(builddir)/html/*'; \
|
||||
then echo 1>&2 'Nothing to install' ; \
|
||||
else \
|
||||
if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
|
||||
else \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)"; \
|
||||
fi; \
|
||||
$(mkinstalldirs) $${installdir} ; \
|
||||
for i in $$installfiles; do \
|
||||
echo ' $(INSTALL_DATA) '$$i ; \
|
||||
$(INSTALL_DATA) $$i $${installdir}; \
|
||||
done; \
|
||||
if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
|
||||
$${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
|
||||
fi; \
|
||||
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
|
||||
fi
|
||||
|
||||
uninstall-local:
|
||||
@if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
|
||||
else \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)"; \
|
||||
fi; \
|
||||
rm -rf $${installdir}
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
|
||||
@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
|
||||
@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
|
||||
@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
|
||||
@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
|
||||
@HAVE_GTK_DOC_FALSE@ @false
|
||||
|
||||
dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
|
||||
@mkdir $(distdir)/html
|
||||
@cp ./html/* $(distdir)/html
|
||||
@-cp ./$(DOC_MODULE).pdf $(distdir)/
|
||||
@-cp ./$(DOC_MODULE).types $(distdir)/
|
||||
@-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
|
||||
@cd $(distdir) && rm -f $(DISTCLEANFILES)
|
||||
@$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local docs
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
Before Width: | Height: | Size: 256 B |
|
|
@ -1,73 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>OSTree API references: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="next" href="reference.html" title="API Reference">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<div class="book">
|
||||
<div class="titlepage">
|
||||
<div>
|
||||
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
||||
<div><p class="releaseinfo">for OSTree 2016.8</p></div>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="chapter"><a href="reference.html">API Reference</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-Core-repository-independent-functions.html">Core repository-independent functions</a></span><span class="refpurpose"> — Create, validate, and convert core data types</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-Content-addressed-object-store.html">Content-addressed object store</a></span><span class="refpurpose"> — A git-like storage system for operating system binaries</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-In-memory-modifiable-filesystem-tree.html">In-memory modifiable filesystem tree</a></span><span class="refpurpose"> — Modifiable filesystem tree</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-Root-partition-mount-point.html">Root partition mount point</a></span><span class="refpurpose"> — Manage physical root filesystem</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-Progress-notification-system-for-asynchronous-operations.html">Progress notification system for asynchronous operations</a></span><span class="refpurpose"> — Values representing progress</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-SELinux-policy-management.html">SELinux policy management</a></span><span class="refpurpose"> — Read SELinux policy and manage filesystem labels</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-Simple-upgrade-class.html">Simple upgrade class</a></span><span class="refpurpose"> — Upgrade OSTree systems</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-GPG-signature-verification-results.html">GPG signature verification results</a></span><span class="refpurpose"> — Inspect detached GPG signatures</span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-bootconfig-parser.html">ostree-bootconfig-parser</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-chain-input-stream.html">ostree-chain-input-stream</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-checksum-input-stream.html">ostree-checksum-input-stream</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-deployment.html">ostree-deployment</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-diff.html">ostree-diff</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt>
|
||||
<span class="refentrytitle"><a href="ostree-ostree-repo-file.html">ostree-repo-file</a></span><span class="refpurpose"></span>
|
||||
</dt>
|
||||
<dt><span class="index"><a href="reference.html#api-index-full">API Index</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 262 B |
|
|
@ -1,658 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>GPG signature verification results: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||
<link rel="next" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-GPG-signature-verification-results.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-Simple-upgrade-class.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-bootconfig-parser.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-GPG-signature-verification-results"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-GPG-signature-verification-results.top_of_page"></a>GPG signature verification results</span></h2>
|
||||
<p>GPG signature verification results — Inspect detached GPG signatures</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-GPG-signature-verification-results.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()">ostree_gpg_verify_result_count_all</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-valid" title="ostree_gpg_verify_result_count_valid ()">ostree_gpg_verify_result_count_valid</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-lookup" title="ostree_gpg_verify_result_lookup ()">ostree_gpg_verify_result_lookup</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get" title="ostree_gpg_verify_result_get ()">ostree_gpg_verify_result_get</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()">ostree_gpg_verify_result_get_all</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe" title="ostree_gpg_verify_result_describe ()">ostree_gpg_verify_result_describe</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe-variant" title="ostree_gpg_verify_result_describe_variant ()">ostree_gpg_verify_result_describe_variant</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-require-valid-signature" title="ostree_gpg_verify_result_require_valid_signature ()">ostree_gpg_verify_result_require_valid_signature</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-GPG-signature-verification-results.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult">OstreeGpgVerifyResult</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr">OstreeGpgSignatureAttr</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags" title="enum OstreeGpgSignatureFormatFlags">OstreeGpgSignatureFormatFlags</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-GPG-signature-verification-results.description"></a><h2>Description</h2>
|
||||
<p><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> contains verification details for GPG signatures
|
||||
read from a detached <a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> metadata object.</p>
|
||||
<p>Use <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()"><code class="function">ostree_gpg_verify_result_count_all()</code></a> and
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-valid" title="ostree_gpg_verify_result_count_valid ()"><code class="function">ostree_gpg_verify_result_count_valid()</code></a> to quickly check overall signature
|
||||
validity.</p>
|
||||
<p>Use <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-lookup" title="ostree_gpg_verify_result_lookup ()"><code class="function">ostree_gpg_verify_result_lookup()</code></a> to find a signature by the key ID
|
||||
or fingerprint of the signing key.</p>
|
||||
<p>For more in-depth inspection, such as presenting signature details to the
|
||||
user, pass an array of attribute values to <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get" title="ostree_gpg_verify_result_get ()"><code class="function">ostree_gpg_verify_result_get()</code></a>
|
||||
or get all signature details with <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()"><code class="function">ostree_gpg_verify_result_get_all()</code></a>.</p>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-GPG-signature-verification-results.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-count-all"></a><h3>ostree_gpg_verify_result_count_all ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
ostree_gpg_verify_result_count_all (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>);</pre>
|
||||
<p>Counts all the signatures in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-count-all.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-count-all.returns"></a><h4>Returns</h4>
|
||||
<p> signature count</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-count-valid"></a><h3>ostree_gpg_verify_result_count_valid ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
ostree_gpg_verify_result_count_valid (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>);</pre>
|
||||
<p>Counts only the valid signatures in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-count-valid.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-count-valid.returns"></a><h4>Returns</h4>
|
||||
<p> valid signature count</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-lookup"></a><h3>ostree_gpg_verify_result_lookup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_gpg_verify_result_lookup (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *key_id</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> *out_signature_index</code></em>);</pre>
|
||||
<p>Searches <em class="parameter"><code>result</code></em>
|
||||
for a signature signed by <em class="parameter"><code>key_id</code></em>
|
||||
. If a match is found,
|
||||
the function returns <code class="literal">TRUE</code> and sets <em class="parameter"><code>out_signature_index</code></em>
|
||||
so that further
|
||||
signature details can be obtained through <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get" title="ostree_gpg_verify_result_get ()"><code class="function">ostree_gpg_verify_result_get()</code></a>.
|
||||
If no match is found, the function returns <code class="literal">FALSE</code> and leaves
|
||||
<em class="parameter"><code>out_signature_index</code></em>
|
||||
unchanged.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-lookup.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>key_id</p></td>
|
||||
<td class="parameter_description"><p>a GPG key ID or fingerprint</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_signature_index</p></td>
|
||||
<td class="parameter_description"><p> return location for the index of the signature
|
||||
signed by <em class="parameter"><code>key_id</code></em>
|
||||
, or <code class="literal">NULL</code>. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-lookup.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-get"></a><h3>ostree_gpg_verify_result_get ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
ostree_gpg_verify_result_get (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> *attrs</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> n_attrs</code></em>);</pre>
|
||||
<p>Builds a <span class="type">GVariant</span> tuple of requested attributes for the GPG signature at
|
||||
<em class="parameter"><code>signature_index</code></em>
|
||||
in <em class="parameter"><code>result</code></em>
|
||||
. See the <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> description
|
||||
for the <span class="type">GVariantType</span> of each available attribute.</p>
|
||||
<p>It is a programmer error to request an invalid <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> or
|
||||
an invalid <em class="parameter"><code>signature_index</code></em>
|
||||
. Use <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()"><code class="function">ostree_gpg_verify_result_count_all()</code></a> to
|
||||
find the number of signatures in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>signature_index</p></td>
|
||||
<td class="parameter_description"><p>which signature to get attributes from</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>attrs</p></td>
|
||||
<td class="parameter_description"><p> Array of requested attributes. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> length=n_attrs]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>n_attrs</p></td>
|
||||
<td class="parameter_description"><p>Length of the <em class="parameter"><code>attrs</code></em>
|
||||
array</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get.returns"></a><h4>Returns</h4>
|
||||
<p> a new, floating, <span class="type">GVariant</span> tuple</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-get-all"></a><h3>ostree_gpg_verify_result_get_all ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
ostree_gpg_verify_result_get_all (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>);</pre>
|
||||
<p>Builds a <span class="type">GVariant</span> tuple of all available attributes for the GPG signature
|
||||
at <em class="parameter"><code>signature_index</code></em>
|
||||
in <em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<p>The child values in the returned <span class="type">GVariant</span> tuple are ordered to match the
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> enumeration, which means the enum values can be
|
||||
used as index values in functions like <code class="function">g_variant_get_child()</code>. See the
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> description for the <span class="type">GVariantType</span> of each
|
||||
available attribute.</p>
|
||||
<div class="note"><p>
|
||||
The <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr" title="enum OstreeGpgSignatureAttr"><span class="type">OstreeGpgSignatureAttr</span></a> enumeration may be extended in the future
|
||||
with new attributes, which would affect the <span class="type">GVariant</span> tuple returned by
|
||||
this function. While the position and type of current child values in
|
||||
the <span class="type">GVariant</span> tuple will not change, to avoid backward-compatibility
|
||||
issues <span class="emphasis"><em>please do not depend on the tuple's overall size or
|
||||
type signature</em></span>.
|
||||
</p></div>
|
||||
<p>It is a programmer error to request an invalid <em class="parameter"><code>signature_index</code></em>
|
||||
. Use
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()"><code class="function">ostree_gpg_verify_result_count_all()</code></a> to find the number of signatures in
|
||||
<em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get-all.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>signature_index</p></td>
|
||||
<td class="parameter_description"><p>which signature to get attributes from</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-get-all.returns"></a><h4>Returns</h4>
|
||||
<p> a new, floating, <span class="type">GVariant</span> tuple</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-describe"></a><h3>ostree_gpg_verify_result_describe ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_gpg_verify_result_describe (<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> signature_index</code></em>,
|
||||
<em class="parameter"><code><span class="type">GString</span> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *line_prefix</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags" title="enum OstreeGpgSignatureFormatFlags"><span class="type">OstreeGpgSignatureFormatFlags</span></a> flags</code></em>);</pre>
|
||||
<p>Appends a brief, human-readable description of the GPG signature at
|
||||
<em class="parameter"><code>signature_index</code></em>
|
||||
in <em class="parameter"><code>result</code></em>
|
||||
to the <em class="parameter"><code>output_buffer</code></em>
|
||||
. The description
|
||||
spans multiple lines. A <em class="parameter"><code>line_prefix</code></em>
|
||||
string, if given, will precede
|
||||
each line of the description.</p>
|
||||
<p>The <em class="parameter"><code>flags</code></em>
|
||||
argument is reserved for future variations to the description
|
||||
format. Currently must be 0.</p>
|
||||
<p>It is a programmer error to request an invalid <em class="parameter"><code>signature_index</code></em>
|
||||
. Use
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all" title="ostree_gpg_verify_result_count_all ()"><code class="function">ostree_gpg_verify_result_count_all()</code></a> to find the number of signatures in
|
||||
<em class="parameter"><code>result</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-describe.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>signature_index</p></td>
|
||||
<td class="parameter_description"><p>which signature to describe</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>output_buffer</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GString</span> to hold the description</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>line_prefix</p></td>
|
||||
<td class="parameter_description"><p> optional line prefix string. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>flags to adjust the description format</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-describe-variant"></a><h3>ostree_gpg_verify_result_describe_variant ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_gpg_verify_result_describe_variant
|
||||
(<em class="parameter"><code><span class="type">GVariant</span> *variant</code></em>,
|
||||
<em class="parameter"><code><span class="type">GString</span> *output_buffer</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">gchar</span> *line_prefix</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags" title="enum OstreeGpgSignatureFormatFlags"><span class="type">OstreeGpgSignatureFormatFlags</span></a> flags</code></em>);</pre>
|
||||
<p>Similar to <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe" title="ostree_gpg_verify_result_describe ()"><code class="function">ostree_gpg_verify_result_describe()</code></a> but takes a <span class="type">GVariant</span> of
|
||||
all attributes for a GPG signature instead of an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>
|
||||
and signature index.</p>
|
||||
<p>The <em class="parameter"><code>variant</code></em>
|
||||
<span class="emphasis"><em>MUST</em></span> have been created by
|
||||
<a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()"><code class="function">ostree_gpg_verify_result_get_all()</code></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-describe-variant.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>variant</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GVariant</span> from <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all" title="ostree_gpg_verify_result_get_all ()"><code class="function">ostree_gpg_verify_result_get_all()</code></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>output_buffer</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GString</span> to hold the description</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>line_prefix</p></td>
|
||||
<td class="parameter_description"><p> optional line prefix string. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>flags to adjust the description format</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-gpg-verify-result-require-valid-signature"></a><h3>ostree_gpg_verify_result_require_valid_signature ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_gpg_verify_result_require_valid_signature
|
||||
(<em class="parameter"><code><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a> *result</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Checks if the result contains at least one signature from the
|
||||
trusted keyring. You can call this function immediately after
|
||||
<a class="link" href="ostree-Content-addressed-object-store.html#ostree-repo-verify-summary" title="ostree_repo_verify_summary ()"><code class="function">ostree_repo_verify_summary()</code></a> or <a class="link" href="ostree-Content-addressed-object-store.html#ostree-repo-verify-commit-ext" title="ostree_repo_verify_commit_ext ()"><code class="function">ostree_repo_verify_commit_ext()</code></a> -
|
||||
it will handle the <code class="literal">NULL</code> <em class="parameter"><code>result</code></em>
|
||||
and filled <em class="parameter"><code>error</code></em>
|
||||
too.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-require-valid-signature.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>result</p></td>
|
||||
<td class="parameter_description"><p> an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>A <span class="type">GError</span></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-gpg-verify-result-require-valid-signature.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>result</code></em>
|
||||
was not <code class="literal">NULL</code> and had at least one
|
||||
signature from trusted keyring, otherwise <code class="literal">FALSE</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-GPG-signature-verification-results.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeGpgVerifyResult"></a><h3>OstreeGpgVerifyResult</h3>
|
||||
<pre class="programlisting">typedef struct OstreeGpgVerifyResult OstreeGpgVerifyResult;
|
||||
</pre>
|
||||
<p>Private instance structure.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeGpgSignatureAttr"></a><h3>enum OstreeGpgSignatureAttr</h3>
|
||||
<p>Signature attributes available from an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>.
|
||||
The attribute's <span class="type">GVariantType</span> is shown in brackets.</p>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeGpgSignatureAttr.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-VALID:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_VALID</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Is the signature valid?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-SIG-EXPIRED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_SIG_EXPIRED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signature expired?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-EXPIRED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_EXPIRED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signing key expired?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-REVOKED:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_REVOKED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Has the signing key been revoked?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-KEY-MISSING:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_KEY_MISSING</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_BOOLEAN</span>] Is the signing key missing?</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-FINGERPRINT:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Fingerprint of the signing key</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-TIMESTAMP:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_TIMESTAMP</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_INT64</span>] Signature creation Unix timestamp</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-EXP-TIMESTAMP:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_EXP_TIMESTAMP</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_INT64</span>] Signature expiration Unix timestamp (0 if no
|
||||
expiration)</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-PUBKEY-ALGO-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_PUBKEY_ALGO_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Name of the public key algorithm used to create
|
||||
the signature</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-HASH-ALGO-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_HASH_ALGO_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] Name of the hash algorithm used to create the
|
||||
signature</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-USER-NAME:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_USER_NAME</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] The name of the signing key's primary user</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-ATTR-USER-EMAIL:CAPS"></a>OSTREE_GPG_SIGNATURE_ATTR_USER_EMAIL</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> [<span class="type">G_VARIANT_TYPE_STRING</span>] The email address of the signing key's primary
|
||||
user</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeGpgSignatureFormatFlags"></a><h3>enum OstreeGpgSignatureFormatFlags</h3>
|
||||
<p>Formatting flags for <a class="link" href="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe" title="ostree_gpg_verify_result_describe ()"><code class="function">ostree_gpg_verify_result_describe()</code></a>. Currently
|
||||
there's only one possible output format, but this enumeration allows
|
||||
for future variations.</p>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeGpgSignatureFormatFlags.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-GPG-SIGNATURE-FORMAT-DEFAULT:CAPS"></a>OSTREE_GPG_SIGNATURE_FORMAT_DEFAULT</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p> Use the default output format</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,370 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>In-memory modifiable filesystem tree: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-Content-addressed-object-store.html" title="Content-addressed object store">
|
||||
<link rel="next" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-In-memory-modifiable-filesystem-tree.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-Content-addressed-object-store.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-Root-partition-mount-point.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-In-memory-modifiable-filesystem-tree.top_of_page"></a>In-memory modifiable filesystem tree</span></h2>
|
||||
<p>In-memory modifiable filesystem tree — Modifiable filesystem tree</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="returnvalue">OstreeMutableTree</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-new" title="ostree_mutable_tree_new ()">ostree_mutable_tree_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-set-metadata-checksum" title="ostree_mutable_tree_set_metadata_checksum ()">ostree_mutable_tree_set_metadata_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-metadata-checksum" title="ostree_mutable_tree_get_metadata_checksum ()">ostree_mutable_tree_get_metadata_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-set-contents-checksum" title="ostree_mutable_tree_set_contents_checksum ()">ostree_mutable_tree_set_contents_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-contents-checksum" title="ostree_mutable_tree_get_contents_checksum ()">ostree_mutable_tree_get_contents_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-replace-file" title="ostree_mutable_tree_replace_file ()">ostree_mutable_tree_replace_file</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-dir" title="ostree_mutable_tree_ensure_dir ()">ostree_mutable_tree_ensure_dir</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-lookup" title="ostree_mutable_tree_lookup ()">ostree_mutable_tree_lookup</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-parent-dirs" title="ostree_mutable_tree_ensure_parent_dirs ()">ostree_mutable_tree_ensure_parent_dirs</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-walk" title="ostree_mutable_tree_walk ()">ostree_mutable_tree_walk</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GHashTable</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-subdirs" title="ostree_mutable_tree_get_subdirs ()">ostree_mutable_tree_get_subdirs</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GHashTable</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-files" title="ostree_mutable_tree_get_files ()">ostree_mutable_tree_get_files</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree">OstreeMutableTree</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree.description"></a><h2>Description</h2>
|
||||
<p>In order to commit content into an <a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a>, it must first be
|
||||
imported into an <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a>. There are several high level
|
||||
APIs to create an initiable <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> from a physical
|
||||
filesystem directory, but they may also be computed
|
||||
programmatically.</p>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-new"></a><h3>ostree_mutable_tree_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="returnvalue">OstreeMutableTree</span></a> *
|
||||
ostree_mutable_tree_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-new.returns"></a><h4>Returns</h4>
|
||||
<p> A new tree. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-set-metadata-checksum"></a><h3>ostree_mutable_tree_set_metadata_checksum ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_mutable_tree_set_metadata_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-metadata-checksum"></a><h3>ostree_mutable_tree_get_metadata_checksum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_mutable_tree_get_metadata_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-set-contents-checksum"></a><h3>ostree_mutable_tree_set_contents_checksum ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_mutable_tree_set_contents_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-contents-checksum"></a><h3>ostree_mutable_tree_get_contents_checksum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_mutable_tree_get_contents_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-replace-file"></a><h3>ostree_mutable_tree_replace_file ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_mutable_tree_replace_file (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-ensure-dir"></a><h3>ostree_mutable_tree_ensure_dir ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_mutable_tree_ensure_dir (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-lookup"></a><h3>ostree_mutable_tree_lookup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_mutable_tree_lookup (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_file_checksum</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-ensure-parent-dirs"></a><h3>ostree_mutable_tree_ensure_parent_dirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_mutable_tree_ensure_parent_dirs
|
||||
(<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *split_path</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *metadata_checksum</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_parent</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Create all parent trees necessary for the given <em class="parameter"><code>split_path</code></em>
|
||||
to
|
||||
exist.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-ensure-parent-dirs.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Tree</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>split_path</p></td>
|
||||
<td class="parameter_description"><p> File path components. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>metadata_checksum</p></td>
|
||||
<td class="parameter_description"><p>SHA256 checksum for metadata</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_parent</p></td>
|
||||
<td class="parameter_description"><p> The parent tree. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-walk"></a><h3>ostree_mutable_tree_walk ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_mutable_tree_walk (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *split_path</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> start</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> **out_subdir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Traverse <em class="parameter"><code>start</code></em>
|
||||
number of elements starting from <em class="parameter"><code>split_path</code></em>
|
||||
; the
|
||||
child will be returned in <em class="parameter"><code>out_subdir</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-walk.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Tree</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>split_path</p></td>
|
||||
<td class="parameter_description"><p> Split pathname. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>start</p></td>
|
||||
<td class="parameter_description"><p>Descend from this number of elements in <em class="parameter"><code>split_path</code></em>
|
||||
</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_subdir</p></td>
|
||||
<td class="parameter_description"><p> Target parent. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-subdirs"></a><h3>ostree_mutable_tree_get_subdirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
|
||||
ostree_mutable_tree_get_subdirs (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-get-subdirs.returns"></a><h4>Returns</h4>
|
||||
<p> All children directories. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8 OstreeMutableTree]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-mutable-tree-get-files"></a><h3>ostree_mutable_tree_get_files ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
|
||||
ostree_mutable_tree_get_files (<em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-mutable-tree-get-files.returns"></a><h4>Returns</h4>
|
||||
<p> All children files (the value is a checksum). </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8 utf8]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-In-memory-modifiable-filesystem-tree.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeMutableTree"></a><h3>OstreeMutableTree</h3>
|
||||
<pre class="programlisting">typedef struct OstreeMutableTree OstreeMutableTree;
|
||||
</pre>
|
||||
<p>Private instance structure.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,241 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Progress notification system for asynchronous operations: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||
<link rel="next" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-Progress-notification-system-for-asynchronous-operations.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-Root-partition-mount-point.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-SELinux-policy-management.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-Progress-notification-system-for-asynchronous-operations.top_of_page"></a>Progress notification system for asynchronous operations</span></h2>
|
||||
<p>Progress notification system for asynchronous operations — Values representing progress</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="returnvalue">OstreeAsyncProgress</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-new" title="ostree_async_progress_new ()">ostree_async_progress_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="returnvalue">OstreeAsyncProgress</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-new-and-connect" title="ostree_async_progress_new_and_connect ()">ostree_async_progress_new_and_connect</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-status" title="ostree_async_progress_get_status ()">ostree_async_progress_get_status</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint" title="ostree_async_progress_get_uint ()">ostree_async_progress_get_uint</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint64</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint64" title="ostree_async_progress_get_uint64 ()">ostree_async_progress_get_uint64</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-status" title="ostree_async_progress_set_status ()">ostree_async_progress_set_status</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-uint" title="ostree_async_progress_set_uint ()">ostree_async_progress_set_uint</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-uint64" title="ostree_async_progress_set_uint64 ()">ostree_async_progress_set_uint64</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-finish" title="ostree_async_progress_finish ()">ostree_async_progress_finish</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress">OstreeAsyncProgress</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.description"></a><h2>Description</h2>
|
||||
<p>For many asynchronous operations, it's desirable for callers to be
|
||||
able to watch their status as they progress. For example, an user
|
||||
interface calling an asynchronous download operation will want to
|
||||
be able to see the total number of bytes downloaded.</p>
|
||||
<p>This class provides a mechanism for callees of asynchronous
|
||||
operations to communicate back with callers. It transparently
|
||||
handles thread safety, ensuring that the progress change
|
||||
notification occurs in the thread-default context of the calling
|
||||
operation.</p>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-new"></a><h3>ostree_async_progress_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="returnvalue">OstreeAsyncProgress</span></a> *
|
||||
ostree_async_progress_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-new.returns"></a><h4>Returns</h4>
|
||||
<p> A new progress object. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-new-and-connect"></a><h3>ostree_async_progress_new_and_connect ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="returnvalue">OstreeAsyncProgress</span></a> *
|
||||
ostree_async_progress_new_and_connect (<em class="parameter"><code><span class="type">void</span> (*changed) (OstreeAsyncProgress *self, gpointer user_data)</code></em>,
|
||||
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-status"></a><h3>ostree_async_progress_get_status ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">char</span> *
|
||||
ostree_async_progress_get_status (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-uint"></a><h3>ostree_async_progress_get_uint ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
ostree_async_progress_get_uint (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-get-uint64"></a><h3>ostree_async_progress_get_uint64 ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint64</span>
|
||||
ostree_async_progress_get_uint64 (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-set-status"></a><h3>ostree_async_progress_set_status ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_status (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *status</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-set-uint"></a><h3>ostree_async_progress_set_uint ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_uint (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint</span> value</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-set-uint64"></a><h3>ostree_async_progress_set_uint64 ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_set_uint64 (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint64</span> value</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-async-progress-finish"></a><h3>ostree_async_progress_finish ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_async_progress_finish (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *self</code></em>);</pre>
|
||||
<p>Process any pending signals, ensuring the main context is cleared
|
||||
of sources used by this object. Also ensures that no further
|
||||
events will be queued.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-async-progress-finish.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Self</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Progress-notification-system-for-asynchronous-operations.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeAsyncProgress"></a><h3>OstreeAsyncProgress</h3>
|
||||
<pre class="programlisting">typedef struct OstreeAsyncProgress OstreeAsyncProgress;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,413 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>SELinux policy management: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
||||
<link rel="next" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-SELinux-policy-management.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-Progress-notification-system-for-asynchronous-operations.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-Simple-upgrade-class.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-SELinux-policy-management"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-SELinux-policy-management.top_of_page"></a>SELinux policy management</span></h2>
|
||||
<p>SELinux policy management — Read SELinux policy and manage filesystem labels</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-SELinux-policy-management.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="returnvalue">OstreeSePolicy</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-new" title="ostree_sepolicy_new ()">ostree_sepolicy_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GFile</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-path" title="ostree_sepolicy_get_path ()">ostree_sepolicy_get_path</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-name" title="ostree_sepolicy_get_name ()">ostree_sepolicy_get_name</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-label" title="ostree_sepolicy_get_label ()">ostree_sepolicy_get_label</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-get-csum" title="ostree_sepolicy_get_csum ()">ostree_sepolicy_get_csum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-restorecon" title="ostree_sepolicy_restorecon ()">ostree_sepolicy_restorecon</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-setfscreatecon" title="ostree_sepolicy_setfscreatecon ()">ostree_sepolicy_setfscreatecon</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-fscreatecon-cleanup" title="ostree_sepolicy_fscreatecon_cleanup ()">ostree_sepolicy_fscreatecon_cleanup</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-SELinux-policy-management.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy">OstreeSePolicy</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicyRestoreconFlags" title="enum OstreeSePolicyRestoreconFlags">OstreeSePolicyRestoreconFlags</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-SELinux-policy-management.description"></a><h2>Description</h2>
|
||||
<p>A <a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> object can load the SELinux policy from a given
|
||||
root and perform labeling.</p>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-SELinux-policy-management.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-new"></a><h3>ostree_sepolicy_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="returnvalue">OstreeSePolicy</span></a> *
|
||||
ostree_sepolicy_new (<em class="parameter"><code><span class="type">GFile</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-new.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>path</p></td>
|
||||
<td class="parameter_description"><p>Path to a root directory</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-new.returns"></a><h4>Returns</h4>
|
||||
<p> An accessor object for SELinux policy in root located at <em class="parameter"><code>path</code></em>
|
||||
. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-path"></a><h3>ostree_sepolicy_get_path ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GFile</span> *
|
||||
ostree_sepolicy_get_path (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-path.returns"></a><h4>Returns</h4>
|
||||
<p> Path to rootfs. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-name"></a><h3>ostree_sepolicy_get_name ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_sepolicy_get_name (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-name.returns"></a><h4>Returns</h4>
|
||||
<p> Type of current policy. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-label"></a><h3>ostree_sepolicy_get_label ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sepolicy_get_label (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *relpath</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint32</span> unix_mode</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_label</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Store in <em class="parameter"><code>out_label</code></em>
|
||||
the security context for the given <em class="parameter"><code>relpath</code></em>
|
||||
and
|
||||
mode <em class="parameter"><code>unix_mode</code></em>
|
||||
. If the policy does not specify a label, <code class="literal">NULL</code>
|
||||
will be returned.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-label.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Self</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>relpath</p></td>
|
||||
<td class="parameter_description"><p>Path</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>unix_mode</p></td>
|
||||
<td class="parameter_description"><p>Unix mode</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_label</p></td>
|
||||
<td class="parameter_description"><p> Return location for security context. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-get-csum"></a><h3>ostree_sepolicy_get_csum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_sepolicy_get_csum (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-get-csum.returns"></a><h4>Returns</h4>
|
||||
<p> Checksum of current policy. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-restorecon"></a><h3>ostree_sepolicy_restorecon ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sepolicy_restorecon (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileInfo</span> *info</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *target</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicyRestoreconFlags" title="enum OstreeSePolicyRestoreconFlags"><span class="type">OstreeSePolicyRestoreconFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> **out_new_label</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Reset the security context of <em class="parameter"><code>target</code></em>
|
||||
based on the SELinux policy.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-restorecon.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Self</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>path</p></td>
|
||||
<td class="parameter_description"><p>Path string to use for policy lookup</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>info</p></td>
|
||||
<td class="parameter_description"><p> File attributes. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>target</p></td>
|
||||
<td class="parameter_description"><p>Physical path to target file</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>Flags controlling behavior</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_new_label</p></td>
|
||||
<td class="parameter_description"><p> New label, or <code class="literal">NULL</code> if unchanged. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-setfscreatecon"></a><h3>ostree_sepolicy_setfscreatecon ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sepolicy_setfscreatecon (<em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">guint32</span> mode</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sepolicy-setfscreatecon.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Policy</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>path</p></td>
|
||||
<td class="parameter_description"><p>Use this path to determine a label</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>mode</p></td>
|
||||
<td class="parameter_description"><p>Used along with <em class="parameter"><code>path</code></em>
|
||||
</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sepolicy-fscreatecon-cleanup"></a><h3>ostree_sepolicy_fscreatecon_cleanup ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_sepolicy_fscreatecon_cleanup (<em class="parameter"><code><span class="type">void</span> **unused</code></em>);</pre>
|
||||
<p>Cleanup function for <a class="link" href="ostree-SELinux-policy-management.html#ostree-sepolicy-setfscreatecon" title="ostree_sepolicy_setfscreatecon ()"><code class="function">ostree_sepolicy_setfscreatecon()</code></a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-SELinux-policy-management.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeSePolicy"></a><h3>OstreeSePolicy</h3>
|
||||
<pre class="programlisting">typedef struct OstreeSePolicy OstreeSePolicy;
|
||||
</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeSePolicyRestoreconFlags"></a><h3>enum OstreeSePolicyRestoreconFlags</h3>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeSePolicyRestoreconFlags.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SEPOLICY-RESTORECON-FLAGS-NONE:CAPS"></a>OSTREE_SEPOLICY_RESTORECON_FLAGS_NONE</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SEPOLICY-RESTORECON-FLAGS-ALLOW-NOLABEL:CAPS"></a>OSTREE_SEPOLICY_RESTORECON_FLAGS_ALLOW_NOLABEL</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SEPOLICY-RESTORECON-FLAGS-KEEP-EXISTING:CAPS"></a>OSTREE_SEPOLICY_RESTORECON_FLAGS_KEEP_EXISTING</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,626 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Simple upgrade class: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||
<link rel="next" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-Simple-upgrade-class.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-SELinux-policy-management.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-GPG-signature-verification-results.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-Simple-upgrade-class"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-Simple-upgrade-class.top_of_page"></a>Simple upgrade class</span></h2>
|
||||
<p>Simple upgrade class — Upgrade OSTree systems</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Simple-upgrade-class.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new" title="ostree_sysroot_upgrader_new ()">ostree_sysroot_upgrader_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new-for-os" title="ostree_sysroot_upgrader_new_for_os ()">ostree_sysroot_upgrader_new_for_os</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new-for-os-with-flags" title="ostree_sysroot_upgrader_new_for_os_with_flags ()">ostree_sysroot_upgrader_new_for_os_with_flags</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-get-origin" title="ostree_sysroot_upgrader_get_origin ()">ostree_sysroot_upgrader_get_origin</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-dup-origin" title="ostree_sysroot_upgrader_dup_origin ()">ostree_sysroot_upgrader_dup_origin</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-set-origin" title="ostree_sysroot_upgrader_set_origin ()">ostree_sysroot_upgrader_set_origin</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-get-origin-description" title="ostree_sysroot_upgrader_get_origin_description ()">ostree_sysroot_upgrader_get_origin_description</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-check-timestamps" title="ostree_sysroot_upgrader_check_timestamps ()">ostree_sysroot_upgrader_check_timestamps</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull" title="ostree_sysroot_upgrader_pull ()">ostree_sysroot_upgrader_pull</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull-one-dir" title="ostree_sysroot_upgrader_pull_one_dir ()">ostree_sysroot_upgrader_pull_one_dir</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-deploy" title="ostree_sysroot_upgrader_deploy ()">ostree_sysroot_upgrader_deploy</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Simple-upgrade-class.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader">OstreeSysrootUpgrader</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderFlags" title="enum OstreeSysrootUpgraderFlags">OstreeSysrootUpgraderFlags</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags" title="enum OstreeSysrootUpgraderPullFlags">OstreeSysrootUpgraderPullFlags</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Simple-upgrade-class.description"></a><h2>Description</h2>
|
||||
<p>The <a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> class allows performing simple upgrade
|
||||
operations.</p>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Simple-upgrade-class.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-new"></a><h3>ostree_sysroot_upgrader_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
ostree_sysroot_upgrader_new (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>sysroot</p></td>
|
||||
<td class="parameter_description"><p>An <a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new.returns"></a><h4>Returns</h4>
|
||||
<p> An upgrader. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os"></a><h3>ostree_sysroot_upgrader_new_for_os ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
ostree_sysroot_upgrader_new_for_os (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>sysroot</p></td>
|
||||
<td class="parameter_description"><p>An <a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>osname</p></td>
|
||||
<td class="parameter_description"><p> Operating system name. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os.returns"></a><h4>Returns</h4>
|
||||
<p> An upgrader. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os-with-flags"></a><h3>ostree_sysroot_upgrader_new_for_os_with_flags ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="returnvalue">OstreeSysrootUpgrader</span></a> *
|
||||
ostree_sysroot_upgrader_new_for_os_with_flags
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *sysroot</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderFlags" title="enum OstreeSysrootUpgraderFlags"><span class="type">OstreeSysrootUpgraderFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os-with-flags.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>sysroot</p></td>
|
||||
<td class="parameter_description"><p>An <a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>osname</p></td>
|
||||
<td class="parameter_description"><p> Operating system name. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>Flags</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-new-for-os-with-flags.returns"></a><h4>Returns</h4>
|
||||
<p> An upgrader. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-get-origin"></a><h3>ostree_sysroot_upgrader_get_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
ostree_sysroot_upgrader_get_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin.returns"></a><h4>Returns</h4>
|
||||
<p> The origin file, or <code class="literal">NULL</code> if unknown. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin"></a><h3>ostree_sysroot_upgrader_dup_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
ostree_sysroot_upgrader_dup_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-dup-origin.returns"></a><h4>Returns</h4>
|
||||
<p> A copy of the origin file, or <code class="literal">NULL</code> if unknown. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-set-origin"></a><h3>ostree_sysroot_upgrader_set_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_upgrader_set_origin (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *origin</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Replace the origin with <em class="parameter"><code>origin</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-set-origin.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>origin</p></td>
|
||||
<td class="parameter_description"><p> The new origin. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-get-origin-description"></a><h3>ostree_sysroot_upgrader_get_origin_description ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">char</span> *
|
||||
ostree_sysroot_upgrader_get_origin_description
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin-description.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Upgrader</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-get-origin-description.returns"></a><h4>Returns</h4>
|
||||
<p> A one-line descriptive summary of the origin, or <code class="literal">NULL</code> if unknown</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-check-timestamps"></a><h3>ostree_sysroot_upgrader_check_timestamps ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_upgrader_check_timestamps
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *from_rev</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *to_rev</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Check that the timestamp on <em class="parameter"><code>to_rev</code></em>
|
||||
is equal to or newer than
|
||||
<em class="parameter"><code>from_rev</code></em>
|
||||
. This protects systems against man-in-the-middle
|
||||
attackers which provide a client with an older commit.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-check-timestamps.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>repo</p></td>
|
||||
<td class="parameter_description"><p>Repo</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>from_rev</p></td>
|
||||
<td class="parameter_description"><p>From revision</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>to_rev</p></td>
|
||||
<td class="parameter_description"><p>To revision</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-pull"></a><h3>ostree_sysroot_upgrader_pull ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_upgrader_pull (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags" title="enum OstreeSysrootUpgraderPullFlags"><span class="type">OstreeSysrootUpgraderPullFlags</span></a> upgrader_flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_changed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Perform a pull from the origin. First check if the ref has
|
||||
changed, if so download the linked objects, and store the updated
|
||||
ref locally. Then <em class="parameter"><code>out_changed</code></em>
|
||||
will be <code class="literal">TRUE</code>.</p>
|
||||
<p>If the origin remote is unchanged, <em class="parameter"><code>out_changed</code></em>
|
||||
will be set to
|
||||
<code class="literal">FALSE</code>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-pull.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Upgrader</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>Flags controlling pull behavior</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>upgrader_flags</p></td>
|
||||
<td class="parameter_description"><p>Flags controlling upgrader behavior</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>progress</p></td>
|
||||
<td class="parameter_description"><p> Progress. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>out_changed</p></td>
|
||||
<td class="parameter_description"><p> Whether or not the origin changed. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-pull-one-dir"></a><h3>ostree_sysroot_upgrader_pull_one_dir ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_upgrader_pull_one_dir (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *dir_to_pull</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags" title="enum OstreeSysrootUpgraderPullFlags"><span class="type">OstreeSysrootUpgraderPullFlags</span></a> upgrader_flags</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *out_changed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Like <a class="link" href="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull" title="ostree_sysroot_upgrader_pull ()"><code class="function">ostree_sysroot_upgrader_pull()</code></a>, but allows retrieving just a
|
||||
subpath of the tree. This can be used to download metadata files
|
||||
from inside the tree such as package databases.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-upgrader-deploy"></a><h3>ostree_sysroot_upgrader_deploy ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_upgrader_deploy (<em class="parameter"><code><a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Write the new deployment to disk, perform a configuration merge
|
||||
with /etc, and update the bootloader configuration.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-upgrader-deploy.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Self</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-Simple-upgrade-class.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeSysrootUpgrader"></a><h3>OstreeSysrootUpgrader</h3>
|
||||
<pre class="programlisting">typedef struct OstreeSysrootUpgrader OstreeSysrootUpgrader;
|
||||
</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeSysrootUpgraderFlags"></a><h3>enum OstreeSysrootUpgraderFlags</h3>
|
||||
<p>Flags controlling operation of an <a class="link" href="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader" title="OstreeSysrootUpgrader"><span class="type">OstreeSysrootUpgrader</span></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeSysrootUpgraderFlags.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SYSROOT-UPGRADER-FLAGS-NONE:CAPS"></a>OSTREE_SYSROOT_UPGRADER_FLAGS_NONE</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p>No options</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SYSROOT-UPGRADER-FLAGS-IGNORE-UNCONFIGURED:CAPS"></a>OSTREE_SYSROOT_UPGRADER_FLAGS_IGNORE_UNCONFIGURED</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p>Do not error if the origin has an unconfigured-state key</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeSysrootUpgraderPullFlags"></a><h3>enum OstreeSysrootUpgraderPullFlags</h3>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeSysrootUpgraderPullFlags.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SYSROOT-UPGRADER-PULL-FLAGS-NONE:CAPS"></a>OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_NONE</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-SYSROOT-UPGRADER-PULL-FLAGS-ALLOW-OLDER:CAPS"></a>OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_ALLOW_OLDER</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,261 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-bootconfig-parser: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||
<link rel="next" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-bootconfig-parser.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-GPG-signature-verification-results.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-chain-input-stream.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-bootconfig-parser"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-bootconfig-parser.top_of_page"></a>ostree-bootconfig-parser</span></h2>
|
||||
<p>ostree-bootconfig-parser</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-bootconfig-parser.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-new" title="ostree_bootconfig_parser_new ()">ostree_bootconfig_parser_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-clone" title="ostree_bootconfig_parser_clone ()">ostree_bootconfig_parser_clone</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse" title="ostree_bootconfig_parser_parse ()">ostree_bootconfig_parser_parse</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse-at" title="ostree_bootconfig_parser_parse_at ()">ostree_bootconfig_parser_parse_at</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write" title="ostree_bootconfig_parser_write ()">ostree_bootconfig_parser_write</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write-at" title="ostree_bootconfig_parser_write_at ()">ostree_bootconfig_parser_write_at</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-set" title="ostree_bootconfig_parser_set ()">ostree_bootconfig_parser_set</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-get" title="ostree_bootconfig_parser_get ()">ostree_bootconfig_parser_get</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-bootconfig-parser.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="datatype_keyword"> </td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser">OstreeBootconfigParser</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-bootconfig-parser.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-bootconfig-parser.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-new"></a><h3>ostree_bootconfig_parser_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
ostree_bootconfig_parser_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-clone"></a><h3>ostree_bootconfig_parser_clone ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
ostree_bootconfig_parser_clone (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-bootconfig-parser-clone.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Bootconfig to clone</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-bootconfig-parser-clone.returns"></a><h4>Returns</h4>
|
||||
<p> Copy of <em class="parameter"><code>self</code></em>
|
||||
. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-parse"></a><h3>ostree_bootconfig_parser_parse ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_bootconfig_parser_parse (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-parse-at"></a><h3>ostree_bootconfig_parser_parse_at ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_bootconfig_parser_parse_at (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Initialize a bootconfig from the given file.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-bootconfig-parser-parse-at.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Parser</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>dfd</p></td>
|
||||
<td class="parameter_description"><p>Directory fd</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>path</p></td>
|
||||
<td class="parameter_description"><p>File path</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-write"></a><h3>ostree_bootconfig_parser_write ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_bootconfig_parser_write (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *output</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-write-at"></a><h3>ostree_bootconfig_parser_write_at ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_bootconfig_parser_write_at (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-set"></a><h3>ostree_bootconfig_parser_set ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_bootconfig_parser_set (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-bootconfig-parser-get"></a><h3>ostree_bootconfig_parser_get ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_bootconfig_parser_get (<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-bootconfig-parser.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeBootconfigParser"></a><h3>OstreeBootconfigParser</h3>
|
||||
<pre class="programlisting">typedef struct _OstreeBootconfigParser OstreeBootconfigParser;</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-chain-input-stream: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||
<link rel="next" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-chain-input-stream.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-ostree-bootconfig-parser.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-checksum-input-stream.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-chain-input-stream"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-chain-input-stream.top_of_page"></a>ostree-chain-input-stream</span></h2>
|
||||
<p>ostree-chain-input-stream</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-chain-input-stream.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-chain-input-stream.html#OstreeChainInputStream" title="struct OstreeChainInputStream"><span class="returnvalue">OstreeChainInputStream</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-chain-input-stream.html#ostree-chain-input-stream-new" title="ostree_chain_input_stream_new ()">ostree_chain_input_stream_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-chain-input-stream.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="datatype_keyword">struct</td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-chain-input-stream.html#OstreeChainInputStream" title="struct OstreeChainInputStream">OstreeChainInputStream</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-chain-input-stream.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-chain-input-stream.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-chain-input-stream-new"></a><h3>ostree_chain_input_stream_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-chain-input-stream.html#OstreeChainInputStream" title="struct OstreeChainInputStream"><span class="returnvalue">OstreeChainInputStream</span></a> *
|
||||
ostree_chain_input_stream_new (<em class="parameter"><code><span class="type">GPtrArray</span> *streams</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-chain-input-stream.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeChainInputStream"></a><h3>struct OstreeChainInputStream</h3>
|
||||
<pre class="programlisting">struct OstreeChainInputStream {
|
||||
GInputStream parent_instance;
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-checksum-input-stream: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||
<link rel="next" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-checksum-input-stream.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-ostree-chain-input-stream.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-deployment.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-checksum-input-stream"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-checksum-input-stream.top_of_page"></a>ostree-checksum-input-stream</span></h2>
|
||||
<p>ostree-checksum-input-stream</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-checksum-input-stream.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-checksum-input-stream.html#OstreeChecksumInputStream" title="struct OstreeChecksumInputStream"><span class="returnvalue">OstreeChecksumInputStream</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-checksum-input-stream.html#ostree-checksum-input-stream-new" title="ostree_checksum_input_stream_new ()">ostree_checksum_input_stream_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-checksum-input-stream.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="datatype_keyword">struct</td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-checksum-input-stream.html#OstreeChecksumInputStream" title="struct OstreeChecksumInputStream">OstreeChecksumInputStream</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-checksum-input-stream.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-checksum-input-stream.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-checksum-input-stream-new"></a><h3>ostree_checksum_input_stream_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-checksum-input-stream.html#OstreeChecksumInputStream" title="struct OstreeChecksumInputStream"><span class="returnvalue">OstreeChecksumInputStream</span></a> *
|
||||
ostree_checksum_input_stream_new (<em class="parameter"><code><span class="type">GInputStream</span> *stream</code></em>,
|
||||
<em class="parameter"><code><span class="type">GChecksum</span> *checksum</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-checksum-input-stream.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeChecksumInputStream"></a><h3>struct OstreeChecksumInputStream</h3>
|
||||
<pre class="programlisting">struct OstreeChecksumInputStream {
|
||||
GFilterInputStream parent_instance;
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,527 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-deployment: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||
<link rel="next" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-deployment.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-ostree-checksum-input-stream.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-diff.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-deployment"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-deployment.top_of_page"></a>ostree-deployment</span></h2>
|
||||
<p>ostree-deployment</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-deployment.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">guint</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-hash" title="ostree_deployment_hash ()">ostree_deployment_hash</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-equal" title="ostree_deployment_equal ()">ostree_deployment_equal</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="returnvalue">OstreeDeployment</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-new" title="ostree_deployment_new ()">ostree_deployment_new</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">int</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-index" title="ostree_deployment_get_index ()">ostree_deployment_get_index</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-osname" title="ostree_deployment_get_osname ()">ostree_deployment_get_osname</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">int</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-deployserial" title="ostree_deployment_get_deployserial ()">ostree_deployment_get_deployserial</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-csum" title="ostree_deployment_get_csum ()">ostree_deployment_get_csum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-bootcsum" title="ostree_deployment_get_bootcsum ()">ostree_deployment_get_bootcsum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">int</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-bootserial" title="ostree_deployment_get_bootserial ()">ostree_deployment_get_bootserial</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-bootconfig" title="ostree_deployment_get_bootconfig ()">ostree_deployment_get_bootconfig</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GKeyFile</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-origin" title="ostree_deployment_get_origin ()">ostree_deployment_get_origin</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-origin-relpath" title="ostree_deployment_get_origin_relpath ()">ostree_deployment_get_origin_relpath</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">OstreeDeploymentUnlockedState</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-get-unlocked" title="ostree_deployment_get_unlocked ()">ostree_deployment_get_unlocked</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-set-index" title="ostree_deployment_set_index ()">ostree_deployment_set_index</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-set-bootserial" title="ostree_deployment_set_bootserial ()">ostree_deployment_set_bootserial</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-set-bootconfig" title="ostree_deployment_set_bootconfig ()">ostree_deployment_set_bootconfig</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-set-origin" title="ostree_deployment_set_origin ()">ostree_deployment_set_origin</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="returnvalue">OstreeDeployment</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-clone" title="ostree_deployment_clone ()">ostree_deployment_clone</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-deployment.html#ostree-deployment-unlocked-state-to-string" title="ostree_deployment_unlocked_state_to_string ()">ostree_deployment_unlocked_state_to_string</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-deployment.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="datatype_keyword"> </td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment">OstreeDeployment</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-deployment.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-deployment.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-hash"></a><h3>ostree_deployment_hash ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">guint</span>
|
||||
ostree_deployment_hash (<em class="parameter"><code><span class="type">gconstpointer</span> v</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-equal"></a><h3>ostree_deployment_equal ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_deployment_equal (<em class="parameter"><code><span class="type">gconstpointer</span> ap</code></em>,
|
||||
<em class="parameter"><code><span class="type">gconstpointer</span> bp</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-equal.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>ap</p></td>
|
||||
<td class="parameter_description"><p> A deployment. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/type"><span class="acronym">type</span></a> OstreeDeployment]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>bp</p></td>
|
||||
<td class="parameter_description"><p> A deployment. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/type"><span class="acronym">type</span></a> OstreeDeployment]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-equal.returns"></a><h4>Returns</h4>
|
||||
<p> <code class="literal">TRUE</code> if deployments have the same osname, csum, and deployserial</p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-new"></a><h3>ostree_deployment_new ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="returnvalue">OstreeDeployment</span></a> *
|
||||
ostree_deployment_new (<em class="parameter"><code><span class="type">int</span> index</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *osname</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *csum</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> deployserial</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *bootcsum</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> bootserial</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-index"></a><h3>ostree_deployment_get_index ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">int</span>
|
||||
ostree_deployment_get_index (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-osname"></a><h3>ostree_deployment_get_osname ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_deployment_get_osname (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-deployserial"></a><h3>ostree_deployment_get_deployserial ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">int</span>
|
||||
ostree_deployment_get_deployserial (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-csum"></a><h3>ostree_deployment_get_csum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_deployment_get_csum (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-bootcsum"></a><h3>ostree_deployment_get_bootcsum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_deployment_get_bootcsum (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-bootserial"></a><h3>ostree_deployment_get_bootserial ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">int</span>
|
||||
ostree_deployment_get_bootserial (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-bootconfig"></a><h3>ostree_deployment_get_bootconfig ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="returnvalue">OstreeBootconfigParser</span></a> *
|
||||
ostree_deployment_get_bootconfig (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-bootconfig.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Deployment</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-bootconfig.returns"></a><h4>Returns</h4>
|
||||
<p> Boot configuration. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-origin"></a><h3>ostree_deployment_get_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
|
||||
ostree_deployment_get_origin (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-origin.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Deployment</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-origin.returns"></a><h4>Returns</h4>
|
||||
<p> Origin. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-origin-relpath"></a><h3>ostree_deployment_get_origin_relpath ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">char</span> *
|
||||
ostree_deployment_get_origin_relpath (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
<p>Note this function only returns a *relative* path - if you want to
|
||||
access, it, you must either use fd-relative api such as <code class="function">openat()</code>,
|
||||
or concatenate it with the full <a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-get-path" title="ostree_sysroot_get_path ()"><code class="function">ostree_sysroot_get_path()</code></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-origin-relpath.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>A deployment</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-get-origin-relpath.returns"></a><h4>Returns</h4>
|
||||
<p> Path to deployment root directory, relative to sysroot. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-get-unlocked"></a><h3>ostree_deployment_get_unlocked ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">OstreeDeploymentUnlockedState</span>
|
||||
ostree_deployment_get_unlocked (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-set-index"></a><h3>ostree_deployment_set_index ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_deployment_set_index (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> index</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-set-bootserial"></a><h3>ostree_deployment_set_bootserial ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_deployment_set_bootserial (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> index</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-set-bootconfig"></a><h3>ostree_deployment_set_bootconfig ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_deployment_set_bootconfig (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *bootconfig</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-set-origin"></a><h3>ostree_deployment_set_origin ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_deployment_set_origin (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GKeyFile</span> *origin</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-clone"></a><h3>ostree_deployment_clone ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="returnvalue">OstreeDeployment</span></a> *
|
||||
ostree_deployment_clone (<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-clone.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Deployment</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-deployment-clone.returns"></a><h4>Returns</h4>
|
||||
<p> New deep copy of <em class="parameter"><code>self</code></em>
|
||||
. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-deployment-unlocked-state-to-string"></a><h3>ostree_deployment_unlocked_state_to_string ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_deployment_unlocked_state_to_string
|
||||
(<em class="parameter"><code><span class="type">OstreeDeploymentUnlockedState</span> state</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-deployment.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeDeployment"></a><h3>OstreeDeployment</h3>
|
||||
<pre class="programlisting">typedef struct {
|
||||
GObject parent_instance;
|
||||
|
||||
int index;
|
||||
char *osname;
|
||||
char *csum;
|
||||
int deployserial;
|
||||
char *bootcsum;
|
||||
int bootserial;
|
||||
OstreeBootconfigParser *bootconfig;
|
||||
GKeyFile *origin;
|
||||
OstreeDeploymentUnlockedState unlocked;
|
||||
} OstreeDeployment;
|
||||
</pre>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeDeployment.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="struct_members_name">
|
||||
<col class="struct_members_description">
|
||||
<col width="200px" class="struct_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="OstreeDeployment.index"></a>index</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>Global offset</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="OstreeDeployment.osname"></a>osname</code></em>;</p></td>
|
||||
<td class="struct_member_description"> </td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="OstreeDeployment.csum"></a>csum</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>OSTree checksum of tree</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="OstreeDeployment.deployserial"></a>deployserial</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>How many times this particular csum appears in deployment list</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="OstreeDeployment.bootcsum"></a>bootcsum</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>Checksum of kernel+initramfs</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="OstreeDeployment.bootserial"></a>bootserial</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>An integer assigned to this tree per its ${bootcsum}</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><a class="link" href="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser" title="OstreeBootconfigParser"><span class="type">OstreeBootconfigParser</span></a> *<em class="structfield"><code><a name="OstreeDeployment.bootconfig"></a>bootconfig</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>Bootloader configuration</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">GKeyFile</span> *<em class="structfield"><code><a name="OstreeDeployment.origin"></a>origin</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>How to construct an upgraded version of this tree</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="struct_member_name"><p><span class="type">OstreeDeploymentUnlockedState</span> <em class="structfield"><code><a name="OstreeDeployment.unlocked"></a>unlocked</code></em>;</p></td>
|
||||
<td class="struct_member_description"><p>The unlocked state</p></td>
|
||||
<td class="struct_member_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,282 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-diff: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||
<link rel="next" href="ostree-ostree-repo-file.html" title="ostree-repo-file">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-diff.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-ostree-deployment.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><a accesskey="n" href="ostree-ostree-repo-file.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-diff"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-diff.top_of_page"></a>ostree-diff</span></h2>
|
||||
<p>ostree-diff</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-diff.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem"><span class="returnvalue">OstreeDiffItem</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-item-ref" title="ostree_diff_item_ref ()">ostree_diff_item_ref</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-item-unref" title="ostree_diff_item_unref ()">ostree_diff_item_unref</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-dirs" title="ostree_diff_dirs ()">ostree_diff_dirs</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-diff.html#ostree-diff-print" title="ostree_diff_print ()">ostree_diff_print</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-diff.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="datatype_keyword">enum</td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-diff.html#OstreeDiffFlags" title="enum OstreeDiffFlags">OstreeDiffFlags</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="datatype_keyword">struct</td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem">OstreeDiffItem</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-diff.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-diff.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-item-ref"></a><h3>ostree_diff_item_ref ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem"><span class="returnvalue">OstreeDiffItem</span></a> *
|
||||
ostree_diff_item_ref (<em class="parameter"><code><a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem"><span class="type">OstreeDiffItem</span></a> *diffitem</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-item-unref"></a><h3>ostree_diff_item_unref ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_diff_item_unref (<em class="parameter"><code><a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem"><span class="type">OstreeDiffItem</span></a> *diffitem</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-dirs"></a><h3>ostree_diff_dirs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_diff_dirs (<em class="parameter"><code><a class="link" href="ostree-ostree-diff.html#OstreeDiffFlags" title="enum OstreeDiffFlags"><span class="type">OstreeDiffFlags</span></a> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *a</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *b</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *modified</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *removed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *added</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Compute the difference between directory <em class="parameter"><code>a</code></em>
|
||||
and <em class="parameter"><code>b</code></em>
|
||||
as 3 separate
|
||||
sets of <a class="link" href="ostree-ostree-diff.html#OstreeDiffItem" title="struct OstreeDiffItem"><span class="type">OstreeDiffItem</span></a> in <em class="parameter"><code>modified</code></em>
|
||||
, <em class="parameter"><code>removed</code></em>
|
||||
, and <em class="parameter"><code>added</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-diff-dirs.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>flags</p></td>
|
||||
<td class="parameter_description"><p>Flags</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>a</p></td>
|
||||
<td class="parameter_description"><p>First directory path, or <code class="literal">NULL</code></p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>b</p></td>
|
||||
<td class="parameter_description"><p>First directory path</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>modified</p></td>
|
||||
<td class="parameter_description"><p> Modified files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> OstreeDiffItem]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>removed</p></td>
|
||||
<td class="parameter_description"><p> Removed files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> Gio.File]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>added</p></td>
|
||||
<td class="parameter_description"><p> Added files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> Gio.File]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-diff-print"></a><h3>ostree_diff_print ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_diff_print (<em class="parameter"><code><span class="type">GFile</span> *a</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFile</span> *b</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *modified</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *removed</code></em>,
|
||||
<em class="parameter"><code><span class="type">GPtrArray</span> *added</code></em>);</pre>
|
||||
<p>Print the contents of a diff to stdout.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-diff-print.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>a</p></td>
|
||||
<td class="parameter_description"><p>First directory path</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>b</p></td>
|
||||
<td class="parameter_description"><p>First directory path</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>modified</p></td>
|
||||
<td class="parameter_description"><p> Modified files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> OstreeDiffItem]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>removed</p></td>
|
||||
<td class="parameter_description"><p> Removed files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> Gio.File]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>added</p></td>
|
||||
<td class="parameter_description"><p> Added files. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> Gio.File]</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-diff.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeDiffFlags"></a><h3>enum OstreeDiffFlags</h3>
|
||||
<div class="refsect3">
|
||||
<a name="OstreeDiffFlags.members"></a><h4>Members</h4>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="300px" class="enum_members_name">
|
||||
<col class="enum_members_description">
|
||||
<col width="200px" class="enum_members_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-DIFF-FLAGS-NONE:CAPS"></a>OSTREE_DIFF_FLAGS_NONE</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-DIFF-FLAGS-IGNORE-XATTRS:CAPS"></a>OSTREE_DIFF_FLAGS_IGNORE_XATTRS</p></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeDiffItem"></a><h3>struct OstreeDiffItem</h3>
|
||||
<pre class="programlisting">struct OstreeDiffItem {
|
||||
volatile gint refcount;
|
||||
|
||||
GFile *src;
|
||||
GFile *target;
|
||||
|
||||
GFileInfo *src_info;
|
||||
GFileInfo *target_info;
|
||||
|
||||
char *src_checksum;
|
||||
char *target_checksum;
|
||||
};
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ostree-repo-file: OSTree API references</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="OSTree API references">
|
||||
<link rel="up" href="reference.html" title="API Reference">
|
||||
<link rel="prev" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||||
<td width="100%" align="left" class="shortcuts">
|
||||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||||
<a href="#ostree-ostree-repo-file.description" class="shortcut">Description</a></span>
|
||||
</td>
|
||||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||||
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||||
<td><a accesskey="p" href="ostree-ostree-diff.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||||
<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
|
||||
</tr></table>
|
||||
<div class="refentry">
|
||||
<a name="ostree-ostree-repo-file"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv"><table width="100%"><tr>
|
||||
<td valign="top">
|
||||
<h2><span class="refentrytitle"><a name="ostree-ostree-repo-file.top_of_page"></a>ostree-repo-file</span></h2>
|
||||
<p>ostree-repo-file</p>
|
||||
</td>
|
||||
<td class="gallery_image" valign="top" align="right"></td>
|
||||
</tr></table></div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-repo-file.functions"></a><h2>Functions</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="functions_return">
|
||||
<col class="functions_name">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-ensure-resolved" title="ostree_repo_file_ensure_resolved ()">ostree_repo_file_ensure_resolved</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-get-xattrs" title="ostree_repo_file_get_xattrs ()">ostree_repo_file_get_xattrs</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-get-repo" title="ostree_repo_file_get_repo ()">ostree_repo_file_get_repo</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="returnvalue">OstreeRepoFile</span></a> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-get-root" title="ostree_repo_file_get_root ()">ostree_repo_file_get_root</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-set-metadata" title="ostree_repo_file_tree_set_metadata ()">ostree_repo_file_tree_set_metadata</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-contents-checksum" title="ostree_repo_file_tree_get_contents_checksum ()">ostree_repo_file_tree_get_contents_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-metadata-checksum" title="ostree_repo_file_tree_get_metadata_checksum ()">ostree_repo_file_tree_get_metadata_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-contents" title="ostree_repo_file_tree_get_contents ()">ostree_repo_file_tree_get_contents</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">GVariant</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-metadata" title="ostree_repo_file_tree_get_metadata ()">ostree_repo_file_tree_get_metadata</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">const <span class="returnvalue">char</span> *
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-get-checksum" title="ostree_repo_file_get_checksum ()">ostree_repo_file_get_checksum</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">int</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-find-child" title="ostree_repo_file_tree_find_child ()">ostree_repo_file_tree_find_child</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-repo-file.html#ostree-repo-file-tree-query-child" title="ostree_repo_file_tree_query_child ()">ostree_repo_file_tree_query_child</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-repo-file.other"></a><h2>Types and Values</h2>
|
||||
<div class="informaltable"><table width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="name">
|
||||
<col class="description">
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td class="typedef_keyword">typedef</td>
|
||||
<td class="function_name"><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile">OstreeRepoFile</a></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-repo-file.description"></a><h2>Description</h2>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-repo-file.functions_details"></a><h2>Functions</h2>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-ensure-resolved"></a><h3>ostree_repo_file_ensure_resolved ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_repo_file_ensure_resolved (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-get-xattrs"></a><h3>ostree_repo_file_get_xattrs ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_repo_file_get_xattrs (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> **out_xattrs</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-get-repo"></a><h3>ostree_repo_file_get_repo ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-Content-addressed-object-store.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
|
||||
ostree_repo_file_get_repo (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-repo-file-get-repo.returns"></a><h4>Returns</h4>
|
||||
<p> Repository. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-get-root"></a><h3>ostree_repo_file_get_root ()</h3>
|
||||
<pre class="programlisting"><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="returnvalue">OstreeRepoFile</span></a> *
|
||||
ostree_repo_file_get_root (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-repo-file-get-root.returns"></a><h4>Returns</h4>
|
||||
<p> The root directory for the commit referenced by this file. </p>
|
||||
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-set-metadata"></a><h3>ostree_repo_file_tree_set_metadata ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_repo_file_tree_set_metadata (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-contents-checksum"></a><h3>ostree_repo_file_tree_get_contents_checksum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_repo_file_tree_get_contents_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-metadata-checksum"></a><h3>ostree_repo_file_tree_get_metadata_checksum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_repo_file_tree_get_metadata_checksum
|
||||
(<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-contents"></a><h3>ostree_repo_file_tree_get_contents ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
ostree_repo_file_tree_get_contents (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-get-metadata"></a><h3>ostree_repo_file_tree_get_metadata ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
|
||||
ostree_repo_file_tree_get_metadata (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-get-checksum"></a><h3>ostree_repo_file_get_checksum ()</h3>
|
||||
<pre class="programlisting">const <span class="returnvalue">char</span> *
|
||||
ostree_repo_file_get_checksum (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-find-child"></a><h3>ostree_repo_file_tree_find_child ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">int</span>
|
||||
ostree_repo_file_tree_find_child (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
|
||||
<em class="parameter"><code><span class="type">gboolean</span> *is_dir</code></em>,
|
||||
<em class="parameter"><code><span class="type">GVariant</span> **out_container</code></em>);</pre>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-repo-file-tree-query-child"></a><h3>ostree_repo_file_tree_query_child ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_repo_file_tree_query_child (<em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><span class="type">int</span> n</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *attributes</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileQueryInfoFlags</span> flags</code></em>,
|
||||
<em class="parameter"><code><span class="type">GFileInfo</span> **out_info</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="ostree-ostree-repo-file.other_details"></a><h2>Types and Values</h2>
|
||||
<div class="refsect2">
|
||||
<a name="OstreeRepoFile"></a><h3>OstreeRepoFile</h3>
|
||||
<pre class="programlisting">typedef struct OstreeRepoFile OstreeRepoFile;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.25</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,438 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<book xmlns="http://www.devhelp.net/book" title="OSTree API references" link="index.html" author="" name="ostree" version="2" language="c">
|
||||
<chapters>
|
||||
<sub name="API Reference" link="reference.html">
|
||||
<sub name="Core repository-independent functions" link="ostree-Core-repository-independent-functions.html"/>
|
||||
<sub name="Content-addressed object store" link="ostree-Content-addressed-object-store.html"/>
|
||||
<sub name="In-memory modifiable filesystem tree" link="ostree-In-memory-modifiable-filesystem-tree.html"/>
|
||||
<sub name="Root partition mount point" link="ostree-Root-partition-mount-point.html"/>
|
||||
<sub name="Progress notification system for asynchronous operations" link="ostree-Progress-notification-system-for-asynchronous-operations.html"/>
|
||||
<sub name="SELinux policy management" link="ostree-SELinux-policy-management.html"/>
|
||||
<sub name="Simple upgrade class" link="ostree-Simple-upgrade-class.html"/>
|
||||
<sub name="GPG signature verification results" link="ostree-GPG-signature-verification-results.html"/>
|
||||
<sub name="ostree-bootconfig-parser" link="ostree-ostree-bootconfig-parser.html"/>
|
||||
<sub name="ostree-chain-input-stream" link="ostree-ostree-chain-input-stream.html"/>
|
||||
<sub name="ostree-checksum-input-stream" link="ostree-ostree-checksum-input-stream.html"/>
|
||||
<sub name="ostree-deployment" link="ostree-ostree-deployment.html"/>
|
||||
<sub name="ostree-diff" link="ostree-ostree-diff.html"/>
|
||||
<sub name="ostree-repo-file" link="ostree-ostree-repo-file.html"/>
|
||||
<sub name="API Index" link="reference.html#api-index-full"/>
|
||||
</sub>
|
||||
</chapters>
|
||||
<functions>
|
||||
<keyword type="macro" name="OSTREE_OBJECT_TYPE_IS_META()" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-IS-META:CAPS"/>
|
||||
<keyword type="function" name="ostree_metadata_variant_type ()" link="ostree-Core-repository-independent-functions.html#ostree-metadata-variant-type"/>
|
||||
<keyword type="function" name="ostree_validate_checksum_string ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-checksum-string"/>
|
||||
<keyword type="function" name="ostree_checksum_to_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-to-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_to_bytes_v ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-to-bytes-v"/>
|
||||
<keyword type="function" name="ostree_checksum_from_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-from-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_from_bytes_v ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-from-bytes-v"/>
|
||||
<keyword type="function" name="ostree_checksum_inplace_from_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-inplace-from-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_inplace_to_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-inplace-to-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_bytes_peek ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-bytes-peek"/>
|
||||
<keyword type="function" name="ostree_checksum_bytes_peek_validate ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-bytes-peek-validate"/>
|
||||
<keyword type="function" name="ostree_checksum_b64_from_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-b64-from-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_b64_to_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-b64-to-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_b64_inplace_from_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-b64-inplace-from-bytes"/>
|
||||
<keyword type="function" name="ostree_checksum_b64_inplace_to_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-b64-inplace-to-bytes"/>
|
||||
<keyword type="function" name="ostree_cmp_checksum_bytes ()" link="ostree-Core-repository-independent-functions.html#ostree-cmp-checksum-bytes"/>
|
||||
<keyword type="function" name="ostree_validate_rev ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-rev"/>
|
||||
<keyword type="function" name="ostree_parse_refspec ()" link="ostree-Core-repository-independent-functions.html#ostree-parse-refspec"/>
|
||||
<keyword type="function" name="ostree_object_type_to_string ()" link="ostree-Core-repository-independent-functions.html#ostree-object-type-to-string"/>
|
||||
<keyword type="function" name="ostree_object_type_from_string ()" link="ostree-Core-repository-independent-functions.html#ostree-object-type-from-string"/>
|
||||
<keyword type="function" name="ostree_hash_object_name ()" link="ostree-Core-repository-independent-functions.html#ostree-hash-object-name"/>
|
||||
<keyword type="function" name="ostree_object_name_serialize ()" link="ostree-Core-repository-independent-functions.html#ostree-object-name-serialize"/>
|
||||
<keyword type="function" name="ostree_object_name_deserialize ()" link="ostree-Core-repository-independent-functions.html#ostree-object-name-deserialize"/>
|
||||
<keyword type="function" name="ostree_object_to_string ()" link="ostree-Core-repository-independent-functions.html#ostree-object-to-string"/>
|
||||
<keyword type="function" name="ostree_object_from_string ()" link="ostree-Core-repository-independent-functions.html#ostree-object-from-string"/>
|
||||
<keyword type="function" name="ostree_content_stream_parse ()" link="ostree-Core-repository-independent-functions.html#ostree-content-stream-parse"/>
|
||||
<keyword type="function" name="ostree_content_file_parse ()" link="ostree-Core-repository-independent-functions.html#ostree-content-file-parse"/>
|
||||
<keyword type="function" name="ostree_content_file_parse_at ()" link="ostree-Core-repository-independent-functions.html#ostree-content-file-parse-at"/>
|
||||
<keyword type="function" name="ostree_raw_file_to_archive_z2_stream ()" link="ostree-Core-repository-independent-functions.html#ostree-raw-file-to-archive-z2-stream"/>
|
||||
<keyword type="function" name="ostree_raw_file_to_content_stream ()" link="ostree-Core-repository-independent-functions.html#ostree-raw-file-to-content-stream"/>
|
||||
<keyword type="function" name="ostree_checksum_file_from_input ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-file-from-input"/>
|
||||
<keyword type="function" name="ostree_checksum_file ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-file"/>
|
||||
<keyword type="function" name="ostree_checksum_file_async ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-file-async"/>
|
||||
<keyword type="function" name="ostree_checksum_file_async_finish ()" link="ostree-Core-repository-independent-functions.html#ostree-checksum-file-async-finish"/>
|
||||
<keyword type="function" name="ostree_create_directory_metadata ()" link="ostree-Core-repository-independent-functions.html#ostree-create-directory-metadata"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_objtype ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-objtype"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_csum_v ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-csum-v"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_checksum_string ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-checksum-string"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_file_mode ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-file-mode"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_commit ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-commit"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_dirtree ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-dirtree"/>
|
||||
<keyword type="function" name="ostree_validate_structureof_dirmeta ()" link="ostree-Core-repository-independent-functions.html#ostree-validate-structureof-dirmeta"/>
|
||||
<keyword type="function" name="ostree_commit_get_parent ()" link="ostree-Core-repository-independent-functions.html#ostree-commit-get-parent"/>
|
||||
<keyword type="function" name="ostree_commit_get_timestamp ()" link="ostree-Core-repository-independent-functions.html#ostree-commit-get-timestamp"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_METADATA_SIZE" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-METADATA-SIZE:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_METADATA_WARN_SIZE" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-METADATA-WARN-SIZE:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_MAX_RECURSION" link="ostree-Core-repository-independent-functions.html#OSTREE-MAX-RECURSION:CAPS"/>
|
||||
<keyword type="enum" name="enum OstreeObjectType" link="ostree-Core-repository-independent-functions.html#OstreeObjectType"/>
|
||||
<keyword type="macro" name="OSTREE_OBJECT_TYPE_LAST" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-LAST:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_DIRMETA_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-DIRMETA-GVARIANT-STRING:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_DIRMETA_GVARIANT_FORMAT" link="ostree-Core-repository-independent-functions.html#OSTREE-DIRMETA-GVARIANT-FORMAT:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_FILEMETA_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-FILEMETA-GVARIANT-STRING:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_FILEMETA_GVARIANT_FORMAT" link="ostree-Core-repository-independent-functions.html#OSTREE-FILEMETA-GVARIANT-FORMAT:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_TREE_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-TREE-GVARIANT-STRING:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_TREE_GVARIANT_FORMAT" link="ostree-Core-repository-independent-functions.html#OSTREE-TREE-GVARIANT-FORMAT:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_COMMIT_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-COMMIT-GVARIANT-STRING:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_COMMIT_GVARIANT_FORMAT" link="ostree-Core-repository-independent-functions.html#OSTREE-COMMIT-GVARIANT-FORMAT:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_SUMMARY_GVARIANT_STRING" link="ostree-Core-repository-independent-functions.html#OSTREE-SUMMARY-GVARIANT-STRING:CAPS"/>
|
||||
<keyword type="macro" name="OSTREE_SUMMARY_GVARIANT_FORMAT" link="ostree-Core-repository-independent-functions.html#OSTREE-SUMMARY-GVARIANT-FORMAT:CAPS"/>
|
||||
<keyword type="function" name="ostree_repo_mode_from_string ()" link="ostree-Content-addressed-object-store.html#ostree-repo-mode-from-string"/>
|
||||
<keyword type="function" name="ostree_repo_new ()" link="ostree-Content-addressed-object-store.html#ostree-repo-new"/>
|
||||
<keyword type="function" name="ostree_repo_new_for_sysroot_path ()" link="ostree-Content-addressed-object-store.html#ostree-repo-new-for-sysroot-path"/>
|
||||
<keyword type="function" name="ostree_repo_new_default ()" link="ostree-Content-addressed-object-store.html#ostree-repo-new-default"/>
|
||||
<keyword type="function" name="ostree_repo_open ()" link="ostree-Content-addressed-object-store.html#ostree-repo-open"/>
|
||||
<keyword type="function" name="ostree_repo_set_disable_fsync ()" link="ostree-Content-addressed-object-store.html#ostree-repo-set-disable-fsync"/>
|
||||
<keyword type="function" name="ostree_repo_get_disable_fsync ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-disable-fsync"/>
|
||||
<keyword type="function" name="ostree_repo_is_system ()" link="ostree-Content-addressed-object-store.html#ostree-repo-is-system"/>
|
||||
<keyword type="function" name="ostree_repo_is_writable ()" link="ostree-Content-addressed-object-store.html#ostree-repo-is-writable"/>
|
||||
<keyword type="function" name="ostree_repo_create ()" link="ostree-Content-addressed-object-store.html#ostree-repo-create"/>
|
||||
<keyword type="function" name="ostree_repo_get_path ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-path"/>
|
||||
<keyword type="function" name="ostree_repo_get_mode ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-mode"/>
|
||||
<keyword type="function" name="ostree_repo_get_config ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-config"/>
|
||||
<keyword type="function" name="ostree_repo_get_dfd ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-dfd"/>
|
||||
<keyword type="function" name="ostree_repo_copy_config ()" link="ostree-Content-addressed-object-store.html#ostree-repo-copy-config"/>
|
||||
<keyword type="function" name="ostree_repo_remote_add ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-add"/>
|
||||
<keyword type="function" name="ostree_repo_remote_delete ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-delete"/>
|
||||
<keyword type="function" name="ostree_repo_remote_change ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-change"/>
|
||||
<keyword type="function" name="ostree_repo_remote_list ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-list"/>
|
||||
<keyword type="function" name="ostree_repo_remote_get_url ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-get-url"/>
|
||||
<keyword type="function" name="ostree_repo_remote_get_gpg_verify ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-get-gpg-verify"/>
|
||||
<keyword type="function" name="ostree_repo_remote_get_gpg_verify_summary ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-get-gpg-verify-summary"/>
|
||||
<keyword type="function" name="ostree_repo_remote_gpg_import ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-gpg-import"/>
|
||||
<keyword type="function" name="ostree_repo_remote_fetch_summary ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-fetch-summary"/>
|
||||
<keyword type="function" name="ostree_repo_remote_fetch_summary_with_options ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-fetch-summary-with-options"/>
|
||||
<keyword type="function" name="ostree_repo_get_remote_boolean_option ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-remote-boolean-option"/>
|
||||
<keyword type="function" name="ostree_repo_get_remote_list_option ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-remote-list-option"/>
|
||||
<keyword type="function" name="ostree_repo_get_remote_option ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-remote-option"/>
|
||||
<keyword type="function" name="ostree_repo_get_parent ()" link="ostree-Content-addressed-object-store.html#ostree-repo-get-parent"/>
|
||||
<keyword type="function" name="ostree_repo_write_config ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-config"/>
|
||||
<keyword type="function" name="ostree_repo_scan_hardlinks ()" link="ostree-Content-addressed-object-store.html#ostree-repo-scan-hardlinks"/>
|
||||
<keyword type="function" name="ostree_repo_prepare_transaction ()" link="ostree-Content-addressed-object-store.html#ostree-repo-prepare-transaction"/>
|
||||
<keyword type="function" name="ostree_repo_commit_transaction ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-transaction"/>
|
||||
<keyword type="function" name="ostree_repo_abort_transaction ()" link="ostree-Content-addressed-object-store.html#ostree-repo-abort-transaction"/>
|
||||
<keyword type="function" name="ostree_repo_transaction_set_refspec ()" link="ostree-Content-addressed-object-store.html#ostree-repo-transaction-set-refspec"/>
|
||||
<keyword type="function" name="ostree_repo_transaction_set_ref ()" link="ostree-Content-addressed-object-store.html#ostree-repo-transaction-set-ref"/>
|
||||
<keyword type="function" name="ostree_repo_set_ref_immediate ()" link="ostree-Content-addressed-object-store.html#ostree-repo-set-ref-immediate"/>
|
||||
<keyword type="function" name="ostree_repo_set_cache_dir ()" link="ostree-Content-addressed-object-store.html#ostree-repo-set-cache-dir"/>
|
||||
<keyword type="function" name="ostree_repo_sign_delta ()" link="ostree-Content-addressed-object-store.html#ostree-repo-sign-delta"/>
|
||||
<keyword type="function" name="ostree_repo_has_object ()" link="ostree-Content-addressed-object-store.html#ostree-repo-has-object"/>
|
||||
<keyword type="function" name="ostree_repo_write_metadata ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-metadata"/>
|
||||
<keyword type="function" name="ostree_repo_write_metadata_async ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-metadata-async"/>
|
||||
<keyword type="function" name="ostree_repo_write_metadata_finish ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-metadata-finish"/>
|
||||
<keyword type="function" name="ostree_repo_write_content ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-content"/>
|
||||
<keyword type="function" name="ostree_repo_write_metadata_trusted ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-metadata-trusted"/>
|
||||
<keyword type="function" name="ostree_repo_write_metadata_stream_trusted ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-metadata-stream-trusted"/>
|
||||
<keyword type="function" name="ostree_repo_write_content_trusted ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-content-trusted"/>
|
||||
<keyword type="function" name="ostree_repo_write_content_async ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-content-async"/>
|
||||
<keyword type="function" name="ostree_repo_write_content_finish ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-content-finish"/>
|
||||
<keyword type="function" name="ostree_repo_resolve_rev ()" link="ostree-Content-addressed-object-store.html#ostree-repo-resolve-rev"/>
|
||||
<keyword type="function" name="ostree_repo_resolve_rev_ext ()" link="ostree-Content-addressed-object-store.html#ostree-repo-resolve-rev-ext"/>
|
||||
<keyword type="function" name="ostree_repo_list_refs ()" link="ostree-Content-addressed-object-store.html#ostree-repo-list-refs"/>
|
||||
<keyword type="function" name="ostree_repo_list_refs_ext ()" link="ostree-Content-addressed-object-store.html#ostree-repo-list-refs-ext"/>
|
||||
<keyword type="function" name="ostree_repo_remote_list_refs ()" link="ostree-Content-addressed-object-store.html#ostree-repo-remote-list-refs"/>
|
||||
<keyword type="function" name="ostree_repo_load_variant ()" link="ostree-Content-addressed-object-store.html#ostree-repo-load-variant"/>
|
||||
<keyword type="function" name="ostree_repo_load_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-load-commit"/>
|
||||
<keyword type="function" name="ostree_repo_load_variant_if_exists ()" link="ostree-Content-addressed-object-store.html#ostree-repo-load-variant-if-exists"/>
|
||||
<keyword type="function" name="ostree_repo_load_file ()" link="ostree-Content-addressed-object-store.html#ostree-repo-load-file"/>
|
||||
<keyword type="function" name="ostree_repo_load_object_stream ()" link="ostree-Content-addressed-object-store.html#ostree-repo-load-object-stream"/>
|
||||
<keyword type="function" name="ostree_repo_query_object_storage_size ()" link="ostree-Content-addressed-object-store.html#ostree-repo-query-object-storage-size"/>
|
||||
<keyword type="function" name="ostree_repo_import_object_from ()" link="ostree-Content-addressed-object-store.html#ostree-repo-import-object-from"/>
|
||||
<keyword type="function" name="ostree_repo_import_object_from_with_trust ()" link="ostree-Content-addressed-object-store.html#ostree-repo-import-object-from-with-trust"/>
|
||||
<keyword type="function" name="ostree_repo_import_archive_to_mtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-import-archive-to-mtree"/>
|
||||
<keyword type="function" name="ostree_repo_export_tree_to_archive ()" link="ostree-Content-addressed-object-store.html#ostree-repo-export-tree-to-archive"/>
|
||||
<keyword type="function" name="ostree_repo_delete_object ()" link="ostree-Content-addressed-object-store.html#ostree-repo-delete-object"/>
|
||||
<keyword type="function" name="OstreeRepoCommitFilter ()" link="ostree-Content-addressed-object-store.html#OstreeRepoCommitFilter"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_new ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-new"/>
|
||||
<keyword type="function" name="OstreeRepoCommitModifierXattrCallback ()" link="ostree-Content-addressed-object-store.html#OstreeRepoCommitModifierXattrCallback"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_set_xattr_callback ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-set-xattr-callback"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_set_sepolicy ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-set-sepolicy"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_set_devino_cache ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-set-devino-cache"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_ref ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-ref"/>
|
||||
<keyword type="function" name="ostree_repo_commit_modifier_unref ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-modifier-unref"/>
|
||||
<keyword type="function" name="ostree_repo_devino_cache_new ()" link="ostree-Content-addressed-object-store.html#ostree-repo-devino-cache-new"/>
|
||||
<keyword type="function" name="ostree_repo_devino_cache_ref ()" link="ostree-Content-addressed-object-store.html#ostree-repo-devino-cache-ref"/>
|
||||
<keyword type="function" name="ostree_repo_devino_cache_unref ()" link="ostree-Content-addressed-object-store.html#ostree-repo-devino-cache-unref"/>
|
||||
<keyword type="function" name="ostree_repo_devino_cache_get_type ()" link="ostree-Content-addressed-object-store.html#ostree-repo-devino-cache-get-type"/>
|
||||
<keyword type="function" name="ostree_repo_write_directory_to_mtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-directory-to-mtree"/>
|
||||
<keyword type="function" name="ostree_repo_write_dfd_to_mtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-dfd-to-mtree"/>
|
||||
<keyword type="function" name="ostree_repo_write_archive_to_mtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-archive-to-mtree"/>
|
||||
<keyword type="function" name="ostree_repo_write_mtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-mtree"/>
|
||||
<keyword type="function" name="ostree_repo_write_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-commit"/>
|
||||
<keyword type="function" name="ostree_repo_write_commit_with_time ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-commit-with-time"/>
|
||||
<keyword type="function" name="ostree_repo_read_commit_detached_metadata ()" link="ostree-Content-addressed-object-store.html#ostree-repo-read-commit-detached-metadata"/>
|
||||
<keyword type="function" name="ostree_repo_write_commit_detached_metadata ()" link="ostree-Content-addressed-object-store.html#ostree-repo-write-commit-detached-metadata"/>
|
||||
<keyword type="function" name="ostree_repo_checkout_tree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-checkout-tree"/>
|
||||
<keyword type="function" name="ostree_repo_checkout_tree_at ()" link="ostree-Content-addressed-object-store.html#ostree-repo-checkout-tree-at" deprecated=""/>
|
||||
<keyword type="function" name="ostree_repo_checkout_at ()" link="ostree-Content-addressed-object-store.html#ostree-repo-checkout-at"/>
|
||||
<keyword type="function" name="ostree_repo_checkout_gc ()" link="ostree-Content-addressed-object-store.html#ostree-repo-checkout-gc"/>
|
||||
<keyword type="function" name="ostree_repo_read_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-read-commit"/>
|
||||
<keyword type="function" name="ostree_repo_list_objects ()" link="ostree-Content-addressed-object-store.html#ostree-repo-list-objects"/>
|
||||
<keyword type="function" name="ostree_repo_list_commit_objects_starting_with ()" link="ostree-Content-addressed-object-store.html#ostree-repo-list-commit-objects-starting-with"/>
|
||||
<keyword type="function" name="ostree_repo_list_static_delta_names ()" link="ostree-Content-addressed-object-store.html#ostree-repo-list-static-delta-names"/>
|
||||
<keyword type="function" name="ostree_repo_static_delta_generate ()" link="ostree-Content-addressed-object-store.html#ostree-repo-static-delta-generate"/>
|
||||
<keyword type="function" name="ostree_repo_static_delta_execute_offline ()" link="ostree-Content-addressed-object-store.html#ostree-repo-static-delta-execute-offline"/>
|
||||
<keyword type="function" name="ostree_repo_traverse_new_reachable ()" link="ostree-Content-addressed-object-store.html#ostree-repo-traverse-new-reachable"/>
|
||||
<keyword type="function" name="ostree_repo_traverse_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-traverse-commit"/>
|
||||
<keyword type="function" name="ostree_repo_traverse_commit_union ()" link="ostree-Content-addressed-object-store.html#ostree-repo-traverse-commit-union"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_cleanup ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-cleanup"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_clear ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-clear"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_get_dir ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-get-dir"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_get_file ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-get-file"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_init_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-init-commit"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_init_dirtree ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-init-dirtree"/>
|
||||
<keyword type="function" name="ostree_repo_commit_traverse_iter_next ()" link="ostree-Content-addressed-object-store.html#ostree-repo-commit-traverse-iter-next"/>
|
||||
<keyword type="function" name="ostree_repo_prune ()" link="ostree-Content-addressed-object-store.html#ostree-repo-prune"/>
|
||||
<keyword type="function" name="ostree_repo_prune_static_deltas ()" link="ostree-Content-addressed-object-store.html#ostree-repo-prune-static-deltas"/>
|
||||
<keyword type="function" name="ostree_repo_pull ()" link="ostree-Content-addressed-object-store.html#ostree-repo-pull"/>
|
||||
<keyword type="function" name="ostree_repo_pull_one_dir ()" link="ostree-Content-addressed-object-store.html#ostree-repo-pull-one-dir"/>
|
||||
<keyword type="function" name="ostree_repo_pull_with_options ()" link="ostree-Content-addressed-object-store.html#ostree-repo-pull-with-options"/>
|
||||
<keyword type="function" name="ostree_repo_pull_default_console_progress_changed ()" link="ostree-Content-addressed-object-store.html#ostree-repo-pull-default-console-progress-changed"/>
|
||||
<keyword type="function" name="ostree_repo_sign_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-sign-commit"/>
|
||||
<keyword type="function" name="ostree_repo_append_gpg_signature ()" link="ostree-Content-addressed-object-store.html#ostree-repo-append-gpg-signature"/>
|
||||
<keyword type="function" name="ostree_repo_add_gpg_signature_summary ()" link="ostree-Content-addressed-object-store.html#ostree-repo-add-gpg-signature-summary"/>
|
||||
<keyword type="function" name="ostree_repo_gpg_verify_data ()" link="ostree-Content-addressed-object-store.html#ostree-repo-gpg-verify-data"/>
|
||||
<keyword type="function" name="ostree_repo_verify_commit ()" link="ostree-Content-addressed-object-store.html#ostree-repo-verify-commit"/>
|
||||
<keyword type="function" name="ostree_repo_verify_commit_ext ()" link="ostree-Content-addressed-object-store.html#ostree-repo-verify-commit-ext"/>
|
||||
<keyword type="function" name="ostree_repo_verify_summary ()" link="ostree-Content-addressed-object-store.html#ostree-repo-verify-summary"/>
|
||||
<keyword type="function" name="ostree_repo_regenerate_summary ()" link="ostree-Content-addressed-object-store.html#ostree-repo-regenerate-summary"/>
|
||||
<keyword type="typedef" name="OstreeRepo" link="ostree-Content-addressed-object-store.html#OstreeRepo"/>
|
||||
<keyword type="enum" name="enum OstreeRepoMode" link="ostree-Content-addressed-object-store.html#OstreeRepoMode"/>
|
||||
<keyword type="enum" name="enum OstreeRepoRemoteChange" link="ostree-Content-addressed-object-store.html#OstreeRepoRemoteChange"/>
|
||||
<keyword type="struct" name="struct OstreeRepoTransactionStats" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats"/>
|
||||
<keyword type="enum" name="enum OstreeRepoCommitFilterResult" link="ostree-Content-addressed-object-store.html#OstreeRepoCommitFilterResult"/>
|
||||
<keyword type="typedef" name="OstreeRepoCommitModifier" link="ostree-Content-addressed-object-store.html#OstreeRepoCommitModifier"/>
|
||||
<keyword type="enum" name="enum OstreeRepoCommitModifierFlags" link="ostree-Content-addressed-object-store.html#OstreeRepoCommitModifierFlags"/>
|
||||
<keyword type="enum" name="enum OstreeRepoCheckoutMode" link="ostree-Content-addressed-object-store.html#OstreeRepoCheckoutMode"/>
|
||||
<keyword type="enum" name="enum OstreeRepoCheckoutOverwriteMode" link="ostree-Content-addressed-object-store.html#OstreeRepoCheckoutOverwriteMode"/>
|
||||
<keyword type="enum" name="enum OstreeRepoListObjectsFlags" link="ostree-Content-addressed-object-store.html#OstreeRepoListObjectsFlags"/>
|
||||
<keyword type="macro" name="OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-LIST-OBJECTS-VARIANT-TYPE:CAPS"/>
|
||||
<keyword type="enum" name="enum OstreeStaticDeltaGenerateOpt" link="ostree-Content-addressed-object-store.html#OstreeStaticDeltaGenerateOpt"/>
|
||||
<keyword type="enum" name="enum OstreeRepoPruneFlags" link="ostree-Content-addressed-object-store.html#OstreeRepoPruneFlags"/>
|
||||
<keyword type="enum" name="enum OstreeRepoPullFlags" link="ostree-Content-addressed-object-store.html#OstreeRepoPullFlags"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_new ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-new"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_set_metadata_checksum ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-set-metadata-checksum"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_get_metadata_checksum ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-metadata-checksum"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_set_contents_checksum ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-set-contents-checksum"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_get_contents_checksum ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-contents-checksum"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_replace_file ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-replace-file"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_ensure_dir ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-dir"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_lookup ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-lookup"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_ensure_parent_dirs ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-ensure-parent-dirs"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_walk ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-walk"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_get_subdirs ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-subdirs"/>
|
||||
<keyword type="function" name="ostree_mutable_tree_get_files ()" link="ostree-In-memory-modifiable-filesystem-tree.html#ostree-mutable-tree-get-files"/>
|
||||
<keyword type="typedef" name="OstreeMutableTree" link="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree"/>
|
||||
<keyword type="function" name="ostree_sysroot_new ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-new"/>
|
||||
<keyword type="function" name="ostree_sysroot_new_default ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-new-default"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_path ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-path"/>
|
||||
<keyword type="function" name="ostree_sysroot_load ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-load"/>
|
||||
<keyword type="function" name="ostree_sysroot_load_if_changed ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-load-if-changed"/>
|
||||
<keyword type="function" name="ostree_sysroot_lock ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-lock"/>
|
||||
<keyword type="function" name="ostree_sysroot_try_lock ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-try-lock"/>
|
||||
<keyword type="function" name="ostree_sysroot_lock_async ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-lock-async"/>
|
||||
<keyword type="function" name="ostree_sysroot_lock_finish ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-lock-finish"/>
|
||||
<keyword type="function" name="ostree_sysroot_unlock ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-unlock"/>
|
||||
<keyword type="function" name="ostree_sysroot_unload ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-unload"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_fd ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-fd"/>
|
||||
<keyword type="function" name="ostree_sysroot_ensure_initialized ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-ensure-initialized"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_bootversion ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-bootversion"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_subbootversion ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-subbootversion"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_deployments ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployments"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_booted_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-booted-deployment"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_deployment_directory ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-directory"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_deployment_dirpath ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-dirpath"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_deployment_origin_path ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-deployment-origin-path"/>
|
||||
<keyword type="function" name="ostree_sysroot_cleanup ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-cleanup"/>
|
||||
<keyword type="function" name="ostree_sysroot_prepare_cleanup ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-prepare-cleanup"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_repo ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-repo"/>
|
||||
<keyword type="function" name="ostree_sysroot_init_osname ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-init-osname"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_kargs ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_mutable ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-mutable"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_unlock ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-unlock"/>
|
||||
<keyword type="function" name="ostree_sysroot_write_deployments ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-write-deployments"/>
|
||||
<keyword type="function" name="ostree_sysroot_write_origin_file ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-write-origin-file"/>
|
||||
<keyword type="function" name="ostree_sysroot_deploy_tree ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deploy-tree"/>
|
||||
<keyword type="function" name="ostree_sysroot_get_merge_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-merge-deployment"/>
|
||||
<keyword type="function" name="ostree_sysroot_origin_new_from_refspec ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-origin-new-from-refspec"/>
|
||||
<keyword type="function" name="ostree_sysroot_simple_write_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-simple-write-deployment"/>
|
||||
<keyword type="typedef" name="OstreeSysroot" link="ostree-Root-partition-mount-point.html#OstreeSysroot"/>
|
||||
<keyword type="enum" name="enum OstreeSysrootSimpleWriteDeploymentFlags" link="ostree-Root-partition-mount-point.html#OstreeSysrootSimpleWriteDeploymentFlags"/>
|
||||
<keyword type="function" name="ostree_async_progress_new ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-new"/>
|
||||
<keyword type="function" name="ostree_async_progress_new_and_connect ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-new-and-connect"/>
|
||||
<keyword type="function" name="ostree_async_progress_get_status ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-status"/>
|
||||
<keyword type="function" name="ostree_async_progress_get_uint ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint"/>
|
||||
<keyword type="function" name="ostree_async_progress_get_uint64 ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-get-uint64"/>
|
||||
<keyword type="function" name="ostree_async_progress_set_status ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-status"/>
|
||||
<keyword type="function" name="ostree_async_progress_set_uint ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-uint"/>
|
||||
<keyword type="function" name="ostree_async_progress_set_uint64 ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-set-uint64"/>
|
||||
<keyword type="function" name="ostree_async_progress_finish ()" link="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-finish"/>
|
||||
<keyword type="typedef" name="OstreeAsyncProgress" link="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress"/>
|
||||
<keyword type="function" name="ostree_sepolicy_new ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-new"/>
|
||||
<keyword type="function" name="ostree_sepolicy_get_path ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-get-path"/>
|
||||
<keyword type="function" name="ostree_sepolicy_get_name ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-get-name"/>
|
||||
<keyword type="function" name="ostree_sepolicy_get_label ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-get-label"/>
|
||||
<keyword type="function" name="ostree_sepolicy_get_csum ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-get-csum"/>
|
||||
<keyword type="function" name="ostree_sepolicy_restorecon ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-restorecon"/>
|
||||
<keyword type="function" name="ostree_sepolicy_setfscreatecon ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-setfscreatecon"/>
|
||||
<keyword type="function" name="ostree_sepolicy_fscreatecon_cleanup ()" link="ostree-SELinux-policy-management.html#ostree-sepolicy-fscreatecon-cleanup"/>
|
||||
<keyword type="typedef" name="OstreeSePolicy" link="ostree-SELinux-policy-management.html#OstreeSePolicy"/>
|
||||
<keyword type="enum" name="enum OstreeSePolicyRestoreconFlags" link="ostree-SELinux-policy-management.html#OstreeSePolicyRestoreconFlags"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_new ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_new_for_os ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new-for-os"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_new_for_os_with_flags ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-new-for-os-with-flags"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_get_origin ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-get-origin"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_dup_origin ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-dup-origin"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_set_origin ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-set-origin"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_get_origin_description ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-get-origin-description"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_check_timestamps ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-check-timestamps"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_pull ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_pull_one_dir ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-pull-one-dir"/>
|
||||
<keyword type="function" name="ostree_sysroot_upgrader_deploy ()" link="ostree-Simple-upgrade-class.html#ostree-sysroot-upgrader-deploy"/>
|
||||
<keyword type="typedef" name="OstreeSysrootUpgrader" link="ostree-Simple-upgrade-class.html#OstreeSysrootUpgrader"/>
|
||||
<keyword type="enum" name="enum OstreeSysrootUpgraderFlags" link="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderFlags"/>
|
||||
<keyword type="enum" name="enum OstreeSysrootUpgraderPullFlags" link="ostree-Simple-upgrade-class.html#OstreeSysrootUpgraderPullFlags"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_count_all ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-all"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_count_valid ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-count-valid"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_lookup ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-lookup"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_get ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_get_all ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-get-all"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_describe ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_describe_variant ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-describe-variant"/>
|
||||
<keyword type="function" name="ostree_gpg_verify_result_require_valid_signature ()" link="ostree-GPG-signature-verification-results.html#ostree-gpg-verify-result-require-valid-signature"/>
|
||||
<keyword type="typedef" name="OstreeGpgVerifyResult" link="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult"/>
|
||||
<keyword type="enum" name="enum OstreeGpgSignatureAttr" link="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureAttr"/>
|
||||
<keyword type="enum" name="enum OstreeGpgSignatureFormatFlags" link="ostree-GPG-signature-verification-results.html#OstreeGpgSignatureFormatFlags"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_new ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-new"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_clone ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-clone"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_parse ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_parse_at ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-parse-at"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_write ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_write_at ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-write-at"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_set ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-set"/>
|
||||
<keyword type="function" name="ostree_bootconfig_parser_get ()" link="ostree-ostree-bootconfig-parser.html#ostree-bootconfig-parser-get"/>
|
||||
<keyword type="struct" name="OstreeBootconfigParser" link="ostree-ostree-bootconfig-parser.html#OstreeBootconfigParser"/>
|
||||
<keyword type="function" name="ostree_chain_input_stream_new ()" link="ostree-ostree-chain-input-stream.html#ostree-chain-input-stream-new"/>
|
||||
<keyword type="struct" name="struct OstreeChainInputStream" link="ostree-ostree-chain-input-stream.html#OstreeChainInputStream"/>
|
||||
<keyword type="function" name="ostree_checksum_input_stream_new ()" link="ostree-ostree-checksum-input-stream.html#ostree-checksum-input-stream-new"/>
|
||||
<keyword type="struct" name="struct OstreeChecksumInputStream" link="ostree-ostree-checksum-input-stream.html#OstreeChecksumInputStream"/>
|
||||
<keyword type="function" name="ostree_deployment_hash ()" link="ostree-ostree-deployment.html#ostree-deployment-hash"/>
|
||||
<keyword type="function" name="ostree_deployment_equal ()" link="ostree-ostree-deployment.html#ostree-deployment-equal"/>
|
||||
<keyword type="function" name="ostree_deployment_new ()" link="ostree-ostree-deployment.html#ostree-deployment-new"/>
|
||||
<keyword type="function" name="ostree_deployment_get_index ()" link="ostree-ostree-deployment.html#ostree-deployment-get-index"/>
|
||||
<keyword type="function" name="ostree_deployment_get_osname ()" link="ostree-ostree-deployment.html#ostree-deployment-get-osname"/>
|
||||
<keyword type="function" name="ostree_deployment_get_deployserial ()" link="ostree-ostree-deployment.html#ostree-deployment-get-deployserial"/>
|
||||
<keyword type="function" name="ostree_deployment_get_csum ()" link="ostree-ostree-deployment.html#ostree-deployment-get-csum"/>
|
||||
<keyword type="function" name="ostree_deployment_get_bootcsum ()" link="ostree-ostree-deployment.html#ostree-deployment-get-bootcsum"/>
|
||||
<keyword type="function" name="ostree_deployment_get_bootserial ()" link="ostree-ostree-deployment.html#ostree-deployment-get-bootserial"/>
|
||||
<keyword type="function" name="ostree_deployment_get_bootconfig ()" link="ostree-ostree-deployment.html#ostree-deployment-get-bootconfig"/>
|
||||
<keyword type="function" name="ostree_deployment_get_origin ()" link="ostree-ostree-deployment.html#ostree-deployment-get-origin"/>
|
||||
<keyword type="function" name="ostree_deployment_get_origin_relpath ()" link="ostree-ostree-deployment.html#ostree-deployment-get-origin-relpath"/>
|
||||
<keyword type="function" name="ostree_deployment_get_unlocked ()" link="ostree-ostree-deployment.html#ostree-deployment-get-unlocked"/>
|
||||
<keyword type="function" name="ostree_deployment_set_index ()" link="ostree-ostree-deployment.html#ostree-deployment-set-index"/>
|
||||
<keyword type="function" name="ostree_deployment_set_bootserial ()" link="ostree-ostree-deployment.html#ostree-deployment-set-bootserial"/>
|
||||
<keyword type="function" name="ostree_deployment_set_bootconfig ()" link="ostree-ostree-deployment.html#ostree-deployment-set-bootconfig"/>
|
||||
<keyword type="function" name="ostree_deployment_set_origin ()" link="ostree-ostree-deployment.html#ostree-deployment-set-origin"/>
|
||||
<keyword type="function" name="ostree_deployment_clone ()" link="ostree-ostree-deployment.html#ostree-deployment-clone"/>
|
||||
<keyword type="function" name="ostree_deployment_unlocked_state_to_string ()" link="ostree-ostree-deployment.html#ostree-deployment-unlocked-state-to-string"/>
|
||||
<keyword type="struct" name="OstreeDeployment" link="ostree-ostree-deployment.html#OstreeDeployment"/>
|
||||
<keyword type="function" name="ostree_diff_item_ref ()" link="ostree-ostree-diff.html#ostree-diff-item-ref"/>
|
||||
<keyword type="function" name="ostree_diff_item_unref ()" link="ostree-ostree-diff.html#ostree-diff-item-unref"/>
|
||||
<keyword type="function" name="ostree_diff_dirs ()" link="ostree-ostree-diff.html#ostree-diff-dirs"/>
|
||||
<keyword type="function" name="ostree_diff_print ()" link="ostree-ostree-diff.html#ostree-diff-print"/>
|
||||
<keyword type="enum" name="enum OstreeDiffFlags" link="ostree-ostree-diff.html#OstreeDiffFlags"/>
|
||||
<keyword type="struct" name="struct OstreeDiffItem" link="ostree-ostree-diff.html#OstreeDiffItem"/>
|
||||
<keyword type="function" name="ostree_repo_file_ensure_resolved ()" link="ostree-ostree-repo-file.html#ostree-repo-file-ensure-resolved"/>
|
||||
<keyword type="function" name="ostree_repo_file_get_xattrs ()" link="ostree-ostree-repo-file.html#ostree-repo-file-get-xattrs"/>
|
||||
<keyword type="function" name="ostree_repo_file_get_repo ()" link="ostree-ostree-repo-file.html#ostree-repo-file-get-repo"/>
|
||||
<keyword type="function" name="ostree_repo_file_get_root ()" link="ostree-ostree-repo-file.html#ostree-repo-file-get-root"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_set_metadata ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-set-metadata"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_get_contents_checksum ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-contents-checksum"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_get_metadata_checksum ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-metadata-checksum"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_get_contents ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-contents"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_get_metadata ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-get-metadata"/>
|
||||
<keyword type="function" name="ostree_repo_file_get_checksum ()" link="ostree-ostree-repo-file.html#ostree-repo-file-get-checksum"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_find_child ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-find-child"/>
|
||||
<keyword type="function" name="ostree_repo_file_tree_query_child ()" link="ostree-ostree-repo-file.html#ostree-repo-file-tree-query-child"/>
|
||||
<keyword type="typedef" name="OstreeRepoFile" link="ostree-ostree-repo-file.html#OstreeRepoFile"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_FILE" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-FILE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_DIR_TREE" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-DIR-TREE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_DIR_META" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-DIR-META:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_COMMIT" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-COMMIT:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_TOMBSTONE_COMMIT" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-TOMBSTONE-COMMIT:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_OBJECT_TYPE_COMMIT_META" link="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-COMMIT-META:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_MODE_BARE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-MODE-BARE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_MODE_ARCHIVE_Z2" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-MODE-ARCHIVE-Z2:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_MODE_BARE_USER" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-MODE-BARE-USER:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_REMOTE_CHANGE_ADD" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-REMOTE-CHANGE-ADD:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_REMOTE_CHANGE_ADD_IF_NOT_EXISTS" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-REMOTE-CHANGE-ADD-IF-NOT-EXISTS:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_REMOTE_CHANGE_DELETE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-REMOTE-CHANGE-DELETE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_REMOTE_CHANGE_DELETE_IF_EXISTS" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-REMOTE-CHANGE-DELETE-IF-EXISTS:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_COMMIT_FILTER_ALLOW" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-COMMIT-FILTER-ALLOW:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_COMMIT_FILTER_SKIP" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-COMMIT-FILTER-SKIP:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_COMMIT_MODIFIER_FLAGS_NONE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-COMMIT-MODIFIER-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-COMMIT-MODIFIER-FLAGS-SKIP-XATTRS:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_COMMIT_MODIFIER_FLAGS_GENERATE_SIZES" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-COMMIT-MODIFIER-FLAGS-GENERATE-SIZES:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_CHECKOUT_MODE_NONE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-CHECKOUT-MODE-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_CHECKOUT_MODE_USER" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-CHECKOUT-MODE-USER:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_CHECKOUT_OVERWRITE_NONE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-CHECKOUT-OVERWRITE-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_FILES" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-CHECKOUT-OVERWRITE-UNION-FILES:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_LIST_OBJECTS_LOOSE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-LIST-OBJECTS-LOOSE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_LIST_OBJECTS_PACKED" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-LIST-OBJECTS-PACKED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_LIST_OBJECTS_ALL" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-LIST-OBJECTS-ALL:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_STATIC_DELTA_GENERATE_OPT_LOWLATENCY" link="ostree-Content-addressed-object-store.html#OSTREE-STATIC-DELTA-GENERATE-OPT-LOWLATENCY:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_STATIC_DELTA_GENERATE_OPT_MAJOR" link="ostree-Content-addressed-object-store.html#OSTREE-STATIC-DELTA-GENERATE-OPT-MAJOR:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PRUNE_FLAGS_NONE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PRUNE-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PRUNE_FLAGS_NO_PRUNE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PRUNE-FLAGS-NO-PRUNE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PRUNE-FLAGS-REFS-ONLY:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_NONE" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_MIRROR" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-MIRROR:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-COMMIT-ONLY:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_REPO_PULL_FLAGS_UNTRUSTED" link="ostree-Content-addressed-object-store.html#OSTREE-REPO-PULL-FLAGS-UNTRUSTED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NONE" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_RETAIN" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-RETAIN:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NOT_DEFAULT" link="ostree-Root-partition-mount-point.html#OSTREE-SYSROOT-SIMPLE-WRITE-DEPLOYMENT-FLAGS-NOT-DEFAULT:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SEPOLICY_RESTORECON_FLAGS_NONE" link="ostree-SELinux-policy-management.html#OSTREE-SEPOLICY-RESTORECON-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SEPOLICY_RESTORECON_FLAGS_ALLOW_NOLABEL" link="ostree-SELinux-policy-management.html#OSTREE-SEPOLICY-RESTORECON-FLAGS-ALLOW-NOLABEL:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SEPOLICY_RESTORECON_FLAGS_KEEP_EXISTING" link="ostree-SELinux-policy-management.html#OSTREE-SEPOLICY-RESTORECON-FLAGS-KEEP-EXISTING:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_UPGRADER_FLAGS_NONE" link="ostree-Simple-upgrade-class.html#OSTREE-SYSROOT-UPGRADER-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_UPGRADER_FLAGS_IGNORE_UNCONFIGURED" link="ostree-Simple-upgrade-class.html#OSTREE-SYSROOT-UPGRADER-FLAGS-IGNORE-UNCONFIGURED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_NONE" link="ostree-Simple-upgrade-class.html#OSTREE-SYSROOT-UPGRADER-PULL-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_ALLOW_OLDER" link="ostree-Simple-upgrade-class.html#OSTREE-SYSROOT-UPGRADER-PULL-FLAGS-ALLOW-OLDER:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_VALID" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-VALID:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_SIG_EXPIRED" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-SIG-EXPIRED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_KEY_EXPIRED" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-KEY-EXPIRED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_KEY_REVOKED" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-KEY-REVOKED:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_KEY_MISSING" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-KEY-MISSING:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-FINGERPRINT:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_TIMESTAMP" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-TIMESTAMP:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_EXP_TIMESTAMP" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-EXP-TIMESTAMP:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_PUBKEY_ALGO_NAME" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-PUBKEY-ALGO-NAME:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_HASH_ALGO_NAME" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-HASH-ALGO-NAME:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_USER_NAME" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-USER-NAME:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_ATTR_USER_EMAIL" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-ATTR-USER-EMAIL:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_GPG_SIGNATURE_FORMAT_DEFAULT" link="ostree-GPG-signature-verification-results.html#OSTREE-GPG-SIGNATURE-FORMAT-DEFAULT:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_DIFF_FLAGS_NONE" link="ostree-ostree-diff.html#OSTREE-DIFF-FLAGS-NONE:CAPS"/>
|
||||
<keyword type="constant" name="OSTREE_DIFF_FLAGS_IGNORE_XATTRS" link="ostree-ostree-diff.html#OSTREE-DIFF-FLAGS-IGNORE-XATTRS:CAPS"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.metadata-objects-total" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.metadata-objects-total"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.metadata-objects-written" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.metadata-objects-written"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-total" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.content-objects-total"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-written" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.content-objects-written"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.content-bytes-written" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.content-bytes-written"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.padding1" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.padding1"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.padding2" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.padding2"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.padding3" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.padding3"/>
|
||||
<keyword type="member" name="OstreeRepoTransactionStats.padding4" link="ostree-Content-addressed-object-store.html#OstreeRepoTransactionStats.padding4"/>
|
||||
<keyword type="member" name="OstreeDeployment.index" link="ostree-ostree-deployment.html#OstreeDeployment.index"/>
|
||||
<keyword type="member" name="OstreeDeployment.osname" link="ostree-ostree-deployment.html#OstreeDeployment.osname"/>
|
||||
<keyword type="member" name="OstreeDeployment.csum" link="ostree-ostree-deployment.html#OstreeDeployment.csum"/>
|
||||
<keyword type="member" name="OstreeDeployment.deployserial" link="ostree-ostree-deployment.html#OstreeDeployment.deployserial"/>
|
||||
<keyword type="member" name="OstreeDeployment.bootcsum" link="ostree-ostree-deployment.html#OstreeDeployment.bootcsum"/>
|
||||
<keyword type="member" name="OstreeDeployment.bootserial" link="ostree-ostree-deployment.html#OstreeDeployment.bootserial"/>
|
||||
<keyword type="member" name="OstreeDeployment.bootconfig" link="ostree-ostree-deployment.html#OstreeDeployment.bootconfig"/>
|
||||
<keyword type="member" name="OstreeDeployment.origin" link="ostree-ostree-deployment.html#OstreeDeployment.origin"/>
|
||||
<keyword type="member" name="OstreeDeployment.unlocked" link="ostree-ostree-deployment.html#OstreeDeployment.unlocked"/>
|
||||
</functions>
|
||||
</book>
|
||||
|
Before Width: | Height: | Size: 373 B |
|
Before Width: | Height: | Size: 261 B |
|
|
@ -1,479 +0,0 @@
|
|||
body
|
||||
{
|
||||
font-family: cantarell, sans-serif;
|
||||
}
|
||||
.synopsis, .classsynopsis
|
||||
{
|
||||
/* tango:aluminium 1/2 */
|
||||
background: #eeeeec;
|
||||
background: rgba(238, 238, 236, 0.5);
|
||||
border: solid 1px rgb(238, 238, 236);
|
||||
padding: 0.5em;
|
||||
}
|
||||
.programlisting
|
||||
{
|
||||
/* tango:sky blue 0/1 */
|
||||
/* fallback for no rgba support */
|
||||
background: #e6f3ff;
|
||||
border: solid 1px #729fcf;
|
||||
background: rgba(114, 159, 207, 0.1);
|
||||
border: solid 1px rgba(114, 159, 207, 0.2);
|
||||
padding: 0.5em;
|
||||
}
|
||||
.variablelist
|
||||
{
|
||||
padding: 4px;
|
||||
margin-left: 3em;
|
||||
}
|
||||
.variablelist td:first-child
|
||||
{
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
div.gallery-float
|
||||
{
|
||||
float: left;
|
||||
padding: 10px;
|
||||
}
|
||||
div.gallery-float img
|
||||
{
|
||||
border-style: none;
|
||||
}
|
||||
div.gallery-spacer
|
||||
{
|
||||
clear: both;
|
||||
}
|
||||
|
||||
a, a:visited
|
||||
{
|
||||
text-decoration: none;
|
||||
/* tango:sky blue 2 */
|
||||
color: #3465a4;
|
||||
}
|
||||
a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
/* tango:sky blue 1 */
|
||||
color: #729fcf;
|
||||
}
|
||||
|
||||
div.informaltable table
|
||||
{
|
||||
border-collapse: separate;
|
||||
border-spacing: 1em 0.3em;
|
||||
border: none;
|
||||
}
|
||||
|
||||
div.informaltable table td, div.informaltable table th
|
||||
{
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.function_type,
|
||||
.variable_type,
|
||||
.property_type,
|
||||
.signal_type,
|
||||
.parameter_name,
|
||||
.struct_member_name,
|
||||
.union_member_name,
|
||||
.define_keyword,
|
||||
.datatype_keyword,
|
||||
.typedef_keyword
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* dim non-primary columns */
|
||||
.c_punctuation,
|
||||
.function_type,
|
||||
.variable_type,
|
||||
.property_type,
|
||||
.signal_type,
|
||||
.define_keyword,
|
||||
.datatype_keyword,
|
||||
.typedef_keyword,
|
||||
.property_flags,
|
||||
.signal_flags,
|
||||
.parameter_annotations,
|
||||
.enum_member_annotations,
|
||||
.struct_member_annotations,
|
||||
.union_member_annotations
|
||||
{
|
||||
color: #888a85;
|
||||
}
|
||||
|
||||
.function_type a,
|
||||
.function_type a:visited,
|
||||
.function_type a:hover,
|
||||
.property_type a,
|
||||
.property_type a:visited,
|
||||
.property_type a:hover,
|
||||
.signal_type a,
|
||||
.signal_type a:visited,
|
||||
.signal_type a:hover,
|
||||
.signal_flags a,
|
||||
.signal_flags a:visited,
|
||||
.signal_flags a:hover
|
||||
{
|
||||
color: #729fcf;
|
||||
}
|
||||
|
||||
td p
|
||||
{
|
||||
margin: 0.25em;
|
||||
}
|
||||
|
||||
div.table table
|
||||
{
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
/* tango:aluminium 3 */
|
||||
border: solid 1px #babdb6;
|
||||
}
|
||||
|
||||
div.table table td, div.table table th
|
||||
{
|
||||
/* tango:aluminium 3 */
|
||||
border: solid 1px #babdb6;
|
||||
padding: 3px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
div.table table th
|
||||
{
|
||||
/* tango:aluminium 2 */
|
||||
background-color: #d3d7cf;
|
||||
}
|
||||
|
||||
h4
|
||||
{
|
||||
color: #555753;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
/* tango:aluminium 1 */
|
||||
color: #d3d7cf;
|
||||
background: #d3d7cf;
|
||||
border: none 0px;
|
||||
height: 1px;
|
||||
clear: both;
|
||||
margin: 2.0em 0em 2.0em 0em;
|
||||
}
|
||||
|
||||
dl.toc dt
|
||||
{
|
||||
padding-bottom: 0.25em;
|
||||
}
|
||||
|
||||
dl.toc > dt
|
||||
{
|
||||
padding-top: 0.25em;
|
||||
padding-bottom: 0.25em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dl.toc > dl
|
||||
{
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.parameter
|
||||
{
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.footer
|
||||
{
|
||||
padding-top: 3.5em;
|
||||
/* tango:aluminium 3 */
|
||||
color: #babdb6;
|
||||
text-align: center;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.informalfigure,
|
||||
.figure
|
||||
{
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
.informalexample,
|
||||
.example
|
||||
{
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.warning
|
||||
{
|
||||
/* tango:orange 0/1 */
|
||||
background: #ffeed9;
|
||||
background: rgba(252, 175, 62, 0.1);
|
||||
border-color: #ffb04f;
|
||||
border-color: rgba(252, 175, 62, 0.2);
|
||||
}
|
||||
.note
|
||||
{
|
||||
/* tango:chameleon 0/0.5 */
|
||||
background: #d8ffb2;
|
||||
background: rgba(138, 226, 52, 0.1);
|
||||
border-color: #abf562;
|
||||
border-color: rgba(138, 226, 52, 0.2);
|
||||
}
|
||||
div.blockquote
|
||||
{
|
||||
border-color: #eeeeec;
|
||||
}
|
||||
.note, .warning, div.blockquote
|
||||
{
|
||||
padding: 0.5em;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
margin: 2em;
|
||||
}
|
||||
.note p, .warning p
|
||||
{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.warning h3.title,
|
||||
div.note h3.title
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
p + div.section
|
||||
{
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
div.refnamediv,
|
||||
div.refsynopsisdiv,
|
||||
div.refsect1,
|
||||
div.refsect2,
|
||||
div.toc,
|
||||
div.section
|
||||
{
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
/* blob links */
|
||||
h2 .extralinks, h3 .extralinks
|
||||
{
|
||||
float: right;
|
||||
/* tango:aluminium 3 */
|
||||
color: #babdb6;
|
||||
font-size: 80%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.lineart
|
||||
{
|
||||
color: #d3d7cf;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.annotation
|
||||
{
|
||||
/* tango:aluminium 5 */
|
||||
color: #555753;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.structfield
|
||||
{
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
acronym,abbr
|
||||
{
|
||||
border-bottom: 1px dotted gray;
|
||||
}
|
||||
|
||||
/* code listings */
|
||||
|
||||
.listing_code .programlisting .normal,
|
||||
.listing_code .programlisting .normal a,
|
||||
.listing_code .programlisting .number,
|
||||
.listing_code .programlisting .cbracket,
|
||||
.listing_code .programlisting .symbol { color: #555753; }
|
||||
.listing_code .programlisting .comment,
|
||||
.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
|
||||
.listing_code .programlisting .function,
|
||||
.listing_code .programlisting .function a,
|
||||
.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
|
||||
.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
|
||||
.listing_code .programlisting .keyword,
|
||||
.listing_code .programlisting .usertype,
|
||||
.listing_code .programlisting .type,
|
||||
.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
|
||||
|
||||
.listing_frame {
|
||||
/* tango:sky blue 1 */
|
||||
border: solid 1px #729fcf;
|
||||
border: solid 1px rgba(114, 159, 207, 0.2);
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.listing_lines, .listing_code {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
padding: 0.5em;
|
||||
}
|
||||
.listing_lines {
|
||||
/* tango:sky blue 0.5 */
|
||||
background: #a6c5e3;
|
||||
background: rgba(114, 159, 207, 0.2);
|
||||
/* tango:aluminium 6 */
|
||||
color: #2e3436;
|
||||
}
|
||||
.listing_code {
|
||||
/* tango:sky blue 0 */
|
||||
background: #e6f3ff;
|
||||
background: rgba(114, 159, 207, 0.1);
|
||||
}
|
||||
.listing_code .programlisting {
|
||||
/* override from previous */
|
||||
border: none 0px;
|
||||
padding: 0px;
|
||||
background: none;
|
||||
}
|
||||
.listing_lines pre, .listing_code pre {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
@media screen {
|
||||
/* these have a <sup> as a first child, but since there are no parent selectors
|
||||
* we can't use that. */
|
||||
a.footnote
|
||||
{
|
||||
position: relative;
|
||||
top: 0em ! important;
|
||||
}
|
||||
/* this is needed so that the local anchors are displayed below the naviagtion */
|
||||
div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
|
||||
{
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top:-5em;
|
||||
}
|
||||
/* this seems to be a bug in the xsl style sheets when generating indexes */
|
||||
div.index div.index
|
||||
{
|
||||
top: 0em;
|
||||
}
|
||||
/* make space for the fixed navigation bar and add space at the bottom so that
|
||||
* link targets appear somewhat close to top
|
||||
*/
|
||||
body
|
||||
{
|
||||
padding-top: 2.5em;
|
||||
padding-bottom: 500px;
|
||||
max-width: 60em;
|
||||
}
|
||||
p
|
||||
{
|
||||
max-width: 60em;
|
||||
}
|
||||
/* style and size the navigation bar */
|
||||
table.navigation#top
|
||||
{
|
||||
position: fixed;
|
||||
background: #e2e2e2;
|
||||
border-bottom: solid 1px #babdb6;
|
||||
border-spacing: 5px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
table.navigation#top td
|
||||
{
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
.navigation a, .navigation a:visited
|
||||
{
|
||||
/* tango:sky blue 3 */
|
||||
color: #204a87;
|
||||
}
|
||||
.navigation a:hover
|
||||
{
|
||||
/* tango:sky blue 2 */
|
||||
color: #3465a4;
|
||||
}
|
||||
td.shortcuts
|
||||
{
|
||||
/* tango:sky blue 2 */
|
||||
color: #3465a4;
|
||||
font-size: 80%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.shortcuts .dim
|
||||
{
|
||||
color: #babdb6;
|
||||
}
|
||||
.navigation .title
|
||||
{
|
||||
font-size: 80%;
|
||||
max-width: none;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 60em) {
|
||||
/* screen larger than 60em */
|
||||
body { margin: auto; }
|
||||
}
|
||||
@media screen and (max-width: 60em) {
|
||||
/* screen less than 60em */
|
||||
#nav_hierarchy { display: none; }
|
||||
#nav_interfaces { display: none; }
|
||||
#nav_prerequisites { display: none; }
|
||||
#nav_derived_interfaces { display: none; }
|
||||
#nav_implementations { display: none; }
|
||||
#nav_child_properties { display: none; }
|
||||
#nav_style_properties { display: none; }
|
||||
#nav_index { display: none; }
|
||||
#nav_glossary { display: none; }
|
||||
.gallery_image { display: none; }
|
||||
.property_flags { display: none; }
|
||||
.signal_flags { display: none; }
|
||||
.parameter_annotations { display: none; }
|
||||
.enum_member_annotations { display: none; }
|
||||
.struct_member_annotations { display: none; }
|
||||
.union_member_annotations { display: none; }
|
||||
/* now that a column is hidden, optimize space */
|
||||
col.parameters_name { width: auto; }
|
||||
col.parameters_description { width: auto; }
|
||||
col.struct_members_name { width: auto; }
|
||||
col.struct_members_description { width: auto; }
|
||||
col.enum_members_name { width: auto; }
|
||||
col.enum_members_description { width: auto; }
|
||||
col.union_members_name { width: auto; }
|
||||
col.union_members_description { width: auto; }
|
||||
.listing_lines { display: none; }
|
||||
}
|
||||
@media print {
|
||||
table.navigation {
|
||||
visibility: collapse;
|
||||
display: none;
|
||||
}
|
||||
div.titlepage table.navigation {
|
||||
visibility: visible;
|
||||
display: table;
|
||||
background: #e2e2e2;
|
||||
border: solid 1px #babdb6;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 3em;
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 260 B |
|
|
@ -1,17 +0,0 @@
|
|||
ostree_async_progress_get_type
|
||||
ostree_bootconfig_parser_get_type
|
||||
ostree_chain_input_stream_get_type
|
||||
ostree_checksum_input_stream_get_type
|
||||
ostree_deployment_get_type
|
||||
ostree_diff_item_get_type
|
||||
ostree_gpg_verify_result_get_type
|
||||
ostree_mutable_tree_get_type
|
||||
ostree_repo_commit_modifier_get_type
|
||||
ostree_repo_devino_cache_get_type
|
||||
ostree_repo_file_get_type
|
||||
ostree_repo_get_type
|
||||
ostree_repo_transaction_stats_get_type
|
||||
ostree_sepolicy_get_type
|
||||
ostree_sysroot_get_type
|
||||
ostree_sysroot_upgrader_flags_get_type
|
||||
ostree_sysroot_upgrader_get_type
|
||||
|
|
@ -1 +0,0 @@
|
|||
2016.8
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
.deps/*
|
||||
.libs/*
|
||||
*.lo
|
||||
*.o
|
||||
.dirstamp
|
||||
Makefile-bsdiff.am.inc
|
||||
AUTHORS
|
||||
NEWS
|
||||
README
|
||||
ChangeLog
|
||||
COPYING
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
# Copyright (C) 2015 Giuseppe Scrivano <gscrivan@redhat.com>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted providing that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
EXTRA_DIST += bsdiff/bsdiff.h bsdiff/bspatch.h bsdiff/LICENSE bsdiff/README.md
|
||||
|
||||
libbsdiff_la_SOURCES = \
|
||||
bsdiff/bsdiff.c \
|
||||
bsdiff/bspatch.c \
|
||||
$(NULL)
|
||||
|
||||
libbsdiff_la_CFLAGS = $(AM_CFLAGS)
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
bin_PROGRAMS = bsdiff bspatch
|
||||
|
||||
bsdiff_SOURCES = bsdiff.c
|
||||
|
||||
bspatch_SOURCES = bspatch.c
|
||||
|
||||
bsdiff_CFLAGS = -DBSDIFF_EXECUTABLE
|
||||
bspatch_CFLAGS = -DBSPATCH_EXECUTABLE
|
||||
|
||||
EXTRA_DIST = bsdiff.h bspatch.h
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
touch AUTHORS NEWS README ChangeLog
|
||||
cp LICENSE COPYING
|
||||
|
||||
autoreconf -fis
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([bsdiff], [0.1])
|
||||
AC_CONFIG_SRCDIR([bsdiff.c])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AM_INIT_AUTOMAKE([1.9])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
|
||||
# Checks for libraries.
|
||||
# FIXME: Replace `main' with a function in `-lbz2':
|
||||
AC_CHECK_LIB([bz2], [BZ2_bzReadOpen])
|
||||
|
||||
AC_CHECK_HEADERS([fcntl.h limits.h stddef.h stdint.h stdlib.h string.h unistd.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_TYPE_INT64_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_UINT8_T
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_MALLOC
|
||||
AC_CHECK_FUNCS([memset])
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
|
|
@ -1,347 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
@ -1,791 +0,0 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2013-05-30.07; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The second -e expression handles DOS-style file names with drive
|
||||
# letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E \
|
||||
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
@ -1,501 +0,0 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2013-12-25.23; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
IFS=" $tab$nl"
|
||||
|
||||
# Set DOITPROG to "echo" to test this script.
|
||||
|
||||
doit=${DOITPROG-}
|
||||
doit_exec=${doit:-exec}
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
is_target_a_directory=possibly
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t)
|
||||
is_target_a_directory=always
|
||||
dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) is_target_a_directory=never;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# We allow the use of options -d and -T together, by making -d
|
||||
# take the precedence; this is for compatibility with GNU install.
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
if test -n "$dst_arg"; then
|
||||
echo "$0: target directory not allowed when installing a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||
if test ! -d "$dst_arg"; then
|
||||
echo "$0: $dst_arg: Is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
trap "ret=130; $do_exit" 2
|
||||
trap "ret=141; $do_exit" 13
|
||||
trap "ret=143; $do_exit" 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
dstdir=`dirname "$dst"`
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
set +f &&
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
11147
build-aux/ltmain.sh
|
|
@ -1,215 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Common wrapper for a few potentially missing GNU programs.
|
||||
|
||||
scriptversion=2013-10-28.13; # UTC
|
||||
|
||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
|
||||
--is-lightweight)
|
||||
# Used by our autoconf macros to check whether the available missing
|
||||
# script is modern enough.
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--run)
|
||||
# Back-compat with the calling convention used by older automake.
|
||||
shift
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
|
||||
to PROGRAM being missing or too old.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal autoconf autoheader autom4te automake makeinfo
|
||||
bison yacc flex lex help2man
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||
'g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: unknown '$1' option"
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Run the given program, remember its exit status.
|
||||
"$@"; st=$?
|
||||
|
||||
# If it succeeded, we are done.
|
||||
test $st -eq 0 && exit 0
|
||||
|
||||
# Also exit now if we it failed (or wasn't found), and '--version' was
|
||||
# passed; such an option is passed most likely to detect whether the
|
||||
# program is present and works.
|
||||
case $2 in --version|--help) exit $st;; esac
|
||||
|
||||
# Exit code 63 means version mismatch. This often happens when the user
|
||||
# tries to use an ancient version of a tool on a file that requires a
|
||||
# minimum version.
|
||||
if test $st -eq 63; then
|
||||
msg="probably too old"
|
||||
elif test $st -eq 127; then
|
||||
# Program was missing.
|
||||
msg="missing on your system"
|
||||
else
|
||||
# Program was found and executed, but failed. Give up.
|
||||
exit $st
|
||||
fi
|
||||
|
||||
perl_URL=http://www.perl.org/
|
||||
flex_URL=http://flex.sourceforge.net/
|
||||
gnu_software_URL=http://www.gnu.org/software
|
||||
|
||||
program_details ()
|
||||
{
|
||||
case $1 in
|
||||
aclocal|automake)
|
||||
echo "The '$1' program is part of the GNU Automake package:"
|
||||
echo "<$gnu_software_URL/automake>"
|
||||
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/autoconf>"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
autoconf|autom4te|autoheader)
|
||||
echo "The '$1' program is part of the GNU Autoconf package:"
|
||||
echo "<$gnu_software_URL/autoconf/>"
|
||||
echo "It also requires GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice ()
|
||||
{
|
||||
# Normalize program name to check for.
|
||||
normalized_program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
printf '%s\n' "'$1' is $msg."
|
||||
|
||||
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
|
||||
case $normalized_program in
|
||||
autoconf*)
|
||||
echo "You should only need it if you modified 'configure.ac',"
|
||||
echo "or m4 files included by it."
|
||||
program_details 'autoconf'
|
||||
;;
|
||||
autoheader*)
|
||||
echo "You should only need it if you modified 'acconfig.h' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'autoheader'
|
||||
;;
|
||||
automake*)
|
||||
echo "You should only need it if you modified 'Makefile.am' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'automake'
|
||||
;;
|
||||
aclocal*)
|
||||
echo "You should only need it if you modified 'acinclude.m4' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'aclocal'
|
||||
;;
|
||||
autom4te*)
|
||||
echo "You might have modified some maintainer files that require"
|
||||
echo "the 'autom4te' program to be rebuilt."
|
||||
program_details 'autom4te'
|
||||
;;
|
||||
bison*|yacc*)
|
||||
echo "You should only need it if you modified a '.y' file."
|
||||
echo "You may want to install the GNU Bison package:"
|
||||
echo "<$gnu_software_URL/bison/>"
|
||||
;;
|
||||
lex*|flex*)
|
||||
echo "You should only need it if you modified a '.l' file."
|
||||
echo "You may want to install the Fast Lexical Analyzer package:"
|
||||
echo "<$flex_URL>"
|
||||
;;
|
||||
help2man*)
|
||||
echo "You should only need it if you modified a dependency" \
|
||||
"of a man page."
|
||||
echo "You may want to install the GNU Help2man package:"
|
||||
echo "<$gnu_software_URL/help2man/>"
|
||||
;;
|
||||
makeinfo*)
|
||||
echo "You should only need it if you modified a '.texi' file, or"
|
||||
echo "any other file indirectly affecting the aspect of the manual."
|
||||
echo "You might want to install the Texinfo package:"
|
||||
echo "<$gnu_software_URL/texinfo/>"
|
||||
echo "The spurious makeinfo call might also be the consequence of"
|
||||
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
|
||||
echo "want to install GNU make:"
|
||||
echo "<$gnu_software_URL/make/>"
|
||||
;;
|
||||
*)
|
||||
echo "You might have modified some files without having the proper"
|
||||
echo "tools for further handling them. Check the 'README' file, it"
|
||||
echo "often tells you about the needed prerequisites for installing"
|
||||
echo "this package. You may also peek at any GNU archive site, in"
|
||||
echo "case some other package contains this missing '$1' program."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||
-e '2,$s/^/ /' >&2
|
||||
|
||||
# Propagate the correct exit status (expected to be 127 for a program
|
||||
# not found, 63 for a program that failed due to version mismatch).
|
||||
exit $st
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
#! /bin/sh
|
||||
# test-driver - basic testsuite driver script.
|
||||
|
||||
scriptversion=2013-07-13.22; # UTC
|
||||
|
||||
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
# Make unconditional expansion of undefined variables an error. This
|
||||
# helps a lot in preventing typo-related bugs.
|
||||
set -u
|
||||
|
||||
usage_error ()
|
||||
{
|
||||
echo "$0: $*" >&2
|
||||
print_usage >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
print_usage ()
|
||||
{
|
||||
cat <<END
|
||||
Usage:
|
||||
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
|
||||
[--expect-failure={yes|no}] [--color-tests={yes|no}]
|
||||
[--enable-hard-errors={yes|no}] [--]
|
||||
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
|
||||
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
|
||||
END
|
||||
}
|
||||
|
||||
test_name= # Used for reporting.
|
||||
log_file= # Where to save the output of the test script.
|
||||
trs_file= # Where to save the metadata of the test run.
|
||||
expect_failure=no
|
||||
color_tests=no
|
||||
enable_hard_errors=yes
|
||||
while test $# -gt 0; do
|
||||
case $1 in
|
||||
--help) print_usage; exit $?;;
|
||||
--version) echo "test-driver $scriptversion"; exit $?;;
|
||||
--test-name) test_name=$2; shift;;
|
||||
--log-file) log_file=$2; shift;;
|
||||
--trs-file) trs_file=$2; shift;;
|
||||
--color-tests) color_tests=$2; shift;;
|
||||
--expect-failure) expect_failure=$2; shift;;
|
||||
--enable-hard-errors) enable_hard_errors=$2; shift;;
|
||||
--) shift; break;;
|
||||
-*) usage_error "invalid option: '$1'";;
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
missing_opts=
|
||||
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
|
||||
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
|
||||
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
|
||||
if test x"$missing_opts" != x; then
|
||||
usage_error "the following mandatory options are missing:$missing_opts"
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage_error "missing argument"
|
||||
fi
|
||||
|
||||
if test $color_tests = yes; then
|
||||
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
|
||||
red='[0;31m' # Red.
|
||||
grn='[0;32m' # Green.
|
||||
lgn='[1;32m' # Light green.
|
||||
blu='[1;34m' # Blue.
|
||||
mgn='[0;35m' # Magenta.
|
||||
std='[m' # No color.
|
||||
else
|
||||
red= grn= lgn= blu= mgn= std=
|
||||
fi
|
||||
|
||||
do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
|
||||
trap "st=129; $do_exit" 1
|
||||
trap "st=130; $do_exit" 2
|
||||
trap "st=141; $do_exit" 13
|
||||
trap "st=143; $do_exit" 15
|
||||
|
||||
# Test script is run here.
|
||||
"$@" >$log_file 2>&1
|
||||
estatus=$?
|
||||
|
||||
if test $enable_hard_errors = no && test $estatus -eq 99; then
|
||||
tweaked_estatus=1
|
||||
else
|
||||
tweaked_estatus=$estatus
|
||||
fi
|
||||
|
||||
case $tweaked_estatus:$expect_failure in
|
||||
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
|
||||
0:*) col=$grn res=PASS recheck=no gcopy=no;;
|
||||
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
|
||||
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
|
||||
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
|
||||
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
|
||||
esac
|
||||
|
||||
# Report the test outcome and exit status in the logs, so that one can
|
||||
# know whether the test passed or failed simply by looking at the '.log'
|
||||
# file, without the need of also peaking into the corresponding '.trs'
|
||||
# file (automake bug#11814).
|
||||
echo "$res $test_name (exit status: $estatus)" >>$log_file
|
||||
|
||||
# Report outcome to console.
|
||||
echo "${col}${res}${std}: $test_name"
|
||||
|
||||
# Register the test result, and other relevant metadata.
|
||||
echo ":test-result: $res" > $trs_file
|
||||
echo ":global-test-result: $res" >> $trs_file
|
||||
echo ":recheck: $recheck" >> $trs_file
|
||||
echo ":copy-in-global-log: $gcopy" >> $trs_file
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
|
||||
& eval 'exec perl -wST "$0" $argv:q'
|
||||
if 0;
|
||||
# Detect instances of "if (p) free (p);".
|
||||
# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
|
||||
|
||||
my $VERSION = '2012-01-06 07:23'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
# do its job. Otherwise, update this string manually.
|
||||
|
||||
# Copyright (C) 2008-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Getopt::Long;
|
||||
|
||||
(my $ME = $0) =~ s|.*/||;
|
||||
|
||||
# use File::Coda; # http://meyering.net/code/Coda/
|
||||
END {
|
||||
defined fileno STDOUT or return;
|
||||
close STDOUT and return;
|
||||
warn "$ME: failed to close standard output: $!\n";
|
||||
$? ||= 1;
|
||||
}
|
||||
|
||||
sub usage ($)
|
||||
{
|
||||
my ($exit_code) = @_;
|
||||
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
|
||||
if ($exit_code != 0)
|
||||
{
|
||||
print $STREAM "Try '$ME --help' for more information.\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print $STREAM <<EOF;
|
||||
Usage: $ME [OPTIONS] FILE...
|
||||
|
||||
Detect any instance in FILE of a useless "if" test before a free call, e.g.,
|
||||
"if (p) free (p);". Any such test may be safely removed without affecting
|
||||
the semantics of the C code in FILE. Use --name=FOO --name=BAR to also
|
||||
detect free-like functions named FOO and BAR.
|
||||
|
||||
OPTIONS:
|
||||
|
||||
--list print only the name of each matching FILE (\\0-terminated)
|
||||
--name=N add name N to the list of \'free\'-like functions to detect;
|
||||
may be repeated
|
||||
|
||||
--help display this help and exit
|
||||
--version output version information and exit
|
||||
|
||||
Exit status:
|
||||
|
||||
0 one or more matches
|
||||
1 no match
|
||||
2 an error
|
||||
|
||||
EXAMPLE:
|
||||
|
||||
For example, this command prints all removable "if" tests before "free"
|
||||
and "kfree" calls in the linux kernel sources:
|
||||
|
||||
git ls-files -z |xargs -0 $ME --name=kfree
|
||||
|
||||
EOF
|
||||
}
|
||||
exit $exit_code;
|
||||
}
|
||||
|
||||
sub is_NULL ($)
|
||||
{
|
||||
my ($expr) = @_;
|
||||
return ($expr eq 'NULL' || $expr eq '0');
|
||||
}
|
||||
|
||||
{
|
||||
sub EXIT_MATCH {0}
|
||||
sub EXIT_NO_MATCH {1}
|
||||
sub EXIT_ERROR {2}
|
||||
my $err = EXIT_NO_MATCH;
|
||||
|
||||
my $list;
|
||||
my @name = qw(free);
|
||||
GetOptions
|
||||
(
|
||||
help => sub { usage 0 },
|
||||
version => sub { print "$ME version $VERSION\n"; exit },
|
||||
list => \$list,
|
||||
'name=s@' => \@name,
|
||||
) or usage 1;
|
||||
|
||||
# Make sure we have the right number of non-option arguments.
|
||||
# Always tell the user why we fail.
|
||||
@ARGV < 1
|
||||
and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR;
|
||||
|
||||
my $or = join '|', @name;
|
||||
my $regexp = qr/(?:$or)/;
|
||||
|
||||
# Set the input record separator.
|
||||
# Note: this makes it impractical to print line numbers.
|
||||
$/ = '"';
|
||||
|
||||
my $found_match = 0;
|
||||
FILE:
|
||||
foreach my $file (@ARGV)
|
||||
{
|
||||
open FH, '<', $file
|
||||
or (warn "$ME: can't open '$file' for reading: $!\n"),
|
||||
$err = EXIT_ERROR, next;
|
||||
while (defined (my $line = <FH>))
|
||||
{
|
||||
while ($line =~
|
||||
/\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
|
||||
# 1 2 3
|
||||
(?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;|
|
||||
\s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg)
|
||||
{
|
||||
my $all = $1;
|
||||
my ($lhs, $rhs) = ($2, $3);
|
||||
my ($free_opnd, $braced_free_opnd) = ($4, $5);
|
||||
my $non_NULL;
|
||||
if (!defined $rhs) { $non_NULL = $lhs }
|
||||
elsif (is_NULL $rhs) { $non_NULL = $lhs }
|
||||
elsif (is_NULL $lhs) { $non_NULL = $rhs }
|
||||
else { next }
|
||||
|
||||
# Compare the non-NULL part of the "if" expression and the
|
||||
# free'd expression, without regard to white space.
|
||||
$non_NULL =~ tr/ \t//d;
|
||||
my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd;
|
||||
$e2 =~ tr/ \t//d;
|
||||
if ($non_NULL eq $e2)
|
||||
{
|
||||
$found_match = 1;
|
||||
$list
|
||||
and (print "$file\0"), next FILE;
|
||||
print "$file: $all\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
continue
|
||||
{
|
||||
close FH;
|
||||
}
|
||||
|
||||
$found_match && $err == EXIT_NO_MATCH
|
||||
and $err = EXIT_MATCH;
|
||||
|
||||
exit $err;
|
||||
}
|
||||
|
||||
my $foo = <<'EOF';
|
||||
# The above is to *find* them.
|
||||
# This adjusts them, removing the unnecessary "if (p)" part.
|
||||
|
||||
# FIXME: do something like this as an option (doesn't do braces):
|
||||
free=xfree
|
||||
git grep -l -z "$free *(" \
|
||||
| xargs -0 useless-if-before-free -l --name="$free" \
|
||||
| xargs -0 perl -0x3b -pi -e \
|
||||
's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s'
|
||||
|
||||
# Use the following to remove redundant uses of kfree inside braces.
|
||||
# Note that -0777 puts perl in slurp-whole-file mode;
|
||||
# but we have plenty of memory, these days...
|
||||
free=kfree
|
||||
git grep -l -z "$free *(" \
|
||||
| xargs -0 useless-if-before-free -l --name="$free" \
|
||||
| xargs -0 perl -0777 -pi -e \
|
||||
's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms'
|
||||
|
||||
Be careful that the result of the above transformation is valid.
|
||||
If the matched string is followed by "else", then obviously, it won't be.
|
||||
|
||||
When modifying files, refuse to process anything other than a regular file.
|
||||
EOF
|
||||
|
||||
## Local Variables:
|
||||
## mode: perl
|
||||
## indent-tabs-mode: nil
|
||||
## eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
## time-stamp-start: "my $VERSION = '"
|
||||
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
|
||||
## time-stamp-time-zone: "UTC"
|
||||
## time-stamp-end: "'; # UTC"
|
||||
## End:
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
#!/bin/sh
|
||||
# List version-controlled file names.
|
||||
|
||||
# Print a version string.
|
||||
scriptversion=2011-05-16.22; # UTC
|
||||
|
||||
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
# List the specified version-controlled files.
|
||||
# With no argument, list them all. With a single DIRECTORY argument,
|
||||
# list the version-controlled files in that directory.
|
||||
|
||||
# If there's an argument, it must be a single, "."-relative directory name.
|
||||
# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/
|
||||
|
||||
postprocess=
|
||||
case $1 in
|
||||
--help) cat <<EOF
|
||||
Usage: $0 [-C SRCDIR] [DIR...]
|
||||
|
||||
Output a list of version-controlled files in DIR (default .), relative to
|
||||
SRCDIR (default .). SRCDIR must be the top directory of a checkout.
|
||||
|
||||
Options:
|
||||
--help print this help, then exit
|
||||
--version print version number, then exit
|
||||
-C SRCDIR change directory to SRCDIR before generating list
|
||||
|
||||
Report bugs and patches to <bug-gnulib@gnu.org>.
|
||||
EOF
|
||||
exit ;;
|
||||
|
||||
--version)
|
||||
year=`echo "$scriptversion" | sed 's/[^0-9].*//'`
|
||||
cat <<EOF
|
||||
vc-list-files $scriptversion
|
||||
Copyright (C) $year Free Software Foundation, Inc,
|
||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
EOF
|
||||
exit ;;
|
||||
|
||||
-C)
|
||||
test "$2" = . || postprocess="| sed 's|^|$2/|'"
|
||||
cd "$2" || exit 1
|
||||
shift; shift ;;
|
||||
esac
|
||||
|
||||
test $# = 0 && set .
|
||||
|
||||
for dir
|
||||
do
|
||||
if test -d .git; then
|
||||
test "x$dir" = x. \
|
||||
&& dir= sed_esc= \
|
||||
|| { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; }
|
||||
# Ignore git symlinks - either they point into the tree, in which case
|
||||
# we don't need to visit the target twice, or they point somewhere
|
||||
# else (often into a submodule), in which case the content does not
|
||||
# belong to this package.
|
||||
eval exec git ls-tree -r 'HEAD:"$dir"' \
|
||||
\| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess
|
||||
elif test -d .hg; then
|
||||
eval exec hg locate '"$dir/*"' $postprocess
|
||||
elif test -d .bzr; then
|
||||
test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
|
||||
eval exec bzr ls -R --versioned '"$dir"' $postprocess
|
||||
elif test -d CVS; then
|
||||
test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
|
||||
if test -x build-aux/cvsu; then
|
||||
eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess
|
||||
elif (cvsu --help) >/dev/null 2>&1; then
|
||||
eval cvsu --find --types=AFGM '"$dir"' $postprocess
|
||||
else
|
||||
eval awk -F/ \''{ \
|
||||
if (!$1 && $3 !~ /^-/) { \
|
||||
f=FILENAME; \
|
||||
if (f ~ /CVS\/Entries$/) \
|
||||
f = substr(f, 1, length(f)-11); \
|
||||
print f $2; \
|
||||
}}'\'' \
|
||||
`find "$dir" -name Entries -print` /dev/null' $postprocess
|
||||
fi
|
||||
elif test -d .svn; then
|
||||
eval exec svn list -R '"$dir"' $postprocess
|
||||
else
|
||||
echo "$0: Failed to determine type of version control used in `pwd`" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
dnl -*- mode: autoconf -*-
|
||||
|
||||
# serial 2
|
||||
|
||||
dnl Usage:
|
||||
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
|
||||
AC_DEFUN([GTK_DOC_CHECK],
|
||||
[
|
||||
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
|
||||
ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
|
||||
AC_MSG_CHECKING([for gtk-doc])
|
||||
PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
|
||||
AC_MSG_RESULT($have_gtk_doc)
|
||||
|
||||
if test "$have_gtk_doc" = "no"; then
|
||||
AC_MSG_WARN([
|
||||
You will not be able to create source packages with 'make dist'
|
||||
because $gtk_doc_requires is not found.])
|
||||
fi
|
||||
|
||||
dnl check for tools we added during development
|
||||
dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
|
||||
dnl may not be writable by the user. Currently, automake requires that the
|
||||
dnl test name must end in '.test'.
|
||||
dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
|
||||
AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
|
||||
AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
|
||||
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
|
||||
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
|
||||
|
||||
dnl for overriding the documentation installation directory
|
||||
AC_ARG_WITH([html-dir],
|
||||
AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
|
||||
[with_html_dir='${datadir}/gtk-doc/html'])
|
||||
HTML_DIR="$with_html_dir"
|
||||
AC_SUBST([HTML_DIR])
|
||||
|
||||
dnl enable/disable documentation building
|
||||
AC_ARG_ENABLE([gtk-doc],
|
||||
AS_HELP_STRING([--enable-gtk-doc],
|
||||
[use gtk-doc to build documentation [[default=no]]]),,
|
||||
[enable_gtk_doc=no])
|
||||
|
||||
AC_MSG_CHECKING([whether to build gtk-doc documentation])
|
||||
AC_MSG_RESULT($enable_gtk_doc)
|
||||
|
||||
if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
|
||||
AC_MSG_ERROR([
|
||||
You must have $gtk_doc_requires installed to build documentation for
|
||||
$PACKAGE_NAME. Please install gtk-doc or disable building the
|
||||
documentation by adding '--disable-gtk-doc' to '[$]0'.])
|
||||
fi
|
||||
|
||||
dnl don't check for glib if we build glib
|
||||
if test "x$PACKAGE_NAME" != "xglib"; then
|
||||
dnl don't fail if someone does not have glib
|
||||
PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
|
||||
fi
|
||||
|
||||
dnl enable/disable output formats
|
||||
AC_ARG_ENABLE([gtk-doc-html],
|
||||
AS_HELP_STRING([--enable-gtk-doc-html],
|
||||
[build documentation in html format [[default=yes]]]),,
|
||||
[enable_gtk_doc_html=yes])
|
||||
AC_ARG_ENABLE([gtk-doc-pdf],
|
||||
AS_HELP_STRING([--enable-gtk-doc-pdf],
|
||||
[build documentation in pdf format [[default=no]]]),,
|
||||
[enable_gtk_doc_pdf=no])
|
||||
|
||||
if test -z "$GTKDOC_MKPDF"; then
|
||||
enable_gtk_doc_pdf=no
|
||||
fi
|
||||
|
||||
if test -z "$AM_DEFAULT_VERBOSITY"; then
|
||||
AM_DEFAULT_VERBOSITY=1
|
||||
fi
|
||||
AC_SUBST([AM_DEFAULT_VERBOSITY])
|
||||
|
||||
AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
|
||||
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
|
||||
AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
|
||||
])
|
||||
|
|
@ -1,437 +0,0 @@
|
|||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 8 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option '$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
|
||||
[_LT_WITH_AIX_SONAME([aix])])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the 'shared' and
|
||||
# 'disable-shared' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the 'static' and
|
||||
# 'disable-static' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the 'fast-install'
|
||||
# and 'disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_AIX_SONAME([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
|
||||
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
|
||||
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
|
||||
m4_define([_LT_WITH_AIX_SONAME],
|
||||
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
|
||||
shared_archive_member_spec=
|
||||
case $host,$enable_shared in
|
||||
power*-*-aix[[5-9]]*,yes)
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
AC_ARG_WITH([aix-soname],
|
||||
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
|
||||
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
|
||||
[case $withval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$with_aix_soname],
|
||||
[AC_CACHE_VAL([lt_cv_with_aix_soname],
|
||||
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
|
||||
with_aix_soname=$lt_cv_with_aix_soname])
|
||||
AC_MSG_RESULT([$with_aix_soname])
|
||||
if test aix != "$with_aix_soname"; then
|
||||
# For the AIX way of multilib, we name the shared archive member
|
||||
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
|
||||
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
|
||||
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
|
||||
# the AIX toolchain works better with OBJECT_MODE set (default 32).
|
||||
if test 64 = "${OBJECT_MODE-32}"; then
|
||||
shared_archive_member_spec=shr_64
|
||||
else
|
||||
shared_archive_member_spec=shr
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
with_aix_soname=aix
|
||||
;;
|
||||
esac
|
||||
|
||||
_LT_DECL([], [shared_archive_member_spec], [0],
|
||||
[Shared archive member basename, for filename based shared library versioning on AIX])dnl
|
||||
])# _LT_WITH_AIX_SONAME
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $withval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=m4_default([$1], [default])])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
|
|
@ -1,124 +0,0 @@
|
|||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59, which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 4179 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.6])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.6'
|
||||
macro_revision='2.4.6'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
export VC_LIST_EXCEPT_DEFAULT=^(docs/.*|git.mk|lib/.*|m4/.*|md5/.*|build-aux/.*|src/gettext\.h|.*ChangeLog|buildutil/.*)$$
|
||||
|
||||
local-checks-to-skip = \
|
||||
sc_const_long_option \
|
||||
sc_error_message_uppercase \
|
||||
sc_file_system \
|
||||
sc_immutable_NEWS \
|
||||
sc_copyright_check \
|
||||
sc_makefile_path_separator_check \
|
||||
sc_require_config_h \
|
||||
sc_require_config_h_first \
|
||||
sc_two_space_separator_in_usage \
|
||||
sc_useless_cpp_parens \
|
||||
\
|
||||
sc_prohibit_atoi_atof \
|
||||
sc_prohibit_strcmp \
|
||||
sc_cast_of_alloca_return_value \
|
||||
sc_cast_of_x_alloc_return_value \
|
||||
sc_prohibit_S_IS_definition \
|
||||
\
|
||||
sc_program_name \
|
||||
sc_bindtextdomain \
|
||||
sc_prohibit_path_max_allocation \
|
||||
sc_trailing_blank \
|
||||
|
||||
#SHELL=bash -x
|
||||
show-vc-list-except:
|
||||
@$(VC_LIST_EXCEPT)
|
||||
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^ABOUT-NLS|maint.mk|*.gpg|*.sig|.xz$$
|
||||
135
config.h.in
|
|
@ -1,135 +0,0 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if we should avoid using O_TMPFILE */
|
||||
#undef DISABLE_OTMPFILE
|
||||
|
||||
/* The system grub2-mkconfig executible name */
|
||||
#undef GRUB2_MKCONFIG_PATH
|
||||
|
||||
/* Define to 1 if you have the `archive_read_support_filter_all' function. */
|
||||
#undef HAVE_ARCHIVE_READ_SUPPORT_FILTER_ALL
|
||||
|
||||
/* Define to 1 if you have the declaration of `', and to 0 if you don't. */
|
||||
#undef HAVE_DECL_
|
||||
|
||||
/* Define to 1 if you have the declaration of `renameat2', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_RENAMEAT2
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if we have libarchive.pc */
|
||||
#undef HAVE_LIBARCHIVE
|
||||
|
||||
/* Define if we have libmount.pc */
|
||||
#undef HAVE_LIBMOUNT
|
||||
|
||||
/* Define if we have libsoup.pc */
|
||||
#undef HAVE_LIBSOUP
|
||||
|
||||
/* Define if we have libsoup client certs */
|
||||
#undef HAVE_LIBSOUP_CLIENT_CERTS
|
||||
|
||||
/* Define if we have libsystemd */
|
||||
#undef HAVE_LIBSYSTEMD
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if we have libselinux.pc */
|
||||
#undef HAVE_SELINUX
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if using internal ostree-grub-generator */
|
||||
#undef USE_BUILTIN_GRUB2_MKCONFIG
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
#endif
|
||||
/* Enable GNU extensions on systems that have them. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
#endif
|
||||
/* Enable threading extensions on Solaris. */
|
||||
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||
# undef _POSIX_PTHREAD_SEMANTICS
|
||||
#endif
|
||||
/* Enable extensions on HP NonStop. */
|
||||
#ifndef _TANDEM_SOURCE
|
||||
# undef _TANDEM_SOURCE
|
||||
#endif
|
||||
/* Enable general extensions on Solaris. */
|
||||
#ifndef __EXTENSIONS__
|
||||
# undef __EXTENSIONS__
|
||||
#endif
|
||||
|
||||
|
||||
/* Enable large inode numbers on Mac OS X 10.5. */
|
||||
#ifndef _DARWIN_USE_64_BIT_INODE
|
||||
# define _DARWIN_USE_64_BIT_INODE 1
|
||||
#endif
|
||||
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
#undef _FILE_OFFSET_BITS
|
||||
|
||||
/* Define for large files, on AIX-style hosts. */
|
||||
#undef _LARGE_FILES
|
||||
|
||||
/* Define to 1 if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
/* Define to 2 if the system does not provide POSIX.1 features except with
|
||||
this defined. */
|
||||
#undef _POSIX_1_SOURCE
|
||||
|
||||
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
||||
#undef _POSIX_SOURCE
|
||||
13
configure.ac
|
|
@ -1,5 +1,6 @@
|
|||
AC_PREREQ([2.63])
|
||||
AC_INIT([ostree], [2016.8], [walters@verbum.org])
|
||||
dnl If incrementing the version here, remember to update libostree.sym too
|
||||
AC_INIT([ostree], [2016.9], [walters@verbum.org])
|
||||
AC_CONFIG_HEADER([config.h])
|
||||
AC_CONFIG_MACRO_DIR([buildutil])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
|
@ -294,6 +295,13 @@ AS_IF([test x$with_grub2_mkconfig_path = x], [
|
|||
],[GRUB2_MKCONFIG=$with_grub2_mkconfig_path])
|
||||
AC_DEFINE_UNQUOTED([GRUB2_MKCONFIG_PATH], ["$GRUB2_MKCONFIG"], [The system grub2-mkconfig executible name])
|
||||
|
||||
AC_ARG_WITH(static-compiler,
|
||||
AS_HELP_STRING([--with-static-compiler],
|
||||
[Use the given compiler to build ostree-prepare-root statically linked (default: no)]),,
|
||||
[with_static_compiler=no])
|
||||
AM_CONDITIONAL(BUILDOPT_USE_STATIC_COMPILER, test x$with_static_compiler != xno)
|
||||
AC_SUBST(STATIC_COMPILER, $with_static_compiler)
|
||||
|
||||
dnl for tests
|
||||
AS_IF([test "x$found_introspection" = xyes], [
|
||||
AC_PATH_PROG(GJS, [gjs])
|
||||
|
|
@ -331,7 +339,8 @@ echo "
|
|||
api docs (gtk-doc): $enable_gtk_doc
|
||||
gjs-based tests: $have_gjs
|
||||
dracut: $with_dracut
|
||||
mkinitcpio: $with_mkinitcpio"
|
||||
mkinitcpio: $with_mkinitcpio
|
||||
Static compiler for ostree-prepare-root: $with_static_compiler"
|
||||
AS_IF([test x$with_builtin_grub2_mkconfig = xyes], [
|
||||
echo " builtin grub2-mkconfig (instead of system): $with_builtin_grub2_mkconfig"
|
||||
], [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
Portions of this code are derived from:
|
||||
|
||||
https://github.com/dradtke/gotk3
|
||||
|
||||
Copyright (c) 2013 Conformal Systems LLC.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
This file contains demonstration FFI bindings for using `-lostree-1`
|
||||
and `-larchive` from golang.
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
/*
|
||||
* Copyright (c) 2013 Conformal Systems <info@conformal.com>
|
||||
*
|
||||
* This file originated from: http://opensource.conformal.com/
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
package ostree
|
||||
|
||||
// #cgo pkg-config: glib-2.0 gobject-2.0
|
||||
// #include <glib.h>
|
||||
// #include <glib-object.h>
|
||||
// #include <gio/gio.h>
|
||||
// #include "glibobject.go.h"
|
||||
// #include <stdlib.h>
|
||||
import "C"
|
||||
import (
|
||||
"unsafe"
|
||||
"runtime"
|
||||
"fmt"
|
||||
"errors"
|
||||
)
|
||||
|
||||
func GBool(b bool) C.gboolean {
|
||||
if b {
|
||||
return C.gboolean(1)
|
||||
}
|
||||
return C.gboolean(0)
|
||||
}
|
||||
|
||||
func GoBool(b C.gboolean) bool {
|
||||
if b != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type GError struct {
|
||||
ptr unsafe.Pointer
|
||||
}
|
||||
|
||||
func NewGError() GError {
|
||||
return GError{nil}
|
||||
}
|
||||
|
||||
func (e *GError) Native() *C.GError {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
return (*C.GError)(e.ptr)
|
||||
}
|
||||
|
||||
func ConvertGError(e *C.GError) error {
|
||||
defer C.g_error_free(e)
|
||||
return errors.New(C.GoString((*C.char)(C._g_error_get_message(e))))
|
||||
}
|
||||
|
||||
type GType uint
|
||||
|
||||
func (t GType) Name() string {
|
||||
return C.GoString((*C.char)(C.g_type_name(C.GType(t))))
|
||||
}
|
||||
|
||||
type GVariant struct {
|
||||
ptr unsafe.Pointer
|
||||
}
|
||||
|
||||
func GVariantNew(p unsafe.Pointer) *GVariant {
|
||||
o := &GVariant{p}
|
||||
runtime.SetFinalizer(o, (*GVariant).Unref)
|
||||
return o;
|
||||
}
|
||||
|
||||
func GVariantNewSink(p unsafe.Pointer) *GVariant {
|
||||
o := &GVariant{p}
|
||||
runtime.SetFinalizer(o, (*GVariant).Unref)
|
||||
o.RefSink()
|
||||
return o;
|
||||
}
|
||||
|
||||
func (v *GVariant) native() *C.GVariant {
|
||||
return (*C.GVariant)(v.ptr);
|
||||
}
|
||||
|
||||
func (v *GVariant) Ref() {
|
||||
C.g_variant_ref(v.native())
|
||||
}
|
||||
|
||||
func (v *GVariant) Unref() {
|
||||
C.g_variant_unref(v.native())
|
||||
}
|
||||
|
||||
func (v *GVariant) RefSink() {
|
||||
C.g_variant_ref_sink(v.native())
|
||||
}
|
||||
|
||||
func (v *GVariant) TypeString() string {
|
||||
cs := (*C.char)(C.g_variant_get_type_string(v.native()))
|
||||
return C.GoString(cs)
|
||||
}
|
||||
|
||||
func (v *GVariant) GetChildValue(i int) *GVariant {
|
||||
cchild := C.g_variant_get_child_value(v.native(), C.gsize(i))
|
||||
return GVariantNew(unsafe.Pointer(cchild));
|
||||
}
|
||||
|
||||
func (v *GVariant) LookupString(key string) (string, error) {
|
||||
ckey := C.CString(key)
|
||||
defer C.free(unsafe.Pointer(ckey))
|
||||
// TODO: Find a way to have constant C strings in golang
|
||||
cstr := C._g_variant_lookup_string(v.native(), ckey)
|
||||
if cstr == nil {
|
||||
return "", fmt.Errorf("No such key: %s", key)
|
||||
}
|
||||
return C.GoString(cstr), nil
|
||||
}
|
||||
|
||||
/*
|
||||
* GObject
|
||||
*/
|
||||
|
||||
// IObject is an interface type implemented by Object and all types which embed
|
||||
// an Object. It is meant to be used as a type for function arguments which
|
||||
// require GObjects or any subclasses thereof.
|
||||
type IObject interface {
|
||||
toGObject() *C.GObject
|
||||
ToObject() *GObject
|
||||
}
|
||||
|
||||
// Object is a representation of GLib's GObject.
|
||||
type GObject struct {
|
||||
ptr unsafe.Pointer
|
||||
}
|
||||
|
||||
func GObjectNew(p unsafe.Pointer) *GObject {
|
||||
o := &GObject{p}
|
||||
runtime.SetFinalizer(o, (*GObject).Unref)
|
||||
return o;
|
||||
}
|
||||
|
||||
func (v *GObject) Ptr() unsafe.Pointer {
|
||||
return v.ptr
|
||||
}
|
||||
|
||||
func (v *GObject) Native() *C.GObject {
|
||||
if v == nil || v.ptr == nil {
|
||||
return nil
|
||||
}
|
||||
return (*C.GObject)(v.ptr)
|
||||
}
|
||||
|
||||
func (v *GObject) toGObject() *C.GObject {
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
return v.Native()
|
||||
}
|
||||
|
||||
func (v *GObject) Ref() {
|
||||
C.g_object_ref(C.gpointer(v.ptr))
|
||||
}
|
||||
|
||||
func (v *GObject) Unref() {
|
||||
C.g_object_unref(C.gpointer(v.ptr))
|
||||
}
|
||||
|
||||
func (v *GObject) RefSink() {
|
||||
C.g_object_ref_sink(C.gpointer(v.ptr))
|
||||
}
|
||||
|
||||
func (v *GObject) IsFloating() bool {
|
||||
c := C.g_object_is_floating(C.gpointer(v.ptr))
|
||||
return GoBool(c)
|
||||
}
|
||||
|
||||
func (v *GObject) ForceFloating() {
|
||||
C.g_object_force_floating((*C.GObject)(v.ptr))
|
||||
}
|
||||
|
||||
// GIO types
|
||||
|
||||
type GCancellable struct {
|
||||
*GObject
|
||||
}
|
||||
|
||||
func (self *GCancellable) native() *C.GCancellable {
|
||||
return (*C.GCancellable)(self.ptr)
|
||||
}
|
||||
|
||||
// At the moment, no cancellable API, just pass nil
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#include <glib.h>
|
||||
|
||||
static char *
|
||||
_g_error_get_message (GError *error)
|
||||
{
|
||||
g_assert (error != NULL);
|
||||
return error->message;
|
||||
}
|
||||
|
||||
static const char *
|
||||
_g_variant_lookup_string (GVariant *v, const char *key)
|
||||
{
|
||||
const char *r;
|
||||
if (g_variant_lookup (v, key, "&s", &r))
|
||||
return r;
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
// +build linux
|
||||
|
||||
// Public API specification for libostree Go bindings
|
||||
|
||||
package ostree
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// #cgo pkg-config: ostree-1
|
||||
// #include <stdlib.h>
|
||||
// #include <glib.h>
|
||||
// #include <ostree.h>
|
||||
// #include "ostree.go.h"
|
||||
import "C"
|
||||
|
||||
type Repo struct {
|
||||
*GObject
|
||||
}
|
||||
|
||||
func RepoGetType() GType {
|
||||
return GType(C.ostree_repo_get_type())
|
||||
}
|
||||
|
||||
func (r *Repo) native() *C.OstreeRepo {
|
||||
return (*C.OstreeRepo)(r.ptr)
|
||||
}
|
||||
|
||||
func repoFromNative(p *C.OstreeRepo) *Repo {
|
||||
if p == nil {
|
||||
return nil
|
||||
}
|
||||
o := GObjectNew(unsafe.Pointer(p))
|
||||
r := &Repo{o}
|
||||
return r
|
||||
}
|
||||
|
||||
func RepoNewOpen(path string) (*Repo, error) {
|
||||
var cerr *C.GError = nil
|
||||
cpath := C.CString(path)
|
||||
pathc := C.g_file_new_for_path(cpath);
|
||||
defer C.g_object_unref(C.gpointer(pathc))
|
||||
crepo := C.ostree_repo_new(pathc)
|
||||
repo := repoFromNative(crepo);
|
||||
r := GoBool(C.ostree_repo_open(repo.native(), nil, &cerr))
|
||||
if !r {
|
||||
return nil, ConvertGError(cerr)
|
||||
}
|
||||
return repo, nil
|
||||
}
|
||||
|
||||
func (r *Repo) GetParent() *Repo {
|
||||
return repoFromNative(C.ostree_repo_get_parent(r.native()))
|
||||
}
|
||||
|
||||
type ObjectType int
|
||||
|
||||
const (
|
||||
OBJECT_TYPE_FILE ObjectType = C.OSTREE_OBJECT_TYPE_FILE
|
||||
OBJECT_TYPE_DIR_TREE = C.OSTREE_OBJECT_TYPE_DIR_TREE
|
||||
OBJECT_TYPE_DIR_META = C.OSTREE_OBJECT_TYPE_DIR_META
|
||||
OBJECT_TYPE_COMMIT = C.OSTREE_OBJECT_TYPE_COMMIT
|
||||
OBJECT_TYPE_TOMBSTONE_COMMIT = C.OSTREE_OBJECT_TYPE_TOMBSTONE_COMMIT
|
||||
)
|
||||
|
||||
func (repo *Repo) LoadVariant(t ObjectType, checksum string) (*GVariant, error) {
|
||||
var cerr *C.GError = nil
|
||||
var cvariant *C.GVariant = nil
|
||||
|
||||
r := GoBool(C.ostree_repo_load_variant(repo.native(), C.OstreeObjectType(t), C.CString(checksum), &cvariant, &cerr))
|
||||
if !r {
|
||||
return nil, ConvertGError(cerr)
|
||||
}
|
||||
variant := GVariantNew(unsafe.Pointer(cvariant))
|
||||
return variant, nil
|
||||
}
|
||||
|
||||
func (repo *Repo) ResolveRev(ref string) (string, error) {
|
||||
var cerr *C.GError = nil
|
||||
var crev *C.char = nil
|
||||
|
||||
r := GoBool(C.ostree_repo_resolve_rev(repo.native(), C.CString(ref), GBool(true), &crev, &cerr))
|
||||
if !r {
|
||||
return "", ConvertGError(cerr)
|
||||
}
|
||||
defer C.free(unsafe.Pointer(crev))
|
||||
return C.GoString(crev), nil
|
||||
}
|
||||
|
||||
func (commit *GVariant) CommitGetMetadataKeyString(key string) (string, error) {
|
||||
cmeta := GVariantNew(unsafe.Pointer(C.g_variant_get_child_value(commit.native(), 0)))
|
||||
return cmeta.LookupString(key)
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#include <ostree.h>
|
||||
#include <string.h>
|
||||
|
||||
static void
|
||||
_ostree_repo_checkout_options_init_docker_union (OstreeRepoCheckoutOptions *opts)
|
||||
{
|
||||
memset (opts, 0, sizeof (*opts));
|
||||
opts->mode = OSTREE_REPO_CHECKOUT_MODE_USER;
|
||||
opts->overwrite_mode = OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_FILES;
|
||||
opts->disable_fsync = 1;
|
||||
opts->process_whiteouts = 1;
|
||||
}
|
||||
|
||||
static const char *
|
||||
_g_variant_lookup_string (GVariant *v, const char *key)
|
||||
{
|
||||
const char *r;
|
||||
if (g_variant_lookup (v, key, "&s", &r))
|
||||
return r;
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
// +build linux
|
||||
|
||||
// Public API specification for libostree Go bindings
|
||||
|
||||
package ostree
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTypeName(t *testing.T) {
|
||||
name := RepoGetType().Name();
|
||||
if name != "OstreeRepo" {
|
||||
t.Errorf("%s != OstreeRepo");
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepoNew(t *testing.T) {
|
||||
r, err := RepoNewOpen("/ostree/repo")
|
||||
if err != nil {
|
||||
t.Errorf("%s", err);
|
||||
return
|
||||
}
|
||||
parent := r.GetParent()
|
||||
if parent != nil {
|
||||
t.Errorf("Expected no parent")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepoGetMetadataVersion(t *testing.T) {
|
||||
r, err := RepoNewOpen("/ostree/repo")
|
||||
if err != nil {
|
||||
t.Errorf("%s", err);
|
||||
return
|
||||
}
|
||||
commit,err := r.ResolveRev("rhel-atomic-host/7/x86_64/standard")
|
||||
if err != nil {
|
||||
t.Errorf("%s", err)
|
||||
return
|
||||
}
|
||||
commitv,err := r.LoadVariant(OBJECT_TYPE_COMMIT, commit)
|
||||
if err != nil {
|
||||
t.Errorf("%s", err)
|
||||
return
|
||||
}
|
||||
ver, err := commitv.CommitGetMetadataKeyString("version")
|
||||
if err != nil {
|
||||
t.Errorf("%s", err)
|
||||
return
|
||||
}
|
||||
if ver != "7.1.3" {
|
||||
t.Errorf("expected 7.1.3")
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
Submitting patches
|
||||
------------------
|
||||
|
||||
A majority of current maintainers prefer the Github pull request
|
||||
model, and this motivated moving the primary git repository to
|
||||
<https://github.com/ostreedev/ostree>.
|
||||
|
||||
However, we do not use the "Merge pull request" button, because we do
|
||||
not like merge commits for one-patch pull requests, among other
|
||||
reasons. See [this issue](https://github.com/isaacs/github/issues/2)
|
||||
for more information. Instead, we use an instance of
|
||||
[Homu](https://github.com/servo/homu), currently known as
|
||||
`cgwalters-bot`.
|
||||
|
||||
As a review proceeeds, the preferred method is to push `fixup!`
|
||||
commits via `git commit --fixup`. Homu knows how to use
|
||||
`--autosquash` when performing the final merge. See the
|
||||
[Git documentation](https://git-scm.com/docs/git-rebase]) for more
|
||||
information.
|
||||
|
||||
Alternative methods if you don't like Github (also fully supported):
|
||||
|
||||
1. Send mail to <ostree-list@gnome.org>, with the patch attached
|
||||
1. Attach them to <https://bugzilla.gnome.org/>
|
||||
|
||||
It is likely however once a patch is ready to apply a maintainer
|
||||
will push it to a github PR, and merge via Homu.
|
||||
|
||||
Commit message style
|
||||
--------------------
|
||||
|
||||
Please look at `git log` and match the commit log style, which is very
|
||||
similar to the
|
||||
[Linux kernel](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git).
|
||||
|
||||
You may use `Signed-off-by`, but we're not requiring it.
|
||||
|
||||
Running the test suite
|
||||
----------------------
|
||||
|
||||
OSTree uses both `make check` and supports the
|
||||
[Installed Tests](https://wiki.gnome.org/GnomeGoals/InstalledTests)
|
||||
model as well (if `--enable-installed-tests` is provided).
|
||||
|
||||
Coding style
|
||||
------------
|
||||
|
||||
Indentation is GNU. Files should start with the appropriate mode lines.
|
||||
|
||||
Use GCC `__attribute__((cleanup))` wherever possible. If interacting
|
||||
with a third party library, try defining local cleanup macros.
|
||||
|
||||
Use GError and GCancellable where appropriate.
|
||||
|
||||
Prefer returning `gboolean` to signal success/failure, and have output
|
||||
values as parameters.
|
||||
|
||||
Prefer linear control flow inside functions (aside from standard
|
||||
loops). In other words, avoid "early exits" or use of `goto` besides
|
||||
`goto out;`.
|
||||
|
||||
This is an example of an "early exit":
|
||||
|
||||
static gboolean
|
||||
myfunc (...)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
|
||||
/* some code */
|
||||
|
||||
/* some more code */
|
||||
|
||||
if (condition)
|
||||
return FALSE;
|
||||
|
||||
/* some more code */
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
If you must shortcut, use:
|
||||
|
||||
if (condition)
|
||||
{
|
||||
ret = TRUE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
A consequence of this restriction is that you are encouraged to avoid
|
||||
deep nesting of loops or conditionals. Create internal static helper
|
||||
functions, particularly inside loops. For example, rather than:
|
||||
|
||||
while (condition)
|
||||
{
|
||||
/* some code */
|
||||
if (condition)
|
||||
{
|
||||
for (i = 0; i < somevalue; i++)
|
||||
{
|
||||
if (condition)
|
||||
{
|
||||
/* deeply nested code */
|
||||
}
|
||||
|
||||
/* more nested code */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Instead do this:
|
||||
|
||||
static gboolean
|
||||
helperfunc (..., GError **error)
|
||||
{
|
||||
if (condition)
|
||||
{
|
||||
/* deeply nested code */
|
||||
}
|
||||
|
||||
/* more nested code */
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
while (condition)
|
||||
{
|
||||
/* some code */
|
||||
if (!condition)
|
||||
continue;
|
||||
|
||||
for (i = 0; i < somevalue; i++)
|
||||
{
|
||||
if (!helperfunc (..., i, error))
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
../README.md
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
# Adapting existing mainstream distributions
|
||||
|
||||
## System layout
|
||||
|
||||
First, OSTree encourages systems to implement
|
||||
[UsrMove](http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/)
|
||||
This is simply to avoid the need for more bind mounts. By default
|
||||
OSTree's dracut hook creates a read-only bind mount over `/usr`; you
|
||||
can of course generate individual bind-mounts for `/bin`, all the
|
||||
`/lib` variants, etc. So it is not intended to be a hard requirement.
|
||||
|
||||
Remember, because by default the system is booted into a `chroot`
|
||||
equivalent, there has to be some way to refer to the actual physical
|
||||
root filesystem. Therefore, your operating system tree should contain
|
||||
an empty `/sysroot` directory; at boot time, OSTree will make this a
|
||||
bind mount to the physical / root directory. There is precedent for
|
||||
this name in the initramfs context. You should furthermore make a
|
||||
toplevel symbolic link `/ostree` which points to `/sysroot/ostree`, so
|
||||
that the OSTree tool at runtime can consistently find the system data
|
||||
regardless of whether it's operating on a physical root or inside a
|
||||
deployment.
|
||||
|
||||
Because OSTree only preserves `/var` across upgrades (each
|
||||
deployment's chroot directory will be garbage collected
|
||||
eventually), you will need to choose how to handle other
|
||||
toplevel writable directories specified by the [Filesystem Hierarchy Standard](http://www.pathname.com/fhs/).
|
||||
Your operating system may of course choose
|
||||
not to support some of these such as `/usr/local`, but following is the
|
||||
recommended set:
|
||||
|
||||
- `/home` → `/var/home`
|
||||
- `/opt` → `/var/opt`
|
||||
- `/srv` → `/var/srv`
|
||||
- `/root` → `/var/roothome`
|
||||
- `/usr/local` → `/var/local`
|
||||
- `/mnt` → `/var/mnt`
|
||||
- `/tmp` → `/sysroot/tmp`
|
||||
|
||||
Furthermore, since `/var` is empty by default, your operating system
|
||||
will need to dynamically create the *targets* of these at boot. A
|
||||
good way to do this is using `systemd-tmpfiles`, if your OS uses
|
||||
systemd. For example:
|
||||
|
||||
```
|
||||
d /var/log/journal 0755 root root -
|
||||
L /var/home - - - - ../sysroot/home
|
||||
d /var/opt 0755 root root -
|
||||
d /var/srv 0755 root root -
|
||||
d /var/roothome 0700 root root -
|
||||
d /var/usrlocal 0755 root root -
|
||||
d /var/usrlocal/bin 0755 root root -
|
||||
d /var/usrlocal/etc 0755 root root -
|
||||
d /var/usrlocal/games 0755 root root -
|
||||
d /var/usrlocal/include 0755 root root -
|
||||
d /var/usrlocal/lib 0755 root root -
|
||||
d /var/usrlocal/man 0755 root root -
|
||||
d /var/usrlocal/sbin 0755 root root -
|
||||
d /var/usrlocal/share 0755 root root -
|
||||
d /var/usrlocal/src 0755 root root -
|
||||
d /var/mnt 0755 root root -
|
||||
d /run/media 0755 root root -
|
||||
```
|
||||
|
||||
Particularly note here the double indirection of `/home`. By default,
|
||||
each deployment will share the global toplevel `/home` directory on
|
||||
the physical root filesystem. It is then up to higher levels of
|
||||
management tools to keep `/etc/passwd` or equivalent synchronized
|
||||
between operating systems. Each deployment can easily be reconfigured
|
||||
to have its own home directory set simply by making `/var/home` a real
|
||||
directory.
|
||||
|
||||
## Booting and initramfs technology
|
||||
|
||||
OSTree comes with optional dracut+systemd integration code that parses
|
||||
the `ostree=` kernel command line argument in the initramfs, and then
|
||||
sets up the read-only bind mount on `/usr`, a bind mount on the
|
||||
deployment's `/sysroot` to the physical `/`, and then finally uses
|
||||
`mount(MS_MOVE)` to make the deployment root appear to be the root
|
||||
filesystem before telling systemd to switch root.
|
||||
|
||||
If you are not using dracut or systemd, using OSTree should still be
|
||||
possible, but you will have to write the integration code. Patches to
|
||||
support other initramfs technologies and init systems, if sufficiently
|
||||
clean, will likely be accepted upstream.
|
||||
|
||||
A further specific note regarding `sysvinit`: OSTree used to support
|
||||
recording device files such the `/dev/initctl` FIFO, but no longer
|
||||
does. It's recommended to just patch your initramfs to create this at
|
||||
boot.
|
||||
|
||||
## /usr/lib/passwd
|
||||
|
||||
Unlike traditional package systems, OSTree trees contain *numeric* uid
|
||||
and gids. Furthermore, it does not have a `%post` type mechanism
|
||||
where `useradd` could be invoked. In order to ship an OS that
|
||||
contains both system users and users dynamically created on client
|
||||
machines, you will need to choose a solution for `/etc/passwd`. The
|
||||
core problem is that if you add a user to the system for a daemon, the
|
||||
OSTree upgrade process for `/etc` will simply notice that because
|
||||
`/etc/passwd` differs from the previous default, it will keep the
|
||||
modified config file, and your new OS user will not be visible. The
|
||||
solution chosen for the [Gnome Continuous](https://live.gnome.org/Projects/GnomeContinuous) operating
|
||||
system is to create `/usr/lib/passwd`, and to include a NSS module
|
||||
[nss-altfiles](https://github.com/aperezdc/nss-altfiles) which
|
||||
instructs glibc to read from it. Then, the build system places all
|
||||
system users there, freeing up `/etc/passwd` to be purely a database
|
||||
of local users. See also a more recent effort from [Systemd Stateless](http://0pointer.de/blog/projects/stateless.html)
|
||||
|
||||
## Adapting existing package managers
|
||||
|
||||
The largest endeavor is likely to be redesigning your distribution's
|
||||
package manager to be on top of OSTree, particularly if you want to
|
||||
keep compatibility with the "old way" of installing into the physical
|
||||
`/`. This section will use examples from both `dpkg` and `rpm` as the
|
||||
author has familiarity with both; but the abstract concepts should
|
||||
apply to most traditional package managers.
|
||||
|
||||
There are many levels of possible integration; initially, we will
|
||||
describe the most naive implementation which is the simplest but also
|
||||
the least efficient. We will assume here that the admin is booted
|
||||
into an OSTree-enabled system, and wants to add a set of packages.
|
||||
|
||||
Many package managers store their state in `/var`; but since in the
|
||||
OSTree model that directory is shared between independent versions,
|
||||
the package database must first be found in the per-deployment `/usr`
|
||||
directory. It becomes read-only; remember, all upgrades involve
|
||||
constructing a new filesystem tree, so your package manager will also
|
||||
need to create a copy of its database. Most likely, if you want to
|
||||
continue supporting non-OSTree deployments, simply have your package
|
||||
manager fall back to the legacy `/var` location if the one in `/usr`
|
||||
is not found.
|
||||
|
||||
To install a set of new packages (without removing any existing ones),
|
||||
enumerate the set of packages in the currently booted deployment, and
|
||||
perform dependency resolution to compute the complete set of new
|
||||
packages. Download and unpack these new packages to a temporary
|
||||
directory.
|
||||
|
||||
Now, because we are merely installing new packages and not
|
||||
removing anything, we can make the major optimization of reusing
|
||||
our existing filesystem tree, and merely
|
||||
*layering* the composed filesystem tree of
|
||||
these new packages on top. A command like this:
|
||||
|
||||
```
|
||||
ostree commit -b osname/releasename/description
|
||||
--tree=ref=$osname/$releasename/$description
|
||||
--tree=dir=/var/tmp/newpackages.13A8D0/
|
||||
```
|
||||
|
||||
will create a new commit in the `$osname/$releasename/$description`
|
||||
branch. The OSTree SHA256 checksum of all the files in
|
||||
`/var/tmp/newpackages.13A8D0/` will be computed, but we will not
|
||||
re-checksum the present existing tree. In this layering model,
|
||||
earlier directories will take precedence, but files in later layers
|
||||
will silently override earlier layers.
|
||||
|
||||
Then to actually deploy this tree for the next boot:
|
||||
`ostree admin deploy $osname/$releasename/$description`
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
# Atomic Upgrades
|
||||
|
||||
## You can turn off the power anytime you want...
|
||||
|
||||
OSTree is designed to implement fully atomic and safe upgrades;
|
||||
more generally, atomic transitions between lists of bootable
|
||||
deployments. If the system crashes or you pull the power, you
|
||||
will have either the old system, or the new one.
|
||||
|
||||
## Simple upgrades via HTTP
|
||||
|
||||
First, the most basic model OSTree supports is one where it replicates
|
||||
pre-generated filesystem trees from a server over HTTP, tracking
|
||||
exactly one ref, which is stored in the `.origin` file for the
|
||||
deployment. The command `ostree admin upgrade`
|
||||
implements this.
|
||||
|
||||
To begin a simple upgrade, OSTree fetches the contents of the ref from
|
||||
the remote server. Suppose we're tracking a ref named
|
||||
`exampleos/buildmaster/x86_64-runtime`. OSTree fetches the URL
|
||||
`http://example.com/repo/refs/exampleos/buildmaster/x86_64-runtime`,
|
||||
which contains a SHA256 checksum. This determines the tree to deploy,
|
||||
and `/etc` will be merged from currently booted tree.
|
||||
|
||||
If we do not have this commit, then, then we perform a pull process.
|
||||
At present (without static deltas), this involves quite simply just
|
||||
fetching each individual object that we do not have, asynchronously.
|
||||
Put in other words, we only download changed files (zlib-compressed).
|
||||
Each object has its checksum validated and is stored in `/ostree/repo/objects/`.
|
||||
|
||||
Once the pull is complete, we have all the objects locally
|
||||
we need to perform a deployment.
|
||||
|
||||
## Upgrades via external tools (e.g. package managers)
|
||||
|
||||
As mentioned in the introduction, OSTree is also designed to allow a
|
||||
model where filesystem trees are computed on the client. It is
|
||||
completely agnostic as to how those trees are generated; they could be
|
||||
computed with traditional packages, packages with post-deployment
|
||||
scripts on top, or built by developers directly from revision control
|
||||
locally, etc.
|
||||
|
||||
At a practical level, most package managers today (`dpkg` and `rpm`)
|
||||
operate "live" on the currently booted filesystem. The way they could
|
||||
work with OSTree is instead to take the list of installed packages in
|
||||
the currently booted tree, and compute a new filesystem from that. A
|
||||
later chapter describes in more details how this could work:
|
||||
[Adapting Existing Systems](adapting-existing.md).
|
||||
|
||||
For the purposes of this section, let's assume that we have a
|
||||
newly generated filesystem tree stored in the repo (which shares
|
||||
storage with the existing booted tree). We can then move on to
|
||||
checking it back out of the repo into a deployment.
|
||||
|
||||
## Assembling a new deployment directory
|
||||
|
||||
Given a commit to deploy, OSTree first allocates a directory for
|
||||
it. This is of the form `/boot/loader/entries/ostree-$osname-$checksum.$serial.conf`.
|
||||
The `$serial` is normally `0`, but if a
|
||||
given commit is deployed more than once, it will be incremented.
|
||||
This is supported because the previous deployment may have
|
||||
configuration in `/etc` that we do not want to use or overwrite.
|
||||
|
||||
Now that we have a deployment directory, a 3-way merge is
|
||||
performed between the (by default) currently booted deployment's
|
||||
`/etc`, its default
|
||||
configuration, and the new deployment (based on its `/usr/etc`).
|
||||
|
||||
## Atomically swapping boot configuration
|
||||
|
||||
At this point, a new deployment directory has been created as a
|
||||
hardlink farm; the running system is untouched, and the bootloader
|
||||
configuration is untouched. We want to add this deployment to the
|
||||
"deployment list".
|
||||
|
||||
To support a more general case, OSTree supports atomic transitioning
|
||||
between arbitrary sets of deployments, with the restriction that the
|
||||
currently booted deployment must always be in the new set. In the
|
||||
normal case, we have exactly one deployment, which is the booted one,
|
||||
and we want to add the new deployment to the list. A more complex
|
||||
command might allow creating 100 deployments as part of one atomic
|
||||
transaction, so that one can set up an automated system to bisect
|
||||
across them.
|
||||
|
||||
## The bootversion
|
||||
|
||||
OSTree allows swapping between boot configurations by implementing the
|
||||
"swapped directory pattern" in `/boot`. This means it is a symbolic
|
||||
link to one of two directories `/ostree/boot.[0|1]`. To swap the
|
||||
contents atomically, if the current version is `0`, we create
|
||||
`/ostree/boot.1`, populate it with the new contents, then atomically
|
||||
swap the symbolic link. Finally, the old contents can be garbage
|
||||
collected at any point.
|
||||
|
||||
## The /ostree/boot directory
|
||||
|
||||
However, we want to optimize for the case where the set of
|
||||
kernel/initramfs pairs is the same between both the old and new
|
||||
deployment lists. This happens when doing an upgrade that does not
|
||||
include the kernel; think of a simple translation update. OSTree
|
||||
optimizes for this case because on some systems `/boot` may be on a
|
||||
separate medium such as flash storage not optimized for significant
|
||||
amounts of write traffic. Related to this, modern OSTree has support
|
||||
for having `/boot` be a read-only mount by default - it will
|
||||
automatically remount read-write just for the portion of time
|
||||
necessary to update the bootloader configuration.
|
||||
|
||||
To implement this, OSTree also maintains the directory
|
||||
`/ostree/boot.$bootversion`, which is a set
|
||||
of symbolic links to the deployment directories. The
|
||||
`$bootversion` here must match the version of
|
||||
`/boot`. However, in order to allow atomic transitions of
|
||||
*this* directory, this is also a swapped directory,
|
||||
so just like `/boot`, it has a version of `0` or `1` appended.
|
||||
|
||||
Each bootloader entry has a special `ostree=` argument which refers to
|
||||
one of these symbolic links. This is parsed at runtime in the
|
||||
initramfs.
|
||||
|
|
@ -0,0 +1,185 @@
|
|||
# Writing a buildsystem and managing repositories
|
||||
|
||||
OSTree is not a package system. It does not directly support building
|
||||
source code. Rather, it is a tool for transporting and managing
|
||||
content, along with package-system independent aspects like bootloader
|
||||
management for updates.
|
||||
|
||||
We'll assume here that we're planning to generate commits on a build
|
||||
server, then have client systems replicate it. Doing client-side
|
||||
assembly is also possible of course, but this discussion will focus
|
||||
primarily on server-side concerns.
|
||||
|
||||
## Build vs buy
|
||||
|
||||
Therefore, you need to either pick an existing tool for writing
|
||||
content into an OSTree repository, or to write your own. An example
|
||||
tool is [rpm-ostree](https://github.com/projectatomic/rpm-ostree) - it
|
||||
takes as input RPMs, and commits them (currently oriented for a server
|
||||
side, but aiming to do client side too).
|
||||
|
||||
## Initializing
|
||||
|
||||
For this initial discussion, we're assuming you have a single
|
||||
`archive-z2` repository:
|
||||
|
||||
```
|
||||
mkdir repo
|
||||
ostree --repo=repo init --mode=archive-z2
|
||||
```
|
||||
|
||||
You can export this via a static webserver, and configure clients to
|
||||
pull from it.
|
||||
|
||||
## Writing your own OSTree buildsystem
|
||||
|
||||
There exist many, many systems that basically follow this pattern:
|
||||
|
||||
```
|
||||
$pkg --installroot=/path/to/tmpdir install foo bar baz
|
||||
$imagesystem commit --root=/path/to/tmpdir
|
||||
```
|
||||
|
||||
For various values of `$pkg` such as `yum`, `apt-get`, etc., and
|
||||
values of `$imagesystem` could be simple tarballs, Amazon Machine
|
||||
Images, ISOs, etc.
|
||||
|
||||
Now obviously in this document, we're going to talk about the
|
||||
situation where `$imagesystem` is OSTree. The general idea with
|
||||
OSTree is that wherever you might store a series of tarballs for
|
||||
applications or OS images, OSTree is likely going to be better. For
|
||||
example, it supports GPG signatures, binary deltas, writing bootloader
|
||||
configuration, etc.
|
||||
|
||||
OSTree does not include a package/component build system simply
|
||||
because there already exist plenty of good ones - rather, it is
|
||||
intended to provide an infrastructure layer.
|
||||
|
||||
The above mentioned `rpm-ostree compose tree` chooses RPM as the value
|
||||
of `$pkg` - so binaries are built as RPMs, then committed as a whole
|
||||
into an OSTree commit.
|
||||
|
||||
But let's discuss building our own. If you're just experimenting,
|
||||
it's quite easy to start with the command line. We'll assume for this
|
||||
purpose that you have a build process that outputs a directory tree -
|
||||
we'll call this tool `$pkginstallroot` (which could be `yum
|
||||
--installroot` or `debootstrap`, etc.).
|
||||
|
||||
Your initial prototype is going to look like:
|
||||
|
||||
```
|
||||
$pkginstallroot /path/to/tmpdir
|
||||
ostree --repo=repo commit -s 'build' -b exampleos/x86_64/standard --tree=dir=/path/to/tmpdir
|
||||
```
|
||||
|
||||
Alternatively, if your build system can generate a tarball, you can
|
||||
commit that tarball into OSTree. For example,
|
||||
[OpenEmbedded](http://www.openembedded.org/) can output a tarball, and
|
||||
one can commit it via:
|
||||
|
||||
```
|
||||
ostree commit -s 'build' -b exampleos/x86_64/standard --tree=tar=myos.tar
|
||||
```
|
||||
|
||||
## Constructing trees from unions
|
||||
|
||||
The above is a very simplistic model, and you will quickly notice that
|
||||
it's slow. This is because OSTree has to re-checksum and recompress
|
||||
the content each time it's committed. (Most of the CPU time is spent
|
||||
in compression which gets thrown away if the content turns out to be
|
||||
already stored).
|
||||
|
||||
A more advanced approach is to store components in OSTree itself, then
|
||||
union them, and recommit them. At this point, we recommend taking a
|
||||
look at the OSTree API, and choose a programming language supported by
|
||||
[GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection)
|
||||
to write your buildsystem scripts. Python may be a good choice, or
|
||||
you could choose custom C code, etc.
|
||||
|
||||
For the purposes of this tutorial we will use shell script, but it's
|
||||
strongly recommended to choose a real programming language for your
|
||||
build system.
|
||||
|
||||
Let's say that your build system produces separate artifacts (whether
|
||||
those are RPMs, zip files, or whatever). These artifacts should be
|
||||
the result of `make install DESTDIR=` or similar. Basically
|
||||
equivalent to RPMs/debs.
|
||||
|
||||
Further, in order to make things fast, we will need a separate
|
||||
`bare-user` repository in order to perform checkouts quickly via
|
||||
hardlinks. We'll then export content into the `archive-z2` repository
|
||||
for use by client systems.
|
||||
|
||||
```
|
||||
mkdir build-repo
|
||||
ostree --repo=build-repo init --mode=bare-user
|
||||
```
|
||||
|
||||
You can begin committing those as individual branches:
|
||||
|
||||
```
|
||||
ostree --repo=build-repo commit -b exampleos/x86_64/bash --tree=tar=bash-4.2-bin.tar.gz
|
||||
ostree --repo=build-repo commit -b exampleos/x86_64/systemd --tree=tar=systemd-224-bin.tar.gz
|
||||
```
|
||||
|
||||
Set things up so that whenever a package changes, you redo the
|
||||
`commit` with the new package version - conceptually, the branch
|
||||
tracks the individual package versions over time, and defaults to
|
||||
"latest". This isn't required - one could also include the version in
|
||||
the branch name, and have metadata outside to determine "latest" (or
|
||||
the desired version).
|
||||
|
||||
Now, to construct our final tree:
|
||||
|
||||
```
|
||||
rm -rf exampleos-build
|
||||
for package in bash systemd; do
|
||||
ostree --repo=build-repo checkout -U --union exampleos/x86_64/${package} exampleos-build
|
||||
done
|
||||
# Set up a "rofiles-fuse" mount point; this ensures that any processes
|
||||
# we run for post-processing of the tree don't corrupt the hardlinks.
|
||||
mkdir -p mnt
|
||||
rofiles-fuse exampleos-build mnt
|
||||
# Now run global "triggers", generate cache files:
|
||||
ldconfig -r mnt
|
||||
(Insert other programs here)
|
||||
fusermount -u mnt
|
||||
ostree --repo=build-repo commit -b exampleos/x86_64/standard --link-checkout-speedup exampleos-build
|
||||
```
|
||||
|
||||
There are a number of interesting things going on here. The major
|
||||
architectural change is that we're using `--link-checkout-speedup`.
|
||||
This is a way to tell OSTree that our checkout is made via hardlinks,
|
||||
and to scan the repository in order to build up a reverse `(device,
|
||||
inode) -> checksum` mapping.
|
||||
|
||||
In order for this mapping to be accurate, we needed the `rofiles-fuse`
|
||||
to ensure that any changed files had new inodes (and hence a new
|
||||
checksum).
|
||||
|
||||
## Migrating content between repositories
|
||||
|
||||
Now that we have content in our `build-repo` repository (in
|
||||
`bare-user` mode), we need to move the `exampleos/x86_64/standard`
|
||||
branch content into the repository just named `repo` (in `archive-z2`
|
||||
mode) for export, which will involve zlib compression of new objects.
|
||||
We likely want to generate static deltas after that as well.
|
||||
|
||||
Let's copy the content:
|
||||
|
||||
```
|
||||
ostree --repo=repo pull-local build-repo exampleos/x86_64/standard
|
||||
```
|
||||
|
||||
Clients can now incrementally download new objects - however, this
|
||||
would also be a good time to generate a delta from the previous
|
||||
commit.
|
||||
|
||||
```
|
||||
ostree --repo=repo static-delta generate exampleos/x86_64/standard
|
||||
```
|
||||
|
||||
## More sophisticated repository management
|
||||
|
||||
Next, see [Repository Management](repository-management.md) for the
|
||||
next steps in managing content in OSTree repositories.
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
# Deployments
|
||||
|
||||
## Overview
|
||||
|
||||
Built on top of the OSTree versioning filesystem core is a layer
|
||||
that knows how to deploy, parallel install, and manage Unix-like
|
||||
operating systems (accessible via `ostree admin`). The core content of these operating systems
|
||||
are treated as read-only, but they transparently share storage.
|
||||
|
||||
A deployment is physically located at a path of the form
|
||||
`/ostree/deploy/$osname/deploy/$checksum`.
|
||||
OSTree is designed to boot directly into exactly one deployment
|
||||
at a time; each deployment is intended to be a target for
|
||||
`chroot()` or equivalent.
|
||||
|
||||
### "osname": Group of deployments that share /var
|
||||
|
||||
Each deployment is grouped in exactly one "osname". From above, you
|
||||
can see that an osname is physically represented in the
|
||||
`/ostree/deploy/$osname` directory. For example, OSTree can allow
|
||||
parallel installing Debian in `/ostree/deploy/debian` and Red Hat
|
||||
Enterprise Linux in `/ostree/deploy/rhel` (subject to operating system
|
||||
support, present released versions of these operating systems may not
|
||||
support this).
|
||||
|
||||
Each osname has exactly one copy of the traditional Unix `/var`,
|
||||
stored physically in `/ostree/deploy/$osname/var`. OSTree provides
|
||||
support tools for `systemd` to create a Linux bind mount that ensures
|
||||
the booted deployment sees the shared copy of `/var`.
|
||||
|
||||
OSTree does not touch the contents of `/var`. Operating system
|
||||
components such as daemon services are required to create any
|
||||
directories they require there at runtime
|
||||
(e.g. `/var/cache/$daemonname`), and to manage upgrading data formats
|
||||
inside those directories.
|
||||
|
||||
### Contents of a deployment
|
||||
|
||||
A deployment begins with a specific commit (represented as a
|
||||
SHA256 hash) in the OSTree repository in `/ostree/repo`. This commit refers
|
||||
to a filesystem tree that represents the underlying basis of a
|
||||
deployment. For short, we will call this the "tree", to
|
||||
distinguish it from the concept of a deployment.
|
||||
|
||||
First, the tree must include a kernel stored as
|
||||
`/boot/vmlinuz-$checksum`. The checksum should be a SHA256 hash of
|
||||
the kernel contents; it must be pre-computed before storing the kernel
|
||||
in the repository. Optionally, the tree can contain an initramfs,
|
||||
stored as `/boot/initramfs-$checksum`. If this exists, the checksum
|
||||
must include both the kernel and initramfs contents. OSTree will use
|
||||
this to determine which kernels are shared. The rationale for this is
|
||||
to avoid computing checksums on the client by default.
|
||||
|
||||
The deployment should not have a traditional UNIX `/etc`; instead, it
|
||||
should include `/usr/etc`. This is the "default configuration". When
|
||||
OSTree creates a deployment, it performs a 3-way merge using the
|
||||
*old* default configuration, the active system's `/etc`, and the new
|
||||
default configuration. In the final filesystem tree for a deployment
|
||||
then, `/etc` is a regular writable directory.
|
||||
|
||||
Besides the exceptions of `/var` and `/etc` then, the rest of the
|
||||
contents of the tree are checked out as hard links into the
|
||||
repository. It's strongly recommended that operating systems ship all
|
||||
of their content in `/usr`, but this is not a hard requirement.
|
||||
|
||||
Finally, a deployment may have a `.origin` file, stored next to its
|
||||
directory. This file tells `ostree admin upgrade` how to upgrade it.
|
||||
At the moment, OSTree only supports upgrading a single refspec.
|
||||
However, in the future OSTree may support a syntax for composing
|
||||
layers of trees, for example.
|
||||
|
||||
### The system /boot
|
||||
|
||||
While OSTree parallel installs deployments cleanly inside the
|
||||
`/ostree` directory, ultimately it has to control the system's `/boot`
|
||||
directory. The way this works is via the
|
||||
[Boot Loader Specification](http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec),
|
||||
which is a standard for bootloader-independent drop-in configuration
|
||||
files.
|
||||
|
||||
When a tree is deployed, it will have a configuration file generated
|
||||
of the form
|
||||
`/boot/loader/entries/ostree-$osname-$checksum.$serial.conf`. This
|
||||
configuration file will include a special `ostree=` kernel argument
|
||||
that allows the initramfs to find (and `chroot()` into) the specified
|
||||
deployment.
|
||||
|
||||
At present, not all bootloaders implement the BootLoaderSpec, so
|
||||
OSTree contains code for some of these to regenerate native config
|
||||
files (such as `/boot/syslinux/syslinux.conf`) based on the entries.
|
||||
|
|
@ -0,0 +1,183 @@
|
|||
# OSTree data formats
|
||||
|
||||
## On the topic of "smart servers"
|
||||
|
||||
One really crucial difference between OSTree and git is that git has a
|
||||
"smart server". Even when fetching over `https://`, it isn't just a
|
||||
static webserver, but one that e.g. dynamically computes and
|
||||
compresses pack files for each client.
|
||||
|
||||
In contrast, the author of OSTree feels that for operating system
|
||||
updates, many deployments will want to use simple static webservers,
|
||||
the same target most package systems were designed to use. The
|
||||
primary advantages are security and compute efficiency. Services like
|
||||
Amazon S3 and CDNs are a canonical target, as well as a stock static
|
||||
nginx server.
|
||||
|
||||
## The archive-z2 format
|
||||
|
||||
In the [repo](repo) section, the concept of objects was introduced,
|
||||
where file/content objects are checksummed and managed individually.
|
||||
(Unlike a package system, which operates on compressed aggregates).
|
||||
|
||||
The archive-z2 format simply gzip-compresses each content object.
|
||||
Metadata objects are stored uncompressed. This means that it's easy
|
||||
to serve via static HTTP.
|
||||
|
||||
When you commit new content, you will see new `.filez` files appearing
|
||||
in `objects/`.
|
||||
|
||||
## archive-z2 efficiency
|
||||
|
||||
The advantages of `archive-z2`:
|
||||
|
||||
- It's easy to understand and implement
|
||||
- Can be served directly over plain HTTP by a static webserver
|
||||
- Clients can download/unpack updates incrementally
|
||||
- Space efficient on the server
|
||||
|
||||
The biggest disadvantage of this format is that for a client to
|
||||
perform an update, one HTTP request per changed file is required. In
|
||||
some scenarios, this actually isn't bad at all, particularly with
|
||||
techniques to reduce HTTP overhead, such as
|
||||
[HTTP/2](https://en.wikipedia.org/wiki/HTTP/2).
|
||||
|
||||
In order to make this format work well, you should design your content
|
||||
such that large data that changes infrequently (e.g. graphic images)
|
||||
are stored separately from small frequently changing data (application
|
||||
code).
|
||||
|
||||
Other disadvantages of `archive-z2`:
|
||||
|
||||
- It's quite bad when clients are performing an initial pull (without HTTP/2),
|
||||
- One doesn't know the total size (compressed or uncompressed) of content
|
||||
before downloading everything
|
||||
|
||||
## Aside: the bare and bare-user formats
|
||||
|
||||
The most common operation is to pull from an `archive-z2` repository
|
||||
into a `bare` or `bare-user` formatted repository. These latter two
|
||||
are not compressed on disk. In other words, pulling to them is
|
||||
similar to unpacking (but not installing) an RPM/deb package.
|
||||
|
||||
The `bare-user` format is a bit special in that the uid/gid and xattrs
|
||||
from the content are ignored. This is primarily useful if you want to
|
||||
have the same OSTree-managed content that can be run on a host system
|
||||
or an unprivileged container.
|
||||
|
||||
## Static deltas
|
||||
|
||||
OSTree itself was originally focused on a continuous delivery model, where
|
||||
client systems are expected to update regularly. However, many OS vendors
|
||||
would like to supply content that's updated e.g. once a month or less often.
|
||||
|
||||
For this model, we can do a lot better to support batched updates than
|
||||
a basic `archive-z2` repo. However, we still want to preserve the
|
||||
model of "static webserver only". Given this, OSTree has gained the
|
||||
concept of a "static delta".
|
||||
|
||||
These deltas are targeted to be a delta between two specific commit
|
||||
objects, including "bsdiff" and "rsync-style" deltas within a content
|
||||
object. Static deltas also support `from NULL`, where the client can
|
||||
more efficiently download a commit object from scratch - this is
|
||||
mostly useful when using OSTree for containers, rather than OS images.
|
||||
For OS images, one tends to download an installer ISO or qcow2 image
|
||||
which is a single file that contains the tree data already.
|
||||
|
||||
Effectively, we're spending server-side storage (and one-time compute
|
||||
cost), and gaining efficiency in client network bandwidth.
|
||||
|
||||
## Static delta repository layout
|
||||
|
||||
Since static deltas may not exist, the client first needs to attempt
|
||||
to locate one. Suppose a client wants to retrieve commit `${new}`
|
||||
while currently running `${current}`.
|
||||
|
||||
The first thing to understand is that in order to save space, these
|
||||
two commits are "modified base64" - the `/` character is replaced with
|
||||
`_`.
|
||||
|
||||
Like the commit objects, a "prefix directory" is used to make
|
||||
management easier for filesystem tools
|
||||
|
||||
A delta is named `$(mbase64 $from)-$(mbase64 $to)`, for example
|
||||
`GpTyZaVut2jXFPWnO4LJiKEdRTvOw_mFUCtIKW1NIX0-L8f+VVDkEBKNc1Ncd+mDUrSVR4EyybQGCkuKtkDnTwk`,
|
||||
which in SHA256 format is
|
||||
`1a94f265a56eb768d714f5a73b82c988a11d453bcec3f985502b48296d4d217d-2fc7fe5550e410128d73535c77e98352b495478132c9b4060a4b8ab640e74f09`.
|
||||
|
||||
Finally, the actual content can be found in
|
||||
`deltas/$fromprefix/$fromsuffix-$to`.
|
||||
|
||||
## Static delta internal structure
|
||||
|
||||
A delta is itself a directory. Inside, there is a file called
|
||||
`superblock` which contains metadata. The rest of the files will be
|
||||
integers bearing packs of content.
|
||||
|
||||
The file format of static deltas should be currently considered an
|
||||
OSTree implementation detail. Obviously, nothing stops one from
|
||||
writing code which is compatible with OSTree today. However, we would
|
||||
like the flexibility to expand and change things, and having multiple
|
||||
codebases makes that more problematic. Please contact the authors
|
||||
with any requests.
|
||||
|
||||
That said, one critical thing to understand about the design is that
|
||||
delta payloads are a bit more like "restricted programs" than they are
|
||||
raw data. There's a "compilation" phase which generates output that
|
||||
the client executes.
|
||||
|
||||
This "updates as code" model allows for multiple content generation
|
||||
strategies. The design of this was inspired by that of Chromium:
|
||||
[ChromiumOS Autoupdate](http://dev.chromium.org/chromium-os/chromiumos-design-docs/filesystem-autoupdate).
|
||||
|
||||
### The delta superblock
|
||||
|
||||
The superblock contains:
|
||||
|
||||
- arbitrary metadata
|
||||
- delta generation timestamp
|
||||
- the new commit object
|
||||
- An array of recursive deltas to apply
|
||||
- An array of per-part metadata, including total object sizes (compressed and uncompressed),
|
||||
- An array of fallback objects
|
||||
|
||||
Let's define a delta part, then return to discuss details:
|
||||
|
||||
## A delta part
|
||||
|
||||
A delta part is a combination of a raw blob of data, plus a very
|
||||
restricted bytecode that operates on it. Say for example two files
|
||||
happen to share a common section. It's possible for the delta
|
||||
compilation to include that section once in the delta data blob, then
|
||||
generate instructions to write out that blob twice when generating
|
||||
both objects.
|
||||
|
||||
Realistically though, it's very common for most of a delta to just be
|
||||
"stream of new objects" - if one considers it, it doesn't make sense
|
||||
to have too much duplication inside operating system content at this
|
||||
level.
|
||||
|
||||
So then, what's more interesting is that OSTree static deltas support
|
||||
a per-file delta algorithm called
|
||||
[bsdiff](https://github.com/mendsley/bsdiff) that most notably works
|
||||
well on executable code.
|
||||
|
||||
The current delta compiler scans for files with matching basenames in
|
||||
each commit that have a similar size, and attempts a bsdiff between
|
||||
them. (It would make sense later to have a build system provide a
|
||||
hint for this - for example, files within a same package).
|
||||
|
||||
A generated bsdiff is included in the payload blob, and applying it is
|
||||
an instruction.
|
||||
|
||||
## Fallback objects
|
||||
|
||||
It's possible for there to be large-ish files which might be resistant
|
||||
to bsdiff. A good example is that it's common for operating systems
|
||||
to use an "initramfs", which is itself a compressed filesystem. This
|
||||
"internal compression" defeats bsdiff analysis.
|
||||
|
||||
For these types of objects, the delta superblock contains an array of
|
||||
"fallback objects". These objects aren't included in the delta
|
||||
parts - the client simply fetches them from the underlying `.filez`
|
||||
object.
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
# OSTree Overview
|
||||
|
||||
## Introduction
|
||||
|
||||
OSTree an upgrade system for Linux-based operating systems that
|
||||
performs atomic upgrades of complete filesystem trees. It is
|
||||
not a package system; rather, it is intended to complement them.
|
||||
A primary model is composing packages on a server, and then
|
||||
replicating them to clients.
|
||||
|
||||
The underlying architecture might be summarized as "git for
|
||||
operating system binaries". It operates in userspace, and will
|
||||
work on top of any Linux filesystem. At its core is a git-like
|
||||
content-addressed object store, and layered on top of that is
|
||||
bootloader configuration, management of
|
||||
`/etc`, and other functions to perform an
|
||||
upgrade beyond just replicating files.
|
||||
|
||||
You can use OSTree standalone in the pure replication model,
|
||||
but another approach is to add a package manager on top,
|
||||
thus creating a hybrid tree/package system.
|
||||
|
||||
## Comparison with "package managers"
|
||||
|
||||
Because OSTree is designed for deploying core operating
|
||||
systems, a comparison with traditional "package managers" such
|
||||
as dpkg and rpm is illustrative. Packages are traditionally
|
||||
composed of partial filesystem trees with metadata and scripts
|
||||
attached, and these are dynamically assembled on the client
|
||||
machine, after a process of dependency resolution.
|
||||
|
||||
In contrast, OSTree only supports recording and deploying
|
||||
*complete* (bootable) filesystem trees. It
|
||||
has no built-in knowledge of how a given filesystem tree was
|
||||
generated or the origin of individual files, or dependencies,
|
||||
descriptions of individual components. Put another way, OSTree
|
||||
only handles delivery and deployment; you will likely still want
|
||||
to include inside each tree metadata about the individual
|
||||
components that went into the tree. For example, a system
|
||||
administrator may want to know what version of OpenSSL was
|
||||
included in your tree, so you should support the equivalent of
|
||||
`rpm -q` or `dpkg -L`.
|
||||
|
||||
The OSTree core emphasizes replicating read-only OS trees via
|
||||
HTTP, and where the OS includes (if desired) an entirely
|
||||
separate mechanism to install applications, stored in `/var` if they're system global, or
|
||||
`/home` for per-user
|
||||
application installation. An example application mechanism is
|
||||
<http://docker.io/>
|
||||
|
||||
However, it is entirely possible to use OSTree underneath a
|
||||
package system, where the contents of `/usr` are computed on the client.
|
||||
For example, when installing a package, rather than changing the
|
||||
currently running filesystem, the package manager could assemble
|
||||
a new filesystem tree that layers the new packages on top of a
|
||||
base tree, record it in the local OSTree repository, and then
|
||||
set it up for the next boot. To support this model, OSTree
|
||||
provides an (introspectable) C shared library.
|
||||
|
||||
## Comparison with block/image replication
|
||||
|
||||
OSTree shares some similarity with "dumb" replication and
|
||||
stateless deployments, such as the model common in "cloud"
|
||||
deployments where nodes are booted from an (effectively)
|
||||
readonly disk, and user data is kept on a different volumes.
|
||||
The advantage of "dumb" replication, shared by both OSTree and
|
||||
the cloud model, is that it's *reliable*
|
||||
and *predictable*.
|
||||
|
||||
But unlike many default image-based deployments, OSTree supports
|
||||
exactly two persistent writable directories that are preserved across
|
||||
upgrades: `/etc` and `/var`.
|
||||
|
||||
Because OSTree operates at the Unix filesystem layer, it works
|
||||
on top of any filesystem or block storage layout; it's possible
|
||||
to replicate a given filesystem tree from an OSTree repository
|
||||
into plain ext4, BTRFS, XFS, or in general any Unix-compatible
|
||||
filesystem that supports hard links. Note: OSTree will
|
||||
transparently take advantage of some BTRFS features if deployed
|
||||
on it.
|
||||
|
||||
OSTree is orthogonal to virtualization mechanisms like AMIs and qcow2
|
||||
images, though it's most useful though if you plan to update stateful
|
||||
VMs in-place, rather than generating new images.
|
||||
|
||||
In practice, users of "bare metal" configurations will find the OSTree
|
||||
model most useful.
|
||||
|
||||
## Atomic transitions between parallel-installable read-only filesystem trees
|
||||
|
||||
Another deeply fundamental difference between both package
|
||||
managers and image-based replication is that OSTree is
|
||||
designed to parallel-install *multiple versions* of multiple
|
||||
*independent* operating systems. OSTree
|
||||
relies on a new toplevel `ostree` directory; it can in fact
|
||||
parallel install inside an existing OS or distribution
|
||||
occupying the physical `/` root.
|
||||
|
||||
On each client machine, there is an OSTree repository stored
|
||||
in `/ostree/repo`, and a set of "deployments" stored in `/ostree/deploy/$OSNAME/$CHECKSUM`.
|
||||
Each deployment is primarily composed of a set of hardlinks
|
||||
into the repository. This means each version is deduplicated;
|
||||
an upgrade process only costs disk space proportional to the
|
||||
new files, plus some constant overhead.
|
||||
|
||||
The model OSTree emphasizes is that the OS read-only content
|
||||
is kept in the classic Unix `/usr`; it comes with code to
|
||||
create a Linux read-only bind mount to prevent inadvertent
|
||||
corruption. There is exactly one `/var` writable directory shared
|
||||
between each deployment for a given OS. The OSTree core code
|
||||
does not touch content in this directory; it is up to the code
|
||||
in each operating system for how to manage and upgrade state.
|
||||
|
||||
Finally, each deployment has its own writable copy of the
|
||||
configuration store `/etc`. On upgrade, OSTree will
|
||||
perform a basic 3-way diff, and apply any local changes to the
|
||||
new copy, while leaving the old untouched.
|
||||
|
|
@ -0,0 +1,315 @@
|
|||
# Related Projects
|
||||
|
||||
OSTree is in many ways very evolutionary. It builds on concepts and
|
||||
ideas introduced from many different projects such as
|
||||
[Systemd Stateless](http://0pointer.net/blog/projects/stateless.html),
|
||||
[Systemd Bootloader Spec](https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/),
|
||||
[Chromium Autoupdate](http://dev.chromium.org/chromium-os/chromiumos-design-docs/filesystem-autoupdate),
|
||||
the much older
|
||||
[Fedora/Red Hat Stateless Project](https://fedoraproject.org/wiki/StatelessLinux),
|
||||
[Linux VServer](http://linux-vserver.org/index.php?title=util-vserver:Vhashify&oldid=2285)
|
||||
and many more.
|
||||
|
||||
As mentioned elsewhere, OSTree is strongly influenced by package
|
||||
manager designs as well. This page is not intended to be an
|
||||
exhaustive list of such projects, but we will try to keep it up to
|
||||
date, and relatively agnostic.
|
||||
|
||||
Broadly speaking, projects in this area fall into two camps; either
|
||||
a tool to snapshot systems on the client side (dpkg/rpm + BTRFS/LVM),
|
||||
or a tool to compose on a server and replicate (ChromiumOS, Clear
|
||||
Linux). OSTree is flexible enough to do both.
|
||||
|
||||
## Combining dpkg/rpm + (BTRFS/LVM)
|
||||
|
||||
In this approach, one uses a block/filesystem snapshot tool underneath
|
||||
the system package manager.
|
||||
|
||||
The
|
||||
[oVirt Node imgbased](https://gerrit.ovirt.org/gitweb?p=imgbased.git)
|
||||
tool is an example of this approach, as are a few others below.
|
||||
|
||||
Regarding [BTRFS](https://btrfs.wiki.kernel.org/index.php/Main_Page)
|
||||
in particular - the OSTree author believes that Linux storage is a
|
||||
wide world, and while BTRFS is quite good, it is not everywhere now,
|
||||
nor will it be in the near future. There are other recently developed
|
||||
filesystems like [f2fs](https://en.wikipedia.org/wiki/F2FS), and Red
|
||||
Hat Enterprise Linux still defaults to
|
||||
[XFS](https://en.wikipedia.org/wiki/XFS).
|
||||
|
||||
Using a snapshot tool underneath a package manager does help
|
||||
significantly. In the rest of this text, we will use "BTRFS" as a
|
||||
mostly generic tool for filesystem snapshots.
|
||||
|
||||
The obvious thing to do is layer BTRFS under dpkg/rpm, and have a
|
||||
separate subvolume for `/home` so rollbacks don't lose your data. See
|
||||
e.g. [Fedora BTRFS Rollback Feature](http://fedoraproject.org/wiki/Features/SystemRollbackWithBtrfs).
|
||||
|
||||
More generally, if you want to use BTRFS to roll back changes made by
|
||||
dpkg/rpm, you have to carefully set up the partition layout so that
|
||||
the files laid out by dpkg/rpm are installed in a subvolume to
|
||||
snapshot.
|
||||
|
||||
This problem in many ways is addressed by the changes OSTree forces,
|
||||
such as putting all local state in `/var` (e.g. `/usr/local` ->
|
||||
`/var/usrlocal`). Then one can BTRFS snapshot `/usr`. This gets pretty
|
||||
far, except handling `/etc` is messy. This is something OSTree does
|
||||
well.
|
||||
|
||||
In general, if one really tries to flesh out the BTRFS approach, a
|
||||
nontrivial middle layer of code between dpkg/rpm and BTRFS (or deep
|
||||
awareness of BTRFS in dpkg/rpm itself) will be required.
|
||||
|
||||
The OSTree author believes that having total freedom at the block
|
||||
storage layer is better for general purpose operating systems. For
|
||||
example, with OSTree, one is free to use BTRFS in any way you like -
|
||||
you may decide to use a subvolume for `/home`, or not.
|
||||
|
||||
Furthermore, in its most basic incarnation, the rpm/dpkg + BTRFS
|
||||
doesn't solve the race conditions that happen when unpacking packages
|
||||
into the live system, such as deleting the files underneath Firefox
|
||||
while it's running. One could unpack packages into a separate root,
|
||||
and switch to that, which gets closer to the OSTree architecture.
|
||||
|
||||
Note though OSTree does take advantage of BTRFS if installed on top of
|
||||
it! In particular, it will use reflink for the copies of `/etc` if
|
||||
available.
|
||||
|
||||
All of the above also applies if one replaces "BTRFS" with "LVM
|
||||
snapshots" except for the reflinks.
|
||||
|
||||
OSTree supports using "bare-user" repositories, which do not require
|
||||
root to use. Using a filesystem-level layer without root is more
|
||||
difficult and would likely require a setuid helper or privileged service.
|
||||
|
||||
Finally, see the next portion around ChromiumOS for why a hybrid but
|
||||
integrated package/image system improves on this.
|
||||
|
||||
## ChromiumOS updater
|
||||
|
||||
Many people who look at OSTree are most interested in using
|
||||
it as an updater for embedded or fixed-purpose systems, similar to use cases
|
||||
from the [ChromiumOS updater](http://dev.chromium.org/chromium-os/chromiumos-design-docs/filesystem-autoupdate).
|
||||
|
||||
The ChromiumOS approach uses two partitions that are swapped via the
|
||||
bootloader. It has a very network-efficient update protocol, using a
|
||||
custom binary delta scheme between filesystem snapshots.
|
||||
|
||||
This model even allows for switching filesystem types in an update.
|
||||
|
||||
A major downside of this approach is that the OS size is doubled on
|
||||
disk always. In contrast, OSTree uses plain Unix hardlinks, which
|
||||
means it essentially only requires disk space proportional to the
|
||||
changed files, plus some small fixed overhead.
|
||||
|
||||
This means with OSTree, one can easily have more than two trees
|
||||
(deployments). Another example is that the system OSTree repository
|
||||
could *also* be used for application containers.
|
||||
|
||||
Finally, the author of OSTree believes that what one really wants for
|
||||
many cases is image replication *with* the ability to layer on some
|
||||
additional components (e.g. packages) - a hybrid model. This is what
|
||||
[rpm-ostree](https://github.com/projectatomic/rpm-ostree/) is aiming
|
||||
to support.
|
||||
|
||||
## Ubuntu Image Based Updates
|
||||
|
||||
See <https://wiki.ubuntu.com/ImageBasedUpgrades>. Very architecturally
|
||||
similar to ChromeOS, although more interesting is discussion for
|
||||
supporting package installation on top, similar to
|
||||
[rpm-ostree package layering](https://github.com/projectatomic/rpm-ostree/pull/107).
|
||||
|
||||
## Clear Linux Software update
|
||||
|
||||
The
|
||||
[Clear Linux Software update](https://clearlinux.org/features/software-update)
|
||||
system is not very well documented.
|
||||
[This mailing list post](https://lists.clearlinux.org/pipermail/dev/2016-January/000159.html)
|
||||
has some reverse-engineered design documentation.
|
||||
|
||||
Like OSTree static deltas, it also uses bsdiff for network efficiency.
|
||||
|
||||
More information will be filled in here over time. The OSTree author
|
||||
believes that at the moment, the "CL updater" is not truly atomic in
|
||||
the sense that because it applies updates live, there is a window
|
||||
where the OS root may be inconsistent.
|
||||
|
||||
## Mender.io
|
||||
|
||||
[Mender.io](https://mender.io/) is another implementation of the dual
|
||||
partition approach.
|
||||
|
||||
## OLPC update
|
||||
|
||||
OSTree is basically a generalization of olpc-update, except using
|
||||
plain HTTP instead of rsync. OSTree has the notion of separate trees
|
||||
that one can track independently or parallel install, while still
|
||||
sharing storage via the hardlinked repository, whereas olpc-update
|
||||
uses version numbers for a single OS.
|
||||
|
||||
OSTree has built-in plain old HTTP replication which can be served
|
||||
from a static webserver, whereas olpc-update uses `rsync` (more server
|
||||
load, but more efficient on the network side). The OSTree solution to
|
||||
improving network bandwidth consumption is via static deltas.
|
||||
|
||||
See
|
||||
[this comment](http://blog.verbum.org/2013/08/26/ostree-v2013-6-released/#comment-1169)
|
||||
for a comparison.
|
||||
|
||||
## NixOS / Nix
|
||||
|
||||
See [NixOS](http://nixos.org/). It was a very influential project for OSTree.
|
||||
NixOS and OSTree both support the idea of independent "roots" that are bootable.
|
||||
|
||||
In NixOS, files in a package are accessed by a path depending on the checksums
|
||||
of package inputs (build dependencies) - see
|
||||
[Nix store](http://nixos.org/nix/manual/#chap-package-management/).
|
||||
However, OSTree uses a commit/deploy model - it isn't tied to any particular
|
||||
directory layout, and you can put whatever data you want inside an OSTree, for
|
||||
example the standard FHS layout. A both positive and negative of the Nix model
|
||||
is that a change in the build dependencies (e.g. being built with a newer gcc),
|
||||
requires a cascading rebuild of everything. It's good because it makes it easy
|
||||
to do massive system-wide changes such as gcc upgrades, and allows installing
|
||||
multiple versions of packages at once. However, a security update to e.g. glibc
|
||||
forces a rebuild of everything from scratch, and so Nix is not practical at
|
||||
scale. OSTree supports using a build system that just rebuilds individual
|
||||
components (packages) as they change, without forcing a rebuild of their
|
||||
dependencies.
|
||||
|
||||
Nix automatically detects runtime package dependencies by scanning content for
|
||||
hashes. OSTree only supports only system-level images, and doesn't do dependency
|
||||
management. Nix can store arbitrary files, using nix-store --add, but, more
|
||||
commonly, paths are added as the result of running a derivation file generated
|
||||
using the Nix language. OSTree is build-system agnostic; filesystem trees are
|
||||
committed using a simple C API, and this is the only way to commit files.
|
||||
|
||||
OSTree automatically shares the storage of identical data using hard links into
|
||||
a content-addressed store. Nix can deduplicate using hard links as well, using
|
||||
the auto-optimise-store option, but this is not on by default, and Nix does not
|
||||
guarantee that all of its files are in the content-addressed store. OSTree
|
||||
provides a git-like command line interface for browsing the content-addressed
|
||||
store, while Nix does not have this functionality.
|
||||
|
||||
Nix used to use the immutable bit to prevent modifications to /nix/store, but
|
||||
now it uses a read-only bind mount. The bind mount can be privately remounted,
|
||||
allowing per-process privileged write access. OSTree uses the immutable
|
||||
bit on the root of the deployment, and mounts /usr as read-only.
|
||||
|
||||
NixOS supports switching OS images on-the-fly, by maintaining both booted-system
|
||||
and current-system roots. It is not clear how well this approach works. OSTree
|
||||
currently requries a reboot to switch images.
|
||||
|
||||
Finally, NixOS supports installing user-specific packages from trusted
|
||||
repositories without requiring root, using a trusted daemon.
|
||||
[Flatpak](https://lwn.net/Articles/687909/), based on OSTree, similarly has a
|
||||
policykit-based system helper that allows you to authenticate via polkit to
|
||||
install into the system repository.
|
||||
|
||||
## Solaris IPS
|
||||
|
||||
See
|
||||
[Solaris IPS](http://hub.opensolaris.org/bin/view/Project+pkg/). Broadly,
|
||||
this is a similar design as to a combination of BTRFS+RPM/deb. There
|
||||
is a bootloader management system which combines with the snapshots.
|
||||
It's relatively well thought through - however, it is a client-side
|
||||
system assembly. If one wants to image servers and replicate
|
||||
reliably, that'd be a different system.
|
||||
|
||||
|
||||
## Conary
|
||||
|
||||
See
|
||||
[Conary Updates and Rollbacks](http://wiki.rpath.com/wiki/Conary:Updates_and_Rollbacks). If
|
||||
rpm/dpkg are like CVS, Conary is closer to Subversion. It's not bad,
|
||||
but e.g. its rollback model is rather ad-hoc and not atomic. It also
|
||||
is a fully client side system and doesn't have an image-like
|
||||
replication with deltas.
|
||||
|
||||
## bmap
|
||||
|
||||
See
|
||||
[bmap](https://source.tizen.org/documentation/reference/bmaptool/introduction).
|
||||
A tool for optimized copying of disk images. Intended for offline use,
|
||||
so not directly comparable.
|
||||
|
||||
## Git
|
||||
|
||||
Although OSTree has been called "Git for Binaries", and the two share the idea
|
||||
of a hashed content store, the implementation details are quite different.
|
||||
OSTree supports extended attributes and uses SHA256 instead of Git's SHA1. It
|
||||
"checks out" files via hardlinks, rather than copying, and thus requires the
|
||||
checkout to be immutable. At the moment, OSTree commits may have at most one
|
||||
parent, as opposed to Git which allows an arbitrary number. Git uses a
|
||||
smart-delta protocol for updates, while OSTree uses 1 HTTP request per changed
|
||||
file, or can generate static deltas.
|
||||
|
||||
## Conda
|
||||
|
||||
[Conda](http://conda.pydata.org/docs/) is an "OS-agnostic, system-level binary
|
||||
package manager and ecosystem"; although most well-known for its accompanying
|
||||
Python distribution anaconda, its scope has been expanding quickly. The package
|
||||
format is very similar to well-known ones such as RPM. However, unlike typical
|
||||
RPMs, the packages are built to be relocatable. Also, the package manager runs
|
||||
natively on Windows. Conda's main advantage is its ability to install
|
||||
collections of packages into "environments" by unpacking them all to the same
|
||||
directory. Conda reduces duplication across environments using hardlinks,
|
||||
similar to OSTree's sharing between deployments (although Conda uses package /
|
||||
file path instead of file hash). Overall, it is quite similar to rpm-ostree in
|
||||
functionality and scope.
|
||||
|
||||
## rpm-ostree
|
||||
|
||||
This builds on top of ostree to support building RPMs into OSTree images, and
|
||||
even composing RPMs on-the-fly using an overlay filesystem. It is being
|
||||
developed by Fedora, Red Hat, and CentOS as part of Project Atomic.
|
||||
|
||||
## GNOME Continuous
|
||||
|
||||
This is a service that incrementally rebuilds and tests GNOME on every commit.
|
||||
The need to make and distribute snapshots for this system was the original
|
||||
inspiration for ostree.
|
||||
|
||||
## Docker
|
||||
|
||||
It makes sense to compare OSTree and Docker as far as *wire formats*
|
||||
go. OSTree is not itself a container tool, but can be used as a
|
||||
transport/storage format for container tools.
|
||||
|
||||
Docker has (at the time of this writing) two format versions (v1 and
|
||||
v2). v1 is deprecated, so we'll look at [format version 2](https://github.com/docker/docker/blob/master/image/spec/v1.1.md).
|
||||
|
||||
A Docker image is a series of layers, and a layer is essentially JSON
|
||||
metadata plus a tarball. The tarballs capture changes between layers,
|
||||
including handling deleting files in higher layers.
|
||||
|
||||
Because the payload format is just tar, Docker hence captures
|
||||
(numeric) uid/gid and xattrs.
|
||||
|
||||
This "layering" model is an interesting and powerful part of Docker,
|
||||
allowing different images to reference a shared base. OSTree doesn't
|
||||
implement this natively, but it's not difficult to implement in higher
|
||||
level tools. For example in
|
||||
[flatpak](https://github.com/flatpak/flatpak), there's a concept of a
|
||||
SDK and runtime, and it would make a lot of sense for the SDK to
|
||||
depend on the runtime, to avoid clients downloading data twice (even
|
||||
if it's deduplicated on disk).
|
||||
|
||||
That gets to an advantage of OSTree over Docker; OSTree checksums
|
||||
individual files (not tarballs), and uses this for deduplication.
|
||||
Docker (natively) only shares storage via layering.
|
||||
|
||||
The biggest feature OSTree has over Docker though is support for
|
||||
(static) deltas, and even without pre-configured static deltas, the
|
||||
archive-z2 format has "natural" deltas. Particularly for a "base
|
||||
operating system", one really wants on-wire deltas. It'd likely be
|
||||
possible to extend Docker with this concept.
|
||||
|
||||
A core challenge both share is around metadata (particularly signing)
|
||||
and search/discovery (the ostree `summary` file doesn't scale very
|
||||
well).
|
||||
|
||||
One major issue Docker has is that it [checksums compressed data](https://github.com/projectatomic/skopeo/issues/11),
|
||||
and furthermore the tar format is flexible, with multiple ways to represent data,
|
||||
making it hard to impossible to reassemble and verify from on-disk state.
|
||||
The [tarsum](https://github.com/docker/docker/blob/master/pkg/tarsum/tarsum_spec.md) effort
|
||||
was intended to address this, but it was not adopted in the end for v2.
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
# Anatomy of an OSTree repository
|
||||
|
||||
## Core object types and data model
|
||||
|
||||
OSTree is deeply inspired by git; the core layer is a userspace
|
||||
content-addressed versioning filesystem. It is worth taking some time
|
||||
to familiarize yourself with
|
||||
[Git Internals](http://git-scm.com/book/en/Git-Internals), as this
|
||||
section will assume some knowledge of how git works.
|
||||
|
||||
Its object types are similar to git; it has commit objects and content
|
||||
objects. Git has "tree" objects, whereas OSTree splits them into
|
||||
"dirtree" and "dirmeta" objects. But unlike git, OSTree's checksums
|
||||
are SHA256. And most crucially, its content objects include uid, gid,
|
||||
and extended attributes (but still no timestamps).
|
||||
|
||||
### Commit objects
|
||||
|
||||
A commit object contains metadata such as a timestamp, a log
|
||||
message, and most importantly, a reference to a
|
||||
dirtree/dirmeta pair of checksums which describe the root
|
||||
directory of the filesystem.
|
||||
Also like git, each commit in OSTree can have a parent. It is
|
||||
designed to store a history of your binary builds, just like git
|
||||
stores a history of source control. However, OSTree also makes
|
||||
it easy to delete data, under the assumption that you can
|
||||
regenerate it from source code.
|
||||
|
||||
### Dirtree objects
|
||||
|
||||
A dirtree contains a sorted array of (filename, checksum)
|
||||
pairs for content objects, and a second sorted array of
|
||||
(filename, dirtree checksum, dirmeta checksum), which are
|
||||
subdirectories.
|
||||
|
||||
### Dirmeta objects
|
||||
|
||||
In git, tree objects contain the metadata such as permissions
|
||||
for their children. But OSTree splits this into a separate
|
||||
object to avoid duplicating extended attribute listings.
|
||||
|
||||
### Content objects
|
||||
|
||||
Unlike the first three object types which are metadata, designed to be
|
||||
`mmap()`ed, the content object has a separate internal header and
|
||||
payload sections. The header contains uid, gid, mode, and symbolic
|
||||
link target (for symlinks), as well as extended attributes. After the
|
||||
header, for regular files, the content follows.
|
||||
|
||||
The OSTree data format intentionally does not contain timestamps. The reasoning
|
||||
is that data files may be downloaded at different times, and by different build
|
||||
systems, and so will have different timestamps but identical physical content.
|
||||
These files may be large, so most users would like them to be shared, both in
|
||||
the repository and between the repository and deployments.
|
||||
|
||||
This could cause problems with programs that check if files are out-of-date by
|
||||
comparing timestamps. For Git, the logical choice is to not mess with
|
||||
timestamps, because unnecessary rebuilding is better than a broken tree.
|
||||
However, OSTree has to hardlink files to check them out, and commits are assumed
|
||||
to be internally consistent with no build steps needed. For this reason, OSTree
|
||||
acts as though all timestamps are set to time_t 1, so that comparisons will be
|
||||
considered up-to-date. 1 is a better choice than 0 because some programs use 0
|
||||
as a special value; for example, GNU Tar warns of an "implausibly old time
|
||||
stamp" with 0.
|
||||
|
||||
# Repository types and locations
|
||||
|
||||
Also unlike git, an OSTree repository can be in one of three separate
|
||||
modes: `bare`, `bare-user`, and `archive-z2`. A bare repository is
|
||||
one where content files are just stored as regular files; it's
|
||||
designed to be the source of a "hardlink farm", where each operating
|
||||
system checkout is merely links into it. If you want to store files
|
||||
owned by e.g. root in this mode, you must run OSTree as root.
|
||||
|
||||
The `bare-user` is a later addition that is like `bare` in that files
|
||||
are unpacked, but it can (and should generally) be created as
|
||||
non-root. In this mode, extended metadata such as owner uid, gid, and
|
||||
extended attributes are stored but not actually applied.
|
||||
The `bare-user` mode is useful for build systems that run as non-root
|
||||
but want to generate root-owned content, as well as non-root container
|
||||
systems.
|
||||
|
||||
In contrast, the `archive-z2` mode is designed for serving via plain
|
||||
HTTP. Like tar files, it can be read/written by non-root users.
|
||||
|
||||
On an OSTree-deployed system, the "system repository" is
|
||||
`/ostree/repo`. It can be read by any uid, but only written by root.
|
||||
Unless the `--repo` argument is given to the <command>ostree</command>
|
||||
command, it will operate on the system repository.
|
||||
|
||||
## Refs
|
||||
|
||||
Like git, OSTree uses the terminology "references" (abbreviated
|
||||
"refs") which are text files that name (refer to) to particular
|
||||
commits. See the
|
||||
[Git Documentation](https://git-scm.com/book/en/v2/Git-Internals-Git-References)
|
||||
for information on how git uses them. Unlike git though, it doesn't
|
||||
usually make sense to have a "master" branch. There is a convention
|
||||
for references in OSTree that looks like this:
|
||||
`exampleos/buildmaster/x86_64-runtime` and
|
||||
`exampleos/buildmaster/x86_64-devel-debug`. These two refs point to
|
||||
two different generated filesystem trees. In this example, the
|
||||
"runtime" tree contains just enough to run a basic system, and
|
||||
"devel-debug" contains all of the developer tools and debuginfo.
|
||||
|
||||
The `ostree` supports a simple syntax using the caret `^` to refer to
|
||||
the parent of a given commit. For example,
|
||||
`exampleos/buildmaster/x86_64-runtime^` refers to the previous build,
|
||||
and `exampleos/buildmaster/x86_64-runtime^^` refers to the one before
|
||||
that.
|
||||
|
||||
## The summary file
|
||||
|
||||
A later addition to OSTree is the concept of a "summary" file, created
|
||||
via the `ostree summary -u` command. This was introduced for a few
|
||||
reasons. A primary use case is to be compatible with
|
||||
[Metalink](https://en.wikipedia.org/wiki/Metalink), which requires a
|
||||
single file with a known checksum as a target.
|
||||
|
||||
The summary file primarily contains two mappings:
|
||||
|
||||
- A mapping of the refs and their checksums, equivalent to fetching
|
||||
the ref file individually
|
||||
- A list of all static deltas, along with their metadata checksums
|
||||
|
||||
This currently means that it grows linearly with both items. On the
|
||||
other hand, using the summary file, a client can enumerate branches.
|
||||
|
||||
Further, fetching the summary file over e.g. pinned TLS creates a strong
|
||||
end-to-end verification of the commit or static delta.
|
||||
|
||||
The summary file can also be GPG signed (detached). This is currently
|
||||
the only way to provide GPG signatures (transitively) on deltas.
|
||||
|
||||
If a repository administrator creates a summary file, they must
|
||||
thereafter run `ostree summary -u` to update it whenever a ref is
|
||||
updated or a static delta is generated.
|
||||
|
|
@ -0,0 +1,233 @@
|
|||
# Managing content in OSTree repositories
|
||||
|
||||
Once you have a build system going, if you actually want client
|
||||
systems to retrieve the content, you will quickly feel a need for
|
||||
"repository management".
|
||||
|
||||
The command line tool `ostree` does cover some core functionality, but
|
||||
doesn't include very high level workflows. One reason is that how
|
||||
content is delivered and managed has concerns very specific to the
|
||||
organization. For example, some operating system content vendors may
|
||||
want integration with a specific errata notification system when
|
||||
generating commits.
|
||||
|
||||
In this section, we will describe some high level ideas and methods
|
||||
for managing content in OSTree repositories, mostly independent of any
|
||||
particular model or tool. That said, a goal is to include at least
|
||||
some sample scripts and workflows upstream in a potential new
|
||||
"contrib" git repository.
|
||||
|
||||
One example of software which can assist in managing OSTree
|
||||
repositories today is the [Pulp Project](http://www.pulpproject.org/),
|
||||
which has a
|
||||
[Pulp OSTree plugin](https://pulp-ostree.readthedocs.org/en/latest/).
|
||||
|
||||
## Mirroring repositories
|
||||
|
||||
It's very common to want to perform a full or partial mirror, in
|
||||
particular across organizational boundaries (e.g. an upstream OS
|
||||
provider, and a user that wants offline and faster access to the
|
||||
content). OSTree supports both full and partial mirroring of the base
|
||||
`archive-z2` content, although not yet of static deltas.
|
||||
|
||||
To create a mirror, first create an `archive-z2` repository (you don't
|
||||
need to run this as root), then add the upstream as a remote, then use
|
||||
`pull --mirror`.
|
||||
|
||||
```
|
||||
ostree --repo=repo init --mode=archive-z2
|
||||
ostree --repo=repo remote add exampleos https://exampleos.com/ostree/repo
|
||||
ostree --repo=repo pull --mirror exampleos:exampleos/x86_64/standard
|
||||
```
|
||||
|
||||
You can use the `--depth=-1` option to retrieve all history, or a
|
||||
positive integer like `3` to retrieve just the last 3 commits.
|
||||
|
||||
## Separate development vs release repositories
|
||||
|
||||
By default, OSTree accumulates server side history. This is actually
|
||||
optional in that your build system can (using the API) write a commit
|
||||
with no parent. But first, we'll investigate the ramifications of
|
||||
server side history.
|
||||
|
||||
Many content vendors will want to separate their internal development
|
||||
with what is made public to the world. Therefore, you will want (at
|
||||
least) two OSTree repositories, we'll call them "dev" and "prod".
|
||||
|
||||
To phrase this another way, let's say you have a continuous delivery
|
||||
system which is building from git and committing into your "dev"
|
||||
OSTree repository. This might happen tens to hundreds of times per
|
||||
day. That's a substantial amount of history over time, and it's
|
||||
unlikely most of your content consumers (i.e. not developers/testers)
|
||||
will be interested in all of it.
|
||||
|
||||
The original vision of OSTree was to fulfill this "dev" role, and in
|
||||
particular the "archive-z2" format was designed for it.
|
||||
|
||||
Then, what you'll want to do is promote content from "dev" to "prod".
|
||||
We'll discuss this later, but first, let's talk about promotion
|
||||
*inside* our "dev" repository.
|
||||
|
||||
## Promoting content along OSTree branches - "buildmaster", "smoketested"
|
||||
|
||||
Besides multiple repositories, OSTree also supports multiple branches
|
||||
inside one repository, equivalent to git's branches. We saw in an
|
||||
earlier section an example branch name like
|
||||
`exampleos/x86_64/standard`. Choosing the branch name for your "prod"
|
||||
repository is absolutely critical as client systems will reference it.
|
||||
It becomes an important part of your face to the world, in the same
|
||||
way the "master" branch in a git repository is.
|
||||
|
||||
But with your "dev" repository internally, it can be very useful to
|
||||
use OSTree's branching concepts to represent different stages in a
|
||||
software delivery pipeline.
|
||||
|
||||
Deriving from `exampleos/x86_64/standard`, let's say our "dev"
|
||||
repository contains `exampleos/x86_64/buildmaster/standard`. We choose the
|
||||
term "buildmaster" to represent something that came straight from git
|
||||
master. It may not be tested very much.
|
||||
|
||||
Our next step should be to hook up a testing system (Jenkins,
|
||||
Buildbot, etc.) to this. When a build (commit) passes some tests, we
|
||||
want to "promote" that commit. Let's create a new branch called
|
||||
`smoketested` to say that some basic sanity checks pass on the
|
||||
complete system. This might be where human testers get involved, for
|
||||
example.
|
||||
|
||||
The build system can "promote" the `buildmaster` commit that passed
|
||||
testing like this:
|
||||
|
||||
```
|
||||
ostree commit -b exampleos/x86_64/smoketested/standard -s 'Passed tests' --tree=ref=aec070645fe53...
|
||||
```
|
||||
|
||||
Here we're generating a new commit object (perhaps include in the commit
|
||||
log links to build logs, etc.), but we're reusing the *content* from the `buildmaster`
|
||||
commit `aec070645fe53` that passed the smoketests.
|
||||
|
||||
We can easily generalize this model to have an arbitrary number of
|
||||
stages like `exampleos/x86_64/stage-1-pass/standard`,
|
||||
`exampleos/x86_64/stage-2-pass/standard`, etc. depending on business
|
||||
requirements and logic.
|
||||
|
||||
In this suggested model, the "stages" are increasingly expensive. The
|
||||
logic is that we don't want to spend substantial time on e.g. network
|
||||
performance tests if something basic like a systemd unit file fails on
|
||||
bootup.
|
||||
|
||||
|
||||
## Promoting content between OSTree repositories
|
||||
|
||||
Now, we have our internal continuous delivery stream flowing, it's
|
||||
being tested and works. We want to periodically take the latest
|
||||
commit on `exampleos/x86_64/stage-3-pass/standard` and expose it in
|
||||
our "prod" repository as `exampleos/x86_64/standard`, with a much
|
||||
smaller history.
|
||||
|
||||
We'll have other business requirements such as writing release notes
|
||||
(and potentially putting them in the OSTree commit message), etc.
|
||||
|
||||
In [Build Systems](buildsystem-and-repos.md) we saw how the
|
||||
`pull-local` command can be used to migrate content from the "build"
|
||||
repository (in `bare-user` mode) into an `archive-z2` repository for
|
||||
serving to client systems.
|
||||
|
||||
Following this section, we now have three repositories, let's call
|
||||
them `repo-build`, `repo-dev`, and `repo-prod`. We've been pulling
|
||||
content from `repo-build` into `repo-dev` (which involves gzip
|
||||
compression among other things since it is a format change).
|
||||
|
||||
When using `pull-local` to migrate content between two `archive-z2`
|
||||
repositories, the binary content is taken unmodified. Let's go ahead
|
||||
and generate a new commit in our prod repository:
|
||||
|
||||
```
|
||||
checksum=$(ostree --repo=repo-dev rev-parse exampleos/x86_64/stage-3-pass/standard`)
|
||||
ostree --repo=repo-prod pull-local repo-dev ${checksum}
|
||||
ostree --repo=repo-prod commit -b exampleos/x86_64/standard \
|
||||
-s 'Release 1.2.3' --add-metadata-string=ostree.version=1.2.3 \
|
||||
--tree=ref=${checksum}
|
||||
```
|
||||
|
||||
There are a few things going on here. First, we found the latest
|
||||
commit checksum for the "stage-3 dev", and told `pull-local` to copy
|
||||
it, without using the branch name. We do this because we don't want
|
||||
to expose the `exampleos/x86_64/stage-3-pass/standard` branch name in
|
||||
our "prod" repository.
|
||||
|
||||
Next, we generate a new commit in prod that's referencing the exact
|
||||
binary content in dev. If the "dev" and "prod" repositories are on
|
||||
the same Unix filesystem, (like git) OSTree will make use of hard
|
||||
links to avoid copying any content at all - making the process very
|
||||
fast.
|
||||
|
||||
Another interesting thing to notice here is that we're adding an
|
||||
`ostree.version` metadata string to the commit. This is an optional
|
||||
piece of metadata, but we are encouraging its use in the OSTree
|
||||
ecosystem of tools. Commands like `ostree admin status` show it by
|
||||
default.
|
||||
|
||||
## Derived data - static deltas and the summary file
|
||||
|
||||
As discussed in [Formats](formats.md), the `archive-z2` repository we
|
||||
use for "prod" requires one HTTP fetch per client request by default.
|
||||
If we're only performing a release e.g. once a week, it's appropriate
|
||||
to use "static deltas" to speed up client updates.
|
||||
|
||||
So once we've used the above command to pull content from `repo-dev`
|
||||
into `repo-prod`, let's generate a delta against the previous commit:
|
||||
|
||||
```
|
||||
ostree --repo=repo-prod static-delta generate exampleos/x86_64/standard
|
||||
```
|
||||
|
||||
We may also want to support client systems upgrading from *two*
|
||||
commits previous.
|
||||
|
||||
```
|
||||
ostree --repo=repo-prod static-delta generate --from=exampleos/x86_64/standard^^ --to=exampleos/x86_64/standard
|
||||
```
|
||||
|
||||
Generating a full permutation of deltas across all prior versions can
|
||||
get expensive, and there is some support in the OSTree core for static
|
||||
deltas which "recurse" to a parent. This can help create a model
|
||||
where clients download a chain of deltas. Support for this is not
|
||||
fully implemented yet however.
|
||||
|
||||
Regardless of whether or not you choose to generate static deltas,
|
||||
you should update the summary file:
|
||||
|
||||
```
|
||||
ostree --repo=repo-prod summary -u
|
||||
```
|
||||
|
||||
(Remember, the `summary` command cannot be run concurrently, so this
|
||||
should be triggered serially by other jobs).
|
||||
|
||||
There is some more information on the design of the summary file in
|
||||
[Repo](repo.md).
|
||||
|
||||
## Pruning our build and dev repositories
|
||||
|
||||
First, the OSTree author believes you should *not* use OSTree as a
|
||||
"primary content store". The binaries in an OSTree repository should
|
||||
be derived from a git repository. Your build system should record
|
||||
proper metadata such as the configuration options used to generate the
|
||||
build, and you should be able to rebuild it if necessary. Art assets
|
||||
should be stored in a system that's designed for that
|
||||
(e.g. [Git LFS](https://git-lfs.github.com/)).
|
||||
|
||||
Another way to say this is that five years down the line, we are
|
||||
unlikely to care about retaining the exact binaries from an OS build
|
||||
on Wednesday afternoon three years ago.
|
||||
|
||||
We want to save space and prune our "dev" repository.
|
||||
|
||||
```
|
||||
ostree --repo=repo-dev prune --refs-only --keep-younger-than="6 months ago"
|
||||
```
|
||||
|
||||
That will truncate the history older than 6 months. Deleted commits
|
||||
will have "tombstone markers" added so that you know they were
|
||||
explicitly deleted, but all content in them (that is not referenced by
|
||||
a still retained commit) will be garbage collected.
|
||||
|
|
@ -0,0 +1,348 @@
|
|||
# git.mk, a small Makefile to autogenerate .gitignore files
|
||||
# for autotools-based projects.
|
||||
#
|
||||
# Copyright 2009, Red Hat, Inc.
|
||||
# Copyright 2010,2011,2012,2013 Behdad Esfahbod
|
||||
# Written by Behdad Esfahbod
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# is permitted in any medium without royalty provided the copyright
|
||||
# notice and this notice are preserved.
|
||||
#
|
||||
# The latest version of this file can be downloaded from:
|
||||
GIT_MK_URL = https://raw.githubusercontent.com/behdad/git.mk/master/git.mk
|
||||
#
|
||||
# Bugs, etc, should be reported upstream at:
|
||||
# https://github.com/behdad/git.mk
|
||||
#
|
||||
# To use in your project, import this file in your git repo's toplevel,
|
||||
# then do "make -f git.mk". This modifies all Makefile.am files in
|
||||
# your project to -include git.mk. Remember to add that line to new
|
||||
# Makefile.am files you create in your project, or just rerun the
|
||||
# "make -f git.mk".
|
||||
#
|
||||
# This enables automatic .gitignore generation. If you need to ignore
|
||||
# more files, add them to the GITIGNOREFILES variable in your Makefile.am.
|
||||
# But think twice before doing that. If a file has to be in .gitignore,
|
||||
# chances are very high that it's a generated file and should be in one
|
||||
# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES.
|
||||
#
|
||||
# The only case that you need to manually add a file to GITIGNOREFILES is
|
||||
# when remove files in one of mostlyclean-local, clean-local, distclean-local,
|
||||
# or maintainer-clean-local make targets.
|
||||
#
|
||||
# Note that for files like editor backup, etc, there are better places to
|
||||
# ignore them. See "man gitignore".
|
||||
#
|
||||
# If "make maintainer-clean" removes the files but they are not recognized
|
||||
# by this script (that is, if "git status" shows untracked files still), send
|
||||
# me the output of "git status" as well as your Makefile.am and Makefile for
|
||||
# the directories involved and I'll diagnose.
|
||||
#
|
||||
# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see
|
||||
# Makefile.am.sample in the git.mk git repo.
|
||||
#
|
||||
# Don't EXTRA_DIST this file. It is supposed to only live in git clones,
|
||||
# not tarballs. It serves no useful purpose in tarballs and clutters the
|
||||
# build dir.
|
||||
#
|
||||
# This file knows how to handle autoconf, automake, libtool, gtk-doc,
|
||||
# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu, appdata,
|
||||
# appstream.
|
||||
#
|
||||
# This makefile provides the following targets:
|
||||
#
|
||||
# - all: "make all" will build all gitignore files.
|
||||
# - gitignore: makes all gitignore files in the current dir and subdirs.
|
||||
# - .gitignore: make gitignore file for the current dir.
|
||||
# - gitignore-recurse: makes all gitignore files in the subdirs.
|
||||
#
|
||||
# KNOWN ISSUES:
|
||||
#
|
||||
# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the
|
||||
# submodule doesn't find us. If you have configure.{in,ac} files in
|
||||
# subdirs, add a proxy git.mk file in those dirs that simply does:
|
||||
# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste.
|
||||
# And add those files to git. See vte/gnome-pty-helper/git.mk for
|
||||
# example.
|
||||
#
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Variables user modules may want to add to toplevel MAINTAINERCLEANFILES:
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
# Most autotools-using modules should be fine including this variable in their
|
||||
# toplevel MAINTAINERCLEANFILES:
|
||||
GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL = \
|
||||
$(srcdir)/aclocal.m4 \
|
||||
$(srcdir)/autoscan.log \
|
||||
$(srcdir)/configure.scan \
|
||||
`AUX_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_AUX_DIR:$$1' ./configure.ac); \
|
||||
test "x$$AUX_DIR" = "x$(srcdir)/" && AUX_DIR=$(srcdir); \
|
||||
for x in \
|
||||
ar-lib \
|
||||
compile \
|
||||
config.guess \
|
||||
config.sub \
|
||||
depcomp \
|
||||
install-sh \
|
||||
ltmain.sh \
|
||||
missing \
|
||||
mkinstalldirs \
|
||||
test-driver \
|
||||
ylwrap \
|
||||
; do echo "$$AUX_DIR/$$x"; done` \
|
||||
`cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_HEADERS:$$1' ./configure.ac | \
|
||||
head -n 1 | while read f; do echo "$(srcdir)/$$f.in"; done`
|
||||
#
|
||||
# All modules should also be fine including the following variable, which
|
||||
# removes automake-generated Makefile.in files:
|
||||
GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN = \
|
||||
`cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_FILES:$$1' ./configure.ac | \
|
||||
while read f; do \
|
||||
case $$f in Makefile|*/Makefile) \
|
||||
test -f "$(srcdir)/$$f.am" && echo "$(srcdir)/$$f.in";; esac; \
|
||||
done`
|
||||
#
|
||||
# Modules that use libtool and use AC_CONFIG_MACRO_DIR() may also include this,
|
||||
# though it's harmless to include regardless.
|
||||
GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL = \
|
||||
`MACRO_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_MACRO_DIR:$$1' ./configure.ac); \
|
||||
if test "x$$MACRO_DIR" != "x$(srcdir)/"; then \
|
||||
for x in \
|
||||
libtool.m4 \
|
||||
ltoptions.m4 \
|
||||
ltsugar.m4 \
|
||||
ltversion.m4 \
|
||||
lt~obsolete.m4 \
|
||||
; do echo "$$MACRO_DIR/$$x"; done; \
|
||||
fi`
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Default rule is to install ourselves in all Makefile.am files:
|
||||
###############################################################################
|
||||
|
||||
git-all: git-mk-install
|
||||
|
||||
git-mk-install:
|
||||
@echo "Installing git makefile"
|
||||
@any_failed=; \
|
||||
find "`test -z "$(top_srcdir)" && echo . || echo "$(top_srcdir)"`" -name Makefile.am | while read x; do \
|
||||
if grep 'include .*/git.mk' $$x >/dev/null; then \
|
||||
echo "$$x already includes git.mk"; \
|
||||
else \
|
||||
failed=; \
|
||||
echo "Updating $$x"; \
|
||||
{ cat $$x; \
|
||||
echo ''; \
|
||||
echo '-include $$(top_srcdir)/git.mk'; \
|
||||
} > $$x.tmp || failed=1; \
|
||||
if test x$$failed = x; then \
|
||||
mv $$x.tmp $$x || failed=1; \
|
||||
fi; \
|
||||
if test x$$failed = x; then : else \
|
||||
echo "Failed updating $$x"; >&2 \
|
||||
any_failed=1; \
|
||||
fi; \
|
||||
fi; done; test -z "$$any_failed"
|
||||
|
||||
git-mk-update:
|
||||
wget $(GIT_MK_URL) -O $(top_srcdir)/git.mk
|
||||
|
||||
.PHONY: git-all git-mk-install git-mk-update
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Actual .gitignore generation:
|
||||
###############################################################################
|
||||
|
||||
$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
|
||||
@echo "git.mk: Generating $@"
|
||||
@{ \
|
||||
if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
|
||||
for x in \
|
||||
$(DOC_MODULE)-decl-list.txt \
|
||||
$(DOC_MODULE)-decl.txt \
|
||||
tmpl/$(DOC_MODULE)-unused.sgml \
|
||||
"tmpl/*.bak" \
|
||||
$(REPORT_FILES) \
|
||||
$(DOC_MODULE).pdf \
|
||||
xml html \
|
||||
; do echo "/$$x"; done; \
|
||||
FLAVOR=$$(cd $(top_srcdir); $(AUTOCONF) --trace 'GTK_DOC_CHECK:$$2' ./configure.ac); \
|
||||
case $$FLAVOR in *no-tmpl*) echo /tmpl;; esac; \
|
||||
if echo "$(SCAN_OPTIONS)" | grep -q "\-\-rebuild-types"; then \
|
||||
echo "/$(DOC_MODULE).types"; \
|
||||
fi; \
|
||||
if echo "$(SCAN_OPTIONS)" | grep -q "\-\-rebuild-sections"; then \
|
||||
echo "/$(DOC_MODULE)-sections.txt"; \
|
||||
fi; \
|
||||
if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
for x in \
|
||||
$(SETUP_FILES) \
|
||||
$(DOC_MODULE).types \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
fi; \
|
||||
if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
|
||||
for lc in $(DOC_LINGUAS); do \
|
||||
for x in \
|
||||
$(if $(DOC_MODULE),$(DOC_MODULE).xml) \
|
||||
$(DOC_PAGES) \
|
||||
$(DOC_INCLUDES) \
|
||||
; do echo "/$$lc/$$x"; done; \
|
||||
done; \
|
||||
for x in \
|
||||
$(_DOC_OMF_ALL) \
|
||||
$(_DOC_DSK_ALL) \
|
||||
$(_DOC_HTML_ALL) \
|
||||
$(_DOC_MOFILES) \
|
||||
$(DOC_H_FILE) \
|
||||
"*/.xml2po.mo" \
|
||||
"*/*.omf.out" \
|
||||
; do echo /$$x; done; \
|
||||
fi; \
|
||||
if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \
|
||||
for lc in $(HELP_LINGUAS); do \
|
||||
for x in \
|
||||
$(HELP_FILES) \
|
||||
"$$lc.stamp" \
|
||||
"$$lc.mo" \
|
||||
; do echo "/$$lc/$$x"; done; \
|
||||
done; \
|
||||
fi; \
|
||||
if test "x$(gsettings_SCHEMAS)" = x; then :; else \
|
||||
for x in \
|
||||
$(gsettings_SCHEMAS:.xml=.valid) \
|
||||
$(gsettings__enum_file) \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
if test "x$(appdata_XML)" = x; then :; else \
|
||||
for x in \
|
||||
$(appdata_XML:.xml=.valid) \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
if test "x$(appstream_XML)" = x; then :; else \
|
||||
for x in \
|
||||
$(appstream_XML:.xml=.valid) \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
if test -f $(srcdir)/po/Makefile.in.in; then \
|
||||
for x in \
|
||||
po/Makefile.in.in \
|
||||
po/Makefile.in.in~ \
|
||||
po/Makefile.in \
|
||||
po/Makefile \
|
||||
po/Makevars.template \
|
||||
po/POTFILES \
|
||||
po/Rules-quot \
|
||||
po/stamp-it \
|
||||
po/stamp-po \
|
||||
po/.intltool-merge-cache \
|
||||
"po/*.gmo" \
|
||||
"po/*.header" \
|
||||
"po/*.mo" \
|
||||
"po/*.sed" \
|
||||
"po/*.sin" \
|
||||
po/$(GETTEXT_PACKAGE).pot \
|
||||
intltool-extract.in \
|
||||
intltool-merge.in \
|
||||
intltool-update.in \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
if test -f $(srcdir)/configure; then \
|
||||
for x in \
|
||||
autom4te.cache \
|
||||
configure \
|
||||
config.h \
|
||||
stamp-h1 \
|
||||
libtool \
|
||||
config.lt \
|
||||
; do echo "/$$x"; done; \
|
||||
fi; \
|
||||
if test "x$(DEJATOOL)" = x; then :; else \
|
||||
for x in \
|
||||
$(DEJATOOL) \
|
||||
; do echo "/$$x.sum"; echo "/$$x.log"; done; \
|
||||
echo /site.exp; \
|
||||
fi; \
|
||||
if test "x$(am__dirstamp)" = x; then :; else \
|
||||
echo "$(am__dirstamp)"; \
|
||||
fi; \
|
||||
if test "x$(findstring libtool,$(LTCOMPILE))" = x -a "x$(findstring libtool,$(LTCXXCOMPILE))" = x -a "x$(GTKDOC_RUN)" = x; then :; else \
|
||||
for x in \
|
||||
"*.lo" \
|
||||
".libs" "_libs" \
|
||||
; do echo "$$x"; done; \
|
||||
fi; \
|
||||
for x in \
|
||||
.gitignore \
|
||||
$(GITIGNOREFILES) \
|
||||
$(CLEANFILES) \
|
||||
$(PROGRAMS) $(check_PROGRAMS) $(EXTRA_PROGRAMS) \
|
||||
$(LIBRARIES) $(check_LIBRARIES) $(EXTRA_LIBRARIES) \
|
||||
$(LTLIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LTLIBRARIES) \
|
||||
so_locations \
|
||||
$(MOSTLYCLEANFILES) \
|
||||
$(TEST_LOGS) \
|
||||
$(TEST_LOGS:.log=.trs) \
|
||||
$(TEST_SUITE_LOG) \
|
||||
$(TESTS:=.test) \
|
||||
"*.gcda" \
|
||||
"*.gcno" \
|
||||
$(DISTCLEANFILES) \
|
||||
$(am__CONFIG_DISTCLEAN_FILES) \
|
||||
$(CONFIG_CLEAN_FILES) \
|
||||
TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
|
||||
"*.tab.c" \
|
||||
$(MAINTAINERCLEANFILES) \
|
||||
$(BUILT_SOURCES) \
|
||||
$(patsubst %.vala,%.c,$(filter %.vala,$(SOURCES))) \
|
||||
$(filter %_vala.stamp,$(DIST_COMMON)) \
|
||||
$(filter %.vapi,$(DIST_COMMON)) \
|
||||
$(filter $(addprefix %,$(notdir $(patsubst %.vapi,%.h,$(filter %.vapi,$(DIST_COMMON))))),$(DIST_COMMON)) \
|
||||
Makefile \
|
||||
Makefile.in \
|
||||
"*.orig" \
|
||||
"*.rej" \
|
||||
"*.bak" \
|
||||
"*~" \
|
||||
".*.sw[nop]" \
|
||||
".dirstamp" \
|
||||
; do echo "/$$x"; done; \
|
||||
for x in \
|
||||
"*.$(OBJEXT)" \
|
||||
$(DEPDIR) \
|
||||
; do echo "$$x"; done; \
|
||||
} | \
|
||||
sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
|
||||
sed 's@/[.]/@/@g' | \
|
||||
LC_ALL=C sort | uniq > $@.tmp && \
|
||||
mv $@.tmp $@;
|
||||
|
||||
all: $(srcdir)/.gitignore gitignore-recurse-maybe
|
||||
gitignore: $(srcdir)/.gitignore gitignore-recurse
|
||||
|
||||
gitignore-recurse-maybe:
|
||||
@for subdir in $(DIST_SUBDIRS); do \
|
||||
case " $(SUBDIRS) " in \
|
||||
*" $$subdir "*) :;; \
|
||||
*) test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir");; \
|
||||
esac; \
|
||||
done
|
||||
gitignore-recurse:
|
||||
@for subdir in $(DIST_SUBDIRS); do \
|
||||
test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir"); \
|
||||
done
|
||||
|
||||
maintainer-clean: gitignore-clean
|
||||
gitignore-clean:
|
||||
-rm -f $(srcdir)/.gitignore
|
||||
|
||||
.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe
|
||||
304
gtk-doc.make
|
|
@ -1,304 +0,0 @@
|
|||
# -*- mode: makefile -*-
|
||||
|
||||
####################################
|
||||
# Everything below here is generic #
|
||||
####################################
|
||||
|
||||
if GTK_DOC_USE_LIBTOOL
|
||||
GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN = $(LIBTOOL) --mode=execute
|
||||
else
|
||||
GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN =
|
||||
endif
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
|
||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
||||
|
||||
SETUP_FILES = \
|
||||
$(content_files) \
|
||||
$(expand_content_files) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_MODULE)-sections.txt \
|
||||
$(DOC_MODULE)-overrides.txt
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(HTML_IMAGES) \
|
||||
$(SETUP_FILES)
|
||||
|
||||
DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
|
||||
html-build.stamp pdf-build.stamp \
|
||||
sgml.stamp html.stamp pdf.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
REPORT_FILES = \
|
||||
$(DOC_MODULE)-undocumented.txt \
|
||||
$(DOC_MODULE)-undeclared.txt \
|
||||
$(DOC_MODULE)-unused.txt
|
||||
|
||||
gtkdoc-check.test: Makefile
|
||||
$(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
|
||||
echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
|
||||
chmod +x $@
|
||||
|
||||
CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
|
||||
|
||||
if GTK_DOC_BUILD_HTML
|
||||
HTML_BUILD_STAMP=html-build.stamp
|
||||
else
|
||||
HTML_BUILD_STAMP=
|
||||
endif
|
||||
if GTK_DOC_BUILD_PDF
|
||||
PDF_BUILD_STAMP=pdf-build.stamp
|
||||
else
|
||||
PDF_BUILD_STAMP=
|
||||
endif
|
||||
|
||||
all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
|
||||
.PHONY: all-gtk-doc
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
all-local: all-gtk-doc
|
||||
endif
|
||||
|
||||
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
|
||||
|
||||
$(REPORT_FILES): sgml-build.stamp
|
||||
|
||||
#### setup ####
|
||||
|
||||
GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V))
|
||||
GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_SETUP_0=@echo " DOC Preparing build";
|
||||
|
||||
setup-build.stamp:
|
||||
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
|
||||
if test "x$$files" != "x" ; then \
|
||||
for file in $$files ; do \
|
||||
destdir=`dirname $(abs_builddir)/$$file`; \
|
||||
test -d "$$destdir" || mkdir -p "$$destdir"; \
|
||||
test -f $(abs_srcdir)/$$file && \
|
||||
cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
|
||||
done; \
|
||||
fi; \
|
||||
fi
|
||||
$(AM_V_at)touch setup-build.stamp
|
||||
|
||||
|
||||
#### scan ####
|
||||
|
||||
GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V))
|
||||
GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files";
|
||||
|
||||
GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V))
|
||||
GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
|
||||
|
||||
scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
|
||||
$(GTK_DOC_V_SCAN)_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
|
||||
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
|
||||
scanobj_options=""; \
|
||||
gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
scanobj_options="--verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
|
||||
gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
|
||||
else \
|
||||
for i in $(SCANOBJ_FILES) ; do \
|
||||
test -f $$i || touch $$i ; \
|
||||
done \
|
||||
fi
|
||||
$(AM_V_at)touch scan-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
|
||||
@true
|
||||
|
||||
#### xml ####
|
||||
|
||||
GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V))
|
||||
GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_XML_0=@echo " DOC Building XML";
|
||||
|
||||
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
|
||||
$(GTK_DOC_V_XML)_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
|
||||
$(AM_V_at)touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
xml/gtkdocentities.ent: Makefile
|
||||
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
||||
echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
|
||||
echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
|
||||
echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
|
||||
echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
|
||||
echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
|
||||
echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
|
||||
) > $@
|
||||
|
||||
#### html ####
|
||||
|
||||
GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V))
|
||||
GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_HTML_0=@echo " DOC Building HTML";
|
||||
|
||||
GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V))
|
||||
GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references";
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
|
||||
$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
|
||||
mkhtml_options=""; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkhtml_options="$$mkhtml_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
|
||||
if test "$$?" = "0"; then \
|
||||
mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
|
||||
fi; \
|
||||
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
|
||||
-@test "x$(HTML_IMAGES)" = "x" || \
|
||||
for file in $(HTML_IMAGES) ; do \
|
||||
if test -f $(abs_srcdir)/$$file ; then \
|
||||
cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
||||
fi; \
|
||||
if test -f $(abs_builddir)/$$file ; then \
|
||||
cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
||||
fi; \
|
||||
done;
|
||||
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
$(AM_V_at)touch html-build.stamp
|
||||
|
||||
#### pdf ####
|
||||
|
||||
GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V))
|
||||
GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
|
||||
GTK_DOC_V_PDF_0=@echo " DOC Building PDF";
|
||||
|
||||
pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
|
||||
$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
|
||||
mkpdf_options=""; \
|
||||
gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkpdf_options="$$mkpdf_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
if test "x$(HTML_IMAGES)" != "x"; then \
|
||||
for img in $(HTML_IMAGES); do \
|
||||
part=`dirname $$img`; \
|
||||
echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
|
||||
if test $$? != 0; then \
|
||||
mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
|
||||
fi; \
|
||||
done; \
|
||||
fi; \
|
||||
gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
|
||||
$(AM_V_at)touch pdf-build.stamp
|
||||
|
||||
##############
|
||||
|
||||
clean-local:
|
||||
@rm -f *~ *.bak
|
||||
@rm -rf .libs
|
||||
@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
|
||||
rm -f $(DOC_MODULE).types; \
|
||||
fi
|
||||
@if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
|
||||
rm -f $(DOC_MODULE)-sections.txt; \
|
||||
fi
|
||||
|
||||
distclean-local:
|
||||
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
|
||||
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
|
||||
fi
|
||||
|
||||
maintainer-clean-local:
|
||||
@rm -rf xml html
|
||||
|
||||
install-data-local:
|
||||
@installfiles=`echo $(builddir)/html/*`; \
|
||||
if test "$$installfiles" = '$(builddir)/html/*'; \
|
||||
then echo 1>&2 'Nothing to install' ; \
|
||||
else \
|
||||
if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
|
||||
else \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)"; \
|
||||
fi; \
|
||||
$(mkinstalldirs) $${installdir} ; \
|
||||
for i in $$installfiles; do \
|
||||
echo ' $(INSTALL_DATA) '$$i ; \
|
||||
$(INSTALL_DATA) $$i $${installdir}; \
|
||||
done; \
|
||||
if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
|
||||
$${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
|
||||
fi; \
|
||||
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
|
||||
fi
|
||||
|
||||
uninstall-local:
|
||||
@if test -n "$(DOC_MODULE_VERSION)"; then \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
|
||||
else \
|
||||
installdir="$(DESTDIR)$(TARGET_DIR)"; \
|
||||
fi; \
|
||||
rm -rf $${installdir}
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
if HAVE_GTK_DOC
|
||||
dist-check-gtkdoc: docs
|
||||
else
|
||||
dist-check-gtkdoc:
|
||||
@echo "*** gtk-doc is needed to run 'make dist'. ***"
|
||||
@echo "*** gtk-doc was not found when 'configure' ran. ***"
|
||||
@echo "*** please install gtk-doc and rerun 'configure'. ***"
|
||||
@false
|
||||
endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
|
||||
@mkdir $(distdir)/html
|
||||
@cp ./html/* $(distdir)/html
|
||||
@-cp ./$(DOC_MODULE).pdf $(distdir)/
|
||||
@-cp ./$(DOC_MODULE).types $(distdir)/
|
||||
@-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
|
||||
@cd $(distdir) && rm -f $(DISTCLEANFILES)
|
||||
@$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local docs
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# A path ostree writes to work around automake bug with
|
||||
# subdir-objects
|
||||
Makefile-libglnx.am.inc
|
||||
|
||||
# Some standard bits
|
||||
.deps
|
||||
.libs
|
||||
.dirstamp
|
||||
*.typelib
|
||||
*.la
|
||||
*.lo
|
||||
*.o
|
||||
*.pyc
|
||||
*.stamp
|
||||
*~
|
||||
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
# Copyright (C) 2015 Colin Walters <walters@verbum.org>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
EXTRA_DIST += libglnx/README.md libglnx/COPYING
|
||||
|
||||
libglnx_la_SOURCES = \
|
||||
libglnx/glnx-alloca.h \
|
||||
libglnx/glnx-backport-autocleanups.h \
|
||||
libglnx/glnx-backport-autoptr.h \
|
||||
libglnx/glnx-backports.h \
|
||||
libglnx/glnx-backports.c \
|
||||
libglnx/glnx-local-alloc.h \
|
||||
libglnx/glnx-local-alloc.c \
|
||||
libglnx/glnx-errors.h \
|
||||
libglnx/glnx-errors.c \
|
||||
libglnx/glnx-console.h \
|
||||
libglnx/glnx-console.c \
|
||||
libglnx/glnx-dirfd.h \
|
||||
libglnx/glnx-dirfd.c \
|
||||
libglnx/glnx-fdio.h \
|
||||
libglnx/glnx-fdio.c \
|
||||
libglnx/glnx-lockfile.h \
|
||||
libglnx/glnx-lockfile.c \
|
||||
libglnx/glnx-libcontainer.h \
|
||||
libglnx/glnx-libcontainer.c \
|
||||
libglnx/glnx-missing-syscall.h \
|
||||
libglnx/glnx-missing.h \
|
||||
libglnx/glnx-xattrs.h \
|
||||
libglnx/glnx-xattrs.c \
|
||||
libglnx/glnx-shutil.h \
|
||||
libglnx/glnx-shutil.c \
|
||||
libglnx/libglnx.h \
|
||||
$(NULL)
|
||||
|
||||
libglnx_la_CFLAGS = $(AM_CFLAGS) $(libglnx_cflags)
|
||||
libglnx_la_LDFLAGS = -avoid-version -Bsymbolic-functions -export-symbols-regex "^glnx_" -no-undefined -export-dynamic
|
||||
libglnx_la_LIBADD = $(libglnx_libs)
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<name>libglnx</name>
|
||||
<shortname>libglnx</shortname>
|
||||
|
||||
<shortdesc xml:lang="en">"Copylib" for system service modules using GLib with Linux</shortdesc>
|
||||
|
||||
<description xml:lang="en">This module is intended for use by
|
||||
infrastructure code using GLib that is also Linux specific, such as
|
||||
ostree, NetworkManager, and others.
|
||||
</description>
|
||||
|
||||
<license rdf:resource="http://usefulinc.com/doap/licenses/lgpl" />
|
||||
<mailing-list rdf:resource="mailto:desktop-devel-list@gnome.org" />
|
||||
|
||||
<programming-language>C</programming-language>
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Colin Walters</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:walters@verbum.org"/>
|
||||
<gnome:userid>walters</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree admin cleanup
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 08/06/2016
|
||||
.\" Manual: ostree admin cleanup
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE ADMIN CLEANUP" "1" "" "OSTree" "ostree admin cleanup"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-admin-cleanup \- Delete untagged deployments and repository objects
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ admin\ cleanup\ \fR\ 'u
|
||||
\fBostree admin cleanup \fR
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
OSTree sysroot cleans up other bootversions and old deployments\&. If/when a pull or deployment is interrupted, a partially written state may remain on disk\&. This command cleans up any such partial states\&.
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
\fB$ ostree admin cleanup\fR
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree admin cleanup</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree admin cleanup</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-admin-cleanup</refname>
|
||||
<refpurpose>Delete untagged deployments and repository objects</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree admin cleanup </command>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
OSTree sysroot cleans up other bootversions and old deployments. If/when a pull or deployment is interrupted, a partially written state may remain on disk. This command cleans up any such partial states.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
<para><command>$ ostree admin cleanup</command></para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree admin config-diff
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 08/06/2016
|
||||
.\" Manual: ostree admin config-diff
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE ADMIN CONFIG\" "1" "" "OSTree" "ostree admin config-diff"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-admin-config-diff \- Diff current /etc configuration versus default
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ admin\ config\-diff\fR\ 'u
|
||||
\fBostree admin config\-diff\fR [OPTIONS...]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Prints the differences between the current /etc directory and the default configuration in /usr/etc\&. Newly added files (present in /etc but not in /usr/etc) will be prefixed with \*(AqA\*(Aq\&. Modified files will be prefixed with \*(AqM\*(Aq, and deleted files with \*(AqD\*(Aq\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\fB\-\-os\fR="OSNAME"
|
||||
.RS 4
|
||||
Use a different operating system root than the current one\&.
|
||||
.RE
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
\fB$ ostree admin config\-diff\fR
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
M shadow
|
||||
A example\&.txt
|
||||
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree admin config-diff</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree admin config-diff</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-admin-config-diff</refname>
|
||||
<refpurpose>Diff current /etc configuration versus default</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree admin config-diff</command> <arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
Prints the differences between the current /etc directory and the default configuration in /usr/etc. Newly added files (present in /etc but not in /usr/etc) will be prefixed with 'A'. Modified files will be prefixed with 'M', and deleted files with 'D'.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>--os</option>="OSNAME"</term>
|
||||
|
||||
<listitem><para>
|
||||
Use a different operating system root than the current one.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
<para><command>$ ostree admin config-diff</command></para>
|
||||
<programlisting>
|
||||
M shadow
|
||||
A example.txt
|
||||
</programlisting>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree admin deploy
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 08/06/2016
|
||||
.\" Manual: ostree admin deploy
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE ADMIN DEPLOY" "1" "" "OSTree" "ostree admin deploy"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-admin-deploy \- Checkout a revision as the new default deployment
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ admin\ deploy\fR\ 'u
|
||||
\fBostree admin deploy\fR [OPTIONS...] {REFSPEC}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Takes a commit or revision REFSPEC, and queues the new deployment as default upon reboot\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\fB\-\-os\fR="OSNAME"
|
||||
.RS 4
|
||||
Use a different operating system root than the current one\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-origin\-file\fR="FILENAME"
|
||||
.RS 4
|
||||
Use FILENAME as the origin, which is where OSTree will look for updated versions of the tree\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-retain\fR
|
||||
.RS 4
|
||||
Do not delete previous deployment\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-karg\-proc\-cmdline\fR
|
||||
.RS 4
|
||||
Import current /proc/cmdline\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-karg\fR="NAME=VALUE"
|
||||
.RS 4
|
||||
Set kernel argument, like root=/dev/sda1; this overrides any earlier argument with the same name\&.
|
||||
.RE
|
||||
.PP
|
||||
\fB\-\-karg\-append\fR="NAME=VALUE"
|
||||
.RS 4
|
||||
Append kernel argument; useful with e\&.g\&. console= that can be used multiple times\&.
|
||||
.RE
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
\fB$ ostree admin status\fR
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
* gnome\-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07\&.0
|
||||
origin refspec: gnome\-ostree/buildmaster/x86_64\-runtime
|
||||
gnome\-ostree ce19c41036cc45e49b0cecf6b157523c2105c4de1ce3\&.0
|
||||
origin refspec: gnome\-ostree/buildmaster/x86_64\-runtime
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.PP
|
||||
\fB$ ostree admin deploy gnome\-ostree/buildmaster/x86_64\-runtime\fR
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
ostadmin: Creating deployment /ostree/deploy/gnome\-ostree/deploy/7e382b11d213a402a5313e61cbc69dfd5ab93cb07\&.1
|
||||
ostadmin: Processing /etc: 3 modified, 0 removed, 29 added
|
||||
Transaction complete: bootconfig swap: no deployment count change: 0)
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.PP
|
||||
\fB$ ostree admin status\fR
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
gnome\-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07\&.1
|
||||
origin refspec: gnome\-ostree/buildmaster/x86_64\-runtime
|
||||
* gnome\-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07\&.0
|
||||
origin refspec: gnome\-ostree/buildmaster/x86_64\-runtime
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree admin deploy</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree admin deploy</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-admin-deploy</refname>
|
||||
<refpurpose>Checkout a revision as the new default deployment</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree admin deploy</command> <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">REFSPEC</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
Takes a commit or revision REFSPEC, and queues the new deployment as default upon reboot.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>--os</option>="OSNAME"</term>
|
||||
|
||||
<listitem><para>
|
||||
Use a different operating system root than the current one.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--origin-file</option>="FILENAME"</term>
|
||||
|
||||
<listitem><para>
|
||||
Use FILENAME as the origin, which is where OSTree will look for updated versions of the tree.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--retain</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Do not delete previous deployment.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--karg-proc-cmdline</option></term>
|
||||
|
||||
<listitem><para>
|
||||
Import current /proc/cmdline.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--karg</option>="NAME=VALUE"</term>
|
||||
|
||||
<listitem><para>
|
||||
Set kernel argument, like root=/dev/sda1; this overrides any earlier argument with the same name.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--karg-append</option>="NAME=VALUE"</term>
|
||||
|
||||
<listitem><para>
|
||||
Append kernel argument; useful with e.g. console= that can be used multiple times.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
<para><command>$ ostree admin status</command></para>
|
||||
<programlisting>
|
||||
* gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
|
||||
origin refspec: gnome-ostree/buildmaster/x86_64-runtime
|
||||
gnome-ostree ce19c41036cc45e49b0cecf6b157523c2105c4de1ce3.0
|
||||
origin refspec: gnome-ostree/buildmaster/x86_64-runtime
|
||||
</programlisting>
|
||||
|
||||
<para><command>$ ostree admin deploy gnome-ostree/buildmaster/x86_64-runtime</command></para>
|
||||
<programlisting>
|
||||
ostadmin: Creating deployment /ostree/deploy/gnome-ostree/deploy/7e382b11d213a402a5313e61cbc69dfd5ab93cb07.1
|
||||
ostadmin: Processing /etc: 3 modified, 0 removed, 29 added
|
||||
Transaction complete: bootconfig swap: no deployment count change: 0)
|
||||
</programlisting>
|
||||
|
||||
<para><command>$ ostree admin status</command></para>
|
||||
<programlisting>
|
||||
gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.1
|
||||
origin refspec: gnome-ostree/buildmaster/x86_64-runtime
|
||||
* gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
|
||||
origin refspec: gnome-ostree/buildmaster/x86_64-runtime
|
||||
</programlisting>
|
||||
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree admin init-fs
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 08/06/2016
|
||||
.\" Manual: ostree admin init-fs
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE ADMIN INIT\-F" "1" "" "OSTree" "ostree admin init-fs"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-admin-init-fs \- Initialize a new root filesystem
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ admin\ init\-fs\fR\ 'u
|
||||
\fBostree admin init\-fs\fR [OPTIONS...] {PATH}
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Initialize an empty physical root filesystem in the designated PATH, with normal toplevels and correct permissions for each directory\&. Primarily useful for operating system installers\&.
|
||||
.SH "EXAMPLE"
|
||||
.PP
|
||||
\fB$ mkdir /example\fR
|
||||
.PP
|
||||
\fB$ ostree admin init\-fs /example\fR
|
||||
.PP
|
||||
\fB$ ls /example \fR
|
||||
.PP
|
||||
\fIboot\fR\ \&\ \&
|
||||
\fIdev\fR\ \&\ \&
|
||||
\fIhome\fR\ \&\ \&
|
||||
\fIostree\fR\ \&\ \&
|
||||
\fIproc\fR\ \&\ \&
|
||||
\fIroot\fR\ \&\ \&
|
||||
\fIrun\fR\ \&\ \&
|
||||
\fIsys\fR\ \&\ \&
|
||||
\fItmp\fR
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree admin init-fs</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree admin init-fs</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-admin-init-fs</refname>
|
||||
<refpurpose>Initialize a new root filesystem</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree admin init-fs</command> <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">PATH</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
Initialize an empty physical root filesystem in the designated PATH, with normal toplevels and correct permissions for each directory. Primarily useful for operating system installers.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
<para><command>$ mkdir /example</command></para>
|
||||
<para><command>$ ostree admin init-fs /example</command></para>
|
||||
<para><command>$ ls /example </command></para>
|
||||
<para>
|
||||
<emphasis>boot</emphasis> <emphasis>dev</emphasis> <emphasis>home</emphasis> <emphasis>ostree</emphasis> <emphasis>proc</emphasis> <emphasis>root</emphasis> <emphasis>run</emphasis> <emphasis>sys</emphasis> <emphasis>tmp</emphasis>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
'\" t
|
||||
.\" Title: ostree admin instutil
|
||||
.\" Author: Colin Walters <walters@verbum.org>
|
||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||
.\" Date: 08/06/2016
|
||||
.\" Manual: ostree admin instutil
|
||||
.\" Source: OSTree
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "OSTREE ADMIN INSTUTI" "1" "" "OSTree" "ostree admin instutil"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.\" http://bugs.debian.org/507673
|
||||
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
||||
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" disable hyphenation
|
||||
.nh
|
||||
.\" disable justification (adjust text to left margin only)
|
||||
.ad l
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * MAIN CONTENT STARTS HERE *
|
||||
.\" -----------------------------------------------------------------
|
||||
.SH "NAME"
|
||||
ostree-admin-instutil \- Utility functions intended primarily for operating system installation programs
|
||||
.SH "SYNOPSIS"
|
||||
.HP \w'\fBostree\ admin\ instutil\fR\ 'u
|
||||
\fBostree admin instutil\fR {SUBCOMMAND} [ARGS]
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
Use the subcommands to toggle admin installation utilities for selinux policies and kernel arguments\&.
|
||||
.SH "SUBCOMMANDS"
|
||||
.PP
|
||||
.HP \w'\fBselinux\-ensure\-labeled\fR\ 'u \fBselinux\-ensure\-labeled\fR [SUBPATH\ PREFIX]
|
||||
.RS 4
|
||||
Ensure all files and directories are labeled according to SELinux policy of the first deployment\&.
|
||||
.RE
|
||||
.PP
|
||||
.HP \w'\fBset\-kargs\fR\ 'u \fBset\-kargs\fR [\-\-merge] [\-\-import\-proc\-cmdline] [\-\-append="NAME=VALUE"] [\-\-replace="NAME=VALUE"] [MORE_APPEND_ARGS]
|
||||
.RS 4
|
||||
Replace the kernel arguments of the default deployment\&. The new arguments are based on an empty list (the default), the current options (\-\-merge), or the arguments of the loaded kernel (\-\-import\-proc\-cmdline), and new options either are added to the end (\-\-append="NAME=VALUE") or replace existing arguments of the same name (\-\-replace="NAME=VALUE")\&.
|
||||
.RE
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
-->
|
||||
|
||||
<refentry id="ostree">
|
||||
|
||||
<refentryinfo>
|
||||
<title>ostree admin instutil</title>
|
||||
<productname>OSTree</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Colin</firstname>
|
||||
<surname>Walters</surname>
|
||||
<email>walters@verbum.org</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>ostree admin instutil</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>ostree-admin-instutil</refname>
|
||||
<refpurpose>Utility functions intended primarily for operating system installation programs</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>ostree admin instutil</command> <arg choice="req">SUBCOMMAND</arg> <arg choice="opt">ARGS</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
Use the subcommands to toggle admin installation utilities for selinux policies and kernel arguments.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<!-- Give more details on each subcommand? They don't have separate manpages -->
|
||||
<refsect1>
|
||||
<title>Subcommands</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><cmdsynopsis><command>selinux-ensure-labeled</command> <arg choice="opt">SUBPATH PREFIX</arg></cmdsynopsis></term>
|
||||
|
||||
<listitem><para>
|
||||
Ensure all files and directories are labeled according to SELinux policy of the first deployment.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><cmdsynopsis>
|
||||
<command>set-kargs</command> <arg choice="opt">--merge</arg> <arg choice="opt">--import-proc-cmdline</arg> <arg choice="opt">--append="NAME=VALUE"</arg> <arg choice="opt">--replace="NAME=VALUE"</arg> <arg choice="opt">MORE_APPEND_ARGS</arg></cmdsynopsis></term>
|
||||
|
||||
<listitem><para>
|
||||
Replace the kernel arguments of the default deployment. The new arguments are based
|
||||
on an empty list (the default), the current options (--merge), or the arguments
|
||||
of the loaded kernel (--import-proc-cmdline), and new options either are added to the
|
||||
end (--append="NAME=VALUE") or replace existing arguments of the same name (--replace="NAME=VALUE").
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
</refentry>
|
||||