MacPorts v1.4.40 released for self update
Here's the change log: James Release 1.4.40 (7-May-2007, tagged at r24909 by jberry): - Note the bump in version naming. To leave ourselves lots of room in our versioning scheme, we've jumped from 1.4.3 to 1.4.40. The floating point represenation as reported by port version (1.440) will still be the same; we're just interpreting it differently. - variable tracing now works in a much better way and handles unsets properly. Similarly, ${option}-delete now works better. Depends validation no longer attempts to validate when the variable is unset. Additionally, the validation now actually validates each depspec instead of simply finding a single spec within the list that works (ticket #11868, eridius r24678). - macports infrastructure now easier to use from scripts. ui_prefix and ui_channels have default implementations, and all arguments to dportinit are now optional (ticket #11837, eridius r24460). - ln now accepts combined flags (ex. ln -sf foo bar) (eridius r24452) - default_variants now handles multiple values correctly (ticket #11828, eridius r24450). - ln uses new symlink command so it can create symlinks that point to files that don't actually exist (eridius r24444). - New bare-bones Pextlib command `symlink source target` (ticket #11840, eridius r24444). - delete reimplemented using fs-traverse (eridius r24435). - fs-traverse now uses the fts(3) family of functions instead of readdir/opendir. This fixes a couple behavioral oddities, and makes deleting during traversal work on 10.3 (ticket #11839, eridius r24423). - fs-traverse now takes a list of targets rather than a variable number of arguments (ticket #11836, eridius r24410). - Fixed a potential crasher in fs-traverse when showing error message (ticket #11827, eridius r24396, thanks sfiera). - Fixed a bug where livecheck failed on ports that do not define a homepage (ticket #11818, pguyot r24319). - Added the downloads section of our repo to the macports mirrors list (jmpp r24278). - Fixed a bug with the archive mode introduced with r23238 change (1.4.1) (pguyot r24273). - Trace mode now take dependencies into account when executing the activate phase. This fixes an unwanted warning when activating ports that depend on teTeX (pguyot r24199). - Support for mpwa submit through "port submit". This work is in progress. (jberry) - Expose autoconf XAR variable as portutil::autoconf::xar_path. (r24194). - Start to build portpkg.xar and meta data, hijacking Kevin's portsubmit.tcl. (r24195-24196). - Revise error messages in port image activation to use syntax that matches port(1). (jberry r24543, r24548). - Create new interp variable prefix_frozen, which is available to port phases even when the Portfile redefines prefix. (jberry r24848-r24849) - Search for prefix-relative commands in prefix_frozen rather than prefix. Affects port submit (xar) and port fetch (svn). (jberry r24849) - Always create a ~/.macports user directory if it doesn't yet exist. (jberry r24831) - Move port(1) readline history file to ~/.macports/history (jberry r24832, r24843)
Release 1.4.40 (7-May-2007, tagged at r24909 by jberry):
So I selfupdate and run sudo port upgrade outdated... mostly works, but grace does not want to be activated:
sudo nice port -vd upgrade grace DEBUG: Found port in file:///opt/local/var/db/dports/sources/ rsync.rsync.darwinports.org_dpupdate_dports/x11/grace ---> Activating grace 5.1.20_0 DEBUG: Image error: Another version of this port (grace @5.1.18_0) is already active. while executing "portimage::activate $portname $version_installed$variant $optionslist" Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active.
MacPorts now says that 5.1.20 is already installed, but when I actually look in XmGrace it is still at 5.1.18...
sudo port list grace grace @5.1.20 x11/grace
Manually uninstalling grace 5.1.18 and activating 5.1.20 works, though. Greetings, Jochen -- Einigkeit und Recht und Freiheit http://www.Jochen- Kuepper.de Liberté, Égalité, Fraternité GnuPG key: CC1B0B4D Sex, drugs and rock-n-roll
On 8.5.2007, at 11.30, Jochen Küpper wrote:
Release 1.4.40 (7-May-2007, tagged at r24909 by jberry):
So I selfupdate and run sudo port upgrade outdated... mostly works, but grace does not want to be activated:
sudo nice port -vd upgrade grace DEBUG: Found port in file:///opt/local/var/db/dports/sources/ rsync.rsync.darwinports.org_dpupdate_dports/x11/grace ---> Activating grace 5.1.20_0 DEBUG: Image error: Another version of this port (grace @5.1.18_0) is already active. while executing "portimage::activate $portname $version_installed$variant $optionslist" Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active.
MacPorts now says that 5.1.20 is already installed, but when I actually look in XmGrace it is still at 5.1.18...
sudo port list grace grace @5.1.20 x11/grace
You could try 'port list' more, you'd see it does not tell you the installed version (but the latest version)…
Manually uninstalling grace 5.1.18 and activating 5.1.20 works, though.
Greetings, Jochen
! ! Jyrki Wahlstedt ! skype:jyrkiwahlstedt ! http://www.wahlstedt.fi/jyrki/ ! ! Our life is no dream; but it ought to become one and perhaps will. ! PGP key ID: 0x139CC386 fingerprint: F355 B46F 026C B8C1 89C0 A780 6366 EFD9 139C C386
Hi Jochen, On 08/05/2007, at 18:30, Jochen Küpper wrote:
Release 1.4.40 (7-May-2007, tagged at r24909 by jberry):
So I selfupdate and run sudo port upgrade outdated... mostly works, but grace does not want to be activated:
sudo nice port -vd upgrade grace DEBUG: Found port in file:///opt/local/var/db/dports/sources/ rsync.rsync.darwinports.org_dpupdate_dports/x11/grace ---> Activating grace 5.1.20_0 DEBUG: Image error: Another version of this port (grace @5.1.18_0) is already active. while executing "portimage::activate $portname $version_installed$variant $optionslist" Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active.
This is part of the functionality of MacPorts: you can have multiple versions installed, but only one activated at a time; there will be a discussion elsewhere about all the reasons why this is useful, but I use it for testing updates to ports without having to have archives lying around or waiting for an entire port to rebuild if the one I'm working on fails and I need the old one. To take care of this, you can: (1) supply the -u flag to upgrade, which will deactivate and uninstall any older versions of a port before installing and activating the latest one (this is what I usually do); (2) manually deactivate the old port and activate the new one, which will leave the old port still installed; or (3) manually uninstall the old port and activate the new one, as you did, which will remove the old port (but still leave the binary archive of it if you have archive mode set in your ports.conf).
MacPorts now says that 5.1.20 is already installed, but when I actually look in XmGrace it is still at 5.1.18...
sudo port list grace grace @5.1.20 x11/grace
This command will only list the latest version of a port as listed in PortIndex (of which there will be only one if you are using only one repository in your sources.conf). If you had instead typed "sudo port installed grace" after the successful install but failed activation, you would have seen something like:
sudo port installed grace The following ports are currently installed: grace @5.1.18_0 (active) grace @5.1.20_0
(By the way, you don't actually need to sudo port's information actions.) I hope that this clarifies things for you. Kind regards, Maun Suang -- Boey Maun Suang (Boey is my surname) Email: boeyms@macports.org
On 08.05.2007, at 12:02, Boey Maun Suang wrote:
So I selfupdate and run sudo port upgrade outdated... mostly works, but grace does not want to be activated:
sudo nice port -vd upgrade grace DEBUG: Found port in file:///opt/local/var/db/dports/sources/ rsync.rsync.darwinports.org_dpupdate_dports/x11/grace ---> Activating grace 5.1.20_0 DEBUG: Image error: Another version of this port (grace @5.1.18_0) is already active. while executing "portimage::activate $portname $version_installed$variant $optionslist" Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active.
This is part of the functionality of MacPorts: you can have multiple versions installed, but only one activated at a time; there will be a discussion elsewhere about all the reasons why this is useful, but I use it for testing updates to ports without having to have archives lying around or waiting for an entire port to rebuild if the one I'm working on fails and I need the old one.
Well, not exactly consistent, apparently. I did: sudo nice port upgrade -u outdated But this then results in many erros due to non-versioned dependencies: ---> Activating grace 5.1.20_0 Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active. ---> Fetching pango ---> Attempting to fetch pango-1.16.4.tar.bz2 from http:// mandril.creatis.insa-lyon.fr/linux/gnome.org/sources/pango/1.16 ---> Verifying checksum(s) for pango ---> Extracting pango ---> Applying patches to pango ---> Configuring pango ---> Building pango with target all ---> Staging pango into destroot ---> Unable to uninstall pango 1.16.2_0, the following ports depend on it: ---> graphviz ---> gtk2 Error: Uninstall pango 1.16.2_0 failed: Please uninstall the ports that depend on pango first. ---> Fetching sqlite3 ---> Attempting to fetch sqlite-3.3.17.tar.gz from http:// www.sqlite.org/ ---> Verifying checksum(s) for sqlite3 ---> Extracting sqlite3 ---> Applying patches to sqlite3 ---> Configuring sqlite3 ---> Building sqlite3 with target all ---> Staging sqlite3 into destroot ---> Unable to uninstall sqlite3 3.3.16_0+darwin_8, the following ports depend on it: ---> apr-util Error: Uninstall sqlite3 3.3.16_0+darwin_8 failed: Please uninstall the ports that depend on sqlite3 first. Therefore I say
sudo nice port upgrade outdated
which works for all (!) ports but grace: ---> Activating grace 5.1.20_0 Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active. ---> Deactivating pango 1.16.2_0 ---> Installing pango 1.16.4_0 ---> Activating pango 1.16.4_0 ---> Cleaning pango ---> Deactivating sqlite3 3.3.16_0+darwin_8 ---> Installing sqlite3 3.3.17_0+darwin_8 ---> Activating sqlite3 3.3.17_0+darwin_8 ---> Cleaning sqlite3 in that light, thank you for your clarifications, but port upgrade -u outdated is not very useful, as most port are a dependency of something... I normally retreat to port upgrade outdated but this did not work for grace, whereas it worked for pango and sqlite3 and also worked all the times I used it before. No problem, I could easily work around it, just thought I let you know. Btw, it would be nice to have "port upgrade -u" really work. Anyway, thank all of you very much for your help and a beautiful system (MacPorts;)! Greetings, Jochen -- Einigkeit und Recht und Freiheit http://www.Jochen- Kuepper.de Liberté, Égalité, Fraternité GnuPG key: CC1B0B4D Sex, drugs and rock-n-roll
I did: sudo nice port upgrade -u outdated
But this then results in many erros due to non-versioned dependencies:
---> Activating grace 5.1.20_0 Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active. ---> Fetching pango ---> Attempting to fetch pango-1.16.4.tar.bz2 from http:// mandril.creatis.insa-lyon.fr/linux/gnome.org/sources/pango/1.16 ---> Verifying checksum(s) for pango ---> Extracting pango ---> Applying patches to pango ---> Configuring pango ---> Building pango with target all ---> Staging pango into destroot ---> Unable to uninstall pango 1.16.2_0, the following ports depend on it: ---> graphviz ---> gtk2 Error: Uninstall pango 1.16.2_0 failed: Please uninstall the ports that depend on pango first. ---> Fetching sqlite3 ---> Attempting to fetch sqlite-3.3.17.tar.gz from http:// www.sqlite.org/ ---> Verifying checksum(s) for sqlite3 ---> Extracting sqlite3 ---> Applying patches to sqlite3 ---> Configuring sqlite3 ---> Building sqlite3 with target all ---> Staging sqlite3 into destroot ---> Unable to uninstall sqlite3 3.3.16_0+darwin_8, the following ports depend on it: ---> apr-util Error: Uninstall sqlite3 3.3.16_0+darwin_8 failed: Please uninstall the ports that depend on sqlite3 first.
Sorry, I forgot about the fact that -u goes through all the dependencies and tries to _uninstall_ as well as upgrading them, which will of course fail as you observed when ports that depend on them are installed (I think this is a good thing to save oneself from unintended consequences). One needs to add the -f flag to force it to uninstall ports even when they have there are ports installed that depend on them, and/or the -n flag to not upgrade dependencies of ports specified for upgrading (this saves multiple rebuilds of packages when outdated ports depend on the same package, as -u will otherwise rebuild it once for each such instance). I usually run "port -ufn upgrade outdated" myself. (See additional comment below.)
Therefore I say
sudo nice port upgrade outdated
which works for all (!) ports but grace:
---> Activating grace 5.1.20_0 Error: Activating grace 5.1.20_0 failed: Image error: Another version of this port (grace @5.1.18_0) is already active. ---> Deactivating pango 1.16.2_0 ---> Installing pango 1.16.4_0 ---> Activating pango 1.16.4_0 ---> Cleaning pango ---> Deactivating sqlite3 3.3.16_0+darwin_8 ---> Installing sqlite3 3.3.17_0+darwin_8 ---> Activating sqlite3 3.3.17_0+darwin_8 ---> Cleaning sqlite3
The reason I tend not to just run "port upgrade outdated" is that, as you've probably noticed, it leaves the older versions of the ports installed (though inactive); I suppose I'm comfortable with living on the edge a bit if it saves space on my laptop hard drive :-) As for the failure to upgrade grace here, I'm guessing that the reason was that, at the time you ran "port upgrade outdated", you had the two versions of grace already installed and port thought it only had to activate the newer one (which failed because the older one was already active), whereas you had only one version installed of each of the other ports, and so it did deactivated the old one before installing the new one. If this is what it did, then that looks to me like a bug. If you (or others reading this) would be so kind as to try to reproduce and confirm this (and then file it as a bug if you do), or otherwise figure out what is happening, that would be most helpful.
Btw, it would be nice to have "port upgrade -u" really work.
(See first comment above if you skipped it :-)
Anyway, thank all of you very much for your help and a beautiful system (MacPorts;)!
And thank you for your input to help us make it better! Kind regards, Maun Suang -- Boey Maun Suang (Boey is my surname) Email: boeyms@macports.org
On 09.05.2007, at 02:27, Boey Maun Suang wrote:
As for the failure to upgrade grace here, I'm guessing that the reason was that, at the time you ran "port upgrade outdated", you had the two versions of grace already installed and port thought it only had to activate the newer one (which failed because the older one was already active), whereas you had only one version installed of each of the other ports, and so it did deactivated the old one before installing the new one. If this is what it did, then that looks to me like a bug. If you (or others reading this) would be so kind as to try to reproduce and confirm this (and then file it as a bug if you do), or otherwise figure out what is happening, that would be most helpful.
Could be. Not sure there is a way to still find out. Well, I thought I could try to reproduce it, so I uninstalled grace and tried to install the old version, but that does apparently not work:
sudo port install grace @5.1.18_0 ---> Fetching grace ---> Verifying checksum(s) for grace ---> Extracting grace ---> Configuring grace ---> Building grace with target all ---> Staging grace into destroot ---> Installing grace 5.1.20_0 ---> Activating grace 5.1.20_0 ---> Cleaning grace
Ho can I install an old version of a port? Greetings, Jochen -- Einigkeit und Recht und Freiheit http://www.Jochen- Kuepper.de Liberté, Égalité, Fraternité GnuPG key: CC1B0B4D Sex, drugs and rock-n-roll
On May 9, 2007, at 04:10, Jochen Küpper wrote:
On 09.05.2007, at 02:27, Boey Maun Suang wrote:
As for the failure to upgrade grace here, I'm guessing that the reason was that, at the time you ran "port upgrade outdated", you had the two versions of grace already installed and port thought it only had to activate the newer one (which failed because the older one was already active), whereas you had only one version installed of each of the other ports, and so it did deactivated the old one before installing the new one. If this is what it did, then that looks to me like a bug. If you (or others reading this) would be so kind as to try to reproduce and confirm this (and then file it as a bug if you do), or otherwise figure out what is happening, that would be most helpful.
Could be. Not sure there is a way to still find out.
Well, I thought I could try to reproduce it, so I uninstalled grace and tried to install the old version, but that does apparently not work:
sudo port install grace @5.1.18_0 ---> Fetching grace ---> Verifying checksum(s) for grace ---> Extracting grace ---> Configuring grace ---> Building grace with target all ---> Staging grace into destroot ---> Installing grace 5.1.20_0 ---> Activating grace 5.1.20_0 ---> Cleaning grace
Ho can I install an old version of a port?
MacPorts does not provide a built-in way to do that. If you want to do that, you can locate an older version of the portfile by browsing the MacPorts Subversion repository on the MacPorts web site, then download the portfile and place it on your hard drive overwriting the current version of the hard drive. (Use "port file foo" to find out where foo's portfile lives.) When you're done playing and want the current version back, "sudo port sync".
Ofcourse this may wreak havoc with dependencies :) -bakki On 5/9/07, Ryan Schmidt <ryandesign@macports.org> wrote:
Ho can I install an old version of a port?
MacPorts does not provide a built-in way to do that. If you want to do that, you can locate an older version of the portfile by browsing the MacPorts Subversion repository on the MacPorts web site, then download the portfile and place it on your hard drive overwriting the current version of the hard drive. (Use "port file foo" to find out where foo's portfile lives.) When you're done playing and want the current version back, "sudo port sync".
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
participants (6)
-
Bakki Kudva
-
Boey Maun Suang
-
James Berry
-
Jochen Küpper
-
Jyrki Wahlstedt
-
Ryan Schmidt