You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jesus Alvarez 0dfeb814e1 Update git packages for kernel 4.0.1-1 10 years ago
spl-git Update git packages for kernel 4.0.1-1 10 years ago
spl-lts Update lts packages for kernel 3.14.39-1 10 years ago
spl-utils-git Update git packages for kernel 4.0.1-1 10 years ago
spl-utils-lts Update lts packages for kernel 3.14.39-1 10 years ago
zfs-git Update git packages for kernel 4.0.1-1 10 years ago
zfs-lts Update lts packages for kernel 3.14.39-1 10 years ago
zfs-utils-git Update git packages for kernel 4.0.1-1 10 years ago
zfs-utils-lts Update lts packages for kernel 3.14.39-1 10 years ago
.gitignore Update lts packages for kernel 3.14.22-1 10 years ago
README.rst README: Add note about generating git patches 11 years ago
build.sh build.sh: Readd -e 10 years ago
conf.sh Update git packages for kernel 4.0.1-1 10 years ago
lib.sh lib.sh: Fix erroneous error messages in cron 10 years ago
push.sh push.sh: Get package sources from repo path 11 years ago
repo.sh repo.sh: Fix copy of source packages to backup 11 years ago
scraper.sh scraper.sh: Remove run_cmd usage 11 years ago
verifier.sh verifier.sh: Improve debug output 11 years ago
web_archzfs.rst Update webpage with new repo path info 12 years ago

README.rst

Zettabyte File System for Arch Linux
====================================

Homepage: http://demizerone.com/archzfs

These are the sources and packages for the ZFS filesystem support for Arch
Linux.

This repository contains the pacman package sources, pre-built packages, pacman
package repository, and documentation.

--------
Licenses
--------

The license of the Arch Linux package sources is MIT.

The license of ZFS is CDDL.

The license of SPL is LGPL.

------------
Dependencies
------------

``build.sh`` uses clean-chroot-manager_ to build packages in a systemd
namespace container.

--------------------------
How to use this Repository
--------------------------

.. note:: All of these commands require the current directory to be the archzfs
project directory.

1. Set the appropriate variables in conf.sh

* Repository base path

The parent directory of the ``demz-repo-core`` and ``demz-repo-archiso``
repos.

* GPG signing key

Used to sign the packages and repo database.

* Your email address

Used for reporting changes changes in ``scraper.sh``. Mutt and msmtp are
used for sending email. Required only if ``scraper.sh`` or ``verifier.sh``
are going to be used.

* Ssh remote login

Used in ``verifier.sh`` for making sure the local ``demz-repo-*`` are in
sync with the remote repos.

#. Set the appropriate kernel versions in conf.sh.

If the any of the ``*_X*_PKGREL`` variables are changed in ``conf.sh`,` then
``AZB_PKGREL`` must be incremented as well. ``AZB_PKGREL`` controls the top
level ``pkgrel`` inside the PKGBUILDS.

#. Update the PKGBUILDs

Use ``./build update`` to update the PKGBUILDS using the ``conf.sh``
variables.

``./build.sh update-test`` uses the ``AZB_LINUX_TEST_*`` variables. Using
the test values are useful for test building the zfs packages against the
Linux kernel version in the official testing repo. Mostly used on minor
Linux kernel updates (3.12 -> 3.13).

#. Build the packages

Use ``./build.sh make -u`` to build the packages, update the clean chroot in
the process.

It is possible to use ``./build.sh update make -u`` in one shot.

If you want to see command output only, use ``./build.sh make -n``. Add the
``-d`` to see debugging output.

#. Add packages to the repo

Use ``./repo.sh core -n`` to what changes will occur without actually making
them.

``./repo.sh core`` will add the package versions defined by
``AZB_LINUX_VERSION`` to the ``demz-repo-core`` repository.

#. Push the package sources to AUR.

Pushing to AUR using ``push.sh`` requires burp_. Simply use ``./push.sh``
to push the package sources by version (specified by ``AZB_LINUX_VERSION``)
to AUR.

#. Creating a GIT patch

* Clone the ZFS and SPL sources
* Set the paths to the sources in conf.sh
* cd to ZFS git repo and create a new branch "patch_br"
* Use: git rebase -i <hash> to squash all of the commits until the last
release (tagged 0.6.2 currently). Use fixup to discard the commit log
messages.
* git format-patch -1
* Edit the patch and remove uneeded messages or changes
* git co master
* mv 0001* $(git describe --long).patch
* rename the patch adding a "r": zfs-0.6.2-r*
* tar --xz -cvvf zfs.patch.tar.xz zfs.patch
* Copy the patches to the PKGBUILD directories

.. _burp: https://www.archlinux.org/packages/extra/x86_64/burp/
.. _clean-chroot-manager: https://aur.archlinux.org/packages/clean-chroot-manager