Here's a new ebuild for CDfs. CDfs is "a file system for Linux systems that `exports' all tracks and boot images on a CD as normal files." This means, among other things, that you can mount an audio CD and get a list of wav files, which is pretty cool if you ask me. The package is a bit weird in a number of ways: 1) The actual current version of the package is "cdfs-2.4.20-a". That "-a" at the end screws up portage, so the ebuild name I used was just cdfs-2.4.20.ebuild, and I used $MY_P inside the ebuild to look at the correct files. (Note that the -a does *not* specify an alpha package in this case.) 2) The Makefile.in mentions the variable ${O} (capital O). Portage seems to set this value somewhere and it creates problems. $O isn't actually set anywhere in the makefile, so removing it fixes things. I've done so with a sed statement. 3) I hesitated to use the "make install" included, so I'm just copying over the .o file by hand; hopefully that's all right. 4) The driver probably only works properly on 2.4.x kernels, but I couldn't think of a good way to check for that in the ebuild. 5) I noticed from the nvidia-kernel ebuild that $KV was used as the kernel version. For my ebuild, I've basically just assumed that the value knows what it's talking about, and it seems to on my system, but I haven't tested it very thoroughly. Okay, so that's about it... Reproducible: Always Steps to Reproduce:
Created attachment 11839 [details] cdfs-2.4.20.ebuild Here's the ebuild. Oh, I forgot to mention this earlier: To use CDfs, "modprobe cdfs" and then do something along the lines of: mount -t cdfs /dev/cdrom /mnt/cdfs And that'll do it...
Created attachment 15186 [details] Kernel version checking and auto umount/rmmod. Few other things too. I don't know if this is the same as the previous bugzilla page... just in case, I add my comments here also. It's my 1st time :( Don't know how this work. --- Added pkg_setup that: - validates kernel version. The versionning is synced with the kernel. - umount cdfs is it's mounted. - unload module from memry if it's inserted. I think I tested pretty much all the possibilities and it works. Hope I did not over did it. I removed the auto inserting at the end and instead added instructions for the user. I don't think it's the ebuild's job to inser t the module. I tried using make DESTDIR=${D} install || die, but it spitted at my face with a ACCESS DENIED when it tried to do whatever operati on in the modules folder. So I commented my line and I simply corrected the original command's folder destination that was incorre ct and now points to .../${KV}/kernel/fs/cdfs and it gives the same result as if it had been installed with make. This is my first attemps at an ebuild. Be gentle with me. The ebuild works on my box.
Created attachment 15187 [details] Kernel version checking and auto umount/rmmod. Few other things too. I don't know if this is the same as the previous bugzilla page... just in case, I add my comments here also. It's my 1st time :( Don't know how this work. --- Added pkg_setup that: - validates kernel version. The versionning is synced with the kernel. - umount cdfs is it's mounted. - unload module from memry if it's inserted. I think I tested pretty much all the possibilities and it works. Hope I did not over did it. I removed the auto inserting at the end and instead added instructions for the user. I don't think it's the ebuild's job to inser t the module. I tried using make DESTDIR=${D} install || die, but it spitted at my face with a ACCESS DENIED when it tried to do whatever operati on in the modules folder. So I commented my line and I simply corrected the original command's folder destination that was incorre ct and now points to .../${KV}/kernel/fs/cdfs and it gives the same result as if it had been installed with make. This is my first attemps at an ebuild. Be gentle with me. The ebuild works on my box.
Created attachment 15188 [details] Kernel version checking and auto umount/rmmod. Few other things too. I don't know if this is the same as the previous bugzilla page... just in case, I add my comments here also. It's my 1st time :( Don't know how this work. --- Added pkg_setup that: - validates kernel version. The versionning is synced with the kernel. - umount cdfs is it's mounted. - unload module from memry if it's inserted. I think I tested pretty much all the possibilities and it works. Hope I did not over did it. I removed the auto inserting at the end and instead added instructions for the user. I don't think it's the ebuild's job to inser t the module. I tried using make DESTDIR=${D} install || die, but it spitted at my face with a ACCESS DENIED when it tried to do whatever operati on in the modules folder. So I commented my line and I simply corrected the original command's folder destination that was incorre ct and now points to .../${KV}/kernel/fs/cdfs and it gives the same result as if it had been installed with make. This is my first attemps at an ebuild. Be gentle with me. The ebuild works on my box.
Sorry for the multi-posts. Buzilla reported an error.
I'll test and commit an ebuild for the latest version once they have fixed the major problem described on the homepage with recent kernels: "Warning: the latest version of cdfs will crash if you read audio CDs with kernels>2.6.3" Please reopen bug when that happens and I'll look into it.
Created attachment 47094 [details] cdfs-2.6.3a.ebuild Here is an ebuild for the 2.6.3a version. I modified it to use the linux-mod.eclass, which made the ebuild very, very short. This ebuild currently depends on bug #76004, but that bug should be fixed in no time.
(In reply to comment #6) > I'll test and commit an ebuild for the latest version once they have fixed the major problem described on the homepage with recent kernels: > > "Warning: the latest version of cdfs will crash if you read audio CDs with kernels>2.6.3" > > Please reopen bug when that happens and I'll look into it. There is a version 2.6.12 of cdfs, and the big fat warning about the crash with audio CDs has been removed from the homepage. I don't have an audio CD to test right now, but maybe if it works OK, maybe it's time to add the package to portage?
Created attachment 70953 [details] sys-fs/cdfs-2.6.12.ebuild CDFS 2.6.12 ebuild I propose sys-fs as caregorie