On Fri, Feb 25, 2011 at 8:13 AM, James <wirel...@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.

Attachment: jffnms-0.8.5.ebuild
Description: Binary data

Reply via email to