2006-09-19 09:04:09 +00:00
|
|
|
inherit rootfs_${IMAGE_PKGTYPE}
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2012-06-23 00:38:30 +00:00
|
|
|
inherit populate_sdk_base
|
|
|
|
|
|
|
|
TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
|
|
|
|
POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_install_complementary populate_sdk; "
|
2012-06-23 00:38:30 +00:00
|
|
|
|
2012-03-21 11:26:09 +00:00
|
|
|
inherit gzipnative
|
|
|
|
|
2007-05-16 13:33:27 +00:00
|
|
|
LICENSE = "MIT"
|
2006-11-21 23:21:06 +00:00
|
|
|
PACKAGES = ""
|
2012-03-03 04:12:18 +00:00
|
|
|
RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL}"
|
2011-08-08 23:12:08 +00:00
|
|
|
RRECOMMENDS += "${NORMAL_FEATURE_INSTALL_OPTIONAL}"
|
2007-05-16 13:33:27 +00:00
|
|
|
|
2008-10-28 15:14:00 +00:00
|
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
|
|
|
2011-08-08 23:09:37 +00:00
|
|
|
# IMAGE_FEATURES may contain any available package group
|
|
|
|
IMAGE_FEATURES ?= ""
|
|
|
|
IMAGE_FEATURES[type] = "list"
|
|
|
|
|
2012-03-03 04:12:18 +00:00
|
|
|
# rootfs bootstrap install
|
|
|
|
ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)}"
|
|
|
|
|
2011-08-08 23:09:37 +00:00
|
|
|
# packages to install from features
|
|
|
|
FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
|
|
|
|
FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
|
|
|
|
|
2012-12-19 16:18:27 +00:00
|
|
|
# packages to install from features, excluding dev/dbg/doc/ptest
|
2011-08-08 23:12:08 +00:00
|
|
|
NORMAL_FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(normal_groups(d), d))}"
|
|
|
|
NORMAL_FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(normal_groups(d), d))}"
|
|
|
|
|
|
|
|
def normal_groups(d):
|
|
|
|
"""Return all the IMAGE_FEATURES, with the exception of our special package groups"""
|
2012-12-19 16:18:27 +00:00
|
|
|
extras = set(['dev-pkgs', 'staticdev-pkgs', 'doc-pkgs', 'dbg-pkgs', 'ptest-pkgs'])
|
2011-08-08 23:12:08 +00:00
|
|
|
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
|
|
|
|
return features.difference(extras)
|
|
|
|
|
2012-08-31 09:45:58 +00:00
|
|
|
# Define some very basic feature package groups
|
|
|
|
SPLASH ?= "psplash"
|
|
|
|
PACKAGE_GROUP_splash = "${SPLASH}"
|
|
|
|
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
# Wildcards specifying complementary packages to install for every package that has been explicitly
|
|
|
|
# installed into the rootfs
|
|
|
|
def complementary_globs(featurevar, d):
|
|
|
|
globs = []
|
|
|
|
features = set((d.getVar(featurevar, True) or '').split())
|
|
|
|
for feature in features:
|
|
|
|
if feature == 'dev-pkgs':
|
|
|
|
globs.append('*-dev')
|
2012-07-09 16:27:31 +00:00
|
|
|
elif feature == 'staticdev-pkgs':
|
|
|
|
globs.append('*-staticdev')
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
elif feature == 'doc-pkgs':
|
|
|
|
globs.append('*-doc')
|
|
|
|
elif feature == 'dbg-pkgs':
|
|
|
|
globs.append('*-dbg')
|
2012-12-19 16:18:27 +00:00
|
|
|
elif feature == 'ptest-pkgs':
|
|
|
|
globs.append('*-ptest')
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
return ' '.join(globs)
|
|
|
|
|
|
|
|
IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}'
|
|
|
|
SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs"
|
|
|
|
SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}'
|
2011-08-08 23:12:08 +00:00
|
|
|
|
2007-09-05 07:51:46 +00:00
|
|
|
# "export IMAGE_BASENAME" not supported at this time
|
2011-08-08 23:09:37 +00:00
|
|
|
IMAGE_INSTALL ?= ""
|
|
|
|
IMAGE_INSTALL[type] = "list"
|
2007-11-23 17:05:35 +00:00
|
|
|
IMAGE_BASENAME[export] = "1"
|
2012-03-03 04:12:18 +00:00
|
|
|
export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL}"
|
2011-08-08 23:09:37 +00:00
|
|
|
PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}"
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2005-08-31 10:45:47 +00:00
|
|
|
# Images are generally built explicitly, do not need to be part of world.
|
|
|
|
EXCLUDE_FROM_WORLD = "1"
|
|
|
|
|
|
|
|
USE_DEVFS ?= "0"
|
|
|
|
|
2006-11-21 23:21:06 +00:00
|
|
|
PID = "${@os.getpid()}"
|
|
|
|
|
2006-02-10 11:38:23 +00:00
|
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2011-05-17 12:31:27 +00:00
|
|
|
LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot"
|
2011-05-17 13:52:27 +00:00
|
|
|
LDCONFIGDEPEND_libc-uclibc = ""
|
2011-04-05 16:21:53 +00:00
|
|
|
|
|
|
|
do_rootfs[depends] += "makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ${LDCONFIGDEPEND}"
|
2011-03-29 00:37:53 +00:00
|
|
|
do_rootfs[depends] += "virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot"
|
2012-11-16 15:33:21 +00:00
|
|
|
do_rootfs[recrdeptask] += "do_package"
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2012-03-01 07:46:21 +00:00
|
|
|
IMAGE_TYPE_live = '${@base_contains("IMAGE_FSTYPES", "live", "live", "empty", d)}'
|
|
|
|
inherit image-${IMAGE_TYPE_live}
|
|
|
|
IMAGE_TYPE_vmdk = '${@base_contains("IMAGE_FSTYPES", "vmdk", "vmdk", "empty", d)}'
|
|
|
|
inherit image-${IMAGE_TYPE_vmdk}
|
2011-07-26 15:30:08 +00:00
|
|
|
|
2007-04-03 11:31:02 +00:00
|
|
|
python () {
|
2012-06-13 10:38:16 +00:00
|
|
|
deps = " " + imagetypes_getdepends(d)
|
|
|
|
d.appendVarFlag('do_rootfs', 'depends', deps)
|
|
|
|
|
|
|
|
deps = ""
|
Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:
sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`
(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-09 15:00:01 +00:00
|
|
|
for dep in (d.getVar('EXTRA_IMAGEDEPENDS', True) or "").split():
|
2009-11-10 14:55:23 +00:00
|
|
|
deps += " %s:do_populate_sysroot" % dep
|
2012-06-13 10:38:16 +00:00
|
|
|
d.appendVarFlag('do_build', 'depends', deps)
|
2008-04-08 17:23:04 +00:00
|
|
|
|
2012-07-03 04:43:32 +00:00
|
|
|
#process IMAGE_FEATURES, we must do this before runtime_mapping_rename
|
|
|
|
#Check for replaces image features
|
|
|
|
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
|
|
|
|
remain_features = features.copy()
|
|
|
|
for feature in features:
|
|
|
|
replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
|
|
|
|
remain_features -= replaces
|
|
|
|
|
|
|
|
#Check for conflict image features
|
|
|
|
for feature in remain_features:
|
|
|
|
conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
|
|
|
|
temp = conflicts & remain_features
|
|
|
|
if temp:
|
|
|
|
bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp))))
|
|
|
|
|
|
|
|
d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features)))
|
2012-12-14 22:40:33 +00:00
|
|
|
|
|
|
|
# Ensure we have the vendor list for complementary package handling
|
|
|
|
ml_vendor_list = ""
|
|
|
|
multilibs = d.getVar('MULTILIBS', True) or ""
|
|
|
|
for ext in multilibs.split():
|
|
|
|
eext = ext.split(':')
|
|
|
|
if len(eext) > 1 and eext[0] == 'multilib':
|
|
|
|
localdata = bb.data.createCopy(d)
|
|
|
|
vendor = localdata.getVar("TARGET_VENDOR_virtclass-multilib-" + eext[1], False)
|
|
|
|
ml_vendor_list += " " + vendor
|
|
|
|
d.setVar('MULTILIB_VENDORS', ml_vendor_list)
|
2012-08-17 14:19:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
python image_handler () {
|
|
|
|
if not isinstance(e, bb.event.RecipeParsed):
|
|
|
|
return
|
2012-07-03 04:43:32 +00:00
|
|
|
|
2010-07-02 13:34:14 +00:00
|
|
|
# If we don't do this we try and run the mapping hooks while parsing which is slow
|
|
|
|
# bitbake should really provide something to let us know this...
|
2012-08-17 14:19:38 +00:00
|
|
|
if e.data.getVar('BB_WORKERCONTEXT', True) is not None:
|
|
|
|
runtime_mapping_rename("PACKAGE_INSTALL", e.data)
|
|
|
|
runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", e.data)
|
|
|
|
|
2007-04-03 11:31:02 +00:00
|
|
|
}
|
2012-08-17 14:19:38 +00:00
|
|
|
addhandler image_handler
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2007-09-01 15:25:40 +00:00
|
|
|
#
|
|
|
|
# Get a list of files containing device tables to create.
|
|
|
|
# * IMAGE_DEVICE_TABLE is the old name to an absolute path to a device table file
|
|
|
|
# * IMAGE_DEVICE_TABLES is a new name for a file, or list of files, seached
|
|
|
|
# for in the BBPATH
|
|
|
|
# If neither are specified then the default name of files/device_table-minimal.txt
|
|
|
|
# is searched for in the BBPATH (same as the old version.)
|
|
|
|
#
|
|
|
|
def get_devtable_list(d):
|
2012-03-03 10:59:25 +00:00
|
|
|
devtable = d.getVar('IMAGE_DEVICE_TABLE', True)
|
2008-05-21 20:16:49 +00:00
|
|
|
if devtable != None:
|
|
|
|
return devtable
|
|
|
|
str = ""
|
2012-03-03 10:59:25 +00:00
|
|
|
devtables = d.getVar('IMAGE_DEVICE_TABLES', True)
|
2008-05-21 20:16:49 +00:00
|
|
|
if devtables == None:
|
|
|
|
devtables = 'files/device_table-minimal.txt'
|
|
|
|
for devtable in devtables.split():
|
2012-03-03 10:59:25 +00:00
|
|
|
str += " %s" % bb.which(d.getVar('BBPATH', True), devtable)
|
2008-05-21 20:16:49 +00:00
|
|
|
return str
|
2007-09-01 15:25:40 +00:00
|
|
|
|
2011-11-07 19:20:04 +00:00
|
|
|
IMAGE_CLASSES ?= "image_types"
|
|
|
|
inherit ${IMAGE_CLASSES}
|
2011-03-24 12:23:10 +00:00
|
|
|
|
2005-08-31 10:45:47 +00:00
|
|
|
IMAGE_POSTPROCESS_COMMAND ?= ""
|
2007-08-08 12:40:01 +00:00
|
|
|
MACHINE_POSTPROCESS_COMMAND ?= ""
|
2012-09-18 15:39:49 +00:00
|
|
|
ROOTFS_POSTPROCESS_COMMAND_prepend = "run_intercept_scriptlets; "
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2006-11-21 23:21:06 +00:00
|
|
|
# some default locales
|
2007-09-01 15:25:40 +00:00
|
|
|
IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2012-03-03 10:59:25 +00:00
|
|
|
LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IMAGE_LINGUAS', True).split()))}"
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2011-12-07 17:34:07 +00:00
|
|
|
PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
|
|
|
|
|
2007-01-08 21:07:10 +00:00
|
|
|
do_rootfs[nostamp] = "1"
|
2012-09-18 15:39:49 +00:00
|
|
|
do_rootfs[dirs] = "${TOPDIR} ${WORKDIR}/intercept_scripts"
|
2010-10-07 14:41:17 +00:00
|
|
|
do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
|
2012-09-18 15:39:49 +00:00
|
|
|
do_rootfs[cleandirs] += "${S} ${WORKDIR}/intercept_scripts"
|
2007-01-08 21:07:10 +00:00
|
|
|
do_build[nostamp] = "1"
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2005-08-31 10:45:47 +00:00
|
|
|
# Must call real_do_rootfs() from inside here, rather than as a separate
|
|
|
|
# task, so that we have a single fakeroot context for the whole process.
|
2012-02-26 21:53:02 +00:00
|
|
|
do_rootfs[umask] = "022"
|
2011-06-22 04:56:25 +00:00
|
|
|
|
2012-09-18 15:39:49 +00:00
|
|
|
|
|
|
|
run_intercept_scriptlets () {
|
|
|
|
if [ -d ${WORKDIR}/intercept_scripts ]; then
|
|
|
|
cd ${WORKDIR}/intercept_scripts
|
|
|
|
echo "Running intercept scripts:"
|
|
|
|
for script in *; do
|
|
|
|
if [ "$script" = "*" ]; then break; fi
|
|
|
|
echo "> Executing $script"
|
|
|
|
chmod +x $script
|
|
|
|
./$script
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2005-08-31 10:45:47 +00:00
|
|
|
fakeroot do_rootfs () {
|
2011-02-16 04:54:38 +00:00
|
|
|
#set -x
|
2012-07-11 17:33:43 +00:00
|
|
|
# When use the rpm incremental image generation, don't remove the rootfs
|
|
|
|
if [ "${INC_RPM_IMAGE_GEN}" != "1" -o "${IMAGE_PKGTYPE}" != "rpm" ]; then
|
|
|
|
rm -rf ${IMAGE_ROOTFS}
|
|
|
|
elif [ -d ${T}/saved_rpmlib/var/lib/rpm ]; then
|
|
|
|
# Move the rpmlib back
|
|
|
|
if [ ! -d ${IMAGE_ROOTFS}/var/lib/rpm ]; then
|
|
|
|
mkdir -p ${IMAGE_ROOTFS}/var/lib/
|
|
|
|
mv ${T}/saved_rpmlib/var/lib/rpm ${IMAGE_ROOTFS}/var/lib/
|
|
|
|
fi
|
|
|
|
fi
|
2011-07-05 05:55:41 +00:00
|
|
|
rm -rf ${MULTILIB_TEMP_ROOTFS}
|
2007-09-01 15:25:40 +00:00
|
|
|
mkdir -p ${IMAGE_ROOTFS}
|
2008-06-12 20:18:24 +00:00
|
|
|
mkdir -p ${DEPLOY_DIR_IMAGE}
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2012-03-16 11:43:44 +00:00
|
|
|
cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOY_DIR_IMAGE}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt || true
|
2011-08-16 17:13:04 +00:00
|
|
|
|
2012-07-11 17:33:43 +00:00
|
|
|
# If "${IMAGE_ROOTFS}/dev" exists, then the device had been made by
|
|
|
|
# the previous build
|
2011-12-28 09:16:11 +00:00
|
|
|
if [ "${USE_DEVFS}" != "1" -a ! -r "${IMAGE_ROOTFS}/dev" ]; then
|
2007-09-01 15:25:40 +00:00
|
|
|
for devtable in ${@get_devtable_list(d)}; do
|
2012-07-11 17:33:43 +00:00
|
|
|
# Always return ture since there maybe already one when use the
|
|
|
|
# incremental image generation
|
2007-09-01 15:25:40 +00:00
|
|
|
makedevs -r ${IMAGE_ROOTFS} -D $devtable
|
|
|
|
done
|
2005-08-31 10:45:47 +00:00
|
|
|
fi
|
|
|
|
|
2006-09-19 09:04:09 +00:00
|
|
|
rootfs_${IMAGE_PKGTYPE}_do_rootfs
|
2005-08-31 10:45:47 +00:00
|
|
|
|
2008-05-21 20:16:49 +00:00
|
|
|
insert_feed_uris
|
2007-09-01 15:25:40 +00:00
|
|
|
|
2011-04-05 16:21:53 +00:00
|
|
|
if [ "x${LDCONFIGDEPEND}" != "x" ]; then
|
|
|
|
# Run ldconfig on the image to create a valid cache
|
|
|
|
# (new format for cross arch compatibility)
|
|
|
|
echo executing: ldconfig -r ${IMAGE_ROOTFS} -c new -v
|
|
|
|
ldconfig -r ${IMAGE_ROOTFS} -c new -v
|
|
|
|
fi
|
2007-11-23 17:05:35 +00:00
|
|
|
|
2008-10-09 09:36:00 +00:00
|
|
|
# (re)create kernel modules dependencies
|
|
|
|
# This part is done by kernel-module-* postinstall scripts but if image do
|
|
|
|
# not contains modules at all there are few moments in boot sequence with
|
|
|
|
# "unable to open modules.dep" message.
|
2008-10-09 19:08:11 +00:00
|
|
|
if [ -e ${STAGING_KERNEL_DIR}/kernel-abiversion ]; then
|
|
|
|
KERNEL_VERSION=`cat ${STAGING_KERNEL_DIR}/kernel-abiversion`
|
2008-10-09 09:36:00 +00:00
|
|
|
|
2008-10-09 19:08:11 +00:00
|
|
|
mkdir -p ${IMAGE_ROOTFS}/lib/modules/$KERNEL_VERSION
|
2012-01-31 08:35:02 +00:00
|
|
|
depmod -a -b ${IMAGE_ROOTFS} -F ${STAGING_KERNEL_DIR}/System.map-$KERNEL_VERSION $KERNEL_VERSION
|
2008-10-09 19:08:11 +00:00
|
|
|
fi
|
2008-10-09 09:36:00 +00:00
|
|
|
|
2009-01-07 16:31:48 +00:00
|
|
|
${IMAGE_PREPROCESS_COMMAND}
|
|
|
|
|
|
|
|
${@get_imagecmds(d)}
|
|
|
|
|
2005-08-31 10:45:47 +00:00
|
|
|
${IMAGE_POSTPROCESS_COMMAND}
|
2007-08-08 12:40:01 +00:00
|
|
|
|
|
|
|
${MACHINE_POSTPROCESS_COMMAND}
|
2005-08-31 10:45:47 +00:00
|
|
|
}
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2007-09-01 15:25:40 +00:00
|
|
|
insert_feed_uris () {
|
|
|
|
|
|
|
|
echo "Building feeds for [${DISTRO}].."
|
2008-05-21 20:16:49 +00:00
|
|
|
|
2007-09-01 15:25:40 +00:00
|
|
|
for line in ${FEED_URIS}
|
|
|
|
do
|
|
|
|
# strip leading and trailing spaces/tabs, then split into name and uri
|
|
|
|
line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
|
|
|
|
feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
|
2008-05-21 20:16:49 +00:00
|
|
|
feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"
|
2007-09-01 15:25:40 +00:00
|
|
|
|
|
|
|
echo "Added $feed_name feed with URL $feed_uri"
|
|
|
|
|
|
|
|
# insert new feed-sources
|
2008-03-18 11:43:59 +00:00
|
|
|
echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/opkg/${feed_name}-feed.conf
|
2008-05-21 20:16:49 +00:00
|
|
|
done
|
2007-09-01 15:25:40 +00:00
|
|
|
}
|
|
|
|
|
2006-11-21 23:21:06 +00:00
|
|
|
log_check() {
|
|
|
|
for target in $*
|
|
|
|
do
|
2012-06-18 21:42:45 +00:00
|
|
|
lf_path="`dirname ${BB_LOGFILE}`/log.do_$target.${PID}"
|
2006-11-21 23:21:06 +00:00
|
|
|
|
|
|
|
echo "log_check: Using $lf_path as logfile"
|
|
|
|
|
|
|
|
if test -e "$lf_path"
|
|
|
|
then
|
2011-01-30 04:04:46 +00:00
|
|
|
${IMAGE_PKGTYPE}_log_check $target $lf_path
|
2006-11-21 23:21:06 +00:00
|
|
|
else
|
|
|
|
echo "Cannot find logfile [$lf_path]"
|
|
|
|
fi
|
2008-05-21 20:16:49 +00:00
|
|
|
echo "Logfile is clean"
|
2006-11-21 23:21:06 +00:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2011-07-05 05:55:41 +00:00
|
|
|
MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|"
|
|
|
|
MULTILIB_CHECK_FILE = "${WORKDIR}/multilib_check.py"
|
|
|
|
MULTILIB_TEMP_ROOTFS = "${WORKDIR}/multilib"
|
|
|
|
|
|
|
|
multilib_generate_python_file() {
|
|
|
|
cat >${MULTILIB_CHECK_FILE} <<EOF
|
|
|
|
import sys, os, os.path
|
|
|
|
import re,filecmp
|
|
|
|
|
|
|
|
allow_rep=re.compile(re.sub("\|$","","${MULTILIBRE_ALLOW_REP}"))
|
2012-07-26 20:55:43 +00:00
|
|
|
error_prompt="Multilib check error:"
|
2011-07-05 05:55:41 +00:00
|
|
|
|
|
|
|
files={}
|
|
|
|
dirs=raw_input()
|
|
|
|
for dir in dirs.split():
|
2012-07-26 20:55:43 +00:00
|
|
|
for root, subfolders, subfiles in os.walk(dir):
|
2011-07-05 05:55:41 +00:00
|
|
|
for file in subfiles:
|
|
|
|
item=os.path.join(root,file)
|
|
|
|
key=str(os.path.join("/",os.path.relpath(item,dir)))
|
|
|
|
|
|
|
|
valid=True;
|
|
|
|
if files.has_key(key):
|
2011-09-16 12:41:36 +00:00
|
|
|
#check whether the file is allow to replace
|
|
|
|
if allow_rep.match(key):
|
|
|
|
valid=True
|
|
|
|
else:
|
2011-07-05 05:55:41 +00:00
|
|
|
if not filecmp.cmp(files[key],item):
|
|
|
|
valid=False
|
2012-07-26 20:55:43 +00:00
|
|
|
print("%s duplicate files %s %s is not the same\n" % (error_prompt, item, files[key]))
|
2011-07-05 05:55:41 +00:00
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
#pass the check, add to list
|
|
|
|
if valid:
|
|
|
|
files[key]=item
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_sanity_check() {
|
|
|
|
multilib_generate_python_file
|
|
|
|
echo $@ | python ${MULTILIB_CHECK_FILE}
|
|
|
|
}
|
|
|
|
|
2011-12-22 14:46:32 +00:00
|
|
|
get_split_linguas() {
|
|
|
|
for translation in ${IMAGE_LINGUAS}; do
|
|
|
|
translation_split=$(echo ${translation} | awk -F '-' '{print $1}')
|
|
|
|
echo ${translation}
|
|
|
|
echo ${translation_split}
|
|
|
|
done | sort | uniq
|
|
|
|
}
|
|
|
|
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
rootfs_install_complementary() {
|
|
|
|
# Install complementary packages based upon the list of currently installed packages
|
|
|
|
# e.g. locales, *-dev, *-dbg, etc. This will only attempt to install these packages,
|
|
|
|
# if they don't exist then no error will occur.
|
|
|
|
# Note: every backend needs to call this function explicitly after the normal
|
|
|
|
# package installation
|
|
|
|
|
|
|
|
# Get list of installed packages
|
|
|
|
list_installed_packages arch > ${WORKDIR}/installed_pkgs.txt
|
|
|
|
|
|
|
|
# Apply the globs to all the packages currently installed
|
2012-09-07 22:05:43 +00:00
|
|
|
if [ -n "$1" -a "$1" = "populate_sdk" ] ; then
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
GLOBS="${SDKIMAGE_INSTALL_COMPLEMENTARY}"
|
2012-09-07 22:05:43 +00:00
|
|
|
elif [ -n "$1" ]; then
|
|
|
|
GLOBS="$@"
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
else
|
|
|
|
GLOBS="${IMAGE_INSTALL_COMPLEMENTARY}"
|
|
|
|
# Add locales
|
|
|
|
SPLIT_LINGUAS=`get_split_linguas`
|
|
|
|
PACKAGES_TO_INSTALL=""
|
|
|
|
for lang in $SPLIT_LINGUAS ; do
|
|
|
|
GLOBS="$GLOBS *-locale-$lang"
|
2011-12-22 14:46:32 +00:00
|
|
|
done
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$GLOBS" != "" ] ; then
|
|
|
|
# Use the magic script to do all the work for us :)
|
2012-12-14 22:40:33 +00:00
|
|
|
: > ${WORKDIR}/complementary_pkgs.txt
|
2013-01-07 12:58:31 +00:00
|
|
|
for vendor in '${TARGET_VENDOR}' ${MULTILIB_VENDORS} ; do
|
2012-12-14 22:40:33 +00:00
|
|
|
oe-pkgdata-util glob ${TMPDIR}/pkgdata $vendor-${TARGET_OS} ${WORKDIR}/installed_pkgs.txt "$GLOBS" >> ${WORKDIR}/complementary_pkgs.txt
|
|
|
|
done
|
2011-12-22 14:46:32 +00:00
|
|
|
|
Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.
The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.
This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.
The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".
Fixes [YOCTO #2614].
(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09 13:15:08 +00:00
|
|
|
# Install the packages, if any
|
|
|
|
sed -i '/^$/d' ${WORKDIR}/complementary_pkgs.txt
|
|
|
|
if [ -s ${WORKDIR}/complementary_pkgs.txt ]; then
|
|
|
|
echo "Installing complementary packages"
|
|
|
|
rootfs_install_packages ${WORKDIR}/complementary_pkgs.txt
|
|
|
|
fi
|
2011-12-22 14:46:32 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Workaround for broken shell function dependencies
|
|
|
|
if false ; then
|
|
|
|
get_split_linguas
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2011-09-03 12:53:42 +00:00
|
|
|
# set '*' as the root password so the images
|
2006-11-21 23:21:06 +00:00
|
|
|
# can decide if they want it or not
|
|
|
|
zap_root_password () {
|
|
|
|
sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
|
2008-05-21 20:16:49 +00:00
|
|
|
mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
|
2006-11-21 23:21:06 +00:00
|
|
|
}
|
|
|
|
|
2012-06-11 08:51:51 +00:00
|
|
|
# allow openssh accept login with empty password string
|
|
|
|
openssh_allow_empty_password () {
|
|
|
|
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config ]; then
|
2012-09-07 22:18:36 +00:00
|
|
|
sed -i 's#.*PermitRootLogin.*#PermitRootLogin yes#' ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config
|
2012-06-11 08:51:51 +00:00
|
|
|
sed -i 's#.*PermitEmptyPasswords.*#PermitEmptyPasswords yes#' ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2006-11-21 23:21:06 +00:00
|
|
|
# Turn any symbolic /sbin/init link into a file
|
|
|
|
remove_init_link () {
|
|
|
|
if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
|
|
|
|
LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init`
|
|
|
|
rm ${IMAGE_ROOTFS}/sbin/init
|
|
|
|
cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2007-01-08 21:07:10 +00:00
|
|
|
make_zimage_symlink_relative () {
|
|
|
|
if [ -L ${IMAGE_ROOTFS}/boot/zImage ]; then
|
|
|
|
(cd ${IMAGE_ROOTFS}/boot/ && for i in `ls zImage-* | sort`; do ln -sf $i zImage; done)
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2008-11-10 21:39:34 +00:00
|
|
|
write_image_manifest () {
|
|
|
|
rootfs_${IMAGE_PKGTYPE}_write_manifest
|
|
|
|
|
2012-02-29 05:41:16 +00:00
|
|
|
if [ -n "${IMAGE_LINK_NAME}" ]; then
|
|
|
|
rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.manifest
|
|
|
|
ln -s ${IMAGE_NAME}.rootfs.manifest ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.manifest
|
|
|
|
fi
|
2008-11-10 21:39:34 +00:00
|
|
|
}
|
|
|
|
|
2007-09-01 15:25:40 +00:00
|
|
|
# Make login manager(s) enable automatic login.
|
|
|
|
# Useful for devices where we do not want to log in at all (e.g. phones)
|
|
|
|
set_image_autologin () {
|
|
|
|
sed -i 's%^AUTOLOGIN=\"false"%AUTOLOGIN="true"%g' ${IMAGE_ROOTFS}/etc/sysconfig/gpelogin
|
|
|
|
}
|
|
|
|
|
2007-09-02 11:08:01 +00:00
|
|
|
# Can be use to create /etc/timestamp during image construction to give a reasonably
|
|
|
|
# sane default time setting
|
|
|
|
rootfs_update_timestamp () {
|
2012-02-24 10:25:30 +00:00
|
|
|
date -u +%4Y%2m%2d%2H%2M >${IMAGE_ROOTFS}/etc/timestamp
|
2007-09-02 11:08:01 +00:00
|
|
|
}
|
2007-09-01 15:25:40 +00:00
|
|
|
|
2008-11-10 16:21:10 +00:00
|
|
|
# Prevent X from being started
|
|
|
|
rootfs_no_x_startup () {
|
|
|
|
if [ -f ${IMAGE_ROOTFS}/etc/init.d/xserver-nodm ]; then
|
|
|
|
chmod a-x ${IMAGE_ROOTFS}/etc/init.d/xserver-nodm
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2009-08-28 16:11:57 +00:00
|
|
|
rootfs_trim_schemas () {
|
|
|
|
for schema in ${IMAGE_ROOTFS}/etc/gconf/schemas/*.schemas
|
|
|
|
do
|
|
|
|
# Need this in case no files exist
|
|
|
|
if [ -e $schema ]; then
|
2011-04-20 22:24:51 +00:00
|
|
|
oe-trim-schemas $schema > $schema.new
|
2012-07-11 17:33:43 +00:00
|
|
|
mv $schema.new $schema
|
2009-08-28 16:11:57 +00:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2010-11-04 11:34:12 +00:00
|
|
|
EXPORT_FUNCTIONS zap_root_password remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp rootfs_no_x_startup
|
2006-11-21 23:21:06 +00:00
|
|
|
|
2011-10-06 22:09:49 +00:00
|
|
|
do_fetch[noexec] = "1"
|
|
|
|
do_unpack[noexec] = "1"
|
|
|
|
do_patch[noexec] = "1"
|
|
|
|
do_configure[noexec] = "1"
|
|
|
|
do_compile[noexec] = "1"
|
|
|
|
do_install[noexec] = "1"
|
|
|
|
do_populate_sysroot[noexec] = "1"
|
|
|
|
do_package[noexec] = "1"
|
|
|
|
do_package_write_ipk[noexec] = "1"
|
|
|
|
do_package_write_deb[noexec] = "1"
|
|
|
|
do_package_write_rpm[noexec] = "1"
|
|
|
|
|
|
|
|
addtask rootfs before do_build
|