58 Commits

Author SHA1 Message Date
f8fb514ad6 Revert "rpmlib.req: generate rpmlib(PosttransFiletriggers) dependency for /usr/lib/rpm/*.filetrigger"
Disable automatic rpmlib(PosttransFiletriggers) requirements for M41.

This reverts commit 3a9f15946021e175d8b8ba7a7696f939465c598f.
2008-11-25 15:37:14 +00:00
Alexey Tourbin
82d6fbdfe6 4.0.4-alt95.M41.8
- fixed crash in previous release (Dmitry V. Levin)
2008-11-13 07:12:42 +03:00
619c3251eb configure.in: AC_CHECK_HEADERS(locale.h)
(cherry picked from commit a6d12fe94ca99f590275c35b9224da0aa0db323f)
2008-11-13 03:47:28 +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
4ada155008 implemented posttrans filetriggers, vaguely based on Mandriva patch 2008-11-12 05:10:11 +03:00
Alexey Tourbin
b3c6a8452e implemented /usr/lib/rpm/find-scriptlet-requires 2008-01-25 22:01:51 +03:00
e6d18b0591 Merge branch 'altlinux-4.0' 2007-11-10 13:27:49 +00:00
Kirill A. Shutemov
f002179ab8 Refresh ARM support
Add arm and armb CANONARCH: common CANONARCH for general purpose distribution. It's armv4 without Thumb now.
Update %optflags for ARM
Add %arm macros: list of all ARM processors
2007-11-10 13:26:45 +00:00
a6f4e2a41e More %_target_platform tweaks: cleanup build_os filter; initialize %_gnueabi; replace %_gnu with %_gnueabi in %_target_platform 2007-11-10 13:26:21 +00:00
Kirill A. Shutemov
ddab849441 - %_gnu appended to %_target_platform
- %_gnu is -gnueabi for gnueabi targets
2007-11-10 15:45:30 +03:00
Alexey Tourbin
e247bb88db enabled pkgconfiglib.req 2007-10-29 14:21:47 +03:00
Alexey Tourbin
c5dd9e98c3 merged pkgconfig.{req,prov} scripts into pkgconfig.req, added install-data-local target 2007-08-28 18:11:26 +04:00
Alexey Tourbin
9693c85f52 implemented symlinks.req
Consider R-devel package, which has its own private bin/ directory,
where it keeps certain scripts.

$ rpm -ql R-devel |grep libtool
/usr/lib/R/bin/libtool
$ rpm -ql R-devel |grep texi2dvi
/usr/lib/R/bin/texi2dvi
$

I replace some scripts, such as libtool, with wrappers:

$ tail -1 /usr/lib/R/bin/libtool
exec /usr/bin/libtool "$@"
$

R-devel now has a libtool dependency, generated by shell.req:

$ rpm -qR R-devel |grep libtool
libtool-common
$ rpm -qf /usr/bin/libtool
libtool-common-0.2-alt1
$

However, I want the very same dependency SIMPLY BY PLACING SYMBOLIC LINK
to /usr/bin/libtool.  My new script symlinks.req implements this idea.

It works as follows:

1) We check all absolute symbolic links, e.g. -> /usr/bin/libtool.
If symbolic link is absolute, we fetch its value and feed to FindPackage.
Note that FindPackage will first check whether e.g. /usr/bin/libtool is
available under RPM_BUILD_ROOT.

2) We also check all broken symbolic links, e.g. -> ../../../bin/libtool.
The fact that symbolic link is broken means that it cannot be resolved into
buildroot and otherwise must be resolved in the host system after the package
is installed, which is the dependency on where it would point to after install.

This means we must canonicalize the link value, strip RPM_BUILD_ROOT,
and then call FindPackage.  Here is what happens:

$ cd `mktemp -d`
$ RPM_BUILD_ROOT=$PWD
$ mkdir -p ./usr/lib/R/bin/
$ ln -s `relative /usr/bin/libtool /usr/lib/R/bin/libtool` $RPM_BUILD_ROOT/usr/lib/R/bin/libtool
$ l $RPM_BUILD_ROOT/usr/lib/R/bin/libtool
lrwxrwxrwx 1 at at 20 Mar  9 22:14 /tmp/.private/at/tmp.AHnBX26473/usr/lib/R/bin/libtool -> ../../../bin/libtool
$ [ -e $RPM_BUILD_ROOT/usr/lib/R/bin/libtool ] || echo broken
broken
$ readlink -vm $RPM_BUILD_ROOT/usr/lib/R/bin/libtool
/tmp/.private/at/tmp.AHnBX26473/usr/bin/libtool
$ to=`!!`; echo ${to#$RPM_BUILD_ROOT}
/usr/bin/libtool
$

And then FindPackage is called with "/usr/bin/libtool".

Now note that if FindPackage is not able to associate e.g. /usr/bin/libtool
with any particular rpm package, it will just place raw dependency on
/usr/bin/libtool.  So, this new type of dependencies is a bit dangerous:
basically for each really broken symbolic link there will be an unmet
dependency.  On the other hand, this can be viewed as a means of protection
from packages with really broken symbolic links.

If you are frightened with this brand new and dangerous type of dependencies,
please also note that this new type of dependencies is not much more dangerous
than absolute paths to executables in plain shell scripts.

$ /usr/lib/rpm/shell.req -v /dev/stdin <<</i/am/unmet
error: file /i/am/unmet: No such file or directory
shell.req: /dev/stdin: /i/am/unmet -> /i/am/unmet (raw, not found)
/i/am/unmet
$
2007-03-12 15:06:09 +03:00
Alexey Tourbin
c33a51b79c factored files.req 2007-03-12 15:05:18 +03:00
Alexey Tourbin
80c40744e1 factored static.req 2007-03-11 15:00:35 +03:00
Alexey Tourbin
f0ec810739 factored lib.req and lib.prov
Moved old code from find-requires and find-provides to lib.req and lib.prov.
For some reason, also a few python-related lines was removed.

Adapted lib.req and lib.prov to work without RPM_BUILD_ROOT.

In lib.prov, simplified RPM_FINDPROV_LIB_PATH handling (replaced
`lookup_path "$dir" "$PATH"' with `[ -z "${PATH##* $dir *}" ]').

Added lib.req.files and lib.prov.files.
2007-03-11 15:00:33 +03:00
Alexey Tourbin
2fc12ef2fa factored shebang.req
This is the dependency generator for #! lines.
shebang.req.files makes sure that only executable scripts are processed.

Here is why I chose the "shebang" name.

From Jargon File (4.3.1, 29 Jun 2001) [jargon]:

  shebang /sh*-bang/ n. The character sequence "#!" that frequently
     begins executable shell scripts under Unix. Probably derived from "shell
     bang" under the influence of American slang "the whole shebang"
     (everything, the works).

$ cd /usr/lib/perl5/pod
$ grep -i sharpbang *
perltoc.pod:C<shar>, C<sharpbang>, C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>,
$ grep -i shebang *
perl58delta.pod:The command-line options -s and -F are now recognized on the shebang
perlbs2000.pod:BS2000 POSIX doesn't support the shebang notation
perlfaq3.pod:batch file and codify it in C<ALTERNATE_SHEBANG> (see the
perlfaq7.pod:line in your perl script (the "shebang" line) does not contain the
perlfaq7.pod:where you expect it so you need to adjust your shebang line.
perlfaq8.pod:but my shebang line is not the path to perl, so the shell runs the
perlglossary.pod:=item shebang
perljp.pod: "shebang"ѹǡJperlѤscriptΤۤȤɤѹʤѲǽȻפޤ
perlplan9.pod:such as "#!/usr/local/bin/perl". This is known as a shebang
perlplan9.pod:shebang path from config information located in Plan 9
perlport.pod:sub-systems do not support the C<#!> shebang trick for script invocation.
perlport.pod:OS/390 will support the C<#!> shebang trick in release 2.8 and beyond.
perlrun.pod:C<ALTERNATE_SHEBANG> (see the F<dosish.h> file in the source
perltoc.pod:serialization, server, service, setgid, setuid, shared memory, shebang,
perlwin32.pod:Perl scripts on UNIX use the "#!" (a.k.a "shebang") line to
$
2007-03-11 15:00:24 +03:00
9506eb04e8 Implemented pkgconfig reqprov support and enabled it by default. 2006-02-02 01:51:38 +00:00
cfcf38a9ad Add ldd 2006-01-14 17:59:41 +00:00
a4397f4c4a recognize gelf.h properly 2005-10-18 10:39:46 +00:00
887cff9d84 link with libelf by default 2005-10-15 19:16:25 +00:00
538f3f157b build with -fno-strict-aliasing 2005-06-15 15:02:29 +00:00
66b2845d78 changes in prev change 2004-02-20 21:47:42 +00:00
12cd8bb9a8 changes in prev change 2004-02-20 21:36:44 +00:00
313a8234d8 spelling in prev change 2004-02-20 21:28:54 +00:00
e9df420439 simplify -ldb lookup 2004-02-20 21:23:04 +00:00
dee6d1cd47 removed c++ from build dependencies 2004-01-21 16:25:27 +00:00
65a1bfcf20 optimize out -lpthread 2003-11-25 09:15:28 +00:00
1cff6d97bc makefiles cleanup1 2003-11-24 20:44:29 +00:00
ee5539e668 cleanup2 2003-11-24 18:31:42 +00:00
90b3db509a cleanup1 2003-11-24 17:00:41 +00:00
26201c14ea rename scripts 2003-11-09 16:51:30 +00:00
a04b814864 fixed build without python (#2802) 2003-08-26 18:02:45 +00:00
d75d9c0891 removed misc subdir 2002-12-09 21:32:19 +00:00
105d5035bc use AM_INTL_SUBDIR 2002-12-09 12:14:16 +00:00
33892e0f4a gettextized 2002-12-09 11:46:24 +00:00
feebcf72e9 migrated to new gettext 2002-10-23 13:01:34 +00:00
220e619eb0 migrated to new gettext 2002-10-23 12:51:12 +00:00
6c10096626 migrated to new gettext 2002-10-23 12:36:03 +00:00
654f26233e migrated to new gettext 2002-10-23 12:20:16 +00:00
e02bdc0e87 migrated to new gettext 2002-10-23 12:14:47 +00:00
f513cdf722 migrated to new gettext 2002-10-23 11:21:19 +00:00
88ffe0d9e0 migrated to new gettext 2002-10-23 11:08:53 +00:00
c4414a7928 new method now gets executed after %install: fixup 2002-10-02 15:08:15 +00:00
d610a629b1 new brp method: verify_elf 2002-09-09 12:53:49 +00:00
a6199ab8aa configured and added %__subst 2002-08-29 15:07:12 +00:00
863160a127 fixed typo made in latest merge 2002-08-03 16:56:46 +00:00
6cc64fa4ea updated code to snapshot 2002-06-15 of 4_0 branch 2002-08-03 16:35:14 +00:00
8b276d11ec added definition of VENDORRPMRC_FILENAME 2002-08-03 15:04:19 +00:00