summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm
Commit message (Collapse)AuthorAgeFilesLines
* rpm: support customizing gpg command lineMarkus Lehtonen2017-03-142-0/+44
| | | | | | | | | | | | | | Add a new %_gpg_sign_cmd_extra_args macro that allows customizing the gpg options used when signing rpm packages. This is needed to be able to sign packages with gpg 2.1 which requires "--pinentry-mode loopback" to allow non-interactive signing. [YOCTO #11054] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit 373a7146d596d27376a003014df0d06f3df5348d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: fix file location of rpm2cpio.realChen Qi2016-11-161-1/+1
| | | | | | | | | | | | rpm2cpio is in ${PN}-common, but rpm2cpio.real is in ${PN}. This seperation is really weird. Put them both in ${PN}-common. (From OE-Core rev: 8a0af7e4ae8ba8ce0c7fd2a9f6ab7cc070f47af0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
* rpm: prevent race in tempdir creationMarkus Lehtonen2016-10-153-24/+44
| | | | | | | | | | | This patch fixes an extramely rare race condition in creation of rpmdb temporary directory. The "rpmdb-more-verbose-error-logging" patch is still left in place, just for the case. [YOCTO #9416] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: remove redundant removalsRoss Burton2016-09-131-36/+0
| | | | | | | These were noticed by the use of bashisms (rm *.{foo,bar}) and lots of these rm commands are deleting files which don't exist in the first place. Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: manually cleanup sysckJérémy Rosen2016-09-131-1/+1
| | | | | | | | | | | | | | version 5.4.1 of rpm was not properly distclean before release, which causes problems when cross-compiling. The previous version this recipe called make distclean, but that would trigger a call to ./configure which would fail when no gcc is available and make the whole do_configure fail further down the line This patch manually removes the files from the recipe. Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: ensure rpm2cpio call rpm relocation codeZhixiong Chi2016-09-062-0/+26
| | | | | | | | | | | | | | | | | We need to call rpmcliInit to ensure the rpm relocation code is called. when we allow rpm2cpio to be relocatable, The adjusted path used to find the macro files was being built into the binary and this path was valid for the machine it was built on and some of our other build machines, but invalid on some others, and was not being properly overridden at runtime. when we export the wrsdk and source the sdk, then execute rpm2cpio xxx.rpm|cpio -t. we will get the following error : "rpm-5.4.14/rpmdb/dbconfig.c:493: db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed. Signed-off-by: Zhixiong Chi <Zhixiong.Chi@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Use PYTHON_SITEPACKAGES_DIR insted of hard-coded *site-packages*Ming Liu2016-08-171-9/+9
| | | | | | | | | For thoese recipes that are inheriting python*-dir.bbclass, there is already a PYTHON_SITEPACKAGES_DIR present, use that definition replacing redundant "${libdir}/python*/site-packages". Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* meta: add more missing patch tagsRoss Burton2016-08-041-2/+1
| | | | Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: make --nosignature workRobert Yang2016-07-252-0/+65
| | | | | | | | | | | | | | | | | | | | OE-core uses rpm's --nosignature, but it never worked: self._invoke_smart('config --set rpm-check-signatures=false') Now fix it with: * Define SUPPORT_NOSIGNATURES to 1 in system.h * !QVA_ISSET(qva->qva_flags, SIGNATURE) -> QVA_ISSET(qva->qva_flags, SIGNATURE), otherwise, when use --nosignature would read database and verify signature, this is not expected. This can fix some race issues, for example, when more than one process are querying rpm file with "rpm -qp --nosignature", they may hang up because of race issues (the processes are trying to get RW/RD lock on the database, but they shouldn't read the database at all since -qp and --nosignature are used). Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: remove CVS-based recipeRoss Burton2016-07-201-730/+0
| | | | | | | | This recipe doesn't really get used or maintained, and as the sole recipe in oe-core that uses the CVS fetcher it's removal means we don't need to list CVS as a host dependency. Signed-off-by: Ross Burton <ross.burton@intel.com>
* default-versions.inc: drop python-related defaultsAlexander Kanavin2016-05-302-2/+2
| | | | | | | | | | There is only one version of python 2.x provided, so no need to set a preferred version. PYTHON_BASEVERSION is now set explicitly in python-dir.bbclass and python3-dir.bbclass, so fix up a few recipes that relied on it being set in default-versions.inc without inheriting python-dir. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
* rpm: Fix build with gcc6Khem Raj2016-05-132-1/+56
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: explicitly disable tomcryptAndreas Oberritter2016-04-291-0/+1
| | | | | | | | | | | | | | Configure autodetects libtomcrypt, but then it adds libtommath to $LIBS and fails to link subsequent tests if it's unavailable. | checking for pcre.h... yes | checking for pcre_compile in -lpcre... no | checking whether to build with PCRE library... no | ++ executing failure action | configure: error: unable to find usable PCRE library Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: Disable __sync_add_and_fetch_8 on nios2Marek Vasut2016-04-183-0/+32
| | | | | | | | | | | | | The NIOS2 softcore does not implement the __sync_add_and_fetch_8, so disable it accordingly. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <lftan@altera.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: more verbose errors in rpmTempFileMarkus Lehtonen2016-04-142-0/+54
| | | | | | | | | | | This patch adds better error logging inside the rpm tempfile function in order to be able to better analyze a rare and very hard-to-reproduce failure in oe-selftest for rpm signing. [YOCTO #9416] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: brace expansion is a bashismRoss Burton2016-04-082-10/+8
| | | | | | | | | | The constuct rm *.{a,la} is a bashism and as tasks are run under /bin/sh this may not work as expected. Expand the {a,la} to two separate calls, and remove the architecture-specific macro deletion as they are not installed in the first place anymore. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: remove two unused patchRobert Yang2016-04-062-154/+0
| | | | | | | | | They are already in the source: rpm-CVE-2013-6435.patch rpm-CVE-2014-8118.patch Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: check _gpg_passphrase before ask for inputRobert Yang2016-03-232-0/+71
| | | | | | | | | | rpm always asked for pass phrasae when add signature, which made it can't work non-interactively, this patch fix the problem. It will work non-interactively if _gpg_passphrase is defined, and work as before if not. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: remove RPM 4Joshua Lock2016-03-2010-875/+0
| | | | | | | | RPM4 support is buggy and incomplete. As we don't have the resources or interest to maintain it this patch removes it. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: fix error when 'lua' is enabledChen Qi2016-03-202-0/+45
| | | | | | | | | | | | Fix the following compilation error when 'lua' is enabled in PACKAGECONFIG. | gcc: error: lib21.c: No such file or directory | gcc: fatal error: no input files Modify FILES for dev package to avoid installed-not-shipped error. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: Sync CVS to regular versionMark Hatle2016-03-101-0/+8
| | | | | | | A previous fix for a python dep issue was not merged to the CVS version. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Fix musl integration with RPM5Mark Hatle2016-03-104-55/+267
| | | | | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpmresolve: It is not necessary to manually specify -lpoptMark Hatle2016-03-091-1/+1
| | | | | | | Popt may be internal or external to rpm. Either way the rpm libraries will link properly with or without -lpopt. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* rpm: A number of the patches have been submitted upstreamMark Hatle2016-03-0935-36/+36
| | | | | | Note the upstream submission in the patches. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* rpm: Enable specific crypto and digest settings via variablesMark Hatle2016-03-092-10/+152
| | | | | | | | | | | | | | | Allow the user to set the specific digest and non-repudiable signature algorithms. This should be done on a distribution wide basis. See recipe for exact instructions, but values are now set using: RPM_FILE_DIGEST_ALGO (default 1 - md5) RPM_SELF_SIGN_ALGO (default DSA) Also, change the PACKAGECONFIG to define the default crypto engine for RPM5. Not just the available crypto engines. If a crypto engine is not selected, the system will default to the internal beecrypt version. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* rpm: Uprev to rpm-5.4.16 (pre) and rpm-5.4+cvs to current CVS headMark Hatle2016-03-0937-528/+2215
| | | | | | | | | | | | | | | | | | | meta/lib/oe/package_manager.py was also updated. This ensures that any diagnostic messages are ignored from the output of rpmresolve. The patches have been split into bug fixes (things that belong upstream) and local changes that are OE specific. The following patches are obsolete and have been removed: rpm-remove-sykcparse-decl.patch fstack-protector-configure-check.patch rpm-disable-Wno-override-init.patch rpm-lua-fix-print.patch rpm-rpmpgp-fix.patch verify-fix-broken-logic-for-ghost-avoidance-Mark-Hat.patch Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* rpm: fix building rpm 5 with internal beecryptJoshua Lock2016-02-222-2/+2
| | | | | | | | | | | RPM 5 cannot be built without beecrypt, therefore the EXTRA_OECONF arguments to pass when the beecrypt PACKAGECONFIG is disabled should enable the internal/bundled beecrypt. [YOCTO #9150] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Fix build with muslKhem Raj2016-02-152-1/+166
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "xz: Allow to work with ASSUME_PROVIDED xz-native"Richard Purdie2016-01-251-3/+0
| | | | | | | | | This reverts commit 5c69c561a76cb10d7896ae0a0399190f11b2e0ca. The change was incomplete, not handling cases such as the fetcher using xz, or linux-yocto, dpkg or apt or the lzma image type. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* xz: Allow to work with ASSUME_PROVIDED xz-nativeRichard Purdie2016-01-231-0/+3
| | | | | | | | At some point we may want to add xz-native to ASSUME_PROVIDED. This allows that to work whilst still allowing access to liblzma for those things which need it (e.g. pixz). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: remove bashisms: [ x == x ] -> [ x = x ]Olof Johansson2016-01-191-3/+2
| | | | | | | | | | | | | The postinst and postrm of rpm contained a bashism, that could in some situations potentially cause ldconfig not be triggered when it should be. If you use dash on host, test would fail because of syntax errors. But on host, it should fail because of the comparison. On target, you often use busybox ash, and it supports == as an alias for =. So in practice, only if you use a shell like dash on target, you'll run into issues with this. Signed-off-by: Olof Johansson <olofjn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add "CVE:" tag to current patches in OE-coreMariano Lopez2016-01-112-0/+2
| | | | | | | | | | | The currnet patches in OE-core doesn't have the "CVE:" tag, now part of the policy of the patches. This is patch add this tag to several patches. There might be patches that I miss; the tag can be added in the future. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpmresolve.c: Fix unfreed pointers that keep DB openedMariano Lopez2016-01-111-4/+6
| | | | | | | | | | | | | | There are some unfreed rpmmi pointers in printDepList() function; this happens when the package have null as the requirement. This patch fixes these unfreed pointers and add small changes to keep consistency with some variables. [YOCTO #8028] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: Generate per distribution and multilib macro filesMark Hatle2015-12-271-0/+81
| | | | | | | | | | The distribution and multilib macro files are required for rpmbuild, on the target, to work properly. These override the default settings from the upstream macro files with the proper values for the OE configuration. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: Fix support for db5 and db6Yuanjie Huang2015-12-221-40/+55
| | | | | | | | | | | The previous attempt to let rpm configuration support both db5 and db6 has a flaw that when the building host provides db6 without its header the db_create test will false pass. This new patch addresses this issue by test against the DB_VERSION_MAJOR macro value, which is defined in both db5 and db6's header. Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* meta: more removals of redunant FILES_${PN}-dbgRoss Burton2015-12-161-1/+1
| | | | | | | In some recipes overly-split -dbg packages were merged into PN-dbg. Unless there's a very good reason, recipes should have a single -dev and -dbg package. Signed-off-by: Ross Burton <ross.burton@intel.com>
* meta: Drop now pointless manual -dbg packagingRichard Purdie2015-12-163-15/+0
| | | | | | | With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: fix file conflicts for MIPS64 N32Robert Yang2015-12-122-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | The following error can occur: smart install libc6-2.22-r0.1@lib32_mips32r2octeon3 libc6-dbg-2.22-r0.1@lib32_mips32r2octeon3 error: file /sbin/ldconfig conflicts between attempted installs of libc6-2.22-r0.1.lib32_mips32r2octeon3 and libc6-2.22-r0.1.octeon3_n32 error: file /sbin/.debug/ldconfig conflicts between attempted installs of libc6-dbg-2.22-r0.1.lib32_mips32r2octeon3 and libc6-dbg-2.22-r0.1.octeon3_n32 This was because: transactions_color = 001 (ELF32) & 010 (ELF64) & 100 (ELF32 N32 MIPS64) FColor = Current file color (001) & transaction_color (111) oFcolor = Previous file color (100) & transaction_color (111) There are two places where the conflict comparisons occur. In both places the 'else' clause was too restrictive (opposite of the 'positive' clause). This caused the system to only permit a binary comparison - "new preferred" or "old preferred". It did not permissing "neither preferred". By removing the else comparison the system will now perform a 'last-in-wins' resolution when "neither is preferred". Note, if _transaction_color is 3, MIPS64 N32 will be skipped (pretend as installed). Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: Enable MIPS64 N32 transactionsMark Hatle2015-12-121-0/+3
| | | | | | | | | | | | In a multilib install RPM will break a conflict using the transaction color. However, by default MIPS64 N32 transactions are not enabled. This change always enables them. This is effectively a no-op on non-MIPS systems, and required if we need to support N32 on MIPS. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* package_regex.inc: split the rest of the entries to their recipesAlexander Kanavin2015-12-081-0/+2
| | | | | Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: fix for N32 MIPS64Robert Yang2015-12-013-0/+36
| | | | | | | | | | | | 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. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: define EM_AARCH64 for debugeditRoy Li2015-11-162-0/+36
| | | | | | | | | | | | | | 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 Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: add explicit dependency on file-replacement-native for native buildsRoss Burton2015-10-243-0/+3
|
* rpm: remove spurious build dependenciesRoss Burton2015-10-211-1/+1
| | | | | | | | 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. Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: fix return without value in patchRoss Burton2015-10-071-1/+1
| | | | | | | | 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. Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: search for gpg if gpg2 is not foundMarkus Lehtonen2015-09-282-0/+30
| | | | | | | | | | | | | | | | | | | | | 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] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* meta: Fix Upstream-Status statementsRoss Burton2015-09-125-5/+5
| | | | | | | | Fix a variety of problems such as typos, bad punctuations, or incorrect Upstream-Status values. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* upstream_tracking.inc: deprecate and move contents to recipesAlexander Kanavin2015-08-311-0/+2
| | | | | | | | No-update reasons and manual version checks should be in the recipes themselves because otherwise they're prone to getting out of date. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: opendb before rpmverifyscript to avoid null point inputZhixiong Chi2015-08-192-0/+25
| | | | | | | | | | | | | | | | | 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 Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm4: Drop native RDEPENDSRichard Purdie2015-07-221-1/+1
| | | | | | | | | | | | | 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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>