Solved How to upgrade only one port (not all of the ports collection)

Hello;

I'm about to install limewire using the ports collection
(net-p2p/limewire)

But before that, I need to have the latest version of:
Code:
Makefile
distinfo
files
pkg-descr
pkg-plist

I guess I can download these latest versions one by one from freebsd.org/ports...

But is there a simpler way to do it, ie upgrading just the ports for limewire, and not all of the ports collection?

Thanks.
 
Last edited by a moderator:
This is not the best of ideas, because ports generally have dependencies that need to be of the correct versions as well. Updating discreet ports will mean that dependency information and the INDEX file will start to contradict each other. Keeping the entire ports tree up to date is hardly an imposition on bandwidth .. IMO, surgical ports tree updates are only necessary when one has to revert to an older version due to difficulties with an installed port -- and even then only temporarily.

Having said that: if you really want to do this, look into the path option of portsnap(8) or the -i option of csup(1). There are examples of both on these forums.
 
On the issue of dependency, I guess the LimeWire will not cause problems (that's just my estimation, of course)

portsnap fetch brought about 58MB of data to download and that's well beyond my bandwidth limit.

...look into the path option of portsnap(8) or the -i option of csup(1). There are examples of both on these forums.

portsnap extract /net-p2p/limewire
says there's no snapshot available; here I guess it's talking about the snapshot of 58MB above.

It seems, I cannot economically upgrade limewire port using portsnap now, so I begin working on csup with the -i option.
 
I've sort of given up and portsnapped the 58MB snapshot file and updated the whole ports collection. Thankfully no problems occured with the installaton later and I managed to run LimeWire.

Thanks.
 
I don't think that portsnap downloads 58MB every time. First time - yes, but then it goes much faster so I believe that only changed ports are downloaded. Also when you first time extract the tarball it takes a while and all the ports are seen on the screen.
When I type "portsnap update" I see only changed ports and new ones.
Do I miss something?
 
After the first portsnap (fetch extract) run only patches/diffs are downloaded by the next portsnap (fetch update) runs. The /var/db/portsnap/tag file is used to keep track.
 
Sorry to revive an old thread, but just in case this might help someone, I can extract/update a single port with portsnap extract <portcategory>/<portname>.

Example:
Code:
$ sudo portsnap extract graphics/png
/usr/ports/graphics/png/
/usr/ports/graphics/png2html/
/usr/ports/graphics/png2ico/
/usr/ports/graphics/pngcheck/
/usr/ports/graphics/pngcrush/
/usr/ports/graphics/pngnq/
/usr/ports/graphics/pngquant/
/usr/ports/graphics/pngrewrite/
/usr/ports/graphics/pngwriter/
 
Sorry to revive an old thread, but just in case this might help someone, I can extract/update a single port with portsnap extract <portcategory>/<portname>.

I was messing around as usual and screwed up the make install dialog and a port wouldn't build. Being I are smart I deleted all the files in the files directory thinking this would help... Did a little Googling and found all I really needed to do was make config to start over. Of course that didn't work since I are smart... Another Google led me to this post and and I got the files back and have the port built now. So thanks AntumDeluge!
 
Last edited by a moderator:
With svnup, I was able to set the directory deeper, according to the url, to try to get specific directories. It works as a method of getting src files, but it wasn't enough to build the kernel. I don't see why svnup can't also be used this way for ports. With portsnap(8), I was wondering if a similar command line can be used just to get the <portcategory> alone. It's really not practical to do this, but it's nice to know.
 
Last edited by a moderator:
Keep in mind that ports doesn't support selectively updating components. It does work in select cases but at some point things will be out of sync enough that it won't work.
 
I am updating all my ports on a new installed after clearing up everything in the ports directory. It is taking a long time since I am barely home. I need to accept a bunch of steps before the update proceeds. Is this normal?
 
All ports. I read in another thread that one should always clear all ports in the ports directory after installing from a DVD. I could not install anything because I was getting a message ports are outdated or something in those line. I will post one of those instances when I get home where I have to accept before updating moves along. The box is still going through the process when I was leaving this morning.
 
Probably should start another thread then - this thread specifically dealt with updating a single port and the thread is marked as "solved" by OP.
 
Back
Top