Commit Graph

20 Commits

Author SHA1 Message Date
Roy Li ab123ef694 rpm: define EM_AARCH64 for debugedit
EM_AARCH64 maybe not be defined due to old version elf.h when compile
rpm-native, and lead to that debugedit can not work on aarch64 elf object
files, since there is no other dependence, except these two macro,
define them to make debugedit work on aarch64 elf files.

  debugedit: /bitbake_build/tmp/work/aarch64-wrs-linux/libvirt/1.2.19-r0/
  package/usr/lib64/libvirt/ptest/daemon/libvirtd_admin_la-admin_server.o:
  Unhandled relocation 258 in .debug_info section

(From OE-Core rev: 91a159e64d404653b2d9178caf027f797a4d3f3b)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Ross Burton 19358d0cb5 rpm: add explicit dependency on file-replacement-native for native builds
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:30 +00:00
Markus Lehtonen cb24cbbb02 rpm: search for gpg if gpg2 is not found
Some (host) systems only have a binary named 'gpg' (e.g. Fedora) while
some only have 'gpg2' (Ubuntu) and others have both of them (openSUSE).
Currently the behavior of rpm-native with regards to GnuPG depends on
the host platform: rpm(-native) is configured to use GnuPG binary of the
host system if 'gpg2' is found in $PATH. Otherwise, rpm(-native) will
default to using '%{_bindir}/gpg2' which will be pointing to a sysroot
binary which usually does not exist.

This patch changes rpm to look for both 'gpg' and 'gpg2' when searching
for the GnuPG binary in PATH. This makes possible to create signed RPM
packages on different host platforms, using the GnuPG binary of the
host, without the need to explicitly define the gpg binary in bitbake
configuration (via GPG_BIN variable).

[YOCTO #8134]

(From OE-Core rev: eb76b668e815fbecd18271808b871fc3b0f15e65)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28 12:00:19 +01:00
Alexander Kanavin c19225ade4 upstream_tracking.inc: deprecate and move contents to recipes
No-update reasons and manual version checks should be in the recipes
themselves because otherwise they're prone to getting out of date.

(From OE-Core rev: b384345d9a693cbc3fd0dbeed9edd8c24618259d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 11:44:01 +01:00
Zhixiong Chi a21b0473ad rpm: opendb before rpmverifyscript to avoid null point input
If the command is "rpm -V" and the return value of (headerIsEntry(h, RPMTAG_VERIFYSCRIPT)
|| headerIsEntry(h, RPMTAG_SANITYCHECK)) located in /lib/verify.c is true, it will call
rpmpsmStage function(rpmVerifyScript->rpmpsmScriptStage->rpmpsmStage) and occur segment
fault because of null point(rpmtsGetRdb(ts) == NULL and rpmtsGetRdb(ts)->db_txn).
So we open rpmdb to avoid bad input when find headerIsEntry true.

workflow:
main()->rpmcliVerify()->rpmcliArgIter()->rpmQueryVerify()->rpmgiShowMatches()->showVerifyPackage()->
          rpmqv.c         verify.c        query.c             query.c           verify.c(headerIsEntry)
rpmVerifyScript()->rpmpsmScriptStage()->rpmpsmStage()->    rpmtxnCommit(rpmtsGetRdb(ts)->db_txn);
      verify.c            psm.c             psm.c                 psm.c

(From OE-Core rev: 91945b7fcb0c83ca72543e5327e965eca9c269c4)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19 18:05:42 +01:00
Robert Yang 911cb6882b rpm: remove invalid sed command
There is no __check_files in rpm/macros any more, so remove the sed
command.

(From OE-Core rev: 53c8c290e5d25976909a821eead31633b25b9952)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-12 22:55:44 +01:00
yzhu1 8b3666ea2d rpm: disable external key server
When RPM experiences a signed package, with a signature that it does NOT know.
By default it will send the -fingerprint- (and only the 16 digit fingerprint)
to an external HKP server, trying to get the key down.

This is probably not a reasonable default behavior for the system to do,
instead it should simply fail the key lookup.  If someone wants to enable the
HKP server it's easy enough to do by enabling the necessary macros.

(From OE-Core rev: fdaa9115fb20d4af49ce8407b5785096c66ecf6c)

Signed-off-by: yzhu1 <yanjun.zhu@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-09 18:00:19 +01:00
Zhixiong Chi eb29cea729 rpm: check if the argument(rootpath) exists or be writable
When user execute the command "rpm -qai --root=$dir",if $dir doesn't
exist or is unwritable as result of making a typo in rootpath,then
it will create dirent $dir and subdirectory.
So we should add the check function to fix it before creating relational
subdirectory,and warn the incorrect rootpath to user. It just checks the
rootpath reasonableness when the user input the argument(--root=/-r=).

(From OE-Core rev: dded280d26b2a5ca2a1e4ac787d36cdd13b603d3)

Signed-off-by: Zhixiong Chi <zchi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 00:01:21 +01:00
Mark Hatle c0123e59a0 rpm: Rebrand rpm custom macro paths to be distro specific
RPM was previously hard coded to use the 'poky' directory.  We really want
the directory name to be distribution specific.

(From OE-Core rev: 2c2fd0391df377cb9151598569e7e7c4a622bc0e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23 11:47:40 +01:00
Mark Hatle a990d21aec rpm: Fix lua 'print' statement capture
The print statement should capture the output and send it to the script
processing engine, and not display it directly to the screen.

Note, this is only a bug if 'lua' support has been enabled in the RPM
recipe's PACKAGECONFIG.

This patch is from: http://rpm5.org/cvs/patchset?cn=17671

(From OE-Core rev: 6bc0e8207d0e7b1d6f2eac8ed1b75a3fd9fab87b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23 11:47:40 +01:00
Robert Yang 39abb871d0 rpm: remove extra dev and dbg packages
There should be only one dev and dbg package.

[YOCTO #7481]

(From OE-Core rev: b412306418c3915bb11e3d5201cafb68e2f2b453)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-08 17:34:03 +01:00
Ross Burton 8732930521 rpm: don't put LDFLAGS into the .pc file
The LDFLAGS are not generally useful with pkg-config and mean that the .pc file
contains references to the sysroot directory, so remove it.

(From OE-Core rev: f50c4c4e26edeaf01393fe7a06c42f86fd4680a5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:45 +00:00
Roy.Li 318730be2e rpm: fix the rpm addsign function
(From OE-Core rev: d382c1541bec301468119268f4940ae15c326b1c)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:11 +00:00
Ming Liu 9f33c2858c rpm: realpath is required before expanding _dbpath in chroot
A regression is introduced by commit 66573093:
[ rpm: Fix rpm relocation macro usage ]

_usr turned out to be a relative path to support dyanmic config after
that, but it's being used somewhere as a indicator to locate substrings,
so we must get the real path of it in advance.

(From OE-Core rev: 1247955a907f51aac7efd305d26856e263c11a65)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
Saul Wold 5ad57f4562 rpm5: add python-rpm PROVIDES
Since python-smartpm depends on python-rpm, we should provide here as appropriate.

(From OE-Core rev: a3598f87bd22354cce2f2be06f09c2b24f2adb63)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-30 21:36:13 +01:00
Robert Yang fb5f2bb6d9 rpm: add perl to RDEPENDS_rpm-build
Perl scripts:
rpm-build/usr/lib64/rpm/http.req
rpm-build/usr/lib64/rpm/php.prov
rpm-build/usr/lib64/rpm/osgideps.pl
rpm-build/usr/lib64/rpm/perl.prov
rpm-build/usr/lib64/rpm/bin/api-sanity-autotest.pl
rpm-build/usr/lib64/rpm/php.req
rpm-build/usr/lib64/rpm/perldeps.pl
rpm-build/usr/lib64/rpm/perl.req

(From OE-Core rev: c951d443daca22a3dd90897bf5b26cc113b9343d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:11 +01:00
Joe Slater 779f845469 rpm: compile rpmqv.c instead of rpmqv.cc
Some versions of gcc will put a reference to __gxx_personality_v0
into rpm.o and rpmbuild.o.  This means we must link using g++,
and Makefile does not.

Go back to using rpmqv.c (which is currently identical to rpmqv.cc).

(From OE-Core rev: a36327ee2d159b3791cc6ce0c36af4b9e0693e51)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-19 00:08:59 +01:00
Robert Yang ae33bda011 rpm: disable -Wno-override-init
Fixed rpm-native.do_configure error on CentOS 5.x:
cc1: error: unrecognized command line option "-Wno-override-init"

The -Wno-override-init was commented in rpm-5.4.9, but commented out in
rpm-5.4.14 thus it is failed to build on CentOS 5.x, comment it again to fix
the problem.

(From OE-Core rev: ad4a54a0f5bb667f5d5e3df2bcf841b05e0d0f2c)

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>
2014-07-10 17:38:34 +01:00
Mark Hatle f171799902 rpm: Replace patch with backport from SCM version of RPM5
(From OE-Core rev: 17419e4577eb4b5786d4c0120f070e1660fa28ec)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-08 11:20:12 +01:00
Mark Hatle fe483ca37c rpm: Upgrade to 5.4.14
Update various patches.  A few corrections to the patch descriptions,
otherwise simple quilt refresh or conflict resolution.

Remove rpm-solvedb.patch and rpm-respect-arch.patch.  These are both related
to the old solvedb package dependency solver.  This is no longer used since
we moved to smartpm.

rpm-stub-out-git_strerror was a backport and is no longer needed.

RPM 5.4.12 and newer normally requires Berkley DB 6.0 or newer.  A small
patch to configure allows RPM to dynamically select DB 5.3 or DB 6.0 based
on what is available at configure time.

(From OE-Core rev: 0c7b4a5e23836889196f85f472f081d51529e94e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-08 11:20:12 +01:00