platform/upstream/rpm.git
11 years agoRemove some old craft
Anas Nashif [Fri, 12 Oct 2012 15:45:43 +0000 (08:45 -0700)]
Remove some old craft

11 years agoRemove some old craft
Anas Nashif [Fri, 12 Oct 2012 15:35:00 +0000 (08:35 -0700)]
Remove some old craft

11 years agoadd packaging files
Anas Nashif [Thu, 11 Oct 2012 22:56:20 +0000 (15:56 -0700)]
add packaging files

11 years agodisable dep tracking
Anas Nashif [Thu, 11 Oct 2012 22:53:59 +0000 (15:53 -0700)]
disable dep tracking

11 years agoFind supplements
Anas Nashif [Thu, 11 Oct 2012 22:52:52 +0000 (15:52 -0700)]
Find supplements

11 years agoFile attributes
Anas Nashif [Thu, 11 Oct 2012 22:52:02 +0000 (15:52 -0700)]
File attributes

11 years agoremove languages we do not yet support
Anas Nashif [Thu, 11 Oct 2012 22:49:02 +0000 (15:49 -0700)]
remove languages we do not yet support

11 years agoGStreamer provides, codecs
Anas Nashif [Thu, 11 Oct 2012 22:48:26 +0000 (15:48 -0700)]
GStreamer provides, codecs

11 years agoFont dependencies
Anas Nashif [Thu, 11 Oct 2012 22:47:45 +0000 (15:47 -0700)]
Font dependencies

11 years agoPython dependencies
Anas Nashif [Thu, 11 Oct 2012 22:47:01 +0000 (15:47 -0700)]
Python dependencies

11 years agoDon't complain about a bad md5 sum for repackaged rpms.
Anas Nashif [Thu, 11 Oct 2012 22:45:41 +0000 (15:45 -0700)]
Don't complain about a bad md5 sum for repackaged rpms.

11 years agoPrefer sys/vfs.h, as statvfs stats all filesystems again
Anas Nashif [Thu, 11 Oct 2012 22:45:00 +0000 (15:45 -0700)]
Prefer sys/vfs.h, as statvfs stats all filesystems again

11 years agodebug link
Anas Nashif [Thu, 11 Oct 2012 22:43:32 +0000 (15:43 -0700)]
debug link

11 years agoCreate a debuginfo package for each subpackage.
Anas Nashif [Thu, 11 Oct 2012 22:42:33 +0000 (15:42 -0700)]
Create a debuginfo package for each subpackage.

Originally from opensuse rpm

11 years agoLet debuginfo packages provide the build-id
Anas Nashif [Thu, 11 Oct 2012 22:32:35 +0000 (15:32 -0700)]
Let debuginfo packages provide the build-id

This patch lets debuginfo packages provide build-id like follows:

 debuginfo(build-id) = c63cb23876c5fa85f36beaff58f8557e1bf22517

Users can therefore ask zypper to install the correct debuginfo package
with:

 zypper install -C "debuginfo(build-id) = c63cb23876c5fa85f36beaff58f8557e1bf22517"

11 years agoFirmware dependencies
Anas Nashif [Thu, 11 Oct 2012 22:30:04 +0000 (15:30 -0700)]
Firmware dependencies

11 years agoDo the symbolic links right in the first place
Anas Nashif [Thu, 11 Oct 2012 22:28:50 +0000 (15:28 -0700)]
Do the symbolic links right in the first place

Since brp-symlink relinks symbolic links to enforce a certain policy we
should do it right in the first place. So this patch changes find-debuginfo.sh
scripts behavior to reflect that policy.

Signed-off-by: Jan Blunck <jblunck@suse.de>
11 years agodebugedit canon fix
Anas Nashif [Thu, 11 Oct 2012 22:27:31 +0000 (15:27 -0700)]
debugedit canon fix

11 years agoremove references to removed brp scripts
Anas Nashif [Thu, 11 Oct 2012 22:26:14 +0000 (15:26 -0700)]
remove references to removed brp scripts

11 years agoSplit sources for debugging into separate -debugsource package
Anas Nashif [Thu, 11 Oct 2012 22:24:15 +0000 (15:24 -0700)]
Split sources for debugging into separate -debugsource package

At the moment the -debuginfo package also include the sources where used
to build the binary. The patches moves them into a separate package -debugsource.

11 years agoshort changelog
Anas Nashif [Thu, 11 Oct 2012 22:23:31 +0000 (15:23 -0700)]
short changelog

11 years agoSupport a "first version wins" semantics.
Anas Nashif [Thu, 11 Oct 2012 22:22:40 +0000 (15:22 -0700)]
Support a "first version wins" semantics.

11 years agoProvide rpmqpack
Anas Nashif [Thu, 11 Oct 2012 22:19:09 +0000 (15:19 -0700)]
Provide rpmqpack

a fast way to list all installed packages are
check if some package is installed. This is a hack.

11 years agostrip off the tag
Anas Nashif [Thu, 11 Oct 2012 22:17:10 +0000 (15:17 -0700)]
strip off the tag

11 years agoadding find-supplements scripts
Anas Nashif [Thu, 11 Oct 2012 22:15:50 +0000 (15:15 -0700)]
adding find-supplements scripts

11 years agorpmrc changes
Anas Nashif [Thu, 11 Oct 2012 22:15:28 +0000 (15:15 -0700)]
rpmrc changes

11 years agoAdd distribution
Anas Nashif [Thu, 11 Oct 2012 22:11:03 +0000 (15:11 -0700)]
Add distribution

11 years agoplatform changes
Anas Nashif [Thu, 11 Oct 2012 22:09:49 +0000 (15:09 -0700)]
platform changes

11 years agoModule aliases
Anas Nashif [Thu, 11 Oct 2012 22:06:22 +0000 (15:06 -0700)]
Module aliases

11 years agoMacro adjustments
Anas Nashif [Thu, 11 Oct 2012 22:05:13 +0000 (15:05 -0700)]
Macro adjustments

11 years agoFind debuginfo
Anas Nashif [Thu, 11 Oct 2012 21:56:57 +0000 (14:56 -0700)]
Find debuginfo

11 years agoExclude /usr/share/info/dir from check-files.
Anas Nashif [Thu, 11 Oct 2012 21:47:26 +0000 (14:47 -0700)]
Exclude /usr/share/info/dir from check-files.

11 years agobrp for tizen
Anas Nashif [Thu, 11 Oct 2012 21:43:08 +0000 (14:43 -0700)]
brp for tizen

11 years agoauto dependencies
Anas Nashif [Thu, 11 Oct 2012 21:13:29 +0000 (14:13 -0700)]
auto dependencies

11 years agoAdd support for weak dependencies:
Anas Nashif [Thu, 11 Oct 2012 19:40:31 +0000 (12:40 -0700)]
Add support for weak dependencies:

A) use RPMTAG_SUGGESTS and RPMTAG_ENHANCES to store them.

   This is different to upstream, which uses RPMSENSE_MISSINGOK
   and RPMTAG_REQUIRES/RPMTAG_PROVIDES instead. I chose different
   tags because I wanted to be compatible. The point is that
   applications that don't know about the new MISSINGOK semantics
   will mis-interpret the provides/requires otherwise, which
   I deemed to risky.

B) use RPMSENSE_STRONG to support a "strong" version, "Recommends"
   instead of "Suggests" and "Supplements" instead of "Enhances".

11 years agoSuspend exclusive database lock when scriptlets get called
Anas Nashif [Thu, 11 Oct 2012 19:38:04 +0000 (12:38 -0700)]
Suspend exclusive database lock when scriptlets get called

Suspend exclusive database lock when scriptlets get called, allowing
read access in scriptlets. Only needed for DB_PRIVATE (aka global)
locking.

11 years agoFix global (DB_PRIVATE) lock code
Anas Nashif [Thu, 11 Oct 2012 19:37:11 +0000 (12:37 -0700)]
Fix global (DB_PRIVATE) lock code

Fix global (DB_PRIVATE) lock code: fix recursion counter, retry
failed lock operations for up to 3 minutes.

11 years agoAllow updates to different architectures
Anas Nashif [Thu, 11 Oct 2012 19:35:52 +0000 (12:35 -0700)]
Allow updates to different architectures

Also test architecture in "refresh" test when not colored. This allows
updates to different architectures.

11 years agoExtended condition support
Anas Nashif [Thu, 11 Oct 2012 19:34:48 +0000 (12:34 -0700)]
Extended condition support

This patch supports an extension in the condition evaluation.
If the condition is a format and returns an nonempty string, it is
assumed to be true.
This mechanism is used by the weakdeps patch to filter the
"RPMSENSE_STRONG" flag.

11 years agodb ro interruptable
Anas Nashif [Thu, 11 Oct 2012 19:33:26 +0000 (12:33 -0700)]
db ro interruptable

11 years agoSupport a database-local fsync setting.
Anas Nashif [Thu, 11 Oct 2012 19:32:19 +0000 (12:32 -0700)]
Support a database-local fsync setting.

Needs berkeley db patch.

11 years agocompate name and version
Anas Nashif [Thu, 11 Oct 2012 19:31:15 +0000 (12:31 -0700)]
compate name and version

Also compare the name and not only the version when checking if
two packages are the same. rh#104066

11 years agoConvert output to the current locale.
Anas Nashif [Thu, 11 Oct 2012 19:26:20 +0000 (12:26 -0700)]
Convert output to the current locale.

Assumes utf8 input if the decoding works, otherwise iso-8859-1.
(imported from suse rpm)

11 years agoMake debugedit build without dwarf.h
Anas Nashif [Thu, 11 Oct 2012 19:24:11 +0000 (12:24 -0700)]
Make debugedit build without dwarf.h

11 years agoadd patch 0
Anas Nashif [Thu, 11 Oct 2012 19:22:12 +0000 (12:22 -0700)]
add patch 0

11 years agoAdd db4 integration patch
Anas Nashif [Thu, 11 Oct 2012 19:18:10 +0000 (12:18 -0700)]
Add db4 integration patch

11 years agoupdate spec version
Anas Nashif [Thu, 11 Oct 2012 18:56:39 +0000 (11:56 -0700)]
update spec version

11 years agoadd spec file
Anas Nashif [Thu, 11 Oct 2012 18:55:01 +0000 (11:55 -0700)]
add spec file

11 years agoPreparing for 4.11.0-beta1 rpm-4.11.0-beta1 upstream/4.10.91
Panu Matilainen [Mon, 10 Dec 2012 13:20:51 +0000 (15:20 +0200)]
Preparing for 4.11.0-beta1

11 years agoEnsure correct return code on malformed signature in packages
Panu Matilainen [Fri, 7 Dec 2012 11:54:23 +0000 (13:54 +0200)]
Ensure correct return code on malformed signature in packages

- rpmpkgRead() starts with assumed failure, but there are a number
  of places assigning the return code, and by the time we get
  to the parsePGPSig() calls its likely to be RPMRC_OK, so the
  jumps to exit result in "all is well" return code on a signature
  we couldn't even parse. Oops.
- Set the failure status explicitly to fix this fairly nasty regression
  introduced in commit e8bc3ff5d780f4ee6656c24464402723e5fb04f4, ie
  rpm >= 4.10.
(cherry picked from commit 96a616c6aed4c516789a154af188f005caf23f14)

11 years agoHandle allocation failure in NSS DSA signature initialization
Panu Matilainen [Tue, 4 Dec 2012 12:06:42 +0000 (14:06 +0200)]
Handle allocation failure in NSS DSA signature initialization
(cherry picked from commit 2d39f13064f6e6ff1a1633b708e7ba5622a7e8eb)

11 years agoFix build with older NSS versions that dont support SHA224
Panu Matilainen [Fri, 30 Nov 2012 10:23:42 +0000 (12:23 +0200)]
Fix build with older NSS versions that dont support SHA224

- SHA224-support was added around NSS 3.13, dont break compilation
  with older versions just for this rarely used hash.
- HASH_AlgSHA224 is an enum so test for SHA224_LENGTH define instead
(cherry picked from commit e15e29823451663e27a5bec6c865b37901f1c315)

11 years agoCondence NSS getHashType() a bit, handle SHA224 too
Panu Matilainen [Fri, 30 Nov 2012 10:20:05 +0000 (12:20 +0200)]
Condence NSS getHashType() a bit, handle SHA224 too

- Not much point in enumurating unsupported cases, or with switch-breaks
  after returns.
- Recognize SHA224 too
(cherry picked from commit 466a6b554e7f7ded9f1c59646e6b64243ce16812)

11 years agoUnbreak --setperms (RhBug:881835)
Panu Matilainen [Fri, 30 Nov 2012 06:15:24 +0000 (08:15 +0200)]
Unbreak --setperms (RhBug:881835)

- Fixes a regression introduced in rpm >= 4.10 caused by query format
  simplification (loss of zero padding support), in commit
  1f1e5e88a1f6c60cf2d11014d809000e97a63aad.
- 'chmod' command doesn't need zero padding, just remove the formatting.
  In fact we shouldn't be passing the entire mode to it but just the
  permission bits, but fortunately chmod isn't too picky here.
(cherry picked from commit 4c90c79e3f3c178189ad3bd89dfd87cd3a2290ab)

11 years agoGet rid of long since deprecated VFY_VerifyDigest() uses
Panu Matilainen [Thu, 29 Nov 2012 10:35:13 +0000 (12:35 +0200)]
Get rid of long since deprecated VFY_VerifyDigest() uses

- VFY_VerifyDigest() has been deprecated since NSS >= 3.12 and for
  a good reason too: with VFY_VerifyDigest() caller needs to painfully
  enumerate every possible supported enc + hash combination, only for
  NSS to revert the process. Use the saner VFY_VerifyDigestDirect()
  interface instead and test for its presence in configure.
- This means we now require NSS >= 3.12 but as that's already 4.5 years
  old and included in ancient beasts like RHEL-4, this doesn't seem
  exactly unreasonable requirement. And then there's always beecrypt...
(cherry picked from commit 9b995a7674adba08248fac79ae8b23ecbecc13de)

11 years agoRemove extra ',' in NSS configure checks, whoops
Panu Matilainen [Thu, 29 Nov 2012 10:31:52 +0000 (12:31 +0200)]
Remove extra ',' in NSS configure checks, whoops
(cherry picked from commit e1c67173d38016a88989f5b09e0934f90094fe85)

11 years agoUse NSS-defined constants for DSA q-bits and signature length too
Panu Matilainen [Thu, 29 Nov 2012 09:05:04 +0000 (11:05 +0200)]
Use NSS-defined constants for DSA q-bits and signature length too

- No functional changes here (either), but using the proper constants
  simply makes things that little bit clearer.
(cherry picked from commit 604da18bc267f89568081c1ab163c7fc45207220)

11 years agoAvoid deprecation warnings from NSS >= 3.14
Panu Matilainen [Thu, 29 Nov 2012 08:43:24 +0000 (10:43 +0200)]
Avoid deprecation warnings from NSS >= 3.14

- NSS >= 3.14 introduces support for DSA2 and marks DSA_SUBPRIME_LEN
  as deprecated. Use explicit DSA1_SUBPRIME_LEN (we only support DSA1
  for now) instead where available, add compatibility define for
  older versions.
- Also directly include <blapit.h> where its defined - blabit.h gets
  included via cryptohi.h but being explicit about it avoids having
  to redefine it again "just in case".
(cherry picked from commit 73be0fc7d9faab9f1120e2979f2ca1feed522195)

11 years agoAdd missing <errno.h> include
Panu Matilainen [Mon, 26 Nov 2012 11:34:06 +0000 (13:34 +0200)]
Add missing <errno.h> include

- Should've been in commit cbd6ef58bbc122e6adf2138679915bd3845d6756,
  this breaks build when selinux-support is not compiled in
(cherry picked from commit ebba1c7b58ba089bb9e1ded147c789d9ca067b6c)

11 years agoAvoid locale issues in rpm2cpio.sh (RhBug:878363)
Panu Matilainen [Thu, 22 Nov 2012 10:22:06 +0000 (12:22 +0200)]
Avoid locale issues in rpm2cpio.sh (RhBug:878363)

- In gawk >= 4.0.x printf() "adjusts" things according to current locale,
  but we need the data as it is. Forcing C locale prevents gawk from
  getting funny ideas about character conversions...
(cherry picked from commit c0e95f1cedefd6d7522ef2cf7a2ada7c83821596)

11 years agoFix double-free on %caps in spec (RhBug:877512)
Panu Matilainen [Sat, 17 Nov 2012 15:57:59 +0000 (17:57 +0200)]
Fix double-free on %caps in spec (RhBug:877512)

- Fixes regression caused by dumb refactoring mistake in commit
  807ba93a6cf168410e3801347898949f356fcd6c
(cherry picked from commit 6bdd34c451dbf69792c59704e06f1ccb045ae743)

11 years agoAdd --undefine cli switch for undefining macros (related to RhBug:876308)
Panu Matilainen [Fri, 16 Nov 2012 11:21:15 +0000 (13:21 +0200)]
Add --undefine cli switch for undefining macros (related to RhBug:876308)
(cherry picked from commit 644f080a4868208bf61f28103b7b676c094129a0)

11 years agoAccount for temporary disk-space requirement on forced replace too
Panu Matilainen [Wed, 14 Nov 2012 10:19:49 +0000 (12:19 +0200)]
Account for temporary disk-space requirement on forced replace too

- Similar to commit 85df102165fdbe64978f2019d757d400e7448218, but
  for forced file replacements.
(cherry picked from commit b1d3f21a54eb1f23a08e9e2d943a6438502b0e47)

11 years agoRemove ancient, no longer relevant comment
Panu Matilainen [Wed, 14 Nov 2012 08:54:38 +0000 (10:54 +0200)]
Remove ancient, no longer relevant comment

- Since commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e, only the first
  instance of shared files is created, the rest are FA_SKIP which
  consume no disk space and are not counted either.
(cherry picked from commit f8da4f613680b4da4ee191f8b7451de9b36bfcbd)

11 years agoAccount for temporary disk-space requirements on updates (ticket #175)
Panu Matilainen [Wed, 14 Nov 2012 08:31:15 +0000 (10:31 +0200)]
Account for temporary disk-space requirements on updates (ticket #175)

- When updating packages, we first create them with a temporary names
  and only after all files from payload have been created this way,
  the files are renamed to the final target. This means that performing
  an update temporarily requires roughly twice the disk space (and inodes)
  compared to the final result on per-package level. Which matters
  when space is tight, such as presumably in RhBug:872314.
- Simulate what happens on upgrades by adding block and inode delta
  to the equation: installing a file always consumes an inode and
  the specified amount of disk space. But when replacing files,
  reduce the size-delta from disk consumption *after* checking for
  problems in a given DSI.
- Also fixes inode accounting which has been broken for forever (since
  commit a9a1fd866c573f41287e6ad256ce64b3970a1eaa more exactly)
(cherry picked from commit 85df102165fdbe64978f2019d757d400e7448218)

11 years agoAdd $RPM_CONFIGDIR/macros.d/ directory to default macro path (RhBug:846679)
Panu Matilainen [Fri, 9 Nov 2012 06:21:51 +0000 (08:21 +0200)]
Add $RPM_CONFIGDIR/macros.d/ directory to default macro path (RhBug:846679)

- There of course already is a drop-in directory for macro config bits
  in $(sysconfdir)/rpm/ but as /etc is supposed to be per-host admin
  territory, having another place for system package provided rpm config
  doesn't seem unreasonable.
- Whether this early in the path is the best possible or even reasonable
  position for this remains to be seen... but this way it could be used
  for "factory default" config bits by rpm itself as well, while still
  permitting vendor/host/user override.
(cherry picked from commit dcd261b9fe1e61e8ac3e99dbb443145bbf896886)

12 years agoAdd cli-switch to query for license files
Panu Matilainen [Thu, 8 Nov 2012 08:26:18 +0000 (10:26 +0200)]
Add cli-switch to query for license files
(cherry picked from commit 4b19c17f53f56c841903e5d6a09efdb10b2ca400)

12 years agoErm, actually mark the special %license files as RPMFILE_LICENSE
Panu Matilainen [Thu, 8 Nov 2012 08:20:24 +0000 (10:20 +0200)]
Erm, actually mark the special %license files as RPMFILE_LICENSE

- Somehow I thought this already got done somewhere... the new special
  %license files need to be marked as RPMFILE_LICENSE for easy querying.
(cherry picked from commit 5998b02665c30a5b560f8fe899c19235f9299bd0)

12 years agoDocument --define in rpmbuild manual as well (RhBug:665536) rpm-4.11.0-alpha upstream/4.10.90
Panu Matilainen [Tue, 6 Nov 2012 11:29:11 +0000 (13:29 +0200)]
Document --define in rpmbuild manual as well (RhBug:665536)

12 years agoDont complain about non-colored arch-specific packages
Panu Matilainen [Mon, 5 Nov 2012 15:15:23 +0000 (17:15 +0200)]
Dont complain about non-colored arch-specific packages

- Non-colored arch-specific packages are very common, for example
  -devel and -debuginfo packages among several other cases for which
  we cant do much about.  Dont whine without a good reason.

12 years agoWork around Fedora-specific patch to libselinux causing warnings
Panu Matilainen [Mon, 5 Nov 2012 14:00:39 +0000 (16:00 +0200)]
Work around Fedora-specific patch to libselinux causing warnings

- In recent Fedora, struct selinux_opt value member is changed to an
  anonymous union of char * and char **. Initialize the members by name
  to avoid warnings in both (patched and unpatched) cases.

12 years agoFix strncat() boundaries in Fdopen()
Dominique Leuenberger [Mon, 5 Nov 2012 13:45:29 +0000 (15:45 +0200)]
Fix strncat() boundaries in Fdopen()

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
12 years agoUpdate contact address in COPYING (RhBug:742362)
Panu Matilainen [Mon, 5 Nov 2012 13:08:28 +0000 (15:08 +0200)]
Update contact address in COPYING (RhBug:742362)

- marc and ewt haven't been valid email addresses in the last 10+
  years, cough...

12 years agoUpdate library current + age (ie libs are now 3.1.0)
Panu Matilainen [Mon, 5 Nov 2012 08:22:50 +0000 (10:22 +0200)]
Update library current + age (ie libs are now 3.1.0)

- We haven't removed or changed any interfaces in a way that would
  require full soname bump, only a handful of new interfaces have
  been added.
- There aren't actually any new interfaces in librpmbuild or librpmsign
  but for sanity and consistency's sake they're all updated...

12 years agoUpdate translations from Transifex
Panu Matilainen [Mon, 5 Nov 2012 08:09:18 +0000 (10:09 +0200)]
Update translations from Transifex

12 years agoEnable built-in %dirname macro
Panu Matilainen [Thu, 1 Nov 2012 10:09:30 +0000 (12:09 +0200)]
Enable built-in %dirname macro

- This might've clashed with %dir in spec %files at some point as
  indicated by the comments, but that should no longer be the case.

12 years agoRename -debug to -debuginfo to match what everybody uses anyway
Panu Matilainen [Thu, 1 Nov 2012 09:45:44 +0000 (11:45 +0200)]
Rename -debug to -debuginfo to match what everybody uses anyway

- Practically everybody renames the debug information sub-packages
  from -debug to -debuginfo, might as well do so upstream already.
  Intended to do this like five years ago but kept forgetting...

12 years agomake "canonicalization(...)shrank by one character" error message more usefull
thierry.vignaud@gmail.com [Fri, 19 Oct 2012 08:08:35 +0000 (10:08 +0200)]
make "canonicalization(...)shrank by one character" error message more usefull

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
12 years agoDon't call "rpm --addsign" if rpmbuild didn't create RPMs.
Tim Landscheidt [Wed, 24 Oct 2012 23:18:57 +0000 (23:18 +0000)]
Don't call "rpm --addsign" if rpmbuild didn't create RPMs.

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
12 years agoHide the strpool-related rpmts/rpmfi/rpmds interfaces out of sight for now
Panu Matilainen [Thu, 1 Nov 2012 07:45:15 +0000 (09:45 +0200)]
Hide the strpool-related rpmts/rpmfi/rpmds interfaces out of sight for now

- In the package/transaction related things the strpool is more of
  an internal implementation detail than an end-goal in itself, move
  string pool related interfaces of rpmts, rpmfi and rpmds to
  internal-only APIs for now. The kind interfaces we'll want to eventually
  export a) dont exist yet and b) are likely to be something very different.
- The string pool itself remains exported however, its a handy data
  structure for all sorts of things and both librpm and librpmbuild
  heavily use it already.

12 years agoUse private NSS context if NSS supports it (RhBug:871485)
Panu Matilainen [Wed, 31 Oct 2012 07:43:38 +0000 (09:43 +0200)]
Use private NSS context if NSS supports it (RhBug:871485)

- Older NSS versions operate on global context, which can cause
  all sorts of trouble when an API user tries to use NSS for their
  own purposes: eg they might want to use NSS databases which is not
  possible once we've initialized NSS with NSS_NoDB_Init(). Further
  background on the subject at https://wiki.mozilla.org/NSS_Library_Init
- Use private private NSS context when possible (NSS >= 3.12.5) to
  avoid such clashes, but keep support for older versions for now.

12 years agoHandle EINTR in Fread() and Fwrite()
Panu Matilainen [Tue, 30 Oct 2012 10:38:20 +0000 (12:38 +0200)]
Handle EINTR in Fread() and Fwrite()

- Not all systems automatically restart signal-interrupted operations,
  handle this centrally since its so easy to do. Also related to
  RhBug:580974.

12 years agoHandle partial reads and errors in package IO (RhBug:802839, RhBug:580974)
Panu Matilainen [Tue, 30 Oct 2012 09:36:56 +0000 (11:36 +0200)]
Handle partial reads and errors in package IO (RhBug:802839, RhBug:580974)

- There are no guarantees Fread() will return all of the requested size:
  it can return partial data eg on signals and pipe descriptors. Introduce
  a helper function to handle this centrally for all package read IO,
  effectively reintroducing timedRead() but without the caveats:
  timedRead() did not work on compressed streams, did not handle
  eg EINTR correctly and while really being an internal helper,
  was exported in the API.

12 years agoFix missing error on --import on bogus key file (RhBug:869667)
Panu Matilainen [Tue, 30 Oct 2012 07:29:46 +0000 (09:29 +0200)]
Fix missing error on --import on bogus key file (RhBug:869667)

- When the "BEGIN PGP" marker is not found at all, we would silently
  exit with success when trying to import utter garbage, such as
  rpmkeys --import /bin/bash (not that I consider bash as gargabe ;)

12 years agoRemove transition-time leftover pool unfreezing
Panu Matilainen [Fri, 26 Oct 2012 09:15:07 +0000 (12:15 +0300)]
Remove transition-time leftover pool unfreezing

- Nobody is freezing our pool so there's no need to unfreeze it either...

12 years agoEliminate static "misc stuff pool" from rpmfi
Panu Matilainen [Fri, 26 Oct 2012 08:47:31 +0000 (11:47 +0300)]
Eliminate static "misc stuff pool" from rpmfi

- Prior to string pool existence, the static "caches" were kinda
  necessary for sharing the relatively static content of user/group
  names and file languages, but this is nothing but an unfreeable
  block of memory at this point. Just use the same pool as everything
  else - whether private or shared.

12 years agoEliminate copy-paste nibble(), use rnibble() instead
Panu Matilainen [Fri, 19 Oct 2012 13:20:02 +0000 (16:20 +0300)]
Eliminate copy-paste nibble(), use rnibble() instead

12 years agoDefault to NSS crypto though...
Panu Matilainen [Fri, 19 Oct 2012 12:45:14 +0000 (15:45 +0300)]
Default to NSS crypto though...

- NSS is a big and quirky monster for our needs but that's what we've
  been defaulting to for the last years, and then there are those
  certifications...
- Also default to external beecrypt even if --with-beecrypt is used

12 years agoAdd support for beecrypt as an alternative crypto implementation
Michael Schroeder [Fri, 19 Oct 2012 12:43:09 +0000 (15:43 +0300)]
Add support for beecrypt as an alternative crypto implementation

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
12 years agoDont bother with digest and link comparisons if size differs, part II
Panu Matilainen [Fri, 19 Oct 2012 10:54:11 +0000 (13:54 +0300)]
Dont bother with digest and link comparisons if size differs, part II

- If link or regular file sizes differ, they cannot possibly be
  identical. Saves us from doing bunch of pointless string and
  memory comparisons on what's a very busy path - not exactly a huge
  with but measurable nevertheless.

12 years agoDont bother with %config digests on conflicts if size differs
Panu Matilainen [Fri, 19 Oct 2012 10:45:04 +0000 (13:45 +0300)]
Dont bother with %config digests on conflicts if size differs

- Files of different size cannot possibly be identical, dont bother
  with expensive digest calculation.

12 years agoFix noarch __isa_* macro filter in installplatform (RhBug:865436)
Panu Matilainen [Thu, 11 Oct 2012 14:57:10 +0000 (17:57 +0300)]
Fix noarch __isa_* macro filter in installplatform (RhBug:865436)

- The filter wasn't doing what it was supposed to due to extra single
  quotes getting inserted, causing "rpmbuild --target noarch foo.spec"
  to whine about empty macro bodies. This is a regression introduced
  in rpm 4.10, commit 07ec480c180e4005a629242b8f9f8ab640e3e950 to be
  precise.

12 years agoEliminate now unnecessary WITH_SELINUX conditionals in sepolicy plugin
Panu Matilainen [Thu, 11 Oct 2012 12:14:04 +0000 (15:14 +0300)]
Eliminate now unnecessary WITH_SELINUX conditionals in sepolicy plugin

12 years agoOnly try compiling sepolicy plugin if selinux is enabled
Panu Matilainen [Thu, 11 Oct 2012 12:09:15 +0000 (15:09 +0300)]
Only try compiling sepolicy plugin if selinux is enabled

12 years agoMissing include in string pool
Panu Matilainen [Thu, 11 Oct 2012 12:04:54 +0000 (15:04 +0300)]
Missing include in string pool

- When compiled without selinux support, stdlib.h doesn't get
  included here. Wtf?

12 years agoRevert "Update man page to reflect that rpm no longer uses MD5 as a default digest...
Florian Festi [Thu, 11 Oct 2012 10:20:06 +0000 (12:20 +0200)]
Revert "Update man page to reflect that rpm no longer uses MD5 as a default digest algorithm"

This reverts commit b040b323d6fac32f7f4fa77fd5cb60c7967fc53f.

The change does only affect file digests.

12 years agoAdd rpm --setperms and rpm --setugids to the man page
Florian Festi [Wed, 10 Oct 2012 12:59:32 +0000 (14:59 +0200)]
Add rpm --setperms and rpm --setugids to the man page

12 years agoUpdate man page to reflect that rpm no longer uses MD5 as a default digest algorithm
Florian Festi [Wed, 10 Oct 2012 11:17:09 +0000 (13:17 +0200)]
Update man page to reflect that rpm no longer uses MD5 as a default digest algorithm

12 years agoAdd lua 5.2 support.
Anders F Bjorklund [Wed, 12 Sep 2012 21:26:38 +0000 (23:26 +0200)]
Add lua 5.2 support.

Add compatibility support for both lua-5.1 and lua-5.2,
assuming that the LUA_COMPAT might have been disabled.

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
12 years agoDon't bother calculating digests of %ghost %config files
Panu Matilainen [Mon, 8 Oct 2012 06:27:18 +0000 (09:27 +0300)]
Don't bother calculating digests of %ghost %config files

- Calculating digest of %ghost config is useless as there's nothing
  to compare the result to. Also we never take backups of %ghost
  configuration anyway, so this is a total waste of time. One common
  case of %ghost %config is the rpmdb (environment and all) which
  can be rather large and calculating digests can take several seconds,
  only for the results to be thrown away unused.
- There are some cases where it might be reasonable to back up %ghost
  %config (eg if it gets replaced by non-config), but
  rpmfiConfigConflictIndex() doesn't have sufficient context to figure
  that out. For now, preserve the traditional simple rule: no backups
  for ghosts, ever.