mirror of https://github.com/archzfs/archzfs
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
24571d1780
|
10 years ago | |
---|---|---|
spl-git | 10 years ago | |
spl-lts | 10 years ago | |
spl-utils-git | 10 years ago | |
spl-utils-lts | 10 years ago | |
zfs-git | 10 years ago | |
zfs-lts | 10 years ago | |
zfs-utils-git | 10 years ago | |
zfs-utils-lts | 10 years ago | |
.gitignore | 10 years ago | |
README.rst | 11 years ago | |
build.sh | 10 years ago | |
conf.sh | 10 years ago | |
lib.sh | 10 years ago | |
push.sh | 11 years ago | |
repo.sh | 10 years ago | |
scraper.sh | 11 years ago | |
verifier.sh | 11 years ago | |
web_archzfs.rst | 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