Update ZFS 0.6.0-rc13-2 with Kernel 3.6.11

* Add support for i686 packages
* Adjust URL to new location
pull/7/head
Jesus Alvarez 12 years ago
parent 67bc9fa206
commit e473306f76
  1. 1
      core/i686/archzfs.db
  2. 1
      core/i686/archzfs.db.sig
  3. BIN
      core/i686/archzfs.db.tar.xz
  4. BIN
      core/i686/archzfs.db.tar.xz.sig
  5. BIN
      core/x86_64/archzfs.db.tar.xz
  6. BIN
      core/x86_64/archzfs.db.tar.xz.old
  7. BIN
      core/x86_64/archzfs.db.tar.xz.old.sig
  8. BIN
      core/x86_64/archzfs.db.tar.xz.sig
  9. 6
      devsrc/spl-utils/PKGBUILD
  10. 6
      devsrc/spl/PKGBUILD
  11. 2
      devsrc/spl/spl.install
  12. 6
      devsrc/zfs-utils/PKGBUILD
  13. 6
      devsrc/zfs/PKGBUILD
  14. 2
      devsrc/zfs/zfs.install
  15. 210
      web_archzfs.rst

@ -0,0 +1 @@
archzfs.db.tar.xz

@ -0,0 +1 @@
archzfs.db.tar.xz.sig

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -2,11 +2,11 @@
# Contributor: Kyle Fuller <inbox at kylefuller dot co dot uk>
pkgname=('spl-utils')
pkgver=0.6.0_rc13_3.6.10
pkgver=0.6.0_rc13_3.6.11
pkgrel=2
pkgdesc='Solaris Porting Layer kernel module support files.'
depends=('linux=3.6.10')
makedepends=('linux-headers=3.6.10')
depends=('linux=3.6.11')
makedepends=('linux-headers=3.6.11')
arch=('i686' 'x86_64')
url='http://zfsonlinux.org/'
source=(http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc13.tar.gz

@ -2,11 +2,11 @@
# Contributor: Kyle Fuller <inbox at kylefuller dot co dot uk>
pkgname=('spl')
pkgver=0.6.0_rc13_3.6.10
pkgver=0.6.0_rc13_3.6.11
pkgrel=2
pkgdesc='Solaris Porting Layer kernel modules.'
depends=('spl-utils=0.6.0_rc13_3.6.10' 'linux=3.6.10')
makedepends=('linux-headers=3.6.10')
depends=('spl-utils=0.6.0_rc13_3.6.11' 'linux=3.6.11')
makedepends=('linux-headers=3.6.11')
arch=('i686' 'x86_64')
url='http://zfsonlinux.org/'
source=(http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc13.tar.gz)

@ -1,4 +1,4 @@
KERNEL_VERSION=3.6.10-1-ARCH
KERNEL_VERSION=3.6.11-1-ARCH
post_install() {
check_hostid

@ -2,11 +2,11 @@
# Contributor: Kyle Fuller <inbox at kylefuller dot co dot uk>
pkgname=('zfs-utils')
pkgver=0.6.0_rc13_3.6.10
pkgver=0.6.0_rc13_3.6.11
pkgrel=2
pkgdesc="Kernel module support files for the Zettabyte File System."
depends=('spl=0.6.0_rc13_3.6.10' 'linux=3.6.10')
makedepends=('linux-headers=3.6.10')
depends=('spl=0.6.0_rc13_3.6.11' 'linux=3.6.11')
makedepends=('linux-headers=3.6.11')
arch=('i686' 'x86_64')
url='http://zfsonlinux.org/'
source=(http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc13.tar.gz

@ -2,11 +2,11 @@
# Contributor: Kyle Fuller <inbox at kylefuller dot co dot uk>
pkgname=('zfs')
pkgver=0.6.0_rc13_3.6.10
pkgver=0.6.0_rc13_3.6.11
pkgrel=2
pkgdesc="Kernel modules for the Zettabyte File System."
depends=('spl=0.6.0_rc13_3.6.10' 'zfs-utils=0.6.0_rc13_3.6.10' 'linux=3.6.10')
makedepends=('linux-headers=3.6.10')
depends=('spl=0.6.0_rc13_3.6.11' 'zfs-utils=0.6.0_rc13_3.6.11' 'linux=3.6.11')
makedepends=('linux-headers=3.6.11')
arch=('i686' 'x86_64')
url='http://zfsonlinux.org/'
source=(http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc13.tar.gz)

@ -1,4 +1,4 @@
KERNEL_VERSION=3.6.10-1-ARCH
KERNEL_VERSION=3.6.11-1-ARCH
post_install() {
check_initramfs

@ -1,7 +1,7 @@
======================================
Arch ZFS - ZFS On Linux Kernel Modules
======================================
:Modified: Fri Jan 04 18:53:20 PST 2013
:Modified: Fri Jan 18 22:45:35 PST 2013
:status: hidden
:slug: archzfs
@ -11,9 +11,9 @@ Arch ZFS - ZFS On Linux Kernel Modules
change was necessary to add support for a testing repository.
This is the official web page of the Arch ZFS kernel module packages for native
ZFS on Linux. Here you can find pacman package sources and pre-built x86_64
packages. For effortless package installation and updates, it is possible to
add the unofficial repository to your pacman.conf. There is also a special
ZFS on Linux. Here you can find pacman package sources and pre-built x86_64 and
i686 packages. For effortless package installation and updates, it is possible
to add the unofficial repository to your pacman.conf. There is also a special
repository for using ZFS with the archiso install media for installing arch
onto a ZFS root filesystem, or doing emergency maintenance. To see the package
sources and repository development history, see archzfs-github_.
@ -27,10 +27,10 @@ sources and repository development history, see archzfs-github_.
packages.
32bit support for ZFS on Linux is unstable due to inconsistencies in memory
management between the Solaris kernel and the Linux kernel. For this reason,
**the ZFS packages for Arch Linux do not yet support i686**. However, 32bit
support will be added in the future for those brave enough to face the
consequences. See `ZFS on Linux FAQ - 64bit`_
management between the Solaris kernel and the Linux kernel. See `ZFS on Linux
FAQ - 64bit`_ However, users have reported on the AUR ZFS page of running ZFS
with compiled 32bit packages without any problems. For this reason, ZFS on Arch
Linux does support i686.
The archzfs repository and packages are signed, but the key is not trusted by
any of the Arch Linux master keys. You will have to locally sign the key and
@ -200,17 +200,15 @@ Perform pacman update and restart
# pacman -Syu
# systemctl restart
Create a new branch in git
==========================
(optional)
Create a new branch in git (optional)
=====================================
The new git branch should be name for the current version of the ZFS on Linux
project and the Linux Kernel version it will target.
.. code-block:: console
$ git checkout -b zfs-0.6.0-rc12-linux-3.7.X
$ git checkout -b zfs-0.6.0-rc13-linux-3.7.X
This branch has 'X' as the last revision number because when a minor point
release kernel is released, such as 3.7, it can take a while for it to move
@ -220,130 +218,180 @@ revisions.
Update the ZFS PKGBUILDs
========================
1. Change ``pkgrel``.
1. Update ``pkgrel``.
This step is only necessary if the upstream ZFS version has changed. If this
is the case, the ``pkgrel`` should also be changed to ``1``.
#. Change the kernel versions to the targeted kernel version.
#. Update ``md5sums`` with ``makepkg -g``.
DON'T forget to update the version information for depmod in the spl.install
and zfs.install files! If forgotten, this will report errors after
installation and lead to the kernel modules not loading properly.
This step is only necessary if the upstream ZFS version has changed. If this
is the case, the ``pkgrel`` should also be changed to ``1``.
#. It is not necessary to update the packages sums as the pbldr build tool does
that automatically.
Building the packages
=====================
Building the packages requires that the devtools_ package be installed. This
section assumes the host system is of x86_64 architecture.
The pbldr tool builds i686 and x86_64 packages in a clean chroot environment.
This method requires 5-10GB of space and some setup time in order to work
properly. The size is largely determined by the number of chroots you have. On
my system I have four copies and two root copies, totaling 13GB.
Creating the chroot environment
-------------------------------
Building archzfs
================
The steps below outline the creation of the of the chroot root copy that a
clean chroot is made from using rsync. This root environment is only used as a
pristine copy, no packages are installed or built inside the root copy.
Go into each package directory in order: spl-utils, spl, zfs-utils, zfs and use
makepkg to build the packages:
You can adjust the variables used by pbldr when working with chroot
environments with the config.json configuration file in the project root
directory, or you can pass them as arguments to the script.
32bit chroot environment
~~~~~~~~~~~~~~~~~~~~~~~~
See `Buldinig 32-bit packages on a 64-bit system`_ for more information. While
this wiki article can be used as a reference, the pbldr tool expects the
directory structure defined in the following code block.
.. code-block:: console
$ makepkg -sfic
# mkdir -p /opt/chroot/{i686,x86_64}
# setarch i686 mkarchroot -C "/usr/share/devtools/pacman-extra.conf" \
-M "/usr/share/devtools/makepkg-i686.conf" /opt/chroot/i686 base base-devel sudo
.. note:: If either SPL or ZFS do not build due to kernel incompatibilities,
patches will be needed to allow building to continue. See `Patching
ZFS`_.
Edit pacman.conf and makepkg.conf and adjust to your desire. Specifically, the
packager and host fields.
Start the ZFS service
---------------------
.. code-block:: console
This step is not necessary if you are using ZFS as root.
# vim /opt/chroot/i686/root/etc/makepkg.conf \
/opt/chroot/i686/root/etc/pacman.conf
It is necessary to periodically perform updates to the chroot root copy, to do
this, you will have to chroot into the root copy and perform the update. This
same method is used to install new packages in the root copy.
.. code-block:: console
# systemctl daemon-reload
# zpool import -a
# systemctl start zfs
# linux32 arch-chroot /opt/chroot/i686/root /bin/bash
# pacman -Syu
# pacman -S <package>
# exit
Add packages to repository
--------------------------
64bit chroot environment
~~~~~~~~~~~~~~~~~~~~~~~~
This is done using the ``repo_add.py`` python script for efficiency. It can be
found `here <https://github.com/demizer/binfiles>`_.
The procedure for creating the 64bit chroot root environment is nearly
identical to the commands used to create the 32bit chroot environment.
.. code-block:: console
$ repo_add.py -r archzfs -v rc12-9
# mkarchroot -C "/usr/share/devtools/pacman-multilib.conf" \
-M "/usr/share/devtools/makepkg-x86_64.conf" /opt/chroot/x86_64 base \
multilib-devel sudo
Testing
-------
Edit pacman.conf and makepkg.conf and adjust to your desire. Specifically, the
packager and host fields.
Reboot to make sure the ZFS packages are used after a system boot and the
systemd file is in working order. Also sync the updates to other local systems
to make sure the updated packages are picked up by pacman and install properly.
.. code-block:: console
Commit changes to git
---------------------
# vim /opt/chroot/x86_64/root/etc/makepkg.conf /opt/chroot/x86_64/root/etc/pacman.conf
Add PKGBUILD.py and archzfs/ to the index and commit the changes with
Periodically it is necessary to perform updates to the chroot root copy, to do
this, you will have to chroot into the root copy and perform the update. This
is the same method used to install new packages in the root copy.
.. code-block:: console
git commit -m "Update to ZFS version 0.6.0-rc12-8 and linux-3.7"
# arch-chroot /opt/chroot/x86_64/root /bin/bash
# pacman -Syu
# pacman -S <package>
# exit
.. note:: "-8" at the end of the ZFS version is the pkgrel.
Build the packages
------------------
Now tag the commit on the master branch
To build all the packages in devsrc, simply use,
.. code-block:: console
git tag 0.6.0-rc12\_6-linux-3.6.9 -as -m "Support for zfs-0.6.0-rc12\_6 and Kernel 3.6.9"
# pbldr build -c
Update the webpage
==================
To only build spl and spl-utils, use
Open the command terminal and cd to the webpage repository powered by Pelican.
Use make to generate the updated website:
.. code-block:: console
# pbldr -p spl build -p spl-utils -c
This command will build i686 and x86_64 packages in a clean chroot copy. In
this case /opt/chroot/i686/zfs32 for 32bit.
The built packages are output to ./stage/spl-<version>/\*. Inspect them in the
usual manner, namcap, pacman -Qi/-Ql, and so on. Once it is determined they are
ready to be added to the repository, use the following command:
.. code-block:: console
make publish
$ pbldr repo
then push the changes with rsync,
Or, in the case of building packages for the archiso, you can use,
.. code-block:: console
./push_archzfs.sh -n
$ pbldr repo -t archiso
'-n' is used to verify the files being pushed are correct. Once that is done,
re-use the command without the dry-run argument.
The packages are added to the repository and now the entire project directory
can be rsync'd to a web host for hosting.
Anoucement template
===================
AUR
---
Start the ZFS service
---------------------
The packages have been updated for kernel 3.6.7.
This step is not necessary if you are using ZFS as root.
If you installed the packages from AUR, you will need to first remove the zfs
and spl packages:
.. code-block:: console
# pacman -Rsc spl-utils
# systemctl daemon-reload
# zpool import -a
# systemctl start zfs
and then update the kernel:
Commit changes to git
---------------------
# pacman -S linux linux-headers
Add PKGBUILD.py and archzfs/ to the index and commit the changes with
You will now have to restart your system.
.. code-block:: console
Once your system is back up, you can proceed with building and installing zfs
and spl, in the following order: spl-utils, spl, zfs-utils, and zfs. Then
restart, or:
$ git commit -m "Update to ZFS version 0.6.0-rc13-1 and linux-3.7.2"
# modprobe zfs spl
.. note:: "-1" at the end of the ZFS version is the pkgrel.
You could also use the prebuilt signed repository available at
http://demizerone.com/archzfs and you will not have to remove the packages,
update the kernel, and restart before performing the update.
Update the webpage
==================
Also, these new packages now have a group, 'arch-zfs'. So next time you could
remove the packages with just:
Open the command terminal and cd to the webpage repository powered by Pelican.
Use make to generate the updated website:
# pacman -R arch-zfs
.. code-block:: console
If usig the signed repository, you can now install all the packages with:
$ make publish
# pacman -S arch-zfs
then push the changes with rsync,
.. code-block:: console
$ ./push_archzfs.sh -n
'-n' is used to verify the files being pushed are correct. Once that is done,
re-use the command without the dry-run argument.
.. _Patching ZFS:
@ -403,3 +451,5 @@ Finally, generate the new patch.
.. _pacman-key: https://wiki.archlinux.org/index.php/Pacman-key
.. _pacman.conf: https://www.archlinux.org/pacman/pacman.conf.5.html#_package_and_database_signature_checking
.. _ZFS on Linux FAQ - 64bit: http://zfsonlinux.org/faq.html#WhyShouldIUseA64BitSystem
.. _devtools: https://www.archlinux.org/packages/extra/any/devtools
.. _Buldinig 32-bit packages on a 64-bit system: https://wiki.archlinux.org/index.php/Building_32-bit_packages_on_a_64-bit_system

Loading…
Cancel
Save