It is 'N32 MIPS64', not 'N32 MIPS32' as command file shows:
$ file image/usr/bin/getent
getent: ELF 32-bit MSB executable, MIPS, N32 MIPS64 [snip]
And "rpm -qp --filecolor" was wrong (it was 1, but should be 4), which
caused multilib installation error.
(From OE-Core rev: a598f6ee369c2a55b080ac7cfc058c1d30c7be2e)
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>
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>
make, patch and binutils are assumed to exist on the host, so there's no need to
have them in DEPENDS and can result in the building of make-native for no good
reason.
(From OE-Core rev: 4f48eeb9396ef904202ab1abeb38ec971feaeb4b)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The error patch in rpm-check-rootpath-reasonableness.patch did a bare return
from a function that should be returning an int. As this is the error path,
return -1 instead.
(From OE-Core rev: 26e90d64b51e1e53e9314f9c56939f5f6d525449)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
Fix a variety of problems such as typos, bad punctuations, or incorrect
Upstream-Status values.
(From OE-Core rev: bd220fe6ce8c3a0805f13a14706d3130ea872604)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
Native recipes should *never* depend on target recipes since this would
cause them to rebuild every time the target changes. Before the recent
datastore changes, this happened to work. Now, this makes rpm-native
unbuildable since base-files-native doesn't exist and the code remaps
the variable.
Dropping these dependencies here is the correct way to resolve this issue
and fix an autobuilder selftest failure.
(From OE-Core rev: ef84c4bf1d93e9fa674300b80d0442ae1069c473)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
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>
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>
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>
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>
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>
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first
(From OE-Core rev: a73161c89e6de3e244f70afe746c4786ad5e982f)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
It is not a problem if a package requires nothing (similar to RDEPENDS
is null), for example, these packages depends on nothing:
[snip]
alsa-conf-base
base-files
eglibc-binary-localedata-en-us
xserver-xf86-config
[snip]
The rpmresolve-native's algorithm is:
===fake code
for pkg in pkg1, pkg2, pkg3:
rc = get_req(pkg)
return rc
===fake code
Suppose of the 3 pkgs requires null:
- We are lukcy if pkg1 or pkg2 is null, nothing happend.
- We are *not* lukcy if pkg3 is null, and will get the error when "INHERIT +=
'buildhistory'":
ERROR: Cannot get the package dependencies. Command
'/path/to/x86_64-linux/usr/bin/rpmresolve -t /path/to/var/lib/rpm' returned 1:
This patch fixes the problem.
(From OE-Core rev: 2f234160ff4e9eccd8794a31df851b96328f6b74)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
Enable the rpm-5_4 branch via a specific recipe to help track the latest
community development. This should allow us to more quickly move to the next
release when it is available.
(From OE-Core rev: c461454d7f3a20ccf9ca20c5c41c80c9becd985c)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
When building on XFS filesystems, the resulting rpms can be corrupted
with the same inode number being used for multiple hardlinked files.
There are two fixes, one to stop rpm crashing when accessing a broken
binary rpm, the other to stop generating them in the first places. Full
descriptions in the patch headers.
(From OE-Core rev: d20d3476157b7c949b0077cad0ab1e8716d6162a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #6309]
It appears a logic issue has caused rpm -V to no longer
verify the files on the filesystem match what was installed.
(From OE-Core rev: 117862cd0eebf6887c2ea6cc353432caee2653aa)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Completes previous commit b5292d4115a4555a66b5e35acdc67dd71fb8577f.
Updates SUMMARY[doc] (meta/conf/documentation.conf).
Changes:
- rename DESCRIPTION with length < 80 to (non present tag) SUMMARY
- drop final point character at the end of SUMMARY string
- remove trailing whitespace of SUMMARY line
Note: don't bump PR
(From OE-Core rev: ad17dfd31a2b97b3e610a0ea0889f5ecb2a63b97)
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A flaw was found in the way rpm generating arbitrary tags, which leads to a
incorrect query result, this issue is introduced by a incompatible endianess
when the generating process is executed on different architectures.
This patch resolves it by taking the byte order that host uses.
(From OE-Core rev: b4b79a78012c64e3a19545972512153b1fe64b4d)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While ELF_C_RDWR_MMAP was used, elf_begin invoked mmap() to map file
into memory. While the file's bss Offset has a large number, elf_update
caculated file size by __elf64_updatenull_wrlock and the size was
enlarged.
In this situation, elf_update invoked ftruncate to enlarge the file,
and memory size (elf->maximum_size) also was incorrectly updated.
There was segment fault in elf_end which invoked munmap with the
length is the enlarged file size, not the mmap's length.
Before the above operations, invoke elf_begin/elf_update/elf_end
with ELF_C_RDWR and ELF_F_LAYOUT set to enlarge the above file, it
could make sure the file is safe for the following elf operations.
[YOCTO #5356]
https://bugzilla.redhat.com/show_bug.cgi?id=1019707https://bugzilla.redhat.com/show_bug.cgi?id=1020842
(From OE-Core rev: 35c8b1ac7c3b1e4209b1e30d1dbd1a457286b97b)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In a recent commit, the FILES expression for rpm accidently moved a
large portion of rpm-build into rpm:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=2e557556e03f4e86795cf331ccf06acd4c373045
Since rpm-build requires perl, this caused a number of build failures
when the rpm-build package was attempted to be used since it references
/usr/bin/perl. This commit restores the previous contents of the rpm
package.
(From OE-Core rev: a72ca9b8068f71cfed8b7cbe0f08247bd3f0fbe7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modified FILES-paths since nativesdk can't handle hardcoded paths,
Also added *.real binaries to packaging since this is not done when built
as native.
As far as /var having to be hardcoded, I have a hard time seeing someone
modifying bitbake.conf to place localstatedir somewhere else than /var.
If there exists a target/nativesdk portable way of hardcoding FILES,
please let me know, and we'll do it that way.
Cleanup of FEATURES, since it was the same for native & target.
(From OE-Core rev: 39383e9bf1aa5e29d33d8af7f8e690d2238fd14f)
Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some LSB packages appear to have the platform set to '%{_target_platform}'
which is not a valid platform field. This causes a failure of the type:
warning: package lsb-test-core-4.1.15-1.x86_64 is intended for a %{_target_platform} platform
When we detect an invalid platform, fall back and try to construct a new
platform name that may be valid based on the arch and os contents of the
package. (This should only ever be needed by invalid or older RPM packages.)
(From OE-Core rev: 6513fa327aeb7e9fdd313290c205917952eed226)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the #define references to match RPM_VENDOR_OE.
(From OE-Core rev: a84ecc5ad158a7529a904785de25ebfedf5767a7)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that the postinsts of rpm, deb and ipk are all handled in the one
central place, run-postinsts.bb, the rpm-postinsts.bb recipe is actually
obsolete now. Remove this recipe to avoid confusion.
(From OE-Core rev: 308185c215b8dd969d1230e52444ce3c11fc2c57)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This should fix sstate relocation issues with debugedit failing during
do_package on the Yocto Project autobuilder.
(From OE-Core rev: b7c2e01753e4a09388a3282e534bcbd163cd6ef7)
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>
run-postinsts is generic and will handle rpm delayed postinsts just
fine. No need to use another recipe.
(From OE-Core rev: 1195a188f366fbbb04b9379d7ea3c7c02130cc98)
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>
The argument parser in RPM was patched to look for <binary>.real, but since the
wrapper now fakes the right argv[0] rpm wasn't able to parse any options.
(From OE-Core rev: a67b4cfc41819ed77ed2bc4246228e9d006a4317)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable postinst logging by checking the configuration in ${sysconfdir}
/default/postinst.
In this way, the postinst logging is enabled if 'debug-tweaks' is
in IMAGE_FEATURES, and at the same time, we avoid unnecessary rebuild
if IMAGE_FEATURES is changed.
[YOCTO #4262]
(From OE-Core rev: 6f2aa32f10c24c84e581128bb3a976ef071197ac)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was transferred un-intentionally when we split the rpm code,
the base-files then layed down additional files (specificaly /etc/mtab)
in the initramfs image and caused problems for the installer code.
Removing the RDEPENDS will fix the image generation issue and thus
the installer, so we will need to revert a previous patch that attempted
to fix the earlier issue #4229.
[YOCTO #4504]
[YOCTO #4229]
(From OE-Core rev: 6861eb34e903c5ddf491eca04011b2219fe14267)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
They differ at times because one is set from the db_cv_path_mkdir and the other is
found during config time for the host (/usr/bin/mkdir), in the macros we should just
use __mkdir for the __mkdir_p variant.
[YOCTO #4452]
(From OE-Core rev: 2ab642056829aef675f75c05b9ac5bbc43c87cd1)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't add the first line of /etc/rpm/platform to the list of patterns
to match when computing an arch score, use it just for getting
information about the platform (cpu/vendor/os).
[YOCTO #3864]
(From OE-Core rev: 9263a2192ccf8ca513cbf7f2f88473e267e6b945)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This doesn't work when the initscripts package is not installed (e.g.
when using systemd only) and is not even needed.
(From OE-Core rev: 6c972598c6da17fbec7a4582eb593c31f4283275)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipes cannot depend on the value of IMAGE_FEATURES; in this case the
result is do_package task signatures changing every time IMAGE_FEATURES
changes, causing a large number of task re-executions. The
implementation of the log capturing really needs to be changed to
capture these in a different place and possibly not even conditional
upon IMAGE_FEATURES at all, but this will be invasive at this point in
the development cycle. For now, remove the variable dependencies to fix
the immediate problem.
Fixes [YOCTO #4246].
(From OE-Core rev: b4fbe4095de447ef4e426128bafaf8a292fa63e1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If multiple package managers are installed in the image, they will
overwrite each other's run-postinsts script, resulting in postinstalls
not beeing run at all at first boot.
What this patch does:
* checks whether opkg/dpks/rpm is actually used to install
the packages and, only after, creates the run-postinsts script;
* brings dpkg recipe in sync with opkg: moves the script creation from
do_install to postinstall;
* move creation of run-postinsts script (rpm-postinsts recipe) to the
postinstall scriptlet in order to better control the creation of the
script according to the package manager used;
[YOCTO #4231]
[YOCTO #4179]
(From OE-Core rev: d7fd56df0a4954954d6d0764ae06beb869e6b99a)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* If /etc/rpm-postinsts doesn't exist, don't error
* If deleting the script errors, don't bother printing it (this will
always happen if the root filesystem is read-only)
(From OE-Core rev: f787b8302ed61bdaf1767473b856f31fe5bba28e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Not only was the variable reference in this line broken, but it wasn't
going to work anyway - we install the script directly into /etc/rcS.d
and not into /etc/init.d, so the code in update-rc.d.bbclass couldn't
find anything there. This resulted in a postinstall script for
rpm-postinsts being created in /etc/rpm-postinsts which can't work when
the root filesystem is read-only. To simplify things just remove the use
of update-rc.d.bbclass since we don't really need the added complexity
here.
Fixes [YOCTO #4222].
(From OE-Core rev: d196d08acafe599c16a7ac8e04121039b1216ba6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch allows for the run-postinsts script to be provided outside
of the rpm package itself and not pull in all the associated build
dependencies.
[YOCTO 4175]
(From OE-Core rev: 7841ee7041d04f11a3d879fb5bc60bb37de0a5c0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If package-management isn't in IMAGE_FEATURES, the postinstall handler
wasn't being installed. rpm needs to depend on this to ensure it does
get installed.
[YOCTO #4160]
(From OE-Core rev: 0c2778c36f521d019ab6ff0c458a1e117808d2e5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Split out run-postinsts script into separated package, sometimes only the
postinsts script is required to run all postinsts scripts in /etc/rpm-postinsts/
instead of the whole rpm package.
2. Set ROOTFS_PKGMANAGE_BOOTSTRAP to rpm-postinsts
(From OE-Core rev: 056490ddbfdbb6cc6fa0d8ff8716d64819d6b16c)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ YOCTO #4089 ]
When constructing a new buildid, the items being hashed need to be
returned to their native endian. In the process we were munging
the sh_type field that we relied on to determine if a section was
loadable or not. The patch avoids this behavior by only modifying
a copy of the local endian data.
(From OE-Core rev: ac4d2d44c88cace8dbce0c8e7df3fd1f2ed244b4)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[ YOCTO #4089 ]
On PPC and MIPS, there appears to be a condition that causes
debugedit to segfault. The segfault is related to a call into
the md5hash algorithm, an address of '0', and a size > 0 is passed
causing the access of the address to segv.
This workaround may prove to be the final fix, but it's currently
unclear what the actual cause of the 0 address is.
(From OE-Core rev: a046029eb96cd9307253937ceeadafaaa6d06dce)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to run autogen.sh in the correct directory (${S}).
(From OE-Core rev: f352f9f25695635bbaad09774f02e66684971fc0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix out of tree builds by removing assumptions about cwd and using
full paths to files in ${S}.
(From OE-Core rev: 6c2d3ced1af4e7ebc63e9a9ac9353d565d1568bf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When image feature "debug-tweaks" is enabled, save output of post
install script to log file which can be configured when image first
boot.
[YOCTO #3223]
(From OE-Core rev: 94a58c153958002b117fcb5eeaef3d22be71a0f6)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move run-postinsts scripts from rootfs_rpm.bbclass to rpm recipe. That
is the same way for dpkg and opkg to deal the post install scripts.
(From OE-Core rev: 04607b0cd496837f10ef78cf43597ec1d2e13f2e)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since /var/cache is not in volatiles anymore, this entry has to go.
(From OE-Core rev: ed31c6442309eb2816e96d8565b52cf7cc28c803)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't want the perl module dependencies being added to each package
by rpmdeps because it causes too many problems when the modules aren't
available at install time (since they get added in do_package which is
too late for the build system to ensure they are available), and it
appears that the perl dependency gathering isn't working reliably in any
case judging by how they are detected on some build hosts and not
others.
This was being disabled previously but it seems like the macros moved
to a different file at some point and nobody noticed; thus make sure we
disable the macros in all RPM macro files.
Should fix [YOCTO #3699].
(From OE-Core rev: e43a72af9055b76eb2ad7e2e42e6a5f3c8854efa)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the following warning:
WARNING: QA Issue: rpm: Files/directories were installed but not shipped
/usr/lib64/rpm/bin/api-sanity-checker.pl
(From OE-Core rev: 625c93784940c0dcda4570258acf2183af7ec5f8)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed so rpm compiles with the latest update of bison
(2.7), otherwise compilations ends with a "function already declared"
error.
(From OE-Core rev: 6563a2a5ff7626177ea2cc68eda96e0caf2d320f)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix runtime-relocation issues with the RPM and Smart wrappers.
In addition the patches were necessary to fix related problems.
The changes to the includes three categories of issues:
*) Incorrect pathname evaluations
*) Incorrect evaluation of the /etc/rpm/platform file contents
*) Confusing vendor #define checks
Finally, a simple way to debug the platformScore was added as
that is necessary to debug how this works and into the smart system.
(From OE-Core rev: 355a621caca66ed393d36fff6be8918921cf45ae)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On ARM systems the platform matching code could fail in some cases, as
the system macros file could override the 'platform' file settings.
(From OE-Core rev: e5f557b3bdaa5bbd632b50824d8f85d2d2aeb221)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When RPM is setup to dynamically reconfigure itself at runtime, we need
to avoid hard coded settings for _usrlibrpm and _etcrpm.
(From OE-Core rev: 66573093c44aabbba96d82de9375158e4a4c6f32)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This item is only useful when the various development components are
installed.
(From OE-Core rev: 54247297816e1d8f97667e662bf00d8fefceb6aa)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want this enabled especially for the native case.
(From OE-Core rev: e3c48c11dbe98958c7564f3fc6dbab36d7037973)
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>
We add a number of additional RPMSENSE values to the python module to better
support the dependency calculations in SMART.
(From OE-Core rev: 431352d063b353ee0e0eaa5bfe24450962d71d6b)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If python support is enabled we want to make sure that the RPM python support
is packaged properly.
Move the components into the site-packages directory, move the .la files to a
new -dev package.
Add "rpm" as a dependency of python-rpm, otherwise rpm and the associated
libraries won't be available.
Fixup python wrapper to handle automatic relocation, as supported by the
vendor WINDRIVER configuration. (Based on a patch from Paul Eggleton)
(From OE-Core rev: cd0473a145cec51be736b6141b0b18a82b64d483)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
(From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2)
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>
We were mistakenly writing what was meant to go to stderr into the
output file, so when the "Multiple matches" error showed we weren't
actually seeing the matches printed.
Also change the wording of the "Unable to find package..." to "Unable
to resolve package..." instead so that it makes more sense if it is
printed after the "Multiple matches" error.
(From OE-Core rev: c26542eb4e8707b9639ec309a44809a728839db8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In certain cases with BerkleyDB 5.3.x we are getting the error:
db3.c:1443: dbcursor->pget(-30999): BDB0063 DB_BUFFER_SMALL: User memory too small fo
See https://bugs.launchpad.net/rpm/+bug/934420 for more information.
It appears to be some type of a bug in the BerkleyDB 5.3.x. In an attempt
to workaround the problem, when we encounter this situation we attempt
to adjust the size of the mmap buffer until the call works, or we
end up trying 10 times. The new size is either the updated vp->size
from the failed pget call, or the previous size + 1024.
If DBI debugging is enabled, additional diagnostics are printed, otherwise
a basic retry and success message is added to show that the failure was
resolved.
(From OE-Core rev: bfb2906206158748d0be33baf7984cf885756da1)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the optimzation append from recipe and add the patch that is in the rpm
cvs repo, http://www.mail-archive.com/rpm-cvs@rpm5.org/msg08907.html. The -O2
optimzation append is removed since it can limit debugging options that are
provided when -O0 is used.
This was tested by setting: SELECTED_OPTIMIZATION = "-O0"
(From OE-Core rev: d109c6bd163469d6281d20174e4b79cb63483cd4)
Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is an issue that is caused when doing the install step of rpm on systems
with high parallelization where two jobs of make will fight for the same file
while installing the sub-directory lua. This is caused by the same makefile rule
being called twice in a way that both could be trying to install at the same
time.
This fix renames the linking rule so it will always be run after the needed
files are added and removed it's dependency so the required rule would only
run once.
This was tested heavily using ppss to run mutliple installs in parallel. This
wouldn't happen in practise but it was tested will all the individual rules as
well.
(From OE-Core rev: d05c5da6b972db97d3eb66b659f5641368c9ebe4)
Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When attempting to build with uuid and all tests compiling will error because
uuid.h doesn't exist in the rpm tarball. Fix this by changing the include to
use the one in ossp which solves the issue.
The recipe already depends on ossp so ossp/uuid.h will be there when rpm-native
is built.
(From OE-Core rev: 52ae2c2439bcb78323f61a3666e9b630b3a40b15)
Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This solves a problem when installing rpm using the ipk pkg-management
system where /var/cache was conflicting with the existing /var/cache from
base-files.
(From OE-Core rev: 917f57cbb0906996661eebc6656c2c083ef979e9)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The rpm should depend on bison-native, otherwise errors when "bitbake
rpm-native" in a fresh build:
| make[4]: Entering directory `/path/to/rpm-native-5.4.9-r46/rpm-5.4.9/syck/lib'
| bison -d -t -v -p syck -o gram.c gram.y
| make[4]: bison: Command not found
Basically, both the rpm-native and rpm should depend on bison-native,
but don't need depend on bison, but it seems that it isn't necessary
to add another depend line:
DEPENDS_virtclass-native = "libpcre-native ... bison-native"
So just add it to the DEPENDS.
[YOCTO #3123]
(From OE-Core rev: 839faed2e7ef554668f647732c7ee1c8d339c123)
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>
Rename rpmresolve's -d option to -t and make -d enable debug output;
add a -o option to specify the output file (so rpm debug output doesn't
go to the output file) and also add a little more detail to some of the
error messages.
(From OE-Core rev: 163dd734d79fd7040b48b10bca6fde28460ac20c)
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>
We need to call rpmcliInit to ensure the rpm relocation code is called
and it correctly honours the relocation environmental variables.
We can drop the ReadConfigFiles call since the cliInit does this for us.
(From OE-Core rev: eb17fdc1461953382360635480f12357eac4dc43)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes sstate relocation due to the path to /etc/rpm being baked into the
libraries - this manifested in the form of the following assertion at
runtime:
rpmresolve: dbconfig.c:493: db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed.
Fixes [YOCTO #2936].
(From OE-Core rev: 44c2fb7ea0228dd749129d334c76a1bd2983e585)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
Improve the performance of the RPM backend during do_rootfs by
performing most of the package name to file resolution in a separate
utility written in C, processing the entire list of packages at once
rather than running rpm on the command line which loads the RPM database
for every package.
(From OE-Core rev: 9135d351ba7cb21e50239d2b310565680bd4fdca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>