Panu Matilainen [Wed, 25 May 2011 11:52:39 +0000 (14:52 +0300)]
Disable all scriptlets and collections centrally on --test and --justdb
- These are already taken care of in other places but they're littered
a little bit of here and there, eg in case of collections these
modes are only skipped deep down in the plugin code. This should
make the intended behavior more obvious upfront.
Panu Matilainen [Wed, 25 May 2011 11:26:51 +0000 (14:26 +0300)]
Permit %verifyscript from non-installed packages
- Verification from non-installed packages can be useful sometimes:
http://lists.rpm.org/pipermail/rpm-maint/2011-May/003015.html
- %verifyscript is unlike all other scriptlets so might as well
take some shortcuts and bypass rpmteProcess() & all, just
create a lone rpmte, force the header we got and call rpmpsmRun()
directly on it, bypassing rpmteProcess() which is only an
unnecessary complication here (based on patch by Michael Schroeder)
Panu Matilainen [Wed, 25 May 2011 11:03:57 +0000 (14:03 +0300)]
Don't run collections on script stages like %pre/posttrans, ugh.
Panu Matilainen [Wed, 25 May 2011 07:20:45 +0000 (10:20 +0300)]
Issue an error on failure to replace original package on signing
- Previously any failure on replacing the original package with the
newly signed one would silently fail, causing rather confusing
behavior when eg attempting to (re)sign readable but not writable
packages.
Panu Matilainen [Tue, 24 May 2011 17:28:16 +0000 (20:28 +0300)]
Add support for nested Lua macro expansion (RhBug:490740)
- Lift the printbuffer accounting out of rpmlua into a struct of
its own (Funny thing, this looks a whole lot like the macro
expansion buffer and Good Ole StringBuf Brothers ... Boys ... Mam.
Unify them one of these days maybe)
- Replace the simplistic on/off printbuffer with a stack of buffers,
fixup the lone caller to use the new internal push/pop API.
Panu Matilainen [Tue, 24 May 2011 16:59:36 +0000 (19:59 +0300)]
Plug a memory leak on Lua rpm.expand()
Panu Matilainen [Tue, 24 May 2011 14:23:37 +0000 (17:23 +0300)]
Bail out of debuginfo if stabs format encountered (RhBug:453506)
- 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.
Panu Matilainen [Tue, 24 May 2011 13:55:31 +0000 (16:55 +0300)]
Fix %prep parse error to abort build
- Previously in some cases parse error in %prep could emit an error msg
but still continue building due to error code bogosity. Clean up
the mess a bit: assume failure and actually return the res(ult) we
calculated instead of nextPart.
Panu Matilainen [Tue, 24 May 2011 12:42:27 +0000 (15:42 +0300)]
Cosmetics: remove redundant/empty doxygen markup, comments etc
- No functional changes.
Panu Matilainen [Tue, 24 May 2011 12:38:33 +0000 (15:38 +0300)]
Remove unused length return variables on doHeaderUnload()
- doHeaderUnload() is safe to call with NULL lengthPtr, the length
is only of interest to headerRead() and headerWrite()
Panu Matilainen [Tue, 24 May 2011 11:07:12 +0000 (14:07 +0300)]
Handle HEADERFLAG_SORTED bit correctly in headerUnsort()
- Within rpm there's exactly one caller of headerUnsort() which has
kinda taken care of re-sorting the header on exit, but only if it
returns successfully, meaning the header sort status could've been
left in inconsistent state with implications on consequent
operations on that header. Also this is part of the public API
yet callers have no chance of adjusting the flag when they call it
(and why should they).
- Also dont bother sorting if the header is already in unsorted state.
Panu Matilainen [Tue, 24 May 2011 10:47:25 +0000 (13:47 +0300)]
Return explicit NULL on errors + frees in header code
Michael Schroeder [Tue, 24 May 2011 05:51:56 +0000 (08:51 +0300)]
Do not die on empty changelog section
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Jindrich Novy [Mon, 23 May 2011 12:11:43 +0000 (14:11 +0200)]
Distinguish between macro primitives with and w/o arguments
- do argument presence checks only for those requiring arguments
Panu Matilainen [Mon, 23 May 2011 10:40:39 +0000 (13:40 +0300)]
Add support for fileattr dependency namespacing
- This allows automatically wrapping generated dependencies into
macro-expanded namespaces, eg foo(depname) by specifying
__attr_namespace in the file attribute definition.
- Current generator scripts hardcode their namespaces but doing this
on rpm-level gives extra flexibility eg when building for alternative
versions/environments and frees generators from having to take care of
the formatting.
Panu Matilainen [Mon, 23 May 2011 09:32:27 +0000 (12:32 +0300)]
Whoops, flags needs to be sorted for argvSearch() to work correctly
Panu Matilainen [Mon, 23 May 2011 08:11:43 +0000 (11:11 +0300)]
Unify fileattr include- and exclude-rule handling
- Handling both rule-types identically not only makes things more
consistent but also adds exclude_flags support practically for free:
"exeonly" and "magic_and_path" are usable for excludes too now, ditto
for any other flags that might be added in the future.
Panu Matilainen [Fri, 20 May 2011 12:20:49 +0000 (15:20 +0300)]
Don't fetch missing sources on spec query
Jindrich Novy [Fri, 20 May 2011 11:55:04 +0000 (13:55 +0200)]
Unbreak %if, %if(n)arch, %if(n)os handling
- having those expressions without argument is no more allowed
- white space between expression and argument is mandatory
- rpmbuild no more confuses %ifabcd macro with %if abcd
- fix criptic message in case of invalid %if condition
Panu Matilainen [Fri, 20 May 2011 07:05:02 +0000 (10:05 +0300)]
-D is for --define, not --predefine (RhBug:706161)
Michael Schroeder [Thu, 19 May 2011 11:55:55 +0000 (14:55 +0300)]
Support "magic_and_path" flag in fileattrs
- Allow "magic_and_path" flag to configure that files must
match both regexpes to be sent to the dependency generator.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Thu, 19 May 2011 08:08:07 +0000 (11:08 +0300)]
Remove redundant NULL checks
- Fclose() handles NULL by itself, no need to check in callers.
Also no need to NULL'ify the local variables here.
Panu Matilainen [Wed, 18 May 2011 12:53:54 +0000 (15:53 +0300)]
Fix error handling in payload copying
- Lift the payload copy into a separate helper function to clean
things up a bit
- The code to handle read errors was unreachable before this,
causing any read error (rare as they might be) to be silently
ignored and package generation considered successful.
- This could/should perhaps use ufdCopy() instead but that ha
its own set of problems (not clean wrt large files, error reporting...)
Panu Matilainen [Wed, 18 May 2011 12:11:42 +0000 (15:11 +0300)]
Eliminate dead cpio_copy() + related stuff
- These code-paths cannot have been hit since readRPM() was
killed, mop out the leftovers
Panu Matilainen [Wed, 18 May 2011 10:37:18 +0000 (13:37 +0300)]
Update translations to pick up changes from the script file cleanups
Panu Matilainen [Wed, 18 May 2011 10:23:29 +0000 (13:23 +0300)]
Further simplify & cleanup script file (error) handling
- Simply always call addFileToFoo() and handle no scriptfile condition
as early success case there (and allocate sb only if actually needed).
- Consolidate error logging into addFileToTagAux(), removing the need
for umphteen nearly identical rpmlog error messages + related logic.
- Eliminate the now pointless addFileToFoo() wrapper functions
and just call the main thing directly.
Panu Matilainen [Wed, 18 May 2011 09:47:50 +0000 (12:47 +0300)]
Clean up addFileToTagFoo() helpers
- Centralize the work into addFileToTagAux(), turning the other
two helpers into dumb wrappers with the only difference being
append or no append. This simplifies and clarifies the exit
codes, stringbuf allocations etc a good deal.
Panu Matilainen [Wed, 18 May 2011 09:04:12 +0000 (12:04 +0300)]
Minor cleanups to cpio_doio()
- Remove redundant rpmtsEmpty(), this is done from rpmtsFree() anyway
- Dont bother NULL'ing local variables at exit
Panu Matilainen [Wed, 18 May 2011 08:55:59 +0000 (11:55 +0300)]
Simplify rpmio flags handling in writeRPM() / cpio_doio()
- The payload macros are already expanded in writeRPM(), no point
re-expanding in cpio_doio() and handle fallback to default gzdio
in writeRPM() already in case the payload is not set in config
or is bogus. Also rpmExpand() cannot return NULL so there's no
point in checking for that.
Tero Aho [Wed, 18 May 2011 08:10:09 +0000 (11:10 +0300)]
Plug a minor memleak on writeRPM() error paths
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Wed, 18 May 2011 07:59:54 +0000 (10:59 +0300)]
Eliminate bogus ferror() checks
- fopen() returns NULL on errors, never an opened stream with error
flag set. These are leftovers from past where rpmio fd was used
instead of FILE and probably the checks were bogus even back then too.
Michael Schroeder [Wed, 18 May 2011 06:04:40 +0000 (09:04 +0300)]
Always copy macro source when expanding it
- A macro can undefine itself, and unless we grab a copy of it we'll
end up accessing already freed memory. Fixes a regression from
commit
ebc4ceaaeb8bb59019f4635471b28eb5f3eaaaa6 which assumed
a copy is not always needed.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Wed, 18 May 2011 05:28:07 +0000 (08:28 +0300)]
Empty transaction is not an error (RhBug:699929)
- Empty transaction just means we have nothing at all to do,
but it's not an actual error.
Michael Schroeder [Tue, 17 May 2011 12:46:54 +0000 (15:46 +0300)]
Do not abort if chown/chmod fails but the file is already correct
- This small patch makes rpm not abort the installation if
chown()/chmod() failed but the files already have the correct
ownership/mode. It also allows a failed mtime update on directories.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Michael Schroeder [Mon, 16 May 2011 08:57:44 +0000 (11:57 +0300)]
Fix segfault on build with empty %prep section
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Michael Schroeder [Fri, 13 May 2011 12:33:55 +0000 (15:33 +0300)]
Fix "method not permitted before handle's open method" on --verifydb
- In verify mode, the db is not really opened, thus it's an error
to call dbiFlags() which calls db->get_open_flags().
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Tue, 3 May 2011 12:02:42 +0000 (15:02 +0300)]
Clean up file type verification logic a bit
- Non-regular files mostly share the same unverifiable properties,
no point in listing all the cases separately. Links are a notable
exception in that they're different from everything else, handle
that separately.
- Also clean up other formatting: wrap lines at a better point +
avoid multiline-comments when single line suffices.
Jindrich Novy [Tue, 3 May 2011 08:42:53 +0000 (10:42 +0200)]
Remove obsolete timedRead() from API
Panu Matilainen [Tue, 3 May 2011 08:19:37 +0000 (11:19 +0300)]
RIP rpmsqFork() + rpmsqWait() and the related bits
- Also remove additional thread protection: we're not supporting
threads anywhere else either. If/when thread-protection is added,
this is ulikely to be the first place anyway...
Panu Matilainen [Mon, 2 May 2011 10:00:53 +0000 (13:00 +0300)]
Use good ol' fork() + waitpid() for running scriptlets
- We have no need for anything fancier, this makes 80% of the
overly complex & subtle semi-threaded and in places just broken
code in rpmsq.[ch] unused and unnecessary.
Ville Skyttä [Sun, 24 Apr 2011 12:59:20 +0000 (15:59 +0300)]
Remove unneeded regex grouping.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Ville Skyttä [Sun, 24 Apr 2011 12:58:40 +0000 (15:58 +0300)]
Comment spelling fix.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Ville Skyttä [Sun, 24 Apr 2011 12:57:23 +0000 (15:57 +0300)]
Add lrzip support.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Ville Skyttä [Sun, 24 Apr 2011 12:56:11 +0000 (15:56 +0300)]
Add lzip support.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Thu, 28 Apr 2011 12:23:10 +0000 (15:23 +0300)]
Remove duplicate fpLookup() doxygen annotation
Panu Matilainen [Thu, 28 Apr 2011 07:31:23 +0000 (10:31 +0300)]
Remove redundant strlen()'s on sha1 digest verification
- string comparison notices different length anyway, avoid going
through the same data twice
Panu Matilainen [Wed, 27 Apr 2011 13:11:57 +0000 (16:11 +0300)]
Avoid malloc() + redundant strlen() calls in dbiFindByLabel()
Jindrich Novy [Thu, 28 Apr 2011 11:22:41 +0000 (13:22 +0200)]
Simplify findTag()
Jindrich Novy [Wed, 27 Apr 2011 08:28:43 +0000 (10:28 +0200)]
Fix find-lang so that it finds *@*.qm QT i18n files (RhBug:699945)
Jindrich Novy [Tue, 26 Apr 2011 04:33:19 +0000 (06:33 +0200)]
Understand 'PK00' zip archives (RhBug:699529)
- it is historically used by PKZIP when storing archive to removable
media (floppy), some java apps still use it
- thanks to Karel Klic
Jindrich Novy [Fri, 22 Apr 2011 07:30:45 +0000 (09:30 +0200)]
Do not compile unused functions when SELinux support is disabled
Panu Matilainen [Thu, 21 Apr 2011 08:09:28 +0000 (11:09 +0300)]
Handle errors from moving target file into place in rpmSign()
- Signing isn't successful unless we manage to replace the original
file with the signed one, take the stat() etc returns into count.
Panu Matilainen [Thu, 21 Apr 2011 07:55:00 +0000 (10:55 +0300)]
headerPut() and headerDel() returns aren't interesting here
Panu Matilainen [Thu, 21 Apr 2011 07:47:31 +0000 (10:47 +0300)]
Remove redundant indentation block from rpmSign()
- No code changes, just formatting sanity/prettiness
Panu Matilainen [Thu, 21 Apr 2011 07:13:45 +0000 (10:13 +0300)]
Just ignore miFreeHeader() return on rpmdbNextIterator() too
- There's no meaningful way to return a write-error here,
rpmdbNextIterator() caller wouldn't know whether NULL at termination
is early due to error or not. So just ignore the return from
miFreeHeader(), it can only fail on rewrite mode (ie markReplacedFiles())
so impact is rather limited anyway.
Panu Matilainen [Thu, 21 Apr 2011 07:03:11 +0000 (10:03 +0300)]
Ignore dbiSync() return code everywhere
- Since we're not checking the return then dont bother storing it either.
The sync is fairly unlikely to fail if other operations succeed
as sync failures generally revolve around invalid file descriptors etc.
Panu Matilainen [Wed, 20 Apr 2011 13:11:41 +0000 (16:11 +0300)]
Panu Matilainen [Wed, 20 Apr 2011 12:50:24 +0000 (15:50 +0300)]
Remove pointless xx tmp return code from dbiAppendSet() result
Panu Matilainen [Wed, 20 Apr 2011 12:41:53 +0000 (15:41 +0300)]
Eliminate last three assert()'s from the backend
- We can trivially handle these "can't happen" cases as EINVAL returns
instead of blowing up, do so.
Panu Matilainen [Wed, 20 Apr 2011 12:38:40 +0000 (15:38 +0300)]
And finally at six feet, the old cursor api is officially dead
- Inline the last remains into the new api, handling NULL pointers
more gracefully than the old version
Panu Matilainen [Wed, 20 Apr 2011 12:22:42 +0000 (15:22 +0300)]
And another foot deeper...
- Inline dbiGet(), dbiPut(), dbiDel() and dbiCount() implementations
to the new interface
Panu Matilainen [Wed, 20 Apr 2011 12:04:44 +0000 (15:04 +0300)]
Bury the old cursor api one foot deeper
- Make it static and move doxygen bits to the new API, adjust as necessary
Panu Matilainen [Wed, 20 Apr 2011 11:49:14 +0000 (14:49 +0300)]
Convert the other (rpmdb iterators etc) uses to the new cursor api
Panu Matilainen [Wed, 20 Apr 2011 11:23:37 +0000 (14:23 +0300)]
Convert local-only uses of DBC to dbiCursor interface
Panu Matilainen [Wed, 20 Apr 2011 10:52:41 +0000 (13:52 +0300)]
Add a db cursor abstraction and interfaces for using it
- Callers are currently required to pass all sorts of unnecessary
gunk to the cursor operations just for performance statistics
etc, and the interface doesn't match the uses inside rpmdb.c
very well. This adds a more "rpm-style" interface around the
BDB API.
- Cursor open + close can only fail on invalid arguments (which would
be programmer errors), and various conditions on replication which
we dont care about. So we essentially ignore the errors, except
for cursor open which will return NULL to indicate an error.
- As an intermediate step, these are just wrappers to the older
dbiFoo interfaces to permit converting things to the new interfaces
piece by piece.
Panu Matilainen [Wed, 20 Apr 2011 10:23:57 +0000 (13:23 +0300)]
Rename _dbConfig and _dbiIndex structs to common foo_s style
- No functional changes, just renaming to be in line with everything
else (for better or worse)
Panu Matilainen [Wed, 20 Apr 2011 10:18:54 +0000 (13:18 +0300)]
Remove non-cursor support from dbiDel(), dbiPut() and dbiGet()
- Previously these functions would silently fall back to non-cursor
access when (accidentally) called with NULL cursor. This can lead
to different results for cases where cursor is actually required,
without any indication of it being an error. Make them fail
with EINVAL for NULL cursors so it gets trapped in rpmdb.c uses.
Panu Matilainen [Tue, 19 Apr 2011 10:46:41 +0000 (13:46 +0300)]
Return explicit NULL's from db iterator free functions for clarity
Panu Matilainen [Tue, 19 Apr 2011 10:42:46 +0000 (13:42 +0300)]
Ignore error codes in rpmdbIndexIteratorFree()
- Similarly to commit
b35081600135b4a3d54fa7e832125a89d3bdee48,
we can't do anything about dbiCclose() failure here, just ignore.
Panu Matilainen [Tue, 19 Apr 2011 10:34:02 +0000 (13:34 +0300)]
Ignore error codes in rpmdbFreeIterator()
- We can't do anything about miFreeHeader() or dbiClose() errors
here, no point storing them to temp variable either. Error on
miFreeHeader() will at least log something on header rewrite-failure.
Jindrich Novy [Tue, 19 Apr 2011 11:24:34 +0000 (13:24 +0200)]
Attempt to fetch sources/patches when they are missing from %_sourcedir
- use _default_source_url macro to specify default URL when it is
missing from the spec Source/Patch line
- this feature can be disabled by defining _disable_source_fetch to 1
Panu Matilainen [Tue, 19 Apr 2011 10:21:36 +0000 (13:21 +0300)]
Give at least some indication of error from fchdir() failures
- Failure to return to current dir is likely to be lethal, at least
log an error and return a different code for it.
Panu Matilainen [Tue, 19 Apr 2011 10:08:28 +0000 (13:08 +0300)]
Use rpmsqFork() return code instead of semi-private struct member for pid
- rpmsqFork() behaves like regular fork() in this regard so this
just makes the code more obvious and eliminates an set-but-unused
warning while at it.
Panu Matilainen [Tue, 19 Apr 2011 10:04:28 +0000 (13:04 +0300)]
Fclose() and unlink() errors aren't fatal here, just ignore
Panu Matilainen [Tue, 19 Apr 2011 09:59:07 +0000 (12:59 +0300)]
Catch write errors when generating scriptlet temporary files
- If the write fails scripts are likely to fail anyway, but executing
partial scriptlets (unlikely as that might be) could have funny
side-effects besides just failing.
- Also cleans up runExtScript() a little bit by moving the
tmp file creation to a separate function.
Panu Matilainen [Tue, 19 Apr 2011 08:37:11 +0000 (11:37 +0300)]
Improve fsm error code handling in psm
- Move the fsm execution to separate helper function, returning
the most relevant exit code: if fsmSetup() failed then teardown
return doesn't matter, but fsmTeardown() can report errors
from missing hardlinks which we haven't checked until now.
- This also fixes enum vs int abuse on the exit code: fsm return
codes are cpio error codes whereas psm codes are simple ok/fails.
Panu Matilainen [Tue, 19 Apr 2011 07:32:31 +0000 (10:32 +0300)]
Actually handle headerGet() / pgpPrtPkts() failure on signature verify
- Failure to decode the hash algo here would probably trip up something
later on in the verification but...
Panu Matilainen [Tue, 19 Apr 2011 07:21:26 +0000 (10:21 +0300)]
Eliminate unused variable in rpmpluginsAdd()
- dlsym() can return NULL without it being an error, and since we
use dlerror() for determining the error anyway, supportedHooks
is simply unneeded here.
Panu Matilainen [Tue, 19 Apr 2011 07:09:22 +0000 (10:09 +0300)]
Restore previous vsflags on return from rpmInstall() and rpmErase()
- Nobody is going to care really but since we bother remembering
them we might as well restore them too, silencing another two
set-but-unused warnings (this time semi-meaningful even)
Panu Matilainen [Tue, 19 Apr 2011 07:02:23 +0000 (10:02 +0300)]
Eliminate another set-but-unused xx warning
- There's no meaningful way to return error from rpmdbExtendIterator()
in rpmFindBaseNamesInDB() so dont bother collecting the result.
At least there'll be rpmlog spew on errors so it wouldn't be
silently failing.
Panu Matilainen [Mon, 18 Apr 2011 09:25:43 +0000 (12:25 +0300)]
Reflect file classifier errors in rpmdeps exit code
- rpmfcClassify() or rpmfcApply() failing is pretty fatal to rpmdeps,
exit with error code
- OTOH argvAdd() and argvSort() can't really fail, ignore their return
codes, shutting up another set-but-not-used whine
Panu Matilainen [Mon, 18 Apr 2011 09:08:24 +0000 (12:08 +0300)]
Remove yet another pointless tmp variable
- Since we're not really interested in rpmdbClose() or
rpmdbRemoveDatabase() error codes when rebuilding, just ignore
their returns
Panu Matilainen [Mon, 18 Apr 2011 09:04:34 +0000 (12:04 +0300)]
Collect proper exit status from rpmdbRemoveDatabase()
- The single caller doesn't actually care about its exit code
as its not particularly important in that case but .. shrug,
at least it silences a warning.
Panu Matilainen [Mon, 18 Apr 2011 09:00:44 +0000 (12:00 +0300)]
Ignore rpmdbClose() return on failed rpmdbOpen()
- We can't do anything about it so just ignore and remove the
unused variable
Panu Matilainen [Mon, 18 Apr 2011 07:13:24 +0000 (10:13 +0300)]
Clean up urlGetFile() return values
- Its callers only care about success vs failure, so only ever return
0 or -1 and take waitpid() errors into account too. As a side effect
shuts up a set-but-unused compiler warning too
Panu Matilainen [Fri, 15 Apr 2011 07:35:34 +0000 (10:35 +0300)]
Remember to free db index iterators too on forced termination
Panu Matilainen [Fri, 15 Apr 2011 07:11:41 +0000 (10:11 +0300)]
Fix dangling databases from iterators (ticket #820)
- Call rpmdbClose() instead of rpmdbUnlink() on iterator free to
actually close the db when refcount goes to zero. This
fixes the situation where a caller closes a database handle
while iterators are active: the iterators stay usable and close
the db when the last one exits.
Panu Matilainen [Fri, 15 Apr 2011 06:18:15 +0000 (09:18 +0300)]
Only muck with signals on first and last db open/close
- Signals are per-process global, as long as there are other
databases open (or references to the same db) we shouldn't mess
with them. Less important on open, but if somebody is changing
rpmsq-handling we shouldn't override that either.
Ville Skyttä [Wed, 6 Apr 2011 17:56:31 +0000 (20:56 +0300)]
Extract perl dependecies from "use parent qw(Foo)".
parent is a successor to base, with similar functionality.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Ville Skyttä [Tue, 1 Mar 2011 15:23:17 +0000 (17:23 +0200)]
Honor $TMPDIR in various scripts.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Wed, 13 Apr 2011 07:04:28 +0000 (10:04 +0300)]
Unbreak obsoletes from commit
b1a4b57315d31ba98bc0e5803db1ebc2517f6bb5
- rpmdsMatchesDep() only works with RPMDBI_PROVIDES, not RPMDBI_NAME.
Revert that part of the change.
Panu Matilainen [Tue, 5 Apr 2011 14:33:12 +0000 (17:33 +0300)]
Dont reference transaction set from transaction elements
- Elements referencing ts prevents rpmtsFree() from freeing anything
unless the caller does rpmtsEmpty() first. Oops. Undo the braindamage
from commit
8f7c2d7063df6d1057425d014ce4168d46c5e7d9.
Jindrich Novy [Mon, 4 Apr 2011 14:03:11 +0000 (16:03 +0200)]
Don't list packages which will not be created in spec query (RhBug:693338)
- particularly, while doing "rpm -q --specfile <a spec file>"
Panu Matilainen [Mon, 4 Apr 2011 11:39:19 +0000 (14:39 +0300)]
Update INSTALL a bit, include blurb about the test-suite + fakechroot
Panu Matilainen [Mon, 4 Apr 2011 11:31:17 +0000 (14:31 +0300)]
Only enable test-suite if fakechroot is available
Panu Matilainen [Mon, 4 Apr 2011 11:05:17 +0000 (14:05 +0300)]
Execute all non-compilation rpmbuild tests in fakechroot
- Except for four rpmbuild tests which rely on an actual compiler
being available (faking *that* would get entertaining...), the entire
test-suite is now executing everything in the fakechroot environment.
Panu Matilainen [Mon, 4 Apr 2011 11:00:23 +0000 (14:00 +0300)]
Add more stuff to test-suite root environment
- Build needs a whole bunch of utilities there, including file + its
magic database. The exact location of the magic db varies between
systems but file -C lets us basically make a copy of the system magicdb
into the fakechroot env and then we can override the location with MAGIC
Panu Matilainen [Mon, 4 Apr 2011 09:13:56 +0000 (12:13 +0300)]
Switch more test-suite builds to run under fakechroot
- This leaves only the "real" builds where the packages contain files
to be executed outside fakechroot
Panu Matilainen [Mon, 4 Apr 2011 09:03:38 +0000 (12:03 +0300)]
Run dependency tests entirely in fakechroot
- All the packages here have no files making them "easy" to build
inside the chroot
Panu Matilainen [Mon, 4 Apr 2011 09:01:43 +0000 (12:01 +0300)]
Prepare the test root entirely from Makefile, add missing bits
- Running builds in fakechroot needs a whole lot of things.. add symlinks
to various system config + dev files to give some trivial packages
a chance to build under fakechroot