Age | Commit message (Collapse) | Author | Files |
|
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>
|
|
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.
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]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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.
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].
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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
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>
|
|
neon requires expat to be built first
lua similarly requires expat if enabled
selinux package name should be "libselinux" (from meta-selinux).
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
These need to appear in DT_NEEDED for librpmio.so
for uclibc somehow it does not get added to link
cmdline so we do it explicitly.
Signed-off-by: Khem Raj <raj.khem@gmail.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>
|
|
This module is needed by python scripts from createrepo native package.
[YOCTO #2134]
RP: Add missing DEPENDS on python-native
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|
|
rpm links to libmagic from file so it needs to be listed in DEPENDS else we
can have race conditions causing build failures such as those seen on the
autobuilder recently.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
WARNING: QA Issue: non -staticdev package contains static .a library: python-rpm path '/work/i586-poky-linux/rpm-5.4.0-r34/packages-split/python-rpm/usr/lib/python2.7/rpm/_rpmmodule.a'
Signed-off-by: Saul Wold <sgw@linux.intel.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>
|
|
* Create libbz2 (and -dev, -staticdev), which can be
installed without the bzip2 executables.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This addresses the warning:
WARNING: rpm: No generic license file exists for: LGPL in any provider
WARNING: rpm: No generic license file exists for: 2.1 in any provider
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.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>
|
|
RPM's configuration assumes if the prefix isn't /usr or /usr/local
that you really want the DB in $prefix/var -- we want it in
$localstatedir.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
This fixes the following issue:
Log data follows:
| NOTE: Creating RPM package for perf-dbg
| NOTE: Creating RPM package for perf
| NOTE: Creating EMPTY RPM Package for kernel
| NOTE: Creating EMPTY RPM Package for kernel-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-image-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-dev
| NOTE: Creating RPM package for kernel-vmlinux
| NOTE: Not creating empty RPM package for kernel-misc
| NOTE: Creating RPM package for kernel-devicetree
| NOTE: Creating RPM package for kernel-module-libcrc32c
| NOTE: Creating RPM package for kernel-module-crc-itu-t
| NOTE: Creating RPM package for kernel-module-sctp
| NOTE: Creating RPM package for kernel-module-pcbc
| NOTE: Creating RPM package for kernel-module-crc32c
| NOTE: Creating RPM package for kernel-module-binfmt-misc
| NOTE: Creating RPM package for kernel-module-nfsd
| NOTE: Creating RPM package for kernel-module-exportfs
| NOTE: Creating RPM package for kernel-module-msdos
| NOTE: Creating RPM package for kernel-module-nls-utf8
| NOTE: Creating RPM package for kernel-module-udf
| NOTE: Creating RPM package for kernel-module-isofs
| NOTE: Creating RPM package for kernel-module-usbhid
| NOTE: Creating RPM package for kernel-module-scsi-wait-scan
| NOTE: Creating EMPTY RPM Package for kernel-modules
| /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/sysroots/x86_64-linux/usr/bin/rpmbuild.real: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
| ERROR: Function 'BUILDSPEC' failed (see /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/work/p4080ds-fsl-linux/linux-qoriq-sdk-3.0.6-r2/temp/log.do_package_write_rpm.18943 for further information)
Signed-off-by: Matthew McClintock <msm@freescale.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>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
rpm-native was reading from /usr/share/misc/magic which is wrong
it needs to be set to read from the sysroot. This also adds wrappers
to the rpm-build tools to ensure they know were to find the macros that
point to the right directories.
Fixes [YOCTO #1532]
Signed-off-by: Saul Wold <sgw@linux.intel.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>
|
|
In certain combinations of build/host/target, they can end up
inadvertently prefixed, breaking the assumptions in the recipe.
Signed-off-by: Chris Larson <chris_larson@mentor.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>
|
|
rpm default will use /usr/lib if the --with-path-lib is not specified.
this will not work in non /usr/lib libdir case.
so this patch add the --with-path-lib to fix this issue.
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|