Hi, while apreciating you openafs ebuild existence, I never dared to install it. I use IBM afs and later on openafs some 8 years ... Briefly inspecting all openafs records in bugzilla, I see there's fortunately not many users and second some also have problems with incomplete docs. In general, everyone read IBM docs or WiKi docs at www.openafs.org. I try to update the Wiki pages time to time. I've found on the openafs-devel list, that although openafs installs partly into /usr/local and other places, no-one uses that. It sucks to have things in non-standard places if docs availabe talk about /usr/vice/ and /usr/afs. I have installed openafs manually, using the traditional IBM AFS docs on my gentoo box. I wanted to update findutils, and what a surprise, openafs get's installed. Grrr. So, now you know why I'm here. ;) make[1]: Leaving directory `/var/tmp/portage/openafs-1.2.10-r1/work/openafs-1.2.10' man: prepallstrip: strip: strip: etc/afs/afsws/backup etc/afs/afsws/butc etc/afs/afsws/copyauth etc/afs/afsws/fms etc/afs/afsws/fstrace etc/afs/afsws/kadb_check etc/afs/afsws/kas etc/afs/afsws/kdb etc/afs/afsws/kdump-2.4.28-pre3 etc/afs/afsws/kpwvalid etc/afs/afsws/kseal etc/afs/afsws/prdb_check etc/afs/afsws/read_tape etc/afs/afsws/restorevol etc/afs/afsws/rmtsysd etc/afs/afsws/rxdebug etc/afs/afsws/uss etc/afs/afsws/vldb_check etc/afs/afsws/vldb_convert etc/afs/afsws/vos etc/afs/afsws/vsys usr/sbin/afsd usr/afsws/bin/afsmonitor usr/afsws/bin/bos usr/afsws/bin/cmdebug usr/afsws/bin/compile_et usr/afsws/bin/dlog usr/afsws/bin/dpass usr/afsws/bin/fs usr/afsws/bin/install usr/afsws/bin/klog usr/afsws/bin/klog.krb usr/afsws/bin/knfs usr/afsws/bin/kpasswd usr/afsws/bin/kpwvalid usr/afsws/bin/livesys usr/afsws/bin/pagsh usr/afsws/bin/pagsh.krb usr/afsws/bin/pts usr/afsws/bin/rxgen usr/afsws/bin/scout usr/afsws/bin/sys usr/afsws/bin/tokens usr/afsws/bin/tokens.krb usr/afsws/bin/translate_et usr/afsws/bin/udebug usr/afsws/bin/unlog usr/afsws/bin/up usr/afsws/bin/xstat_cm_test usr/afsws/bin/xstat_fs_test usr/afsws/lib/pam_afs.so.1 usr/afsws/lib/pam_afs.so.1 will contain runtime text relocations usr/afsws/lib/pam_afs.krb.so.1 usr/afsws/lib/pam_afs.krb.so.1 will contain runtime text relocations usr/afsws/lib/libafsrpc.so.1.0 usr/afsws/lib/libafsrpc.so.1.0 will contain runtime text relocations usr/afsws/lib/libafsauthent.so.1.0 usr/afsws/lib/libafsauthent.so.1.0 will contain runtime text relocations usr/afs/bin/bos usr/afs/bin/bos_util usr/afs/bin/bosserver usr/afs/bin/buserver usr/afs/bin/fileserver usr/afs/bin/fs usr/afs/bin/kas usr/afs/bin/kaserver usr/afs/bin/klog usr/afs/bin/klog.krb usr/afs/bin/kpwvalid usr/afs/bin/pt_util usr/afs/bin/pts usr/afs/bin/ptserver usr/afs/bin/salvager usr/afs/bin/tokens usr/afs/bin/tokens.krb usr/afs/bin/udebug usr/afs/bin/upclient usr/afs/bin/upserver usr/afs/bin/vlserver usr/afs/bin/volinfo usr/afs/bin/volserver usr/afs/bin/vos >>> Completed installing into /var/tmp/portage/openafs-1.2.10-r1/image/ >>> Merging net-fs/openafs-1.2.10-r1 to / --- /etc/ >>> /etc/afs/ >>> /etc/afs/modload/ >>> /etc/afs/modload/libafs-2.4.28-pre3.mp.o >>> /etc/afs/C/ >>> /etc/afs/C/afszcm.cat >>> /etc/afs/ThisCell >>> /etc/afs/CellServDB >>> /etc/afs/afs.conf >>> /etc/afs/afsws/ >>> /etc/afs/afsws/backup >>> /etc/afs/afsws/butc >>> /etc/afs/afsws/copyauth >>> /etc/afs/afsws/fms >>> /etc/afs/afsws/fstrace >>> /etc/afs/afsws/kadb_check >>> /etc/afs/afsws/kas >>> /etc/afs/afsws/kdb >>> /etc/afs/afsws/kdump >>> /etc/afs/afsws/kdump-2.4.28-pre3 >>> /etc/afs/afsws/kpwvalid >>> /etc/afs/afsws/kseal >>> /etc/afs/afsws/prdb_check >>> /etc/afs/afsws/read_tape >>> /etc/afs/afsws/restorevol >>> /etc/afs/afsws/rmtsysd >>> /etc/afs/afsws/rxdebug >>> /etc/afs/afsws/uss >>> /etc/afs/afsws/vldb_check >>> /etc/afs/afsws/vldb_convert >>> /etc/afs/afsws/vos >>> /etc/afs/afsws/vsys --- /etc/init.d/ >>> /etc/init.d/._cfg0000_afs --- /etc/env.d/ >>> /etc/env.d/01openafs --- /usr/ --- /usr/sbin/ >>> /usr/sbin/afsd --- /usr/afsws/ >>> /usr/afsws/bin/ >>> /usr/afsws/bin/afsmonitor >>> /usr/afsws/bin/bos >>> /usr/afsws/bin/cmdebug >>> /usr/afsws/bin/compile_et >>> /usr/afsws/bin/dlog >>> /usr/afsws/bin/dpass >>> /usr/afsws/bin/fs >>> /usr/afsws/bin/install >>> /usr/afsws/bin/klog >>> /usr/afsws/bin/klog.krb >>> /usr/afsws/bin/knfs >>> /usr/afsws/bin/kpasswd >>> /usr/afsws/bin/kpwvalid >>> /usr/afsws/bin/livesys >>> /usr/afsws/bin/pagsh >>> /usr/afsws/bin/pagsh.krb >>> /usr/afsws/bin/pts >>> /usr/afsws/bin/rxgen >>> /usr/afsws/bin/scout >>> /usr/afsws/bin/sys >>> /usr/afsws/bin/tokens >>> /usr/afsws/bin/tokens.krb >>> /usr/afsws/bin/translate_et >>> /usr/afsws/bin/udebug >>> /usr/afsws/bin/unlog >>> /usr/afsws/bin/up >>> /usr/afsws/bin/xstat_cm_test >>> /usr/afsws/bin/xstat_fs_test >>> /usr/afsws/include/ >>> /usr/afsws/include/afs/ >>> /usr/afsws/include/afs/param.h >>> /usr/afsws/include/afs/stds.h >>> /usr/afsws/include/afs/afs_sysnames.h >>> /usr/afsws/include/afs/afs_args.h >>> /usr/afsws/include/afs/icl.h >>> /usr/afsws/include/afs/venus.h >>> /usr/afsws/include/afs/debug.h >>> /usr/afsws/include/afs/gtxdumbwin.h >>> /usr/afsws/include/afs/procmgmt.h >>> /usr/afsws/include/afs/gtxframe.h >>> /usr/afsws/include/afs/dirpath.h >>> /usr/afsws/include/afs/vnode.h >>> /usr/afsws/include/afs/pthread_nosigs.h >>> /usr/afsws/include/afs/gtxinput.h >>> /usr/afsws/include/afs/assert.h >>> /usr/afsws/include/afs/gtxkeymap.h >>> /usr/afsws/include/afs/errors.h >>> /usr/afsws/include/afs/gtxlightobj.h >>> /usr/afsws/include/afs/vice.h >>> /usr/afsws/include/afs/gtxobjdict.h >>> /usr/afsws/include/afs/remote.h >>> /usr/afsws/include/afs/gtxobjects.h >>> /usr/afsws/include/afs/ktime.h >>> /usr/afsws/include/afs/gtxtextcb.h >>> /usr/afsws/include/afs/fileutil.h >>> /usr/afsws/include/afs/gtxtextobj.h >>> /usr/afsws/include/afs/netutils.h >>> /usr/afsws/include/afs/gtxwindows.h >>> /usr/afsws/include/afs/packages.h >>> /usr/afsws/include/afs/fsprobe.h >>> /usr/afsws/include/afs/afsutil.h >>> /usr/afsws/include/afs/nfs.h >>> /usr/afsws/include/afs/pthread_glock.h >>> /usr/afsws/include/afs/viceinode.h >>> /usr/afsws/include/afs/afs_atomlist.h >>> /usr/afsws/include/afs/bosint.h >>> /usr/afsws/include/afs/afs_lhash.h >>> /usr/afsws/include/afs/bnode.h >>> /usr/afsws/include/afs/softsig.h >>> /usr/afsws/include/afs/xstat_fs.h >>> /usr/afsws/include/afs/com_err.h >>> /usr/afsws/include/afs/fs_stats.h >>> /usr/afsws/include/afs/error_table.h >>> /usr/afsws/include/afs/volser.h >>> /usr/afsws/include/afs/mit-sipb-cr.h >>> /usr/afsws/include/afs/xstat_cm.h >>> /usr/afsws/include/afs/cmd.h >>> /usr/afsws/include/afs/volint.h >>> /usr/afsws/include/afs/rxgen_consts.h >>> /usr/afsws/include/afs/afs_Admin.h >>> /usr/afsws/include/afs/afsint.h >>> /usr/afsws/include/afs/afs_utilAdmin.h >>> /usr/afsws/include/afs/afscbint.h >>> /usr/afsws/include/afs/gtxX11win.h >>> /usr/afsws/include/afs/afssyscalls.h >>> /usr/afsws/include/afs/afs_vosAdmin.h >>> /usr/afsws/include/afs/audit.h >>> /usr/afsws/include/afs/afs_clientAdmin.h >>> /usr/afsws/include/afs/keys.h >>> /usr/afsws/include/afs/afs_kasAdmin.h >>> /usr/afsws/include/afs/cellconfig.h >>> /usr/afsws/include/afs/afs_ptsAdmin.h >>> /usr/afsws/include/afs/auth.h >>> /usr/afsws/include/afs/afs_bosAdmin.h >>> /usr/afsws/include/afs/prclient.h >>> /usr/afsws/include/afs/afs_cfgAdmin.h >>> /usr/afsws/include/afs/prerror.h >>> /usr/afsws/include/afs/print.h >>> /usr/afsws/include/afs/prserver.h >>> /usr/afsws/include/afs/ptclient.h >>> /usr/afsws/include/afs/pterror.h >>> /usr/afsws/include/afs/ptint.h >>> /usr/afsws/include/afs/ptserver.h >>> /usr/afsws/include/afs/acl.h >>> /usr/afsws/include/afs/prs_fs.h >>> /usr/afsws/include/afs/kautils.h >>> /usr/afsws/include/afs/kauth.h >>> /usr/afsws/include/afs/kaport.h >>> /usr/afsws/include/afs/bumon.h >>> /usr/afsws/include/afs/butc.h >>> /usr/afsws/include/afs/bubasics.h >>> /usr/afsws/include/afs/tcdata.h >>> /usr/afsws/include/afs/butm.h >>> /usr/afsws/include/afs/butx.h >>> /usr/afsws/include/afs/usd.h >>> /usr/afsws/include/afs/budb.h >>> /usr/afsws/include/afs/budb_errs.h >>> /usr/afsws/include/afs/gtxcurseswin.h >>> /usr/afsws/include/afs/budb_client.h >>> /usr/afsws/include/afs/dir.h >>> /usr/afsws/include/afs/afs.h >>> /usr/afsws/include/afs/osi_inode.h >>> /usr/afsws/include/afs/afs_stats.h >>> /usr/afsws/include/afs/exporter.h >>> /usr/afsws/include/afs/nfsclient.h >>> /usr/afsws/include/afs/osi_vfs.h >>> /usr/afsws/include/afs/volume.h >>> /usr/afsws/include/afs/voldefs.h >>> /usr/afsws/include/afs/partition.h >>> /usr/afsws/include/afs/fssync.h >>> /usr/afsws/include/afs/ihandle.h >>> /usr/afsws/include/afs/namei_ops.h >>> /usr/afsws/include/afs/vl_opcodes.h >>> /usr/afsws/include/afs/vlserver.h >>> /usr/afsws/include/afs/vldbint.h >>> /usr/afsws/include/afs/cnvldb.h >>> /usr/afsws/include/rx/ >>> /usr/afsws/include/rx/rx_packet.h >>> /usr/afsws/include/rx/rx.h >>> /usr/afsws/include/rx/rx_user.h >>> /usr/afsws/include/rx/rx_event.h >>> /usr/afsws/include/rx/rx_queue.h >>> /usr/afsws/include/rx/rx_globals.h >>> /usr/afsws/include/rx/rx_clock.h >>> /usr/afsws/include/rx/rx_multi.h >>> /usr/afsws/include/rx/rx_pthread.h >>> /usr/afsws/include/rx/rx_lwp.h >>> /usr/afsws/include/rx/rx_misc.h >>> /usr/afsws/include/rx/rx_null.h >>> /usr/afsws/include/rx/xdr.h >>> /usr/afsws/include/rx/rxstat.h >>> /usr/afsws/include/rx/rxkad.h >>> /usr/afsws/include/potpourri.h >>> /usr/afsws/include/des.h >>> /usr/afsws/include/des_conf.h >>> /usr/afsws/include/mit-cpyright.h >>> /usr/afsws/include/des_odd.h >>> /usr/afsws/include/lock.h >>> /usr/afsws/include/lwp.h >>> /usr/afsws/include/preempt.h >>> /usr/afsws/include/timer.h >>> /usr/afsws/include/ubik.h >>> /usr/afsws/include/ubik_int.h >>> /usr/afsws/lib/ >>> /usr/afsws/lib/afs/ >>> /usr/afsws/lib/afs/libprocmgmt.a >>> /usr/afsws/lib/afs/util.a >>> /usr/afsws/lib/afs/libafsutil.a >>> /usr/afsws/lib/afs/libcom_err.a >>> /usr/afsws/lib/afs/libcmd.a >>> /usr/afsws/lib/afs/libafsint.a >>> /usr/afsws/lib/afs/libsys.a >>> /usr/afsws/lib/afs/libaudit.a >>> /usr/afsws/lib/afs/libauth.a >>> /usr/afsws/lib/afs/libauth.krb.a >>> /usr/afsws/lib/afs/libprot.a >>> /usr/afsws/lib/afs/libacl.a >>> /usr/afsws/lib/afs/libkauth.a >>> /usr/afsws/lib/afs/libkauth.krb.a >>> /usr/afsws/lib/afs/libbubasics.a >>> /usr/afsws/lib/afs/libusd.a >>> /usr/afsws/lib/afs/libbutm.a >>> /usr/afsws/lib/afs/libbudb.a >>> /usr/afsws/lib/afs/libdir.a >>> /usr/afsws/lib/afs/vlib.a >>> /usr/afsws/lib/afs/libvlib.a >>> /usr/afsws/lib/afs/libvldb.a >>> /usr/afsws/lib/afs/libvolser.a >>> /usr/afsws/lib/afs/libbxdb.a >>> /usr/afsws/lib/afs/libgtx.a >>> /usr/afsws/lib/afs/libfsprobe.a >>> /usr/afsws/lib/afs/libbos.a >>> /usr/afsws/lib/afs/libxstat_fs.a >>> /usr/afsws/lib/afs/libxstat_cm.a >>> /usr/afsws/lib/afs/libafsadminutil.a >>> /usr/afsws/lib/afs/libvosadmin.a >>> /usr/afsws/lib/afs/libclientadmin.a >>> /usr/afsws/lib/afs/libkasadmin.a >>> /usr/afsws/lib/afs/libptsadmin.a >>> /usr/afsws/lib/afs/libbosadmin.a >>> /usr/afsws/lib/afs/libcfgadmin.a >>> /usr/afsws/lib/libdes.a >>> /usr/afsws/lib/liblwp.a >>> /usr/afsws/lib/librx.a >>> /usr/afsws/lib/librxstat.a >>> /usr/afsws/lib/librxkad.a >>> /usr/afsws/lib/libubik.a >>> /usr/afsws/lib/pam_afs.so.1 >>> /usr/afsws/lib/pam_afs.krb.so.1 >>> /usr/afsws/lib/libafsrpc.a >>> /usr/afsws/lib/libafsauthent.a >>> /usr/afsws/lib/libafsrpc.so.1.0 >>> /usr/afsws/lib/libafsrpc.so -> libafsrpc.so.1.0 >>> /usr/afsws/lib/libafsauthent.so.1.0 >>> /usr/afsws/lib/libafsauthent.so -> libafsauthent.so.1.0 >>> /usr/afsws/etc -> /etc/afs/afsws --- /usr/afs/ --- /usr/afs/bin/ >>> /usr/afs/bin/bos >>> /usr/afs/bin/bos_util >>> /usr/afs/bin/bosserver >>> /usr/afs/bin/buserver >>> /usr/afs/bin/fileserver >>> /usr/afs/bin/fs >>> /usr/afs/bin/kas >>> /usr/afs/bin/kaserver >>> /usr/afs/bin/klog >>> /usr/afs/bin/klog.krb >>> /usr/afs/bin/kpwvalid >>> /usr/afs/bin/pt_util >>> /usr/afs/bin/pts >>> /usr/afs/bin/ptserver >>> /usr/afs/bin/salvager >>> /usr/afs/bin/tokens >>> /usr/afs/bin/tokens.krb >>> /usr/afs/bin/udebug >>> /usr/afs/bin/upclient >>> /usr/afs/bin/upserver >>> /usr/afs/bin/vlserver >>> /usr/afs/bin/volinfo >>> /usr/afs/bin/volserver >>> /usr/afs/bin/vos --- /usr/vice/ --- /usr/share/ --- /usr/share/doc/ >>> /usr/share/doc/openafs-1.2.10-r1/ >>> /usr/share/doc/openafs-1.2.10-r1/README.gz >>> /usr/afsws/lib/afs/libnull.a -> /usr/afsws/lib/afs/libtermlib.a * UPDATE CellServDB and ThisCell to your needs !! * FOLLOW THE INSTRUCTIONS IN AFS QUICK BEGINNINGS * PAGE >45 TO DO INITIAL SERVER SETUP >>> Regenerating /etc/ld.so.cache... * Caching service dependencies... >>> net-fs/openafs-1.2.10-r1 merged. I suggest installing openafs even on gentoo in standardized locations: # used as a software repository to update openafs binaries even on other # servers running older version of openafs /usr/afsws /usr/vice /usr/afs You should configure using ./configure --enable-transarc-paths --with-linux-kernel-headers=/usr/src/linux-2.4.28-rc1-acpi --enable-bitmap-later --enable-fast-restart --enable-largefile-fileserver --enable-bos-new-config Then, do "make dest" instead of "make". Afterwards, do: mkdir -p /usr/vice mkdir -p /usr/vice/etc mkdir -p /usr/afs mkdir -p /usr/afsws/i386_linux24 cd i386_linux24/dest cd root.client/usr/vice/etc tar cvf - . | (cd /usr/vice/etc; tar xfp -) cp ../../../../lib/pam_afs.krb.so.1 /lib/security ln -s /lib/security/pam_afs.krb.so.1 /lib/security/pam_afs.so cd ../../../../root.server/usr/afs tar cvf - . | (cd /usr/afs; tar xfp -) cd ../../../ mv bin etc include lib root.client root.perf root.server \ /usr/afsws/i386_linux24/ I believe you will save users a lot of headaches. Your scripts can be either rewritten or rather based on scripts distributes with openafs? You shouldn't advise users in that xml documentation Gentoo provides to even start kaserver. You should suggest using from the scratch heimdal or MIT kerberos5. I propose rather heimdal, as it is compatible with MIT kerberos 5 and there are no export restrictions on that. See www.pdc.kth.se/heimdal. Yes, I hate gentooized heimdal ebuild too, as it installs into /usr and not /usr/heimdal as usually. Many apps which use kerberos look into /usr/heimdal/{include,lib}, and that will obviously fail on gentoo. Why do you do it? Install heimdal into /usr/heimdal, install openafs into IBM Transarc locations and I'll be happy. :-)) Sorry to be so critical, but this ebuild is a mess. I'm going to unmerge it immediately.
Martin: Yes the afs ebuilds are quite a mess. Your proposal sounds like a good one and would be much appreciated by the gentoo community. Since you have the expertise in this area, do you have the time to create the necessary ebuilds?
Hi, in principle I can help you say testing and giving advises. I've never made any ebuild myself, and these days I don't have time read docs and play with it. But I tried to change the ebuild file. I did not check the init.d script, I just commented that out. Except the config file, that should be all what's necessary. How can I test it? # emerge ~mmokrejs/openafs-1.2.11.ebuild emerging by path implies --oneshot... adding --oneshot to options. *** emerging by path is broken and may not always work!!! Calculating dependencies *** You need to adjust PORTDIR or PORTDIR_OVERLAY to emerge this package. #
Created attachment 43078 [details, diff] install according to transarc docs Patch not to only compile using transarc path, but also *installs* the results into transarc paths. Makes sure namei fileserver is compiled, which is always safe (no worries about /vicep? partition anylonger; but do worry about /usr/vice/cache or any directory listed in the /usr/vice/etc/cacheinfo file)
Created attachment 52135 [details] openafs-1.2.11.ebuild Updated ebuild to install into transarc paths. The only problem to be resolved is that it does NOT install /etc/init.d/openafs. Any help? ;)
Created attachment 52263 [details] improved openafs-1.2.11.ebuild
Created attachment 56071 [details] digest-openafs-1.2.13
Created attachment 56072 [details] openafs-1.2.13.ebuild
Created attachment 56073 [details] digest-openafs-1.2.13
Martin: Have you posted this bug to the gentoo-dev mailing list for comments and testing of the ebuild? Due to the amount of changes, this would be the prudent thing to do. -ryan
Created attachment 56153 [details] also download afs documentation in openafs-1.2.13.ebuild documentation contains LICENSE files, which are required for "make install" since openafs-1.3.8x. Yes, we do obey "make install" as we use here transarc paths, but still. Derrick Brashear says LICENSE file will appear in more places in the src/doc tree, I believe also to be copied using the typical transarc procedure.
Created attachment 56154 [details] digest-openafs-1.2.13
OpenAFS needs a developer to take up maintenance.
New ebuilds for openafs 1.2.13 (stable) and 1.3.85 (experimental) are available for testing. According to openafs-ml, 1.3.85 is currently undergoing testing so it can become 1.4rc. I'm sorry that we can't follow your suggestion with respect to the paths used. The new ebuilds should use FHS paths. As a proposed solution to your compatibility problem, we've introduced openafs-legacy. You should only install this after installation of one of the new ebuilds, checking if those work, and removing the old configuration files as documented in the accompagnying README. I'd love to hear how this works out.
The new ebuild shouldn't be such a mess anymore, even though we've chosen to install in FHS-compliant locations.