Panu Matilainen [Sat, 26 Apr 2008 11:21:22 +0000 (14:21 +0300)]
Eliminate pointless alloca() of local DBT structs.
Panu Matilainen [Fri, 25 Apr 2008 17:29:14 +0000 (20:29 +0300)]
Panu Matilainen [Fri, 25 Apr 2008 12:39:04 +0000 (15:39 +0300)]
Replace alloca() + memset() with xcalloc() in runImmedTriggers()
Panu Matilainen [Fri, 25 Apr 2008 12:37:09 +0000 (15:37 +0300)]
Avoid alloca() in markReplacedFiles()
Panu Matilainen [Fri, 25 Apr 2008 11:52:03 +0000 (14:52 +0300)]
Reduce alloca() use in relocateFileList()
- dirindexes and filelists can be *huge*
- filenames and such still allocated on stack, fix later...
Panu Matilainen [Fri, 25 Apr 2008 11:34:36 +0000 (14:34 +0300)]
Replace alloca() + memset() with xcalloc() in skipFiles()
Panu Matilainen [Fri, 25 Apr 2008 11:07:31 +0000 (14:07 +0300)]
Avoid alloca() on links in printFileInfo()
- also avoid unnecessary nulling of perms, no point ..
Panu Matilainen [Fri, 25 Apr 2008 10:54:59 +0000 (13:54 +0300)]
Avoid alloca() in rpmInstall()
Panu Matilainen [Fri, 25 Apr 2008 10:39:44 +0000 (13:39 +0300)]
Simplify setPathDefault()
- use rpmGetPath() to get sanitized path, avoid alloca()
Panu Matilainen [Fri, 25 Apr 2008 10:28:51 +0000 (13:28 +0300)]
Avoid alloca() in rpmteColorDS()
Panu Matilainen [Fri, 25 Apr 2008 08:55:14 +0000 (11:55 +0300)]
Single point of exit for dateToTimet(), avoid alloca()
Panu Matilainen [Fri, 25 Apr 2008 08:45:35 +0000 (11:45 +0300)]
Simplify lookupPackage(), avoid alloca()
Panu Matilainen [Thu, 24 Apr 2008 14:36:31 +0000 (17:36 +0300)]
Remove outdated comment, add a todo reminder
- callbacks for pkgs without files have been faked for some time now..
Panu Matilainen [Thu, 24 Apr 2008 13:48:32 +0000 (16:48 +0300)]
Might as well compare against tag shortname now that we have it
Panu Matilainen [Thu, 24 Apr 2008 12:40:36 +0000 (15:40 +0300)]
Update translations for a change
Panu Matilainen [Thu, 24 Apr 2008 12:38:45 +0000 (15:38 +0300)]
Remove bogus const from rpmfi pre- and posttrans members
- they're always duped, scaremem or not
Panu Matilainen [Thu, 24 Apr 2008 12:23:35 +0000 (15:23 +0300)]
Eliminate rpmtsi refcount debug junk from the API
Panu Matilainen [Thu, 24 Apr 2008 12:16:03 +0000 (15:16 +0300)]
Update doxygen docs for rpmteNEVR() and friends
Panu Matilainen [Thu, 24 Apr 2008 12:08:09 +0000 (15:08 +0300)]
Remove meaningless extern on function declarations in headers
Panu Matilainen [Thu, 24 Apr 2008 11:56:27 +0000 (14:56 +0300)]
Add rpmteEVR() function
- seems like a useful thing to have
- use in ensureOlder()
Panu Matilainen [Thu, 24 Apr 2008 11:51:58 +0000 (14:51 +0300)]
I'm out of words for this one.
Panu Matilainen [Thu, 24 Apr 2008 10:23:22 +0000 (13:23 +0300)]
Check for chroot() result in rpmtsRun()
- bail out early if it fails instead of blindly continuing and potentially
messing in real root (chroot can fail for priviledged user too)
Panu Matilainen [Thu, 24 Apr 2008 09:49:58 +0000 (12:49 +0300)]
Make verification with --root reliable (rhbz#434150)
- use chroot() instead of vain path manipulation games, otherwise we'll get
bogus results from users and groups not matching etc
- non-priviledged verification is unreliable anyway but running rpm under
fakechroot (unpriviledged) gives much better results than just prepending
root to paths
Panu Matilainen [Thu, 24 Apr 2008 09:03:45 +0000 (12:03 +0300)]
Force preloading of name service libraries early in initialization
- this used to be done in psm chroot operation, but we can end up chrooting
before that and without psm being involved
- don't bother with getpwnam() etc, a single gethostbyname() loads all
that we need
Panu Matilainen [Tue, 22 Apr 2008 13:08:43 +0000 (16:08 +0300)]
Relax spec permissions in tar build mode (rhbz#253648)
- mkstemp() can create the spec in overly protective mode (rpmlint whines),
relax up to what users umask permits
Panu Matilainen [Tue, 22 Apr 2008 12:23:38 +0000 (15:23 +0300)]
Simplify rebuild path generation
Panu Matilainen [Tue, 22 Apr 2008 10:55:41 +0000 (13:55 +0300)]
More path manipulation craziness eliminated in rpmdbRemoveDatabase()
Panu Matilainen [Tue, 22 Apr 2008 10:44:10 +0000 (13:44 +0300)]
Eliminate wtf dbpath shuffling in rpmdbMoveDatabase()
- Just use rpmGetPath() to construct a clean, sanitized path from the
components.
- Previously it went to great lengths to ensure trailing / on dbpath,
catenate the paths with %s/%s/%s and then rpmCleanPath() to get rid
of the extra slashes just created. Eh.
Panu Matilainen [Tue, 22 Apr 2008 10:32:52 +0000 (13:32 +0300)]
Don't use alloca for struct stat, there's no need to.
Panu Matilainen [Tue, 22 Apr 2008 10:30:52 +0000 (13:30 +0300)]
Add rpmdb internal helper for cleaning up db4 environment, use it
Jindrich Novy [Tue, 22 Apr 2008 10:41:08 +0000 (12:41 +0200)]
Recognize lzma payload from its magic
- old lzma formats without magic aren't supported
Jindrich Novy [Tue, 22 Apr 2008 10:39:55 +0000 (12:39 +0200)]
Prefer lzma's default -7 compression
Jindrich Novy [Tue, 22 Apr 2008 10:38:51 +0000 (12:38 +0200)]
Main lzma rpmio part based on SuSE patches, thanks for them!
Jindrich Novy [Tue, 22 Apr 2008 10:37:18 +0000 (12:37 +0200)]
Handle lzma payload
Jindrich Novy [Tue, 22 Apr 2008 10:36:27 +0000 (12:36 +0200)]
Check for lzma library in configure.ac and reference it in Makefile.am
Jindrich Novy [Tue, 22 Apr 2008 10:32:59 +0000 (12:32 +0200)]
Allow lzma payload in writeRPM()
Panu Matilainen [Mon, 21 Apr 2008 09:39:18 +0000 (12:39 +0300)]
Rip i386-specific RDTSC support from rpmsw, use gettimeofday() everywhere
- we don't need accuracy beyond what gettimeofday() offers for bleeping
debugging benchmarks
- we especially don't need hw-specific magic asm voodoo to get unreliable
timing results (RDTSC isn't reliable with multi-core/hyperthreaded CPU's
etc etc)
Panu Matilainen [Mon, 21 Apr 2008 08:13:13 +0000 (11:13 +0300)]
Avoid %patch0 getting applied twice
Panu Matilainen [Mon, 21 Apr 2008 07:59:31 +0000 (10:59 +0300)]
Retrofit RPMTAG_SOURCEPACKAGE to source rpms.
Panu Matilainen [Mon, 21 Apr 2008 07:33:02 +0000 (10:33 +0300)]
Use argvAppend() instead of manual reallocs, plug a leak from rpmGlob()
Panu Matilainen [Mon, 21 Apr 2008 07:18:14 +0000 (10:18 +0300)]
Use argvNew() instead of manual xcalloc()
Jindrich Novy [Mon, 21 Apr 2008 06:19:23 +0000 (08:19 +0200)]
Allow setting fuzz factor to 0
- use --fuzz=num instead of -Fnum or -F num to be sure
/usr/bin/patch won't complain
Jindrich Novy [Sun, 20 Apr 2008 10:17:37 +0000 (12:17 +0200)]
Don't use static buffers
Jindrich Novy [Fri, 18 Apr 2008 18:46:56 +0000 (20:46 +0200)]
Fail if it is impossible to chdir to directory to run helper script in
Jindrich Novy [Fri, 18 Apr 2008 17:45:10 +0000 (19:45 +0200)]
Fix find-requires (rhbz#443015), thanks to Bill Nottingham
Panu Matilainen [Sun, 20 Apr 2008 19:07:53 +0000 (22:07 +0300)]
Sanitize + simplify %patch "macro" parsing
- Use popt for parsing %patch options, give accurate error messages for
invalid options instead of bogosity like "bad %patch arg: %build"
- Store all the variants we can get patch numbers into argv to avoid
special cases when passing to doPatch(), this has the added bonus
of removing the 1024 patches per line-limit (as if somebody cared)
Panu Matilainen [Sun, 20 Apr 2008 13:38:29 +0000 (16:38 +0300)]
Single exit point for doPatchMacro()
- assuming failure avoids several redundant free() + return RPMRC_FAILS
Panu Matilainen [Sat, 19 Apr 2008 15:56:38 +0000 (18:56 +0300)]
Remove ugly hardcoded docDirs list, use a macro instead
- %__docdir_path contains a colon-delimited list of documentation dirs,
macros expanded before use
- dynamically allocate docDirs as needed using an argv array, removes
the hardcoded MAXDOCDIRS limit on docdirs (not that it matters much)
Panu Matilainen [Sat, 19 Apr 2008 14:09:43 +0000 (17:09 +0300)]
Avoid entirely silly rpmio FD_t use in processPackageFiles()
- since we just convert it to FILE anyway, no much point in using
Fopen() then
- additionally remember to close the file if expandMacros() fails
Panu Matilainen [Sat, 19 Apr 2008 13:58:55 +0000 (16:58 +0300)]
Change rpmGlob() argvPtr type to ARGV_t to make it obvious what it is
- also fix incorrect doxygen commentary, it wasn't a contiguous blob
before either
Panu Matilainen [Sat, 19 Apr 2008 13:53:29 +0000 (16:53 +0300)]
Use argvFree() instead of manual free in loop
Panu Matilainen [Sat, 19 Apr 2008 13:42:56 +0000 (16:42 +0300)]
Further simplify rpmInitMacros()
- Use argvSplit() for splitting the macro path to components instead of
manual pointer-parsery.
- If URL's are to be supported or accepted at all (previous code attempted
to skip them), ':' is a very poor delimiter character.
Panu Matilainen [Sat, 19 Apr 2008 13:04:11 +0000 (16:04 +0300)]
Use argvFree() to free, well, an argv, instead of manual freeing
Panu Matilainen [Sat, 19 Apr 2008 12:58:47 +0000 (15:58 +0300)]
Simplify rpmGlob() a bit
- use argv*() routines instead of manual argv manipulation
Panu Matilainen [Sat, 19 Apr 2008 10:42:04 +0000 (13:42 +0300)]
Dynamically allocate buffers in rpmGetPath()
- avoid unbounded copying to static sized buffer
- use rpmExpand() instead of expandMacros() which requires preallocated
buffer when we've no idea of expanded size
Panu Matilainen [Fri, 18 Apr 2008 13:14:15 +0000 (16:14 +0300)]
Avoid entirely silly rpmio FD_t use
- rdcl() converts to FILE internally anyway, might as well use fopen()
to begin with...
Panu Matilainen [Fri, 18 Apr 2008 12:39:07 +0000 (15:39 +0300)]
Remove unnecessary xstrdup() of dynamically allocated buffer
- leftover from when target buffer was static...
Panu Matilainen [Fri, 18 Apr 2008 12:15:05 +0000 (15:15 +0300)]
Cosmetics: group operations more logically...
Panu Matilainen [Fri, 18 Apr 2008 11:54:58 +0000 (14:54 +0300)]
Simplify macro option + argument processing
- eliminate ninja-voodoo pointer-hackery parsing, replace argvSplit() +
argvJoin() and friends
- eliminate static sized buffers from the processing
Panu Matilainen [Fri, 18 Apr 2008 09:36:02 +0000 (12:36 +0300)]
Add argvJoin() for combining an argv array into a string
Jindrich Novy [Fri, 18 Apr 2008 06:53:43 +0000 (08:53 +0200)]
Put '\0' to the end of xmalloc'd string to avoid surprises
Panu Matilainen [Thu, 17 Apr 2008 18:56:54 +0000 (21:56 +0300)]
Eliminate splitString() and freeSplitString()
- use ARGV_t instead, it does the same and more...
Panu Matilainen [Thu, 17 Apr 2008 16:21:00 +0000 (19:21 +0300)]
Accidental typo introduced to rpmrc.c
- seems to be one of those days, sigh
Panu Matilainen [Thu, 17 Apr 2008 16:19:07 +0000 (19:19 +0300)]
Fix dumb off-by-one errors introduced by rstrlcpy() changes
Panu Matilainen [Thu, 17 Apr 2008 15:41:53 +0000 (18:41 +0300)]
Bunch of strncpy/strcpy -> rstrlcpy() converts in rpmrc
Panu Matilainen [Thu, 17 Apr 2008 15:15:34 +0000 (18:15 +0300)]
Add missing include
Panu Matilainen [Thu, 17 Apr 2008 15:13:52 +0000 (18:13 +0300)]
Use rstrlcpy() for various parseForFoo() functions in build
- just avoids manual termination, no new fixes here..
Panu Matilainen [Thu, 17 Apr 2008 15:04:28 +0000 (18:04 +0300)]
Use rstrlcpy() for parseRCPOT() version + release
- just avoids manual zero-termination
Panu Matilainen [Thu, 17 Apr 2008 14:39:08 +0000 (17:39 +0300)]
Use rstrlcpy() for printFileInfo() username + group fields
- just avoids having to manually ensure zero-termination
Panu Matilainen [Thu, 17 Apr 2008 14:35:57 +0000 (17:35 +0300)]
Make sure lead->name is zero-terminated
Panu Matilainen [Thu, 17 Apr 2008 14:33:57 +0000 (17:33 +0300)]
Add rstrlcpy() string helper function
- adopted from strlcpy() function of OpenBSD originally developed by
Todd C. Miller <Todd.Miller@courtesan.com>
Panu Matilainen [Thu, 17 Apr 2008 14:33:30 +0000 (17:33 +0300)]
More accurate filtering of .rpmnew etc when reading macros
- strstr() can give false positives, use rpmFileHasSuffix() instead
Panu Matilainen [Thu, 17 Apr 2008 08:09:03 +0000 (11:09 +0300)]
Have gcc check for NULL terminated arglist in rstrscat
Jindrich Novy [Thu, 17 Apr 2008 07:20:20 +0000 (09:20 +0200)]
Use sizeof() instead of direct element count in rpmluaGetVar()
Jindrich Novy [Thu, 17 Apr 2008 07:01:28 +0000 (09:01 +0200)]
Don't copy unknown number of args to buffer of fixed size in initGlobs()
Jindrich Novy [Thu, 17 Apr 2008 06:57:43 +0000 (08:57 +0200)]
Introduce rstrscat()
- concatenates NULL terminated strings to newly (re)allocated memory
- purpose is to prevent overflows caused by writing unknown-sized stuff
to static arrays
Panu Matilainen [Wed, 16 Apr 2008 12:54:40 +0000 (15:54 +0300)]
Fixup leftovers from lua/local -> luaext/ move
Panu Matilainen [Wed, 16 Apr 2008 12:52:06 +0000 (15:52 +0300)]
Document external Lua requirement
Panu Matilainen [Wed, 16 Apr 2008 12:35:09 +0000 (15:35 +0300)]
Convert to Lua 5.1 library loading style
- luaL_openlibs() to pull in all standard libs
- local extensions need to be registered by calling through Lua
Panu Matilainen [Wed, 16 Apr 2008 12:25:26 +0000 (15:25 +0300)]
Add modemuncher + lua init stuff to extra dist
- modemuncher.c gets included from lposix.c, urks
Panu Matilainen [Wed, 16 Apr 2008 12:13:25 +0000 (15:13 +0300)]
Start phasing out internal copy of Lua
- don't build internal copy of Lua
- move 3rd party extensions (posix and rexlib) to toplevel luaext/
directory, built by default (unless --without-lua specified)
- auto*foo checks for external Lua
- minimal tweaks to lposix.c and rpmlua.c to get them build with Lua 5.1
Jindrich Novy [Wed, 16 Apr 2008 11:40:05 +0000 (13:40 +0200)]
Don't use mktemp(), we are sure mkstemp() is available now
Jindrich Novy [Wed, 16 Apr 2008 11:01:06 +0000 (13:01 +0200)]
Require mkstemp()
- mktemp() and tempnam() are dangerous
Jindrich Novy [Wed, 16 Apr 2008 09:16:31 +0000 (11:16 +0200)]
Kill queryHeader(), it is not used and buggy
Jindrich Novy [Wed, 16 Apr 2008 08:24:02 +0000 (10:24 +0200)]
Kill useless initialization to "(unkown error)"
Panu Matilainen [Wed, 16 Apr 2008 08:20:03 +0000 (11:20 +0300)]
Plug a memleak from pgpHexStr() in showQueryPackage()
- fmd5 is only needed in a single place, move alloc+free there to avoid
having to deal with the umphteen continue cases
Jindrich Novy [Wed, 16 Apr 2008 08:11:37 +0000 (10:11 +0200)]
Don't try to print buf if it's empty
Jindrich Novy [Wed, 16 Apr 2008 07:37:55 +0000 (09:37 +0200)]
Remove insecure hacks in query.c
- remove useless flushBuffer() function
- update printFileInfo() to not to write to unknown sized buffer,
but to print stuff which is its sole purpose
Jindrich Novy [Wed, 16 Apr 2008 06:28:11 +0000 (08:28 +0200)]
Remove useless statements from showQueryPackage()
Panu Matilainen [Wed, 16 Apr 2008 07:17:19 +0000 (10:17 +0300)]
Make headerNVR() just a special case of headerNEVRA()
Panu Matilainen [Wed, 16 Apr 2008 07:10:25 +0000 (10:10 +0300)]
Oops, only free if allocated ;)
Panu Matilainen [Wed, 16 Apr 2008 07:06:56 +0000 (10:06 +0300)]
Plug a memory leak in armorFormat()
Panu Matilainen [Tue, 15 Apr 2008 15:52:42 +0000 (18:52 +0300)]
Doxygen parameter name mismatch
Jindrich Novy [Tue, 15 Apr 2008 15:35:13 +0000 (17:35 +0200)]
Get rid of string hackery and overflows while rpm -V
Panu Matilainen [Tue, 15 Apr 2008 14:26:15 +0000 (17:26 +0300)]
Plug a memleak in pgpArmorWrap()
Jindrich Novy [Tue, 15 Apr 2008 14:30:58 +0000 (16:30 +0200)]
Introduce rstrcat()
Panu Matilainen [Tue, 15 Apr 2008 10:27:43 +0000 (13:27 +0300)]
Make find-lang.sh --with-man brp-compress friendly (rhbz#440994)
Patch from Ville Skyttä
Panu Matilainen [Tue, 15 Apr 2008 10:13:40 +0000 (13:13 +0300)]
Don't exempt *.jar.so.debug from buildroot checks (rhbz#442264)
- jar-kludge no longer necessary...
Patch from Ville Skyttä
Jindrich Novy [Tue, 15 Apr 2008 07:47:38 +0000 (09:47 +0200)]
Remove rhnplatform, cvsid/svnid, serial and copyright tag from rpmbuild
Panu Matilainen [Tue, 15 Apr 2008 06:16:05 +0000 (09:16 +0300)]
Abort build on unknown payload compressor
- explicitly check for supported rpmio names, bail if not supported