Commit Graph

602 Commits

Author SHA1 Message Date
2cbf4d4cd9 find-lang: minor cleanup 2013-03-08 15:22:59 +00:00
53e2358f62 scripts/fixup-desktop.awk: fix regexp 2013-01-11 22:36:49 +00:00
d92c009d2d verify-elf: implement LFS check (ALT#28290) 2013-01-10 23:15:07 +00:00
279f487ca4 scripts/functions: export LC_ALL=C
A lot of code relies on C collation, C messages and so on.
Do not pretend it is expected to work with a non-C locale.
2013-01-10 22:38:52 +00:00
1fe269bb6c scripts: cleanup readelf(1) invocations
Prefer long options to short options.
Constistently use --wide option.
2013-01-10 22:04:19 +00:00
5a8fdc10de pkgconfig.req.files: ignore file type, treat all non-symlinks the same way
Stop relying on file(1) output for obvious reasons (see e.g. ALT#28261),
assume that all non-symlinks in pkgconfig directories are valid input.
2012-12-22 14:41:22 +00:00
7d84f7da5a 0ldconfig.filetrigger: execute telinit if appropriate 2012-08-30 23:05:00 +00:00
d78a04e393 brp-fix-perms: fix "find -perm" syntax 2012-08-08 13:15:41 +00:00
8d16b4186d 0common-files.req.list: add /etc/sudoers.d 2012-07-12 10:02:33 +00:00
Igor Vlasenko
da9e0cf514 scripts/find-lang.in: add --all-name option (ALT#27284)
Add PLD/Fedora compatible --all-name option (by mkochano,pascalek@PLD).
2012-05-24 13:44:54 +00:00
Alexey Tourbin
53661a9938 cpp.req: fix double buildroot in filename-specific -I options 2012-02-19 19:09:55 +04:00
Alexey Tourbin
d7b8e36a16 cpp.req: single pkg-config invocation
Running pkg-config multiple times can produce too many cflags, most
of them being dups.  With this change, I rely on pkg-config itself to
discard dups properly - pkg-config(1) manpage says that "duplicate
flags are merged (maintaining proper ordering)".
2012-02-19 18:26:41 +04:00
Alexey Tourbin
50a5ad7320 cpp.req: recover missing once-only pushes using -dI
Hierarchical processing makes cpp.req more susceptible to "once-only
header" optimization.  To demonstrate the problem, I've implemented
some debugging facilities.  Here is how <gtk/gtk.h> is processed.

$ cpp.req -vv /usr/include/gtk-2.0/gtk/gtk.h
[...]
  Include gdk/gdk.h
+ Push /usr/include/gtk-2.0/gdk/gdk.h
    Include gdk/gdkapplaunchcontext.h
+   Push /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h
      Include gio/gio.h
!     Push /usr/include/glib-2.0/gio/gio.h
        Include gio/giotypes.h
        Push /usr/include/glib-2.0/gio/giotypes.h
          Include gio/gioenums.h
          Push /usr/include/glib-2.0/gio/gioenums.h
            Include glib-object.h
            Push /usr/include/glib-2.0/glib-object.h
              Include gobject/gbinding.h
              Push /usr/include/glib-2.0/gobject/gbinding.h
                Include glib.h
                Push /usr/include/glib-2.0/glib.h
[...]
+               Push /usr/include/gtk-2.0/gtk/gtkdebug.h
                  Include glib.h
                Pop
[...]
recovered glib.h -> /usr/include/glib-2.0/glib.h
recovered stdarg.h -> /usr/lib64/gcc/x86_64-alt-linux/4.5.3/include/stdarg.h
recovered time.h -> /usr/include/time.h
recovered glib-object.h -> /usr/include/glib-2.0/glib-object.h

In the output, "Include" lines annotate "#include" instructions which
are about to be processed by cpp; "Push" and "Pop" annotate actual
file operations performed by cpp.  Technically, "Include" annotations
are enabled via -dI option which installs cb_include callback in
gcc/c-ppoutput.c; "Push" and "Pop" are triggered in the guts of the
libcpp library.  The library has hardcoded optimization against repeated
inclusions.  According to "info cpp", "It remembers when a header file
has a wrapper #ifndef.  If a subsequent #include specifies that header,
and the macro in the #ifndef is still defined, it does not bother to
rescan the file at all."  (See should_stack_file in libcpp/files.c.)

This means that, normally, each "Include" should be followed by a
corresponding "Push".  However, due to "once-only header" optimization,
some includes are not followed by a push.  This means that the file
has already been pushed, and it happens to use a wrapper #ifndef.
Note that, in the output, this is exactly the case with <glib2.h>.

Also note that, in the output, files internal to the package are marked
with "+" on the left.  They are tracked down to the first non-packaged
file, which makes a dependency; these files are marked with "!".  The
problem with <glib2.h> is then that it gets first included in an
external file.  Later it is also included in an internal file, but
a "Push" is not triggered.  And since the internal file is subordinate
to <gtk/gtk.h> and is not going to be processed on its own, the
dependency on <glib2.h> is lost.

To recover missing pushes, we have to associate each include with the
first-time push.  In other words, we need a table which maintains a
(header -> filename) mapping; in the above example, the table will
contain (glib.h -> /usr/include/glib-2.0/glib.h).  Using this table,
we can ascertain that each internal #include produced a result.

Now, this might still have some corner cases: includes with
non-canonical header names probably will not be recovered, and it is not
clear whether <foo.h> and "foo.h" should be processed differently.
It works well enough in simple cases, though.
2012-02-19 18:23:24 +04:00
Alexey Tourbin
e4835167bb cpp.req: hierarchical processing - fewer errors and major speedup
I have to admit that cpp.req can be slow and often fails in an ugly
manner.  To address these issues, this change introduces "hierarchical
processing".  Consider the package libgtk+2-devel.  Only a few header
files from this package can be included directly, and these files in
turn include other "private" headers which are protected against direct
inclusion.  The idea is then that only those few files with the highest
rank have to be processed explicitly, and most of the "private" files
can be processed implicitly as they are included on behalf of
higher-ranking files.

To implement the idea, somehow we have to sort the files by their rank.
This probably has to involve some guesswork.  However, assigning higher
ranks to shorter filenames seems to produce nice guesses.  More precisely,
files are sorted by shorter directory names and then by shorter basenames.
Another possible criteria which is not currently implemented is also to
take into account the number of path components in a directory name.

The result is pretty amazing: the amount of time needed to process
libgtk+2-devel headers is reduced from 150s to 5s.  Notably <gtk/gtk.h>
includes 241 packaged files.  This is also due to other optimizations:
packaged files are excluded from dependencies early on, and each
required filename gets passed to FindPackage only once.
2012-02-19 09:13:44 +04:00
Vitaly Kuznetsov
ca5b17e03c introduce brp-hardlink_pyo_pyc (splitted from brp-bytecompile_python)
Hardlinking identical .pyo and .pyc files splitted from brp-bytecompile_python to
brp-hardlink_pyo_pyc to make this brp work for python3 files (generated by separate
brp-bytecompile_python3).
2012-01-25 14:23:12 +00:00
Vitaly Kuznetsov
a771af0403 brp: introduce /usr/lib/rpm/brp.d directory
Made it possible for third party packages to have their own brp-* scripts. All
existent brp-* scripts migrated to /usr/lib/rpm/brp.d, brp-alt taught to execute
all from this directory in alphabetical order. All brp-* scripts obligated to
have three digit prefix (to specify execution order) and .brp suffix.
2012-01-25 14:16:15 +00:00
3a6b8bd83b 0common-files.req.list: remove /etc/sysctl.d
/etc/sysctl.d is going to be added to filesystem package.

This reverts commit bec54ac071.
2011-12-13 14:55:50 +00:00
820414df17 verify-elf: move check for rpath, stack and unresolved symbols to separate functions 2011-12-12 16:27:52 +00:00
c66e9c38e4 verify-elf: more RPATH checks
Check RPATH for non-ascii symbols, invalid absolute and relative paths,
and standard library directories.
2011-12-10 21:51:42 +00:00
6eea0604ad verify-elf: Rewrite error reporting code 2011-12-10 17:50:11 +00:00
9e73931c30 find-debuginfo-files: fix packaging of symlinks
Package only those /usr/lib/debug/* symlinks that complement the package
being processed and point to debuginfo regular files which are going to
be packaged along with these symlinks.

The most obvious consequence of this change is that library symlinks for
use of ld(1) will not result to their
/usr/lib/debug/usr/lib*/libNAME.so.debug counterparts to be packaged.
2011-12-06 15:04:05 +00:00
bf54b11cf4 cpp.req: do not insist on trying c++ mode when c++ support is not installed
When plain cpp check fails, cpp.req tries to process the same file in
c++ mode, which requires c++ support to be installed.  As result, when
c++ support is not installed, cpp.req clutter the log with vain attempts
to process files in c++ mode.  This change reduces the noise by checking
whether c++ support is actually available.
2011-12-04 21:25:53 +00:00
016617f027 find-lang: handle more exotic GNOME help locale directories (ALT#26417) 2011-12-01 02:08:29 +00:00
Alexey Tourbin
7dea69eca4 brp-cleanup: perl cleanup routines moved to rpm-build-perl 2011-10-21 01:27:51 +04:00
19d7160080 find-lang: handle %_datadir/help/%lang/%name subdirectories (ALT#26417) 2011-10-10 21:54:07 +00:00
ae55da575e find-lang: add support for GNOME >= 3.2 help files location (ALT#26417) 2011-10-06 20:38:04 +00:00
Alexey Tourbin
4d747a6312 removed brp-strip & related macros 2011-09-23 03:36:28 +04:00
Alexey Tourbin
8af14dd777 cpp.req: track included files down to the first external file
Some header files have protection against being included into user
code directly.  This means that, when processing such files, cpp
is going to fail, and some dependencies probably will be missing.

/usr/include/gtk-2.0/gtk/gtkaccessible.h:
    20  #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
    21  #error "Only <gtk/gtk.h> can be included directly."
    22  #endif
    23
    24  #ifndef __GTK_ACCESSIBLE_H__
    25  #define __GTK_ACCESSIBLE_H__
    26
    27  #include <atk/atk.h>
    28  #include <gtk/gtkwidget.h>

To remedy the problem, we should, as per the above example, process
gtk/gtk.h dependencies recursively.  Dependencies which we now attribute
to gtk/gtk.h are: 1) files which are packaged within the same subpackage
- these dependencies will be optimized out later by rpm; 2) the first
file not packaged into this subpackage, which is atk/atk.h.  Files below
atk/atk.h are not processed.

    Packaged?     Stack
                +---------------------+
        +       | gtk/gtk.h           |
                +---------------------+
        +       | gtk/gtkaccessible.h | <- SPmark
                +---------------------+
        -       | atk/atk.h           |
                +---------------------+
                | ...                 |

Also note that packaged files in cpp output should not be identified by
filenames, since filenames in the output will be possibly non-canonical.
Therefore I use standard unix technique to identify files by (dev,ino).

/usr/include/boost/spirit/home/support/detail/lexer/containers/ptr_vector.hpp:
     9  #include "../size_t.hpp"
2011-09-22 03:08:14 +04:00
Alexey Tourbin
cf9820cea4 cpp.req: simplify filename handling in cpp output 2011-09-22 03:08:11 +04:00
Alexey Tourbin
3d7945aad6 scripts: introduced tmpdir.sh 2011-09-22 02:58:59 +04:00
Alexey Tourbin
36d69f322f cpp.req: process subpackage *.pc files before other *.pc files
This helps to handle subtle cases like separate *-gtk2-devel
and *-gtk3-devel subpackages.

RPM_BUILD_ROOT=$PWD RPM_SUBPACKAGE_NAME=libgtk3vnc-devel /usr/lib/rpm/cpp.req $PWD/usr/include/gtk-vnc-2.0/vnc*.h
RPM_BUILD_ROOT=$PWD RPM_SUBPACKAGE_NAME=libgtk3vnc-devel ~/git.alt/rpm/scripts/cpp.req.in $PWD/usr/include/gtk-vnc-2.0/vnc*.h
@@ -1,6 +1,6 @@
-libgtk+2-devel
-/usr/include/gtk-vnc-1.0/vncgrabsequence.h
+libgtk+3-devel
+/usr/include/gtk-vnc-2.0/vncgrabsequence.h
 glib2-devel
 glib2-devel
-libgtk+2-devel
+libgtk+3-devel
 /usr/include/gvnc-1.0/vncbaseframebuffer.h
2011-09-18 05:27:41 +04:00
925d594b1b debuginfo.req: fix handling of exotic sonames written as pathnames (ALT#26247) 2011-09-07 23:28:18 +00:00
caad5da212 verify-elf: Add /lib/../lib64 to the list of prohibited RPATH elements 2011-09-07 21:44:34 +00:00
7eea54be91 fixup-desktop: edit files inplace (ALT#25645) 2011-05-20 15:10:41 +00:00
d0efa0675e scripts: cleanup exit/signal handlers 2011-05-14 18:17:53 +00:00
Igor Vlasenko
2b3028a966 fixup-desktop: new file that does trivial fixes in desktop files
Some of the fixes for the freedesktop .desktop files are so routine
and trivial that they better be performed by script.
2011-05-13 21:43:39 +00:00
Alexey Tourbin
808184893c cpp.req: disable for gcc 2011-02-27 07:17:15 +03:00
Alexey Tourbin
91d73ac0ae find-package: prune generic devel deps like gcc4.x in HOST_PKG mode 2011-02-27 06:29:15 +03:00
Alexey Tourbin
3df5f4ac6d cpp.req: try to enter c++ mode after the first failure 2011-02-27 05:34:23 +03:00
Alexey Tourbin
5bce334b5e cpp.req: new dependency generator for header files 2011-02-27 03:51:26 +03:00
Alexey Tourbin
a9278eb466 Revert "pkgconfig.req: pass --print-requires-private to pkg-config"
This reverts commit 2fc9a40da8.
2011-02-27 03:39:08 +03:00
Alexey Tourbin
9b87852e0f shell.req: avoid 'type -t' call for paths
This is to improve 'buildreq -bi' support: 'type -t' will stat
absolute paths and buildreq will make self-dependency.  Note
that in the next command PATH is nullified to avoid stat/search
for regular commands.
2011-02-09 06:31:40 +03:00
Alexey Tourbin
0cf73c5886 lib.req, lib.prov: simplify leading number check in ProvidedSymbols 2011-02-06 03:42:15 +03:00
Alexey Tourbin
a405f7c61e lib.req: indirect functions need dependency on rtld(GNU_IFUNC) 2011-02-06 03:38:32 +03:00
Alexey Tourbin
033bb95511 brp-debuginfo: pass LD_ORIGIN_PATH=/usr/bin to eu-strip
This is the same as with eu-findtextrel and eu-elflint; eu-strip
needs to load EBL backend only with --strip-debug, though.
2011-02-05 23:34:11 +03:00
Alexey Tourbin
c1cccab3d8 debuginfo.req: avoid repeated "not yet debuginfo-enabled" warnings 2011-02-05 04:11:46 +03:00
Alexey Tourbin
91656ccf79 brp-debuginfo: hopefully fixed hardlink support
Note that 'sh -e' mode is unreliable when the last pipeline command
is non-simple command (such as while loop).  So the script was somehow
failing on hardlinks and it went unnoticed.  I choose to replace
pipe-to-while with a temporary file for now.
2011-02-05 01:27:25 +03:00
Alexey Tourbin
614b27b4d1 brp-debuginfo: added /usr/src to prune_paths 2011-02-05 01:27:23 +03:00
Alexey Tourbin
83147e6c03 implemented debuginfo.req and debuginfo.prov 2011-02-04 02:55:25 +03:00
Alexey Tourbin
845fefb64f brp-debuginfo: recognize $RPM_BRP_STRIP_DEBUG and $RPM_BRP_STRIP_NONE
This finally provides missing strip controls.  Note that even with
STRIP_NONE, the file will be edited with debugedit.  So there is no
way to bypass brp-debuginfo completely (and maybe we should tolerate
debugedit failures with STRIP_NONE).  But there is also an advantage:
/usr/src/debug sources will be installed even for non-stripped files!
This is why sources are now associated with .debuginfo/src/"$f"
instead of .debuginfo/src/"$debugf".
2011-02-03 11:30:45 +03:00
Alexey Tourbin
f90e69d3f1 find-debuginfo-files: create /usr/lib/debug/.build-id/ links
It might seem that build-id links should be created in brp-debuginfo.
However, there are corner cases: in brp-debugino, it is not yet known
which files are going to be packaged.  This might be a problem when a
few identical files or hardlinks are created under buildroot: it is
possible create a symbolic link to a "wrong" file which will not be
packaged.

The solution is create build-id links in find-debuginfo-files: the link
will point to the first packaged file with the given build-id.  However,
note that find-debuginfo-files is not part of the install stage, and
should remain "reenterable" (so that e.g. rpm -bl can be executed
multiple times).  This means that the script should not make assumptions
whether the links have already been created.
2011-02-03 09:07:54 +03:00
Alexey Tourbin
3132ca2851 4.0.4-alt100.15
- build/files.c (runPkgScript): New helper function for autodep-like scripts.
- build/files.c (makeDebugInfo): Implemented automatic *-debuginfo packages.
- find-debuginfo-files: Initial revision, makes *-debuginfo %files list.
- GROUPS: added Development/Debug.
- build/interdep.c: Initial revision, inter-package analysis and optimizations.
- build/interdep.c: Prune /usr/src/debug dups among dependent subpackages.
2011-01-31 07:34:46 +03:00
Alexey Tourbin
f0be1f05f3 find-debuginfo-files: make %dir list for /usr/lib/debug and /usr/src/debug 2011-01-31 03:31:12 +03:00
Alexey Tourbin
88e69e89fd find-debuginfo-files: initial revision 2011-01-31 03:24:01 +03:00
Alexey Tourbin
0f284964f3 4.0.4-alt100.14
- debugedit.c: Imported from rpm.org.
- brp-debuginfo: Initial revision, replaces brp-strip.
- verify-elf: Do not descend into /usr/lib/debug.
- build/checkFiles.c: Skip /usr/lib/debug and /usr/src/debug for now.
- platform.in: Always use -g in %optflags.
2011-01-30 04:20:31 +03:00
Alexey Tourbin
f41c1bffca brp-debuginfo: preserve timestamps 2011-01-30 03:35:57 +03:00
Alexey Tourbin
4bdee95777 brp-debuginfo: handle sources 2011-01-30 03:32:08 +03:00
Alexey Tourbin
78a1d2b844 brp-debuginfo: make symbolic links 2011-01-30 03:32:06 +03:00
Alexey Tourbin
e0572f5d41 verify-elf: do not descend into /usr/lib/debug 2011-01-30 03:11:30 +03:00
Alexey Tourbin
f13cfad5f8 brp-debuginfo: intial revision, replaces brp-strip 2011-01-30 03:10:15 +03:00
Alexey Tourbin
d3c57d3ee4 build/checkFiles.c: reimplemented checkFiles() using fts(3) 2011-01-15 11:48:33 +03:00
0d030af93f find-lang (FIND_MAN): support man page paths with more than one symbol after dot (ALT#24466) 2010-11-01 22:36:09 +00:00
2fc9a40da8 pkgconfig.req: pass --print-requires-private to pkg-config 2010-11-01 20:53:06 +00:00
Alexey Tourbin
558c99596f lib.req: added missing LC_ALL=C for fgrep 2010-10-12 03:26:25 +04:00
Alexey Tourbin
6a547aefef lib.req, lib.prov: added ENABLE_SET_VERSIONS=1 flag 2010-10-12 03:24:19 +04:00
Alexey Tourbin
34f4788fb2 scripts/functions: invoke av_action with </dev/null 2010-10-04 02:13:53 +04:00
Alexey Tourbin
49066900de lib.req: updated underlinking check for file-level dependencies 2010-10-04 00:08:27 +04:00
Alexey Tourbin
d1ced258db lib.req: implemented set-versions for soname dependencies 2010-10-01 08:48:48 +04:00
Alexey Tourbin
e1970e44d5 lib.prov (SuggestBPP): minor glitch in description 2010-10-01 08:30:45 +04:00
Alexey Tourbin
dee07e402b ldd.in: added --bindings option 2010-10-01 01:57:35 +04:00
Alexey Tourbin
973e4d19b3 lib.req: reindented, no changes 2010-09-30 17:16:12 +04:00
0b8394d51d 0common-files.req.list: add /lib64/udev and /lib64/udev/rules.d
Neither /lib64/udev nor /lib64/udev/rules.d is going to be provided.
These lines will just result to unmet requirements.
2010-09-24 10:46:36 +00:00
bec54ac071 0common-files.req.list: add /etc/sysctl.d 2010-09-24 10:22:39 +00:00
b55f8b12a5 0common-files.req.list: add /lib/udev/rules.d 2010-09-24 09:39:42 +00:00
Alexey Tourbin
49950b83b6 brp-cleanup: updated for /usr/lib64/perl5 and /usr/share/perl5 2010-09-19 09:58:12 +04:00
Alexey Tourbin
e70027f478 lib.prov: implemented soname set-versioning with exported symbols 2010-09-11 02:32:12 +04:00
Alexey Tourbin
5f10a0f256 lib.prov: reindented, minor changes 2010-09-11 02:20:58 +04:00
d44677b913 shebang.req (ShebangReq): fix the check for absolute pathname (ALT#23716) 2010-07-03 00:23:03 +00:00
7b74686984 shebang.req (ShebangReq): ensure that interpreter is specified as an absolute pathname (ALT#20096) 2010-07-01 16:14:06 +00:00
cd86fe2063 pkgconfig.req (PkgconfigReqProv): relax version check 2010-07-01 13:23:01 +00:00
8b818f6df4 brp-verify_elf: disable lint check on ARM 2010-04-14 14:38:27 +00:00
Alexey Tourbin
16fc089388 find-requires, find-scriptlet-requires: enabled FINDPACKAGE-COMMANDS output 2010-04-08 11:24:58 +04:00
Alexey Tourbin
843562f82b find-package: introduced RPM_FINDPACKAGE_COMMANDS_LOG 2010-04-08 11:24:57 +04:00
Alexey Tourbin
959c18fe5e find-package: renamed FindByPath -> FindByFile 2010-04-08 11:24:55 +04:00
Alexey Tourbin
48c22c9ff9 shell.req: fixed English 2010-04-08 11:24:54 +04:00
Alexey Tourbin
4e9dcb1346 shell.req: removed $sh --rpm-requires test 2010-04-08 11:24:52 +04:00
Alexey Tourbin
859a56a738 shell.req: reverted extra "functions vs executable" diagnostics 2010-04-08 11:24:51 +04:00
Alexey Tourbin
3223ba1c5d brp-strip: select ELF files and .a archives with single file(1) invocation
Tested with gnome-icon-themes-oxygen-refit2-2.3-alt1.src.rpm.
Old result: 25 seconds, new result: 3 seconds.
2010-03-27 00:00:28 +03:00
f7132135d3 lib.req: Recognize STB_GNU_UNIQUE symbols and add rtld(GNU_UNIQUE) requirement for objects that contain such symbols 2010-01-12 23:39:02 +00:00
Alexey Tourbin
44557d20ee brp-bytecompile_python: updated copyright statement 2009-12-21 03:43:28 +03:00
Alexey Tourbin
7cb73452f0 brp-bytecompile_python: hadlink indentical .pyc and .pyo files 2009-12-21 03:42:38 +03:00
d908f56dc4 brp-verify_elf: Set default lint mode to "relaxed", add "default" mode 2009-12-20 17:03:20 +00:00
77c93a9c97 verify-elf: Omit duplicate lines from eu-findtextrel's output 2009-12-20 15:25:02 +00:00
82fcd333bb brp-verify_elf: Fix typo introduced by commit 7d83e49285 2009-12-20 15:10:49 +00:00
Alexey Tourbin
e845c7f14b verify-elf: fixed typos in VERIFY_ELF_RPATH test
Since "RPATH containts :" test never worked, I downgrade it
to a warning.
2009-12-20 01:45:23 +03:00
Alexey Tourbin
b3b979a6f2 brp-alt: execute brp-strip before brp-verify_elf
There are two reasons:
1) It is better to verify final ELF objects just as they are packaged.
2) Older eu-elflint barks at unstripped binaries like this:
section [ 8] '.comment' has wrong flags: expected none, is MERGE|STRINGS
This seems to be fixed in elfutils 0.143-alt1, but otherwise that could
be a major problem.
2009-12-19 03:25:53 +03:00
Alexey Tourbin
cb4fcda459 brp-verify_elf, verify-elf: updated copyright statement 2009-12-19 03:25:52 +03:00
Alexey Tourbin
51f460bb75 verify-elf: simplifed prefix/rc expressions 2009-12-19 03:25:51 +03:00
Alexey Tourbin
e8e60796bb verify-elf: use eu-findtextrel to provide better TEXTREL diagnostics 2009-12-19 03:25:51 +03:00
Alexey Tourbin
7d83e49285 verify-elf: implemented new "lint" method using "eu-elflint --gnu-ld" 2009-12-19 03:25:23 +03:00
Alexey Tourbin
e6683d0de4 brp-verify_elf, verify-elf: simplify VERIFY_ELF_* parameter passing 2009-12-18 22:55:46 +03:00
Alexey Tourbin
f82116d5f9 brp-verify_elf: select ELF files with signle file(1) invocation
Also, move RPM_VERIFY_ELF_SKIPLIST logic from verify-elf to
brp-verify_elf, since RPM_VERIFY_ELF_TOPDIR is already there.
Normally, verify-elf should be a standalone program (available
for users).  It's just not quite ready yet.
2009-12-18 22:52:34 +03:00
Alexey Tourbin
4c4d73c44e 4.0.4-alt98.21
- rpmio, rpmbuild: Added support for .xz/.lzma compressed sources and patches.
- Removed old scripts in /usr/lib/rpm.
2009-09-29 16:38:57 +04:00
Alexey Tourbin
f68c71a2d5 4.0.4-alt97.M50.18
- rpmio, rpmbuild: Added support for .xz/.lzma compressed sources and patches.
- Removed old scripts in /usr/lib/rpm.
2009-09-29 16:30:39 +04:00
Alexey Tourbin
1ccf0dd03c 4.0.4-alt95.M41.28
- rpmio, rpmbuild: Added support for .xz/.lzma compressed sources and patches.
- Removed old scripts in /usr/lib/rpm.
2009-09-29 16:20:33 +04:00
Alexey Tourbin
1ef7949b93 scripts/Makefile.am: tweak to facilitate merging 2009-09-29 15:31:32 +04:00
Alexey Tourbin
6795a36bb1 great removal 2009-09-29 15:29:52 +04:00
Alexey Tourbin
295cc50be1 4.0.4-alt98.19
- rpmio: Updated lzma compression routines for xz-5.0 API.
- Packaged /usr/bin/rpm2cpio.static.
2009-09-24 12:49:32 +04:00
Alexey Tourbin
79be480d0e 4.0.4-alt97.M50.16
- rpmio: Updated lzma compression routines for xz-5.0 API.
- Packaged /usr/bin/rpm2cpio.static.
2009-09-24 12:48:17 +04:00
Alexey Tourbin
776a15f6b8 4.0.4-alt95.M41.25
- rpmio: Updated lzma compression routines for xz-5.0 API.
- Packaged /usr/bin/rpm2cpio.static.
2009-09-24 12:46:31 +04:00
Alexey Tourbin
9abb0ba661 rpm2cpio.sh: output raw/compressed cpio stream 2009-09-24 12:35:42 +04:00
Alexey Tourbin
642df51ba8 4.0.4-alt98.16
- find-package: Removed contents_index_all search, enabled file-level dependencies.
2009-07-01 23:11:36 +04:00
Alexey Tourbin
1d6c258d06 4.0.4-alt97.M50.14
- find-package: Removed contents_index_all search, enabled file-level dependencies.
2009-07-01 23:09:48 +04:00
Alexey Tourbin
70ab659464 find-package: changed "not found" diagnostics to "not installed" 2009-07-01 23:04:32 +04:00
Alexey Tourbin
a55bb554aa find-package: removed contents_index_all and APT-friendly stuff 2009-07-01 23:04:24 +04:00
3b7f90e0ee brp-cleanup.in: Replace "subst -p" with "sed -i", change PAM spacing 2009-06-26 21:29:58 +00:00
d89c43384b brp-cleanup.in: Replace PAM include syntax with PAM substack 2009-06-26 20:12:52 +00:00
8a14e46491 pam.req.in: Handle lines with conditional controls 2009-06-26 00:17:19 +00:00
53ca55db87 pam.req.in: Handle lines with leading whitespaces 2009-06-26 00:11:56 +00:00
8adbd523fb pam.req.in: Cleanup: "sed -ne" -> "sed -n" 2009-06-26 00:10:17 +00:00
eef44cccfc pam.req.in: Add optional modules support 2009-06-26 00:09:07 +00:00
Alexey Tourbin
d4327f8968 4.0.4-alt98.14
- shell.req.files: Adjusted /bin/ash script detection.
2009-06-21 00:22:58 +04:00
Alexey Tourbin
d33024c1fe 4.0.4-alt97.M50.13
- shell.req.files: Adjusted /bin/ash script detection.
2009-06-21 00:21:56 +04:00
Alexey Tourbin
b4bb9944c6 shell.req.files: adjusted /bin/ash pattern
file(1) sucks here, but we should handle one more common case.

$ file - <<<'#!/bin/ash'
/dev/stdin: a /bin/ash script text executable
$ file - <<<'#!/bin/ash -efu'
/dev/stdin: a /bin/ash -efu script text executable
$ file - <<<'#!/bin/ash  -efu'
/dev/stdin: a /bin/ash  -efu script text executable
$ file - <<<'#! /bin/ash  -efu'
/dev/stdin: a /bin/ash  -efu script text executable
$ file - <<<'#!  /bin/ash  -efu'
/dev/stdin: script text executable for  /bin/ash  -efu
$
2009-06-21 00:20:31 +04:00
db3de70e0a Implement info files verification 2009-05-20 23:25:58 +00:00
213e004614 scripts/brp-compress.in: Avoid non-standard info directories (ALT#19993) 2009-05-20 21:51:11 +00:00
Alexey Tourbin
d7abcfb9dc 4.0.4-alt98.5
- rpmdb: Removed db1 support.
- db3.c (db3close): Backported fix for double close (RH#138589).
2009-04-23 17:51:22 +04:00
Alexey Tourbin
4ea6d71109 4.0.4-alt97.M50.6
- rpmdb: Removed db1 support.
- db3.c (db3close): Backported fix for double close (RH#138589).
2009-04-23 17:49:25 +04:00
Alexey Tourbin
fcf51a9c59 4.0.4-alt95.M41.17
- rpmdb: Removed db1 support.
- db3.c (db3close): Backported fix for double close (RH#138589).
2009-04-23 17:31:39 +04:00
Alexey Tourbin
af4053bfa0 rpmdb: removed db1 support 2009-04-23 13:49:52 +04:00
93430b8c85 4.0.4-alt98.4
- rpm.8: Fixed typo (closes: #19356).
- platform.in: Added macros: %_logrotatedir, %_runtimedir (closes: #13639).
- Dropped deprecated RPMTAG_RHNPLATFORM support.
- Dropped unused RPMTAG_PLATFORM support.
- rpmVersionCompare(): Added handling of omitted tags.
- rpmevrcmp: Changed to use rpmVersionCompare() instead of rpmEVRcmp().
- 0common-files.req.list: Added /etc/X11/wms-methods.d (Igor Vlasenko).
2009-04-18 20:34:48 +00:00
Igor Vlasenko
9d17c0b879 0common-files.req.list: Add /etc/X11/wms-methods.d (xinitrc) 2009-04-09 21:11:19 +00:00
840e9d57e2 0common-files.req.list: Remove /etc/tex-fonts.d
Prepare /etc/tex-fonts.d migration from tetex-core to tex-common.
2009-02-19 23:02:13 +00:00
f8fb514ad6 Revert "rpmlib.req: generate rpmlib(PosttransFiletriggers) dependency for /usr/lib/rpm/*.filetrigger"
Disable automatic rpmlib(PosttransFiletriggers) requirements for M41.

This reverts commit 3a9f159460.
2008-11-25 15:37:14 +00:00
d975fc66c1 Introduce /usr/lib/rpm/macros.d/ (ALT#17948) 2008-11-21 00:25:45 +00:00
8b91f45651 0common-files.req.list: Add /etc/sysconfig/limits.d (service) 2008-11-13 01:48:58 +03:00
1a9569d6ec Revert "verify-elf.in: PIE executables on ARM always has TEXTREL, do not check them"
PIE support without TEXTRELs on ARM was implemented in glibc-2.8.90-alt3,
for details see http://lists.altlinux.org/pipermail/devel/2008-November/162638.html

This reverts commit 816b34cd86.
2008-11-13 01:48:58 +03:00
Alexey Tourbin
3c75eaca60 4.0.4-alt96.11
- implemented post-transaction filetriggers, loosely based on filetriggers.patch
  from Mandriva Linux (see %_rpmlibdir/posttrans-filetriggers for details)
- implemented %_rpmlibdir/0ldconfig.filetrigger, so that packages with
  shared libraries need not to invoke ldconfig(1) in they %%post-scriptlets
- rpmlib.req: automatically generate rpmlib(PosttransFiletriggers) dependency
  for packages which provide %_rpmlibdir/*.filetrigger programs
2008-11-13 01:01:07 +03:00
Alexey Tourbin
3a9f159460 rpmlib.req: generate rpmlib(PosttransFiletriggers) dependency for /usr/lib/rpm/*.filetrigger 2008-11-13 00:57:57 +03:00
Alexey Tourbin
4acd4051a0 4.0.4-alt95.M41.6+
- implemented post-transaction filetriggers, loosely based on filetriggers.patch
  from Mandriva Linux (see %_rpmlibdir/posttrans-filetriggers for details)
- implemented %_rpmlibdir/0ldconfig.filetrigger, so that packages with
  shared libraries need not to invoke ldconfig(1) in they %%post-scriptlets
2008-11-13 00:55:42 +03:00
Alexey Tourbin
f7593429ff posttrans-filetriggers: minor changes 2008-11-12 05:10:51 +03:00
Alexey Tourbin
b97cda599e 0ldconfig.filetrigger: simplified system library check 2008-11-12 05:10:51 +03:00
Alexey Tourbin
a70594a4a3 0ldconfig.filetrigger: execute "/sbin/update_chrooted lib" for /lib and /lib64 2008-11-12 05:10:51 +03:00
Alexey Tourbin
639f3382c9 0ldconfig.filetrigger: new script 2008-11-12 05:10:51 +03:00
Alexey Tourbin
ed6095e54a posttrans-filetriggers: better description 2008-11-12 05:10:11 +03:00
Alexey Tourbin
4ada155008 implemented posttrans filetriggers, vaguely based on Mandriva patch 2008-11-12 05:10:11 +03:00
5426c19c5b fixup-libraries: Enhance recognition of ELF executables
According to /usr/lib/ldscripts/elf_*,
- every ELF executable linked by GNU ld using one of default linker
scripts contains .interp section;
- every ELF shared library linked by GNU ld using one of default linker
scripts does not contain .interp section.
2008-10-19 23:56:49 +00:00
213c77b2d2 scripts/brp-cleanup.in: Remove .gitignore files as well 2008-10-17 14:46:22 +00:00
Alexey Tourbin
e4ee0c28f8 4.0.4-alt96.7
- build/reqprov.c: when folding duplicate dependencies, Requires(pre)
  or Requires(post) should not opimitze out bare Requires
- build/files.c: execute find-requires before find-scriptlet-requires
- 0common-files.req.list: added /etc/rc.d/init.d (service)
2008-10-06 10:00:15 +04:00
Alexey Tourbin
bcb791335c 0common-files.req.list: added /etc/rc.d/init.d (service) 2008-10-06 09:55:35 +04:00