Commit Graph

47 Commits

Author SHA1 Message Date
Martin Jansa 5f2515667d rootfs_*.bbclass: exclude BUILDNAME var dependency from do_rootfs
* I have kernel recipe which depends on other recipe to build tiny initramfs
  image, without this change it rebuilds not only that initramfs image
  but also whole kernel when DATE or TIME is changed and OEBasicHash enabled
* also resolves ERROR shown when bitbake -S is used for image:
  ERROR: Bitbake's cached basehash does not match the one we just generated
  (/OE/oe-core/openembedded-core/meta/recipes-core/images/core-image-minimal.bb.do_rootfs)!
  ERROR: The mismatched hashes were 8c35cdf8a5d09c03941f081dd9f6d8dc and b5d6e2e5952770557c48c5779ddb73fc

(From OE-Core rev: a78d2d21fffd646a0d6e0f02a8355be010a7bd28)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-19 17:54:51 +00:00
Laurentiu Palcu fd401f292e rootfs generation: export two new variables to postinst scriptlets
In order for the postinst scriptlets to be able to run once we need to
export the location of the intercept scripts and also the location of
native sysrootfs. The gdk-pixbuf binaries will need the latter because
in order to generate the loaders.cache it will need to scan some shared
libraries that must be native. Even though the output is a text file.

(From OE-Core rev: 927fabf549bb79cc179d2cb0a953dcd515acf464)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-06 12:31:09 +00:00
Robert Yang 21dcd88cee rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEB
* There would be race issue if we put the lock to the WORKDIR, for
  example:
  bitbake core-image-sato core-image-sato-sdk

  If the lock is in their own WORKDIR, the apt-rootfs.conf and
  Packages.gz maybe be written by two tasks at the same time, which
  would cause unexpected errors.

* Create ${target_rootfs}/etc since the "tar -C" needs it.

Note:
  * The rpm has put the lock to DEPLOY_DIR_RPM
  * The ipk doesn't need it since it has locks for each deploy directory
    and put the opkg.conf in his own WORKDIR, which doesn't like deb put
    the apt-rootfs.conf in ${STAGING_ETCDIR_NATIVE}/apt/.

[YOCTO #2495]

(From OE-Core rev: 23ac392f8b868296eb9e7cd840f9b28ed6917b27)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:23 +01:00
Paul Eggleton 20ad566d60 buildhistory: improve performance of image info collection
Reduce the number of calls to the packaging tool, especially in the case
of rpm, using helper utilities to gather the required information more
efficiently where possible.

(From OE-Core rev: d0b8a98c5b46c305afd389fc862b3bf0c6f1eaab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:15 +01:00
Paul Eggleton fa5640d143 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-29 10:16:14 +01:00
Paul Eggleton 4913b614d8 classes/rootfs_deb: use more reliable check for package existence
It turns out "apt-cache showpkg" does return some information when a
package does not exist but another package recommends it, which can
occur for empty *-dev packages; so use "apt-cache policy" with a
different line count instead.

(From OE-Core rev: ac62761a9cacdfd0225d2db5a75584e6c85469a8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-17 10:53:55 +01:00
Mark Hatle b70c9154e4 image.bbclass: Add support to build the SDK in parallel with the image
When building an image recipe, you can now build a companion SDK by
calling the populate_sdk task:
  bitbake -c populate_sdk core-image-minimal

Note: there are still issues w/ the SDK not working completely with
multilibs.

A lock is required between rootfs and populate_sdk activities to prevent
configuration file clashes and similar package management problems in ipk
and deb based systems.  (RPM already had a lock for a different reason.)

(From OE-Core rev: a0de2a56f19ae4d8cd88e46e96917a7a019fe1ab)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03 14:55:00 +01:00
Paul Eggleton 12b4543ac9 classes/rootfs_*: fix splitting package dependency strings
If a + character appears in a version specification within the list of
package dependencies, the version will not be removed from the list in
list_package_depends/recommends leading to garbage appearing in the
dependency graphs generated by buildhistory. To avoid any future
problems due to unusual characters appearing in versions, change the
regex to match almost any character.

Fixes [YOCTO #2451].

(From OE-Core rev: 36d1717e2ad4ca1620ee9f01b524b5ff2f499b26)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:56 +01:00
Paul Eggleton 38c2f66ea7 classes/image: implement generic locale package installation
Let each package-specific rootfs implementation provide basic functions
to query the existence of a package and install a list of packages and
then have a generic install function so this logic is in one place.

Note: unlike previous versions of this code in OE-Core this uses the
IMAGE_LINGUAS variable and not IMAGE_LOCALES - note that IMAGE_LINGUAS
was what was used in OE-Classic and it is already used in OE-Core in
order to install locale-base-*. This will mean that if IMAGE_LINGUAS is
left at the default you will now get more packages installed. If you
don't want these language support packages then you should set
IMAGE_LINGUAS explicitly.

This restores locale installation to the same state as OE-Classic, only
we now support all the packaging backends.

(From OE-Core rev: c0fc36f8629a6abb9a7b542df8a2857526547a31)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:14:26 +00:00
Paul Eggleton 43c99c9d50 classes/rootfs_deb: implement query functions for buildhistory
Implement the functions required for buildhistory to be able to query
installed packages, get dependencies etc. for deb-based images.

(From OE-Core rev: 58fbb430040c9cce9f2c5f1515a4453dd49032cc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-10 00:18:14 +00:00
Dexuan Cui 23773a899b deb packages support: switch from /var/dpkg to /var/lib/dpkg
[YOCTO #1086]

The pach was backported from OE:
http://git.openembedded.net/cgit.cgi/openembedded/commit/?id=41e0fbf792037f249d1b8d283b3de81718887c9f

(From OE-Core rev: d1e6f49a6473df3c626100ba01b27485f735c33b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:49 +01:00
Lianhao Lu f23e67f172 rootfs_deb/package_deb.bbclass: move func from rootfs_deb to package_deb
package_deb.bbclass:
1. Added new function package_update_index_deb() to generate package
index files.

2. Added new function package_install_internal_deb() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.

rootfs_deb.bbclass:
Used the above new functions to install the rootfs.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-02-01 23:59:37 +00:00
Lianhao Lu 5b7e96d852 image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().
Move function rootfs_xx_log_check() from rootfs_xx.bbclass to relevant
package_xx.bbclass. (Where xx is rpm/ipk/deb).

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-31 16:58:15 +00:00
Richard Purdie ded2919f19 rootfs: Update ROOTFS_PKGMANAGE to include atp/zypper
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:18:02 +01:00
Saul Wold e72e7b2fdc rootfs_deb: Fix problem with pseduo and rootfs location
This address [BUGID #401] to complete dpkg rootfs support

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-08 13:51:44 -07:00
Saul Wold 8e5c0841ea rootfs_deb: fix parsing a shell cmd
This fixes [BUGID #360] parsing failure when using package_dep
as rootfs generator.

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-04 16:24:01 -07:00
Kevin Tian 8ea7fa6d4c opkg: finalize the change to var directory
commit 1d0757f16b changes opkg run state from
/usr/lib/opkg to /var/lib/opkg, which however is incomplete and still many
important information is kept under old directory including postinst methods.
This makes latest boot into a mess.

So finalize this movement to /var here. Fix [BUGID #229]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-26 08:54:55 +01:00
Richard Purdie b772c8cde5 bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the populate_staging task to populate_sysroot
This change makes the purpose of the staging directory more obvious and
the taskname more true to what it now actually does.

The layout version number is increased due to the change in layout
but code to convert existing directories and insert a symlink for
backwards compatibility is included.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:42 +00:00
Richard Purdie 826cd19f04 meta/classes/rootfs_*.bbclass: Fix unset variable 2008-11-07 13:59:12 +00:00
Richard Purdie 436c5f4716 classes: Add mechanism to install packages into images only if they've been built 2008-11-06 16:23:32 +00:00
Marcin Juszkiewicz 47885dcd33 rootfs_deb: use dpkg-scanpackages as our apt-native does not have apt-ftparchive anymore
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4749 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-06-30 13:33:03 +00:00
Richard Purdie fe1c075411 rootfs_deb.bbclass: Use DPKG_ARCH for the architecture field, not TARGET_ARCH since it breaks x86
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4520 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-21 13:17:53 +00:00
Richard Purdie bfe8092d3b poky-image.bbclass: Correctly handle inserting package-managers into images by making it an image feature
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4517 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-20 14:58:34 +00:00
Richard Purdie 6a468efd9a rootfs_deb.bbclass: Use /var/dpkg for dpkg status data
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4511 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-20 14:16:48 +00:00
Richard Purdie 8b60069706 rootfs_deb: Export OPKG_OFFLINE_ROOT for update-alternatives fixing dpkg rootfs generation
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4506 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-20 10:08:34 +00:00
Marcin Juszkiewicz c2c6f59a5e rootfs_deb.bbclass: s/ipkg/opkg/ - spotten by Koen Kooi
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4043 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-03-18 11:41:53 +00:00
Richard Purdie 98bd2b0d60 rootfs_deb.bbclass: Make sure alternatives path exists
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3119 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-12 11:12:31 +00:00
Richard Purdie 7ca6e91d29 rootfs_deb: Fix hardcoded etc references, add missing mkdir
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3074 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-05 22:35:55 +00:00
Richard Purdie f2ddfbb308 classes: Sync with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2630 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-01 15:25:40 +00:00
Richard Purdie 48fd37f5f9 packaging: Split deb and ipk creation into separate tasks so changing the packaging type means the new type of packages are automatically generated.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2526 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-21 09:37:30 +00:00
Ross Burton d0012bdc99 rootfs_deb.bbclass: Remove spurious mkdir, I needed this because my deploy/ was hosed
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2508 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-17 13:01:42 +00:00
Ross Burton 53710a6c66 Create usr/lib/ipkg in the rootfs before putting symlinks in it
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2506 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-17 09:50:57 +00:00
Ross Burton 48697516fd Instead of exit 0, do exit 1. 0 is 0, so this doesn't work as intended
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2505 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-17 09:50:29 +00:00
Ross Burton 2fd340443c Don't use a bashism when creating directories
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2380 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-07 21:18:08 +00:00
Richard Purdie 4ab9c749a0 package_deb/rootfs_deb.bbclass: Add fix from OE, add copyright notice
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2377 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-07 14:34:33 +00:00
Marcin Juszkiewicz a47e493bac rootfs classes: added remove_packaging_data_files() function to be used in minimal images
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2007 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-06-26 11:35:20 +00:00
Marcin Juszkiewicz 5c41f1ec4c rootfs_deb.bbclass: removed usage of /dev/null as stdin as BitBake do that now by default
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1919 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-06-12 09:31:20 +00:00
Marcin Juszkiewicz dc68918720 rootfs_deb.bbclass: updated to works with APT 0.6
APT 0.6 require repositories to be GPG signed but Poky have them unsigned.
Second problem is that APT tries to read something from stdin (even when
forced to choose 'Yes') so it now gets /dev/null as stdin.


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1916 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-06-12 08:25:24 +00:00
Richard Purdie 409335beae classes: Rework core dependencies to work properly at the task level
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1427 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-04-03 11:31:02 +00:00
Richard Purdie 4445685999 rootfs_deb: Catch all error codes and return them
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1416 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-03-30 14:52:41 +00:00
Richard Purdie 4cf2d71a16 rootfs_(deb|ipk).bbclass: Fix bashism so works on dash
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1002 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-12-05 11:10:28 +00:00
Richard Purdie bc4de141cb rootfs_deb.bbclass: Add sanity check
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@991 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-12-01 09:29:06 +00:00
Richard Purdie 85e27da51a rootfs_deb.bbclass: Reverse sources.list file to correct repository priorities. Add Release file to sources giving a Label. Update preferences file to use source labels instead of paths
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@976 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-29 10:53:23 +00:00
Richard Purdie e65d97d62f rootfs_deb.bbclass: Mark packages as installed/unpacked correctly. Add in hacks to work around /var being tmpfs and to enable ipkg to handle the postinsts on device (for now)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@966 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-27 22:57:27 +00:00
Richard Purdie 207db00743 rootfs_deb: Set Architecture correctly in a copy of apt.conf in staging
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@965 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-27 17:29:04 +00:00
Richard Purdie 0ac664d01a rootfs_xxx.bbclass: Add missing checkins from the log_check updates
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@938 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-22 15:28:28 +00:00
Chris Larson 4fa2d11bb1 Sync up.. all the deb/dpkg changes which I have locally are now in svn.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@728 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-09-19 09:04:09 +00:00