Blame man/rofiles-fuse.xml

rpm-build 0fba15
 
rpm-build 0fba15
rpm-build 0fba15
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
rpm-build 0fba15
rpm-build 0fba15
rpm-build 0fba15
Copyright 2016 Colin Walters <walters@verbum.org>
rpm-build 0fba15
rpm-build 0fba15
SPDX-License-Identifier: LGPL-2.0+
rpm-build 0fba15
rpm-build 0fba15
This library is free software; you can redistribute it and/or
rpm-build 0fba15
modify it under the terms of the GNU Lesser General Public
rpm-build 0fba15
License as published by the Free Software Foundation; either
rpm-build 0fba15
version 2 of the License, or (at your option) any later version.
rpm-build 0fba15
rpm-build 0fba15
This library is distributed in the hope that it will be useful,
rpm-build 0fba15
but WITHOUT ANY WARRANTY; without even the implied warranty of
rpm-build 0fba15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
rpm-build 0fba15
Lesser General Public License for more details.
rpm-build 0fba15
rpm-build 0fba15
You should have received a copy of the GNU Lesser General Public
rpm-build 0fba15
License along with this library; if not, write to the
rpm-build 0fba15
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
rpm-build 0fba15
Boston, MA 02111-1307, USA.
rpm-build 0fba15
-->
rpm-build 0fba15
rpm-build 0fba15
<refentry id="ostree">
rpm-build 0fba15
rpm-build 0fba15
    <refentryinfo>
rpm-build 0fba15
        <title>rofiles-fuse</title>
rpm-build 0fba15
        <productname>rofiles-fuse</productname>
rpm-build 0fba15
rpm-build 0fba15
        <authorgroup>
rpm-build 0fba15
            <author>
rpm-build 0fba15
                <contrib>Developer</contrib>
rpm-build 0fba15
                <firstname>Colin</firstname>
rpm-build 0fba15
                <surname>Walters</surname>
rpm-build 0fba15
                <email>walters@verbum.org</email>
rpm-build 0fba15
            </author>
rpm-build 0fba15
        </authorgroup>
rpm-build 0fba15
    </refentryinfo>
rpm-build 0fba15
rpm-build 0fba15
    <refmeta>
rpm-build 0fba15
        <refentrytitle>rofiles-fuse</refentrytitle>
rpm-build 0fba15
        <manvolnum>1</manvolnum>
rpm-build 0fba15
    </refmeta>
rpm-build 0fba15
rpm-build 0fba15
    <refnamediv>
rpm-build 0fba15
        <refname>rofiles-fuse</refname>
rpm-build 0fba15
        <refpurpose>Use FUSE to create a view where directories are writable, files are immutable</refpurpose>
rpm-build 0fba15
    </refnamediv>
rpm-build 0fba15
rpm-build 0fba15
    <refsynopsisdiv>
rpm-build 0fba15
      <cmdsynopsis>
rpm-build 0fba15
        <command>rofiles-fuse SRCDIR MNTPOINT</command>
rpm-build 0fba15
      </cmdsynopsis>
rpm-build 0fba15
    </refsynopsisdiv>
rpm-build 0fba15
rpm-build 0fba15
    <refsect1>
rpm-build 0fba15
        <title>Description</title>
rpm-build 0fba15
rpm-build 0fba15
        <para>
rpm-build 0fba15
	  Creating a checkout from an OSTree repository by default
rpm-build 0fba15
	  uses hard links, which means an in-place mutation to any
rpm-build 0fba15
	  file corrupts the repository and all checkouts.  This can be
rpm-build 0fba15
	  problematic if one wishes to run arbitrary programs against
rpm-build 0fba15
	  such a checkout.  For example, RPM <literal>%post</literal>
rpm-build 0fba15
	  scripts or equivalent.
rpm-build 0fba15
	</para>
rpm-build 0fba15
rpm-build 0fba15
	<para>
rpm-build 0fba15
	  In the case where one wants to create a tree commit derived
rpm-build 0fba15
	  from other content, using <command>rofiles-fuse</command> in
rpm-build 0fba15
	  concert with <command>ostree commit
rpm-build 0fba15
	  --link-checkout-speedup</command> (or the underlying API)
rpm-build 0fba15
	  can ensure that only new files are checksummed.
rpm-build 0fba15
	</para>
rpm-build 0fba15
	  
rpm-build 0fba15
    </refsect1>
rpm-build 0fba15
rpm-build 0fba15
    <refsect1>
rpm-build 0fba15
        <title>Example: Update an OSTree commit</title>
rpm-build 0fba15
	<programlisting>
rpm-build 0fba15
# Initialize a checkout and mount
rpm-build 0fba15
$ ostree --repo=repo checkout somebranch branch-checkout
rpm-build 0fba15
$ mkdir mnt
rpm-build 0fba15
$ rofiles-fuse branch-checkout mnt
rpm-build 0fba15
rpm-build 0fba15
# Now, arbitrary changes to mnt/ are reflected in branch-checkout
rpm-build 0fba15
$ echo somenewcontent > mnt/anewfile
rpm-build 0fba15
$ mkdir mnt/anewdir
rpm-build 0fba15
$ rm mnt/someoriginalcontent -rf
rpm-build 0fba15
rpm-build 0fba15
# Commit and cleanup
rpm-build 0fba15
$ fusermount -u mnt
rpm-build 0fba15
$ ostree --repo=repo commit --link-checkout-speedup -b somebranch -s 'Commit new content' --tree=dir=branch-checkout
rpm-build 0fba15
$ rm mnt branch-checkout -rf
rpm-build 0fba15
	</programlisting>
rpm-build 0fba15
    </refsect1>
rpm-build 0fba15
rpm-build 0fba15
    <refsect1>
rpm-build 0fba15
        <title>See Also</title>
rpm-build 0fba15
        <para>
rpm-build 0fba15
            <citerefentry><refentrytitle>ostree</refentrytitle><manvolnum>1</manvolnum></citerefentry>
rpm-build 0fba15
        </para>
rpm-build 0fba15
    </refsect1>
rpm-build 0fba15
</refentry>