Am 14.12.16 um 05:57 schrieb Benjamin Kaduk:
The OpenAFS Guardians are hapy to announce the availability of the first
prerelease candidate of OpenAFS 1.8.0.

A large number of bugfixes and new features are included, and there are also
behavior and functional changes that may require administrator action as
part of the upgrade; please consult the release notes for details.

I was looking for the release-notes, but didn't find them - but I wanted to try the client-bit myself, so this is my "story". I guess this is more of a "success" story, than a bug, so I'll provide my feedback (little as it may be) here, in case it may be helpful to anybody.

I used the Debian-Git-Repository of OpenAFS to build a package that can be installed on Ubuntu 14.04, which we use on most of our Linux-Clients.

The procedure wasn't quite straight-forward, and I can make no promises that I did everything completely right - however, it runs for me now, and seems to work. So far, I tested only the client-part of OpenAFS 1.8. The servers are still 1.6.18 (or so - the version from jessie-backports).

This is as much a reference for myself, what I actually did, because I didn't find anywhere a description, how to build a Debian-Package (not even a generic one)... At least I eventually found that there's a program "dpkg-build-package", which does most of the job.

Building a .deb-package with dpkg-buildpackage didn’t (quite) work with an AFS-Home-directory, the build got stuck at "chown" - seems like the "fakeroot" didn’t quite do what it was supposed to, so I started over in /var/tmp...

cd /var/tmp
git clone https://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git
cd openafs
git checkout $(git tag|grep debian/1.8|tail -1)
sudo apt-get build-dep openafs
sudo apt-get install debian-keyring heimdal-multidev libperl-dev
dpkg-buildpackage -d -b -uc -us
sed -i s/rk_base64_/base64_/ src/auth/userok.c
dpkg-buildpackage -d -b -uc -us -nc
rm debian/tmp/usr/lib/perl/ukernel.so debian/tmp/usr/lib/perl/AFS/ukernel.pm
sed -i 's/dh_strip --dbgsym-migration/dh_strip #--dbgsym-migration/' 
debian/rules
dpkg-buildpackage -d -b -uc -us -nc
cd ..

Now the building itself is finished. Next install it...

sudo dpkg -i openafs-modules-dkms_1.8.0*_all.deb openafs-krb5_1.8.0*_amd64.deb 
openafs-client_1.8.0*_amd64.deb
sudo rm -rf /var/cache/openafs/* /var/cache/openafs-client
sudo reboot

Some comments:
- The original openafs-source is missing the "debian"-subdirectory which contains the pre-defined rules for "Configure". I could probably have done it manually, but since the Debian-Git already contains everything, I used that as a starting point.

- The "checkout" line tells git to use the 1.8.<most recent> tree, instead of the 1.6.20 tree

- the "build-dep" for openafs is not sufficient, because it takes only OpenAFS 1.6.X into account, so two more packages are needsd. I don't remember, why I put "debian-keyring" also into the list. I remember it was needed for SOMEthing, but not if it was for this build.

- The parameters -uc and -us "dpkg-buildpackage" (unsigned source, unsigned .changes) are probably not needed any more, because I told it to only create binary packages anyways, the "-d" tells it to ignore pre-depends, it wouldn't build on Ubuntu 14.04 otherwise, and the "-b" tells it to only create binary packages, no source-packages.

- Something in the debian/rules makes it garble the file "src/auth/userok.c", which fixes the following sed-line. The file is ok before I called the dpkg-buildpackage -- probably some difference between Debian and Ubuntu

- The next call to "dpkg-buildpackage" includes the parameter "-nc", to not clear the source-tree, otherwise it would have to rebuild some things that it already built.

- Two files are generated (or copied) during the build, which need to be removed (ukernel.so and ukernel.pm), otherwise it won't continue. The "rm" takes care of that. Also, the command dh_strip, which is called towards the end of the dpkg-buildpackage doesn't know the parameter --dbgsym-migration under Ubuntu, so just comment it out with sed.

- The third run of "dpkg-buildpackage" continues until the end and produces the final package-files in /var/tmp

- Next I installed with "dpkg -i" the three packages that are needed for a client-install and courageously rebooted - only to find out that AFS wasn't find my home-dir. (All other directories were working fine, except the one above my homedir and my homedir...)

- Any combination of "fs flush" "fs flushmount" and "fs flushall" didn't help either, so I manually cleared out the AFS-cache and restarted again.

- Current state: AFS apparently working. Didn't use it as a "real" (graphical) home-directory yet, because I did all this remotely, but copying files to and from the AFS seems to work fine.


In case anybody can (or wants to) make use of these packages, I copied them to the AFS in the publicly accessible directory

/afs/math.uni-hamburg.de/public/fmsv030/openafs-1.8.0~pre1-5_amd64_Ubuntu-14.04

As the directory-name suggests: the packages are only for 64bit Ubuntu 14.04 - no guarantees are made that it won't break anything for you, the packages are unsigned (I think) and I only tested the client, not the server-part.


Greetings, and a Happy New Year,
Gaja Peters

_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to