Commit Graph

275 Commits

Author SHA1 Message Date
Richard Purdie
4e9513b2c3 rpm: Drop CVE exclusion as database fixed to handle
Didn't think this might make it in but it has, we can drop the exclusion.

(From OE-Core rev: 64456aed7514d611a242c210375c01d7f4048de2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-20 12:32:28 +01:00
Ross Burton
b96c342fbd rpm: turn Berkeley DB hard dependency into PACKAGECONFIG
In the future we hope to switch to sqlite instead of Berkeley DB, so
prepare for this by adding an (enabled by default) PACKAGECONFIG for
Berkeley DB.

(From OE-Core rev: 365f0804a0726fe4be9eb7ef3515fea2dd38bef1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Richard Purdie
b77802fb05 rpm: Exclude CVE-2021-20271 from cve-check
This is included in the release we have, it was the reason for the last rpm
point release.

(From OE-Core rev: 117feb358c81b6b852dee24268eac0a1a47c1701)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Mingli Yu
ce9e341775 rpm: Upgrade to 4.16.1.3
Fixes some security vulnerabilities such as CVE-2021-3421 and
CVE-2021-20271.

Rebase 0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
to avoid fuzz warnings.

(From OE-Core rev: 5dcd9c673502dab276b4fb4e6b4c7c1d1d9425ef)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Diego Santa Cruz
ed253541ee rpm: split build and extra functionality into separate packages
Having all the rpm build related tools in the main package requires
adding runtime dependencies on perl and python3-core, so adding
rpm to a target image can pull quite many unneeded packages to satisfy
the dependencies.

This splits all the build related tools into rpm-build and moves the
bash, perl and python3-core runtime dependencies to that package.

Also, the rpmsign tool is split into rpm-sign and rpm2archive (only
built if archive is in PACKAGECONFIG) into rpm-archive. These are
separate packages since they are not really related to building, so
do not belong in rpm-build, but are not necessarily wanted in
target images when rpm is included.

(From OE-Core rev: 0dea6cccc1c638078846e6eb8e48e8ef69c87618)

Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-06 22:39:04 +00:00
Alexander Kanavin
74d0f71173 rpm: update 4.16.0 -> 4.16.1.2
(From OE-Core rev: bf2c7f82f07509424ce25ed5f64a03d7e4723fd1)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-30 14:01:07 +00:00
Ross Burton
7661beb222 rpm: use libgcrypt instead of OpenSSL for cryptography
RPM 4.16 uses libgcrypt by default[1], so change our build to follow.

[1] 5c0801a1a3

(From OE-Core rev: 196855101f28aeb8ab44f5ca1e02bfb02a11a256)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-03 08:21:10 +00:00
Khem Raj
4f9ef652c4 rpm: Fix error.h handing properly on musl
Ignoring configure fragments when error.h does not exist on system
leaves eflutils half configured, which is seen when gold linker is
enabled because librpm does not have proper dependencies added,
therefore add error.h for non-glibc case and include it when glibc is
not used.

(From OE-Core rev: 0b45dc1d611a7c96b528a5c62a2f18a00651d121)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-02 11:35:10 +00:00
Alexander Kanavin
fb55c447ad rpm: adjust MIPS64 N32 support
upstream has switched from libmagic to elfutils to determine
file 'colors', and so this adapts the existing patch accordingly.

(From OE-Core rev: 0d420c8f6a6718b54ef9a1278bfa8fec6709d3bd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 13:22:49 +00:00
Alexander Kanavin
d22a91051e rpm: update 4.15.1 -> 4.16.0
Drop backports.
Drop 0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch as
enabling compression support in libmagic finally allows us to use
parallel file classification.

Add a backported patch that fixes musl builds.

License-Update: formatting
(From OE-Core rev: 36c014428b8088abb024287e9841f72e7368ce5b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 13:22:48 +00:00
Ross Burton
3b545e61db rpm: add PACKAGECONFIG for the systemd inhibit plugin
RPM ships a systemd inhibit plugin, that will tell systemd to inhibit a
reboot or sleep during a package upgrades.

For native RPM this is entirely useless, and for target it's only useful
if you're using systemd+logind+rpm.

This plugin uses DBus which means it depends on expat -> cmake-native ->
libarchive-native curl-native, which is quite a dependency tree to need
in early build (required to build packages via rpm-native).

It was previously forcibly disabled for native packages but the build
dependency on DBus remained.  Add a PACKAGECONFIG for the plugin that is
only enabled for target builds with systemd and explicitly disabled for
native/nativesdk builds, but also keep the explicit disabling of all
plugins as the prioreset plugin also behaves badly inside a build.

(From OE-Core rev: df758ea66fd2f69d591c1fd36b90969796d50bd0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-30 15:01:51 +01:00
Ross Burton
d734975024 rpm: disable libarchive use
libarchive is only needed for the rpm2archive tool, as this is of
limited use and libarchive is a non-trivial build dependency make this
optional and disabled by default.

(From OE-Core rev: 2eaefac2bb0b999e64a445fdadefb639eb7089a0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-30 15:01:51 +01:00
hongxu
92d9cc304d nativesdk-rpm: adjust RPM_CONFIGDIR paths dynamically
While installing/extracting SDK to a non-default dir(not /opt),
run rpm failed:
$ python3 -c "import rpm"
|error: Unable to open /opt/windriver/wrlinux-graphics/20.31/sysroots/
x86_64-wrlinuxsdk-linux/usr/lib/rpm/rpmrc for reading: No such file or
directory.

This patch adds a flexible way to configure RPM_CONFIGDIR in SDK.

(From OE-Core rev: 5f16fd0bf774314c79572daf4ba7e4a8ae209ba1)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-01 19:57:49 +01:00
Chen Qi
76826e21ae rpm: fix nativesdk's default var location
For now, the nativesdk-rpm's %_var in /usr/lib/rpm/macros is
'/var'. This is causing error when running `rpm -qplv A.rpm'.

   error: cannot open Packages index using db5 - Permission denied (13)
   error: cannot open Packages database in /var/lib/rpm

The rpm in SDK should be using its own database. So we should remove
this configure option, letting the SDK's native sysroot prefix to be
there in %_var. In fact, '%_usr' in macros has already got the prefix.
After this change, we have in the macros file lines like below.

"""
%_usr                   /opt/windriver/wrlinux/20.29/sysroots/x86_64-wrlinuxsdk-linux/usr
%_usrsrc                %{_usr}/src
%_var                   /opt/windriver/wrlinux/20.29/sysroots/x86_64-wrlinuxsdk-linux/var
"""

(From OE-Core rev: 13e17930062cb3f816516ba7dbeb70d6da7174dd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-18 11:06:32 +01:00
Hongxu Jia
7adde4fa40 rpm: fix rpm -Kv xxx.rpm failed if signature header is larger than 64KB
Since commits [Place file signatures into the signature header where they
belong][1] applied, run `rpm -Kv **.rpm' failed if signature header
is larger than 64KB. Here are steps:

1) A unsigned rpm package, the size is 227560 bytes
$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
-rw-------. 1 mockbuild 1000 227560 Jun  3 09:59

2) Sign the rpm package
$ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm

3) The size of signed rpm is 312208 bytes
$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
-rw-------. 1 mockbuild 1000 312208 Jun  3 09:48

4) Run `rpm -Kv' failed with signature hdr data out of range
$ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm
xz-src-5.2.5-r0.corei7_64.rpm:
error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of
bytes(88864) out of range

>From 1) and 3), the size of signed rpm package increased
312208 - 227560 = 84648, so the check of dl_max (64KB,65536)
is not enough.

As [1] said:

    This also means the signature header can be MUCH bigger than ever
    before,so bump up the limit (to 64MB, arbitrary something for now)

So [1] missed to multiply by 1024.

[1] f558e88605

(From OE-Core rev: 8359bdd60afafd80d354f7f40ed648643d8db292)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Changqing Li
07083caab6 rpm: fix file conflicts for MIPS64 N32
The following error occurred when prefer_color set to 2:
Error: Transaction check error:
  file /sbin/ldconfig conflicts between attempted installs of
ldconfig-2.31+git0+71f2b249a2-r0.mips64_n32 and
lib32-ldconfig-2.31+git0+71f2b249a2-r0.mips32r2
  file /usr/bin/gencat conflicts between attempted installs of
lib32-libc6-utils-2.31+git0+71f2b249a2-r0.mips32r2
...

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)

when "neither preferred" happened, handled as conflicts. this is too
restrictive for three way conflicts(mips64/mips64 n32/mips(32)).
Fixed by  perform a 'last-in-wins' resolution when "neither is preferred".

refer:
https://github.com/rpm-software-management/rpm/issues/193
https://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/rpm?id=36c225704daa58b98a4b7f2ef315eb944d8628b5

(From OE-Core rev: f94511fe5c163de8fb34d00ff3ba995437c3922c)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-09 18:57:21 +01:00
Alexander Kanavin
365f24bee1 rpm: upgrade to 4.15.1
Drop patches that were merged upstream.

0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
modifies a file that was removed upstream.

Add a 0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
as unfortunately the new parallel file classification feature from
upstream trips over somewhere in libmagic when inspected files are
compressed:
https://github.com/rpm-software-management/rpm/issues/756

(From OE-Core rev: 67257ca87c6fa8e6050a20ecea50daf834c7e869)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-02 09:08:52 +01:00
Alexander Kanavin
0e70fac8fe rpm: fix with musl and latest elfutils.
(From OE-Core rev: 3ce81a8cfafb0fc04c61872a5d861c55560cd0bf)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16 22:33:09 +00:00
Alexander Kanavin
8f2f1af363 rpm: switch to openssl from nss
nss is a problematic library in many ways, but openssl
seems to work just fine.

rpm was the only user of nss in oe-core, which opens
the possibility of moving it out.

Add a backported patch to enable builds with latest openssl.

(From OE-Core rev: 8c35a01dc771bf48f74129daa58d365100d18081)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16 22:33:09 +00:00
Alexander Kanavin
51baa9a3b4 rpm: resolve a host contamination issue for mono packaging
This is perhaps not the most elegant patch but it be dropped
once rpm is updated to the soon-to-be-released version 4.15
where upstream has removed mono dependency resolution altogether.

(From OE-Core rev: c829e89f99c973787f31422b4c32eeebe8c383d3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30 17:10:28 +01:00
André Draszik
dfd833725d meta: remove True option to getVar calls (again)
A couple have still been missed in the past despite multiple
attempts at doing so (or simply have re-appeared?).

Search & replace made using the following command:
    sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \
        -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \
             | cut -d':' -f1 \
             | sort -u)

(From OE-Core rev: 9f551d588693328e4d99d33be94f26684eafcaba)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14 11:35:56 +00:00
Alexander Kanavin
e858593584 rpm: produce sane amount of logging when creating a rootfs
Previously there was lots of irrelevant noise in the logs,
because we also wanted to be able to debug postinst issues
easily. I have adjusted the logging levels so that
postinst info is still written to the logs, but other
things are not.

[YOCTO #13119]

(From OE-Core rev: ffb7b8f70937a7d95814c1a99527d5ea7cbf7cee)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14 11:35:55 +00:00
Alexander Kanavin
27467678ae rpm: update to 4.14.2.1
(From OE-Core rev: fc6951e46dcdce0af7861ffa78fe54426d5cb439)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-22 12:02:57 +00:00
Peter Bergin
6d14fe119c rpm: handle virtual memory usage when limit is set
Fix the situation where the task do_package_write_rpm ends up in
"liblzma: memory allocation failed". This happens if the host
environment has set a limit on virtual_memory for the user with
'ulimit -v' for packages with a lot of binary packages, e.g. glibc-locale.

(From OE-Core rev: a937cff2746073d1dea37d85e7305d8d6705ff28)

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 23:26:35 +01:00
Alexander Kanavin
652b6e4142 rpm: update to 4.14.2
Drop --disable-dbus option and patch: --disable-plugins is sufficient.

Drop upstreamed patches.

Drop a chunk of 0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch, as upstream fixed the issue.

(From OE-Core rev: 4e4fc46589762914f10ae2fa41b614bcb32f9bb9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Olof Johansson
6d3617d0f6 rpm: Avoid leaking temporary scriplet files
RPM writes each package scriptlet (post-/preinstall) to
/var/tmp/rpm-tmp.XXXXXX --- a lot of files potentially gets created.
When debugging is enabled, these temporary scriptlet files aren't
cleaned up at all and after a while this results in the filesystem
resources are eaten up (like running out of available inodes).

Normally, the temporary files would have been written to the tmp
directory of the target sysroot (which we can easily clean up), but in
this tree, you can't necessarily run the scriptlets.

Fixes [YOCTO #12792]

(From OE-Core rev: ffb0ece83e74797f4c3da3866bb3d691c388a5e5)

Signed-off-by: Olof Johansson <olofjn@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-05 00:22:08 +01:00
Richard Purdie
e1e0c06b5d rpm: Fix patch to ensure variables aren't used uninitialised
Recent patches were applied which removed a function which set the xx
variable. This means xx can be uninitalised and prerm functions can fail.

This adjusts the patch to ensure the xx value isn't used in such a way.

(From OE-Core rev: 23f15c63777020f5d43b070a1eb2bcf246c19ff8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-07 08:52:55 +01:00
Peter Kjellerstedt
b7f6638962 rpm: Restore performance in Docker containers
If the maximum number of open file descriptors is much greater than the
usual 1024 (for example inside a Docker container), the performance
drops significantly.

This was reported upstream in:
https://bugzilla.redhat.com/show_bug.cgi?id=1537564
which resulted in:
https://github.com/rpm-software-management/rpm/pull/444

The pull request above has now been integrated and this commit contains
a backport of its three patches, which together change the behavior of
rpm so that its performance is now independent of the maximum number of
open file descriptors.

(From OE-Core rev: 7feed9ccfc4e656c6264f07e13d7e9ef69bdfb06)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-04 15:15:00 +01:00
Peter Kjellerstedt
9a773747c2 Revert "rpm: add a patch to help with Docker performance issues"
This reverts commit 6f1822e5f1eaafd8bc46e999de730c1fcca77f3a.

This patch only solved a part of the problem.

(From OE-Core rev: 78c4eb6ea4230a4f9199aa3fa7b84d2aea465b95)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-04 15:15:00 +01:00
Ovidiu Panait
3b0e1e2275 nativesdk-rpm: Add wrappers for nativesdk support
When installing the SDK to a non-default path, running "rpm --showrc" from the
sdk will produce the following error:
error: Unable to open /opt/windriver/wrlinux-small/10.17.41/sysroots/x86_64-wrlinuxsdk-linux/usr/lib/rpm/rpmrc for reading: No such file or directory.

Fix this by adding wrappers that dynamically export the RPM_CONFIGDIR,
RPM_ETCCONFIGDIR and MAGIC environment variables, pointing to the proper
sdk locations.

(From OE-Core rev: 760103cdaed3e820888d8984ec0b76cfc831d534)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 21:07:17 +01:00
Andre McCurdy
64f19d7873 rpm: move ASNEEDED over-ride into the rpm recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

(From OE-Core rev: f3d223304e52b9be946e5bd849075147147cbbb3)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Chen Qi
1ed050ae47 rpm: build without dbus for rpm-native
Add option for dbus in configure.ac, and explicitly build without dbus
for rpm-native.

Previously, the rpm recipe tries to prevent rpm-native from attempting
to inhibit shutdown via session dbus by appending '--disable-plugins'
to EXTRA_OECONF in case of native.

However, some layer may need some functionality via plugin support. And
when it enables it, we would meet the following warning at rootfs time.

  Unable to get systemd shutdown inhibition lock: Socket name too long

As plugins/systemd_inhibit.c is the only place that's related to this
dependency, we can be sure that dbus is really not needed for rpm-native.

(From OE-Core rev: 815ccef2d5bef1e46c51916e694d0974aee394a9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-10 09:10:36 +01:00
Alexander Kanavin
b7b552bd06 rpm: add a patch to help with Docker performance issues
(From OE-Core rev: 6f1822e5f1eaafd8bc46e999de730c1fcca77f3a)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06 11:06:29 +00:00
Alexander Kanavin
4a6b872bd4 rpm: update to 4.14.1
Drop two upstreamed patches.

License-Update: grammar fixes
(From OE-Core rev: c74bbe70988e7dd3ee1b7977de68a7ffe64fc8ef)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06 11:06:29 +00:00
Mike Crowe
72544a4ca8 rpm: backport configure fix for multiple users/groups with ID 0
Backport upstream configure fix for hosts that have multiple users with UID
0 or groups with GID 0.

(From OE-Core rev: f0f92d3d0f42a4a7e521b58dac53e14f9e2572a1)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-18 12:50:37 +00:00
Alexander Kanavin
0ac5ca3fcf rpm: update to 4.14.0
Previously oe-core had a development snapshot of rpm, it's better to update
to something more stable.

Removed patches:
0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
(upstream is using pkg-config)
0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
(functionality has been moved to a plugin, we disable plugins
for rpm-native)
0012-Use-conditional-to-access-_docdir-in-macros.in.patch
(merged upstream)

Changed patches:
0001-Fix-build-with-musl-C-library.patch
(one previous musl issue has been resolved upstream; another has been added)

Rest of the patches are trivial rebases.

Update the signing oe-selftest so that the reference output matches
the upstream changes.

(From OE-Core rev: b4613b6ce07c295c5d6de6861acf19315acaccb2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-02 17:24:36 +00:00
Alexander Kanavin
d469cd9554 rpm: upstream version is now known
(From OE-Core rev: 8483cc895cf6d9fbacc38878b543d7c608178d05)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-10 22:45:20 +00:00
Joe Slater
bb2b7d2ed7 rpm: remove --sysroot from macros on target
We do not want to specify --sysroot when defining __cc
used on a target.

(From OE-Core rev: 0ff69fc42b0ac2e7e865943e7febd87093da69d3)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-08 22:24:04 +00:00
Mark Hatle
05a6076656 rpm: Disable perl dependency generation
When rpmdeps files a perl script, it attempts to determine what it provides
and what it requires.  Often the requires are incorrect, within the context
of Wind River Linux.  This results in an error that DNF is unable to install
a package due to one or more unresolved dependencies.

In RPM5 we had disabled this behavior, the alternative is to require that all
perl scripts be 'complete', in that they only require things they absolutely
need and that OE provides.  If we ever enforce that, this commit can be
reverted.  Until they fall back to prior behavior (which also matches ipkg
and deb style packages.)

(From OE-Core rev: 99376f602c997fec96dbb28ddbe3fa5f68fde2c3)

(From OE-Core rev: 586875cea5769fea7d17bae2677eab72e4fc7e31)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Peter Kjellerstedt
a38ca789cf rpm: Add dependencies on bash, perl and python3-core
Also modify a Python script (pythondistdeps.py) to use Python 3.

(From OE-Core rev: b2906dbebfd547a630a4eafdcbaa1ceefa5e257c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Alexander Kanavin
5813f1f764 selftest: fix distrodata.py to use per-recipe UPSTREAM_VERSION_UNKNOWN setting
... instead of a global exception list which was problematic.

[YOCTO #11896]

(From OE-Core rev: 89dfede4ca795ba085f1ee7290c6dede573c11db)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Lans Zhang
d95db290e9 rpm: allow to enable RPM file signing
RPM file signing is enabled with --with-imaevm during configuration.
If enabled, the RPM signing tool rpmsign will call libimaevm.so provided
by the recipe ima-evm-utils.

(From OE-Core rev: 9d7797e4374c111f0dff523fd49354bcc33dc2af)

Signed-off-by: Lans Zhang <jia.zhang@windriver.com>
Signed-off-by: Jia Zhang <lans.zhang2008@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-27 22:36:52 +01:00
Alexander Kanavin
ebfc2e42dd rpm/dnf: fix Upstream-Status to reflect upstream submission status
(From OE-Core rev: 1ed4b8438087fe6d61203ffbe9737ac382e0d6eb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-24 09:13:30 +01:00
Ming Liu
248b0df1a9 rpm: add explicit dependency on bzip2-replacement-native for native builds
This fixes a following error:
| recipe-sysroot-native/usr/lib/rpm/debugedit: error while loading shared libraries: \
| libbz2.so.1: cannot open shared object file: No such file or directory

(From OE-Core rev: 61ecda8f7977ee2d30f31d2f384f65f933971568)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13 10:46:34 +01:00
Alexander Kanavin
84e0bb8d93 rpm: run binary package generation via thread pools
This greatly reduces build times when there is a large amount of small
rpm packages to produce. The patches are rather invasive,
and so will be submitted upstream.

(From OE-Core rev: 964a6eb4732df462008883c4bb003f801777dfad)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13 10:46:33 +01:00
Peter Kjellerstedt
e075d603c9 rpm: Add a new option --alldeps to rpmdeps
This will send the output from rpmfcPrint() to stdout. This is an
alternative to using the --rpmfcdebug option, which will send the same
output to stderr. The two options have totally different use cases
though. While --alldeps is used when the output from rpmfcPrint() is
what is wanted, --rpmfcdebug can be used together with the other
output options, e.g., --requires, without affecting their output.

(From OE-Core rev: a58a0dc03398dcd9f81a9c8a6189ae13d90e0df7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12 23:01:23 +01:00
Peter Kjellerstedt
246b73ad55 rpm: Use conditional to access %{_docdir} in macros.in
This avoids the following warning:

warning: Ignoring invalid regex %{_docdir}

when runing `rpmdeps -R <file>`, since %{_docdir} is only defined when
parsing a spec file.

(From OE-Core rev: 7e0964e506506d20a25aac570104938759f9f70e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12 23:01:23 +01:00
Peter Kjellerstedt
acca495fae rpm: Do not require that ELF binaries are executable to be identifiable
There is nothing that requires, e.g., a DSO to be executable, but it
is still an ELF binary and should be identified as such.

(From OE-Core rev: 74d040f456269992a13850a626279b3b8e954847)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12 23:01:23 +01:00
Peter Kjellerstedt
43b48407a4 rpm: Create a wrapper for the native rpmdeps tool
Rather than trying to call rpmdeps with the correct arguments to work
with the sysroot as was done in package.bbclass, create a wrapper for
it like all the other native tools already had.

(From OE-Core rev: 124a6115af845fd892f53c8504db6ffd59f8bd45)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12 23:01:23 +01:00
Peter Kjellerstedt
50f1f5f4e6 rpm: Simplify the creation of wrappers for the native tools
Use a loop rather than calling create_wrapper for each individual
tool.

(From OE-Core rev: e299a396849acd515d51d377958d795e979e6262)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12 23:01:22 +01:00