[MacPorts] #23335: port fails to convert file_map to file_map.db after db file repair using /contrib/repairfilemap.2.tcl

MacPorts noreply at macports.org
Mon Jan 18 17:25:31 PST 2010


#23335: port fails to convert file_map to file_map.db after db file repair using
/contrib/repairfilemap.2.tcl
-----------------------------------------+----------------------------------
 Reporter:  dmichael.williams@…          |       Owner:  macports-tickets@…                   
     Type:  defect                       |      Status:  new                                  
 Priority:  Normal                       |   Milestone:                                       
Component:  contrib                      |     Version:  1.8.2                                
 Keywords:                               |        Port:                                       
-----------------------------------------+----------------------------------
Description changed by jmr@…:

Old description:

> Following advice on the Problem HotList I was trying to repair a corrupt
> file_map.db file with repairfilemap.2.tcl.  Followed instructions to the
> letter; ran script -> file_map created and then renamed existing .db
> file.  However, when port command invoked in order to get port to convert
> old style file to db format, port fails like so:
>
>  # sudo port deactivate R
>
> --->  Deactivating R
> Converting file map to new format (this may take a while)
> Error: port deactivate failed: Is a directory
>

> When port is invoked using the provides option it fails more verbosely
> like so:
>
> # sudo port provides /opt/local/etc/lynx.cfg
>
> Converting file map to new format (this may take a while)
> Is a directory
>     while executing
> "filemap set file_map [lindex $f 0] [lindex $f 1]"
>     (procedure "open_file_map" line 42)
>     invoked from within
> "open_file_map 1"
>     (procedure "receipt_flat::file_registered" line 4)
>     invoked from within
> "${macports::registry.format}::file_registered $file"
>     (procedure "registry::file_registered" line 3)
>     invoked from within
> "registry::file_registered $file"
>     (procedure "action_provides" line 13)
>     invoked from within
> "$action_proc $action $portlist [array get global_options]"
>     (procedure "process_cmd" line 92)
>     invoked from within
> "process_cmd $remaining_args"
>     invoked from within
> "if { [llength $remaining_args] > 0 } {
>
>     # If there are remaining arguments, process those as a command
>     set exit_status [process_cmd $remaining..."
>     (file "/opt/local/bin/port" line 3676)
>

> I also tried the older version of the script to no avail though,
> interestingly enough, the file_map file created was identical to that
> created by the newer version.

New description:

 Following advice on the Problem HotList I was trying to repair a corrupt
 file_map.db file with repairfilemap.2.tcl.  Followed instructions to the
 letter; ran script -> file_map created and then renamed existing .db file.
 However, when port command invoked in order to get port to convert old
 style file to db format, port fails like so:
 {{{
  # sudo port deactivate R

 --->  Deactivating R
 Converting file map to new format (this may take a while)
 Error: port deactivate failed: Is a directory
 }}}

 When port is invoked using the provides option it fails more verbosely
 like so:
 {{{
 # sudo port provides /opt/local/etc/lynx.cfg

 Converting file map to new format (this may take a while)
 Is a directory
     while executing
 "filemap set file_map [lindex $f 0] [lindex $f 1]"
     (procedure "open_file_map" line 42)
     invoked from within
 "open_file_map 1"
     (procedure "receipt_flat::file_registered" line 4)
     invoked from within
 "${macports::registry.format}::file_registered $file"
     (procedure "registry::file_registered" line 3)
     invoked from within
 "registry::file_registered $file"
     (procedure "action_provides" line 13)
     invoked from within
 "$action_proc $action $portlist [array get global_options]"
     (procedure "process_cmd" line 92)
     invoked from within
 "process_cmd $remaining_args"
     invoked from within
 "if { [llength $remaining_args] > 0 } {

     # If there are remaining arguments, process those as a command
     set exit_status [process_cmd $remaining..."
     (file "/opt/local/bin/port" line 3676)
 }}}

 I also tried the older version of the script to no avail though,
 interestingly enough, the file_map file created was identical to that
 created by the newer version.

--

-- 
Ticket URL: <http://trac.macports.org/ticket/23335#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list