On Fri, Feb 25, 2011 at 8:13 AM, James <wireless@tampabay.rr.com> wrote:
Hello,

Is the link below the best "howto" guide as to using
an existing ebuild to hack a new ebuild? JFFNMS has
been languishing despite repeated requests for a version
bump; so I'm taking the plunge and going to update it
on one of my systems.....

http://en.gentoo-wiki.com/wiki/Creating_an_Updated_Ebuild


Also, I found this guide:

http://devmanual.gentoo.org/
and
man 5 ebuild


Any other documents I should reference before
attempinging to update an ebuild on my own
person overlay dir?

Comments and ideas are most welcome....


James


Saw that you linked to the "creating an updated ebuild" from gentoo-wiki, so what I say may overlay quite a bit, but hear me out:

It depends on how the ebuild is built.  If it references the version by the ebuild file name, which is very common, you can create an overlay for the ebuild, copy the ebuild to it, rename the ebuild file to have the new version number as part of it, digest the ebuild, make sure the overlay is listed in your make.conf file, then try to emerge it.  I did this with Webmin.  Yes, I know it's masked and new versions have effectively been dropped from portage; but I use it, and it worked fine.

Maybe I should break it down a little:

Create the appropriate directory in an overlay dir.  For Webmin, I had to create app-admin, then webmin:

# mkdir -p /usr/local/portage/overlay/app-admin/webmin
mark@allanon /usr/local/portage/overlay/app-admin/webmin $ pwd
/usr/local/portage/overlay/app-admin/webmin

I then copied webmin-1.510.ebuild from the official portage tree,  /usr/portage/app-admin/webmin, to it's new location and filename:

# cp /usr/portage/app-admin/webmin/webmin-1.510.ebuild /usr/local/portage/overlay/app-admin/webmin/webmin-1.530.ebuild

Then digest the ebuild to generate a manifest, otherwise portage will complain when you try to emerge it:

# cd /usr/local/portage/overlay/app-admin/webmin
# ebuild webmin-1.530.ebuild digest

Now add the overlay to your make.conf:

PORTDIR_OVERLAY="/usr/local/portage/overlay"

If you're using EIX to sync/search portage, you'll need to run eix-update after doing this.  Now try to emerge the newest Webmin, but first you have to unmask it.  I like to use autounmask for that:

Create your package.???* directories (or files) in /etc/portage (I like the dir option), if you don't already have them:

# for a in keywords unmask use; do mkdir -p /etc/portage/package.${a}; done

If you just want the files:

# for a in keywords unmask use; do touch /etc/portage/package.${a}; done

Emerge autounmask if you don't have it:

# emerge app-portage/autounmask

Then unmask Webmin 1.530:

# autounmask =app-admin/webmin-1.530

Now we can emerge it!

# emerge -av =app-admin/webmin-1.530


I've done this on 3 servers to get Webmin on them, and have used this setup every time.

Chances are the ebuild you want to use may be this simple.  

Ok, so I scrolled down and saw your reply mentioning the program, jffnms.  What I did with Webmin can all most be done exactly the same with jffnms, except you need to modify a line of the ebuild to point to *.tgz instead of *.tar.gz.  When I did this, I was able to successfully fetch the gzipped tar file from Sourceforge.

You can use sed to correct it:

sed -i -e 's/.tar.gz/.tgz/g' /usr/local/portage/overlay/net-analyzer/jffnms/jffnms-0.8.5.ebuild

Or download the ebuild I've attached, follow the link you references to create the overlay dir/add to make.conf, etc.

That should work.  Let me know how it goes.