net-fs/coda is currently at 6.0.15. It compiles and runs on x86, but fails on amd64. Coda 6.9.2 from the upstream includes numerous patches to fix this. See http://www.coda.cs.cmu.edu/trac/milestone/Coda-6.9.1 and http://www.coda.cs.cmu.edu/trac/milestone/Coda-6.9.2 for details. To port coda-6.92 to portage, a number of changes must be made to the ebuild. The most obvious is the transition that coda has made to using autotools. In addition, there are some minor problems that cause auth2 to fail to build. These are fairly easily fixed with the appropriate patches.
Created attachment 131270 [details, diff] auth2 linking fix This fixes a problem in the coda makefiles that prevents auth2 from linking to libutil.
Created attachment 131272 [details, diff] auth2 netdb missing include fix A source file in auth2 uses functions provided by netdb.h but doesn't include netdb.h.
Created attachment 131273 [details, diff] gentoo style inits Provides init.d scripts that make use of runscript. Gentoo specific.
Created attachment 131274 [details, diff] directory layout changes Modifies some of the scripts and configs provided by coda to not directly use /coda and /usr/coda, but /mnt/coda and /var/lib/coda instead. Not strictly necessary, but nice as it conforms better to the layout provided by the existing coda ebuild. (plus cluttering / and /usr just feels a bit kludgy.).
Created attachment 131276 [details] sample ebuild Provides an ebuild that makes use of all the above patches. Compilies and runs fine on my amd64 and x86 boxes (2007.0 installed on both, with up to date dependancies). Unable to test on ppc as I don't have such a system.
emerge --info for both my systems: whitney coda # emerge --info Portage 2.1.2.12 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.22.1 x86_64) ================================================================= System uname: 2.6.22.1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Gentoo Base System release 1.12.9 Timestamp of tree: Sun, 09 Sep 2007 07:50:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -mno-tls-direct-seg-refs -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=athlon64 -O2 -pipe -mno-tls-direct-seg-refs -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/" INSTALL_MASK="" LINGUAS="en en_US fr zh_TW" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage/xeffects" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X aac aalib accessibility acl acpi aim alsa amd64 apache apache2 arts artworkextra async attr automount avahi bash-completion beagle berkdb bidi bitmap-fonts bzip2 cairo cddb cdparanoia cdr chm cisco cjk clamav cli cpudetection cracklib crypt cups daap dbus dri dvd dvdnav dvdr emacs evo expat firefox flac foomaticdb fortran ftp fuse galago gcj gdbm gif gimp glade glib glitz gnome gnutls gphoto2 gpm graphviz gstreamer gtk guile hal hddtemp howl iconv ieee1394 imagemagick imap ipod iproute2 ipv6 isdnlog java java5 javascript joystick jpeg junit kde kerberos keyring kqemu lame ldap leim libcaca libnotify lm_sensors mad maildir masquerade mbox midi mikmod mmap mmx mmxext mono mozdevelop mp3 mpeg mplayer mudflap mule multiuser mysql nas ncurses nfs nls nptl nptlonly nsplugin nvidia oav offensive office ogg ole openal opendoc opengl openmp openssl openvpn pam pcre pda pdf perl php plotutils png povray ppds pppd prelude python qt3 qt3support qt4 quicktime rar rdesktop readline reflection rtc samba sasl scanner screen sdl session smtp socks5 spell spl sse sse2 ssl subversion svg synaptics sysfs syslog tagwriting tcpd tetex theora threads thunderbird tiff truetype truetype-fonts type1-fonts unicode usb utempter vim-syntax vim-with-pager vim-with-x vnc vorbis webdav wifi winbind xattr xcb xcomposite xine xinerama xinetd xml xorg xpm xprint xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US fr zh_TW" USERLAND="GNU" VIDEO_CARDS="apm dummy fbdev i810 vesa vga" Unset: CTARGET, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS gorgonio coda # emerge --info Portage 2.1.2.12 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.23-rc5 i686) ================================================================= System uname: 2.6.23-rc5 i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System release 1.12.9 Timestamp of tree: Thu, 06 Sep 2007 20:20:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentiumpro -mtune=pentium-m -O2 -pipe -mno-tls-direct-seg-refs -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=pentiumpro -mtune=pentium-m -O2 -pipe -mno-tls-direct-seg-refs -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/" INSTALL_MASK="" LINGUAS="en en_US fr zh_TW" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_EXTRA_OPTS="" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage/xeffects" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X aac aalib accessibility acl acpi aim alsa apache apache2 arts artworkextra async attr automount avahi bash-completion beagle berkdb bidi bitmap-fonts bzip2 cairo cddb cdparanoia cdr chm cisco cjk clamav cli cpudetection cracklib crypt cups daap dbus dri dvd dvdnav emacs evo expat firefox flac foomaticdb fortran ftp fuse galago gcj gdbm gif gimp glade glib glitz gnome gnutls gphoto2 gpm graphviz gstreamer gtk guile hal hddtemp howl iconv ieee1394 imagemagick imap ipod iproute2 ipv6 isdnlog java java5 javascript jpeg junit kde kerberos keyring kqemu lame ldap leim libcaca libnotify lm_sensors mad maildir masquerade mbox midi mikmod mmap mmx mmxext mono mozdevelop mp3 mpeg mplayer mudflap mule multiuser mysql nas ncurses nfs nls nptl nptlonly nsplugin oav offensive office ogg ole openal opendoc opengl openmp openssl openvpn pam pcre pda pdf perl php plotutils png povray ppds pppd prelude python qt3 qt3support qt4 quicktime rar rdesktop readline real reflection rtc samba sasl scanner screen sdl session smtp socks5 spell spl sse sse2 ssl subversion svg synaptics sysfs syslog tagwriting tcpd tetex theora threads thunderbird tiff truetype truetype-fonts type1-fonts unicode usb utempter vim-syntax vim-with-pager vim-with-x vnc vorbis webdav wifi win32codecs winbind x86 xattr xcb xcomposite xine xinerama xinetd xml xorg xpm xprint xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US fr zh_TW" USERLAND="GNU" VIDEO_CARDS="apm dummy fbdev i810 vesa vga" Unset: CTARGET, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
*** Bug 163215 has been marked as a duplicate of this bug. ***
This patch works fine on amd64, thanx. By the way, why it is still not merged into the main portage tree?
I've just added new and cleaned up ebuilds for the full Coda stack (coda, lwp, rpc2, rvm) to my overlay. See http://overlays.gentoo.org/dev/chtekk/browser/coda. You can grab a SVN checkout with 'svn co "http://overlays.gentoo.org/svn/dev/chtekk/coda"'. The auth2 linking issue and the undefined netdb functions is fixed in 6.9.3, so those patches aren't needed anymore. The init-scripts I've split out into their own files in $FILESDIR, instead of them being a patch. And the Gentoo-Dirs patch I've completed a little bit more. Everything was updated and cleaned up as much as possible, trying to keep everything simple and straightforward. I agree with moving stuff to /var/lib/{coda,vice} and /mnt/{coda,vicepa} to keep the filesystem clean, those are also more logical places, still I've kept the compatibility symlinks, which should enable even older apps that search for stuff in /coda and so on to work flawlessy (so bug #144234 should be fixed now). I've removed the codaroot user/group creation, as I don't really see why this is needed for everyone in the ebuild as default. I've tested this on amd64 and using Heimdal Kerberos, it compiles, links and seems fine. Still, please everyone, test this on your setups! If I can get back a few "it works here!" from all of you, I'll move those ebuilds into the main Portage tree, so please test them as much as possible! Thanks a lot to Nathan Goldstick for the initial ebuild and work I've based this off! Best regards, chtekk.
(In reply to comment #9) coda-6.9.3 failes to compile on my em64t arch with gcc-4.3.1: ====================================================== x86_64-pc-linux-gnu-gcc -Wall -fno-exceptions -DHAVE_CONFIG_H -I. -I. -I../.. -march=nocona -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -pipe -fstack-protector -MT parse_realms.lo -MD -MP -MF .deps/parse_realms.Tpo -c parse_realms.c -fPIC -DPIC -o .libs/parse_realms.o getpeereid.c: In function 'getpeereid': getpeereid.c:48: error: storage size of 'cred' isn't known getpeereid.c:49: error: invalid application of 'sizeof' to incomplete type 'struct ucred' getpeereid.c:48: warning: unused variable 'cred' make[3]: *** [getpeereid.lo] Ошибка 1 ====================================================== My system info: $ emerge --info Portage 2.2_rc1 (default/linux/amd64/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r5-sheryl x86_64) ================================================================= System uname: Linux-2.6.25-gentoo-r5-sheryl-x86_64-Intel-R-_Celeron-R-_CPU_2.53GHz-with-glibc2.2.5 Timestamp of tree: Sun, 13 Jul 2008 07:45:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-lang/python: 2.5.2-r5 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r3 sys-devel/autoconf: 2.13, 2.62-r1 sys-devel/automake: 1.4_p6, 1.5, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -pipe -fstack-protector" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=nocona -O2 -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fomit-frame-pointer -pipe -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch userpriv" GENTOO_MIRRORS="ftp://ftp.chg.ru/pub/Linux/gentoo http://mirror.yandex.ru//gentoo-distfiles http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="ru_RU.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1" LINGUAS="ru en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="aalib acl acpi adns amd64 apache2 bash-completion berkdb blas bluetooth bzip2 caps cdb cli clisp cracklib crypt cscope ctype cups curl curlwrappers cxx cyrillic djvu doc editor encode enscript examples exif expat foomaticdb fortran ftp gdbm geoip gif ginac gmp gnutls gpgme gpm gsl hardened iconv idn imap ipv6 isdnlog javascript jpeg jpeg2k lapack latex libcaca libwww lm_sensors lzo maildir mailwrapper mbox mhash midi mime mmap mmx mng mudflap multilib mysql mysqli ncurses netcdf nls nntp nocd nptl nptlonly offensive openexr openmp pam pch pcntl pcre pdf perl png pop posix ppds pppd python raw readline recode reflection samba scanner session sharedmem slang slp smtp sockets socks5 spell spl sse sse2 sse3 ssl syslog szip tcpd threads tiff unicode usb vim-syntax wifi xattr xorg xpm yaz zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
In the end Coda didn't work out for my particular setup, so I'm reassigning this to maintainer-needed, as I won't be using it. I'll leave my overlay intact for a while, so that whoever's interested can grab the files, and I'll also attach them here for completeness. Best regards, chtekk.
Created attachment 160297 [details] Tarball of the Coda overlay Tarball of the Coda overlay, contains net-fs/coda 6.9.3, net-libs/rpc2 2.7, sys-libs/lwp 2.4 and sys-libs/rvm 1.15. Best regards, chtekk.
(In reply to comment #12) > Created an attachment (id=160297) [edit] > Tarball of the Coda overlay > > Tarball of the Coda overlay, contains net-fs/coda 6.9.3, net-libs/rpc2 2.7, > sys-libs/lwp 2.4 and sys-libs/rvm 1.15. > Best regards, chtekk. > Funny you should post this, as I have a private overlay going myself. I'll just go ahead and post it right now, and merge the changes you've posted later tommorow. Sorry I forgot to post.
Created attachment 160620 [details] Another tarball of a coda overlay This includes ebuilds for coda-2.9.2 and coda-2.9.3. I'm using the coda-2.9.3 one right now, and I think the coda-2.9.2 one should also work, though I havn't tested it all that much. The prerequisites such as rpc and the like are also included. I should note that the ebuilds here are quite a bit different in terms of where files are placed, when compared to the ebuilds I posted earlier.
(In reply to comment #9) > keep the filesystem clean, those are also more logical places, still I've kept > the compatibility symlinks, which should enable even older apps that search for > stuff in /coda and so on to work flawlessy (so bug #144234 should be fixed > now). I would like to remind the package maintainers that access to files in Coda via the paths beginning with /coda is an essential part of the functionality. It is as important as the "http:" string at the beginning of an URL. I can not stress this too much, this is not "compatibility with older application", this is an essential property, do not misunderstand this or the package eventually will be broken.
All the support libs were quite easy to bump. Trying to get 6.9.4 built with the ebuilds provided here fails. So if anyone can provide me with a working .4 ebuild I'll take care of it. Thanks!
if /bin/sh ../../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -Wall -fno-exceptions -DHAVE_CONFIG_H -I. -I. -I../.. -O2 -march=i686 -pipe -MT getpeereid.lo -MD -MP -MF ".deps/getpeereid.Tpo" -c -o getpeereid.lo getpeereid.c; \ then mv -f ".deps/getpeereid.Tpo" ".deps/getpeereid.Plo"; else rm -f ".deps/getpeereid.Tpo"; exit 1; fi i686-pc-linux-gnu-gcc -Wall -fno-exceptions -DHAVE_CONFIG_H -I. -I. -I../.. -O2 -march=i686 -pipe -MT getpeereid.lo -MD -MP -MF .deps/getpeereid.Tpo -c getpeereid.c -fPIC -DPIC -o .libs/getpeereid.o getpeereid.c: In function 'getpeereid': getpeereid.c:48: error: storage size of 'cred' isn't known getpeereid.c:49: error: invalid application of 'sizeof' to incomplete type 'struct ucred' getpeereid.c:48: warning: unused variable 'cred' make[3]: *** [getpeereid.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/net-fs/coda-6.9.3/work/coda-6.9.3/lib-src/base' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-fs/coda-6.9.3/work/coda-6.9.3/lib-src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-fs/coda-6.9.3/work/coda-6.9.3' make: *** [all] Error 2 * * ERROR: net-fs/coda-6.9.3 failed. So neither .3 or .4 want to build. Anyone in the mood to make me a patch for that? ;)
I got it to build, no patch necessary. The trick is to gcc-config x86_64-pc-linux-gnu-4.3.4, apparently latest coda still does not like gcc-4.4. At least I was able to build 6.9.4 on 2 systems, amd64. It also seems to run even after I gcc-config back to gcc-4.4 - I tried to run venus set for that test site in manual and it seem to mount fine..
Created attachment 209345 [details] coda-6.9.4.ebuild Just in case, here is the "updated" ebuild - only coda needed "changes". IIRC I only added pkg_setup checking that the right gcc is active. Although I played with different things before that, so it *might* have some DEPEND changes, but I doubt it (got it to compile last week, just got to "properly" testing it, still did not fully set up..)
Assigning to herd
forgot to add myself to CC (I am not on the herd).
Created attachment 209887 [details, diff] coda-6.9.4-gentoo-dirs.patch Apparently I was testing coda with coda-fs-layout set so far. Without it the patch provided for 6.9.3 fails with two rejects. One is as trivial as some whitespace (OTOH, why epatch even cares about it?), another one had to deal with some block of text added in new version. So, if anyone tries to use coda-6.9.4.ebuild, please use the attached patch (and change the corresponding epatch line inside). This patch, in fact, goes beyond what the original one did, trying to provide universal substitutions throughout the code. However it is not fully finished, - see below, I just wanted to attach something that would close an open issue. ATM I am working on streamlining and "automating" the patch - bunch of substitutions can be done with sed, which would also remove some of the problems of the patch failing on update, so, stay tuned.. But I have two issues with reshaffling paths, but first on phylosophical aspect: I recognize the position of Rune expressed in this and bug #144234, but also I see that coda uses "old times" layout which is totally incompatible with FHS. In view of this I think it is important to provide the choice. It is also wise to submit our changes upstream and I'll try to do this when I finish with this part. Just a short note on top, in case upstream ever glances at this bug :), - package uses "bad programming practices" - paths are spread throughout the code instead of being defined in one place. Although, as I understand, the issue is not severe, as most of definitions are "bracketed by CODACONF_STR which, I suspect, does the right thing and parses some config. Nonetheless it would simplify possible changes and in fact maintenance of code if common default values would have been defined in one place.. So, techninucal issues 1. After full substitution it should be possible to not create symlinks at all. The installed code should work fine, the issue could be with extra packages (which, ideally, should also be configurable, but well, that never happens). So, how many of those are there? Does it make sense to consider the coda-fs-symlinks use flag? 2. I see in present version /coda was put under /media. However, according to FHS "This directory contains subdirectories which are used as mount points for removeable media such as floppy disks, cdroms and zip disks." http://www.pathname.com/fhs/pub/fhs-2.3.html#MEDIAMOUNTPOINT Coda is more akin to nfs, which normally has mountpoints under /mnt. As such, /media is a wrong location and I am going to move it back under /mnt in 6.9.4.. George
Created attachment 210617 [details] updated coda dir Ok, here you go. Remove old coda dir in your overlay, replace with this and enjoy. This is significantly cleaned up and made "gentoo compliant", some of stale modifications removed, etc. Perhaps the most noticeable change is that patches were significantly cleaned up. Init scripts are now provided in a separate archive (what's the ppoint of introducing new files via a patch anyway?). Path substitutions are done via seds. What's left of gentoo-dirs.patch is very small and should be version independent. So, all the patches that are left (the whiole two) are nor versionless.. Few things on which I'd like some feedback 1. Init scripts: previous version installed 3: auth2, codasrv and updatecoda for the server. However, if there ever situation in which any of these is used separately from the others? As I could not think of any I collated all of them together. Now only codasrv is provided which starts (and stops in reverse order) all three. Plus I removed the need for startserver script. 2. USE flags: I shortened flag names and used "unofficial standard" ones for client and server. More importantly, I added coda_symlinks flag to request creating legacy symlinks. With new modifications coda seems to work fine even without those (-coda_layout). However, according to bug #144234 this might cause problems with client apps. I am considering symlinking /coda to /mnt/coda unconditionally and providing optionally the rest of the links. I'd like to hear some comments on this..
Initially I was going to stop at that, but looking at how this package is not getting attention while having a broken version in the tree, I think I'll take the bug and commit the changes myself, after some more testing. net-fs herd: please voice your disagreement now, before it is too late ;)
Ok, the 6.9.4 with all the updates and discussed changes is in, please test. Please note: it is masked in package.mask at the moment, since I did not want to shower a major update of filesystem component on unsuspecting users. Just add =net-fs/coda-6.9.4 to your /etc/portage/package.unmask to unmask it. I'll keep it in package.mask for 2 weeks and then remove the mask (at which time I'll close this bug).
6.9.5 is already in the tree