Setting Up Runtime Package Management
- For RPM, IPK, and DEB package formats, it is possible to set
- up a repository that is a host-based
- package feed from which you can install packages on the
- target system during runtime.
+ For supported package formats, it is possible to set
+ up a repository that is a host-based package feed from which
+ you can install packages on the target system during runtime.
Doing so is optional and depends on the following:
@@ -3637,23 +3636,30 @@
-
- Using DEB and RPM
-
-
- Following are the steps to set up the optional repository.
- This example assumes you are using RPM and the Apache 2
- server:
-
-
- Add the directory to your Apache configuration, which
- you can find at
- /etc/httpd/conf/httpd.conf.
- Use commands similar to these on the development system.
- These example commands assume a top-level
- Source Directory
- named poky in your home directory:
-
+
+ The following list provides steps for setting up the optional
+ repository regardless of the package format.
+ Once you work through these generic steps, see the
+ "Using RPM"
+ section or the
+ "Using IPK"
+ section for remaining steps specific to the package type.
+
+ The example assumes you are using the Apache 2 server:
+
+
+
+ Add the directory to your Apache configuration, which
+ you can find at
+ /etc/httpd/conf/httpd.conf.
+ Use commands similar to these on the development system.
+ These example commands assume a top-level
+ Source Directory
+ named poky in your home directory.
+ The example also assumes an RPM package type.
+ If you are using a different package type, such as
+ IPK, use "ipk" in the pathnames:
+
<VirtualHost *:80>
....
Alias /rpm ~/poky/build/tmp/deploy/rpm
@@ -3661,53 +3667,62 @@
Options +Indexes
</Directory>
</VirtualHost>
-
-
-
- Reload the Apache configuration as follows.
- For all commands, be sure you have root privileges.
-
-
- If your development system is using Fedora or
- CentOS, use the following:
-
+
+
+
+ Reload the Apache configuration as follows.
+ For all commands, be sure you have root privileges.
+
+
+ If your development system is using Fedora or
+ CentOS, use the following:
+
service httpd reload
-
- For Ubuntu and Debian, use the following:
-
+
+ For Ubuntu and Debian, use the following:
+
/etc/init.d/apache2 reload
-
- For OpenSUSE, use the following:
-
+
+ For OpenSUSE, use the following:
+
/etc/init.d/apache2 reload
-
-
-
- Run BitBake on package-index
- on the host
-
+
+
+
+ Re-generate the package index:
+
bitbake package-index
-
-
-
- Change your working directory to
- tmp/deploy/rpm in the
- Build Directory.
-
-
- If you are using Security-Enhanced Linux (SELinux),
- you need to label the files as being accessible
- through Apache.
- Use the following command from the development host:
-
- chcon -R -h -t httpd_sys_content_t .
-
-
+
+
+
+ If you are using Security-Enhanced Linux (SELinux),
+ you need to label the files as being accessible
+ through Apache.
+ Use the following command from the development host.
+ Again, the example assumes RPM package types:
+
+ chcon -R -h -t httpd_sys_content_t tmp/deploy/rpm
+
+
+
+
+
+
+ Using RPM
+
+
+ Following are RPM-specific steps needed for setting up the
+ optional repository.
+ Perform these steps after working through the common steps
+ at the start of this section:
+
On the target machine, add the repository to Smart
for every package architecture.
- To see the list of package architectures, just list
- the contents of the directory.
+ To see the list of package architectures, list
+ the contents of the
+ setting-up-runtime-package-management tmp/deploy/rpm directory
+ on the host.
As an example, suppose you list the contents of the
directory and discover three architectures:
@@ -3715,7 +3730,7 @@
and qemux86.
Given this example, use the following commands:
- smart channel ‐‐add all type=rpm-md baseurl=http:server.name/rpm/all
+ smart channel ‐‐add all type=rpm-md baseurl=http://server.name/rpm/all
smart channel ‐‐add i585 type=rpm-md baseurl=http://server.name/rpm/i586
smart channel ‐‐add qemux86 type=rpm-md baseurl=http://server.name/rpm/qemux86
@@ -3728,6 +3743,9 @@
+ You can now use the smart query
+ and smart install commands to find
+ and install packages from the repositories.
@@ -3735,18 +3753,32 @@
Using IPK
- If your packages are IPK, you can install packages onto an
- existing running system by first sharing the
- tmp/deploy/ipk/ directory
- through a web server and then by changing
- /etc/opkg/base-feeds.conf
- to point at the shared server.
- Following is an example:
-
- $ src/gz all http://www.mysite.com/somedir/deploy/ipk/all
- $ src/gz armv7a http://www.mysite.com/somedir/deploy/ipk/armv7a
- $ src/gz beagleboard http://www.mysite.com/somedir/deploy/ipk/beagleboard
-
+ Following are IPK-specific steps needed for setting up the
+ optional repository.
+ Perform these steps after working through the common steps
+ at the start of this section:
+
+ Install packages onto an
+ existing running system by first sharing the
+ tmp/deploy/ipk/ directory
+ through a web server and then by changing
+ /etc/opkg/base-feeds.conf
+ to point at the shared server.
+ Following is an example:
+
+ src/gz all http://www.mysite.com/somedir/deploy/ipk/all
+ src/gz armv7a http://www.mysite.com/somedir/deploy/ipk/armv7a
+ src/gz beagleboard http://www.mysite.com/somedir/deploy/ipk/beagleboard
+
+ From the target machine, fetch the
+ repository information using this command:
+
+ opkg update
+
+
+ You can now use the opkg list and
+ opkg install commands to find and
+ install packages from the repositories.
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index 1b3b9d99dc..9915c3ce02 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -595,16 +595,15 @@
The OpenEmbedded build system now has some additional requirements
on the host system:
-
- Python 2.7.3+
-
- tar 1.24+
-
- git 1.7.5+
-
- Patched version of make if you are using make version 3.82. Most
- distributions that provide make 3.82 have now done this.
-
+
+ Python 2.7.3+
+ Tar 1.24+
+ Git 1.7.5+
+ Patched version of Make if you are using
+ 3.82.
+ Most distributions that provide Make 3.82 use the patched
+ version.
+
If the Linux distribution you are using on your build host
does not provide packages for these, you can install and use
the Buildtools tarball, which provides an SDK-like environment
@@ -733,7 +732,12 @@
The pkgdata directory produced as
part of the packaging process has been collapsed into a
- single machine-specific directory.
+ single machine-specific directory.
+ These directories are located under
+ sysroots and use a machine-specific
+ name (i.e.
+ tmp/sysroots/<machine>/pkgdata).
+
@@ -778,7 +782,7 @@
Valid IMAGE_FEATURES are drawn from
PACKAGE_GROUP
definitions,
- COMPLEMENTARY_GLOBS
+ COMPLEMENTARY_GLOB
and a new 'validitems' varflag on
IMAGE_FEATURES.
This change allows additional features to be added if they
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml
index c1e2013f42..cf964c78a7 100644
--- a/documentation/ref-manual/ref-variables.xml
+++ b/documentation/ref-manual/ref-variables.xml
@@ -822,7 +822,18 @@ Core layer for images cannot be removed
BUSYBOX_SPLIT_SUID
- Need description.
+ For the BusyBox recipe, specifies whether to split the
+ output executable file into two parts: one for features
+ that require setuid root, and one for
+ the remaining features (i.e. those that do not require
+ setuid root).
+
+
+
+ The BUSYBOX_SPLIT_SUID variable
+ defaults to "1", which results in a single output
+ executable file.
+ Set the variable to "0" to split the output file.
@@ -893,10 +904,29 @@ Core layer for images cannot be removed
- COMPLEMENTARY_GLOBS
+ COMPLEMENTARY_GLOB
- Need description.
+ Defines wildcards you can use when installing a list of
+ complementary packages for all the packages explicitly
+ (or implicitly) installed in an image.
+ The resulting list of complementary packages is associated
+ with an item that can be added to
+ IMAGE_FEATURES.
+ An example usage of this is the "dev-pkgs" item that when
+ added to IMAGE_FEATURES will
+ install -dev packages (containing headers and other
+ development files) for every package in the image.
+
+
+
+ To add a new feature item pointing to a wildcard, use a
+ variable flag to specify the feature item name and
+ use the value to specify the wildcard.
+ Here is an example:
+
+ COMPLEMENTARY_GLOB[dev-pkgs] = '*-dev'
+
@@ -1013,10 +1043,8 @@ Core layer for images cannot be removed
DATETIME
- The date and time on which the build started:
-
- date/time
-
+ The date and time on which the current build started.
+ The format is suitable for timestamps.
@@ -1883,7 +1911,9 @@ Core layer for images cannot be removed
IMAGE_BASENAME
- Need description.
+ The base name of image output files.
+ This variable defaults to the recipe name
+ (${PN}).
@@ -2032,8 +2062,8 @@ Core layer for images cannot be removed
The name of the output image files minus the extension.
This variable is derived using the
- IMAGE_BASENAME
- MACHINE
+ IMAGE_BASENAME,
+ MACHINE,
and
DATETIME
variables:
@@ -3675,7 +3705,27 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
PACKAGE_GROUP
- Need description.
+ Defines one or more packages to include in an image when
+ a specific item is included in
+ IMAGE_FEATURES.
+ When setting the value, PACKAGE_GROUP
+ should have the name of the feature item as an override.
+ Here is an example:
+
+ PACKAGE_GROUP_widget = "package1 package2"
+
+ In this example, if "widget" were added to
+ IMAGE_FEATURES, "package1" and
+ "package2" would be included in the image.
+
+ Packages installed by features defined through
+ PACKAGE_GROUP are often package
+ groups.
+ While similarly named, you should not confuse the
+ PACKAGE_GROUP variable with
+ package groups, which are discussed elsewhere in the
+ documentation.
+
@@ -4630,7 +4680,10 @@ PARALLEL_MAKEINST with the description ".
SDK_ARCH
- Need description.
+ The target architecture for the SDK.
+ Typically, you do not directly set this variable.
+ Instead, use
+ SDKMACHINE.
@@ -5570,7 +5623,9 @@ PARALLEL_MAKEINST with the description ".
TUNE_PKGARCH
- Need description.
+ The package architecture understood by the packaging
+ system to define the architecture, ABI, and tuning of
+ output packages.