Add NO_RECOMMENDATIONS support.  A way to disable all recommended
packages from being installed.  This will help shrink the size of
the resulting filesystem.

Add documentation on NO_RECOMMENDATIONS and BAD_RECOMMENDATIONS.

Note, using NO_RECOMMENDATIONS has side effects such that kernel-modules may
not have been installed.  A user will need to manually add to their image
any kernel-modules required to be on the image for functionality.

Signed-off-by: Mark Hatle <[email protected]>
---
 meta/classes/package_rpm.bbclass | 3 +++
 meta/conf/bitbake.conf           | 1 +
 meta/conf/documentation.conf     | 3 +++
 3 files changed, 7 insertions(+)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 74ae0ed..ee01aab 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -357,6 +357,9 @@ EOF
                smart --data-dir=${target_rootfs}/var/lib/smart config --set 
rpm-extra-macros._tmppath=/install/tmp
                package_write_smart_config ${target_rootfs}
                # Do the following configurations here, to avoid them being 
saved for field upgrade
+               if [ "x${NO_RECOMMENDATIONS}" = "x1" ]; then
+                       smart --data-dir=$1/var/lib/smart config --set 
ignore-all-recommends=1
+               fi
                for i in ${PACKAGE_EXCLUDE}; do
                        smart --data-dir=$1/var/lib/smart flag --set 
exclude-packages $i
                done
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 07eb473..43acc07 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -753,6 +753,7 @@ COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES 
MACHINE_FEATURES"
 SERIAL_CONSOLE ??= ""
 SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE', True).replace(' ', ';')}"
 
+NO_RECOMMENDATIONS ?= ""
 BAD_RECOMMENDATIONS ?= ""
 
 # Make sure MACHINE isn't exported
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index b930611..e83981c 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -114,6 +114,9 @@ SYSVINIT_ENABLED_GETTYS[doc] = "Specify which VTs should be 
running a getty, the
 IPK_FEED_URIS[doc] = "List of ipkg feed records to put into generated image."
 FEED_DEPLOYDIR_BASE_URI[doc] = "Allow to serve ipk deploy dir as an adhoc feed 
(bogofeed). Set to base URL of the dir as exported by HTTP. Set of adhoc feed 
configs will be generated in image."
 
+BAD_RECOMMENDATIONS[doc] = "List of packages to not install if recommended.  
These will still be installed if required."
+NO_RECOMMENDATIONS[doc] = "When set to 1, no recommended packages will be 
installed.  Note: some recommended packages may be required for certain system 
functionality, such as kernel-modules.  It is up to the user to add packages to 
IMAGE_INSTALL as needed."
+
 IMAGE_INSTALL[doc] = "Used by an image recipe to list the packages to be 
installed.  See PACKAGE_INSTALL."
 
 PACKAGE_EXCLUDE[doc] = "Packages to exclude from the installation, if required 
an error will be generated."
-- 
1.8.1.2.545.g2f19ada

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to