[MacPorts] #14729: gnome installations do not register the schema files with gconf

MacPorts trac at macosforge.org
Fri Mar 21 16:28:51 PDT 2008


#14729: gnome installations do not register the schema files with gconf
------------------------------------+---------------------------------------
  Reporter:  reiffert at macports.org  |       Owner:  reiffert at macports.org  
      Type:  defect                 |      Status:  assigned               
  Priority:  Normal                 |   Milestone:  Port Enhancements      
 Component:  ports                  |     Version:  1.6.0                  
Resolution:                         |    Keywords:  gnome gconf gconftool-2
------------------------------------+---------------------------------------
Changes (by reiffert at macports.org):

  * status:  new => assigned

Comment:

 Unfourtunatly my first attempt doesnt work well on port variants.
 Currently I'm writing a gnome portgroup for handling the situation. Until
 the portgroup reaches your macports installation with a new macports
 release, use the following on your gnome port:

 {{{

 set storagedir  ${prefix}/etc/macports/gconf
 set storagefile $storagedir/${name}

 post-destroot {
         # We need to register some stuff to gconf. Just putting the
         # schema files to the right place is not enough.
         # For now we store the files in
         # ${prefix}/etc/macports/gconf/${name} and use that file
         # in post-activate. Until there is no better solution
         # this will make it into the gnomeportgroup

         # Find all .schemas file in the destroot
         fs-traverse schema ${destroot}${prefix}/etc/gconf/schemas {
                 if { [ file isfile $schema ] } {
                         lappend schemafiles $schema
                 }
         }


         # And put them in etc/macports/gconf/$name
         if { [ llength $schemafiles ] > 0 } {
                 file mkdir ${destroot}${storagedir}
                 set fh [open ${destroot}${storagefile} w]
                 foreach file $schemafiles {
                         puts $fh [exec basename $file]
                 }
                 close $fh
         }
 }

 post-activate {
         if { [file exists ${storagefile} ] } {
                 set fh [open ${storagefile} r]
                 while { ! [eof $fh] } {
                         lappend schemafiles [gets $fh]
                 }
                 close $fh
         }

         set schemastring [join $schemafiles " "]

          system "cd ${prefix}/etc/gconf/schemas && \
          GCONF_CONFIG_SOURCE=`${prefix}/bin/gconftool-2 --get-default-
 source` ${prefix}/bin/gconftool-2 --makefile-install-rule $schemastring"
  }

 }}}

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


More information about the macports-tickets mailing list