IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Do not let canonicalization shrink directory name by 1 character. Or else
that would prevent (in-place) changing of Directory Table entries in
.debug_line section, causing following error in brp-debuginfo:
/usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character
Fixes: https://bugzilla.altlinux.org/show_bug.cgi?id=39184
Avoid `DWARF version 0 unhandled' for compressed ELFs in
find-debuginfo-files.
Based on 6e9fd97f6 ("debugedit: Add -n, --no-recompute-build-id.")
by Mark Wielaard <mark@klomp.org>.
Makefile.am:13: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
build/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
lib/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
python/Makefile.am:7: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
rpmdb/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
rpmio/Makefile.am:9: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
tools/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
AArch64 generates a relocation which must be handled similar to other
architectures. Adding this patch allows debugedit to run against the
kernel debuginfo.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
- debugedit doesn't support STABS but there are some crazy cases
like PPC Linux kernel which contains both STABS and DWARF debuginfo
sections, manually added. A better fix would be erroring out
if we didn't find any usable debuginfo and warning otherwise but
this at least folks get their kernels built.
The previous "silently ignore" policy produces bogus debuginfo packages
on some architectures and fails with other mysterious errors on others,
better just fail hard until (if ever) somebody adds stabs support.
Recent changes:
7e7ca4b 2010-08-17 Anssi Hannula debugedit: fix incorrect error messages regarding -b and -d
e6a0b0e 2010-05-10 Roland McGrath Make debugedit -i recompute build ID only when any DWARF was actually changed.
c4b6362 2010-05-10 Roland McGrath Whitespace fixups for tools/debugedit.c
71a7dd8 2009-06-16 Panu Matilainen Add debugedit support for DWARF-3 (RhBug:505774)
This should facilitate library upgrades, e.g. glibc-prthread.
Consider that we upgrade gcc-* and glibc-* packages; and glibc
has new subpackage glibc-pthread (with libpthread and librt
shared libraries).
Old order was:
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth)
D: 0 0 14 0 0 glibc-preinstall-2.8.90-alt3
D: 1 1 21 0 1 glibc-core-2.8.90-alt3
D: 2 1 9 0 2 cpp4.3-4.3.2-alt5
D: 3 1 5 0 2 libgcc4.3-4.3.2-alt5
D: 4 2 13 0 3 glibc-pthread-2.8.90-alt3
D: 5 2 20 0 4 glibc-core-debug-2.8.90-alt3
D: 6 2 17 0 4 glibc-gconv-modules-2.8.90-alt3
D: 7 2 16 0 4 glibc-locales-2.8.90-alt3
D: 8 2 15 0 4 glibc-nss-2.8.90-alt3
D: 9 2 12 0 4 glibc-timezones-2.8.90-alt3
D: 10 2 11 0 4 glibc-utils-2.8.90-alt3
D: 11 2 10 0 5 iconv-2.8.90-alt3
D: 12 8 22 0 6 glibc-2.8.90-alt3
D: 13 4 19 0 7 glibc-devel-2.8.90-alt3
D: 14 1 18 0 8 glibc-devel-static-2.8.90-alt3
D: 15 4 8 0 8 gcc4.3-4.3.2-alt5
D: 16 1 4 0 2 libgfortran4.3-4.3.2-alt5
D: 17 2 3 0 3 libgfortran4.3-devel-4.3.2-alt5
D: 18 3 6 0 4 gcc4.3-fortran-4.3.2-alt5
D: 19 2 2 0 3 libstdc++4.3-4.3.2-alt5
D: 20 2 1 0 4 libstdc++4.3-devel-4.3.2-alt5
D: ========== successors only (presentation order)
D: 21 3 7 0 5 gcc4.3-c++-4.3.2-alt5
Note that #succesors value is actually changed using the package index
in the input list of packages (on the command line): earlier packages
have higher values. This is called "successors from tsort are processed
in presentation order". E.g. when choosing to upgrade between cpp4.3,
libgcc4.3, and libgfortran4.3, cpp4.3 gets upgraded first. (The
collation is probably due to using shell glob on the command line.)
The problem is that, in cpp4.3 %post-script, some pthread-dependent
code might be called, and pthread shared library is simply mssing
at that point (after glibc-core upgrade and before glibc-pthread
install).
New order is:
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth)
D: 0 0 1 0 0 glibc-preinstall-2.8.90-alt3
D: 1 1 17 0 1 glibc-core-2.8.90-alt3
D: 2 1 3 0 2 libgcc4.3-4.3.2-alt5
D: 3 2 8 0 3 glibc-pthread-2.8.90-alt3
D: 4 2 2 0 4 glibc-gconv-modules-2.8.90-alt3
D: 5 2 2 0 4 glibc-nss-2.8.90-alt3
D: 6 2 1 0 5 iconv-2.8.90-alt3
D: 7 2 1 0 4 glibc-locales-2.8.90-alt3
D: 8 2 1 0 4 glibc-timezones-2.8.90-alt3
D: 9 2 1 0 4 glibc-utils-2.8.90-alt3
D: 10 8 1 0 5 glibc-2.8.90-alt3
D: 11 4 4 0 6 glibc-devel-2.8.90-alt3
D: 12 2 1 0 3 libstdc++4.3-4.3.2-alt5
D: 13 2 1 0 4 libstdc++4.3-devel-4.3.2-alt5
D: 14 1 1 0 2 cpp4.3-4.3.2-alt5
D: 15 4 2 0 3 gcc4.3-4.3.2-alt5
D: 16 1 1 0 2 libgfortran4.3-4.3.2-alt5
D: 17 2 1 0 3 libgfortran4.3-devel-4.3.2-alt5
D: ========== successors only (presentation order)
D: 18 2 0 0 4 glibc-core-debug-2.8.90-alt3
D: 19 1 0 0 7 glibc-devel-static-2.8.90-alt3
D: 20 3 0 0 4 gcc4.3-fortran-4.3.2-alt5
D: 21 3 0 0 4 gcc4.3-c++-4.3.2-alt5
Note that #succesors now indicates the number of immediate successors;
libgcc4.3 now has 3 immediate successors (glibc-pthread, gcc4.3, and
libstdc++4.3), while cpp4.3 and libgfortran4.3 have only one immediate
successor.
Also removed tools/rpmsort.c.
> The are various serial representations of a partially ordered set.
>
> The default is what I call "chainsaw", always emit the node that has
> the most children. The "chainsaw" heuristic tries to emit nodes that
> are depended upon as early as possible to localize interactions
> amongst packages, but really should be
> Always emit the node of the largest sub-tree.
> rather than the number of immediate children. I call this "buzzsaw".
>
> Anaconda has the constraint of changing cd's during install. So
> "presentation" ordering preserves the arrival ordering into a
> transaction set. Too bad that "presentation" ordering is often
> incorrect because of no loop analysis first.
https://lists.dulug.duke.edu/pipermail/rpm-devel/2005-June/000468.html
Both (F_OK|X_OK) cannot be tested at the same time, which means that
X_OK is X_OK for directories, too. And anyway there's a huge period
of time between X_OK test and exec. So I remove the test which cannot
be performed reliably. As a bonus, I also replace execv() with execvp().
Both (F_OK|X_OK) cannot be tested at the same time, which means that
X_OK is X_OK for directories, too. And anyway there's a huge period
of time between X_OK test and exec. So I remove the test which cannot
be performed reliably. As a bonus, I also replace execv() with execvp().