Commit Graph

365 Commits

Author SHA1 Message Date
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
Alexey Tourbin
5afc5290c7 shebang.req: fixed typo in description, spotted by Slava Semushin 2008-10-02 16:04:18 +00:00
Alexey Tourbin
3b148e0821 shebang.req: fixed typo in description, spotted by Slava Semushin 2008-09-16 15:20:36 +04:00
Alexey Tourbin
fc4b584b3d 4.0.4-alt96.4
- shebang.req: check for trailing <CR> in interpreter path or name;
  also, validate argc, since neither execve(2) nor env(1) split arguments
2008-09-14 13:20:11 +04:00
Alexey Tourbin
d0c2f92f05 shebang.req: validate argc and <CR>
1) In Linux, execve(2) does not split shebang arguments, which implies
that effectively only one argument can be passed to the interpreter.
However, some interpreters, esp. perl, can do a magic here, which is
to split its arguments.

2) Neither /usr/bin/env can split arguments, and no magic is possible
at all.

3) Interpreter path (or name) must not end with <CR>, otherwise execve
(resp. /usr/bin/env) is deemed to fail.  However, some interpreters,
esp. perl, can strip trailing <CR> in its command line options.
2008-09-14 13:17:22 +04:00
faa42cb00e find-lang: Update usage (Slava Semushin; closes: ALT#15492) 2008-08-29 13:54:04 +00:00
Alexey Tourbin
b46be108bd find-package: updated check for file path components being alternatives 2008-08-19 23:58:39 +04:00
77a7f3cc55 Merge branch 'altlinux-4.0'
Conflicts:

	rpm-4_0.spec
2008-07-08 17:57:45 +00:00
af29ee4d70 fixup-libtool, fixup-pkgconfig: Quote substitution text (ALT#11437) 2008-07-07 22:07:40 +00:00
Alexey Tourbin
362a93334a lib.req: use CanonPath() to deal with RPATH like $ORIGIN/../lib 2008-07-07 02:23:34 +04:00
Alexey Tourbin
571a12cbdd files.req: added description and copyright 2008-06-22 11:52:53 +04:00
Alexey Tourbin
92b666e6b3 0common-files.req.list: added package names (for ownership check) 2008-06-22 10:48:19 +04:00
Alexey Tourbin
dae2eb7249 files.req: reserve second field in *-files.req.list for owner package name 2008-06-17 08:05:10 +04:00
Alexey Tourbin
c4f579077e files.req: modular /usr/lib/rpm/*-files.req.list with longest match 2008-06-16 13:05:37 +04:00
Alexey Tourbin
06bf496189 find-package (FindByName): set RPM_FINDPACKAGE_HOST_PKG_NAMES=1 for host-system lookup
This should affect dependencies only when no contents_index_bin is available.
After "APT-freindly" logic was introduced, host-system lookup always yields
file paths, but we want package names (except for alternatives etc.).

(old behaviour)
$ sh -c '. /usr/lib/rpm/find-package; FindPackage script perl'
/usr/bin/perl
$

(new behaviour)
$ sh -c '. ./scripts/find-package.in; FindPackage script perl'
perl-base
$
2008-06-14 22:34:43 +04:00
Alexey Tourbin
7d605fbd96 pkgconfiglib.req: use RPM_FINDPACKAGE_HOST_PKG_NAMES=1; removed glibc-devel optimization 2008-06-14 22:34:02 +04:00
Alexey Tourbin
737b8a005b find-package: introduced RPM_FINDPACKAGE_HOST_PKG_NAMES 2008-06-14 22:15:05 +04:00
Alexey Tourbin
d7dbd5f2ff find-{provides,requires,scriptlet-requires}: report method failures 2008-06-04 03:26:23 +04:00
Alexey Tourbin
4a557675fc Merge branch 'altlinux-4.0' 2008-05-30 22:25:55 +04:00
Alexey Tourbin
dbfaf59314 scripts/rpm2cpio.sh: deal with decompressors 2008-05-24 20:24:39 +04:00
Alexey Tourbin
d1aea84b93 scripts: use 'chmod -c' 2008-05-05 02:36:14 +04:00
Mikhail Gusarov
dda9979823 Removing .cvsignore files during brp-cleanup as well. 2008-04-10 00:48:26 +07:00
Alexey Tourbin
47bd8eff65 shebang.req: don't read the whole script
$ (echo '#!/usr/bin/perl'; cat /dev/zero) |sed -n '1s|^#![[:space:]]*/|/|p;q'
/usr/bin/perl
$
2008-04-01 15:33:19 +04:00
Alexey Tourbin
eb301af2f4 lib.req: do not optimize dependencies on standard ELF interpreter 2008-03-17 21:07:06 +03:00
f1ed4d2bdd scripts: Replace paths to basic programs with their names
Absolute pathnames in shell scripts are redundant, $PATH is enough.
2008-02-29 12:30:29 +00:00
10a67f5ef4 Revert "find-package (FindByPath): optimize out /bin/sh /bin/cat etc."
This reverts commit 54e8a1cff1.
2008-02-27 15:08:12 +00:00
86452d3194 Revert "find-package (FindByName): optimize out sh cat etc."
This reverts commit a93f78c60a.
2008-02-27 15:06:08 +00:00
63003fbeb9 Fix typos 2008-02-25 20:07:05 +00:00
816b34cd86 verify-elf.in: PIE executables on ARM always has TEXTREL, do not check them 2008-02-24 23:10:38 +00:00
Alexey Tourbin
3b998b2e3c Merge branch 'master' of git.alt:/people/ldv/packages/rpm 2008-02-23 08:23:37 +03:00
c20d7af1d2 pam.req.in: Add substack support 2008-02-22 22:38:08 +00:00
Alexey Tourbin
810f4045ed find-package: removed findpackage_xbroot stuff 2008-02-19 06:29:30 +03:00
Alexey Tourbin
e0598b6fe3 functions (ValidateBuildRoot): require canonical RPM_BUILD_ROOT
Some scripts like lib.req rely on the fact that RPM_BUILD_ROOT
should not end with trailing slashes or something.  Other
scripts like find-package explicitly assume that RPM_BUILD_ROOT
can be relocated within filesystem; they use something like
"real_buildroot" variables.  The code gets complicated,
fragile, and error-prone.

Therefore, guys, hereby I FORBID non-canonical RPM_BUILD_ROOT path.
Note that RPM_BUILD_ROOT actually does not have to exist.
This is another problem...
2008-02-19 06:28:14 +03:00
Alexey Tourbin
17b1c6b296 lib.req: return early if there is no dynamic section, to stop ldd failures with klibc executables
(before this commit)
$ ./scripts/lib.req.in /lib/mkinitrd/udev/lib/udev/usb_id
/lib/klibc-LqkyBjjvuUwwxYg5B9IteGNsWsI.so
ldd: ERROR: /lib/mkinitrd/udev/lib/udev/usb_id: trace failed
$

(after this commit)
$ ./scripts/lib.req.in /lib/mkinitrd/udev/lib/udev/usb_id
/lib/klibc-LqkyBjjvuUwwxYg5B9IteGNsWsI.so
$
2008-02-19 00:43:21 +03:00
Alexey Tourbin
e1bb17d070 lib.req.files: check "uses shared libs" as well as "dynamically linked", for klibc binaries 2008-02-19 00:22:23 +03:00
Alexey Tourbin
903c1810f3 lib.req: enabled ELF interp dependencies except for standard glibc's /lib*/ld-linux*.so.2 2008-02-18 22:31:29 +03:00
Alexey Tourbin
bf4a93fd36 s/\.packaged-files:/.files:/g 2008-02-18 18:26:21 +03:00
Alexey Tourbin
cb01bdf610 find-package (FindByName): buildroot topdir goes sbin-ish, for scriptlets 2008-02-02 01:21:10 +03:00