changeset 3757:1af29eeaad30

Eradicate stray use of `/usr'. Replace _root/usr with _prefix and replace /usr with settings.prefix_dir througout (except *cough* duplicate definitions in makefiles). This prepares for local $HOME dir builds (or MacOSX, HURD style directory layouts ftm), without the silly set-in-stone `/usr' prefix string.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Fri, 07 Sep 2007 15:02:40 +0200
parents 560d63c3ede4
children 80e8ede9d6a1
files bin/cygwin-packager gub/config_cache.py gub/cygwin.py gub/debian.py gub/gubb.py gub/gup.py gub/installer.py gub/settings.py gub/specs/base-passwd.py gub/specs/boost.py gub/specs/cross/binutils.py gub/specs/cross/gcc-core.py gub/specs/cross/gcc.py gub/specs/darwin/cross/gcc.py gub/specs/darwin/python.py gub/specs/debian/cross/gcc-34.py gub/specs/ffmpeg.py gub/specs/fontconfig.py gub/specs/freetype-config.py gub/specs/freetype.py gub/specs/ghostscript.py gub/specs/git.py gub/specs/glib.py gub/specs/glibc-core.py gub/specs/gmp.py gub/specs/guile-config.py gub/specs/guile.py gub/specs/icoutils.py gub/specs/libdbi-drivers-sqlite3.py gub/specs/libgnugetopt.py gub/specs/libgphoto2.py gub/specs/libiconv.py gub/specs/libjpeg.py gub/specs/libtool.py gub/specs/lilypad.py gub/specs/lilypond.py gub/specs/mingw-runtime.py gub/specs/netpbm.py gub/specs/noweb.py gub/specs/nsis.py gub/specs/pango.py gub/specs/pjproject.py gub/specs/python-config.py gub/specs/python.py gub/specs/python25.py gub/specs/qtopia-core.py gub/specs/sysvinit.py gub/specs/tcltk.py gub/specs/texlive.py gub/specs/urw-fonts.py gub/specs/w32api-in-usr-lib.py gub/targetpackage.py gub/toolpackage.py
diffstat 53 files changed, 297 insertions(+), 288 deletions(-) [+]
line wrap: on
line diff
--- a/bin/cygwin-packager	Fri Sep 07 14:13:21 2007 +0200
+++ b/bin/cygwin-packager	Fri Sep 07 15:02:40 2007 +0200
@@ -53,6 +53,7 @@
         self.no_binary_strip_extensions = ['.la', '.py', '.def',
                                            '.scm', '.pyc']
         self.installer_root = settings.targetdir + '/installer-' + name
+        self.installer_prefix = self.installer_root + settings.prefix_dir
         self.installer_db = settings.targetdir + '/installer-' + name + '-dbdir'
         self.installer_uploads = settings.uploads
         self.cygwin_uploads = settings.platform_uploads + '/release'
@@ -151,7 +152,7 @@
         self.system ('''
 mkdir -p %(cygwin_patches)s
 cp -pv %(installer_root)s/etc/hints/* %(cygwin_patches)s
-cp -pv %(installer_root)s/usr/share/doc/%(name)s/README.Cygwin %(cygwin_patches)s || true
+cp -pv %(installer_prefix)s/share/doc/%(name)s/README.Cygwin %(cygwin_patches)s || true
     ''', locals ())
 
     def description (self, hdr):
@@ -174,8 +175,8 @@
             changelog = 'ChangeLog not recorded.'
 
         self.system ('''
-mkdir -p %(installer_root)s/usr/share/doc/Cygwin
-mkdir -p %(installer_root)s/usr/share/doc/%(name)s
+mkdir -p %(installer_prefix)s/share/doc/Cygwin
+mkdir -p %(installer_prefix)s/share/doc/%(name)s
 ''')
 
         file = self.expand ('%(sourcefiledir)s/%(name)s.README')
@@ -305,23 +306,23 @@
 find %(installer_root)s -name fonts.cache-1 -exec rm '{}' ';'
 rm -rf %(installer_root)s/etc/hints
 rm -rf %(installer_root)s/license*
-rm -rf %(installer_root)s/usr/cross
-rm -rf %(installer_root)s/usr/etc/relocate
+rm -rf %(installer_prefix)s/cross
+rm -rf %(installer_prefix)s/etc/relocate
 rmdir %(installer_root)s/bin || true
 rmdir %(installer_root)s/etc/postinstall || true
 rmdir %(installer_root)s/etc || true
-rmdir %(installer_root)s/usr/bin || true
-rmdir %(installer_root)s/usr/etc || true
-rmdir %(installer_root)s/usr/lib || true
-rmdir %(installer_root)s/usr/share/doc/%(name)s || true
-rmdir %(installer_root)s/usr/share/doc || true
-rmdir %(installer_root)s/usr/share || true
-rmdir %(installer_root)s/usr || true
+rmdir %(installer_prefix)s/bin || true
+rmdir %(installer_prefix)s/etc || true
+rmdir %(installer_prefix)s/lib || true
+rmdir %(installer_prefix)s/share/doc/%(name)s || true
+rmdir %(installer_prefix)s/share/doc || true
+rmdir %(installer_prefix)s/share || true
+rmdir %(installer_prefix)s || true
 ''')
 
     def binary_strip (self):
         for i in ('bin', 'lib'):
-            dir = self.expand ('%(installer_root)s/usr/%(i)s', locals ())
+            dir = self.expand ('%(installer_prefix)s/%(i)s', locals ())
             if os.path.isdir (dir):
                 self.strip_dir (dir)
 
@@ -334,12 +335,12 @@
         if main_p:
             readme = self.get_readme (hdr)
             self.dump (readme,
-                       '%(installer_root)s/usr/share/doc/Cygwin/%(name)s-%(version)s-%(build)s.README')
+                       '%(installer_prefix)s/share/doc/Cygwin/%(name)s-%(version)s-%(build)s.README')
             self.dump (readme,
-                       '%(installer_root)s/usr/share/doc/%(name)s/README.Cygwin')
+                       '%(installer_prefix)s/share/doc/%(name)s/README.Cygwin')
 
     def infodir (self):
-        infodir = self.expand ('%(installer_root)s/usr/share/info')
+        infodir = self.expand ('%(installer_prefix)s/share/info')
         if os.path.isdir (infodir + '/' + self._name):
             self.system ('gzip %(infodir)s/%(name)s/*.info*', locals ())
         elif os.path.isdir (infodir):
--- a/gub/config_cache.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/config_cache.py	Fri Sep 07 15:02:40 2007 +0200
@@ -47,7 +47,7 @@
 # to LIBS
 # it seems that libtool is broken wrt cross compilation:
 #    sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 
 lt_cv_dlopen=${lt_cv_dlopen="dlopen"}
 ''',
@@ -59,8 +59,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-ldl"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib"'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 ''',
     'mipsel' : '''
 ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
@@ -70,8 +70,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-ldl"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib"'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 ''',
     'freebsd6-x86' : '''
 ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=no}
@@ -81,8 +81,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-lc"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib "'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib "'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib "'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib "'"}
 
 
 ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=no}
@@ -101,8 +101,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-ldl"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib"'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 
 ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=yes}
 ac_cv_file__dev_ptc=${ac_cv_file__dev_ptc=no}
@@ -178,8 +178,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-ldl"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib"'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 
 ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=yes}
 ac_cv_file__dev_ptc=${ac_cv_file__dev_ptc=no}
@@ -208,8 +208,8 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="-ldl"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=32768}
-##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib"'"}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/lib"'"}
+##libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_root)s/lib"'"}
 ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
 
 ac_cv_file__dev_ptmx=${ac_cv_file__dev_ptmx=yes}
@@ -242,7 +242,7 @@
 
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="none required"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=8192}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib/w32api %(system_root)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib/w32api %(system_root)s/lib"'"}
 ''',
     'mingw': '''
 ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
@@ -260,7 +260,7 @@
 ac_cv_c_c99_format=${ac_cv_c_c99_format=no}
 lt_cv_dlopen_libs=${lt_cv_dlopen_libs="none required"}
 lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=8192}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_root)s/usr/lib %(system_root)s/usr/lib/w32api %(system_root)s/lib"'"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="'"%(system_prefix)s/lib %(system_prefix)s/lib/w32api %(system_root)s/lib"'"}
 '''
 }
 
--- a/gub/cygwin.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/cygwin.py	Fri Sep 07 15:02:40 2007 +0200
@@ -149,7 +149,7 @@
     gubb.change_target_dict (package, {
             'DLLTOOL': '%(tool_prefix)sdlltool',
             'DLLWRAP': '%(tool_prefix)sdllwrap',
-            'LDFLAGS': '-L%(system_root)s/usr/lib -L%(system_root)s/usr/bin -L%(system_root)s/usr/lib/w32api',
+            'LDFLAGS': '-L%(system_prefix)s/lib -L%(system_prefix)s/bin -L%(system_prefix)s/lib/w32api',
             })
 
 def get_cygwin_package (settings, name, dict, skip):
--- a/gub/debian.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/debian.py	Fri Sep 07 15:02:40 2007 +0200
@@ -124,7 +124,7 @@
                     package.file_sub ([
                             ('includedir', 'deepqtincludedir'),
                             ('(-I|-L) */usr',
-                             '''\\1%(system_root)s/usr''' % locals ()),
+                             '''\\1%(system_prefix)s''' % locals ()),
                             ],
                                       '%(srcdir)s/usr/lib/pkgconfig/%(i)s',
                                       env=locals ())
--- a/gub/gubb.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/gubb.py	Fri Sep 07 15:02:40 2007 +0200
@@ -24,8 +24,8 @@
             sub_name = '-' + sub_name
         s = ('%(name)s' % dict) + sub_name
         self._dict['split_name'] = s
-        self._dict['split_ball'] = ('%(gub_uploads)s/%(split_name)s%(ball_suffix)s.%(platform)s.gup') % self._dict
-        self._dict['split_hdr'] = ('%(gub_uploads)s/%(split_name)s%(vc_branch_suffix)s.%(platform)s.hdr') % self._dict
+        self._dict['split_ball'] = ('%(packages)s/%(split_name)s%(ball_suffix)s.%(platform)s.gup') % self._dict
+        self._dict['split_hdr'] = ('%(packages)s/%(split_name)s%(vc_branch_suffix)s.%(platform)s.hdr') % self._dict
         self._dict['conflicts_string'] = ';'.join (self._conflicts)
         self._dict['dependencies_string'] = ';'.join (self._dependencies)
         self._dict['source_name'] = self.name ()
@@ -92,7 +92,7 @@
 
     @subst_method
     def LD_PRELOAD (self):
-        return '%(topdir)s/librestrict/librestrict.so'
+        return '%(gubdir)s/librestrict/librestrict.so'
     
     def get_substitution_dict (self, env={}):
         dict = {
@@ -242,7 +242,7 @@
 
     @subst_method
     def install_prefix (self):
-        return self.install_root () + '/usr'
+        return '%(install_root)s%(prefix_dir)s'
 
     @subst_method
     def install_command (self):
@@ -282,7 +282,7 @@
 
     @subst_method
     def src_package_uploads (self):
-        return '%(gub_uploads)s'
+        return '%(packages)s'
 
     @subst_method
     def stamp_file (self):
@@ -334,8 +334,8 @@
 ''', locals ())
         else:
             aclocal_opt = ''
-            if os.path.exists (self.expand ('%(system_root)s/usr/share/aclocal')):
-                aclocal_opt = '-I %(system_root)s/usr/share/aclocal'
+            if os.path.exists (self.expand ('%(system_prefix)s/share/aclocal')):
+                aclocal_opt = '-I %(system_prefix)s/share/aclocal'
                 
             headcmd = ''
             for c in ('configure.in','configure.ac'):
@@ -403,7 +403,7 @@
     def update_libtool (self):
         lst = self.locate_files ('%(builddir)s', 'libtool')
         if lst:
-            new = self.expand ('%(system_root)s/usr/bin/libtool')
+            new = self.expand ('%(system_prefix)s/bin/libtool')
             if not os.path.exists (new):
                 self.error ('Cannot update libtool: no such file: %(new)s' % locals ())
                 raise Exception ('barf')
@@ -416,7 +416,7 @@
         self.system ('''
 rm -rf %(install_root)s
 cd %(builddir)s && %(install_command)s
-rm -f %(install_root)s/%(packaging_suffix_dir)s/usr/share/info/dir %(install_root)s/%(packaging_suffix_dir)s/usr/cross/info/dir %(install_root)s/%(packaging_suffix_dir)s/usr/info/dir
+rm -f %(install_root)s/%(packaging_suffix_dir)s%(prefix_dir)s/share/info/dir %(install_root)s/%(packaging_suffix_dir)s/%(prefix_dir)s/cross/info/dir %(install_root)s/%(packaging_suffix_dir)s%(prefix_dir)s/info/dir
 ''')
         self.install_license ()
         self.libtool_installed_la_fixups ()
@@ -485,28 +485,29 @@
         return []
 
     def get_subpackage_definitions (self):
+	prefix = self.settings.prefix_dir
         d = {
             'devel': [
-            '/usr/bin/*-config',
-            '/usr/include',
-            '/usr/cross/bin',
-            '/usr/cross/include',
-            '/usr/cross/lib',
-            '/usr/cross/libexec',
-            '/usr/cross/' + self.settings.target_architecture,
-            '/usr/share/aclocal',
-            '/usr/lib/lib*.a',
-            '/usr/lib/pkgconfig',
+            prefix_dir + '/bin/*-config',
+            prefix_dir + '/include',
+            prefix_dir + '/cross/bin',
+            prefix_dir + '/cross/include',
+            prefix_dir + '/cross/lib',
+            prefix_dir + '/cross/libexec',
+            prefix_dir + '/cross/' + self.settings.target_architecture,
+            prefix_dir + '/share/aclocal',
+            prefix_dir + '/lib/lib*.a',
+            prefix_dir + '/lib/pkgconfig',
             ],
             'doc': [
-            '/usr/share/doc',
-            '/usr/share/gtk-doc',
-            '/usr/share/info',
-            '/usr/share/man',
-            '/usr/cross/info',
-            '/usr/cross/man',
+            prefix_dir + '/share/doc',
+            prefix_dir + '/share/gtk-doc',
+            prefix_dir + '/share/info',
+            prefix_dir + '/share/man',
+            prefix_dir + '/cross/info',
+            prefix_dir + '/cross/man',
             ],
-            'runtime': ['/lib', '/usr/lib', '/usr/share'],
+            'runtime': ['/lib', prefix_dir + '/lib', prefix_dir + '/share'],
             '' : ['/'],
             }
         return d
@@ -599,7 +600,7 @@
 
     def post_install_smurf_exe (self):
         for i in (self.locate_files ('%(install_root)s/bin', '*')
-                  + self.locate_files ('%(install_root)s/usr/bin', '*')):
+                  + self.locate_files ('%(install_prefix)s/bin', '*')):
             if (not os.path.islink (i)
                 and not os.path.splitext (i)[1]
                 and self.read_pipe ('file -b %(i)s', locals ()).startswith ('MS-DOS executable PE')):
@@ -607,7 +608,7 @@
 
     def install_readmes (self):
         self.system ('''
-mkdir -p %(install_root)s/usr/share/doc/%(name)s
+mkdir -p %(install_prefix)s/share/doc/%(name)s
 ''')
         for i in glob.glob ('%(srcdir)s/[A-Z]*'
                             % self.get_substitution_dict ()):
@@ -615,7 +616,7 @@
             if (os.path.isfile (i)
                 and not os.path.basename (i).startswith ('Makefile')
                 and not os.path.basename (i).startswith ('GNUmakefile')):
-                shutil.copy2 (i, '%(install_root)s/usr/share/doc/%(name)s'
+                shutil.copy2 (i, '%(install_prefix)s/share/doc/%(name)s'
                               % self.get_substitution_dict ())
 
     def build_version (self):
@@ -625,7 +626,7 @@
 
     def build_number (self):
         # FIXME: actually need the packages' build number here...
-        build_number_file = '%(topdir)s/buildnumber-%(lilypond_branch)s.make'
+        build_number_file = '%(gubdir)s/buildnumber-%(lilypond_branch)s.make'
         d = misc.grok_sh_variables (self.expand (build_number_file))
         b = '%(INSTALLER_BUILD)s' % d
         return b
--- a/gub/gup.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/gup.py	Fri Sep 07 15:02:40 2007 +0200
@@ -123,7 +123,7 @@
             file = file[2:]
         dir = os.path.dirname (file)
         self.os_interface.file_sub ([('(-I|-L) */usr',
-                                      '''\\1%(root)s/usr''' % locals ()
+                                      '''\\1%(root)s%(prefix_dir)s''' % locals ()
                                       ),],
                                     '%(root)s/%(file)s' % locals ())
 
--- a/gub/installer.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/installer.py	Fri Sep 07 15:02:40 2007 +0200
@@ -35,6 +35,7 @@
         self.installer_root = (settings.targetdir
                                + '/installer-%s-%s' % (name,
                                                        self.package_branch))
+        self.installer_prefix = self.installer_root + settings.prefix_dir
         self.installer_checksum_file = self.installer_root + '.checksum'
         self.installer_db = self.installer_root + '-dbdir'
 
@@ -172,8 +173,8 @@
         
     def strip (self):
         self.strip_unnecessary_files ()
-        self.strip_dir ('%(installer_root)s/usr/bin')
-        self.strip_dir ('%(installer_root)s/usr/lib')
+        self.strip_dir ('%(installer_prefix)s/bin')
+        self.strip_dir ('%(installer_prefix)s/lib')
 
     def use_install_root_manager (self, manager):
         pass
@@ -222,8 +223,8 @@
 rm -f %(bundle_zip)s 
 rm -rf %(darwin_bundle_dir)s
 tar -C %(targetdir)s -zxf %(downloads)s/osx-lilypad-%(cpu_type)s-%(osx_lilypad_version)s.tar.gz
-cp %(darwin_bundle_dir)s/Contents/Resources/subprocess.py %(installer_root)s/usr/share/lilypond/current/python/
-cp -pR --link %(installer_root)s/usr/* %(darwin_bundle_dir)s/Contents/Resources/
+cp %(darwin_bundle_dir)s/Contents/Resources/subprocess.py %(installer_prefix)s/share/lilypond/current/python/
+cp -pR --link %(installer_prefix)s/* %(darwin_bundle_dir)s/Contents/Resources/
 mkdir -p %(darwin_bundle_dir)s/Contents/Resources/license
 cp -pR --link %(installer_root)s/license*/* %(darwin_bundle_dir)s/Contents/Resources/license/
 ''', locals ())
--- a/gub/settings.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/settings.py	Fri Sep 07 15:02:40 2007 +0200
@@ -41,6 +41,9 @@
 
         # config dirs
 
+        # TODO: local-prefix, target-prefix, cross-prefix?
+        self.prefix_dir = '/usr'
+
         # gubdir is top of `installed' gub repository
         self.gubdir = os.getcwd ()
 
@@ -60,6 +63,7 @@
         self.targetdir = self.alltargetdir + self.platform
 
         self.system_root = self.targetdir + '/root'
+        self.system_prefix = self.system_root + self.prefix_dir
         ## Patches are architecture dependent, 
         ## so to ensure reproducibility, we unpack for each
         ## architecture separately.
@@ -72,9 +76,9 @@
         self.platform_uploads = self.uploads + '/' + self.platform
 
         # FIXME: rename to cross_root?
-        self.cross_prefix = self.system_root + '/usr/cross'
+        self.cross_prefix = self.system_prefix + '/cross'
         self.installdir = self.targetdir + '/install'
-        self.local_prefix = self.alltargetdir + '/local/usr'
+        self.local_prefix = self.alltargetdir + '/local' + self.prefix_dir
         self.cross_distcc_bindir = self.alltargetdir + '/cross-distcc/bin'
         self.native_distcc_bindir = self.alltargetdir + '/native-distcc/bin'
 
@@ -82,7 +86,7 @@
         self.cross_allsrcdir = self.allsrcdir + '/cross'
         self.cross_statusdir = self.statusdir + '/cross'
 
-        self.core_prefix = self.system_root + '/usr/cross/core'
+        self.core_prefix = self.system_prefix + '/cross/core'
         # end config dirs
 
 
--- a/gub/specs/base-passwd.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/base-passwd.py	Fri Sep 07 15:02:40 2007 +0200
@@ -10,7 +10,7 @@
         self.shadow_tree ('%(srcdir)s', '%(builddir)s')
     @context.subst_method
     def configure_command (self):
-        return './configure --prefix=/usr'
+        return './configure --prefix=%(prefix_dir)s'
 
 class Base_passwd (targetpackage.TargetBuildSpec):
     def __init__ (self, settings):
--- a/gub/specs/boost.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/boost.py	Fri Sep 07 15:02:40 2007 +0200
@@ -45,14 +45,14 @@
 --layout=system
 --builddir=%(builddir)s
 --with-python-root=/dev/null
---prefix=/usr
---exec-prefix=/usr
---libdir=/usr/lib
---includedir=/usr/include
+--prefix=%(prefix_dir)s
+--exec-prefix=%(prefix_dir)s
+--libdir=%(prefix_dir)s/lib
+--includedir=%(prefix_dir)s/include
 ''')
     def install_command (self):
         return (self.compile_command ()
-                + ' install').replace ('=/usr', '=%(install_root)s/usr')
+                + ' install').replace ('=%(prefix_dir)s', '=%(install_prefix)s')
 
 class Boost (BjamBuildSpec):
     def __init__ (self,settings):
@@ -68,7 +68,7 @@
     def install (self):
         BjamBuildSpec.install (self)
         # Bjam `installs' header files by using symlinks to the source dir?
-        for i in self.locate_files ('%(install_root)s/usr/include/boost',
+        for i in self.locate_files ('%(install_prefix)s/include/boost',
                                     '*'):
             if os.path.islink (i):
                 s = os.readlink (i)
@@ -78,8 +78,8 @@
 ''',
                              locals ())
         cwd = os.getcwd ()
-        os.chdir (self.expand ('%(install_root)s/usr/lib'))
-        for i in self.locate_files ('%(install_root)s/usr/lib', 'libboost_*-s.a'):
+        os.chdir (self.expand ('%(install_prefix)s/lib'))
+        for i in self.locate_files ('%(install_prefix)s/lib', 'libboost_*-s.a'):
             f = os.path.basename (i)
             os.symlink (f, f.replace ('-s.a', '.a'))
         os.chdir (cwd)
--- a/gub/specs/cross/binutils.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/cross/binutils.py	Fri Sep 07 15:02:40 2007 +0200
@@ -7,4 +7,4 @@
         self.with_tarball (mirror=mirrors.gnu, version='2.16.1', format='bz2')
     def install (self):
         cross.CrossToolSpec.install (self)
-        self.system ('rm %(install_root)s/usr/cross/lib/libiberty.a')
+        self.system ('rm %(install_prefix)s/cross/lib/libiberty.a')
--- a/gub/specs/cross/gcc-core.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/cross/gcc-core.py	Fri Sep 07 15:02:40 2007 +0200
@@ -22,7 +22,7 @@
         return (misc.join_lines (gcc.Gcc_from_source.configure_command (self)
                                  + '''
 --prefix=%(cross_prefix)s
---prefix=/usr
+--prefix=%(prefix_dir)s
 --with-newlib
 --enable-threads=no
 --without-headers
--- a/gub/specs/cross/gcc.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/cross/gcc.py	Fri Sep 07 15:02:40 2007 +0200
@@ -66,15 +66,15 @@
 
     def install (self):
         cross.CrossToolSpec.install (self)
-        old_libs = self.expand ('%(install_root)s/usr/cross/%(target_architecture)s')
+        old_libs = self.expand ('%(install_prefix)s/cross/%(target_architecture)s')
 
         self.move_target_libs (old_libs)
-        self.move_target_libs (self.expand ('%(install_root)s/usr/cross/lib'))
+        self.move_target_libs (self.expand ('%(install_prefix)s/cross/lib'))
         import os
-        if os.path.exists (self.expand ('cd %(install_root)s/usr/lib/libgcc_s.so.1')):
+        if os.path.exists (self.expand ('cd %(install_prefix)s/lib/libgcc_s.so.1')):
             # FIXME: .so senseless for darwin.
             self.system ('''
-cd %(install_root)s/usr/lib && ln -fs libgcc_s.so.1 libgcc_s.so
+cd %(install_prefix)s/lib && ln -fs libgcc_s.so.1 libgcc_s.so
 ''')
 
 class Gcc_from_source (Gcc):
@@ -87,7 +87,7 @@
     def configure_command (self):
         return (Gcc.configure_command (self)
                 + misc.join_lines ('''
---with-local-prefix=%(system_root)s/usr
+--with-local-prefix=%(system_prefix)s
 --disable-multilib
 --disable-nls
 --enable-threads=posix
@@ -100,7 +100,7 @@
     def install (self):
         Gcc.install (self)
         self.system ('''
-mv %(install_root)s/usr/cross/lib/gcc/%(target_architecture)s/%(version)s/libgcc_eh.a %(install_root)s/usr/lib
+mv %(install_prefix)s/cross/lib/gcc/%(target_architecture)s/%(version)s/libgcc_eh.a %(install_prefix)s/lib
 ''')
 
 Gcc__linux = Gcc_from_source
@@ -116,8 +116,8 @@
     def patch (self):
         for f in ['%(srcdir)s/gcc/config/i386/mingw32.h',
                   '%(srcdir)s/gcc/config/i386/t-mingw32']:
-            self.file_sub ([('/mingw/include','/usr/include'),
-                            ('/mingw/lib','/usr/lib'),
+            self.file_sub ([('/mingw/include','%(prefix_dir)s/include'),
+                            ('/mingw/lib','%(prefix_dir)s/lib'),
                             ], f)
 
 class Gcc__cygwin (Gcc__mingw):
--- a/gub/specs/darwin/cross/gcc.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/darwin/cross/gcc.py	Fri Sep 07 15:02:40 2007 +0200
@@ -29,7 +29,7 @@
     def rewire_gcc_libs (self):
 	import os
         skip_libs = ['libgcc_s']
-        for ell in self.locate_files ("%(install_root)s/usr/lib/", '*.dylib'):
+        for ell in self.locate_files ("%(install_prefix)s/lib/", '*.dylib'):
             found_skips = [s for s in  skip_libs if ell.find (s) >= 0]
             if found_skips:
                 continue
--- a/gub/specs/darwin/python.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/darwin/python.py	Fri Sep 07 15:02:40 2007 +0200
@@ -16,7 +16,7 @@
         gubb.BuildSpec.package (self)
         
     def install (self):
-        self.system ('mkdir -p %(install_root)s/usr/cross/bin/')
+        self.system ('mkdir -p %(install_prefix)s/cross/bin/')
         self.dump ('''#!/bin/sh
 if test "$1" == "--cflags"; then
   echo "-I%(system_root)s/System/Library/Frameworks/Python.framework/Versions/%(version)s/include/python%(version)s"
@@ -24,5 +24,5 @@
 if test "$1" == "--ldflags"; then
   echo ""
 fi
-''', '%(install_root)s/usr/cross/bin/python-config')
-        self.system ('chmod +x %(install_root)s/usr/cross/bin/python-config')
+''', '%(install_prefix)s/cross/bin/python-config')
+        self.system ('chmod +x %(install_prefix)s/cross/bin/python-config')
--- a/gub/specs/debian/cross/gcc-34.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/debian/cross/gcc-34.py	Fri Sep 07 15:02:40 2007 +0200
@@ -22,22 +22,22 @@
         gcc.Gcc.install (self)
         # get rid of duplicates
         self.system ('''
-rm -f %(install_root)s/usr/lib/libgcc_s.so
-rm -f %(install_root)s/usr/lib/libgcc_s.so.1
-rm -f %(install_root)s/usr/cross/lib/libiberty.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libiberty.a
-rm -rf %(install_root)s/usr/cross/info
-rm -rf %(install_root)s/usr/cross/man
-rm -rf %(install_root)s/usr/cross/share/locale
+rm -f %(install_prefix)s/lib/libgcc_s.so
+rm -f %(install_prefix)s/lib/libgcc_s.so.1
+rm -f %(install_prefix)s/cross/lib/libiberty.a
+rm -rf %(install_prefix)s/cross/mipsel-linux/lib/libiberty.a
+rm -rf %(install_prefix)s/cross/info
+rm -rf %(install_prefix)s/cross/man
+rm -rf %(install_prefix)s/cross/share/locale
 ''')
         if 'c++' in self.languages ():
             self.system ('''
-rm -rf %(install_root)s/usr/lib/libsupc++.la
-rm -rf %(install_root)s/usr/lib/libstdc++.la
-rm -rf %(install_root)s/usr/lib/libstdc++.so.6
-rm -rf %(install_root)s/usr/lib/libstdc++.so
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libsupc++.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libstdc++.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/debug/libstdc++.a
+rm -rf %(install_prefix)s/lib/libsupc++.la
+rm -rf %(install_prefix)s/lib/libstdc++.la
+rm -rf %(install_prefix)s/lib/libstdc++.so.6
+rm -rf %(install_prefix)s/lib/libstdc++.so
+rm -rf %(install_prefix)s/cross/mipsel-linux/lib/libsupc++.a
+rm -rf %(install_prefix)s/cross/mipsel-linux/lib/libstdc++.a
+rm -rf %(install_prefix)s/cross/mipsel-linux/lib/debug/libstdc++.a
 ''')
 
--- a/gub/specs/ffmpeg.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/ffmpeg.py	Fri Sep 07 15:02:40 2007 +0200
@@ -31,7 +31,7 @@
         #targetpackage.TargetBuildSpec.configure_command (self)
         return misc.join_lines ('''
 CC=%(tool_prefix)sgcc CFLAGS=-fPIC %(srcdir)s/configure
---prefix=/usr
+--prefix=%(prefix_dir)s
 --cross-prefix=%(cross_prefix)s/bin/%(tool_prefix)s
 --cpu=%(cpu)s
 --enable-faad
--- a/gub/specs/fontconfig.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/fontconfig.py	Fri Sep 07 15:02:40 2007 +0200
@@ -41,8 +41,8 @@
         return (targetpackage.TargetBuildSpec.configure_command (self) 
                 + misc.join_lines ('''
 --with-arch=%(target_architecture)s
---with-freetype-config="%(system_root)s/usr/cross/bin/freetype-config
---prefix=%(system_root)s/usr
+--with-freetype-config="%(system_prefix)s/cross/bin/freetype-config
+--prefix=%(system_prefix)s
 "'''))
 
     def configure (self):
@@ -79,7 +79,7 @@
         self.dump ('''set FONTCONFIG_FILE=$INSTALLER_PREFIX/etc/fonts/fonts.conf
 set FONTCONFIG_PATH=$INSTALLER_PREFIX/etc/fonts
 ''', 
-             '%(install_root)s/usr/etc/relocate/fontconfig.reloc')
+             '%(install_prefix)s/etc/relocate/fontconfig.reloc')
         
         
 class Fontconfig__mingw (Fontconfig):
@@ -112,11 +112,11 @@
         Fontconfig.configure (self)
         self.file_sub ([
             ('^sys_lib_search_path_spec="/lib/* ',
-            'sys_lib_search_path_spec="%(system_root)s/usr/lib /lib '),
+            'sys_lib_search_path_spec="%(system_prefix)s/lib /lib '),
             # FIXME: typo: dl_search (only dlsearch exists).
             # comment-out for now
             #('^sys_lib_dl_search_path_spec="/lib/* ',
-            # 'sys_lib_dl_search_path_spec="%(system_root)s/usr/lib /lib ')
+            # 'sys_lib_dl_search_path_spec="%(system_prefix)s/lib /lib ')
             ],
                '%(builddir)s/libtool')
 
@@ -150,7 +150,7 @@
         d = dict (Fontconfig.get_subpackage_definitions (self))
         # urg, must remove usr/share. Because there is no doc package,
         # runtime iso '' otherwise gets all docs.
-        d['runtime'] = ['/usr/lib']
+        d['runtime'] = [self.settings.prefix_dir + '/lib']
         return d
 
     def get_subpackage_names (self):
--- a/gub/specs/freetype-config.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/freetype-config.py	Fri Sep 07 15:02:40 2007 +0200
@@ -12,10 +12,10 @@
         self.system ('mkdir -p %(cross_prefix)s/usr/bin')
         
         ft_version = self.version ()
-        prefix = '%(system_root)s/usr'
+        prefix = '%(system_prefix)s'
         exec_prefix = '${prefix}'
-        includedir = '/usr/include'
-        libdir = '/usr/lib'
+        includedir = '%(prefix_dir)s/include'
+        libdir = '%(prefix_dir)s/lib'
         enable_shared = 'yes'
         wl = '-Wl,'
         hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
--- a/gub/specs/freetype.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/freetype.py	Fri Sep 07 15:02:40 2007 +0200
@@ -43,7 +43,7 @@
 
     def munge_ft_config (self, file):
         self.file_sub ([('\nprefix=[^\n]+\n',
-                         '\nlocal_prefix=yes\nprefix=%(system_root)s/usr\n')],
+                         '\nlocal_prefix=yes\nprefix=%(system_prefix)s\n')],
                        file, must_succeed=True)
 
     def install (self):
@@ -52,9 +52,9 @@
         # we want /usr/bin/freetype-config must survive.
         # While cross building, we create an  <toolprefix>-freetype-config
         # and prefer that.
-        self.system ('mkdir -p %(install_root)s/usr/cross/bin/')
-        self.system ('mv %(install_root)s/usr/bin/freetype-config %(install_root)s/usr/cross/bin/freetype-config')
-        self.munge_ft_config ('%(install_root)s/usr/cross/bin/freetype-config')
+        self.system ('mkdir -p %(install_prefix)s/cross/bin/')
+        self.system ('mv %(install_prefix)s/bin/freetype-config %(install_prefix)s/cross/bin/freetype-config')
+        self.munge_ft_config ('%(install_prefix)s/cross/bin/freetype-config')
 
 class Freetype__mingw (Freetype):
     def configure (self):
@@ -80,7 +80,8 @@
         d = dict (Freetype.get_subpackage_definitions (self))
         # urg, must remove usr/share. Because there is no doc package,
         # runtime iso '' otherwise gets all docs.
-        d['runtime'] = ['/usr/bin/*dll', '/usr/lib/*.la']
+        d['runtime'] = [self.settings.prefix_dir + '/bin/*dll',
+                        self.settings.prefix_dir + '/lib/*.la']
         return d
 
     def get_subpackage_names (self):
--- a/gub/specs/ghostscript.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/ghostscript.py	Fri Sep 07 15:02:40 2007 +0200
@@ -109,7 +109,7 @@
         self.file_sub (substs, '%(builddir)s/obj/arch.h')
 
     def compile_command (self):
-        return targetpackage.TargetBuildSpec.compile_command (self) + " INCLUDE=%(system_root)s/usr/include/ PSDOCDIR=/usr/share/doc/ PSMANDIR=/usr/share/man "
+        return targetpackage.TargetBuildSpec.compile_command (self) + " INCLUDE=%(system_prefix)s/include/ PSDOCDIR=%(prefix_dir)s/share/doc/ PSMANDIR=%(prefix_dir)s/share/man "
         
     def compile (self):
         self.system ('''
@@ -154,14 +154,14 @@
     def install_command (self):
         return (targetpackage.TargetBuildSpec.install_command (self)
                 + ' install_prefix=%(install_root)s'
-                + ' mandir=/usr/share/man/ '
-                + ' docdir=/usr/share/doc/ghostscript/doc '
-                + ' exdir=/usr/share/doc/ghostscript/examples '
+                + ' mandir=%(prefix_dir)s/share/man/ '
+                + ' docdir=%(prefix_dir)s/share/doc/ghostscript/doc '
+                + ' exdir=%(prefix_dir)s/share/doc/ghostscript/examples '
                 )
 
     def install (self):
         targetpackage.TargetBuildSpec.install (self)
-        self.system ('mkdir -p %(install_root)s/usr/etc/relocate/')
+        self.system ('mkdir -p %(install_prefix)s/etc/relocate/')
         self.dump ('''
 
 prependdir GS_FONTPATH=$INSTALLER_PREFIX/share/ghostscript/%(version)s/fonts
@@ -169,7 +169,7 @@
 prependdir GS_LIB=$INSTALLER_PREFIX/share/ghostscript/%(version)s/Resource
 prependdir GS_LIB=$INSTALLER_PREFIX/share/ghostscript/%(version)s/lib
 
-''', '%(install_root)s/usr/etc/relocate/gs.reloc')
+''', '%(install_prefix)s/etc/relocate/gs.reloc')
 
 class Ghostscript__mingw (Ghostscript):
     def __init__ (self, settings):
@@ -230,7 +230,7 @@
             self.lily_26_kludge()
 
     def lily_26_kludge (self):
-        gs_prefix = '/usr/share/ghostscript/%(ghostscript_version)s'
+        gs_prefix = '%(prefix_dir)s/share/ghostscript/%(ghostscript_version)s'
         fonts = ['c059013l', 'c059016l', 'c059033l', 'c059036l']
         for i in self.read_pipe ('locate %s.pfb' % fonts[0]).split ('\n'):
             dir = os.path.dirname (i)
--- a/gub/specs/git.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/git.py	Fri Sep 07 15:02:40 2007 +0200
@@ -13,7 +13,7 @@
                        '%(srcdir)s/GIT-VERSION-GEN')
         
     def configure (self):
-        self.dump ('prefix=%(system_root)s/usr', '%(builddir)s/config.mak')
+        self.dump ('prefix=%(system_prefix)s', '%(builddir)s/config.mak')
 
     def wrap_executables (self):
         # GIT executables use ancient unix style smart name-based
@@ -90,7 +90,7 @@
 
                 ## we'll consider it if they clean up their act
                 + ' SCRIPT_PERL= '
-                + ' instdir_SQ=%(install_root)s/usr/lib/ '
+                + ' instdir_SQ=%(install_prefix)s/lib/ '
                 + ' SHELL_PATH=/bin/sh'
                 + ' PERL_PATH=/bin/perl')
 
@@ -114,4 +114,4 @@
         bat = r'''@echo off
 "@INSTDIR@\usr\bin\wish84.exe" "@INSTDIR@\usr\bin\gitk" %1 %2 %3 %4 %5 %6 %7 %8 %9
 '''.replace ('%','%%').replace ('\n','\r\n')
-        self.dump (bat, '%(install_root)s/usr/bin/gitk.bat.in')
+        self.dump (bat, '%(install_prefix)s/bin/gitk.bat.in')
--- a/gub/specs/glib.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/glib.py	Fri Sep 07 15:02:40 2007 +0200
@@ -33,7 +33,7 @@
         
     def install (self):
         targetpackage.TargetBuildSpec.install (self)
-        self.system ('rm %(install_root)s/usr/lib/charset.alias',
+        self.system ('rm %(install_prefix)s/lib/charset.alias',
                      ignore_errors=True)
         
 class Glib__darwin (Glib):
@@ -88,7 +88,7 @@
 
     def install (self):
         toolpackage.ToolBuildSpec.install(self)
-        self.system ('rm %(install_root)s/%(packaging_suffix_dir)s/usr/lib/charset.alias',
+        self.system ('rm %(install_root)s/%(packaging_suffix_dir)s%(prefix_dir)s/lib/charset.alias',
                          ignore_errors=True)
 
     def get_build_dependencies (self):
--- a/gub/specs/glibc-core.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/glibc-core.py	Fri Sep 07 15:02:40 2007 +0200
@@ -42,9 +42,9 @@
     def install (self):
         glibc.Glibc.install (self)
         self.system ('''
-mkdir -p %(install_root)s/usr/include/gnu
-touch %(install_root)s/usr/include/gnu/stubs.h
-cp %(srcdir)s/include/features.h %(install_root)s/usr/include
-mkdir -p %(install_root)s/usr/include/bits
-cp %(builddir)s/bits/stdio_lim.h %(install_root)s/usr/include/bits
+mkdir -p %(install_prefix)s/include/gnu
+touch %(install_prefix)s/include/gnu/stubs.h
+cp %(srcdir)s/include/features.h %(install_prefix)s/include
+mkdir -p %(install_prefix)s/include/bits
+cp %(builddir)s/bits/stdio_lim.h %(install_prefix)s/include/bits
 ''')
--- a/gub/specs/gmp.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/gmp.py	Fri Sep 07 15:02:40 2007 +0200
@@ -53,7 +53,7 @@
     def install (self):
         Gmp.install (self)
         self.file_sub ([('using std::FILE;','')],
-                       '%(install_root)s/usr/include/gmp.h')
+                       '%(install_prefix)s/include/gmp.h')
 
 class Gmp__darwin__x86 (Gmp__darwin):
     def configure_command (self):
@@ -92,7 +92,7 @@
     def install (self):
         Gmp.install (self)
         self.system ('''
-mv %(install_root)s/usr/lib/*dll %(install_root)s/usr/bin || true
+mv %(install_prefix)s/lib/*dll %(install_prefix)s/bin || true
 ''')
 
 from gub import toolpackage
--- a/gub/specs/guile-config.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/guile-config.py	Fri Sep 07 15:02:40 2007 +0200
@@ -11,7 +11,7 @@
 
     def install (self):
         gubb.SdkBuildSpec.install (self)
-        self.system ('mkdir -p %(cross_prefix)s/usr/bin')
+        self.system ('mkdir -p %(cross_prefix)s%(prefix_dir)s/bin')
         
         import os
         version = self.version ()
@@ -20,7 +20,7 @@
 #! /bin/sh
 test "$1" = "--version" && echo "%(target_architecture)s-guile-config - Guile version %(version)s"
 #prefix=$(dirname $(dirname $0))
-prefix=%(system_root)s/usr
+prefix=%(system_prefix)s
 test "$1" = "compile" && echo "-I$prefix/include"
 #test "$1" = "link" && echo "-L$prefix/lib -lguile -lgmp"
 # KUCH, debian specific, and [mipsel] reading .la is broken?
--- a/gub/specs/guile.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/guile.py	Fri Sep 07 15:02:40 2007 +0200
@@ -111,7 +111,7 @@
         majmin_version = '.'.join (self.expand ('%(version)s').split ('.')[0:2])
         
         self.dump ("prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/%(majmin_version)s\n",
-                   '%(install_root)s/usr/etc/relocate/guile.reloc',
+                   '%(install_prefix)s/etc/relocate/guile.reloc',
                    env=locals())
         
         ## can't assume that /usr/bin/guile is the right one.
@@ -122,10 +122,10 @@
         self.dump ('''\
 #! /bin/sh
 test "$1" = "--version" && echo "%(target_architecture)s-guile-config - Guile version %(version)s"
-#test "$1" = "compile" && echo "-I $%(system_root)s/usr/include"
-#test "$1" = "link" && echo "-L%(system_root)s/usr/lib -lguile -lgmp"
+#test "$1" = "compile" && echo "-I $%(system_prefix)s/include"
+#test "$1" = "link" && echo "-L%(system_prefix)s/lib -lguile -lgmp"
 #prefix=$(dirname $(dirname $0))
-prefix=%(system_root)s/usr
+prefix=%(system_prefix)s
 test "$1" = "compile" && echo "-I$prefix/include"
 test "$1" = "link" && echo "-L$prefix/lib -lguile -lgmp"
 exit 0
@@ -162,7 +162,7 @@
 
         return (Guile.configure_command (self)
            + misc.join_lines ('''
-LDFLAGS=-L%(system_root)s/usr/lib
+LDFLAGS=-L%(system_prefix)s/lib
 CC_FOR_BUILD="
 C_INCLUDE_PATH=
 CPPFLAGS=
@@ -180,7 +180,7 @@
         return str + '''
 guile_cv_func_usleep_declared=${guile_cv_func_usleep_declared=yes}
 guile_cv_exeext=${guile_cv_exeext=}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_root)s/usr/lib"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_prefix)s/lib"}
 '''
 
     def configure (self):
@@ -215,7 +215,7 @@
     def install (self):
         Guile.install (self)
         # dlopen-able .la files go in BIN dir, BIN OR LIB package
-        self.system ('''mv %(install_root)s/usr/lib/lib*[0-9].la %(install_root)s/usr/bin''')
+        self.system ('''mv %(install_prefix)s/lib/lib*[0-9].la %(install_prefix)s/bin''')
 
 class Guile__linux (Guile):
     def compile_command (self):
@@ -254,7 +254,7 @@
 class Guile__darwin (Guile):
     def install (self):
         Guile.install (self)
-        pat = self.expand ('%(install_root)s/usr/lib/libguile-srfi*.dylib')
+        pat = self.expand ('%(install_prefix)s/lib/libguile-srfi*.dylib')
         import glob
         for f in glob.glob (pat):
             directory = os.path.split (f)[0]
@@ -301,7 +301,7 @@
         return str + '''
 guile_cv_func_usleep_declared=${guile_cv_func_usleep_declared=yes}
 guile_cv_exeext=${guile_cv_exeext=}
-libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_root)s/usr/lib"}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_prefix)s/lib"}
 '''
     def configure (self):
         if 1:
@@ -379,4 +379,4 @@
         toolpackage.ToolBuildSpec.install (self)
 
         ## don't want local GUILE headers to interfere with compile.
-        self.system ("rm -rf %(install_root)s/%(packaging_suffix_dir)s/usr/include/ %(install_root)s/%(packaging_suffix_dir)s/usr/bin/guile-config ")
+        self.system ("rm -rf %(install_root)s/%(packaging_suffix_dir)s%(prefix_dir)s/include/ %(install_root)s/%(packaging_suffix_dir)s%(prefix_dir)s/bin/guile-config ")
--- a/gub/specs/icoutils.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/icoutils.py	Fri Sep 07 15:02:40 2007 +0200
@@ -11,7 +11,7 @@
         return {'': ['libpng']}
     def configure_command (self):
         return (toolpackage.ToolBuildSpec.configure_command (self)
-                + ' --with-libintl-prefix=%(system_root)s/usr/ ')
+                + ' --with-libintl-prefix=%(system_prefix)s/ ')
 
 class Icoutils__darwin (Icoutils):
     def patch (self):
--- a/gub/specs/libdbi-drivers-sqlite3.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libdbi-drivers-sqlite3.py	Fri Sep 07 15:02:40 2007 +0200
@@ -20,10 +20,10 @@
         return (targetpackage.TargetBuildSpec.configure_command (self)
                 + misc.join_lines ('''
 --disable-docs
---with-dbi-incdir=%(system_root)s/usr/include
+--with-dbi-incdir=%(system_prefix)s/include
 --with-sqlite3
---with-sqlite3-libdir=%(system_root)s/usr/include
---with-sqlite3-incdir=%(system_root)s/usr/include
+--with-sqlite3-libdir=%(system_prefix)s/include
+--with-sqlite3-incdir=%(system_prefix)s/include
 '''))
 
     def configure (self):
--- a/gub/specs/libgnugetopt.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libgnugetopt.py	Fri Sep 07 15:02:40 2007 +0200
@@ -8,7 +8,7 @@
 
     def patch (self):
         self.dump ('''
-prefix = /usr
+prefix = %(prefix_dir)s
 libdir = $(prefix)/lib
 includedir = $(prefix)/include
 install: all
--- a/gub/specs/libgphoto2.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libgphoto2.py	Fri Sep 07 15:02:40 2007 +0200
@@ -20,9 +20,9 @@
     def wrap_pkg_config (self):
         self.dump ('''#! /bin/sh
 /usr/bin/pkg-config\
-  --define-variable prefix=%(system_root)s/usr\
-  --define-variable includedir=%(system_root)s/usr/include\
-  --define-variable libdir=%(system_root)s/usr/lib\
+  --define-variable prefix=%(system_prefix)s\
+  --define-variable includedir=%(system_prefix)s/include\
+  --define-variable libdir=%(system_prefix)s/lib\
   "$@"
 ''',
                    '%(srcdir)s/pkg-config')
@@ -31,7 +31,7 @@
     def wrap_libusb_config (self):
         self.dump ('''#! /bin/sh
 /usr/bin/libusb-config\
-  --prefix=%(system_root)s/usr\
+  --prefix=%(system_prefix)s\
   "$@"
 ''',
                    '%(srcdir)s/libusb-config')
@@ -48,5 +48,5 @@
         # # FIXME: libtool too old for cross compile
         self.update_libtool ()
     def makeflags (self):
-        return """ libgphoto2_port_la_DEPENDENCIES='$(top_srcdir)/gphoto2/gphoto2-port-version.h $(top_srcdir)/gphoto2/gphoto2-port-library.h $(srcdir)/libgphoto2_port.sym' libgphoto2_la_DEPENDENCIES='$(top_srcdir)/gphoto2/gphoto2-version.h $(srcdir)/libgphoto2.sym' LDFLAGS='-Wl,--rpath-link,%(system_root)s/usr/lib'"""
+        return """ libgphoto2_port_la_DEPENDENCIES='$(top_srcdir)/gphoto2/gphoto2-port-version.h $(top_srcdir)/gphoto2/gphoto2-port-library.h $(srcdir)/libgphoto2_port.sym' libgphoto2_la_DEPENDENCIES='$(top_srcdir)/gphoto2/gphoto2-version.h $(srcdir)/libgphoto2.sym' LDFLAGS='-Wl,--rpath-link,%(system_prefix)s/lib'"""
 
--- a/gub/specs/libiconv.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libiconv.py	Fri Sep 07 15:02:40 2007 +0200
@@ -19,7 +19,7 @@
         
     def install (self):
         targetpackage.TargetBuildSpec.install (self)
-        self.system ('rm %(install_root)s/usr/lib/charset.alias')
+        self.system ('rm %(install_prefix)s/lib/charset.alias')
 
     def license_file (self):
         return '%(srcdir)s/COPYING.LIB'
--- a/gub/specs/libjpeg.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libjpeg.py	Fri Sep 07 15:02:40 2007 +0200
@@ -37,8 +37,8 @@
         self.system ('cp %(sourcefiledir)s/jpeg.license %(license_file)s')
 
     def configure (self):
-        guess = self.expand ('%(system_root)s/usr/share/libtool/config.guess')
-        sub = self.expand ('%(system_root)s/usr/share/libtool/config.sub')
+        guess = self.expand ('%(system_prefix)s/share/libtool/config.guess')
+        sub = self.expand ('%(system_prefix)s/share/libtool/config.sub')
         for file in sub, guess:
             if os.path.exists (file):
                 self.system ('cp -pv %(file)s %(srcdir)s',  locals ())
@@ -54,7 +54,7 @@
 
     def install_command (self):
         return misc.join_lines ('''
-mkdir -p %(install_root)s/usr/include %(install_root)s/usr/lib
+mkdir -p %(install_prefix)s/include %(install_prefix)s/lib
 && make DESTDIR=%(install_root)s install-headers install-lib
 ''')
 
--- a/gub/specs/libtool.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/libtool.py	Fri Sep 07 15:02:40 2007 +0200
@@ -25,8 +25,8 @@
 
     def get_subpackage_definitions (self):
         d = targetpackage.TargetBuildSpec.get_subpackage_definitions (self)
-        d['devel'].append ('/usr/bin/libtool*')
-        d['devel'].append ('/usr/share/libltdl')
+        d['devel'].append (self.settings.prefix_dir + '/bin/libtool*')
+        d['devel'].append (self.settings.prefix_dir + '/share/libltdl')
         return d
 
 class Libtool__darwin (Libtool):
@@ -35,7 +35,7 @@
 
         ## necessary for programs that load dynamic modules.
         self.dump ("prependdir DYLD_LIBRARY_PATH=$INSTALLER_PREFIX/lib",
-                   '%(install_root)s/usr/etc/relocate/libtool.reloc')
+                   '%(install_prefix)s/etc/relocate/libtool.reloc')
 
 class Libtool__cygwin (Libtool):
     def __init__ (self, settings):
--- a/gub/specs/lilypad.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/lilypad.py	Fri Sep 07 15:02:40 2007 +0200
@@ -19,7 +19,7 @@
         return misc.join_lines ('''
 ALL_OBJS='$(OBJS)'
 WRC=%(cross_prefix)s/bin/%(target_architecture)s-windres
-CPPFLAGS=-I%(system_root)s/usr/include
+CPPFLAGS=-I%(system_prefix)s/include
 RC='$(WRC) $(CPPFLAGS)'
 LIBWINE=
 LIBPORT=
--- a/gub/specs/lilypond.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/lilypond.py	Fri Sep 07 15:02:40 2007 +0200
@@ -77,7 +77,7 @@
 --enable-relocation
 --disable-documentation
 --enable-static-gxx
---with-ncsb-dir=%(system_root)s/usr/share/fonts/default/Type1
+--with-ncsb-dir=%(system_prefix)s/share/fonts/default/Type1
 '''))
 
     def configure (self):
@@ -153,14 +153,14 @@
         # or do we need the version of lilypond?
         installer_version = self.build_version ()
         # WTF, current.
-        self.system ("cd %(install_root)s/usr/share/lilypond && mv %(installer_version)s current",
+        self.system ("cd %(install_prefix)s/share/lilypond && mv %(installer_version)s current",
                      locals ())
 
-        self.system ("cd %(install_root)s/usr/lib/lilypond && mv %(installer_version)s current",
+        self.system ("cd %(install_prefix)s/lib/lilypond && mv %(installer_version)s current",
                      locals ())
 
-        self.system ('mkdir -p %(install_root)s/usr/etc/fonts/')
-        fc_conf_file = open (self.expand ('%(install_root)s/usr/etc/fonts/local.conf'), 'w')
+        self.system ('mkdir -p %(install_prefix)s/etc/fonts/')
+        fc_conf_file = open (self.expand ('%(install_prefix)s/etc/fonts/local.conf'), 'w')
         fc_conf_file.write ('''
 <fontconfig>
 <selectfont>
@@ -269,13 +269,13 @@
     def compile (self):
         self.system ('''
 cd %(builddir)s && make -C scripts PYTHON=/usr/bin/python
-cp -pv %(system_root)s/usr/share/gettext/gettext.h %(system_root)s/usr/include''')
+cp -pv %(system_prefix)s/share/gettext/gettext.h %(system_prefix)s/include''')
         LilyPond.compile (self)
 
     def compile_command (self):
         ## UGH - * sucks.
-        python_lib = "%(system_root)s/usr/bin/libpython*.dll"
-        LDFLAGS = '-L%(system_root)s/usr/lib -L%(system_root)s/usr/bin -L%(system_root)s/usr/lib/w32api'
+        python_lib = "%(system_prefix)s/bin/libpython*.dll"
+        LDFLAGS = '-L%(system_prefix)s/lib -L%(system_prefix)s/bin -L%(system_prefix)s/lib/w32api'
 
         ## UGH. 
         return (LilyPond.compile_command (self)
@@ -300,13 +300,13 @@
             raise Exception ("cannot find docball %s" % docball)
             
         self.system ('''
-mkdir -p %(install_root)s/usr/share/doc/lilypond
-tar -C %(install_root)s/usr/share/doc/lilypond -jxf %(docball)s
+mkdir -p %(install_prefix)s/share/doc/lilypond
+tar -C %(install_prefix)s/share/doc/lilypond -jxf %(docball)s
 tar -C %(install_root)s -jxf %(infomanball)s
-find %(install_root)s/usr/share/doc/lilypond -name '*.signature' -exec rm '{}' ';'
-find %(install_root)s/usr/share/doc/lilypond -name '*.ps' -exec rm '{}' ';'
-mkdir -p %(install_root)s/usr/share/info/lilypond
-cd %(install_root)s/usr/share/info/lilypond && ln -sf ../../doc/lilypond/Documentation/user/*png .
+find %(install_prefix)s/share/doc/lilypond -name '*.signature' -exec rm '{}' ';'
+find %(install_prefix)s/share/doc/lilypond -name '*.ps' -exec rm '{}' ';'
+mkdir -p %(install_prefix)s/share/info/lilypond
+cd %(install_prefix)s/share/info/lilypond && ln -sf ../../doc/lilypond/Documentation/user/*png .
 ''',
                   locals ())
 
@@ -334,7 +334,7 @@
 	true
 
 install:
-	-mkdir -p $(DESTDIR)/usr/lib/lilypond/%(version)s
+	-mkdir -p $(DESTDIR)%(prefix_dir)s/lib/lilypond/%(version)s
 ''', '%(builddir)s/python/GNUmakefile')
         
 class LilyPond__mingw (LilyPond):
@@ -350,8 +350,8 @@
     def compile_command (self):
 
         ## UGH - * sucks.
-        python_lib = "%(system_root)s/usr/bin/libpython*.dll"
-        LDFLAGS = '-L%(system_root)s/usr/lib -L%(system_root)s/usr/bin -L%(system_root)s/usr/lib/w32api'
+        python_lib = "%(system_prefix)s/bin/libpython*.dll"
+        LDFLAGS = '-L%(system_prefix)s/lib -L%(system_prefix)s/bin -L%(system_prefix)s/lib/w32api'
 
         ## UGH. 
         return (LilyPond.compile_command (self)
@@ -387,11 +387,11 @@
 install -m755 %(builddir)s/lily/out/lilypond-windows %(install_prefix)s/bin/lilypond-windows.exe
 rm -f %(install_prefix)s/bin/lilypond
 install -m755 %(builddir)s/lily/out/lilypond-console %(install_prefix)s/bin/lilypond.exe
-cp %(install_root)s/usr/lib/lilypond/*/python/* %(install_root)s/usr/bin
-cp %(install_root)s/usr/share/lilypond/*/python/* %(install_root)s/usr/bin
+cp %(install_prefix)s/lib/lilypond/*/python/* %(install_prefix)s/bin
+cp %(install_prefix)s/share/lilypond/*/python/* %(install_prefix)s/bin
 ''')
         import glob
-        for i in glob.glob (self.expand ('%(install_root)s/usr/bin/*')):
+        for i in glob.glob (self.expand ('%(install_prefix)s/bin/*')):
             header = open (i).readline().strip ()
             if header.endswith ('guile'):
                 self.system ('mv %(i)s %(i)s.scm', locals ())
@@ -406,11 +406,11 @@
 "@INSTDIR@\usr\bin\lilypond-windows.exe" -dgui %1 %2 %3 %4 %5 %6 %7 %8 %9
 '''.replace ('%', '%%').replace ('\n', '\r\n')
             
-        self.dump (bat, '%(install_root)s/usr/bin/lilypond-windows.bat.in')
+        self.dump (bat, '%(install_prefix)s/bin/lilypond-windows.bat.in')
 
 ## please document exactly why if this is switched back.
 #        self.file_sub ([(r'gs-font-load\s+#f', 'gs-font-load #t')],
-#        '%(install_root)s/usr/share/lilypond/current/scm/lily.scm')
+#        '%(install_prefix)s/share/lilypond/current/scm/lily.scm')
 
 class LilyPond__debian (LilyPond):
     def get_dependency_dict (self):
--- a/gub/specs/mingw-runtime.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/mingw-runtime.py	Fri Sep 07 15:02:40 2007 +0200
@@ -7,8 +7,8 @@
         self.with_template (version='3.9', strip_components=0, mirror=mirrors.mingw)
     def install (self):
         self.system ('''
-mkdir -p %(install_root)s/usr/share
-tar -C %(srcdir)s/ -cf - . | tar -C %(install_root)s/usr -xf -
-mv %(install_root)s/usr/doc %(install_root)s/share
+mkdir -p %(install_prefix)s/share
+tar -C %(srcdir)s/ -cf - . | tar -C %(install_prefix)s -xf -
+mv %(install_prefix)s/doc %(install_root)s/share
 ''', locals ())
 
--- a/gub/specs/netpbm.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/netpbm.py	Fri Sep 07 15:02:40 2007 +0200
@@ -37,15 +37,15 @@
 ''')
     def install (self):
         self.system ('mkdir -p %(install_root)s/')
-        self.system ('cd %(builddir)s && make package pkgdir=%(install_root)s/usr LINUXSVGALIB="NONE" XML2LIBS="NONE"')
-        self.system ('''rm -rf %(install_root)s/usr/misc 
-rm -rf %(install_root)s/usr/README
-rm -rf %(install_root)s/usr/VERSION
-rm -rf %(install_root)s/usr/link
-rm -rf %(install_root)s/usr/misc
-rm -rf %(install_root)s/usr/man
-rm -rf %(install_root)s/usr/pkginfo
-rm -rf %(install_root)s/usr/config_template
+        self.system ('cd %(builddir)s && make package pkgdir=%(install_prefix)s LINUXSVGALIB="NONE" XML2LIBS="NONE"')
+        self.system ('''rm -rf %(install_prefix)s/misc 
+rm -rf %(install_prefix)s/README
+rm -rf %(install_prefix)s/VERSION
+rm -rf %(install_prefix)s/link
+rm -rf %(install_prefix)s/misc
+rm -rf %(install_prefix)s/man
+rm -rf %(install_prefix)s/pkginfo
+rm -rf %(install_prefix)s/config_template
 ''')
     def packaging_suffix_dir (self):
         return ''
--- a/gub/specs/noweb.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/noweb.py	Fri Sep 07 15:02:40 2007 +0200
@@ -27,7 +27,7 @@
     def install_command (self):
         from gub import misc
         return misc.join_lines ('''
-mkdir -p %(install_root)s/usr/bin %(install_root)s/usr/lib %(install_root)s/usr/share/man/man1 %(install_root)s/usr/share/tex/inputs
+mkdir -p %(install_prefix)s/bin %(install_prefix)s/lib %(install_prefix)s/share/man/man1 %(install_prefix)s/share/tex/inputs
 && make %(makeflags)s DESTDIR=%(install_root)s install
 ''')
     def license_file (self):
--- a/gub/specs/nsis.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/nsis.py	Fri Sep 07 15:02:40 2007 +0200
@@ -33,18 +33,18 @@
 
     def compile_command (self):
         ## no trailing / in paths!
-        return (' scons PREFIX=%(system_root)s/usr PREFIX_DEST=%(install_root)s '
+        return (' scons PREFIX=%(system_prefix)s PREFIX_DEST=%(install_root)s '
                 ' DEBUG=yes '
                 ' NSIS_CONFIG_LOG=yes '
                 ' SKIPPLUGINS=System')
     
     def compile (self): 
-        env = {'PATH': '%(alltargetdir)s/mingw/usr/cross/bin:' + os.environ['PATH']}
+        env = {'PATH': '%(alltargetdir)s/mingw%(prefix_dir)s/cross/bin:' + os.environ['PATH']}
         self.system ('cd %(builddir)s/ && %(compile_command)s',
                      env)
 
     def install (self):
-        env = {'PATH': '%(alltargetdir)s/mingw/usr/cross/bin:' + os.environ['PATH']}
+        env = {'PATH': '%(alltargetdir)s/mingw%(prefix_dir)s/cross/bin:' + os.environ['PATH']}
         self.system ('cd %(builddir)s/ && %(compile_command)s install ', env)
 
 
--- a/gub/specs/pango.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/pango.py	Fri Sep 07 15:02:40 2007 +0200
@@ -70,7 +70,7 @@
         self.dump ("""
 setfile PANGO_RC_FILE=$INSTALLER_PREFIX/etc/pango/pangorc
 setdir PANGO_PREFIX=$INSTALLER_PREFIX/
-""", '%(install_root)s/usr/etc/relocate/pango.reloc', env=locals())
+""", '%(install_prefix)s/etc/relocate/pango.reloc', env=locals())
         self.fix_modules ()
 
 class Pango__linux (Pango):
@@ -99,4 +99,4 @@
         Pango.install (self)                
         self.dump ("""
 set PANGO_SO_EXTENSION=.so
-""", '%(install_root)s/usr/etc/relocate/pango.reloc', env=locals(), mode="a")
+""", '%(install_prefix)s/etc/relocate/pango.reloc', env=locals(), mode="a")
--- a/gub/specs/pjproject.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/pjproject.py	Fri Sep 07 15:02:40 2007 +0200
@@ -21,4 +21,4 @@
         targetpackage.TargetBuildSpec.configure (self)
     def install_command (self):
         return (targetpackage.TargetBuildSpec.install_command (self)
-                + ' prefix=/usr')
+                + ' prefix=%(prefix_dir)s')
--- a/gub/specs/python-config.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/python-config.py	Fri Sep 07 15:02:40 2007 +0200
@@ -11,15 +11,15 @@
     def install (self):
         import re
         gubb.SdkBuildSpec.install (self)
-        self.system ('mkdir -p %(cross_prefix)s/usr/bin')
+        self.system ('mkdir -p %(cross_prefix)s%(prefix_dir)s/bin')
         cfg = open (self.expand ('%(sourcefiledir)s/python-config.py.in')).read ()
         cfg = re.sub ('@PYTHON_VERSION@', self.expand ('%(version)s'), cfg)
-        cfg = re.sub ('@PREFIX@', self.expand ('%(system_root)s/usr/'), cfg)
+        cfg = re.sub ('@PREFIX@', self.expand ('%(system_prefix)s/'), cfg)
         import sys
         cfg = re.sub ('@PYTHON_FOR_BUILD@', sys.executable, cfg)
-        self.dump (cfg, '%(install_root)s/usr/cross/bin/python-config',
+        self.dump (cfg, '%(install_prefix)s/cross/bin/python-config',
                    expand_string=False)
-        self.system ('chmod +x %(install_root)s/usr/cross/bin/python-config')
+        self.system ('chmod +x %(install_prefix)s/cross/bin/python-config')
 
 class Python_config__cygwin (Python_config):
     def __init__ (self, settings):
--- a/gub/specs/python.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/python.py	Fri Sep 07 15:02:40 2007 +0200
@@ -67,11 +67,11 @@
         targetpackage.TargetBuildSpec.install (self)
         cfg = open (self.expand ('%(sourcefiledir)s/python-config.py.in')).read ()
         cfg = re.sub ('@PYTHON_VERSION@', self.expand ('%(version)s'), cfg)
-        cfg = re.sub ('@PREFIX@', self.expand ('%(system_root)s/usr/'), cfg)
+        cfg = re.sub ('@PREFIX@', self.expand ('%(system_prefix)s/'), cfg)
         cfg = re.sub ('@PYTHON_FOR_BUILD@', sys.executable, cfg)
-        self.dump (cfg, '%(install_root)s/usr/cross/bin/python-config',
+        self.dump (cfg, '%(install_prefix)s/cross/bin/python-config',
                    expand_string=False)
-        self.system ('chmod +x %(install_root)s/usr/cross/bin/python-config')
+        self.system ('chmod +x %(install_prefix)s/cross/bin/python-config')
 
 
     ### Ugh.
@@ -99,7 +99,7 @@
 class Python__mingw_cross (Python):
     def __init__ (self, settings):
         Python.__init__ (self, settings)
-        self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_root)s/usr/include' % self.settings.__dict__
+        self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_prefix)s/include' % self.settings.__dict__
 
     # FIXME: first is cross compile + mingw patch, backported to
     # 2.4.2 and combined in one patch; move to cross-Python?
@@ -126,17 +126,17 @@
 
     def install (self):
         Python.install (self)
-        for i in glob.glob ('%(install_root)s/usr/lib/python%(python_version)s/lib-dynload/*.so*' \
+        for i in glob.glob ('%(install_prefix)s/lib/python%(python_version)s/lib-dynload/*.so*' \
                   % self.get_substitution_dict ()):
             dll = re.sub ('\.so*', '.dll', i)
             self.system ('mv %(i)s %(dll)s', locals ())
 
         ## UGH.
         self.system ('''
-cp %(install_root)s/usr/lib/python%(python_version)s/lib-dynload/* %(install_root)s/usr/bin
+cp %(install_prefix)s/lib/python%(python_version)s/lib-dynload/* %(install_prefix)s/bin
 ''')
         self.system ('''
-chmod 755 %(install_root)s/usr/bin/*
+chmod 755 %(install_prefix)s/bin/*
 ''')
 
 class Python__mingw (Python__mingw_cross):
--- a/gub/specs/python25.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/python25.py	Fri Sep 07 15:02:40 2007 +0200
@@ -26,7 +26,7 @@
         self.system ('cd %(srcdir)s && patch -p1 < %(patchdir)s/python-2.5.patch')
 
         self.file_sub ([(r"'/usr/include'",
-                         r"'%(system_root)s/usr/include'")],
+                         r"'%(system_prefix)s/include'")],
                        "%(srcdir)s/setup.py", must_succeed=True)
                         
     def license_file (self):
@@ -67,11 +67,11 @@
         targetpackage.TargetBuildSpec.install (self)
         cfg = open (self.expand ('%(sourcefiledir)s/python-config.py.in')).read ()
         cfg = re.sub ('@PYTHON_VERSION@', self.expand ('%(version)s'), cfg)
-        cfg = re.sub ('@PREFIX@', self.expand ('%(system_root)s/usr/'), cfg)
+        cfg = re.sub ('@PREFIX@', self.expand ('%(system_prefix)s/'), cfg)
         cfg = re.sub ('@PYTHON_FOR_BUILD@', sys.executable, cfg)
-        self.dump (cfg, '%(install_root)s/usr/cross/bin/python-config',
+        self.dump (cfg, '%(install_prefix)s/cross/bin/python-config',
                    expand_string=False)
-        self.system ('chmod +x %(install_root)s/usr/cross/bin/python-config')
+        self.system ('chmod +x %(install_prefix)s/cross/bin/python-config')
 
 
     ### Ugh.
@@ -82,7 +82,7 @@
 class Python__mingw (Python):
     def __init__ (self, settings):
         Python.__init__ (self, settings)
-        self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_root)s/usr/include' % self.settings.__dict__
+        self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_prefix)s/include' % self.settings.__dict__
 
     # FIXME: first is cross compile + mingw patch, backported to
     # 2.4.2 and combined in one patch; move to cross-Python?
@@ -114,17 +114,17 @@
 
     def install (self):
         Python.install (self)
-        for i in glob.glob ('%(install_root)s/usr/lib/python%(python_version)s/lib-dynload/*.so*' \
+        for i in glob.glob ('%(install_prefix)s/lib/python%(python_version)s/lib-dynload/*.so*' \
                   % self.get_substitution_dict ()):
             dll = re.sub ('\.so*', '.dll', i)
             self.system ('mv %(i)s %(dll)s', locals ())
 
         ## UGH.
         self.system ('''
-cp %(install_root)s/usr/lib/python%(python_version)s/lib-dynload/* %(install_root)s/usr/bin
+cp %(install_prefix)s/lib/python%(python_version)s/lib-dynload/* %(install_prefix)s/bin
 ''')
         self.system ('''
-chmod 755 %(install_root)s/usr/bin/*
+chmod 755 %(install_prefix)s/bin/*
 ''')
 
 from gub import toolpackage
--- a/gub/specs/qtopia-core.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/qtopia-core.py	Fri Sep 07 15:02:40 2007 +0200
@@ -31,13 +31,13 @@
 #unset CC CXX; bash -x %(srcdir)s/configure
         return misc.join_lines ('''
 unset CC CXX; bash %(srcdir)s/configure
--prefix /usr
--bindir /usr/bin
--libdir /usr/lib
+-prefix %(prefix_dir)s
+-bindir %(prefix_dir)s/bin
+-libdir %(prefix_dir)s/lib
 -embedded %(cpu)s
 -fast
--headerdir /usr/include
--datadir /usr/share
+-headerdir %(prefix_dir)s/include
+-datadir %(prefix_dir)s/share
 -sysconfdir /etc
 -xplatform qws/%(qmake_target_architecture)s
 -depths 8,16,32
@@ -56,17 +56,17 @@
 
 -confirm-license
 
--docdir /usr/share/doc/qtopia
--plugindir /usr/share/qtopia/plugins
--translationdir /usr/share/qtopia/translations
--examplesdir /usr/share/doc/qtopia/examples
--demosdir /usr/share/doc/qtopia/demos
+-docdir %(prefix_dir)s/share/doc/qtopia
+-plugindir %(prefix_dir)s/share/qtopia/plugins
+-translationdir %(prefix_dir)s/share/qtopia/translations
+-examplesdir %(prefix_dir)s/share/doc/qtopia/examples
+-demosdir %(prefix_dir)s/share/doc/qtopia/demos
 -verbose
 ''')
     def configure (self):
         targetpackage.TargetBuildSpec.configure (self)
         for i in misc.find_files (self.expand ('%(install_root)s'), 'Makefile'):
-            self.file_sub ([('-I/usr', '-I%(system_root)/usr')], i)
+            self.file_sub ([('-I/usr', '-I%(system_prefix)s')], i)
     def install_command (self):
         return (targetpackage.TargetBuildSpec.install_command (self)
                 + ' INSTALL_ROOT=%(install_root)s')
@@ -74,14 +74,14 @@
         return '%(srcdir)s/LICENSE.GPL'
     def install (self):
         targetpackage.TargetBuildSpec.install (self)
-        self.system ('mkdir -p %(install_root)s/usr/lib/pkgconfig')
+        self.system ('mkdir -p %(install_prefix)s/lib/pkgconfig')
         for i in ('QtCore.pc', 'QtGui.pc', 'QtNetwork.pc'):
             self.system ('''
-mv %(install_root)s/usr/lib/%(i)s %(install_root)s/usr/lib/pkgconfig/%(i)s
+mv %(install_prefix)s/lib/%(i)s %(install_prefix)s/lib/pkgconfig/%(i)s
 ''',
                          locals ())
             self.file_sub ([('includedir', 'deepqtincludedir')],
-                           '%(install_root)s/usr/lib/pkgconfig/%(i)s',
+                           '%(install_prefix)s/lib/pkgconfig/%(i)s',
                            env=locals ())
 
 class Qtopia_core__linux__arm__softfloat (Qtopia_core):
--- a/gub/specs/sysvinit.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/sysvinit.py	Fri Sep 07 15:02:40 2007 +0200
@@ -29,13 +29,13 @@
         return misc.join_lines ('''
 mkdir -p %(install_root)s/bin &&
 mkdir -p %(install_root)s/sbin &&
-mkdir -p %(install_root)s/usr/bin &&
-mkdir -p %(install_root)s/usr/include &&
-mkdir -p %(install_root)s/usr/share/man/man1 &&
-mkdir -p %(install_root)s/usr/share/man/man5 &&
-mkdir -p %(install_root)s/usr/share/man/man8 &&
+mkdir -p %(install_prefix)s/bin &&
+mkdir -p %(install_prefix)s/include &&
+mkdir -p %(install_prefix)s/share/man/man1 &&
+mkdir -p %(install_prefix)s/share/man/man5 &&
+mkdir -p %(install_prefix)s/share/man/man8 &&
 cd %(builddir)s/src && fakeroot make install %(makeflags)s &&
-find %(install_root)s/bin %(install_root)s/sbin %(install_root)s/usr/bin -type f -o -type l | grep -Ev 'sbin/(tel|)init$' | xargs -I'{}' mv '{}' '{}'.sysvinit
+find %(install_root)s/bin %(install_root)s/sbin %(install_prefix)s/bin -type f -o -type l | grep -Ev 'sbin/(tel|)init$' | xargs -I'{}' mv '{}' '{}'.sysvinit
 ''')
     def license_file (self):
         return '%(srcdir)s/doc/Install'
--- a/gub/specs/tcltk.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/tcltk.py	Fri Sep 07 15:02:40 2007 +0200
@@ -30,7 +30,7 @@
 
     def get_subpackage_definitions (self):
         s = targetpackage.TargetBuildSpec.get_subpackage_definitions (self)
-        s['doc'].append ('/usr/lib/tk8.4/demos')
+        s['doc'].append (self.settings.prefix_dir + '/lib/tk8.4/demos')
         return s
     
 class Tcltk__mingw (Tcltk):
--- a/gub/specs/texlive.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/texlive.py	Fri Sep 07 15:02:40 2007 +0200
@@ -58,10 +58,10 @@
 
     def get_subpackage_definitions (self):
         d = targetpackage.TargetBuildSpec.get_subpackage_definitions (self)
-        d['doc'] += ['/usr/share/texmf/doc']
-        d['base'] = ['/usr/share/texmf']
+        d['doc'] += [self.settings.prefix_dir + '/share/texmf/doc']
+        d['base'] = [self.settings.prefix_dir + '/share/texmf']
 #        d['bin'] = ['/']
-        d['bin'] = ['/etc', '/usr']
+        d['bin'] = ['/etc', self.settings.prefix_dir]
         return d
 
     def download (self):
@@ -95,10 +95,10 @@
 --with-oxdvik
 --with-pdflatex
 --with-pdftex
---with-pnglib-include=%(system_root)s/usr/include/libpng12
+--with-pnglib-include=%(system_prefix)s/include/libpng12
 --with-system-freetype
 --with-system-freetype2
---with-freetype2-include=%(system_root)s/usr/include/freetype2
+--with-freetype2-include=%(system_prefix)s/include/freetype2
 --with-system-gd
 --with-system-ncurses
 --with-system-pnglib
@@ -122,8 +122,8 @@
 --without-ttf2pk
 --without-xetex
 --without-xdvipdfmx
---x-includes=%(system_root)s/usr/X11R6/include
---x-libraries=%(system_root)s/usr/X11R6/lib
+--x-includes=%(system_prefix)s/X11R6/include
+--x-libraries=%(system_prefix)s/X11R6/lib
 '''))
 
     def install_command (self):
@@ -132,8 +132,8 @@
     def install (self):
     	targetpackage.TargetBuildSpec.install (self)
         self.system ('''
-#rsync -v -a %(srcdir)s/texmf-dist/* %(install_root)s/usr/share/texmf-dist
-rsync -v -a %(srcdir)s/texmf/* %(install_root)s/usr/share/texmf/
+#rsync -v -a %(srcdir)s/texmf-dist/* %(install_prefix)s/share/texmf-dist
+rsync -v -a %(srcdir)s/texmf/* %(install_prefix)s/share/texmf/
 ''')
 
     def license_file (self):
--- a/gub/specs/urw-fonts.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/urw-fonts.py	Fri Sep 07 15:02:40 2007 +0200
@@ -10,8 +10,8 @@
     def compile (self):
         self.system ('cd %(srcdir)s && rm README* COPYING ChangeLog TODO')
     def install (self):
-        self.system ('mkdir -p %(install_root)s/usr/share/fonts/default/Type1')
-        self.system ('cp %(srcdir)s/* %(install_root)s/usr/share/fonts/default/Type1/')
+        self.system ('mkdir -p %(install_prefix)s/share/fonts/default/Type1')
+        self.system ('cp %(srcdir)s/* %(install_prefix)s/share/fonts/default/Type1/')
     def package (self):
         gubb.BuildSpec.package (self)
     def get_subpackage_names (self):
--- a/gub/specs/w32api-in-usr-lib.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/specs/w32api-in-usr-lib.py	Fri Sep 07 15:02:40 2007 +0200
@@ -7,8 +7,8 @@
     def get_build_dependencies (self):
         return ['w32api']
     def install (self):
-        self.system ('mkdir -p %(install_root)s/usr/lib')
+        self.system ('mkdir -p %(install_prefix)s/lib')
         self.system ('''
-tar -C %(system_root)s/usr/lib/w32api -cf- . | tar -C %(install_root)s/usr/lib -xf-
+tar -C %(system_prefix)s/lib/w32api -cf- . | tar -C %(install_prefix)s/lib -xf-
 ''')
 
--- a/gub/targetpackage.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/targetpackage.py	Fri Sep 07 15:02:40 2007 +0200
@@ -17,12 +17,12 @@
 --build=%(build_architecture)s
 --host=%(target_architecture)s
 --target=%(target_architecture)s
---prefix=/usr
---sysconfdir=/usr/etc
---includedir=/usr/include
---infodir=/usr/share/info
---mandir=/usr/share/man
---libdir=/usr/lib
+--prefix=%(prefix_dir)s
+--sysconfdir=%(prefix_dir)s/etc
+--includedir=%(prefix_dir)s/include
+--infodir=%(prefix_dir)s/share/info
+--mandir=%(prefix_dir)s/share/man
+--libdir=%(prefix_dir)s/lib
 ''')
 
     def __init__ (self, settings):
@@ -33,10 +33,11 @@
         gubb.BuildSpec.install (self)
 
     def pre_install_libtool_fixup (self):
-        ## Workaround for libtool bug.
-        ## libtool inserts -L/usr/lib into command line, but this is
-        ## on the target system. It will try link in libraries from
-        ## /usr/lib/ on the build system. This seems to be problematic for libltdl.a and libgcc.a on MacOS.
+        ## Workaround for libtool bug.  libtool inserts -L/usr/lib
+        ## into command line, but this is on the target system. It
+        ## will try link in libraries from /usr/lib/ on the build
+        ## system.  This seems to be problematic for libltdl.a and
+        ## libgcc.a on MacOS.
         ##
         for lt in self.locate_files ("%(builddir)s", '*.la'):
             lt = lt.strip()
@@ -106,7 +107,7 @@
             'CCLD_FOR_BUILD': 'C_INCLUDE_PATH= CPATH= CPPFLAGS= LIBRARY_PATH= cc',
 
 
-            ## %(system_root)s/usr/include is already done by
+            ## %(system_prefix)s/include is already done by
             ## GCC --with-sysroot config, but we  have to be sure
             ## note that overrides some headers in sysroot/usr/include,
             ## which is why setting C_INCLUDE_PATH breaks on FreeBSD. 
@@ -120,22 +121,22 @@
             'CPLUS_INCLUDE_PATH': '',
             'CXX':'%(tool_prefix)sg++ %(target_gcc_flags)s',
 
-#--urg-broken-if-set-exec-prefix=%(system_root)s/usr \
+#--urg-broken-if-set-exec-prefix=%(system_prefix)s \
 ## ugh, creeping -L/usr/lib problem
 ## trying revert to LDFLAGS...
-##                        'LIBRARY_PATH': '%(system_root)s/usr/lib:%(system_root)s/usr/bin',
+##                        'LIBRARY_PATH': '%(system_prefix)s/lib:%(system_prefix)s/bin',
             'LIBRARY_PATH': '',
 # FIXME: usr/bin and w32api belongs to mingw/cygwin; but overriding is broken
-#            'LDFLAGS': '-L%(system_root)s/usr/lib -L%(system_root)s/usr/bin -L%(system_root)s/usr/lib/w32api',
+#            'LDFLAGS': '-L%(system_prefix)s/lib -L%(system_prefix)s/bin -L%(system_prefix)s/lib/w32api',
             'LDFLAGS': '',
             'LD': '%(tool_prefix)sld',
             'NM': '%(tool_prefix)snm',
-            'PKG_CONFIG_PATH': '%(system_root)s/usr/lib/pkgconfig',
+            'PKG_CONFIG_PATH': '%(system_prefix)s/lib/pkgconfig',
             'PATH': '%(cross_prefix)s/bin:%(local_prefix)s/bin:' + os.environ['PATH'],
             'PKG_CONFIG': '''pkg-config \
---define-variable prefix=%(system_root)s/usr \
---define-variable includedir=%(system_root)s/usr/include \
---define-variable libdir=%(system_root)s/usr/lib \
+--define-variable prefix=%(system_prefix)s \
+--define-variable includedir=%(system_prefix)s/include \
+--define-variable libdir=%(system_prefix)s/lib \
 ''',
             'RANLIB': '%(tool_prefix)sranlib',
             'SED': 'sed', # libtool (expat mingw) fixup
@@ -146,7 +147,7 @@
         # Hmm, better to make wrappers for gcc/c++/g++ that add options;
         # see (gub-samco branch) linux-arm-vfp.py?
         if self.settings.platform in ('cygwin', 'mingw'):
-            dict['LDFLAGS'] = '-L%(system_root)s/usr/lib -L%(system_root)s/usr/bin -L%(system_root)s/usr/lib/w32api'
+            dict['LDFLAGS'] = '-L%(system_prefix)s/lib -L%(system_prefix)s/bin -L%(system_prefix)s/lib/w32api'
 
         #FIXME: how to move this to arm.py?
         if self.settings.target_architecture == 'armv5te-softfloat-linux':
--- a/gub/toolpackage.py	Fri Sep 07 14:13:21 2007 +0200
+++ b/gub/toolpackage.py	Fri Sep 07 15:02:40 2007 +0200
@@ -20,15 +20,15 @@
         self.wrap_executables ()
                 
     def wrap_executables (self):
-        for e in (self.locate_files ('%(install_root)s/usr/bin', '*')
+        for e in (self.locate_files ('%(install_prefix)s/bin', '*')
                   + self.locate_files ('%(install_root)s/%(local_prefix)s/bin',
                                        '*')):
             dir = os.path.dirname (e)
             file = os.path.basename (e)
             self.system ('mv %(e)s %(dir)s/.%(file)s', locals ())
             self.dump ('''#!/bin/sh
-LD_LIBRARY_PATH=%(system_root)s/usr/lib
-%(system_root)s/usr/bin/.%(file)s "$@"
+LD_LIBRARY_PATH=%(system_prefix)s/lib
+%(system_prefix)s/bin/.%(file)s "$@"
 ''', e, env=locals ())
             os.chmod (e, 0755)