Small bug in ports.php

Ryan Schmidt ryandesign at macports.org
Sun Nov 25 10:33:38 PST 2007


On Nov 24, 2007, at 19:26, Juan Manuel Palacios wrote:

> On Nov 24, 2007, at 8:33 PM, Ryan Schmidt wrote:
>
>> On Nov 24, 2007, at 18:11, Juan Manuel Palacios wrote:
>>
>>> On Nov 24, 2007, at 6:59 PM, Ryan Schmidt wrote:
>>>
>>>> $ env tclsh PortIndex2MySQL
>>>
>>> 	No need to do this, the script already has a "#!/usr/bin/env  
>>> tclsh" shebang (you can run it as "./PortIndex2MySQL").
>>
>> I couldn't, because "make" does not set the execute bit on  
>> PortIndex2MySQL. "make" should probably do that, shouldn't it?
>
> 	Cant exactly think of a way to do it without calling an  
> installation routine (even if to the same directory, I really see  
> no sense in installing this script anywhere else on a regular  
> basis), as all I currently do in the Makefile is a reinplace:
>
> edit = sed \
>         -e 's, at TCL_PACKAGE_DIR@,$(TCL_PACKAGE_DIR),g'
>
> (...)
>
> PortIndex2MySQL: PortIndex2MySQL.tcl
>         ${edit} $< > $@

Adding

	chmod 755 $@

after that line seems to work.


>> /tmp/portsdb.log was not present; it must've gotten cleaned up  
>> automatically.
>
>
> 	Expected behavior.
>
>
>> I caught it with tail -f while the script was running and it said:
>
>
> 	What about in your inbox? Didn't the mailing functionality work?

I don't seem to have gotten any mail, no...


>> [snip]
>> rsync: mkstemp "/opt/local/var/macports/sources/rsync.macports.org/ 
>> release/base/.ChangeLog.Uw8VSO" failed: Permission denied (13)
>> rsync: mkstemp "/opt/local/var/macports/sources/rsync.macports.org/ 
>> release/base/config/.RELEASE_URL.hbE1ot" failed: Permission denied  
>> (13)
>> rsync: mkstemp "/opt/local/var/macports/sources/rsync.macports.org/ 
>> release/base/config/.dp_version.TYaMkG" failed: Permission denied  
>> (13)
>> [snip]
>>
>> So it's trying to do a selfupdate and failing because it's not  
>> root. Running it as root got me past that, though I'd rather not  
>> have to run it as root. I'll selfupdate my MacPorts myself when I  
>> feel like it. :)
>
> 	The script needs to refresh the ports tree in order to regen the  
> db with up-to-date information, so a 'sync' operation fits the  
> bill... and while at it, I thought why not go all the way and  
> simply call out to "selfupdate" ;-). Depending on your setup, yes,  
> you might need root powers to do that (either sync and/or selfupdate).

My feeling is that this is "PortIndex2MySQL". It's not  
"SelfUpdateThenPortIndex2MySQL". Especially on my local machine,  
where I just want any information about the ports in MySQL and don't  
care if it's up to date because I'm just testing the web site code, I  
don't want to be forced to sync or selfupdate every time, especially  
because that requires root (on my setup and I expect on most others),  
and a MySQL import script should not require root. I'll comment out  
the selfupdate step locally for now.


>> Next error encountered was this:
>>
>> Error: CHILDSTATUS 17126 1: ERROR 2003 (HY000): Can't connect to  
>> MySQL server on '127.0.0.1' (61)
>>
>> True: I have networking support deliberately disabled on my MySQL  
>> so that only local connections are possible. Changing "set dbhost  
>> 127.0.0.1" to "set dbhost localhost" fixed it,
>
> 	The most recent version of the script in svn is using localhost,  
> DuBois has taught me well so I changed that a while ago ;-) You  
> must be using an outdated version.

Gah! I was on the release_1_6 branch. :)



More information about the macports-dev mailing list