platform/upstream/rpm.git
13 years agoEnable GLOB_ONLYDIR of the bundled glob() on platforms that support it
Panu Matilainen [Tue, 28 Jun 2011 05:37:41 +0000 (08:37 +0300)]
Enable GLOB_ONLYDIR of the bundled glob() on platforms that support it

13 years agoPay attention to dir vs file when building (RhBug:505995)
Panu Matilainen [Mon, 27 Jun 2011 11:52:22 +0000 (14:52 +0300)]
Pay attention to dir vs file when building (RhBug:505995)

- Preserve trailing slash if it exists, and also add one on explicit
  %dir entires. This lets rpmGlob() and friends to skip any matching
  files that might be present, fixing both test-cases in RhBug:505995.

13 years agoHonor trailing slash in rpmGlob()
Panu Matilainen [Mon, 27 Jun 2011 11:09:17 +0000 (14:09 +0300)]
Honor trailing slash in rpmGlob()

- Only return directories if a pattern contains a trailing slash.
  Use GLOB_ONLYDIR hint if available but as this is unreliable,
  we need to stat the paths to be sure.
- Hysterically enough, rpm bundles its own copy of glob() which does
  have GLOB_ONLYDIR but ATM it doesn't get build because HAVE_D_TYPE
  isn't defined outside glibc build environment which is where our glob
  originally came from...

13 years agoRemove ugly isDir recurse prevention hack on build
Panu Matilainen [Mon, 27 Jun 2011 09:41:39 +0000 (12:41 +0300)]
Remove ugly isDir recurse prevention hack on build

- We know if we're already fts-walking by the way addFile() gets called,
  dont corrupt fl->isDir for no good reason.

13 years agoEliminate static BUFSIZ use in filelist parsing
Panu Matilainen [Thu, 23 Jun 2011 06:47:10 +0000 (09:47 +0300)]
Eliminate static BUFSIZ use in filelist parsing

- In the unlikely event of filelist line being longer than BUFSIZ
  we'd previously end up truncating the line, which is stupid
  since we can just as easily make the buffer large enough.

13 years agoUse ARGV_t for filelist current locale storage
Panu Matilainen [Tue, 21 Jun 2011 13:27:18 +0000 (16:27 +0300)]
Use ARGV_t for filelist current locale storage

- Avoids having to manually do search, sort, join, free etc for
  no good reason. Could be further simplified with argvSplit() etc
  and sanitized overall but leaving that for another day...

13 years agoEliminate redundant noGlob member from filelist
Panu Matilainen [Tue, 21 Jun 2011 11:53:05 +0000 (14:53 +0300)]
Eliminate redundant noGlob member from filelist

- Since the only thing where globs are not permitted are %dev entires,
  check for device explicitcly in the glob part. Doh.

13 years agoEliminate redundant special docs tracking members in filelist
Panu Matilainen [Tue, 21 Jun 2011 11:43:03 +0000 (14:43 +0300)]
Eliminate redundant special docs tracking members in filelist

13 years agoEliminate unused fileCount member from FileList struct
Panu Matilainen [Tue, 21 Jun 2011 11:33:48 +0000 (14:33 +0300)]
Eliminate unused fileCount member from FileList struct

13 years agoAdd DWARF-4 support to debugedit (RhBug:707677)
Jakub Jelinek [Fri, 17 Jun 2011 13:40:20 +0000 (16:40 +0300)]
Add DWARF-4 support to debugedit (RhBug:707677)

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
13 years agoAvoid extra newlines in parsed spec output outside preamble
Panu Matilainen [Fri, 17 Jun 2011 11:25:44 +0000 (14:25 +0300)]
Avoid extra newlines in parsed spec output outside preamble

13 years agoAdd --parse option to rpmspec tool to dump parsed spec contents
Panu Matilainen [Fri, 17 Jun 2011 10:53:43 +0000 (13:53 +0300)]
Add --parse option to rpmspec tool to dump parsed spec contents

- This is somewhat like 'gcc -E', useful for analyzing/troubleshooting
  what happens inside the preprocessing.

13 years agoSupport retrieving the spec contents in parsed format
Panu Matilainen [Fri, 17 Jun 2011 10:44:39 +0000 (13:44 +0300)]
Support retrieving the spec contents in parsed format

- Collect the preprocessed (conditionals, macros etc evaluated)
  lines to a separate stringbuf, make rpmSpecGetSection() return
  that on RPMBUILD_NONE "section" (hack, but so is abusing RPMBUILD_FOO
  for the section here so shrug)

13 years agoError on unclosed macros & trailing line continuations in spec (RhBug:681567)
Panu Matilainen [Thu, 16 Jun 2011 16:21:54 +0000 (19:21 +0300)]
Error on unclosed macros & trailing line continuations in spec (RhBug:681567)

- Track the starting line in case copyNextLineFromOFI() indicates
  a multiline-construct. If we get an EOF from readLineFromOFI()
  while inside multiline read, its an illegal construct of some kind
  and we can even spit out a reasonably meaningful error pointing
  out the starting line number of the bad construct.

13 years agoTry to generate fileclass in the tag ext at runtime if missing from header
Panu Matilainen [Thu, 16 Jun 2011 09:26:42 +0000 (12:26 +0300)]
Try to generate fileclass in the tag ext at runtime if missing from header
- For non-regular files we can easily generate this information based
  on file mode + in case of symlinks, the link target is available
  in the header elsewhere. This also means --fileclass will return
  at least partial data for packages built with the external depgen.
- Clean up fileclassTag() a bit while at it, removing redundant fluff.
- Arguably this "magic" should be done inside rpmfiFClass() instead, but
  that'd require changing the API to return malloced data.

13 years agoExport rpmteFailed() to python bindings
Panu Matilainen [Thu, 16 Jun 2011 05:48:57 +0000 (08:48 +0300)]
Export rpmteFailed() to python bindings

- Kinda related to RhBug:661962, yum relies on callbacks to catch
  install/erase errors but this is not accurate: on erase the
  element can be ambiguous as the callback only gives a name (sigh).
  In addition, elements can be skipped entirely if "parent" element
  fails, in which case no callbacks are issued so these cases would go
  completely unnoticed when relying on callbacks alone. te.Failed()
  gives users such as yum a chance to have a look at the real status
  of elements (after the transaction).

13 years agoDon't remove buildroot docdir on %doc usage (ticket #836)
Panu Matilainen [Mon, 13 Jun 2011 08:52:54 +0000 (11:52 +0300)]
Don't remove buildroot docdir on %doc usage (ticket #836)
- Some software installs its own documentation and if you try to
  combine it with %doc, rpmbuild will abort with mysterious
  "cpio bad magic" or such errors because what was assumed to be
  there was not, as %doc would 'rm -rf' the docdir upon first
  invocation. I don't see any good reason to disallow sharing the
  same directory for %doc and documentation installed by software
  "make install" - the other alternative would be forcing %doc to
  go to some other location, only making docs harder to find.
- Also at least Mageia (and prior to that Mandriva) has been doing
  this for quite some time now.

13 years agoAdjust script detection rules to work with file >= 5.07 too (RhBug:712251)
Panu Matilainen [Fri, 10 Jun 2011 09:08:45 +0000 (12:08 +0300)]
Adjust script detection rules to work with file >= 5.07 too (RhBug:712251)
- Somewhere between file 5.05 and 5.07 it started adding encoding
  to script descriptions, eg "<mumble> script text executable" became
  "<mumble> script, <encoding> text executable" breaking what had
  been working for 10+ years in the case of old find-requires.
- Permit either comma or space after "script", this works for both
  old and new file.

13 years agoAdd bunch of further rpm-python tests for this and that
Panu Matilainen [Thu, 9 Jun 2011 12:13:46 +0000 (15:13 +0300)]
Add bunch of further rpm-python tests for this and that

13 years agoEww, python ds.Instance() doesn't take any arguments
Panu Matilainen [Thu, 9 Jun 2011 11:25:37 +0000 (14:25 +0300)]
Eww, python ds.Instance() doesn't take any arguments
- ...means its been broken all along, sigh

13 years agoAdd a bunch of db match/key iterator test-cases in python
Panu Matilainen [Thu, 9 Jun 2011 10:44:10 +0000 (13:44 +0300)]
Add a bunch of db match/key iterator test-cases in python
- This would've caught the breakage introduced in commit
  7e4415fcc5e11cfd4cd9d0dfe19568be73f15d74, but better late than never...

13 years agoRearrange test-suite python helper macros a bit
Panu Matilainen [Thu, 9 Jun 2011 10:19:14 +0000 (13:19 +0300)]
Rearrange test-suite python helper macros a bit
- Handle double [] "escaping" at RPM_PYRUN to avoid surprises when
  its used on its own
- Spin python-wrapped AT_CHECK into a macro of its own (RPMPY_CHECK)
- What formerly was RPMPY_CHECK is now RPMPY_TEST: this represents
  one entire testcase with all its setup and cleanup, whereas
  RPMPY_CHECK (the new one) might be used several times within a
  single test

13 years agoFix the non-keyed match iteration case wrt DB_NOTFOUND
Panu Matilainen [Thu, 9 Jun 2011 09:45:42 +0000 (12:45 +0300)]
Fix the non-keyed match iteration case wrt DB_NOTFOUND
- This broke in commit 7e4415fcc5e11cfd4cd9d0dfe19568be73f15d74,
  the cases are not identical afterall: With non-keyed cursor
  retrievals DB_NOTFOUND is returned when there's nothing more to
  get, this is not an error situation.

13 years agoUse dbiCursorGetToSet() for the non-keyed match-iterator case too
Panu Matilainen [Thu, 9 Jun 2011 09:38:53 +0000 (12:38 +0300)]
Use dbiCursorGetToSet() for the non-keyed match-iterator case too

13 years agoSupport set append in dbiCursorGetToSet()
Panu Matilainen [Thu, 9 Jun 2011 08:33:38 +0000 (11:33 +0300)]
Support set append in dbiCursorGetToSet()
- If called with an existing set, results are appended. Otherwise
  return a newly allocated set.

13 years agoIf key not specified, use DB_NEXT cursor mode (DB_SET wouldn't make sense)
Panu Matilainen [Thu, 9 Jun 2011 08:32:39 +0000 (11:32 +0300)]
If key not specified, use DB_NEXT cursor mode (DB_SET wouldn't make sense)

13 years agoOnly honor keylen if keyp is also specified
Panu Matilainen [Thu, 9 Jun 2011 08:26:32 +0000 (11:26 +0300)]
Only honor keylen if keyp is also specified

13 years agoMake it an error to call dbiGetToSet() with NULL keyp
Panu Matilainen [Thu, 9 Jun 2011 08:07:21 +0000 (11:07 +0300)]
Make it an error to call dbiGetToSet() with NULL keyp
- All current callers always supply non-NULL keyp, and requiring
  this gives useful possibilities elsewhere

13 years agoMove the remaining DBT's in rpmdbInitIterator() to (more) local scope
Panu Matilainen [Wed, 8 Jun 2011 16:01:13 +0000 (19:01 +0300)]
Move the remaining DBT's in rpmdbInitIterator() to (more) local scope

13 years agoError/notfound case is handled the same for both these cases
Panu Matilainen [Wed, 8 Jun 2011 15:59:20 +0000 (18:59 +0300)]
Error/notfound case is handled the same for both these cases

13 years agoTake advantage of dbiCursorGetToSet() in dbiFindByLabel() & friends
Panu Matilainen [Wed, 8 Jun 2011 15:52:30 +0000 (18:52 +0300)]
Take advantage of dbiCursorGetToSet() in dbiFindByLabel() & friends
- Reduces the number of arguments to somewhat saner level and
  eliminates another reincarnation of the dbt2set() + error handling
  code littered all over the place.

13 years agoSplit actual cursor get + set-conversion to separate function
Panu Matilainen [Wed, 8 Jun 2011 15:46:45 +0000 (18:46 +0300)]
Split actual cursor get + set-conversion to separate function
- Allows multiple retrieves on a single cursor instance, dbiGetToSet()
  is just a convenience wrapper around dbiCursorGetToSet() now.
- Creating and tearing down cursors isn't exactly terrifyingly
  expensive but still measurable when lots of lookups are done.

13 years agoAdd cursor method for retrieving the underlying db index handle
Panu Matilainen [Wed, 8 Jun 2011 15:44:39 +0000 (18:44 +0300)]
Add cursor method for retrieving the underlying db index handle

13 years agoAdd tests for the most common nvra query combinations
Panu Matilainen [Wed, 8 Jun 2011 11:53:36 +0000 (14:53 +0300)]
Add tests for the most common nvra query combinations

13 years agoUse dbiGetToSet() in rpmdbFindByFile(), lose now unnecessary arguments
Panu Matilainen [Wed, 8 Jun 2011 10:33:41 +0000 (13:33 +0300)]
Use dbiGetToSet() in rpmdbFindByFile(), lose now unnecessary arguments

13 years agoUse dbiGetToSet() for the common case in rpmdbInitIterator()
Panu Matilainen [Wed, 8 Jun 2011 10:27:35 +0000 (13:27 +0300)]
Use dbiGetToSet() for the common case in rpmdbInitIterator()

13 years agoSimplify + cleanup rpmdbExtendIterator()
Panu Matilainen [Wed, 8 Jun 2011 10:15:02 +0000 (13:15 +0300)]
Simplify + cleanup rpmdbExtendIterator()
- Use the new dbiGetToSet() for doing the actual work, reducing
  fluff considerably
- Don't bother checking for NULLs where the lower levels do it
  already (mi and keyp NULL-checks are necessary here though)

13 years agoSimplify + cleanup rpmdbCountPackages()
Panu Matilainen [Wed, 8 Jun 2011 10:02:28 +0000 (13:02 +0300)]
Simplify + cleanup rpmdbCountPackages()
- Use the new dbiGetToSet() for doing the actual work, reducing
  fluff considerably
- Dont bother checking for NULL db, rpmdbOpenIndex() does this anyway
- Return an error, not 0 (ie "not found") for NULL db and name
- Remove redundant dbtag variable, this is always RPMDBI_NAME

13 years agoAdd a helper function to convert cursor retrievals to dbiIndexSets
Panu Matilainen [Wed, 8 Jun 2011 09:52:12 +0000 (12:52 +0300)]
Add a helper function to convert cursor retrievals to dbiIndexSets
- This stuff is repeated in rpmdb.c all over the place, to some
  this suggests making it into a function:
  - Hide the DBTs inside the function
  - Handle keylen fixups, set conversions and error logging centrally

13 years agoRename dbiFreeIndexSet() to dbiIndexSetFree() for naming style consistency
Panu Matilainen [Wed, 8 Jun 2011 09:32:48 +0000 (12:32 +0300)]
Rename dbiFreeIndexSet() to dbiIndexSetFree() for naming style consistency

13 years agoMinor cleanup to rpmdbFindByFile()
Panu Matilainen [Wed, 8 Jun 2011 08:57:14 +0000 (11:57 +0300)]
Minor cleanup to rpmdbFindByFile()
- Pass the dbi we already opened in rpmdbInitIterator() as argument
  instead of unnecessarily reopening in rpmdbFindByFile()
- Adjust the argument order to match that of dbiFindByLabel()
  for consistency
- Remove redundant error code assignment, we are already assuming error

13 years agoPush cursor init+free down to dbiFindByLabel()
Panu Matilainen [Wed, 8 Jun 2011 08:48:37 +0000 (11:48 +0300)]
Push cursor init+free down to dbiFindByLabel()
- The cursor is fully local to dbiFindByLabel() so there's no
  point passing it as an argument

13 years agoHandle EINTR on the spot instead of restarting the entire loop
Panu Matilainen [Wed, 8 Jun 2011 08:00:40 +0000 (11:00 +0300)]
Handle EINTR on the spot instead of restarting the entire loop
- The previous code was violating the "golden rules of select()" by
  possibly skipping processing of fd's that were included in the
  select() set. Also restarting the entire loop should not be
  necessary in case of EINTR select(), our conditions do not change
  in that situation.

13 years agoKick out self-pipe trick from depgen helper
Panu Matilainen [Wed, 8 Jun 2011 07:06:15 +0000 (10:06 +0300)]
Kick out self-pipe trick from depgen helper
- As we're not actually /doing/ anything with signals here, the self-pipe
  is not needed: select() will get interrupted and re-evaluated when the
  child exits so we can't get stuck there.
- Free "I spotted a classic dailywtf overcomplication" t-shirt goes to
  Michael Schroeder for pointing this out.

13 years agoAbort depgen output reading on EOF, not child exiting
Panu Matilainen [Wed, 8 Jun 2011 07:01:14 +0000 (10:01 +0300)]
Abort depgen output reading on EOF, not child exiting
- There could, at least in theory, still be data to read after
  we receive SIGCHLD. Stop the loop on EOF on read instead.
  Thanks to Michael Schroeder for pointing this out.

13 years agoReturn explicit NULL from dbiFreeIndexSet()
Panu Matilainen [Mon, 6 Jun 2011 10:10:32 +0000 (13:10 +0300)]
Return explicit NULL from dbiFreeIndexSet()
- Explicit NULL is much more obvious here, also eliminate the (now)
  dead NULL-assignments and add a trash-n-burn memset() just in case

13 years agoCosmetics: function blocks start on a new line
Panu Matilainen [Mon, 6 Jun 2011 10:09:15 +0000 (13:09 +0300)]
Cosmetics: function blocks start on a new line

13 years agoLift Dijkstra algorithm out of collectSCC() to separate function
Panu Matilainen [Wed, 1 Jun 2011 10:29:03 +0000 (13:29 +0300)]
Lift Dijkstra algorithm out of collectSCC() to separate function
- This splits outs nicely, moving queue allocation into separate
  scope and making collectSCC() less of an heavy-weight.
  No functional changes.

13 years agoEliminate struct copy in collectSCC(), use a pointer instead
Panu Matilainen [Wed, 1 Jun 2011 09:40:55 +0000 (12:40 +0300)]
Eliminate struct copy in collectSCC(), use a pointer instead
- collectSCC() doesn't actually modify the SCC struct it looks at
  so operating on a copy is harmless, but using a (const) pointer
  to the original makes the idea more clear (we're not modifying
  the scc struct here, only its members)

13 years agoClean up + simplify pgpsigFormat()
Panu Matilainen [Wed, 1 Jun 2011 08:31:55 +0000 (11:31 +0300)]
Clean up + simplify pgpsigFormat()
- Don't do manually what the computer can do for you, let rasprintf()
  calculate the string sizes
- Handle possible date conversion errors: if we can't format the
  date correctly then at least show the integer value along with
  a complaint

13 years agoSplit the --replacepkgs hack to a helper function and document it
Panu Matilainen [Wed, 1 Jun 2011 07:00:04 +0000 (10:00 +0300)]
Split the --replacepkgs hack to a helper function and document it
- Makes the huge rpmpsmStage() that little bit smaller, this
  special-case code does not belong inline there. Also gets rid
  of couple of dead assignments and unnecessary variable.
- Don't bother unless RPMPROB_FILTER_REPLACEPKG is set, it's not
  terribly expensive but its also wholly unnecessary in the normal case
- Document how the dang thing "works"

13 years agoMake test-case for --replacepkgs stricter
Panu Matilainen [Wed, 1 Jun 2011 06:35:47 +0000 (09:35 +0300)]
Make test-case for --replacepkgs stricter
- Actually verify we got the expected result, ie exactly one instance
  of the pkg installed after successful reinstall.

13 years agoReset cli configured flag on rpmcliFini() (RhBug:709421)
Panu Matilainen [Wed, 1 Jun 2011 06:01:24 +0000 (09:01 +0300)]
Reset cli configured flag on rpmcliFini() (RhBug:709421)

13 years agoCleanup rpmpsmNew() and rpmpsmFree()
Panu Matilainen [Tue, 31 May 2011 12:32:44 +0000 (15:32 +0300)]
Cleanup rpmpsmNew() and rpmpsmFree()
- Remove redundant checks and other fluff, including dead
  NULL-assignments on free

13 years agoRemove reamining dead assignments from rpmtsiFree() in transaction code
Panu Matilainen [Tue, 31 May 2011 09:43:15 +0000 (12:43 +0300)]
Remove reamining dead assignments from rpmtsiFree() in transaction code
- Not all of these are at the end of local scope and in many cases
  the iterator pointer is reused, but the logic in all these is
  straightforward enough (no jumps etc) that there's no much
  chance of mistakenly using already freed iterator.

13 years agoRemove dead NULL-assignment before reassign
Panu Matilainen [Tue, 31 May 2011 09:35:18 +0000 (12:35 +0300)]
Remove dead NULL-assignment before reassign

13 years agoRemove superfluous localtime() call
Panu Matilainen [Tue, 31 May 2011 09:27:58 +0000 (12:27 +0300)]
Remove superfluous localtime() call
- The tm pointer is reset to localtime(&when) before accessed,
  this is nothing but a dead call and assignment

13 years agoRemove dead keyp & keylen assignments in rpmdbNextIterator()
Panu Matilainen [Tue, 31 May 2011 08:57:45 +0000 (11:57 +0300)]
Remove dead keyp & keylen assignments in rpmdbNextIterator()
- Both get assigned to their values earlier in the loop and neither
  is used beyond this point in the loop .. so these are useless.

13 years agoClean up + clarify popMacro() a bit
Panu Matilainen [Tue, 31 May 2011 08:38:38 +0000 (11:38 +0300)]
Clean up + clarify popMacro() a bit
- Actually protect against NULL mep (shouldn't happen but...)
- Remove bogus comment + add actually relevant comments
- Make the *mep reassignment more obvious by taking it out of
  the if where its easily missed
- Replace dead NULL-assignments with a trash-n-burn memset()
- Fixup indentation to match general rpm style

13 years agoUse popMacro() when freeing the entire macro table
Panu Matilainen [Tue, 31 May 2011 07:38:17 +0000 (10:38 +0300)]
Use popMacro() when freeing the entire macro table
- We already have a function to free macro entries, use it to
  remove code duplication

13 years agoPass dbiClose() flags down to db->close()
Panu Matilainen [Tue, 31 May 2011 06:02:29 +0000 (09:02 +0300)]
Pass dbiClose() flags down to db->close()
- BDB of old might not have taken flags there but current ones
  do accept DB_NOSYNC to be specified (not that we use it but...)
- As a side-effect this eliminates another dead assignment

13 years agoReturn an explicit NULL from dbiFree(), remove dead assignment
Panu Matilainen [Tue, 31 May 2011 05:59:21 +0000 (08:59 +0300)]
Return an explicit NULL from dbiFree(), remove dead assignment

13 years agoRemove bogus condition on provide checking in query
Panu Matilainen [Tue, 31 May 2011 05:38:09 +0000 (08:38 +0300)]
Remove bogus condition on provide checking in query
- RPMQV_WHATPROVIDES only falls through to RPMQV_PATH on absolute
  paths, so the only place checking for provides_checked value would
  never be reached in the case it was set.
- Add a comment about the fallthrough case

13 years agoEliminate dead NULL-assignment by avoiding unnecessary allocation
Panu Matilainen [Mon, 30 May 2011 14:13:51 +0000 (17:13 +0300)]
Eliminate dead NULL-assignment by avoiding unnecessary allocation
- cpioHeaderRead() only needs to alloc after successfully reading
  the next filename from the cpio header, delay alloc until
  we know the read was successful.

13 years agoFix a logic error leading to unlink(NULL) call, oops.
Panu Matilainen [Mon, 30 May 2011 12:54:16 +0000 (15:54 +0300)]
Fix a logic error leading to unlink(NULL) call, oops.
- If writing the scriptlet to a file fails, its possible to
  end up with non-NULL script but with NULL fn and kaboom in unlink()

13 years agoEliminate bunch of dead assignments on ts vsflags
Panu Matilainen [Mon, 30 May 2011 12:50:29 +0000 (15:50 +0300)]
Eliminate bunch of dead assignments on ts vsflags
- The common pattern here is grabbing current flags to a local
  variable, modifying them for an operation and then restoring,
  which is fine... but we dont care about the previous flags
  when we're restoring them.

13 years agoEliminate dead assignment(s) on rpmfsFree(), memset() wipeout instead
Panu Matilainen [Mon, 30 May 2011 09:38:13 +0000 (12:38 +0300)]
Eliminate dead assignment(s) on rpmfsFree(), memset() wipeout instead

13 years agorpmgiFree() cleanup to remove an exit point and dead assignment(s)
Panu Matilainen [Mon, 30 May 2011 09:37:06 +0000 (12:37 +0300)]
rpmgiFree() cleanup to remove an exit point and dead assignment(s)

13 years agoRemove trailing dead NULL-assignments from sepoltransFree()
Panu Matilainen [Mon, 30 May 2011 09:25:04 +0000 (12:25 +0300)]
Remove trailing dead NULL-assignments from sepoltransFree()
- Replace assignments with a memset() to blast away the contents instead,
  taking care of other members too

13 years agoMinor cleanups to sepolLoadPolicies() in sepolicy plugin
Panu Matilainen [Mon, 30 May 2011 09:12:24 +0000 (12:12 +0300)]
Minor cleanups to sepolLoadPolicies() in sepolicy plugin
- Having an err label which we fall through on success too seems
  a bit funny, rename the label to exit
- Initialize the sepoltrans at declaration already
- Remove redundant RPMRC_FAIL assignment on sepoltransNew() fail
  case, this already assumes failure
- Remove redundant jump to exit from sepoltransCommit() error
- Eliminate trailing dead NULL assignment of the local pt variable

13 years agoReturn explicit NULL on sepoltransNew() failure
Panu Matilainen [Mon, 30 May 2011 09:04:18 +0000 (12:04 +0300)]
Return explicit NULL on sepoltransNew() failure

13 years agoRemove possibility of abusing freed iterator by moving to local scope
Panu Matilainen [Mon, 30 May 2011 08:45:41 +0000 (11:45 +0300)]
Remove possibility of abusing freed iterator by moving to local scope
- Eliminates another dead NULL-assignment + makes it "safer"

13 years agoEliminate obvious dead NULL-assignment at headerLoad() error exit
Panu Matilainen [Mon, 30 May 2011 08:25:51 +0000 (11:25 +0300)]
Eliminate obvious dead NULL-assignment at headerLoad() error exit

13 years agoEliminate dead NULL-assignment on lua scriptlet execution
Panu Matilainen [Mon, 30 May 2011 08:22:30 +0000 (11:22 +0300)]
Eliminate dead NULL-assignment on lua scriptlet execution
- alloc the luavar on entry, free on exit to remove any abuse
  possibilities

13 years agoEliminate a few dead NULL-assignment eliminations in rpmgraph
Panu Matilainen [Mon, 30 May 2011 08:00:31 +0000 (11:00 +0300)]
Eliminate a few dead NULL-assignment eliminations in rpmgraph
- There are more but leaving the rest as a reminder to clean
  up rpmGraph() someday when bored enough...

13 years agoSpring-cleaning for rpmdeps
Panu Matilainen [Mon, 30 May 2011 07:44:43 +0000 (10:44 +0300)]
Spring-cleaning for rpmdeps
- Depgen helpers take nno args, their input comes from stdin. Eliminates
  popt vs ARGV_t mismatch which would've caused us to blow up if
  it weren't for a memleak on the generated argv.
- Another memleak on the file classifier in case rpmfcClassify()
  or rpmfcApply() fails - just free all allocated resources at exit.
- Remove fluff: fgets() is guaranteed to \0-terminate non-NULL returns,
  eliminate unused/useless variables
- Fixup indentation where busted

13 years agoEliminate dead NULL-assignments at scope-end in main cli utils
Panu Matilainen [Mon, 30 May 2011 06:36:03 +0000 (09:36 +0300)]
Eliminate dead NULL-assignments at scope-end in main cli utils

13 years agoA few more dead NULL-assignment eliminations in low-level header code
Panu Matilainen [Sun, 29 May 2011 10:10:42 +0000 (13:10 +0300)]
A few more dead NULL-assignment eliminations in low-level header code

13 years agoMove db cursor to local scopes, remove dead NULL-assignments
Panu Matilainen [Sun, 29 May 2011 09:03:56 +0000 (12:03 +0300)]
Move db cursor to local scopes, remove dead NULL-assignments

13 years agoEliminate dead NULL-assignments at scope-end in librpmsign
Panu Matilainen [Sun, 29 May 2011 08:52:17 +0000 (11:52 +0300)]
Eliminate dead NULL-assignments at scope-end in librpmsign

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part VI
Panu Matilainen [Sat, 28 May 2011 19:30:41 +0000 (22:30 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part VI
- Remove NULL-assignments of local variables at the end of scope
  in "cli-level" code

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part V
Panu Matilainen [Sat, 28 May 2011 19:29:58 +0000 (22:29 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part V
- Remove NULL-assignments of local variables at the end of scope
  in transaction and database code

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part IV
Panu Matilainen [Sat, 28 May 2011 19:28:53 +0000 (22:28 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part IV
- Remove NULL-assignments of local variables at the end of scope
  in the higher level package-related "objects": rpmds, rpmfi, rpmte

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part III
Panu Matilainen [Sat, 28 May 2011 19:26:39 +0000 (22:26 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part III
- Remove NULL-assignments of local variables at the end of scope
  from the low-level helper machinery: fsm, psm, rpmscript and rpmrc

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part II
Panu Matilainen [Sat, 28 May 2011 19:24:37 +0000 (22:24 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part II
- Remove NULL-assignments of local variables at the end of scope
  in package+signature manipulation code

13 years agoEliminate dead NULL-assignments at scope-end in librpm, part I
Panu Matilainen [Sat, 28 May 2011 19:12:37 +0000 (22:12 +0300)]
Eliminate dead NULL-assignments at scope-end in librpm, part I
- Remove NULL-assignments of local variables at the end of scope
  in header + tag- and format-extension code. While this
  NULL-on-free idiom of rpm codebase is harmless as such, these
  unnecessary NULL-assignments have the effect of hiding real problems
  in the amount of noise they generate on code analysis.
- While the changes are supposedly trivial, doing this in smaller parts
  to make bisecting easier in case a some regression slips through.

13 years agoEliminate dead NULL-assignments from rpmio fd close functions
Panu Matilainen [Sat, 28 May 2011 16:45:07 +0000 (19:45 +0300)]
Eliminate dead NULL-assignments from rpmio fd close functions

13 years agoEliminate bunch of obvious dead NULL-assignments around librpmio
Panu Matilainen [Sat, 28 May 2011 16:43:52 +0000 (19:43 +0300)]
Eliminate bunch of obvious dead NULL-assignments around librpmio

13 years agoEliminate dead NULL-assignments on argvFree() and argiFree()
Panu Matilainen [Sat, 28 May 2011 16:42:54 +0000 (19:42 +0300)]
Eliminate dead NULL-assignments on argvFree() and argiFree()

13 years agoClean up spec %files -f <manifest> processing
Panu Matilainen [Sat, 28 May 2011 14:30:16 +0000 (17:30 +0300)]
Clean up spec %files -f <manifest> processing
- Split the manifest reading into a helper function
- Fix filename memleak when the file couldn't be opened and
  also check for ferror() on return from the fgets() loop - fgets()
  returns NULL on both EOF and error, previously an error would've
  gone silently unnoticed.o

13 years agoRemove pointless variable and a dead assignment to it
Panu Matilainen [Sat, 28 May 2011 08:34:51 +0000 (11:34 +0300)]
Remove pointless variable and a dead assignment to it

13 years agoClean up checkFiles() a bit
Panu Matilainen [Sat, 28 May 2011 08:30:55 +0000 (11:30 +0300)]
Clean up checkFiles() a bit
- Initialize variables on declaration, eliminate dead rc assignment

13 years agoEliminate bunch of obvious dead NULL-assingments from misc build parts
Panu Matilainen [Fri, 27 May 2011 13:46:23 +0000 (16:46 +0300)]
Eliminate bunch of obvious dead NULL-assingments from misc build parts

13 years agoRip hysterical hoop-jumping on spec/pkg cpiolist freeing
Panu Matilainen [Fri, 27 May 2011 13:27:34 +0000 (16:27 +0300)]
Rip hysterical hoop-jumping on spec/pkg cpiolist freeing
- Just call rpmfiFree() directly, wtf?

13 years agoEliminate dead NULL-assignments on parsePolicies() exit
Panu Matilainen [Fri, 27 May 2011 13:20:45 +0000 (16:20 +0300)]
Eliminate dead NULL-assignments on parsePolicies() exit

13 years agoEliminate bunch of obvious dead NULL-assignments from build script code
Panu Matilainen [Fri, 27 May 2011 12:49:09 +0000 (15:49 +0300)]
Eliminate bunch of obvious dead NULL-assignments from build script code

13 years agoEliminate bunch of obvious dead NULL-assignments from rpm generation
Panu Matilainen [Fri, 27 May 2011 12:38:54 +0000 (15:38 +0300)]
Eliminate bunch of obvious dead NULL-assignments from rpm generation

13 years agoEliminate dead NULL-assignments in parseFiles()
Panu Matilainen [Fri, 27 May 2011 11:44:03 +0000 (14:44 +0300)]
Eliminate dead NULL-assignments in parseFiles()

13 years agoEliminate dead NULL-assignments from rpmSpecFree()
Panu Matilainen [Fri, 27 May 2011 11:37:44 +0000 (14:37 +0300)]
Eliminate dead NULL-assignments from rpmSpecFree()

13 years agoEliminate dead NULL-assignments on OFI frees on spec parsing
Panu Matilainen [Fri, 27 May 2011 11:35:14 +0000 (14:35 +0300)]
Eliminate dead NULL-assignments on OFI frees on spec parsing