From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH 07/11] package_deb: Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE
Date: Wed, 14 Aug 2013 15:30:05 -0500 [thread overview]
Message-ID: <1376512209-11622-8-git-send-email-mark.hatle@windriver.com> (raw)
In-Reply-To: <1376512209-11622-1-git-send-email-mark.hatle@windriver.com>
Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE. Also add a
warning that ensures users know that BAD_RECOMMENDATIONS support is
not implemented in the debian package/rootfs classes.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
meta/classes/package_deb.bbclass | 17 +++++++++++++----
meta/classes/rootfs_deb.bbclass | 8 +++++++-
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 4980555..068c11a 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -12,6 +12,8 @@ PKGWRITEDIRDEB = "${WORKDIR}/deploy-debs"
APTCONF_TARGET = "${WORKDIR}"
+APT_ARGS = "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS", True) == "1"]}"
+
#
# Update the Packages index files in ${DEPLOY_DIR_DEB}
#
@@ -83,6 +85,13 @@ package_install_internal_deb () {
priority=$(expr $priority + 5)
done
+ for pkg in ${PACKAGE_EXCLUDE}; do
+ (echo "Package: $pkg"
+ echo "Pin: release *"
+ echo "Pin-Priority: -1"
+ echo) >> ${APTCONF_TARGET}/apt/preferences
+ done
+
tac ${APTCONF_TARGET}/apt/sources.list.rev > ${APTCONF_TARGET}/apt/sources.list
# The params in deb package control don't allow character `_', so
@@ -105,7 +114,7 @@ package_install_internal_deb () {
if [ ! -z "${package_linguas}" ]; then
for i in ${package_linguas}; do
- apt-get install $i --force-yes --allow-unauthenticated
+ apt-get ${APT_ARGS} install $i --force-yes --allow-unauthenticated
if [ $? -ne 0 ]; then
exit 1
fi
@@ -114,13 +123,13 @@ package_install_internal_deb () {
# normal install
if [ ! -z "${package_to_install}" ]; then
- apt-get install ${package_to_install} --force-yes --allow-unauthenticated
+ apt-get ${APT_ARGS} install ${package_to_install} --force-yes --allow-unauthenticated
if [ $? -ne 0 ]; then
exit 1
fi
# Attempt to correct the probable broken dependencies in place.
- apt-get -f install
+ apt-get ${APT_ARGS} -f install
if [ $? -ne 0 ]; then
exit 1
fi
@@ -129,7 +138,7 @@ package_install_internal_deb () {
rm -f `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID}
if [ ! -z "${package_attemptonly}" ]; then
for i in ${package_attemptonly}; do
- apt-get install $i --force-yes --allow-unauthenticated >> `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID} 2>&1 || true
+ apt-get ${APT_ARGS} install $i --force-yes --allow-unauthenticated >> `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID} 2>&1 || true
done
fi
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
index edd1037..dcfe786 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes/rootfs_deb.bbclass
@@ -11,6 +11,12 @@ rootfs_deb_do_rootfs[vardepsexclude] += "BUILDNAME"
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
+python rootfs_deb_bad_recommendations() {
+ if d.getVar("BAD_RECOMMENDATIONS", True):
+ bb.warn("Debian package install does not support BAD_RECOMMENDATIONS")
+}
+do_rootfs[prefuncs] += "rootfs_deb_bad_recommendations"
+
DEB_POSTPROCESS_COMMANDS = ""
opkglibdir = "${localstatedir}/lib/opkg"
@@ -113,7 +119,7 @@ remove_packaging_data_files() {
}
rootfs_install_packages() {
- ${STAGING_BINDIR_NATIVE}/apt-get install `cat $1` --force-yes --allow-unauthenticated
+ ${STAGING_BINDIR_NATIVE}/apt-get ${APT_ARGS} install `cat $1` --force-yes --allow-unauthenticated
# Mark all packages installed
sed -i -e "s/Status: install ok unpacked/Status: install ok installed/;" $INSTALL_ROOTFS_DEB/var/lib/dpkg/status
--
1.8.1.2.545.g2f19ada
next prev parent reply other threads:[~2013-08-14 20:29 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-14 20:29 [PATCH 00/11] Update the way we control the construction of filesystems Mark Hatle
2013-08-14 20:29 ` [PATCH 01/11] image.bbclass: Add basic support for PACKAGE_EXCLUDE Mark Hatle
2013-08-14 20:30 ` [PATCH 02/11] python-smartpm: Add support for excluding package from the install Mark Hatle
2013-08-14 20:30 ` [PATCH 03/11] package_rpm.bbclass: Add support for PACKAGE_EXCLUDE to RPM installs Mark Hatle
2013-08-15 12:01 ` Paul Eggleton
2013-08-15 13:37 ` Mark Hatle
2013-08-14 20:30 ` [PATCH 04/11] python-smartpm: Add support to disable installing recommends Mark Hatle
2013-08-14 20:30 ` [PATCH 05/11] package_rpm.bbclass: NO_RECOMMENDATIONS support Mark Hatle
2013-08-14 20:30 ` [PATCH 06/11] package_deb.bbclass: Use the WORKDIR not SYSROOT for temp files Mark Hatle
2013-08-14 20:30 ` Mark Hatle [this message]
2013-08-14 20:30 ` [PATCH 08/11] opkg: Add --no-install-recommends option Mark Hatle
2013-08-19 18:08 ` Saul Wold
2013-08-19 18:32 ` Mark Hatle
2013-09-18 15:14 ` Paul Barker
2013-09-18 16:07 ` Richard Purdie
2013-09-18 16:35 ` Paul Barker
2013-09-18 16:48 ` Richard Purdie
2013-09-18 17:24 ` Paul Barker
2013-09-18 18:44 ` Phil Blundell
2013-09-18 19:09 ` Paul Barker
2013-09-18 20:33 ` Richard Purdie
2013-09-18 20:51 ` Paul Barker
2013-10-07 15:00 ` opkg-devel group (was: Re: [PATCH 08/11] opkg: Add --no-install-recommends option.) Andreas Oberritter
2013-10-07 16:08 ` Paul Barker
2013-08-14 20:30 ` [PATCH 09/11] package_ipk: Add support for NO_RECOMMENDATIONS Mark Hatle
2013-08-14 20:30 ` [PATCH 10/11] opkg: Add support for excluding packages from the install Mark Hatle
2013-08-14 20:30 ` [PATCH 11/11] package_ipk: Add support for PACKAGE_EXCLUDE Mark Hatle
2013-08-14 20:35 ` [PATCH 00/11] Update the way we control the construction of filesystems Burton, Ross
2013-08-14 20:41 ` Mark Hatle
2013-08-14 21:03 ` Burton, Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1376512209-11622-8-git-send-email-mark.hatle@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.