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 d86f547f29 Update README 10 years ago
spl-git@2bd3aa4055 Add support for aur4 10 years ago
spl-lts@d73d02e8a8 Update lts packages for kernel 3.14.46-1 10 years ago
spl-utils-git@c32d163bfd Add support for aur4 10 years ago
spl-utils-lts@790fad63b3 Update lts packages for kernel 3.14.46-1 10 years ago
zfs-git@2deb085c92 Add support for aur4 10 years ago
zfs-lts@28a965b816 Update lts packages for kernel 3.14.46-1 10 years ago
zfs-utils-git@c9ee3d6853 Add support for aur4 10 years ago
zfs-utils-lts@830dd4e29e Update lts packages for kernel 3.14.46-1 10 years ago
.gitignore Add support for aur4 10 years ago
.gitmodules Set ssh submodule urls 10 years ago
README.rst Update README 10 years ago
build.sh Add support for aur4 10 years ago
conf.sh Update lts packages for kernel 3.14.46-1 10 years ago
lib.sh Fix lts pkgrel in pkgver 10 years ago
push.sh push.sh: Fix kernel version variable substitution 10 years ago
repo.sh repo.sh: Change package location search order 10 years ago
scraper.sh scraper.sh: Fix send_email command for ZOL check 10 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
====================================

This project contains the build scripts for archzfs. Two types of packages are
supported, Git packages and LTS packages.

The Git packages include zfs-git, zfs-utils-git, spl-git, and spl-utils-git.
These track the mainline kernel releases in arch. Since Arch is bleeding edge,
so too are these packages. They usually pull from zfsonlinux master branch up
to the latest commit that add supports for latest kernel version.

The LTS packages include zfs-lts, zfs-utils-lts, spl-lts, and spl-utils-lts.
These track the linux-lts packages in arch and are only built using stable
zfsonlinux releases. These packages are the best bet for those concerned with
stability.

These packages must be re-built for each kernel release.

--------
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
--------------------------

Clone
+++++

.. code:: console

git clone https://github.com/archzfs/archzfs.git --recursive

Update
++++++

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.

#. Update the PKGBUILDs

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

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

``./build.sh (git|lts) 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 (git|lts) make -u`` to build the packages, update the clean
chroot in the process.

It is possible to use ``./build.sh (git|lts) update make -u`` in one shot.

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

#. Add packages to the repo

Use ``./repo.sh (git|lts) core -n`` to what changes will occur without
actually making them.

``./repo.sh (git|lts) core`` will add the package versions defined by
``AZB_LINUX_VERSION`` to the ``demz-repo-core`` repository.

#. Push the package sources to AUR.

Push to AUR4 using ``push.sh (git|lts) aur4``. This commits the latest
changes to each individual package repo (for AUR) and uses ``git push`` to
push to AUR.

.. _clean-chroot-manager: https://aur.archlinux.org/packages/clean-chroot-manager