Major layout change to the packages directory

Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.

The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.

Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie
2010-08-27 15:14:24 +01:00
parent da49de6885
commit 29d6678fd5
2534 changed files with 19 additions and 206 deletions

View File

@@ -0,0 +1,20 @@
# $(exec_prefix) points to the wrong directory, when installing
# a cross-build. @bindir@ and @libdir@ works better and doesn't
# affect the native build.
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
Index: Python-2.6.1/Makefile.pre.in
===================================================================
--- Python-2.6.1.orig/Makefile.pre.in
+++ Python-2.6.1/Makefile.pre.in
@@ -86,8 +86,8 @@ exec_prefix= @exec_prefix@
datarootdir= @datarootdir@
# Expanded directories
-BINDIR= $(exec_prefix)/bin
-LIBDIR= $(exec_prefix)/lib
+BINDIR= @bindir@
+LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include

View File

@@ -0,0 +1,18 @@
# When compiling for an embedded system, we need every bit of
# performance we can get. default to optimized with the option
# of opt-out.
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
Index: Python-2.6.1/Python/compile.c
===================================================================
--- Python-2.6.1.orig/Python/compile.c
+++ Python-2.6.1/Python/compile.c
@@ -32,7 +32,7 @@
#include "symtable.h"
#include "opcode.h"
-int Py_OptimizeFlag = 0;
+int Py_OptimizeFlag = 1;
#define DEFAULT_BLOCK_SIZE 16
#define DEFAULT_BLOCKS 8

View File

@@ -0,0 +1,16 @@
# Some versions of SWIG do not use the extension parameter.
# Make it optional.
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
Index: Python-2.6.1/Lib/distutils/command/build_ext.py
===================================================================
--- Python-2.6.1.orig/Lib/distutils/command/build_ext.py
+++ Python-2.6.1/Lib/distutils/command/build_ext.py
@@ -566,7 +566,7 @@ class build_ext (Command):
target_lang=language)
- def swig_sources (self, sources, extension):
+ def swig_sources (self, sources, extension=None):
"""Walk the list of source files in 'sources', looking for SWIG
interface (.i) files. Run SWIG on all that are found, and

View File

@@ -0,0 +1,18 @@
# Don't modify the she-bang line for a cross-build.
# Otherwise it points to our hostpython (which we do not want)
#
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
Index: Python-2.6.1/Lib/distutils/command/build_scripts.py
===================================================================
--- Python-2.6.1.orig/Lib/distutils/command/build_scripts.py
+++ Python-2.6.1/Lib/distutils/command/build_scripts.py
@@ -87,7 +87,7 @@ class build_scripts (Command):
continue
match = first_line_re.match(first_line)
- if match:
+ if False: #match:
adjust = 1
post_interp = match.group(1) or ''

View File

@@ -0,0 +1,60 @@
# The proper prefix is inside our staging area.
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
Index: Python-2.6.1/Lib/distutils/sysconfig.py
===================================================================
--- Python-2.6.1.orig/Lib/distutils/sysconfig.py
+++ Python-2.6.1/Lib/distutils/sysconfig.py
@@ -19,8 +19,8 @@ import sys
from distutils.errors import DistutilsPlatformError
# These are needed in a couple of spots, so just compute them once.
-PREFIX = os.path.normpath(sys.prefix)
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
# Path to the base directory of the project. On Windows the binary may
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
@@ -70,7 +70,10 @@ def get_python_inc(plat_specific=0, pref
sys.exec_prefix -- i.e., ignore 'plat_specific'.
"""
if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX
+ if plat_specific:
+ prefix = plat_specific and os.environ['STAGING_INCDIR'].rstrip('include')
+ else:
+ prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
if python_build:
base = os.path.dirname(os.path.abspath(sys.executable))
@@ -112,7 +115,10 @@ def get_python_lib(plat_specific=0, stan
sys.exec_prefix -- i.e., ignore 'plat_specific'.
"""
if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX
+ if plat_specific:
+ prefix = plat_specific and os.environ['STAGING_LIBDIR'].rstrip('lib')
+ else:
+ prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
libpython = os.path.join(prefix,
@@ -218,7 +218,7 @@ def get_config_h_filename():
else:
# The name of the config.h file changed in 2.2
config_h = 'pyconfig.h'
- return os.path.join(inc_dir, config_h)
+ return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
def get_makefile_filename():
@@ -226,7 +226,7 @@ def get_makefile_filename():
if python_build:
return os.path.join(os.path.dirname(sys.executable), "Makefile")
lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
- return os.path.join(lib_dir, "config", "Makefile")
+ return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
def parse_config_h(fp, g=None):

View File

@@ -0,0 +1,27 @@
Index: Python-2.6.1/Lib/distutils/unixccompiler.py
===================================================================
--- Python-2.6.1.orig/Lib/distutils/unixccompiler.py 2009-11-13 16:04:54.000000000 +0000
+++ Python-2.6.1/Lib/distutils/unixccompiler.py 2009-11-13 16:06:27.000000000 +0000
@@ -300,6 +300,8 @@
dylib_f = self.library_filename(lib, lib_type='dylib')
static_f = self.library_filename(lib, lib_type='static')
+ print "Looking in %s for %s" % (lib, dirs)
+
for dir in dirs:
shared = os.path.join(dir, shared_f)
dylib = os.path.join(dir, dylib_f)
@@ -309,10 +311,13 @@
# assuming that *all* Unix C compilers do. And of course I'm
# ignoring even GCC's "-static" option. So sue me.
if os.path.exists(dylib):
+ print "Found %s" % (dylib)
return dylib
elif os.path.exists(shared):
+ print "Found %s" % (shared)
return shared
elif os.path.exists(static):
+ print "Found %s" % (static)
return static
# Oops, didn't find it in *any* of 'dirs'

View File

@@ -0,0 +1,53 @@
Index: Python-2.6.1/setup.py
===================================================================
--- Python-2.6.1.orig/setup.py 2009-11-13 16:20:47.000000000 +0000
+++ Python-2.6.1/setup.py 2009-11-13 16:28:00.000000000 +0000
@@ -310,8 +310,8 @@
def detect_modules(self):
# Ensure that /usr/local is always used
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -347,10 +347,10 @@
for directory in reversed(options.dirs):
add_dir_to_list(dir_list, directory)
- if os.path.normpath(sys.prefix) != '/usr':
- add_dir_to_list(self.compiler.library_dirs,
+
+ add_dir_to_list(self.compiler.library_dirs,
sysconfig.get_config_var("LIBDIR"))
- add_dir_to_list(self.compiler.include_dirs,
+ add_dir_to_list(self.compiler.include_dirs,
sysconfig.get_config_var("INCLUDEDIR"))
try:
@@ -361,11 +361,8 @@
# lib_dirs and inc_dirs are used to search for files;
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
- lib_dirs = self.compiler.library_dirs + [
- '/lib64', '/usr/lib64',
- '/lib', '/usr/lib',
- ]
- inc_dirs = self.compiler.include_dirs + ['/usr/include']
+ lib_dirs = self.compiler.library_dirs
+ inc_dirs = self.compiler.include_dirs
exts = []
missing = []
@@ -583,8 +580,7 @@
readline_libs.append('ncurses')
elif self.compiler.find_library_file(lib_dirs, 'curses'):
readline_libs.append('curses')
- elif self.compiler.find_library_file(lib_dirs +
- ['/usr/lib/termcap'],
+ elif self.compiler.find_library_file(lib_dirs,
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],

View File

@@ -0,0 +1,45 @@
# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
# GPLv2 or later
# Version: 20081123
# Features:
# * set proper default encoding
# * enable readline completion in the interactive interpreter
# * load command line history on startup
# * save command line history on exit
import os
def __exithandler():
try:
readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
except IOError:
pass
def __registerExitHandler():
import atexit
atexit.register( __exithandler )
def __enableReadlineSupport():
readline.set_history_length( 1000 )
readline.parse_and_bind( "tab: complete" )
try:
readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
except IOError:
pass
def __enableDefaultEncoding():
import sys
try:
sys.setdefaultencoding( "utf8" )
except LookupError:
pass
import sys
try:
import rlcompleter, readline
except ImportError:
pass
else:
__enableDefaultEncoding()
__registerExitHandler()
__enableReadlineSupport()