Panu Matilainen [Tue, 4 Nov 2008 07:52:19 +0000 (09:52 +0200)]
Use more portable file access mode tests (ticket #5)
- don't make assumptions about how O_RDWR and friends are defined, use the
portable way of masking flags with O_ACCMODE and explicit comparison
against the mode we're interested in
Panu Matilainen [Mon, 3 Nov 2008 12:13:45 +0000 (14:13 +0200)]
Ensure PATH_MAX is defined (ticket #3) Adam Tkac
- POSIX doesn't require PATH_MAX to be defined as constant, and Hurd
doesn't define it...
- deal with it just once in system.h for now, the proper fix is to get
rid of needing it at all (ie add a mallocing realpath() clone to librpmio)
- patch from Adam Tkac
Panu Matilainen [Fri, 31 Oct 2008 15:45:43 +0000 (17:45 +0200)]
Drop unnecessary trailing slash in pkgconfig includedir
Panu Matilainen [Fri, 31 Oct 2008 08:17:07 +0000 (10:17 +0200)]
Adjust for file output change (rhbz#468129)
- file util used reported file details along with mime type, newer ones don't
Panu Matilainen [Thu, 30 Oct 2008 12:12:18 +0000 (14:12 +0200)]
Kill of scareMem / keep header flag from rpmds
- unnecessary complication which doesn't benefit anything (anymore)
Panu Matilainen [Thu, 30 Oct 2008 12:07:29 +0000 (14:07 +0200)]
Change all in-tree rpmdsNew() uses to non-scaremem
- shouldn't affect anything at all
Panu Matilainen [Thu, 30 Oct 2008 12:03:34 +0000 (14:03 +0200)]
Remove unnecessary scaremem flags, hardwired to no scaremem anyway
- no functional changes
Panu Matilainen [Thu, 30 Oct 2008 11:46:26 +0000 (13:46 +0200)]
Save bunch of memory by not loading file classes in ts elements
- install/remove doesn't need or use file class information at all,
don't bother loading it, saves a few megs of memory on large transactions
Panu Matilainen [Thu, 30 Oct 2008 11:43:44 +0000 (13:43 +0200)]
Add couple of new rpmfi flags for file classes and file depends
Panu Matilainen [Wed, 29 Oct 2008 13:23:49 +0000 (15:23 +0200)]
Move rpmfi color union calculation out of rpmfiNew()
- nothing at all uses the calculated value or rpmfiColor() call, take
the unnecessary calculation out of common path into rpmfiColor()
Panu Matilainen [Wed, 29 Oct 2008 13:06:37 +0000 (15:06 +0200)]
Remove unused package color calculations from 2003
Panu Matilainen [Wed, 29 Oct 2008 12:34:36 +0000 (14:34 +0200)]
Don't bother fetching and storing pre- and posttrans scripts in rpmfi
- the psm script machinery requires the full header to do anything at
all, so the script + scriptprog were only used to check if the package
*has* such scripts, a single integer will do just fine there thank you
Panu Matilainen [Wed, 29 Oct 2008 12:09:27 +0000 (14:09 +0200)]
Convert in-tree users of rpmfiNew() to use flag names
- easier to grep for than scareMem, preparing for further flags
Panu Matilainen [Wed, 29 Oct 2008 12:08:12 +0000 (14:08 +0200)]
Turn rpmfiNew() scareMem argument into bitfield of flags
- preserve behavior with 0/1
- more room for controlling what gets loaded into file info set, not
everything is needed at all times
Jindrich Novy [Wed, 29 Oct 2008 12:38:16 +0000 (13:38 +0100)]
Set timezone to UTC every time to avoid local timezone confusion
Panu Matilainen [Wed, 29 Oct 2008 10:09:27 +0000 (12:09 +0200)]
Add --filecaps popt alias for looking at file capabilities
- doesn't need much as the capabilities are stored in human readable format
Panu Matilainen [Wed, 29 Oct 2008 09:53:31 +0000 (11:53 +0200)]
Add proper file capability verification support
- at least for now, no capabilities is treated like empty capability set
which are not exactly the same thing but probably sufficient for our
purposes
Panu Matilainen [Wed, 29 Oct 2008 09:49:38 +0000 (11:49 +0200)]
Add fsm and rpmfi machinery for file capabilities
- new rpmfiFCaps() API to retrieve the info from rpmfi set
- fsm internals quite similar to selinux handling
- plenty of #ifdef's, another possibility would be adding cap_foo dummies to
system.h like for selinux
Panu Matilainen [Wed, 29 Oct 2008 08:49:25 +0000 (10:49 +0200)]
Start adding POSIX 1.e draft file capability support for real
- Parse %caps() from spec filelists, making best-guess verification of
capability string sanity by passing to cap_from_text()
- The posix draft specifies capability export presentation through
cap_copy_ext() which would be fine, except that we don't have support for
arrays of binary data. So we simply store the textual representation
of the capabilities in a string array which we do have.
- Only add capability tag on packages which actually have capabilities to
avoid unnecessary header bloat.
- Add a new rpmlib() dependency for file capabilities, packages relying
on file capabilities wont work correctly unless the capabilities are set.
To be fully correct, support for on-filesystem file capabilities should
be checked at runtime, as this depends on kernel versions and such...
Panu Matilainen [Wed, 29 Oct 2008 08:39:00 +0000 (10:39 +0200)]
Don't try to verify capabilities of directories and non-regular files
Florian Festi [Mon, 27 Oct 2008 12:08:39 +0000 (13:08 +0100)]
fix compiler warning
by removing unnesseccary return address for the hash key
Panu Matilainen [Sun, 26 Oct 2008 12:18:17 +0000 (14:18 +0200)]
Beginnings of acl (POSIX.1e draft 17) verification support
- if built with --with-acl, check that files and directories don't have
any extra acl's set
- for now, any acl beyond the regular unix permission set is reported as
file mode difference as the acl's cannot have been set by rpm itself
- patch from Andreas Gruenbacher, modified to use libacl instead of raw
xattrs for portability, BUT atm this uses non-portable acl_equiv_mode()
Linux libacl extension, the posix draft doesn't seem to have much in
the way of comparing entries :-/
Panu Matilainen [Sun, 26 Oct 2008 12:17:16 +0000 (14:17 +0200)]
Beginnings of file capability (POSIX.1e draft 15) verification support
- add minimal bits and pieces to check for capabilities in files on verify
- for now, any capability set is a verification failure as the capability
cannot have been set by rpm itself
- patch from Andreas Gruenbacher, modified to use libcap instead of raw
xattrs for portability
Jindrich Novy [Fri, 24 Oct 2008 10:32:31 +0000 (12:32 +0200)]
Remove timezone autoconf checks and system.h reference
- timezone is no more used so it's no more needed
Jindrich Novy [Fri, 24 Oct 2008 10:31:02 +0000 (12:31 +0200)]
Fix "timewarp" bug while listing changelog via "rpm -q --changelog"
- date is no more one day in advance than written in changelog
Florian Festi [Thu, 16 Oct 2008 10:13:13 +0000 (12:13 +0200)]
Use better cache sizes
Florian Festi [Thu, 16 Oct 2008 10:07:44 +0000 (12:07 +0200)]
Improve finger print hash function to avoid degeneration of hash tables
Florian Festi [Thu, 16 Oct 2008 07:59:54 +0000 (09:59 +0200)]
Switch to a better hash functions for strings: Jenkins One-at-a-time hash
Florian Festi [Thu, 28 Aug 2008 14:06:36 +0000 (16:06 +0200)]
Use only one, global fingerPrintCache to save a lot of stat calls
Florian Festi [Wed, 22 Oct 2008 13:17:49 +0000 (15:17 +0200)]
symlinks
Florian Festi [Wed, 22 Oct 2008 12:08:49 +0000 (14:08 +0200)]
Detect to be installed symlinks for file fingerprinting (file conflicts)
Florian Festi [Wed, 22 Oct 2008 12:03:52 +0000 (14:03 +0200)]
Fix path problem in doLookup
Florian Festi [Tue, 12 Aug 2008 19:19:11 +0000 (21:19 +0200)]
Delete findFps foobar
including fpsCompare and the fpsdebug opt
Florian Festi [Tue, 21 Oct 2008 13:45:09 +0000 (15:45 +0200)]
Change both hashes to a typed version
Florian Festi [Fri, 17 Oct 2008 14:18:45 +0000 (16:18 +0200)]
Make rpmhash a generic datatype using macros and includes
Panu Matilainen [Fri, 24 Oct 2008 05:05:00 +0000 (08:05 +0300)]
Updated Serbian translations from Miloš Komarčević
Panu Matilainen [Thu, 23 Oct 2008 04:47:25 +0000 (07:47 +0300)]
Make noarch subpackages actually work
- noarch subpackages get their arch tag from parsePreamble() already,
don't stomp over it later in parseSpec()
Jindrich Novy [Wed, 22 Oct 2008 07:28:38 +0000 (09:28 +0200)]
Increase IEEE-compliance of floating point code for SH platform
- thanks to CHIKAMA Masaki
Jindrich Novy [Wed, 22 Oct 2008 07:22:05 +0000 (09:22 +0200)]
Apply patch for sh arch from CHIKAMA Masaki
Panu Matilainen [Wed, 22 Oct 2008 06:58:10 +0000 (09:58 +0300)]
Skip adding identical NEVR to transaction on install too (rhbz#467822)
- Installing several different versions of the same package in single
transactions is permitted for "pure" installs, whereas on upgrade only
one version is allowed. Identical NEVR got correctly checked and filtered
out on upgrade but on install identical NEVR was not catched. Check
for equal and newer separately...
Panu Matilainen [Wed, 22 Oct 2008 06:25:30 +0000 (09:25 +0300)]
Fix memleak in rpmtsAddInstallElement()
- previously any of the "skipping/replacing already added" checks matching
would leak memory due to early jump to exit
Panu Matilainen [Mon, 20 Oct 2008 08:46:42 +0000 (11:46 +0300)]
setenv() + unsetenv() are always available in rpm
Panu Matilainen [Mon, 20 Oct 2008 08:32:43 +0000 (11:32 +0300)]
Add posix.mkstemp() to Lua posix lib
- lifted from apt-rpm
Panu Matilainen [Sun, 19 Oct 2008 17:08:35 +0000 (20:08 +0300)]
Trash more unused junk from installplatform
Panu Matilainen [Sun, 19 Oct 2008 16:59:57 +0000 (19:59 +0300)]
Trash unused MULTILIBNO hackery in installplatform
Panu Matilainen [Sat, 18 Oct 2008 22:53:03 +0000 (01:53 +0300)]
Permit tab as whitespace between macro arguments (rhbz#467567)
- another dumb regression from macro handling cleanups
Panu Matilainen [Sat, 18 Oct 2008 16:23:56 +0000 (19:23 +0300)]
Clean up hg leftovers
Panu Matilainen [Fri, 17 Oct 2008 12:00:01 +0000 (15:00 +0300)]
Trash the horrible brp-sparc64-linux hack from the ancient past
- kludgery like this might've been necessary back in 2000 to get started
with multilib setup but it certainly isn't needed now
Panu Matilainen [Fri, 17 Oct 2008 05:11:10 +0000 (08:11 +0300)]
Kick out the dumb defaultdocdir logic from installplatform
- defaultdocdir is simply %{_datadir}/doc
Panu Matilainen [Thu, 16 Oct 2008 14:09:28 +0000 (17:09 +0300)]
Bump version
Panu Matilainen [Thu, 16 Oct 2008 13:11:15 +0000 (16:11 +0300)]
Updated German translation from Fabian Affolter
Panu Matilainen [Thu, 16 Oct 2008 13:08:18 +0000 (16:08 +0300)]
Updated Polish translation from Piotr Drąg
Panu Matilainen [Tue, 14 Oct 2008 13:32:58 +0000 (16:32 +0300)]
Add configure detection for SuSE too
- distro detection in configure is pretty futile but while we still have it...
Panu Matilainen [Tue, 14 Oct 2008 12:49:57 +0000 (15:49 +0300)]
Move luaext include fiddling out of toplevel configure
Panu Matilainen [Tue, 14 Oct 2008 12:44:22 +0000 (15:44 +0300)]
Add lua to pkgconfig private libs
Panu Matilainen [Tue, 14 Oct 2008 12:41:56 +0000 (15:41 +0300)]
Reuse toplevel WITH_LUA_LIB setting instead of manual setting
Panu Matilainen [Tue, 14 Oct 2008 12:36:23 +0000 (15:36 +0300)]
Sanitize libluaext linkage
Panu Matilainen [Tue, 14 Oct 2008 12:31:24 +0000 (15:31 +0300)]
Fix build without Lua
Panu Matilainen [Tue, 14 Oct 2008 11:46:33 +0000 (14:46 +0300)]
Tweak autogen a bit more
- lose hardcoded paths based on platform
- add --rpmconfigure that can be used if rpm is already present
Panu Matilainen [Tue, 14 Oct 2008 11:24:30 +0000 (14:24 +0300)]
Rip silly "usage" message from autogen
Panu Matilainen [Tue, 14 Oct 2008 11:17:14 +0000 (14:17 +0300)]
Kick out ancient and unused LDFLAGS_STATIC configure.ac-hackery
Panu Matilainen [Tue, 14 Oct 2008 10:34:14 +0000 (13:34 +0300)]
Yank out ancient convertdb1
Panu Matilainen [Tue, 14 Oct 2008 09:46:55 +0000 (12:46 +0300)]
Fix up some fuzz in finnish translation
Panu Matilainen [Tue, 14 Oct 2008 09:39:25 +0000 (12:39 +0300)]
Adjust translations wrt the rpmps format changes
Panu Matilainen [Tue, 14 Oct 2008 09:25:01 +0000 (12:25 +0300)]
Use PRIu64 for 64bit value formatting instead of casting
Panu Matilainen [Tue, 14 Oct 2008 09:17:01 +0000 (12:17 +0300)]
Avoid overflow on memcpy()
Panu Matilainen [Tue, 14 Oct 2008 08:56:15 +0000 (11:56 +0300)]
Need to mask the return type from rpmTagGetType() return value
Panu Matilainen [Tue, 14 Oct 2008 08:55:05 +0000 (11:55 +0300)]
Error out on unknown data types in sqlite backend too
Panu Matilainen [Tue, 14 Oct 2008 06:44:58 +0000 (09:44 +0300)]
Update translations for a change...
Panu Matilainen [Tue, 14 Oct 2008 06:44:32 +0000 (09:44 +0300)]
Add a few missing files to POTFILES.in (rhbz#466834)
Panu Matilainen [Mon, 13 Oct 2008 11:45:45 +0000 (14:45 +0300)]
Make sure dbiTags are loaded on db rebuild & remove
- rpmdbMoveDatabase() and rpmdbRemoveDatabase() don't operate on an open
database so there's no guarantee that dbiTags are loaded when they are
called unless explicitly requested
Panu Matilainen [Mon, 13 Oct 2008 10:25:17 +0000 (13:25 +0300)]
Honor default nopromote setting everywhere in rpmds (rhbz#466503)
- Of four different ways to create a dependency set, only rpmdsNew()
explicitly set ds->nopromote to the expected value from global
_rpmds_nopromote defaulting to on. All others fell back to legacy
"epoch promotion" behavior inherited from xcalloc()...
Panu Matilainen [Fri, 10 Oct 2008 12:59:38 +0000 (15:59 +0300)]
Yank out legacy.h, make the conversion functions static
Panu Matilainen [Fri, 10 Oct 2008 12:54:53 +0000 (15:54 +0300)]
Convert in-tree users to headerConvert()
Panu Matilainen [Fri, 10 Oct 2008 12:53:12 +0000 (15:53 +0300)]
Add headerConvert() "proxy" for performing various conversions on header data
Panu Matilainen [Fri, 10 Oct 2008 11:43:39 +0000 (14:43 +0300)]
And out goes rpmMkdirPath()
Panu Matilainen [Fri, 10 Oct 2008 11:42:34 +0000 (14:42 +0300)]
Use rpmMkdirs() to create the entire build tree in buildForTarget()
- also move the build tree generation earlier to have it automatically
created for tarbuilds too
Panu Matilainen [Fri, 10 Oct 2008 11:37:57 +0000 (14:37 +0300)]
Use rpmMkdirs() instead of rpmMkdirPath() in rpmInstallSourcePackage()
Panu Matilainen [Fri, 10 Oct 2008 11:28:41 +0000 (14:28 +0300)]
Add rpmMkdirs() to librpmio
- allows creating bunch of directories including parents at once
Panu Matilainen [Thu, 9 Oct 2008 16:53:05 +0000 (19:53 +0300)]
Get db vectors out of exported ABI
Panu Matilainen [Thu, 9 Oct 2008 13:17:53 +0000 (16:17 +0300)]
rstrcasecmp() and rstrncasecmp() are "pure" functions
Panu Matilainen [Thu, 9 Oct 2008 13:14:23 +0000 (16:14 +0300)]
Mark risalpha() and friends as "const functions"
- they only process integers that are fed to them and no outside data
Panu Matilainen [Thu, 9 Oct 2008 12:59:26 +0000 (15:59 +0300)]
Remove silly double definition of headerGetLangs()
Panu Matilainen [Thu, 9 Oct 2008 12:57:30 +0000 (15:57 +0300)]
Mark htonll() as internal
Panu Matilainen [Thu, 9 Oct 2008 12:52:34 +0000 (15:52 +0300)]
Mark cpio functions internal
- cpioStrerror() is used by build code so that remains visible, ugh
Panu Matilainen [Thu, 9 Oct 2008 12:48:46 +0000 (15:48 +0300)]
Mark fingerprinting stuff internal
Panu Matilainen [Thu, 9 Oct 2008 12:47:09 +0000 (15:47 +0300)]
Mark hash table functions as internal
- we're not a hash-library afterall..
Panu Matilainen [Thu, 9 Oct 2008 12:43:00 +0000 (15:43 +0300)]
Mark rpmdb internals as internals, including the "mergesort" gem
Panu Matilainen [Thu, 9 Oct 2008 12:37:59 +0000 (15:37 +0300)]
Mark psm functions as internal
Panu Matilainen [Thu, 9 Oct 2008 12:35:36 +0000 (15:35 +0300)]
Mark various fsm* bits internal
- build code uses fsmSetup() and fsmTearDown(), those need to remain
visible for now
Panu Matilainen [Thu, 9 Oct 2008 12:32:04 +0000 (15:32 +0300)]
Mark uidToUname() and friends as internal
Panu Matilainen [Thu, 9 Oct 2008 12:21:15 +0000 (15:21 +0300)]
Add RPM_GNUC_INTERNAL macro
- allows portable use of __attribute__((visibility("hidden")))
Panu Matilainen [Wed, 8 Oct 2008 15:26:58 +0000 (18:26 +0300)]
Unknown tag is an error
Jindrich Novy [Tue, 7 Oct 2008 20:06:28 +0000 (22:06 +0200)]
make %find_lang --with-kde work (rhbz#466009)
- patch from Rex Dieter
Panu Matilainen [Mon, 6 Oct 2008 15:50:30 +0000 (18:50 +0300)]
Malformed query query items (pkid's and such) are errors
Panu Matilainen [Mon, 6 Oct 2008 15:49:33 +0000 (18:49 +0300)]
Make "not an rpm or manifest" message an error, not just notice
Panu Matilainen [Mon, 6 Oct 2008 15:41:09 +0000 (18:41 +0300)]
Consistent log level for "unverifiable signature" message
- all the other ones in package are RPMLOG_ERR
Panu Matilainen [Sat, 4 Oct 2008 12:16:38 +0000 (15:16 +0300)]
Failure to rebuild database is worth at least a warning
Panu Matilainen [Sat, 4 Oct 2008 08:19:26 +0000 (11:19 +0300)]
Restore permissions of a signed rpm to that of the original (rhbz#465586)
Panu Matilainen [Fri, 3 Oct 2008 10:00:33 +0000 (13:00 +0300)]
Similar semantics for <lua> scriptlets
- missing <lua> support is always an error
- otherwise permit non-pre scriptlets to fail