[Rpm-maint] [rpm-software-management/rpm] rpm2archive: return EXIT_SUCCESS on successful processing of package (#94)

2016-10-07 Thread ニール・ゴンパ
This PR changes `rpm2archive` so that in the event `RPMERR_ITER_END` is 
returned back from `process_package()`, it will consider it successful and 
return `EXIT_SUCCESS`.

Thus, shell scripts will be able to use rpm2archive the same way as most tools.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * rpm2archive: return EXIT_SUCCESS on successful processing of package

-- File Changes --

M rpm2archive.c (10)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/94.patch
https://github.com/rpm-software-management/rpm/pull/94.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/94
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [PATCH] find-debuginfo.sh: Don't copy extra sections into .gnu_debugdata.

2016-10-07 Thread Mark Wielaard
When creating the compressed mini-symtab section in find-debuginfo
add_minidebug we explicitly remove .gdb_index and .comment. But there
can be other non-empty sections in the debuginfo that shouldn't be
copied. For example rust binaries might have a .rustc section.

Explicitly remove any non-allocated PROGBITS or NOTE sections.

https://bugzilla.redhat.com/show_bug.cgi?id=1382394

Signed-off-by: Mark Wielaard 
---
 scripts/find-debuginfo.sh | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
index 5f6e0bb..1524ac2 100644
--- a/scripts/find-debuginfo.sh
+++ b/scripts/find-debuginfo.sh
@@ -193,6 +193,14 @@ add_minidebug()
   local keep_symbols=`mktemp`
   local mini_debuginfo=`mktemp`
 
+  # In the minisymtab we don't need the .debug_ sections (already removed
+  # by -S) but also not any other non-allocated PROGBITS or NOTE sections.
+  # List and remove them explicitly. We do want to keep the allocated,
+  # symbol and NOBITS sections so cannot use --keep-only because that is
+  # too agressive. Field $2 is the section name, $3 is the section type
+  # and $8 are the section flags.
+  local remove_sections=`readelf -W -S "$debuginfo" | awk '{ if 
(index($2,".debug_") != 1 && ($3 == "PROGBITS" || $3 == "NOTE") && 
index($8,"A") == 0) printf "--remove-section "$2" " }'`
+
   # Extract the dynamic symbols from the main binary, there is no need to also 
have these
   # in the normal symbol table
   nm -D "$binary" --format=posix --defined-only | awk '{ print $1 }' | sort > 
"$dynsyms"
@@ -204,7 +212,7 @@ add_minidebug()
   # Keep all the function symbols not already in the dynamic symbol table
   comm -13 "$dynsyms" "$funcsyms" > "$keep_symbols"
   # Copy the full debuginfo, keeping only a minumal set of symbols and 
removing some unnecessary sections
-  objcopy -S --remove-section .gdb_index --remove-section .comment 
--keep-symbols="$keep_symbols" "$debuginfo" "$mini_debuginfo" &> /dev/null
+  objcopy -S $remove_sections --keep-symbols="$keep_symbols" "$debuginfo" 
"$mini_debuginfo" &> /dev/null
   #Inject the compressed data into the .gnu_debugdata section of the original 
binary
   xz "$mini_debuginfo"
   mini_debuginfo="${mini_debuginfo}.xz"
-- 
2.7.4

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


[Rpm-maint] [PATCH] Fix mini-symtab in find-debuginfo.sh for arches with function descriptors.

2016-10-07 Thread Mark Wielaard
add_minidebug uses nm to select the function symbols to include in the
mini-symtab table. But on arches that use function descriptors (like ppc64)
nm --format-posix doesn't make it clear which symbols are real functions
The symbols point to the (stripped away) function descriptor table).

Use --format=sysv style to match the ELF symbol type directly instead of
using the somewhat ambiguous symbol type char used in --format=posix style
in binutils nm.

https://bugzilla.redhat.com/show_bug.cgi?id=1052415

Signed-off-by: Mark Wielaard 
---
 scripts/find-debuginfo.sh | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
index 2016222..5f6e0bb 100644
--- a/scripts/find-debuginfo.sh
+++ b/scripts/find-debuginfo.sh
@@ -197,7 +197,10 @@ add_minidebug()
   # in the normal symbol table
   nm -D "$binary" --format=posix --defined-only | awk '{ print $1 }' | sort > 
"$dynsyms"
   # Extract all the text (i.e. function) symbols from the debuginfo
-  nm "$debuginfo" --format=posix --defined-only | awk '{ if ($2 == "T" || $2 
== "t") print $1 }' | sort > "$funcsyms"
+  # Use format sysv to make sure we can match against the actual ELF FUNC
+  # symbol type. The binutils nm posix format symbol type chars are
+  # ambigous for architectures that might use function descriptors.
+  nm "$debuginfo" --format=sysv --defined-only | awk -F \| '{ if ($4 ~ "FUNC") 
print $1 }' | sort > "$funcsyms"
   # Keep all the function symbols not already in the dynamic symbol table
   comm -13 "$dynsyms" "$funcsyms" > "$keep_symbols"
   # Copy the full debuginfo, keeping only a minumal set of symbols and 
removing some unnecessary sections
-- 
2.7.4

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


Re: [Rpm-maint] [PATCH] Extend %changelog to support full timestamps

2016-10-07 Thread Panu Matilainen

On 10/07/2016 01:33 PM, Pavlina Varekova wrote:


I fixed the "CEST 2016 in author field" bug in [1], thanks for spotting
it. I will add this to the pull request once I incorporate the strptime
function (it's usage has one side-effect: it is locale sensitive but I
assume changelog timestamp must be always in "C" locale not in e.g.
fr_FR - it would be quite complex to assume any locale in input).


Correct, %changelog always needs to be in "C" locale.

- Panu -

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


Re: [Rpm-maint] [rpm-software-management/rpm] Extend %changelog to support full timestamps (#903) (#93)

2016-10-07 Thread pavlinamv
@pavlinamv pushed 1 commit.

c95c6ff  fixed "CEST 2016" in extended format decoded as part of author name


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/93/files/d4f90c9625fc7f5694bd57802e1e529cbc00d7ff..c95c6ff86df0e14bd85d0d746dd148e2457a52b2
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Extend %changelog to support full timestamps (#903) (#93)

2016-10-07 Thread Panu Matilainen
NAK, requires further work as the new format leaks timezone and year into the 
name field, see 
http://lists.rpm.org/pipermail/rpm-maint/2016-October/004571.html for details.

-- 
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/93#issuecomment-252162524___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint