Commit Graph

63 Commits

Author SHA1 Message Date
Robert Yang 436211f052 archiver.bbclass: remove the "upper()" function
The configuration value from the conf file is lower case, e.g. srpm,
tar, so there is no reason to use the upper case which makes things
complicated.

[YOCTO #2619]

(From OE-Core rev: 036a2502689092bb278b929f6e8ef2a119c1cf35)

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-29 16:02:08 -07:00
Robert Yang 3883f82926 archiver.bbclass: fix the fakeroot and other issues
* Fix the fakeroot issue
  The archiver.bbclass is used for archiving sources, patches, and logs,
  it uses the "rpmbuild -bs" from the package_rpm.bbclass to generate the
  .src.rpm, but it didn't work (it's not easy to explain it clearly):

  Reason:
  - It directly used the "fakeroot" command, we don't have such a
    command in native tools, so it would use the fakeroot from the host,
    and it would fail when there is no fakeroot on the host.

  - The "rpmbuild -bs" doesn't need to work under root, but it is in the
    function do_package_write_rpm which is running under fakeroot, and
    "rpmbuild" needs to know the source file's user/group name, the source
    file is the tarball which is created by the postfuncs of do_unpack
    or do_patch which doesn't use the fakeroot, so the created file's
    owner would be the real user, e.g.: robert, but there is no such a
    user under our native tools' fakeroot(pseudo), then the rpmbuild would
    fail. It worked when use the host's fakeroot in the past was because
    that the host's fakeroot knows the users on the host.

  Fix:
  - Remove the incorrect "fakeroot".

  - Change the source file's owner to root.root under fakeroot will fix the
    problem.

* Other fixes:
  - The typo: "do_remove_taball -> do_remove_tarball" which will cause the
    tarball is not removed.

  - Add the _sourcedir defination to the rpmbuild command since the the
    SOURCES would be added to the specfile when archiver.bbclass is
    inherited, otherwise there would be errors when "rpmbuild -bb", though
    the build is OK. It only added the defination to "rpmbuild -bs",
    didn't add to "rpmbuild -bb".

[YOCTO #2619]

(From OE-Core rev: ac152f277fdff256def01af4268215a05685a0f7)

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-29 16:02:08 -07:00
Robert Yang 2ba95cc79e archiver.bbclass: fix the coding style
* Make the comment line under 80 characters.
* Use the triple double quotes for the docstring.
* Add a whitespace behind the comma (,).
* Other minor fixes.

[YOCTO #2619]

(From OE-Core rev: 885a95992abe11ebef7a8e4363e6002ee80403bf)

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-29 16:02:07 -07:00
Robert Yang c96f6ee659 archiver.bbclass: indent fixes
Several fixes:
* It uses mixed tab and whitespace as the indent in one function,
  Fix them to use "4 spaces" as the indent.

* Remove the unwanted blank, for example, more than one blank lines
  appeared together.

* Remove the tail whitespace.

[YOCTO #2619]

(From OE-Core rev: 5eacbcdf306d9e743164a1563559cd24eb5fffe0)

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-29 16:02:07 -07:00
Richard Purdie 73cf0335c4 Remove a number of unneeded import os/bb calls
The bb and os modules are always imported so having these extra import calls
are a waste of space/execution time. They also set a bad example for people
copy and pasting code so clean them up.

(From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 12:24:50 +01:00
Xiaofeng Yan c3d8b100a2 archiver.bbclass: Add the function of filtering packages
This function can miss packages whose license is in
"COPYLEFT_LICENSE_EXCLUDE" and tarball packages with license in
"COPYLEFT_LICENSE_INCLUDE".

[YOCTO #2473]

(From OE-Core rev: 4800bed394ebd7fb50552a96d6a5f83d98fe790f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-28 16:26:44 +01:00
Xiaofeng Yan 9a519998f4 archiver.bbclass: Reduce some duplication for function get_licenses
The content to modify this bbclass is as follow:
- Use the existing functions to get license as a directory instead of
  rewriting it for avoiding code duplication.
- Use SPDXLICENSEMAP to map licenses

[YOCTO #2473]

(From OE-Core rev: 31bee6e7b0a23efc1555ab739ef10041803d5bb1)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:22 +01:00
Xiaofeng Yan 34f819e22e archiver.bbclass: Improve the usability for the archiver classes
The usability of the archiver classes can be improved, beyond the
simple addition of default values for the variables. A user could
well inherit just archiver rather than the individual useful classes,
and not realize it will do nothing.

[YOCTO #2472]

(From OE-Core rev: ce91f495e0c4ef3bf53ee8b2ea570061da38e14f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Robert Yang e40995e569 meta: replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

(From OE-Core rev: a07d03cc6f67c88feb9813ae7deb6e4a93552dfe)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:45 +01:00
Xiaofeng Yan 9477419d52 archiver.bbclass: Add two default set for avoiding error when missing assignment
Add two default set(SOURCE_ARCHIVE_LOG_WITH_SCRIPTS, \
SOURCE_ARCHIVE_PACKAGE_TYPE) to archiver.bbclass for avoiding \
building error when forgetting to assign to them.

(From OE-Core rev: 5bda8f33b6763fb519543d0f9e35c970a31d39b8)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:09 +01:00
Xiaofeng Yan 5fb36b041c archiver.bbclass: Amend the problem for moving tarballs in ${DL_DIR} to ${DEPLOY_DIR}/source when enable archiver
When running "bitbake core-imamge-minmal", the error information like the following  will appear:
ERROR: Error executing a python function in
/buildarea2/yzhao-test/poky-test/meta/recipes-core/zlib/zlib_1.2.6.bb:
IOError: [Errno 2] No such file or directory:
'/buildarea2/yzhao-test/poky-test/build-archive/downloads/zlib-1.2.6.tar.bz2'

An absolute path from variable "file" pointed to tarballs in ${DL_DIR} \
cause this problem. So return base-name of "file" for fixing this bug here.

[YOCTO #2272]

(From OE-Core rev: 40c34087dea6869e5ec9a655980de3c3baa01960)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Xiaofeng Yan 0aaddbc32b archiver.bbclass: enhance code readability
The modification is as follow:

- Modify some codes with more preferable readability and vague description.
- Use existed functions instead of custom functions.

(From OE-Core rev: 514319c4a15156cd63a4ac3c6ee903f64c98884e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Xiaofeng Yan 6dd4ddf7ea archiver.bbclass:
1 Archive sources in ${S} in the different stage
  (do_unpack,do_patch,do_configure).
2 Archive patches including series
3 Archive logs including scripts (.bb and .inc files)
4 dump environment resources which show all variable and functions
  used to xxx.showdata.dump when running a task
5 dump all content in 's' including patches to file xxx.diff.gz

All archiving packages  will be deployed to ${DEPLOY_DIR}/sources/

[YOCTO #1977]

(From OE-Core rev: 2fdc271887db8c0ef0641472d00e850e8b3caa19)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:20 +01:00