[Rpm-maint] [rpm-software-management/rpm] macros: add %_rpmmacrodir (#262)

2017-07-20 Thread Igor Gnatenko
It has been used in redhat-rpm-config for long time and some
packages depend on it (though without `_` prefix).

It's just more convenient than writing %{_rpmconfigdir}/macros.d/...

Signed-off-by: Igor Gnatenko 
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/262

-- Commit Summary --

  * macros: add %_rpmmacrodir

-- File Changes --

M macros.in (2)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/262.patch
https://github.com/rpm-software-management/rpm/pull/262.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/262
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Do not hardcode "lib/rpm" as the installation path for default config… (#263)

2017-07-20 Thread Alexander Kanavin
…uration and macros.

This can be named in various different ways, especially in cross-compilation
environments, so let's take it from the build setup.
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/263

-- Commit Summary --

  * Do not hardcode "lib/rpm" as the installation path for default 
configuration and macros.

-- File Changes --

M configure.ac (2)
M macros.in (2)
M rpm.am (4)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/263.patch
https://github.com/rpm-software-management/rpm/pull/263.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/263
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] macros: add %_rpmmacrodir (#262)

2017-07-20 Thread Florian Festi
Merged #262.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/262#event-1171910137___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Do not hardcode "lib/rpm" as the installation path for default config… (#263)

2017-07-20 Thread ニール・ゴンパ
Conan-Kudo requested changes on this pull request.

So this can be a problem, because on LSB-compliant 64-bit systems (i.e. most of 
them running RPM), `${libdir}` is `/usr/lib64`.

If we wanted to move it anywhere, we'd probably move it to `${libexecdir}`, 
since that is static across architectures, and would more or less have the same 
effect you're looking for.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/263#pullrequestreview-51180631___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Print exit code with rpm -vv (from @n3npq, #195) (#252)

2017-07-20 Thread Florian Festi
Closed #252.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/252#event-1172069958___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Print exit code with rpm -vv (from @n3npq, #195) (#252)

2017-07-20 Thread Florian Festi
Pushed.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/252#issuecomment-316698323___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Print exit code with rpm -vv (from @n3npq, #195) (#252)

2017-07-20 Thread ニール・ゴンパ
@ffesti Thanks!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/252#issuecomment-316698441___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Print exit code with rpm -vv (+PATCH) (#195)

2017-07-20 Thread Florian Festi
Closed #195.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/195#event-1172099300___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Print exit code with rpm -vv (+PATCH) (#195)

2017-07-20 Thread Florian Festi
Pushed as #252 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/195#issuecomment-316702937___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Python tests are running even python support is disabled (#264)

2017-07-20 Thread Igor Gnatenko
I think I will not add full tests log, but tests are failing on

```python
cat << EOF > test.py

import rpm, sys

dbpath=rpm.expandMacro('%_dbpath')

rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)

def myprint(msg = ''):

sys.stdout.write('%s\n' % msg)



myprint(rpm.__version__)



EOF

python test.py



--- /dev/null   2017-07-20 10:25:05.082012205 +

+++ /opt/rpm/tests/rpmtests.dir/at-groups/340/stderr2017-07-20 
10:26:07.746704426 +

@@ -0,0 +1,4 @@

+Traceback (most recent call last):

+  File "test.py", line 1, in 

+import rpm, sys

+ImportError: No module named rpm

--- -   2017-07-20 10:26:07.755072483 +

+++ /opt/rpm/tests/rpmtests.dir/at-groups/340/stdout2017-07-20 
10:26:07.750704465 +

@@ -1,2 +1 @@

-4.13.90

 

./rpmpython.at:6: exit code was 1, expected 0
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/264___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Python bindings from builddir are not used in tests (#265)

2017-07-20 Thread Igor Gnatenko
```
...
make[2]: Entering directory '/opt/rpm/python'
  CC   rpmmodule.lo
  CC   header-py.lo
  CC   rpmarchive-py.lo
  CC   rpmds-py.lo
  CC   rpmfd-py.lo
  CC   rpmfi-py.lo
  CC   rpmfiles-py.lo
  CC   rpmkeyring-py.lo
  CC   rpmmi-py.lo
  CC   rpmii-py.lo
  CC   rpmps-py.lo
  CC   rpmmacro-py.lo
  CC   rpmstrpool-py.lo
  CC   rpmtd-py.lo
  CC   rpmte-py.lo
  CC   rpmts-py.lo
  CCLD _rpm.la
  CC   rpmbmodule.lo
  CC   spec-py.lo
  CCLD _rpmb.la
  CC   rpmsmodule.lo
  CCLD _rpms.la
make[2]: Leaving directory '/opt/rpm/python'
...
```

And during tests:
```
+ImportError: No module named rpm
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/265___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [PATCH] config: Detect major/minor warnings and include the correct system header.

2017-07-20 Thread Dmitry V. Levin
On Wed, Jul 19, 2017 at 02:49:38PM +0200, Mark Wielaard wrote:
> glibc 2.25 introduced (really long and annoying) warnings for each use
> of the major/minor macros from the wrong header:
> 
> lib/cpio.c: In function ‘rpmcpioHeaderWrite’:
> lib/cpio.c:245:13: warning: In the GNU C Library, "major" is defined
>  by . For historical compatibility, it is
>  currently defined by  as well, but we plan to
>  remove this soon. To use "major", include 
>  directly. If you did not intend to use a system-defined macro
>  "major", you should undefine it after including .
>  dev = major(st->st_dev); SET_NUM_FIELD(hdr->devMajor, dev, field);
>  ^~
> 
> Adjust the configure check and undef the warning producing macros to get
> rid of the wrong definitions and use the macros from the right include.
> 
> Tested against RHEL7 (glibc 2.17) and Fedora 26 (glibc 2.25).
> 
> Signed-off-by: Mark Wielaard 
> ---
>  configure.ac | 8 
>  lib/cpio.c   | 6 ++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/configure.ac b/configure.ac
> index cc657ec..017a908 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -561,7 +561,15 @@ AM_ICONV
>  
>  dnl Checks for header files we can live without.
>  AC_HEADER_STDC
> +dnl glibc and autoconf don't really play well together.
> +dnl glibc will produce a warning when including the wrong header.
> +dnl but still define major and minor. Causing us to include the header
> +dnl that produces a giant warning for each major/minor use.
> +dnl Use -Werror to work around that.
> +old_CFLAGS=$CFLAGS
> +CFLAGS="$CFLAGS -Werror"
>  AC_HEADER_MAJOR
> +CFLAGS=$old_CFLAGS
>  AC_STRUCT_DIRENT_D_TYPE
>  
>  AC_CHECK_HEADERS(limits.h)
> diff --git a/lib/cpio.c b/lib/cpio.c
> index 57c9592..b7ba27d 100644
> --- a/lib/cpio.c
> +++ b/lib/cpio.c
> @@ -9,9 +9,15 @@
>  
>  #include "system.h"
>  
> +/* system.h might already have included the wrong header, undef major
> +   and minor and get the real definition from one of the correct headers. */
>  #if MAJOR_IN_MKDEV
> +#undef major
> +#undef minor
>  #include 
>  #elif MAJOR_IN_SYSMACROS
> +#undef major
> +#undef minor
>  #include 
>  #else
>  #include  /* already included from system.h */

I'm not sure what sys/mkdev.h does, but glibc's sys/sysmacros.h certainly
undefines major, minor, and makedev prior to defining its own versions of
these macros.

My guess is that these undefs are not needed.


-- 
ldv


signature.asc
Description: PGP signature
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Igor Gnatenko
cc @markoa 
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/266

-- Commit Summary --

  * add Fedora's Dockerfile for CI
  * tests: don't copy fstab to chroot
  * ci: enable silent rules

-- File Changes --

A ci/Dockerfile (50)
M tests/Makefile.am (2)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/266.patch
https://github.com/rpm-software-management/rpm/pull/266.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Colin Walters
cgwalters commented on this pull request.



> @@ -0,0 +1,49 @@
+FROM fedora
+MAINTAINER Igor Gnatenko 
+
+WORKDIR /opt/rpm
+COPY . .
+
+RUN echo -e "deltarpm=0\ninstall_weak_deps=0\ntsflags=nodocs" >> 
/etc/dnf/dnf.conf
+RUN dnf -y update
+RUN dnf -y install \

In some [PAPR](https://github.com/projectatomic/papr) projects like rpm-ostree 
we just pull the builddeps from the distro, I think this is a lot saner than 
repeating them here again.  See [this 
example](https://github.com/projectatomic/rpm-ostree/blob/f25444554dac95c5ff469f64192bad17a2916c3a/ci/build.sh#L20).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#pullrequestreview-51231058___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Colin Walters
cgwalters commented on this pull request.



> @@ -0,0 +1,49 @@
+FROM fedora
+MAINTAINER Igor Gnatenko 
+
+WORKDIR /opt/rpm
+COPY . .
+
+RUN echo -e "deltarpm=0\ninstall_weak_deps=0\ntsflags=nodocs" >> 
/etc/dnf/dnf.conf
+RUN dnf -y update
+RUN dnf -y install \

Which calls into this: 
https://github.com/projectatomic/rpm-ostree/blob/f25444554dac95c5ff469f64192bad17a2916c3a/ci/libbuild.sh#L18

(Which is a good example of a minor annoyance from the yum → dnf rename)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#discussion_r128541216___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Igor Gnatenko
ignatenkobrain commented on this pull request.



> @@ -0,0 +1,49 @@
+FROM fedora
+MAINTAINER Igor Gnatenko 
+
+WORKDIR /opt/rpm
+COPY . .
+
+RUN echo -e "deltarpm=0\ninstall_weak_deps=0\ntsflags=nodocs" >> 
/etc/dnf/dnf.conf
+RUN dnf -y update
+RUN dnf -y install \

well, yes and no. 

* If RPM starts/stops requiring something -- it is only way how to properly 
deal with that (especially with RPM release cadence)
* We don't really need all deps for all tests here

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#discussion_r128549447___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Marko Anastasov
LGTM :shipit: 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#issuecomment-316740455___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Igor Gnatenko
One thing I'm wondering about, why I don't see job triggered by this 
pull-request ;)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#issuecomment-316741207___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Semaphore CI (#266)

2017-07-20 Thread Igor Gnatenko
Merged #266.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/266#event-1172459222___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] find-debuginfo.sh: Remove non-allocated NOBITS sections from minisymtab. (#267)

2017-07-20 Thread Igor Gnatenko
In the minisymtab section (the .gnu_debugdata embedded ELF image) we
do not need unallocated sections (except for the SYMTAB and STRTAB
sections we are creating). We already remove PROGBITS and NOTES. Also
remove NOBITS sections. They should not really take up much (any) space
but they still add to the section tables. These sections might be created
with the new --keep-section support (which puts the actual section in
the main ELF binary, and a NOBITS variant in the .debug file).

Also binutils objcopy seems to sometimes add them anyway filled with
zeros instead of marking them NOBITS.

Signed-off-by: Mark Wielaard 

(this is same patch as posted to mailing list, sending it here since now we 
have CI)
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/267

-- Commit Summary --

  * find-debuginfo.sh: Remove non-allocated NOBITS sections from minisymtab.

-- File Changes --

M scripts/find-debuginfo.sh (8)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/267.patch
https://github.com/rpm-software-management/rpm/pull/267.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/267
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] replaceSigDigests is only used with IMAEVM. (#268)

2017-07-20 Thread Igor Gnatenko
The replaceSigDigests function is only used in includeFileSignatures
when WITH_IMAEVM is defined. If not warning is generated.

Signed-off-by: Mark Wielaard 

(this is same patch as posted to mailing list, sending it here since now we 
have CI)
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/268

-- Commit Summary --

  * replaceSigDigests is only used with IMAEVM.

-- File Changes --

M sign/rpmgensig.c (2)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/268.patch
https://github.com/rpm-software-management/rpm/pull/268.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/268
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Adding header tag formats to generate UUIDS (#269)

2017-07-20 Thread Jeff Johnson
UUID's provide a common format for identification and database retrieval.

The attached patch adds a header tag format to RPM queries.

- UUIDv1 time stamps (for events like build/install times):
```
$ ./rpm -q --qf '%{buildtime:uuidv1}\n' bash
c60fd500-bc0a-11e7-804e-003048b801de
```
- UUIDv3 namespace identifiers based on MD5 (like package/header digests)
```
$ ./rpm -q --qf '%{sigmd5:uuidv3}\n' bash
c24fd63e-14c4-32d1-84f5-168a1f2908db
```
- UUIDv4 random nonces (overkill because random, but added for completeness)
```
$ ./rpm -q --qf '%{sigmd5:uuidv4}\n' bash
b7a15d96-c4cd-4e41-8598-6463375cb39f
```
- UUIDv5 namespace identifiers based on SHA1 (like package/header digests)
```
$ ./rpm -q --qf '%{sigmd5:uuidv5}\n' bash
9292a557-f445-5f36-9b79-8e79a6efaaa2
```

The UUIDv3/UUIDv5 name spaces can be configured through optional macros 
(defaults below)
```
%_uuid_authhttp://rpm.org
%_uuid_path/packages
```

For reference, the actual text used for, say, Sha1header, in a namespace UUID 
looks like
```
http://rpm.org/packages/Sha1header/
```
Essentially a prefix (to make the namespace unique) of %_uuid_auth and 
%_uuid_path followed by a tag name and a tag value.

UUID's will be the starting point for a RPM+LMDB implementation used as header 
retrieval keys.

You will need the acinclude.m4 file from issue #257 to use the patch below. 
Adding the hires timestamps from issue #197 would improve the UUIDv1 
granularity (not implemented).



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/269___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Adding header tag formats to generate UUIDS (#269)

2017-07-20 Thread Jeff Johnson
[rpm_uuid.patch.gz](https://github.com/rpm-software-management/rpm/files/1163437/rpm_uuid.patch.gz)


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/269#issuecomment-316801741___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Lucas De Marchi
This happens when updating update from 4.13.0.1-release to master branch:

```sh
rpm -qlp /tmp/capsule-01.00.12-r0.core2_64.rpm
error: /tmp/capsule-01.00.12-r0.core2_64.rpm: signature region 62: tag number 
mismatch 7 ril 6 dl 792 rdl 168

error: /tmp/capsule-01.00.12-r0.core2_64.rpm: not an rpm package (or package 
manifest)
```

I used commit a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be as  starting point for a 
bisect since I knew it was failing and was already with it checked out (related 
bug: https://github.com/intel-aero/meta-intel-aero/issues/219).

Test script:
```sh
cat /tmp/test.sh 
#!/bin/bash -e

git clean -ffxd
./autogen.sh  --prefix=/usr --without-lua --disable-python --with-external-db \
CPPFLAGS="-I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/db45 "
make -j4 
./rpm -qlp /tmp/capsule-01.00.12-r0.core2_64.rpm
```

Bisect log:
```
# Tested with  with "git bisect run /tmp/test.sh"


git bisect start
# bad: [a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be] brp-python-bytecompile: 
Process python lib dirs even without standard Python
git bisect bad a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be
# good: [e97d475ae2cf6709f2bbdaba34f90b87d454c13c] Preparing for rpm 4.13.0.1
git bisect good e97d475ae2cf6709f2bbdaba34f90b87d454c13c
# good: [d27f0167aa53951c4164a5d49149ad416c5a1ee4] Get rid of warnigs caused by 
d18fdd7f8964d01b4dfc39bf84133695cff5a13a
git bisect good d27f0167aa53951c4164a5d49149ad416c5a1ee4
# good: [e5d3b9f682383ee026b5a86a47eb5f288bdf8991] rpmdb.c: 
(rpmdbCheckTerminate) return non-zero on subsequent runs
git bisect good e5d3b9f682383ee026b5a86a47eb5f288bdf8991
# bad: [5b714956b7776edea635f73daa1137aa44609290] Optionally validate string is 
hex in rpmSigInfoParse()
git bisect bad 5b714956b7776edea635f73daa1137aa44609290
# bad: [e9e637e2559926ef0d4aa3f7cf686d1944e1d036] Fix expandFormat() to work 
with all string types
git bisect bad e9e637e2559926ef0d4aa3f7cf686d1944e1d036
# good: [cb97c0161236e5ba9d560b95cadd41eba87cccfc] Add + use a helper function 
for converting entry info to host endianess
git bisect good cb97c0161236e5ba9d560b95cadd41eba87cccfc
# bad: [0cc5ee83f1f7f345a9d46166eac2cbe4d5ba84dc] Bury the last remains of 
non-header signatures into lead
git bisect bad 0cc5ee83f1f7f345a9d46166eac2cbe4d5ba84dc
# good: [d26dff0632f5a23c6da3795656e8137d4057bc13] Eliminate unnecessary entry 
argument to headerVerifyRegion()
git bisect good d26dff0632f5a23c6da3795656e8137d4057bc13
# good: [66145664fb1d7bb7e9d584c69f97c7869de5997f] Whitespace cleanup in 
headerVerifyRegion()
git bisect good 66145664fb1d7bb7e9d584c69f97c7869de5997f
# bad: [441a0998fca9b3d01052bc3d33f8a72f725d5865] Require exact match on header 
vs region sizes when reading package files
git bisect bad 441a0998fca9b3d01052bc3d33f8a72f725d5865
# good: [6e0b5dc9f10d7d3ee944dcd63d1c6019b2e80f0d] Verify region data size fits 
the header
git bisect good 6e0b5dc9f10d7d3ee944dcd63d1c6019b2e80f0d
# first bad commit: [441a0998fca9b3d01052bc3d33f8a72f725d5865] Require exact 
match on header vs region sizes when reading package files
```

Test rpm can be downloaded from here: 
https://downloadmirror.intel.com/26500/eng/capsule-01.00.12-r0.core2_64.rpm

It's not obvious for me what the fix should be since the commit itself should 
actually be a fix as far as I understand. Doing the wrong thing and removing 
the check for `exact_size` "fixes" the issue, but is also probably the wrong 
thing to do.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Jeff Johnson
That is a package produced by RPM5:
```
$ /opt/local/bin/rpm -qp --yaml ./capsule-01.00.12-r0.core2_64.rpm | grep 
Rpmversion
  Rpmversion: 5.4.16
```

The package uses a non-repudiable signature and verifies fine:

```
$ /opt/local/bin/rpm -qvvp  ./capsule-01.00.12-r0.core2_64.rpm
...
D:   PUB: 3375C959 31F7927C V4 DSA
D: == DSA pubkey id 3375c959 31f7927c (package)
D: ./capsule-01.00.12-r0.core2_64.rpm: Header V4 DSA signature: OK, key ID 
31f7927c
```

However, RPM4 can't find the pubkey contained in the package.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270#issuecomment-31657___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Jeff Johnson
Thanks for identifying the specific checkin.

RPM4 has changed the definition of what is called an "immutable region" in a 
signature header.

An "immutable region" is identified with an index/data length as well as a 
trailer which duplicates
the same information. The test for an exact_match in the commit has altered the 
definition
of an "immutable region" and appears to have introduced an incompatibility.

If you are going to handle Yocto packages built by RPM5 using RPM4 sanely, your 
best bet is to back out that specific "exact_match" change. You will be no 
worse off than you were before, the test is rather arcane and anal retentive.




-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270#issuecomment-316893255___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Lucas De Marchi
@n3npq thanks for looking into this.  This rpm may be the only one I'll have to 
deal with and I can regenerate it using rpm4 reasonably easy. However I thought 
it was important to notify upstream since when other distros update they may 
face similar problems since they don't have much control over what .rpm users 
are going to install.

Maybe an option to rpm to allow it to continue even if the "exact_match" test 
fails? Or changing this to be a warning rather than an error since it causes 
compatibility issues?

Thanks

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270#issuecomment-316898358___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Lucas De Marchi
Regarding using RPM4 to manager RPM5 packages, the reason is that the previous 
version of the distro was using RPM5. However due to incompatibilities with dnf 
it was decided by uptream Yocto developers do switch to RPM4. In our 
Yocto-based distro there are some leftover rpm files that weren't rebuilt since 
it's a BIOS package and there weren't any updates to it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270#issuecomment-316898876___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fail to check signature (#270)

2017-07-20 Thread Jeff Johnson
The often stated public policy here with RPM4 is "Compatibility with RPM5 is a 
negative goal."
Don't hold your breath for a patch: I will generate and distribute a patch as 
soon as I understand
the full consequences of recent changes to the RPM format. 

Yes, Yocto issues are well known. The rpm5+dnf incompatibilities were grossly 
exaggerated.
*shrug* whatever.

FYI: I maintain RPM5, and have several (like almost 10 ;-) years of experience 
dealing with Poky/Yocto packaging issues.

Meanwhile I suspect that capsule is only the first, not the last, RPM5 package 
that you will see. Ripping out the "exact_size" test will solve the issue until 
there is more info or a better fix available.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/270#issuecomment-316903692___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint