257 Commits

Author SHA1 Message Date
Alexey Tourbin
b842bf5b4a files.c (addFile): file path must match buildroot
Sample %files section:

%files
/../gcc-common-buildroot

Old behaviour:
$ rpm -bb test.spec
...
Wrote: /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm
$ rpm -qlvp /home/at/RPM/RPMS/athlon/test-1.0-alt1.athlon.rpm |head
drwxr-xr-x    2 root    root                0 Mar 22 22:20 ldroot
-rw-r--r--    1 root    root               73 Mar 22 22:20 ldroot/.files:gcc-c++-common
-rw-r--r--    1 root    root              508 Mar 22 22:20 ldroot/.files:gcc-common
-rw-r--r--    1 root    root              147 Mar 22 22:20 ldroot/.files:gcc-fortran-common
-rw-r--r--    1 root    root              348 Mar 22 22:20 ldroot/.files:gcc-java-common
-rw-r--r--    1 root    root               66 Mar 22 22:20 ldroot/.files:gcc-treelang-common
-rw-r--r--    1 root    root              117 Mar 22 22:20 ldroot/.files:libgcj-common
-rwxr-xr-x    1 root    root               80 Mar 22 22:20 ldroot/.post:gcc-common
-rwxr-xr-x    1 root    root              124 Mar 22 22:20 ldroot/.preun:gcc-common
drwxr-xr-x    2 root    root                0 Mar 22 22:20 ldroot/etc
$

New behaviour:
$ LD_LIBRARY_PATH=... rpm -bl test.spec
Processing files: test-1.0-alt1
error: File doesn't match buildroot (/tmp/.private/at/test-buildroot): /tmp/.private/at/gcc-common-buildroot

RPM build errors:
    File doesn't match buildroot (/tmp/.private/at/test-buildroot): /tmp/.private/at/gcc-common-buildroot
$
2008-03-25 04:09:52 +03:00
Alexey Tourbin
d1ff200f04 Revert "build/parseScript.c: opitimize out RPMSENSE_INTERP dependencies on /bin/sh"
/bin/sh dependency is still there, because scriptlets are written
with "!#/bin/sh" first line, and bulk dependency optimization was
removed.  However, having RPMSENSE_INTERP flag is still good idea --
maybe rpm can check that RPMSENSE_INTERP file is actually X_OK
or something.

This reverts commit 5224b77cbdd2200ab040124101a132e92531f134.
2008-03-17 20:58:55 +03:00
63003fbeb9 Fix typos 2008-02-25 20:07:05 +00:00
Alexey Tourbin
5224b77cbd build/parseScript.c: opitimize out RPMSENSE_INTERP dependencies on /bin/sh 2008-02-01 16:07:59 +03:00
Alexey Tourbin
d98ede246c build/files.c: fixed thinko: (pkg->fileList == NULL) means no %files section at all, not empty %files list 2008-01-26 19:26:25 +03:00
Alexey Tourbin
87d7449617 build/files.c: scriptlet dependencies need their flags
When I write e.g. 'Requires(pre): /usr/bin/perl' in specfile,
I get the following flags:

$ perl -le 'printf "%16b\n", 576'
      1001000000
$

which is RPMSENSE_PREREQ|RPMSENSE_SCRIPT_PRE.

Before this change, I do not specify what flags were generated
for scriptlet dependencies.  After this change, autogenerated
flags for %pre-script are:

$ perl -le 'printf "%16b\n", 16960'
 100001001000000
$

which is RPMSENSE_PREREQ|RPMSENSE_SCRIPT_PRE|RPMSENSE_FIND_REQUIRES.
I belive it looks sane now.

PS:
alias rpmdump='perl -MData::Dumper -MRPM::Header -e "print Dumper(RPM::Header->new(@ARGV))"'
2008-01-25 23:17:01 +03:00
Alexey Tourbin
4516457883 build/files.c (generateDepends,processBinaryFiles): do %pre/%post/... scriptlet dependencies 2008-01-25 21:27:01 +03:00
Alexey Tourbin
2e8a4a1722 build/files.c: new function hasSomeInstScript(), for diagnostics 2008-01-25 20:49:02 +03:00
Alexey Tourbin
1ceb28dc6e build/files.c: new function saveInstScript(), to find dependencies in %pre/%post/... scriptlets
This is based on the first part of my eariler patch:
https://bugzilla.altlinux.org/show_bug.cgi?id=7409
2008-01-25 20:48:28 +03:00
Alexey Tourbin
8119ee01ac reqprov.c (addReqProv): eliminate dependencies on the package name
perl-base will no longer require 'perl-base >= 1:5.7.3'.
2007-11-23 10:59:39 +03:00
Alexey Tourbin
dee7e797ef reqprov.c (addReqProv): eliminate dependencies on packaged files
Note that this works only for automatic dependencies, because file list
is not ready when specfile dependencies are added.  This is okay.

Also note that this will optimize out directory-like dependencies
if the package owns the directory.  This is yet okay, but this is
a bit more subtle point.
2007-11-22 16:48:30 +03:00
Alexey Tourbin
92093bf1f0 reqprov.c (addReqProv): prepare for more self-requires elimination 2007-11-22 15:28:16 +03:00
86ad8ff400 build/expression.c (doPrimary): Read closing parenthesis, patch from Michael Schroeder 2007-02-23 00:05:37 +00:00
5ed9fe36e1 build/parsePrep.c: Change %setup to enable -q option by default, introduce -v option to make %setup as verbose as before this change. 2006-11-19 00:24:59 +00:00
1e771d2a5a build/parsePrep.c: Change %patch to be more verbose by default, introduce -s option to make %patch as silent as before this change (#10261). 2006-11-19 00:21:38 +00:00
bbddd38759 Removed const from getBuildTime(). 2006-05-15 04:54:03 +04:00
df61ee0b9e Include local headers. 2006-05-15 03:26:57 +04:00
8787ee5d55 Fixed "type qualifiers ignored on function return type" issue. 2006-05-15 02:48:59 +04:00
ed45223b24 Ignore RPMTAG_BUILDROOT completely. 2006-04-03 16:41:43 +00:00
f4d4d3fe83 parseSpec: do not delete _target_cpu macro in PART_BUILDARCHITECTURES parser 2006-02-24 02:40:09 +00:00
b397ca0085 Ignore RPMTAG_BUILDROOT completely. 2006-01-11 13:53:32 +00:00
7c858e2594 parseSpec: in preprocess mode, allow undefined macros 2005-10-25 11:01:42 +00:00
c653aa8345 copyNextLine: set rpmSetBuiltinMacroLookupFailedOK for comments 2005-10-12 23:55:57 +00:00
b23ff9b127 implemented rpmSetBuiltinMacroLookupFailedOK 2005-10-12 23:35:17 +00:00
26dfd3df04 revision 2.55
date: 2004/04/08 20:27:53;  author: niemeyer;  state: Exp;  lines: +2 -1
Implemented multiline macro support.
2005-10-10 14:59:14 +00:00
d1c90ba20f revision 2.98
date: 2004/04/08 20:27:53;  author: niemeyer;  state: Exp;  lines: +41 -3
Implemented multiline macro support.
2005-10-10 12:57:57 +00:00
78ab7cf4b4 revision 2.95
date: 2003/05/15 13:53:41;  author: jbj;  state: Exp;  lines: +3 -1
- fix nested %if handling
2005-10-10 12:50:41 +00:00
7668e35c2e added docdir to tags_files_list 2005-10-10 12:26:34 +00:00
45504c22d2 disabled check for undefined macros in %prep, %build, %install and %clean 2005-10-06 21:06:44 +00:00
d04814401c Fixed rpmBuiltinMacroLookup support 2005-10-06 20:31:10 +00:00
019f77ade6 introduced _allow_undefined_macros 2005-10-06 19:15:36 +00:00
35877f4306 fixed spacing 2005-10-06 18:21:40 +00:00
0b1e0e9ee4 Implemented rpmBuiltinMacroLookup support 2005-10-06 18:21:26 +00:00
17dd47e199 fixed rpmExpand() usage in generateDepends()a 2005-10-06 18:20:37 +00:00
c0a2a76a04 fix readLine() usage 2005-10-06 15:24:35 +00:00
9fcb008b58 fixed rpmExpand() usage 2005-10-06 01:21:27 +00:00
a2f087de09 fixed rpmExpand() usage in fillOutMainPackage() 2005-10-05 23:42:30 +00:00
6a14cbc258 fixed rpmExpand usage 2005-09-29 17:10:24 +00:00
4086557633 fixed rpmExpand usage 2005-09-29 16:01:17 +00:00
8fe647ebd6 corrected rpmExpand usage 2005-09-29 15:50:56 +00:00
ce8ad9b9f0 fix rpmExpandNumeric handling 2005-09-29 15:46:13 +00:00
b59b7dcd44 if AutoReq is disabled, do not add automatic interp deps 2005-08-17 13:48:55 +00:00
a90ad7ec38 parseRCPOT: better error reporting 2004-04-25 10:34:53 +00:00
b098983ecf implemented %_deps_optimization support
addReqProv: implemented old "provided requires" optimization
2004-01-29 13:46:42 +00:00
e6100cca84 indent 2004-01-29 12:57:54 +00:00
a56e2cad60 addReqProv: enhanced duplication elimination algorithm 2004-01-27 14:54:15 +00:00
1ab810455b fixes in duplicates detection algorithm 2004-01-27 12:45:26 +00:00
84c595d9ef parseRCPOT: tokens must not contain '%<=>' symbols - it's common error 2004-01-27 10:56:42 +00:00
f3023c5d3b printDepMsg: enhanced output format a bit 2004-01-27 10:53:38 +00:00
aab4974613 duplicates detection algorithm rewritten 2004-01-26 18:01:37 +00:00