Age | Commit message (Collapse) | Author |
|
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).
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.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
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.
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.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.
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The following patches are found, but not used by any recipe, so we should
remove them.
meta/recipes-connectivity/avahi/files/fix_for_automake_1.11.2.patch
meta/recipes-connectivity/dhcp/dhcp/fix-client-path.patch
meta/recipes-connectivity/libnss-mdns/files/alignment-fix.patch
meta/recipes-core/dbus/dbus-1.6.10/test-run-path.patch
meta/recipes-core/gettext/gettext-0.16.1/fixchicken.patch
meta/recipes-core/gettext/gettext-0.16.1/getline.m4.patch
meta/recipes-core/systemd/systemd/use-rootlibdir.patch
meta/recipes-core/util-linux/util-linux/remove-lscpu.patch
meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch
meta/recipes-core/util-linux/util-linux/uclibc-compile.patch
meta/recipes-devtools/autoconf/autoconf/autoconf-x.patch
meta/recipes-devtools/btrfs-tools/btrfs-tools/btrfs-progs-fix-parallel-build.patch
meta/recipes-devtools/btrfs-tools/btrfs-tools/btrfs-progs-fix-parallel-build2.patch
meta/recipes-devtools/cdrtools/cdrtools-native/no_usr_src.patch
meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-robustify.patch
meta/recipes-devtools/gdb/gdb/libiberty-cross.patch
meta/recipes-devtools/perl/perl-5.14.3/asm-pageh-fix.patch
meta/recipes-devtools/python/python-native/sys_platform_is_now_always_linux2.patch
meta/recipes-devtools/python/python-pygobject/generate-constants.patch
meta/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch
meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
meta/recipes-devtools/qemu/files/init-info.patch
meta/recipes-devtools/rpm/rpm/rpm_fix_for_automake-1.12.patch
meta/recipes-devtools/tcf-agent/tcf-agent/fix_tcf-agent.init.patch
meta/recipes-extended/iputils/files/arping-break-libsysfs-dependency.patch
meta/recipes-extended/libarchive/libarchive/0003-Patch-from-upstream-rev-2516.patch
meta/recipes-extended/procps/procps-3.2.8/pagesz-not-constant.patch
meta/recipes-gnome/gtk+/gtk+-2.24.22/no-demos.patch
meta/recipes-gnome/libglade/libglade-2.6.4/no-deprecation.patch
meta/recipes-graphics/mesa/mesa/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.3_fix_for_x32.patch
meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch
meta/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch
meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch
meta/recipes-support/gnutls/gnutls/gnutls-texinfo-euro.patch
meta/recipes-support/nspr/nspr/fix-build-on-aarch64.patch
[YOCTO #5180]
Signed-off-by: Chong Lu <Chong.Lu@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=1019707
https://bugzilla.redhat.com/show_bug.cgi?id=1020842
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Change the #define references to match RPM_VENDOR_OE.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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]
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
[ 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.
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #3753]
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.
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
On ARM systems the platform matching code could fail in some cases, as
the system macros file could override the 'platform' file settings.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
When RPM is setup to dynamically reconfigure itself at runtime, we need
to avoid hard coded settings for _usrlibrpm and _etcrpm.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
We add a number of additional RPMSENSE values to the python module to better
support the dependency calculations in SMART.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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.
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"
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.
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.
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>
|
|
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
| dbconvert.o: In function `rpmdb_convert':
| /local/jenkins/jobs/yocto-upstream/workspace/label/master/machine/p4080ds/poky/master/tmp/work/x86_64-linux/rpm-native-5.4.9-r45/rpm-5.4.9/tools/dbconvert.c:126: warning: the use of `tempnam' is dangerous, better use `mkstemp'
| dbconvert.o: In function `main':
| dbconvert.c:(.text+0x923): undefined reference to `htobe32'
| dbconvert.c:(.text+0xaa4): undefined reference to `htole32'
| dbconvert.c:(.text+0xac9): undefined reference to `htole32'
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
-fstack-protector needs libssp to link with
so when checking for this option support we
need to find if libssp is staged in root file
system
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
rpmatch is not there in uclibc therefore add logic to configure
to detect it.
x* wrappers need to be defined for uclibc as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Force pkg-config to only look in the install directory, and not be
able to fall back to system pkg-config directories for resolution.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add functionality to RPM to directly query the packageorigin (path) from
the resolver database, instead of having to do this via an indirect method.
This results in a minor performance improvement.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
RPM 5.4.9 now strongly encourages you to have the ossp-uuid library available.
Add this recipe, and change RPM to use the uuid functionality.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Beside upreving RPM, add necessary integration patches to libzypp.
Also change the configuration of RPM to support PACKAGECONFIG flags.
RPM is highly configurable, the default configuration is good for
minimal OE-Core use.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
RPM 5.4.8 requires db 5.3.x, so both are upgraded together.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbay
Then the diffutils.i586 would be installed to the crownbay's image, this
is because diffutils.i586 is newer than diffutils.core2, and rpm doesn't
respect to the arch priorities:
We have put the archs in order in _solve_dbpath:
crownbay/solvedb:core2/solvedb:i586/solvedb:all/solvedb
Fix rpm to respect to the order, for example, if it finds a pkg in both
core2/ and i586/, and the core2/ comes first, it should not use the one
in i586/ even if it's build time is newer.
Note: Don't worry about the _free(*ptr), it can check whether ptr is
NULL or not.
This is for the denzil branch, and the master branch also needs it.
[YOCTO #2360]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
|
In lib/rpmts.c we need to make sure to look for missing dependencies,
such as /bin/sh, in both the providename and filepaths DB. Previously
the system would key off an initial '/' and only look in the filepaths DB.
This causes problems when a package such as "bash", has a Provides: /bin/sh.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is a performance enhancement by adding a binary allowing batch processing
of individual file dependencies. The second patch in this series uses the binary
this patch creates.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
automake version 1.11.2 has made use of dir variables more strict.
the use of pkglibdir with SCRIPTS & DATA vars results in automake
errors.
This commits uses pkgdatadir & pkgbindir vars instead of pkglibdir
to avoid the strict check errors.
This change also works with automake-1.11.1
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
Tune the __db* size in DB_CONFIG.
This will reduce the __db* size from 62MB to 26MB in qemu.
[YOCTO #1769]
Signed-off-by: Mei Lei <lei.mei@intel.com>
|
|
Fixes [YOCTO #1174]
Rpm logs will grow indefinitely, so change the config to flush those old logs.
Signed-off-by: Mei Lei <lei.mei@intel.com>
|
|
[YOCTO #1755]
We change the want the RPM rootfs install works to install pre and post install
scripts. The new method uses a script helper that is invoked by RPM outside
of the normal chroot.
The wrapper is dynamically generated prior to the install starting. It will
check the return code of the script. If the script fails, it will store a copy
to be executed on the first system boot. This is similar to the previous
mechanism.
In addition, a line of debug was added to the scripts as written by package_rpm
to list which package and which script for later debugging, if necessary.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Previously python dependencies were of the format "python(abi) = ..."
This format is not yet supportable within OE, so revert to a form
we know we can handle.
Introduce a change to package.bbclass that ensures it will causes the
sstate-cache's "package" to invalidate. Since pythondeps changed, the
output of rpmdeps changes, which causes the per-file dependency
information to change.... thus we need to invalidate the cache!
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
[YOCTO #1352]
Fix the canonical arch --target processor to work with the way OE
handles the GNU canonical arch.
Also cleanup a number of files that are no longer used, and refactor
the no-loop patch into the "no-loopmsg" patch.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
We need to include file class and file color in order to do the conflict
resolution required with a multilib design. This is normally disabled when
we don't use the internal dependency generator, patch enables it in
all cases.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
[YOCTO #1030]
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|