Is my MacPorts really sync-ing?
In that case it's changed what it reports with the -d ... I've always used that because that what the documentation says (or at least said) to do. It used to report the delta, ie the new, the changed and the deleted files. Now it seems to report everything. I was wondering partly because of the several Apache2 Portfile changes I've seen go through on the "Commit Log" list, but haven't apparently been caught by the sudo port -d selfupdate, as the sudo port outdated hasn't brought up any results for Apache2 Mark --
On 7/5/07, Mark Hattam <<mailto:mark@dxradio.demon.co.uk>mark@dxradio.demon.co.uk> wrote:
I have MacPorts 1.4.2 on OSX 10.4.10
Whenever I've done a port sync recently (and I do it most days), I seem to be downloading the whole heirarchy every time, and none of my ports are outdated when I do a port outdated. I used to just get a listing of the ports that had changed when I did a sudo port -d selfupdate, I can't believe that everything is updated every day. Maybe it is subtly changing every day, but it just seems to be the same long list every day ...
It's not that everything changes every day when you see that list: those are just the things that get checked to see if they've changed, as far as I know.
I just did "port -v sync" and here's what I found.
I get the same list you saw, then these filenames:
aqua/Growl/files/patch-Growl.xcodeproj__project.pbxproj.i386
aqua/Growl/files/patch-Growl.xcodeproj__project.pbxproj.powerpc
aqua/Growl/files/patch-Makefile
databases/mysql5/Portfile
databases/mysql5/files/patch-mysys-base64.c.diff
databases/sqlite3/Portfile
databases/sqlite3/files/patch-<http://Makefile.in>Makefile.in
devel/dialog/Portfile
devel/libsdl/Portfile
devel/libsdl/files/patch- AudioFilePlayer.h
devel/libsdl/files/patch-SDL_coreaudio.c
editors/vim-app/Portfile
editors/vim-app/files/patchlist
editors/vim/Portfile
editors/vim/files/patchlist
graphics/cairo/Portfile
lang/yasm/Portfile
print/freetype/Portfile
print/gutenprint/Portfile
python/py-kid/Portfile
python/py-yum-metadata-parser/Portfile
sysutils/repoview/Portfile
sysutils/repoview/files/patch-repoview.py
sysutils/rpm/Portfile
sysutils/rpm/files/patch-configure
sysutils/rpm/files/patch-<http://macros.in>macros.in
textproc/libmrss/Portfile
textproc/libnxml/Portfile
deleting textproc/libmrss/files/patch-src-mrss_parser.c
deleting directory textproc/libmrss/files
deleting databases/mysql5/files/patch-mysys-base64.c
so I got some new files, some instructions were run, then this summary:
sent 10053 bytes received 290465 bytes 2931.88 bytes/sec
total size is 14699737 speedup is 48.91
I sent received more than I sent, so there is some new stuff to be reviewed with "port outdated."
I think selfupdate with the debug flag is less useful than sync with the verbose flag.
-- Paul Beard / <http://www.paulbeard.org/>www.paulbeard.org/ <<http://paulbeard@gmail.com/paulbeard@mac.com>paulbeard@gmail.com/paulbeard@mac.com>
On Jul 5, 2007, at 17:53, Mark Hattam wrote:
In that case it's changed what it reports with the -d ... I've always used that because that what the documentation says (or at least said) to do.
-d means debug i.e. print more info.
It used to report the delta, ie the new, the changed and the deleted files. Now it seems to report everything. I was wondering partly because of the several Apache2 Portfile changes I've seen go through on the "Commit Log" list, but haven't apparently been caught by the sudo port -d selfupdate, as the sudo port outdated hasn't brought up any results for Apache2
selfupdate is only for updating MacPorts base infrastructure. port outdated will only show ports that are outdated. A portfile can be updated without requiring users to reinstall the software. You can look in Subversion and see the log of everything that has been done to a portfile: http://trac.macosforge.org/projects/macports/log/trunk/dports/www/ apache2 You can see that in the latest change in June neither the version nor the revision was updated, hence "port outdated" won't show it. In this particular case, it might have been better had jberry also incremented the port revision so that everyone would receive this change. In other cases, that's not necessary.
"selfupdate" is the command shown in the Wiki http://trac.macosforge.org/projects/macports/wiki/UsingMacPortsQuickStart and the text there says it's for grabbing the latest PortFiles. i thought that the number after the underscore on the end of the port name showed the version of the Portfile ... so even if the version of the software hadn't changed, a change in the Portfile and perhaps important things about the way it's set up and installed were reflected by a incrementing number, and these were shown up by port outdated. For instance freetype @2.3.4_0 freetype @2.3.4_1 freetype @2.3.5_0 (active) So are portfile changes no longer reflected in this way? Or is there a different port command to show them up? Mark -- At 19:05 -0500 5/7/07, Ryan Schmidt wrote:
On Jul 5, 2007, at 17:53, Mark Hattam wrote:
In that case it's changed what it reports with the -d ... I've always used that because that what the documentation says (or at least said) to do.
-d means debug i.e. print more info.
It used to report the delta, ie the new, the changed and the deleted files. Now it seems to report everything. I was wondering partly because of the several Apache2 Portfile changes I've seen go through on the "Commit Log" list, but haven't apparently been caught by the sudo port -d selfupdate, as the sudo port outdated hasn't brought up any results for Apache2
selfupdate is only for updating MacPorts base infrastructure.
port outdated will only show ports that are outdated. A portfile can be updated without requiring users to reinstall the software. You can look in Subversion and see the log of everything that has been done to a portfile:
http://trac.macosforge.org/projects/macports/log/trunk/dports/www/apache2
You can see that in the latest change in June neither the version nor the revision was updated, hence "port outdated" won't show it. In this particular case, it might have been better had jberry also incremented the port revision so that everyone would receive this change. In other cases, that's not necessary.
Mark Hattam wrote:
i thought that the number after the underscore on the end of the port name showed the version of the Portfile ... so even if the version of the software hadn't changed, a change in the Portfile and perhaps important things about the way it's set up and installed were reflected by a incrementing number, and these were shown up by port outdated.
For instance freetype @2.3.4_0 freetype @2.3.4_1 freetype @2.3.5_0 (active)
So are portfile changes no longer reflected in this way? Or is there a different port command to show them up?
The revision number of a Portfile is incremented if there was an important change. Through this, you are "forced" to rebuild the port although the version of the software itself wasn't incremented. Rainer
On Jul 5, 2007, at 19:34, Mark Hattam wrote:
"selfupdate" is the command shown in the Wiki http://trac.macosforge.org/projects/macports/wiki/ UsingMacPortsQuickStart
and the text there says it's for grabbing the latest PortFiles.
"sync" is the command for grabbing the latest portfiles. "selfupdate" grabs the latest portfiles and also updates the base MacPorts software if necessary.
i thought that the number after the underscore on the end of the port name showed the version of the Portfile ... so even if the version of the software hadn't changed, a change in the Portfile and perhaps important things about the way it's set up and installed were reflected by a incrementing number, and these were shown up by port outdated.
For instance freetype @2.3.4_0 freetype @2.3.4_1 freetype @2.3.5_0 (active)
The number before the underscore is taken from the "version" field in the portfile. The number after the underscore is from the "revision" field in the portfile. In the case of jberry's change to the apache2 portfile in r26538, neither "version" nor "revision" were changed, as you can see from the diff, hence the port does not show up as being outdated. Consider that I might just be adding a comment to a portfile, or changing its description. For such changes, it would make no sense to force the entire MacPorts user population to upgrade the port if they already had it installed, because the thing they'll end up with is the same thing they already have now. The comments or description I changed would not affect how the software builds. However, if I do make a change to the portfile that does cause the installed product to be different -- as in the case of jberry's change from r26538 which changes the behavior of the startup item -- then the revision field in the portfile should also be bumped so that everyone is forced to reinstall it. I have incremented the revision of apache2 in r26755, so after the rsync server pulls the change (within 12 hours) and after you do a "sudo port sync" (or "sudo port selfupdate" if you like), "port outdated" will show an installed apache2 as being outdated.
So are portfile changes no longer reflected in this way? Or is there a different port command to show them up?
If you would like a port to be reinstalled even though it's not showing up as being outdated, you can force it, e.g.: sudo port -ncuf upgrade apache2
participants (3)
-
Mark Hattam
-
Rainer Müller
-
Ryan Schmidt