Skip to content

Package and repository sources for ZFS on Arch Linux

Notifications You must be signed in to change notification settings

lancechentw/archzfs

 
 

Repository files navigation

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.

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

  3. 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).

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

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

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

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

About

Package and repository sources for ZFS on Arch Linux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%