[python-larch] Initial import

Michel Alexandre Salim salimma at fedoraproject.org
Sun Sep 16 03:05:12 UTC 2012


commit 3f38abd809a02f93a2a3930b3fadba5f1174d45e
Author: Michel Alexandre Salim <salimma at fedoraproject.org>
Date:   Sun Sep 16 10:04:43 2012 +0700

    Initial import

 .gitignore        |    1 +
 python-larch.spec |  105 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 sources           |    1 +
 3 files changed, 107 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..e3640f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/python-larch_1.20120527.orig.tar.gz
diff --git a/python-larch.spec b/python-larch.spec
new file mode 100644
index 0000000..da550cc
--- /dev/null
+++ b/python-larch.spec
@@ -0,0 +1,105 @@
+%global pkgname larch
+
+Name:           python-%{pkgname}
+Version:        1.20120527
+Release:        3%{?dist}
+Summary:        Python B-tree library
+
+License:        GPLv3+
+URL:            http://liw.fi/%{pkgname}/
+Source0:        http://ftp.debian.org/debian/pool/main/p/%{name}/%{name}_%{version}.orig.tar.gz
+
+BuildArch:      noarch
+# build-time only
+BuildRequires:  cmdtest
+BuildRequires:  python-coverage-test-runner
+BuildRequires:  python-sphinx
+# build- and run-time
+BuildRequires:  python-cliapp
+BuildRequires:  python-tracing
+BuildRequires:  python-ttystatus
+Requires:       python-cliapp
+Requires:       python-tracing
+Requires:       python-ttystatus
+
+%description
+This is an implementation of particular kind of B-tree, based on
+research by Ohad Rodeh. See "B-trees, Shadowing, and Clones" (copied
+here with permission of author) for details on the data
+structure. This is the same data structure that btrfs uses. Note that
+my implementation is independent from the btrfs one, and might differ
+from what the paper describes.
+
+The distinctive feature of this B-tree is that a node is never
+modified (sort-of). Instead, all updates are done by
+copy-on-write. Among other things, this makes it easy to clone a tree,
+and modify only the clone, while other processes access the original
+tree. This is utterly wonderful for my backup application, and that's
+the reason I wrote larch in the first place.
+
+I have tried to keep the implementation generic and flexible, so that
+you may use it in a variety of situations. For example, the tree
+itself does not decide where its nodes are stored: you provide a class
+that does that for it. I have two implementations of the NodeStore
+class, one for in-memory and one for on-disk storage.
+
+The tree attempts to guarantee this: all modifications you make will
+be safely stored in the node store when the larch.Forest.commit method
+is called. After that, unless you actually modify the committed tree
+yourself, it will be safe from further modifications. (You need to
+take care to create a new tree for further modifications, though.)
+
+
+%package        doc
+Summary:        Documentation for %{pkgname}
+Requires:       %{name} = %{version}-%{release}
+
+%description    doc
+This package contains the documentation for %{pkgname}, a Python
+framework for Unix command line programs.
+
+
+%prep
+%setup -q -n %{pkgname}-%{version}
+
+
+%build
+%{__python} setup.py build
+# Build documentation
+make
+
+
+%install
+%{__python} setup.py install -O1 --skip-build --root %{buildroot}
+# manpage not installed automatically yet
+mkdir -p %{buildroot}%{_mandir}/man1
+cp -p fsck-larch.1 %{buildroot}%{_mandir}/man1/
+
+
+%check
+# CoverageTestRunner trips up on build directory;
+# since we've already done the install phase, remove it first
+rm -rf build
+make check
+
+
+%files
+%doc COPYING NEWS README
+%{_mandir}/man1/fsck-larch.1*
+%{_bindir}/fsck-larch
+%{python_sitelib}/*
+
+%files doc
+%doc doc/_build/html/*
+
+
+%changelog
+* Sun Sep 16 2012 Michel Salim <salimma at fedoraproject.org> - 1.20120527-3
+- Switch source URL to Debian servers
+
+* Tue Jun 19 2012 Michel Salim <salimma at fedoraproject.org> - 1.20120527-2
+- Remove redundant %%{python_sitelib} declaration
+- Fix %%check when using latest version of CoverageTestRunner
+
+* Sun Jun  3 2012 Michel Salim <salimma at fedoraproject.org> - 1.20120527-1
+- Initial package
diff --git a/sources b/sources
index e69de29..f30a637 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+9e67344022e4df72c3d56d641152fc29  python-larch_1.20120527.orig.tar.gz


More information about the scm-commits mailing list