MacPorts 2.7.0-beta1 now available for testing

Ken Cunningham ken.cunningham.webuse at gmail.com
Sun Apr 25 16:57:30 UTC 2021



> On Apr 24, 2021, at 11:59 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
> 
> 
> On Apr 24, 2021, at 23:23, Ken Cunningham wrote:
> 
>> On Apr 24, 2021, at 7:36 PM, Ryan Schmidt wrote:
>> 
>>> Does only the first non-sudo `port` command fail? Does running the command with `sudo` once allow it to work without `sudo` a second time?
>>> 
>>> (There could be a one-time need to modify the registry sqlite database for the new method.)
>> 
>> Yes, indeed that seems to be the case. I just tried it again on that same system, and indeed I no longer need to use sudo for basic commands. Good catch.
> 
> Ok, then this is probably just the way it is for now. I seem to recall a similar situation happening with some previous MacPorts base update. Whenever we change the structure of the registry in some way, we increase the registry version and there is code (our update_db function) that knows what SQL statements need to run to convert an old registry version into the new one. This requires write access to the database.
> 
> Maybe there is a way that we could postpone the sqlite update process until you run a sudo port command. But depending on what the modifications are that the update performs, a new MacPorts might not be able to understand the structure of an old MacPorts registry until the sqlite update is performed.
> 


Well, now I am a bit confused. I restarted the Tiger machine, and the problem is back:

$ uname -a
Darwin MacMini.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386

$ which port
/opt/local/bin/port

$ port -v
sqlite error: attempt to write a readonly database (1544) while executing query: ATTACH DATABASE '/opt/local/var/macports/registry/registry.db' AS registry
    while executing
"registry::open $db_path"
    (procedure "mportinit" line 712)
    invoked from within
"mportinit ui_options global_options global_variations"
Error: /opt/local/bin/port: Failed to initialize MacPorts, sqlite error: attempt to write a readonly database (1544) while executing query: ATTACH DATABASE '/opt/local/var/macports/registry/registry.db' AS registry

$ sudo port -v
MacPorts 2.6.99
Entering shell mode... ("help" for help, "quit" to quit)
[Users/cunningh] > quit
Goodbye



My apologies for not immediately understanding why it worked last night and not today.

As Josh says, perhaps this is my own cross to bear due to how I build MacPorts. I will try it on another Tiger system I have, PPC.

Ken

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20210425/8b761c87/attachment-0001.htm>


More information about the macports-dev mailing list