Perhaps useful, I see this exact same database attach permissions error when I 
installed tip-of-tree macports-base on Ubuntu Linux last night.

Ken





> On Apr 25, 2021, at 3:38 PM, Ken Cunningham <ken.cunningham.web...@gmail.com> 
> wrote:
> 
> WTH — five minutes later, and now the new install is also doing the same 
> issue, whereas it was not a bit ago.
> 
> This is very strange.
> 
> K
> 
>> On Apr 25, 2021, at 3:31 PM, Ken Cunningham <ken.cunningham.web...@gmail.com 
>> <mailto:ken.cunningham.web...@gmail.com>> wrote:
>> 
>> I went through the exact same process on a different Tiger machine, using 
>> the /opt/bootstrap process with curl and sqlite3, and for whatever reason, 
>> this other system does not show the same “sudo” issue with “port”. 
>> 
>> So — it must be something sporadic on that machine I guess… otherwise there 
>> are no noted issues so I don’t know what, but it’s not consistent and 
>> reproducible, so … I’ll just see what happens there.
>> 
>> Ken
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>> On Apr 25, 2021, at 9:57 AM, Ken Cunningham 
>>> <ken.cunningham.web...@gmail.com <mailto:ken.cunningham.web...@gmail.com>> 
>>> wrote:
>>> 
>>> 
>>> 
>>>> On Apr 24, 2021, at 11:59 PM, Ryan Schmidt <ryandes...@macports.org 
>>>> <mailto:ryandes...@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
>>> 
>> 
> 

Reply via email to