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
Panu Matilainen [Mon, 4 Apr 2011 08:39:25 +0000 (11:39 +0300)]
Remove redundant data copying into test-suite root
Panu Matilainen [Mon, 4 Apr 2011 08:27:03 +0000 (11:27 +0300)]
Avoid leaking our compilation directory into test-suite
- Since they're running in fakechroot there's no need to arrange
user writable directories this way
Panu Matilainen [Fri, 1 Apr 2011 14:48:07 +0000 (17:48 +0300)]
Adjust rpmdb path for all remaining non-fakeroot runs
- Executing rpmbuild in the fakeroot gets fairly tricky, especially
for the tests that actually compile things. Overriding the dbpath
prevents it from accessing system rpmdb for keyring and build-requires.
- With this patch, the test-suite now passes the smoke-test of
"chmod go-rx /var/lib/rpm" on system rpmdb.
Panu Matilainen [Fri, 1 Apr 2011 14:44:35 +0000 (17:44 +0300)]
Adjust rpmdb path in python tests
- We can't run python easily in the chroot so override the dbpath
to our test area instead of potentially accessing the system db
for keyring etc
Panu Matilainen [Fri, 1 Apr 2011 14:43:13 +0000 (17:43 +0300)]
Explicitly initialize the test-root database always
- Otherwise various places will be emitting "generating xx missing indexes"
warnings, we dont want that noise in the test-suite results
Panu Matilainen [Fri, 1 Apr 2011 14:18:46 +0000 (17:18 +0300)]
Switch the two remaining rpm runs under fakechroot
- Everything in the test-suite except rpmbuild execution is now
performed in the fakechroot environment
Panu Matilainen [Fri, 1 Apr 2011 14:07:52 +0000 (17:07 +0300)]
Run all rpmmacro tests under fakechroot
Panu Matilainen [Fri, 1 Apr 2011 14:06:42 +0000 (17:06 +0300)]
Make a bunch of tools available in the testsuite root environment
- We'll need shell and various other bits in order to do many
things wrt specs and builds in the root...
Panu Matilainen [Fri, 1 Apr 2011 13:20:48 +0000 (16:20 +0300)]
Run most rpmi tests under fakechroot
- one of the manifest tests is failing mysteriously in root mode though..
Panu Matilainen [Fri, 1 Apr 2011 13:18:26 +0000 (16:18 +0300)]
Run testsuite rpmdb init helper with fakechroot
Panu Matilainen [Fri, 1 Apr 2011 12:42:47 +0000 (15:42 +0300)]
Make all query tests run under fakechroot
Panu Matilainen [Fri, 1 Apr 2011 12:42:30 +0000 (15:42 +0300)]
Make all generic tests run under fakechroot
Panu Matilainen [Fri, 1 Apr 2011 12:39:21 +0000 (15:39 +0300)]
Avoid unnecessary use of 'id' in test-suite specs
- We could just ditch the entire buildroot lines from the specs
but leaving one case to test that we dont actually fail on specs
that do have it.
Panu Matilainen [Fri, 1 Apr 2011 12:29:52 +0000 (15:29 +0300)]
Make all test data available in the test-root
Panu Matilainen [Fri, 1 Apr 2011 11:44:42 +0000 (14:44 +0300)]
Test-suite spring cleaning
- Remove duplicate --version checks (doh) and some commented out
build tests that are unlikely to ever be implemented in reality
Panu Matilainen [Fri, 1 Apr 2011 05:17:21 +0000 (08:17 +0300)]
Add a more useful example to rpm2cpio manpage
- Based on suggestions from Masatake Yamato and others from rpm-list
Florian Festi [Thu, 31 Mar 2011 08:54:25 +0000 (10:54 +0200)]
Remove rpm v3 code
These cases are check for in rpmdsCompare() anyway. No need to "optimize" for a long dead rpm release.
Florian Festi [Tue, 29 Mar 2011 14:31:46 +0000 (16:31 +0200)]
Add rpmdsMatchesDep() as alternative to rpmdsAnyMatchesDep() to make use of the tag number (index) we get from the rpmdb on queries
Jindrich Novy [Fri, 25 Mar 2011 09:25:25 +0000 (10:25 +0100)]
Simplify fsmMapFContext()
Jindrich Novy [Fri, 25 Mar 2011 09:25:03 +0000 (10:25 +0100)]
Remove unused variables from db3.c
Panu Matilainen [Mon, 28 Mar 2011 09:47:34 +0000 (12:47 +0300)]
Use pkg-config to find Lua + determine flags (ticket #88)
- Additionally clean up the logic a bit and dont bother building
any lua-related bits if disabled
Panu Matilainen [Fri, 25 Mar 2011 13:20:26 +0000 (15:20 +0200)]
Drop the unused + unmaintained javadeps helper
- It contains piles of buffer overflow etc material and AFAIK this
has been unused for its entire lifespan of > 10 years, fixing
an unused piece of code seems like a waste of time. If somebody
shows interest later on it can be resurrected, but in the meanwhile...
Panu Matilainen [Fri, 25 Mar 2011 12:56:16 +0000 (14:56 +0200)]
Oops, lib/misc.c is no more, remove from POTFILES.in
Panu Matilainen [Fri, 25 Mar 2011 12:45:11 +0000 (14:45 +0200)]
Use canoncolor to determine lib vs lib64
Panu Matilainen [Fri, 25 Mar 2011 12:39:36 +0000 (14:39 +0200)]
Push platform config out of main rpm macros file
- canon arch & color stuff is now calculated per each known arch in
installplatform, and just a single place where arch name mangling
is done
Panu Matilainen [Fri, 25 Mar 2011 12:03:23 +0000 (14:03 +0200)]
Generate platform configuration for all known architectures
- loop over all archs known by rpmrc but only generate the platform config
if all necessary parameters (such as ISA information) are known, this
gives a reasonable idea of what archs are *really* in use and supported
- at least in theory, the platform configuration could now move to
$datadir as the contents no longer depend on which are rpm was built on
- also gets rid of the big sed-monster in install-platform
Panu Matilainen [Fri, 25 Mar 2011 11:22:53 +0000 (13:22 +0200)]
Simplify the hysterical per-platform vendor-sed thing
Panu Matilainen [Fri, 25 Mar 2011 11:16:32 +0000 (13:16 +0200)]
Create platform specific config on all OS'es
Panu Matilainen [Fri, 25 Mar 2011 11:08:09 +0000 (13:08 +0200)]
Move %_fixperms to main macro config
- Fixing broken permissions in sources isn't exactly platform/vendor
specific in nature (at least Suse adds this this to their own "platform"
separately, kinda proving the point)
- Kick out the remaining unused RH-pecific platform.in section
Panu Matilainen [Fri, 25 Mar 2011 10:45:36 +0000 (12:45 +0200)]
Yank out 2001 vintage Mandrake-specific macros
- Its unlikely these were ever actually used by Mandrake, but in
any case they switched to different setup long ago, and since
then the company + distribution has seen more than a few renames etc..
Panu Matilainen [Fri, 25 Mar 2011 09:25:47 +0000 (11:25 +0200)]
Replace distro/vendor autodetection with a configure switch
- it's not rpm's job, not is it possible for rpm to know about
distribution/vendor names and preferences
- use build_vendor as the canonical vendor (affecting %{_vendor} default
and macro + rpmrc paths) unless overridden by --with-vendor=name
Florian Festi [Mon, 21 Mar 2011 13:39:10 +0000 (14:39 +0100)]
Move find-provides and find-requires link to autodeps/
Implement link reaction with less copied code
Jindrich Novy [Thu, 24 Mar 2011 11:48:46 +0000 (12:48 +0100)]
Clean up headerRead()
Jindrich Novy [Wed, 23 Mar 2011 12:37:44 +0000 (13:37 +0100)]
Remove checks of unused things from configure.ac
Jindrich Novy [Wed, 23 Mar 2011 11:37:25 +0000 (12:37 +0100)]
Don't use mtrace(3), muntrace(3) and don't check for mcheck.h
- valgrind is good for these things without touching the code
Jindrich Novy [Wed, 23 Mar 2011 10:18:08 +0000 (11:18 +0100)]
Avoid timedRead() usage
- it is to be removed in the next soname bump
Jindrich Novy [Wed, 23 Mar 2011 10:11:33 +0000 (11:11 +0100)]
Remove libio support to suppress timedRead()
Panu Matilainen [Wed, 23 Mar 2011 10:15:50 +0000 (12:15 +0200)]
Eliminate pointless isSource member from eiu struct, duh
Panu Matilainen [Wed, 23 Mar 2011 10:15:07 +0000 (12:15 +0200)]
Eliminate header from eiu struct, its just a local temp variable really
Panu Matilainen [Wed, 23 Mar 2011 10:14:23 +0000 (12:14 +0200)]
Reduce vsflags flip-flop
- Transaction set vsflags gets set early in rpmInstall(), remove
redundant set + restore on tryReadHeader()
Panu Matilainen [Wed, 23 Mar 2011 10:13:25 +0000 (12:13 +0200)]
checkFreshenStatus() only needs a header, not the entire eiu struct
Panu Matilainen [Tue, 22 Mar 2011 06:36:35 +0000 (08:36 +0200)]
Fix classification of ELF binaries with sticky bit (RhBug:689182)
Panu Matilainen [Thu, 17 Mar 2011 13:49:57 +0000 (15:49 +0200)]
Fix a small memleak in rpmsign tool
Panu Matilainen [Thu, 17 Mar 2011 13:35:42 +0000 (15:35 +0200)]
Plug memory leaks on macro definition error cases
Panu Matilainen [Thu, 17 Mar 2011 12:08:54 +0000 (14:08 +0200)]
Fix couple of incorrect sizeof() uses
Panu Matilainen [Thu, 17 Mar 2011 11:24:47 +0000 (13:24 +0200)]
Missing va_end() call
Jindrich Novy [Wed, 16 Mar 2011 14:07:55 +0000 (15:07 +0100)]
Avoid freeing an unallocated variable (RhBug:688091)
Jindrich Novy [Tue, 15 Mar 2011 16:58:31 +0000 (17:58 +0100)]
Fix cpio_doio()
- do not propagate incompatible error codes to cpioStrerror()
- plug possible memleak while creating transaction set
- clean up
Jindrich Novy [Mon, 14 Mar 2011 14:37:00 +0000 (15:37 +0100)]
Clean up rpmfcClassify()
- don't check return values of functions that cannot fail
- remove "can't happen" asserts
- fail in case of empty file classifier
Panu Matilainen [Fri, 11 Mar 2011 12:24:38 +0000 (14:24 +0200)]
Update librpm doxygen module list
- rpmgi is gone, rpmprob is a "new" item
Panu Matilainen [Thu, 10 Mar 2011 11:36:51 +0000 (13:36 +0200)]
Mark htonll() as "const" function
- htonll() is a pure "const" function as it only manipulates the
value passed to it and only calls htonl() functions which are
also const.
- Also fix up the function prototype formatting
Jindrich Novy [Thu, 10 Mar 2011 15:45:49 +0000 (16:45 +0100)]
Clean up rpmfcApply() and rpmfcHelper()
Florian Festi [Mon, 7 Mar 2011 19:53:15 +0000 (20:53 +0100)]
Fix whitespace in Python doc string
Panu Matilainen [Thu, 10 Mar 2011 07:00:07 +0000 (09:00 +0200)]
Move string hash function to librpmio and rename for namespacing
- There are places in rpmio and build that would benefit from hashing, but
hashFunctionString() being internal to librpm has prevented that. Rename
to rstrhash() to resemble the other foo in rpmstring.h for
minimal namespacing as its now public function and update callers.
- Also mark the function as "pure" - it only looks at its arguments.
This is one of the busiest functions in entire rpm so any optimization
no matter how minor is well worth it.
- Hereby awarding hashFunctionString() with the grand prize for
the Most Moved Around Function in rpm ;)
Panu Matilainen [Wed, 9 Mar 2011 14:13:34 +0000 (16:13 +0200)]
Fix the PyBytes vs PyString compatibility defines
- Oops. Quite obviously nobody has even tried to build this with
python < 2.6. Whether it'd actually work is another question...
Panu Matilainen [Wed, 9 Mar 2011 14:08:59 +0000 (16:08 +0200)]
Python 3 fixups
- PyString is gone, use PyBytes instead
- Add compatibility defines to paper over
PyInt/PyLong_JustHowLongFunctionNamesYouCanComeUpWith()
Panu Matilainen [Wed, 9 Mar 2011 13:37:07 +0000 (15:37 +0200)]
Preliminary distutils support for the python bindings
- Steps towards separating rpm-python from the main rpm tarball even
though developed within the rpm repository.
- Having the bindings in a separate tarball makes it simpler to build
them for different python versions, notably python 3 (RhBug:531543)
Panu Matilainen [Wed, 9 Mar 2011 13:31:25 +0000 (15:31 +0200)]
Cut the remaining ties python bindings have to main rpm sources
- Include what little we need from standard headers instead
of relying on rpm source tree system.h for anything.
- Remove non-public includes from python binding include paths
Panu Matilainen [Wed, 9 Mar 2011 13:28:48 +0000 (15:28 +0200)]
Don't bother with the callback die-die-die error translation
Panu Matilainen [Wed, 9 Mar 2011 13:26:54 +0000 (15:26 +0200)]
Eliminate unnecessary _free() usages in python
Panu Matilainen [Wed, 9 Mar 2011 13:06:11 +0000 (15:06 +0200)]
Python bindings dont need our debug.h for anything
Panu Matilainen [Wed, 9 Mar 2011 08:25:29 +0000 (10:25 +0200)]
Verify some properties of replaced and wrong-colored files (RhBug:528383)
- We can't verify any properties of replaced files, but we can and
should still see if it exists at all.
- Files skipped due to wrong color are supposed to share some of
the attributes with the file that got actually installed, such
as permissions and whether it exists at all. Verify what we can
instead of silently ignoring.
Panu Matilainen [Wed, 9 Mar 2011 07:39:32 +0000 (09:39 +0200)]
Take file state into account for file dependencies
- Files which are not installed, have been replaced or are of wrong
color can not actually satisfy a dependency despite what the package's
file list says.
- This prevents breaking the system despite seemingly correct dependencies
in some situations, such as on multilib systems where a colored
files can appear to be shared between primary and secondary architecture
packages, but only the file from primary arch package is physically
present, and removing the primary arch package would remove the
file and silently break any dependencies on such files in practise.
Similarly replaced files become owned by the replacing package in
practise, so the original package whose files were replaced can no
longer satisfy dependency on those files.
Jindrich Novy [Wed, 9 Mar 2011 07:16:46 +0000 (08:16 +0100)]
Clean up rpmfcExec()
Panu Matilainen [Tue, 8 Mar 2011 14:20:20 +0000 (16:20 +0200)]
Improve the dependency loop debug message a bit
- Fix one-off in the SCC numbering
- Fix wording to talk about number of external dependencies, not packages
- Show number of members in the SCC
Panu Matilainen [Tue, 8 Mar 2011 11:28:32 +0000 (13:28 +0200)]
Preferred color pkgs should be erased last
- On install we need to queue preferred colored pkgs before others
to account for the way colored files get laid on disk. On erase,
we need to revert this for the same reason. Most of the time
dependencies take care of this, but the queue placement matters in
cases such as RhBug:680261 where the order is not dependency-driven.
Panu Matilainen [Mon, 7 Mar 2011 07:03:04 +0000 (09:03 +0200)]
Clean up rpmgiGlobArgv() a bit
- Check for NULL early once to avoid having to deal with it later
- Check for rpmGlob() return code and only append on success
- Count args centrally on exit
Panu Matilainen [Fri, 4 Mar 2011 16:34:01 +0000 (18:34 +0200)]
Make peace with autoconf-2.68
Panu Matilainen [Fri, 4 Mar 2011 16:21:29 +0000 (18:21 +0200)]
Merge branch 'master' of ssh://rpm.org/srv/projects/rpm/git/rpm
Panu Matilainen [Fri, 4 Mar 2011 14:00:29 +0000 (16:00 +0200)]
Remove unused return code variable
- The return codes from these iteratator functions aren't interesting
in this context, don't bother saving them either.
Panu Matilainen [Fri, 4 Mar 2011 13:51:16 +0000 (15:51 +0200)]
Don't bother storing irrelevant return codes
- PSM_NOTIFY doesn't return anything of interest, rpmdbSetIteratorRE()
doesn't return errors for RPMMIRE_STRCMP and Fclose() errors we
just can't do anything about (and we were throwing all these
away anyhow)
Panu Matilainen [Fri, 4 Mar 2011 12:50:30 +0000 (14:50 +0200)]
Remove unused variable in debugedit
Panu Matilainen [Fri, 4 Mar 2011 12:42:38 +0000 (14:42 +0200)]
Don't bother checking for rasprintf() return codes in rpmProblemString()
- We dont check them elsewhere either and there's little that could
actually fail here
Panu Matilainen [Fri, 4 Mar 2011 12:33:35 +0000 (14:33 +0200)]
Throw an exception from Fseek() errors in python rpmfd.seek()
Jindrich Novy [Fri, 4 Mar 2011 12:34:29 +0000 (13:34 +0100)]
Yet remove some unused variables to suppress warnings
Panu Matilainen [Fri, 4 Mar 2011 11:49:16 +0000 (13:49 +0200)]
Remove unused return code variable
- rpmdsRpmlib() can return errors but not really applicaple here
Panu Matilainen [Fri, 4 Mar 2011 11:46:06 +0000 (13:46 +0200)]
Remove pointless return code from handleInstInstalledFiles()
- There are no errors to return here... so it might as well be void
Panu Matilainen [Fri, 4 Mar 2011 11:38:34 +0000 (13:38 +0200)]
Remove unused return code variable
- None of the error exits from rpmdbSetIteratorRE() apply to the
use in rpmtsInitIterator() so there's no point storing or checking
its return
Panu Matilainen [Fri, 4 Mar 2011 11:27:15 +0000 (13:27 +0200)]
Eliminate unused variable
- We're not expecting anything in return from rpmtsNotify() in
fsm either, so just ignore the returns...
Panu Matilainen [Fri, 4 Mar 2011 11:24:38 +0000 (13:24 +0200)]
Eliminate unused variables
- We're not expecting anything in return from rpmtsNotify() in psm,
so just ignore the returns...
Panu Matilainen [Fri, 4 Mar 2011 11:11:22 +0000 (13:11 +0200)]
Eliminate pointless xx unused error code variable in rpmShowRC()
- An error here from rpmdsRpmlib() would be very much a "can't happen"
situtation, and there's no point handling it in any special way,
the loop will silently fall through anyway.
Panu Matilainen [Fri, 4 Mar 2011 11:08:17 +0000 (13:08 +0200)]
Return error codes from rpmdsRpmlib()
- It can fail with eg NULL dsp passed, might as well return something
which also silences gcc
Panu Matilainen [Fri, 4 Mar 2011 10:51:32 +0000 (12:51 +0200)]
Make rpmspecQuery() return match the description
- It's supposed to return the number of errors, instead of silently
ignoring errors from qva->qva_showPackage() to unused variable,
count them. That qva->qva_showPackage() currently never returns
errors is another story...
Panu Matilainen [Fri, 4 Mar 2011 10:45:06 +0000 (12:45 +0200)]
Remove unused xx error code variable
- headerDel() only fails if the tag doesn't exist in the header, which
is not an error here. Nor could we return an error if it was...
Panu Matilainen [Fri, 4 Mar 2011 10:32:49 +0000 (12:32 +0200)]
Remove unused nowtm variable
Panu Matilainen [Fri, 4 Mar 2011 09:33:24 +0000 (11:33 +0200)]
Eliminate popt wtf'ery in rpmcliInit()
- In order to get inside the loop, rc has to be non-zero so the
switch-case is just very very pointless (the whole check seems
dubious but .. shrug)
- Remove unused optArg - if we don't look at it then no point
retrieving it either
Jindrich Novy [Fri, 4 Mar 2011 04:38:32 +0000 (05:38 +0100)]
Actually propagare failure when addOrAppendListEntry() fails,
add missing headerGet() check.
Jindrich Novy [Fri, 4 Mar 2011 03:56:26 +0000 (04:56 +0100)]
Define variables in processBinaryPolicies() only if they are needed
Jindrich Novy [Fri, 4 Mar 2011 03:43:32 +0000 (04:43 +0100)]
Add missing exit status check for waitpid() while executing scriptlets
Panu Matilainen [Thu, 3 Mar 2011 16:50:52 +0000 (18:50 +0200)]
Remove leftover error case from the nineties
- rpmtsAddInstallElement() doesn't check for rpmlib() dependencies
or anything like that, nor does it return 2 ever (anymore)
Panu Matilainen [Thu, 3 Mar 2011 15:44:28 +0000 (17:44 +0200)]
Eliminate unused-but-set warning from gcc on hashes without datatype
- b_addr is unused if HTDATATYPE isn't defined, more ifdef's yay
- Initialize the local variables on declaration to save one ifdef
Panu Matilainen [Thu, 3 Mar 2011 14:20:34 +0000 (16:20 +0200)]
Eliminate useless 'I dont care about the return code' variables in tagnames
Panu Matilainen [Thu, 3 Mar 2011 13:32:24 +0000 (15:32 +0200)]
Eliminate unused variable + calculations in pgpPubkeyFingerprint()
Tero Aho [Wed, 2 Mar 2011 06:43:46 +0000 (08:43 +0200)]
Fix uninitialized variable in fsm
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Panu Matilainen [Wed, 2 Mar 2011 06:28:35 +0000 (08:28 +0200)]
Silence error callback during from BDB during environment open
- EACCES from actually opening the environment is returned only
through dbenv->open() return code, but annoyingly the EACCESS
from trying to create a missing environment is "leaked" to the
errcall, causing pesky "permission denied" errors for regular users
if the environment doesn't (yet) exist. Enable errcall in time
for dbenv->failchk() though to get all the details if something
goes wrong there.
Panu Matilainen [Tue, 1 Mar 2011 10:10:23 +0000 (12:10 +0200)]
Tag reservation for MeeGo's security framework (from Tero Aho)
- As per http://lists.rpm.org/pipermail/rpm-maint/2011-January/002988.html,
reserving the MSSF tags (but marked unimplemented for now)
Ville Skyttä [Fri, 18 Feb 2011 20:12:43 +0000 (22:12 +0200)]
Mention %bcond_with* in conditional build doc.
Ville Skyttä [Tue, 22 Feb 2011 20:07:18 +0000 (22:07 +0200)]
Man page syntax fixes.
Ville Skyttä [Fri, 18 Feb 2011 20:22:07 +0000 (22:22 +0200)]
Documentation spelling fixes.