commit b3323786668cf99bc9aed7e60ccdab0bc25e19da
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 7 11:35:46 2024 +0200

    Preparing for 4.20.0

commit 9634d6c636091ac494196fe395fb2580edb146eb
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 9 16:10:52 2024 +0200

    Preparing for 4.20 rc2

commit 95da643d703c31f859cfb5e404fe3896735a859a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 9 16:08:10 2024 +0200

    Update translations
    
    Been a while since the last update, might as well now before 4.20 rc2.
    
    (cherry picked from commit c62a1f41870d4561b8c9004b2a0fde7e1db61e72)

commit cc8f2abf141f4f440d6b8834ee3b58c39e36c533
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 9 15:19:52 2024 +0200

    Declare signCmd() static
    
    Commit 2c9ad2bbc1d00010880076cd5c73e97ffcb946ed added this new helper
    function for internal use and depite a missing declaration, the compiler
    defaulting to WITH_CXX=ON on master chugged along just fine... only
    until porting the same commit to a C-only branch (hello rpm-4.20.x)
    where it now produces a warning, oops.
    
    (cherry picked from commit a7784eccd9de674e97fc9577434334060b3abd23)

commit 6935aa9995db567f9ef4cf82c98785cbe13d0d83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 5 09:44:40 2024 +0300

    Eliminate hardcoded GPG references from user visible messages
    
    Use the OpenPGP standard name or the configured+parsed signing command
    in messages as appropriate. Also detect if we're specifically using
    gpg and only set up its environment in that case to avoid bleeding
    those messages to innocent bypassers.
    
    Fixes: #3274
    (cherry picked from commit a3cf4f674dd59c1c80f97780643c184e705518ce)

commit 77fb0c34114175a79fbe71cf963b329998564303
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 5 09:07:26 2024 +0300

    Refactor sign command expand and parse out of runGPG()
    
    We'll need the wider visibility of the executing command for the next
    steps. While at it, ensure the parsed signing command is minimally
    sufficient for what the code expects, ie has at least two items in
    the array.
    
    We now need two exit points, one for the case where we forked and one
    where we didn't. Also the case where waitpid() failed entirely must
    not return directly to avoid leaking, so merge it with the rest of
    the error handling if instead.
    
    (cherry picked from commit 2c9ad2bbc1d00010880076cd5c73e97ffcb946ed)

commit 3206798d2f50d843e79388e63c6bf830a112356b
Author: xujing <xujing125@huawei.com>
Date:   Thu Sep 5 16:28:17 2024 +0800

    Specify the private key in "rpm --addsign"
    
    Using "*.secret" may cause "rpm --addsign" to fail, and the testcase
    is actually related only to rpm.org-rsa-2048-test.secret.
    
    Fix https://github.com/rpm-software-management/rpm/issues/3277
    
    (cherry picked from commit 3141bf74ffcc0650c64611066ede8718a98ecebe)

commit 26638b496ad17e0aee11e7785b3e6cde6ebdcccb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 5 10:17:54 2024 +0300

    Pull in the main p7zip package to CI image instead of p7zip-plugins
    
    The main convoluted reason for this change is that our build process
    primarily looks for 7za and falls back to 7z if not found. Which is
    all fine except when running the test-suite locally with p7zip
    installed, which will causes the uncompress tests to fail for no good
    reason.
    
    p7zip-plugins contains the command 7z but we 7za from the main package
    handles this format just fine AFAICS, and is slightly smaller too so
    there's an additional reason to favor it in CI.
    
    (cherry picked from commit 1087a3dfae89bab79329037dd73729f85d1ac1dc)

commit 9c498f9cc54dca7886f56d0c1b888c417405a531
Author: Dirk Stöcker <github@dstoecker.de>
Date:   Thu Sep 5 10:28:31 2024 +0200

    Delete perl dependency generator leftovers (#3275)
    
    Commit 8eac3304261f229d380246cc773e88fac3c22282 forgot to remove the various .attr files along with the scripts themselves.
    
    (cherry picked from commit 727ad8a776f890d3a3cb851c091d29fbf104fddb)

commit a2235f035cdaf56e000e5e6ce6fd2b237d9aa773
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 5 11:15:41 2024 +0300

    Force older gdb version in CI due to index create regression in 15.1
    
    gdb 15.1 causes our "rpmbuild debuginfo gdb index included" to fail
    because no index is created. Reported to Fedora bugzilla:
    https://bugzilla.redhat.com/show_bug.cgi?id=2310156
    
    Related: #3278
    (cherry picked from commit 8ce8afe4f9b303ddb347def7389676b5cf715b38)

commit 3faec1760dd88b3a927a3e613afd013ba67c738b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 10:43:26 2024 +0300

    Fix %pre and %post referred to as %prein and %postin in the docs
    
    Fixes: #2834
    (cherry picked from commit c5878f4684aa300c1bdb921bd780ef30d7e5f4cb)

commit f72d01f37dc8a8b111aa91d1666d535cd9746e6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 13:08:22 2024 +0300

    Fix %transfiletriggerpostun execution over multiple prefixes
    
    Since its introduction, %transfiletriggerpostun has only executed
    matches on the first prefix of a trigger due to a missing inner
    loop on the intel gathering stage. This is pronouncedly different
    from the other trigger types where the loop does take place as a
    part of calling matchFilesNext() repeatedly. I think...
    
    Fixes: #3048
    (cherry picked from commit 60770068f9b26ba5fb9d649662277e5ae8f51e3d)

commit 66153ec9e8d77e97bafcbbac3a5645284af7f0e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 13:03:31 2024 +0300

    Fix inconsistencies wrt trigger priority handling
    
    Other file triggers were added whether they have a priority or not,
    but %transfiletriggerpostun was using a different logic that caused
    it to silently skip any items without priorities.
    
    Refactor the priority retrieval to common helper and use that, and
    also use the default trigger priority of 1000000 instead of 0 if
    missing. Released rpm versions always supply a priority tag with file
    triggers but #1636 suggests there may be packages without them floating
    around. Being safe doesn't hurt, also use rpmtdGetNumber() which in
    the worst case gives us a zero instead of a NULL pointer dereference.
    
    (cherry picked from commit ec5034b9b16bede0f6fc6d32bfb79ed36649f772)

commit 8fc2fdf57a148d739e0d8d0b931faa54e71bf54e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 2 17:57:08 2024 +0200

    Add test for multiple trigger packages
    
    Like the previous commit but for regular (non-file) triggers.  Here, we
    can't distinguish the package name that caused the particular trigger to
    fire so just reuse the existing trigger.spec.
    
    (cherry picked from commit e24f7120f19b308de9512b7cc60d0c141adba607)

commit c33fe26fef6080d3265107374ffd4061720610cc
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 2 16:55:07 2024 +0200

    Add test for multiple file trigger prefixes
    
    Funnily enough, we never tested multiple prefixes.  No wonder there were
    some bugs lurking in the dark corners (see #3048 and #3267)!
    
    - Add yet another test spec for triggers! (There's never enough of them)
    - Have the scripts print the prefix(es) that triggered them
    - Add an unused /etc prefix to test just that - an unused prefix
    - Shuffle the prefixes randomly in some scripts, to make it more
      interesting (and to verify that the order doesn't affect anything)
    - Rename the existing "basic file triggers 2" test to make it better
      reflect its main goal (which is "runtime arguments") and to make it
      more consistent with the newly added one
    - Mark the new test as AT_XFAIL_IF for now because the
      %transfiletriggerpostun scriptlets won't execute (to be fixed by
      #3267)
    
    (cherry picked from commit 3f1d05eae9079501ce94a106be40b9a18cd40018)

commit 4a750aea11164f1be1a7d30641c670663392eabd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 3 09:00:45 2024 +0300

    Issue deprecation warnings for rpm.redirect2null() too, oops
    
    Commit 46bd0ed2a9e70f942e7c58f953f30a66d30a5142 did document
    rpm.redirect2null() as deprecated but failed to add an actual warning
    on it. Meaning no existing user will notice it being deprecated,
    unless they were also using some of the other deprecated items too.
    
    Turn check_deprecated() into an actual function for better control,
    we'll have use for that later on.
    
    (cherry picked from commit ce269ed5ed5d9aca7ab05061b4aa27d692276024)

commit 0096735705364412406ba222e3c17fe505d32339
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 10:51:57 2024 +0300

    Fix rpmuncompress going interactive on re-extraction of zip / 7zip archives
    
    Testing this is a PITA compared to the issue itself: we can't use the
    existing -C tests because that fails due to mv, and to avoid -C we
    need to control where it runs, and to do that we need --chdir which
    causes extra warnings from brap so we need to ignore stderr which
    we would not want to do here, really.
    
    Fixes: #2779
    (cherry picked from commit fa3ec7e3d73a93911bb8d3d1ac87c2d64eeda680)

commit d011b2559041a238eb4d949aa389643c1144fa68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 10:36:13 2024 +0300

    Stabilize the new rpmuncompress -C tests
    
    On-disk order can vary, sort the output.
    
    (cherry picked from commit 01fe3476a245c5e45efcef0a328d18ab510e36c0)

commit 15ff708a6c2d6048086b9c6e1eb13f6ccaf76d1b
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Aug 29 15:11:51 2024 +0200

    rpmuncompress: Support -C for zip and 7zip archives
    
    As both don't support an equivalent to tars --strip-components=1 we move
    the files out of top directory ourselves with shell commands.
    
    Support for Ruby gems is still missing - iff at all possible or
    desirable.
    
    Resolves: #3249
    (cherry picked from commit abf057616d8f73cc0540520121ea3c4cad5d8cdd)

commit 2fdbc85a6afa898ee57059bee2db969d4edbabff
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Aug 29 15:40:18 2024 +0200

    Return unique top directory iff it exists
    
    Used in the next commit.
    
    (cherry picked from commit 7b46a0d0c336ee865821de53cdcfff09752669ed)

commit 2badcab25d03e03146b8d6e64c6839e89c882526
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Aug 29 12:29:05 2024 +0200

    Replace gcc only ? : operator usage
    
    (cherry picked from commit c90733d96e93f3544853821787190fbb01472b15)

commit 130da0a24f317251d90759a5d6e66d6d66361c10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 30 09:41:37 2024 +0300

    Bump CI to Fedora 40
    
    (cherry picked from commit 3b52142b0943f61f29f3a0618baf2c1f5cc955a7)

commit f98d6d91499a42e6eb8cdc8548df49ad6382ca68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 30 09:28:27 2024 +0300

    Fix API docs build with Doxygen 1.10.0
    
    Doxygen has learned to enforce that \ingroup reference existing,
    declared groups. Good thing too, we had quite a few dangling bits
    and pieces out there.
    
    (cherry picked from commit c19b13f122120f9d0682ff795c44fc3c5465a3a0)

commit 5c94f03d287ebeb36dbef51c7612205e4507d9b2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 29 15:23:16 2024 +0200

    Preparing for 4.20 rc1

commit fa2241b4bc06fe583f6efdecbddf00c7482c43a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 27 13:27:20 2024 +0300

    Work around unowned directories in rpmuncompress -C
    
    Some archives have a directory prefix but are missing the leading
    directory entry, work around it by just comparing the leading directory
    components (if any) across the archive.
    
    Add tests for unowned directories with rpmuncompress -C
    
    GNU tar seems to always place the root directory node in there, but
    clearly not all implementations do. One of them being Python tarfile
    as of Python 3.12.5, so the test-tarballs created from the pre-existing
    source-singleroot.tar.gz content with:
    
            import tarfile
    
            tar = tarfile.open("source-singleroot-unowned1.tar.gz", "w:gz")
            for name in ["source-strip/file1", "source-strip/file2"]:
                tar.add(name)
            tar.close()
    
            tar = tarfile.open("source-singleroot-unowned2.tar.gz", "w:gz")
            for name in ["source-strip/dir1", "source-strip/file1",
                            "source-strip/file2"]:
                tar.add(name)
            tar.close()
    
    Fixes: #3250
    (cherry picked from commit 671fc8e5d6633c14c9621903a23c0040acb43f65)

commit f180f4aef454517d1e662d49359283b5f158d61b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 29 09:20:12 2024 +0300

    Extend manual debuginfo test to cover the two other main scenarios
    
    Debuginfo is traditionally disabled in packages by defining
    %debug_package to %{nil}, but since 4.20 we support the more formal
    %_enable_debug_packages switch too. Test that, and also that it fails
    if both automatic and manual debuginfo is specified.
    
    (cherry picked from commit 6c0bf4131097b8569fcf017a0ee118108be0c268)

commit 49f906998f3cf1f4152162ca61ac0869251c380f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 24 16:19:00 2024 +0200

    Honor %__debug_package when processing files
    
    If the automatic creation of debuginfo packages is switched off via the
    %__debug_package macro don't touch debuginfo packages that are
    declared in the spec file. If the packager created those on their own we
    should not mess with them.
    
    Also don't generate buildid files.
    
    Resolves: #3057
    (cherry picked from commit e0b9ffea8e73710622316e0308856cba96407d9a)

commit 2112f6d373e3d5076d16a889638ffbdf795092b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 29 08:55:59 2024 +0300

    Fix %__debug_package value mismatch on -bb --short-circuit builds
    
    %__debug_package is used internally for determining whether debug
    packages are being generated or not. This gets defined as a side-effect
    of expanding %debug_package macro from the %install section template,
    IFF %install is processed. If we skip straight to package generation
    with -bb --short-circuit, that step is missed but rpm-debuginfo.specpart
    is still being read, causing a mismatch between expectations. This
    only works now because of bug #3057 and without this change, the
    the tests on -bb --short-circuit would fail when that bug is fixed.
    
    To fix the discrepancy, place a duplicate %__debug_package definition
    into the rpm-debuginfo.specpart so it gets defined whenever that file
    is read. Unfortunately the definition there is not enough for other
    parts of the machinery, the %install template macros need
    %__debug_package defined before we get to reading rpm-debuginfo.specpart
    for the first time.
    
    (cherry picked from commit 1a9803d0f8daf15bb706dc17783ab19589906487)

commit 11ea8be65c3f6fd279a10601410f398abf64fdb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 27 09:50:48 2024 +0300

    Fix rpm.execute() return code handling
    
    The status returned from waitpid() is not your exit code, it's encoded
    and needs processing the W*() macros, like we do in the new rpm.spawn()
    function.
    
    These two should really be refactored to use common code, but leaving
    that to later because one is in C and the other one in C++...
    
    (cherry picked from commit b066411c46589f85b77543fc83adbbc98c6b307c)

commit 72a60c6e7541911301d10b96b612785663c864b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 12 17:03:17 2024 +0300

    Add rpm.spawn() Lua API
    
    Turns out real-world usage needs more control than rpm.execute()
    delivers. This could be crammed into rpm.execute() but it'd be forward
    incompatible in a somewhat non-obvious way, we might just as well
    add a separate function for it.
    
    Supports redirecting stdin, stdout and stderr to a given path, support
    for file descriptors, other actions and spawn attributes can be added
    later.
    
    Fixes: #3192
    (cherry picked from commit 6444f712869b1b81b4c5790ec390a6b98751336a)

commit 1f9cac325201370102ac69d9e73f2599f09725e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 19 11:43:33 2024 +0300

    Report unsafe symlinks during installation as a specific case
    
    RPM refuses to follow non root owned symlinks pointing to files owned by
    another user for security reasons. This case was lumped in with
    O_DIRECTORY behavior, leading to confusing error message as the symlink
    often indeed points at a directory. Emit a more meaningful error message
    when encountering unsafe symlinks.
    
    We already detect the error condition in the main if block here, might
    as well set the error code right there and then so we don't need to
    redetect later. We previously only tested for the unsafe link condition
    when our O_DIRECTORY equivalent was set, but that seems wrong. Probably
    doesn't matter with the existing callers, but we really must not
    follow those unsafe symlinks no matter what.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    
    Resolves: #3100
    (cherry picked from commit 535eacc96ae6fe5289a2917bb0af43e491b0f4f4)

commit 35f00a2dcac8bd16b19dd3d8b2a5249987e499e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 19 11:03:10 2024 +0300

    Refactor fsmOpenat() return style for consistency within the fsm
    
    Everything inside the fsm is returning a return code as the main
    returned data and file descriptors as one of the arguments, except
    for fsmOpenat() which I for some reason modeled after openat() instead.
    This mismatch makes for some strange code in the callers.
    
    The only visible change here is supposed to be the error message
    changing slightly due to using rpmfileStrerror() instead of strerror().
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    (cherry picked from commit 14516542c113560dc0070df2f9102568a7a71b58)

commit 1e47ea4f783aa2c192861324ee8d230cb5d333e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 16:36:07 2024 +0300

    Define --build-in-place in more clear and actually supportable way
    
    Defining in-place builds to skip %prep suddenly makes this feature start
    looking supportable, because it's no longer ambiguous every which way:
    %setup is supposed to have all manner of side-effects that in-place
    builds would skip, including cd'ing to %buildsubdir. It's not possible
    for calling %setup to both have and not have side-effects.
    
    Besides %setup ambiguity, %prep typically contains patch applications
    and those cannot be meaningfully done on in-place build because then
    the build is no longer repeatable.
    
    Update the man page description to describe the new %buildsubdir
    based behavior, and make %prep skipped on in-place builds no matter
    what other options got passed. This WILL break some existing users
    if they rely on %prep getting partially executed, but that's how
    it is with ambiguity. If there's another non-ambiguous way to
    solve this, I'm not seeing it.
    
    Fixes: #3208
    (cherry picked from commit e0925ad6e3185030b004343f73a5917fdc562d6c)

commit 822583509efdbee7715bd8cf29c4bffeebe0f29f
Author: Jakub Kadlcik <frostyx@email.cz>
Date:   Fri Jun 21 12:01:16 2024 +0200

    Add real-life examples of Python RPM
    
    See https://github.com/rpm-software-management/rpm-web/pull/54
    
    (cherry picked from commit e927be7e193fe7fea6917d78aec0f25128fef38e)

commit 580cfc63887ba710c54c78851dffc6b39b7f8853
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 15:03:08 2024 +0300

    Restore --build-in-place with --noprep functionality
    
    In rpm >= 4.20 we always have to have the build directory.
    Commit c74ab58f081937eefd0f79af8d0310495d321864 linked its creation
    to --noprep but that was under the assumption of normal builds
    where %prep has already been executed, and we're re-entering the
    already created directory structure for another build stage.
    
    --build-in-place being what it is, there's basically nothing to do
    at %prep so it seems natural that this should work. The linux kernel
    upstream packaging uses this to allow quickly building "dirty" rpm
    from a git repo directly, but faciliate a full regular rpmbuild
    from an src.rpm built this way. It seems like a reasonable thing,
    in fact this makes me think that --build-in-place should imply
    skipping %prep, but lets not go there yet...
    
    Make sure %mkbuilddir gets run if we execute any build steps, this
    is fairly subtle to preserve --short-circuit too.
    
    Fixes: #3216
    (cherry picked from commit f4e6aecceafee90a2b2c6027c08b453218e81b91)

commit 7abb8cfb81e9c70884485fb742836db6ac934df6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 21 15:15:27 2024 +0200

    Add a test for -qa with positional args
    
    This use case (of narrowing down an --all query with positional
    arguments) is no longer specifically tested after the previous commit so
    add a simple test for that.
    
    Since we want a bunch of packages to be preinstalled, make use of the
    test image's rpmdb by simply not initializing an empty rpmdb with
    RPMDB_INIT.
    
    (cherry picked from commit 19de35f5c4927c0390fcd986c6805e3d31aac544)

commit 39c91f0e53679643ab7fc25f99c0b08d80862ef2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 21 15:02:36 2024 +0200

    Fix -V option usage in our tests
    
    Coupling -V with -a when querying for specific packages makes little
    sense and only causes the order of the output lines to depend on the
    database ordering.
    
    This is known to vary between the ndb and sqlite backends in particular,
    confusing some of the tests that expect the lines to be in a specific
    order.
    
    While at it, fix all such questionable usages, even those that only
    entail one package argument.
    
    Fixes: #3242
    (cherry picked from commit 826cbb8869e7d640fe3c2582a3a8dacf393e1ee0)

commit c0ce5bf7f22599a0f81b61f63dc6f03b4db378aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 15:33:01 2024 +0300

    >() redirects considered harmful, part 1.5
    
    Argh, commit 2931cbd7b1281395d18ff88e40e024659b4cfbf5 forgot to
    remove the redirect. This new combo also evoked new tricks:
    now the entire stderr output goes missing sometimes.
    
    (cherry picked from commit b5f49b1275337f413bc4eded675783926c2b5529)

commit 6145a065163903aef596ff9d927d0eab8a018d28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 13:54:35 2024 +0300

    >() redirects considered harmful, part II
    
    Turns out it's not just the two fork-related tests mentioned in
    commit 2931cbd7b1281395d18ff88e40e024659b4cfbf5 that are unreliable,
    it's the bash-specific >() subshell redirect that causes those
    unexpected extra newlines moving around in the test-suite, and here
    are two more tests that occasionally now fail.
    
    Adjust the tests to avoid that construct, which should be considered
    banned in the test-suite from here on...
    
    (cherry picked from commit bde179aca2c5ed227c0cea750a828bd34fb94927)

commit 83d42b0ccb47d7418180b3a019df1fe243c3256c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 19 16:04:58 2024 +0300

    Make Buildsystem %conf section optional
    
    The idea behind making it mandatory was that surely every real buildsystem
    implements a configuration step, right? Well, at least Python setuptools
    only has build and install, and for our purposes it certainly qualifies
    as a buildsystem. And where there's one, there'll be more.
    
    Suggested-by: Miro Hrončok <miro@hroncok.cz>
    
    Fixes: #3244
    (cherry picked from commit 7f3488604f469f9cc99cce9cc9d36114cf8543f0)

commit caf7b8cde81f00db1678a110648cc262b07f28b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 20 13:10:28 2024 +0300

    Another attempt at stabilizing posix.fork() and url retrieve tests
    
    Both these tests (currently 12 and 90) are flaky and sometimes fail
    with the trailing newline at the front, eg test stderr showing:
    
        +
         warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead
         warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead
         warning: runaway fork() in Lua script
        -
    
    It's all the more bizarre since we're NOT expecting that trailing
    an empty line after the messages in the first place.
    
    Let's try another trick from autotest: just grab the stderr into a
    file that we process in the next test. Autoconf manual says
    "This action is often used when it is desired to use grep to look for a
    substring in the output, or when the output must be post-processed to
    normalize error messages into a common form." Which is exactly
    what we're doing here.
    
    Time will tell, but at least we're now seeing the last newline on both
    tests as I would expect.
    
    (cherry picked from commit 2931cbd7b1281395d18ff88e40e024659b4cfbf5)

commit 5d5b58fa92ab6b9153cdf416447d081c06c25abb
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Aug 12 17:15:48 2024 +0200

    Fix memory leak in rpmsign
    
    Found by Coverity.
    
    Fixes: RHEL-37564
    (cherry picked from commit 65fa582b5cb267bb73c3e2b4c502f456d50c41f0)

commit dc600268c59bd0a59c603409f7cf4305a5461226
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 7 12:42:36 2024 +0300

    Fix crash on Lua file trigger exiting with return'ed data (#3029)
    
    Reset the Lua stack on return from rpmluaRunScript() to discard any
    unhandled returned data from the scriptlet. This may happen if there's
    eg "return 0" from a non-macro scriptlet.
    
    We could check for a numeric return value here and treat it as an exit
    code, but then what to do with other kinds of returned data?
    Our documentation states errors in Lua scriptlets should be signaled with
    Lua error() function, it seems better to stick with that and avoid
    introducing ambiguities and incompatibilities.
    
    Update the existing file trigger tests to cover this case.
    
    Fixes: #3029
    (cherry picked from commit 05fbeb97a92608a9f66faa3f8d1c0fb67b0db62c)

commit d3a97e69ea2951941a1c3b2431612d6085c4b692
Author: Michal Čihař <nijel@debian.org>
Date:   Sun Apr 21 11:10:43 2024 +0100

    installplatform: log when a platform file is created
    
    Eases debugging problems when creating platform files, especially
    on exotic architectures
    
    (cherry picked from commit 652ee3c8898ba0ae012bcb265cc5f89505d7795f)

commit 2a617185c58feeb50121661021ad66550fa86743
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Aug 6 11:49:15 2024 +0200

    Document %__file_name and %__file_lineno
    
    (cherry picked from commit e03674aae18d15f5073e95adc5443c3b2c5ab7c3)

commit 8b4222bbadabffcece864d1ca3cfc0a7bd95a7d1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 5 16:27:59 2024 +0200

    Better warning for %autopatch without patches
    
    Add file and line number to the warning.
    
    Suppress the warning when called from %autosetup and offer -q to
    suppress the warning in general.
    
    Resolves: #3230
    (cherry picked from commit 46b3e7649d36a28da7e4bce43e8dc281ee087c1b)

commit 3e9fd56cf3042ada2538678dccc3137fc615d2ff
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 5 17:16:14 2024 +0200

    Add test case for autosetup without any patches
    
    Ensure there isn't a warning created.
    
    Related: #3230
    (cherry picked from commit 6f08a20918c9e8d7017acc004ca2ece35d8cde53)

commit 52143d89458a34b56a652567b56ae69ef94d47e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 30 11:48:18 2024 +0300

    Make the second urlhelper test much less racy
    
    /bin/false exits so fast that racing with the parent output order is
    a fifty-sixty situation at best. Use a purpose-made shell script that
    does a bit of IO and even sleeps a bit, which together with shell
    startup time should be plenty enough to guarantee stable output for
    most practical purposes. If it *still* bugs us after this, we can always
    sort the output.
    
    Fixes: #3210
    (cherry picked from commit 8e1e93596fbb37224f37c645cdae485ad7d9be0f)

commit 0a2cec7a799d7c6cd4c500080beba6331886acd9
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Mon Jul 29 18:03:13 2024 -0400

    Add .editorconfig, and note in CONTRIBUTING doc
    
    (cherry picked from commit dd498cd2f7c1d1123006853a74400e9b125408be)

commit d4aa7ef90bced7b709db59c2ca45d76fcc8a98a2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 26 10:44:04 2024 +0200

    Fix root relocation regression
    
    When relocating the root directory, make sure we insert the new path's
    dirname to dirNames[] even if the root itself is owned by the package.
    
    This appears to have been the intention from the first version (largely
    untouched since) of this code as we allow the root to pass through the
    first checks (by setting len to 0 in that case) as well as the second
    for loop where we do the relocations.
    
    This allows fsm to properly create and remove the relocated directory
    since we're now using fd-based calls (#1919) and the parent directory
    needs to be opened first.
    
    No need to do string comparison here, the empty basename signals that
    we're processing the root directory, so just use that.
    
    Building a relocatable package that owns the root directory seems to be
    a handy way to create user-installable packages (see RHEL-28967) and it
    happened to work before with the path-based calls so this technically
    was a regression.  Add a test that emulates this use case.
    
    Fixes: #3173
    (cherry picked from commit 308ac60677732e9979b9ce11e5a3085906da1901)

commit 15d951d89cbb4eb1712e5da0337d0341546e4623
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 26 10:43:50 2024 +0200

    Make sure dirs are not relocated twice
    
    When processing relocations, new dirnames are added to dirNames[] first
    and then the rest is relocated.  However, we go through the entire array
    in the latter step, meaning that we may accidentally relocate an already
    relocated path.
    
    Most relocations are fine as they involve two separate directory trees,
    and we already skip over directories that don't match the old prefix.
    However, that breaks apart if we're relocating to a nested subdirectory
    (e.g. /opt -> /opt/new/dir).
    
    Fix this by simply stopping at the original dirCount as the new entries
    are always added to the end of dirNames[].
    
    Such relocations are perhaps not very common (or even unsupported) but
    relocating the root directory itself may be useful (see the next commit
    for details) and that is subject to the same issue.
    
    Note that we currently don't handle root relocations properly to start
    with but that will be addressed in the next commit, this prepares the
    ground.
    
    (cherry picked from commit 31c14ba6610568c2d634647fed1fb57221178da9)

commit 271b89f8580f692f88dc3ee02ee5dda6f74962d1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 9 11:41:45 2024 +0200

    Add syntactic sugar for non-root user tests
    
    Make it easy to write tests that run commands as a regular user, and
    document it.
    
    Note that --new-session is needed with bwrap in order for sudo(8) to
    work properly when multiple bwrap containers are running in parallel
    (otherwise it would hang).
    
    To be used in the next commits, no functional change here.
    
    (cherry picked from commit 372cf5e37dea1beaec96d5c264e4e87c658cbd21)

commit 592e761cad58714ad95c64b9710f37f662f9669c
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Tue Jul 30 10:29:50 2024 -0400

    Build: Add include dirs to exported lib targets
    
    Each library target's exported `INTERFACE_INCLUDE_DIRECTORIES` list,
    as written into the `rpm-targets.cmake` export file, is controlled by
    the `PUBLIC` arguments supplied to `target_include_directories()` for
    the library target.
    
    * Directories scoped with the `$<BUILD_INTERFACE>` generator expression
      will be included in the export file written to the build dir by
      `export(TARGETS...)`
    * Directories scoped with `$<INSTALL_INTERFACE>` will be included in
      the `rpm-targets.cmake` file installed into the
      `${CMAKE_INSTALL_LIBDIR}/cmake/rpm/` configuration directory.
    
    Providing `PUBLIC` include directory paths for both the build and
    install contexts is important, because without them the exported
    CMake configuration is useless to library consumers.
    
    (If the build is installed into `/usr/` or `/usr/local` it won't
    matter, because the include directories required are the default
    `/usr/include` or `/usr/local/include/` paths. But an install
    targeted elsewhere with a `CMAKE_INSTALL_PREFIX` path needs an
    `INTERFACE_INCLUDE_DIRECTORIES` property of
    `${CMAKE_INSTALL_INCLUDEDIR}` to correctly locate its installed
    includes.)
    
    (cherry picked from commit 930b146bc09e7d5269281c0cefd9bef582d833ae)

commit 36a09fe2de41032a2efd2d472d25dbe1750f45a9
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 31 16:19:40 2024 +0200

    Fix division by zero in elfdeps (RhBug:2299414)
    
    Assume that the section does not hold a table if sh_entsize is 0 (as
    specified in the elf(5) man page) and just skip it if that's the case.
    
    (cherry picked from commit 02ffc5158d1ad270e0b5c7ce6dfe4414a6ec029f)

commit fd54040dc6d8fa932c18449e34562adeaafd9e0a
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Mon Jul 29 17:51:35 2024 -0400

    Macros doc: Fence left-hand column of macro tables
    
    - Remove tab characters from table definitions, and align with spaces
    - Fence or escape some bare text strings that resemble HTML tags
      (`<body>`, `<source>`)
    - Add trailing `|` in table rows that lack final column
    
    (cherry picked from commit 7ae180573869908dceab88942b4b18424c2144d6)

commit a8a0875e01b5f3d4ae2b7faaea2937eac801f8b8
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Mon Jul 29 17:47:47 2024 -0400

    Macros doc: Convert expansion explanation to table
    
    (cherry picked from commit de903c9ac9afd772dd37c8ef2831e2dccea44472)

commit b9a023771eff479fc8ee68ad6207c863dddb124d
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Mon Jul 29 17:47:01 2024 -0400

    Macros doc: Unindent fenced code blocks
    
    (cherry picked from commit 983e1de6153e0df11547d66c29ea80aa55e934d0)

commit 2199979a82624146622897d99c693da09b46fc59
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 18 13:04:28 2024 +0200

    Reset recursion depth for error message
    
    $ rpm --define 'aaa %[%aaa]' --eval '%aaa'
    
    let to a core dump due to a stack overflow. This was cause by the
    generation of the error message failing due to being too deep in the
    recursion of the macro expansion - creating more error messages.
    
    Resetting the depth counter allows rendering the error message. As we are
    failing and breaking off the parse run this is fine to do.
    
    Thanks to Miro Hrončok for reporting
    
    Resolves: #3197
    (cherry picked from commit ef87d2503498f65577b5d7af07cd453d622fe02c)

commit bf6d28b26af5c6799de229438d4e172d1ff4d339
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Jul 23 10:17:53 2024 +0200

    Undocument %patch1 (#3193)
    
    * Undocument %patch1
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    (cherry picked from commit be01f0075d48a7bed38f08bf2237c4c3e1d9b4f3)

commit 84783b4d08bd0de5f54951f1e0bcc860914923a1
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 19 17:14:32 2024 +0200

    Properly quote REs in file attributes
    
    A literal dot needs to be quoted by two backslashes as the macro parsing
    already consumes one. This was done quite inconsistently. As a result
    several regular expressions were more permissive than they should have
    been.
    
    Resolves: #3212
    (cherry picked from commit b19395abc49c9e7d4e990f959c41d3b3b03f277d)

commit 8dfda671cd017fdfa969c95a7bffe63a72011469
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 19 12:01:25 2024 +0200

    Make "minimal" file attr more clear
    
    Looks like people were confused by the fact that having a file attr not
    matching anything was legal. Be more explicit what is expected to make
    them actuaqlly useful.
    
    Resolves: #2951
    (cherry picked from commit 4dc6167465e15f8a0098a55f728f124802a40fbe)

commit 48be62f2a61051a285174c3ba30c0e7edda60865
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 5 13:24:16 2024 +0200

    Sort output for test case to avoid race condition
    
    As the test uses fork() the processes can write out the lines in different
    orders
    
    Resolves: #3106
    (cherry picked from commit a57eea879d0e47a869f191dc7933fa9b1ad30b83)

commit c8ebd0560f1b68c7b9549d1a4d087b69c16128e8
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 8 13:52:52 2024 +0200

    Better error for build system issues
    
    Give different errors depending on a build system not existing at all or
    not be defined properly. This makes it easier to detect issues in the
    build system declaration and no longer requires developers of new build
    system macros to pass --verbose to get meaningful messages.
    
    Resolves: #3190
    (cherry picked from commit 184475d40c7c05449e8da139a6c44974a9c4cae0)

commit eb880d88299651024ddca7eb8f84ab554ca3a0c3
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Mon Jul 8 20:03:15 2024 +0200

    Add missing newline in sysusers Requires
    
    Without the newline, a sysusers file like
    
    ```
    u saned - "SANE daemon user" /etc/sane.d /bin/false
    m saned cdwriter
    m saned usb
    m saned scanner
    ```
    
    Results in "funny" requirements
    ```
    group(cdwriter)user(saned)
    group(usb)user(saned)
    ```
    
    (cherry picked from commit ea0685371f472c7591ed091a65a27f5781a1dbe0)

commit 09fc7cf26345f116354599317f61cd8767273eda
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 2 14:29:33 2024 +0200

    Add warning for %autopatch not applying anything
    
    It is possible that the range given to %autopatch is not matching any
    actual patches. Issue an warning to give the packager a chance to
    realize that there is something fishy. Not turnng this into an error to
    not break existing builds.
    
    Resolves: #3093
    (cherry picked from commit d94dbcc24f6478719ab7e4c050362e28a1482891)

commit 856de43d4504137af08795bff3afdf770d654d51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 25 08:44:57 2024 +0300

    Add a simple test for diskspace problem reporting
    
    We don't know how much disk space is available in the test-suite
    container so testing for that is tough, but if we leave the fs read-only
    then we can at least verify that problems do get reported.
    
    (cherry picked from commit ea5ef6e601e63b0d928769c886d6c441cff28b89)
    (cherry picked from commit 8d08605eb2b6d4266eaa895027ebcefc6cead134)

commit 2344cd81bc6e9b331d9795c88bd630fb4504cdef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 24 09:57:34 2024 +0300

    Preparing for 4.20 beta1

commit 8a20e598fc4ba4c397eebbd7e72e6004e644550a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 11:59:04 2024 +0300

    Restore --build-in-place without %setup
    
    Commit d1075106bb315913574e1acac921058d23dd5130 made --build-in-place
    more of a native citizen, but it also caused --build-in-place to
    *require* %setup now. There are all sorts of arguments to be made around
    that for and against, but our overall direction has been towards making
    things less dependent on %setup, and making this of all things require
    it seems .. counter-productive. Even more so as it previously permitted
    it to be used as a no-op.
    
    So this effectively reverts d1075106bb315913574e1acac921058d23dd5130 and
    moves the symlink action to %mkbuilddir instead. As a nice bonus
    practically all the business logic of build-in-place is now consolidated
    inside build.c.
    
    A somewhat surprising implication of this is that all in-place builds
    have a %buildsubdir now: %builddir is always a thing *we* create, so
    by definition it cannot be the pre-existing directory. So the symlink
    basically behaves as if `%setup -c -T` was used, and to match that we
    need to define %buildsubdir as we go. And that needs to happen every
    time we enter build, so it can't happen in doBuildDir() which can get
    skipped due to various short-circuit actions.
    
    Update the test-case to cover usage with and without %setup, and
    --short-circuited in-place builds.
    
    (cherry picked from commit 1028ed35938327fc54fb89d6e6d8fc0d06fa1b07)

commit d76f8343dd7e0c6edac4666888ff99044637a63b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 09:52:14 2024 +0300

    Move build-in-place logic into librpmbuild
    
    It's a special build configuration, let librpmbuild handle it.
    Define --build-in-place as a command line macro via a popt alias, these
    get automatically reloaded during --target loop so there's no need to
    manage this one case specifically in the code (imagine if we had to do
    that for everything...)
    
    (cherry picked from commit 6aaefb2013bcadc53fdde28717cdb28a9f7b3aaa)

commit 676f1b3932ad05e23ce6981e63ce585a78f156fb
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 17 18:19:45 2024 +0200

    Free cmd for --dry-run too
    
    Prevent memory leak and the memory sanatizer failing.
    
    (cherry picked from commit e8a252dca9f0731dc5f24d91447a6906363ff9ec)

commit 2ebe69ccfdfa23bdbbd240ba2c817e6b33866e0d
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 17 15:03:28 2024 +0200

    Pass TZ=UTC to zip in rpmuncompress
    
    The ZIP format has no notion of time zone, so timestamps are only
    meaningful if it is known what time zone they were created in. Pass UTC
    to prevent time stamps to depend on local time zone setting and make
    builds from sources in zip files (more) reproducible.
    
    The other archive formats (7zip using UTC, Ruby gems using tar and tar
    itself) don't have this issue. Everything else are stream compressors
    that don't deal with file meta data.
    
    Tested manually with Fedora's xz-java-1.9.zip as mentioned in the issue.
    
    Resolves: #2955
    (cherry picked from commit b847608cc22236ae19af51dc3faef16398df4110)

commit d7f62b0c4474425948768c7b856b938a21a52eda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 18 10:47:32 2024 +0300

    Make the urlhelper test prefix-agnostic
    
    In some cases like the default /usr/local the build prefix leaks to
    %_tmppath. /usr/local/var looks rather wrong anyhow but that's another
    issue, just strip it out of the test result to avoid bogus build
    failures with other prefixes.
    
    Fixes: 4c1f71ec9e171dcf29079ff80bab68d86d7d1856
    (cherry picked from commit ef179d65dee25ac3bd918b0259f41e73b342181e)

commit c7753fd4f11f082e652dc5926a18b11513f67ed7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 17 14:53:08 2024 +0300

    Explicitly enable Doxygen on our CI builds
    
    Doxygen is present in the CI image but no longer automatically enabled
    since commit 26a1ccf2819ab148aef3cd354e1cbdb70a9fe5b7.
    
    (cherry picked from commit 8a721b69783a7bd5365a8c79ac85ccdd0b45fbad)

commit 58cf15cf3ebaf5e4f82006b8ddf7e79e75e58963
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 11 14:58:53 2024 +0200

    Add error messages for url helper calls
    
    Rpm allows URLs as cli parameters. The files are then automatically
    downloaded with %_urlhelper which defaults to curl(1). So far failures
    have been ignored right away and error messages are generated later when
    the file was not found on disk.
    
    Issue a meaningful error message when the help program is failing or missing
    completely. This allows not to ship curl with rpm while still giving the
    user a chance to find out what is going on. This is not quite ideal as
    the operation continues and creates a second error message later on, but
    as good as it gets without redesigning the whole code.
    
    Related: rhbz#2216754
    Resolves: #2683
    (cherry picked from commit 4c1f71ec9e171dcf29079ff80bab68d86d7d1856)

commit 87abf2d7c2faa7a03d9ec9ff4849f87509280885
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 13 11:27:50 2024 +0300

    Add a testcase for Lua hook register/call/unregister
    
    The unregister API is awkward in the macro space since it requires the
    caller to pass in the data it got from register(), so the caller needs
    to stash it someplace in the global namespace. We may want to change
    that, but this at least documents how it works now.
    
    (cherry picked from commit 50636d02014fab3d4bea2308cfc135f90e90ee68)

commit b0df0bd9e2fbf9450f7c4f05cddee8e6fd271cd2
Author: Michael Schroeder <mls@suse.de>
Date:   Tue May 7 13:40:10 2024 +0200

    Make subkeys available right away when a pubkey is imported
    
    This is useful for API users that do not re-read the keys
    from the database.
    
    (cherry picked from commit 3464a2cd21d72ca2ab8492801247ec80e1eed7c6)

commit 920ed3e771d85a19b884f53054adf2a5933afe6e
Author: Michael Schroeder <mls@suse.de>
Date:   Tue May 7 13:36:41 2024 +0200

    Fix error handling in rpmtsImportPubkey
    
    The call to pgpPubKeyLint() modified the rc code, which the
    following code assumed to be RPMRC_FAIL.
    
    Also, the return code of the database operation was always
    overwritten with RPMRC_OK.
    
    (cherry picked from commit 00a3170dada2b7053088512c1d18c29801020460)

commit cc42805babe3e68d0da50cdfb4c17edc2be556a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 12 10:17:05 2024 +0300

    Avoid special characters from %{VERSION} in %builddir
    
    %setup always defaulted to %{name}-%{version} as the directory name,
    but most projects would only have regular characters in their tarball
    path components (and those that did, could be expected to deal with it).
    And when using tilde/caret in Version you'd use `%setup -n <path>` instead.
    This changed with the new %builddir in 4.20 where caret and tilde from
    version leak into build paths, and nowhere near all build systems,
    helper scripts and whatnot properly escape/quote all the paths they
    handle. Such as apparently ninja-build, reported in
    https://bugzilla.redhat.com/show_bug.cgi?id=2290987
    
    Convert ^ and ~ in builddir to underscores. Note we specifically only
    convert that for the per-package %builddir we create, if somebody sets
    the top build directory to a path that includes such oddities, that's
    explicitly *their* responsibility.
    
    Fixes: #3159
    (cherry picked from commit d90db6ac561c92344d03615be7cd6bca18c411bb)

commit 5a2cecc82453377aca850ca0177ffb7d02c7928e
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 12 15:46:12 2024 +0200

    Talk about rpmsign in the rpmsign man page
    
    In the past handling signatures was done by the rpm / rpmbuild binaries
    directly. When this functionality was split into rpmsign the man page
    was not adjusted accoringly. This is the long overdue update.
    
    Resolves: # 3125
    (cherry picked from commit 8e1f55c7004e8c1a7d9140ab2dd9456a7ace3e77)

commit 26afd5f425c9dced030b724487960bac36dade4d
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 11 13:30:22 2024 +0200

    Check Source header for mandarory tags
    
    Generating mandatory tags dynamically has them missing in SRPMs if build
    with rpmbuid -bs or such. To prevent this from happening check the
    source header right after the initial parse run of the spec file. This is
    more strict than before relaxing this for the dynamic spec feature as now
    errors can come up even if no package is actually build.
    
    Expect failure for the test case trying that and adjust failure test cases
    to not do that so the to be tested failure comes through.
    
    Resolves: #3096
    (cherry picked from commit 882c75b5a8cef5e1dc7ec6a81abca7ef7e0b93bb)

commit 5483acf911d2cd05b72bf478c14d068f419db054
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 11 13:27:47 2024 +0200

    Add License tag to test SPEC files
    
    Without the tags these are not legal spec files. But the test did not
    fully build a package so there was nothing checking for them.
    
    As we want stricter tests on missing tags those are now needed.
    
    (cherry picked from commit 016719d8d3315267a43a5c295db7be7ae5dd4650)

commit 554eab88e90e292a0c7a2f21f8dd7335e60cf21c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 09:17:21 2024 +0300

    Add missing rpmdb initialization to rpmbuild spec tag test
    
    This was causing an unnecessary warning when running the tests with ndb.
    
    (cherry picked from commit cc1bdc8d6fd466f7dd7a088bbfd6df243c2580e5)

commit 45e0f6264ba9c260c07aea4370fdb5070638c884
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jun 7 10:14:25 2024 +0200

    Fix potential use of uninitialized pgp struct
    
    We only call initPgpData() after base64 encoding the pubkey so if the
    latter fails, the kd struct will be left uninitialized and subsequently
    read from after skipping to the exit label.  Fix by initializing it.
    
    Found by Coverity.
    
    Fixes: RHEL-22605
    (cherry picked from commit 1b90b8c7d176026b669ce28c6e185724a4b208b0)

commit 3a1349bfdf6412261dcccb993d9f865d8cf26264
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jun 6 09:15:02 2024 +0200

    Fix potential use of uninitialized pipe array
    
    We only call pipe(2) after the script is written to disk so if the
    latter fails, the array will be left uninitialized and subsequently read
    after skipping to the exit label.  Fix by initializing it.
    
    Found by Coverity.
    
    Fixes: RHEL-22604
    (cherry picked from commit bff65aad8af719542c7b0c6429e09223c014a909)

commit 0271bd8c63ccdff335c22e3c456f4fbe4b8ccab9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 08:51:58 2024 +0300

    Fix signfiles regression from 13a02b15d6552bc8e440235b846ea5257514d397
    
    The sneaky construct hid more than just values starting from 1: there's
    no value 4 in rpmHashAlgo enum, so skipping that causes all the later
    hash names to be off by one.
    
    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2291183
    
    (cherry picked from commit e69b79fa7d4757983873083a0f12164a1ad1a70b)

commit 32f291c90944f4d06acc0672b279169e3e05a455
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 7 14:16:36 2024 +0300

    Add a testcase for the undefined macro fall-through behavior
    
    This is such a fundamental thing to all sorts of quirks around rpm
    that it's better to have an explicit test for it.
    
    (cherry picked from commit edcdc842c6565644e1374b9851868b18e92127ca)

commit 1b43fe8f3b7bffe67bdc36dc58e7ff26cff7e3e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 7 13:38:11 2024 +0300

    Improve %{_builddir} backwards compatibility
    
    Yet another %{_builddir} related quirk: it's not uncommon for packages
    to do things like this at the top of the spec:
    
        %global vpath_build %{_builddir}/%{buildsubdir}/vpathbuild
    
    The problem here being use of %global, long before these macros are defined
    at all. If %define was used this was no problem at all, but it only
    works with %global if these macros are either in their final value, or
    not defined at all. And with our new fancy intermediate builddir
    hackery, %{_builddir} is neither, which makes the behavior inconsistent.
    
    %global and %define *are* different and no amount of trickery can (or
    should) make that go away, but as this breaks existing users it's worth
    trying to bend over a bit. So funnily enough, the best fix for this is
    to UNDEFINE %{_builddir} for the initial spec parse stage. Any later
    uses where it actually matters will get re-expanded with the right
    value. Or in other words, lets keep digging the hole, I'm sure we'll
    break through to the other side soon...
    
    Add couple of tests for the expected builddir behaviors
    
    Fixes: #3151
    (cherry picked from commit 371a0a5aae45c75e56ffd1a268f70afce5624850)

commit 4b95fa0d29156e5aad4504dd2b83dd52cd747760
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Jun 5 11:40:26 2024 +0200

    Add a testcase for the leaking quotes bug
    
    (cherry picked from commit 8ab304f173379e539329aaf528920f50cee68638)

commit ec41682069ad0eed1e8ce003d848bf1b5d5fc09c
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Jun 5 11:35:33 2024 +0200

    Always clear the RPMEXPAND_KEEP_QUOTED flag if we do not return the resulting flags
    
    If the resulting flags cannot be returned, the caller has no way to
    strip the quote characters. So we must assume that we are not to
    return quotes in this case.
    
    Fixes issue #3145
    
    (cherry picked from commit b871b6870659681448372270c061a99a8c73d9f9)

commit f4adbf46705e600c73b6de8b32d8c2b7f68fb5ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 16:31:05 2024 +0300

    Require %{buildsubdir} to be defined to get debuginfo packages again
    
    One of the intentions with the debuginfo enablement rework in 4.20
    was to allow debuginfo generation on packages that don't use %setup,
    or in other words, don't have %{buildsubdir} defined. Turns out there's
    just so many things out there, relying on all these exact bits and pieces
    to be JUST SO, this causes more harm than its worth.
    
    So bring back the requirement of %{buildsubdir} macro to be defined for
    debuginfo generation to take place, update the caps testcase to cover
    both. At least we can now just define buildsubdir from the spec or even
    command line, so the promise to have debuginfo without %setup still
    holds, it's just not automatic everywhere.
    
    (cherry picked from commit 71e71c7b9a1100560f2f0541c83a0929425f5197)

commit c9fc9b3cfc4cab4696f95fab07aaeee7d226cca8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 13:24:32 2024 +0300

    Minimally bring back %{_buildrootdir} for backwards compatibility
    
    This is yet another thing that specs use for purposes they shouldn't,
    in the traditional setup they don't own the top %{_buildrootdir} directory
    any more than they own %{_builddir}.
    
    We don't want people to muck with the %{_buildrootdir} but what we can
    do is just define it to be the dirname of %{buildroot}. This way in
    normal use, %{_buildrootdir} equals %{builddir} which is again a safe
    place for packages to fiddle around, and also works with --buildroot.
    
    Like %buildroot itself, this is now only ever defined inside a build,
    because that's the only place where it's relevant and meaningfully
    defineable.
    
    (cherry picked from commit 67f6bc4d9501b3db43b983ef25813a4cef8bf701)

commit 4929c172c4f81d930899c96af2a72ffbd2f8c4f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 11:59:29 2024 +0300

    Minimally bring back --buildroot cli switch for cpack
    
    Turns out cmake's cpack rpm module is using --buildroot to preinstall
    content to a known location and then point a dummy rpmbuild spec to
    that location using --buildroot.
    
    This is not how rpmbuild wants to be used but we can't very well break cpack
    (and who knows what else may be using it) just like that, commit
    9d35c8df497534e1fbd806a4dc78802bcf35d7cb went a step too far with the
    buildroot elimination.
    
    Do a partial revert of 9d35c8df497534e1fbd806a4dc78802bcf35d7cb to
    honor buildRoot argument to rpmSpecParse() again and bring back
    --buildroot cli switch to set it, just enough to cover this usage. Also
    add a test-case to mimick the "install from the outside" use that cpack does.
    
    (cherry picked from commit 996b3ac32d244094c1d3a875d7098d459bb36c71)

commit 98ea6a7b694fc3ef893c55a5f17803b0101e6aa3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 31 11:44:39 2024 +0300

    Fix a %buildroot regression on an early %__spec_install_pre %global override
    
    The Fedora kernel.spec overrides %__spec_install_pre with this very
    early in the spec:
    
            %global __spec_install_pre %{___build_pre}
    
    This happens long before Name and all that is defined, so half of
    the environment setup in %___build_pre just falls through with
    unexpanded macros as the values (eg RPM_PACKAGE_NAME=%{NAME}) at this
    stage, and get their real values on the re-expansion before the actual
    scriptlet execution. But, due to pre-historical reasons, RPM_BUILD_ROOT
    setting is conditional, depending on whether %buildroot is defined or
    not. It used to be defined in the main macros file, so RPM_BUILD_ROOT
    would also get that template-style value at this point in the spec,
    but since 9d35c8df497534e1fbd806a4dc78802bcf35d7cb it no longer is.
    And that causes RPM_BUILD_ROOT to be *dropped* from the pre-environment
    "template" at this early stage of spec parsing.
    
    Add a simple reproducer test, this level of meddling in packages is of
    playing with fire and we may not be able to guarantee it always stays
    this way, but at least we'll be aware of possible changes in behavior.
    
    Commit 0a4e182e4003be1497452658b7b3327975694641 from 1998 is the first
    macro version of this conditional that came back to bite us. It
    should've been removed in 9d35c8df497534e1fbd806a4dc78802bcf35d7cb.
    
    Reported in https://bugzilla.redhat.com/show_bug.cgi?id=2284036
    
    (cherry picked from commit 0310a233b953c015bd17ecfbb0e558ceaf071fc7)

commit 01e8fcc928723375b07a99781a5e42c33f579410
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 12:57:34 2024 +0300

    Fix regression on subpackage debuginfo RPMTAG_SOURCERPM missing
    
    Didn't bisect but this is probably due to mucking around with the
    src.rpm name generation in dc47a50c6345a25b861305d8aa8ae464098834ff,
    but it's also much saner this way: the info should be copied from the
    main debuginfo package along with all the other similar stuff.
    
    (cherry picked from commit e0e43e93777701f5f2e6f7505b8e9b9e9681aee1)

commit 0d9a509267f7798bd306a4096b7d2532d4226d4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 28 14:03:29 2024 +0300

    Hammer in "no debuginfo for noarch packages, damn it" rule
    
    All the work we now do to get target platform right gets thrown away by mock
    apparently always passing "--target $(uname -m)" equivalent to rpmbuild,
    causing %_target_cpu and all that stuff be wrong during build scriptlet
    execution. Those are right during the initial spec parse so the old
    implementation just barely scraped through it all.
    
    Hammer in a C-side test based on the package arch to disable debuginfo
    packages on noarch no matter what. Pfft.
    
    Fixes: #3115
    (cherry picked from commit 3a14eb950148514c6d196ab3cefa7a37b82bff64)

commit 85d0dcb40133ddd6929795a01a62dcaf026fb9cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 27 13:53:32 2024 +0300

    Fix incomplete header on plain src.rpm build modes regression
    
    Since 9165963de8bb5d5ad0a24ea4656d6d04d733f6bc, the main header wasn't
    getting properly filled on plain src.rpm build modes like -bs. So a lot
    of things was missing, but spotted in particular because %packager
    wasn't getting set as per macros in Koji. Fix by letting rpm finalize
    the spec after parse when no dynamic spec parts are to be executed.
    
    Add a bunch of tests around this - we can't possibly test every single
    build scenario but this should cover at least the most common ones
    pretty well.
    
    Reported-by: Miro Hrončok <miro@hroncok.cz>
    (cherry picked from commit e464af747b1ad97b9a088cc2045263864f283566)

commit a5d96b703492d40ae07a4ac5561bf40f725ab44b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 10:22:15 2024 +0300

    Make --build-in-place much less of a hack and also, work
    
    Instead of skipping everything in %setup, take advantage of it:
    we shouldn't unpack any sources but otherwise we can just let it
    fall through it, defining buildsubdir and everything, if we let
    rpm do its normal %mkbuilddir thing and just symlink to the in-place
    tree from rpm's %builddir. This way it's not such an ugly duckling
    interfering with how normal rpms are built, and even honors %setup
    flags to a degree.
    
    This fixes two regressions: one introduced when adding %mkbuilddir that
    nukes your current directory with no questions asked if --build-in-place
    is used before it even starts, and an earlier one from commit
    b34333fa021c0ee7215714eeef96d1a2843ea08e that would nuke your precious
    in-place directory afterwards. And as a side-effect of all this, debuginfo
    generation also now works with --build-in-place.
    
    Fixes: #3122
    Fixes: #3042
    (cherry picked from commit d1075106bb315913574e1acac921058d23dd5130)

commit bcb0875034aa18f784a7f368e5c98dc91f7173bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 07:48:53 2024 +0300

    Drop an accidentally added duplicated test
    
    Commit a68a2e50578347384bb2f1b08314d8bf7026b9bc added the same test
    twice, hardly intentionally.
    
    (cherry picked from commit 31758e51cd60a7eb33b7280e0f9efee767455d4d)

commit f09acb89d4161d5c1cb9834a42b8fbe2dfa2d412
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 07:36:05 2024 +0300

    Fix --noprep regression from introducing %mkbuilddir
    
    Commit 9d35c8df497534e1fbd806a4dc78802bcf35d7cb added a new step
    into the build process but I literally wasn't even aware we have a
    --noprep switch in rpmbuild, much less that it's used. Quite widely
    even, by mock.
    
    Luckily this seems simple to fix, just skip %mkbuilddir in --noprep.
    Extend the dynamic buildrequires test to mimick what mock does.
    
    Fixes: #3121
    (cherry picked from commit c74ab58f081937eefd0f79af8d0310495d321864)

commit d5edf32294fb1831d3c9aec64abd6aff54f72232
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 21 12:24:09 2024 +0300

    Ensure noarch packages don't get debuginfo
    
    Add back the %ifnarch noarch test overconfidently removed in
    commit 8535694599ee7f35747d44e2ea0a62dc5e8880e5, "it's more complicated
    than that". Add a test-case too.
    
    This is band-aid for #3115.
    
    (cherry picked from commit 4bc89c300048b82362e31ed9cd4df39867b3b0e4)

commit 4e37e714aa39b25e435a794b05819f8a99b025be
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon May 20 09:49:25 2024 +0200

    Update OpenSSL requirement in INSTALL too
    
    This should've been part of commit
    200c91ff72ecfdf4751913e672660ffc0a680ff6.
    
    (cherry picked from commit d97ce26c01dc4e2bda5f39df518c921fc901b160)

commit 3b3c94845abae7de138dcd0288842768575be9e8
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu May 16 16:36:02 2024 +0200

    Preparing for rpm 4.20.0-alpha2
    
    Commit 5ce5604831611327e521973427d684837968663e added a new public API
    function so bump the minor lib version, "pin" the new test hashes also.

commit 3108a239bf2cf0e4ed9af56a1ba49aa7501b4e88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 11:29:01 2024 +0300

    Fix a regression on dependency generator namespace directive
    
    Commit ce6c3812af4c2a9e9fc6c2dc77e00e1e1487bb83 accidentally changed
    this namespace string literal too, oops. Possible because there was
    no test on it, so add one.
    
    (backported from commit fd056ff39e1d86fbfd012db113be4949af786eb0)

commit cf0332078630f4514d4aab628d1755c81d40c13c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 16 14:04:14 2024 +0300

    Add tests for file dependency normalization behavior
    
    There were no tests whatsoever for versioned file dependency
    normalization, add some. This reveals that only filter unversioned
    dependencies, but we do not filter multiple versions. I don't know
    whether this is intended or not, but considering this is only done
    for requires, recommends and suggests, we probably should.
    
    (cherry picked from commit fac825c3c5196b220736cef6e8207e4b5ba9038a)

commit 250326c5c7804544661e5181f477b759bec8f9a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 16 09:13:25 2024 +0300

    Clean up applyAttr() and rpmfcHelper() interaction
    
    Apply the attributes in applyAttr() as per the name, and pass *that*
    index array to rpmfcHelper() which only needs to concern itself with
    generating the path arrays as per the used protocol.
    
    No functional changes, doing this in "raw C" because this refactor
    is worth cherry-picking to 4.20 too, but also because doing this
    first makes converting to STL easier.
    
    (cherry picked from commit 4fc4ee91f412d3326268b7eda970ab9160d0820f)

commit ac2600e29e8ad8a9c65d49ed6cf52b8249849471
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 14 11:13:51 2024 +0300

    Improve the debuginfo enablement backwards compatibility
    
    Move the enablement logic to %__spec_install_template where it can be
    buried with relatively little danger of being overridden by distros or
    packagers. It's moderately annoying as the logic isn't no longer neatly in
    one spot, but %__spec_install_post is commonly overridden by distros
    and even packages, and in particular we don't want to have packages
    copy-paste all this stuff along, because that makes making any changes
    to this stuff even harder than it already is.
    
    This should be entirely backwards compatible with all the pre-existing
    %__spec_install_post overrides.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    (cherry picked from commit 69c837a4361ff2d1e7ec562c397c6caf0081fd7c)

commit 6172236d8a04c16fa23233076b980464de346526
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 13 15:42:07 2024 +0200

    Free old cookie value to prevent a memory leak
    
    This keeps the old behaviour of overriding the cookie. This may not me
    correct as the code looks like it reads the cookie from the srpm when
    doing rpmbuild --rebuild for the purpose of preserving it. Otoh the
    current behaviour with overriding it even in this case has been around
    for years. This whole cookie business seems to have some other issues,
    too, and needs further investigation. Here we are only trying to fix the
    memory leak.
    
    (cherry picked from commit 54a3912e81870d920a477bb24a38a21e8c4eb768)

commit d7037f494066e80368767960bd0596a06779a26a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 13 15:33:33 2024 +0300

    Fix test-suite under Fedora 40 modern C rules
    
    Multiple tests are failing on Fedora 40 due to their distro-wide
    C modernization effort, which cause our ancient "hello world" package
    to fail due to implicit printf() function usage.
    
    There are two separate issues here:
    - hello-autopatch.spec had off-by-one in its patch application, causing
      the modernization patch to not apply (see #3093 for the reason)
    - others were using the original hello-1.0-1.src.rpm from 2007 with
      some very outdated practises, code and md5 hashes
    
    Update the src.rpm, removing silly fubar while we're at it. Regenerated
    now on x86_64 so adjust the test-expectation, and update the python archive
    test to calculate sha256 instead. And, fix the autopatch test numbers.
    
    (cherry picked from commit ed1f2da3d7925d33788626af40ad78ccc649051b)

commit b8eab3e78b82effcf29e9a659ea29f4325e1dfb9
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Apr 21 02:43:38 2024 +0100

    cmake: move os-release parsing into oci branch
    
    os-release parsing is only needed for OCI usage, so move it inside the
    appropriate branch. Saves some operations at build time when not needed,
    and also it is necessary as not all OSes define VERSION_ID (e.g.: Debian
    Unstable and Archlinux)
    
    (cherry picked from commit 71f2ca495043b9f63e3f21d43e88624040406a62)

commit b410ed248678068c86ea7eef2d020aef865f3521
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 14:20:49 2024 +0300

    Add proper logic for debuginfo enablement
    
    All these years, enabling debuginfo has required distros to hijack the
    spec %install section with a macro like this:
    
        %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
        %%install\
        %{nil}
    
    This for a widely used, longtime upstream supported feature is just
    gross, and also very non-obvious, feeble and whatnot. And totally
    prevents the new append/prepend options from being used with %install.
    
    Take advantage of several newish features to make this happen: we need
    expressions to properly handle the numeric %_enable_debug_packages value
    from a macro, and if enabled, output the debuginfo template as a dynamic
    .specpart.
    
    Enable debuginfo on Linux by default in the platform configuration.
    Notably noarch should not have debuginfo so it's disabled in the
    platform configuration - since 96467dce18f264b278e17ffe1859c88d9b5aa4b6
    we can now actually rely on the platform configuration being valid,
    so we can drop the "%ifnarch noarch" from the debug package check.
    Further streamlining should be possible.
    
    Note that the old %install hack MUST BE REMOVED from distros now.
    
    As a nice bonus, this makes debuginfo work for packages that don't use
    %setup. Add an explicit test for this in the "rpmbuild %caps" test.
    specstep.spec needs to be made noarch here, otherwise it'll now try
    to produce debuginfo and fail.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    
    Fixes: #2204
    Fixes: #1878
    (cherry picked from commit 8535694599ee7f35747d44e2ea0a62dc5e8880e5)

commit 51a2178d5064b84b0254442aacdac06fb4c15522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 14:52:37 2024 +0300

    Always create %specpartsdir on build
    
    There's no reason %specpartsdir should be dependent on %setup use,
    just create it when we create the build directory too. Update tests
    accordingly.
    
    The spec parse test is noteworthy, the specparts dir creation no longer
    shows up in spec parse output, which certainly is the way it should be:
    this is rpm internal infrastructure stuff and nothing to do with spec
    *parse*, this all only takes place during builds.
    
    Fixes: #3063
    (cherry picked from commit f3f9f2c7b1f19b2d7f5ed9cd21a22e730680fe6f)

commit 5e67404328b51d3064b5d6a20553d60c2433b63e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 14:44:04 2024 +0300

    Simplify doBuildDir() and use appropriate macros as well
    
    Realize that rpmExpand() can be passed everything that rstrscat(), only
    it expands too. Silly me.
    
    (cherry picked from commit 570f3b693c1094131d4167789765ace65f868e73)

commit 561222061d87e3a887edaaab9afdb9cf9cf996aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 8 09:40:43 2024 +0300

    Delete leftover file trigger definitions
    
    These just are leftovers from 861e92fd0a4f02367180ab1786048062aded8861
    where trigger stuff was moved to their own header.
    
    (cherry picked from commit f69fae984a40fae9de487cc4050d9b0e81549ecf)

commit 9029e049fc7b3ebf98016b3cd93fc947f6c95df8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 11:12:38 2024 +0300

    Simplify rpmfi replaced sized management
    
    rpmfi always internally stores 64bit sizes since 4.6.0, there's no
    reason to do anything else with replaced sizes either.
    
    (cherry picked from commit 0f6ed3c68ad5c7090159d644c5fd21656461d7ab)

commit 649dbe025c98147ca9439b511a861d2064e79587
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 11:13:53 2024 +0300

    Remove C++ guards from internal headers
    
    While these were necessary to get things going, they are only
    counterproductive now: we want to be able to freely use C++ features
    inside rpm.
    
    (cherry picked from commit 18f7e53951afe54b488edd882e3d479429c2f629)

commit 14a0f0e397497b9782b77130cfe8ca8800777ed3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 30 12:29:23 2024 +0300

    Automatically reload rpm configuration on mismatching BuildArch
    
    When BuildArch is encountered during spec parse, rpm recurses the
    parse, but this doesn't reset/reload the global configuration and macros
    to match. So eg a "BuildArch: noarch" package gets built with a
    dramatically different macros depending on whether "--target noarch"
    was used or not, whereas people expect it to be the same - after all we
    give zero indication that anything might be wrong when --target wasn't
    specified.
    
    Automatically detect and handle this condition in the rpmbuild tool:
    if the spec parse architecture disagrees with our loaded configuration,
    request a reparse with reloaded configuration for the matching target.
    This ensures 'rpmbuild -bb noarch.spec' and 'rpmbuild -bb --target
    noarch noarch.spec' run with the same exact configuration.
    Doing this also fixes the situation where build-time macro expansion
    of build scriptlets (for template bits and dynamically generated spec
    parts) yields totally different (bogus) than in the initial spec parse.
    This also goes for RPM_ARCH environment and similar.
    
    Avoid --undefine for dependency generation test, it doesn't work.
    --undefine with --target was always broken, now it's just more visible
    since it automatically applies to BuildArch too. Fixing that is a
    separate matter (#3070).
    
    A more sophisticated fix could be having a stack of macro contexts that we
    copy, push and pop as necessary. That ought to solve the undefine too.
    
    Fixes: #3049
    (cherry picked from commit 96467dce18f264b278e17ffe1859c88d9b5aa4b6)

commit a881aaaa7a1ed2d95ccec680e09f7130fc96703b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 30 12:32:16 2024 +0300

    Don't emit target build into on --quiet
    
    Kinda related to 1261b413d0380289623a8ac695279b0de82018c6,
    quiet means quiet and since this isn't using rpmlog() we need to filter
    manually.
    
    (cherry picked from commit b2058cea1811373e77473bdc89147d8d4a04779c)

commit 0ec0cbbc9338a75d48ccae4612ba7d1f708fcd90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 30 08:35:17 2024 +0300

    Drop architecture from %builddir path
    
    This causes more issues than it solves, at least presently. For one,
    when BuildArch is used it typically causes the path to disagree with the
    actual arch (eg on noarch packages). Which looks weird and causes yet
    other issues in turn. The other issue, raised by Neal Gompa, is that
    it can cause superfluous path differences in noarch subpackages, which
    sharing the noarch package across multiple architectures in at least
    koji.
    
    Use -build suffix instead of %{_arch}. -build may seem redundant since
    by default it's in BUILD directory already, but this makes it more
    obvious in cases where the default is overridden (eg fedpkg overrides to
    current directory), and helps differentiating it from the %buildsubdir
    directory commonly created by %setup.
    
    Suggested-by: Neal Gompa <neal@gompa.dev>
    (cherry picked from commit dde4fe5cf7d2b543f1fb1f2212679273492ed7e7)

commit ff6b61d10d97f5553ea08e3ffcff8a5a2cacb72a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 29 14:35:20 2024 +0300

    Fix header source/patch names disagreeing with src.rpm contents
    
    If sources or patches in the spec are defined via a macro that does not
    yet exist, it'll still work for building if the macro has been defined
    by that time as there's another round of expansion there. But this can
    leave the source/patch names inserted to the header disagreeing with
    what actually ended up in the source package, eg in the testcase
    you'd previously get '%{somemacro}-2.0.tar.gz' in the header whereas
    the src.rpm had the right contents.
    
    While defining sources this way seems mad and brittle, it does actually
    work for building rpms and there's a whole ecosystem of packages relying
    on it in Fedora. So lets at least be consistent about it, and re-expand
    the source paths once more before inserting in the header, because
    that's what happens for them in the actual build as well.
    
    Originally reported at https://bugzilla.redhat.com/show_bug.cgi?id=2233878
    
    (cherry picked from commit b8d8bfab0374bc6cca05b70f526c245908f5dc94)

commit 9bf27b13a733e212e724f6612e1b697a8f78cb8c
Author: Jonathan Wakely <jwakely@fedoraproject.org>
Date:   Fri Apr 26 15:12:35 2024 +0100

    Fix spelling and grammar in conditionalbuilds.md
    
    (cherry picked from commit 667e32cd959635756ba900ad915740c43ba5d302)

commit c0392702d5513b588af54409ede1647832f61acd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 23 11:31:05 2024 +0300

    Take advantage of rvasprintf() in rpmlog()
    
    rpmlog() predates rvasprintf() by something like two decades, but no
    reason not to use it now. One malloc() down, yay.
    
    (cherry picked from commit e2722fd423b6c13247de277ca6207b0e0762d89b)

commit 99d0642547222bf2294c1b23051f0fd5f4151619
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 10:23:48 2024 +0300

    Fix multiply defined local macros escaping scope
    
    freeArgs() only popped any local macros once, so if a local macro was
    pushed multiple times, whether through %define or multiple identical
    options getting passed, we leaked any remaining macros to the outside
    scope.
    
    Simply pop the local macros in a loop to fix. Have the internal
    popMacro() return the previous pointer (if any) to simplify the job.
    We even had an expected-fail test for this, now passing, but add a
    more straightforward reproducer too.
    
    This bug was circa 26 years old. Some might call it vintage at this point.
    
    Fixes: #3056
    (cherry picked from commit 695b5c25213823390daa6495c65d79e5a8c792f5)

commit da6d310d4fa18a8585bf77eb7aacfab8d92062f8
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 22 15:40:39 2024 +0200

    Adapt tests to current state of the "legacy" parser
    
    We define two new test macros RPMOUTPUT_SEQUOIA and RPMOUTPUT_LEGACY
    to make it easier to write parser dependent test output in the
    test cases.
    
    (cherry picked from commit 68d0f3119c3d46b6184f4704edb51749ce9f819e)

commit 45439ef74e6a03ba20678f90f7bb35298b6fa438
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 09:11:01 2024 +0300

    Fix build scriptlet append/prepend interaction with Buildsystem
    
    The append and prepend modes got added before the declarative
    Buildsystem, and did not get thoroughly tested with it. The existing
    %build -a test didn't actually work but automake handling the build
    in %install masked the issue embarrasingly. As the Buildsystem is parsed
    after everything else, there's no way the previous append/prepend
    implementation could work correctly with it.
    
    Do what we should've done from the start: collect any prepend/append
    stuff into separate data structures and apply them after everything
    else has been parsed. This also lifts the artificial sounding
    restriction wrt the corresponding main section:it's really the right
    thing to do, even if it's a bit more code.
    
    Make the tests wrt buildsystem much more thorough to ensure it all
    really works, blush.
    
    Fixes: #3024
    (cherry picked from commit bf46dcf3646e1c296c1a5a473aece07cff6682bf)

commit 0fd82c1cda9c02bcc3289ea1e31b30bb4c7b5db6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 11:43:58 2024 +0300

    Refactor build script parse calls to a helper
    
    Moving logic from switch-cases to data structures is always good,
    and so is reducing duplication of names and the like.
    
    (cherry picked from commit d5c8423da7cc07169364f31716979a200116466a)

commit 564b39e759db5c4b5b27f2e7fee6a2f5bffdea0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 11:39:47 2024 +0300

    Refactor getSection() to more generally useful
    
    Support looking up by name or part number, return a pointer to the
    struct so callers get all the details they need.
    
    (cherry picked from commit c97c48225e6e79b3829e77d5179645aed75104a5)

commit 84f5f59bce3dc1b5cff7e0932fe6d29eeeedc07c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 19 12:18:21 2024 +0200

    Add the "Primary Binding" pgp signature type
    
    This type is needed to verify the primary binding signature
    embedded in subkey binding signatures.
    
    (cherry picked from commit 4e9458ecca55db0187de12fd685da2479fd981e3)

commit f38a3a7c8db2d7e63610a58f0e6d3aac0ae89b01
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 17 14:29:50 2024 +0200

    Relax openssl version requirement
    
    And also delete the no longer needed include statements.
    
    (cherry picked from commit 200c91ff72ecfdf4751913e672660ffc0a680ff6)

commit 0eb0d3aa1392e3776ed984d941497efc0399ff4e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 16 13:39:59 2024 +0200

    Parse dynamic spec parts for rpmbuild -bl
    
    As we need to check all file lists we need to have them parsed - even if
    %build and %install have not been run due to --short-circuit
    
    (cherry picked from commit 3185d47bd528f1d6a73aac5481259586317b3522)

commit 744eba5bd1c63e5fdf1368781938ada0dccdd534
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 14:08:06 2024 +0300

    Make the %rmbuild test package noarch as it should be
    
    The test added in c751b54b83c8f7c4656b93fdceb16394992acede fails
    if debuginfo is enabled because there's nothing to generate debuginfo
    from - the package needs to be noarch.
    
    (cherry picked from commit fa9b6497b19099a1e4e72d482ea1027af77feedf)

commit feb1d7c30117610a1597e0c15f466a69b7273efb
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 15 15:06:50 2024 +0200

    Add testcases for Ed25519 and NIST P-256
    
    (cherry picked from commit 983dd21fa9a11395a769c72339ea1ce2cacd163a)

commit 80f5a4f8a1b0d2cc0dd73add5cebd74c902f58d9
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 12 14:40:29 2024 +0200

    Allow signing with ECDSA keys
    
    Key import and verification already works, it's just that rpm
    does not know where to put the signature.
    
    (cherry picked from commit ef0afa856a609bea765dbccaebb75ceeddd202f3)

commit dab9fc6e69c9c054d2c95645a74d915549642a06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 11 12:08:04 2024 +0300

    Fix an ancient memleak on %caps() parsing, add tests
    
    This leak has been there ever since rpm 4.7.0, so pretty close to 15
    years. ASAN would've caught it, if it had it been tested. Oops.
    Of course, in the fakechroot era we couldn't have tested installation
    but we could've at least tested the parsing side.
    
    Add tests for parsing, query and install functionality, and fix the
    leak that is now very visible.
    
    (cherry picked from commit a385821780804b558ae18aec820d127e4144fafd)

commit 081c93db1b9b7b0374ae4b934d652d26116060a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 10 14:29:45 2024 +0300

    Fix one missed explicit cast for C++ due to typo in makefiles
    
    Should've been in commit 58c3f3bc54836c3c4cdb81e53ad89257e1080300
    
    (cherry picked from commit 1fe3e35944814b2757fb6f4da18554df18c5f067)

commit 76e8bcf423eb98d5b5a19eccbba2e68b3e53f701
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 15:07:41 2024 +0300

    Add casts that C++ requires but C doesn't across cli tools
    
    (cherry picked from commit 37cdcc29269eb5cd603c69be07f83f113ce479cd)

commit 69261b1888e5a68f4d733e14f5ae2b66ec20fc6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 15:07:27 2024 +0300

    Add casts that C++ requires but C doesn't across librpmsign
    
    (cherry picked from commit 24f388e5e12b2ee8c080662e0662b6cb23d4d22c)

commit db7aeab878e84146376db4bbcb00791b13b9e266
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 15:04:55 2024 +0300

    Add casts that C++ requires but C doesn't across librpmbuild
    
    (backported from commit 58c3f3bc54836c3c4cdb81e53ad89257e1080300)

commit 9a85bfa590da41a1500d696ea4dd2675d4d8a12f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 15:04:14 2024 +0300

    Add casts that C++ requires but C doesn't across librpm
    
    The low level ndb engine is intentionally exempt here, leaving if/when
    to maintainer discretion.
    
    (cherry picked from commit a8ef47798ea74383ee86960d5f29d24a5289ba08)

commit 6282c09e8a84aee4c4d4a5746ea66aaebfdd156d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 15:03:50 2024 +0300

    Add casts that C++ requires but C doesn't across librpmio
    
    In other words, a whole lot of "yes, really".
    
    (cherry picked from commit 62840a3cdfce53468785d0a8cfdada8bd3e289c3)

commit cb632df8df02afc52a40d3966037264f888da3a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 09:09:26 2024 +0300

    Take advantage of rpmdsIsSysuser() for the tag extension + psm code
    
    (cherry picked from commit ee528ce094aed90652e4039a36680a1d98fdef41)

commit fa3c7d02568dd03610193142f8d6ab87e74cde1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 09:04:17 2024 +0300

    Add rpmdsIsSysuser() function for testing and decoding sysusers provides
    
    Allows de-duplicating the code in tagexts, psm and any external callers.
    Should've done this from the start of course...
    
    The Python binding doesn't return the decoded line because it'd have
    to return a tuple which would be inconsistent with the other IsFoo()
    method returns. We'd need a separate method for decoding but that doesn't
    seem worth the trouble as decoding base64 in Python is so trivial.
    
    (cherry picked from commit 5ce5604831611327e521973427d684837968663e)

commit 70904da759e676bc2d3e48862dff9862d24463b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 9 08:36:40 2024 +0300

    Fix int/enum mismatch in rpmtsImportPubkey() return code handling
    
    Actually simplifies the code too.
    
    (cherry picked from commit 0a28664671b6cc81bef1f866fc29b32537eff263)

commit 21cad047feaebd12aa170dd6dca66bd52b3debb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 9 08:08:04 2024 +0300

    Drop unnecessary initialization from a static variable
    
    Static variables are initialized by the compiler, simply dropping
    this allows us to avoid the int/enum mismatch from initializing
    hash algo to an invalid 0.
    
    (cherry picked from commit 62f7e756ea0d5690c5bcce01be89b96de7ff5126)

commit b96d684097bb78c70e10f3aec4a4a3a22f805bd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 17:04:12 2024 +0300

    Fixup enum/int mismatches in header format extensions
    
    (cherry picked from commit 2269c6dbe0a6eb04546d6ba28f3d4d906788c236)

commit c2df6ad159eb9edcec9aa5cdbd7e149fb8961fc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 16:59:14 2024 +0300

    Make rpmTagType an integer type to avoid complications
    
    rpmTagType can include information about the return type
    besides just the tag, so a strict enum wont do.
    
    (cherry picked from commit 9a69f0b74ca2d766ce0e64f5cb2eb7ef8fcf5b44)

commit a7d0e58ba7b0054b96e2f4f2728fd9ad52905ab3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 16:34:51 2024 +0300

    Fixup missed constification in Lua readline callback
    
    Should've been in commit 38b26021422d53e6295d78af69960ae1a1cc3034
    
    (cherry picked from commit 656c8e75f554c1ada69f46ee9b9645b969da3069)

commit d81be733b9e97f9e9706b376ae46f1fcb1f4fc8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 14:41:48 2024 +0300

    Fix pointer bogosity in rpmlog callback
    
    rpmlogCallbackData is already a pointer type, we don't want a pointer
    to a pointer for this. Kinda surprising it actually worked, but then
    it's just a void pointer so...
    
    (cherry picked from commit f8a72afbdb560dc534ca1ff390bc54e01d1144a6)

commit ecec6ff71cda8d08aef976ebb45a0e409c604da0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 13:19:29 2024 +0200

    Make rpmmacro_internal.h self-standing, ie include what you use
    
    (cherry picked from commit 5231d5f54ddb86da897d8772e3bbcadd0fc21a85)

commit 9712d26ce53ec384b94cb048d290385df76bdebe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 14:04:06 2024 +0300

    Handle Lua header C++ guards centrally in rpmlua.h
    
    Upstream Lua headers lack C++ guards, argh. Lump them all into rpmlua.h
    and deal with it centrally there. In the past we've avoided including
    Lua there but now that Lua is mandatory it doesn't cause other issues.
    
    (cherry picked from commit 396c8e8201314165785d6fee194495bfc2a4ad02)

commit 4d923704f4035177bd06296f81ab9a207030d3f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 13:35:43 2024 +0300

    Use the actual rpmRC enum in ndb where relevant for internal APIs
    
    The internal db interface expects rpmRC returns, C doesn't mind but
    C++ does so update those parts to pull the real rpmRC enum, update
    return code variable types to match.
    
    (cherry picked from commit 00a1b89a7d3155e9765fc78d0a7e1bae0edb0d4a)

commit 0d73439ac2e68718672a95709e9ae68296616671
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 13:24:49 2024 +0300

    Add c++ guard to ndb internal headers
    
    (cherry picked from commit 56a6701cd6592e297122f7b8dbdc5b5dc220e62e)

commit 32016aeebd5a636e6d117a191cea557f4ec1b0e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 11:41:15 2024 +0300

    Avoid jumping over variable declarations
    
    C lets us do this but in C++ needs to run destructors at end of scope,
    so they better be properly initialized...
    
    These are all over the place but so trivial putting them to different
    commits doesn't make much sense.
    
    (cherry picked from commit 437b5a1068030e7d70c3b1cb8e20e59a32ee9694)

commit a29d67f8b2cea21c22776491ba3be563cefe764a
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 8 10:02:29 2024 +0200

    Add the "issuer fingerprint" subpacket type
    
    This subpacket is an alternative to the "issuer keyid" subpacket.
    It contains the pubkey version plus the complete fingerprint.
    
    (cherry picked from commit fec1bd8d2a8b7053a026765e73169681373b5605)

commit 01cfc2b4019b3592e3f05c64e9bcbc819aa01d26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 12:42:46 2024 +0300

    Don't bother including fsverity headers when not building it
    
    (cherry picked from commit b96abccec8cd3c466be2f901136587b13b2f9906)

commit 9bd73b7e1b4de8eb9eaae2a2c7ca9c0d6d413881
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 12:37:51 2024 +0300

    Unbreak build when imaevm.h is not present on the system
    
    Commit 401d845d99bd4cd2449a61c12519db1dca6c681d broke the build in
    case imavm.h is not present on the system, oops.
    
    Suggested-by: Michael Schroeder <mls@suse.de>
    (cherry picked from commit 76d53ab520b7acc01aa4728442d51c781a6d4e3a)

commit 8616739fb71d3a6d2a00fa5c928a64d6d5a37943
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 14:10:27 2024 +0300

    Always use _free() over rfree() when assigning the return value
    
    This allows macro tricks to match the type, avoiding the need to cast.
    
    (cherry picked from commit 5b1cb92c41120915c8fc2247efcdc972faea2819)

commit 0a3715db8383e88fedc7279eff9a9a619ee7ec0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:09:46 2024 +0200

    Fix couple of obvious'ish signed narrowing issues in rpmio code
    
    (cherry picked from commit 4174de56d09dee632e6e52883883216509e053d7)

commit 0791d402b3755d1046051ff28e7ed52570b416c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 13:38:01 2024 +0300

    Fix int/enum type mixup in rpmtdType() and rpmtdClass()
    
    (cherry picked from commit 8866314570b9497f273a17902705cbf8dcf360fe)

commit 1fb0f8e30eae427113de372573afad8548003c8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 13:34:36 2024 +0300

    More rpmTag/rpmTagVal pedantry
    
    (cherry picked from commit 689554a02799cbdd1579ed15d22b89c119ae3a4a)

commit cf052f1a22848c5e23c0bad8188152378423b6a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 22 09:17:19 2024 +0200

    Use a non-standard extension for the non-standard tagtbl file
    
    Capital .C is sometimes used for C++ which this file certainly is not...
    
    (cherry picked from commit fbcc57cfc054e1768bfdcccd64698524a6d74117)

commit 67308c223bac31a4800dcc07130d5c0325f1786e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 11:27:00 2024 +0200

    Avoid char * to string literal conversions related to rpmfcExec() argv
    
    ARGV_const_t is defined the way it is for compatibility with exec*(),
    which expects "char *argv[]" arguments, as explained in eg
    https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
    
    Since that const mismatch is inherently unfixable, fix the place that we
    can - the pointers to string literals in our structs - and cast away
    what we cannot hope to fix.
    
    (cherry picked from commit 8a141a1161e67996ebf0fc547f341cf45e54fb1b)

commit 3b3709e47b5b26700383196f7dabdf960b33bd28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 13:25:19 2024 +0300

    Pointer const correctness
    
    (cherry picked from commit ace5dc5879cc0405be41219dd478ba1ee90cab75)

commit ee9055f6f540f89ea74fc7a25ef035ab2410d653
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 13:23:54 2024 +0300

    Avoid c++ reserved keywords, part II
    
    (cherry picked from commit bb24c99f5b5cb2173c08204c88cabfdbeef072ce)

commit b29bf7a322214f6fd96ce9b3c10e31d44b21f5d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 11:09:38 2024 +0300

    readline callback const correctness
    
    (cherry picked from commit 38b26021422d53e6295d78af69960ae1a1cc3034)

commit 2c4fa4f5b23125fc0b29ed92435f7ae3255ae6d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 11:12:59 2024 +0300

    Avoid c++ reserved keywords new, class and namespace
    
    (cherry picked from commit ce6c3812af4c2a9e9fc6c2dc77e00e1e1487bb83)

commit b0d615b383b79c27871b0eb7ce00f97e40d73959
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 10:46:16 2024 +0200

    Use an union for the zstd compress/decompress streams instead
    
    Cleaner than void pointer and avoid casting.
    
    (cherry picked from commit 9a345d1913a448da52b3b7a4c6812692ed07534a)

commit 74c42b868a8ab2f4319e28e30ece697fad721157
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 10:11:32 2024 +0200

    Wrap rpmio inner file pointer access behind typed helper function
    
    Otherwise we'd need casts for each of these accesses, having a function
    allows doing more if necessary.
    
    (cherry picked from commit f75cd15f852bbde1d24f1fad835f6c7e96d91482)

commit b1257a32761af79432f3973131b55b9106fd382d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 09:56:11 2024 +0200

    Work around C++ restriction on forward declarations
    
    Forward declarations to structs like we have in rpmio isn't legitimate
    C++, as a minimal bandaid solution declare them as extern in the
    internal header, and limit visibility.
    
    (cherry picked from commit 5010191f6d6c1707e7cef0ccd5f90a1ac821a1d8)

commit 193442f05526fba76aae39525ebb1e79448eb309
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 10:39:26 2024 +0200

    Lift %shrink out of doFoo()
    
    This really belongs to a separate function in the first place, and doing
    so allows us to turn 'b' into a const char *, which in turn makes
    the assignment to string literal "" in the url2path case legitimate.
    Fun times and no functional changes.
    
    (cherry picked from commit 7445a092f7a7f613f818e18a0024fd62a147680f)

commit 6e76f64298b95aff6e28cb4c2b15864efb702934
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 09:37:24 2024 +0200

    Avoid relying on writable string literals in macros
    
    This hack here is illegal in c++. Just strdup() the silly little string,
    it's not like this is a performance critical spot.
    
    (cherry picked from commit 3a2b04c96d60df9815c49a84ce94151b1b25d949)

commit f5e35bd543e96e2eb4b6a07b082478c0e005fff0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 10:37:41 2024 +0300

    Add c++ guards to internal headers and sources as needed
    
    (cherry picked from commit 401d845d99bd4cd2449a61c12519db1dca6c681d)

commit 3d1c79e00d0b68bf0d58dc5b2986e6e012a9a58d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 10:18:09 2024 +0300

    Introduce and use RPMRICHOP_NONE to fix int/enum mismatches
    
    (cherry picked from commit d4b066382e285292042ad654c39467e62a4c70a0)

commit 7aa53e7914e2e16c264cc9a6611ccf24dfd65045
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 10:07:51 2024 +0300

    Use proper callback types in psm notify wrapper
    
    (cherry picked from commit 850b30171e22c52faeacc3ef28f2fa74ea0137e6)

commit f26ade80abce3b1835c03b56fa1cab9d9b45b54d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:41:04 2024 +0300

    Fix couple of RPMTAG/RPMDBI type mismatches
    
    (cherry picked from commit 1e97f4498848409a1b08772cc95f53401305ee10)

commit 6be186ea115489836aad870f6d1b5026e51e63d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:05:55 2024 +0200

    Avoid rpm tag signedness issues in build tables + related code
    
    rpmTagVal is unsigned so we can't really have these -1's in there.
    Tag works for this purpose just as well - assuming I spotted all the
    explicit comparisons to -1 in the depMsgs code.
    
    (cherry picked from commit 4d63588df6005c5e6e5619144ad72929f95c7e58)

commit 7bb4dfd0bcadc7c6177d6fe88a4bcccf7fac98b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:34:26 2024 +0300

    signal() returns sighandler_t, not void *
    
    (cherry picked from commit 5bf65deff8eb687971b0cce16ec0f015158b33d4)

commit 6565a6dc42c186e5da30ce1104bf1d482306cfb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:31:50 2024 +0300

    rpmTag/rpmTagVal type pedantry
    
    rpmTag doesn't include anything suitable for a sentinel value, so don't
    use it in array initializers. rpmTagVal works for that, but it's an
    unsigned type so use 0 instead of -1.
    
    (cherry picked from commit 7bb2dcd8dab195197e95187c997f437d9a7c9f36)

commit 00f618163e02cd5918be3d1dc92776b0451afd72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:19:53 2024 +0300

    String literals should be const char *
    
    In particular, spec->nextline is written to, so pointing it to
    a string literal is undefined behavior. NULL seems to achieve
    the same.
    
    (cherry picked from commit 9eb84906440ebebb672ee62aa435f0f86452e1b9)

commit b4686a6d94d8ff8db77034aa6a5efe8c11cbeda1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:20:55 2024 +0300

    Drop a redundant helper variable
    
    (cherry picked from commit 495552cb2741cd3fb7ec4fafe179419b3f7269e0)

commit ced8b3ed19e508b28f34d9dc63472851ce10e9dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:09:36 2024 +0300

    Eliminate anonymous embedded struct use in filelist
    
    C++ doesn't like this...
    
    (cherry picked from commit b75565ab96556bda434319f4858af85aaa09b66a)

commit 68262a4f82b58fe0ef1cd2efee9c86c1b5fb2ea6
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 5 11:45:27 2024 +0200

    Bring back the test of the buildtime macro
    
    (cherry picked from commit 6ea10820902f3b7098885978dc4315ed7c5e71da)

commit 30dd419c03bfe8898a403d8d1c551dab63fd1d1b
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 5 11:26:18 2024 +0200

    Revert the buildtime test for now
    
    (cherry picked from commit 2fe4a4833731a9e553dd0e8d2277a8bd86663da6)

commit 5e1f210ce0fe10ebf099c22033f082eb1e7c8820
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 5 11:18:27 2024 +0200

    Document the build_mtime_policy macro
    
    (cherry picked from commit aa7c57c0b820a407ffd9b2ad00f990f698505df6)

commit 4965331a55cedda5e423fe050e8da1245ab8b069
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 5 11:17:06 2024 +0200

    Add a deprecation warning for clamp_mtime_to_source_date_epoch
    
    Adapt the test cases. Also add a test for the new clamp_to_buildtime
    policy.
    
    (cherry picked from commit 9059e6ab373f7cce843260bcfc152ea662a515a9)

commit 9fb093303f74863ed808c64236279dbf846fcff1
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Mar 27 16:14:01 2024 +0100

    Support clamping the file mtime to the build time
    
    This makes the file mtime more reproducible and consistent. The
    package build time is set before the build is started, so every
    new file will get the same time.
    
    (cherry picked from commit efdc489002468d854c1bbf7d933410c0cb0d73ee)

commit 846adbd2311cf28b837aacc7ef1e72ba31179587
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Mar 4 15:04:52 2024 +0100

    Add support for a _buildtime macro for setting the build time manually
    
    This is useful for reproducible builds and testcases testing time
    related things. It is similar to the _buildhost macro added in
    commit 22588250baa1bfa5c00f57d39329d0c144fc8112.
    
    (cherry picked from commit bffbc1f7a697b1ff65db19239f9e13808ebf4924)

commit 7188cf8ecf6a98486582125f7b8aca1abbd43f92
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Apr 5 14:42:25 2024 +0200

    Preparing for rpm 4.20.0-alpha

commit c751b54b83c8f7c4656b93fdceb16394992acede
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 11:43:39 2024 +0200

    Ensure %rmbuild doesn't fail due to permissions in the built content
    
    Packages may contain files without write permissions, read-only sources
    and whatnot. Run %_fixperms on the whole builddir before trying to
    remove it to ensure we don't fail doing our household duties, both
    on post-cleanup but also before trying to remove an old run, as
    eg 'rpmbuild -bi' will not run cleanup.
    
    It's worth noting that prior to b5f6c64554d954c43d5dd5b32246a2f315be6fcb
    the build could similarly fail while running it's default %clean.
    If we hadn't removeed the default %clean, we'd have to do this
    permission fixup first redundantly for the build root and then for the
    rest of the %builddir.
    
    Also worth noting is that the added test doesn't actually reproduce the
    issue in the test-suite because it runs as root and root is not bothered
    by such petty issues as missing read/write permissions to remove. But
    at least we have a reproducer for the case once #3005 is done.
    
    Fixes: #2519

commit 1153ccd3749d26f184d6f78eeaa682d8815d896c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 11:18:39 2024 +0200

    Document %clean as obsolete and drop the unnecessary default %clean
    
    In rpm < 4.8, %clean was needed to clean up the build root for packages
    that used one (it was optional before 4.6). Since the introduction of
    the new %builddir in 9d35c8df497534e1fbd806a4dc78802bcf35d7cb,
    everything the package produces is collected in that one directory
    that we can and do centrally clean up, making the separate %clean
    section even more useless.
    
    Document %clean as obsolete and drop all the now unnecessary default
    %clean sections we've been adding for the packages.

commit 10043a12be2c0fc516e0fbd0fa82db9b8efb4315
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 09:15:32 2024 +0200

    Ignore non-scriptlet weak dependencies in ordering
    
    Taking weak dependencies into account during ordering has caused a
    noticeable wave of dependency loop caused install failure bug reports at
    least in Fedora. This is counter-productive: weak dependencies are
    commonly used to introduce more exotic / heavier dependencies to
    packages without causing impossible loops, but now we're doing that to
    ourselves.
    
    Commit d6353c96fed98a8d30d9ebadf4d6a19a5149edee demoted scriptlet
    dependencies to regular ones, but this had precisely zero effect because
    there were no such dependencies in the wild because due to a bug that
    made it impossible to create such dependencies manually.
    That bug is now fixed, but in addition, demote non-scriptlet dependencies
    to meta for ordering purposes (as in, just ignore them). This helps
    concretely helps bringing down the number (and density) of install ordering
    dependency loops in the wild.
    
    It's worth mentioning that sysusers dependencies are flagged as
    scriptlet dependencies, so it's important that these don't get ignored
    even if %_use_weak_usergroup_deps is enabled.
    
    Adjust ordering tests accordingly, in particular turn the first weak
    dependency test into a mixed set that demonstrates the effect of this
    change.
    
    Fixes: #1346

commit ad0eb9a461bce444271d9cf18748e8de821a8960
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 27 13:07:38 2024 +0100

    Add support for sysusers group membership lines
    
    m user group
    
    Add Provides with groupmember(user/group) and Requires/Recommends for both the
    user and the group.
    
    Extend RPMTAG_SYSUSERS and recognize the groupmember provides during
    installation.
    
    Resolves: #2816

commit 8bffd976dea20993f51ea6109cf8b381d8c65e47
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 19 11:38:59 2024 +0100

    Re-Word User / Group handling a bit

commit 5d4a476d14998f8f7ebc7e0c15a5263ca7803f5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 15:18:34 2024 +0300

    Update Buildsystem(prep) docs as per the even more automatic -C default
    
    Should've been in commit 9df9d9e495f9ed2a319cba4735cf2d79e2a34603
    
    Suggested-by: Miro Hrončok <miro@hroncok.cz>
    
    Related: #2998

commit dc47a50c6345a25b861305d8aa8ae464098834ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 15:29:29 2024 +0300

    Ensure binary pkg headers are identified as such after a spec parse
    
    Contrary to expectations, there's a perfectly logical place to
    initialize the source rpm name: initSourceHeader(). This gets called
    early enough to let use insert RPMTAG_SOURCERPM right after spec
    parse for proper binary package identification in headerIsSource().
    The only special case is buildreqs.nosrc.rpm generation that doesn't
    follow the normal process, so remember to free the normal name there.
    
    Fixes: #2819

commit 8703ce740f24d7b7c443cce74fccf08df00e89c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 13:21:00 2024 +0300

    Ensure source headers are identified as such after a spec parse
    
    headerIsSource() uses RPMTAG_SOURCERPM presence to identify binary
    packages, but that tag gets inserted late in an actual package build,
    whereas we'd like to source headers to be identifiable right after
    spec parse already. Non-presence of a tag is not a very strong indicator
    anyhow, and even less so when said headers are still under construction.
    
    Move RPMTAG_SOURCEHEADER insertion early - there's no reason not to -
    and use its presence as a positive identification of source headers,
    falling back to the "not a binary" logic when not there to preserve
    behavior otherwise.

commit 9df9d9e495f9ed2a319cba4735cf2d79e2a34603
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 15:52:33 2024 +0200

    Default to automatic build directory path on declarative builds
    
    The new %(auto)setup -C option complements the declarative buildsystem
    very nicely: this is a trivial detail, don't bother the packager. While
    we can't default to it everywhere, Buildsystem is a great opportunity
    to do so.
    
    Suggested-by: Miro Hrončok <miro@hroncok.cz>
    
    Fixes: #2998

commit 804ea27072bdfbda6d2e09c4ad00177fadbf9d41
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 2 14:22:02 2024 +0200

    Get rid of pgpGrab()
    
    rpmvs.c is the only one using it in the rpm source and it can be
    trivially rewritten.

commit 0e9cff51e43703ebe248e4d098dad88ca2103f15
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Mar 25 16:18:07 2024 +0100

    rpm2archive: fix error handling in process_package
    
    Add support for ARCHIVE_WARN, fix clobbering of the error state.

commit 2be1f34ebea37ea37ede7415b271b8a8fa036f4c
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Mar 25 15:28:10 2024 +0100

    Set the charset of the libarchive strings to utf8
    
    Our headers are always useing utf8 and the pax standard also requires
    utf8 strings. So do this nasty little locale switching to make
    libarchive not depend on the active locale.
    
    Fixes issue #2972

commit 7f34225e0d5f054768d68f956de1f8f6dcc8458b
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Mar 25 15:24:27 2024 +0100

    Move C_LOCALE setting in front of config.h generation
    
    The C_LOCALE in config.h was always an empty string before.

commit 9634fe8d77dfaf9bc8cd095607fae05b3bb3201f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 18:11:30 2024 +0200

    Revert doxygen as a default build requirement
    
    Doxygen is absolutely not required for building rpm, it's only required
    for building dist tarballs which come with the documentation pre-built.
    
    Fixes: 26a1ccf2819ab148aef3cd354e1cbdb70a9fe5b7

commit b0da38f85e997202fef8dc3db7d5c5f37b2a879b
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 27 10:25:10 2024 +0100

    Make junk after conditionals an error
    
    As there were a lot of "comments" after conditional lines in real world
    spec files RPM did not error out if anything was found there. With
    proper comment there being now legal we should error out on everything
    else.
    
    Related: #829 #2996

commit af931f6986ffe9830e11799b0f525ba995dca6ee
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 26 13:50:41 2024 +0100

    Allow comments after conditionals
    
    This was allowed by accident in older RPM versions as junk after the
    conditionals was just ignored. With RPM 4.14 anything in the line after
    conditionals was creating a warning. This was not great as many spec
    files use comments to clarify the structure of the conditionals. So we
    now legalize this practice.
    
    Still issue an warning for everything else. Now that comments are
    allowed again may be we should issue an error for those cases.
    
    Resolves: #829

commit 7032c68afd09b7be1a6bb506882b5bbd3f934e36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 11:40:06 2024 +0200

    Use a less intrusive unattended enforcement in rpmbuild
    
    Commit e5d7a823c99b84d65ecbf3810b68aab372ef5d14 broke builds relying
    on libtool (and no doubt some others as well) because libtool redirects
    stdin in some of its tests and this fails if stdin is closed.
    Instead of closing, pass the write-only end of the pipe as the stdin
    to build scriptlets. This way the descriptor is there and can be
    further redirected, but any attempt to read from the (unredirected)
    stdin will error out. Add a test-case too.

commit 1fd23189830bd1c3e6ade408171d84d5036446ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 12:49:07 2024 +0200

    Lump version comparison tests into a single test-group
    
    There's no reason each of these needs to perform their own test setup
    and cleanup when they're not even writing anything. Doesn't change
    what gets tested, just less useless chatter in the test output.

commit c4665da3b6f9adc1e689e77fdf83c91b264be40f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 14:58:51 2024 +0200

    Update rpmsign man page for new paths + other cleanup
    
    Yet another place describing ~/.rpmmacros, point to the new location
    and main rpm manpage for the details. Clean up + modernize a bit
    while at it.

commit b00574ddc30ace36979cc86938dee40703e84784
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 14:39:47 2024 +0200

    Document the new ~/.config/rpm directory in the man pages too
    
    Consolidate the various copies into one place in rpm and document
    a bit more thoroughly there.

commit 6dbae2f62be92a8b87809fe8787636973af402a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 13:34:32 2024 +0200

    Axe references to Berkeley DB era rpmdb file names

commit f24ca5eade57ebfafd3829aa6d4bfe5ab6f965be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 14:23:08 2024 +0200

    Support per-user macro configuration in XDG_CONFIG_HOME
    
    Look for per-user rpm configugration primarily in ${XDG_CONFIG_HOME}/rpm
    but fall back to traditional ~/.rpmmacros and ~/.rpmrc iff either exists
    and the new XDG directory doesn't. This way we only advertise the old
    setup in 'rpm --showrc' for old users, new users only ever see the
    new path.
    
    As per the XDG spec, if ${XDG_CONFIG_HOME} is not set, it defaults
    to ~/.config
    
    Fixes: #2153

commit 274a1b7ade688a93903c00210fbb2bd34270abf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 09:45:42 2024 +0200

    Drop support for compile-time MACROFILES override
    
    This seems like leftover from the nineties that presumably nobody uses,
    otherwise somebody may have noticed using it breaks --macros cli
    override.

commit f734e1724d5dd0e2f92ffcaf85ad408d01a508bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 13:22:39 2024 +0200

    Sanitize rpmGlob() behavior wrt non-glob patterns
    
    Previously rpmGlob() has behaved as if GLOB_NOMAGIC was passed, ie
    return non-globbed patterns as is without bothering to check if
    there are actual matches. This makes for weird and surprising behavior:
    ~/.notthere would return no match, but /home/user/.notthere returns a
    match. Which makes no sense whatsoever.
    
    Rather than clone all the glob() options to the rpm interface, link
    this to the NOCHECK flag: the callers who are prepared to deal with
    non-existent files are already using RPMGLOB_NOCHECK, and all the
    rest actually expect all the matches to be there.

commit 07704563b14f5c2243b1ee1c00a784c46ed4c209
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 15:09:16 2024 +0200

    Use rpmGlobPath(... RPMGLOB_NOCHECK) for rpmrc reading
    
    This was missed in commit 8ef29094fa218c631b3abadb2d90f3d36368ca76:
    the code explicitly checks for the results so NOCHECK is the right
    thing to do.

commit 23c11c6f5d4e40a26d502b6af9980ace7fc61226
Author: Tim Landscheidt <tim@tim-landscheidt.de>
Date:   Tue Mar 19 11:42:23 2024 +0000

    Fix "cannot adjust line" warning in rpm(8) man page
    
    With most common terminal (emulator) configurations, the number of
    columns requires that the default value for the --macros option must,
    but cannot be adjusted (justified) for display.  Thus, for example
    groff produces the warning message (reported at
    https://bugzilla.redhat.com/1730532):
    
    | $ echo $COLUMNS
    | 187
    | $ man 8 rpm > /dev/null
    | troff: <standard input>:170: warning [p 2, 3.7i]: cannot adjust line
    | $
    
    This change, suggested by G. Branden Robinson
    <g.branden.robinson@gmail.com> (https://lists.gnu.org/archive/html/groff/2021-02/msg00084.html),
    breaks the default value at its colons and formats it as a code block.

commit 66574b90da03560d605c3faf6e5c03077b10800a
Author: Tim Landscheidt <tim@tim-landscheidt.de>
Date:   Tue Mar 19 11:38:59 2024 +0000

    Document in rpm(8) that --macros accepts globs
    
    The --macros option accepts glob(7) patterns in addition to ordinary
    file names.  This documentation change was suggested and phrased by
    G. Branden Robinson <g.branden.robinson@gmail.com>
    (https://lists.gnu.org/archive/html/groff/2021-02/msg00084.html).

commit 1a91937d1ba8b8b228bf0ac3e59e69656bda711f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 10:53:19 2024 +0200

    Add some further examples to the Lua macro integration docs

commit e16bf1fb3198ef0b4c5a1644b627b91db13da99b
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Mar 25 11:51:04 2024 +0100

    Add a note about --setenv to test README
    
    This is entirely non-obvious as one would assume that any exported env
    vars are inherited by the runroot() subprocesses.  Yet they aren't
    because we intentionally reset the environment in the bwrap containers
    with --clearenv (see atlocal.in).  It's a common use case, though, so
    deserves a proper note.

commit 5ab544df8ea42bc22dd23cd5c1eee8b2f42b491c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 13 10:44:23 2024 +0200

    Minor clarifications to the v4 format doc

commit a0d5e1152ef1a20b9d087070bd2035ec0aeb3ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 09:39:45 2024 +0200

    Oops, remember to update test-suite wrt internal->legacy parser rename
    
    It's debatable whether these tests belong in the rpm test-suite now
    that we no longer officially support it, but the existing tests aren't
    exactly high maintenance so leaving them in place for now, consider
    removing for 6.0 I guess.
    
    Fixes 0334bc73707d1e048627f18b2be782d1212ddf59

commit 63e369cd3579114a011d3fd5eafaeafa8b1b2e88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 13:55:38 2024 +0200

    Split off the internal OpenPGP parser to a separate repository
    
    Now that we have an alternative to building without Rust, it's time
    to say bye to this old thing. We will not support the parser but
    preserve minimal hooks in cmake to allow building with it, at least
    for a transition period:
    
            https://github.com/rpm-software-management/rpmpgp_legacy
    
    Fixes: #2414

commit 0334bc73707d1e048627f18b2be782d1212ddf59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 13:28:40 2024 +0200

    Prepare to cutting out the internal OpenPGP parser for good
    
    Push the build option into the rpmpgp_legacy directory so it doesn't
    show up at all unless the directory is present, and rename it to
    WITH_LEGACY_OPENPGP to better reflect the status: it's hardly internal
    if it lives in a separate repo, and it's something you should not use
    going forward.
    
    Add a terse README to the rpmpgp_legacy directory as the initial to-be
    repo description to explain the status and intentionally vague build
    instructions: if you don't know then you really should not.
    
    Also add a separate COPYING file there: the parser originates from
    rpmio/ so it falls under rpm's dual license, just simplify the text
    that makes no sense in the new context.

commit 725ca51695338b9b189d2437f609fbdfd277f9d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 11:08:08 2024 +0200

    Allow building rpm without OpenPGP support
    
    For bootstrapping purposes, having rpm depend on Rust is painful, but
    directing people to unmaintained crypto code as an alternative is
    hair-raising. As a middle ground, let rpm be built without OpenPGP
    support at all, which at least gives you a functional rpm and rpm-build
    even if you can't sign or verify signatures.
    
    Achieving this is a moderately complex dance which can't meaningfully
    be split into multiple commits because everything is interconnected:
    
    Add a new WITH_SEQUOIA option to control use of Sequoia, on by default.
    When Sequoia is disabled, default to a newly added dummy PGP implementation
    instead which just returns error on everything. And finally, if the
    older WITH_INTERNAL_OPENPGP is enabled, use the old PGP implementation.
    
    As the intent is to cut out rpmpgp_legacy to a separate repository,
    sanity requires that we also split the openssl/libgcrypt code at the
    digest/signature fault line. It's not ideal, but the alternative of
    having unused crypto code on which an external component depends on
    is just not sustainable. This way, the signature side of things is
    quite neatly cut off with the PGP stuff. The diff looks big but there
    are no code/functional changes in the libgcrypt/openssl split.

commit 9d6a2962f78aab9b24780d520f94ec9b664c531c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 14:16:05 2024 +0200

    Buildsystem documentation cosmetics

commit 32d8592a86912a0f52327731a33b7c46b449acbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 14:00:15 2024 +0200

    Bunch of docs formatting cosmetics

commit f5dd51792e65ae46e09ddd3fc6555487ad191f34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 12:14:31 2024 +0200

    Fix int/enum mismatches from rpmChrootIn() returns in psm
    
    No functional changes in here either.

commit d1ecb66a11976037380bafaccc6cafa2e874dd14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 11:17:44 2024 +0200

    Fix int/enum type mess in sqlite_idxdbIter()
    
    Similar to previous: mixing up rpmRC and sqlite codes is a bad idea
    and makes the code confusing at best.

commit 2ffb4c1a20f1a91f40ed9b7fcd4d99104bfc1b51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 11:10:15 2024 +0200

    Fix int/enum type mess in sqlite_idxdbByKey()
    
    Use a separate local int for sqlite-side returns. Unsurprisingly
    the code looks saner too as a result: the earlier calls already
    set rc accordingly, and rc can only be SQLITE_DONE in the case it ran
    through the sqlite_step() loop, in which case we better check for
    in that local scope.

commit c33481d96b0c6fc8bc1ae8fbdd920ef2fc353e35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 11:05:26 2024 +0200

    Fix a few int/enum messes wrt sqlite3_step() use
    
    We're only interested in SQLITE_ROW returns in here, don't bother
    storing the return code which lets us use rpmRC as per the real
    return code of the function.

commit 6520b800958df712e418924157c56fbd0afa6925
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 11:03:56 2024 +0200

    Fix int/enum type mess in sqlite_pkgdbPut()
    
    Use a separate local int for sqlite-side returns.

commit 483e46e8da58df2564847ab24c7bbb2a0fb3ddf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:58:29 2024 +0200

    Return rpmRC from sqlite_stepPkg rather than sqlite internal code
    
    Makes callers a little saner too

commit 1ddbaa5b8e4d005604b4149d3d2af4dcb61b454d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:42:40 2024 +0200

    Fix a bunch of stupid trivial int/enum mismatches in sqlite.c

commit f732bb15412f0ab97376b68542604895399d92d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:18:04 2024 +0200

    Follow declaration order in rpmrc context initialization, take II

commit 68d76f98a6a2cf4cea475ace2a833524a5541b97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:17:36 2024 +0200

    Revert "Follow declaration order in rpmrc context initialization"
    
    This reverts commit f6fabe4d9aa8bf1e65e05628495979aca96a7992.

commit 1d6987a8ede061db611ff02eda62315e0ae24d2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:02:52 2024 +0200

    Use the internal DB_CTRL* enum for intenal uses consistently

commit 1a29087d326ce8c9a40a2181c16c582c01ead1e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 10:01:39 2024 +0200

    Add DB_CTRL_NONE to the dbCtrl enum for handling the not legit case

commit f3219f5c7beae3ac9a732f3802de78a740e60bfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:58:57 2024 +0200

    Fix an int/enum type mismatch in rpmfilesDecideFate()
    
    For once, we get to use a restrictive type for something...

commit 6c01f4c84f768b6c6b247a11106bf51b40015e66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:56:51 2024 +0200

    Fix an enum/int type mismatch in rpmfiArchiveReadToFilePsm()
    
    rpmfiDigestAlgo() hysterically returns a signed int (and that's what
    really ought to be changed) but lets at least make all these uses
    consistent.

commit cb558df6b13140e5923ac4236ddf57991683bda1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:55:52 2024 +0200

    Eliminate unused internal rpmfsGetState() API

commit 1caee21cd87d3b1360928564144695ecb30a603f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:51:29 2024 +0200

    Enums considered harmful (or at least annoying), part XXXII
    
    The sentinel in the tag extension table is not an rpmTag enum

commit 3a227fdf2965aa6bfc0727170419e9da6cf1fbe2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:50:05 2024 +0200

    Fix enum type mismatch in rpmTagGetValue()
    
    This returns a tag value, not type.

commit 90cfa466ae88b06595012084eada25a42064322c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:48:48 2024 +0200

    Fix an enum/int type mismatch in transaction verify code

commit 94a61f2a5e6678363059d09edc3aa2bbf579929e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:45:59 2024 +0200

    Avoid an unnecessary cast in selinux callback setting

commit 1377d5f3b072dfa9fcebb08d13545dc3b3187840
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:40:04 2024 +0200

    Drop silly "register" use from our allocation routines
    
    I guess somebody somewhen a long long time ago thought this would make
    it go that little bit faster. It doesn't.

commit ffb3f354cd85390d73f6ccc60b434d2fc0e3c005
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:37:11 2024 +0200

    Sanity check the IMA digest algo name lower bound too
    
    rpmfiDigestAlgo() can return 0 for errors in which case we have no
    business trying to sign the thing, and crazily rpmfiDigestAlgo()
    returns a signed int so there's that too...

commit 13a02b15d6552bc8e440235b846ea5257514d397
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:31:14 2024 +0200

    Undo weird designated initializers use in rpmsignfiles.c
    
    It's legit C99 but it's rare and weird.

commit 0772f1c5136b41f676369882fb286130c6d69754
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:21:28 2024 +0200

    Fix a couple of int/enum type mismatches in signing code

commit f6fabe4d9aa8bf1e65e05628495979aca96a7992
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:54:42 2024 +0200

    Follow declaration order in rpmrc context initialization

commit 80f23ec9f8aac04130595b02b8578a5226521b22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 09:17:57 2024 +0200

    Follow declaration order in rpmdb backend initialization

commit 99f000f810ec499a9c6b993bd0486d4fffe9f4cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 08:59:07 2024 +0200

    Follow declaration order in fapolicyd_hooks initialization

commit 8b863a5638545d3d100d9b4f476ef6c69408e1cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 08:57:57 2024 +0200

    Fixup type mismatches in rpmRC returns from plugins

commit 7108c172f4e60c83ecc1eeb2a766eb7eaa5956d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 10:03:26 2024 +0200

    An enumeration is not a bitfield, use an integer instead
    
    Enums are good for individual bitfield flag names, but combination of
    the bits is not a legit value really.

commit d680ad4667dfc5b6e9b1c18c0ed4402eca5f4b9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 16:50:15 2024 +0200

    parseSpecSection() expects an enum, give it one

commit a613d7ce7a8f326d286a3ce9626371f2e9347397
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 16:46:36 2024 +0200

    Fixup an invalid enum use in %prep parse
    
    -1 is not a valid rpmCompressedMagic. As this code is only interested in
    whether the file checks as COMPRESSED_NOT, any legit value that differs
    from that is fine for the purpose. No functional changes.

commit f2eb6fa6ba77fbf5f62add8a01544cce8c0beb6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 16:41:28 2024 +0200

    Fix some int/enum confusion in the build code
    
    These things are not really returning rpmRC values, especially as they
    need to pass around RPMRC_MISSINGBUILDREQUIRES which is not part of the
    enum.
    
    For doRmSource(), 0 and 1 aren't any more enums values than 0 and -1 are,
    and besides, the sole caller isn't even checking the return code.

commit 086244135b47ce3cf447698c3e1f968bad11b856
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Mar 15 10:06:14 2024 +0100

    rpm2archive: fix hardlink handling in cpio output
    
    In the "newc" cpio format the content of hardlinked files is supposted
    to be stored with the last hardlink and not the first.
    
    Fixes issue #2974

commit 46bd0ed2a9e70f942e7c58f953f30a66d30a5142
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 14:07:58 2024 +0200

    Document fork, exec, wait and redirect2null Lua functions as deprecated
    
    Rpm scriptlets should have no business dealing with this level of
    detail in process control, rpm.execut() is much saner and safer
    for scriptlet needs. We can't just remove because this is a public
    API with known users (eg glibc in Fedora), but we can at least document
    these as deprecated with noisy warnings.
    
    fork() and exec() are the main "problems" here, but wait() and
    redirect2null() become meaningless once you take the first two away.
    
    Fixes: #2420

commit 2084a899b50a0b7c66f964f8f12a8018c87204de
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 14 14:29:23 2024 +0100

    Reference manual: Describe Spec Sections
    
    Give an overview of the general structure of the spec and how it is
    processed.

commit 7c593bc0c84bc3b1ebc2d0fb56e364dde3d71f06
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 6 13:37:32 2024 +0100

    Allow whitespace before directives in the Preamble
    
    Resolves: #2927

commit 86cc005234c27398ac1b5dab1d5d4917e57194c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 13:10:27 2024 +0200

    Drop manual macro invocation from the buildsystem docs
    
    This isn't really a supported case, so better not feed it. Calling
    these macros manually does work in the current scheme, but one needs
    to pass any options manually, and none of the BuildOption thingies
    are accessible from the spec.

commit c1b1fa4d526307ec7a0e7ab4f1b6ba9c1642e5e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 12:01:14 2024 +0200

    Fix more Buildsystem related leaks, sigh
    
    Remember to free the parsed results from the spec, doh. Also, calling
    free() on an ARGV_t doesn't do the right thing...

commit e6d16d68ffe3af0c87a5cea1a85c54084031e097
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 10:59:15 2024 +0200

    Validate Buildsystem definitions, error out on unknown
    
    Verify all required sections (%conf, %build and %install) are covered
    by the requested buildsystem, error out with a proper error message
    if not.

commit 8ef4345569b21574a7d23b694a49b4e038803a26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 14:12:45 2024 +0200

    Work around ASAN incompatibility with GH runner image >= 20240310.1.0
    
    Some of our Python tests started suddenly failing semi-consistently,
    this turned out to be an issue in the most recent GH runner image
    kernel where ADSL runs with more entropy than before, and this clashes
    with ASAN. Revert the runner VM to the former values to fix for now.
    
    Oh and don't think I figured this out by myself, this workaround was
    suggested by @igsilya in
    https://github.com/actions/runner-images/issues/9491, cheers!

commit 9d35c8df497534e1fbd806a4dc78802bcf35d7cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 16 13:49:16 2024 +0200

    Introduce an rpm-controlled per-build directory
    
    In our ancient wacko setup, %_builddir is shared by all your packages,
    under which a package may create %buildsubdir - if it uses %setup that
    is. In other words, there's no safe and sane place for rpm to place
    per-build material. Introduce a new intermediate directory between
    the two, created in a newly added (internal) %builddir build
    step, to give rpm that place. This opens up all manner of opportunities,
    to be explored in later commits.
    
    A new build-time macro %builddir is added for the absolute path of
    this new directory, but in addition we override %_builddir to the same
    value for maximum compatibility with existing specs - a LOT of packages
    reference %{_builddir} for all sorts of (mostly bad) reasons and we
    don't want to deal with the carnage that would follow from breaking it.
    A further complication here is that defining %_builddir (along with
    sources etc) to current working directory is a common configuration
    (used eg by fedpkg and its variants) that we don't want to break either.
    So upon entry, we grab the pre-existing %_builddir and define
    %_top_builddir from it, which we can then base the %builddir on,
    while preserving compatibility with both of the above scenarios.
    
    We would prefer to use NVRA for the %builddir name, but this
    breaks a buildid no-recompute test due to assumptions made there.
    Leave that for some other day, and use N-V-A for the directory for now.
    
    This also moves SPECPARTS and BUILDROOT into the new directory, bringing
    both locations fully under rpm control. Remove the corresponding
    %specpartsdir and %buildroot entries from the main macros file, these
    are not user overridable.

commit 1261b413d0380289623a8ac695279b0de82018c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 14:46:43 2024 +0200

    Print informative messages to stderr, not stdout on --target build

commit c86d7e81a6f57ceb17ee631f9db72c2066f48983
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 11:58:50 2024 +0200

    Ask people to run "make ci" successfully before submitting PRs

commit 8de699ee70020ad99e0a07ee107e446f84c7264a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 28 14:20:13 2024 +0200

    Issue a warning when passing arguments to non-parametric macros
    
    This should be an error for consistency with other macro argument
    checking but as there appear to be usages in the wild, make it a
    warning for now.
    
    Fixes: #2932

commit 5ace145d402c082a285b6b477ccf19dec800d7fc
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Mar 12 17:53:37 2024 +0100

    Accept alternative awk implementations in cmake
    
    Now that we can, emulate the AC_PROG_AWK macro that we used in the
    autotools era.

commit 78fd1fc05f50dec9c5f2b86185444491568bc910
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Mar 12 17:24:57 2024 +0100

    Sanitize awk and find-debuginfo paths in macros
    
    Commit adad2be2e48ef79e0472485ae0f1a030088471a5 moved the detection of
    awk outside of makemacros() so that we could require it at build time,
    but that isn't ideal.  These are two separate use cases, really, they
    just happen to involve awk in both cases.
    
    In the first case (build time), keep using find_program(REQUIRED) as
    normal, however for makemacros(), revert back to the custom findutil()
    function.
    
    The find-debuginfo script is the same story so fix that too while at it.
    In practice, it's not likely for there to be multiple implementations of
    this script installed on the build system for this to matter, so this
    change is mostly just for the sake of consistency.
    
    Also add a short description of findutil() to make its purpose a bit
    clearer to the casual onlooker.
    
    Fixes: #2926

commit 4cb7aaa6daf020127b564ec1c5ed3ac94abb1bb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 13:43:37 2024 +0200

    Fix dependency generators sometimes dying with SIGPIPE
    
    If a dependency generator dies while we're still writing to its stdin,
    it causes us to die rather randomly. Typically happens with fake
    dependency generators that don't actually bother reading their input
    and/or write anything back. This is almost certainly the ghost failure
    we've occasionally seen in the test-suite too (#2470).
    
    Resurrect the explicit SIG_IGN that got removed apparently in commit
    375a6b5630b8e37e1d3f0c7ecbe10fe460c4d420, and restore SIG_DFL in the
    child. The matter was further confused by NSPR (which we once relied on)
    always setting SIGPIPE to SIG_IGN.
    
    Suggested-by: Michael Schroeder <mls@suse.de>
    
    Fixes: #2949

commit f4e741838966d1851ed90287ef05b446574c162d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 15:08:49 2024 +0200

    Add a path lookup example for Python bindings

commit 0644ba5755360cd6a33caa41ea09d3e25096bc72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 12 13:55:09 2024 +0200

    Really allow qualifiers like pre/post/meta for weak dependencies
    
    Commit ddbf30cf96a33319805b362b01d8a6fdfe7dea9c neglected to update the
    preamble table types for the weak dependency tags, so it never worked.
    Add a test to ensure it works and stays that way.
    
    Test depends on 078ccae5a655e044a9b867206cf4215acb3f0113
    
    Fixes: #624

commit 9cb05896f70ebc480f717d3f2f958e933b451a40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 12 14:28:13 2024 +0200

    Add the ability to pass qualifiers to our dependency tests

commit adad2be2e48ef79e0472485ae0f1a030088471a5
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Mar 11 18:05:13 2024 +0100

    Make Awk a required program in cmake
    
    We need Awk in the build process (twice) so make it required at
    configure time, and remove the now redundant findutil() call in
    makemacros().
    
    Fixes: #2926

commit 689f1d8d3ef4fcba4b4d05160cb5063b8ac11310
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Fri Mar 8 15:33:28 2024 +0100

    docs: mention systemd-standalone-sysusers
    
    Also fix some typos and add punctuation.
    
    Follow-up for 44afd5b49c5375dee1892845c2ee873425728138.

commit c0412b9d8762405a528a1f0d1732f1de4e7a4b45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 8 16:24:25 2024 +0200

    Kick out an "experimental" %_query_selector_match from 2001
    
    Something like this can't really be a macro configurable between such
    wildly differing purposes, especially when callers almost certainly
    expect the traditional default behavior anyway. I can't see anybody
    missing this.
    
    Besides nuking an apparently unnecessary feature and weird logic (how
    many levels of default do you want?), it eliminates an unwanted
    static initializer relying on a non-enum value of an enum variable.

commit e56d1c4f71ea6b569162248f867bafda94377d21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 09:31:30 2024 +0200

    Fix a minor memleak in Buildsystem: parsing

commit 3ad98187cc64a88d2d31d181d10bef5eef6274b7
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 5 13:47:02 2024 +0100

    Use basename (3) for the %basename macro

commit 9571e3d9a24ddda076be81f457e672036cd3db8b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 5 11:40:19 2024 +0100

    Use dirname (3) for %dirname
    
    This changes the behaviour of %dirname to something sane. No longer
    return the argument unchanged if there is no / found. Also handle
    several cornercases properly.
    
    Resolves: #2928

commit 8eac3304261f229d380246cc773e88fac3c22282
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 13:08:48 2024 +0200

    Remove perl dependency generators from the repo
    
    These are far better maintained by the Perl community, in a repository
    of their own:
    
            https://github.com/rpm-software-management/perl-rpm-packaging
    
    Fixes: #2873

commit 1296ea93f83e8704c0a1dc9a70ac111b48c6df61
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 16 14:02:15 2024 +0100

    Don't allow build directives in generated specs
    
    Many things need to be known before the build can be started. Make
    declaring these sections or directives an error when encountered parsing
    the generated Spec parts.
    
    Resolves: #2693

commit cbf66768b0012ab38bc538d8c469e6c947e013b0
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 19 10:59:19 2024 +0100

    Add parseStages enum
    
    As we now have three different sources of spec content we need a proper
    enum to tell them apart and get rid of the seconday bool parameter.
    
    No functional change but is needed for the next patch

commit 26a1ccf2819ab148aef3cd354e1cbdb70a9fe5b7
Author: Alexander Kanavin <alex@linutronix.de>
Date:   Fri Feb 16 13:14:25 2024 +0100

    CMakeLists.txt: eliminate floating dependencies
    
    Prior to this, the respective build options would get enabled depending
    on whether or not these components were found on the build system.
    
    I believe it's better to make them strict (add REQUIRED parameter),
    so that rpm builds are always deterministic, subject to cmake options.
    
    Resolves: https://github.com/rpm-software-management/rpm/issues/2855

commit f016ab70a4f78b22b839a78a8f8395407b720cf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 14:24:00 2024 +0200

    Add a blurb about favoring env variables over macros in build scripts

commit b49437c7fc1f7a306ea50c32db7129d91baa0ccb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 14:20:23 2024 +0200

    Oops, RPM_SPECPARTS_DIR was missing in our env variables table
    
    Should've been in commit 78d105db0a052532c0e9dffb823b43b3e311bb32

commit 961d1d0a2dc1033f78d8b929d018182538ab6db9
Author: Jan Engelhardt <jengelh@inai.de>
Date:   Sat Mar 2 03:37:04 2024 +0100

    build: reword "%changelog is missing"
    
    Despite openSUSE packages having a %changelog section at all times,
    rpm throws this error.
    
    Turns out it's just terribly worded. Fix that.

commit 6ce6c4fea6619501795cfd369794f240e8307bc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 27 13:57:52 2024 +0200

    Expose build time to package build scriptlets via $RPM_BUILD_TIME
    
    This is useful for consistently setting timestamps within build
    scriptlets, in particular when doing reproducable builds.

commit 78d105db0a052532c0e9dffb823b43b3e311bb32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 27 13:56:59 2024 +0200

    Document the rpm-specific environment variables in build scripts

commit 59ed1565b2495bbaf84917d2dc3d96a7fe0d8f64
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Fri Feb 23 19:56:31 2024 +0100

    Set git commit dates based on $SOURCE_DATE_EPOCH or $RPM_BUILD_TIME
    
    (https://github.com/rpm-software-management/rpm/pull/2933 is required
    for $RPM_BUILD_TIME.)
    
    When %autosetup -S git is used, a bunch of git commits are created. Without an
    override, their metadata will include the current time. Many projects include
    the git hash of HEAD in the build information, which means that the build result
    is not reproducible. Since we're creating a scratch repo ourselves, this hash
    doesn't have any meaning outside of the build. If $SOURCE_DATE_EPOCH is set, use
    that as the commit timestamp instead. If $SOURCE_DATE_EPOCH is _not_ set, fall
    back to $RPM_BUILD_TIME, which should always be set.
    
    For projects which somehow make use of the git commit information, this fixes
    an irreproducibility. For projects which don't care about the git hash, this
    should make no difference.
    
    Fixes https://pagure.io/fedora-reproducible-builds/project/issue/9.

commit ebece0fb63f7e68801b5c696a45a9957db5dcfa1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 28 14:04:40 2024 +0200

    Fix invalid syntax in two Lua examples
    
    Fixes: #2929

commit 1dc7e76fa51bca54f0eb75660ab6e68216289eb6
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 21 08:25:27 2024 +0100

    Add --list and --delete to rpmkeys
    
    This is a  bit of a hack as it manipulates the parsed cli parameters to
    to the "right thing" and then calls rpmcliQuery and rpmErase.

commit 660a502f944b7ed07abc0f21146d67c56f040dde
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 21 08:29:29 2024 +0100

    Don't advertise rpm -qa gpg-pubkey* in man page

commit 233ddeb188544dc76444829c36b42db3e655836f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 27 10:47:25 2024 +0200

    Drop a leftover sqlite pragma case_sensitive_like
    
    Sqlite upstream has deprecated case_sensitive_like, but we no longer
    use SQL LIKE since c9380471adfa9fb06ace251a5f02b348507db345 so we
    can just drop it.
    
    Suggested-by: Michael Schroeder <mls@suse.de>
    
    Fixes: #2925

commit 217e217d92ec660f42ad8bfe979503d3ab556a54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 27 09:21:01 2024 +0200

    Drop misleading statement about rpm2archive vs rpm2cpio
    
    rpm2archive does use somewhat more librpm functionality than rpm2cpio
    does, but both link to librpm which has to be there and functional
    for either of them to work.

commit 1825dbf8244b129665a69481c4537a57b9e03a8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 21 16:07:05 2024 +0200

    Fix a memleak on invalid command line options
    
    The OS will clean it up yes, but in the meanwhile ASAN (when enabled)
    blew up on your face and scared you silly. Use the opportunity to add a
    test for a test on invalid option.

commit 126b7ab7af60f79fe1912dec19c865f2ea74965a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 21 13:24:52 2024 +0200

    Don't install an effectively internal README
    
    This documentation is only meaningful in relation to the codebase
    and end users are not the target audience.
    
    Fixes: #2811

commit 427638631024020d9ac6434acc25d4f5a7e7b3f3
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 13 17:49:34 2024 +0100

    Ignore %config flag where not supported
    
    %config is only allowed for regular files and links. While rpmbuild won't
    produce package with other files with %config other tools might. Handle
    these cases gracefully by ignoring the %config flag.
    
    Resolves: #2890

commit b2638067fce9a32cba03f5c0198ea50a33ff6d3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 21 12:30:46 2024 +0200

    Document %missingok and %artifact in verify output and the manual
    
    Fixes: #2833
    Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2256014

commit 5bb53af74c3ad46b9b6d21984059c9be4b760ed1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 21 08:43:05 2024 +0200

    Update the po submodule to pull in the tools/ path change

commit 984448aa0aed5e9d4203f04c3cf2e8360a91b459
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 19 14:03:19 2024 +0200

    Add a new test group for package format matters
    
    Using rpmdump output for comparison lets us inspect the file format
    aspects without drowning ourselves in the details of tag contents
    in the way --xml/--json output does. It should also be useful to
    guard against accidental changes, deity knows we could've used
    this before.
    
    As rpmdump output is rather verbose, putting the output to a separate
    file to keep the .at file manageable.

commit d87544ed76d22368731aa66a19604fb1a2cc8e44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 19 10:47:41 2024 +0200

    Fix potential unaligned access to region trailer in rpmdump
    
    Compared to header.c, rpmdump is obviously taking all manner of
    shortcuts. The address sanitizer helpfully points out why the former
    has the "mysterious" memcpy() on the trailer data.

commit 9102a8f9317d1fa8bf128912154d225013fab65a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 19 10:06:46 2024 +0200

    Split our reproducability tests to further helpers to allow reuse
    
    We'll need this in the next steps for producing packages with the
    same exact set of parameters except for the produced package version.

commit 348d7c7b8df04b65ceb67c0eae10b0f17651b9a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 19 12:32:10 2024 +0200

    Generate rpmtests.at automatically to avoid redundant book-keeping
    
    We have the list of tests in cmake, we can just as well generate the
    master rpmtests.at file from there.
    
    As the order of tests now depends on the list in tests/CMakeLists.txt,
    update it to match the former order in rpmtests.at. As arbitrary as
    that order is, people seem to get attached to certain test numbers. Er.

commit 3db12291fa7621363387c4080b16dbef18609080
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 16 10:24:32 2024 +0200

    Implement --json query format
    
    The existing --xml output is extremely useful when inspecting oddities,
    but the format is such an eyesore. JSON is much saner to look at.

commit 3df1dd3a35f7e66e7342c962432b9e62459e4b67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 16 09:55:16 2024 +0200

    Refactor tag name formatting to a helper function
    
    No functional changes, we'll need this in the next commit(s).

commit cefb0a182a15b12090d1f88f9290b7cfef43114e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 17:18:14 2024 +0200

    Generalize xml header formatting to support other formats too
    
    Refactor the xml specific output parts into generic format and tag
    level header and footer function pointers. No functional changes.

commit b1c59924f7b2b881466a569de6b3c4657e3a3b46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 15:53:54 2024 +0200

    Refactor header format string append to a helper function
    
    It feels like a decade since I've last been here, git disagrees.
    How in the deity we still have these manual string length calculations
    and stuff in this day and age there ... ick.

commit c167ef8bdaecdd2e306ec896c919607ba9cceb6f
Author: Vít Ondruch <vondruch@redhat.com>
Date:   Tue Oct 24 16:42:12 2023 +0200

    Add support for spec local file attributes and generators
    
    Allow declaring file attributes from the spec via %_local_file_attrs
    macro. This allows enabling file attributes and their dependency
    generators even if they are only shipped in the package itself and are
    not yet installed.
    
    The names need to be separated by colons (:).
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>
    Resolves: #782

commit d3b7b0e3280dbc66bd39cd851af32f16fd863f1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 09:26:38 2024 +0200

    Refactor to split file attribute discovery and initialization
    
    No functional changes, will be useful for the next commit.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 5ece87a250880b08ccecfc5b34986347d8cca843
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 8 09:44:51 2024 +0200

    Let eBPF ELF files be packaged in noarch packages
    
    eBPF ELF represents a virtual machine where our file colors make no
    sense at all. Filter out the color from these files to avoid a
    "Arch dependent binaries in noarch package" error from them in noarch
    packages.
    
    We don't want to pull in clang to the check images just because of
    this, so add a pre-built binary for the check and a simple way to
    reproduce from the test-spec.
    
    Fixes: #2875

commit 41974f46f90473e395731e22fb2f89c561971e33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 14 10:41:04 2024 +0200

    Drop a dead assignment, the calculated value is never used
    
    This was erroneously added in fb13f7fd9eff012cb7b9dbf94ac5381c69404055.
    
    Fixes: #2904

commit 56dab4c5e85b8838d9e19d01f69c8426610fa907
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 14 10:47:34 2024 +0200

    Revert "Use Ninja-compatible syntax for passing TESTOPTS"
    
    Urks, seems I mistested this, it breaks our normal usages.
    
    This reverts commit 34cb5ee92276058f68f6d3fb1c345b22992c28a8.

commit 44afd5b49c5375dee1892845c2ee873425728138
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 13 11:23:24 2024 +0100

    Adjust User/Group handling Documentation
    
    We now use our own script (sysuser.sh) instead of systemd's
    systemd-sysusers.
    
    Resolves: #2857

commit 34cb5ee92276058f68f6d3fb1c345b22992c28a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 13 10:13:03 2024 +0200

    Use Ninja-compatible syntax for passing TESTOPTS
    
    Ninja doesn't support passing environment as command line arguments
    like make does, access TESTOPTS through environment instead of the
    make syntax to make it work for both generators.

commit 81e500a7e3964b4186b12544466421e22255daaf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 13 09:32:22 2024 +0200

    Drop erroneous BYPRODUCTS uses from the cmake files
    
    BYPRODUCTS is only relevant for Ninja generator which we officially
    don't even support, but on which these usages cause Ninja to error out
    with "phony target names itself as an input" messages.
    
    I don't remember why exactly I put these BYPRODUCTS in there, but I know
    it was NOT to support Ninja explicitly. Probably it seemed somehow
    relevant to this cmake newbie and since it didn't harm anything ... on
    the make generator. Taking them out makes Ninja happy except for the
    test-suite. The make generator is still the only officially supported
    one though.
    
    Reported-by: Timothy Brackett <brackett.tc@gmail.com>

commit e5d7a823c99b84d65ecbf3810b68aab372ef5d14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 12 10:55:07 2024 +0200

    Run build scriptlets with closed stdin to enforce unattended builds
    
    Even max-rpm philosophy section points out that rpm builds are
    unattended, but then we do nothing at all to prevent it? I first though
    maybe this regressed when we switched the build scripts to use rpmfcExec()
    a few years ago, but there wasn't anything before that either. Weird.

commit 5b8b8d5a7383c18309e1dd399de875904dbd3ad7
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Mar 2 14:29:23 2023 +0100

    Allow to specify a default for bcond features in a macro file
    
    If a default is set it overrides the value specified in the
    %bcond macro. Thus a default of 1 generates a bcond_without, a
    default of 0 generates bcond_with.
    
    Co-authored-by: Miro Hrončok <miro@hroncok.cz>
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 67a5f0604fc425303bdc7aad6efd61f768fe613f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 9 10:47:21 2024 +0200

    Add a small blurb about sanity checks to the pinned tests

commit 7f59c7dd2f4ff1476bec5c59f37babb1fd231e5a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jan 8 13:28:26 2024 +0100

    Pass arg2 to file trigger scripts
    
    Pass the number of instances of the target (i.e. triggering) package
    left after the operation as the second argument ($2) to file trigger
    scripts, similarly to regular triggers.
    
    Don't pass it to the %transfiletrigger* variants, though, since we can't
    easily obtain a count-corrected value when such a file trigger is fired
    by a transaction element.  This is because when runFileTriggers() is
    called in rpmtsRun(), no psm instance has been created yet and thus
    psm->scriptArg, set by rpmpsmNew(), isn't readily available to us in
    runHandleTriggersInPkg().  While possible to work around, having arg2 in
    transaction file triggers doesn't seem worth the trouble.
    
    Make arg2 correspond to the first matching package found, as opposed to
    being an aggregate count of all the matching packages, even if the
    latter would be easier as we wouldn't have to store the matched package
    name in the mfi struct and just use rpmdbGetIteratorCount(mfi->pi).  The
    reason for this is two-fold: it's consistent with how regular triggers
    work and it allows file triggers to detect an upgrade (arg2 > 1) of a
    triggering package.
    
    Fixes: #2755

commit 412f6744a3963fdf447d29db821232f20e514194
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Feb 1 17:46:14 2024 +0100

    Pass just mfi to rpmtsNextFiles()
    
    No functional change, just laying the groundwork for the next commit.

commit a7742de649e688515dc9bd9be5896f072646cc39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 9 09:50:41 2024 +0200

    Add a low-level package dump utility
    
    This started life as pkgdump.c written way back when I needed to analyze
    some low-level issues with malformed packages and the like. Since then
    it's proven necessary every once in a blue moon, so might as well
    include it in the rpm codebase where it may actually be kept up to date
    and even evolve a bit. Since this is not an end-user tool, stash it
    away in /usr/lib/rpm.

commit 33853c73cf6af5ff3108fe5c59a0a7a1614bed99
Author: Matteo Croce <teknoraver@meta.com>
Date:   Tue Jan 16 17:26:16 2024 -0500

    add build directory auto path to %autosetup
    
    Add a `-C` flag to %autosetup and %setup which ensures that the sources
    will be extracted in the root of the build directory.
    It works by inspecting the archive and stripping the first path entry
    if the archive has a top level directory alone in the root.
    
    The archive inspection and path stripping is implemented in rpmuncompress
    which now has a new `-C` flag:
    
        $ ~/rpm/usr/lib/rpm/rpmuncompress -x -v -C source-1.0.0 source-singleroot.tar.gz
        mkdir 'source-1.0.0' ;  /usr/bin/gzip -dc  'source-singleroot.tar.gz' | /usr/bin/tar -xvvof -  -C 'source-1.0.0' --strip-components=1
        -rw-r--r-- root/root        32 2024-01-16 19:13 source-xxxxxxxxxx/file1
        -rw-r--r-- root/root     33886 2024-01-16 19:13 source-xxxxxxxxxx/file2
        drwxr-xr-x root/root         0 2024-01-16 19:13 source-xxxxxxxxxx/dir1/
        -r--r--r-- root/root       210 2024-01-16 19:13 source-xxxxxxxxxx/dir1/file3
    
        $ find source-1.0.0 -ls
            92341      0 drwxr-xr-x   1 teknoraver teknoraver       28 Jan 16 19:16 source-1.0.0
            92342      4 -rw-r--r--   1 teknoraver teknoraver       32 Jan 16 19:13 source-1.0.0/file1
            92343     36 -rw-r--r--   1 teknoraver teknoraver    33886 Jan 16 19:13 source-1.0.0/file2
            92344      0 drwxr-xr-x   1 teknoraver teknoraver       10 Jan 16 19:13 source-1.0.0/dir1
            92345      4 -r--r--r--   1 teknoraver teknoraver      210 Jan 16 19:13 source-1.0.0/dir1/file3
    
        $ ~/rpm/usr/lib/rpm/rpmuncompress -x -v -C source-2.0.0 source-noroot.tar.gz
        mkdir 'source-2.0.0' ;  /usr/bin/gzip -dc  'source-noroot.tar.gz' | /usr/bin/tar -xvvof -  -C 'source-2.0.0'
        drwxr-xr-x root/root         0 2024-01-16 19:13 dir1/
        -r--r--r-- root/root       210 2024-01-16 19:13 dir1/file3
        -rw-r--r-- root/root        32 2024-01-16 19:13 file1
        -rw-r--r-- root/root     33886 2024-01-16 19:13 file2
    
        $ find source-2.0.0 -ls
            92346      0 drwxr-xr-x   1 teknoraver teknoraver       28 Jan 16 19:17 source-2.0.0
            92347      0 drwxr-xr-x   1 teknoraver teknoraver       10 Jan 16 19:13 source-2.0.0/dir1
            92348      4 -r--r--r--   1 teknoraver teknoraver      210 Jan 16 19:13 source-2.0.0/dir1/file3
            92349      4 -rw-r--r--   1 teknoraver teknoraver       32 Jan 16 19:13 source-2.0.0/file1
            92350     36 -rw-r--r--   1 teknoraver teknoraver    33886 Jan 16 19:13 source-2.0.0/file2
    
    And it's exposed to %autosetup
    
        $ rpmbuild -bp test.spec
        Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.NL55sI
        + umask 022
        + cd /home/teknoraver/rpmbuild/BUILD
        + cd /home/teknoraver/rpmbuild/BUILD
        + rm -rf netperf-2.7.1
        + /usr/lib/rpm/rpmuncompress -x -C netperf-2.7.1 /home/teknoraver/rpmbuild/SOURCES/netperf-3bc455b.tar.gz
        + STATUS=0
        + '[' 0 -ne 0 ']'
        + cd netperf-2.7.1
        + rm -rf /home/teknoraver/rpmbuild/BUILD/netperf-2.7.1-SPECPARTS
        + /usr/bin/mkdir -p /home/teknoraver/rpmbuild/BUILD/netperf-2.7.1-SPECPARTS
        + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
        + RPM_EC=0
        ++ jobs -p
        + exit 0

commit 1c8443a2a828e959dc66749a6053204950d9c106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 31 10:46:20 2024 +0200

    Fix an UB in expression code (when built without -fno-strict-overflow)
    
    Sigh. Having to fiddle with such stuff is just so, so dumb.

commit c8539869254f3bd68035ffcbcf4c0342a607b6f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 31 10:43:00 2024 +0200

    Add a build option for enabling undefined behavior sanitizer, use for CI
    
    Similar to ASAN, now that we can this is a nice and cheap way to keep
    compiler gremlins at bay.

commit ca8d1cf3f401d89ad3507aed8d7a70ad37026ca7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 14:49:47 2024 +0200

    Add a build option for enabling address sanitizer, use for CI
    
    Now that fakechroot preload is out of the way, this is suddenly far
    more feasible, but we still need to kick glibc malloc debug out of
    the way. ASAN is way more powerful so that's not a real loss.
    
    There are some special cases to deal with:
    ASAN and dlclose() are not great friends, and upstream basically
    recommends simply not using dlclose() when ASAN is in use. So do that.
    Python is such a mess that we have to disable it entirely for now.

commit 5f5fa88521791052592e12d7f671722b8cc81ac8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 15:08:34 2024 +0200

    Fix couple of leaks in rpmpgppubkeyfingerprint test prog
    
    Tracking the test-programs themselves is kinda silly but since it
    could reveal leaks from librpm side, we better pay attention.
    These could do with a goto exit-refactoring.

commit 7bf818c8344ecbf0e14a26e6393582ae79df864e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 15:04:03 2024 +0200

    Tip-toe around rpmfiFN() thin ice in fsm
    
    Any pointer gotten from rpmfiFN() is only valid until the next
    rpmfiFN() call, and here the path can end up inside plugins which
    may have their own reasons for calling rpmfiFN(). At which point
    the dest we passed would be invalid. strdup() it to appease ASAN,
    but this needs a saner solution really.

commit 04b3317e619d4efd8f86275904e1af00b40ffb6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 15:01:55 2024 +0200

    Fix a bunch of argv leaks in the Lua extension

commit 26a1323022e3153d99b2f1095fe040f52fb2e3f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 14:55:54 2024 +0200

    Fix spec parser leaks from %*trans -f <file>
    
    The untrans-versions leak because grepping around didn't turn up
    the trans-counterparts ... because they didn't exist either.
    Those leaks are adults by now.

commit f83640306564b3ac043b8046ef60bbc082345986
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 30 11:53:19 2024 +0200

    Fix build memleaks introduced in 7639512c5db244360db09af43cdd0ce4d43fa8e5

commit 4b656321d6a735d4ac5d299ea6b977d6bf3c68f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 31 10:09:07 2024 +0200

    Add a note about rpmfiFN()/rpmfiOFN() pointer validity to API docs

commit 656fe42af1d497c35769c740fcc98950e1455bad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 24 12:44:34 2024 +0200

    Fix a theoretical use of uninitialized struct members
    
    If rpmScriptFromTriggerTag() was called with tm other than the three
    handled cases in the switch, the rpmtd_s structs would be uninitialized
    and weird things could happen. The value of tm is hardwired in all the
    existing callers AFAICS but the extra safety doesn't hurt either.
    
    Discovered by static analysis in RHEL.

commit 97aa64d8281974fb369c66d5aef8650515b89c52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 24 12:03:39 2024 +0200

    Use unsigned integers for buildtime too for Y2K38 safety
    
    This little patch buys us 68 extra years to move to 64bit time tags
    in rpm. That seems achievable.
    
    Fixes: #1228

commit f401979a4c4829d68e9614860644bdb74b6dda66
Author: Takuya Wakazono <pastalian46@gmail.com>
Date:   Thu Jan 18 18:41:11 2024 +0900

    Don't use _nl_msg_cat_cntr if it's not available
    
    musl doesn't need to use libintl from GNU gettext because it has its
    own NLS implementation. Assuming _nl_msg_cat_cntr exists breaks the
    build against the musl system.

commit bc5dd416adc59a802a3c93c8adaf916210352532
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jan 19 10:41:19 2024 +0100

    Compactify the file trigger test
    
    Add the triggered package name to the output and put the arguments
    received and filename count on the same line to make the tests a bit
    easier on the eye.  This basically replicates the format of the regular
    trigger tests and will be handy when adding the second file trigger
    argument in a later commit.
    
    No functional change.

commit b9b3f35151642c502ef4b29135f069328f8e806d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jan 8 13:28:26 2024 +0100

    Pass arg1 to file trigger scripts
    
    Pass the number of instances of the source (i.e. triggered) package left
    after the operation as the first argument ($1) to file trigger scripts,
    similarly to regular triggers.
    
    The %filetrigger{in,un,postun} variants execute at the same time as
    their regular trigger counterparts so use the same logic to compute the
    argument.
    
    The %transfiletrigger{in,un} variants don't have any regular trigger
    counterparts but are close relatives of the %posttrans and %preuntrans
    scriptlets, respectively, so borrow the logic from those.
    
    Don't count packages in runImmedFileTriggers() again, though, and just
    reuse the psm->scriptArg value which is already computed in rpmpsmNew()
    and used for the normal scriptlets such as %pre.  We could/should
    probably do this in runImmedTriggers(), too, but leave that for later
    (see issue #2868).
    
    Some tests already cover the file trigger arguments so adjust those, and
    extend the "basic file triggers 2" test with the remaining scenarios to
    bring it on par with the regular trigger tests.  This is easier than
    extending "basic file trigger scripts" since we don't really need to
    test the filenames returned on stdin here, just the arguments.
    
    Also add a short note about the argument to the file trigger docs.
    
    The second argument $2 (triggering package count) will be added in a
    separate commit.
    
    Related: #2755

commit c231d865703beeba97de15f1f6fb522feba73df8
Author: Jan Palus <jpalus@fastmail.com>
Date:   Tue Dec 12 19:45:54 2023 +0100

    perl.req: make heredoc block matching more generic
    
    match any <<MARKER providing:
    
    - it is not in comment (not preceded by #)
    - it can't be string literal (not preceded by ' or ")
    - as a sanity check it must be preceded by either whitespace, comma or
      equals sign
    
    adds support for
    
       return <<"EOS";
    
       fun(arg, <<"EOS");

commit d99d625c6a2f0fd83bfcfef77610641f0e33299a
Author: Keenan Brock <keenan@thebrocks.net>
Date:   Thu Jan 18 12:08:37 2024 -0500

    Don't brp-strip ruby, python, or javascript files
    
    There are often a large number of source files.
    While the xargs will later discover that these files are simple text files,
    it makes a very large number of io calls to determine this. Since many people
    are using containerized builds, the expense of this IO ends up adding minutes
    to some build processes.

commit 593059db0fe7e63163254d3b7c25cc641dbd44cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 16 15:46:57 2024 +0200

    Simplify the cache lookup logic, no functional changes

commit c86f0888dd7572afb5b7abe673199423ff1940aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 16 15:05:34 2024 +0200

    Make user/group lookup caching minimally thread-safe
    
    Now with the caching data in a single struct from the previous commit,
    we can easily make this per-thread for a minimal fix for thread-safety.
    
    Fixes: #2826

commit 309db68b33eebae38d1247374f63c0f7f2883594
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 15 12:30:58 2024 +0200

    Centralize user/group lookup caching into a single data structure
    
    Collect all the cached data into a struct for sanity.
    It's worth noting that this also simplifies the caching, we no longer
    keep separate name to id and id to name caches (totaling four).
    We simply cache one id/name for for user and another for group data.
    Also, reset ids to 0 rather than -1, this is far more obviously a safe
    value as we have special cases to handle id 0.
    
    rpmugUname() and rpmugGname() are have no users in the current codebase,
    so this was developed wrt commit c576d96930bfaf8f4328170de4c2915e76c1f715
    where they still are used, to avoid nasty surprises later on if somebody
    finds a new case for these.

commit dec8bcc6757b095f1682fd9cfc1dbd338aabaf49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 16 14:59:08 2024 +0200

    Remember to free user/group cache on librpm shutdown (again)
    
    I think this was here previously but has gotten erreonously removed
    at some point - we do use rpmug from librpm so we need to free it too.

commit 1b32d3c87f41a5f821e066e17918adb782068b45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 19 16:25:06 2024 +0200

    First attempt at technical documentation for header regions
    
    There are all sorts of details missing still, but it's a start.
    
    Fixes: #2462
    Fixes: #1481

commit d7d624e9aa3a5eeefe2c047f8901d73ba5d76537
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 19 14:43:44 2024 +0200

    Refine the header structure documentation a bit
    
    More specification, less narrative. The original serves as a nice
    practical example though.

commit c361e0bd8b4c46dec4a757c025f3ead249967b6a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 19 13:15:04 2024 +0200

    Split the format document to v3 and v4 versions, cover v4 basics

commit c685c92f3af2e05925cede70c4e0cf1f733bac40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 19 12:06:24 2024 +0200

    Fix some inaccuracies in the format doc
    
    Refer to things by their proper names - MD5 is a hash, not a signature,
    even if it resides in the signature header. Update the tag number as
    well, 1004 is the one seen in packages in the wild.
    
    Also document the GPG tag used for DSA signatures, this was added
    later in rpm 3.x lifetime.

commit 670b30972b4274fb4c7bb2467af1deb789539327
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 19 11:43:02 2024 +0200

    Split the lead and header structure to their own documents
    
    The fundamental format of these isn't changing so they might as well
    be shared across different versions (to come). Update the main doc
    text accordingly.

commit da7c87e36af04868fd6b57a15757dc0d628ed793
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 18 11:50:47 2024 +0200

    Use markdown formatting features for package format, fix links
    
    Also clarify the version information.
    
    Co-authored-by: Daniel Alley <dalley@redhat.com>

commit 589efd6ba1fd2582a28a8c0120f0285e228c1070
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 22 09:45:48 2024 +0200

    Drop bug label from the issue template
    
    This messes with our triaging process.

commit b2e8a2bed582a9ccc70fbbf3c8586bdd712ea4d1
Author: Alexander Kanavin <alex@linutronix.de>
Date:   Tue Jan 16 13:43:36 2024 +0100

    CMakeLists.txt: restore readline support as an explicit option
    
    This was lost in autotools -> cmake transition. The particular
    reason to make it explicit is that readline is gpl version 3
    licensed, and in some builds components under that license
    need to be excluded.

commit 89caea2546a93245758d1c814bbf8bf73018ef69
Author: Jan Zerebecki <jan.suse@zerebecki.de>
Date:   Wed Jan 17 19:57:05 2024 +0100

    Fix link, declarative builds instead of autobuild

commit 6098fe1e9f735ab3a603eb429e01300ae48bf4fe
Author: Matteo Croce <teknoraver@meta.com>
Date:   Mon Jan 15 08:27:17 2024 -0500

    Don't attempt to install html pages if they're not built
    
    When building from git on a system without Doxygen, html pages are not
    built and the install fails with:
    
            Install the project...
            -- Install configuration: ""
            CMake Error at docs/cmake_install.cmake:51 (file):
              file INSTALL cannot find "/html": No such file or directory.
            Call Stack (most recent call first):
              cmake_install.cmake:47 (include)
    
    Conditionally install html docs only if we build them.

commit 2721a845d3246bce33e7e244905c8559835fe6c8
Author: Beñat Gartzia <bgartzia@redhat.com>
Date:   Thu Jan 11 13:38:39 2024 +0100

    Support rpmver-py comparison operator inheritance
    
    Although we were able to write python rpm.ver subclasses, we were not
    actually able to inherit the comparison operators of the base class:
    Trying to compare instances of the subclass would raise a
    NotImplementedError.
    
    The reason behind that was the verObject_Check macro checked that an
    instance's type was matching rpmver_Type, rather than running a wider
    check. Then, that check is applied to each of the operands of a
    comparison by the function implementing the tp_richcompare slot
    function.
    
    This patch turns the type check into a PyObject_TypeCheck call, which
    will also permit subclasses to go through. Then, it adds another test to
    cover such behavior.
    
    Signed-off-by: Beñat Gartzia <bgartzia@redhat.com>

commit 0583808692f5ae69e4f7b936ebc6ebf2486ad069
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 11 13:09:34 2024 +0200

    Our buildsystem macros are just examples, don't actually ship them
    
    Split the examples into a separate macro file only used by the
    test-suite.

commit cd06d34f139e95eccc9d4ad1647123cb52bdd165
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 11 12:35:35 2024 +0200

    Define a global %clean default, reuse for the non-buildsystem, case too
    
    We've had this special case for %clean for ages, but this actually
    offers a nice opportunity to put it into a macro that allows customization
    and is used for more than one purpose.
    
    Drop the buildroot conditional - we always have one ever since rpm 4.6.

commit f02ddfd121d91ea00a534a0e04374c478f56d437
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 7 11:08:57 2023 +0200

    Implement declarative buildsystem support
    
    Remove endless boilerplate to perform the same steps in each
    package by just declaring which kind of buildsystem the package uses
    using the new BuildSystem: spec tag.
    
    Buildsystem macros are just regular parametric macros which can be invoked
    manually from specs too, which should help with reuse and handling
    complicated cases.
    
    As such, this will only work for simple and/or "perfect" upstream projects
    of course. In reality many/most packages need further tweaking, but this
    can now be easily done with the new append/prepend modes of the build
    scriptlets, and declaratively passed options to specific sections.
    
    Add automake upstream amhello-1.0.tar.gz as an test-case of a rather
    hands-free build with added distro specific doc.
    
    Fixes: #1087

commit b4ec5715e83821b459e8563cfe0b1412dbe43886
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 20 11:41:35 2023 +0200

    Store spec section string buffers as an array
    
    Where there's more than one of a kind, sooner or later you'll want
    to manipulate them programmatically. Use an array where array is
    called for. No functional changes.
    
    Note that the parsed spec contents is not a section, so we store it
    separately.

commit 164fe9f8b181a5a49a82646f0d89d8bc57fb5d31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 20 11:23:18 2023 +0200

    Use rpmSpecGetSection() internally where appropriate
    
    An API that rpm itself doesn't use is likely to rot, as witnessed by
    d376c6e08d7ccdc81e222d78d3eee097480af6e0. Also, this limits the number
    of places directly accessing the spec, which is always a good thing.

commit f1b68c9e7672a2af8251d611f61c4ab17fcd3ea8
Author: Beñat Gartzia <bgartzia@redhat.com>
Date:   Thu Jan 11 10:18:27 2024 +0100

    Add rpmver-py inequality operator
    
    The inequality operator of the python ver objects would always return
    True if the compared objects were not the actual same python object.
    That was leading to situations as
    
        (v := rpm.ver('1.0')) != v        # False
        rpm.ver('1.0') != rpm.ver('1.0')  # True
    
    This commit aims to support the inequality operator among different
    python objects that hold the same version the (opposite) way we expect
    the equality operator to work. To do so, it adds the PY_NE case to the
    tp_richcompare slot function and adds extra checks to a related
    rpmpython test case.
    
    Signed-off-by: Beñat Gartzia <bgartzia@redhat.com>

commit d80bf405fc9f7f9d8998a05ea1d82a5042a80db5
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Dec 19 15:28:27 2023 +0100

    Create Issue templates for Bug reports and RFEs
    
    Have a bit of structure for the bug reports to tell people what
    information is expected/necessary.
    
    Point people to discussions for RFEs and have RFE tickets only be
    created after a course of action has been decided on.
    
    Resolves: #2752

commit 2300eb6e064473b148474486e2ffd2106f8bab86
Author: Matteo Croce <teknoraver@meta.com>
Date:   Fri Jan 5 21:39:03 2024 +0100

    Add missing include
    
    The build fails because of a missing include in cmake:
    
        CMake Error at CMakeLists.txt:353 (check_symbol_exists):
          Unknown CMake command "check_symbol_exists".
    
    Include the needed file to fix the issue.

commit 75965c1e712b000763df922223fa1a2db284fc03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 4 11:26:03 2024 +0200

    rpmcli.h forces a public dependency on popt includes
    
    This is mildly annoying, librpm users don't need to link to popt but
    this one include in rpmcli.h (that most API users wont even use) forces
    a public dependency on it.
    
    Another possibility could be splitting out the "cli" part of librpm
    one way or another, but that doesn't seem worth all the trouble it would
    be.

commit dbd5307bdf3ef82ec1fa49e36fb10a3b8bdc98bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 4 11:25:10 2024 +0200

    Drop unnecessary rpmcli.h include from rpmbuild.h

commit a77c1d0670e3563af3c4ce3e9dd53879d76acb9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 20 09:44:45 2023 +0200

    Fix libintl linkage and include directories (cmake transition fallout)
    
    We checked for libintl in the top-level CMakeLists.txt but then never
    used it for anything. This only ever worked on glibc where this all
    is bundled in. Unfortunately Intl only becomes an importable target
    in cmake >= 3.20 which is too new for us to rely on for now.
    
    Python bindings are omitted here because we don't have any translated
    messages in there. Whether we should is another topic.

commit 6e507ddd9cb8a6ce5c6e6604cd6e7d4b1c4bc8f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 20 09:38:09 2023 +0200

    Cosmetics: fix rpmio cmake indentation style

commit d6736bdc81f2f089edac3a7fc8dc414639780edd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 19 10:44:01 2023 +0200

    Conditionalize libdw and libelf linkage to librpmbuild
    
    I clearly remember testing the behavior wrt these and concluding that the
    cmake exported interface syntax doesn't require conditionalizing.
    Clearly it does though, so dunno what I was supposed to have tested
    back then.
    
    Suggested-by: Mark Dascher <mark@papertrail.com>

commit 513595cdf0b45ab5096e91415c0591f3d39d4d98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 19 10:29:51 2023 +0200

    Fix missing private linkage to iconv and popt in librpmbuild and sign
    
    Yet more rather obvious fallout from the cmake transition. It's strange
    these don't fail the build on Linux.
    
    Suggested-by: Mark Dascher <mark@papertrail.com>

commit 4e171567cedb247177ef25b767850057088b655c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 19 10:24:34 2023 +0200

    Fix rpm2archive build regression due to missing libgen.h include
    
    Should've been in commit 04d49fbd2f3f470669dccfba0a4f2264509a4513
    where basename() usage was introduced.
    
    And because the standard version of basename() has non-const argument,
    we run into rpm2archive using non-standard const argument to main(),
    because popt got it wrong. Move the const-cast to the popt invocation
    for consistency with the other codebase.
    
    Suggested-by: Mark Dascher <mark@papertrail.com>

commit 57f3711846f44da0f37cbc5dd66e8fba80a3bee1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 18 12:25:04 2023 +0200

    Fix unconditional dependency on non-POSIX GLOB_ONLYDIR flag
    
    This regressed when we axed our internal glob copy in commit
    66fa46c006bae0f28d93238b8f7f1c923645eee5. Luckily GLOB_ONLYDIR is only
    an optimization so we can just skip it if not available.

commit 5f74110974ff3bcdd058c13c605bfbf6d4a1e586
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 16:49:27 2023 +0200

    Fix hard dependency on strchrnul() GNU extension
    
    We missed the use of this non-standard function on review. rpmsort
    needs to be fixed to not rely on GNU extensions but in the meanwhile
    we need to check for that function and disable if not present.

commit 8758fff7f7ac6f491f8b2980b6bc2370e46a4ac4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 16:42:42 2023 +0200

    Fix hard dependency on libelf (cmake transition fallout)
    
    Conditionalize elfdeps build on libelf availability.

commit 647af128fcf04ecfdab859fea25d0b2694cfe65f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Dec 5 16:00:08 2023 +0100

    Add support for "pinned" tests
    
    Whenever we bump the RPM version in cmake, certain tests also need
    updating, e.g. those that compare package digests or RPM sonames as
    those are subject to the version number.
    
    Up until now, this had to be done manually by running the test-suite,
    looking at the failed tests' diffs and fixing up the expected outputs by
    hand.
    
    No more!  Separate those tests and add the "make pinned" cmake target to
    update them automatically.  This makes use of the new-ish atshell
    feature which runs a shell/command (*.sh scripts in tests/pinned/ in
    this case) in the standard test environment in order to get the new
    outputs.
    
    See the included README for more details.

commit bb4aaaa2e8e4bdfc02f9d98ab2982074051c4eb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 15 13:15:29 2023 +0200

    Fix regression in Lua scriptlet runaway child detection
    
    Commit a8107659ef3dd4855729bf65aa4d70f784cb5a5f moved the detection
    to parent using waitpid(), but this causes it to complain on any
    process in the same process group. In the usual rpm context we don't
    have any, but we can't very well tell API users not to have any
    children. And then failed to detect a runaway Lua child in one of
    our own tests. Uff.
    
    rpmlog() in the child has the issues mentioned in the originating
    commit, but that's a problem that needs to be solved elsewhere.
    Revert back to issuing a warning when we actually *are* in the child
    process, so there are no false positive possible. Use EXIT_FAILURE
    like in the original version, dunno why I'd changed that.
    
    Update the rpmlua test to expect the deserved warning, and use
    stdio for printing its "normal" output, the catch there is that we
    need to flush the io in the child.
    
    Reported at https://bugzilla.redhat.com/show_bug.cgi?id=2254463

commit 195b5cd3c7138495dea29c501159372e8410eb1f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Dec 13 11:58:01 2023 +0100

    Fix markdown formatting in man page

commit 6c66abd34cccbb5b3c063f8f613e0c2faffc415f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 13 11:57:50 2023 +0200

    Don't warn about missing user/group on skipped files
    
    There's no reason to complain about missing user/group for entities
    we don't create at all. It's cosmetical only, but "regressed" in the
    4.17 fsm robustness rewrite.
    
    Reported in https://issues.redhat.com/browse/RHEL-18037

commit 386ccfc52ecee4435c823c0d27af2dffcc507139
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 12:47:35 2023 +0200

    Split scriptlet failure tests to separate sub-cases for readability

commit 57dddfc82c9a7b1faf675adde15fe58604ca1576
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 12:19:02 2023 +0200

    Split trigger tests to separate sub-cases for readability

commit b9f98afe20572710a0ce23d1265cb704bf000467
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 11:49:35 2023 +0200

    Split file trigger tests to separate sub-cases for readability

commit 2ae404a4117ebb30d3fcd1e5e536b8044e91e56a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 11:34:31 2023 +0200

    Split ordering tests to separate sub-cases for readability

commit 51a134dc39e72eceaecc6324f54021e18492ea62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 10:43:12 2023 +0200

    Avoid unnecessary rebuilding in verifyscript test
    
    We can just rebuild and install once, only the external conditions
    change not the verify script. Also check for the stderr output,
    I don't remember why it was left out originally but it doesn't seem
    too bad now.

commit 22682b8c749996eb14696822700d003561b3727b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 4 13:34:07 2023 +0200

    Split relocate install test to sub-cases for readability

commit dcf8c5abc64eb0fe3c81482008b8a13bec19eb20
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 11 15:50:15 2023 +0100

    Print full path if file removal fails
    
    For normal debug output the basename of the files are sufficient as when
    debugging is enabled the directories are also printed. But here the
    warning is given without a debug flag so we need the full context right
    there.

commit f4ad03dc2a62de1f182fc4c7841784a35bc6ae22
Author: Frank Dana <ferdnyc@gmail.com>
Date:   Tue Oct 31 11:31:39 2023 -0400

    docs/macros.md: Fix expansion shorthand

commit fff2111af9db7a50068697387a44a1b253995ed9
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Nov 28 12:21:24 2023 +0100

    Strip quote characters in macro expansion if we do not split the result
    
    A problem with the old handling of %quote was that it leaked to
    the outside. This commit strips the quote characters if they are
    not used in argument splitting.
    
    We also keep track of the quotes when defining macros so that
    we stay compatible to the old implementation.

commit ad1b3d13c62c8ca1e61a34a6ade9426a81429c7e
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Nov 28 11:31:32 2023 +0100

    Make shescape escape all arguments and not just the first one
    
    This makes the %shescape macro work use all arguments like we
    already do in the %quote macro.
    
    I.e.:
        %{shescpae:hello world} -> 'hello world'
        %{shescpae hello world} -> 'hello' 'world'

commit 014b09de6fd0e4a295b0e751f2ef30eaa7c1aa04
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Dec 7 17:21:04 2023 +0100

    Refactor cmake config for man pages
    
    No functional changes, just reduces verbosity a bit.

commit ddc0ad85a58a9f678cfd26fa7c6246ff314ff2ff
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Dec 7 17:19:35 2023 +0100

    Build all manuals regardless of enabled features
    
    Commit 1870f4df16d9f20e5a5341ea000c5b8aa19a2d21 stopped the installation
    of man pages for disabled features.  We were still building them all,
    though, so they appeared in dist tarballs as they should have.
    
    This was lost in the cmake translation where the opposite problem was
    introduced: only man pages for enabled features are now built, meaning
    that when preparing a tarball, you need to make sure all the features
    are enabled in your build in order to have all the man pages pre-built
    and bundled.
    
    Fix this "regression" by building all man pages unconditionally again
    while only installing those that are enabled.

commit 017b5a4141e1143fc43acf276bdc6bfb6c1eb91a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Dec 5 11:03:47 2023 +0100

    Don't include git refs in ChangeLog
    
    Right now, we "leak" any local branch or tag names into the ChangeLog
    which is unnecessary (e.g. "experiment-foo-123") and also just pollutes
    the diff when comparing ChangeLogs between releases.  Only show the
    plain log.
    
    Fixes: #2647

commit 2e9b02c646e3652755298ae1ac4d95dfe5ce6fbe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 30 13:46:48 2023 +0200

    Make rpmug*() properly internal to librpm now that we can

commit a0553eb38a01772254cd48fef7ad116294cf801a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 30 13:33:46 2023 +0200

    Never use current user info or file ownership during build
    
    There's no situation where rpmbuild should use uid/gid from either
    the filesystem or current user. The former made sense in the
    pre-historic times before Buildroot was a thing, but in the last 20+
    years that's always the wrong thing to do. Always. The only user/group
    info rpm can legitimately use is the one that is explicitly specified in
    the packaging, and otherwise fallback to root/equivalent.
    
    Besides fixing a long-standing annoyance with src.rpm file ownership,
    this also fixes a regression in 4.19.0 where a non-local or otherwise
    unresolvable user info could cause a segfault during rpmbuild (RhBug:2248763).
    
    Fixes: #2604

commit c576d96930bfaf8f4328170de4c2915e76c1f715
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 14:26:50 2023 +0200

    Bumb CI to Fedora 39
    
    No particular reason this time, but nice to be on the same page with
    the system rpm.

commit 15bd653a5be4fdb60269c2a712c0049bddccd600
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 13:41:17 2023 +0200

    Optimize Doxygen output for C
    
    This simply uses terminology better suited for C, such as "data
    structures" instead of "classes" and so on.

commit 5d7a192c9279ac24e57d443e417a8fb7ecffc012
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 13:30:14 2023 +0200

    Honor ENABLE_WERROR on Doxygen too

commit c47ee2435fa673c32103c7e3dda380de1641d3ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 13:26:17 2023 +0200

    Silence not-documented warnings from Doxygen
    
    These litter our build logs with redundant noise from undocumented
    macros and typedefs that aren't really worth the trouble to document.
    Sadly Doxygen doesn't have fine-grained controls for emitted warnings.

commit 5e88a0db612c4113cf6f65bfc455c5fa8c1274bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 13:21:38 2023 +0200

    Hide FDIO_t type definition
    
    Nothing in the API exposes this so we can safely remove, it's just
    a leftover from one of the past cleanup rounds.

commit 24d8f2ce7b81c7b9a48fb165b16045756027f55b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 12:39:30 2023 +0200

    Hide rpmfc internal typedefs from the API
    
    rpmfcTokens isn't exposed in any of the APIs so we can safely just
    remove it, nothing can possibly be using it. FCOLOR_t was always
    unused by even rpm, and nobody external would have any reason to
    do so either, just drop.

commit 06ea60361f12251664187b0d1dd80848ba92d352
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 13:19:48 2023 +0200

    Fix a bunch of undocumented-warnings from Doxygen
    
    No functional changes, just docs.

commit 3ffa334a990c0a431ea33ded839b8dd82a93a786
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 11:23:40 2023 +0200

    Drop autoconf-era leftover Doxygen config

commit 40cb6baeea5196e5398ad57923a10eddfedf178f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 1 11:40:08 2023 +0200

    Don't build internal OpenPGP parser when not using it
    
    This regressed in d2be4773b5e6c6358ef2f4c49b7cc727b5edf1eb which tried
    to shove the whole thing into the subdirectory for sawing off, but
    it doesn't quite work like that - you can't quite depend on an option
    that gets defined only if the option is defined...

commit bccf58f0d414a90fe2aca736255f126ad2bf45b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 29 13:18:33 2023 +0200

    Clarify pgpParsePkts() and pgpReadPkts() API docs
    
    Both process exactly one ASCII-armored block, this wasn't clear in
    the docs.
    
    Fixes: #2387

commit 1cd9f9077a2829c363a198e5af56c8a56c6bc346
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 16 14:22:15 2023 +0200

    Fix integer overflow in memory calculations on 32bit systems
    
    "long int" on at least x86 Linux is exactly the same as a plain "int",
    so calculations can easily overflow. 32bit systems are not expected to
    have hundreds of gigabytes of memory but a 32bit process on a x86_64 can
    run into all sorts of funny things, such having 500GB system memory. At
    which point the type capable of addressing all of process memory is
    absolutely useless for calculating the total memory.
    
    Use uint64_t in the memory calculations to make the size explicit. Of course
    one day we may cross that border too, but I hope to be retired by then.
    
    Fixes https://issues.redhat.com/browse/RHEL-16557

commit d0e03b21cabfcd090e70620f3e19227e6519f1c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 27 14:32:42 2023 +0200

    Avoid compiler complaints from Transmeta Crusoe detection on x86 builds
    
    Multi-character character constants are implementation defined, and
    while it MAY be reliable enough on i386 gcc, even that produces a
    warning. I don't have a test-Robinson here so rather than risk a
    conversion to string comparison like the other is_arch() tests are,
    just write out the integer and leave the character constant as a
    reference comment.

commit 54a79a19c4ff82a0874588ebe24fce21462f7926
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 27 13:42:30 2023 +0200

    Fix a bunch of integer size mismatch warnings on 32bit builds

commit c140768202e271b60910644c1e4bf848a50218d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 27 11:52:34 2023 +0200

    Emit full paths for file disposition diagnostics on --fsmdebug
    
    The full path is visible in the actual file operations later, but the
    pre-flight disposition diagnostics is unreadable without the full path.
    This regressed in the switch to relative paths for the *at() API family
    for the symlink CVE fixes.

commit c359a5cd354ae963175091c8e6ed2bde918771a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 20 10:43:16 2023 +0200

    Add support for retrieving %generate_buildrequires section from the spec
    
    Should've been in commit 58dcfddc376a7c97de1432f0082be0d5f01adbcd

commit 949f2819749ddb8854162bf544d83a1a1402291c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Nov 17 12:16:48 2023 +0100

    Extend test README
    
    Fixes: #2611

commit 9d8ad5811957f76fc11e0c5597fa98956e5830ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 21 11:44:58 2023 +0200

    Drop parsePrep() entirely
    
    The only special thing about %prep is the existence of %setup and %patch
    macros. We can just as well define and undefine them from the main
    parse loop and avoid this extra parse function entirely.
    
    No functional changes.

commit 48610c051cc45aaf6fa960410c03f53e3964e75d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 25 13:28:28 2023 +0300

    Refactor the processing logic out of parseGeneratedSpecs() for reuse
    
    Having a spec part reader function that emits the path being processed
    will be handy for more purposes than dynamic spec generation.
    No functional changes.

commit c110ad11c33aeb0fe9ef1d494d689b59e47e855e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 16 11:19:14 2023 +0200

    Fix segfault on %{?getncpus}, regression in 4.19.x
    
    Commit deaebd0c89a6d453bb971fd8f5a3b858e7a95733 assumed there would
    always be args, but in the macro existence test none are set up.
    
    Reported as a side-issue in https://issues.redhat.com/browse/RHEL-16557

commit 01fb42d42ca710bf24e3af841d43b4e3d60b3aef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 15 14:44:42 2023 +0200

    Document pgpPrtParamsSubkeys() returning only signing-capable keys
    
    Since commit a9cca032a2b7c0c6bcacc6ab4ecd25c95cc75305 we've only
    returned signing capable subkeys, but this has seemed like an
    implementation detail. Make it explicit.
    
    Fixes: #2515

commit 6714ec7068a0343dcb4aaaeb4fe49940c129292f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 15 09:24:28 2023 +0200

    Fix %{getncpus proc/thread} potentially returning zero
    
    Add the missing sanity check/fixup for memory starved systems where
    we end up returning zero cpus. Should've been in commit
    deaebd0c89a6d453bb971fd8f5a3b858e7a95733 originally.
    
    Reported in https://issues.redhat.com/browse/RHEL-16557

commit 0091214d2f2b489f4d38464c8d217cd7f5aba50a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 14 11:59:18 2023 +0200

    Add a test-case for invalid intermediate symlink owner (CVE-2021-35939)
    
    This should've been in commit 96ec957e281220f8e137a2d5eb23b83a6377d556
    but back then we didn't have a good way to test ownership matters.

commit 89ce4e7ca592f5abafc3f25aeaa07d36a7b43a61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 14 11:37:48 2023 +0200

    Fix wrong return code on O_DIRECTORY open of invalid symlink
    
    The dir argument to fsmOpenpath() is supposed to be a rough O_DIRECTORY
    equivalent, and if the path is actually a misowned symlink it should
    return ENOTDIR instead of ELOOP. Makes the resulting error messages
    at least a little more comprehensible.

commit 2c20f9677eff989817148d236543191dec0d8059
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 14 09:07:28 2023 +0200

    Allow version to be omitted in the replace test spec

commit 833cd91bed2d1bfa0146ac6f14be0d2b1ef3a426
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 15:27:43 2023 +0200

    Replace rpm2cpio by rpm2archive entirely
    
    Now that rpm2archive knows how to impersonate rpm2cpio when called by
    that name, we can just drop the latter entirely. The one notable
    behavior change is src.rpm contents now getting ./ prepended to the
    paths. We could fixup for that too, but there's doesn't seem to be
    any reason to bother.
    
    It's crucial that we start steering people away from rpm2cpio because it
    wont be able to deal with v6 content. cpio is obsolete even in POSIX now.

commit 3151a187402767ab87ec91d34bb7337dee89af92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 15:24:37 2023 +0200

    Refactor / cleanup rpm2archive entry fillup a bit
    
    Do all the entry fillup in the function intended for that,
    no functional changes intended. Drop the unnecessary nlink check
    from the unpacking: if there's content, it should unpacked.

commit f6b47609a963a6cf2d3181a0bb90437c330d401f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 15:18:55 2023 +0200

    Document rpm2cpio as obsolete, add pointer to rpm2archive.

commit 04d49fbd2f3f470669dccfba0a4f2264509a4513
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 10:30:46 2023 +0200

    Add cpio format support to rpm2archive
    
    cpio is a legacy format but content in that format will remain with us
    for a very, very, very long time still. Better support the format here
    than have to support a separate tool just for the purpose.
    
    The "new ascii cpio" format can't host files larger than 4GB, but
    most rpm content fits and will continue to do so in that range easily,
    so instead of just outlawing the good 'ole format, just skip over
    anything we can't handle and emit a warning.
    
    Additionally, if invoked as "rpm2cpio", behave like it: no compression,
    cpio format.

commit b86f6ad4f0c557f64ffbb53dbb90e4f2d9f85a7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 13:45:14 2023 +0200

    Fix uid, gid and nlinks not getting populated by rpm2archive
    
    Take advantage of rpmfiStat() and archive_entry_copy_stat() which
    handle most of the dirty work here. Hardlink sizes are special because
    in archives, the file size is 0 except for the one with the content,
    but otherwise of course hardlinked files have sizes as usual.

commit fa1fbe95ed12ea7dd916cc277ac2cb227d7f9621
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 10:46:48 2023 +0200

    At least try to handle write errors in rpm2archive

commit 80d5fc3c9ece8861bb63001e1b76b2fa8b01afd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 13:34:06 2023 +0200

    Fix some invalid rpm2cpio invocations in the test-suite
    
    runroot is the wrong thing to use with rpm2cpio which doesn't understand
    things like --define. This has only worked because rpm2cpio is dumb
    enough not to look at its arguments at all.

commit 243deae923065160e6aba6dbbe825de73ae74276
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 09:57:02 2023 +0200

    Use the expected rpm2cpio-like syntax for rpm2archive tests

commit d49e26498e9861e54971a98b2442aaeeb7bfff61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 09:53:30 2023 +0200

    Split the two rpm2archive tests to separate test-cases
    
    No actual change, just allows more comprehensive testing, easier to
    read and add more.

commit 7d3d9041af2d75c4709cf7a721daf5d1787cce14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 10:38:54 2023 +0200

    Fix sbit removal if fchmodat() doesn't support AT_SYMLINK_NOFOLLOW
    
    glibc versions prior to 2020 know about AT_SYMLINK_NOFOLLOW but don't
    actually implement it for fchmodat() and returns ENOSYS when used.
    We don't check the return code in removeSBITS() so this silently fails
    on those older versions.
    
    We already verify the thing is not a link in the fstatat() condition
    because cap_set_fileat() doesn't have any "dont follow" mode at all,
    so we can just as well drop it from the fchmodat() and make this
    work on more libc versions.
    
    Add a test for the suid bit removal while at it.

commit e3ab8a9871da5acdadd13d8f62709f4b0259ba1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 16:08:53 2023 +0200

    Split the dependency generation test into individual checks
    
    No actual changes, just makes it much easier to read + work with.

commit 4d219ed463984d69c532413584a4bd7b5e76e8d9
Author: Dirk Müller <dirk@dmllr.de>
Date:   Thu Nov 9 13:34:15 2023 +0100

    Switch brp-compress to bash
    
    commit f3f763e54d introduced the use of 'read -d' which is
    bash specific.
    
    Signed-off-by: Dirk Müller <dirk@dmllr.de>

commit f851bce1ef69c047a869a3a83b1063a037bcd289
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Nov 7 16:40:36 2023 +0100

    Adapt Dockerfile.fedora to F39
    
    The fedora-repos-modular package is gone from F39.  This commit makes
    the Dockerfile work on a F39 host with the mktree.oci backend since we
    override the release with "podman build --from fedora:39 ..." there.

commit bb1eeb49132e2be3582f1e949a20ea5f6c8104cf
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Nov 8 17:28:09 2023 +0100

    Allow SOURCE_DATE_EPOCH=0 again
    
    Commit 11132fc21fb01ed63c621d852bc081a914d4f021 assumed that the value
    of 0 is never used in practice and thus used it to indicate "disabled",
    however that assumption has turned out to be wrong because ostree uses
    precisely that value as mtime in inodes, which in turn breaks existing
    workflows in this space (see the associated ticket).
    
    Fix this by reverting the above commit (except leaving source_date_epoch
    initialized to 0, to prevent GCC warnings as mentioned in that commit).
    
    As to why not just initialize source_date_epoch to -1: time_t happens to
    be a signed integer on most platforms but POSIX doesn't specify its
    signed-ness.
    
    Add some accompanying tests too.
    
    Fixes: #2679

commit 7a65f68d9cdeb5228111d56244b6900029c44581
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Nov 2 13:52:05 2023 +0100

    Set %_sharedstatedir to %{_var}/lib
    
    Configure traditionally sets it to %{_prefix}/com which RPM has followed
    so far. But this directory is not used anywhere and everybody changes
    the location to /var/lib. This also changes the default for the %configure
    macro. This is safe as everyone that cares about the the sharedstatedir
    had to set it manually anyway.
    
    Resolves: #2092

commit 17f72c4e7f872a70809128160cf1e74be9c4500c
Author: Takuya Wakazono <pastalian46@gmail.com>
Date:   Wed Nov 8 01:56:56 2023 +0900

    Fix a macro in the comment
    
    Nothing defines RPMHOME, replace it with RPM_CONFIGDIR.

commit 5d5dc60769655b51664955b27ac8a31988b418dc
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 16 19:02:56 2023 +0100

    Move OpenSSL code to newer API from version 3.0
    
    Avoid the now deprecated RSA and DSA data types and use the generic EVP_PKEY
    
    Resolves: #2294

commit f9ae0a4da82ee3c92b2740a2c22bbe28a47391bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 7 09:46:46 2023 +0200

    Refactor %__file_lineno management into an auxiliary macro
    
    Now that we can, just define __file_lineno as an auxiliary macro that
    only does any work in the rare case where an error or warning occurred.
    This saves an enormous amount of huffing and puffing defining and
    undefining macros that are not used at all in the normal paths, on
    every rpm startup and spec parse.
    
    Technically we could use a common macro function for both but as they're
    in separate libraries, this doesn't seem worth the few lines of saving.

commit a8ec768950f0adb9fb0c264596350fc929437ac8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 12:15:58 2023 +0200

    Fix comment line handling in sysusers.d(8) files
    
    sysusers.d(8) format permits empty lines and commits, and so must we.
    Add some extra fluff to the test-case for this.
    
    This is the second half of
    https://bugzilla.redhat.com/show_bug.cgi?id=2246236
    
    Fixes: #2741

commit 43cf645fc1fab93b5424cfc22cb520eb486fdbee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 11:53:11 2023 +0200

    Handle unsupported 'r' and 'm' sysusers types more gracefully
    
    People will want to use existing sysusers.d files through rpm and while
    we don't support 'r' and 'm' at this time, we shouldn't really call
    them "invalid" and error out. Issue a warning instead, and ignore.
    
    This is the first half of
    https://bugzilla.redhat.com/show_bug.cgi?id=2246236

commit d141c874b3281a806bc027d0cf6cf22afd759f7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 11:51:11 2023 +0200

    Fix an apparent thinko/typo in the sysusers test spec
    
    I'm quite sure I didn't really intend to test duplicate files behavior
    here...

commit 22e177f428a2afec2db8adad032c17e954ce0a59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 11:34:54 2023 +0200

    Use macro error reporting for %add_sysuser errors
    
    Lua has error() but no warning() (obviously) which we'll want in the next
    step, so for consistency lets just use macro.error() instead.

commit 173b737f40e7da85f79544e3f4ea4ad7b8f7d5c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 6 15:58:54 2023 +0200

    Expose and document rpmdb --verifydb operation
    
    After years of BDB, sometimes folks just want some assurance that their db
    is still fine. Properly exposing an operation to do so hopefully makes
    less likely to poke at the db directly (with eg sqlite3 command).

commit e85a8a63692a37db7df7384310749cbfa796183a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 6 15:58:07 2023 +0200

    Document rpmdb --exportdb and --importdb switches + minor other tweaks

commit f8b4c99bd874c56cef73ab1ca204e225eebae8a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 6 12:35:56 2023 +0200

    Properly document our different macro types and their scopes

commit 302793af0b80defd77c750bdcf1a8721d75353e1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Oct 31 16:37:44 2023 +0100

    Exit from mktree on failure
    
    Right now, if the podman image fails to build or rpm fails to
    build/install, we happily continue and run the test-suite, only to
    eventually fail with some cryptic error, such as:
    
        error: cannot find rpm
    
    Not too helpful, indeed.  Instead, just fail the whole tree preparation
    process if we encounter an error.
    
    Fix the return code of unshared() so that we don't fail on that, though.
    Also, when building the RPM layer, use a proper cleanup trap instead of
    ignoring SIGINT since a failing make_install() can now terminate the
    script.
    
    Fixes: #2667

commit 05c3b37d1f8f91c3face5eeafe8d4c76fbdda495
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 11:00:07 2023 +0200

    Rename mktree.podman to mktree.oci
    
    This name is a better fit as it puts more emphasis on the format of the
    resulting tree, not as much on the actual container engine used (which
    can be swapped, and currently is in the CI where we use docker instead
    of podman).
    
    Also drop the awkward .docker symlink now and instead pass the container
    engine through the MKTREE_ENGINE environment variable.

commit 15897bca7fe2305434fbef3928152019c5e0ce9a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 13:55:20 2023 +0200

    Remove sudo from GH workflow
    
    Turns out the docker command in CI is set up such that it doesn't need
    an explicit sudo, so remove it.  This will also allow us to easily pass
    environment variables to mktree in the next commit (as otherwise we'd
    have to use the ugly -E, --preserve-env option).
    
    No functional change.

commit 47067768a3d972b80613e4983e840eb36d171fe9
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 16:05:01 2023 +0200

    Remove function keywords from atlocal
    
    These are bashism, not really needed.

commit c7ed626fbf0f88f12556374bcecf0047e648db7c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 10:48:31 2023 +0200

    Move snapshot() back to atlocal
    
    Commit 09e472040ad8bd87d50dac63aa6f72a359ade47e moved the snapshot
    function to mktree.common so that we could later use it in non-cmake
    mode (outside of the build directory) too, to containerize rpmtests
    itself.  In the end, however, we've decided to just use Podman/Docker
    for the outer container as it simplifies things.
    
    Therefore, the snapshot function is no longer needed outside of the
    test-suite, it's an internal implementation detail at this point which
    doesn't have anything to do with mktree, so move it back to atlocal
    where it really belongs.
    
    As a bonus, the rpmtests wrapper can now be simplified a bit more, too.
    
    No functional change.

commit 93eef6d3a27f5de4977b1f14e8bf1c101bca76a2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 12 16:05:16 2023 +0200

    Standardize on OCI images in test-suite
    
    Instead of manually bootstrapping our own base "image" using a host
    specific script, just use the official, prebuilt OCI images with
    Podman/Docker.  This has several advantages:
    
    - Standard, ubiquitous OCI images (easy support for other distros)
    - No manual setup of DNF, RPM macros, user namespaces and whatnot
    - Single recipe (Dockerfile) for both the local and CI purposes
    - Outsourced image caching (Podman/Docker storage)
    - Faster (just downloads the prebuilt image)
    - Less dependencies on the host
    
    Now that we've prepared mktree.podman for local use, just switch to it
    in cmake and drop the Fedora backend.  Update the docs and comments
    accordingly, too, those should explain the details.
    
    Fixes: #2643

commit 1a7956e008479ad3a3bb58297d920b0ba6f09b44
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 19 15:53:32 2023 +0200

    Add native mode to mktree.podman
    
    Instead of building RPM from scratch as part of the image, allow for
    reusing the existing build artifacts on the host to produce the final
    image.
    
    This ensures we test the actual local build, not just the sources, and
    speeds up the whole process, allowing it to be used for local
    development as well.
    
    No immediate effect, we'll hook this up to cmake in the next commit.

commit ec5ec7923198a481c7798cfe7dc3b521d6376b9c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 19 16:32:05 2023 +0200

    Add Dockerfile.fedora
    
    Rename the existing Dockerfile and add a symlink for the original
    filename.  This will allow for supporting other, non-Fedora, Linux
    distros in the future and is a prerequisite for the next commits.

commit fe0c09f16f8f6df3ab370d75bab29f3f6b44ebd6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 19 15:02:51 2023 +0200

    Only rebuild the RPM test layer
    
    Right now, we build and tag a new image on each mktree.podman run.  This
    causes an unnecessary buildup of images over time that needs to be
    manually cleaned with podman-image-prune(1).  Instead, tag the base
    layer and then only rebuild the RPM layer.

commit 5fd2e028b0672ee37c54eaf8141bbc418bf69c30
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 17:18:43 2023 +0200

    Bind mount $PWD at /srv in test container
    
    This is another step towards the unified OCI backend, no functional
    change yet.

commit b1eed579f0d71fbcd5f71f2cc8e47b4b5db52660
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 27 17:18:32 2023 +0200

    Use --log only if running from source dir
    
    Log mode is mostly useful in the CI environment so don't enable it by
    default.  This is another step towards the unified OCI backend.
    
    No functional change.

commit f59100b3e7ec3784d0a0c28c475065789d1762d9
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 19 15:02:38 2023 +0200

    Use the new --shell command in mktree.podman

commit 0dc534891cea3905ba1c3a2100843e61df416bb1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 23 21:56:28 2023 +0200

    Add --shell command to rpmtests wrapper
    
    This invokes an interactive shell in a dummy test where all the usual
    test commands work, and is meant as a replacement for what mktree.fedora
    currently does for its shell/atshell commands.  This feature basically
    emulates a single test so it really belongs to the rpmtests wrapper, not
    mktree.
    
    For consistency, also do the permission fixup for rpmtests.dir (just
    like in mktree.fedora), this will be needed once we drop mktree.fedora.

commit 9ae317a81b223ec8e2c097f4cf637fdd0ea34e63
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 26 17:31:06 2023 +0200

    Refactor rpmtests wrapper
    
    Don't symlink rpmtests itself, we can run it directly from the
    installation directory in the test tree.  This eliminates some extra
    cd-ing.
    
    No functional change.

commit 61000db0bcce33c7c137c927a22f6ab9d926bee1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 31 13:41:25 2023 +0200

    Add a blurb about portability expecations to contributing guidelines

commit 6e93ab1eb6f5d3cdddd51aaa2c3c93c55f281640
Author: MridulSharma03 <149292435+MridulSharma03@users.noreply.github.com>
Date:   Tue Oct 31 13:22:08 2023 +0530

    Fix typos

commit 283935b9206ce09de8f0ddef707cfa5e346bb06c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 20 10:44:36 2023 +0300

    Implement prepend and append modes for all build scriptlets
    
    Allows %prep, %conf, %build, %install, %check, %clean and %generate_depends
    to be augmented arbitrary number of times by appending or prepending to
    them. The main use-case is to support automatic population of these
    sections (declarative builds) while still allowing packagers to easily
    tweak them, but could also be useful for complicated conditional specs
    and such.
    
    Related: #1087

commit 064ba642f6abbf873476d7733da95043fdb38374
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 23 12:15:46 2023 +0300

    Drop now unnecessary spec parse hack, no functional changes

commit 7639512c5db244360db09af43cdd0ce4d43fa8e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 23 12:05:24 2023 +0300

    Convert %prep into a regular build scriptlet
    
    Now that we can, implement %setup and %patch as auxiliary macros that are
    defined only during %prep parsing. And voila, %prep is no longer special
    at all. Not much anyhow.
    
    Notably rpmspec --parse now emits %build where it belongs.
    The error message on %patchN is now very much an ugly hack, but at least
    it's something we can drop one sunny day.
    
    Fixes: #2205

commit afd352481bacea521ce5ba01e989866478278532
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 23 10:46:56 2023 +0300

    Turn legacy %patchN syntax into a hard error
    
    This stupid syntax is the thing preventing %prep from becoming a normal
    script, and that in turn blocks so many things now that this has got to
    go.
    
    Considering how widely used this syntax is, this is a disruptive
    and abrupt change - we only started warning on %patchN in 4.18. So lets
    at least print out a legible error message with suggestions how to fix
    for now, even if it requires specifically checking for the obsolete
    syntax.

commit e9c997f637af1ae022af988db2c3773feceaf814
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 20 15:32:40 2023 +0300

    Add support for defining auxiliary macro functions
    
    Add rpmPushMacroAux() function which allows registering auxiliary macros
    implemented in C and some required helper facilities: export the types,
    rpmMacroBufAppend*() and rpmMacroBufErr() functions, and finally
    add rpmMacroEntryPriv() to let macro retrieve their private data.
    And that's all folks.

commit 336c07c2e91f34ad77939e12d180826ce4574b26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 20 15:11:47 2023 +0300

    Rename mbErr() and mbAppend*() to rpmMacroBuf*() for exporting
    
    Just preparing to export in the next steps. No functional changes.

commit 0758d03f7f3db221f5b63fb4d1f86f90b1bc6417
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 20 15:05:07 2023 +0300

    Rename MacroBuf to rpmMacroBuf for exporting
    
    This is just in preparation for exposing the handle in some APIs.
    No functional changes.

commit b3449a0774487a091bbe59e821b4004b06d4fa66
Author: Daniel Alley <dalley@redhat.com>
Date:   Wed Oct 25 09:16:35 2023 -0400

    Remove lead checks other than the "magic number" check
    
    Remove checks on the lead's "signature type" and "rpm package format
    version" fields. The lead is a long, long obsolete structure and the
    less we look at it the better, these checks accomplish exactly nothing
    at all.
    
    Fixes: #2423

commit c97fd9359c2582d350315b5e17697649ee7055f3
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Oct 24 14:06:50 2023 +0200

    Use uniform formatting for SEE ALSO sections
    
    While there is no generally agreed standard for formatting SEE ALSO
    section of man pages we should at least use only one style. Comma separated
    lists are commonly used when referring to other man pages. Both *italic* and
    **bold** are used but the later seems to be more popular - so let's
    stick to that.
    
    Thanks to Frank Dana <https://github.com/ferdnyc> for pointing this out.
    
    Resolves: #2731

commit bbadc2bb6445e4608251d3b375120a02a8693286
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Oct 20 19:07:32 2023 +0200

    Add %_iconsdir macro
    
    Offer a generic way to place icons in the proper system dir
    
    Resolves: #2196

commit 3b070507abf1ce0b399d45268015fb76a829be9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 19 10:32:52 2023 +0300

    Document the argv[1] (vs 0) in rpmlua manual
    
    Fixes: #2095

commit 12b073b56ca5f849ae33e75ae99d3f4688392b70
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Oct 17 12:41:11 2023 +0200

    Fix regression of mktree not always rebuilding
    
    Commit d4e808ebda3ec1d85fcdb176eae31901b74c6e91 added cmake caching for
    mktree so that we don't rebuild the tree on each "make check"
    invocation.  However, this means we can now easily miss some test
    dependencies being updated since we don't depend on everything, e.g. the
    data/ dir.
    
    To fix this, instead of adding each and every file and directory as a
    dependency of the mktree.output command, just rebuild the tree every
    time.  The base image (made with DNF) is already cached anyway, and the
    added overhead is tiny and outweighs the (potential) engineering hours
    lost due to this.
    
    The funny thing is, this was already fixed once in 2019:
    fc05045008d84429bf51154642e18fda70d3f256
    
    Sometimes you've just gotta fix stuff twice before it sticks!
    
    Fixes: #2725

commit fa818208abdc68d1bc77c44cc1b5c5a17ea8ffd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 14:54:53 2023 +0300

    Eliminate remaining pgpValStr() uses in the codebase
    
    These are just rpmpgp.c internal uses but this makes it clearer these
    calls in pgpIdentItem() aren't doing anything special with the pgp value
    tables, it's just the same dumb algorithm name lookups as the three other
    usages in the codebase.
    
    No functional changes.

commit 4a6114f7bbb7985df9b95a560d6a7466a5fb5c0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 14:44:59 2023 +0300

    Simplify pgpIdentItem() a bit
    
    We really don't need a big tag table to look up between these two strings.

commit 5a7c6eff19820cd9137007e61bbd3f0dbbcbadcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 14:03:56 2023 +0300

    Public rpmpgp.h header mass cleanup
    
    The RFC's are online accessible to everybody, no reason to carry
    a copy of an outdated draft in rpm.
    
    Remove unused structs, and move used ones into the internal parser.
    Nothing else needs this stuff, never has.
    
    No functional changes.

commit 4baecea437645aa327285a6ae41a10f26b4ad97b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 11:26:56 2023 +0300

    Drop unneeded rpmio_internal.h includes in rpmpgp_legacy

commit 1bce1a1c2aa4b927c7d42aac5b4f1df10c2c6475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 11:04:29 2023 +0300

    Bury pgpValStr() inside rpmpgp.c now that we can

commit ae2f4e78349abb16d7b313fbf595e7748cf64309
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 10:36:24 2023 +0300

    Refactor internal PGP parser pgpValStr() uses to use the public API

commit d2be4773b5e6c6358ef2f4c49b7cc727b5edf1eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 6 11:07:00 2023 +0300

    Move internal OpenPGP parser into a subdirectory
    
    This will let us split it out of the main rpm repository with minimal
    effects to the outside. Make sure the name implies its status too.
    
    Ie, first we declared it's trash, and now we're swiping it under the carpet.

commit d13cea30ce4d6a05e1627819f275fc11da67fd82
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 11 17:00:17 2023 +0200

    Add more dynamic spec test cases
    
    This tests wrong/unknown tags and a doublicated Summary tag

commit 5d288554719095d1c67fd87cad65224743152d06
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Sep 29 11:31:31 2023 +0200

    Add test case for dynamic spec
    
    setting properties of the main package

commit f86998cd10776832ae7fe79428aa9370e6cd4c51
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 18 17:18:32 2023 +0200

    Always start parsing in the preable of the main package
    
    even on secondary parse runs. This allows declaring tags not essential
    for building in dynamic spec parts.

commit 9165963de8bb5d5ad0a24ea4656d6d04d733f6bc
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 18 17:20:20 2023 +0200

    Remove checks during parsing of packages
    
    as we now do that at the end of the parse run
    
    Still check for the tags needed for build:
    Name, Version, Release

commit fd32a43e04814bd1f298977306ac1bcdc6c790d2
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Sep 7 11:52:38 2023 +0200

    Move checks and package initialization after build
    
    as far as possible
    
    NAME, VERSION, RELEASE, (EPOCH) are still needed for all sub packages and the
    source rpm for the build. Checks for those need to stay in place.
    The srpm also needs ARCH, OS and the BuildRequires. So those still get set
    early.
    
    Add RPMSPEC_NOFINALIZATION flag to delay the package initialation after
    the parsing of the dynamic spec parts for normal builds while doing it
    right away when just parsing the spec otherwise (e.g. with rpmspec).

commit 05178249693ec4729edfcd445a9277cffa463038
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 5 13:42:04 2023 +0200

    Make functions available to be moved later on

commit 39617a379c22c7e64c57a2809cd5689312c11ac1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Sep 7 10:58:15 2023 +0200

    Drop NVR parameter to make them easier to reuse
    
    This will become handy in the following changes. It also changes the
    error message to only show the name of the sub package instead of the
    NVR. But as package names need to be unique this should not be an issue.
    It also removes version and release as a dependency of the error
    message.

commit 860b3d82fadd3f9c06c4048337d6200fb1a0a3ba
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Oct 10 14:18:04 2023 +0200

    Add rpmtests wrapper for container use
    
    This script replaces the role of mktree.rootfs in the podman image where
    it serves as a wrapper for the bundled rpmtests that makes it store its
    working files in the current directory (bind mounted from host) by using
    an ugly symlink hack.  The built in -C option can't be used here because
    it looks for atlocal in the destination directory where it obviously
    isn't, hence the hack.
    
    However, calling "mktree check" in the container is pretty confusing so
    move the hack out into a separate rpmtests wrapper so that we can just
    call "rpmtests" as one would expect.  This also makes the hack more
    explicit and obvious.
    
    For consistency, use the same wrapper when running from the build dir
    (mktree.fedora) as well.  Still prefer the locally built test scripts,
    though, and don't print the test log if not asked.

commit cea7e09d7594c5d72598d510067ae90946bf2e57
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Oct 10 09:13:38 2023 +0200

    Add --read-only argument to mount_tree
    
    Make it more obvious when the tree is mounted as read-only.
    No functional change.

commit 70cc93cadf6aa8da33c3b410ed43896839f40343
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 9 16:51:20 2023 +0200

    Depend on mktree script when building the tree
    
    A change to the script warrants a rebuild.

commit 0d0303414c70fa2e34b96dd6420597d0e687cac0
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 9 16:47:10 2023 +0200

    Move make_install to after package installation
    
    No functional change, just cosmetic (makes more sense this way).

commit 03dd0743016bcd332452d564e39eda12d26b43fa
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 9 12:42:53 2023 +0200

    Don't stack overlays in test-suite
    
    Rather than using the root overlay mount in the rpmtests container as
    our lowerdir for per test mounts, just use the original lowerdir from
    the host.
    
    This eliminates the extra level of indirection and enables us to use a
    podman image mount as the lowerdir (to be done later) as otherwise we
    would hit the kernel's limit for maximum fs stacking depth of 2.
    
    Keep the podman backend as is (using "/"), we'll remove it soon anyway.
    
    No functional change.

commit 3fe6c981ec67acc971e74fec37b0e3de90937e66
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 9 12:37:09 2023 +0200

    Bind mount $PWD at $PWD, not /srv
    
    This allows us to reuse the host paths such as $RPMTREE inside the test
    container which will be needed in the next commits.
    
    No functional change.

commit 1c25b5eb0e705df727e95f413470789db8acaf79
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 9 12:20:39 2023 +0200

    Move $PWD bind mount out of snapshot shell
    
    This command really shouldn't do more than actually invoke the default
    shell and set a user friendly hostname.  Do the host mount only where
    actually needed, i.e. when running rpmtests which creates overlays.
    
    Files can still be shared between the host and sandbox via "make
    atshell" which mounts the sandbox at $RPMTEST.

commit fd8eaa52cc2cea87231bbe1a1adee72bef8c65ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 15 10:16:50 2023 +0300

    Add a new plugin to enable Linux-specific namespace functionality
    
    A plugin is a convenient place to hide Linux-specific functionality.
    Implemented in this initial version are:
    
    - Optional private mounts during scriptlet execution, useful for
      protecting the system from scriptlets (eg /home) and the scriptlets
      from themselves (eg insecure /tmp usage)
    - Optionally disable network access during scriptlet execution
    
    Note that at this time, scriplets executed with the embedded Lua
    interpreter are not covered by this because they run inside the main rpm
    process instead of forking (#2635).
    
    Add a testcase for private /tmp
    
    Suggested-by: Johannes Segitz <jsegitz@suse.de>
    
    Fixes: #2632
    Fixes: #2665

commit 2fb0ddaf098c9d6930f7e577be3155a966802efc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 15:34:19 2023 +0300

    Run the CI build in parallel
    
    The test-suite runs automatically in parallel but the main build
    doesn't.

commit 90c037a8cbc2190724f00661acd4d9139b099726
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 15:08:32 2023 +0300

    Enable debug information and optimizations in the CI build
    
    The main reason is to get real-world relevant warnings from the CI
    build, gcc with no optimizations seems to miss all sorts of things.
    Debug info is just handy to have around when developing.

commit db210b9cafb914690a767a536f98aca1f0c3e985
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 9 11:27:24 2023 +0300

    Aaargh. Fix Monday morning "the fix is so obvious..."
    
    The ${key} here ends up expanded on cmake level so it still doesn't do
    what it's supposed to do. Just a simple one-liner, eh?
    
    Fixes: 0c7a3be0cd4ecbb3d2a0771b9b679e938b8e3176

commit 0c7a3be0cd4ecbb3d2a0771b9b679e938b8e3176
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 9 11:15:52 2023 +0300

    Eh, fix Friday afternoon brain-fart in test-suite os detection
    
    This is one of those cases where the answer to "What on earth were you
    thinking?" is "I wasn't".
    
    Fixes: 20c476f6037163024e6e1b8d2a27447d3ce809b1

commit 20c476f6037163024e6e1b8d2a27447d3ce809b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 6 14:39:33 2023 +0300

    Make test-suite os detection stricter
    
    On Rocky Linux /etc/os-release contains not only ID="rocky", but also
    ID_LIKE="rhel centos fedora" and the grepping got that wrong. Let
    the shell do the work for us.
    
    Reported-by: Dmitry Mikushin <dmitry@kernelgen.org>

commit f41040358541a8eef8d8e164ffb25234e9e84622
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 6 14:05:30 2023 +0300

    Ensure proper working dir when processing rpmrc, platform and macros
    
    Fixes `cmake --install` failing on these files as the working directory
    is "unexpected" from the trad. makefile POV.
    
    Reported-by: Tomasz Kłoczko <kloczek@github.com>

commit 5079c05b001489f1f2e6cbf283c1d72aa83865f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 6 13:45:56 2023 +0300

    Return an error on macro expansion failure from Lua macros table too
    
    Fixes: #2653

commit e0dd875175cf08a1bc11b8ac63badd5d8ff08a93
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Oct 6 11:56:26 2023 +0200

    Add docs/README.md
    
    giving a rough outline of the different doc parts.
    
    Related: #2259

commit 0dc37b5c2d2fd06d1ff93e0225d952310f0a46a1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 5 10:39:47 2023 +0200

    Reword to make sentence easier to understand
    
    Resolves: #2673

commit a50e092fcb7b032019205cdcc53d9926e884ec36
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Sep 22 15:09:02 2023 +0200

    Don't assume PWD of / in tests
    
    Instead, just use absolute paths everywhere.
    
    No functional change.

commit dd669840daf15a05d7c705103522298db839e4c0
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 5 11:19:41 2023 +0200

    Ignore non-zero return code in make (at)shell
    
    We want these to always be 0 so that cmake doesn't print an "error" when
    leaving the shell (if the last command happened to fail).
    
    However, since it's a cmake thing, handle that in cmake instead of
    mktree backends.
    
    No functional change, just cosmetic.

commit d4e808ebda3ec1d85fcdb176eae31901b74c6e91
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 5 11:09:50 2023 +0200

    Only rebuild the test tree when sources change
    
    Turn the tree (mktree.output) into a proper build artifact and let cmake
    do its job in determining when to remake it, instead of doing that
    always.
    
    Keep the "tree" target though, it's still useful when you want to build
    the tree manually.

commit 3a1fb2e68e090b87e1f9ee7745c4c3d1252ca882
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 5 11:08:26 2023 +0200

    Always let mktree.fedora build run through
    
    Don't stop if there's a base tree already, this way we'll install any
    newly added packages while still letting DNF skip over those already
    installed.
    
    The original intent of this short-circuit conditional was to avoid the
    output noise but then, it's not really that bad and we'll avoid
    unnecessary rebuilds in the next commit anyway.

commit 314faf551e3be78337374e2e1a31911c8a73d77c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 6 10:52:26 2023 +0300

    Eliminate some unnecessary rpmpgp.h includes
    
    Stuff has moved around, these are just leftovers.

commit 3a12a898cb515eb62959520c67cb897a9da4757a
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Tue Sep 12 14:33:37 2023 +0200

    Python Stable ABI: Build for Stable ABI, require Python 3.7+

commit 7aef24743aacddbe1d42caec82ef602942e73e7e
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Thu Sep 21 08:34:51 2023 +0200

    Python stable ABI: Define Py_TPFLAGS_IMMUTABLETYPE as no-op if missing
    
    The flag was added in Python 3.10.
    If the current Python doesn't have it, rpm's type objects (not necessarily
    instances of the types) will be mutable.
    This allows the user to shoot themselves in the foot, but it's not
    a big deal.

commit 25c7bbfbf1a54816cb9692d6a53a6b7b2190730f
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Thu Sep 21 08:22:54 2023 +0200

    Python stable ABI: Disable instantiation "manually" for some types
    
    Some of rpm's types can't be instantiated by calling the class.
    The flag for this was only added in Python 3.10.
    Replace it by a tp_new slot with the same effect: raising an exception.

commit d76026101492d1dd9f001d071626146218636c87
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 16:11:32 2023 +0100

    Python stable ABI: Avoid initializing the module more than once
    
    We store pointers to our Python type objects in global variables,
    which would get clobbered if the initialization code could run
    several times. Explicitly disallow that.
    
    This means the extension cannot be unloaded and reloaded, nor used
    in multiple Python interpreters. The limitation could be lifted
    in the future.

commit 585bbfeaa60a392b44964d1f257bd006c716354c
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Tue Sep 12 16:22:55 2023 +0200

    Python stable ABI: Add error handling to Py${container}_SetItem
    
    Each call to a Python API (or any function returning PyObject*,
    really) should have error handling.

commit 3dc58ca30c3adce92c5bfc721ff34706dc4093b0
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Tue Sep 12 16:01:44 2023 +0200

    Python stable ABI: Convert uses of Py${container}_SET_ITEM
    
    The macros are not part of the limited ABI.
    
    The functions check for type and out-of-bounds arguments, but
    as far as I know the slowdown is not measurable outside
    micro-benchmarks.
    But, the checking means that the functions can fail with an
    exception, and nominally need error handling. That's left
    for another commit.
    
    Another difference is that if the collection already contains
    an item at the given position, the SetItem functions discard
    a reference to it, while the SET_ITEM macros don't.
    I've checked that the changed cases are used to fill brand-new
    lists/tuples, so this doesn't apply.
    
    Commit generated with this semantic patch (see https://coccinelle.lip6.fr ):
    ```
    @@
    expression C, N, O;
    @@
    
    - PyTuple_SET_ITEM(C, N, O)
    + PyTuple_SetItem(C, N, O)
    
    @@
    expression C, N, O;
    @@
    
    - PyList_SET_ITEM(C, N, O)
    + PyList_SetItem(C, N, O)
    ```
    
    applied using:
    
        spatch --sp-file patch.cocci --dir python/ --in-place

commit 2e74eec2444975ace7258b1affccbcaa31af3b85
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:39:30 2023 +0100

    Python stable ABI: Adjust type usage & declarations
    
    The previous commit removed all *_Type variables.
    This adds them back, but as *pointers* to Python type objects
    rather than type objects themselves.
    
    All usages now need an extra pointer dereference (or removing an
    address-of).
    (The compiler will complain of type safety if we miss a spot,
    so I'm OK using the original names.)
    
    Also, add header declarations for the Spec structs.

commit 0d33ad85305fc631861186b2baf2f7541bc1f81f
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:36:26 2023 +0100

    Python stable ABI: Change type definitions to heap type specs
    
    In the stable ABI Python's type objects aren't defined in structs
    that reference other structs, but by an array of "slots" from which
    type objects are created.
    
    (This commit was generated semi-automatically. The automation
    is too messy and bespoke to share widely, but if you're interested
    in undocumented work in progress, look in
    https://github.com/encukou/api-limiter/tree/rpm-mess )

commit 46897602ff63610406a5611ac2342162eea0a2f1
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:25:50 2023 +0100

    Python stable ABI: Make calls to `tp_alloc` go through PyType_GetSlot
    
    The Python type struct changes between versions, and thus direct access to
    its fields is not allowed in Stable ABI.
    The members can, however, be retrieved using `PyType_GetSlot`.
    
    Commit generated with this semantic patch (see https://coccinelle.lip6.fr ):
    ```
    @@
    identifier subtype;
    type t;
    expression size;
    identifier var;
    @@
    
    - t var = (t)subtype->tp_alloc(subtype, size);
    + allocfunc subtype_alloc = (allocfunc)PyType_GetSlot(subtype, Py_tp_alloc);
    + t var = (t)subtype_alloc(subtype, size);
    
    @@
    identifier subtype;
    type t;
    expression size;
    identifier var;
    @@
    
    - var = (t)subtype->tp_alloc(subtype, size);
    + allocfunc subtype_alloc = (allocfunc)PyType_GetSlot(subtype, Py_tp_alloc);
    + var = (t)subtype_alloc(subtype, size);
    ```
    
    applied using:
    
        spatch --sp-file patch.cocci --dir python/ --in-place

commit a532a0d8c29fd697121a69fd29e334f6d3347e7a
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:25:50 2023 +0100

    Python stable ABI: Make calls to `tp_free` go through PyType_GetSlot
    
    The Python type struct changes between versions, and thus direct access to
    its fields is not allowed in Stable ABI.
    The members can, however, be retrieved using `PyType_GetSlot`.
    
    Commit generated with this semantic patch (see https://coccinelle.lip6.fr ):
    ```
    @@
    identifier s;
    type t;
    @@
    
    - Py_TYPE(s)->tp_free((t*) s);
    + Py_TYPE(s)->tp_free(s);
    
    @@
    @@
    
    - Py_TYPE(s)->tp_free(s);
    + freefunc free = PyType_GetSlot(Py_TYPE(s), Py_tp_free);
    + free(s);
    ```
    
    applied using:
    
        spatch --sp-file patch.cocci --dir python/ --in-place

commit 5ad6c9628529908f395cf43097b1c24b3bb70f4e
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:16:29 2023 +0100

    Python stable ABI: Call helper for adding a heap type
    
    Commit generated with this semantic patch (see https://coccinelle.lip6.fr ):
    ```
    @@
    identifier T;
    fresh identifier S = T ## "_Spec";
    type PO;
    expression name;
    @@
    
    -   Py_INCREF(&T);
    -   PyModule_AddObject(m, name, (PO) &T);
    +   if (!initAndAddType(m, &T, &S, name)) {
    +       return 0;
    +   }
    ```
    
    applied using:
    
        spatch --sp-file patch.cocci --dir python/ --in-place

commit 294edf6756c502edecd2c5ea75fc62fe88f18501
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:14:41 2023 +0100

    Python stable ABI: Add helper for adding a heap type
    
    This creates a type object and adds it to the module.
    (We need to do this to avoid compile-time static type objects,
    whose memory layout changes between Python versions.)

commit 9da1f44f9648be52b1db137d1b5a061d060ada56
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 11 13:03:57 2023 +0100

    Python stable ABI: Remove PyType_Ready calls
    
    These will not be used with limited API.

commit ede3416683a19489df5a907acfdd3b2fad5797dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 16:21:51 2023 +0300

    Add a "plugin development" testcase
    
    Add an externally built debug plugin which outputs something from each
    hook. This serves as a generic plugin functionality test, both from the
    POV of developing one externally and the actual functionality.

commit c284d09e81d52114cea16c69abdb8c73599d3cae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 5 09:43:10 2023 +0300

    Argh, unbreak plugins from the previous commit
    
    Rpm is probably the only software in existence that uses a prefix
    instead of a suffix for detecting it's own macro files. Commit
    ce7210d5841389f866f66ae700817bee7fb10e9d got it exactly wrong.
    Too many meetings must have melted my brains.
    
    The great irony here is that this breakage occurs while developing a
    test-case for plugin-development. Oh well.

commit ce7210d5841389f866f66ae700817bee7fb10e9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 5 09:18:08 2023 +0300

    Split plugin config macros to per-plugin macros.d files
    
    Carrying the plugin config in the main macros file for plugins that
    might not even have been built+installed seems dumb, but considering
    that we didn't even *have* macros.d back then, more excusable. It no
    longer is, though. Split the macros to their own files, to be installed
    only along with a built plugin.

commit 14c1ee29fbb315d3ebe9e027301a1d4b209743fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 5 09:07:30 2023 +0300

    Add a cmake shortcut to the macros.d directory

commit f5e0cbad4f794b3104300a5b5bbc39cf9080dcc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 5 08:49:11 2023 +0300

    Split development tests into its own file
    
    These are rather different than the "general" tests otherwise,
    might as well have them in their own set.

commit d1fd06c12c11a245353ecd78a3b6a1ad48395543
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Oct 4 17:35:03 2023 +0200

    Add build stages to Dockerfile
    
    Split the build into two stages, "base" and "full", the former of which
    contains rpm's build, runtime and test dependencies but no rpm install.
    
    The "base" stage will effectively replace mktree.fedora in the next
    commits.
    
    Since this moves the self-removal of rpm in front of the cmake configure
    step, we need to put a workaround in place for /usr/bin/pkg-config which
    is a shim that calls the rpm binary, see the inline comment.
    
    See --target in podman-build(1) for more info on how this can be used.
    
    No functional change.

commit 7e87a27f3a657e6971243a4df933806ce373d2dd
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Oct 4 17:23:48 2023 +0200

    Keep record of stock RPM in RPMDB in Dockerfile
    
    RPM still *is* installed in the final image so keep the record.  That
    way, it won't be pulled back in by DNF in "make atshell" when installing
    additional packages into $RPMTEST.
    
    This is already worked around with the explicit exclude in the DNF
    command line in mktree.fedora but that will go away in the next commits.
    
    The version we build and install is likely newer than what the original
    record claims but that doesn't matter, we really just want to satisfy
    the dependency.

commit 46c64c3f90ad2de00ef57175a4fd252ed0080e71
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Oct 4 15:45:50 2023 +0200

    Rename make target env to atshell
    
    As in "Autotest shell".  We all know naming is hard but this is perhaps
    going to be more accurate and also consistent with "make shell".  It may
    confuse someone's muscle memory but hopefully nobody (besides me) has
    really been using this (rather new) feature just yet.

commit 09e472040ad8bd87d50dac63aa6f72a359ade47e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Oct 4 15:35:20 2023 +0200

    Move snapshot() to mktree.common
    
    This will make it easier to reuse the function in a mktree backend
    without having to source all of atlocal (to be utilized in the next
    commits).
    
    Also drop the "function" keyword (a Bashism) while at it.
    
    No functional change.

commit cca5d1b1de1099014471185c182e7142ccce2b79
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Oct 4 15:24:40 2023 +0200

    Make snapshot() work without CMake configuration
    
    This will be needed in the following commits where snapshot() will be
    used standalone (in CI), much like how mktree.podman is used currently.
    
    Do this by removing the @FOO@ style variable references, namely @BWRAP@
    and @CMAKE_INSTALL_FULL_BINDIR@.  The former can just be "bwrap" and for
    the latter, use the host's shell default, sane value instead.

commit ea19571b86ff1f828efc264744715b69e30d6832
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 4 10:28:29 2023 +0300

    Fix build-order regression from 1c98b67911e19a5f92c7fa4492aaa1000a06edad
    
    Running the test-suite obviously requires on having the project completely
    built first. The test-suite was relying on the cli tools in the top level
    directory for this, but now that we moved the tools elsewhere there are
    zero targets at the top-level. Oops.
    
    Update the property get_property() path accordingly, this should've been
    in commit 1c98b67911e19a5f92c7fa4492aaa1000a06edad. Rename the variable
    and add commentary on why we're doing this the way we are, it's not entirely
    obvious.
    
    Suggested-by: Michal Domonkos <mdomonko@redhat.com>

commit 3d3b1557eaa23212d320a05456bbcadded41006a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 15:14:48 2023 +0300

    Export our config dir in the cmake package
    
    We do this with pkg-config so why not cmake?

commit ab28534f9e68aff8be65cd1adbac86b5a2cafde4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 15:06:34 2023 +0300

    Make our plugin directory a global cache configurable and export it
    
    Make the plugin directory a cache item and honor wrt it wrt macros.
    Export the info in both pkg-config and our cmake package info.

commit 56558a5a60f210d18fcce8effece6766e4409b10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 12:24:07 2023 +0300

    Make 'cmake -L' output meaningful
    
    Mark all the program and library path details as advanced, they're not
    something you need to be acutely aware of when compiling rpm. This
    way -L[H] actually shows the "user configurable" parts.

commit ea6dab80d6ca1f9bce475d1feb53ddfe0d89f7c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 28 11:53:55 2023 +0300

    Simplify communicating crypto backend to the test-suite
    
    It's fairly amusing how various aspects of integrating autotest seems
    easier with cmake than autoconf/automake.

commit 58021924994db8949247cf99883695ce12e4d73b
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Sep 20 17:41:48 2023 +0200

    Python tests: Close open files
    
    Debug builds/modes of Python will complain loudly about unclosed files,
    making tests fail.

commit a25d881f287e67568c15a87c9fc9a2c4acc0650e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 18 12:13:50 2023 +0200

    Fix tagtbl.C placement in build dir
    
    The COMMAND for tagtbl.C generation dumps the file in the top-level
    build directory whereas the OUTPUT is specified in the current (lib/)
    directory.  This leads to unnecessary relinking of all the libraries on
    each make invocation because OUTPUT is always missing.
    
    Fix this by outputting the file in the current directory where OUTPUT
    can find it.
    
    No functional change, just makes rebuilds quicker.

commit 9c96c5d4ca376b998be9919e70f74d0995c4df2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 15 14:38:35 2023 +0300

    Axe the experimental non-privileged chroot support from b4c832ca
    
    While the chroot call itself works nicely for a regular user with this,
    user/group mapping does not and cannot be made to work, because that
    requires a fork and we cannot very well fork the process from deep down
    here.
    
    Better to put the irrepairable thing out of its misery, users are far
    better of wrapping rpm with the unshare command instead.

commit 6867ef9f8bf6b0aba86d390fe371d3b141df9013
Author: Maxwell G <maxwell@gtmx.me>
Date:   Wed Sep 13 02:29:41 2023 +0000

    Add a Provides generator for rpm lua modules
    
    Some packages in Fedora provide shared RPM lua code that's used by other
    packages.
    It would be nice to have automatic Provides for this code like we have
    for rpm macros themselves.
    
    Usecase:
    
    Recently, forge.lua that's used by go-srpm-macros and fonts-srpm-macros
    moved out of redhat-rpm-config.
    I would like to be able to add `Requires: rpm_lua(fedora.srpm.forge)`
    to those packages instead of having to rely on it being implicitly
    pulled in by redhat-rpm-config or adding conditional dependencies on
    forge-srpm-macros.

commit 1120c8cf7c6041c523bcc917173b931560747b91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 15:51:32 2023 +0300

    Add a testcase for librpm development
    
    Should've been in 6ec0e4069e61fca3a5391c65effe72b2c782730d but at that
    time cmake in Fedora had a dependency on rpm making this hard or
    at least ugly. With that dependency fixed, we can now run cmake in there.

commit 959b4e47509bb3a1d09f9c5e81a35da9a4fca613
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 14:32:16 2023 +0300

    Make the plugin API public
    
    We've procrastinated on making this API public for about ten years now,
    and in the meanwhile there has been exactly one disruptive change to
    the API. As in, it might've just as well been public all along.
    
    There will always be more things to improve wrt any API, but we're not
    going to hold this hostage to one more thing or another anymore. Some
    of them we'd like to do before this goes to a stable release (ie 4.20)
    but doing this now to kinda enforce this actually happens this time
    around, through come hell or high water.
    
    Fixes: #1536

commit 1c98b67911e19a5f92c7fa4492aaa1000a06edad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 13:19:37 2023 +0300

    Drop top-level source for our global include directories
    
    Having everything accessible to everything encourages fast and loose
    includes from places one shouldn't be using, and makes it easy for
    those cases to hide in plain sight as well. There were reasons for
    the top-level include back in 2007 but our codebase is a rather
    different beast these days. Limiting access through per-target
    include directories on everything nicely highlights the exceptions
    and makes the whole more controllable and manageable.
    
    This change looks huge, but it's just due to stripping no longer valid
    prefixes from all the gazillion internal includes. No rpm-side
    functionality is affected, this is just source-level hygiene operation.

commit 86d99a1d20bbebfeb4427c99b1bb1053029c3317
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 12:36:11 2023 +0300

    Move all cli utility sources under tools/
    
    Having stuff in the top-level directory is messy, and the top-level
    cmake file is plenty big enough without all this. No code changes,
    no functional changes.

commit 13eb82e9bfe424fdc56b967b7126267ab6edcc32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 12:48:16 2023 +0300

    Move rpmhash.[CH] into misc/ for clarity
    
    These are nothing like normal sources and are not compiled into librpm,
    but having them in lib/ makes it appear they are. Which also confuses
    the issue of where they are usable which is everywhere within the source
    tree, not just places linking to librpm. No functional changes.

commit d4eb1f2fe6f8712f874becbd10f29a3a542bed46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 12:29:28 2023 +0300

    Move top-level headers to misc/ and include that everywhere
    
    Having stuff in the top-level directory is messy and prevents control
    over what you can include from where. No functional changes.

commit 74783883cb46a28c3b1015a6f35513b318481b51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 12:21:24 2023 +0300

    Split our include_directories() per use-case, comment
    
    No functional changes.

commit 34d983fa2a9b9276fc540b6bd554605b2c72689a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 10:48:07 2023 +0300

    Fix compile regression from 071be753cf05b2753efb0d3c51d4fa59b9641d09
    
    A declaration immediately following a label is not valid C99, as crazy
    as it is in a language that otherwise allows free placement of declarations.
    It looks like something people forgot to update in the standard, first
    in C99 and apparently C11 too. Recent gcc doesn't complain about it
    but it doesn't make it right.
    
    Suggested-by: Dmitry Mikushin <dmitry@kernelgen.org>

commit 08ae4ee23e7b746c529abef8ddc86cf650177e69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 14 12:41:09 2023 +0300

    Add multifile support to elf dependency generation
    
    Multifile dependency generation is a huge performance boost when there
    are multiple files of the same type. The Elf dependency generator is not
    a particularly heavy in its startup so benefits less from this than
    interpreted languages will. On my laptop coreutils requires generation
    goes from circa 0.8s to 0.08s, something like Python/Perl interpreted
    generators the difference would be much much bigger.
    
    Of course, no reason not to improve performance when it comes this easy,
    and serves as an example for other generators.

commit d3dbe17b2e8cb4c4ad084e36b23caf050aa57bff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 11:48:10 2023 +0300

    Support optional multifile protocol in dependency generation
    
    In this mode, extract all dependencies of a given type from all files
    in a package in one go. Requires explicit support + enablement for each
    generator separately:
    
    Generators receive input as usual, but in this mode there are arbitrary
    number of files. When outputting dependencies, the generator merely
    needs to output `;<path>` to stdout before outputing dependencies of
    that file, files with no dependencies may be omitted.

commit ae71dda9ad0c7175ce12c360e3b61914b768688a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 11:30:20 2023 +0300

    Low-level support for passing multiple files to dependency generators
    
    Further preliminaries for supporting dependency generation for multiple
    files in one go. Supposedly no functional changes here.

commit ed5571ac0b712901c6cfb97d9ff497bfd99e42cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 11:25:58 2023 +0300

    Refactor dependency generation out of rpmfcHelper()
    
    Supposedly no functional changes, just preliminaries for the next steps.

commit 285d2d337c00e2bd668a7a73c5587b293866ddef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 14 09:36:53 2023 +0300

    Split weeding out excludes to a separate loop
    
    Preparations for the next steps: we need to have ready filelists to pass to
    the actual generators to be able to do many at once.

commit f24c242efa2eddb1789c37fe3b722886d1c6eba3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 14 09:02:34 2023 +0300

    Pass the entire attribute to applyAttr() for more flexibility
    
    Will be needed in the next commits.

commit 35a460e5096e480cadc7bb67c5b1d184cb4bc2b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 14 08:50:53 2023 +0300

    Refactor file walk loop into rpmfcHelper()
    
    Preliminaries for letting it handle multiple files at once

commit 2085295187877fdbb23bd1314a2e283b49582146
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 15:42:35 2023 +0300

    Drop no longer needed pull from updates-testing for rpm-sequoia
    
    rpm-sequoia >= 1.4.0 has been in stable updates for a good while now.

commit 4a12e3fc2163a1b61958be438db9d6a6ccee66f0
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 1 14:33:36 2023 +0200

    Update translation submodule for new translations

commit 7d017eef51bd3138aad0a7859e76e7bfafd3951a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 15:26:18 2023 +0300

    Always run tests without --nouser and --nogroup, now that we can
    
    With the new container based test-suite we no longer need these hacks.
    Leaving the mknod conditional in place though as that may still be
    restricted.

commit 4712c9c37bbf28f56f1e386df788dac440cc4cb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 10:39:08 2023 +0300

    Run the test-suite with plugins enabled now that we can, yay

commit 5f23d76eb90d17daa80732295fd74d01681d765f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 10:33:41 2023 +0300

    Emit a debug message instead of silence when DBus unavailable
    
    Make systemd_inhibit plugin behave identically to dbus_announce in the
    previous commit: when DBus service isn't available, emit a debug level
    message rather than completely suppressing the message to keep things
    troubleshootable.

commit 071be753cf05b2753efb0d3c51d4fa59b9641d09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 10:25:03 2023 +0300

    Suppress inhibition lock warning message when DBus service is not available
    
    Same as commit 708e61307bc3fd027b016fdf5a1d1a5274c1843c, this message
    will just annoy and confuse users in situations where DBus service is
    not running at all, such as single-user mode and minimal container type
    environments. Like our own test-suite. Rather than entirely suppress
    the error, issue a debug log though.

commit 6ec0e4069e61fca3a5391c65effe72b2c782730d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 15:03:33 2023 +0300

    Export our libraries as a cmake find_package() config
    
    This is a fair amount of annoying voodoo boilerplate compared to what I
    would've expected, but the ability to just `find_package(rpm)` is
    very nice on the (API) user side.
    
    Fixes: #2471

commit ffd55686abdfdadf6d854be18e52fa7536dadc8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 09:55:52 2023 +0300

    Clean up hashtype definitions
    
    Always #undef the "parameters" right after definition to make sure
    they're always free for the next user. Which avoids annoying
    double-undefs all over the place.

commit 5f98b1aa4817d5923caef42208e32eb34094e94b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 29 13:19:15 2023 +0300

    Document the main differences between rpm-sequoia and internal parser
    
    Fixes: #2346

commit 3687458aa0e02e7d2fe50a028693a93260628446
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 17:14:45 2023 +0300

    Add a build tunables section to the reference manual
    
    The descriptions are terse and I've inevitably missed a whole bunch
    of stuff here, but it's a start.
    
    Fixes: #2466

commit 33c0478f96122cb8f1e8191a1879379822e0a9a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 16:22:56 2023 +0300

    Drop an extraneous Dependencies section from the spec manual

commit c10877b6bcceb99eae8b0df97ee25bcc82bbb9e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 16:20:45 2023 +0300

    Polish the build process docs a bit
    
    Replace source links to documentation (we have it now!) and various
    more cosmetic tweaks.

commit 21457de886faf2415500a8bb7cc6c816d72939ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 23 13:22:07 2023 +0300

    Fix misleading error message on some invalid filetrigger conditions (#2584)
    
    We used to test the first argument in parseScript() and then again
    for all arguments in parseRCPOT(), with different error messages in
    each case as if they were separate issues. Only, the one in parseRCPOT()
    didn't get a chance to execute because it was caught by checkDep() before
    it (probably added after the file trigger check was initially added) and
    so for invalid file trigger conditions (such as an unexpanded macro), you'd
    get a very misleading error about dependency tokens where an absolute path
    is expected, and worse, it was reporting an incorrect line and a line
    number while at it.
    
    Measure twice, cut once doesn't apply here. Check once and be consistent
    about reporting it. Due to the way triggers are handled, we can't
    report the line number correctly so don't even try, the wrong line
    number is far worse than not having it at all. Add some tests to go.
    
    Fixes: #2584

commit 3be76d71448279a29674cba753fc7ad811b7931c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 15 14:52:50 2023 +0300

    Default to C.UTF-8 locale, allow fallback to C
    
    Mostly everything around us is UTF-8 these days, we need to get on with
    the times. Especially now that glibc >= 2.35 finally supports it too.
    Default to C.UTF-8 but allow disabling it via cmake option to fallback
    to the traditional C locale instead.
    
    Fixes: #2587

commit 59bbb932e5a546152a28cea9036958c324669b82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 21 13:42:43 2023 +0300

    Behave more consistently when target arch %optflags are not defined
    
    You're about to fall into a deep dark hole, proceed at your own risk.
    
    When building for a target architecture with no defined %optflags
    (such as noarch), one would think that %optflags would be empty. Not so in
    rpm, instead we get %optflags for the detected architecture, and there
    are packages which rely on this behavior. And in this particular dark
    corner, buildarchtranslate is not applied so one can get drastically
    different %optflags than you'd get without an explicit --target, on the
    same system. Which can break builds.
    
    This behavior is just WRONG, %optflags should always reflect the target
    architecture. But as long as there's no %_host_optflags, lets at least try
    to be consistent about it. When we fall back to detected architecture
    %optflags, at least use the ones after buildarchtranslate to return
    consistent data within a host.
    
    This supposedly fixes the case where our newly added x86_64
    subarchitecture definitions haven't been overridden in vendor config and
    somebody's noarch package uses cmake to install data, and falls over due
    to nonsensical optflags from rpm.
    
    Initial report: https://bugzilla.redhat.com/show_bug.cgi?id=2231727

commit 0e336e24c927b892dc63f723f3b85b066e5bddc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 22 14:03:37 2023 +0300

    Move the %_sysusersdir definition to a more logical spot
    
    Commit c7fd9fed9951dc884c345eb9280987389b291c41 introduced %_sysusersdir
    into the group of global configure-related macros but that's not what
    it's related to at all, it's only related to our sysusers integration
    feature. Move it where it really belongs.

commit 24f974cff9e9559f3ab308661572740ea432f2a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 22 13:42:27 2023 +0300

    Revert recent %_root_prefix macro addition (RhBug:2233454)
    
    Commit cececfb6851234aca3e8d102de1c192c6bdf3e67 introduced %_root_prefix
    macro but this clashes with pre-existing use in scl-utils:
    https://bugzilla.redhat.com/show_bug.cgi?id=223345:
    
    Just query the value from pkg-config if available and otherwise use
    hardcoded value pointing to /usr instead. We don't need an intermediate
    global macro for this.

commit aa0d6d8109b9d43188873f3c8e51d106cc061f5d
Author: Daan De Meyer <daan.j.demeyer@gmail.com>
Date:   Thu Aug 3 21:36:43 2023 +0200

    Add aliases for weak dependency queries to rpmspec.
    
    These are all available on the rpm CLI so let's make them available
    on the rpmspec CLI as well.

commit 5e9c71296e8cd6c5f2f5a6188b303bbd7a2c74db
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 17 18:02:07 2023 +0200

    Avoid warning about double --chdir in "make check"
    
    Newer versions of Bubblewrap emit a warning for some select options
    (--chdir included) about only the last occurrence having effect, which
    is what happens in "make check" due to the --chdir override.
    
    Instead, just cd to the /srv directory in a shell and then run rpmtests
    from there, sigh.  It's not the prettiest but it's better than always
    printing the spurious warning.

commit 94ee5c6c23168ebcaa96e992414af4049844e933
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 17 15:40:06 2023 +0200

    Prevent build dir from becoming annoyingly sticky
    
    With OverlayFS and unshare(1) being used in the test-suite, some of the
    directories in the test tree, sandbox and rpmtests.dir/ end up missing
    read/write or execute (for directories) permissions which means removing
    them requires excessive force in the form of "unshare -r rm -rf".
    
    CMake is clever enough to adjust the permissions behind the scenes on
    "make clean" but manual removal should just work too, so fix that with
    chmod(1) in the clean_up() trap.

commit 4fa00264308056d5db26f29707a381ff10141caa
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 17 17:25:49 2023 +0200

    Move exit trap to a function in mktree.fedora
    
    This is more flexible as we can now add more commands to the trap, see
    the next commit.
    
    No functional changes.

commit 87f1b4545bfdd6d5d09e9c8bb31f8fb96d5313aa
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 17 14:00:08 2023 +0200

    Enable DNS resolution in "make shell"
    
    Networking is currently enabled in test containers (we don't use
    --unshare-net) but for domain names to be resolvable, we need an
    /etc/resolv.conf, too, so add it from the host, similar to how e.g.
    Podman does it.
    
    We don't need network access in the test-suite but it can be handy for
    interactive testing in "make shell", e.g. to allow gdb to fetch
    debuginfo data through debuginfod automatically.

commit 3701e4893ea9f758abad0bff907096d33bafb693
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 19:10:29 2023 +0200

    Export the same DNF command-line in "make env"
    
    When managing the test tree with DNF, it's actually desirable to use the
    same options that were used during the tree construction (especially the
    cachedir), so just do that.

commit c3ecf8ac443477d1a6c9ea7fa3ca0d1cdca6776f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 17:38:33 2023 +0200

    Extend the MOTD in "make env" with a bit more info

commit 8e9ff82f5559001722766cb13abb5c81f41efda4
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 17:23:38 2023 +0200

    Terminate stray bwrap processes on test failures

commit db35781bf1a3a0f10e101759d8421cdeb2cc56c1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 16:20:50 2023 +0200

    Point RPM to correct database in Dockerfile
    
    This just mirrors what mktree.fedora does already, and is only relevant
    in "make shell" when using the mktree.podman backend, no other
    functional change here.

commit 258548166223eb5544d7e644a8fd9d8f4b363474
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 13:59:27 2023 +0200

    Set standard, consistent HOME path in tests
    
    Use /root instead of / (in runroot) or $PWD (in atlocal).  We already do
    this in "make shell" so that the root user's dotfiles (e.g. ~/.bashrc)
    are loaded from the base image, this commit extends that to "make env"
    and fixes the following:
    
      - Calling "runroot rpm -qa" interactively now works as expected since
        the rpmdb from the base image built by mktree.fedora (which
        overrides %_dbpath in /root/.rpmmacros) is used
    
      - The user's native prompt is now used, instead of the shell's default
    
    This commit has no effect on the tests themselves since we initialize an
    empty rpmdb before use anyway.
    
    There was no technical reason for HOME being set to /, really, other
    than it being a historical artifact from the fakechroot era.

commit 1c3264ed887472e500d35638b81cdfa2e071d7d8
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Aug 16 13:31:01 2023 +0200

    Fix infinite recursion in "make env"
    
    Using which(1) in a shell function that's supposed to shadow the
    original command is silly, it just results in a recursive call.  What
    was I thinking?
    
    Instead, use "command" which is a better fit, see "help command".

commit 44c76481e75342b6f9e1994d1bb7f83575341c55
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 10 17:38:19 2023 +0200

    Clean up dnf() function in "make env"
    
    The "function" keyword is not needed (not POSIX either) and which(1) is
    better than hardcoding the path.
    
    No functional change.

commit ebd0905a3f78fd7d8e28125b00f78a069427c852
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 10 14:28:51 2023 +0200

    Simplify BYPRODUCTS in "make tree"
    
    The inner structure of mktree.output/ should be treated as an
    implementation detail of the mktree backend in use.  All we care for
    here is that it's purged on a "make clean".
    
    No functional change since only mktree.fedora uses this directory
    currently and it already recreates the other contents (inst/) on each
    rebuild anyway.

commit e1ff74c4e5376bc844a244687537fef81145e2bf
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 10 14:27:32 2023 +0200

    Support common mktree.fedora image in build dirs
    
    Using multiple out-of-source build directories (e.g. for topic branches
    or experiments) currently means redownloading and recreating the base OS
    image in each of them.  This is slow, ineffective and just not needed
    since the image isn't specific to the build and can just be reused.
    
    To fix it, if a mktree.output/ directory exists in the source directory,
    use that, otherwise just use the build directory like we always did so
    that all build artifacts remain in the build directory unless told
    otherwise (which some may prefer).
    
    This means the feature can be enabled by simply creating an empty
    mktree.output/ directory in the source directory.  This is inspired by
    mkosi(1), much like many other things in mktree.
    
    We shall document this later, too.
    
    If the source directory happens to be a git-worktree(1), go look into
    the common worktree for mktree.output/.  This ensures that worktrees, if
    one uses them, are not treated as separate source directories and will
    reuse the same image, too.
    
    If using a common mktree.output/, also use a common mktree.cache/ (DNF
    metadata and package cache) as separating those two makes little sense
    in such a case.

commit 095502dc0933731eb5a8e877e1c383b8c5e7af44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 16 10:18:20 2023 +0300

    Stop looking for apparently non-existent 7zip command
    
    Since the initial commit 185596818f763af1249f19161f38134ee93092d2, we've
    primarily looked for a command named "7zip" but defaulted to 7za when
    not found. Looking closer it seems that there never was any command
    called 7zip at all, at least in the OSS landscape. So don't default to
    something that doesn't even exist, which also means we'll land on an
    actually working value if/when 7z[a] doesn't happen to be present at
    build-time (there's no other reason for it to be there).
    
    Related to #2608

commit f9775b454e1969a8d5c8d8b7435817876ed79482
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 14 12:31:06 2023 +0300

    Look for alternative implementations of 7zip, like autoconf did
    
    Fixes a regression from the cmake transition where we'd just assume 7zip
    as the name of the executable when previously we looked through 7zip,
    7za and 7a. Resume the former behavior.
    
    Fixes: #2608

commit bbb289e303d8c72b9e35410e593b8d92b006bec1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 14 12:29:11 2023 +0300

    Unroll the utility finding loop in cmake for flexibility + readability
    
    We need more flexibility than a simple array can provide, and with
    all the name munging, it's not particularly obvious as to what
    values are set and how. Supposedly no functional changes here.

commit 194eb101663b721810096097458c582530e9c3fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 14 09:58:20 2023 +0300

    Remove duplicate line
    
    Initially accidentally added in 9e8f57bf7abdc26262467d20c5a636547c09a277
    and then amusingly commit 1bd14464b9c6206602d1553fd24db7385e64ef55
    indentation fixed.
    
    Fixes: #2613

commit 224095542246e762617d38e2096fdeba13d266e3
Author: Dirk Müller <dirk@dmllr.de>
Date:   Tue Aug 8 13:53:38 2023 +0200

    Rewrite --last to just use sed for formatting
    
    This is the only dependency on awk in the runtime commandline part of
    rpm, which is bloating minimal container images a bit. We can rewrite
    that into a single sed statement. We love you anyway, awk.

commit 2043f2ac57ae2690cc1b11242f040085df8eed83
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 3 17:01:17 2023 +0200

    Bump actions/checkout from v2 to latest (v3)
    
    This should've been part of the previous commit, just got forgotten.

commit d4cad0f26aec183e9eb4f42533b91b30c0c04e80
Author: Neal Gompa <neal@gompa.dev>
Date:   Fri Jul 28 01:16:24 2023 -0400

    CI: Add initial GitHub Actions configuration
    
    Fixes: #2569

commit 23875394605183c62db010b3d7bba9a4c5d656e1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 3 15:46:52 2023 +0200

    Add support for --interactive in mktree.podman
    
    Pass this option, if specified, to $PODMAN.  This is needed for
    unattended use of mktree.podman where no tty is allocated, such as
    GitHub Actions.
    
    Use it as follows:
    
      ./mktree.podman check --interactive=false ...
    
    Default to true (by keeping -i in the command line) still, it allows
    CTRL-C to work when running the script interactively.
    
    Based on a patch by @Conan-Kudo.

commit 39ebe1e62333ebe811b8825f3caa0ecbff631328
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 1 14:33:36 2023 +0200

    Update translation submodule for new translations

commit 1d8a67485fff3d770b5cb4072b1558d9fad91f54
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 1 12:21:01 2023 +0200

    Add back ima-evm-utils to mktree.fedora, oops
    
    We actually do need this library in the test tree, in case the build is
    configured with -DWITH_IMAEVM=ON which links librpmsign to it, it's not
    a plugin.  We already include libfsverity for the same reason.
    
    This is a fixup for commit 4c41faf7a592a5bb484cf7d645cc247d850d776a.

commit 02a5151e3eaca789fbf565ee6e7e07f0d5f6d25a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 1 10:37:24 2023 +0200

    Remove forgotten ENABLE_CI cmake option
    
    We no longer have the ci/ directory as the Dockerfile has been moved to
    tests/ and the "make ci" target is now added automatically if Podman or
    Docker is available, so no need for ENABLE_CI anymore.

commit 35a3d229300338fd448373acc27b99a170bebaa7
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 1 11:27:11 2023 +0200

    Add back Docker support to CMake
    
    When using the mktree.podman backend (either through "make check"
    directly or "make ci"), detect and choose Docker if Podman is not
    available.
    
    This fixes a regression from the original "make ci" where we also
    supported Docker, and should've been part of commit
    3b2e5eba187feef56b113a59e88aa05634a471d3.

commit 4c41faf7a592a5bb484cf7d645cc247d850d776a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 31 14:03:10 2023 +0200

    Minimize the package set in mktree.fedora
    
    We don't need audit and ima-evm-utils, those are for the plugins which
    we disable in the tests.  We do, however, need popt and shadow-utils
    (pulled in by the above) so list those explicitly.
    
    This also conveniently removes systemd (pulled in by audit) which we no
    longer need since commit 2bdd7d7cbd77b13abf512bb919abe7f0537a2c45.  To
    future-proof, though, exclude systemd-udev which is not needed in
    containers.
    
    Lastly, remove gdb-headless which is redundant since we already install
    gdb-minimal.
    
    As a nice side effect, this fixes the spurious warning during the DNF
    transaction that comes from systemctl(1) through the %systemd_post macro
    used by audit (about requiring a /proc mount in the installroot).

commit d7f7c8b1d3abba725a2d518a0cacbae833be4b9e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 31 13:59:31 2023 +0200

    Disable systemd-inhibit in mktree.fedora
    
    This plugin doesn't work with --installroot and only prints a spurious
    warning, disable it.
    
    Refactor the contents of .rpmmacros now that we have more than one line
    in it.

commit a1ca8e345d08e45705b9361bf4a366ed65c0c5a8
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 28 14:34:25 2023 +0200

    Merge mktree.native into mktree.fedora
    
    Don't make any assumptions about how other Linux distros would need to
    implement the mktree interface.  We simply don't know how much logic
    could be shared between such native backends before some are actually
    written.
    
    Right now, we only have one such backend, for Fedora, that's a sample
    size too small to draw any conclusions.  Let's worry about refactoring
    when it actually makes sense and stick with the most basic layout till
    then.
    
    As an example, while unshare(1) works for running DNF as an unprivileged
    user, it does not seem to work with other package managers and tools
    that I've tried such as zypper or debootstrap.  Those may need another
    way of doing this or even require sudo(8).  Also, --map-auto only exists
    in the newer unshare(1) versions, older versions would need manual
    mapping.
    
    This also simplifies the "env" command quite a bit, which is nice.
    
    No functional changes otherwise.

commit fde03ae33d55b160a31a6c54946880dcdf8fd0d6
Author: Zoltán Böszörményi <zboszor@gmail.com>
Date:   Fri Jul 28 12:16:56 2023 +0200

    Allow setting platform macro settings externally (#2585)
    
    * Allow setting platform macro settings externally
    
    By default, rpm installs a series of default platforms based on
    the CPU architecture names in subdirectories called
    
        /usr/lib/platform/<arch>-<os>
    
    This is enough for regular Linux distributions. However, some
    distributions may use more specific platform names that refer to
    particular computer systems, like SBCs or specific CPU tuning when
    compiling.
    
    If the platform subdirectory does not exist in /usr/lib/platform
    then rpmbuild does not work.
    
    Allow creating such custom platform subdirectory with feeding
    the necessary data using external variables: RPM_CUSTOM_ARCH,
    RPM_CUSTOM_ISANAME, RPM_CUSTOM_ISABITS, RPM_CUSTOM_CANONARCH
    and RPM_CUSTOM_CANONCOLOR
    
    Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
    
    ---------
    
    Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 077afb85925d04067ebd38bfa520cec0e36f5bbf
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 28 09:46:01 2023 +0200

    Set default shell to /sbin/nologin
    
    as this is the default location. Moving the the /bin and /sbin content
    into the /usr directories is a distribution dependent thing inherited
    from the Fedora script.

commit 3e820eaa4c8cb94a63338366cbf014dc5264eba2
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 25 12:08:42 2023 +0200

    Check inside --root when querying for files
    
    rpm -qf checks if the argument actually exists if it can't be found in
    the rpmdb and gives different messages based on that.
    
    This was done without taking the root dir into account leading to wrong
    messages if the file only exists in the root dir but not outside.
    
    Resolves: #2576

commit 3fa2ae78db9b31edb4c22f3b5cd36c6c972947f1
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 26 15:01:35 2023 +0200

    Duplicate filename before passing it to basename
    
    basename is allowed change the string passed to it. While we don't need
    the filename after that just casting away the const seems a bit too
    hacky.

commit b2e67642fd8cb64d8cb1cca9e759396c1c10807d
Author: Calvin Buckley <calvin@cmpct.info>
Date:   Tue Jul 11 19:22:41 2023 -0300

    Fix missing basename include on macOS

commit f07875392a09228b1a25c1763a50bbbd0f6798c2
Author: Calvin Buckley <calvin@cmpct.info>
Date:   Tue Jul 11 19:16:11 2023 -0300

    Fix missing signal.h include
    
    macOS doesn't include this by default, so the signal functions
    won't be found with -Wimplicit-function-declaration.

commit 2bdd7d7cbd77b13abf512bb919abe7f0537a2c45
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 14 10:45:01 2023 +0200

    Replace systemd-sysusers by new sysusers.sh script
    
    for user and group creation. It creates system users and groups based
    on files in the format described in sysusers.d(5) using useradd and groupadd.
    
    Only supports the --root, --replace and -help parameters.

commit 68a36d1d857fb2ec362d757cff08b41d26b7e267
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 25 21:25:49 2023 +0200

    Mount the common tree snapshot as read-only
    
    This ensures no single test can (accidentally or intentionally) alter
    the shared tree and influence the subsequent tests.
    
    It also makes us comply with the following OverlayFS requirement:
    
        Changes to the underlying filesystems while part of a mounted
        overlay filesystem are not allowed. If the underlying filesystem is
        changed, the behavior of the overlay is undefined, though it will
        not result in a crash or deadlock.
    
    This could have previously been violated when running parallel tests.
    
    Contrary to what I thought in commit
        cf8716f204f1eed196ca7ae905288261e0c88c3b,
    to make this work, all we need is to mount a new tmpfs at /tmp in the
    snapshot, as that's where some of the processes (patch(1) in particular)
    need to write.
    
    Update the comment in mktree.rootfs accordingly, too.

commit 3b2e5eba187feef56b113a59e88aa05634a471d3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 24 21:39:10 2023 +0200

    Add mktree.podman backend
    
    This backend uses Podman with the bundled Dockerfile to build the test
    image.  RPM is built in a container as that's part of the Dockerfile.
    
    This makes the test-suite more portable since only Podman needs to be
    installed when using this backend.  That's especially useful in a CI
    environment where we may not have a native backend for whatever OS the
    VM is running, e.g. Ubuntu LTS in Semaphore CI.
    
    Since it must be able to run without a build system in place, make it
    also usable as a standalone script.  For more portability, allow for
    Docker to be selected in place of Podman by invoking it via a symlink
    (multi-call).
    
    We used to have a "make ci" target previously, add it back now and point
    it to the script.
    
    Make it also serve as a fallback backend now.

commit d30f55fde01985e85705358cb308f7253571d86e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 25 17:12:46 2023 +0200

    Add mktree.rootfs backend
    
    Useful when building RPM in a disposable container or VM, see the
    comment block for details.  This is also a prerequisite for the next
    commit.

commit 750923966a19e87306f14911f0ba5aca1e24c632
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 18 10:57:22 2023 +0200

    Refactor cmake
    
    No functional change, just prepare the ground for the next commit.

commit fb7835ba94ff5a008f594f98b0a988214b2d1986
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 24 21:48:33 2023 +0200

    Add mktree.common
    
    No functional change, just prepare the ground for the next commits.

commit 4ecdaee453e5a128cada8fa9ed3d8304120baf68
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 15:54:41 2023 +0200

    Turn Dockerfile into a standalone RPM image
    
    So far we've only used the Dockerfile for *building* RPM and then
    running the test-suite in a container.  Make it actually useful for
    building a complete RPM image out of the source tree.  That's the
    typical purpose of a Dockerfile in a project, after all.
    
    Not much is missing, just basically remove the stock RPM installation
    and replace it with our own.
    
    After this commit, one can just run
    
      podman build -t rpm -f tests/Dockerfile .
      podman run -it rpm
    
    to get a shell with the current checkout built and installed, as a
    podman-based alternative to the native "make shell" support.
    
    To run the new test-suite (in our CI) using this image, a bit more work
    is needed so we'll leave that for the next commits.
    
    Also add a .dockerignore file so that the _build subdirectory that we
    "officially" support is not needlessly copied to the image if present.

commit 53df9991e1d69ac0abc1d56747d8963726ff379c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 15:53:45 2023 +0200

    Drop ci/ directory, move Dockerfile to tests/
    
    Leave Dockerfile.debian out for now as it would need adjustment to the
    new test-suite and that's not really the focus right now.  It was only
    experimental at this point and not really used in CI, anyway.  We may
    add it back at some point, though.
    
    This is in preparation for the next commits.

commit 23944be20b288cae0b9317309c629bd4a2cea187
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 24 18:38:06 2023 +0200

    Add support for mktree backends
    
    Choose a suitable mktree implementation ("backend") at configure time.
    Prefer one that's named after the host OS but allow to override.  Turn
    the existing mktree into a template and move the Fedora bits to a new
    Fedora backend.
    
    This allows the test-suite to support other (Linux) distros on the host,
    provided that someone writes and contributes backends for them.
    
    It also allows for supporting completely different image building
    methods which is what we're going to do next.

commit c779f5d3e529ceb44c364f591f68b4ee38ad9dd2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 24 21:45:01 2023 +0200

    Rename mktree.in
    
    No functional change, just prepare the ground for the next commit.

commit 8ff93e71fd3600ceb731d40892be88818e6e8a96
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 10 19:38:54 2023 +0200

    Place TESTPROGS binaries into PATH
    
    This makes the test-suite script standalone so that it can be run from
    any location in the filesystem (provided that atlocal is adjacent to it)
    which will be useful in the next commits.

commit 3d0f2d79a874f664a962792937a4f22a27c1f800
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 24 17:19:11 2023 +0200

    Add convenience DNF wrapper to "make env"

commit cf8716f204f1eed196ca7ae905288261e0c88c3b
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 20 16:43:00 2023 +0200

    Base per-test snapshots on the root filesystem
    
    Now that we mount a snapshot at /, we don't need the other one, so drop
    it and refer RPMTREE to the former.
    
    The snapshot must remain writable due to some of the tests launching
    programs that store temporary files outside of the test directory, e.g.
    those using run().
    
    This means per-test snapshots will now be based on a writable tree,
    however that's fine since no single test is (or ever was) supposed to
    make destructive changes to the root filesystem anyway.

commit 1592f160f506f80c0701757d4b4f0b5be18329ce
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 17 10:37:01 2023 +0200

    Containerize the whole test-suite
    
    Run the rpmtests script itself from within a writable snapshot instead
    of natively.  This prevents a misbehaving test from accidentally
    modifying the host filesystem.
    
    It also makes the setup a whole lot simpler since we no longer have to
    mess around with various environment variables just to make the binaries
    launched without runroot() work off of the tree.
    
    This new setup makes the test-suite simply exercise the RPM installation
    in the root filesystem and lets mktree do the job of setting that up.

commit 3772869758f70eb6aff3829dfe332c54e8841fef
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 21 19:33:24 2023 +0200

    Mention new test features in README
    
    Intentionally brief, we may extend this later.

commit ed94ebf682dc395566f45d1d472fd9c94075d29c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 10 10:57:01 2023 +0200

    Add support for "make shell"
    
    This allows for running the current RPM checkout in a container, and is
    just a fancy shorthand for
    
      make env
      runroot_other sh
    
    which additionally mounts the tests/ directory at /srv, sets the
    hostname to "sandbox" and uses the default shell for the root user in
    the image instead of plain sh (if configured).

commit 1b70fd23bc45d2ec8a97c09b06fc3d7011b34cfc
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Sun Jul 9 14:22:50 2023 +0200

    Start with clean environment in bwrap containers
    
    Instead of selectively unsetting variables, just use the --clearenv
    option and then --setenv for those few variables that we actually need.

commit 03126a17b403d4b92996a6ce001ab34f85b75979
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Sun Jul 9 14:14:21 2023 +0200

    Replace fakechroot with proper container tech
    
    Use Bubblewrap to spawn real containers instead.  Farewell, fakechroot,
    you served us well but it's time to move on.
    
    Fixes: #1580

commit f134eb18942fa50f40f20f34d350ee9969f34ced
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Sun Jul 9 15:36:52 2023 +0200

    Add RPM_CONFIGDIR_PATH to atlocal
    
    RPM_CONFIGDIR currently serves two purposes in the test-suite: to
    specify the actual runtime config path for RPM and to obtain the path to
    various utilities (e.g. elfdeps or rpmuncompress).
    
    In the next commit, we'll have to redefine the latter but not the
    former, so prepare ground by adding a separate variable for the latter.

commit ec346c49376ba22e1c5319cf1d87133c659c4163
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 10 11:03:53 2023 +0200

    Add support for "make env"
    
    Allow for running a shell inside a test-like environment with RPMTEST
    pointing to a writable snapshot.  This feature can be handy when
    debugging a test or just testing your RPM checkout manually.

commit b851823b806c1f499bc185b87c0b21b13dc156c4
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 17 16:40:31 2023 +0200

    Automatically remove test image on "make clean"

commit c3ef4de3667bacd4b44f5c150f55af13e6496a2c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 17 15:58:53 2023 +0200

    Bootstrap a self-contained OS image with mktree
    
    Instead of cobbling together a directory tree with a bunch of symlinks
    to the host and letting fakechroot do its "magic" where it resolves
    those before entering a chroot, build an actual OS image containing
    RPM's runtime and test dependencies.
    
    This will allow us to spawn real containers on top of that image and
    thus get rid of fakechroot in a later commit.
    
    Assume the host is running Fedora Linux and use DNF to bootstrap the
    image.  We'll make this pluggable in later commits so that other hosts
    can be supported.
    
    The resulting image now contains actual data and thus is significantly
    larger in size than the previous symlink-based one so instead of
    recursively copying the whole image in each test, use OverlayFS to
    create cheap, disposable copy-on-write snapshots.
    
    The image consists of two layers (directory trees): the base layer (made
    by DNF) and the installation layer (made by "make install").  This
    separation allows for quick "make check" iterations where only the
    installation layer needs to be rebuilt.
    
    These two layers are then combined into a read-only OverlayFS filesystem
    which represents the tree to be tested.  Per-test, writable snapshots
    are created on-demand (i.e. when the RPMTEST_SETUP macro is used) as
    usual.
    
    Make use of Linux user and mount namespaces in order for this to work as
    a regular (non-root) user.
    
    Lastly, adjust the rpmlua test expecting rpm.redirect2null(-1) to return
    "Bad file descriptor" as it would now be "Read-only file system"
    instead.  Do this by giving the test group a writable snapshot.

commit 1b1100760854fb39c443bb1d3afe508b4e6a5bed
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 20 18:51:44 2023 +0200

    Use $RPMTEST in dir check
    
    No functional change, just cosmetic.

commit f7496b842cc4a44963ea76d824cbc5d8b250a969
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 20 14:55:43 2023 +0200

    Rename sandbox() to snapshot()
    
    This will be a better fit after all.

commit f83f85093b239f6db5886fb9c3254640680e9ae6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 17 14:12:24 2023 +0200

    Refactor mktree
    
    No functional changes, just add some structure into the script so that
    the next commit has a nicer diff.

commit 5d22958d2754041a719f80702195dc61cd764bc5
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 13:15:26 2023 +0200

    Silence awk if no RPM_CONFIGDIR in atlocal
    
    We're going to source this file in mktree in the next commit and thus it
    might fail if the RPM install prefix chosen for the build isn't the same
    as the prefix used on the host system.
    
    Ignore the error, DBFORMAT is only useful when sourced by the rpmtests
    script, anyway.

commit 2419aa06e8729662184eba33756c17dc11730bdf
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 12:54:59 2023 +0200

    Actually ensure no rpmdb in "no rpmdb" test
    
    We currently rely on the fact that a per-test $RPMTEST dir has no rpmdb
    in it but that's not going to be the case in the next commits so fix up
    the test.

commit 33bc736185b6929d9c61678843729ce51833365d
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 25 09:04:34 2023 +0200

    Fix broken link to downloads page
    
    in the README
    
    Resolves: #2566

commit 1bd0f9cd2eb60c30f6076b202942ab8f43c4e41b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 17 15:17:53 2023 +0200

    Make RUNDIR lower case (rundir)
    
    to match all other directory related CMake variables. Yes, it looks like
    RUNDIR was added to end up as a C macro which are typically upper case
    (and there still is an RUNDIR C macro) but it looks weird in the
    CMakeLists.txt file.

commit cececfb6851234aca3e8d102de1c192c6bdf3e67
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 17 14:40:36 2023 +0200

    Set %_sysusersdir independent from our prefix
    
    This is always in /usr no matter what prefixes are used either in rpm or
    systemd as it is package installed system configuration.
    
    Setting this hard coded to not require systemd as a build dependency.
    Otherwise the sysusers_dir or sysusersdir pkg-config variable could be
    used.
    
    Borrowing the _root_prefix idea from systemd for /usr independent of _prefix

commit 80b9c7927bc0316dcdbf7ce877921b3875fdc87d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 10:34:43 2023 +0200

    Remove toplevel _dbpath in tests, not just files
    
    Prevent RPM from trying to rename(2) a pre-existing %_dbpath directory
    (last path component) when doing an rpmdb --rebuilddb in the tests.
    
    This makes --rebuilddb work in the tests even if %_dbpath resides on
    lowerdir when using overlayfs, which will come in handy in the next
    commits.
    
    Otherwise, if %_dbpath was on lowerdir and was never copied up or
    recreated on upperdir, --rebuilddb would fail with EXDEV, due to the
    following property of overlayfs (quoted from [1]):
    
        Directory renames only allowed on "pure upper" (already created on
        upper filesystem, never copied up).  Directories which are on lower
        or are merged may not be renamed.  For these -EXDEV is returned and
        userspace has to deal with it.  This means, when copying up a
        directory we can rely on it and ancestors being stable.
    
    Note that this is already an issue in e.g. podman containers where you
    have to manually do the removal before a --rebuilddb (see #2355).
    
    [1] https://github.com/torvalds/linux/blob/v4.8-rc2/fs/overlayfs/copy_up.c#L318-L322

commit 095a3bf9468937b54d658dde6a70c70a5869d833
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 7 09:57:02 2023 +0200

    Add sandbox mount command
    
    Initialize the per-test tree in the sandbox wrapper.  We'll replace this
    code in the next commit, this is just to make that diff simpler.

commit 88d9e8110b4a4b2ec08419659143dc2c90a7a099
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 6 18:41:48 2023 +0200

    Shuffle configure_file() around a little
    
    Just to make the following commits cleaner.

commit a46fed4f845095e2a9680db48067df190649c198
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 6 18:04:17 2023 +0200

    Create the SOURCES symlink in RPMTREE
    
    No need to do this repeatedly for each test in RPMTEST, just do it once
    in RPMTREE.

commit 17fba03990b7e35df708d898e769cdc397f1cdd6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 17:56:05 2023 +0200

    Turn populate into mktree
    
    To follow up on the previous commit, also rename the populate script, to
    better express what it does.
    
    Add the build and check subcommands while at it, we're going to extend
    these in the next commits.
    
    Lastly, put the common tree/ into the new mktree.output/, for the same
    reasons.

commit 29fa3f4ef555e5a04a7257f43f249958367ffab2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 6 16:43:43 2023 +0200

    Rename testing/ to tree/ in tests
    
    Somehow the former name isn't entirely descriptive, use a better one
    (well, in my opinion :P).
    
    The name will be more important in the following commits, too.

commit 474f93088ca1a3de674a9ef2065835909da444d2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 26 16:08:58 2023 +0200

    Add RPMTREE variable to tests
    
    Make it explicit that the initial RPMTEST value is in fact the common
    shared testing/ directory (a.k.a. the image) produced by the populate
    script.
    
    Many tests don't actually initialize their own per-test testing/
    directory (by means of RPMTEST_SETUP or RPMDB_INIT) and only need
    read-only access to the shared one, that's why RPMTEST needs to be
    initially set to that directory, so keep that.

commit 904a6dd487cff68f726c080b9e36b52c0241183e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 14 16:26:48 2023 +0200

    Add sandbox exec command
    
    We'll be adding more subcommands to sandbox soon so prepare the ground.

commit bd5517da531fc7ddbe83a157ffdcfd718df5413c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 6 13:34:27 2023 +0300

    Gah, another last-minute edit brought back a debug warning...

commit 5bf144829a5d6929a7b10f0c5677693390db7ce5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 6 12:18:22 2023 +0300

    Sanitize the helper tool search path in cmake
    
    By default cmake uses $PATH for find_program() lookups, which seems
    reasonable and even obvious until you start seeing things like
    /usr/lib64/ccache/cc in the macros file.
    
    Have cmake use a sanitized path (the usual bins) by default and allow
    augmenting via MYPATH environment variable again (another thing temporarily
    lost in the cmake transition). This gives us more reasonable output even
    with ccache installed while still allowing flexibility for more custom
    setups.
    
    In the autoconf days configure would AS,CC, CPP, CXX, LD and whatnot from
    the auto* environment directly, but cmake has no direct counterpart for
    many of those and for the rest, are equally infected by ccache hacks
    as find_program() is. Handle all the tool lookups with the same logic
    and same lookup. Also take care of c++ <-> CXX mapping, no compiler I know
    of installs a file called "cxx" anywhere in the path, its just "c++".

commit f08333b06e0379eb60ca6ee17ba99d3392751718
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 14 16:02:11 2023 +0200

    Break the long run*() commands into lines

commit c1be6d7e36891b0eb4f85376847a6569516c0c2e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 4 19:23:21 2023 +0200

    Wrap fakechroot in new sandbox function
    
    This is mostly cosmetic right now but will come in handy when we
    actually replace fakechroot in the next commits.

commit 070afbf3dbeaffbcc731c411fe43e6a046f100e9
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jul 4 19:19:52 2023 +0200

    De-duplicate the long command in rundebug()

commit 832bd74aba301905b0e905a143006bcf8b79e671
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 5 15:58:00 2023 +0200

    Drop redundant TOPDIR use from tests
    
    The only two uses of TOPDIR in the actual tests were no-op since those
    tests already got a clean $RPMTEST directory each, anyway.  In fact,
    parametrizing a "rm -rf" call in such a way is just asking for trouble
    (people have lost their $HOME in the past due to a silly typo in some
    test code, not too different from this).
    
    This is a prerequisite for the upcoming test suite overhaul.

commit d90202cd1a25bc8e4595a039776aa87180a9b400
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 09:49:42 2023 +0200

    Drop redundant atconfig
    
    Similarly to the previous commit, just use the cmake vars directly in
    atlocal.in, and drop atconfig entirely.
    
    For the tests where we used $abs_srcdir to access $RPMTEST/data, replace
    that with $RPMDATA which already contains the whole path.

commit 8e9b992d2589c61622e61bc1a51b7a9520b96436
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jun 13 13:28:54 2023 +0200

    Drop test-related *dir vars from cmake
    
    No need for such indirection when atlocal.in is itself configured by
    cmake, just use the vars directly.

commit 65d0ede087f4f21bff116e8c4e8c69373717a2d3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 3 17:55:48 2023 +0200

    Find required test programs in tests/ cmake file
    
    Albeit cleaner, not terribly important but simplifies the upcoming
    commits a bit.

commit cecd58910171cf450abdf7a0e9c20c31fff12f51
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 12 17:17:47 2023 +0200

    Don't init plugins in Python tests
    
    This just reflects what the CLI tests do (--noplugins in atlocal.in) and
    is a prerequisite for running the tests in containers where we don't
    want plugins to interfere (in case the build was configured with them
    enabled).

commit 9aa9b2cf5068a4dc8f87ed5f44c0f1c4ed1a69d5
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 17:46:19 2023 +0200

    Let rpmtests target depend on local.at
    
    The local.at file literally is part of the rpmtests build so reflect
    that (practically, this means whenever local.at changes, rpmtests will
    get rebuilt, as it should).

commit 09bc493804c750f385b25bbeec8f7a80e865def0
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 5 13:16:42 2023 +0200

    Don't depend on %__cc from build system in tests
    
    This will be needed for when we move the tests into containers as
    otherwise %__cc could point to arbitrary stuff that's likely not in the
    container image (e.g. ccache).

commit ead14038038b183d93a81f0503e76e083a9fc98d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jun 13 14:21:30 2023 +0200

    Fix WITH_CAP check in tests
    
    Lost in the cmake translation, the two caps tests in rpmverify.at that
    used CAP_DISABLED were silently skipped for no reason, re-enable them.
    
    This was due to WITH_CAP being an ON/OFF option in cmake, not a 1/0 one.
    While at it, just reference the cmake variable directly, though.

commit 784280c4a26135a22346e0830450b9c5d6e7cb08
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 17:45:53 2023 +0200

    Move COMMANDs onto separate lines
    
    Easier to read (in my opinion, that is).

commit f2f5355d637d80490d10158da861d149e48e6302
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 17:41:58 2023 +0200

    Cluster add_custom_*() calls together
    
    Just cosmetic but will make things more tidy in the next commits.

commit 54ab87ec89a627417474d89fd4cfc281021b2fe2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 21 17:41:07 2023 +0200

    Capitalize our cmake vars in tests/
    
    This is for consistency with the other vars we define here.

commit afa9eb5f2b1f26b8d3fd06ee93755826e5e32a1c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jun 13 11:45:14 2023 +0200

    Remove redundant runroot_other

commit 0c18d214e2457155c20c04e9a64e7b4c3462c906
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 5 14:00:40 2023 +0300

    Fix systemd-sysusers helper path discovery
    
    systemd-sysusers location does not depend on rpm's idea of %_bindir,
    use cmake to discover it along with the other tools we use.
    To handle this, we the need to translate the dash into an underscore
    in the variable name.

commit adafe8d04724b78e0a14a6f499b40d6cf0711d7b
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 12 16:30:33 2023 +0200

    Replace AT_CHECK and AT_CLEANUP with RPMTEST_*
    
    We're going to do some stuff before and after these macros in the next
    commits/PRs so better do this beforehand.

commit 2d68e5fedae86dabf019c3f02330438b7378803c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 5 13:21:06 2023 +0300

    Silence mknod "failure" in the test-suite setup
    
    We're only testing whether mknod is usable or not, so a failure is not a
    failure, just information. Silence the distracting message.

commit b22ab58460a5ff5aea03b1564d991540ec7c4f57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 5 12:46:35 2023 +0300

    Drop bogus %{?dist} from test-suite specs
    
    The only thing that %{?dist} conditional achieves is breaking the test
    if defined.

commit a09f68e4f4563f155e852cf9a5820eaabc4713d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 5 11:45:01 2023 +0300

    Fix library version test to only look for ourn own libraries
    
    This causes a bogus failure when there's something else in the
    same directory.

commit 36c48df0fef4be7219b1ef6afe4c81614ab9d592
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 5 14:00:38 2023 +0300

    Test user-creation + verify in a --root operation

commit fe645f822dbd71da4145f6174e526a09eb5c815e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 4 11:59:36 2023 +0300

    Simplify rpmug caching
    
    The simple cache whose efficiency troubled ewt back in 1997
    (see commit 97999ce92c1cad3315d85c02bb3c62007a75d846)
    has proven more than adequate over the years.
    
    In a local testcase based on Fedora 33 server iso contents, an install
    of 1765 packages consisting of 201344 files did a whopping 27 user +
    groups combined. So a few more alloc+free is not going to make the
    damnest difference, don't bother with reallocing the cache buffer, just
    strdup() a new one when needed.

commit f3eaeeb7341085e1850e914350cf1f33d538320d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 4 11:10:12 2023 +0300

    Make user/group info reliable operation across chroot
    
    There's no telling what sort of caching getpwnam() and friends perform
    behind the scenes, and worse, there's no way to explicitly reset those
    caches. This can lead to chrooted operations using user/group data from
    the host, which is simply wrong.
    
    Do our own parsing of /etc/passwd and /etc/group to fix. Besides the
    chroot matter, we then only ever lookup local system users and groups
    and not something from eg network name services. We cannot reliably
    do NSS in a chroot because doing so would require relying on binaries
    in the chroot, which in itself is completely unreliable. NSS is also
    unreliable in various rescue mode situations. Bottom line, local files
    are the only ones that can be guaranteed for rpm operation, and this
    change basically enforces that.
    
    Technically we should track chroot status for each lookup and flush the
    cache if the state changed, but this is an internal API and rpm usages
    only ever call it from one side of the chroot for a given operation.
    
    Fixes: #882, #1789

commit 9de8502fc6eafa2a6f4e618ea55523fa27e5bd07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 3 10:35:48 2023 +0300

    Mention systemd dynamic user feature in user/group manual
    
    Suggested by Colin Walters.

commit 9e24ba12691a7a2a2de64104405a2a6a2981e6d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 30 14:22:11 2023 +0300

    Unset RPM_CONFIG_DIR for package building scripts

commit 00085e2b1ffcae8701e026e4e30a7ca49e1488cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 28 13:55:44 2023 +0300

    Bump version to mark the beginning of a new devel cycle

commit 909fd823f1cf26303047917bea92197937ca722d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 28 13:50:22 2023 +0300

    Ensure reproducability test runs with hard requires for user/group
    
    This distro tunable can throw off the results by quite a bit.

commit 7ec148c1d61e0b526ae5c917f0ddc2b4a3222146
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 28 13:42:47 2023 +0300

    Fix reproducability test --define usage
    
    --define's should never start with % because it can cause unexpected
    expansions to take place, causing the define to do something else than
    intended.

commit 0aca51b138e1c713a9da9ce5b2616f3d0085b668
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 28 11:08:00 2023 +0300

    Require real names for contributions
    
    Real names in git commits has always been the expectation, even if there
    have been some slippages. Make it an explicit requirement so the
    contributors know what to expect.

commit 6f5d9b4677d5f93a6efa2c2a0c4469573adae01b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 27 15:19:49 2023 +0300

    Really handle hardlinks in the rpmunpack python example, doh

commit 9e3bb9fd43ccacefc33ecf895a8544fd7116ad62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 22 09:20:54 2023 +0300

    Add some Python binding examples
    
    It's not whether these are particularly important examples or not
    (they're not), but adding more will be so much easier once the place
    to add them has been established.
    
    Fixes: #2075

commit 911a4f253c7213a8570028a7dc2a20b045de8e9e
Author: Fabian Vogt <fvogt@suse.de>
Date:   Mon Jun 26 16:28:07 2023 +0200

    Actually return an error in parseScript if parsing fails
    
    The return value is stored in the "res" variable which is set to the return
    value of parseLines early in the function. Past that point, any "goto exit;"
    caused the function to return success. This was introduced by 52ce88851abb
    ("Port parseScript() to use parseLines(), no functional changes"). To fix it,
    reintroduce the nextPart variable.

commit ea3187cfcf9cac87e5bc5e7db79b0338da9e355e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 26 12:45:09 2023 +0300

    Don't muck with per-process global sqlite configuration from the db backend
    
    sqlite3_config() affects all in-process uses of sqlite. librpm being a
    low-level library, it has no business whatsoever making such decisions
    for the applications running on top of it. Besides that, the callback can
    easily end up pointing to an already closed database, causing an
    innocent API user to crash in librpm on an entirely unrelated error on
    some other database. "Oops."
    
    The sqlite API doesn't seem to provide any per-db or non-global context
    for logging errors, thus we can only remove the call and let sqlite output
    errors the way it pleases (print through stderr, presumably).
    
    Thanks to Jan Palus for spotting and reporting!

commit 27c2a7ba9731c3a6eff4d4f9591e0250d83fa91e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 20 12:11:56 2023 +0300

    Drop unnecessary internal includes from the fsverity plugin
    
    Same as 995d1b3fc95a669785136d90c9efa4bc5cb15041, don't know how I
    missed this despite actually looking.

commit d4bf132d6b5a07dc49422c836fe79bb9adaad275
Author: Fabian Vogt <fvogt@suse.de>
Date:   Fri May 12 14:03:30 2023 +0200

    For completeness, make sure CPUID leaf 7 is supported before using it
    
    It's theoretically possible for a x86-64-v2 compatible processor to not
    have CPUID leaf 7, in which case it returns the data for a lower leaf instead
    (instead of a sensible value of all zeros...). While this is already covered
    by the use of __builtin_cpu_supports now, do it explicitly for completeness.

commit 34d657bfa8f8cf956546c94582ace50d945c6fbf
Author: Fabian Vogt <fvogt@suse.de>
Date:   Fri May 12 13:21:52 2023 +0200

    Use __builtin_cpu_supports in x86-64 CPU feature level detection
    
    Just CPUID is not enough and neither is just __builtin_cpu_supports,
    so use both.
    
    Fixes: #2463

commit 7072b2d2b92e4d2731451bdcca8d83ab6b945016
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 20 10:11:20 2023 +0300

    Fix per-file plugin hook regression introduced in 4.18
    
    Commit 6dd62720fe84f7e2ad902c915b952fc0b29e3dcd neglected to update
    rpmpluginsCallFsmFilePost() to pass the absolute path in the case
    of unowned directories. Because in that case there's no rpmfi to
    pass to the plugin in that case, there's simply no way for the plugin
    to know what path is being manipulated. Oops.
    
    Fixes: #2543

commit cebdb1e88a746b8cd28d6a63c0af57b582c750f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 20 09:49:57 2023 +0300

    Document spec parse recursing at BuildArch
    
    Fixes: #2545

commit 3a50688558f18cfb250b2e70bc34464a8e089d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 20 09:34:47 2023 +0300

    Fix rpmDigestBundleFinal() and Update() return code on invalid arguments
    
    Discovered via #2548, these functions merrily return zero for success
    when passed NULL data. In rpm nothing bothers to check for their return
    codes but it doesn't mean it's the right thing to do

commit ced4d24f0892d588fb6cb7292d35e7555e2f454e
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 15 13:41:51 2023 +0200

    Only add arch, os and platform, self-provides once
    
    per package even if we do multiple parse passes. This is a quick fix for
    the dynamic spec feature that executes the parsing code multiple times.
    
    This needs to be sorted out properly to only do the necessary things
    (for the build scripts) here and postpone everything else after the
    secondary parses. But that requires larger changes.

commit 8ec9cfc81c3f8326a1c7ee5b795ef517cd48e6b4
Author: yuxiaojun <yuxiaojun1011@outlook.com>
Date:   Wed Jun 14 11:23:24 2023 +0800

    Fix possible null pointer reference in ndb
    
    slot1 and slot2 may be NULL
    
    Signed-off-by: yuxiaojun <yuxiaojun1011@outlook.com>

commit 119350cd9a9c8cff3fea31baef8a2f354c8ed91d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 13 14:54:05 2023 +0300

    Show the tag number for unknown tags in --xml output
    
    --xml is only really useful for diagnostics, and for that purpose in
    particular, showing "(unknown)" text instead of the tag number
    for unknown tags is just offensively dumb. No more!

commit 0830d4876b5cdec8cf2decdf3551f31c0637ad4d
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Mon Jun 12 14:21:57 2023 +0200

    Add doc note that getopt processing only supports short options
    
    See #2541

commit c8f06a53534b676fa13bd764a832f844e4560e73
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Mon Jun 12 14:20:07 2023 +0200

    Add doc note about 'disabled option processing'
    
    See #2541

commit 995d1b3fc95a669785136d90c9efa4bc5cb15041
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 13 12:55:57 2023 +0300

    Drop unnecessary internal includes from the IMA plugin

commit df8d1fb1b32becf61bbe0366bd7a1966157bf08f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 7 13:33:10 2023 +0200

    Add %specpartsdir to macros.in
    
    so it can be configured from the spec file
    
    Also move the dir beside the %buildsubdir as %{buildsubdir}-SPECPARTS so
    it doesn't pollute the %buildsubdir.
    
    Resolves: #2532

commit 9fce49098878dded2d3dc4c6f0cb282737ff197e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 14:32:10 2023 +0300

    Fix error handling of rpm.execute() and rpm.redirect2null()
    
    The error handling of these Lua functions is wrong in so many ways I
    wont list them all here, but eg. rpm.execute() tries to find an
    strerror() string for an exit code of a process, returns a waitpid()
    error with code 0 and string "success" and rpm.redirect2null() always
    returns a failure despite success and never any meaningful error code.
    The latter probably did the right thing when it was in lposix.c but
    the pushresult() and pusherror() versions in rpmlua.c are rather
    different.
    
    To sort the mess, handle the actual error code checking at call site
    and the pushfoo() functions do just that: push the result on the stack
    and nothing else. Add some test-cases to go.
    
    Fixes: #2528

commit 26d3802390602c6aadc523bfb84426914c8fa050
Author: Arun Ajith S <aajith@arista.com>
Date:   Tue Jun 6 07:20:06 2023 -0700

    rpmrc: Fix how x86 models are derived
    
    The code to autodetect x86 CPU model runs the cpuid instruction after
    setting up 1 in eax. This gives the processor signature back in eax
    which encodes the model number.
    
    As per Intel Application Note 485 and AMD publication #25481, when
    deriving model, we should look at both the base model in eax[7:4] and
    the extended model in eax[19:16]. However current code is only looking
    at base model and this causes some newer CPUs like Icelake(Model 0x6a)
    to be detected wrongly as Pentium 3(Model 0x0a).
    
    Note that this code is only exercised when rpm is built as 32-bit
    binary because all of this is within a `#if defined(__i386__)`.
    
    Because of this misdetection on Icelake, `setarch x86_64 rpm --showrc`
    has `pentium3` as the `installed arch` instead of the expected `x86_64`.
    It doesn't have `x86_64` as one of the `compatible archs` as expected.
    Attempting to install a x86_64 rpm with `setarch x86_64 rpm -i` is
    failing with `is intended for a different architecture` errors.
    
    ```
    ARCHITECTURE AND OS:
    build arch            : i386
    compatible build archs: pentium3 i686 i586 i486 i386 noarch fat
    build os              : Linux
    compatible build os's : Linux
    install arch          : pentium3
    install os            : Linux
    compatible archs      : pentium3 i686 i586 i486 i386 noarch fat
    compatible os's       : Linux
    ```
    
    Fix the code to also consider extended model and extended family when
    applicable. The implementation is similar to the one in the linuxi
    kernel.
    
    References:
    https://www.scss.tcd.ie/~jones/CS4021/processor-identification-cpuid-instruction-note.pdf
    https://www.amd.com/system/files/TechDocs/25481.pdf
    https://elixir.bootlin.com/linux/v6.3.6/source/arch/x86/lib/cpu.c#L19
    
    Fixes: #2535

commit e9f95c5985bd0b3fa81a0dd75dc5a5b2fdb6220a
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 12 12:13:02 2023 +0200

    Add RPM_LD_FLAGS to build environment
    
    Added in Fedora in 2011 to allow to %define _hardened_build 1 in one's
    specfile and have all the necessary gcc and ld flags configured in the
    common cases.
    
    See also rhbz#728974 and FESCO ticket 563 (https://pagure.io/fesco/issue/563)

commit 51c596a6c893824d459ddc6ac28ea28e9f391bd4
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 2 14:47:59 2023 +0200

    Move dbus announce plugin config to DATADIR
    
    Users are not supposed to meddle with this. So it really should not go
    into /etc.
    
    Use the DATADIR from dbus-1 and not our own install prefix.
    
    Resolves: #2474

commit 6caf2a5f586838f6188dd6667a4df6d9c6ec0163
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 1 09:45:01 2023 +0300

    Remove obscure check for package build time from --rebuilddb (#2527)
    
    Back in 1997, commit be0b90359bcd8156385178eb9b570c0538c0333f added a
    sanity check for --rebuilddb operation, skipping headers which lack
    some basic tags. Name, version and release are real requirements for
    packages, but checking for buildtime is odd, and plain wrong.
    Yes, we expect that to be present in packages built by rpm, but that's
    not used for any processing and certainly is not required for a package
    to be installable. And if it can be installed then it can't be
    right to throw it away when rebuilding, leaving untrackable orphan
    files in the process.
    
    It is also documented as informational and optional by LSB. While
    severely outdated, it is right on this account.
    
    Fixes: #2527

commit 9f568c459e3c004f3a097e902555c393547c4c03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 29 13:55:20 2023 +0300

    Export rpmGlobPath() to Lua as rpm.glob()
    
    Lua doesn't ship with batteries, or glob functionality. It's not
    unthinkable that packagers and macro writers may find globbing useful
    in this space.

commit 636eaddf03bd4c2213129ba633ec7d784c5825e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 30 11:52:58 2023 +0300

    Fix Lua docs rpmio mode table rendering (missing newline)

commit b38077eae068200f569331f50980ea96808e4c4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 29 11:13:47 2023 +0300

    Add %{rpmversion} builtin macro for getting the running rpm version
    
    Seems like a useful thing to have, and a bit crazy that we haven't had any
    reasonable mechanism for this before now.
    
    Fixes: #2523

commit 83413bfd3949d7a1f18f00b03333a59f77d41dc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 29 10:34:57 2023 +0300

    Revert %_smp_build_ncpus change to a parametric macro (RhBug:2210347)
    
    Commit a213101bc3af65c860d045c65fb4e2ef7566a4c6 changed %_smp_build_ncpus
    into a parametric macro, but this breaks common usage via the Lua macros
    table as parametric macros are returned as closures rather than the
    expanded value.
    
    This seems like a design flaw of the macros table, but as an immediate
    remedy for the breakage, add another layer of indirection to revert
    %_smp_build_ncpus back to a non-parametric macro.
    
    Fixes %constrain_build macro in Fedora, which ironically is made obsolete by
    the change that (unintentionally) broke it.

commit 015c829c7670c606b952bb34ef69debb60f5985a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 25 10:39:05 2023 +0300

    Macro documentation improvements
    
    Use tables where they make sense, group builtins by category that
    can be linked to, add version introduced where relevant. In addition,
    some awkward/misleading wordings fixed.

commit 03525592c944957f3b7b200b7daeb9f615cdcde7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 23 12:46:22 2023 +0300

    Fix a copy-paste --help description of --whatconflicts (RhBug:2208661)

commit acfe252822db37fc9f47c221c4e3ae79a5f0be27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 22 18:19:24 2023 +0300

    Fix undefined symbols from plugins in some circumstances
    
    Another bit lost in the cmake transition: plugin linkage to librpm and
    librpmio. In rpm itself this doesn't really matter because the running
    process supplies the necessary symbols but it's a different story when eg
    a Python process uses dlopen()'ed bindings.

commit 021a7d3aaa5458d8956babf0220a3e574a2b8e62
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 17 17:23:59 2023 +0200

    Use mkdir -p for creating SPECPARTS dir
    
    to not error out when invoking %setup more than once or shipping the
    directory in the sources.

commit 2df8008d22b58f87fe665de0fa8c5bbeb4b4a3d8
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed May 17 12:39:47 2023 +0200

    Enable large file support on 32-bit systems again
    
    Replace 32-bit sizes in types like off_t with 64-bits when building on
    32-bit architectures, to enable large file support there.
    
    This fixes a nasty regression introduced in the cmake transition.  As
    autotools would set this flag to 64 automatically for us, applications
    linking against librpm (such as libdnf, librepo, libsolv or drpm) are
    already adapted to that and are also building with the value of 64
    (explicitly, we never exported this flag through pkg-config ourselves).
    However, us suddenly expecting 32-bits in those types on 32-bit systems
    can blow up badly e.g. in functions that take an off_t parameter, like
    Fseek().
    
    There perhaps aren't that many low-level users of librpm but drpm is one
    such example where exactly this happens when built against our current
    master.  It calls headerRead(), leading to Fseek() which receives a
    64-bit offset parameter where it expects a 32-bit one, thus silently
    overwriting the following parameter from 1 to 0 (SEEK_CUR to SEEK_SET)
    which messes up the whole reading sequence in drpm's rpm_read(),
    producing a failure in drpm's test suite that doesn't make any sense at
    first sight.
    
    While at it, also export the flag through pkg-config so that anyone
    linking against librpm is now guaranteed to work correctly even if they
    don't set the flag themselves (kudos to Petr Pisar for suggesting this).

commit 93ee7d9c6164467608094a7e0652a0e3d84a6715
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 09:27:12 2023 +0300

    Silence an apparent false positive warning from gcc in -Og mode
    
    Haven't looked at the assembler but I don't see how xx could be
    uninitialized by the time it gets to the if(), regardless of the
    optimization used.

commit ae1b8c8c4eb26dd677e39a91f65f8a17f6bdbbf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 9 10:10:17 2023 +0300

    Test for the variable rather than it's expansion in cmake files
    
    Testing for the expansion was a cmake newbie mistake that can go wrong
    in weird ways, test for the variable instead, consistently. Don't try to be
    clever with for-loops, just test for each case separately. This makes it
    greppable as well.

commit d18d6ce41df4a5887df47a69052a401808aef19f
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 8 17:50:21 2023 +0200

    Fix bzip2 detection
    
    HAVE_BZLIB_H was not set due to a typo leading to the bz2 support not
    being compiled in although the library was detected correctly.

commit 760eb86380ce2ffba187bfa191c0e13b7552d5c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 5 12:33:20 2023 +0300

    Verify user/group in tests when possible
    
    Take advantage of root(less) aware $VERIFYOPTS added in commit
    fb040f16ec09a10c47f968d995c5bb770b8a7a64.

commit f4c6fc4c17981c54e85341a0381b6a3e9a5728e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 5 13:08:22 2023 +0300

    Don't mask the user verify fail on invalid symlink test
    
    This test only runs as root so let it do its job.

commit a97c376f379ee48c3b0e92e9c79f64c9fd954b64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 3 11:03:22 2023 +0300

    Fix thinko in archive size tag(s) description
    
    The archive size tags are on the uncompressed archive, an apparent
    thinko in 50324700562aa6204d93b1e4e9ae9776ecdeeedb.
    
    Fixes: #2498

commit 07d57462614b1669de1d63661f58fd9fa322411b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue May 2 09:03:50 2023 +0200

    Remove second share/ dir from infodir and mandir
    
    cmake variables and the derived macros.
    
    CMAKE_INSTALL_INFODIR and  CMAKE_INSTALL_MANDIR already include the
    datarootdir. So just prepending the prefix is sufficient.

commit 14aac7d27ea79feeae37106d2d3a570adecc50e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 27 15:21:55 2023 +0300

    Fix file signatures getting loaded when not asked for
    
    Our compound masks for disabling file info bits per operation never got
    updated to include the two separate file signature types. This was
    discovered by rpm-ostree on older rpm version crashing on an IMA signature
    despite passing in RPMFI_FLAGS_ONLY_FILENAMES.
    
    Add the file signatures to the most obvious masks, and add a simple test
    as well.
    
    Fixes: #2425

commit e6a44dbbf9442f070d486e7dc67e9269bd142d4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 27 15:06:55 2023 +0300

    Make the higher level file info selection flags available to Python
    
    These disabler flags have little other purpose than optimizing cases
    where you know you only need a certain subset of files for large
    number of packages. Rather than expose all the individual flags,
    export just the per-operation level masks to Python.

commit 607e60bffef27a4abe22786e2adc4af2dd0a228e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Apr 24 16:34:49 2023 +0200

    Fix leftover "lua.h" import from days long gone
    
    We used to bundle our own Lua interpreter but that's not the case for a
    while...
    
    No functional change.

commit 49befbc12381e95c2dacab50284ff32328a4ef99
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Apr 5 16:33:34 2023 +0200

    Use CMake Lua module
    
    While many distros ship a pkg-config file for Lua, the upstream source
    tree does not provide one and so we shouldn't rely on it.  Turns out,
    CMake provides a native Lua module so just use that.
    
    Unfortunately, the package doesn't define any IMPORTED target so add our
    own, similarly to how we did this recently with libmagic and libimaevm.
    
    Of particular note is that this adds an implicit dependency between
    CMake and Lua (e.g. Lua 5.4 support was only added in CMake 3.18), but
    that hopefully won't have much impact on most OS installations out
    there.
    
    Fixes: #2247

commit 87b9e0c28c3df3937f6676ee1b4164d6154dd9d3
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Wed Apr 12 17:56:19 2023 +0200

    Add pgpVerifySignature2() and pgpPrtParams2()
    
    Add new functions pgpVerifySignature2() and pgpPrtParams2(), which are
    like their earlier versions, but optionally return descriptive error
    messages (in the case of failure) or lints (in the case of success).
    Adjust tests accordingly.
    
    This requires rpm-sequoia 1.4 or later.
    
    See https://github.com/rpm-software-management/rpm-sequoia/issues/39
    and
    https://github.com/rpm-software-management/rpm/issues/2127#issuecomment-1482646398
    
    Fixes #2483.

commit 293b625f3ad6924754ff98a4d486c6aa6e6cffa8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 19 09:59:46 2023 +0300

    Bump CI to Fedora 38

commit 2e25f20f0d4e46cea534e5a5a81a9b1eee02240c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 10:36:57 2023 +0300

    Have dist (and snapshot) targets automatically pull in the po submodule

commit c32ad282bfed2e236dde024b5f90c75d55598c4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 10:31:10 2023 +0300

    Revert "Oops, require translations for dist tarballs"
    
    This is actually the wrong thing to depend on.
    
    This reverts commit 4e69677ecde58d49ddfa77996862be41e76e1077.

commit 4e69677ecde58d49ddfa77996862be41e76e1077
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 10:10:19 2023 +0300

    Oops, require translations for dist tarballs

commit 6c8b56e3987bc218ca011e3618b1468855559b4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 11:27:43 2023 +0300

    Document the library version update scheme

commit 7baaf865bce55c1bf02c6a121fd548f1aae6e8bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 10:38:13 2023 +0300

    Bump the soname in anticipation of the 4.19 alpha release
    
    We've removed a tonne of obsolete APIs in this release so...

commit 2080896ce522c93a95697f72a5830958bb6dbafb
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 11 13:35:04 2023 +0200

    Install /etc/dbus-1/system.d/org.rpm.conf
    
    which was accidentially dropped when converting to cmake
    
    Use CMAKE_INSTALL_FULL_SYSCONFDIR as it expands to /etc instead of
    /usr/etc
    
    Resolves: #2474

commit 909d237b5eddfbc43051f75d8f96688448026496
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Apr 11 12:25:41 2023 +0200

    Handle IMA as an imported target, take II
    
    Another attempt at commit 7184fb80137363e39d79e2b5a0eb2c4fb060cc2e.

commit 62395521a9aea856c225de1baf767707ed235f98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 13:30:55 2023 +0300

    Axe outdated multiple build areas doc

commit b75ae820beb53633e4ef8b476f7cf0aad2d617bc
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Apr 5 15:15:29 2023 +0200

    Don't rely on pkg-config for libmagic just yet
    
    This fixes a regression from automake where we also didn't use
    pkg-config for libmagic.
    
    Fixes: #2246

commit d648cb305cd6d49ca453b3b80941d9fc0cdad1f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 5 15:42:22 2023 +0300

    Include pre-built API docs and man pages in dist tarballs
    
    There are multiple strange details buried in this all, such as
    having to run the main tarball creation in VERBATIM mode due to
    git submodule foreach variables, and because of that we can't use
    globs in the other commands but have to mask them behind other rules
    to do other steps and then concatenate the tarballs at end.
    
    On the build side we need to manually test for the presence of pre-built
    content in the source directory (normally that content would be in
    binary directories) and install differently in absence of the tooling
    that could actually build those docs.
    
    While at it, put both the API docs and man pages in their expected
    destinations, install(FILES .. TYPE MAN) is not aware of sections
    (:facepalm:) and just puts stuff into the root man directory. With
    DOC that is expected, but not where packaging expects to find it.
    Except that we're now *installing* the API docs too, put them under
    rpm/API docs without any extra html directories in between.

commit 587b53cf6bffbc4526e3d3cc6570fc50abaf1c18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 11:53:16 2023 +0300

    Match the produced (compressed) tarball name in the target name

commit df6d4e388a6d9646004a8a3c37848f20a27c5952
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 11:43:59 2023 +0300

    Add ChangeLog to the dist tarball

commit 429bc295a7f306b9ef0c89d458ae35ec00531456
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 6 18:32:59 2023 +0200

    Use WITH_IMAEVM in cmake file
    
    as that's was we actually use

commit ea71755e376e02d1a68e1b6122df42b03e794b74
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 6 14:10:31 2023 +0200

    Add WITH_FAPOLICYD build option
    
    defaulting to ON. The if clauses were already in place just the option
    line was missing.

commit 589fb0e3aa15683cc71931da95b328e57a9c58b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 11:59:00 2023 +0300

    Revert "Handle IMA as an imported target"
    
    This has brainfarts and is broken.
    
    This reverts commit 7184fb80137363e39d79e2b5a0eb2c4fb060cc2e.

commit f8ee4a17f770ad21e2ff032bd1eab27d6f808b11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 11:33:16 2023 +0300

    Bump our CMake requirement to 3.18
    
    We already violate the 3.12 requirement in a place or two, and
    there are many nice things in the later releases. 3.18 is three years
    old and is available pretty much anywhere that is even remotely relevant
    for us.

commit 7184fb80137363e39d79e2b5a0eb2c4fb060cc2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 10:48:27 2023 +0300

    Handle IMA as an imported target
    
    Most of our dependencies are imported targets already, so while for just
    one site this isn't actually any shorter in terms of LoC it's more
    consistent with the surroundings in the consuming site, and more so if
    we ever need to link to this from some other place.

commit c61da285a14e98592e5cac1966b169d178868471
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 10:45:39 2023 +0300

    Let cmake handle checking for mandatory components
    
    Both find_path() and find_library() accept REQUIRED argument, use it
    instead of rolling our own.

commit 5e1addc04892be381248631e960cea86c4389ea7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 10:41:34 2023 +0300

    Add translations to dist tarballs (if po submodule is present)

commit b34276c4eec0feccc288866fc03578066c24a1b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 10:31:46 2023 +0300

    Include translations in dist tarballs

commit 20bad038fb738eacb2135a59f3bdbd6be552f3d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 09:35:47 2023 +0300

    Update translation submodule for new translations and targets

commit b22b3af388f581b19397d896bbef8284b3c8b8ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 3 10:20:13 2023 +0300

    Fix translation directory not getting added on out-of-tree builds

commit 3cec5f81cd202946c2ea033c966919262daacb1e
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Apr 3 08:25:35 2023 -0400

    Remove RPM_MASK_RETURN_TYPE from rpmTagReturnType_e; make it a macro
    
    RPM_MASK_RETURN_TYPE is 0xffff0000 which is UINT_MAX.  Per ISO C,
    enumerator values must be in the signed int range.  gcc is more
    forgiving with this than certain versions of clang and if you are on a
    random system, such as FreeBSD 13.1 with clang 13.0.0, you will get
    this error when trying to compile software that links with librpm and
    uses the rpm headers:
    
        error: ISO C restricts enumerator values to range of 'int' (4294901760 is too large) [-Werror,-Wpedantic]
    
    Similar to the other enums in rpmtag.h, RPM_MASK_RETURN_TYPE is not
    actually a value used from the enum, so take it out of the enum and
    make it a macro.
    
    Signed-off-by: David Cantrell <dcantrell@redhat.com>

commit 8310b34a38b419b0ae6a7669805754f11e472c1c
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Mar 30 14:18:41 2023 -0400

    Bring RPM_MASK_RETURN_TYPE in to the signed int range
    
    Set to 0xffff0000 (or 4294901760), I was getting:
    
         error: ISO C restricts enumerator values to range of 'int' (4294901760 is too large) [-Werror,-Wpedantic]
    
    This happened not when building rpm itself, but when building
    rpminspect which links with librpm and uses rpm's headers.  The system
    in question was FreeBSD 13.1 which has clang 13.0.0.
    
    It is a corner case, but I like testing things on non-Linux platforms
    as often as I can to find errors like this.
    
    With this change, the rpm test suite passes for me.
    
    Signed-off-by: David Cantrell <dcantrell@redhat.com>

commit cd7736833e36f6088dd49fcbcc3d9e6a7aa6e954
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 3 14:20:44 2023 +0200

    Fix typo in cmake rule
    
    that breaks the OpenSSL build of the interenal PGP parser

commit a5bd7571358c7974da1c909e331525b13dce1264
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Thu Mar 30 12:21:23 2023 +0200

    Added more details to the doc about what is returned by the macros '%-x' and '%-x*'
    
    Fixes: #2457

commit 1a9393f06a1de9f3864c3897674145068415e7ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 31 11:18:55 2023 +0300

    Fix docs on weak user requires macro name
    
    The code in commit 6e03ef19a6b166d7b35ca0952e6091f557b892ca uses single
    underscore as intended but the macros file + docs got two due to
    whatever brainlapse.

commit c397a3cec65ae17c66d473ef73f411eff02aa4ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 15:42:51 2023 +0300

    Add %preuntrans and %postuntrans to spec docs

commit 7b04017a1760f1f855f3cb5d4c6bffe4661052cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 15:35:14 2023 +0300

    Document %description and put %package to its own section

commit e38b8d937673e979fa646cbd2010e91e57636d00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 14:41:47 2023 +0300

    Briefly document %attr() and %defattr() in the manual

commit 13e89c6ae5ff9cb20b0721e80732e7cde55da96c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 28 17:25:31 2023 +0300

    Add rough documentation for user and group handling

commit fb040f16ec09a10c47f968d995c5bb770b8a7a64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 17 09:25:51 2023 +0200

    Add a proper testcase for full sysusers.d file automation

commit 6e03ef19a6b166d7b35ca0952e6091f557b892ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 16 12:06:49 2023 +0200

    Autogenerate requires for users and groups in packages from file data
    
    Ensure proper installation order and dependencies for custom user/group
    usage across packages. These are effectively Requires(pre,postun)
    dependencies to prefer during install and preserve the dependency for
    installed packages as well.
    
    These new requires require distro level bootstrapping of sorts to get
    the provides into place first. To make that less painful, allow turning
    the requires into recommends so they wont cause hard failures but will
    still cause the right thing to happen when ordering (and depsolving too)
    for the packages that do have the provides already.

commit 009d1397331a89413e2c5eead163cadb47ccdb4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 11:35:40 2023 +0200

    Automatically create sysuser users and groups on install
    
    Add a new built-in %sysusers scriptlet that executes before unpacking
    files and creates any sysuser users and groups provided by this package.
    This scriptlet gets called with the same arguments as %pre, and
    sysusers.d(5) lines are fed into the stdin of the script (ie similar to
    file triggers).
    
    systemd-sysusers is the native solution, but compatibility with
    non-systemd distros can be achieved by pointing %__systemd_sysusers to a
    script that translates the sysusers.d(5) lines into adduser/addgroup
    calls or similar.
    
    Unlike all the other package-related scripts, this runs from the outside
    of a possible chroot to have access to the user-creation utilities
    from the start of the transaction even in case of initial installation.
    
    Users and groups are never deleted, on purpose, as that would lead to
    uid/gid reuse and consequently, data leak and general weirdness.

commit fc09ee9d60cce879e521ac522b24817de32b3611
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 11:27:48 2023 +0200

    Make rpmscript machinery chroot-aware
    
    Normally all scriptlets are of course chrooted when the installation is,
    but we're about to get an exception to that. No functional changes, just
    adding necessary infrastructure for the next steps.

commit afad3167ccfda3c0d3200b918dd8b391d621f408
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 10:03:58 2023 +0200

    Add a tag extension to decode sysuser lines from user/group provides

commit c7fd9fed9951dc884c345eb9280987389b291c41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 14 14:52:59 2023 +0200

    Generate user() and group() provides from packaged sysusers.d files
    
    Encode the actual sysusers.d line as base64 in the EVR string to be
    passed to systemd-sysusers (or a compatibility script) by rpm during
    installation. The source string is \0 padded as needed to avoid base64's
    '=' padding in the output as this is not a welcome character in EVR
    strings.
    
    For example:
    
        u dnsmasq - "Dnsmasq DHCP and DNS server" /var/lib/dnsmasq
    
    user(dnsmasq) = dSBkbnNtYXNxIC0gIkRuc21hc3EgREhDUCBhbmQgRE5TIHNlcnZlciIgL3Zhci9saWIvZG5zbWFzcQAA
    group(dnsmasq)
    
    The EVR string is omitted from the group as that gets created as a
    side-effect of the user creation and does not require calling
    systemd-sysusers.

commit 15b7025c0059a41afda7493ae2ef61ac3878f3af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 16 09:58:37 2023 +0200

    Generate user/group provides from packaged /etc/passwd and /etc/group
    
    These often come from a separate package that is installed early on
    and form the basis of system users and groups, augmented by sysusers
    from other packages. We don't want to create such users, but we need to
    be aware of where they come from for dependency resolution and ordering.

commit a213101bc3af65c860d045c65fb4e2ef7566a4c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 10:03:48 2023 +0200

    Make build parallelism memory and address-space aware (#804)
    
    Take advantage of the new %{getncpus:proc/thread} functionality when
    calculating the number of processes/threads to use during build.
    
    The goal here is to avoid gross overallocation of processes/threads
    on constrained systems. In particular threads on 32bit systems where
    address space is limited, but also to allow packagers to easily tune for
    gigantic build jobs such as webkit that may overwhelm otherwise adequate
    systems.
    
    Fixes: #804, RhBug:1118734

commit 48c84b1e71827b644ccfdca6b7840cfbe24eaf59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 10:07:55 2023 +0200

    Make rpmio parallelism memory aware
    
    Take advantage of the new %{getncpus:thread} functionality when
    calculating the number of threads to use for io stream compression
    (when not in parallel region)

commit deaebd0c89a6d453bb971fd8f5a3b858e7a95733
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 09:08:42 2023 +0200

    Add optional total/proc/thread arguments to %{getncpus} macro
    
    "total" equals calling with no arguments, "proc" and "thread" consider
    further constraints, what is implemented here is heuristics based on
    available physical memory and address-space and %_smp_tasksize_proc /
    %_smp_tasksize_thread tunables.
    
    Change the previous %getncpus related tests to use %getconfdir instead,
    they are testing unexpected arguments behavior for this type of macro,
    not %getncpus itself. Add a test for the actual functionality: if nproc
    is available, test that our total matches with that, and that defining
    tasksize to total memory only allocates one thread. Optimally we'd
    test separately for 32bit address space limitations but that gets tough
    when we have no idea where this will be executed.

commit 0dad385cbcd7a9731b0cba44a4b4dcc89558ff89
Author: Łukasz Stelmach <l.stelmach@samsung.com>
Date:   Mon Mar 20 09:48:49 2023 +0100

    Conditionally display VCS tag in --info query

commit 97c9d8903c4166b4c2d37e5d67d193f2262e089b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 11:38:04 2023 +0300

    Call RPM_CONFIGDIR just that consistently
    
    For whatever historical reasons RPMCONFIGDIR was used in automake
    whereas the environment variable is RPM_CONFIGDIR. Just call it that
    everywhere.

commit a2b49273aa0935dcb88743c216925fc4d42723a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 11:24:04 2023 +0300

    Honor rpm vendor setting from cmake, use a saner name
    
    The vendor was hardwired to "redhat" as a leftoever from early cmake
    bootstrapping phase and bugs in the surrounding logic. Simplify the
    setup somewhat: call the setting RPM_VENDOR and pass that around in the
    code tree as well. The CANON fubar along with other similar weirdness
    can thus remain hidden in the makemacros() cmake function.
    
    Reported and initial patch by Neil Gompa.

commit 4f2627e08bf2880a5d16f62a675bba87d027035a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 30 10:39:50 2023 +0300

    Restore snapshot make target in cmake
    
    Refactor the dist rule into a slightly more generic function that
    we can call with suitable values for generating dist and snapshot
    tarballs.
    
    This includes preliminaries for requiring a tag for dist tarball
    but that involves further complications so not done yet. Local HEAD
    is not exactly the right thing to be building dist tarballs from.

commit 909e0aeec642e5925ad5200c60612018d72cd582
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 10:22:54 2023 +0200

    Add a note about CI tests to contributing guidelines

commit a1bd9f558ee4fa92918107f45b002222c07801b5
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Thu Mar 23 16:57:48 2023 +0100

    Add test case for macro '%**'

commit 9deedb8afc700234572ac4f1cb17d77d7968a92f
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Wed Mar 22 15:19:00 2023 +0100

    Add documentation for shell like macro '%**'

commit 528a43abc42c04e132faf8c954ed654cba40a78e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 11:11:37 2023 +0200

    Eliminate code duplication from rpmdsNext()
    
    Now that we can, let rpmdsSetIx() take care of the details.

commit 4a2f13bf6b9a48e7c16d8effd4d9a1f679d3642f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 11:05:18 2023 +0200

    Kick out rpmds debugging remnants
    
    I'll add the printf() if I need it...

commit 93256ee95d7cead4b9ada75a6d1c3cd23b97c857
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 11:02:49 2023 +0200

    Kick out one last remaining nopromote remnant from the ABI
    
    Globally exported variables like this are evil. This one hasn't done
    anything in a while, just forgotten. We're bumping soname so we're free
    to remove cruft like this.

commit aa46fd77f2b78722a4cc47386ce3709be5b1fccd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 10:36:45 2023 +0200

    Make rpmdsSetIx() somewhat sane
    
    rpmdsSetIx() has shared the same flaw that was fixed for rpmfiSetFX()
    in commit 318efbaec80a90f1d9ac76d0cd433f6ea3c103fa: sometimes -1 means
    success and sometimes it means error. And like in that case, this is so
    broken that nobody can have relied on the behavior (we had one internal
    user which was lucky if anything).
    
    At least as bad is that it never actually bothered to check whether the
    newly set index is valid.

commit 8d918dd9f0cff01eb16f21da8e9ae663937edf59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 10:11:38 2023 +0200

    rpmdsSetIx() sanity in rpmdsSearch()
    
    We have rpmdsCompareIndex(), use it so we don't need to muck around with
    the iterator index and attempt to restore with the broken API that
    rpmdsSetIx() is. Cleans up the code quite a bit.

commit b2c200fdb4704db21284a882b3ab4b9cb3216dc5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 09:54:31 2023 +0200

    rpmdsSetIx() sanity in filedepTag()
    
    This trickery used to be necessary once upon a time but no longer is.
    Set the index to what we want and dont bother with rpmdsNext().

commit de342c3abd1792fe2fbf0a204f9c243f2b2a1b3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 09:50:23 2023 +0200

    rpmdsSetIx() sanity in rpmfcPrint()
    
    This trickery used to be necessary once upon a time but no longer is.
    Set the index to what we want and dont bother with rpmdsNext().

commit b2218e0e8ab96e1002537ca43e3a6e6955115297
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 09:46:10 2023 +0200

    Clean up filedepTag(), support all dependency types (in theory)
    
    Similar to previous commit: grab the deptype from the ds instead of
    recalculating it on our own, as an extra bonus it now supports all
    dependency types but we only ever call it with provides and requires.

commit a0dcb68b062c90cc0aed26d2f3a222d0d3341635
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 22 09:43:17 2023 +0200

    Clean up rpmteColorDS(), support all dependency types
    
    Take advantage of rpmdsD() instead of doing it all manually. As an extra
    bonus it now supports coloring from all dependency types, although
    we only ever call it with requires and provides currently.

commit 0f957330f24cdb2510e0bbdface54ffa8064b8ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 16 11:37:47 2023 +0200

    Populate user and group data in cpio payload again
    
    In general, rpm populates the cpio header with the same info as the file
    lists in the header, although it only uses the latter. This is even
    documented in LSB (up to and including version 5). At some point, the
    user and group information has gotten dropped though, all files end up
    owned by root:root according to the cpio header.
    
    The roots of that change go deeper than I care to dig, but I've noted
    this behavior in commit fc36f322e123a7421b798f12358cc701e28afbe0
    already. The actual change has happened earlier, possibly
    8b7b911a17f187822f6e72b162ef3bea39366176 but it's impossible to test
    stuff that old.
    
    While the cpio format is on its way out, packages built with current rpm
    versions will live long into the future so we might as well fix this,
    I see no reason not to. Add a test as well.
    
    Payload digest changes, causing all the other hashes to change too.

commit 856ddc334174fd37fe4ce81bc9f9f11a08cf6c81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 17 12:53:42 2023 +0200

    Fix a segfault on a non-stringable argument to macro call from Lua
    
    When natively calling a parametric macro from Lua, with the arguments
    inside a table, we can't assume lua_tostring() always succeeds as it
    can fail eg on a table. Report the error instead of crashing in argvAdd(),
    and add a test as well.

commit 8be31c77806604cdca3cf628fb087bc1cc3d5c9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 17 14:36:26 2023 +0200

    Move variable to nearest available scope
    
    Commit b960c0b43a080287a7c13533eeb2d9f288db1414 moved mayopen all the
    way to the function scope when the local if scope would've been enough.
    In a function with complex loops and all, nothing good comes out of having
    variables at unnecessarily wide scope.

commit b960c0b43a080287a7c13533eeb2d9f288db1414
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 16 19:05:04 2023 +0100

    Fix compiler error on clang
    
    Turns out variable declarations are not allowed after a label, even in
    C99. And while some compilers don't seem to care others do.
    
    Moving the declaration of mayopen to the start of the function to avoid
    this problem.
    
    Resolves: #2435

commit 1525b2d863cf382cd8ec0c7a505155337c240d6d
Author: Shreenidhi Shedi <sshedi@vmware.com>
Date:   Thu Mar 16 16:59:07 2023 +0530

    triggers.md: remove trailing spaces
    
    Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>

commit 9f23b98ebb894c503e1be6a7a250e0d3751b751a
Author: Shreenidhi Shedi <sshedi@vmware.com>
Date:   Thu Mar 16 15:58:02 2023 +0530

    triggers.md: fix a typo
    
    Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>

commit ad1bdc6520c1954d2a94fefa0a6090661f972db4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 17 09:48:24 2023 +0200

    Expect NOTTRUSTED for expired and revoked signatures from rpm-sequoia
    
    rpm-sequoia returns NOTTRUSTED for expired, revoked and obsolete
    (but otherwise valid) signatures. Expect that in the testsuite, and
    require rpm-sequoia >= 1.3.0 for this behavior.
    
    Fixes: #2424

commit 343a5d09e0857344fe51204299865ab2e5f7b08c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 16 14:39:38 2023 +0100

    Describe the stripped down payload format
    
    in the reference manual
    
    Resolves: #2413

commit 69242a554a042544376247b580c78ee5923dfad2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 17 09:19:46 2023 +0200

    Erm, we can't expect to copy /etc/[g]shadow
    
    Brainfart in commit f93190e15ccb0789c33e8469e71e3ee40f3928fa, the
    test-suite expects to run as a regular user who can't copy shadows.
    And those files missing cause artifacts.

commit 4e244280db8d780ac90313785598487f888b8924
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Mar 15 19:15:00 2023 +0100

    add more libmagic exceptions for HTML, SVG and PNG
    
    I noticed there are ~150K .html files in all libreoffice rpm files
    and the detection is significantly delaying package build. Thus, I
    introduce more exceptions for commonly used file formats.

commit f93190e15ccb0789c33e8469e71e3ee40f3928fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 15:25:01 2023 +0200

    Copy rather than link to /etc/passwd and friends
    
    We don't want to muck with the real things in case somebody runs this as
    root. Also allows us to modify them...

commit 4a45aad08c1b2172e485d9356753b8ad5b7050a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 11:10:10 2023 +0200

    Fix nextfilefunc return type to const char * as per the expectation
    
    The returned pointers are const and must not be freed, only we were
    casting away that difference at the one place it was used in.

commit 7b982a815e4726dab47b0012006965686eca27bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 15 11:08:38 2023 +0200

    Add a typedef for rpmscript nextfilefunc
    
    No functional changes, just makes it easier to look at and manage.

commit fb5ce339a934cdf7bfcb58b61e0600859053d30f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 13 15:28:08 2023 +0200

    Enforce (some of) our documented build requirement versions
    
    Some of these went missing in the cmake swap, others may have only been
    documented.

commit a8107659ef3dd4855729bf65aa4d70f784cb5a5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 9 10:21:39 2023 +0200

    Catch runaway forked children from Lua scriptlets centrally
    
    Commit 2d418ad3c11bcf0261d0022ac177d13284a8d5fb added a safety catch
    for runaway children from package scriptlets, but we have many other
    ways to run Lua scriptlets too, and runaway children are equally harmful
    in them all. Catch them all centrally by wrapping lua_pcall() instead.
    
    Besides handling more cases, there are a couple of more subtle
    improvements here: rpmlog() in a child process is undefined behavior
    due to the locking it does, but also nonsensical - rpmlog() is more than
    fprintf() and any warnings/errors it collects end up in the wrong process.
    Check and log from the parent instead.
    
    Finally, make it a warning instead of an error because we're not failing
    the scriptlet because of this, and make the message more generic as
    besides exec(), this can be avoided by waiting for the child in
    the script too.

commit 45103f84764b2a293b068eb0f59456f553ec45d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 13 12:41:11 2023 +0200

    Use Python >= 3.2 compatible object hash slot type
    
    Python 3.2 changed the object hash type to make them pointer-width on
    all platforms - an incompatible change but apparently 3.2 was early enough
    in the 3.x days for such changes: https://bugs.python.org/issue9778
    
    The hash vs pointer size mismatch has quietly been there all along but
    clang >= 16 started treating this as an error, causing failed builds.
    The fix is easy and obvious enough, but this requires us to bump the
    minimum Python version from 3.1 to 3.2. Which thankfully is old enough that
    we can do without having to care or introduce build-time compatibility
    workarounds.
    
    Suggested-by: Khem Raj <raj.khem@gmail.com>

commit a0cd976e5f8a01774e1ba4b5eaa2c6ad9e93bebb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 14:59:05 2023 +0200

    Drop leftover includes
    
    Commit 4dfb381742c27449aafcd907c05f3a84015ffb54 removed the custom
    logic for thread autodetection in xzio, making these includes redundant.

commit 9a1bf2fbda75f7d0c46120f6086787f62e2b499c
Author: Коренберг Марк <mark@ideco.ru>
Date:   Fri Feb 24 10:21:10 2023 +0200

    Fix ignoring exit code of child scripts in case of EINTR

commit 35a0eda22ce02abbda54c8eecec30c77725de01d
Author: Fabian Vogt <fvogt@suse.de>
Date:   Mon Mar 6 17:50:42 2023 +0100

    The bit for LZCNT is in CPUID 0x80000001, not 1
    
    The GCC headers put bit_LZCNT into the list for CPUID 1 %ecx values, but that
    corresponds to VMX. LZCNT is actually advertised in CPUID 0x80000001 %ecx,
    which is also referred to as "ABM" by AMD and some other places.

commit 0c02e4899e72eae8ccb484fbb22c04f12fae2f0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 09:31:06 2023 +0200

    Copy original lead on signing instead of recreating
    
    Fixes a regression from commit 3255273ae0fabd03c9738249a29c9c1e15f28f64
    where the arch and os fields of the lead may change depending on the
    package arch and the host where --addsign/--delsign is executed.
    
    This is hard to test for specifically as the test-suite can run on any
    architecture, but the bit-per-bit comparison test added in the previous
    commit will catch differences here too.
    
    Fixes: #1326

commit be950eabb84a88e5773e096435c37b92e3d47ebb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 12:01:59 2023 +0200

    Fix signature reserved space not restored on --delsign (#2382)
    
    Fixes a regression from commit 5c279fb149a44a1bc4d19e11c3c01942732b8486
    simplifying this a bit too much, and failing to restore the reclaimed
    reserved signature space on after --delsign. Add a test-case to ensure
    --addsign + --delsign returns the package to its original state
    bit-by-bit.
    
    Fixes: #2382

commit 6b59cd80ce405c370a42e345fdad325813fd13f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:55:22 2023 +0200

    Remove a misleading comment
    
    The rpmdb "instance" number is not and never was an offset of any kind.

commit bf3cca41eea4e00c60b4573cbb2a42499dee6c15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:41:42 2023 +0200

    Eliminate uses of rpm_data_t and rpm_constdata_t in header.c
    
    Similar to previous commits, abstracting void pointers behind these
    types does nothing to help anybody, especially the reader.
    Actual type does not change, so it's a NOP.

commit fc71a588fd7d2200a9ff3a921c864a96658e715d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:37:17 2023 +0200

    Replace uses of rpm_count_t with the concrete type within header.c
    
    Same rationale as previous commit, and also a NOP.
    And now with entryInfo_s using all concrete types, the signed offset
    stands out the way it needs to.

commit 28111464ef78489fab777014712e7c94af7c5e52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:33:50 2023 +0200

    Replace uses of rpm_tag_t with the concrete type within header.c
    
    The rpm_foo_t typing was a somewhat misguided attempt to unify the
    type mess of back in the day. It may actually have helped with that but
    now these are more of an unpleasant obfuscation that nobody (including
    me) knows how and when to use.
    
    The actual type does not change here, so this is a NOP.

commit f53423eb1475fe4818c206a6ee3ddf060b423706
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:29:58 2023 +0200

    Actually make rpm_tag_t (and thus rpmTagVal too) unsigned
    
    Somehow this last step went missing after the preliminary work in
    commits 1f3e923264c90fecd8670492c341000723178eb6,
    2f9f1ce6d6172c33c7f45d8a94bdab21f16e73e3 and
    2c089bff1a9a37e65a8ca4c6a214288a615a1e54.

commit 6c17e2fbee8ae2aa7ab960a4ede380dfba55e610
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Feb 21 14:21:14 2023 +0100

    Don't repeat %patchN deprecation warning
    
    Avoid flooding the build log for SPECs that contain a lot of these
    lines, one warning should be enough.  Just mention how many were found.
    Including the line itself in the message is no longer relevant so remove
    that, too.
    
    The cost we pay for having the total count is that we'll no longer log
    the warning when an RPMLOG_ERR occurs somewhere in the process.  Moving
    it below the exit label would fix that but also cause the warning to
    always be printed *last*, possibly confusing the user if there's an
    actual error further up in the output... so just go with the former.
    
    Note that we may want to revert this in the future and replace it with a
    proper rpmlog-native suppression mechanism for duplicate warnings.
    
    Fixes: #2383

commit e3c11a790367016aed7ea48cfcc78751a71ce862
Author: Jan Engelhardt <jengelh@inai.de>
Date:   Mon Feb 20 10:00:44 2023 +0100

    docs: update grammar in dependency_generators.md

commit b927c044b8809c4dd892f75737240a20c32c2b90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 16 12:25:24 2023 +0200

    Disable debuginfod server lookups in build and dependency generator scripts
    
    With recent elfutils (0.182 or so) various seemingly innocuous tools
    such as `readelf` like to do network lookups for ELF symbol information.
    There's no circumstance where we'd want that to happen during rpmbuild,
    so disable these lookups during all spec build scriptlets and also
    dependency generator children.

commit 91467e715769e8ef0b1dafce288e9313aca41bb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 16 12:18:02 2023 +0200

    Exclude kernel modules from ELF dependency generation
    
    The kernel modules are technically ELF DSO's but we only care about
    library level dependencies which the kernel modules will never have, so
    processing them is just waste of time.
    
    This "regressed" when we dropped the "exeonly" flag from ELF in
    commit 8901a6be1652519c4875436e29e0a663be0790b7.

commit e9caa60d668c8ae6a9cc83dba7f45792757eac46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 15 09:29:51 2023 +0200

    Fix type mismatch in parseList() prototype

commit 85dc1ea6246a49698c55702f46787bf0afc4e671
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 15 09:23:10 2023 +0200

    Update a few leftover signed lengths to unsigned in header code
    
    No functional changes.

commit 7e347df6d5624caca784a565f6d192e0a7990396
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 15 09:45:06 2023 +0200

    Use ENTRY_IN_REGION() macro where possible

commit 9afa5a14637161838e8e8aaed8a3e4909fef2985
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 15 08:54:50 2023 +0200

    At long long last, make entryInfo opaque outside header.c
    
    This guarantees there aren't any hidden users of these fields that
    we'd need to worry about when changing types. The data itself of
    course ends up being public through rpmtd_s so care is needed...

commit 2f7c3458df601286fea0b9b83289c28873b3a9d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 15 08:53:32 2023 +0200

    Move header digest calculation to header.c

commit 045dd10e1f52190b6bada3c83e4537354889626f
Author: Pavel Simovec <psimovec@redhat.com>
Date:   Tue Feb 7 15:06:24 2023 +0100

    fix typo

commit 58ea4258f53642ff12e8b54a99704fa7ef38980b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 15:00:56 2023 +0200

    Switch the various header data length arguments to unsigned
    
    With this, data lengths wrt header data should all be unsigned. Yay.

commit bce0af81310c4d151e6f060a3c1a377fa6c6ac31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 14:57:57 2023 +0200

    Refactor strtaglen() to return the length through a pointer
    
    Similar story as with dataLength() and regionSwab(), mixed types create
    unnecessary headaches. The actual type to be changed later.

commit f11b1135260dfe53bf3a7d2e1115e7c9ad155582
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 14:47:52 2023 +0200

    Switch regionSwab() length return type to unsigned, update callers
    
    And no functional changes, allegedly.

commit 997c4d4e33c6bcb50a90ef62647b1f21e7e3a187
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 14:41:32 2023 +0200

    Refactor dataLength() to return the length through a pointer
    
    Similar to previous commit, dataLength() wants to return -1 on error but
    this clashes with unsigned data length types. Returning separately
    allows changing the type separately, to be done in a later commit.

commit 26600f6ba78d2f3fbeced845cc7d0e3cce1a4c25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 14:23:18 2023 +0200

    Refactor regionSwab() to return the length through a pointer
    
    regionSwab() wants to return -1 for errors, but data lengths want to
    be unsigned. By separating the two we can change the length type
    independently of other error handling, to be done in a later commit.
    
    One could also consider a zero-length region an error (and we do so
    elsewhere), but technically the header is just a container and an empty
    header should be a valid construct. So rather than make zero an error,
    preserve the option to consider these legit later on.
    
    No functional changes intended.

commit 6720b6d00c45b3fab15697a0dea4e590fa69aafd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 13:36:41 2023 +0200

    Switch header region index and data lengths to unsigned integers
    
    Or mostly so, anyhow. Take care to check that region size is small enough
    to fit in the negative offset. No functional changes intended.

commit 6f384ef55083a00e3667bf91b6bfc3dce04023d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 13:22:33 2023 +0200

    Switch header index and datalength types from int32_t to uint32_t
    
    This fixes some type mismatches and introduces others as we work towards
    having everything unsigned (negative data lenghts don't make sense, at
    least in rpm they don't). No functional change, intended anyway.

commit 7dd313949fb7e8f78d88dfcb75f97aa9a6a1f1c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 11:19:52 2023 +0200

    Switch all header entryinfo pointers from int32_t to uint32_t
    
    No functional change here, the type is only used for grabbing
    index and data length of the header, and where previously we have
    some uses cast to uint32_t and some not (so it was "broken" anyhow),
    now it's only blob->il/dl type that is wrong.

commit 37455ed40291074ec07d6eb541662f4613cf0bbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 11:30:20 2023 +0200

    Fix some non-functional signed integer references to unsigned

commit 2c089bff1a9a37e65a8ca4c6a214288a615a1e54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 10 09:48:22 2023 +0200

    Define RPMTAG_NOT_FOUND in uint32_t terms
    
    The bit-level value doesn't change, but this makes the value
    explicitly unsigned for the compiler, which is what we care about here.

commit 2f9f1ce6d6172c33c7f45d8a94bdab21f16e73e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 9 15:34:19 2023 +0200

    Fix rpmTagGetValue() error return documentation
    
    It's literally returning RPMTAG_NOT_FOUND, not -1

commit 1f3e923264c90fecd8670492c341000723178eb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 9 13:09:45 2023 +0200

    Move RPMTAG_NOT_FOUND out of the rpmTag enum into a macro
    
    RPMTAG_NOT_FOUND is not a tag, it's an error code. It never should've
    been a part of the enum, no matter what I thought in commit
    cb13c4398609bb8e9d7a6750075d79d1662a26e1

commit 42694806bf73b07514554233d0d58d17a58cd863
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 9 13:05:24 2023 +0200

    Use proper type for copyTagsFromMainDebug
    
    The array contains a non-enum value (0), this is why headerCopyTags()
    uses rpmTagVal pointer, not rpmTag.

commit 55206653b9be8143fda2debae82302a832c5df5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 13:55:31 2023 +0200

    Bury ei2h() inside header.c, no external users anymore

commit 5fc039853ac6b8211a6a0e686ac5fcc98e5b03f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 13:53:51 2023 +0200

    Drop unused ei2td() internal helper

commit b03743640e379d59224e55aa3b08ec44835ebf33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 16:18:03 2023 +0200

    Disable io thread autodetection inside OpenMP parallel regions
    
    The low-level IO code has no way of guessing, much less knowing, how
    many threads it would be okay to run inside OpenMP parallel regions
    which may well already be consuming all available resources.
    
    This is far from optimal of course, but getting packages built in the
    first place, and without completely overloading the system while at it,
    is far more important than high-end optimization. That can follow later.

commit 70da964675c35929355a605a15bd282f0fb0ccbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 11:27:12 2023 +0200

    Further simplify the io thread enablement code
    
    Now that we can, collapse autodetection into the parsing routine so
    we don't need to pass around these -1 and 0 values having different
    semantics on different places. No functional changes.

commit 76bac7ae23bee148fa3dded15061b2ff0ce451c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 11:13:45 2023 +0200

    Simplify io thread number parsing, use common logic
    
    Always use strtol() to get a nice "continue here" pointer, and since
    it returns 0 on no digits, we can simply always call it. And since
    there's more than one place doing the same exact thing, use a common
    helper. No functional changes.

commit 5dc0d0320e71d5c002467436d9110e0e28ef3d91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 10:29:13 2023 +0200

    Require xz >= 5.2.0, it was released in 2016 so old enough
    
    Makes the xz thread enablement logic that much easier to follow.

commit ec4900713f9e2210035dad79ffbb6bf69eda348f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 1 12:17:50 2023 +0200

    Fix numberless T for thread number autodetection in zstdio
    
    Not sure if it ever worked or whether it regressed in recentish
    refactoring, but plain 'T' was not enabling zstd threading before this.

commit 7f8675936c87209f41e248da79277ff5f2a385c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 6 09:48:22 2023 +0200

    Document rpm codebase comment style

commit 1f47b1cc0eddbb1921d81249a4bd604089c71495
Author: (GalaxyMaster) <galaxy4public@users.noreply.github.com>
Date:   Tue Jan 31 18:24:55 2023 +1100

    support for POSIX getopt() behaviour
    
    [POSIX defines optarg only for options with arguments](https://pubs.opengroup.org/onlinepubs/000095399/functions/getopt.html) and callback() is expecting optarg to be NULL for options without arguments, however, at least on musl optarg will carry a pointer to the argument of the previous option with argument.  This commit makes the behaviour deterministic and expected.

commit a3889fe5b96812c0dd787317cbc9f1ecda917995
Author: Tomas Korbar <tkorbar@redhat.com>
Date:   Thu Jan 26 11:19:46 2023 +0100

    Split ___build_pre macro to make mocking rpm build environment easier
    
    New macro ___build_package_notes_env contains environment variables
    that package-notes depends on. This allows easier mocking of rpm
    build environment and isolated execution of check phase of rpm
    packages possible.

commit a9ac1727a637e24c27570daeb045651cc1b8f45f
Author: Adam Williamson <awilliam@redhat.com>
Date:   Sat Jan 28 12:28:51 2023 +0800

    Update comments

commit b3adc8ce62517cd764a589d2bdccbf97dadb915a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 26 12:11:22 2023 +0200

    Turn `%patch` without arguments and options into an error
    
    Instead of treating `%patch` with no options and errors the same as
    `%patch 0`, just raise an error. There will be folks who have missed the
    warning-only phase, but we don't want to wait another ten years to finally
    rid ourselves of these legacy quirks.
    
    Related: #2205

commit fd2f743b3ef543a5b6fe963b2ec8c3c43b8424b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 09:55:14 2023 +0200

    Fix macro scoping level on re-entry from %[] expresssion (#2354)
    
    This is the same issue as commit 1767bc4fd82bfacee622e698f9f0ae42c02126fa
    was with Lua, and so the same fix works: restore the nesting level
    from the macro context when re-entering macro engine from %[]
    expression. Analysis and suggested fix by Michael Schroeder,
    reproducer from Miro Hrončok.
    
    Add tests for both %[] and %{expr:...}, although the latter isn't
    affected because the expression is macro-expanded beforehand.
    
    Fixes: #2354

commit c10e1ec1149dec40b6ed11eb8b513992f2af7e62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 12:17:23 2023 +0200

    Try telling cmake that the project needs to be built before testing
    
    Recently there have been a fair amount of random failures in the CI,
    due to apparent ordering errors / lack of dependencies that have been
    hard to reproduce locally. The key is probably CI running "make check"
    right away, which then proceeds on all the relevant targets in
    parallel. And nowhere at all we're telling it that the tests need the
    entire project to be already built. So apparently the "make install" in
    tests/populate often ends up building a significant part of the project
    and ... that two competing makes in the tree ever actually manage to
    complete at all is a small miracle.
    
    There doesn't seem to be a way to add a dependency on the ALL target in
    cmake, so have populate_testing target depend on top-level cli tools
    to enforce at least "mostly sane" situation when running "make check"
    without a preceeding build. This should address the issue of random
    CI failures in ticket #2357.

commit eb5ece1267a22330f6116149997cf5cc1c22b21f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 12:08:48 2023 +0200

    Issue deprecation warnings on %patchN syntax

commit c18f62e7b0630394e0bf2ccee0239a0cddd93d0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 12:06:47 2023 +0200

    Briefly document %setup and %patch in reference manual
    
    Take the opportunity to document the recommended and deprecated syntaxes
    and their availability across rpm versions.
    
    Fixes: #2209

commit 6edbb02d30a862be990c634d859ac80c6239f3f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 11:07:33 2023 +0200

    Convert most of our examples to use a modern %patch syntax
    
    In order to properly deprecate the syntax, we need to move ourselves
    off it first...

commit 4c814f88d515aecf358128f6400d0ece55ff1499
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 18 15:08:44 2021 +0100

    Add --generate-subpackages to find_lang.sh
    
    using the new dynamic spec feature. It creates one sub package by
    language.
    
    Resolves: #1276

commit 9995991208214bef913fc5440d6f2f34731c7359
Author: Florian Festi <ffesti@redhat.com>
Date:   Sat Nov 26 11:16:45 2022 +0100

    Add test case for %find_lang
    
    as a stepping stone for testing dynamically generated language sub packages

commit e120e7aac288f6983310aa9e63a70dd6047c9e8d
Author: Florian Festi <ffesti@redhat.com>
Date:   Sat Nov 26 11:14:42 2022 +0100

    Add bash to test environment
    
    as it is used by find-lang.sh (and may be others)

commit ccfca4146d3c0c7ac3a3be37b3ea501620954d2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 11:03:27 2023 +0200

    Use our O_DIRECTORY equivalent when opening files for setmeta
    
    Ie if we expect a directory, ensure we got one.

commit 3a7c8bc401a97f0ebf57bef3987a337129e4371f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:57:03 2023 +0200

    Explicitly specify O_RDONLY when opening files for setmeta
    
    On Linux, this is a no-op as O_RDONLY is 0 but this may not be so on
    other platforms. Another 4.18 regression.

commit 5dcc399cd21f607f13eb092a3abfc8b8daa59d4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:44:28 2023 +0200

    Add a test for special device node installation
    
    This is a bit theoretical as it does not work for regular users or in
    containers which are the typical scenarios for running the test-suite.

commit 3a3e10b9813bdfc4223aedc82292386a50510b04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:16:35 2023 +0200

    Never follow links in path-based chown()
    
    This is basically a leftover from the initial conversion to the *at()
    family in commit 1bab34c6e45c549c7829e469ba35bdececbb84e8 - the logic
    was already there and only converted to the *at() form. But this is not
    only potentially insecure (remember all those symlink CVEs) but also
    wrong simply because it's inconsistent with the other metadata ops which
    never follow links in path-based mode.

commit 932013698149d43720cc321c8df2f99f51866e18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:00:37 2023 +0200

    Use fd-based ops for metadata in FA_TOUCH mode too, when possible
    
    Fixes another brainfart in commit 25a435e90844ea98fe5eb7bef22c1aecf3a9c033.

commit 28c92fd54c93371c3062664d8a938438a2be88d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 08:57:27 2023 +0200

    Fix install of block and character special files (#2195, #2275)
    
    While it's possible to open special files, they are, well, special and
    have "side-effects" also known as, ahem, semantics. Opening a device
    file in Unix means accessing that *device*, and FIFOs have their own
    semantics.  In other words, for rpm's purposes, we should never EVER
    open these files as a part of the install / permission setting etc.
    Fix this major brainfart in 25a435e90844ea98fe5eb7bef22c1aecf3a9c033.
    
    OTOH this forces us back to the less secure path based operations for
    these files, which is what we were trying to avoid in the first place.
    There always was a tiny race between create + open for these (because
    there's no atomic way to create + open anything but regular files) but
    this opens up the window quite a bit.
    Nobody should be placing device nodes in user-owned directories but
    FIFO's may be a different story.
    
    We haven't had tests for device nodes because it requires privileges the
    test-suite usually doesn't have, not testing FIFOs I have no excuse for.
    Add that test now.
    
    Fixes: #2195, #2275

commit 4035d6cde6978aa55059e8d7e04a1485cc630cac
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jan 12 17:40:19 2023 +0100

    Unbreak %dev directives in %files
    
    Somehow this fell through the cracks when refactoring
    processBinaryFile() in commit f062d5744c3ee338daaeb8e11b1fc20f9e44dee3,
    it basically disabled the use of the %dev directive altogether, oops.
    
    Without rpmIsGlob() (which was also yanked in the recent cleanups), we
    can't easily determine whether a string is a glob pattern, so don't
    overcomplicate this and just remove the error message, and always
    consider any metachars in a %dev line literal.
    
    Since %dev is meant for device *creation* [1] at install time and we
    never lstat() those filenames in addFile(), any use of globs within such
    a filename can only possibly be meant literally, period.
    
    That doesn't mean we shouldn't actually document %dev itself in our own
    docs but let's do that separately.
    
    Thanks Panu for discovering this regression and suggesting a fix!
    
    [1] https://jfearn.fedorapeople.org/en-US/RPM/4/html-single/RPM_Guide/index.html
    
    Fixes: #2347

commit a4a0a10b1fc8f02b32bd21d22215b54e049e93f9
Author: Wenlong Zhang <zhangwenlong@loongson.cn>
Date:   Tue Jan 3 14:29:18 2023 +0800

    Revise ISANAME for loongarch
    
    %_isa is already adding -64. No need to have 64 twice.
    
    Signed-off-by: Wenlong Zhang <zhangwenlong@loongson.cn>

commit 2b9342a0ecde00be145653e122e8cd32fabbae5a
Author: yangchenguang <yangchenguang@uniontech.com>
Date:   Fri Jan 6 11:14:03 2023 +0800

    Testcases: rpmbuild source name with space
    
    Signed-off-by: yangchenguang <yangchenguang@uniontech.com>

commit 71dedfd2f434ea54fc3a920e4b44a8737ba6cb25
Author: wangpeng <wangpengb@uniontech.com>
Date:   Fri Jan 6 09:49:50 2023 +0800

    Quote source file names in %setup
    
    Resolves: #2335
    Signed-off-by: wangpeng <wangpengb@uniontech.com>
    Co-authored-by Florian Festi <ffesti@redhat.com>

commit 4fde659835409669b51850a8e49743b468f0631b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 11:42:59 2023 +0200

    Un-deprecate %_changelog_trimtime
    
    Deprecating implies plans to remove later, but this is actually just an
    alternative strategy for changelog trimming, and different distros may
    have different needs.

commit 37ec18d86b26f58e3b6aa60aefaefabe4ff15169
Author: yangchenguang <yangchenguang@uniontech.com>
Date:   Tue Dec 20 16:35:11 2022 +0800

    Fix silent wait when missing input RPM package
    
    Signed-off-by: yangchenguang <yangchenguang@uniontech.com>

commit cd46c1704ccd8eeb9b600729a0a1c8738b66b847
Author: Fabian Vogt <fvogt@suse.de>
Date:   Thu Dec 8 12:50:12 2022 +0100

    Add x86-64 architecture levels (v2-v4) as architectures
    
    The x86_64 SysV psABI defines four levels of x86_64 with certain CPU
    features required for each level. Those definitions are meant to be
    generically useful and recognized as such by glibc and gcc as well.
    
    For backward-compatibility and to avoid surprises, default to building
    x86_64 even on v2+ capable machines.

commit ed1b97511434d56652d9ff27b47d72e3318355a8
Author: Richard Phibel <rphibel@googlemail.com>
Date:   Tue Jan 3 17:17:20 2023 +0100

    Fix case of LIBLZMA_FOUND variable
    
    In pkg_check_modules command, LIBLZMA is all uppercase. So in variable
    LIBLZMA_FOUND, LIBLZMA should also be all uppercase.

commit 7b0b5e7d2cf53817ec5e2545c5f591a26db72cec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 9 09:59:27 2023 +0200

    Use proper macro conditional negation syntax in the manual
    
    Historically only %{!?foo} syntax has been used, the reversed ?! version
    was only introduced in 0d75ef1e0a0609ee61386f02fa311d6d8ac79450 (perhaps
    accidentally) and should not be used, much less recommended.

commit 100004fffe26f856d4e8fa8b46e8d9c2c8b1227f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 15:46:25 2022 +0200

    Implement major() macro discovery in cmake similar to autoconf
    
    This basically just duplicates how the major() / minor() macro discovery
    works in autoconf: test for major() in <sys/sysmacros.h> and
    <sys/mkdev.h>, if found define a variable accordingly. If not, assume
    it's in <sys/types.h>.

commit 492be59ece28a7341de0bd88c0a23125ba54d2ce
Author: Sean Molenaar <SMillerDev@users.noreply.github.com>
Date:   Fri Dec 30 19:40:15 2022 +0100

    brp-remove-la-files: use -0 to work on macOS

commit e9bd7c761fbf1e5593a82d5ab4572854d8314593
Author: Dimitrios Soumis <jimsoumis@gmail.com>
Date:   Sat Dec 24 22:37:58 2022 +0200

    Fix typo in macros.in

commit af81c95114bc2c01f005f15f17646a5188b5855d
Author: xujing <xujing125@huawei.com>
Date:   Mon Nov 28 11:34:24 2022 +0800

    Fix fileleak when urlGetFile fails in rpmInstall
    
    The "tfn" is created by calling rpmMkTempFile but not unlinked when
    urlGetFile fails in rpmInstall. Fix it.

commit f0f983b145583eeed618cf3cbc5d39bedd8af5a5
Author: xujing <xujing125@huawei.com>
Date:   Mon Nov 28 11:19:20 2022 +0800

    Fix fileleak and memleak in rpmInstall
    
    The "*eiu->fnp" from "eiu->pkgURL[eiu->pkgx]" which is alloced. when
    Fopen or rpmReadPackageFile fails in tryReadHeader, "*eiu->fnp" is
    set to NULL but not freed. In addition, if "eiu->pkgState[eiu->pkgx]"
    is set, the file is leaked too. Fix it.
    
    Only resource free is added, no other logic change.

commit 688c4ad34d197055eb8f58fb4e45065af881598c
Author: xujing <xujing125@huawei.com>
Date:   Mon Nov 28 11:10:19 2022 +0800

    Fix memleak when fsmRename failed in fsmCommit
    
    The "dest" is alloced in fsmFsPath but not freed when fsmRename failed
    in fsmCommit. Fix it.

commit 7feccb696115e94c81a84807456cb38512281312
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 16 15:50:12 2022 +0100

    rpm2archive: Don't print usage on no arguments
    
    given as we want to default to reading from stdin and writing to stdout in
    that case.

commit 5e22e0c5833fb53f9c54652072316998ed0365e4
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 16 15:45:20 2022 +0100

    rpm2archive: Properly parse popt options
    
    and issue an error message for unknown options. Before unknown options
    could mess up the argument parsing leading to reading and writing from
    stdin/stdout.
    
    Thanks to Eva Mrakova and the Red Hat QE team for spotting this!

commit e2c504c08381519c81774791fe6b82eb064a072e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 12:23:52 2022 +0200

    Move bunch of global compile definitions to the targets needing them
    
    No functional changes, just declutter the global compilation stuff
    a bit.

commit 3b0b9d491f5828a40c15b76b4a19ca00006cf81e
Author: xujing <xujing125@huawei.com>
Date:   Mon Nov 28 11:02:47 2022 +0800

    Fix memleak when running %generate_buildrequires
    
    The "output[i]" is alloced in argvSplit but not freed when running
    %generate_buildrequires. Fix it.

commit 6130bd31038ff17a03fcac6ec7e41ac744163dde
Author: xujing <xujing125@huawei.com>
Date:   Sat Nov 26 11:39:48 2022 +0800

    Fix *sbp leak when running rpmbuild with --quiet
    
    When running rpmbuild with --quiet, the "*sbp" may be alloced many
    times in buildSpec by calling doScript but only freed once. Fix it.

commit 01196e00beefc2ba6f7f0787350c5dd76891829a
Author: xujing <xujing125@huawei.com>
Date:   Fri Nov 25 17:11:22 2022 +0800

    Fix elf leak in getElfColor
    
    The "elf" is leaked in getElfColor when gelf_getehdr return fail.

commit c013821c0c9350b67d9f9a02848e1a7f87fa180b
Author: xujing <xujing125@huawei.com>
Date:   Fri Nov 25 17:04:11 2022 +0800

    Fix prog leak in parseScript
    
    The "prog" will be alloced when using "-p" options, which cause src
    "proc" leak. Add "origproc" to point to src "proc" to fix it.

commit 7fcdfd3b40f69af6a1d4980683859eef05f39b4e
Author: xujing <xujing125@huawei.com>
Date:   Fri Nov 25 16:48:34 2022 +0800

    Fix BANames leak in handlePreambleTag
    
    The "BANames" is alloced from popParseArgvString but not freed
    when spec->packages != pkg. Fix it.

commit 418721a2877b9a85d3010e2ab8084e4df43fcf81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 14:17:09 2022 +0200

    Restore compiler sanity back to the level of the autotools build
    
    Essentially, this reimplements 5ee567ebd600c1dec4a9ceb6161d877d891d8594
    in cmake.

commit 64dea7618bec2f3c4138f13ab057726ee4af15b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 13:37:02 2022 +0200

    Implement proper imaevm detection in the cmake build
    
    Abort the build if imaevm enabled but header+library not present, use
    detected values. Check for lsetxattr() availability. Drop unnecessary
    imaevm linkage from the plugin, the plugin only manipulates xattrs and
    does not need the IMA library.

commit 275742d1fa347ca163d053823e429dc197ef4e55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 13:32:49 2022 +0200

    Move optional/required function lists earlier so we can append to them
    
    No functional change here, needed for the next commit.

commit bcbcfd74401dab79a45fb43d669b7eb34afe17b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 12:48:23 2022 +0200

    Select default db backend based on what's available
    
    Similar to what we had in autotools build, select the default db backend
    based on availability: sqlite remains the default but if it's not
    compiled in the ndb will be used etc. The dummy backend is always
    present so we don't need error checking.

commit 8e6108a5964c7289f3db70f3d188293276416528
Author: Daniel Alley <dalley@redhat.com>
Date:   Thu Dec 8 09:40:00 2022 -0500

    Use unsigned integers more consistently in the handling of tag data
    
    Not a functional change, it just makes the code more clear and
    self-consistent.

commit cf27c6f4963dcf27302d0f4fa39d7787dd03f942
Author: xujing <xujing125@huawei.com>
Date:   Fri Nov 25 17:18:33 2022 +0800

    Fix Header leak when running rpm2cpio
    
    Header "h" is alloced in rpmReadPackageFile but not freed when
    running rpm2cpio. Fix it. Remove redundant whitespace between
    the Fclose()'s too while at it for logical cleanup grouping.

commit 46bf7b753bf28779e16be881a9fd2585b3479269
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 7 14:57:32 2022 +0200

    Remove rpmquery and rpmverify symlinks on "make clean" again

commit 642dafdfc9920a563796f117923376904cf6671a
Author: olf <Olf0@users.noreply.github.com>
Date:   Tue Nov 29 21:26:15 2022 +0100

    Add missed full stop.

commit a108d36acf29796b443285658a606c1b13866d9a
Author: olf <Olf0@users.noreply.github.com>
Date:   Tue Nov 29 21:17:16 2022 +0100

    Fix broken markdown quoting …
    
    … introduced in [commit 8b635e2](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e):
    - [Lines 98 - 101](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R98-R101): The two tildes lacked quoting, hence the text between them was struck out.
    - [Line 96](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R96): Eliminate IMO superfluous triple quoting:  "**\`\`\`**" → "*\`*"
    - Rephrase [lines 95 - 96](https://github.com/rpm-software-management/rpm/commit/8b635e2016931ec5bb7dddd6608c09b0b16f7b8e#diff-f0f022b189e54462e3284599236a3b192b721928da4bea1a85d738b25ba5eaa7R95-R96), to be more concise.

commit 7064a63a61ca631e745156a64c5ba9387df5e467
Author: olf <Olf0@users.noreply.github.com>
Date:   Tue Nov 29 23:05:22 2022 +0100

    Fix markdown syntax typo

commit 162ce177b071dc35571da68ec0dd371f2f942130
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 29 13:40:43 2022 +0200

    Default to Sequoia crypto as per roadmap
    
    Defaulting to a deprecated build option tends to looks a bit strange.
    Make Sequoia the default crypto option, update docs and add the
    dependency to CI environment.
    
    Fixes: #2065

commit 806356c608c13aea78da632c384524d298e8401d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Nov 25 17:40:36 2022 +0100

    Refactor processSpecialDir()
    
    No functional change.

commit a06374be2f85e457cb526edb8ead40f57c82bfd6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Nov 21 17:36:21 2022 +0100

    Glob special files only once, internally
    
    Currently, special files are globbed twice during build.  When copying
    them from builddir to buildroot using the %doc/%license script, we let
    the shell handle the globbing as we pass the patterns verbatim to cp(1).
    Then, when adding the copied files from buildroot to the internal file
    list, we use rpmGlob() to expand the same patterns in builddir again.
    
    This is not only redundant but also potentially error prone as it
    assumes both shell globbing and rpmGlob() will yield the same results.
    And most importantly, it means we can't just quote the cp commands to
    allow the use of shell control chars like '&' in filenames.  Selectively
    escaping those would be possible but still too brittle.
    
    To fix all that, just use rpmGlob() first and then pass the matches one
    by one to cp, all quoted.
    
    A side effect of this change is that there will be one cp command per
    match, as opposed to one cp command per file entry with matches as
    arguments, and the paths will be absolute.  This will make build logs a
    tiny bit more verbose but also more explicit and safe from hitting the
    maximum number of arguments in a single shell command (although that's
    more of a theoretical scenario, not likely with real packages).
    
    Fixes: #1294

commit 6a950a3a56a86a2ed8825efe69c8fdd74721694b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 13:22:50 2022 +0200

    Avoid unnecessary variables for cmake target data, part 4
    
    No advantages with includes either. cmake has some fancier property
    based stuff for dealing with public headers but those appear very recent
    additions.

commit 91d8c1fb9f09237e9c1b420576b55403e68015c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 12:40:02 2022 +0200

    Avoid unnecessary variables for cmake target data, part 3
    
    These don't really add any value over just passing them to install()

commit 7f18bb8a02d590559d7066cd3ad46c4625478475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 12:22:58 2022 +0200

    Avoid unnecessary variables for cmake target data, part 2
    
    Unroll the fancy loops for our cli util handling. This is slightly
    longer but much more straightforward to follow.
    
    Logically, parts of this would've belonged to commit
    71fe36cdc55588ec6776839b0efd058977eaac2e already untangling this isn't
    entirely straightforward.

commit 58ece20d33f78be1dfbf4d3aedae3fe282bc4c21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 11:41:17 2022 +0200

    Avoid unnecessary variables for cmake target data, part 1
    
    The foo_SOURCES style isn't really in cmake ethos, and is wholly
    unnecessary here: target_sources() achieves the same exact thing in a
    slightly more straightforward way.

commit 28d8b2dbd31fe11651ef97c9e51335329dbb1db7
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 28 12:23:03 2022 +0100

    Add _build/ to .gitignore
    
    as that's the suggested way of building in the INSTALL file

commit f1132f1205c1c22012f3c5e8a93a4ec398747ff7
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 26 10:50:59 2022 +0200

    Remove build artifacts from .gitignore
    
    as with cmake builds should not longer be made in-tree

commit 71fe36cdc55588ec6776839b0efd058977eaac2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 16:01:00 2022 +0200

    Use cmake imported targets to let it sort out the compiler flag details
    
    These imported targets passed to target_link_library() are supposed to
    handle all the pesky compilation, linkage etc details behind the scenes.
    I was pretty sure I was missing a trick with this, but this sure isn't
    exactly underlined in the documentation.
    
    Unroll the supposedly helpful loop for handling plugins: turns out doing
    this cmake native way is plenty shorter and more obvious too. The unroll
    kinda belongs to a separate commit but that'd be rather painful for very
    little if any gain.
    
    Fixes: #2269 and a whole class of similar cases, allegedly

commit 17eb3a457a2d9f33ec7e9f031ccf7a951318cc7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 13:08:38 2022 +0200

    Bump CI to Fedora 37
    
    After being stuck on an EOL Fedora for so long, it's nice to be on the
    leading edge for a change.

commit 4c6052c42aee71695a0c1bde0b674e2ad6f8c96b
Author: Robbie Harwood <rharwood@redhat.com>
Date:   Thu Oct 27 15:11:36 2022 -0400

    Add rpmsort utility for sorting RPM versions
    
    rpmsort(8) is intended for use in shell scripts.  sort(1) is not RPM
    versioning-aware, and attempting to work around that is fraught.
    Instead, provide a wrapper around rpmvercmp() using qsort().
    
    Fedora's grub2 has carried a version of this since 2015, and a more
    complex version was also part of the grubby project (provided at
    /usr/libexec/grubby/rpm-sort) since 2018.  This version has been
    simplified and adapted to the RPM project.
    
    Also-authored-by: Peter Jones <pjones@redhat.com>
    Signed-off-by: Peter Jones <pjones@redhat.com>
    Signed-off-by: Robbie Harwood <rharwood@redhat.com>

commit 96f9b82e263bc83a4aacc1d8ccd729170b1a2676
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 10:46:21 2022 +0200

    Also make the ci target a boolean option with explicit dependencies
    
    Similar rationale as for 821bd6c271d99b37391398ce8577da5c29f9ec9c

commit faa3b8822c29cf21679243e88f6a36aa9dcc4d65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 10:37:38 2022 +0200

    Make test-suite a boolean option with explicit dependencies
    
    Silently skipping the "check" target generation if one or more of its
    dependencies are missing is unobvious and inconsistent with how other
    optional dependencies are handled. Add an option to disable the
    tests-suite and make it's dependencies explicit.
    
    Fixes: #2288

commit ee4356ef27180c370c311ce57d9829adc74264a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 13:39:59 2022 +0200

    Issue a warning when signing created an OpenPGP v3 signature
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2141686 revealed that much
    of the rpm-ecosystem is still using the obsolete v3 OpenPGP signature
    format, I think largely due to workarounds for legacy rpm versions (from
    around the turn of the millennium) that have just been forgotten in
    place. Lets at least issue a wake-up warning when that happens.
    
    Unfortunately this is can't really be tested as current GnuPG versions
    just ignore any --force-v3-sigs arguments.
    
    Fixes: #2286

commit cf0231964553bdb060ecf71e9e1c545c0fb97dd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 14:10:05 2022 +0200

    Use proper name (OpenPGP) when referring to the standard in messages

commit 86c1d9738de58eb8f8844c5345baeb578ace9485
Author: xujing <xujing125@huawei.com>
Date:   Thu Nov 24 17:33:53 2022 +0800

    Fix h->blob leak when installing source rpms
    
    When installing source rpms, "ei" is malloced and is saved in
    blob->ei by rpmReadPackageFile->rpmpkgRead->hdrblobRead, and then
    blob->ei is saved in h->blob by rpmReadPackageFile->hdrblobImport,
    which is leaked during installation.

commit 0b34438ccc3fdcbdaa6226d2398df88cc7439603
Author: xujing <xujing125@huawei.com>
Date:   Thu Nov 24 17:16:46 2022 +0800

    Fix file leak when src rpm in URL format is used for installation
    
    %{_tmppath}/rpm-tmp.* is created by rpmMkTempFile() when src rpm in
    URL format is used for installation, which is leaked.

commit 084c64d5ea0e1a309d3b57dc95926eb1536d0a7a
Author: xujing <xujing125@huawei.com>
Date:   Thu Nov 24 11:43:28 2022 +0800

    Fix eiu->sourceURL info leak in rpmInstall()
    
    When installing source rpms, eiu->sourceURL info is leaked.

commit 15a0c73f4698bc58fa2a633d46527c7813150f3a
Author: xujing <xujing125@huawei.com>
Date:   Thu Nov 24 10:43:11 2022 +0800

    Fix header leak in rpmInstall()
    
    When rpm installs a package, the header from tryReadHeader()
    in rpmInstall() is leaked in some cases.

commit 9daaf3d2ffa1a8b625e9a2657eac9b7ab3da3d8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 10:51:04 2022 +0200

    Add some basic tests for OpenPGP v3 signatures
    
    Wider exposure of the Sequoia backend taught us that OpenPGP v3 signatures
    are surprisingly common still in the rpm-ecosystem, and in fact more
    common than v4 signatures. It's a bit surprising, considering that gnupg
    has defaulted to creating v4 signatures since 1.4.8 from late 2007 gnupg2
    refuses to create them at all.
    
    For future reference, the sample package here was signed with
    
       rpmsign --addsign --rpmv3 \
            --digest-algo=sha256 \
            --key-id=rsa@rpm.org \
            --define "__gpg /usr/bin/gpg1" \
            --define "_gpg_sign_cmd_extra_args --force-v3-sigs" \
            /tmp/hello-2.0-1.x86_64.rpm
    
    The two defines are the key to creating OpenPGP v3 signatures in 2022,
    the. Note that the --rpmv3 switch has absolutely nothing to do with
    OpenPGP v3 signatures, it's there to force *rpm* v3 signatures on the
    package similar to the other signed sample package.
    
    Fixes: #2276

commit 37b963fa51d6ad31086a6e345ce6701afda5afff
Author: yangchenguang <yangchenguang@uniontech.com>
Date:   Tue Oct 25 16:57:44 2022 +0800

    Allow piping from rpm2archive
    
    If stdout is not a terminal, output the archive(s) to it, instead of
    creating file(s) on disk.  This makes rpm2archive consistent with
    rpm2cpio.
    
    Based on a patch from yangchenguang <yangchenguang@uniontech.com>.
    
    Fixes: #2208

commit 425e2e02963eb2be8c685c75c37e7cc32103326c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Nov 22 15:07:23 2022 +0100

    Fix missing headers/footers in generated man pages
    
    Pass -s/--standalone to pandoc as it's needed in order for the man pages
    to render properly in man(1), we also used this option pre-cmake.
    
    While at it, also add the lost "-t man" back, to be explicit and avoid
    educated guesses.
    
    Fixes: #2283

commit 9fe0a099adb2dd373817b1c582200335830334b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 18 12:00:24 2022 +0200

    Restore compiler warnings to autotools build level
    
    In autotools, we used to test whether -Wempty-body is supported, but
    that was newish in 2009 so maybe we can now just assume.

commit ff8bc357918bbddd7f0409f12ccb24cb381759b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 18 11:57:04 2022 +0200

    Turn missing utility warning from cmake to debug message
    
    No point cluttering the output with this stuff, autotools didn't either
    and in all these years I haven't seen anybody complain about *that*.

commit d0867bcea9238d2d6438a6e987c5becb0c4f0344
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 18 12:08:55 2022 +0200

    Fix OpenMP enablement in librpmbuild (broken by cmake transition)
    
    find_package(OpenMP) does not actually set any compiler flags in the
    build environment, we need to do this manually.

commit 3c4f309e413ee8eda9f1381f2c20931c802adec8
Author: Miroslav Suchý <msuchy@redhat.com>
Date:   Fri Nov 18 11:06:16 2022 +0100

    document example of dynamic spec

commit 8a7a4e130578b11bf8087b503c53b8633478ed86
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 16 17:16:05 2022 +0100

    Test if BuildDependencies are checked for %prep
    
    Have package build fail for rpm -bp

commit 0d6429a4d9498786491a7b806a775585d806f96e
Author: Paul Donohue <git@PaulSD.com>
Date:   Tue Nov 8 11:00:23 2022 -0500

    Fix regression: -bp should check BuildRequires
    
    Some source packages assume that BuildRequires are installed before
    %prep is executed.  For example, `openssh` BuildRequires `automake` and
    runs `autoreconf` in %prep.
    
    Prior to 11c56d5 `rpmbuild -bp` checked BuildRequires and printed a
    helpful error message if there were any missing dependencies.  Since
    that commit, `rpmbuild -bp` skips the BuildRequires check, which can
    lead to misleading errors in %prep.
    
    This commit restores the BuildRequires check in `rpmbuild -bp`.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 1281c928a78181eb54d4c371d4c8ad5be20904a7
Author: xujing <xujing125@huawei.com>
Date:   Wed Nov 2 16:14:47 2022 +0800

    tests: add test for Obsoletes
    
    add test which is previously uncovered case.

commit 25022624fd7c178c76f75afe25e1ad07f4628370
Author: xujing <xujing125@huawei.com>
Date:   Wed Nov 2 16:08:10 2022 +0800

    tests: add test for %verify in %files
    
    add test which is previously uncovered case.

commit e73c9827a5ad492e6f86d387fa17b1011a09057a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 14 14:29:24 2022 +0200

    Remove unrelated %undefine output from macro scoping test
    
    %undefine output is not what this test is about, it's what happens
    afterwards. Commit aec8bdb53a3013eabf16368e17a65ab69c2136ee changed
    what happens in this very context, but then %undefine is not intended to
    used this way and its output is not what is being tested here, macro
    scope behavior is.

commit 52dc80022ec8c01ab77ecdc5a79a323289ae48ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 4 14:50:38 2022 +0300

    Enable malloc checking with random perturb in the test-suite
    
    Glibc provides low-cost memory sanity checking on it's own, it'd be
    foolish not to take advantage of this in the test-suite for our CI.
    As this introduces a level of randomness to the system, record the
    environment in a file (in particular, glibc.malloc.perturb value) to
    make possible failures reproducable.
    
    This is effective for glibc >= 2.34 only, in older versions the
    mechanism to enable differs.
    
    Based on initial patch by Elia Pinto.

commit db1c9da7fe507b7eb0424bf9c76b6cf37094ed36
Author: Neal H. Walfield <neal@walfield.org>
Date:   Thu Nov 10 08:39:20 2022 +0100

    Fix rpmkeys type confusion test.
    
    The `rpmkeys type confusion` test was added in ec13083f46a1e to check
    that the internal OpenPGP parser rejects a certificate with an invalid
    component.  The Sequoia backend happily accepts the certificate and
    ignores the invalid component, which causes the test to fail.  Mark
    the test as specific to the internal OpenPGP backend.
    
    Fixes #2272.

commit e8e2a121ba6c604f342f86d0c73dca32bd7d687c
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 11 11:07:59 2021 +0100

    Add Dynamic Spec generation
    
    Read in *.specpart files from %{specpartsdir} aka $RPM_SPECPARTS_DIR
    after the %install script. This allows the build process to add sub
    packages to the build. In the future more changes to the packages may be
    possible - like amending package declarations.
    
    The %{specpartsdir} is created by the %setup pseudo macro inside of the
    buildsubdir. It's presence allows build scripts to check if this feature
    is supported in the running rpmbuild instance.

commit 524bfcb816ea0fa21bbe9891073409df9d239d4f
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 11 19:11:52 2021 +0100

    Allow starting new spec parts with PART_EMPTY
    
    Don't require %end as first line when PART_NONE is "preceeding"

commit 4b74e8a6ed237829445a31493962a8ca825fd1c1
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 20 15:11:19 2020 +0200

    Split actual parsing of spec into its own function
    
    This allows parsing more spec pieces later in the build process

commit 0576d24756fe975d890f5535a21cfdfd35fc2ca4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 16:02:24 2022 +0200

    Make %_smp_mflags build rather than parse time determined
    
    Decisions about number of CPUs to use need to be determinable at the
    exact time of build, the moment of parsing has little to do with it.
    Have %_smp_mflags take its value from the environment which we do
    control at the time of build, rather than the spec parse moment.

commit b0c9b3d87ae05ba292e037ef28f578da1114c09c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 15:50:12 2022 +0200

    Calculate number of threads to use during build, not spec parse
    
    I think I initially added the thread stuff into spec parse with the idea
    that spec parse needs to be aware of it for stuff like %_smp_mflags,
    but that logic is busted: we need to calculate it after parsing to have
    any spec overrides affect the result, but in that case it can no longer
    affect what was parsed already (eg that %_smp_mflags stuff), it needs
    to be communicated differently. And in the meanwhile, parsing a spec
    has nothing to do with threads. Building does. So move the dance where
    it belongs, and while at it restore the previous value in OMP after a
    build completes.

commit 1c39ff76cbddf277d5fc1e6fc3309bc37c695004
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 10:48:42 2022 +0200

    Do CI builds with a random install prefix
    
    Another step to cover up for distcheck loss.

commit 1323661b2de213797a1990de35db198f5b0d180b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 10:47:12 2022 +0200

    Enforce read-only tree in CI builds
    
    This is something autotools distcheck target does, and is rather
    useful...

commit b53bae95e5a8349a6dce22c81be3bf88f624b261
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 10:30:42 2022 +0200

    Run CI builds entirely outside source tree
    
    Makes things cleaner and consistent with the Debian variant, plus avoids
    having to guess against locally existing directories when copying files.
    Also, only set WORKDIR when needed, the dnf stuff does not depend on it
    at all.

commit 5049fc701561b258b722b3400460d8828ce9e64e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 10:41:34 2022 +0200

    Make CPU and thread-related macros available on all platforms
    
    %_smp_mflags and the related macros that it grew around itself used to
    be platform specific as they relied on external tooling (eg getconf for
    getting processor count), but since rpm 4.15 this has been backed by the
    built-in %{getncpus} macro which is available on all platforms, so
    there's zero reason to duplicate this stuff on all platform files.
    
    Fixes: #2265

commit 3d56ca240a8396537dff9bb3005d1351d16d5224
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 09:34:56 2022 +0200

    Eliminate remaining %{u2p:...} uses
    
    The build and source directories are plain old directories, never any
    sort of URLs. Drop the misleading and obfuscating u2p macro uses from
    the build environment setting.
    
    As of this commit, u2p is unused within rpm.

commit ff731cdde53b8f26d61aa8aa8bed968339327908
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 14:01:04 2022 +0200

    Add a Debian based alternative Dockerfile CI for giggles
    
    This is unused for now, but besides amusement it helps keep us straight
    wrt bashism and other distro differences.

commit cdecb62ad4263654dc24ea1739a7d2471d29e528
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 13:51:49 2022 +0200

    Avoid bashisms in test-suite specs
    
    On Debian and derivates, /bin/sh points to /bin/dash which among other
    things doesn't support brace expansion.

commit 00c1bdfd7cf1b9894537a20b2c3b8ee9f4ea4b39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:44:18 2022 +0200

    Try to use pre-compiled libmagic, fall back to recreating if not found
    
    Fedora ships the magic source, but at least Debian does not and so
    our clever `file -C` trick for avoiding paths ends up being less clever
    in that case: there's nothing for file to compile so you get an empty
    .mgc. Which has consequences.

commit 36efef2eb4810b66a6893b3889010bdb5d70ef1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 11:21:43 2022 +0200

    Try to look up utility paths instead of just assuming /usr/bin

commit 1e1e93ee53361ff741d52dc0364089aa59ffbfc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 10:11:53 2022 +0200

    Avoid buggy (if harmless) bin symlink in test when using /usr prefix

commit 40d66336a243093d6d67d1203f511d3831ecbc7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 15:46:40 2022 +0200

    Handle testing directory ro/rw state from cmake (mostly)
    
    In particular, re-enable read-write after completing the test-suite.
    This fixes the testing directory being annoyingly sticky and requiring
    use of exessive force to remove.
    
    Ideally we'd like to handle this entirely withing the check target
    (or rpmtests run) but PRE_BUILD commands execute far too late for this
    purposes, so just turn it ro from after populating it.

commit aa80e49574875aff76fe132080d7669158dda4ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 14:50:21 2022 +0200

    Bump cmake requirement to 3.12 to reflect actual use
    
    We already rely on a bunch of stuff (HOMEPAGE_URL and whatnot) that was
    introduced in 3.12.

commit e9f03dec404fef8cc8b6cdfc799f7fe607ff72a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 14:42:09 2022 +0200

    Fix fsverity plugin build, obviously never worked with cmake before, doh

commit 3dcf09b0f2f3f5914d163d741a653e7aa4de093b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 14:28:08 2022 +0200

    Fix libacl and libaudit linkage to use info from pkg-config

commit c0578ad982d5cb79551453570673a1ff5438190e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 14:06:05 2022 +0200

    Drop misplaced sqlite3 linkage from bdb_ro which certainly doesn't...

commit 89953f647a4b85143e7a7b78ac0122580998ebd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 13:16:40 2022 +0200

    Fix some cmake newbie variable testing confusion
    
    Where pkg_check_modules(FOO foo) sets FOO_FOUND if found, find_package()
    is similar but the module names are randomly miXedCase and so you get
    miXedCase_FOUND, if you're lucky.  Now, find_program(FOO foo) though,
    that's entirely different. It always defines FOO, regardless of whether
    it found something, and no other variables. And worse, it's defined to
    FOO-NOTFOUND, so you can't use the obvious if() shortcuts there. A simple
    way around this is testing for program existence - a trick lifted from
    libdnf, cheers if you're reading.
    
    Newbie errors and all, but one may have expected a bit more consistency
    from this much touted cmake thing...

commit d1e234bd567300b80172d8e1cdba9c6759b3eeb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 08:45:27 2022 +0200

    Remember to set include directories from pkgconfig for Lua
    
    We should really do this for all our dependencies, but notably Debian
    and derivates have multiple versions of Lua available, each in different
    includedir, and build fails without this.
    
    Fixes: #2258

commit c94051f99a6d134e719be9af1c8934d818594c74
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Mar 17 03:05:33 2022 -0400

    Reject multiple PGPTAG_PUBLIC_KEY packets
    
    RPM’s simple public key parser cannot handle multiple public keys in the
    same input stream.  While this could be fixed, it would require
    substantial refactoring in code that will eventually be replaced.  This
    is because the pgpDigParams struct can only hold a single public key.
    
    Currently, a second public key packet does not update the
    algorithm-specific data for the public key.  However, it *will* update
    the public key algorithm, if no signature packet has appeared in the
    meantime.  This prevents the security check in the previous commits from
    working and leads to a type confusion bug.
    
    Fix this bug by returning an error if a second PGPTAG_PUBLIC_KEY packet
    is found in the input stream.  This *does not* affect `rpmkeys --import`
    because it explicitly checks for multiple PGPTAG_PUBLIC_KEY packets and
    imports them separately.  It *does* affect the rpmPubkeyRead() and
    rpmPubkeyNew() functions; these will need to be fixed if this limitation
    is a problem for them.

commit 201cd279ec4ea743123d067cf31b04d76f86829e
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Fri Mar 4 10:43:44 2022 -0500

    Check packet types of signatures and public keys
    
    pgpVerifySignature() should check that the provided signature is in fact
    a signature, and that provided key is in fact a public key.  Otherwise,
    a type confusion bug could result if something that is not a signature
    or public key is passed.  RPM itself never calls pgpVerifySignature()
    without having checked the types so all calls in RPM are safe.

commit ec13083f46a1efe8700925538b4f98dc45af93bc
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Mar 3 23:34:01 2022 -0500

    Avoid type confusion when verifying signatures
    
    In RPM, both signatures and public keys are stored as heap-allocated
    opaque structs.  The type of the struct is determined by whether this is
    a signature or a key and by the public-key algorithm in the associated
    pgpDigParams_s struct.  However, when verifying a signature, RPM did not
    check that the signature and public key used the same public-key
    algorithm.  If they did not, the signature verification code will
    interpret a pointer to the struct specified by the public key’s
    public-key algorithm as a pointer to the struct specified by the
    signature’s public-key algorithm.  This is not a problem when verifying
    package signatures, as findbySig() (in rpmio/rpmkeyring.c) checks that
    the public-key algorithms used by the signature and the public key
    match.  If they do not, it returns NULL, causing both rpmKeyringLookup()
    and rpmKeyringVerifySig() to return RPMRC_NOKEY.  However, the code that
    checks subkey binding signatures does *not* check this, so the type
    confusion can be triggered when importing a crafted key.  This is
    demonstrated by the included test case, which segfaults when OpenSSL is
    used as the underlying cryptographic library.  Fix the problem by
    checking that the algorithms match in pgpVerifySignature().

commit 752ed08d1026aeb4aa1716f32064453005e12d5e
Author: Frank Dana <ferdnyc@gmail.com>
Date:   Wed Nov 2 10:11:24 2022 -0400

    Docs: macros: Add some missing fencing, fix grammar

commit 43155029ccf530a5cd184a53c68ddcb46ce7983b
Author: Frank Dana <ferdnyc@gmail.com>
Date:   Mon Oct 31 19:51:05 2022 -0400

    Docs: Macros: Attempt to fix literal backslash

commit 14e14a5c2a5140b00816ac7b8f104af810ab5208
Author: FeRD (Frank Dana) <ferdnyc@gmail.com>
Date:   Tue Nov 1 15:21:33 2022 -0400

    Docs: macros: backtick-fence more literals in body

commit 4df74a9644b18136b722e36cf3cac812e2c0a1a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 13:22:19 2022 +0300

    Axe man page translations
    
    These are all horrendously outdated, the newest proper updates to these
    files being from 2002-2007. Nothing has happened since, yep...
    Translations of these are better handled elsewhere and by other means.

commit 275a0ea28f2f8b32a3341fa135cd766c430d63e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 14:10:10 2022 +0200

    Add rpm-l10n as a submodule into po/
    
    The average rpm hacker does not need the translations for anything,
    those who do now need to do `git submodule init` to pull them. Not
    documenting it further for now as the details will change and these are
    only supposed to affect rpm maintainers creating dist tarballs anyhow.

commit fef87ca940214991366258ba7164f1550d29f33a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 13:46:07 2022 +0200

    Split off translations to a separate project
    
    With Weblate managing our translations, carrying them does nothing but
    create conflicts and annoyances of various kinds. Besides, the
    translation updates are nothing but an annoyance in the git history.
    Translators deserve credit for their work as much as anyone, but the
    code history is the wrong place for that. As a nice side-effect, this
    effectively prevents people from filing PR's for translation updates which
    we can't process anyway.
    
    The translations now live at a separate repository at
    https://github.com/rpm-software-management/rpm-l10n, integration with
    dist tarball creation and source string scanning to be done. For now,
    just skip the po/ directory if translations are not present.

commit 292f806157c8fd913a7803aa060d146adc316795
Author: Jingge Chen <mariocanfly@hotmail.com>
Date:   Sat Oct 29 13:21:57 2022 +0000

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 79.5% (724 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 6b3551f1f260b05938a0cb6faa5f7dab99ad0605
Author: Olga Smirnova <mistresssilvara@hotmail.com>
Date:   Wed Oct 26 23:59:24 2022 +0000

    Translated using Weblate (Occidental)
    
    Currently translated at 18.4% (168 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ie/

commit a80ec46aa142de129e84f757ca1c19d6bd3bc5bd
Author: Olga Smirnova <mistresssilvara@hotmail.com>
Date:   Wed Oct 26 23:06:43 2022 +0000

    Translated using Weblate (Russian)
    
    Currently translated at 58.6% (534 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ru/

commit c9c6e85d93f64cf356fce00b00917ddf9ed9d4bf
Author: Olga Smirnova <mistresssilvara@hotmail.com>
Date:   Thu Oct 27 01:03:41 2022 +0200

    Added translation using Weblate (Occidental)

commit 82c87a38e29e9b2db7e5799c965ccd0f303d81e3
Author: Yang Yulin <yylteam@icloud.com>
Date:   Mon Oct 3 00:55:40 2022 +0000

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 79.4% (723 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 94d1d50141560a4028754f741e21c22c14f4065a
Author: Yang Yulin <yylteam@icloud.com>
Date:   Thu Sep 22 09:24:03 2022 +0000

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 79.2% (721 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit cf6e17cf35b700471c73a61abdeae01c97748d26
Author: V I <xasertop@gmail.com>
Date:   Fri Sep 16 16:39:29 2022 +0000

    Translated using Weblate (Russian)
    
    Currently translated at 58.4% (532 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ru/

commit c74ec80bbb1b0a00d96cf41ee34636d307065709
Author: Olga Smirnova <mistresssilvara@hotmail.com>
Date:   Fri Sep 16 18:39:27 2022 +0200

    Translated using Weblate (Russian)
    
    Currently translated at 58.4% (532 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ru/

commit 5a014a11419faaeb1bcdb8dcb7310c6e65030cb1
Author: V I <xasertop@gmail.com>
Date:   Fri Sep 16 18:39:26 2022 +0200

    Translated using Weblate (Russian)
    
    Currently translated at 58.4% (532 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ru/

commit ae88e563671030fc593e1e6153e2296a2e055152
Author: Joachim Philipp <joachim.philipp@gmail.com>
Date:   Fri Sep 16 18:39:26 2022 +0200

    Translated using Weblate (German)
    
    Currently translated at 92.5% (842 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/

commit bf1771b06009a34fecc4e764601757cbb4ee97a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 31 09:43:54 2022 +0200

    Doh, unbreak CI from commit 190354cb19af6ecdfec6f7eaa454d6afcf381128
    
    Adding a comment to a spec can't affect the test-suite, right? Well,
    wrong.
    
    Certainly did not remember we have a --parse test on this particular
    spec. Doh.

commit 190354cb19af6ecdfec6f7eaa454d6afcf381128
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 14:55:53 2022 +0300

    Add a blurb to hello.spec cautioning against its use
    
    For most tests, it's the worst possible example because it's arch
    dependent and requires complicated external tools to build. Both of
    which are wholly unnecessary complications you don't want to deal with,
    unless your test-case actually requires running a compiler from rpmbuild
    and inspecting its output.

commit 32fabe9b283d66b01de2e95cdaf016e0a35bcb07
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 24 12:18:19 2022 +0200

    Remove duplicated code in doSetupMacro
    
    These look like they were different blocks needed at different places at
    some point. But I fail to see why this split is still necessary.

commit bf6a97da0b035ce1d341f01b6301407dcad5a5af
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 24 17:39:04 2022 +0200

    Add payload compression macro documentation
    
    Just refer to the newly added mode string API docs.

commit 919c835610c05e5a69d0813d28a3f3a6b7eddcd8
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Oct 24 17:38:22 2022 +0200

    Add mode string documentation to Fopen()/Fdopen()

commit 6b02b68442139e2978965317b857c858497fea04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 13:12:32 2022 +0300

    Only rebuild man pages when they change
    
    Need to use add_custom_command() to run on demand, but then that doesn't
    create a target that would execute so we need to add a separate "man"
    target that depends on the output files to trigger our new custom
    command. I'm sure I'll get used to this... eventually.

commit 1cc8ffc71f7e7297f54492cbb6d98e22816eb70a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 12:14:23 2022 +0300

    Unbreak rpmverify and rpmquery symlink creation
    
    add_custom_command() only executes if something depends on it, and
    nothing in the world is missing these two compat symlinks. Snif.
    As in, more cmake teething marks.

commit e5f38c0e1395e46ff8fd20098816864af0968dc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 11:52:06 2022 +0300

    Fix local test value leaked to UID_0_USER/GID_0_GROUP defaults, doh

commit 904bd6736dcfaad57e814a6d7b356b433e6d5127
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 11:10:01 2022 +0300

    Make sure test programs are built when needed but not otherwise
    
    Don't bother building test programs in "all" target, make them
    dependencies of "check" target instead.

commit 385ecf9952a0cadc2afe6ee0c36e4ea63c744fb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 10:54:26 2022 +0300

    Simplify + improve running of specific test-cases
    
    Allow specifying arbitrary test-suite flags and arguments through make
    TESTOPTS command line variable, which allows running specific tests
    through make with dependency tracking, so you don't need to manually
    mess with populate_testing and the like.
    
    Update the testsuite docs to match.

commit 41d1f1eb07e144d696af8a66d78b9ae2b7314514
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 09:38:05 2022 +0300

    Use add_custom_command() for concrete targets
    
    add_custom_target() is only meant for pseudo-targets that are always
    executed, these are producing real files and shouldn't be executed
    unless source changed.

commit 88cd49e88a5de734c0947ca972aa11bc2eef0bca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 14:07:20 2022 +0300

    Resurrect ./rpmtests standalone execution
    
    Autotests looks for "atconfig" file in the test-suite directory for this
    stuff, create one instead of passing it through environment to make
    rpmtests standalone execution work again.

commit 61bb33e593c0fa56aaca935da2007fe9bb848fd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 16:33:42 2022 +0300

    Add a rudimentary "make dist" target
    
    cmake doesn't track dist tarball content in the way autotools do,
    git seems like the next best alternative. This also isn't comparable
    with autotools tarballs in that those had pre-built content like man
    pages and API docs, that'll have to wait for another day.

commit 1a5c55e3eb0e23e76e6461ddc87cce25fde37df7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 16:03:32 2022 +0300

    Add a local ci target like we had in autotools
    
    Support both podman and docker, since it seems easy to do.
    cmake is picky about directories, if you have a local build in _build
    directory it'll get upset if you try to redo things from the same place
    in a different layer. Use _ci as the directory name and hope it's not
    very common for building.
    
    It'd be better to at least have an option for copying only what's
    committed to git, but that's for another day.

commit e7b2478ffb0253834561541348f7d12df66ae948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 14:39:03 2022 +0300

    Use cmake native PROJECT_FOO to pass around names and versions
    
    Rids us of one layer of autotools compat, yay.

commit 1dda4e430a8bdec0b3bfe8e6acd348632351ab8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 13:54:47 2022 +0300

    Remove redundant and broken find_package() on Intl

commit 8cfc036ef3a3b7b7b22c2adfcc43b64179f319a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 13:50:50 2022 +0300

    Populate rpm.pc from native cmake variables directly
    
    Avoids repeating a bunch of stuff and reduces reliancy on all manner of
    autotools compat fu. Oh and I know, Libs.private is broken still.

commit 160dfd75b83e8e9ce7ce0ad594d85cbd5834d386
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 12:09:42 2022 +0300

    Use proper form of #define for string constants in config.h.in
    
    Using #cmakedefine only makes sense for conditional values, and behaves
    in unexpected ways when used for other purposes.

commit d099a42b6c67dbfd6118778bda35ae020e28c456
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 11:03:10 2022 +0300

    Fix using config.h to pass definitions around
    
    Dunno what I was thinking when adding these initially, not much probably.
    In addition, the find_package() names are in CamelCase and obviously
    so are their foo_FOUND names. There's a special place in, uh, my heart
    for the inventors of these names...

commit 527be10240bde450d56c8cdee16129e36f06d56b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 09:59:00 2022 +0300

    Rename cmconfig.h.in to config.h.in now that it doesn't clash

commit 97860da5d3a9b6ce6bae1d005fd1db2c1dbbb97d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 09:56:42 2022 +0300

    Restore UID_0_USER and GID_0_GROUP discovery, take II

commit e73de0cadcc81a8d9354b46160a32219e9261b1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 09:33:57 2022 +0300

    Revert "Restore UID_0_USER and GID_0_GROUP discovery"
    
    Oops, that was totally broken...
    
    This reverts commit e3135f80bb45a1e45b01d0093e0a49d4ab6c33ce.

commit e3135f80bb45a1e45b01d0093e0a49d4ab6c33ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 09:19:27 2022 +0300

    Restore UID_0_USER and GID_0_GROUP discovery

commit 6f1c67ffb16688846debe947db112a78eb34eb5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 14:44:42 2022 +0300

    Remove autotools build
    
    There are some missing bits and pieces still to be done for cmake build,
    but that is so much easier if you don't have to worry about keeping
    compatibility with the system you're about to remove that it doesn't
    make sense to drag this on any further. The sooner this is over, the
    sooner it is over and we can start making use of cmake's advantages
    instead of just trying to bend over backwards to maintain compatibility
    with the autotools build.

commit 3e70775a1a2c12b87b72e2e9dacb8086ba412c3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 14:37:23 2022 +0300

    Change INSTALL to document the cmake build and drop experimental status
    
    Yes folks, this is it.

commit d6b716b9ab6ced892c591b24b984d0a27947d6d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 14:32:58 2022 +0300

    Add option to disable OpenMP support

commit 8a3a64a112a1f9ce03debd91b6a71d5e1c1519a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 13:49:09 2022 +0300

    Swap CI over to cmake build
    
    This is nowhere near what we had we autotools, cmake simply does not have
    anything remotely resembling distcheck. You win some, you lose some...

commit c6052a2033b6e580b90f0567f4e8bd85c8dfb13e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 13:51:42 2022 +0300

    Implement test-suite execution in cmake
    
    Apparently the "testsuite voodoo" comment in tests/Makefile.am has
    scared everybody (myself included) from even looking at how this all
    works. Turns out, it's not so magic afterall, and better yet is not at
    all tightly integrated with the rest of the surrounding autotools works.
    There are paths to be communicated and translated and for some items
    different mechanisms are more sensible, but that's to be expected.
    
    While having a dependency to autom4te (from autoconf package) in a cmake
    build is not ideal, this is hardly an end of the world either as long as
    it doesn't require the entire build to be autoconf based. Means we don't
    need to port it to something else just now. Phew!

commit e31fb5b75898bfa09180dba02475c6d01764d94f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 18 15:12:04 2022 +0300

    Generate Python egg-info from cmake builds
    
    To compensate for the loss of egg-info from the python distutils build,
    create one by ourselves. Not bothering with autotools for this, we
    need to start sunsetting that side of things and that starts right here.

commit 0f13fd37d2f182ad3cd237fb4d32c56314bf94ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 18 15:02:26 2022 +0300

    Drop support for buggy and problematic alternative Python build method
    
    This was a kind of a necessary evil to see through us the Python 3
    transition but with *that* over, there's little justification for
    maintaining an alternative build method to accumulate bugs and
    deprecated cruft on.
    
    The one useful thing it provides is egg-info, but that's simple enough
    that we don't need Python libraries to do it. It's in the next commit.
    
    Fixes: #130, #2230

commit c890b4482159215f12788fee40068a318532a7b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 08:55:45 2022 +0300

    Refactor db iterator locked to single rpmte to a common helper function
    
    Two places doing the same thing, they also share all the bugs...
    No functional changes here.

commit 89676fad73d0808588dca620344efa4d6b3889b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 10:39:14 2022 +0300

    Handle downgrade within V-R when epoch goes away (RhBug:1845069)
    
    A missing epoch is returned as NULL from rpmteE(), but the rpmdb
    matching code can't handle NULL in any meaningful way currently.
    Arguably it should, but that's a bigger topic...
    
    Specifically convert a missing epoch to a "0" which matches the behavior
    in mireSkip() to handle, adjust testcases as appropriate.

commit 7788763e09b7beed75345e11c223735ad4829fdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 10:24:57 2022 +0300

    Add a whole bunch of epoch behavior install tests

commit 4eb26a828074e498fd0c9656d48931e7ba395d78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 13:52:45 2022 +0300

    Drop redundant _GNU_SOURCE definitions from ndb

commit 0e44664542e7c2f0f0f5240af969197c24c8ebad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 13:44:18 2022 +0300

    Fix fsverity (and imaevm) build under cmake

commit bc13db556b40e5958576148a4110f779a9a65d0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 13:26:29 2022 +0300

    Install platform macros in the specified prefix in cmake too

commit 487cc16c29f6fd4cbf811d4c9f1027a8857fa241
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 11:49:18 2022 +0300

    Oops, misc/CMakeLists.txt never got added to git

commit cfce9c10e0034cc05dbe36e1e6d982ea157685dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 10:31:36 2022 +0300

    Drop support for ancient zlib < 1.0.5
    
    1.0.4 was already several years old when this was added in 2000,
    according to https://zlib.net/fossils/ it was released in 1996.
    Red Hat Linux 4.0 was released that year, and it may have been the first
    RHL I installed, replacing Slackware at the time. Fascinating, isn't it?

commit c5963ff53b1497d48ba05f6efb96ee92cff8c3a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 10:20:52 2022 +0300

    Handle cmake FOO_FOUND -> HAVE_FOO conversions for LIBDW and LIBELF
    
    There are many similar, so just use a foreach() loop

commit 5ac27313a5ecd601e01393cda10e6f16728a434a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 08:27:38 2022 +0300

    Use cmake find_program for locating find-debuginfo

commit d2abb7a48760418aacd7f17c8b64e39c25ca50c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 09:57:54 2022 +0300

    Set platform directories as per configure conventions from cmake
    
    The way cmake handles GNU installdirs prefixing differs somewhat from
    how they are set in autofoo world. Set the stuff "just so" manually to
    support _prefix relocation during build.

commit 3a280308b9ec612034feae35bdbeaa07c3d2e2a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 08:15:28 2022 +0300

    Drop historic remnants from test-suite PATH
    
    @rpmbindir@ hasn't even been expanded in ages, and nothing at all is or
    should be relying on having @usrlibexec@ in the PATH. No functional
    changes in other words.

commit e7e0b4df829f482ff3d2d2a8bce371ab3742da61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 15:55:49 2022 +0300

    Split testing population into a shell-script
    
    Makes it possible to write actually readable code, comment where needed
    and run outside the make even. No functional changes though.

commit 7e20761dad1e55944f744b0bca60f25b4a0f110f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 12:14:45 2022 +0300

    Generate pkg-config .pc file from cmake too

commit faea30d9ed200ab26d01b611d4adb6c4d1fa7cdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 11:49:31 2022 +0300

    Add option + enable NLS support in cmake build

commit 4d8bee9b5f4bee3b3abb7cd5db75c4e87149a2a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 11:24:41 2022 +0300

    Check for unistd.h in cmake, allegedly needed by system.h

commit 70b59913e92c298b24989baf0f8d2dc105d61686
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 11:17:12 2022 +0300

    Map cmake readline discovery to corresponding autoconf test output
    
    Fixes readline support in rpmlua and rpmspec --shell

commit 0702519e1a9ed2fe77233bf43c960a962d03005f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 11:09:06 2022 +0300

    Check for iconv availability from cmake
    
    This is needed for the encoding check during package builds.

commit 146819a015ecd2dceaeec0e912e9ba54c5faa90c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 10:58:30 2022 +0300

    Bring over required functions check from autoconf

commit 524bf934c175e8e34cf193cd25dd6c5bcf080caf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 10:56:58 2022 +0300

    Preliminaries for checking required functions and headers in cmake

commit 04f83ac3d592d8d6e8dce6e50598f1401c680d5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 10:24:33 2022 +0300

    Generate API docs from cmake too
    
    Cmake has its own doxygen routines, lets use that instead of our
    locally maintained librpm.doxy.in with a bunch of sed-hacks applied.
    Much simpler, and the output looks close enough for government work.

commit 96888e99c5103d9dea5230c917b946732de2d302
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 22 11:54:47 2022 +0300

    Add a handler for libselinux log messages (RhBug:2123719, RhBug:2050774)
    
    libselinux logs to stderr by default, which up to now has been just fine
    with us. However somewhere around libselinux 3.2 it begun issuing
    log messages for events discovered in selinux_status_updated().
    We only call that to see whether the status *was* updated behind our
    back and are not interested in these audit-style messages for our
    functionality, but to suppress them while preserving actually relevant
    errors and warnings, we need to have a log callback of our own. Might as
    well forward them to rpmlog then.
    
    SELINUX_ERROR and SELINUX_WARNING are pretty obvious, of SELINUX_AVC
    selinux_set_callback(3) says it should be treated as SELINUX_ERROR if
    not audited. The rest we suppress to debug messages, they may be handy
    for diagnostics some day.
    
    Note that this intentionally avoids explicit SELINUX_POLICYLOAD and
    SELINUX_SETENFORCE cases in the switch: we don't want to introduce
    libselinux >= 3.2 dependency just because of this silly thing.

commit 1b8f7a182fe917ed5af5086d715cae529540a4d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 5 09:21:09 2022 +0300

    Permit building rpm from git without pandoc
    
    Pandoc is only required for converting .md to man pages, which is not
    terribly interesting unless you're creating a dist tarball. We already
    have an automake conditional for pandoc, might as well use it.
    "make dist" will still fail without pandoc, but that's exactly how we
    want it.

commit c4eb357fe87e7fb7e3895e52cb9dad587b72b2b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 4 11:06:56 2022 +0300

    Drop a leftover mcheck.h include
    
    Should've been in commit b03685d320ce3484ee4163ebc3c04e8f84acc6fa

commit 273b7c5129150163926ab3ed1566945ec0f5dcf1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Apr 12 12:56:18 2022 +0200

    Update docs for new quotation semantics in %files
    
    In the shell script example, enclose filenames in quotes, instead of
    listing each supported metacharacter in the regex and escaping it, to
    make it a bit simpler and more robust.

commit d44114f007f54f205ffa13d22724199fe50a137a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Apr 19 16:50:21 2022 +0200

    Preserve literal value of quoted paths in %files
    
    Turn off the special meaning of metacharacters within a filename
    enclosed in quotes, just like a typical shell does it.
    
    Do it by automatically escaping such chars at parse time, as that
    internally reduces the case to the one where the spec author does the
    escaping manually (i.e. fewer code paths to worry about).  This will
    also allow us to implement partial quoting (e.g. /foo"*") in the future
    if we so choose.  Currently, only fully quoted filenames are supported.
    
    This is an extension of the original (and possibly misleading) quotation
    semantics that was only meant for whitespace escaping.  It's backward
    compatible since globs never worked correctly when used in a quoted
    filename anyway, due to rpmGlob() splitting them by whitespace and
    globbing the parts separately.  This was only fixed recently in commit
    4030062f2bf16d7a4540c78c1e61706f3810fe9b but hasn't yet been released,
    so no spec files in production are really expected to be using such
    filenames.
    
    Make the newly added rpmEscapeChars() accept either a string of chars to
    escape or a function, with the latter allowing the use of isspace(3)
    which is locale-dependent in rpmEscapeSpaces().  For ease of use, expose
    the string variant as rpmEscape(), though.

commit 055734eb2a0f9fe4dd275c71288cd61828d26f81
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Sep 26 16:31:29 2022 +0200

    Check for missing quote in %files
    
    This check won't hurt, in fact, the quotes param will come in handy in
    the next commit.
    
    Only enforce a closing quote, not an opening one, since that would
    invalidate filenames with a quote somewhere in the middle, which might
    break existing spec files that rely on this quirk.  In other words, a
    quote that's not the very first char of a filename is still considered
    literal, for better or worse.

commit 2cdbf4af0bae4fc6a343e360089fadc77e17f973
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Apr 21 17:01:47 2022 +0200

    Add support for whitespace escaping in %files
    
    Right now, literal whitespace is only possible by enclosing the filename
    in quotes, but we're going to change the semantics of quotes so that
    they also turn off any metacharacters, meaning that a combination of
    globs and literal whitespace would no longer be possible, unless we
    enable the backslash to also work for whitespace, so do that now.
    
    This will also make the next commit easier to implement.

commit f400d50c7d87d04412c9a917522e4546aa025b8f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Feb 4 15:29:07 2022 +0100

    Refactor strtokWithQuotes()
    
    A quoted string really is just a special case of a delimiter which
    becomes the quote char, replacing whatever the original one was, so
    handle it like that to simplify things, this will also come in handy in
    the next commits.

commit 9f59af51b5969ab38f64bb7dcf881f45b8a41e7f
Author: Carl George <carl@george.computer>
Date:   Fri Sep 30 20:44:48 2022 -0500

    Fix typo in macros manual

commit 97b75f592d7731aa3105f47b2f5b8a62a2e1ce12
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Sep 30 13:04:04 2022 +0200

    Fix unrecognized bzlib regression in pack.c
    
    BZ2 compression type is no longer recognized during package build when
    used in %_binary_payload or %_source_payload.  This is caused by a typo
    that got in as part of commit 48d0fa954ca1629ffb0092b9c00555570241d6a0.

commit 5e509993681d46aaae7badac2b3fc8be83bd0eeb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 29 12:30:37 2022 +0300

    Fix cmake build with Sequoia
    
    I didn't remember adding it at all (#2173) but nevertheless it was done
    against a very early version. There's a pkg-config file now, lets use
    that instead.

commit b5a05174810c4952004de9385ad7bd9d0210bc03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 29 12:12:41 2022 +0300

    Fix cmake build without IMAEVM and FSVERITY
    
    The IMA define needs to match what the code expects. Conditionalize
    the relevant sources.

commit db46bd8bd1af3868163a88e73ee9310d896658b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 8 09:53:07 2022 +0300

    Add support for %preuntrans and %postuntrans scriptlets
    
    These are obviously the long lost uninstall-time counterparts of
    %pretrans and %posttrans.
    
    %preuntrans is easy but %postuntrans is the reason this hasn't been
    implemented so far: by the time it's supposed to execute, the header will
    be gone. Work around this by allowing the rpmte to hold on to its header
    if it has a %postuntrans scriptlet.
    
    Cheapskate on transaction flags and reuse pre/posttrans flags for these
    uninstall counterparts too, adding separate flags and disablers just
    doesn't seem worth it, especially as we're quite short of free bits.
    
    Fixes: #2119

commit 94789619484110100b65c23ae4b61c3fdb422dd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 21 09:15:25 2022 +0300

    Clarify countCorrection usage in psm

commit 7d647d4d2767b3cd95e331ecadae878e8964660e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 19 15:58:06 2022 +0300

    Update scriptlet -f test to cover all our scriptlet types

commit f062d5744c3ee338daaeb8e11b1fc20f9e44dee3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu May 19 15:25:25 2022 +0200

    Refactor processBinaryFile()
    
    Less nesting, easier on the eyes.
    
    No functional change.

commit 8ef29094fa218c631b3abadb2d90f3d36368ca76
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon May 9 16:48:33 2022 +0200

    Try globs literally when there are no matches
    
    When a glob yields no matches, try accessing a file named like the
    literal pattern before finally giving up.  Do this for any globs
    supplied by the user, be it on the CLI or through a %files section.
    
    We already do this with regular files in %files, this commit just
    extends the same logic to the remaining places, namely special files
    (%doc or %license) and package files passed on the CLI in install or
    query mode (either directly or indirectly through a manifest).
    
    This makes globbing in RPM consistent and more shell-like as Bash does
    the same by default.
    
    Do this by treating globs as filenames that may or may not expand into
    multiple ones.  That way, both cases can be handled by the same code
    path.
    
    We don't need to check for the existence of the literal pattern since
    that's eventually taken care of in the rpmGlob() caller, such as in
    addFile().  As a nice side effect, error reporting for missing glob and
    non-glob filenames is now also unified, see the updated tests.
    
    Preserve the public signature of rpmGlob(), though, by adding a new,
    more general wrapper that also takes flags.  The name is chosen to fit
    the pre-existing scheme of rpm*Path() functions in rpmfileutil.h.

commit aca8bf24bbb59cba080ae43a6564ce9e22f18e0e
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 16 11:21:52 2022 +0200

    Add tests for missing files & globs
    
    Capture error reporting around missing filenames, the subsequent commit
    will tweak this behavior.
    
    The @&t@ isn't a swear word but just the autoconf way (called a
    "quadrigraph") of marking a trailing space which we happen to get in
    that particular error message.

commit 6761c39063c88a79124e22e7484f9c70cefa3811
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 10:58:57 2022 +0300

    Bump CI to Fedora 36
    
    It appears that some container deity somewhere has fixed the Docker
    issue [1] that prevented us from upgrading beyond F34, but there was
    another gotcha introduced in the meanwhile on Fedora side:
    glibc-gconv-extras is now needed for our UTF-8 encoding check to work.
    
    While at it, optimize the dnf side a bit: get rid of modularity repos
    entirely so they don't come back via updates, and disable the H.264
    repo too, we don't need *that* for building or testing rpm...
    
    [1] https://github.com/moby/moby/pull/42681

commit 56d469e0c0c254ab5d26e160ab0a869d068b3e76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 10:57:09 2022 +0300

    Skip rather than expect failure for non-root in the invalid symlink test
    
    Avoid unecessary clutter in the test failure reports...

commit 7c170513f534ce3e23a9d73d3225eebab1e59fb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 10:56:40 2022 +0300

    Fix bogus return value from rpmteDBInstance() doxygen annotation

commit cad5affacdaa8094c8850d087bafe4f195b926af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 10:53:00 2022 +0300

    Add shorthand macros for some conventient Lua string operations
    
    Despite all the Lua magic we already do, it's annoyingly often the case
    that shelling out is easier (or at least shorter) than doing the same in
    Lua (substrings, length etc)
    
    Add shorthand macros %gsub, %len, %lower, %rep, %reverse, %sub and
    %upper which simply wrap the corresponding Lua string.* functions for
    convenience.

commit f78be76a00878183da86d5e37ddbe421c5fe028c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 14 13:13:24 2022 +0300

    Fix a memory leak in the new directory dance in ensureDir()
    
    This would leak the path whenever we already had the directory open.
    Which happens a lot. Oops.

commit ae2e75a129150b808ff1edf80dc8851e4a63a226
Author: Shreenidhi Shedi <sshedi@vmware.com>
Date:   Mon Aug 8 01:39:02 2022 +0530

    Fix a race condition in brp-strip
    
    brp-strip script runs strip command on deliverables paralley and if
    deliverables are hard linked inside buildroot, it will create
    contention.
    
    One good example for such package is git.
    https://github.com/vmware/photon/blob/master/SPECS/git/git.spec
    
    ```
    Sample output:
    $ rpm -ql git | grep libexec | xargs ls -li
    668153 -rwxr-xr-x  137 root root 3401056 Aug  2 08:30 /usr/libexec/git-core/git
    668153 -rwxr-xr-x  137 root root 3401056 Aug  2 08:30 /usr/libexec/git-core/git-add
    787238 -rwxr-xr-x    1 root root   47770 Aug  2 08:30 /usr/libexec/git-core/git-add--interactive
    668153 -rwxr-xr-x  137 root root 3401056 Aug  2 08:30 /usr/libexec/git-core/git-am
    ```
    
    To overcome this, we run strip twice once for all files with no
    hardlinks, this is a parallel job, meaning multiple binaries will be
    stripped in parallel.
    
    And once for files with hardlinks, in this case we disable parallel
    processing and strip binaries in sequential order.
    
    RH bug link:
    https://bugzilla.redhat.com/show_bug.cgi?id=1959049
    
    Co-authored-by: Dweep Advani <dadvani@vmware.com>
    Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>

commit 2c63113c8e9a1991386605c36dc1fdfea390b575
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 13 13:16:34 2022 +0300

    Add the new binary test-key to tarballs to unbreak dist-check
    
    Should've been in commit 2bc745f2fde028e09f663c7967353e8b6aacdbf1

commit 3848c97cb227e7c018781aa7d5e1e46990ce1ffb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 8 10:21:27 2022 +0300

    Fix %posttrans argument on upgrade
    
    Packages need to be able to differentiate between install and upgrade
    scenarios, seems commit ab069ec876639d46d12dd76dad54fd8fb762e43d with
    half the lights out...
    
    As %posttrans happens after all the excitement, with the erasure elements
    already executed, so the installed package count cannot be used to
    differentiate between install and upgrade. So we need to find it out the
    hard way: see if there's an erasure element that depends on this
    package.

commit af08077fb4c60dee516948ce7bf9bed91de62119
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 13 10:26:05 2022 +0300

    Fix possible descriptor leak in fsmOpenat()
    
    For the very unlikely case when openat() succeeded but fstatat()
    doesn't, the directory descriptor may be leaved opened. Rearrange
    the code a bit to ensure it'll always get closed when appropriate.
    
    Suggested-by: Pavel Kopylov <pkopylov@cloudlinux.com>
    Suggested-by: Dmitry Antipov <dantipov@cloudlinux.com>

commit 534fd1f0c84b12ba6080a46e07c57ef913c77cba
Author: Radovan Sroka <rsroka@redhat.com>
Date:   Thu Aug 25 15:38:01 2022 +0200

    fapolicyd: Make write() nonblocking
    
    - switch to read only and non blocking mode for pipe
    - add 1 minute loop to wait for pipe to reappear
    
    Sometimes during the system update/upgrade fapolicyd
    get restarted e.g. when systemd gets updated.
    That can lead to the situation where fapolicyd pipe
    has been removed and created again.
    In such cases rpm-plugin-fapolicyd gets stuck on
    write() to the pipe which does not exist anymore.
    After switching to non blocking file descriptor
    we can try to reopen the pipe if there is an error
    from write(). Assuming that a new pipe should appear
    when fapolicyd daemon starts again.
    If not then after 1 minute of waiting we expect
    fapolicyd daemon to be not active and we let the
    transaction continue.
    
    Signed-off-by: Radovan Sroka <rsroka@redhat.com>

commit 2bc745f2fde028e09f663c7967353e8b6aacdbf1
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue Sep 6 12:43:08 2022 +0200

    Add pgpPubkeyFingerprint for Sequoia.
    
    Also add a unit test to exercise pgpPubkeyFingerprint.

commit dc9e8169790eba18130fb96c13f56ecba6c9b346
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 6 09:28:10 2022 +0300

    Make pgpPubkeyFingerprint() do something meaningful again
    
    Commit 4bbeec134aab33e24f960be28a7b2198359c1f67 "fixed" an old
    terminology confusion about keyid vs fingerprint, but in the process
    broke pgpPubkeyFingerprint() for any external callers, as it now only
    feeds on decoded packets whereas before it did the decoding by itself.
    Add the decoding step back to the public function to make it usable outside
    rpmpgp_internal.c again, retrieving a fingerprint seems like an useful
    (public) API to have.
    
    This is kind of a regression fix in that prior to commit
    4bbeec134aab33e24f960be28a7b2198359c1f67 pgpPubkeyFingerprint() returned
    meaningful data to the outside caller and afterwards it didn't, however
    that commit broke the API anyhow so it's kinda complicated.
    Maybe we should just call it a bugfix and be done with it.
    
    Related to #1549

commit 19d73f67883c011cc74326a5dc34f7009efa60e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 6 13:15:44 2022 +0300

    Fix buffer overrun from commit 4420c78beb86cc67392274bf351478a3375626a2
    
    The newly handled ^ needs to be accounted for when allocating memory.
    Found when testing #1936, goes to show what a useful thing that is.

commit 0f0fa49170a62b8e6a3383acff4b6f292b79a57c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 31 12:07:43 2022 +0300

    Update rpm-sequoia URL as per #2164

commit 73847f81794f5ec442ef56dc417aa069c23738a9
Author: Alexander Kanavin <alex@linutronix.de>
Date:   Thu Aug 4 12:15:08 2022 +0200

    configure.ac: add linux-gnux32 variant to triplet handling
    
    https://github.com/rpm-software-management/rpm/commit/1cdb72ae48b7ba689c5c79118f4f0c1b4ffe6b7c
    introduced a change where triplets that rpm doesn't know about
    are rejected, which in turn causes a regression for users like
    Yocto that explicitly use them.
    
    In particular, x32 is a 64 bit x86 ABI with 32 bit pointers and
    is supported via settings in custom /etc/rpmrc:
    
    arch_compat: qemux86_64: all any noarch x86_64_x32 qemux86_64

commit cf3150509ed7eb2407bdf1f5572cd613a30c2b86
Author: Vyacheslav Potoropin <vpotoropin@almalinux.org>
Date:   Thu Aug 25 23:08:09 2022 +0200

    Fix rpm lua rpm_vercmp error message if second argument is broken

commit 9884a8983870d36733f2dba03ca590797f415bef
Author: V I <xasertop@gmail.com>
Date:   Tue Aug 23 20:19:20 2022 +0200

    Translated using Weblate (Russian)
    
    Currently translated at 53.4% (486 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ru/

commit 7273d330d495c58cc5b66efd47b3372b6a1ee008
Author: Ettore Atalan <atalanttore@googlemail.com>
Date:   Tue Aug 23 20:19:20 2022 +0200

    Translated using Weblate (German)
    
    Currently translated at 91.9% (837 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/
    
    Translated using Weblate (German)
    
    Currently translated at 87.4% (796 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/

commit 403f9a68f25a3145741126e33f2bb50db7638863
Author: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Date:   Tue Aug 23 20:19:20 2022 +0200

    Translated using Weblate (Georgian)
    
    Currently translated at 29.1% (265 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ka/

commit 7da7e4c6633b249b05578ab52d7f47e6dea0bc68
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Tue Aug 23 20:19:19 2022 +0200

    Translated using Weblate (Breton)
    
    Currently translated at 19.8% (181 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/br/

commit 99edd1c28b1374039dbeaa34ff35b25eab0701a9
Author: 김인수 <simmon@nplob.com>
Date:   Tue Aug 23 20:19:19 2022 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit f439f246b5c8ac016753f80a4c305245d376ebd7
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Fri May 13 12:30:01 2022 +0200

    Change tests that import partially valid keys to use --quiet
    
    When `rpmkey --import` is given a partially valid key, it may emit
    warnings, which are backend dependent.  This is currently the case
    with the Sequoia, but not the internal OpenPGP parser.
    
    The lints make the tests more fragile.  Moreover, the tests aren't
    checking the warnings, but other behavior.  Suppress the warnings by
    passing `--quiet` to `rpmkeys`.
    
    Fixes #2071.

commit 866a23544114112eaee70ea3fed8d7dbb3e65059
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 25 11:25:24 2022 +0300

    Allow suppressing key import lint warnings
    
    Hack to allow suppressing key import lint warning messages. Emitting
    warning messages depending on verbosity level is ugly but for the case
    at hand (different output between PGP backends on CI) it's probably the
    lesser evil here.
    
    Initial patch by Neal H. Walfield.

commit afe10be2d48a3c356a6ac3af040d907b9793dacd
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Wed May 11 11:47:58 2022 +0200

    Fix expected test output when using Sequoia.
    
    An OpenPGP subkey shouldn't be checked for validity when imported, but
    when it is used, e.g., when checking a signature's validity.  This is
    because a key's validity partially depends on the current time.
    
    The internal OpenPGP implementation checks for validity when the key
    is imported; other implementations should not do this.  This means
    that the output of two tests (268, 'rpmkeys --import rsa (rpmdb)' and
    273, 'rpmkeys --import invalid keys') have different output depending
    on whether the internal OpenPGP implementation is used or the Sequoia
    backend is used.
    
    Use AT_CHECK_UNQUOTED instead of AT_CHECK, and the selected backend to
    customize the expected output.
    
    Fixes #2062.

commit 21c34bdd61c14f8044fcc5c0be90b1ec55eef2df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 25 08:34:56 2022 +0300

    Fix missing newline in debuginfo-related warning
    
    Should've been in bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2

commit 8ee98091b7f50cfeab61e069c1cad0c74fa567a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 19 10:37:08 2022 +0300

    Clarify %bcond, %bcond_with and %bcond_without documentation, take XVII
    
    The key to understanding `%bcond_with` and `%bcond_without` is that these
    options *create command line switches* and unless the user thinks in those
    exact terms, there's little hope of understanding them. Further, take
    care to differentiate between option creation, enablement and defaults
    in terminology and document `%bcond` version availability.
    
    Fixes: #2150

commit 1f5ae2a6dd710de4a278087471bf0909ff9f6739
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 18 13:56:58 2022 +0200

    Fix upstream branch setting in "%autosetup -S git"
    
    If the repo is already initialized when calling this macro and it's
    using a different branch name than "master" (see #2121) or the global
    git option init.defaultBranch is set differently (see #2120), the macro
    will fail at:
    
        %{__git} branch --set-upstream-to=master
    
    Instead of being overly clever, just track the original (start-point)
    branch by using --track when branching (see git-branch(1) for details).
    
    For brevity, combine this and branch creation into a single checkout
    command.
    
    This fixes commit 3a6b1d8fbf846d3f1b139d343fdfddebe99ae42b.
    
    Thanks Panu for the clarification and suggestion in #854!

commit db961352d3e5fce7fa896054bc5855d751cf6629
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Aug 18 15:14:00 2022 +0200

    Revert "Use explicit default branch in %autosetup -S git"
    
    We will fix this in a better way in the subsequent commit.
    
    This reverts commit 8b9da98e4c9e256c7c6ecca7f1e5bdbbce29e5da.

commit f183ad4d9bfe761f63727cc387c682eafe525073
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 27 15:10:13 2022 +0200

    Refactor rpmGlob()
    
    No functional change, just shuffle some lines around for better
    readability.

commit 493dd91bc1bb8cdce6a75bfa65175f6e148c9dc5
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 29 14:41:03 2022 +0200

    Return GLOB_NOMATCH on missing dirs from rpmGlob()
    
    As per GNU glob(3), GLOB_ONLYDIR does not guarantee the matches are in
    fact directories, that's why we check them with lstat(2).
    
    That may lead to the match list being empty even after a successful
    glob() run (rc == 0), so for consistency, return GLOB_NOMATCH in that
    case, just like we would for a missing file.
    
    No functional change since we don't check for the exact return code in
    the callers, only whether it's positive or not.

commit ecc140c42f551b8d99d89e600cb10d098d18e3e2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jun 16 15:59:51 2022 +0200

    Return arg count 0 from rpmGlob()
    
    Do set *argcPtr even if the actual count is 0, rather than leaving it
    unchanged and thus possibly undefined in the caller.  This is also
    consistent with how glob(3) works.

commit 06a1acdf8550d3dd1143f17fb8ff23e338aa1d9d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jul 29 15:06:01 2022 +0200

    Refer to glob(7) for metachar listing in spec.md
    
    Rather than listing all the rules, just refer the reader to the man
    page.  Although brace expansion isn't part of the standard rules, we
    still support it through glob(3) with GLOB_BRACE, so make a note.

commit 1cd7f1ab1e736b0931f19ca701682dc27974af36
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 27 15:08:33 2022 +0200

    Don't try to expand URLs in rpmGlob()
    
    By definition, glob(3) matches pathnames on the file system, so no
    pattern starting with a URL protocol (e.g. http:// or file://) will ever
    produce any meaningful results when passed to it, it will just fail with
    GLOB_NOMATCH.
    
    This wasn't always the case, we used to call a custom Glob() function
    here in the past, which knew how to handle URLs, but that was axed in
    commit 9cbf0349b84fb19c6dddbe4f7a3246d4c949ad09 some 15 years ago.
    
    To this day, however, we somewhat continue the legacy by letting
    URL_IS_PATH (file://) patterns pass through glob(3) if they contain
    magic chars, with the only possible outcome of failing afterwards.  Drop
    this special case and simply consider any known URL pattern as non-local
    (int local = 0) and return it immediately.  Also remove the no-op URL
    code while at it.

commit ce6247e9e3b5e7719d777488757aa51b8229c187
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon May 23 14:38:02 2022 +0200

    Append to arglist in rpmGlob()
    
    Instead of constructing a new list from scratch and returning that, just
    extend the passed list.  This makes it easier to use this function
    incrementally when expanding multiple patterns in a loop, such as during
    package manifest parsing which we adapt here right away.
    
    Preserve the ability to pass NULL as argvPtr and still get a match count
    via argcPtr, by keeping the local argv around for that case.
    
    No functional change.

commit 9ddb2508c893d45560b54fc78b488e3622fd6be3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jul 27 12:11:23 2022 +0200

    Fix non-glob fallthrough in rpmGlob()
    
    Now that we directly use GLOB_NOMAGIC to implement a fallthrough for
    non-glob patterns since commit 9e541c6a7da076bc1c1beb1ee45fd5fdd735358c,
    we may ironically end up subjecting such patterns to the lstat(2) check
    at the end if they're directories, and thus possibly not return them.
    
    While the actual impact on our codebase seems to be minimal, mostly in
    terms of pushing the point of failure elsewhere and possibly printing a
    different error message, for the sake of consistency with the idea of
    GLOB_NOMAGIC, fix this by bringing back the short-circuit check.
    
    While at it, make it a bit simpler than the original rpmIsGlob() by
    leaving out the well-formedness check (i.e. if a bracket/brace has a
    closing counterpart) as that's not what GLOB_NOMAGIC does either.
    Remove the now unused next_brace_sub() as part of that.

commit a7c3886b356c2f3e3e640069623d44d62beabb33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 10 13:36:27 2022 +0300

    Mop up leftovers from rpmteFI()
    
    This should've been in commit 6fcdaefef5e084276c6341f91af7544a93258fff

commit 8f922eb38a096640e586ba0eda96adc093b74fc4
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Aug 3 17:19:02 2022 +0200

    rpm2cpio.sh: only read needed bytes of file magic
    
    As we look at the first 4 bytes anyway there is no reason to read more.
    Reading more also hits a bug in bash on aarch64 (rhbz#2115206).

commit 951f25bc8419e79593ae4fdfa3ee062dc58c60b2
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 21 12:30:48 2021 +0200

    Quote %sources and %patches for shell
    
    Add testcase with special characters
    
    Resolves: #1445

commit a3eac98460958a421d31fe00323939b5501dfcf9
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 13 10:26:16 2022 +0200

    Testcases: Queries to rpmdb including ^~+
    
    Related: #2070

commit f5118bba73c0fb242123ce62c7278d0d3a8cd7e5
Author: 김인수 <simmon@nplob.com>
Date:   Sat Jun 25 15:18:58 2022 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit ea537168d8748373a13e1f852507491d6fe85e94
Author: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Date:   Sat Jun 25 15:18:57 2022 +0200

    Translated using Weblate (Georgian)
    
    Currently translated at 9.0% (82 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ka/

commit 2b5b271b0e013c1b023df7f5775a59cb4078d5f5
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 11 16:22:36 2022 +0200

    Add support for --oldpackage to --freshen
    
    This allows to downgrade packages just as with --upgrade but limited to
    already installed packages.
    
    Also add basic tests for --freshen
    
    Resolves: #652

commit 9ed9d3fce34bc3c8121989e0cf263528e7e68756
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 5 16:34:08 2022 +0200

    Add SourceLicense tag to spec syntax
    
    to set a separate license to the source RPM. This can be useful if the
    sources have code under additional licenses that do not end up in the
    binary packeges.
    
    Resolves: #2079

commit 85d92cab05501e78d0e66afa65de4e656281bc59
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 11 09:51:40 2022 +0200

    rpm2cpio.sh: Improve error message
    
    for unknown payload compression format. At this point it is unlikely
    this isn't an RPM file as we detected the headers but much more likely
    the package is using a newer compression format.

commit f3b263610b2bac53c48b960490eaa6575215aafe
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 4 13:38:06 2022 +0200

    rpm2cpio.sh: Deal with null byte in lzma magic
    
    As the shell can't deal with null bytes only read two bytes and check
    for proper match. This way we can match for the null byte even if it is
    not part of the string.
    
    This also silents the warning from the shell that there is a null byte
    being ignored in the magic string for lzma.

commit d499887c9261fdab4d03ea29316ea5e8fc646bd3
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 1 14:49:09 2022 +0200

    rpm2cpio.sh: strip null bytes with tr
    
    to avoid warnings

commit a18a11924a715ace4b2d8e101688d164390cb188
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 1 14:44:11 2022 +0200

    rpm2cpio.sh: Don't drop newlines from header sizes
    
    This script converts binary header sizes to decimal numbers. Shell is
    not that well suited for this task as it drops newlines at the end of
    command substitutions. Add a . character at the end and strip it right
    after that to avoid this problem.
    
    Resolves: rhbz#1983015

commit ba31a14191e09226edc34df1b2076105a59fef18
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 1 14:40:59 2022 +0200

    rpm2cpio.sh: Check for header magic
    
    This make is much less likely to mistake a file as an RPM and will catch
    errors in header size calculation.

commit 4420c78beb86cc67392274bf351478a3375626a2
Author: yangchenguang <89123114+yangchenguang94@users.noreply.github.com>
Date:   Wed Jul 13 16:52:07 2022 +0800

    Fix query arguments with ^ not working
    
    when querying packages in the RPM database.
    
    Rersolves: #2104

commit aa701a8f483e2b1f57764c5d9129e27271d96b38
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 6 13:19:59 2022 +0200

    Exclude *.src.rpm from check-buildroot
    
    With the SRPMs now containing the expanded spec file they are bound to
    have the build root included in the header. Turns out some people
    package SRPMs to rebuild them locally e.g. against the local kernel.
    
    Resolves: rhbz#2104150

commit 8b9da98e4c9e256c7c6ecca7f1e5bdbbce29e5da
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jul 11 13:14:49 2022 +0200

    Use explicit default branch in %autosetup -S git
    
    Commit 3a6b1d8fbf846d3f1b139d343fdfddebe99ae42b assumed "master" as the
    default git branch to track, however the name can be changed globally,
    so make it explicit.
    
    Given the choice now, go with "main" as the general trend, e.g:
    https://fedoraproject.org/wiki/Changes/GitRepos-master-to-main

commit 8c3fb5eb01cae84aca9dac4729e1dce1def59b8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 17 13:46:04 2022 +0300

    Add an experimental CMake build system
    
    This is an incomplete release-early version, NOT intended or
    suitable for production use. It is intended to replace the autotools
    based buildsystem in rpm 4.20, until then it'll be developed alongside
    it. This causes some extra complications of course, but then we avoid
    a huge flag-day, and that matters more.
    
    To those wondering why cmake and not ${myfavorite}: the community around
    us effectively made that choice for us. We've made a lot of noise about
    bootstrap dependencies. When libsolv, dnf and all the related stack is
    powered by cmake build, it'd be just foolish to go with anything else.
    This way people working on the rpm stack have only one build system to
    learn, there's peer support available nearby and bootstrap dependencies
    are reduced, not increased. It also doesn't hurt that cmake is actually
    and actively maintained.

commit 5f8ac6d1ad060955b5370a2ea5e12d88e3f4174d
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Fri Jun 24 20:39:03 2022 +0200

    Fix unterminated macros in rpmuncompress
    
    Fix unterminated macros being called when rpmuncompress
    tries to expand an lrzip, 7zip or zstd compressed file

commit c10e2310e4c41a626b524ae71b3c4f87a29134b2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 15 17:36:55 2022 +0200

    Add shell-like escape support to %files
    
    Make sure any quoted metacharacters in a pattern are unescaped before
    it's passed to addFile() and subsequently lstat(2).  Do this by always
    letting such patterns through rpmGlob() which now handles backslashes
    properly since commit 4030062f2bf16d7a4540c78c1e61706f3810fe9b.  Don't
    expand globs twice in processSpecialDir(), though.
    
    Axe the public rpmIsGlob() which is no longer needed, we'll be bumping
    the soname in 4.19.
    
    Construct absolute file names directly without going through
    rpmGenPath() so that literal (double) percent signs are not expanded
    twice and can be used the same way as in other parts of a spec file.
    This means URLs are not handled anymore but we're dealing with local
    files here so that should be fine.
    
    Add the "cp" binary to the test environment, it's needed for the %doc
    directives which copy stuff around.
    
    Fixes: #1749

commit f1dc0287e3f2a9b8d6be682498cce503783b9a23
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon May 9 11:19:21 2022 +0200

    Refactor rpmGlob()
    
    Unindent the block touched in the previous commit and move declarations
    to the beginning, dropping the now redundant gflags in the process.
    
    Best served with "git show --ignore-all-space".
    
    No functional change.

commit 9e541c6a7da076bc1c1beb1ee45fd5fdd735358c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon May 23 14:37:54 2022 +0200

    Fix rpmGlob() escape support
    
    We currently accept a space-separated list of patterns here so any
    backslash, whether it belongs to a space char or not, gets consumed by
    poptParseArgvString() before the string is passed to glob(3), requiring
    callers to double-escape anything they wish to keep literal.
    
    Fix that by only accepting one pattern.  Adapt the one caller which
    relies on this actually being a list, in rpmReadPackageManifest(), and
    those callers where we preserve spaces by escaping them which is no
    longer needed.
    
    Replace our own heuristic emulating GLOB_NOMAGIC with the actual flag to
    glob(3) so that literal (double) backslashes are also handled properly.
    
    Keep the indentation of the original for loop to make the diff easier to
    read, next commit will fix that.
    
    No immediate effect within RPM since we currently avoid passing escaped
    patterns to rpmGlob(), this is just a prerequisite for the following
    commits.  External users of rpmGlob(), as unlikely as they are, might,
    in theory, notice this subtle change but we'll be bumping the soname in
    4.19 so that's covered.

commit 321933f060896f721e361a1c8a8d3731bdcee827
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Jun 22 14:07:01 2022 +0200

    Fix short circuiting of version strings in expressions
    
    We use an empty string when discarding a value due to short circuiting, but
    an empty string is not allowed for versions. So use "0" in that case.
    
    Fixes: #1883

commit 3cec59812c8126088a51924c6aeea112ce9b545a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 22 13:22:00 2022 +0300

    Prevent readelf internet access during rpaths checking (RhBug:2079600)
    
    Recent binutils can do debug section lookups over the internet, but this
    is something we never want during rpmbuild (everything else aside, we're
    just building the thing so there wont be anything on the net anyhow).
    Disable the lookups by setting DEBUGINFOD_URLS to empty rather than
    using the specific option as this is compatible with any old version of
    readelf.

commit 9b64dacd82b2ebe937a508e8a6701c84c1022283
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 17 11:50:37 2022 +0300

    Use consistent WITH/ENABLE names between defines and conditionals
    
    If it's enabled with --enable then the define should be ENABLE_FOO
    not WITH_FOO, for sanity's sake. No functional changes.

commit 79f7699b3195086df61f48d78bc4fd78a2889a0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 11:12:09 2022 +0300

    Fix "make ci" in a VPATH build

commit 4e8ea80d8d2dc78811fadf087be9be78ab03b9b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 10:57:24 2022 +0300

    Use AC_SEARCH_LIBS instead of manually doing the same

commit c75142b589599c2cea7ed4598a486c0e38742d62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 10:42:34 2022 +0300

    Sanitize our pthread library check, don't bother with OSF/1
    
    Last OSF/1 release is older than rpm itself, supporting its pthread
    libraries doesn't seem all that relevant now. Instead, use the space to
    test whether we need to link to libpthread at all (with glibc we dont),
    and test for a function we actually use.
    
    This is equally far from being "correct" as the previous version was,
    we should instead be passing -pthread to the compiler and let it worry
    about the rest. But doing *that* in autoconf apperars to be a lifetime
    study material - there exists a > 500 line long extension which attempts
    to do that, but which is reputedly buggy. We'll live with what we got
    now, thanks.

commit 9f62aba3bd26eea51d411f0d17ee4dadbf2fd873
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 10:07:11 2022 +0300

    Drop support for openssl < 1.1
    
    openssl 1.1 was released in 2016, this is old enough plenty. We should
    rather be worrying about openssl >= 3.0 at this point.

commit b7e71ffa4714a26618492b8200ab34b35a167b47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 09:32:50 2022 +0300

    Drop support for ancient libcap
    
    cap_compare() is in libcap since 2008 or so, we really don't need to
    bother with versions older than that. Another redundant configure check
    and a piece of moldy code bites the dust.

commit b1fed31a99a712576d275f74e3175199e9b6fd26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 09:17:34 2022 +0300

    Drop support for ancient libselinux
    
    setexecfilecon() is in libselinux version 2.3 in 2014, we don't need to
    worry about it's availability anymore. Instead, use it to determine
    libselinux suitability in the configure check, eliminating another
    redundant check and a bunch of unused code.

commit de7e2230be3b48567cfb9c942d934d9e4fdefbcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 09:12:26 2022 +0300

    Drop checks for redundant selabel symbols
    
    These have all been there for ages, ensuring that selabel_open is
    there is quite adequate.

commit 7894a244f6cc4ef6fa26f128587b28f9d5873b95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 09:04:13 2022 +0300

    Drop checks for unused selinux functions

commit 48d0fa954ca1629ffb0092b9c00555570241d6a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 15 16:16:37 2022 +0300

    Test for preprocessor definition rather than value consistently everywhere
    
    This is not supposed to actually change anything as such but
    inconsistency is bad and causes other kinds of headaches.

commit 9ca1077c3854967c88ac70082c8b5d392d0c3cdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 15 10:13:02 2022 +0300

    Drop unnecessary public header rpmpol.h
    
    The couple of symbols defined here are only used by one source in
    librpmbuild internals so they don't really need to be a in a header,
    and in particular they don't need to be in a public header. Bury
    the contents to the source that actually uses them.

commit fdcd486b43652bb32dd40ef84f40b11dc6d9dda5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 14 12:22:21 2022 +0300

    Use python path from the build system instead of trying to reproduce it
    
    Fedora >= 36 carries a downstream patch which causes distutils.sysconfig
    and sysconfig to disagree on the prefix, and with autoconf up to 2.69
    using distutils, 2.70 preferring sysconfig and other tools still using
    distutils it gets a bit much to guess. So don't.
    
    It's a much nicer solution to the mess that commit
    4a0071c339083866dd8901e3ef449908488a9420 tried to address as it takes us
    out of the equation entirely.

commit 5bac2b2ce3d27953447ed67c5fd71685e2cde3ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 13 12:29:19 2022 +0300

    Simplify current directory addressing in test-suite
    
    The thing is really just asking for the current absolute directory, no
    idea why it was written like that...

commit 9528ef1a94285c205f1b2bc4d7331f8684c9ed77
Author: 김인수 <simmon@nplob.com>
Date:   Sun May 29 01:19:37 2022 +0000

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit 039c3ea646bc27291e013c86a7da4a5a812fbbf5
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Mon May 16 10:33:46 2022 +0000

    Translated using Weblate (Swedish)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/sv/

commit 775edf28907ebcfd493ad507eb1f38a09dc9d782
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Sat May 14 18:13:01 2022 +0000

    Translated using Weblate (Finnish)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 76328cde470032103eef00844635b2f5f728cf62
Author: Luna Jernberg <bittin@reimu.nl>
Date:   Sun May 15 16:35:06 2022 +0000

    Translated using Weblate (Swedish)
    
    Currently translated at 99.1% (902 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/sv/

commit da8f5a96fa23da583e2b7ec9d35cd78b47484fcc
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Mon May 16 11:46:14 2022 +0200

    Translated using Weblate (Swedish)
    
    Currently translated at 99.1% (902 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/sv/

commit 1ae45b3779647f4b0c3335d6c100bd24b0be0604
Author: Jiri Grönroos <jiri.gronroos@iki.fi>
Date:   Mon May 16 11:46:14 2022 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 98.1% (893 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 3b1c1ed1c82b8f4e87a04d113e0a9f3d03dc07ed
Author: Luna Jernberg <bittin@reimu.nl>
Date:   Mon May 16 11:46:14 2022 +0200

    Translated using Weblate (Swedish)
    
    Currently translated at 98.7% (899 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/sv/

commit d015104778378aa80d75fb8616d085ac0ad677a3
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Mon May 16 11:46:14 2022 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 98.1% (893 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 95.2% (867 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit c03e6c9e28067a94941cf9940c406ea90a1aed8a
Author: Ferhat Gecdogan <ferhatgectao@gmail.com>
Date:   Mon May 16 11:46:13 2022 +0200

    Translated using Weblate (Turkish)
    
    Currently translated at 52.8% (481 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/tr/

commit ada7e2af94e1de632b0a7cc79372fa9c9a507f50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 13 11:52:08 2022 +0300

    Differentiate autoconf processed replacements from our own
    
    Some of the replacements in platform.in are expected to be processed
    by the build system configuration file, whereas others are replaced
    by installplatform at the time of install. Use =VAR= notation instead
    of @VAR@ to differentiate the latter from the former.
    
    No functional changes, just makes it easier to understand and handle.

commit f83ff17b622008ccbb3c4ca1cec4d74dc583ec6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 10 14:31:21 2022 +0300

    Axe mkinstalldirs helper script and related fubar
    
    Once upon time where the proprietary unixen roamed there were mkdir
    versions which didn't know how to create intermediate directories,
    and to provide compatibility automake provided a script to do that
    if the host system didn't support it. And as rpm chose to re-export
    the MKDIR_P thing as a macro, we were kinda forced to carry this
    script to provide that compatibility. Enough is enough, -p has been
    even in POSIX for ages.
    
    Should've really gone together with the %__mkdir_p change, but whatever.
    Nobody is going to notice.

commit 9c6c34f70126ee46850e451935e94676fe14126b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 10 14:13:13 2022 +0300

    Simply some ancient utility compat cruft
    
    In this day and age, in anything we'll care about, calling 'ln -s' is
    going to work for creating symlinks and 'mkdir -p is going to create
    missing intermediate directories.
    
    OTOH, in order to use ln -s we need to find ln, so add a new macro
    for that. It's useless, but then so is %{__ln_s} these days but still
    people appear to be using it a lot. And having %{__ln_s} but no %{__ln}
    seems even weirder.
    
    A whole lotta babble for a change that wont affect anybody at all.

commit c0b417f572d2450f060f8cde901a8edb4f9a3b33
Author: Stanislav Brabec <sbrabec@suse.cz>
Date:   Sat Apr 30 14:59:08 2022 +0200

    Add UpstreamReleases tag
    
    Create a new optional UpstreamReleases tag that allows to specify an URL
    of the location, where the source code could be downloaded. In
    contrast to the URL part of the Source tag, this is intended for
    the referrer of the sorce code, e. g. download top dir or the
    sub-page of the web that contains references to the source files.
    Third party tools or the package maintainer can use this tag and
    find the latest version of the source code.
    
    Co-authoredby: Florian Festi <ffesti@redhat.com>

commit c10073d1932a536c9f2db59b8426d4e630b21216
Author: Stanislav Brabec <sbrabec@suse.cz>
Date:   Mon Mar 21 22:55:38 2022 +0100

    Add TranslationURL tag
    
    Create a new optional TranslationURL tag that allows to specify URL
    for translators. Third party tools can visualize it and motivate
    people to translate.

commit 244ff75b98bb29699c0150cc83fc17ce752d8c13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 09:40:52 2022 +0300

    Silence obsoletion warning from C99 mode checking on autoconf 2.70
    
    In autoconf >= 2.70, AC_PROG_CC tries to enable the newest supported
    ISO standard, rather than let you ask for the variant you want. And
    testing for the details seems to differ between 2.69, 2.70 and 2.71.
    Sigh. Whatever...

commit 04fed7967f652fd2fd04738b7532385abd6e2915
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 15:18:45 2022 +0300

    Drop quarter centry old, and obsolete, check for ANSI C89 headers
    
    AC_HEADER_STDC may have been relevant in -97 but it's declared obsolete
    in autoconf and we're checking for these things by ourselves
    elsewhere...

commit bb45809c66bf6164cff3e6f68ea19f3e38604e92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 15:13:39 2022 +0300

    Replace deprecated AC_HELP_STRING with AS_HELP_STRING
    
    Whatever the difference may be.

commit 06795edc13ece2f7b2616c91960c70d4ebc9db31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 15:11:59 2022 +0300

    Replace obsolete autofoo to initialize libtool
    
    LT_INIT seems to be the new magic since libtool 2.2, released in 2008.

commit 4a0071c339083866dd8901e3ef449908488a9420
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 12:47:05 2022 +0300

    Replace deprecated Python distutils use in test-suite setup
    
    Get on with the times and use sysconfig instead of distutils for path
    configuration, eliminating deprecation warnings from running the
    test-suite. And in particular, on Fedora 36 distutils and sysconfig
    disagree on python prefix when not in rpm-build or virtualenv (whatever
    that means) causing all the python tests in our suite to fail due to
    not finding the in-tree bindings.

commit d5e484a453f8dfdda82cf4e01e208ba36eabe447
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 7 09:31:48 2022 +0300

    Drop obsolete CHANGES file

commit d4a6182c43e7aef651e20f8cc88ebaea6034d6e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 6 12:07:31 2022 +0300

    Bump minimum gettext version to 0.19.8
    
    To keep in sync with popt, where the rationale was primarily to improve
    musl compatibility [1]. I'd like to say to keep up with the times too,
    but some may not consider that applicable for something released in
    2016.
    
    [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941778

commit a3d11f7a53811e42cbe36a91a1583a723c2fe108
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 6 12:04:15 2022 +0300

    Fix potential uninitialized variable use in rpmtsImportPubkey()
    
    Commit d703160334ff545ce8bf7475da5689422f43dacc introduced a new step
    to key import which can fail before keyring is initialized.
    
    Always initialize your variables, never need "fixes" like this.

commit 370c58746c3b8c178808aaa95e1acb009fc4a677
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 09:46:14 2022 +0300

    Document --root assumptions both in the manual and API
    
    Fixes: #2081

commit 803da2eb97c4b5147f77a7cb0e03ef6d8a7e821a
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue May 31 12:44:08 2022 +0200

    Add more on pull requests to CONTRIBUTING

commit cc3233790feaf0bb22e2057a5d798e5425f69978
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 12:45:46 2022 +0300

    Document need to do history research on behavior changes

commit 1a7de551a74d73f01eb40cb744c1dbba5faeb651
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 14:24:45 2022 +0300

    Fix changelog parsing affecting caller timezone state
    
    We meddle with TZ environ which then propagates to other values through
    mktime() implicitly calling tzset(), but that other data doesn't get
    reset by just restoring the TZ variable. Restore initial state by explicitly
    call tzset() after we're done with it.
    
    Fixes: #1821

commit b34333fa021c0ee7215714eeef96d1a2843ea08e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 25 15:08:30 2022 +0300

    Remove build tree automatically on successfull binary package creation
    
    Traditionally rpmbuild has only cleaned up the build directory on
    --rebuild mode, but by default leaving tonnes of digital waste behind in
    the far more common -bb mode. Default to cleaning up build directory
    in addition to buildroot on successfull binary package creation,
    with the exception of short-circuit'ed builds.
    
    To go with this, have --noclean affect the build directory removal too.
    Change the diagnostics message from "--clean" to "rmbuild" because
    --clean is just misleading as it can get executed by other means too.

commit 6f9cc382562836e8ba0ce7a41297fa0de326d4ec
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue May 24 12:31:18 2022 +0200

    Also delete .gemspec file in BUILD/
    
    The file is created by %setup for Ruby gems and should be deleted together
    with the buildSubdir on RPMBUILD_RMBUILD (After rebuilds or when --clean
    is passed).
    
    Resolves: #1799

commit 944b14fe0d680eb21a452e978f6ba189daa640c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 17 15:21:13 2022 +0300

    Rewrite ordering documentation
    
    News about rpm 4.0.1 ordering algorithm changes are getting a bit
    long in the tooth. Rewrite the whole doc to make it reflect modern rpm
    behavior.

commit cbfba05d7f0d01e91570e450a549a3e9644f49ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 23 10:42:13 2022 +0300

    Prevent uncontrolled sqlite WAL growth during large transactions
    
    Sqlite WAL threshold of 1000 pages is way too low for rpmdb as a single
    header often exceeds that, but disabling the checkpointing entirely can
    cause the WAL to grow to multiple gigabytes during large distro update
    transactions, which isn't healty either. Bump the threshold to 10000
    pages which caps the WAL size to tens of megabytes, which hopefully
    is a reasonable balance between performance on rotational disks (anybody
    remember those?) and diskpace consumption.
    
    Also drop no longer meaningful link to %_flush_io configuration.

commit e36ac91ee20d7c9c32ad7d17f3e4b054f9159c21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 17 09:31:56 2022 +0300

    Unhide -q/--query option
    
    Fixes: #1473

commit 45a4ba338ce2d002e72d99f074d0201ced0b784a
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun May 15 16:21:07 2022 +0200

    Add link to Roadmap
    
    to header to sync up with rpm-web

commit 7e9e03ad171b94a9b39a4d8748bf6cd2f6f349de
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun May 15 09:37:14 2022 +0200

    Add documentation on documentation
    
    mainly how to render the docs for development purposes

commit b9875bd34bd2c7730798281157dae7da06a70f56
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 16 08:54:57 2022 +0200

    Add docs/_config.yml for building the in-tree docs
    
    this is - for now - redundant for GH pages but allows building the pages
    locally with Jekyll.

commit 457bd287cf84323209e8daebe843c25054f1808e
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 13 07:53:50 2022 +0200

    Adjust .gitignore to new docs location

commit de5bd4990ce3ec99f3e996934458c701bf586b5e
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 12 13:21:53 2022 +0200

    Improve documentation for VCS tag
    
    in reference manual and define a format

commit d703160334ff545ce8bf7475da5689422f43dacc
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue Mar 29 13:41:18 2022 +0200

    Before importing an OpenPGP certificate, lint it
    
    When importing an OpenPGP certificate, lint the certificate to show
    the user possible issues.  Fail if the certificate is completely
    unusable.  Using the Sequoia backend, this yields, for instance:
    
      $ ./rpmkeys --import tests/data/keys/alice-revoked-subkey.asc
      Certificate B3A771BFEB04E625:
        Subkey 1F71177215217EE0 was revoked: Key material has been compromised, it was the maid
        Certificate does not have any usable signing keys
    
    Fixes #1974.

commit b76f433842c7d7f8f18f8ff05c788a08bb91ffb3
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue May 10 13:30:44 2022 +0200

    Don't require a user of librpmio to link to librpm_sequoia
    
    When rpm is configured to use Sequoia for the OpenPGP implementation
    ('configure --crypto=sequoia'), librpmio is linked against
    librpm_sequoia.
    
    librpm_sequoia can't directly implement the OpenPGP API, because
    librpmio won't reexport librpm_sequoia's symbols, and we don't want
    a program linking against librpmio to explicitly link against
    (i.e., need a DT_NEEDED entry for) librpm_sequoia.
    
    We can circumvent this problem by having librpm_sequoia provide
    identical functions under different names, and then having librpmio
    provide forwarders.  That's what this commit does: a Sequoia-specific
    file forwards pgpFoo to _pgpFoo.  It's a bit ugly, but it is better
    than a brittle, non-portable hack.
    
    Fixes #2051.

commit 122bb4ffae7b2bacd8d790cac2c765d51b23d7d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 3 15:43:20 2022 +0300

    Add parsed and expanded spec to src.rpm header (#1241)
    
    The trend of packaging is to hide more and more of what actually happens
    behind helper macros and other dynamically generated constructs. While
    this is mostly a good thing, it makes understanding and postmortem
    analysis harder than it should be. Add the spec in its parsed and
    expanded form into the src.rpm header to make the actual contents of the
    build more trackable.
    
    It can be argued this does not belong in the header and should be in
    payload instead, my rationale for the placement is that this way the
    payload remains effectively arch independent, whereas the header already
    heavily reflects the particular environment where it was built.
    
    Probably worth noting that %setup and %patch built-in macros are not
    properly expanded in the stored spec, but that's a separate issue
    related the special way %prep is processed.
    
    Fixes: #1241

commit 33da0fdff87786772ab8483c367bb0f07816fe14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 11:34:23 2022 +0300

    Clean up canonical dirname calculation
    
    Handle path canonicalization and trailing slash centrally.
    No functional changes.

commit 328ff700a3260190bb4b980632a864e05845d0d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 11:27:10 2022 +0300

    Oops, fixup remnants of old realpath() semantics in fingerprinting
    
    The subsequent code relied on buffer lenght being explicit PATH_MAX
    which certainly was no longer the case. Clearly, our test-suite does
    not excercise this code...
    
    Should've been in commit b1bc46e56a9c267ca7e5ed263c4649dae017914b

commit 09ad6fa904e754838e20c8df489d95b10e53b56a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 11:12:04 2022 +0300

    Rely on POSIX.1-2008 realpath() semantics in query path resolution
    
    Now that we can, etc.  No functional changes.

commit dcf46f9e60ef00c846a8a9f945a053b56f86f7ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 11:08:54 2022 +0300

    Rely on POSIX.1-2008 realpath() semantics in mountpoint resolution
    
    Now that we can, etc.  No functional changes.

commit b1bc46e56a9c267ca7e5ed263c4649dae017914b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 10:23:50 2022 +0300

    Rely on POSIX.1-2008 realpath() semantics in fingerprinting code
    
    Since we're requiring POSIX.1-2008 now, we can rely on realpath()
    being sane as well. Turns out we've been relying on that in the
    debuginfo build-id code since 2016 already (commit
    bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2), oops. But then, nobody
    has complained...
    
    No functional changes.

commit b204a9037bc25ac2bc2c511b0046234be72c5498
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 6 10:12:51 2022 +0300

    Kick out 21 year old commented-out debugging fprintf()'s

commit 130c14681accda6136831d5610e814e41b9308e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 4 10:57:52 2022 +0300

    Fix %setup and %patch not getting expanded in rpmspec --parse output
    
    Handling %setup and %patch pseudo-macros in %prep is, ahem, special.
    Which is why they don't appear expanded in --parse output despite
    getting expanded at actual build-time. Add a flag to spec parsing
    machinery to allow handling spec->parsed locally where needed, and
    do so for %prep.
    
    This is slightly ugly, but the alternatives are far more complicated
    and still wont get rid of the ugliness as long as %patchN syntax
    preprocessing is needed.
    
    Fixes: #2048

commit 610209ecb4bfe8127a2557e29c08719ffc007c0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 4 13:28:00 2022 +0300

    Drop now redundant bundled copies of stpcpy() and stpncpy()
    
    stpcpy() and stpncpy() got added to POSIX-1.2008 (surprisingly if you
    ask me), and as that's the version we require now since commit
    96ec957e281220f8e137a2d5eb23b83a6377d556, we don't need to carry this
    dusty stuff (only touched once since -98...)

commit f7ffa9cbf7c1c7cb22b813699ee14cd72f6f8f11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 4 09:56:35 2022 +0300

    Clean up redundant and/or considered harmful crap from testsuite specs
    
    Stop this gunk from getting copy-pasted around, this mostly harmful
    and redundant at best.

commit 2bb2bd5e002ba3852508f3517597eff8b1ad7fb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 4 09:37:24 2022 +0300

    Drop references to previous millenia from test specs
    
    Red Hat Software was a thing in the nineties, over twenty years ago.
    History is interesting but in our specs, this is only misleading.
    Also link to rpm.org instead.

commit 66fa46c006bae0f28d93238b8f7f1c923645eee5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 3 12:26:04 2022 +0300

    Axe our internal and buggy glob() and fnmatch() copies
    
    glibc 2.2 (or thereabouts) changed glob() and fnmatch() to not return
    dangling symlinks as matches, which gravely affects rpmbuild in particular.
    Because of this, rpm has carried a bundled copies of glibc 2.1 functions
    for close to 22 years now (commit bed2a465fe49ce05f9678e619d016a2d26649c98).
    glibc 2.27 in 2018 thankfully finally reverted that particular braindamage,
    I think we've carried the compatibility babbage long enough to excuse
    ourselves with a little shorter grace period in this case.
    Nukes away, add a blurb about the version requirement on glibc
    based systems.
    
    This still leaves our internal glob_pattern_p() intact as unlike glob()
    itself, that's not portable.
    
    No functional changes as such.

commit 9bdf33719a4c11555fc94bac91ee2b2065495d0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 3 12:10:04 2022 +0300

    Test for {} brace globbing in %files too

commit fd3ef9b09e561383f009aed6b9154a75e8e12f87
Author: Pavel Valena <pvalena@redhat.com>
Date:   Thu Apr 7 16:55:00 2022 +0200

    check-buildroot script: use export to set LANG
    
    for find as well this ensures correct file processing.

commit 11458278a583f1762dca31b8cbb2852561380408
Author: Pavel Valena <pvalena@redhat.com>
Date:   Thu Apr 7 16:50:50 2022 +0200

    check-buildroot script: Double-Quote the variables
    
    to expand the command correctly (SC2086).

commit f2b4c647c2eef0885a622edf265ca6010d704fe2
Author: Pavel Valena <pvalena@redhat.com>
Date:   Thu Apr 7 16:46:23 2022 +0200

    check-buildroot: Redirect xargs stderr to $tmp
    
    allows failing on various errors as well
    (and ensures proper handling of the output in case it changes again).

commit fb6ad2c74691513f7e2c75e2e0d1fc19a17ac017
Author: Pavel Valena <pvalena@redhat.com>
Date:   Thu Apr 7 16:12:07 2022 +0200

    check-buildroot script: use if-then-else
    
    instead of && and ||. Enhances readability and avoids unnecessary
    errors in case ||: would be omitted.

commit 8a74780c061da5028533d7d4ee1a5161e0591d97
Author: Pavel Valena <pvalena@redhat.com>
Date:   Thu Apr 7 16:07:59 2022 +0200

    check-buildroot: harden $tmp creation
    
    Add quotes and check for path writability.
    Also process evaluate $tmp as part of trap, not expanding the
    the variable into string.

commit a68a2e50578347384bb2f1b08314d8bf7026b9bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 26 18:08:14 2022 +0300

    Fix regressions on dynamic buildrequires cli switches (RhBug:2078744)
    
    This effectively reverts commits b8935fb23518e26aa7b9316d27f2565813d20291
    and ad8b9bd2ca93cf4319680f056bb40bfc24661991 and separating -br and -bd
    from the normal build flow: these are so different from regular builds
    and in particular, have special semantics wrt --nodeps that trying to
    cram them into the normal flow only makes it far harder to read and
    understand.

commit 74c4a3130687fe3176bd54769f08e48bad6b31c9
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sat Apr 30 15:44:49 2022 +0200

    Translated using Weblate (Breton)
    
    Currently translated at 19.4% (177 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/br/

commit da5ef212d38f5eb674cc9ae85cad2f05ae7b2fdb
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Apr 30 15:44:48 2022 +0200

    Translated using Weblate (Polish)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pl/

commit da5498b5b94f58a272a21d209e03ee5a4f38d442
Author: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Date:   Sat Apr 30 15:44:48 2022 +0200

    Translated using Weblate (Georgian)
    
    Currently translated at 6.4% (59 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ka/
    
    Translated using Weblate (Georgian)
    
    Currently translated at 6.2% (57 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ka/

commit c308943b6e790ece8aed802909f9712e7b557fc9
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sat Apr 30 15:44:48 2022 +0200

    Translated using Weblate (Ukrainian)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/uk/

commit 16a1b9b8563423b117b4051c57cd5ffdebf6c631
Author: 김인수 <simmon@nplob.com>
Date:   Sat Apr 30 15:44:48 2022 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (910 of 910 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit 6f209745305d45eac3b3708372d83c08a689d189
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Wed Apr 13 22:09:26 2022 +0200

    Test that signatures made by bad subkeys are rejected
    
    Add tests to check that signatures made with expired or revoked
    subkeys are correctly reject.

commit db36ea85aac23620d71ed38cc9a263b6bab3af98
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Sun Mar 27 00:53:39 2022 +0100

    Add a Sequoia-based OpenPGP backend
    
    This change adds support for using Sequoia as an alternative to the
    internal OpenPGP backend.  To use this backend, it is necessary to
    have the rpm-sequoia library installed.
    
    https://gitlab.com/sequoia-pgp/rpm-sequoia
    
    Fixes #1978.

commit c1121a5c69a00ae396735c7662b387149db5b40e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 29 10:14:19 2022 +0300

    Remove stillborn rpmlog facility definitions
    
    While we're purging obsolete APIs:
    I fail to see how any of these would ever be of any relevance within
    rpm. RPMLOG_UUCP? Nope. RPMLOG_NEWS? RPMLOG_KERN? Nope...
    Unsurprisingly none of this stuff has ever been used.
    
    This frees up the top 28 bits of the log code for things that we may
    actually want to use.

commit cbcd9dd38dd1d0379e5d25ed3c1b1e96353e4014
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 28 10:17:16 2022 +0300

    Fix regression in rubygem unpacking (#2040)
    
    Externalizing the source unpack in commit
    cd5d667e99f931504a512b591fcde7ed92cee344 required changing the way
    rubygems are unpacked, and now the .gemspec file gets unpacked into
    different place. Oops. Reported and initial patch by Vit Ondruch.
    
    Fixes: #2040

commit bb36aac905cf8eb470f085574641d92c8d8ca20f
Author: Mikolaj Izdebski <mizdebsk@redhat.com>
Date:   Wed Apr 27 07:54:58 2022 +0200

    Fix a typo in doUntar that breaks verbose uncompression
    
    See https://bugzilla.redhat.com/show_bug.cgi?id=2079127

commit 6ee7cec81cc0b757efff14ef77c9c7ac13a91e27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 25 11:15:46 2022 +0300

    Add test for colored file upgrade/reinstall
    
    One of the situations which commit a7ceb572cfe1066a6dc425a272ed6b99747eaccc
    did not cover proved out to be lethal...

commit 066c00c908cb2616bae63a2bbc0f6078a694e808
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 25 12:17:19 2022 +0300

    Revert "Fix shared colored files not removed on erasure regression in >= 4.14.0"
    
    This causes a worse regression by removing files on update, revert
    for further investigation.
    
    This reverts commit 9e4caf0fc536d1244b298abd9dc4c535b6560d69.

commit 7f830132fe717d4b31c035bb3d08379451e3cd81
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Apr 14 15:38:11 2022 -0400

    Fix OpenPGP key ID parsing regression
    
    This fixes a regression in 598a771d8b4f4f480d4990ccf59b978d537201dd,
    which caused RPM to parse key flags from a hashed key ID subpacket.  As
    a result, RPM would wrongly reject a signature that had both key ID and
    key usage flags subpackets in the hashed section.

commit fff4a3a960272ea63bb6f4c1e8f20e29127619b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 13 12:10:10 2022 +0300

    Fix missed rpmfi-py.c reference when removing
    
    Commit 742be88cd97d95bae356a93f17ec0595b610cee7 forgot to drop
    rpmfi-py.c from setup.py build which our CI doesn't test. Doh.

commit 30622e1439d5fc76254efab893dd1208b24c5619
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 13 10:28:24 2022 +0300

    Bump version to begin of a new cycle (alreaady well underway of course)

commit c3e988287d2d1fbc4e83eca349e80e0c2d781a23
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue Apr 12 10:14:32 2022 +0200

    Move digest functionality to the internal OpenPGP implementation
    
    rpmio/digest.h contains definitions that are only used by the interal
    OpenPGP parser, and are not required by the future Sequoia backend.
    Move those definitions into rpmio/rpmpgp_internal.h.
    
    Fixes #2006.

commit 547acb66961e912a4be05bdbd32ab7f3aeac7357
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 13 09:59:45 2022 +0300

    Rename the internal rpmpgp.h header to rpmpgpval.h for clarity
    
    Commit d8bb57eeabe249c2c85bf46b1162d7e57a310e37 reintroduced
    rpmio/rpmpgp.h which is quite confusing when we have a public header by
    the same name elsewhere, and doubly more confusing to those of use who
    are used to having the public header by the same name in this very
    location prior to commit 650ba79f2253656f9ec8e06f399fafe40e556ed3.
    
    No functional changes.

commit 714422a9b0bc9af63f5c0c7a45776087920a66f5
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Fri Apr 8 09:36:05 2022 -0400

    Properly escape %__gpg_sign_cmd
    
    %__gpg_sign_cmd needs to be able to cope with strange characters in e.g.
    %_gpg_name.  Use the builtin shescape macro to make this
    straightforward.

commit 8098776540e8ccaa8995cbb3d858e29cdcc3e2e1
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Apr 11 02:42:34 2022 -0400

    Rip out %__gpg_verify_cmd
    
    It hasn't been used since before RPM 4.1.

commit d8eee23e1f2d944a9bcef5044d43808ba21bb83a
Author: Ismael Luceno <ismael@iodev.co.uk>
Date:   Tue Apr 12 19:10:21 2022 +0200

    Remove superflous include of non-standard <error.h>
    
    Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>

commit ee2f59cc1770f6eb4493a59710e9ef749725da46
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue Apr 12 14:28:55 2022 +0200

    Add a test case to check that the key creation time is correct
    
    When getting a certificate's creation time, assert that the
    certificate's creation time (the Primary Key's creation time field) is
    used, not the active binding signature's creation time.
    
    See #2004.

commit 2b48aa7c69e530a70fc1a2620375c23b8eef1f4c
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Apr 12 07:59:21 2022 -0400

    Avoid clobbering existing saved time
    
    The public key parser needs to set PGPDIG_SAVED_TIME, so that future
    iterations in pgpDigParams() do not clobber the key’s creation time.
    
    Fixes #2004.

commit 71ec44b0f3f32632b12711aa9950c55998d2e43a
Author: Weblate <noreply@weblate.org>
Date:   Mon Apr 11 10:24:04 2022 +0200

    Update translation files
    
    Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/

commit 4814bc84c5948d52998f6e33869d53ace9a0e753
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Thu Mar 24 14:05:41 2022 +0100

    Force gpg to use SHA256 when generating signatures.
    
    Some versions of gpg appear to default to using SHA512.  This breaks
    several tests' assumption that gpg generates a SHA256 hash.  Force gpg
    to use SHA256 by passing `--digest-algo sha256` to rpmsign.
    
    Fixes #2002.

commit d8bb57eeabe249c2c85bf46b1162d7e57a310e37
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Mon Apr 11 15:04:45 2022 +0200

    Move the internal OpenPGP implementation to its own file.
    
    Split the internal OpenPGP implementation into the bits that are
    needed by a new OpenPGP backend like Sequoia, and the bits that are
    not needed by another OpenPGP backend.
    
    Move most of the functionality in rpmio/rpmpgp.c into
    rpmio/rpmpgp_internal.c.
    
    Leave pgpValStr, and pgpIdentItem, which are used for printing and
    needn't be reimplemented by other backends, and pgpReadPkts, which is
    just a thin wrapper around pgpParsePkts, and which uses an internal
    rpm function that a new backend shouldn't have to worry about
    emulating or even calling.
    
    Move the symbol tables, which are used by pgpValStr, pgpIdentItem, and
    the internal OpenPGP implementation to rpmio/rpmpgp.h.  These are
    common to all implementations.
    
    Fixes #2000.

commit eaf359f35c6433cfe80fc8814795081b92171be8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 14:01:08 2022 +0300

    Merge Lua posix extension into librpmio
    
    Once upon a time there may have been a point to having the extension in a
    separate convenience library, but nowdays with Lua being mandatory there's
    not a whole lot of point in complicating the build with all this fubar.
    As a nice little bonus, we can now hide luaopen_posix() symbol.

commit 8d32255ff9f573193f4712055cedb22c177cb90f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 12:36:27 2022 +0300

    Drop hdr.dsFromHeader() and hdr.dsOfHeader() methods
    
    These were always a bit weird and long redundant, rpm.ds() takes a
    header as an argument since over ten years now.

commit 16d06d76e36f03e7ed92776d309e20906b9f6875
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 12:35:38 2022 +0300

    Add python rpm.ds constructor docs

commit 742be88cd97d95bae356a93f17ec0595b610cee7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 12:18:33 2022 +0300

    Drop the klunky and ugly rpm.fi python binding finally
    
    Update our lone test-case to use rpm.files instead

commit 49911cde6f77a8157c0f8d57d390cdf6665bc51c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 12:02:33 2022 +0300

    Drop some rpm v3 era Python methods
    
    This stuff was last meaningful in the previous millemium, and most of
    the deleted code was last touched in -97. Really.

commit ab01b5eacf9ec6a07a5d9e1991ef476a12d264fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 15:13:35 2022 +0300

    Remove most of rpmsq signal machinery, no longer needed

commit 1794bb0c4c5c16b9a6fbbd185b9ac4d8126984f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:53:54 2022 +0300

    Lone deprecation on rpmbuild side, lose rpmfcNew() while we're at it

commit 8cbf22013fe783da872176a30eed7a79fac0d7ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:52:27 2022 +0300

    And another one bites the dust, pgpHexStr() isn't needed anymore

commit d28ecc66bf33954f904614e5c522962ebd1b08a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:51:06 2022 +0300

    Purge long since deprecated header APIs too

commit 87c4eee816a4ddd4291cf1211c0290f3a731be73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:46:06 2022 +0300

    Axe pgpDig and related APIs
    
    These haven't been used by rpm in years but have been left to linger,
    perhaps for too long. Bye now.

commit ae7ef1a43328dce9ddc09a509fa4627ef70cd634
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:41:03 2022 +0300

    Remove deprecated rpmKeyring APIs
    
    These have been on their way out for more than ten years now, since
    commit 9e58316b0fd69da9e57cdbaee0aeeab8c47b033a. Time to let go.

commit f613b671895b6f3ae1bd6ec3e2d08ca0a0e32d29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:36:41 2022 +0300

    Remove rpmds epoch promote APIs
    
    This is a follow-up to commit 6800e0a4df14e03157a463b55cbe6adfa0ce0c3d,
    kick out the remaining stubs for real this time.

commit 6fcdaefef5e084276c6341f91af7544a93258fff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:34:53 2022 +0300

    Eliminate rpmteFI() and corresponding Python binding
    
    These have been deprecated for quite some time, get rid of them
    for real.

commit d307b02352237f4c1d98dfcc4823579ac34870a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 14:29:52 2022 +0300

    Delete directory index related API stubs for real
    
    This is a follow-up to commit 53b408c18ee9738c3b461c3c43acc40a0fd72f3
    to actually remove the stubs since there will be a soname bump next time
    around.

commit 44a2201dac198868a3ca3c948f8069177364b305
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 8 11:21:46 2022 +0300

    Fix missing preformat marker in %conf docs

commit f382d0b9ee03fa74cdadbb6029dc79fe6950c9d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 13:44:12 2022 +0300

    Update library version info before release
    
    There are added interfaces but none removed, so no soname bump needed.

commit 33051c68cd6973c28aa9df52b77dbfb523d8a3bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 13:09:27 2022 +0300

    Update translation master for a change, oops
    
    Quite a few strings have been changed since the last update in
    commit 164747026b4d7b4dce7d44f951887ba1803f0a7d. Also gets rid of the
    location markers to make it less painful in the future.

commit 238c3120ddfc84c8afd7bafc03faafff107ddd81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 7 12:25:57 2022 +0300

    Tone down the gettext churn a bit
    
    Limit the amount of (irrelevant) changes in the po/ department:
    skip location information in both the .pot and .po files.
    
    Optimally we wouldn't touch the .po files at all, because this is
    Weblate territory. However there doesn't seem to be any way to achieve
    that without modifying po/Makefile.in* which are generated files and
    so not really modifiable without creating other headaches.

commit 4f34fa9623c4fada7f075fff0088ccb5b75e26d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 6 12:05:40 2022 +0300

    Only print rpmio descriptor statistics when io debugging is enabled
    
    The stats aren't particularly interesting except for development
    and debugging purposes. Rather than change all the debug fprintf()'s
    in rpmio to rpmlog(), just change the stats to only get printed
    when --rpmiodebug is active like the rest of the io debug code.
    
    Fixes: #1987

commit f62b6d27cd741406a52a7e9c5b1d6f581dbd3af8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 5 13:44:11 2022 +0300

    Fix minor ABI regression wrt RPMQV_* enum
    
    Commit 949dc7c31ad26cb489e54386d289b73f40a54b80 introduced a new
    value into middle of a public enum, which we can't do since we're not
    bumping soname here. Not that anybody would've noticed, nothing outside
    rpm itself uses this rpmcli stuff really.

commit 4475614eb54feedc85de5b92b3e3a22c0da75468
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Sun Mar 27 00:43:16 2022 +0100

    Don't override LD_LIBRARY_PATH, prepend to it.
    
    When running the tests, the test suite overrides LD_LIBRARY_PATH.
    This means that any user setting is lost.  Instead, add to
    LD_LIBRARY_PATH.

commit b01005aa4178a3e9db38382b8650fa32412cdb6a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 5 11:49:58 2022 +0300

    Add compiler deprecation warnings to obsolete rpmfi APIs
    
    Should've been in commit 53b408c18ee9738c3b461c3c43acc40a0fd72f3f
    already.

commit 6eec1f8a005db6ff9a1cce57afa5dba4253a06b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 5 11:45:02 2022 +0300

    Kick out --nopromote remnants, add compiler deprecation warnings
    
    Bury the two remaining callers that somehow avoided the massacre in
    commit 6800e0a4df14e03157a463b55cbe6adfa0ce0c3d, add compiler
    deprecation warnings.

commit 4af06be2a496939f293bfdae6b0ca558ac6d1a33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 5 11:39:09 2022 +0300

    Mark deprecated PGP/keyring APIs as such
    
    Add RPM_GNUC_DEPRECATED markers where we can, unfortunately these APIs
    are used to implement each others so adding more would cause unwanted
    warnings to build of rpm itself.

commit 65a8d0dde933303bfbc15a6bb941ffb4276759bf
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Mon Apr 4 14:04:23 2022 +0200

    Don't assert the version of rpm used to create the data
    
      - Fixes #1985.

commit 10804d32d9e092b4898ec65938e7b157deb844fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 12:14:13 2022 +0300

    Use rpmuncompress to handle %{uncompress:...}
    
    This means that finally there's just one place that when adding support
    for new compress formats, there's in theory there's just one place to
    update. Reality is a little more complicated, but hey...
    
    Adjust tests a bit, and rather test functionality than command output
    because those reflect command paths which we can't easily adjust now.

commit 125201cc525d37ee98bc3e181cc95a2075664acd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 11:15:10 2022 +0300

    Refactor uncompress/untar command info into a struct
    
    Allegedly no functional changes, only we no longer need to go roundabout
    through %{uncompress:...} macro in the uncompress command.

commit 1ad4884c9ed0e58810b07016b138f7252f81ae3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 11:35:31 2022 +0300

    Add dry-run option to rpmuncompress to make testing nicer

commit d2156a90519ca3e604f235e2dbdf5a30f96f7ba6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 15:30:52 2022 +0200

    Move %patch uncompress logic from spec parse to build time, sort of
    
    The rationale is the same as with %setup, see previous commit.
    However as commit 6845efae0dcc005f3bbb4cd4179a3ccce9d9638c pointed out,
    most patches are not compressed and invoking an extra helper just in
    case gets expensive for no good reason when you have zillions of patches.
    Preserve the optimization from that commit by silently looking up the
    file IFF it's there, and omitting the uncompressor if we can determine
    it uncompressed. Otherwise we'll just postpone the uncompress decision
    to build-time, where rpmuncompress will do the right thing regardless
    of whether it's compressed or not.

commit cd5d667e99f931504a512b591fcde7ed92cee344
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 11:32:27 2022 +0200

    Move source uncompress logic from spec parse to build time
    
    Traditionally, %setup processing has figured out the commands needed
    to extract the source in question. The problem with this is that it
    happens at spec parse time, requiring access to sources that may not
    even be there in plain spec queries.
    
    Move the unpack logic from %setup internals to an `rpmuncompress` helper
    executable which is now the only command %setup needs to know. This way,
    spec parsing never needs to look at the actual source files, their
    presence is only required for an actual build. Another advantage is
    that the extraction machinery is now available to packagers without having
    to call %setup with its side-effects on %buildsubdir and such.
    
    Split the rpmbuild -ba test on missing sources into separate -bb and -bs
    tests as these are now rather different: binary build only tests for
    source presence if %prep is actually executed, and missing files
    at source build stage are discovered at a later stage as well.

commit 96de5c1f02e69a7ae37bcc8437451dfa35c87ae1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 09:44:45 2022 +0300

    Fix check-buildroot missing matches with grep >= 3.5
    
    Since 3.5, grep emits the diagnostic "binary file matches" message
    to stderr which causes the result file to be empty and build continuing
    despite an obvious error being present.
    
    We're not interested in the match itself, only whether there are files
    with matches. Grep has a standard option for this (-l), use it.
    
    Fixes: #1968

commit 7f21b843d3c2f3f12864eb702cd7112cba02a674
Author: Emilio Herrera <ehespinosa57@gmail.com>
Date:   Sat Mar 26 13:16:59 2022 +0100

    Translated using Weblate (Spanish)
    
    Currently translated at 71.5% (634 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/es/

commit 8934e0d1d694589aea48a2578a9c46e3e44e8a10
Author: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Date:   Sat Mar 26 13:16:59 2022 +0100

    Translated using Weblate (Georgian)
    
    Currently translated at 6.5% (58 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ka/
    
    Added translation using Weblate (Georgian)

commit 782ae85430362fbded8a12bc52b5cbda227a83d1
Author: Charles Lee <lchopn@gmail.com>
Date:   Sat Mar 26 13:16:58 2022 +0100

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 84.4% (748 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 02b8d8dccc0f045b0ebf81785cf6ad1056cf550e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 30 11:02:23 2022 +0300

    Issue warning on implicit "%patch zero" variants, sanitize semantics
    
    Supporting `%patch` with no number specified, in particular combinations
    like `%patch 1` meaning patches 0 and 1 (!), prevents further progress
    in this area. Dropping support for these is a case of sawing off a limb
    to save the patient, but there's enough history to numberless `%patch`
    that we need to take the long route of deprecating it first.
    
    To be exact:
    - we now issue a warning on `%patch` where no patch numbers have been
      specified, but assume it to mean Patch0 for now
    - `%patch N' applies patch N and nothing else
    
    While at it, avoid an unnecessary strdup() and a dangling buf after
    free.

commit b113a9d729cef5d4f3838efd9d0d666a92846d95
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Tue Mar 29 14:45:07 2022 +0200

    Make pgpDigParams opaque
    
      - Add accessor functions pgpDigParamsSignID, pgpDigParamsUserID,
        pgpDigParamsVersion, and pgpDigParamsTime.
    
      - Move the definition of `pgpDigParams_s` from `rpmio/digest.h` to
        `rpmio/rpmpgp.c`.
    
      - Change code to use the accessor functions.
    
      - Fixes #1979.

commit 619ef3edc5b7958184954a513b3f5cbe22aee5f2
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Jan 27 11:47:28 2022 -0500

    Fix inverted logic in base2bin()
    
    headerGet() returning 0 is an error condition.

commit 6d3ce1c96833e896f082df81c727687da130f416
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Jan 27 11:48:34 2022 -0500

    Avoid calling memcpy() on NULL
    
    base2bin() would call memcpy() on NULL for empty fsverity signatures.
    This is undefined behavior, even if the length is 0.

commit 3a6b1d8fbf846d3f1b139d343fdfddebe99ae42b
Author: Peter Jones <pjones@redhat.com>
Date:   Wed Sep 25 10:33:06 2019 -0400

    Make "%autosetup -S git" and "%autosetup -S git_am" work on a branch.
    
    This changes the git autosetup handlers so that they do the initial
    commit of the expanded tarball on "master", then switch to a branch
    "rpm-build" before applying patches.  Additionally it sets the
    "rpm-build" branch's upstream to "master", so that in the active work
    tree where the "rpm-build" is checked out, commands such as
    "git rebase -i" automatically have a default behavior that makes sense.
    
    Signed-off-by: Peter Jones <pjones@redhat.com>

commit fa70eca360e39d61504d1c33079892706f2f8af6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 18 14:15:16 2022 +0200

    Support imports to fs keyring too
    
    The fs keyring doesn't of course need the header to be created, but
    going through the same motions ensures consistent results, ie the
    key goes throught the same validation steps and we also get a
    "descriptive" file name for free (descriptive in that it matches the
    rpmdb NVR)

commit 3e4c0a95d3c2c8c500fdfd07db5408ac44dde50c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 18 13:31:31 2022 +0200

    Remember used keyring type in the transaction set
    
    The keyring a transaction uses shouldn't change by somebody defining
    macro in the meanwhile. Add an enum for known types and a helper to
    lazily determine it on the first keyring load.

commit 8948ec79f6c300e91319469ba72b9bd3480fe686
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Mar 27 12:54:36 2022 -0400

    Avoid unneded MPI reparsing
    
    Modify pgpPrtSig() to ignore the MPIs of a signature if its `tag`
    parameter is 0.  The only caller that sets `tag` to 0 is
    pgpPrtParamSubkeys() (via parseSubkeySig()), which does not actually
    check any cryptographic signatures.  The subkey binding signature has
    been checked earlier in pgpPrtParams().

commit a9cca032a2b7c0c6bcacc6ab4ecd25c95cc75305
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Mar 27 12:49:07 2022 -0400

    Ignore subkeys that cannot be used for signing
    
    This ensures that a signature is only accepted if the subkey that made
    it is actually allowed to sign.  Test 265 verifies that RPM ignores
    subkeys that cannot sign.
    
    A subkey is considered to be capable of signing if, and only if, its
    subkey binding signature has a hashed key flags subpacket that contains
    the flag 0x02.  RFC4880 requires that the subkey binding signature be
    v4, which this requirement enforces implicitly.  RFC4880 also requires
    that primary key binding signatures be present and checked.  This is not
    yet implemented, but may be implemented later.
    
    Fixes #1911.

commit 598a771d8b4f4f480d4990ccf59b978d537201dd
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Mar 27 12:07:34 2022 -0400

    Parse key usage flags
    
    RPM needs to know if a subkey can be used for signing.  Signatures made
    by a subkey that cannot be used for signing are invalid.  Add a
    key_flags member to pgpDigParams_s to store this information, and a
    PGPDIG_SIG_HAS_KEY_FLAGS flag to indicate that it is valid.  The key
    usage flags are reset for every signature.  Key usage flags in the
    unhashed section are ignored.  If there is more than one key usage flags
    subpacket in the hashed section, the signature is rejected.

commit 55849d2d6e16096dbd30fd3a5c751f13bb03484b
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Mar 27 12:04:46 2022 -0400

    Add a hashed flag to pgpPrtSubtype()
    
    This is needed for key usage flags parsing, as key usage flags outside
    of the hashed region must be ignored.  For now, just use it to
    unconditionally ignore unhashed creation time subpackets.

commit 0a91d1f62d5b6e1cac4d0a7c2ac9f75faad50534
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Fri Apr 9 13:34:12 2021 -0400

    Avoid double frees if EVP_PKEY_assign_RSA fails
    
    Previously, the bignums would be left as dangling and double-freed.

commit 1ddaeddffa52f02db198417ebf73cb6c5d432250
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Feb 7 16:46:31 2021 -0500

    Fix return value checks in OpenSSL code
    
    According to `man 3ssl` the only successful return value for
    EVP_PKEY_verify_init() is 1, and EVP_PKEY_CTX_set_rsa_padding() and
    EVP_PKEY_CTX_set_signature_md() can both return 0 or a negative number
    on failure or any positive number on success.  BN_bn2binpad() returns -1
    on error, but 0 (an empty key or signature) is also not valid.
    Therefore use != 1 to check the return value of EVP_PKEY_verify_init(),
    <= 0 to check the return values of the other three functions mentioned
    above.  Also delete a bunch of cruft.

commit ba0fe1be9a6093f0a49921f38e2e8826dc825340
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Mar 16 22:11:34 2022 -0400

    Fix the OpenPGP parser tests
    
    I forgot to wire it up to the test suite in
    ad97e2fceaae3a853d9332324156630677384989, and they did not test all of
    the cases they were supposed to.  This checks that valid old- and
    new-format signature packets with correct lengths are accepted, and that
    incorrect lengths are rejected.

commit 9e4caf0fc536d1244b298abd9dc4c535b6560d69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 24 10:47:13 2022 +0200

    Fix shared colored files not removed on erasure regression in >= 4.14.0
    
    Commit 2d52726bd55f008ea23262c2a3a31ae689cd2af4 was not SUPPOSED to
    change any behavior, but it did: "shared" colored files (ie one being
    wrong color and the other one actually installed) removed in the
    same transaction would not get removed at all. Fix the embarrasment
    that happens when you don't have systematic tests.
    
    Fixes: #1800

commit 0bb3fa9025882cd11867ffa0f8ab0bf3e6314d70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 14:25:31 2022 +0200

    Fix excluded paths taking part in file disposition calculations
    
    Commit f311fb65eea4791fa15a00412384b96fdccbbf1c added a step to reset
    calculated states between rpmtsRun() calls to allow for %pretrans
    hacks, but this causes actions set for --excludepath to get lost.
    While those do get recalculated at the time of actual install and
    correctly skipped, this causes them to be considered for file
    disposition which they should not.

commit cf2752b05c47a9461ffcaea04bdb774905286ba6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 13:05:57 2022 +0200

    Fix non-installed files taking part in file disposition calculations
    
    Files that are not installed cannot conflict with anything, any more
    than skipped files can. The latter we handled, the former not. Strange
    what "obvious" cases can go on unnoticed forever, when lacking systematic
    tests.

commit a7ceb572cfe1066a6dc425a272ed6b99747eaccc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 24 10:23:54 2022 +0200

    Add a bunch of file-erasure related testcases
    
    Replace the two very basic file erase tests from "rpmdb" group with a more
    elaborate set of tests in their own file. Some embarrassing failures
    here, eg "shared" colored files getting left behind on erase. Oops.

commit 67608fa46a3edad27944c4f99a71f6c881635216
Author: Neal H. Walfield <neal@pep.foundation>
Date:   Thu Mar 24 14:05:41 2022 +0100

    Force gpg to use SHA256 when generating signatures.
    
      - Some versions of gpg appear to default to using SHA512.  This
        breaks test 273's assumption that gpg generates a SHA256 hash.
        Configure gpg to use SHA256.
    
      - Fixes #1969.

commit a5e756c797c755c9e075f22f152976d10758de02
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Mar 24 09:00:54 2022 -0400

    Fix capitalization in CONTRIBUTING.md
    
    No substantial changes.

commit 1a28fb26d9de3a59bf7881f0caac22e5d0810e23
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Mar 24 09:04:59 2022 -0400

    Fix name of git send-email command
    
    It was incorrectly listed as git send-mail.

commit f60eaa1e0fba0f0debe51a5c5c7c2bb40124eaf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 10:21:54 2022 +0200

    Set program name centrally from rpmcliInit()
    
    Most of our tools go through rpmcliInit() so take the opportunity
    lessen the clutter wrt xsetprogname() calls. No functional changes.

commit a6913834d395d6544c2ba1578d6ebd594350b602
Author: Todd Zullinger <tmz@pobox.com>
Date:   Tue Mar 22 18:05:07 2022 -0400

    docs/queryformat: fix query expressions example
    
    The example command in the "Query Expressions" section fails because of
    the backslash added in a9678c2dc (Insert space between the "{" and "%",
    2021-05-06):
    
        $ # rpm -qa --queryformat "%-30{NAME} %|PREINPROG?{ %{PREINPROG\}}:{no}|\n"
        error: incorrect format: unknown tag: "PREINPROG\"
        ...
    
    While this is relatively easy to spot and fix, it is better to avoid
    non-working examples in the documentation.
    
    Fortunately, there is no need to escape the closing `}}` as there is no
    opening `{{` tag.  The dependency_generators and macros pages both
    contain un-escaped `}}` strings which are displayed correctly.
    
    Add a space to the else condition as well, to align the output.

commit 31c41707d74e465b0a776df8938ee7f903dd08c9
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 1 13:23:21 2022 -0500

    Reject OpenPGP data at or over 64KiB
    
    Such data is probably an attempt to exploit RPM, not do anything useful.
    This avoids a whole class of silly integer overflow problems.
    Signatures in packages are already limited to less than 64MiB by the
    maximum size of the signature header, and this is already a sufficient
    limitation.

commit 40571a74cf820a7cb91952e99a666a4ac5dea592
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Fri Mar 18 09:51:07 2022 -0400

    Remove NSS references
    
    RPM doesn’t use NSS anymore.

commit 7e7266c9af883ce49b3516a5bd099d218e8e3fac
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sun Feb 6 15:52:48 2022 -0500

    Require creation time to be unique and hashed
    
    According to RFC 4880 §5.2.3.4 the signature creation time MUST be a
    hashed subpacket.  Enforce this requirement in RPM.  Also set the saved
    flags to PGPDIG_SAVED_TIME | PGPDIG_SAVED_ID |
    PGPDIG_SAVED_CREATION_TIME for v3 signatures, and do not overwrite an
    already saved key ID with one taken from a v3 signature.

commit 82b27f81bd884e5dc6fc7caa917ba4a0b4dc6e90
Author: Stephan Kulow <coolo@suse.de>
Date:   Wed Mar 9 15:14:20 2022 +0100

    Avoid libmagic calculation for source files
    
    The costs of libmagic is gigantic for packages with a lot of source
    files (like the kernel sources or any -debugsource) and there is
    little gain from running it, so spare it by skipping the calculcation
    for .c and .h files.

commit 10ac962bf2f71af927c8eaaea427135441663497
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Mar 17 03:16:59 2022 -0400

    Fix memory leak in pgpPrtParams()
    
    Found by leak sanitizer on a fuzzed test case.

commit 1a71f0e22e1de57904258114870e643edbbfba5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 18 11:02:35 2022 +0200

    Unbreak build from docs removal, oops
    
    Commits 20aff386fd642e6777082fefd6061eb0dabc0da1 and
    47314cab91a308eb1a7dd04d503824b014eeefb1 failed to drop the relevant
    files from the tarball. It's a doc removal, what can possibly break?!

commit d747bf045ea20b0cb5813a83c13bdfb4ca424699
Author: Ludwig Nussel <ludwig.nussel@suse.de>
Date:   Mon Mar 14 14:20:56 2022 +0100

    Prevent NULL deref in rpmfsGetStates()

commit 47314cab91a308eb1a7dd04d503824b014eeefb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 16 15:21:19 2022 +0200

    Drop very outdated signature documentation

commit 20cd23546014541426ab761b33d83415bea4cb57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 16 15:10:30 2022 +0200

    Scrap obsolete Tools section from package format docs

commit a1cfd38f1cb6f6e8e9d1f3f5c6b5a31e1ced042e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 16 15:09:27 2022 +0200

    Fix very outdated definition of unspecified epoch.

commit 20aff386fd642e6777082fefd6061eb0dabc0da1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 16 15:06:17 2022 +0200

    Drop very outdated buildroot documentation

commit fccf7eddbc95a32ab509bdf918a29e3c068533d1
Author: Dirk Müller <dirk@dmllr.de>
Date:   Tue Mar 15 17:19:38 2022 +0100

    Small speedup on rpm -V
    
    This improves performance of rpm -V --nofiledigests by ~2%
    by avoiding an extra parameter and a sprintf call.

commit 962ba7a4c1f88f3aef0b95b43edb9ab1fbc7e33a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 14 11:20:41 2022 +0200

    Drop misleading hardcoded NSS-3 string from import public keys
    
    The crypto backend used during importing has little relevance to
    anything, plus we discarded the NSS backend two years ago so it doesn't
    have an even theoretical chance of being right...

commit fda4aacd8830305b5626a26ac005dc930fe62037
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 14 11:04:11 2022 +0200

    Fix includes not getting pulled into dist tarballs regression
    
    Remove include preinstall machinery leftovers preventing them from
    getting pulled to dist tarballs. Regression introduced in commit
    650ba79f2253656f9ec8e06f399fafe40e556ed3.
    
    Strange that this wasn't caught by distcheck.

commit ee98f9fe5726f236a72010ee9756c324140716a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 14 09:52:21 2022 +0200

    Use fsmClose() for closing file descriptors everywhere within fsm
    
    fsmClose() does all the necessary checks and resets the fd to -1 after
    close, why duplicate these all over the code when we already have a
    function...
    
    There's no difference wrt file descriptors getting closed here, but
    there is a side-effect to this: if %_flush_io is enabled, they now
    get fsync() on the associated directories too, which I think is a good
    thing for those who care about it.

commit fee3aafbf6de78e0bef9809bd22113dd6d251866
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 14 09:18:28 2022 +0200

    Fix file descriptor leak regression on install (#1947)
    
    Commit 0e3024ca3e7450104e70ec8d213cf223e71f7c02 introduced a leak on
    directory file descriptors from hardlinked sets, preventing some large
    packages with many hardlinks from installing at all.
    
    fsmMkfile() needs to close the firstdir fd when done with it because
    that's the only place that knows when it's safe to do so. However, there
    could be non-hardlink entries left in the same directory, so we must not
    close *that* descriptor. Dup the firstdir descriptor so we're free to
    close it without worrying about the other state.
    
    Fixes: #1947

commit 561fdc1e302582f6819e9150a9fcdf9e07c5c0bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 14 09:21:36 2022 +0200

    Add now gone preinstall.am to .gitignore to smoothen bisecting

commit 6490ab64185286a7c4bc18b871c32478b1f58d30
Author: Ludwig Nussel <ludwig.nussel@suse.de>
Date:   Thu Mar 3 15:51:35 2022 +0100

    Preset db backend according to availability
    
    rpm can be built without ndb or sqlite, so make %_db_backend
    reflect that choice. Prefer sqlite over ndb if both are built in.

commit 400ec22aaa1864796327638f723f4e5e7e87bda1
Author: Ludwig Nussel <ludwig.nussel@suse.de>
Date:   Tue Feb 1 15:08:40 2022 +0100

    List available backends in rpm --showrc

commit b447ad31fb4567c524938edd65112a6476113a2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:14:48 2022 +0200

    Drop support for undocumented keyid based import over the net
    
    This is insecure in so many ways I'm not going to bother trying to list
    them all. It's an undocumented "feature" left over from more innocent
    times, time to give it the axe.

commit c4a6a3a9a6b664fd7b7f3d06dd23b93d0b1b4a1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 16:30:54 2022 +0200

    .gitignore spring cleaning
    
    In particular, /include is now a real thing and should not be ignored.
    While at it, purge BDB and debugedit leftoevers and some long gone cruft.

commit 650ba79f2253656f9ec8e06f399fafe40e556ed3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 13:34:13 2022 +0200

    Eliminate the strange include pre-build install machinery
    
    Introduced back in 2007 in 583140460100ea99553d883174065ca22a3099b2 the
    point was to fake up a sane public header structure with minimal
    internal disruption, TEMPORARILY. I think 15 years is temporary enough.
    
    The machinery has worked rather well for what it is, but having the
    headers appear in multiple locations is weird and confusing to people,
    plus this "physical" separation makes it far more clearer what is
    a public header and what isn't.

commit 3d97c19c6eccdf0aa4fd0bdb7ccb9fe7880dded6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 14:07:36 2022 +0200

    Remove leading directories from doxygen notation
    
    These don't represent the exported include structure so they're
    probably more harmful than anything else.

commit 2f0f3be64d632365988171f435d03a396df504da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 13:37:10 2022 +0200

    Use proper addressing for our public headers everywhere

commit fb104a12eb45c90e799eb21a2825845281c976db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 12:51:14 2022 +0200

    Fix circular dependency between rpmtypes.h and rpmtag.h
    
    Stop including rpmtag.h from rpmtypes.h, fix callers instead.
    This fixes the long-standing issue that rpmtypes.h is not the
    free-standing header it's supposed to be and that its sole purpose
    is, ie safe to include from anywhere.

commit ba29958753582da813924671e927dd8e47831b76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 11:55:44 2022 +0200

    Drop now unnecessary rpmsqPoll() calls from librpm

commit 35b93119a30029a889346a2b93312f031888524d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 11:41:44 2022 +0200

    Drop rpmdb shutdown on exit()
    
    This is continuation to the previous commit, this was necessary for
    clean Berkeley DB shutdown but current backends do not need it. And
    as we no longer route signals through a polled machinery to get an
    exit() from eg ctrl-c, this is for all practical purposes dead code,
    callers are expected to free their iterators as needed anyway.
    
    As a bonus, eliminating these static structures improves thread-safety
    without complicated locking.

commit f9290999e976ab258a23f8542bb8e7b05bbb217c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 11:19:19 2022 +0200

    Detach rpm signal queue enablement from database open
    
    The rpm signal queue (rpmsq) was necessary to support clean shutdown
    of Berkeley Database on signals, but our current backends do not
    need such handholding. A library silently hogging your signals on
    function call is antisocial behavior, stop doing that since we no
    longer have to.
    
    Since the rpmsq is no longer active in transactions, use sigaction()
    instead of rpmsqSetAction() to manipulate SIGPIPE. While at it,
    eliminate the use of deprecated signal() which in particular should
    not be mixed with sigaction() use.
    
    This is quite a dramatic behavior change to a long-standing behavior
    so while everybody hated the signal hogging, this may still cause some
    fallout in strange places.
    
    This also makes a whole lot of rpmsq code redundant and unused, leaving
    it in place for the time being as a backup if we need to revert
    short term, to be flushed in the next soname bump.

commit 25c4c61a9599590ce4d610621ff0bffde7ae5e82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 10:31:28 2022 +0200

    Fix regression on ctrl-c during transaction killing scriptlets
    
    Commit cb6aa82dbc10d554f8d234e934ae7c77e39a3ce2 unblocked all signals
    from scriptlets, but turns out this is too much: SIGINT, SIGTSTP and
    SIGQUIT sent from the terminal are passed to the process group, and
    with unblocked signals end up killing our scriptlets while rpm itself
    continues. -ENOSENSE.
    
    Stopping (and continuing) is okay though so we don't block that.

commit 5766d3c63282fce3331adb8728f624125a6d8204
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 13:51:32 2022 +0200

    Fix stupid thinko in commit d0ad515494d1170d36f548e6b8e03038767764b0
    
    `find` options all have just one dash. Regression of a regression, sigh.

commit b8935fb23518e26aa7b9316d27f2565813d20291
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 12:29:17 2022 +0200

    Fix thinko in commit ad8b9bd2ca93cf4319680f056bb40bfc24661991
    
    Somehow the resulting compiler warning has gone unnoticed everywhere...

commit 33edb9827e08dafc146d330815222e34fbbe9b1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 12:08:22 2022 +0200

    Fix missing include from d44be2cbc1c3265d55f05b47daa69334a7a133e6
    
    Somehow this managed to sneak past unnoticed

commit 2cf26bdd2f15e25a7c1a82d998e3fcb8d2669b03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 12:19:50 2022 +0200

    Fix memleak in commit dd4f2c68a0059d66b1807d504faaeed84973d49a

commit dd4f2c68a0059d66b1807d504faaeed84973d49a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 1 12:46:37 2022 +0200

    Handle missing RPMTAG_ARCH in RPMTAG_ARCHSUFFIX
    
    RPMTAG_ARCHSUFFIX from commit e6a6399cb4c87f049bb75b8da83f5759522bcc58
    assumes all headers have RPMTAG_ARCH, but a notable exception is gpg-pubkey
    headers in rpmdb, causing segfaults on `rpm -qa` on normal systems.
    
    Special case conditionals in queryformats get ugly and error-prone real
    fast, which is why we have all the NEVRA formatter extensions. Avoid
    adding yet more of those tags by handling the dot formatting in
    ARCHSUFFIX instead - the "suffix" in the name seems to imply this
    anyway.
    
    Also add tests to cover the common -qa cases.

commit c4aa971d4ab9d7d698325839b23ceb75f2eaa6e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 1 14:49:33 2022 +0200

    Clarify docs wrt passing external data to generators

commit 0efc5922ee30a92a39316c63349ca604466f18b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 23 10:52:05 2022 +0200

    Add bunch of missing version infos on spec constructs to the manual

commit 7c32c7f07fa31a0be2df1a7ea34d0d4435deb145
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 22 16:53:34 2022 +0200

    Add separate build configuration (%conf) section to spec
    
    Configuring the sources (eg ./configure, cmake and whatnot) is really a
    distinct step which is very unlike the actual build, in that the actual
    build steps are generally equal for all projects using a given build system,
    but configuration differs greatly once you go beyond the default paths and
    the like.
    
    This is essentially a pre-requisite for implementing build system templating
    in spec files.
    
    Fixes: #1086

commit ad8b9bd2ca93cf4319680f056bb40bfc24661991
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 23 09:59:15 2022 +0200

    Fix --short-circuit for (dynamic) buildrequires checking
    
    The build letter processing relies on the switch-case fallthrough order
    being reverse of the actual build-process to gather all the relevant
    steps for each stage. Fixup the buildrequires cases to honor that
    so they dont need special casing in compile stage and make
    --short-circuit work for both.
    
    Also the switch-case order deserves a commenting...

commit b128df451691f472b59999292ed3224715c06444
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 23 08:59:22 2022 +0200

    Add tests for various rpmbuild build stage options

commit d44be2cbc1c3265d55f05b47daa69334a7a133e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 24 14:50:59 2022 +0200

    Rename pgpHexStr() to rpmhex(), but preserve ABI for now
    
    Fixup internal callers to use rpmhex(), deprecate pgpHexStr().
    pgpHexStr() should be dropped at next soname bump, whenever that
    happens.

commit dcfa7323a0758fdd74cf5a6e13fb63a108a2fa09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 24 14:43:53 2022 +0200

    Move pgpHexStr() out of rpmpgp.h, it has nothing to do with PGP

commit 01d6605d93e9b52ba7cd5c7c2ca2f8be67c98d29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 24 14:26:46 2022 +0200

    Detach rpm's hash algorithm values from PGP hash algorith values
    
    At this point this is quite literally merely a symbolic change,
    as values from PGP hash algo are assumed equal to RPM hash algos,
    but it's a necessary first step to supporting hashes not included
    in RFC-4880.
    
    Fixes: #1899

commit ca822ed6d239954ec56d6888559bd386b4d076ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 24 13:36:30 2022 +0200

    Split off rpmDigest*() APIs from rpmpgp.h to a new rpmcrypto.h header
    
    These APIs never belonged to rpmpgp.h anyway, it was only used for
    being the least-worst fit within rpm. As if it was so hard to just
    add a new header...

commit 7db2efa95d859cebda2b095ffdffac42812bd6d9
Author: Darren Kenny <darren.kenny@oracle.com>
Date:   Tue Feb 22 16:57:00 2022 +0000

    ima: Install on filesystems without xattr support without failing
    
    If an RPM contains IMA signed digests and rpm-plugin-ima is installed,
    then any attempt to install to a filesystem that doesn't support
    extended attributes will cause the RPM installation to fail.
    
    This can be seen, for example, if installing a file /boot, which is
    usually a vFAT filesystem.
    
    The rpm-plugin for selinux fixed this some time back, and that same
    logic can be applied to IMA too - where, if a failure to set an extended
    attribute results in an errno that is set to EOPNOTSUPP, then this
    should not cause a complete failure, but should instead just be logged
    at a debug level.
    
    Signed-off-by: Darren Kenny <darren.kenny@oracle.com>

commit e52d7d8a8ee46174a31ca50aa6fc0750da737f47
Author: Elia Pinto <pinto.elia@gmail.com>
Date:   Tue Feb 22 17:49:29 2022 +0000

    fsm.c: permit building without file capability support
    
    Permit building with ./configure --with-cap=no

commit 82dafa39a2dfd3e24858681ca75f467c1e1b3635
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 21 14:23:37 2022 +0100

    Use ARCHSUFFIX instead of ARCH for default queries
    
    which were using NEVRA before. This way source packages are reported
    with their file name with rpm -qp and rpmspec.

commit e6a6399cb4c87f049bb75b8da83f5759522bcc58
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 21 14:19:31 2022 +0100

    Add ARCHSUFFIX extension tag
    
    The new tag returns src/nosrc instead of the build architecture of
    (no)source packages.

commit 6caca84c904423fbe75674c1589f3457c4927281
Author: Peter Jones <pjones@redhat.com>
Date:   Tue Jun 23 11:14:39 2015 -0400

    Make %{buildsubdir} more independent of %setup
    
    Use the macro itself as ground truth and no longer store it in the spec object.
    This may allow implementing %setup as a proper macro in the future.
    
    Co-authord-by: Florian Festi <ffesti@redhat.com>

commit c8865bffaba432e3a6064cfecb1f263646a0bcaa
Author: sacha <sachahony@gmail.com>
Date:   Tue Oct 1 10:59:46 2019 +0200

    Allow rpmbuild to only check build dependencies
    
    without building anything if everything is ok. This is similar to the
    -br, -tr, -rr family of commands that run the dynamic build dependency
    generator and check for missing build requires.
    
    But the newly added -bd,-td,-rd will only create the buildreqs.nosrc.rpm
    package on missing dynamic build requirements and nothing else. This is
    a much cheaper operation for packages with large sources where creating
    a source rpm needlessly may be undesired.
    
    For now there is no way to skip the creation of the buildreqs.nosrc.rpm
    package. But it is cheap to create for reasonable amounts of build
    requires.
    
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 885c5edb4d5a440f2136f66dffbe4ee06f3324fa
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 16 14:51:25 2022 +0100

    Make test suite a dependency of populate_testing
    
    We are now using populate_testing as an entry point to manually calling
    rpmtests (as described in the test/README.md). Right now this does not
    rebuild the test suite itself. So while populate_testing itself does not
    really care this makes it more user friendly for humans.

commit 6dd62720fe84f7e2ad902c915b952fc0b29e3dcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 11:34:37 2022 +0200

    Swap over to dirfd+basename based operation within the fsm
    
    Within fsm this is just a matter of adjusting error messages to include
    the directory... if it only wasn't for the plugins requiring absolute
    paths for outside users. For the plugins, we need to assemble absolute
    paths as needed, both in ensureDir() and plugin file slots.

commit b65ed55c3aef325192363951584dfb05c395b32e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 13:29:00 2022 +0200

    Add a test-case for cross-directory hardlinks

commit 2ebb6cdd22d112a56db6f5168674e5930ef96594
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 13:15:03 2022 +0200

    Add a test-case for "filesystem" like package owning /
    
    This is a special case in various places around rpm, worth having a test
    for.

commit 0e3024ca3e7450104e70ec8d213cf223e71f7c02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 11:57:20 2022 +0200

    Track first hardlink directory descriptor as well
    
    Cross-directory hardlinks shouldn't be used as there's no guarantee
    two directories are on the same filesystem, but these exist in the
    wild so we need to care.

commit 35195684d29f495bfd982516044e05deed832b6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 10:43:13 2022 +0200

    Pass file descriptor to file prepare plugin hook, use when possible
    
    Sadly the thing that allegedly makes things better mostly just makes
    things more complicated as symlinks can't be opened, so we'll now have
    to deal with both cases in plugins too. To make matters worse, most
    APIs out there support either an fd or a path, but very few support
    the *at() style dirfd + basename approach so plugins are stuck with
    absolute paths for now.
    
    This is of course a plugin API/ABI change too.

commit 661a37905ed3b79cab76dcbddf8fff26291c7d40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 10:08:53 2022 +0200

    Return a validated open directory fd from fsmDoMkDir()

commit 7dc45d932a3cfa033b5cdf30ebc7ee8dc9472ef3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 10:02:45 2022 +0200

    Add O_DIRECTORY equivalent parameter to fsmOpenat(), use as relevant

commit 1cc29d88ea7b7bc545c93740d21ed8ca3d02a788
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 09:28:55 2022 +0200

    Add fsm debug logging to ensureDir()
    
    This being one of the more central functions in fsm now, there better
    be some diagnostics from it too. Especially when we move to
    dirfd+basename operation.

commit ef95f110a3b9437ace76c1c34c426204a2339877
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 09:12:53 2022 +0200

    Parent directory needs to be open before we can back up stuff
    
    A thinko originating from commit c9b2686a4748c227b0abdc0752d844e35296474e
    which doesn't matter greatly as long as we're still using absolute
    paths but will fail as soon as dirfd+basename is used.
    
    Also pay more attention to the rc's: we must not backup, or run file
    pre plugin hook if we know it'll fail.

commit 948be518d5274bc2e0161cca6b4c25e1e866849d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 16:52:12 2022 +0200

    Convert removeSBITS() to dirfd-based operation

commit 25a435e90844ea98fe5eb7bef22c1aecf3a9c033
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 14:29:33 2022 +0200

    Set file metadata via fd-based ops for everything but symlinks
    
    Regular file ops are fd-based already, for the rest we need to open them
    manually. Files with temporary suffix must never be followed, for
    directories (and pre-existing FA_TOUCHed files) use the rpm symlink
    "root or target owner allowed" rule wrt following.
    
    This mostly fixes CVE-2021-35938, but as we're not yet using dirfd-based
    operatiosn for everything there are corner cases left undone. And then
    there's the plugin API which needs updating for all this.

commit 9f5b22850d6437b890541e36c0a5c5caea54f46a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 14:23:51 2022 +0200

    Add support for fd-based file metadata setting
    
    We need to support both fd-based and (dirfd+) path based operations
    due to all the lovely mismatches in POSIX, so lotsa half-duplicated
    tedious stuff here.
    
    As of this commit, we only use fd based ops for regular files.

commit 1bab34c6e45c549c7829e469ba35bdececbb84e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 13:41:38 2022 +0200

    Convert fsmSetmeta() to dirfd based operation where possible
    
    Notably cap_set_file() doesn't have a dirfd-based mode, to handle that
    safely we'll need to use fd-based operation. Which would be nicer anyhow
    but symlinks can't be opened so we'll have to carry the dirfd/path based
    mode forever more anyhow (yes Linux has extensions but that's another
    story).

commit 693d828c035848585b500dfde6f4e58cfb8d4de4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 12:44:42 2022 +0200

    Return descriptor of created file from fsmMkfile()
    
    This will be needed for using fd-based metadata operations.

commit bbc270d78fb361bd78eac9a9117070caeb537d4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 12:35:58 2022 +0200

    Bury rpmio FD use to fsmUnpack()
    
    fsmUnpack() is the only place in FSM that needs to deal with rpmio FD
    types, everywhere else they are nothing but a hindrance that need to
    be converted to OS level descriptors for use. Better deal with OS
    level descriptors to begin with.

commit 014d22c8d6edf2dc0bc76408db58fe59630691bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 11:56:47 2022 +0200

    Convert fsmRename() to renameat() based operation
    
    All our renames are (for now at least) within a single directory so
    the second dirfd is kinda redundant, but shrug...

commit 41edce3d6213878659630b25fc2372035c84ba6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 11:43:53 2022 +0200

    Convert fsmRemove() and helpers to unlinkat() based operation

commit da3f70d75a4e36737da19e65bce65a67bbcbb2ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 11:43:09 2022 +0200

    Convert fsmStat() to fstatat() based operation

commit ab8b55aa60af196036897864267d9c205b951277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 11:00:04 2022 +0200

    Extend directory tracking to our entire operation

commit df06245c7d80f13d670522fd2a7aacb031ce0bbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 10:57:12 2022 +0200

    Add a helper for finishing the dir tracking iteration

commit d33bd513d9512f87684083603e8b533a7ef9f3db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 11:01:49 2022 +0200

    Move file-pre plugin hook (back) to unpack stage
    
    It doesn't make much sense to call plugins for files that wont be
    unpacked at all, and in particular it wont make much sense to do the
    entire directory dance just to be able to pass meaningful path values
    to plugins. So from now we'll only be calling file-pre for things that
    we're about to lay down, which it how it used to be before splitting
    the stages anyhow.

commit 69fe9a008f7f2db7a3aae34aca9f7ef34596a0a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 10:41:19 2022 +0200

    Move file-post plugin hook back to commit stage
    
    This isn't ideal from the sense that some files may get a success post
    call while something later can still fail, but things get even weirder
    with doing it in a separate round where things could fail because of
    a vanished directory and then we'd still need to call the plugin hook
    with some result. Also, this lets us skip the backwards walk on the
    normal case of success, which is nice.

commit 78cd8f559aa1ea0531e990daf7d902d123726a0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 10:14:04 2022 +0200

    Refactor ensureDir() to return an error code separately from the fd

commit 2668a2cabfe097d58adb9810da1cc8aa7fe1cc91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 09:53:22 2022 +0200

    Add new rpm error codes for invalid symlinks and not-a-directory

commit 1eece34c996e53a632d41ccec9d25a7d4b7a1ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 14 09:26:49 2022 +0200

    "Factorize" chdir-aware iterator creation

commit b599e28112ce5cee98b9ffa7bd96886ec5155e9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 11 15:35:16 2022 +0200

    Convert the file creation steps the *at() family of calls
    
    Supposedly no functional changes here, we just need all these things
    converted before we can swap over to relative paths.

commit da79e3c3ae7da8719f0bf87a1a60e046597b8240
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 11 13:28:25 2022 +0200

    Move file metadata setting back to unpack stage
    
    Commit a82251b44ee2d2802ee8aea1b3d89f88beee4bad moved metadata setting
    to a separate step because there are potential benefits to doing so, but
    the current downsides are worse: as long as we operate in potentially
    untrusted directories, we'd need to somehow verify the content is what we
    initially laid down to avoid possible privilege escalation from non-root
    owned directories.
    
    This commit does not fix that vulnerability, only makes the window much
    smaller and paves the way for the real fix(es) without introducing a
    second round of directory tree validation chase to the picture.

commit dce44771b2a3325b3dc1ebfe41027df9910a39fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 11 13:18:11 2022 +0200

    Fix + sanitize the hardlink metadata setting logic
    
    Fix the initial setmeta value to something meaningful: we will never
    set metadata on skipped files, and hardlinks are handled with a special
    logic during install. They'd need different kind of special logic on
    FA_TOUCH so just play it safe and always apply metadata on those.
    
    Harlink metadata setting on install should happen on the *last* entry
    of hardlinked set that gets installed (wrt various skip scenarios)
    as otherwise creating those additional links affects the timestamp.
    Note in particular the "last file of..." case in fsmMkfile() where we
    the comment said just that, but set the metadata on the *first* file
    which would then be NULL'ed away.
    
    This all gets current masked by the fact that we do the metadata setting on
    a separate round, but that is about to change plus this makes the overall
    logic clearer anyhow.

commit cc22fc694d30a64862f0b16d137deaab5416382d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 11 13:05:45 2022 +0200

    Consolidate skipped hardlink with content case with the others
    
    Handling this in a separate clause makes the logic much clearer and
    (in theory at least) lets us handle hardlinks to any content, not
    just regular files.

commit 796552e41590e1aa6b7c88177f1ffc2115b000b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 15:03:22 2022 +0200

    Drop unsafe and now redundant unowned directories creation code
    
    Any unowned directories will be created inline during processing now
    so we can just flush this big pile of code that was insecure anyhow.
    
    As an additional bonus creating the directories inline gives us an
    opportunity to track the creation so we can undo too, but that is
    not done here.

commit 96ec957e281220f8e137a2d5eb23b83a6377d556
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 14:32:43 2022 +0200

    Validate intermediate symlinks during installation, CVE-2021-35939
    
    Whenever directory changes during unpacking, walk the entire tree from
    starting from / and validate any symlinks crossed, fail the install
    on invalid links.
    
    This is the first of step of many towards securing our file operations
    against local tamperers and besides plugging that one CVE, paves the way
    for the next step by adding the necessary directory fd tracking.
    This also bumps the rpm OS requirements to a whole new level by requiring
    the *at() family of calls from POSIX-1.2008.
    
    This necessarily does a whole lot of huffing and puffing we previously
    did not do. It should be possible to cache secure (ie root-owned)
    directory structures to avoid validating everything a million times
    but for now, just keeping things simple.

commit fb13f7fd9eff012cb7b9dbf94ac5381c69404055
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 9 14:47:14 2022 +0200

    Add optional callback on directory changes during rpmfi iteration
    
    Internal only for now in case we need to fiddle with the API some more,
    but no reason this couldn't be made public later.

commit 0e9f6fdc63f09ebd00516e6f2f46a7297b743bcd
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 16 22:12:05 2021 -0400

    Header signatures alone are not sufficient
    
    This fixes how RPM handles packages that contain a header signature, but
    neither header+payload signature nor payload digests.  Such packages are
    obviously not properly signed, but RPM previously accepted them.
    
    This could be used to confuse both ‘rpmkeys -K’ and old versions of DNF.
    Both would report that the package has been properly signed even when it
    has not.  The included regression tests demonstrates the change in
    behavior.

commit db8fc1057e38839adc04e263fe255ce86cab9fa7
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sat Feb 12 13:46:28 2022 -0500

    Avoid reading out of bounds of the i18ntable
    
    If the i18ntable was smaller than the i18nstring entry an out of bounds
    read could result.  This should not happen in a valid package, but even
    if RPM rejected such packages during load, this situation could still
    result as a result of usage of the RPM API.

commit 696ab7ab8be2937a8650e631c05e588584eedbfc
Author: Jonathan Davies <jonathan.davies@nutanix.com>
Date:   Fri Jun 5 12:36:35 2020 -0700

    build: warn if source_date_epoch_from_changelog set but changelog missing
    
    Otherwise the user is not made aware that SOURCE_DATE_EPOCH is left
    unset despite having set source_date_epoch_from_changelog.

commit 07f1d3132f0c7b7ecb69a47a9930edb534a9250e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 13:38:48 2022 +0200

    Fix IMA signature fubar, take III (#1833, RhBug:2018937)
    
    At least ECDSA and RSA signatures can vary in length, but the IMA code
    assumes constant lengths and thus may either place invalid signatures on
    disk from either truncating or overshooting, and segfault if the stars are
    just so.
    
    As we can't assume static lengths and attempts to use maximum length
    have proven problematic for other reasons, use a data structure that
    can actually handle variable length data properly: store offsets into
    the decoded binary blob and use them to calculate lengths when needed,
    empty data is simply consequtive identical offsets. This avoids a whole
    class of silly overflow issues with multiplying, makes zero-length data
    actually presentable in the data structure and saves memory too.
    
    Add tests to show behavior with variable length signatures and missing
    signatures.
    
    Additionally update the signing code to store the largest IMA signature
    length rather than what happened to be last to be on the safe side.
    We can't rely on this value due to invalid packages being out there,
    but then we need to calculate the lengths on rpmfiles populate so there's
    not a lot to gain anyhow.
    
    Fixes: #1833

commit 1b938be57c9e47d434c177d46d4f9361fe873c12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 11:15:04 2022 +0200

    Ensure sane string lengths for file digests from header

commit 9b8f573566a3a35d784642aa14cadb8fc440bdf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 13:41:59 2022 +0200

    Revert whack-a-mole attempts to fix IMA as broken
    
    This reverts commits a79d7ae0f0996815d18cdf11226817900b875765 and
    31e9daf823f7052135d1decc0802b6fa775a88c5 which are still dangerously
    flawed.

commit 64a688eb01a97fbbcfbae08d169f08983ba5d5ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 11:52:55 2022 +0200

    Add a testcase for --dump query

commit 276e73def2cb6156b7f0fcc35f356163d92cbc02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 11 15:04:35 2022 +0200

    Fix missing nmemb argument of xreallocn() macro
    
    Should've been in 6aec7c673f25ff8339730cca45207aed0a6e7c42

commit 1c2970dda2c828b07fcaec494b9f5abe01ed8cb0
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Fri Jan 29 14:45:59 2021 +0100

    Remove `_with_*` from the documentation
    
    This section uses the `_with_*` macro, which is dangerous when used in
    combination with `%bcond` or `%bcond_without` because it doesn't honor
    the "default".
    
    The section above already explains what users should do -- some variation of:
    
        %{?with_gnutls:--with static} \
        %{!?with_openssl:--without openssl}
    
    ... which is more verbose, but works with %bcond` & `%bcond_without`.

commit a99b6373af0774f4bef62aa89defc84cfcacc078
Author: Petr Viktorin <pviktori@redhat.com>
Date:   Wed Jan 27 17:32:51 2021 +0100

    Add %bcond macro for defining build conditionals
    
    Move documentation from comments to reference manual
    Fixes: https://github.com/rpm-software-management/rpm/issues/941

commit ddf56e678676abb436906ada650680c8c13c4a3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 10:23:22 2022 +0200

    Eliminate code duplication from rpmfiNext()
    
    Now that we can, let rpmfiSetFX() take care of the details.

commit 318efbaec80a90f1d9ac76d0cd433f6ea3c103fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 10:07:06 2022 +0200

    Make rpmfiSetFX() return code meaningful
    
    Up to now, rpmfiSetFX() has returned the previous file index on success,
    and -1 on error. Which seems okay on the outset, but on a just
    initialized iterator the file index is at -1 which means the returned
    -1 sometimes indicates an error and sometimes success. This is so broken
    that none of the callers even try to use it (grep for it). Which is
    lucky in the sense that it means we can change it.
    
    Simply return the newly set index on success and -1 on error, it may
    not be the greatest return code on earth but at least it's
    non-ambiguous.

commit 53b408c18ee9738c3b461c3c43acc40a0fd72f3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 10 09:13:15 2022 +0200

    Disarm 21 year old landmine in the rpmfi API
    
    The directory index must only be changed in sync with file iteration,
    otherwise you get garbage out. The NOTYET'ed rpmfiDI() seems to suggest an
    idea to have a separate mode of directory-only iteration in which context
    rpmfiSetDX() would've perhaps made sense, but as it is this is plain
    dangerous. Thankfully these APIs so broken that there can be no
    legitimate users, so we can just turn them into a no-op until we have
    to bump the soname next time.

commit e32332b8a943676daa184c7a1c87869b80ba923b
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sat Aug 7 11:43:40 2021 -0400

    Bail out if a key ID cannot be obtained
    
    If a key ID cannot be obtained, the key is useless.  This also ensures
    that pgpPrtKey only needs to handle input that getKeyID has already
    validated.

commit 6aec7c673f25ff8339730cca45207aed0a6e7c42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 8 09:23:58 2022 +0200

    Add rreallocn() to librpmio public API
    
    rreallocn() is like realloc() but with multiplication protection.
    Inspired by glibc's reallocarray() but I dislike that name.
    
    While at it, add xmallocn() as a shortcut to rreallocn(NULL, ...) case.
    
    Based on initial patch by Demi Marie Obenour.

commit 1f03aba8b2881a5717af97065038fb056e02a2b3
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Feb 3 20:42:02 2022 -0500

    Check that the CRC length is correct
    
    Also fix a memory leak in an error path.

commit 2a8d89a1c390e6ca1de0ece49aa11012b1d0ff89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 10:39:52 2022 +0200

    Reimplement --restore as a transaction element, obsolete --setperms & co
    
    --setperms, --setugids and --setcaps were fun demos of alias capabilities
    in the nineties, but they can be downright dangerous when used
    separately, are blisfully unaware of all state in rpm yet try to
    duplicate functionality existing in C, and thus are a constant source
    of bugs that are between hard to impossible to fix in the alias space.
    
    Add a new transaction element type for the restore operation, wire
    through all the necessary places. In places (like ordering) this is
    an overkill but otherwise it seems like a natural thing to be able
    to process restore alongside package install/remove. The restore
    operation is a cross between install and erase codepath-wise so touches
    some funny places, but FA_TOUCH does just the thing, and now all the
    regular disablers like --nocontext and --nocaps can be used if
    necessary, plugins get to do their work and also timestamps are
    restored.
    
    Remove the dangerous shell implementations of things and just make them
    aliases to --restore.
    
    Fixes: #965

commit 99f8997082637889e6ef08c7893d583cfaea2f04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 27 10:28:37 2022 +0200

    Drop redundant argument from rpmcliTransaction()
    
    The transaction knows the number of packages in it, it doesn't need
    double-accounting really.

commit d9cbfdf95d19c8c4c7bb40d32edde7fb3760e7ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 26 11:25:13 2022 +0200

    Refactor Python addErase() argument parsing to helper method
    
    We'll need this shortly to avoid repeating in another method.

commit a3b12f40f4af78fb145e70016295c6087a9c9bcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 25 09:35:50 2022 +0200

    Refactor lowlevel element addition to a helper function

commit 0988ccb53abf426587d228df5c60c4042da71999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 2 13:46:23 2022 +0200

    Really fix spurious %transfiletriggerpostun execution (RhBug:2023311)
    
    Commit b3d672a5523dfec033160e5cc866432a0e808649 got the base reasoning
    in the ballpark but the code all wrong, introducing a severe performance
    regression without actually fixing what it claimed to.
    
    The missing incredient is actually comparing the current prefix with the
    triggers in matched package (trying to describe this makes my head
    spin): a package may have multiple triggers on multiple prefixes and
    we need to make sure we only execute triggers of this type, from this
    prefix.
    
    This stuff really needs more and better testcases.
    
    Fixes: b3d672a5523dfec033160e5cc866432a0e808649

commit a26f6655546158153807017e7ded2aff5e4e10e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 31 11:13:35 2022 +0200

    Bump hash for rpmdb cookie to SHA256 to appease FIPS
    
    The rpmdb cookie is not a security feature, but as these existing
    hashes are more convenient than coming up with our own... we then
    run into the great big wall of FIPS which in its current incarnation
    disallows use of SHA1. And so rpmdbCookie() fails under current FIPS.
    
    Just bumping the algorithm to SHA256 seems the path of lowest
    resistance, whether that algo makes sense for this purpose or not.

commit 6058b070b426a5c99a0bbc24c295824ab5d0641c
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jan 26 14:05:29 2022 +0100

    Make exit code reflect broken rcfile on --showrc
    
    by checking for error log entries. Issues in the macro files also
    trigger the EXIT_FAILURE exit code.
    
    Resolves: #1796

commit e53b7e20085297e4877e8936953cb1869452ab25
Author: Thomas Moschny <thomas.moschny@gmx.de>
Date:   Fri Jan 28 09:26:34 2022 +0100

    Explicitly state that \0 is not supported in queryformat strings. (#1904)
    
    * Explicitly state that \0 is not supported in queryformat strings.
    
    Signed-off-by: Thomas Moschny <thomas.moschny@gmx.de>
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 482eaef4e553d4297a7cc5afa42fbaa888efe277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 27 09:58:01 2022 +0200

    Fix --justdb test depending on files outside the test-root
    
    For whatever reason, `runroot_other test -d /foo` ends up testing
    for `/foo` outside our test-root, which makes the test broken for what
    it's supposed to test, and behave funny should somebody have a `/foo`
    directory on their system.
    
    Avoid having to test for the directory by ensuring it's always there,
    this would still catch --justdb not working because then find would find
    multiple files inside.

commit 36d8b37b0c8dd973136df4e47010f67def1198aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 26 17:01:24 2022 +0200

    Add emphasis to ask before working on rpm features

commit 714e606558b4517bd2d02d03a0ddad7da79a58c6
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Jun 22 09:13:41 2021 -0400

    Fix bounds checks in public key parsing
    
    If a public key was too short for the curve ID, the code would
    previously perform out-of-bounds pointer arithmetic, which is undefined
    behavior in C.  Check that the packet is long enough to contain the
    curve ID before bumping `se` past the curve ID.
    
    Furthermore, if a public key is too short to even contain the fixed-size
    header, an out-of-bounds pointer would be created, which is also
    undefined behavior.  Fix this by returning early if the buffer is too
    short.
    
    Finally, return early if the public key algorithm or curve ID is
    invalid, rather than relying in processMpis() to fail.  While
    processMpis() will error out, bailing out explicitly is much clearer.

commit d5d743dcf3fa00909ddfb344bfe8469c3226b29a
Author: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
Date:   Tue Jan 25 12:43:53 2022 +0800

    Fix stat64 handling on Intel macOS
    
    ad87ced fixed compilation for ARM64 macOS, but it broke builds on Intel
    macOS.
    
    Let's fix it by gating the changes from ad87ced behind
    `_DARWIN_FEATURE_ONLY_64_BIT_INODE`. This macro is defined whenever the
    ARM64 macOS fix is appropriate, but only after we've included
    `sys/cdefs.h`.
    
    This does mean that we're still using a deprecated API on Intel macOS
    10.6+. I looked into avoiding this, but it seems to require more
    significant refactoring. It's not clear that these changes would be
    worth it given that Apple is slowly phasing out their Intel machines.

commit 51070554e24ee0864e8a1926308d1bbdf7ec84f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 25 08:49:55 2022 +0200

    Add test for --justdb to go

commit 6de0d31ed3b4907dbd7e1683a18ea3a28790614d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 25 08:39:37 2022 +0200

    Add --justdb counterpart --nodb and matching API flag
    
    Sometimes you just want to extract the files without touching the
    database, just like sometimes you just want the database changed.
    Potential use-cases include rpm2cpio style operation and src.rpm
    install.

commit 709dab9f78127856a57a42b6058f901f321cedf2
Author: Dan Čermák <dcermak@suse.com>
Date:   Wed Aug 18 11:56:51 2021 +0200

    Add a rpm_macro() provides generator
    
    This commit adds a very simple provides generator for rpm macros as suggested on
    the Fedora packaging mailing list:
    https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/thread/DUFER7QAFYIBYDANJQQ37FBNL5YISZQ2/

commit 8763969a4a5f19231c0d851e5d50eff614cf5940
Author: Denys Vlasenko <dvlasenk@redhat.com>
Date:   Thu Jan 23 13:43:36 2020 +0100

    Do not unset $MALLOC_CHECK_
    
    How do we even _know_ user wants to debug malloc in rpmbuild,
    maybe user wants to debug it in _the child_?
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>

commit ed61ee28d088299bbd5bc99d2cc104e3979ff32f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 20 15:54:46 2022 +0200

    Support relocatable packages in Lua scriptlets too (#1531)
    
    Pass relocatable package prefixes as RPM_INSTALL_PREFIX Lua table
    to Lua scriptlets, add a test-case.
    
    In Lua, indexes start at 1 rather than 0, so the numbers appear
    off by one which is annoying, but consistent within Lua and our other
    similar Lua constructs such as scriptlet arg.
    
    Fixes: #1531

commit fc8386be36a32f8462a0d16a2dd3e5e18f7fbc2d
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Apr 12 11:30:51 2021 -0400

    rpmkeys: exit non-zero on I/O errors
    
    If writing to stdout or stderr fails, rpmkeys should exit with a
    non-zero status code.

commit ed07a187734addfa16be9ee922398e4ff9859f53
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Dec 7 08:08:37 2021 +0100

    Skip recorded symlinks in --setperms (RhBug:1900662)
    
    If a package contains a symlink in the buildroot which is declared as a
    ghost or config file but is a regular file or directory on the system
    where it's installed, a --setperms call will reset its permissions to
    those of a symlink (777 on Linux), which almost certainly is not the
    correct thing to do.
    
    To fix that, just skip files that were recorded as symlinks.
    
    This is a special case of a general issue in --setperms; since file
    permission semantics may change depending on the file type, to stay on
    the safe side, any (ghost or config) file whose type changes after
    installation should probably be skipped.  However, symlinks are the most
    prominent case here, so let's just focus on that now and avoid adding
    too much cleverness to a popt alias (this got us into trouble not too
    long ago, see commits 38c2f6e and 0d83637).  We may revisit this in the
    eventual C implementation.

commit c624966e139da7d0f9dbb96c99a5981948915584
Author: Aleš Matěj <amatej@redhat.com>
Date:   Mon Jan 18 12:22:32 2021 +0100

    Add an option for zstd long distance matching compression
    
    The behavior is supposed to match the --long[=#] option of zstd binary.

commit 1fdf660ba5ae98048cf3645f9a46b423d016e65b
Author: Aleš Matěj <amatej@redhat.com>
Date:   Mon Jan 18 10:33:22 2021 +0100

    Replace hardcoded min/max values for zstd compression levels

commit e9ef74ae2df6d7b6b82408191035c6f9df58d1c7
Author: Ettore Atalan <atalanttore@googlemail.com>
Date:   Sun Jan 2 22:16:31 2022 +0100

    Translated using Weblate (German)
    
    Currently translated at 93.1% (825 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/
    
    Translated using Weblate (German)
    
    Currently translated at 92.2% (817 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/

commit 847b3ba15dce277722af01e80db4af5d3f1bfa02
Author: tsinglion <tsinglion@gmail.com>
Date:   Sun Jan 2 22:16:31 2022 +0100

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 84.0% (745 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit be64821b908fdb1ff3c12530430d1cf046839e60
Author: licunlong <licunlong1@huawei.com>
Date:   Thu Jan 20 19:59:44 2022 +0800

    treat 0 as valid file descriptor
    The descriptor is openned in rpmpkgOpen, and we treat 0 as valid file descriptor.
    Here we should do the same or fail earlier.

commit b0795abfd1d3426281532e845e466911d37ce049
Author: Malcolm Inglis <miinglis@amazon.com>
Date:   Thu Jan 20 22:50:14 2022 +0000

    Fix failing 'rpm -q' tests on non-i386-derived arches
    
    These three changed tests were failing, on at least aarch64, due to
    architectural incompatibility errors on installing the
    `hello-1.0-1.i386.rpm`, though the tests themselves aren't concerned
    with executing the binaries, just querying the installed files. Thus, we
    can just install them with `--ignorearch`.

commit e7312f6f6225f3211dc8bd6cc372f356c84e28fc
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 20 17:31:11 2022 +0100

    Manual/tags: Use consistent language for scripts

commit f5c4da98ea3cb0f4ce5eb2d71d86914970a0eeba
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Aug 24 12:11:47 2021 +0200

    Manual: OrderWithRequires dependency generators
    
    Add new generator type to refence manual

commit 507ff17515792a6fe77a6f7e1e34d28aa761f7a5
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 20 16:49:25 2022 +0100

    Manual/tags: Move Pubkeys to Internal / special section

commit 5484c9c4e6cecaa53bf71903994c029d273b62ae
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 20 15:44:27 2022 +0100

    Manual/tags: Add column descriptions to tables

commit 1ee34abdc2a1b2c249a25b52753e4646ec9630f6
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 27 17:18:54 2021 +0200

    Manual/tags: Add introductions to different sections

commit 9107b6d79182923b8e51f1e5e91767cd890bd267
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 27 10:23:46 2021 +0200

    Manual/tags: Convert to tables
    
    for better readability. No change to the content.

commit 7a014dae736f9c7a7c75f63deaa4dbbb9ae0249c
Author: zhangwenlong <zhangwenlong@loongson.cn>
Date:   Wed Jan 19 00:16:54 2022 +0800

    Add support for loongarch64
    
    * add support for loongarch64
    
    Signed-off-by: Zhang Wenlong <zhangwenlong@loongson.cn>

commit 1cdb72ae48b7ba689c5c79118f4f0c1b4ffe6b7c
Author: Peter Pentchev <roam@ringlet.net>
Date:   Sat Nov 27 00:40:40 2021 +0200

    Strip the target triplet GNU suffix more precisely.
    
    Make the regular expressions more precise (anchor them to
    the end of the input string), and try to catch any future
    unrecognized target triplets by checking for a "-gnu" part
    left over after the known variants were supposedly stripped.

commit e6277e4ab016d71d4017568eb996c91fc63bcde9
Author: Peter Pentchev <roam@ringlet.net>
Date:   Sat Nov 27 00:38:49 2021 +0200

    Fix the build on armhf and mipsel.
    
    There were two problems here: first, the -gnueabihf and -gnuabi64
    suffixes were not recognized at all, and second, -gnueabihf was
    misdetected as -gnueabi since the regular expression is not precise
    enough (no "$" at the end), leading to an inconsistent situation of
    host_os_gnu being set (incorrectly) and the suffix *not* removed from
    host_os.

commit 989d7c593c7ab12e17ea8f486856bafac6a1ae37
Author: Peter Pentchev <roam@ringlet.net>
Date:   Sat Nov 27 00:43:41 2021 +0200

    Fix __cplusplus misspelled as _cplusplus.

commit d09ca2c1034d1018302674393b29e523e9569169
Author: Otto Urpelainen <oturpe@iki.fi>
Date:   Tue Dec 28 12:46:07 2021 +0200

    Document %doc relative path stripping

commit 9b4c50dd67c337f2d3c927cdd01ae4433bb08b61
Author: Evgeniy Taishev <e.taishev@omp.ru>
Date:   Mon Jan 17 22:07:13 2022 +0300

    Close file before replacing signed

commit 0edd64ea4add1f01074550fbe678cbf7322a54f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 17 16:44:12 2022 +0200

    Argh, dumb thinko in commit d6353c96fed98a8d30d9ebadf4d6a19a5149edee

commit 06cd39a4e9ec5727787ce9b72d20251dbc285106
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 27 14:51:22 2020 +0100

    Allow qualifiers like pre, post, preun, ... for weak dependencies, too
    
    We are using weak dependency for ordering now. So it make sense to also
    qualify weak dependencies with the time they are needed/wanted in the
    transaction to make use of this information in ordering.
    
    Especially (posttrans) could be useful to remove weak deps from dependency
    loops during ordering when they are only needed after the installation.
    
    Resolves: #624

commit d6353c96fed98a8d30d9ebadf4d6a19a5149edee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 17 16:31:21 2022 +0200

    Ignore strong ordering hints from weak dependencies
    
    Most qualifiers make as much sense to weak dependencies as they do for
    normal dependencies, so we'd like to allow them in packages. Rpmbuild
    doesn't currently allow them but packages from other implementations may
    have them anyway.
    
    To protect rpm's primary means of dependency loop cutting, don't let
    weak dependencies inflate the value of pre/post etc dependencies by
    simply ignoring those flags.

commit 002b9741d1aee22816ea9eba987d1dcb01f202ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 17 13:05:55 2022 +0200

    Clarify signatures/digests table purpose in the manual.

commit d0ad515494d1170d36f548e6b8e03038767764b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 14 14:50:37 2022 +0200

    Fix brp-compress regression from f3f763e54dbbcced146b2f9e826a2530ac003a8b
    
    Since that commit builds would fail with
    
            RPM build errors:
                Installed (but unpackaged) file(s) found:
                /.gz
    
    Use a similar find -print0 construct as the other loop above.

commit 03f146e955e099c24f7a49eff461645e1c0a0fd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 13 11:25:30 2022 +0200

    Fix minimize_writes not minimizing writes since 4.15 regression
    
    Commit 13f70e3710b2df49a923cc6450ff4a8f86e65666 caused minimize_writes
    to actually not minimize anything since fsmVerify() only "verifies"
    the thing does NOT exist anymore when it exist. Sigh.
    
    FA_TOUCH needs different kind of verification, stat the file instead
    to see if it needs creating afterall. This is all soooo broken...
    
    Fixes: #1881

commit ae3d2d234ae47ff85229d3fce97a266fa1aa5a61
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jan 7 13:57:24 2022 +0100

    Fix use-after-free in haveSignature()
    
    pgpPrtParams() may leave sig2 unchanged and if we're not in the very
    first iteration of the while() loop, we could pass a freed pointer to
    pgpDigParamsCmp().  Fix by setting it to NULL after freeing.
    
    Found by Coverity, after commit bd36c5d (subkey binding validation),
    although note that the commit didn't introduce this bug; it just seems
    to have been a false negative that got "fixed" by the changes in
    pgpPrtParams() in that commit.

commit b6dffb6dc5ffa2ddc389743f0507876cab341315
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jan 7 16:10:26 2022 +0100

    Fix memory leak in pgpPrtParams()
    
    Make sure selfsig is freed in case we break out of the loop in this
    block.
    
    Note that the tests added with the binding validation commit bd36c5d do
    not cover this code path so valgrind won't show this.

commit f0c158cbc8a50a776b44de2c0fe744c451155a41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 4 15:57:10 2022 +0200

    Fix old Python ts.check() argument order regression
    
    Commit fab2debfe440d677dbd072c3cd73d2c99876e7a5 managed to mess up the
    order of the last two callback arguments, doh.
    
    Goes to show that nobody has missed this stuff in 12+ years, so it might
    be more merciful to put this thing out of its misery...
    
    Fixes: #1871

commit 1c15d748d3536a21b6edbbf9254db76fefb4b275
Author: Dmitry Gerasimov <d.gerasimov@omp.ru>
Date:   Mon Dec 27 12:27:57 2021 +0300

    Fix possible NULL pointer dereference in rpmfcClassify
    
    Here is simplified overview of possible dereference:
    
            if (fc == NULL) {
                rpmlog(RPMLOG_ERR, _("Empty file classifier\n"));
                goto exit;
            }
    
            // ...
    
        exit:
            rpmstrPoolFreeze(fc->cdict, 0);
                             ~~~~~~~~~
    
    This issue was found by Svace Static Analyzer.

commit 5c5cd9f30b31f0255a484f7d2e3f9cfacc0ec3bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 10:01:41 2021 +0200

    Fix a memleak in ndb from opened but not closed dbis.
    
    Fixes: #1861

commit 97ff3474dc434810b3653749e3f5687144af2fd8
Author: Otto Urpelainen <oturpe@iki.fi>
Date:   Mon Dec 27 23:44:37 2021 +0200

    Fix Relocatable Packages manual page formatting
    
    Manual page Relocatable Packges was corrupted
    due to use of unescaped angle brackets '<' and '>'.
    Parser attempts to interpret these as a html tag.
    Fixed by escaping the brackets with '\'.

commit da3f14165629f4a12bbc3cee0aa51c7ee847ee52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 15:52:01 2021 +0200

    Fix rpmspec build issue introduced in 03b3df0ce01aa0c59ef72eba8c0b770cc20d93df

commit 03b3df0ce01aa0c59ef72eba8c0b770cc20d93df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 13 16:56:08 2021 +0300

    Add an interactive macro shell mode to rpmspec
    
    Handy for debugging and experimenting with macros, in and out of
    spec context.
    
    Placed in rpmspec because we don't want readline dependency on main rpm
    executable, this is more of a packager tool anyway.

commit ec1a2459374bc4f47971b622936fbd62c4965949
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 13 16:29:33 2021 +0300

    Refactor looping over parsed spec into helper function
    
    No functional changes, pre-requisites for the next step.

commit bc436bf8bb6db92e56a178b643f66a94d7da0cec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 12:31:20 2021 +0200

    Further mimic standalone Lua interpreter behavior in rpmlua cli
    
    The real Lua interpreter enters interactive mode if no arguments are
    passed at all, iff execute was not specified, or explicitly requested.
    We have no reason to behave any differently.

commit 298bb60a9fd5f2f35c57353d8724460004723c4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 17 15:58:06 2021 +0200

    Add optional readline history support in rpmlua interactive mode
    
    We don't want readline dependency in librpmio so need to do this the
    hard way: add an optional callback through which rpmlua can supply
    it's own readline-aware callback function.

commit 59ef11f8494e84dfa7dc42ba841c2f0f01be8890
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 10:08:13 2021 +0200

    Allow executing statement and script in the same rpmlua run
    
    Apparently this is needed to support iLua, whatever that is. Anyway,
    there's no reason not to allow this, just didn't think this would be
    needed.

commit d5606c0b069d0bbf0618df3e69504b21d70ee3fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 17 15:23:01 2021 +0200

    Fix rpmlua -i without arguments, sigh
    
    A last-minute change broke -i when no other arguments are present.
    The thing you can't test... sigh.

commit bf58cfd08f344872d30082c123a0035429d51742
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 17 14:03:35 2021 +0200

    Add rpmlua wrapper command for running our Lua interpreter standalone
    
    Being able to run stuff easily in rpm context helps developing and debugging
    scriptlets and macros too. Supports running one-liner statements from
    the cli, regular scripts and an interactive session.
    
    This is placed into a separate executable for, well, separation and
    simplicity, but it'll also give us means to link to readline without
    dragging that to main rpm dependencies (but that's left for later).

commit 67280003444e25e42bbc97170e9b12a5d7fb1cc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 15:05:21 2021 +0200

    Fix out of tree build regression wrt man page generation
    
    Let make figure the actual paths, it seems to handle this just fine
    once we stop meddling with it's affairs.
    
    Fixes: #1851

commit b45fde60f92670c18c732de26d2c2659050762a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 12:49:22 2021 +0200

    Clarify behavior of conditionals on built-in macros in the docs

commit f993a6067b12f030dcdcf33855fd85dada7a3291
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 26 14:39:26 2021 +0200

    Only expose rpm.next_file() when there actually is one we can call
    
    rpm.next_file() is only meaningful at all when there's a backing
    function set for the scriptlet, so only expose it at those times.
    We shouldn't be touching the rpm namespace at all here, but
    it's required for backwards compatibility.

commit 12af9c0bf16a280c4c616abe467d1e1b917b9ea2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 26 14:34:55 2021 +0200

    Allocate nextFileFunc dynamically when used
    
    As the nextFileFunc is something that often is not there, this makes
    testing for nextFileFunc presence a little more obvious and easy.
    No actual functional change.

commit 523da38e4f54b0f48ee574cfb3dd1bce486ccf8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 26 14:24:58 2021 +0200

    Eliminate rpm.next_file() from the permanent Lua API
    
    This screams for a closure, use one. This is not supposed to change
    any functionality except, except only make the rpm.next_file() function
    available in the context of scriptlets which is the only context it is
    meaningful.

commit 81e855aeb1d840a4058dd8b9121aeec1068a1095
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 16:47:59 2021 +0200

    Kick out outdated section on builtin macros
    
    Builtins aren't special in >= 4.17 and the less the old special syntaxes
    are documented the better.
    
    While at it, point users to expressions and Lua for more complicated tests.
    
    Fixes: #1864

commit 3d46bc95c5ebd61330921f131af51fa4b88f2512
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 12:34:52 2021 +0200

    Further improve build warning/error summary
    
    Suppress summary output entirely on --quiet where the summary is wholly
    redundant, and non-sensical (as witnessed by the test-case outputs)
    at that because the summary title is omitted due to its NOTICE log level.
    
    A build may have warnings without having any errors, lift the warnings
    summary out of the rc-condition.
    
    Finally, condense the output a bit, two empty lines at front seems a bit
    excessive.

commit 7fd7a60ea29aab018359037058de95b116455db1
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Oct 8 10:45:46 2020 +0200

    Separate build warnings from error summary
    
    Confusingly, the "RPM build errors" section also includes messages
    logged as warnings.  That gives the false impression that they somehow
    contributed to the actual build failure and therefore were turned into
    errors.
    
    This appears to be a historical artifact; when a message passes through
    the logging system and is of the priority RPMLOG_WARNING or higher, we
    save it in a global buffer (ctx->recs), which is then simply dumped with
    rpmlogPrint() in the error summary.  This was probably good enough when
    the summary was introduced (commit f2efc72, year 2000), as there were
    almost no warnings generated by RPM at that time, however as they became
    more abundant, the summary code was never revisited.
    
    There are 3 ways to fix this discrepancy:
    
     1) Change the summary's title to "RPM build problems"
     2) Remove the summary altogether
     3) Don't show warnings in it
    
    Options #1 and #2 would be too disruptive.  The error summary needs to
    stay as is, for the following reasons:
    
     - While it usually just repeats the last error, not all errors
       terminate a build right away, so those can get drown in the output
       that follows after.  Examples: "File not found" in rpmInstall(), or
       macro expansion errors (note: we may have these terminate a build in
       the future).
    
     - It makes it immediately obvious that something went wrong when
       examining build logs, and the title "RPM build errors" undoubtedly
       has become the de-facto text string to search for.
    
    That leaves us with option #3.  To further lessen the disruption, do
    keep a summary of warnings, but put them under their own heading, and
    only show it on build failures.  That way, we restrict all the extra
    verbosity to error time (as it is now) and don't pollute the output of
    otherwise good builds.  There may be packages with long-standing
    warnings that are not feasible to fix for any reason, and having an
    indented block of text resembling "RPM build errors" at the end of every
    build would do no good.
    
    Effectively, this commit is just cosmetic - it splits the error summary
    into two, without any functional or API changes (apart from two function
    additions).
    
    Fixes: #793

commit 845364186d1ddde419656fa85d9483eabf4a72e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 10:30:02 2021 +0200

    Limit maximum array size in the header to about one million
    
    This is mainly to place *some* limit on number of files a package may
    have. It's unlikely that rpm scales to million files in a package but
    that much may actually work, whereas closer to int32 limits we run into
    all manner of issues with internal types mismatching and whatnot.

commit 16f01c251cdb853ae18c4e2063c3d8568328b683
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Dec 14 13:27:46 2021 +0100

    Fix invalid %autopatch example

commit 31e9daf823f7052135d1decc0802b6fa775a88c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 14:50:07 2021 +0200

    Really fix IMA signature lengths assumed constant (#1833, RhBug:2018937)
    
    Commit a79d7ae0f0996815d18cdf11226817900b875765 had two major flaws:
    
    Firstly, it negletted to update the part that copies the data in place to
    match the new layout where data lengths are not always equal, and the for
    loop would overshoot its bounds on data shorter than maximum.
    
    Secondly, rpmfilesFSignature() would now crash on packages with no IMA
    signatures because fi->signaturelengths is not allocated. Take care not
    to change API behavior wrt *len return value: set to zero if no
    signatures are present.

commit 3955a445dfb6622d33ab7c25a987d546d6e8b5d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 13:01:31 2021 +0200

    Fix silly typo/thinko in commit 7b3a3f004f96ed3cb9cc377f7e64bfc88195dfc2

commit cd6317ba61e6c27b92d6bbdf2702094ff3c0c732
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 13:51:28 2021 +0200

    Auto-print returned values from Lua macros
    
    Avoids having to manually "print()" everything, at the cost of requiring
    a "return" which is not really less to type but more natural for
    programming, and other benefits likely to follow.

commit 7b3a3f004f96ed3cb9cc377f7e64bfc88195dfc2
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 29 15:53:03 2021 +0100

    Use root as default UID_0_USER and UID_0_GROUP
    
    If /etc/passwd or /etc/group was not available during building rpm itself
    these ended up empty. This affects builds done later on using rpmbuild.
    
    Resolves: #1838

commit d3ad33bacd5981b7ce68d45d35d73ea622b88409
Author: Tomohiro KATO <tomop@teamgedoh.net>
Date:   Wed Dec 8 22:16:20 2021 +0100

    Translated using Weblate (Japanese)
    
    Currently translated at 94.2% (835 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ja/

commit 177479c3d8bb477d1cce749b1a4d0e7f2cf0b414
Author: weidong <weidongkl@sina.com>
Date:   Wed Dec 8 22:16:20 2021 +0100

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 83.5% (740 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 5115eddb22666fc66b802bbe673146815568f55b
Author: Ettore Atalan <atalanttore@googlemail.com>
Date:   Wed Dec 8 22:16:20 2021 +0100

    Translated using Weblate (German)
    
    Currently translated at 91.9% (815 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/de/

commit d30e7dfaeb7d9b91f1bce7bb2553bb43317bb94a
Author: Bishop Clark <bishopolis@gmail.com>
Date:   Thu Dec 9 22:42:06 2021 -0800

    Documentation grammar fixes - apostrophes are not used for pluralization

commit a79d7ae0f0996815d18cdf11226817900b875765
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 26 12:24:29 2021 +0200

    Fix IMA signature lengths assumed constant (#1833, RhBug:2018937)
    
    At least ECDSA and RSA signatures can vary in length, but the IMA code
    assumes constant lengths and thus may either place invalid signatures on
    disk from either truncating or overshooting, and segfault if the stars are
    just so.
    
    Luckily the signatures are stored as strings so we can calculate the
    actual lengths at runtime and ignore the stored constant length info.
    Extend hex2bin() to optionally calculate the lengths and maximum,
    and use these for returning IMA data from the rpmfi(les) API.
    
    Additionally update the signing code to store the largest IMA signature
    length rather than what happened to be last to be on the safe side.
    We can't rely on this value due to invalid packages being out there,
    but then we need to calculate the lengths on rpmfiles populate so there's
    not a lot to gain anyhow.
    
    Fixes: #1833

commit 0c1ad364d65c4144ff71c376e0b49fbc322b686d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 29 14:01:39 2021 +0200

    Add Python bindings for rpmfilesFSignature() and rpmfilesVSignature()
    
    Only, use more descriptive names than the C-side counterparts.
    Python has nice facilities for dealing with binary data so return it
    as such rather than converting to hex.

commit 0df9abd174147c8f20bbb5b190fbb6c572d03207
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 26 13:56:54 2021 +0200

    Fixup one missed adjustment to INITSTATE() callers
    
    Guess this is rebase considered harmful: this should've been in
    commit de9cc32b9801d4ec57ca28d8b6d26a325f86faff but in that fork,
    rpmluaCallStringFunction() didn't yet exist so it couldn't be
    adjusted there, but merging the PR broke the build.

commit b71495c967f6a11c8ae8316794ce19312f849dad
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 13:22:24 2021 +0100

    Simplify opt,arg setup in lua macros
    
    No need to do select() trickery.

commit 43e89bf74b22cd68615ab834594760064ab450ce
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 12:33:12 2021 +0100

    Reinstantiate print buffer after poping it in lua interactive mode
    
    We pop it to print its contents, but we forgot to push an empty
    print buffer afterwards. This makes a difference as a newline
    is not automatically added in print statements if a buffer is used.

commit 12c7fe7daa48dbd6fdd6b5726fad05f2fe92278f
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 12:22:11 2021 +0100

    Fix indentation of rpmluaReadline and _rpmluaInteractive
    
    No functual changes

commit de9cc32b9801d4ec57ca28d8b6d26a325f86faff
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 12:17:16 2021 +0100

    Simplify INITSTATE macro
    
    There's no need to keep the passed lua parameter as _lua.

commit fb70d0b7ec837bc94fb1bafd2ac37dd7fa9cac89
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 11:55:17 2021 +0100

    Drop lua parameter in addLuaSource function
    
    The single caller uses the global lua state, so we might as
    well get the state in the addLuaSource function.

commit 369851014481c7c5d69caf2bc30bc720c4e9eab8
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 24 11:50:52 2021 +0100

    Drop unused rpmluaRegister/rpmluaGetData/rpmluaSetData functions
    
    They are no longer needed as of the lua binding consolidation
    done in commit f1e721ccfc936e37dd093b5aa331410dce4ae610.

commit ac107acdd5bceffde72704c76e1f63446876b226
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Nov 24 15:05:05 2021 +0100

    Make --help clearer
    
    Currently 'rpmspec --help' is confusing regarding --srpm &&
    --builtrpms options.
    This fixes that as well as making --help matches the man page.

commit 8338fe60ebc49fc0334f754e2a7ef165ddbd4f05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 15:50:01 2021 +0200

    Update INSTALL to reflect dropped Python 2 support
    
    Should've been in commit 67f8f2b01d00f03f2d6c072fb2697d3860abe47b

commit 71456f2fc09900a027a33dc3d6d75c69a9b39488
Author: Benno Rice <benno.rice@oracle.com>
Date:   Thu Oct 21 22:16:55 2021 +1100

    Allow an optional "override clock" for deterministic timestamps
    
    When trying to achieve a fully reproducible build process for an
    OS image timestamps are a major source of variance. The RPM
    database contains two fields in package header records that
    are relevant here:
    
    - RPMTAG_INSTALLTIME which is an explicit timestamp indicating
      when the package was installed.
    - RPMTAG_INSTALLTID which is an opaque value represending the
      transaction ID under which a package was installed but in terms
      of internal implementation is also a timestamp.
    
    This change allows the presence of the SOURCE_DATE_EPOCH
    environment variable, commonly used to override timestamps in
    build systems, to institute an "override time" mode in which
    values for RPMTAG_INSTALLTID and RPMTAG_INSTALLTIME become
    predicatble.

commit ed9fccf7c0bf120e60c9ac875f9bf6f06b0fb549
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Nov 22 14:06:48 2021 +0100

    Use lua_pushinteger in the hook conversion of type 'i'

commit ea2596b57d021f1cc8f622424fb1f05c5bc3166f
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Nov 22 11:52:55 2021 +0100

    Fix off-by-one error in rpm_call
    
    This seens to have been wrong since the first commit of this feature!
    Add a testcase that tests the rpmhook functionality.

commit a34bf5bdf601d6d0ae5d28193090a29b9ef12600
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Nov 22 11:12:20 2021 +0100

    Switch the floating point type in rpmhook from float to double
    
    There's no real reason why it should be float. Plus, the test if
    the number is an integer does not work for big integers that
    do not fit into a float.

commit b3d672a5523dfec033160e5cc866432a0e808649
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 16 11:49:18 2021 +0200

    Fix spurious %transfiletriggerpostun execution (RhBug:2023311)
    
    If a package has multiple %transfiletriggerpostun triggers, any one
    of them matching would cause all of them to run, due to disconnect
    in the intel gathering stage: we'd gather all the headers with matching
    files into a lump, and then add any postun triggers found in them,
    but this loses the triggering file information and causes all postuns
    to run.
    
    The triggers need to be added while looping over the file matches,
    like runFileTriggers() does. Doing so actually simplifies the code.
    These should really be unified to use the same code, but leaving
    that exercise to another rainy day.

commit fff65e34f0eed3c6b6f93e1284e7cbad32d90051
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 16 12:34:39 2021 +0200

    Restore scriptlet arguments passed as numbers to Lua scriptlets
    
    Commit 717a3f7ecf0af7c453cd1bcb3f49b5ea4941817e changed Lua scriptlet
    arguments from numbers to strings, and claimed that Lua will handle
    this automatically so nobody will notice a thing. Not so, Lua only
    converts automatically when doing so is unambiguous, such as doing
    math. In comparison Lua cannot know which kind of comparison we want,
    and rightly refuses to convert. Thus, the commit broke any Lua
    scriptlets doing `if arg[2] > 1 then ... end` style comparisons.
    
    As the whole rpmluav variable API is gone now, we can't just revert
    the commit. Adding a preamble to the scriptlet to convert the args
    to numbers may be hackish, but its a far lesser evil than bringing the
    internal variable API back. Kudos to Michael Schroeder for the idea.
    
    Fixes: #1790

commit d30b9a1611be6045a069e4b40c12326f0718745c
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Nov 22 10:42:42 2021 +0100

    Make rpmluaCallStringFunction more robust
    
    Doing the function lookup with calls to lua_getfield is dangerous
    because the lookup might trigger an __index function that may
    contain an error. This results in the lua library calling abort()
    as no exception handler is set.
    
    So change the code to do the lookup via a pcall(). Also do the
    string conversion with a pcall() because tostring is also not
    safe.

commit bc126b41e8d2c0c68f82446aa9dd79b1fbc7bbb8
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 17 14:55:24 2021 +0100

    Allow to call lua functions from the expresion parser
    
    Lua functions start with a "lua:" prefix. The result of the
    function call is always stringified.

commit 596e1ab81a6ca608e8adfd4834ff44d9107bec4b
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 17 14:53:01 2021 +0100

    Add rpmluaCallStringFunction() allowing to call a generic lua function
    
    We reuse the rpmhook mechanism to pass the arguments to the
    function. The function result is always stringified.

commit df4fbef531d3f36a0504bc206df6027ae93cf1fc
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 17 14:24:29 2021 +0100

    Refactor arg handling in rpmluaHook
    
    Split the individual arg setting/getting code into two
    new function so that they can be reused.

commit b09a98c8c1ad19ebcdf0cd8627171dcadab98334
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Nov 17 14:28:18 2021 +0100

    Add support for functions to the expression parser
    
    We don't define any function yet but simply return an error.

commit d41143cb5f6d88eb6e8bd999ad5ea2992bfb10f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 13:38:20 2021 +0200

    Simplify rpm_print(), fixing a Lua stack leak as a bonus
    
    Rather than laborously call tostring() in Lua, use the C-side equivalent
    of luaL_tostring(). This was new as of Lua 5.2, which explains why the
    original version from 2004 did things the hard way.
    
    Also fixes a stack leak from not popping "tostring" function after use.

commit 3aa1abc4cabaa77bd9d3d05064466990d7e68a59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 11:53:17 2021 +0200

    Fix some Lua stack leaks in our initialization code

commit a388d5e8abad7f95f31acad43868f3606acbd5b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 09:49:40 2021 +0200

    Fix missing includes revealed by c2ef4dd2a7f8cfe3cf305591ffef593621dc9be2

commit 718295d91e0401396bc33dac75bb178a1d6756f9
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Nov 11 16:39:15 2021 +0100

    Support multiple args in %quote and make split/unsplit available to lua
    
    This allows to manipulate an argument array from lua.

commit 432a91151a1f6d19d25e85b0f1af0a0ab6addc46
Author: Timm Bäder <tbaeder@redhat.com>
Date:   Fri Nov 5 11:29:41 2021 +0100

    remove-la-files: Use file to check for libtool files
    
    Try to minimize accidentally removed .la files that aren't libtool .la
    files.

commit c2ef4dd2a7f8cfe3cf305591ffef593621dc9be2
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Fri Nov 12 12:15:40 2021 +0100

    Include rpmpgp.h only where it is actually needed
    
    Include necessary headers that were previously transitively included
    by including rpmpgp.h.

commit eb750813059201a1f404f8595034aad71116d34f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Nov 10 15:40:10 2021 +0100

    Revert "Don't brp-strip .ko files"
    
    The original commit might have seemed like an easy remedy for
    third-party modules affected by commit 0ab151a (such as rhbz#1967291),
    but it also prevents the modules built from the kernel tree (which
    employ a different signing strategy, see below) from being stripped off
    of debug and symbol data, so it's not the correct solution after all.
    
    Simply put, *.ko files *are* ELF files, so there's no good reason to
    skip them.
    
    Third-party modules should instead adopt the same hack as the in-tree
    ones, i.e. overriding the %__spec_post_install macro so that the signing
    occurs as a last step, after any kind of stripping has taken place.
    Example from kernel.spec:
    
    %define __modsign_install_post \
      # Do the signing here
    [...]
    %define __spec_install_post \
      # eu-strip(1) gets called here
      %{?__debug_package:%{__debug_install_post}}\
      %{__arch_install_post}\
      # ... or strip(1) gets called here
      %{__os_install_post}\
      %{__remove_unwanted_dbginfo_install_post}\
      %{__modsign_install_post}
    
    It's still a hack, but it's better than avoiding the strip altogether.
    
    This reverts commit cfdb8300f6e3aed0abc41406a3c4737eb1192067.

commit 6e9531430d70fe80b67782ed57f1526aec9ed711
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Thu Oct 28 13:32:22 2021 +0200

    Fix hash context leak
    
    The hash context is duplicated unconditionally, but there is an
    execution path exiting the function without it being finalized.

commit a1fac5beef99969f2a4ff28a8f916b30bdaea8b5
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Wed Oct 27 10:46:38 2021 +0200

    Fix Ed25519 signature verification using libgcrypt
    
    In OpenPGP, hashing is done independently of the signing algorithm,
    hence they may be freely combined.

commit abaf2c6b20b49512933ae1606e29c77ef522e2cf
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Wed Oct 27 10:46:32 2021 +0200

    Fix typo in rpmGetSubkeys() API docs

commit 3f142b210ae0c01e1b21c2c057b12db574386e7a
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Wed Oct 27 09:51:13 2021 +0200

    Fix hashlen overflow
    
    struct pgpDigParams_s keeps a copy of the verbatim key material for
    hashing.  The length of this data is kept in 'hashlen' which
    previously was a uint8_t.  However, the size of the signature's hashed
    subpacket area can be up to 2^16 bytes, and one needs to hash some of
    the signature packet's fields on top of that.
    
    Hence, 'hashlen' must be at least a uint32_t.
    
    This overflow happens in practice as soon as the signature's hashed
    subpacket area contains an embedded signature.  See section 11.1 of
    RFC4880:
    
       Each Subkey packet MUST be followed by one Signature packet, which
       should be a subkey binding signature issued by the top-level key.
       For subkeys that can issue signatures, the subkey binding signature
       MUST contain an Embedded Signature subpacket with a primary key
       binding signature (0x19) issued by the subkey on the top-level key.
    
    While the embedded signature may be in the unhashed subpacket area
    because it is self-authenticating, it is more robust to put it in the
    hashed area.

commit c73118c3a3b4b8706b90d188d918e3752df2a736
Author: Justus Winter <justus@sequoia-pgp.org>
Date:   Wed Oct 27 09:27:51 2021 +0200

    Fix signature subpacket type handling
    
    Mask out the critical bit before switching over the subpacket type.

commit e656016e327be563761d9d49931dc41edafa2900
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Nov 3 11:23:30 2021 +0000

    Fix broken output of check-rpaths-worker
    
    The `$lower` variable is always empty, see https://bugzilla.redhat.com/show_bug.cgi?id=2019804
    
    This also changes the badness 32 message to say "a rpath" or "a runpath" which isn't perfect, but is certainly better than "an runpath".

commit 89d5bf13cec6a37c7098f6b559a18f8c39e55576
Author: Olaf Hering <olaf@aepfle.de>
Date:   Wed Oct 27 16:43:28 2021 +0200

    Update OCaml requires/provides to ignore cmxs
    
    OCaml cmxs files are static libraries, which can be loaded at runtime
    via the Dynlink module. They apparently do not provide any useful
    runtime dependency information to be stored into the packages
    Provides/Requires list. Therefore just skip them.
    
    Adjust attr, remove extension and ELF magic
    Adjust ocamldeps, do nothing with cmxs files.
    
    Fixes: a6fe37c39b39acbcbd014dd1e6d5653ff84254a1
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>

commit 3c793a653d5ecae09766f6a6a96976430504f262
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 5 14:08:13 2021 +0100

    Simplify shrink macro implementation
    
    Less code and easier to understand.

commit efc3f10754f13e297f9949630715a0a0894d9cc0
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 5 13:53:34 2021 +0100

    Do not always strdup the argument in doFoo
    
    Only a small subset of the doFoo macros needs to modify the
    argument, so only do the strdup call in them.

commit 162b2d3a331dde397151871a039ed54ff7ecba9c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 5 13:48:24 2021 +0100

    Do not setup macro args for literal macros
    
    They cannot make use of the arguments, so it makes no sense to set
    them up.

commit 48825725e63d747f4a82bcbdb4de3311477840b1
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 5 13:08:36 2021 +0100

    Remove duplicated body copying code
    
    Put the name first in the string arena so that the macro body
    copying code is identical for both macro setting cases.

commit 263f70b204433f6d3153c3539dd2c95bf8f5b8c5
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 5 13:01:40 2021 +0100

    Split new macro table entry generation into newEntry()
    
    No functional changes, just to make the code easier to understand.

commit 4a82a683410918f17c14bb979e75330779664099
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 12:20:06 2021 +0200

    Minor updates to contributing guide
    
    Add a blurb about translations and reword the section about asking
    the project first.

commit 5b5ea8caa9b8f78f0abd5727c17630c3c53bf58b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 1 13:54:39 2021 +0200

    Axe the experimental and internal build method from Python spec bindings
    
    Having a method that seemingly allows you to do something that you're
    not supposed to call is nothing but teasing and asking for trouble.
    We'll revisit whenever our other internals are up to this, but this
    is now just as broken as it was in 2010 so don't hold your breath.

commit 87c9120c29da10419acb0f7a16d01eac17721e06
Author: Didik Supriadi <didiksupriadi41@gmail.com>
Date:   Mon Sep 13 02:05:01 2021 +0200

    Translated using Weblate (Indonesian)
    
    Currently translated at 7.7% (69 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/id/

commit 83f471f49a43dd5756d8cf241e0961d67416eeb1
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Mon Sep 13 02:05:01 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 89.9% (797 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit b64c2acc7ec96a678889e7ad455273cd9826a0b6
Author: Hela Basa <r45xveza@pm.me>
Date:   Mon Sep 13 02:05:00 2021 +0200

    Translated using Weblate (Sinhala)
    
    Currently translated at 0.2% (2 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/si/

commit 9c2dba482cf080fa3a7184109b298cc1114a50be
Author: Ricky Tigg <ricky.tigg@gmail.com>
Date:   Mon Sep 13 02:05:00 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 85.4% (757 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 3ae4b8ffdda2ba69103e95273b3b13c16f420d00
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Mon Sep 13 02:05:00 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 85.4% (757 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit ad97e2fceaae3a853d9332324156630677384989
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Sat Sep 18 17:07:19 2021 -0400

    Add test for OpenPGP packet parsing bug
    
    This checks that old-format OpenPGP packets with excessive lengths are
    rejected.

commit fabeb976701839910205b8a86efe24a30c4e2196
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu May 6 18:57:19 2021 -0400

    Simplify bounds check in old-format packet parsing
    
    a44f02631adce0c17435d007df847cdcaee816a7 added additional bounds checks
    to pgpGet().  Use these checks to simplify the old-format packet parsing
    code by using pgpGet() instead of a manual bounds check.

commit c5add3a9d29085694db2312dc09d28cc25c83947
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Jun 22 09:19:45 2021 -0400

    Clean up a bounds check in the PGP code
    
    The new code is easier to read and avoids pointer arithmetics.

commit 02ea760cac5e2f9485c343245ff740f751d2c792
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Jun 21 05:57:29 2021 -0400

    Move MPI processing into common code
    
    This is much cleaner than repeating the code three different places.

commit f742e2196c2e2eee1dd9227aab5117d57d053221
Author: lijingwei <lijingwei@uniontech.com>
Date:   Fri Oct 22 13:39:31 2021 +0800

    Correct Chinese translations for '-h' option in command line
    
    Original translation for 'hash' in Chinese meant the kind of 'hash' in
    SHA instead of '#'. Such mistaken may caused by a lack of context when
    translating, that made the translate totally wrong for the option
    
    Translation in this commit meant 'show a progress bar made up of # notation
    for installing'
    
    Signed-off-by: lijingwei <lijingwei@uniontech.com>

commit daeddb01de50c53b98eae75e11234132ae63538a
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu May 6 20:03:10 2021 -0400

    verifySignature(): package signatures must be PGPSIGTYPE_BINARY
    
    RPM packages are binary documents and must be signed as such.  To avoid
    having to access the fields of pgpDigParams() directly, this adds a new
    accessor function, pgpSignatureType().  pgpSignatureType() returns the
    type of a signature, or -1 if the PGP data is NULL or is not a
    signature.
    
    Prior to commit b5e8bc74b2b05aa557f663fe227b94d2bc64fbd8 this was kind
    of checked inside the parser but incorrectly.

commit de6e24e91720ff434000da52267fa5ae9709ce3b
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Oct 21 12:40:01 2021 -0400

    Fix obvious typos/errors in contributing guide

commit 83d781c442158ce61286ac68cc350d10c2d3837e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 10:59:23 2021 +0300

    Axe defunct Lua rex extension
    
    Whether this ever actually worked as shipped is doubtful, but it's
    not entirely impossible as there's even a blurb in documentation.
    It has not worked according to the documentation in the past fifteen
    years or so however, and nobody has complained, not even once. Which
    quite clearly that nobody is relying on it, in which case it's better
    to just put it out of its misery.

commit 2547b261ba454c1a1031c26299554002592b2f57
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Oct 26 13:43:05 2021 +0200

    Use lua_replace instead of lua_rotate
    
    lua_rotate works but is somewhat the wrong tool if we just
    want to set a specific stack element. Use lua_replace instead.
    This has the added advantage that the code works again with
    lua version 5.2 (not that it matters much).

commit 26767d464627a3108ec96b91abff3a99ea8e19dd
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Oct 6 16:06:59 2021 +0200

    Allow an optional argument for the %verbose macro
    
    This improves compatibility with old rpm versions. If an argument
    is present, the macro expands to it in verbose mode and to an
    empty string if not in verbose mode.

commit bfbd0b3e7fa38345f286849bd1e6455bbf81c551
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 12:32:24 2021 +0200

    Support non-parametric builtins again
    
    Macros like %getncpus should not treat the following text as
    macro arguments. E.g. 'make -j %getncpus all' should work and
    not complain about an unexpected argument.
    
    We still treat arguments passed via %{foo:arg} or %{foo arg} as an
    error for builtin macros. (They are silently ignored for user
    defined macros.)

commit c00d85fb5efd5b772d2e4b08c55d643d86844604
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 10:56:23 2021 +0200

    Make %{define foo body} not use the free-field parsing
    
    This means no special new line processing and '\' unescaping. Thus
    "%{define foo body}" works similar to "%define foo {body}" except
    that the parsing in spec files works because copyNextLineFromOFI()
    knows how to deal with macros.

commit 374c0edac065076776036c7ccf6ee2d8e4a53323
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 10:41:12 2021 +0200

    Special case the non-parametric and the free-field macro expansion
    
    This makes the code easier to understand and also has the advantage
    that "parsed" will be NULL for the normal cases.
    
    No functual changes.

commit 243d01ff4666c53351a4fc5ee1821c72d0d004ce
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 10:27:04 2021 +0200

    Rename doExpandThisMacro to doMacro
    
    The doXXX functions now have the same argument signature and I
    never liked the doExpandThisMacro name.

commit 1d1f461f80138c44556a8d87433dd39884a7d44c
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 10:19:27 2021 +0200

    Add a "parsed" argument to the doXXX() functions
    
    doXXX() used to return the parsed characters for ME_PARSE macros
    and the caller added them to the "parsed" variable.
    
    We now directly pass parsed as argument and let the doXXX()
    functions do the adding. This will allow us to differentiate
    between "%define foo bar" and "%{define foo bar}" in a
    future commit.
    
    No functual changes.

commit 80f025863f6bd177b06e8e73a8365a454b60ff03
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 25 10:00:19 2021 +0200

    Fix consistency issues in macro expansion for builtin macros
    
    The builtin macros used to expand the arguments themselfs. This
    works for the %{foo:bar} syntax, but it means that for %{foo bar}
    the argument is expanded twice: once before the argument is split
    and then in the macro function.
    
    Simplify the code by always doing the expansion when creating
    the argument vector.

commit 79e8c46b1235a697942687e87568236090027c25
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 22 15:18:44 2021 +0200

    Get rid of the ME_BUILTIN macro
    
    Always set ME_FUNC for builtin functions.

commit bd36c5dc9fb6d90c46fbfed8c2d67516fc571ec8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 30 09:59:30 2021 +0300

    Validate and require subkey binding signatures on PGP public keys
    
    All subkeys must be followed by a binding signature by the primary key
    as per the OpenPGP RFC, enforce the presence and validity in the parser.
    
    The implementation is as kludgey as they come to work around our
    simple-minded parser structure without touching API, to maximise
    backportability. Store all the raw packets internally as we decode them
    to be able to access previous elements at will, needed to validate ordering
    and access the actual data. Add testcases for manipulated keys whose
    import previously would succeed.
    
    Depends on the two previous commits:
    7b399fcb8f52566e6f3b4327197a85facd08db91 and
    236b802a4aa48711823a191d1b7f753c82a89ec5
    
    Fixes CVE-2021-3521.

commit 9f03f42e2614a68f589f9db8fe76287146522c0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 30 09:56:20 2021 +0300

    Refactor pgpDigParams construction to helper function
    
    No functional changes, just to reduce code duplication and needed by
    the following commits.

commit b5e8bc74b2b05aa557f663fe227b94d2bc64fbd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 30 09:51:10 2021 +0300

    Process MPI's from all kinds of signatures
    
    No immediate effect but needed by the following commits.

commit 20572c63b0816bfe30aa8d9fb79975fb909cb1f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 14:52:50 2021 +0300

    Drag our CI to this decade
    
    Been stuck on Fedora 32 for too long anyhow, but for debugedit we need
    at least 34. Kick out a BDB remnant while at it.

commit 4474ed1c749a38a1f1879c4de7ab34b413e208c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 10:21:03 2021 +0300

    Further cosmetics fixes to Lua docs
    
    Use single quotes consistently, use back-quotes where appropriate.
    Add the odd missing quote.

commit c42a421275aa785623d4b573b12909cfc3a11fb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 15 16:14:28 2021 +0300

    Argh, table format cosmetics in the Lua docs

commit 9d88803110fea8b5d3a29a871c5044f29391d1d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 15 16:08:24 2021 +0300

    Lua docs cosmetics + couple of example omissions.

commit e1f4b66b76b71f59024c4001410f9ab4f295fb1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 15 16:00:54 2021 +0300

    Properly document our posix Lua extension

commit 795fc4cc4c415390e4846f70487e387b7ae38bf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 15 13:20:15 2021 +0300

    Properly document the rpm Lua extension

commit ad7b47e43f2bc38cf761794eed8fb0646c46c4d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 15 11:10:25 2021 +0300

    Add some missing version info for Lua extensions

commit 9cc5aad54ec40415150d86da1e715ce4b76a6815
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 20 15:18:40 2021 +0200

    Require package names to be valid provides
    
    Only allow  alphanumeric or _ as first character.
    Also check the name of Obsoletes.
    
    Resolves: #1694

commit 16ccdb704b8604e56f0809e6ae5f8790f8a3acdc
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Sep 15 14:54:40 2021 +0200

    Make brp-strip-comment-note multi process
    
    Run at least the file classification in parallel
    
    Resolves: #1230

commit 74ddf22d2e2d6779265cd4494c286ab5bde55b77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 14:19:55 2021 +0300

    Extend contributing guidelines a bit

commit 5e97c0a3ac42a45387b14a17557463cee4970462
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 8 15:20:17 2021 +0300

    Clean up shescape macro implementation
    
    Realizing that we have dynamic string buffer available in the macro
    engine... so we don't need a dumb worst case malloc and all the other
    crap in the old tag format era implementation.

commit 470498bd5a51f8d98ae8e721beea58ef81c19a51
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Sep 22 16:10:53 2021 +0200

    Check file iterator for being NULL consistently
    
    No point in allowing NULL only for one of the arguments.
    
    Thanks to ex0z3 (https://github.com/ex0z3) for reporting!
    
    Resolves: #1782

commit 3161ce3284838e10dc1e6a40951a3e458ab2b69e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 21 10:20:36 2021 +0200

    Don't strip ELF files with "no machine"
    
    as strip fails on them (if they are Guile object files).
    This adds another layer of protection as *.go files are already filtered
    out.
    
    Resolves:  #1765

commit ee5d150aea19ebd10569cd805917acc583719e49
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 21 10:18:01 2021 +0200

    Don't strip *.go files
    
    as those may be Guile object files. Those are ELF files but cannot be
    stripped. This may also exclude other files (like Golang sources) but
    that should not be an issue.
    
    Resolves: #1765

commit 04de5e6c854edf4ef4a79b44eac3b20451c88df5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 14:16:54 2021 +0300

    Use the new shescape macro for :shescape query format too
    
    No functional changes, just remove code duplication.

commit f64ad44ccd647403970f56b6e53034568de97634
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 13:56:08 2021 +0300

    Add %{shescape:...} macro for single quoting with escapes for the shell
    
    This is exactly the same as :shescape query format, hence the name.

commit c495d73449cb707bf8b3a0f47a67bba115c00bcf
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Sep 16 14:13:15 2021 +0200

    %autopatch: Fix patch number parameters
    
    Those where not converted to integers for to lookup though not converted
    to the actual file name.
    
    Thanks to Vít Ondruch for pointing this out, suggesting the fix and
    insisting on a test case!
    
    Resolves: #1766

commit b7f188dd080b32be2d0ff17e970e59e3ab57d017
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 16 09:53:35 2021 +0300

    Update Doxygen config for 1.9.x to silence deprecation warnings

commit 3237bf9b2e1c7ef5f222cc86d02e394002b587ac
Author: Ørjan Malde <red@foxi.me>
Date:   Fri Sep 10 20:32:51 2021 +0200

    Allow disabling libelf with --enable/--disable-libelf
    
    Signed-off-by: Ørjan Malde <red@foxi.me>

commit 50bf7c63366bf677f7ac073f236cb31577e9e317
Author: Marek Kulik <mkulik@redhat.com>
Date:   Mon Sep 13 18:39:54 2021 +0200

    Fix indentation in brp-compress

commit f3f763e54dbbcced146b2f9e826a2530ac003a8b
Author: Marek Kulik <mkulik@redhat.com>
Date:   Mon Sep 13 18:15:06 2021 +0200

    Fix handling filenames with spaces in brp-compress

commit ad87ced3990c7e14b6b593fa411505e99412e248
Author: Emily <vcs@emily.moe>
Date:   Tue Sep 14 02:13:29 2021 +0100

    Fix fstat64 handling on macOS with Apple Silicon
    
    The Apple Silicon toolchain removes the *64 stat symbols (deprecated
    since 10.6) in favour of their unprefixed form.
    
    This change might not work properly before 10.6, but 10.5 has been out
    of support for over a decade, so that hopefully shouldn't be relevant.
    
    Fixes #1752.

commit 949dc7c31ad26cb489e54386d289b73f40a54b80
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Aug 16 17:22:04 2021 +0200

    Add support for RPMDBI_BASENAMES on file queries
    
    There are legitimate reasons (such as rhbz#1940895 or the included test)
    for wanting the former behavior where all file states were considered in
    file queries prior to commit 9ad57bda4a82b9847826daa766b4421d877bb3d9,
    so celebrate the tenth anniversary of that commit by adding a CLI switch
    (a new package selector --path), as contemplated back then.
    
    Update the man page for --file to reflect it's current behavior and make
    --path that more obvious.
    
    Resolves: rhbz#1940895

commit d1aebda01033bc8ba0d748b49f6fad9a5c0caa3f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Aug 16 18:21:02 2021 +0200

    Add test for file query
    
    This has been missing, so add a simple one.

commit b88f43b9a3bf39a92ba8ca511d33fdc60f399c1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 18 11:09:11 2021 +0300

    Explicitly protect automatic macros from being redefined and undefined
    
    All current automatic macros are named in a way that do not pass the
    name check in validName(), but that's kinda implicit. Specifically
    test for ME_AUTO along with ME_BUILTIN.
    
    No functional change due to the implicit protection from the naming.

commit 80ca959e32f8c07f5afed36b1e1b1d4d3ccb922c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 18 10:54:59 2021 +0300

    Drop arbitrary macro name minimum length limit (RhBug:1994223)
    
    Traditionally rpm has required user defined macro names to be at least
    three characters long, but outlaws all sorts of useful names like %cc
    for no particularly good reason - on unix a *lot* of commands are two
    characters, and then there are programming languages named R and whatnot.
    For macros starting with underscore, require one additional character
    though so `r` is okay and so is `_r` but plain `_` is not.
    
    The name validation and error reporting is buggy in multiple ways but not
    in the mood to chase all those now, this is just the bare minimum change.

commit fd57fc716231c8296d340fdb4c0f6eac176f7f7c
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Aug 20 15:14:16 2021 +0200

    Don't segfault on missing priority tag
    
    Resolves: #1636
    Related: #1638

commit ddb3977a12515a919a8005b4df200398e462f6f5
Author: Gustavo Costa <xfgusta@gmail.com>
Date:   Sun Aug 15 21:52:19 2021 +0200

    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 84.5% (749 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/
    
    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 84.1% (746 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/
    
    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 79.3% (703 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/

commit 13a2f876591170d6167525fab35612614efa0393
Author: simmon <simmon@nplob.com>
Date:   Sun Aug 15 21:52:19 2021 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit 22cb3b1c418279a6abda9cc0229278a34cde83bc
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sun Aug 15 21:52:19 2021 +0200

    Translated using Weblate (Breton)
    
    Currently translated at 18.6% (165 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/br/

commit 34481666121fab541d41a2be608ca05f5f322658
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Sun Aug 15 21:52:18 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 84.3% (747 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 81.2% (720 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 81.0% (718 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 78.3% (694 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 77.4% (686 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 74.2% (658 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 72.2% (640 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 70.0% (621 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 69.6% (617 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit fec7e6e9aca6ce17c6747e1b25d26745ec510296
Author: Charles Lee <lchopn@gmail.com>
Date:   Sun Aug 15 21:52:18 2021 +0200

    Translated using Weblate (Chinese (Simplified) (zh_CN))
    
    Currently translated at 83.1% (737 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 2a03b8fa12319d4650ee3cd1c48d1cd3ab8afe56
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 3 14:48:05 2020 +0200

    Add dbus-announce plugin
    
    The plugin announces start and end of transactions

commit 297b7be14be7a5182ada2246b5c15802a88475a1
Author: Michael Schroeder <mls@suse.de>
Date:   Sun Aug 8 19:43:45 2021 +0200

    ndb: only invalidate the database cache if we must
    
    We now only invalidate the cache if the cached entry gets written
    or deleted. This is needed for the code in rpmdbNextIterator()
    which first reads the next header and then writes the modified
    old header to the database. Therefore we must not free the cached
    entry if a modified header with a different id is written.

commit 24b6c4542367aa251007497eb5595df24835d91b
Author: Peter Pentchev <roam@ringlet.net>
Date:   Fri Aug 6 09:54:21 2021 +0300

    Bump the Lua minimum version to 5.3. (#1738)
    
    Bump the Lua minimum version to 5.3.
    
    The 986be669fb037ae0e2049a2022c4fdfa05da6747 commit introduced a use of
    lua_rotate(), which is not available in Lua 5.2, unintentionally causing a dependency on 5.3. Rather than work around it, just bump the requirement to 5.3, it's almost seven years old by now...

commit 3cb4b8b051032d33d1a52f48468cc543d90f7f3c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 1 15:33:31 2021 +0200

    Extend CONTRIBUTING.md
    
    Add brief introduction, section about comments and commit messages
    Bit more details on code formatting

commit 7af8691e58967e5027b1b52691a01e03a0ee28a9
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Jun 17 14:07:55 2021 -0400

    Add CONTRIBUTING.md

commit cfdb8300f6e3aed0abc41406a3c4737eb1192067
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Sun Jul 11 18:08:26 2021 +0200

    Don't brp-strip .ko files
    
    Otherwise SecureBoot signatures may be stripped too.
    
    We used to exclude shared libraries from this strip as they were
    supposed to be covered by another brp script (brp-strip-shared), however
    it turned out the latter was never really used, so we removed the
    exclusion in commit 0ab151ab138fd4fb6d3176fd0270d9cc6f4623f3.
    
    As it turns out, that was a little too ambitious, since we may now
    inadvertently strip SecureBoot signatures from kernel modules too,
    provided that they're made during the build, prior to the invocation of
    brp-strip.
    
    Note that this regression currently does *not* affect the following two
    cases on Fedora/RHEL systems with redhat-rpm-config installed:
    
      - in-tree kernel modules; these are built from kernel.spec which
        already contains a hack ensuring that module signing only happens
        *after* any stripping (see %__modsign_install_post in kernel.spec)
    
      - out-of-tree kernel modules built with debuginfo enabled; this is
        because brp-strip is only called when %debug_package is set to
        %{nil}
    
    Any other combinations may be affected, depending on the macros and
    .spec files used, so let's fix this by effectively "reverting" said
    commit for .ko files only.
    
    Fixes: rhbz#1967291

commit 513d04db9f0cb49e35829d521ffcf7455bfa8a7c
Author: Daniel Mach <dmach@redhat.com>
Date:   Fri Jul 2 08:23:55 2021 +0200

    Set an extremely high sqlite3 timeout
    
    We must avoid the "database is locked" errors at every cost because
    otherwise the rpmdb gets corrupted and system ends up in inconsistent
    state.
    
    Resolves: rhbz#1946046

commit 822c3dc2046c29718e34ac2da16a9757a9be11da
Author: Peter Pentchev <roam@ringlet.net>
Date:   Wed Jun 30 10:24:50 2021 +0300

    Exclude the xlateTags symbol from librpm's public API.
    
    The d6a86b5e69e46cc283b1e06c92343319beb42e21 commit introduced
    a new variable that is only used internally by headerMergeLegacySigs().

commit b7a1e996326ee29a163d67ceb1e6127fdc251c14
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jun 25 15:15:08 2021 +0200

    Fix memory leaks in Lua rex extension
    
    This covers the following usage:
    
    expr = rex.newPOSIX(<regex>)
    expr:match(<string>)           # A leak occurred here
    expr:gmatch(<string>, <func>)  # A leak occurred here
    
    Found by Coverity.

commit 590b2fc06252567eb7d57197dc361a8b459d62a3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 21 17:51:14 2021 +0200

    Fix memory leak with multiple %lang-s in one line
    
    We permit two equivalent forms of specifying a list of languages per
    file:
    
      %lang(xx,yy,zz) /path/to/file
      %lang(xx) %lang(yy) %lang(zz) /path/to/file
    
    The leak was when parsing the second form.
    
    Found by Coverity.

commit 9c093c4f092dd6bd1e0c8d2b852a72b74db076c2
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Jun 15 13:34:21 2021 +0200

    Fix memory leak in decodePkts()
    
    Found by Coverity.

commit 39b7bf8579e0522cf16347b3a7e332d3b6d742c6
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 14 12:34:23 2021 +0200

    Fix memory leak in fts_build()
    
    Turns out this leak is already fixed in glibc's current version of fts.c
    (where our copy originates from), so let's just backport that.
    
    Original commit in glibc:
    https://sourceware.org/git/?p=glibc.git;\
    a=commit;h=db67c2c98b89a5723af44df54f38b779de8d4a65
    
    Found by Coverity.

commit 3c8b01b67ec907afaaffe71691fa41b878578527
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 14 10:21:25 2021 +0200

    Fix resource leak in Fts_children()
    
    This function is not used anywhere within our codebase (and neither is
    it part of the public API) so it's basically a no-op... Still, rather
    than yanking it completely, let's just silence the Coverity error here.
    
    Found by Coverity.

commit 5baf73feb4951cc3b3f553a4b18d3b3599cbf87c
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Jun 25 11:21:46 2021 +0200

    Always free the arg list passed to rpmGlob()
    
    Even though the actual implementation of rpmGlob() does not allocate the
    passed arg list (av) if the return code (rc) is non-zero or arg count
    (ac) is 0, it's the responsibility of the caller (rpmInstall() here) to
    free that memory, so make sure we do that irrespectively of the above
    conditions.
    
    Found by Coverity.

commit d8dc4fd37b1d90cd97de7fcf484d449ec132c9b3
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Wed Jun 9 21:31:40 2021 +0200

    Fix memory leak in sqlexec()
    
    Callers are supposed to free the error strings themselves:
    https://www.sqlite.org/capi3ref.html#sqlite3_exec
    
    Found by Coverity.

commit b79bc6872ddd37366bc14def830ccd53aa824b21
Author: simmon <simmon@nplob.com>
Date:   Wed Jun 23 06:04:24 2021 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit c7d7c5acd0c14d0450016887cba1d86483086794
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Jun 21 10:05:10 2021 +0200

    Add quoting to literal curly brackets
    
    These curly brackets are already treated as literals by the shell, so
    let's make that explicit for clarity, and silence a ShellCheck warning
    at the same time.
    
    More info: https://github.com/koalaman/shellcheck/wiki/SC1083
    
    Found by ShellCheck.

commit 89eb448b6c5941921acdc7e8b5e18050900e9f20
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 22 16:53:13 2021 +0200

    Don't depend on translation sub directories
    
    just create them. Otherwise their date messes up the man page
    genenration and triggers a rebuild when on wanted (e.g. when building
    form the tar ball)
    
    Resolves: #1729

commit 9772abc058ae7183dbfb2356ec0af0a3d610c2c9
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 22 16:52:35 2021 +0200

    Also add rendered Japanese man pages

commit 2cfd1a1fde281259daffb1b9dd1f9638d6be803f
Author: Charalampos Stratakis <cstratak@redhat.com>
Date:   Mon Jun 21 16:04:23 2021 +0200

    Allow /usr/libexec/* rpaths
    
    An RPATH or RUNPATH pointing to directories owned by a package in /usr/libexec/*
    is a valid case and should be allowed by the check-rpath script.
    
    Related: #1719

commit d71cfc276d6a1196273c7d1e65bffa0eb4c7a01a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 22 13:08:28 2021 +0300

    Use a pre-built package for the hardlink test for reproducability
    
    Besides rpm version string length, the file offsets also depend on
    at least libmagic version and probably something else I'm missing now,
    this is just too fragile to be useful. Use a pre-built package to
    avoid delaying 4.17 beta just because of such a dumb thing, figure out
    something better later (pre-built is not ideal as inevitably the
    pre-built will need to be re-built too and that gets difficult
    sometimes)

commit 8e2a488c914de99af81bf5076ae0768cba80a3dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 22 12:46:20 2021 +0300

    Revert "Make hardlink test independent of rpm version string"
    
    This didn't actually cure the thing it was supposed to, and there are
    more factors at play anyhow (libmagic strings and all).
    
    This reverts commit 9db0b6fbc3636c8ac0e455fb15d717af5785e0fe.

commit 3fd35871f300effd6c588884db91005297cb7fb2
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 22 10:56:39 2021 +0200

    Add generated man pages to tar ball
    
    This requires generating all man pages even those not going to be
    installed as their plugin in not going to be built.
    As a result building from the tarball should not need pandoc for
    generating the man pages.

commit 3080254024ec60c625a0e8652608661d55991bda
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 18 13:09:39 2021 +0200

    Create directories for man pages right away
    
    to avoid rebuilding the man pages over and over again

commit 5417bffe37a9dfbfd33734f3f46d82adb927463b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 21 13:34:42 2021 +0200

    check-rpaths: Look for RPATH and RUNPATH in one go
    
    Calculate $lower from the actual match

commit e2b4fdda316a6270935ab792774c4b4264d68630
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 21 11:19:27 2021 +0200

    Don't break readelf output at 80 characters
    
    by adding -W
    
    Related: #1713

commit 9b94a9a8f1e41a8a65843652c3e5b7b7580f14e4
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 21 11:08:45 2021 +0200

    Run rpath check in parallel
    
    using RPM_BUILD_NCPUS
    
    Related: #1713

commit 9db0b6fbc3636c8ac0e455fb15d717af5785e0fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 21 15:40:48 2021 +0300

    Make hardlink test independent of rpm version string
    
    A nice little WTF this one: changing the version string length affects
    the manipulated offsets in the built package. The offsets were done with
    the development time 4.16.90 version, but with eg 4.17.0-beta1 the
    offsets are different and the test fails.

commit 5f0a1162e6dbf624382eec0b07b82318799dc61e
Author: Oğuz Ersen <oguzersen@protonmail.com>
Date:   Wed Jun 16 20:04:23 2021 +0200

    Translated using Weblate (Turkish)
    
    Currently translated at 53.3% (473 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/tr/
    
    Translated using Weblate (Turkish)
    
    Currently translated at 50.9% (451 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/tr/

commit 680087b2cf59d69cbddc9fb3239958557dd18333
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Wed Jun 16 20:04:23 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 69.1% (613 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 67.4% (598 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 67.2% (596 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 64.8% (575 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 5fc97833727226fbe319bada78ceb16b6007512a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 21 13:39:56 2021 +0300

    Bump version to appear newer than 4.17 and begin another cycle

commit 4e688653dfe96df94bdb845eed6ca0b920941e0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 21 13:35:12 2021 +0300

    Bump libtool version info in preparation of 4.17.x branch
    
    We've only added APIs so no soname bump required.

commit 56917aaffe65978779129a294af7ddc0afc98f55
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Jun 21 06:55:37 2021 -0400

    Make a bounds check easier to read
    
    The undefined behavior is not an issue on modern GCC, but the new code
    is easier to read.

commit 1dc59e028ca4af7af42c9ca84084bff124af1d16
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Jun 21 05:21:47 2021 -0400

    Use a variable for h + hlen
    
    instead of recomputing it four places.

commit 04b0805a756cdd9466fb9dc717846f5bf15518cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 18 10:17:14 2021 +0300

    Use external debuginfo tooling
    
    There's been an increasing interest in the wider community to use
    the debuginfo tooling outside rpm context, and deep ELF format
    internals are not rpm's core business anyhow, the reasons for it
    being here are entirely historical. So without further ado, remove
    the debuginfo tooling from rpm and rely on the external debugedit
    project from now on.
    
    Update INSTALL to document the new dependency, and add conditionals
    to relevant debuginfo build tests. The lower-level debugedit and
    sepdebugcrcfix tools are tested in the external project, no need
    to duplicate that here.

commit ce48167f37af59b6366083fb78a314f7931c0c6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 27 13:58:58 2021 +0300

    Macroize find-debuginfo script location
    
    Makes it easier to handle varying paths, mainly in preparation for the
    next step.

commit 072588ca7908ef894be4161066c9384edaadd748
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu Jun 17 14:11:54 2021 -0400

    Reduce undefined pointer arithmetic
    
    This is mostly for the benefit of fuzzers and other automated tools, and
    for compilers other than GCC.  On modern versions of GCC with
    -fno-strict-overflow, this is harmless.

commit a44f02631adce0c17435d007df847cdcaee816a7
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu May 6 18:44:19 2021 -0400

    pgpGet(): check that the returned length is in bounds
    
    This will be used to replace incorrect checks in the calling code.
    The new pgpGet() avoids undefined pointer arithmetic, too.  One
    call-site of pgpGet() is broken by this change, so replace it with a
    direct bounds-check.

commit 5ff86764b17f31535cb247543a90dd739076ec38
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Thu May 6 18:34:45 2021 -0400

    Do not allow extra packets to follow a signature
    
    According to RFC 4880 § 11.4, a detached signature is “simply a
    Signature packet”.  Therefore, extra packets following a detached
    signature are not allowed.

commit f101c8cf8295796b378822d28cb8ef29a4e326bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 4 13:21:35 2021 +0300

    Support individual patch application in %autopatch
    
    There are cases where "apply 'em all" doesn't cut it, and passing
    -m and -M is cumbersome for individual patches. Add support for
    applying individual patches by passing their numbers as arguments,
    update documentation.

commit 328784818c88a8eaa4c80a1a3a5178cc83abab01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 17 10:11:57 2021 +0300

    Add missing Markdown formatting to autosetup docs

commit e5344b0a624f010f129f82193fcb7e8cd6826a9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 17 10:07:38 2021 +0300

    Rewrap autosetup docs to be readable + editable as plain text

commit f8225732b5f9b4ce8ca20dc8f063abd0ddc149ba
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 17 15:33:14 2021 +0200

    Don't strip flags for OrderWithRequires in rpmds
    
    As we allow dependeny flags like pre, post, ... in the spec syntax we
    should not remove them when reading in the tags from a package.
    
    Thanks to Michael Schröder for spotting this.
    
    Resolves: #1703

commit f22499a05d0a01e35dd10d7644f8d74391ba4222
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 15 14:18:23 2021 +0300

    Reject unimplemented critical PGP packets as per RFC-4880
    
        Bit 7 of the subpacket type is the "critical" bit.  If set, it
        denotes that the subpacket is one that is critical for the evaluator
        of the signature to recognize.  If a subpacket is encountered that is
        marked critical but is unknown to the evaluating software, the
        evaluator SHOULD consider the signature to be in error.
    
    We only implement creation time and issuer keyid, everything else is
    unimplemented and should be flagged as an error if critical as per above.
    
    Initial patch by Demi Marie Obenour.

commit 66f40d2e347b7f2ff94413c4b4107e39dd91a9dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 15 13:56:44 2021 +0300

    Refactor error tracking to helper variable in PGP subtype parsing
    
    No functional changes here, but makes easier to flag different errors
    in the next commits.

commit 201e38372d8cd6259790c3364104cf25cdc37492
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 15 11:46:06 2021 +0300

    Validate the buffer size when calculating PGP packet size
    
    Check that the buffer can actually hold the computed number of bytes.
    
    Initial patch by Demi Marie Obenour.

commit d07c6ce856354e2e744024dce49940460c3829e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 15 11:19:54 2021 +0300

    Fix bugs in new format PGP packet length decoding detection
    
    Two-octet packets are recognized by first octet being in range 192-223,
    not 192-255. Partial body lengths, which are not supported, use the
    224-254 range. A valid five-octet length requires the first octet to
    be 255, this was not checked.
    
    Initial patch by Demi Marie Obenour.

commit f79781a2ab7d13b7322e1eea85a93ab1fbdad65b
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Mar 29 12:38:44 2021 -0400

    Minor const correctness fix
    
    No change in behavior

commit c5cacf9762920631add278f13c8b7bad765bfafd
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Wed Feb 10 20:44:13 2021 -0500

    A signature is not a key
    
    so the correct wording should be used in the warning.

commit dc8759222332c95342ac1f30ece25a204a512fa6
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Wed Feb 10 20:43:28 2021 -0500

    Remove dead code
    
    pgpMpiStr() is not used.

commit 8c6b1c8b6ce755b8c1a9d56f97ac25fb1040b068
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 11 13:25:45 2021 +0200

    Delete generated man pages with force
    
    to avoid error messages on make clean

commit ea2754b4f14e0a195f4633adfcaa59d0167ee676
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 10 10:32:12 2021 +0300

    Support hash v8 databases from BDB < 4.6 in bdb_ro
    
    In Hash v8 databases page type differs from newer ones to denote
    the difference between sorted and unsorted pages.
    
    Fixes reading rpm databases from older distros like SLES 11 and RHEL 5
    (RhBug:1965147)

commit e0de325e1d13fb65066ad09d16cb08ba6e294901
Author: Timm Bäder <tbaeder@redhat.com>
Date:   Fri May 7 12:11:31 2021 +0200

    Add brp-remove-la-files script
    
    .la files are libtool files and should generally not be installed. Tons
    of spec files contain a 'find' command to remove them. Add a helper
    script that automatically removes all .la files from the build root and
    let projects that need them opt out of this instead.

commit 992a4f903585cde1ad051b46f89b8b947b1cdae3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 27 16:00:59 2021 +0300

    Kick out libtool dependency generator
    
    People mostly only care about removing any .la files present in their
    packages, I've yet to see a single use of a desired/used libtool()
    dependency during its 14 year existence in rpm. There are enough
    provides in the world without creating unused ones just because.

commit aa57fb568c14b33265e1f9e44665b16818a2b539
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jun 4 23:30:49 2021 +0200

    Unbreak checking of installed rich dependencies
    
    Commit ddb32b9187e9ce85819a84ca8d202131fd9f8b9f added an
    extra check that tests if the provide we are checking really
    intersects the dependency from rpmdb. Unfortunately the
    rpmdsCompare() call does not understand rich dependencies and
    will consider them as not intersecting.
    
    Unbreak the check by not doing the intersection test for
    rich dependencies. We'll improve this in a later commit.
    
    Also add test cases for dependency problems with installed
    rich dependencies.

commit 28a333c95fcd1c7081f17ea5cbc049cf7955378d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 27 13:24:15 2021 +0300

    Drop unused and unmaintained gcj compilation build root policy
    
    GCC dropped the entire java works from GCC 7 in 2017 [*] so in recent
    times this has been doing exactly nothing at all because gcj doesn't
    even exist. Bye bye.
    
    [*] https://gcc.gnu.org/gcc-7/changes.html

commit ab9815e7747041b801ede9d65401a3defa82476a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 27 13:20:52 2021 +0300

    Remove ancient, unused and unmaintained scripts from repo
    
    These have never been included in tarballs even, so chances are people
    are not going to miss them too much.

commit 12a8759ea14bc943b7e35ac64b55fb121289f319
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 27 13:17:01 2021 +0300

    Remove ancient unused and unmaintained php dependency generators

commit bc4829771ca4e0ce4e1d9d8d91afea4f30c3ea53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 14:36:24 2021 +0200

    Remove remaining Python helpers and scripts from the repo
    
    These are far better maintained by the Python community, in a
    repository of their own:
    
        https://github.com/rpm-software-management/python-rpm-packaging/

commit e2f1f1931c5ccf3ecbe4e1e12cacb1e17a277776
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 25 14:07:18 2021 +0300

    Fix regression reading rpm v3 and other rare packages (#1635)
    
    Commit d6a86b5e69e46cc283b1e06c92343319beb42e21 introduced far stricter
    checks on what tags are allowed in signature and main headers than rpm
    had previously seen, and unsurprisingly this introduced some regressions
    on less common cases:
    
    - On rpm v3 packages and some newer 3rd party created packages (such as
      install4j < 9.0.2), RPMTAG_ARCHIVESIZE resides in the main header
      to begin with
    - In rpm 4.13 - 4.14, file IMA signatures were incorrectly placed in
      the main header.
    
    As a quirk, permit the existence of RPMTAG_ARCHIVESIZE,
    RPMTAG_FILESIGNATURES and RPMTAG_FILESIGNATURELENGTH in the main header
    too provided that the corresponding signature tag is not there (so
    they can reside in either but not both headers).
    
    Initial workaround patch by Demi Marie Obenour.
    
    Fixes: #1635

commit fd12022dee2ebee877e6b8943f3ddec26af30c2d
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 19 10:33:38 2021 +0200

    Remove reference to what is now the same file
    
    This file started at the rpm.org web page and refenced a file in the rpm
    repository. As it is now moved back into the repository to this exact
    place there is no point in keeping the reference.

commit 74afbafa385efcb8e847699b956d389fda00fde4
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 19 10:31:06 2021 +0200

    Fix typos and broken markup
    
    on documentation index page.

commit 3d5fc0b6939d970b6694817e1fc37892a7e3cb74
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 19 10:28:52 2021 +0200

    Add favicon to documentation and fix header
    
    No longer have broken links on the favicon

commit 49820ae0f410c79647ed30ee8f01e90b77bdcc5e
Author: Christopher Yeleighton <ne01026@shark.2a.pl>
Date:   Wed May 19 11:20:02 2021 +0200

    typo: transaction

commit c21885e6b0e3045dc165d4d7be1911987a9cec9b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 10 16:42:34 2021 +0200

    Add index.md to docs dir
    
    Link to the man pages und reference manual and to the location where the
    API will be built.

commit d17b3221b9943262fb8e30a07a8ea3bdca131c4a
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 10 15:00:17 2021 +0200

    Improve man page index.md

commit 947ba76127853a454d8d0e629942a23c604188c4
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 7 18:33:21 2021 +0200

    Add index.md for man pages

commit 937785005d8ca34805cf6a0eb58ad97691af11d6
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 7 18:16:18 2021 +0200

    Convert man pages to markdown
    
    Still need to add pandoc as a dependency and check for int int the
    configure script.

commit 4323c19bd23d174dbdfed042b1e17f591fa63acc
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 7 14:53:08 2021 +0200

    Reference Manual: Re-arrange index
    
    for better readability

commit 1728bbcbaabdc8c2b07e6787e9fd9ca830f5272d
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 7 10:04:26 2021 +0200

    Add layout for adding manual/ to Github pages
    
    This way the manual can be integrated nearly seemlessly into rpm.org

commit 92a0a6afc41613cae2d78424afb7a4b1a0d899e2
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 6 19:33:15 2021 +0200

    Move man pages into their own sub directory

commit 34172199328dacbd092fae855c95426d027754b5
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 6 19:00:35 2021 +0200

    Rename doc/ to docs/ to work with GitHub Pages

commit d8a169164cf40fc1cf6448792c1fa991f19bb375
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 22 14:50:34 2021 +0200

    Add --nocompression option to rpm2archive
    
    Also use popt for the command line handling. As we are using librpm
    anyway there is no reason to keep the dependencies low (as with
    rpm2cpio).
    
    Resolves: #1530

commit 13c96b26978953aff17bd642328d249820214b12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 15:10:13 2021 +0300

    Fix regression wrt Lua reinitialization (RhBug:1958095)
    
    Commit 2579d3e5ad5d713f2c161b9fb4835366ea4ea291 started storing the Lua
    context in the spec, but this leads to problems as what is actually a
    global context is now stored in two places, and can get out of sync.
    So if you parse a spec, and then reset the global context, you get a
    fancy segfault when the freeing the spec because it's pointing to
    la-la-lua land.
    
    Revert back to always using the global Lua handle.

commit a9678c2dce6abe4b9c7c86a363c999e215ff27bc
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 6 16:02:44 2021 +0200

    Insert space between the "{" and "%"
    
    to avoid gh-pages taking them as Liquid tags
    
    See https://shopify.dev/docs/themes/liquid/reference/tags for details.

commit 847c6f062c267c4be643be9c202141bd330a7891
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 28 10:20:55 2021 +0300

    Ignore comment line contents in macro files (#1659)
    
    Previously %{ and similar in macro file comment line would cause the
    line continuation logic to trigger and silently eat macro definitions
    up to the next empty line. Since 75275a87cff04da65d3557f2c40ea2b526528c4c
    we permit empty lines inside macro definitions, which would cause the
    whole remaining file to be silently skipped (RhBug:1953910)
    
    Only ever parse macro file lines starting with %, and add a test for
    the case.
    
    Actual patch by Michael Schroeder, testcase by undersigned.
    
    Fixes: #1659

commit e6e8c607c22565b591fc48585054c41ce92bdb4e
Author: Christopher Yeleighton <ne01026@shark.2a.pl>
Date:   Thu Apr 29 13:25:55 2021 +0200

    test/README: Improve wording, convert to markdown (#1662)
    
    * test/README: Improve wording, convert to markdown

commit 3c26b1c7018ad1e179d0918fe0149edff8cda6de
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 29 09:58:05 2021 +0200

    Delete horribly outdated "documentation"
    
    about build dependencies

commit 9d55d11e6216e437728cf34753d876b90be945d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 29 13:33:46 2021 +0300

    Doh, add dependency_generators.md to dist tarball too
    
    Should've been in commit e85229828b6fb19ec0f1894ff748e8ad60644b4e

commit e85229828b6fb19ec0f1894ff748e8ad60644b4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 29 13:31:13 2021 +0300

    Add dependency generator page to manual
    
    Should've been in commit f5b24da36d2e63752b57d0d3842ed51fe483e903
    but fell through the cracks.

commit 35739c2a2298e61caacb45157706bf342ffcd20e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 27 10:09:41 2021 +0200

    find-lang.sh: Support long languages names for QT
    
    Most language abbreviations are just two characters but some are longer.
    Allow an arbiraty number of character instead of exactly two in the names
    of .qm files (QT translations). This brings the handling of .qm files in
    line with all other file types.
    
    Resolves: #1642

commit efad86d00150c75f0e50d0a57cdc3f0655a4855f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 26 11:27:34 2021 +0300

    Fix memory leak regression from Lua sources/patches
    
    A leftover ifdef from commit 7f3fdf6868d72fbdef3386345ff39b3744fa4b14
    prevents Lua sources/patches tables from getting properly freed.

commit 1957cc8fd2c2cf3e0acb0bf4092cca1406c882a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 26 11:20:23 2021 +0300

    Fix build regression from 376fef14a61a9748ce004888fe19445719a5d2d5
    
    Since commit 376fef14a61a9748ce004888fe19445719a5d2d5 librpmbuild is
    calling Lua directly rather than through the rpmio wrapper layer, so
    librpmbuild needs LUA_CFLAGS and LUA_LIBS for building. While librpm
    does not currently call Lua directly, make native Lua available there
    as well as it's only a matter of time.

commit 4d04e84ac4421bc3d9c2f9572a10c7980ff8d43f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 26 10:43:47 2021 +0300

    Revert back to implicit database creation for now
    
    The implicit database creation even on read-only access is rooted so
    deep in so many places that this needs more thought and saner APIs.
    While creating databases on read-only access remains a crazy thing to
    do, we need to have a proper solution to point people to when changing
    the behavior, and right now we don't.
    
    This effectively reverts 86f593d5135b00a9dbf7dc6d5efc8b341002aa08,
    d601a7b7ae764b31ad74b2dceff1eafb5297147f and
    afbc2b07839c9ffe9f274f3a4bc2395c76d65472, but adopting 4.16.x version
    of the sqlite open error message to avoid accessing freed handle, and
    leaving the testcase for query on non-existent db in place (just
    changing the expected result) as this is a rather fundamental behavior thing.

commit 7e6fcb3cc69842f7f046c06d85e30721cc1cc582
Author: simmon <simmon@nplob.com>
Date:   Thu Apr 15 18:02:07 2021 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit d3693615fd4544fbcd8d97e322987d4930726665
Author: Tomohiro KATO <tomop@teamgedoh.net>
Date:   Thu Apr 15 18:02:07 2021 +0200

    Translated using Weblate (Japanese)
    
    Currently translated at 93.9% (832 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ja/
    
    Translated using Weblate (Japanese)
    
    Currently translated at 93.9% (832 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ja/

commit 628339557e78d32d167c4a7c58283b761a647759
Author: Jeff Mahoney <jeffm@suse.com>
Date:   Wed Apr 21 14:57:46 2021 -0400

    Handle missing closing paren in %attr rules
    
    parseForAttr is missing the check for the closing paren.  When a malformed
    rule is encountered, the bounds for the end of the rule will be the NUL
    terminator for the string.  When it overwrites the rule with spaces,
    the entire string, including the NUL terminator, will be overwritten.
    
    Later, in parseForSimple, the string will no longer contain a pathname and
    will fail the check for files beginning with /.  Since the string is also
    no longer NUL terminated, the error will contain garbage like the following:
    
    error: File must begin with "/": nÔLó_;^?
    
    Adding the check for the closing paren fixes the issue.
    
    Fixes: #1648

commit 3d0e1e043b9546c5fa3603f6ca40441bb843c0f2
Author: RTann <rtann@redhat.com>
Date:   Sat Apr 24 15:26:11 2021 -0700

    man: fix then vs than
    
    Signed-off-by: RTann <rtann@redhat.com>

commit e1fbd486e9bdd52fa7c5b5efea4ce9de13e48955
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 19 09:55:21 2021 +0300

    Revert trailer offset negation fiddling, too many regressions
    
    Commit c3e04c2ac91737b06ce5592e8cd8558498e566c0 tried to address
    a theoretical issue with undefined behavior but cause a regression
    which was fixed in commit 1efe530450b5bdbd90128327be56c87fa1b6843b
    which introduced another regression: package reading on 32bit
    architectures is broken. Enough is enough. Revisit some day with
    an actual plan.
    
    This reverts commits c3e04c2ac91737b06ce5592e8cd8558498e566c0 and
    1efe530450b5bdbd90128327be56c87fa1b6843b.

commit 4f4b905dae57b98540ea9a75c2bf95effbd809f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 16 16:10:22 2021 +0300

    Argh, fix thinko in commit 42f53a13c4300c046f4f16d91712bb28763da4c3

commit 86f593d5135b00a9dbf7dc6d5efc8b341002aa08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 16 14:06:00 2021 +0300

    Ensure database creation on initial installation
    
    Disabling implicit database creation on read-only handles in commit
    afbc2b07839c9ffe9f274f3a4bc2395c76d65472 broke number of handy
    use-cases such as install to an empty chroot directory, both with
    rpm itself and dnf/yum at least, probably others too.
    
    This minimally resurrects the desired part of the behavior: if people are
    asking us to install something, creating a missing database is probably
    okay to create without requiring an explicit --initdb action first.
    It'll still spit some ugly errors from trying to load the keyring but
    at least it'll work. The harmless errors we can try to deal with
    separately later on.

commit 42f53a13c4300c046f4f16d91712bb28763da4c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 16 15:17:47 2021 +0300

    Fix RPM_MIN_TYPE definition, RPM_NULL_TYPE is not a legit tag type
    
    RPM_NULL_TYPE is not a legit tag type, but RPM_MIN_TYPE is defined
    and used as if it was. Change RPM_MIN_TYPE to 1 to make the MIN-MAX
    range actually relevant, in particular for hdrchkType(). Also fix
    the lone user who in query code who clearly had encountered this very
    issue before but worked around locally...
    
    Reported and initial patch by Demi Marie Obenour.

commit 180afaf3b1a7c5a3b8f31815fde1e398594e22fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 12 14:43:51 2021 +0300

    Print output immediately in rpm.interactive()
    
    Interactive should mean interactive, as in getting the results right
    away and not when exiting the process. The interactive mode hasn't
    gotten much attention along the way...
    
    Fixes: #1215

commit af778d56c2c5ae7051a8b13f48b4b90712f00dcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 12 13:43:24 2021 +0300

    Require stdin and stdout to be tty's for rpm.interactive()
    
    Calling interactive() on a non-interactive session would ... not lead
    to anything good.

commit 4afe2d14d33db82ccb41c0a8d5eb1a4db90762fc
Author: Dmitry Antipov <dantipov@cloudlinux.com>
Date:   Thu Apr 8 15:09:24 2021 +0300

    Simplify pubkey header building code
    
    At makePubkeyHeader(), the key has PGP data collected already,
    so rpmPubkeyDig() is redundant.

commit d20203e7e601bb8090de585b0535f50978896b50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 12:29:10 2021 +0300

    Lend a hand to libmagic for arriving to expected conclusion
    
    file 5.40 requires apparently requires at least three consecutive
    ASCII characters for a file to be classified as ASCII text. This
    doesn't seem at all unreasonable, so add some text to the case
    that has started failing in 5.40 due to misclassified file data.
    
    Fixes: #1616

commit ed0e95a21e1d6cd097f25e56e219d07e45e026b1
Author: Tomohiro KATO <tomop@teamgedoh.net>
Date:   Wed Apr 7 09:02:07 2021 +0200

    Translated using Weblate (Japanese)
    
    Currently translated at 84.7% (751 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ja/
    
    Translated using Weblate (Japanese)
    
    Currently translated at 84.6% (750 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ja/

commit 22622896c033687d6b91d8addeb31ca21c8a1575
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Wed Apr 7 09:02:07 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 64.5% (572 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/
    
    Translated using Weblate (Finnish)
    
    Currently translated at 64.2% (569 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 4fa7590b499192cf8457fa8adc10d96263266661
Author: Emilio Herrera <ehespinosa57@gmail.com>
Date:   Wed Apr 7 09:02:07 2021 +0200

    Translated using Weblate (Spanish)
    
    Currently translated at 70.8% (628 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/es/

commit fbfb3617e9a3411183361670fa0b63a598846869
Author: Guillaume Jacob <abun.lp@gmail.com>
Date:   Wed Apr 7 09:02:06 2021 +0200

    Translated using Weblate (French)
    
    Currently translated at 72.5% (643 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fr/

commit d621da08a1c4cec48fc9a7aa2c2c4e834e76066b
Author: simmon <simmon@nplob.com>
Date:   Wed Apr 7 09:02:06 2021 +0200

    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 66.9% (593 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 62.4% (553 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 58.9% (522 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 57.5% (510 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 57.1% (506 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 54.6% (484 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 45.1% (400 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/
    
    Translated using Weblate (Korean)
    
    Currently translated at 42.2% (374 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/ko/

commit f87145799ae1de904e96f6f79c977a81c896de05
Author: Ricky Tigg <ricky.tigg@gmail.com>
Date:   Wed Apr 7 09:02:06 2021 +0200

    Translated using Weblate (Finnish)
    
    Currently translated at 63.9% (567 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 0950964ab773e27d8915212218c8e0b33ed47b25
Author: Dmitry Antipov <dantipov@cloudlinux.com>
Date:   Wed Apr 7 12:39:29 2021 +0300

    Fix memory leak in Python pubkey constructor
    
    Free PGP data parsed out from pgpParsePkts().

commit aa2ed270120439cf7b57fa42f2765e976ac35677
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 12:10:10 2021 +0300

    Fix 32bit compiler warning in recently added fsm debugging
    
    Commit f9b90179b7c80a170969d9ab4c77c0a311635e3f added debug logging for
    file sizes which are 64bit in rpm, and %lu is not guaranteed to be
    64bit.
    
    Fixes: #1605

commit 911448f2c2d01cace48d2632677fcf07845972ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 10:27:32 2021 +0300

    Revert strict buildroot content checks for now
    
    Turns out people are using %check in various "unexpected" ways, some of
    which are also tied to our long-standing %exclude semantics. We need
    need better %check which doesn't rely on or allow messing with actual
    buildroot contents, but there's simply too much plate for a too short
    a time-frame to try and do that. Revert to old buggy buildroot checking
    to give time to come up with better solutions to the %check issues.
    
    This reverts c1ca2e35025698328edcefa8dedee866d2ea0596 and
    1110c280639b66c89da19a0f831af28845591997.

commit 3e6852a7a1f14a6bc3d4ece9aea6a918f0abebfc
Author: Jerry James <loganjerry@gmail.com>
Date:   Mon Mar 29 09:24:50 2021 -0600

    Fix incorrect rpmarchive_writeto argument string
    
    The current argument string mentions an optional integer argument,
    which does not exist.

commit b31bae7651816571d9891468a82bfd6a5640db14
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Fri Mar 26 03:44:06 2021 -0400

    rpmio: avoid reading past the end of the mode string
    
    This was found by running the testsuite under `-fsanitize=address`.

commit 375bac6ffbc02d96aea0aaa1a8d39a3e53135430
Author: Jerry James <loganjerry@gmail.com>
Date:   Sun Mar 28 13:55:19 2021 -0600

    Remove redundant code in the python interface

commit 75275a87cff04da65d3557f2c40ea2b526528c4c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Mar 26 12:08:38 2021 +0100

    Fix logic error in macro file reader
    
    The old logic always finished adding lines if an empty line
    was encountered, because the check that should guard against
    accessing outside of the read buffer was done at the wrong
    level.
    
    Also simplify the code by letting 'q' point to the new line and
    not before the newline, which also fixes potential undefined
    behaviour.
    
    Also get rid of the unused 'nread' variable.

commit e838c489dbbf37c0476c423a7555ad4672eb075d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 24 09:54:59 2021 +0200

    Revert "Check that len is in range before using it"
    
    This introduced regressions rather than fixing something, len *is*
    in range because it's capped to header size already.
    
    This reverts commit a1344cf2a5447b442af5ef68848e13114051ca63.

commit d8fbddfa5051bdc1c71e16cb11f14d9fdc7f5c5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 10:39:38 2021 +0200

    Better sanity check for header entry counts
    
    The count can never be larger than header data size, which can never be
    larger than 256MB. Most datatypes have further restrictions of course, this
    is merely an outer perimeter check to catch impossibly large values that
    could otherwise overflow all manner of trivial calculations.
    
    Addresses the point I missed in PR #1493 but with a much tighter limit.

commit 190d8bdf3d61f0684f19bda0be906ae04ac957ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 13:32:05 2021 +0200

    Permit secondary index open to fail for bdb_ro
    
    The other backends would want to create the missing index, but as bdb_ro
    is read-only it can't do that. As the main purpose of bdb_ro is to support
    migrating away from BDB for which only the primary database is needed,
    it doesn't make sense to fail it for non-essential data. Let it fail
    for secondary indexes - this might affect our ability to query but
    that's secondary, literally, and we also do emit a warning here.
    
    Fixes: #1576

commit 632b7a30fd4ad7499d194ef768c30024d51349c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 13:29:19 2021 +0200

    Fix bdb_ro index open error handling
    
    open() returns -1 on error, not 0, so this wasn't catching what it
    was supposed to. Drop the error message as this case is better handled
    in the caller.

commit 5ee567ebd600c1dec4a9ceb6161d877d891d8594
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 13:02:16 2021 +0200

    Restore (some) compiler sanity
    
    -fno-strict-overflow tells gcc and clang to handle signed integer and
    (at least on gcc) pointer arithmetic wraparound using twos-complement
    representation like deity intended.
    
    -fno-delete-null-pointer-checks tells gcc not to "optimize" away
    programmer added safeguards. Really.
    
    Suggested by Demi Marie Obenour.

commit b121907eebcb08ef6e321e5ae321fea18a6b830e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 12:51:41 2021 +0200

    Drop excess compiler flags from configure
    
    -D_REENTRANT is a remnant from ancient past, may have been necessary
    with bundled BDB at some point.
    
    -fstack-protector was added in 2008 by much more innocent your struly.
    Hardening flags like are best left for distro policies, drop
    -fstack-protector from our defaults, it has caused all manner of
    trouble as it is (commit f9c69f803f74bd458269c7a06def494ea63387e6,
    c810a0aca3f1148d2072d44b91b8cc9caeb4cf19).

commit 295c522ade98bd51ae674a35607a38276ed13163
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 17 15:12:42 2021 +0200

    Update credits for a change
    
    Lotsa new names, many from translations but otherwise too.

commit f7b97593af5cf818a5c6c5b9bc55bba6d08c9cb0
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Tue Mar 16 11:41:16 2021 +0200

    Optimize signature header merge a bit
    
    Look up possible offending tags from the main header first in a separate
    loop, this avoids having to re-sort after each headerPut() operation.

commit d6a86b5e69e46cc283b1e06c92343319beb42e21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 4 13:21:19 2021 +0200

    Be much more careful about copying data from the signature header
    
    Only look for known tags, and ensure correct type and size where known
    before copying over. Bump the old arbitrary 16k count limit to 16M limit
    though, it's not inconceivable that a package could have that many files.
    While at it, ensure none of these tags exist in the main header,
    which would confuse us greatly.
    
    This is optimized for backporting ease, upstream can remove redundancies
    and further improve checking later.
    
    Reported and initial patches by Demi Marie Obenour.
    
    Fixes: RhBug:1935049, RhBug:1933867, RhBug:1935035, RhBug:1934125, ...
    
    Fixes: CVE-2021-3421, CVE-2021-20271

commit 23f11669f3935dc68a2771e08fb6b05556d07dcb
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Mon Mar 15 13:51:05 2021 -0400

    Better detection of I/O errors (#1566)
    
    It is possible for fprintf to have flushed the stream already, in which
    case fflush will succeed.  Use ferror() to catch that.
    
    Fixes 95a83332ac89e06708741e7074760981a417e64d.

commit 23770e1a4f28c56a31fe600cae332c77333b60b6
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Sat Mar 6 03:23:41 2021 -0500

    rpmsign: support EdDSA signatures
    
    They were previously rejected

commit 8f4b3c3cab8922a2022b9e47c71f1ecf906077ef
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Mon Feb 8 16:05:01 2021 -0500

    hdrblobInit() needs bounds checks too
    
    Users can pass untrusted data to hdrblobInit() and it must be robust
    against this.

commit a651dad00b907e87eac83bf97dd18a4bb0477057
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 11 11:24:27 2021 +0200

    Make the rpmdb keyring type macro-configurable
    
    Using filesystem as keyring is an unfinished development idea from 2008
    which has somehow lingered on ever after.
    
    The fs keyring behavior has potential security problems as it allows any
    package to drop in files at the keyring path, instantly becoming trusted
    keys.  In some scenarios this may be a desireable feature though, and
    apparently some distros (Yocto at least) actually rely on this feature.
    The other issue is that the on-disk and rpmdb variants don't play well
    together, in fact they don't play together at all.
    
    The rpm keyring needs a thorough redesign but until then we don't want
    to force users to adjust to something that is also destined to go away.
    So in the meanwhile, let people choose with a macro which behavior they
    want, using a macro seems the lowest bar to cross. Add new %_keyring
    macro that accepts either `rpmdb` or `fs` values and falls back to `rpmdb`
    unknown/unset values.
    
    Fixes: #1543

commit a8a051349e12b23eda1e94791165dfd1897c81b4
Author: Tomas Orsava <torsava@redhat.com>
Date:   Wed Feb 24 13:07:24 2021 +0000

    scripts/pythondistdeps: Fix for Python 3.10
    
    self.name in PathDistribution is a property in Python 3.10+ and thus we
    can't redefine it as an instance variable. Instead we explicitly define
    it as a property, which works on all supported Python versions.

commit 4c250531e014cd7f39a2a59c7fa699c9ebfdc065
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 19 12:02:12 2021 +0200

    Add query formats for displaying tag numbers and names
    
    Though I added these ages ago along with the arraysize thing, but guess
    not.

commit c3940ad3878c567e06a071a9128056aeb20718e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 10 14:19:08 2021 +0200

    Issue build-time deprecation warnings for unsafe header interfaces
    
    headerLoad(), headerCopyLoad() and headerUnload() have been deprecated
    as unsafe since rpm 4.10, time to start pushing them out for real.
    The first two are unsafe because they don't take argument for size,
    the last one is because it doesn't return one so it forces using the
    unsafe variants.

commit 07858c0d60cb3d19f977aed14842fd7fbf66528f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 10 14:13:36 2021 +0200

    Eliminate remaining uses of unsafe headerCopyLoad() in the codebase
    
    There's no way to safely validate an object to which only a void
    pointer is given. Use headerImport() and pass a size to make
    verification possible, headerCopyLoad() has been long deprecated anyway.

commit 6d61b7118adcc14631b7ee5163a481472af940b8
Author: Radovan Sroka <rsroka@redhat.com>
Date:   Wed Feb 10 17:04:55 2021 +0100

    Fix resource leaks in fapolicyd plugin
    
    Issues were found by coverity scan.
    
    Signed-off-by: Radovan Sroka <rsroka@redhat.com>

commit 95a83332ac89e06708741e7074760981a417e64d
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Mar 1 12:45:10 2021 +0100

    Error out on --eval if stdout write fails (#1444)
    
    Since --eval only has one job - to actually *print* something to stdout,
    we should fail completely if that's not possible due to an external
    error, instead of just not printing anything.  One particular case is
    redirecting stdout to a file on a file system that's full (generating
    the ENOSPC error).
    
    In order to be able to detect such errors, we need to flush the stream
    buffer first; that's because normally, if stdout is not referring to an
    interactive device (a terminal), it is block-buffered, as opposed to
    line-buffered.

commit 9747a6af016a3458d54fe060777c95e3900b5fa4
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Tue Mar 2 12:47:29 2021 -0500

    Fix a tiny memory leak
    
    Found by fuzzing rpmReadPackageFile() with libfuzzer under ASAN.

commit 827ab9ae771feeff0e4c36810ef502eb07654ee3
Author: Hela Basa <r45xveza@pm.me>
Date:   Wed Mar 3 21:56:45 2021 +0100

    Added translation using Weblate (Sinhala)

commit 8ffe2b03d6d7d7818b69670962f4c64a82dc584d
Author: Ricky Tigg <ricky.tigg@gmail.com>
Date:   Wed Mar 3 21:56:45 2021 +0100

    Translated using Weblate (Finnish)
    
    Currently translated at 63.0% (559 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 9fefb22ab8b4838e1168a08b9391fb3333937478
Author: Fábio Rodrigues Ribeiro <farribeiro@gmail.com>
Date:   Wed Mar 3 21:56:45 2021 +0100

    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 74.9% (664 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/
    
    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 74.7% (662 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/

commit cc81e7947b8186affb82db77cb93efd63cb2b30f
Author: Jan Kuparinen <copper_fin@hotmail.com>
Date:   Wed Mar 3 21:56:45 2021 +0100

    Translated using Weblate (Finnish)
    
    Currently translated at 58.1% (515 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit d9d4b8f65ed2248cb9e3fb6ce3dcd243c48ba01b
Author: Izumo Nobuse <yumexyume@outlook.com>
Date:   Wed Mar 3 21:56:44 2021 +0100

    Translated using Weblate (Chinese (Simplified))
    
    Currently translated at 70.3% (623 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_Hans/

commit d601a7b7ae764b31ad74b2dceff1eafb5297147f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 12:43:15 2021 +0200

    Fix regression causing access to already closed sqlite handle
    
    Commit fb5888417727edbd8ce1b389b1b6ee9ac899d8e4 introduced a regression
    where on database open failure we end up accessing the already freed
    handle when trying to report the error.
    
    Now that we're no longer implicitly creating non-existent databases,
    just simplify the whole logic to get rid of it. 4.16.x branch will need
    a different fix, maybe use sqlite3_errstr() instead of _errmsg().
    
    Reported and initial patch by Demi M. Obenour.

commit f9b90179b7c80a170969d9ab4c77c0a311635e3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 11 14:18:37 2021 +0200

    Add diagnostics to archive unpacking
    
    Move to a clearly defined helper function, add fsmdebug output.

commit 505699eb9789543a1b7bcaf8bb654d59b9d2623a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 11 14:06:29 2021 +0200

    Streamline + consolidate the hardlink handling logic
    
    This is one tricksy piece of code, in particular wrt interactions with
    skipped files. Streamline the logic to make it easier to follow, and
    consolidate as much as possible inside fsmMkfile() so there's only
    one place opening, closing and writing to files. Add bunch of tests
    for partially skipped sets.
    
    This actually also fixes a case where metadata does not get properly
    set on a partially skipped hardlink file set (the --excludepath=/foo/zzzz
    case would fail prior to this)

commit 2efdc55e15b21a80dcc414aa95e433c3adf4516c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 11 10:36:28 2021 +0200

    Make file open and close in fsm debuggable
    
    Add debugging facilities to file open and close routines in fsm, rename
    wfd_open/close to fsmOpen/Close to bring the messages in line with
    our other stuff.
    
    Slight reorganization needed for the error paths, in particular in
    case of file close we haven't even been recording the close result
    with can be critical when writing files. Add an error code for close
    failure and return it from fsmClose(), but updating the calling code
    to take this into account is out of scope in this commit.

commit bbd30984dcedd2de4762b96c92b62a32f9448b03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 11 09:54:41 2021 +0200

    Add hardlink helper to fsm to make it debuggable

commit 34f28c1492240c0a02b0abb13af7f1870197e41d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 11:22:41 2021 +0200

    Fix regression from commit 165330b7bf0757e30fa8a6de9998a564fb62796f
    
    With the changed logic, the if-clause can fall through without ever
    initializing s. The exit code condition is getting more complicated
    now so move it to helper variable, assume failure for a safe default.
    
    Fixes: 165330b7bf0757e30fa8a6de9998a564fb62796f

commit a1344cf2a5447b442af5ef68848e13114051ca63
Author: Demi M. Obenour <demiobenour@gmail.com>
Date:   Tue Dec 29 22:58:51 2020 -0500

    Check that len is in range before using it
    
    This prevents integer overflows.

commit 165330b7bf0757e30fa8a6de9998a564fb62796f
Author: Demi M. Obenour <demiobenour@gmail.com>
Date:   Tue Dec 29 22:59:36 2020 -0500

    Avoid incrementing a pointer past the end
    
    The ‘end’ parameter to ‘strtaglen’ might point past the end of an
    allocation.  Therefore, if ‘start’ becomes equal to ‘end’, exit the loop
    without calling ‘memchr’ on it.

commit 210198b180896b9701a668ae027f4b06c13fd88d
Author: Demi M. Obenour <demiobenour@gmail.com>
Date:   Tue Jan 5 15:16:26 2021 -0500

    Clean up rdl calculation

commit 1efe530450b5bdbd90128327be56c87fa1b6843b
Author: Demi Marie Obenour <athena@invisiblethingslab.com>
Date:   Wed Feb 17 02:39:36 2021 -0500

    Ensure negation comes *after* division (#1542)
    
    Ensure negation comes *after* division; unary ‘-’ has a higher precedence than binary ‘/’ in C.  Found by UBSAN and libfuzzer.
    
    Add comment as hint to warn future code readers.

commit c3e04c2ac91737b06ce5592e8cd8558498e566c0
Author: Demi M. Obenour <demiobenour@gmail.com>
Date:   Fri Jan 1 23:31:27 2021 -0500

    Negate the trailer offset after division
    
    This ensures that negation cannot overflow.

commit da55723907418bfb3939cd6ddd941b3fdb4f6887
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 5 15:05:09 2021 +0100

    Add section for %generate_buildrequires to the manual
    
    This was still missing from the Spec syntax documentation

commit a82251b44ee2d2802ee8aea1b3d89f88beee4bad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 14:15:33 2021 +0200

    Handle file install failures more gracefully
    
    Run the file installation in multiple stages:
    1) gather intel
    2) unpack the archive to temporary files
    3) set file metadatas
    4) commit files to final location
    5) mop up leftovers on failure
    
    This means we no longer leave behind a trail of untracked, potentially
    harmful junk on installation failure.
    
    If commit step fails the package can still be left in an inconsistent stage,
    this could be further improved by first backing up old files to temporary
    location to allow undo on failure, but leaving that for some other day.
    Also unowned directories will still be left behind.
    
    And yes, this is a somewhat scary change as it's the biggest ever change
    to how rpm lays down files on install. Adopt the hardlink test spec
    over to install tests and add some more tests for the new behavior.
    
    Fixes: #967 (+ multiple reports over the years)

commit 1c23cff7296cec56379ee41077145c29d6841a12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 11:25:10 2021 +0200

    Handle hardlink tracking with a file state pointer
    
    No functional changes, just makes it a little cleaner as firstlink now
    points to the actual file data instead of a index number somewhere.

commit dcdddd055a63740a13ac923423a43a5940f1b90f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 10:24:22 2021 +0200

    Clarify file installation temporary suffix rule
    
    We only use a temporary suffix for regular files that we are actually
    creating, skipped and touched files should not have it. Add XFA_CREATING()
    macro to accomppany XFA_SKIPPING() to easily check whether the file
    is being created or something else.
    
    No functional changes but makes the logic clearer.

commit 930650a9377ce72b51d56c94f0d077608d6b839e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 10:24:22 2021 +0200

    Clarify file installation temporary suffix rule
    
    We only use a temporary suffix for regular files that we are actually
    creating, skipped and touched files should not have it. Add XFA_CREATING()
    macro to accomppany XFA_SKIPPING() to easily check whether the file
    is being created or something else.
    
    No functional changes but makes the logic clearer.

commit 210431f18338dfa2d579ea86776cd426a72bf971
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 10:08:27 2021 +0200

    Refactor fsmMkfile() to take advantage of the new state struct
    
    Move setmeta into the struct too (we'll want this later anyhow),
    and now we only need to pass the struct to fsmMkfile(). One less
    argument to pass around, it has way too many still.
    
    No functional changes.

commit 924cb31c53dcf60ff0cce650851dba354f383f15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 09:47:19 2021 +0200

    Refactor file install and remove around a common struct
    
    Collect the common state info into a struct shared by both file install
    and remove, update code accordingly. The change looks much more drastic
    than it is - it's just adding fp-> prefix to a lot of places.
    While we're at it, remember the state data throughout the operation.
    
    No functional changes here, just paving way for the next steps which
    will look clearer with these pre-requisites in place.

commit 31a9c5fa079fed7d9f410a6e00272842076692b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 09:57:17 2021 +0200

    Don't update path info if rename failed on file commit

commit 8a9147f7d182e1a5aa55ac019c32a4ba765fae62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 08:25:28 2021 +0200

    Drop unused filename variable

commit 073bcf7ff6d580e5bafee0ef762cf7ce71bc486d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 8 10:45:59 2021 +0200

    Clean up file unpack iteration logic a bit
    
    Handle rpmfiNext() in the while-condition directly to make it more like
    similar other constructs elsewhere, adjust for the end of iteration
    code after the loop. Also take the file index from rpmfiNext() so
    we don't need multiple calls to rpmfiFX() later.

commit 42030e16b85ec9ccce13f2c54e1f522e0e171805
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Feb 15 12:29:26 2021 +0100

    debugedit: Add DWARF5 tests
    
    Adjust some existing tests so they are run with an explicit -gdwarf-4
    and add an -gdwarf-5 variant to make testing independent of the gcc
    default DWARF version. The tests that might generate a DWARF5 line
    table work for both version 4 and 5 and some also ignore stderr output
    when using -p.debug_line_str because some combinations of gcc/binutils
    generate DWARF5 debug info with DWARF4 debug line tables, even when
    -gdwarf-5 is given.
    
    Tested against GCC10, which defaults to DWARF4 and GCC11, which defaults
    to DWARF5.

commit 6b0019cd0c5ae18a59affa49a857b4d610d403e4
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Feb 15 12:29:25 2021 +0100

    debugedit: Handle DWARF-5 debug_line and debug_line_str.
    
    Handle the new DWARF5 .debug_line tables and the new DW_FORM_line_strp.
    DWARF5 tables are handled separately from the earlier tables. They
    will never change size, but they do need updates to the .debug_str
    or .debug_line_str references.
    
    Based on a patch from Jan Kratochvil <jan.kratochvil@redhat.com>

commit a834fccf3c94f78ad6a1b35ae352b1ede183dde4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 15 12:29:24 2021 +0100

    debugedit: Implement DWARF-5 unit header and new forms parsing.
    
    Recognize the various new DWARF5 .debug sections.
    Parse and skip new DWARF5 forms in read_abbrev and skip_form.
    Read DWARF5 unit headers for compile and partial units in edit_info.
    
    This is enough to be able to process gcc -gdwarf-5 produced binaries
    without the new DWARF5 .debug_line format (which isn't produced with
    binutils < 2.36).
    
    Patches slightly edited/merged by Mark Wielaard <mark@klomp.org>

commit 86408cd826c32229817071bd008d9856cda4aca5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 15 12:29:23 2021 +0100

    debugedit: Move code to separate functions.
    
    New functions edit_strp, skip_form and edit_attributes_str_comp_dir
    called by edit_attributes.
    Split part of read_dwarf2_line into a read_dwarf4_line function.
    New function edit_dwarf2_any_str called by edit_dwarf2 at the end of
    phase 0 to rebuild .debug_str.

commit 0d1003bc723ba30bfe325bb51aeafe7dbfed6a5c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 15 12:29:22 2021 +0100

    debugedit: Protect macro arguments by parentheses

commit 7d59ffe684184dd6c2c4a5cea24ea2b6465c616d
Author: Vitaly Chikunov <vt@altlinux.org>
Date:   Sat Nov 14 22:32:44 2020 +0300

    debugedit: Distinguish files from directories in src list file
    
    Append '/' to directories in source file list (for `-l' option) to allow
    quickly distinguish them from regular files (to avoid adding them raw
    into %files section). This is needed for ALT for our debuginfo
    processing to speed things up.
    
    Co-authored-by: Dmitry V. Levin <ldv@altlinux.org>

commit 7f3fdf6868d72fbdef3386345ff39b3744fa4b14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 4 15:49:39 2021 +0200

    Make Lua a hard requirement for rpm
    
    More and more macros, scriptlets and other functionality has been getting
    built around Lua, to the point that it has in practice been required for
    several years now.
    
    Maintaining the pretense of being optional comes at a cost in holding
    back developments and having to check for that theoretical special
    case. Lets make it a hard requirement and embrace it some more!

commit 4ce9ca305646eb8966769205f163b14e193be26c
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 5 15:16:46 2021 +0100

    Fix test cases failing on systems with tape drives
    
    If $TAPE is set tar uses the tape drive instead of stdout as default.
    The rpm2archive test assumed that tar will just use stdout no matter what.
    Force this behaviour per command line option.
    
    Resolves: rhbz#1902844

commit c6c784b70fd87944d724f91a413cbad40f05ebb2
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 5 09:41:11 2021 +0100

    Use "main database" instead of "master database"
    
    to avoid undesired language

commit a9a358a3eba8a846bdd9e4a2594c6dae242c82e0
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 5 09:22:04 2021 +0100

    Remove undesired use of the color white
    
    Use a more descriptive name: allowedchars

commit 551e66fc94668e62910008d047428eb5ec62f896
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 2 15:00:54 2021 +0200

    Remove indirect BDB leftovers
    
    These knobs and tunables were only ever used by the BDB backend which
    exposed all manner of internals to macro configuration. With that gone,
    we don't needs these struct members either.

commit 4290300e24c5ab17c615b6108f38438e31eeb1d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 29 13:01:48 2021 +0200

    Remove support for Berkeley Database backend
    
    Back in 2013, the Berkeley DB license was changed in a way that prevented
    most of open-source world to go along, rpm was no different. We now have
    other options and a standalone migration path from BDB for those that
    haven't yet done so.
    
    Whatever else might be said about this partnership, it has been a long one.
    Now's the time to part ways.

commit abb19a23b9386bb14ac38e65f0b6bdc6bd306ada
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 29 13:01:48 2021 +0200

    Make sqlite the default database backend
    
    In order to get rid of BDB, we have to pick a new default. Sqlite has a
    proven track record over multiple decades in terms of compatibility and
    longevity, and is the "nobody ever got fired for..." choice in this space
    really. It's also developer friendly as the database is easy to inspect
    and a *lot* of people are familiar with it and it's API.

commit 77062e68f8675a678a6d136b85fbe1dd2bdb75f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 2 14:26:48 2021 +0200

    Honor requested file permissions when creating ndb database files
    
    Prior to this, ndb files were using hardcoded 0666 permissions whereas
    rpm generally defaults to 0644.

commit 6e6be7d6ebd5e85c5c8ee7474b476c1038d07af8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 2 14:00:32 2021 +0200

    Fix rpmtsInitDB() argument confusion
    
    Since it's introduction, rpmtsInitDB() has passed the second argument
    directly to rpmdbInit() as permission bits. However commit
    81fef9848051e5068694cde9b3c2be743d5a93e1 incorrectly documented this
    as being related to the db mode read/write *mode*, and also used it
    that way in the python bindings.

commit baf4b9349de529f9ec7cbe20c935b6483a3e1367
Author: A S Alam <amanpreet.alam@gmail.com>
Date:   Sun Jan 24 20:38:31 2021 +0100

    Translated using Weblate (Punjabi)
    
    Currently translated at 0.3% (3 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pa/
    
    Added translation using Weblate (Punjabi)

commit 405fc8998181353bd510864ca251dc233afec276
Author: Vitaly Chikunov <vt@altlinux.org>
Date:   Wed Jan 6 23:43:41 2021 +0300

    rpmio: Fix lzopen_internal mode parsing when 'Tn' is used
    
    When there is number after "T" (suggested number of threads or "0" for
    getncpus), lzopen_internal() mode parser would skip one byte, and when
    it's at the end of the string it would then parse undesired garbage from
    the memory, making intermittent compression failures.
    
    Fixes: 7740d1098 ("Add support for multithreaded xz compression")
    Signed-off-by: Vitaly Chikunov <vt@altlinux.org>

commit 6b21e736a3e47071b33ff7c34e5cfb5447997e18
Author: Siddhesh Poyarekar <siddhesh@gotplt.org>
Date:   Wed Jan 13 22:19:12 2021 +0530

    Also check DT_RUNPATH when looking for rpath issues
    
    DT_RPATH has been deprecated in favour of DT_RUNPATH for some time now
    and both have similar functionality.  RUNPATH is less infectious,
    i.e. it does not affect search paths for dependency resolution of
    dependencies, but that only limits the issues insecure paths may cause
    and does not eliminate them.
    
    It is therefore necessary to check both RPATH and RUNPATH for the same
    issues.

commit 5d3e699880b5db5b63c7a2543c7fb0190832a028
Author: Tomasz Kłoczko <kloczko.tomasz@gmail.com>
Date:   Sat Nov 16 16:49:11 2019 +0000

    Add popt to our pkgconfig dependencies
    
    Fixes: #939

commit f67d239ccd709d44f5258a5ead01502a0b437d48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 25 14:29:08 2021 +0200

    Actually report the involved macro names in macro tracebacks
    
    Should make macro debugging a little saner, including but not limited
    to Lua.
    
    Fixes: #545

commit 5bfb49d6b7539691d5ca4b81577082fe27036f24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 25 13:38:53 2021 +0200

    Conditionalize macro traceback dump on rpm verbosity level
    
    Only dump out macro tracebacks in verbose mode, which incidentally
    rpmbuild normally runs in.
    
    Sadly our tracebacks are not as useful as they could be, but improving
    that is a separate topic...

commit c145a6c86a1c30808006857e34dee4d398ce57c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 25 12:18:27 2021 +0200

    Revert "Redirect macro stack backtrace printing to debug log."
    
    The rationale behind the change was to suppress the excessive output
    when trying to expand a recursive macro definition (RhBug:613010) but
    this is not so good as it effectively suppresses *all* backtrace output,
    include those requested by %trace where the other half is printed to
    stderr and the other half in the debug log because of the change.
    
    Besides making things consistent, this also avoids deadlock on
    `rpm -vv --eval '%trace'`.
    
    This reverts commit 7f220202f20c69d6f3fd957325cdbe692bbabedd.
    
    Fixes: #1418

commit 39595ccee321497dc3b08c7cab8a10304345429c
Author: Radovan Sroka <rsroka@redhat.com>
Date:   Tue Oct 27 16:18:04 2020 +0100

    Added fapolicyd rpm plugin
    
    Fapolicyd (File Access Policy Daemon) implements application whitelisting
    to decide file access rights. Applications that are known via a reputation
    source are allowed access while unknown applications are not.
    
    The rpm plugin allows us to use rpm database as a source of trust.
    We used dnf plugin since the beggining but it only provides notification
    when transaction ends. With "integrity checking" requirement we need
    a continual addition of files which are installed during the system
    update. With fapolicyd rpm plugin we can allow using of recently
    added/updated files in scriptlets during rpm transaction.
    
    The fapolicyd plugin gathers metadata of currently installed files.
    It sends the information about files and about ongoing rpm transaction
    to the fapolicyd daemon. The information is written to Linux pipe which
    is placed in /var/run/fapolicyd/fapolicyd.fifo.
    
    The data format is "%s %lu %64s\n". [path, size, sha256]
    
    The fapolicyd rpm plugin can be enabled with "--with-fapolicyd"
    configure option.
    
    Related PRs:
    https://github.com/linux-application-whitelisting/fapolicyd/pull/105
    https://github.com/linux-application-whitelisting/fapolicyd/pull/106
    
    Signed-off-by: Radovan Sroka <rsroka@redhat.com>

commit 986be669fb037ae0e2049a2022c4fdfa05da6747
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 13 12:28:15 2020 +0300

    Implement a table-like shortcut to rpm macros in Lua
    
    Add rpm macro context as a global table-like entity named 'macros' for
    a more Lua-native experience with rpm macros.
    
    Support basic indexing syntaxes (macros[k] and macros.k) for access, define
    and undefine operations. Undefined macros return nil here and assigning
    to nil will undefine (pop) the macro.
    
    As a specialty, parametric macros are returned as native callable
    variadic Lua functions. A string argument is passed to expand as is,
    but if arguments are passed as a table, eg `r = macros.foo({1, 2, 3})`,
    they are passed entirely as-is.
    
    The macro context pointer in the userdata is not consistently used for
    all operations here, but then all the macro operations in Lua are hardwired
    to the global context anyway so it doesn't matter in practise. Properly
    passing the context around in all cases is left for later commits.

commit c072ef6bb8cd8ad5bb02263a44f1cc0aa51d72a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 22 12:40:36 2021 +0200

    Let %define and %global take name and body as separate arguments
    
    doDefine() wants macro file-style "name body" string as an argument, but
    when called through rpmExpandThisMacro() you'd expect to put the name
    and body in separate arguments. Properly handling this in the macro engine
    guts is more than I'm prepared to do at the moment, but we can detect
    the multiple arguments case and turn the arguments into something that
    doDefine groks.
    
    This will matter when we add support for calling macros as native Lua
    elements.

commit 5e40166380a450a36b302914be60fd004624f724
Author: Demi Marie Obenour <demiobenour@gmail.com>
Date:   Wed Jan 13 15:54:17 2021 -0500

    Tag data must have count greater than zero
    
    Zero counts are invalid, and they cause problems elsewhere.  For
    instance, strtaglen() will suffer an integer underflow.

commit 11f7c13e15332f5c4944157cba07405f122d81fa
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 22 16:09:58 2021 +0100

    Prevent patch asking questions during build
    
    Builds should always run unattended and never require user interactions.
    We also don't want unser input to affect the result. Without any options
    patch will ask for files to patch or whether it should reverse pachtes if
    they could be applied then.
    
    As -t aka --batch does reverse patches and skips patches with wrong version
    for the Prereq: line it is not suited for rpmbuild. We rather want the
    build to fail than silently drop (possibly security relevant) patches.
    
    We would prefer patch to error out when ever the patch looks not quite matching
    but -f aka --force is the option available closest to that.
    
    See man patch for details
    
    Resolves: #978

commit 715f72249cbd3d77d5c39385108cecacbb6991ca
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 30 09:57:55 2020 +0100

    Relicense find-lang.sh under the MIT license
    
    as the previous license is ambiguous about its support for modification
    and does not carry a warranty disclaimer. MIT license is close to the origial
    license in intent but more legally sound.
    
    This is done with the consent of the original author
    
    W. L. Estes <wlestes@uncg.edu>
    
    who was contacted by Tom Callaway <spotrh@gmail.com> by mail
    
    and the following contributors:
    
    Arkadiusz Miśkiewicz <arekm@pld-linux.org>
    Florian Festi <ffesti@redhat.com>
    Panu Matilainen <pmatilai@redhat.com>
    Per Øyvind Karlsen <peroyvind@mandriva.org>
    Ville Skyttä <ville.skytta@iki.fi>
    
    who gave their permission in the GitHub ticket
    (https://github.com/rpm-software-management/rpm/issues/595).
    
    Resolves: #595

commit c243d061836585dbafa85cd60b3b2bf470a8219c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 25 16:39:51 2021 +0200

    Document rpm API thread (un-)safety
    
    Fixes: #1483

commit b3e30d9d723fd0a395abd6981a47a86e5dba79b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 22 15:46:22 2021 +0200

    Rename %apply_patch to make it clearer it's an internal thing (#1357)
    
    %apply_patch was never intended to be called directly, lets make this
    more obvious by adding preceding underscores.

commit 2621569a7e4f144b4599cdf282f30f0e5cb081d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 18 12:58:31 2021 +0200

    Support failing build on duplicate files (#1158)
    
    Add macro %_duplicate_files_terminate_build to allow terminating build
    on duplicate file-list entries. As there are common packaging scenarios
    where duplicates are kind of required to achieve a thing reasonably
    (eg a directory full of files and just one of them needs different
    permissions/flags), default to off until we grow a way to better deal
    with that.
    
    Fixes: #1158

commit 48c0f28834eb377a54f27ee0b6950af7e6d537b8
Author: Fábio Rodrigues Ribeiro <farribeiro@gmail.com>
Date:   Mon Jan 18 18:37:03 2021 +0100

    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 74.7% (662 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/

commit 6b777e77c701b5716f4c2204a9de681ddf40edf3
Author: Ricky Tigg <ricky.tigg@gmail.com>
Date:   Mon Jan 18 18:37:03 2021 +0100

    Translated using Weblate (Finnish)
    
    Currently translated at 56.9% (505 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/fi/

commit 2150970aa64f534bd5bafb2e6aae963b7b7b9a49
Author: José Lemos Neto <lemosjosex@protonmail.com>
Date:   Mon Jan 18 18:37:03 2021 +0100

    Translated using Weblate (Portuguese (Brazil))
    
    Currently translated at 73.7% (653 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pt_BR/

commit 3cf9b456a61c82164567c1569d6e6ab5320a0ef9
Author: Omer I.S <omeritzicschwartz@gmail.com>
Date:   Mon Jan 18 18:37:03 2021 +0100

    Added translation using Weblate (Hebrew)

commit 965aae536d5fe05469b4f9d5cfe7a9ab17c8c0e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 18 13:46:25 2021 +0200

    Document dependency qualifiers (#1089)
    
    Add brief explanations on all our qualifiers and their semantics.
    Also fix the terminology to use "qualifier" rather than "context".
    
    Fixes: #1089

commit f29c43728c492b1dbfe50136d33bf12f3704d8a0
Author: Demi Marie Obenour <demiobenour@gmail.com>
Date:   Sat Jan 9 23:42:56 2021 -0500

    Verify that data does not overlap region trailer
    
    This is already checked for other header entries.

commit 98565f9ed227f5d7d8741c5b16d434e72685f0a1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 18 15:04:47 2021 +0100

    rpm2archive: Use last part of URL as file name
    
    when getting a file from an URL. This prevents trying to write the file
    at the location of the full URL which fails most of the time.
    
    Related: #1091

commit f1634250587479d664b34b6de1a6546b2c2b9de5
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 18 15:02:34 2021 +0100

    rpm2archive: Add more error handling
    
    Cleanly error out if file can't be written instead of segfaulting
    
    Resolves: #1091

commit ec3756c72a24048bd62e48cf0f98f9c4f3c41f17
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 18 10:07:29 2021 +0100

    rpm2archive: Remove unneccesarity parameter

commit fa97556a68c9690605225f1a84466359c059dd98
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Jan 18 16:02:04 2021 +0100

    Fix out of bounds read when parsing the xz thread number
    
    The read happened if there was no number after the 'T' option.

commit 4345ee06f44f56db6963fc621e1f0bc2d8d21435
Author: Morgan Thomas <m@m0rg.dev>
Date:   Sat Dec 12 13:11:31 2020 -0800

    Support building on aarch64 macOS
    
    Previously, trying to run rpmbuild on a M1 machine returns "error: No compatible architectures found for build".
    Since RPM detects its architecture on macOS just by looking at what architecture flags are defined at compile time, this adds a clause to detect aarch64.

commit fd519223ae91f254a913c26f09c1289bf687e277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 8 14:10:03 2021 +0200

    Drop unused brp-strip-shared buildroot policy script
    
    AFAIK unused since its introduction in 2000, at least it hasn't been
    enabled in rpm itself although brp-strip kinda expected to be paired
    with it: as it was, libraries and other entities such as PIE executables
    were not getting stripped when debuginfo generation was turned off.
    
    brp-strip is now taking care of it all, lets remove this maintenance burden
    and source of confusion.

commit 0ab151ab138fd4fb6d3176fd0270d9cc6f4623f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 8 13:59:59 2021 +0200

    Ensure ELF files get stripped when debuginfo is disabled
    
    Depending on libmagic version, PIE executables can be reported as
    "shared object" avoiding the strip. And so will any libraries because
    we're explicitly skipping them for whatever historical reason - perhaps
    because there's a separate script for stripping the libraries, but that
    has been never enabled in rpm, and relying on "file" strings to do this
    is hopelessly unreliable.
    
    Also drop file permissions checks: making shared libraries executable
    just to have them stripped is not sensical, especially in the light of
    commit 80818e4f902ba3cf85e4cfcd8a7a4c71c601f3cf
    
    Reported once upon time as RhBug:988812 and later RhBug:1634084

commit cb6aa82dbc10d554f8d234e934ae7c77e39a3ce2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 12 13:35:23 2021 +0200

    Unblock signals in forked scriptlets
    
    Since commit c5f82d3f6223ebd0c5cc0a07ea60393ae7284929 we've blocked
    most signals during transactions, which makes sense to rpm itself but
    the signal mask is inherited to childs and carried even across exec(),
    so all scriptlets are executing with those signals blocked as well.
    Which in turn does not make sense, the scriptlets could run stuff that
    actually depends on signal delivery (such as SIGALARM in RhBug:1913765).
    
    Unblock all signals for forked scriptlet execution (Lua scriptlets are
    totally different as they execute in-process for now)

commit 1c6d2f9352537fe391237e292566224ca7d22515
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 14:54:45 2020 +0200

    Add test for libtool versioning sanity
    
    Test that the shared objects created during compilation matches the
    expectations of the person bumping the libtool version, which is oh
    so easy to get wrong. This of course needs to be skipped for static builds.

commit 70f2a0287357ae880a6f9ee9c87ee2d472824c66
Author: Marc Seeger <mseeger@fb.com>
Date:   Tue Dec 22 08:20:03 2020 -0800

    Add darwin support to NDB.

commit 8b635e2016931ec5bb7dddd6608c09b0b16f7b8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 16:14:58 2020 +0200

    Add bunch of docs on spec tags and file virtual attributes

commit 9fd327ff91c2ac60dfa98419056df2333d448b6c
Author: Steve Kowalik <steven@wedontsleep.org>
Date:   Wed Nov 4 14:03:11 2020 +1100

    pythondistdeps: Switch to importlib.metadata
    
    Stop using the heavy-weight pkg_resources and switch to a subclass of
    importlib.metadata. This does add a dependency on packaging as well for
    requirement and version parsing. I have also removed the comments about
    the attempted rewrite, since I have addressed many of the concerns.

commit 5ce2b5e3121aa07eb1ccf2bc24443c1536bf94d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 11 10:12:33 2020 +0200

    Fix brown paperbag regression in c223d84fbf1ebb7a862f297e65878a2a78653e8e
    
    Only call free on the success path, getaddrinfo() is like most this
    type functions and only allocates on success and so, in failure we'd
    end up freeing an uninitialized pointer.
    Reported by Scott Andrews on rpm-list.

commit 0644e4e79c841b03d606fc8bb035ec311f4bfb17
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Dec 1 13:42:45 2020 +0100

    Allow database probing if _db_backend is not set
    
    There is no harm in allowing read access in this case. We still
    error out in the database rebuild case, just to be on the safe
    side. We now have the following logic:
    
    _db_backend unset:
      * error out for rebuilddb or read-write access
      * use detected backend and print a debug message
    _db_backend unknown:
      * error out for rebuilddb or read-write access
      * use detected backend and print a warning message
    _db_backend set:
      * use detected backend and print a warning message if it
        does not match the configured backend

commit dfffedb5ebe46e039c0313b3d2fb939dfc63efd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 2 12:19:15 2020 +0200

    Fix 4.16.0 regression causing invalid spec file name on rpmbuild -ts
    
    Commit acf5e00281d73a2f8034091241c7b0e2ba00e383 cut a couple of corners
    too many, causing the temporary file name used to extract the spec from
    the tarball to end up in the src.rpm too.
    
    Revert back to creating %_specdir for tar builds, it might not be
    optimal but it's not exactly harmful either (%_sourcedir is different).
    The "truly correct" solutions get increasingly complicated for such
    a silly thing as this is. In addition to creating the %_specdir, we
    also need to rename the file to its proper name, simplify that code
    a bit while at it and add a test-case.
    
    Fixes: #1386

commit 89c6a9d607e2c2ea3f2ece5376f493525665eb28
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Dec 3 15:11:57 2020 +0100

    Really disable OpenMP if too old
    
    Fix up for commit 6a780f1.

commit 05fada7c9a1ef22bd310a9be4c6c06a4d2dd581d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 30 14:05:06 2020 +0200

    Pull CI image from registry.fedoraproject.org
    
    Dockerhub has added download rate limiting (and who could blame them)
    But our CI getting blocked because of other projects being busy
    downloading from Docker isn't so nice, hopefully Fedora's own registry
    lets us work around this.

commit 43148cb9a76c5c89eb14a4f73491ee18572a65fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 26 10:30:21 2020 +0200

    Change %dump macro to "func" style now that we can
    
    %dump macro takes no arguments of any kind, it just eats the rest of
    the line which doesn't make any sense whatsoever. So while this
    theoretically changes %dump behavior, the behavior actually changed
    a few commits back with the calling syntax unification: %dump never
    took actual arguments, so it'll now just error out if there's text
    on the same line where it previously ignored that. Unless you use
    %{dump} that is.

commit aec8bdb53a3013eabf16368e17a65ab69c2136ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 26 10:23:06 2020 +0200

    Change %undefine macro to "func" style now that we can
    
    %undefine parsing its own argument makes no sense whatsoever,
    it's just a name and nothing special. Now that the calling syntax
    is no longer an issue, make it sane. No functional changes.

commit 78bb7369a3166a42a3ab0c2b2af21e510af93d5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 11:48:21 2020 +0200

    Specify number of expected arguments for builtins in numbers
    
    No functional changes here, but going forward this gives us more
    flexibility than the ME_HAVEARG. We could also extend this to support
    mandatory arguments to user defined macros too.

commit cfaf1c62923ea344ce52c36d580829a00c39ced2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 11:19:16 2020 +0200

    Unify builtin macro calling now that we can
    
    Now that both types use identical function signature, we can trivially
    unify the calling code for both, simplifying things somewhat, make
    the non-braced syntax for built-in macros work, and regain type safety.

commit 1c964243b5f27d0b972337b31df8afadb4e5e58d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 11:09:24 2020 +0200

    Change func-macro types to return a number (always zero)
    
    No functional changes, but look mom, we have identical signature for
    both builtin macro types!

commit f5f9764e6da00d22b1361d1186d910c6ea0cb43e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 11:05:43 2020 +0200

    Change builtin "parse" type macros to take their arguments via an argv
    
    No functional changes here and not sure if/how these would ever take
    multiple arguments, but there's another treasure at the end of
    this particular rainbow...

commit 3d3f717d28c14cbd2aca28d0e7e5f3808d4cc2ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 10:24:03 2020 +0200

    Change builtin "func" type macros to take their arguments via an argv
    
    No functional changes here, but opens the door for builts accepting
    multiple arguments.

commit 1e3f40b14ef2a08920149c4a7f14e312843599d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 13 10:40:21 2020 +0200

    Put an insulation layer between source line parsing and macro arguments
    
    Change parse-type macros to return number of consumed characters rather
    than a pointer to the parsed string to separate the two.

commit 1de248d440ce749eb36d64a49a87f9443b5222f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 12 12:45:01 2020 +0200

    Unify builtin and user-defined parametric macro calling syntax
    
    Accept both %{foo:arg} and %{foo arg} notation for both builtins
    and user-defined parametric macros, the former only ever has one
    argument whereas the latter can have multiple.
    
    "parse" type builtins such as %define are trickier and only work with
    traditional syntax for now.

commit 8901a6be1652519c4875436e29e0a663be0790b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 24 11:36:53 2020 +0200

    Generate requires for "pure" ELF DSO's regardless of executable bit
    
    ELF ET_DYN files can be shared libraries, executable files or both.
    Requiring shared libraries that cannot actually be executed (or segfault
    when you do so) is dumb, but rpm has traditionally required executable
    bit to be set for requires to be generated.
    
    Refine the definition of "executable" to mean files that actually *can*
    be executed, ie those with PT_INTERP and whose actual behavior depends
    on whether the executable bit is set or not.
    
    In other words, pure shared libraries will have requires generated
    regardless of their permission, but executable files can still disable
    that by disabling the on-disk executable bit because unlike shared
    libraries, they only require anything when being executed.
    
    Also add rudimentary testcases for the scenarios involving a shared
    library, traditional binary and a PIE binary. The test material needs
    to be pre-built as we cannot predict what dependencies building on an
    arbitrary compiler on arbitrary platform may have, but source is
    included for manually regenerating as needed.

commit afbc2b07839c9ffe9f274f3a4bc2395c76d65472
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 23 13:57:56 2020 +0200

    Disable implicit database creation on read-only handle
    
    If somebody is opening a database in a read-only mode (eg for query)
    then we really have no business to *create* such database if not existing.
    Update all backends to error out instead of trying to create the database
    or its directory when opening read-only, add a test for this specific
    behavior.
    
    This implicit discard of read-only flag is such a long standing behavior
    that this is likely to break stuff here and there.

commit 3cb955b77f07c70ba01d765aa6377908847608f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 23 13:46:14 2020 +0200

    Only attempt loading the keyring once the rpmdb is open
    
    When we do lazy rpmdb open in rpmtsInitIterator(), we also do a lazy
    keyring open. Except that since the keyring typically lives in the rpmdb,
    we PROBABLY should try open the database first. One of those "WTF I've
    been smoking" moments, lol.
    
    Prevents an ugly if mostly harmless double error anything we can't open
    the database for one reason or another.

commit fd054a40b2ba005571455d749de0423975e77651
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 13:56:14 2020 +0200

    Stop on first failure when trying to open a database (RhBug:1898301)
    
    If an index open fails there's no point trying to go on, things are
    not going to work and at least BDB will segfault in some cases...

commit 80818e4f902ba3cf85e4cfcd8a7a4c71c601f3cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 13:00:41 2020 +0300

    Add a build root policy for removing executable bits from shared libraries
    
    Rpm has traditionally used executable bit on files to determine whether
    requires for that file should be generated, but the downside is that we
    have systems full of executable files that cannot actually be executed.
    When available, use eu-elfclassify to determine files that are pure,
    non-executable shared objects and remove executable bits from them
    as a buildroot policy. This preserves the traditional behavior wrt
    dependency generation but gets rid of the unwanted executable bits.

commit ee5dd3ccb9fe084251f4c0195907a04a4bdc77e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 23 15:00:02 2020 +0200

    Improve error handling in Python pubkey constructor
    
    pkgParsePkts() only parses the PGP armor, the actual pubkey is only
    parsed as a part of rpmPubkeyNew() whose return we need to check for
    separately. Emit different messages in these cases.
    
    Thanks to @KOLANICH for pointing this out and initial patch.

commit e526a0af17455c8233a793998daa787f58f35500
Author: Vitaly Chikunov <vt@altlinux.org>
Date:   Sat Nov 14 18:14:28 2020 +0300

    debugedit: Do not 'edit_dwarf2' when just extracting build-id
    
    No need to call edit_dwarf2() if debugedit is invoked just to extract
    build-id (with `-i -n'). Otherwise, we will get `DWARF version 0
    unhandled' warning for compressed .debug files:
    
      /usr/lib/rpm/debugedit: ./usr/lib/debug/...e.ko.debug: DWARF version 0 unhandled
    
    Context: We have kernel modules elfcompressed in ALT.

commit 1110c280639b66c89da19a0f831af28845591997
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 19 16:29:17 2020 +0200

    Really require everything in buildroot to be packaged
    
    Previously we only checked for unpackaged files and symlinks, completely
    ignoring eg extra directories that might be there. Just check for everything
    instead. Related to #994.
    
    Directories are a little tricky as some of them are almost always unowned
    so we need to allow all path components leading to packaged files. This
    would be a *lot* of relatively expensive lookups, but we only need to do
    the dance when the directory index changes, and we can stop when no new
    paths get added to the pool.

commit c223d84fbf1ebb7a862f297e65878a2a78653e8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 9 10:24:51 2020 +0200

    Eliminate use of obsolete gethostbyname() function
    
    We only actually used gethostbyname() for canonicalizing buildhost,
    convert that to use getaddrinfo() instead, which actually has an
    option for retrieving exactly what we want.
    
    The other "use" was to initialize name services, but as we don't need
    or use hostnames for any operation, we can just as well drop it. User
    and group names are what we care about.

commit c1ca2e35025698328edcefa8dedee866d2ea0596
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 10:11:39 2020 +0200

    Require everything in buildroot to be packaged (#994)
    
    The intent of %exclude was always to merely support sub-packaging with
    wildcards in %files sections, not to permit leaving junk in the buildroot.
    Enforce this by checking against the actually packaged contents rather
    than everything we encountered during collection, and document the
    behavior.
    
    This has been widely abused so the change is likely to break quite a few
    packages in the wild. As a side-effect this also cures a long-standing bug
    where unpackaged excluded files leak their debuginfo into packaged contents,
    as such a package will now fail to build at (RhBug:878863)
    
    As a nice side-bonus, this also gets rid of the ugly static check_fileList
    buffer - besides being ugly, such things are bad for parallelism.
    
    Fixes: #994

commit 13585fbbe83eb177b13d86c2d6f11ff41a68d07e
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date:   Tue Nov 10 18:20:24 2020 +0100

    configure.ac: fix cross-compilation
    
    Use AC_COMPILE_IFELSE as AC_RUN_IFELSE raises a build failure when
    cross-compiling
    
    Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

commit fb5888417727edbd8ce1b389b1b6ee9ac899d8e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 10 12:52:13 2020 +0200

    Fix a minor memory leak on failed sqlite database open (RhBug:1896301)
    
    Curiously, sqlite allocates resources that need freeing even in case
    of failure to open. Quoting from https://www.sqlite.org/c3ref/open.html:
    
    > Whether or not an error occurs when it is opened, resources associated
    > with the database connection handle should be released by passing it to
    > sqlite3_close() when it is no longer required.
    
    I disagree, but as it's documented behavior there's no point filing a
    bug. So lets close the non-open connection and chug on.

commit f9c7b53f50adc129baee809692d4c80b3bd15432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 9 09:03:58 2020 +0200

    Only do early name services initialization if we actually chroot
    
    There's no point or need to do all this fluff on library initialization,
    we can just as well do it when we're told to use a chroot by
    calling rpmChrootSet(), at which time we're still on familiar ground.
    Eliminating unused cruft from initialization can't hurt our start-up
    times either.

commit 814a1247cd67524af76392ddb81e7dd83b6bfa1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 12:02:53 2020 +0200

    Support testing for builtin Lua with a macro conditional
    
    Only define builtin %{lua:...} if actually compiled with the support.
    This loses the "informative" error message about the situation but
    I think ability to test feature presence is more useful and important.

commit 04ab1f512931a84c2c9101d15341127c7789635d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 11:43:49 2020 +0200

    Move the builtins table below the referenced functions to lose clutter
    
    No code or functionality changes, just shuffling code to get rid of
    redundant declarations.

commit ea6431c521e893e6350b17a924bff6ab4b95390d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 11:24:56 2020 +0200

    Make builtin macros honor generic macro conditionals

commit 1d83ec55d654c46ef428a5ec49de160bb51f872b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 11:16:39 2020 +0200

    Lose now unnecessary chkexist and negate arguments to builtin macros
    
    No functional changes.

commit 413c85f131d7d98cc4ff55199023345c771df7a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 11:10:29 2020 +0200

    Drop support for undocumented %{!trace} builtin syntax
    
    We can always add some other syntax to handle this if needed.

commit f955bc69d00ded54ccc9137b5aaf79e78ec7b5ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 10:55:41 2020 +0200

    Drop undocumented special conditional syntax from %{load:...} builtin
    
    %{load:...} supported strange conditional syntaxes that conflict
    with general macro syntax. Drop support for these undocumented
    variants, people can use %{exists:...} to test for file existence
    before trying to load a macro file.

commit 7b25e19803c01ce9311fa6d592c64b254de01fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 10:52:44 2020 +0200

    Add %{exists:...} builtin macro for testing file existence

commit d649c2aa3b01842a1223acd53412eee9b4e2f572
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 09:45:31 2020 +0200

    Change builtin %{verbose:...} to return a simple 0/1 boolean
    
    %{verbose:...} supported a special syntax of negation with %{!verbose}
    but this conflicts with general macro syntax. Now that we have
    expressions we can easily handle arbitrary conditions using generic
    syntax but %verbose semantics need to change for that: lose the argument
    and just return a simple boolean reflecting whether rpm is in verbose
    mode or not.
    
    This is obviously an incompatible change, but few things outside rpm itself
    should care about this anyhow.
    
    Update the sole user (build scriptlets) to use an expression instead
    (whee, the first actual in-tree user!), documentation and testcases
    accordingly.

commit a9bae82f699a9b112c8802eebe5da9fff5a8f34b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 5 11:31:44 2020 +0200

    Simplify & unhackify dependency generator command construction
    
    Despite ultimately having the same exact options and arguments, parametric
    and non-parametric generators receive them in such different manners that
    trying to handle them together only makes things more complicated.
    Pass the main macro name around and let the runFoo() calls construct
    the arguments as fits the case.
    
    This also lets us take advantage of rpmExpandThisMacro() for calling
    parametric generators, eliminating the need for the %1 macro argument
    hack.

commit 561c59db1ba3005ea752d15f1d79e097f29770f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 5 14:13:56 2020 +0200

    Convert some obvious cases to use rstrndup() instead of manual work
    
    The net win in terms of LoC is not that big but it does make things
    that little more readable and obvious.

commit fa29c0da80281d569e33f8211fb715e454e538f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 5 14:07:06 2020 +0200

    Implement strndup() equivalent using rpm alloc failure system
    
    rstrdup() becomes just a special case of this. How come this hasn't
    been added earlier?

commit 1eeb0aed882c1fbb9625ac9495867881ebe40bde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 13:53:01 2020 +0200

    Run CI doxygen with -Werror equivalent
    
    Prevent stupid mishaps like the @paran in in argvAddN() going in.

commit 77c83ea6d950f1bf8b0dc70d0dcd638dd2795dfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 13:52:29 2020 +0200

    Fix typo in argvAddN() API docs, doh :(
    
    Should've been in commit b918189bbd2baa2c070eb0ae79dfed5d0c724e58

commit c856728b64be2b2b488f51197eef2ad3d79245f7
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Oct 28 10:23:32 2020 +0100

    Translated using Weblate (Polish)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/pl/

commit d1662783e3f7ca853d5acf133877bc7869b6761b
Author: Oğuz Ersen <oguzersen@protonmail.com>
Date:   Wed Oct 28 10:23:32 2020 +0100

    Translated using Weblate (Turkish)
    
    Currently translated at 46.2% (410 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/tr/

commit b918189bbd2baa2c070eb0ae79dfed5d0c724e58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 4 12:58:04 2020 +0200

    Implement argvAddN() API for adding partial strings to argv arrays
    
    Support adding partial / non-terminated strings to argv without having
    to jump through hoops at the call site. argvAdd() becomes just a special
    case of argvAddN().

commit fc31fec661a72c5eb3b8532c6fe16c57029af253
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 3 14:27:46 2020 +0200

    Pass their own macro entry as an argument (ie self) to all builtins
    
    No intended functional changes, but it's one argument less to pass
    around, brings builtins one step closer to how user defined
    macros are called and is a step towards supporting options to
    builtins as well.

commit ded0282b057a4e5e00c46fca206a31413ffe4eb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 22 11:11:39 2020 +0300

    Lose now unnecessary name length member in builtin macro table

commit 94e2c299e2c6cff38b294d7e545eea0e97a85705
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 3 12:03:11 2020 +0200

    Handle builtin-macros as defined entries in the macro table
    
    Add the necessary infra to pass and carry a function pointer in the macro
    entry, define builtins as part of macro initialization and switch
    the main expansion loop to use the macro entry info instead of special
    builtin lookup.
    
    This has various nice benefits, such as allowing simple testing whether
    rpm supports a given primitive by testing whether said macro is defined
    and a small performance boost as an extra lookup for the builtins is
    eliminated from all macro expansion cycles.
    It also paves way for later implementing various spec constructs as
    actual macros instead of the confusing pseudo-macros they are now.
    
    Apart from builtins showing up as defined and macro initialization now
    being mandatory, this is not supposed to change any concrete behavior.

commit f691cab7a45b084f4b597d98d203a30a1a572ee3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 22 10:56:28 2020 +0300

    Always copy cli macros in rpmInitMacros()
    
    Even if macrofiles is NULL we (may) have other initialization tasks
    to do, always grab the context lock and mind segfaulting when loading
    files if macrofiles is NULL.

commit f9a4c0a39a377d36b0483d7373fc99d4b60aeffb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 22 10:23:05 2020 +0300

    Move builtin type information to flags bitfield
    
    Compacts things a bit and allows for more flexibility later on,
    unfortunately at the price of losing type safety. No functinal changes,
    just paving way for next steps.

commit 98b71f7a92e8e9d902e2bfcd6c30af84dd80289b
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Oct 27 14:51:14 2020 +0100

    Remove common code from expandMacro() and expandThisMacro()
    
    Add a mbInit() function that allocates the buffer, increases the
    expansion depth and stashes some values into a MacroExpansionData area.
    Add a mbFini() function that decreases the depth again,
    restores the values and optionally prints the expansion result.

commit a2e60c0a507b471eaa2ecf6b316e17a9f1b770b8
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 26 12:21:49 2020 +0100

    Add new rpmExpandThisMacro() public method
    
    This expands the maco with the specified name. Argument expandsion
    for parametric macros can be turned on with the RPMEXPAND_EXPAND_ARGS
    flag.

commit ef4241d7278145bde7b63518dd9e2f1d597dcc4d
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 26 11:17:25 2020 +0100

    Split mbCreate() function from doExpandMacros()

commit 05eb42be9af7a6d15fdcf03416bcfa7c1e963652
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 26 10:39:24 2020 +0100

    Split doExpandThisMacro() from expandMarco()
    
    This eleminates duplicate code.

commit 339510b2bfeeb6ede793c0ba98f760b0e0551738
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Oct 27 13:09:33 2020 +0100

    No longer free the args ARGV in freeArgs
    
    This gets rid of the weird and unneeded ownership transfer and
    makes the args seetup more symmetric.

commit 374802f1adde59bdf1074243cc341e715521631b
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 26 10:09:56 2020 +0100

    Move setupArgs() function so that it is next to freeArgs()
    
    No functional changes.

commit 9a3fb26ebde82013695583145fdac1849c087c76
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 26 10:03:54 2020 +0100

    Make comments reflect new macro parsing reality

commit a7efb1a88e74cf074ed058ab42d3c761c093879f
Author: ggardet <guillaume.gardet@opensuse.org>
Date:   Fri Oct 9 13:10:09 2020 +0200

    Do not fail if there is no "$temp"/res.* file
    
    find-debuginfo is multi-threaded and rpm runs
    scripts usually with "-e" to abort on error.
    If the debug-splitting tool fails, that job will abort.
    But if you have X files that are problematic in the tree,
    and you have X or less jobs, find-debuginfo will abort
    as no single res.$number has been written.
    But if you have more than X jobs, the build will succeed,
    which makes the whole process random.
    This commit remove this randomness.

commit df22e4aaa7e599431b9e462e2f3f73ef428ffcd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 12:14:40 2020 +0200

    Reorganize the ancient spec tag blurb into a new beginning
    
    Remove long since obsoleted tags and such, at least mention all
    spec sections by name. Obviously mountains of information is missing,
    and what is there is totally chaotic and inconsistent, but at least
    there's a place to add more now.

commit 50324700562aa6204d93b1e4e9ae9776ecdeeedb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 16:11:27 2020 +0200

    Document (however briefly) all our actively used header tags

commit 0b75075a8d006c8f792d33a57eae7da6b66a4591
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 09:50:45 2020 +0200

    Shut up bogus Doxygen warnings about undocumented parameters
    
    As of Doxygen >= 1.8.20 it started complaining about anything marked
    as @retval being undocumented. As this is widely used in rpm...
    Mass-replace all @retval uses with @param[out] to silence. Some of
    these are actually in/out parameters but combing through all of them
    is a bit too much...
    
    Also escape <CR><LF> in rpmpgp.h to shut up yet another new warning.

commit 831461f36d13ce9d1f73d780c6e9bb6b0d2889f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 09:17:51 2020 +0200

    Fix some Doxygen grouping artifacts (aka bugs)

commit 4821d42abbf983acfab618b968501da6e0c69f37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 09:09:47 2020 +0200

    Replace uses of deprecated PyEval_CallObject() with PyObject_Call()
    
    Python 3.9 has deprecated PyEval_CallObject(), replace with a more
    modern and documented interface (https://bugs.python.org/issue29548).

commit dd5c0446a3178fa6f4385284badb9d6f6c1342b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 08:58:39 2020 +0200

    Stop using deprecated security_context_t
    
    In libselinux >= 3.1 these cause deprecation warnings on build.
    
    security_context_t always was nothing but typedef to plain old "char *"
    so just using that is entirely backwards compatible too.

commit 6dbb036d2ff4c6f182926e0826c5b7896ea1ccef
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date:   Sun Oct 25 15:13:40 2020 +0100

    lib/rpmrc.c: include fcntl.h for O_*
    
    Fixes compilation on musl, otherwise it fails with undefined references
    to various O_* symbols as mentioned here:
    
    https://www.man7.org/linux/man-pages/man0/fcntl.h.0p.html
    
    Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

commit fec16cc9b50af70828595d4194bd8601dd6ff6e7
Author: Michael Schroeder <mls@suse.de>
Date:   Sun Oct 25 22:24:06 2020 +0100

    Fix access of already freed memory in macro expansion
    
    A macro can undefine itself so we must not access the
    entry data after we expanded the body.

commit 72ba3dc228ca3c143a110e9bc0e00a9eaaf14155
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 23 15:12:03 2020 +0200

    Simplify grabArgs() usage
    
    Change grabArgs to just append the parsed arguments to the
    passed args array and do the setupArgs call in expandMacro.

commit 0cd8268ed2fc15f893727d8c2644a36ffff13541
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 23 14:51:04 2020 +0200

    Split setupArgs() function from grabArgs()
    
    We will reuse setupArgs() in the future.

commit 13df6fda9196505eef4884f1d1a62d6673f876ee
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 23 14:31:56 2020 +0200

    Split off mbAllocBuf() from expandMacro()
    
    No need to fiddle with the internals of the mb in expandMacro.

commit 6d7fa91949337c7a86bab3359b39558fdae07dce
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 23 14:02:35 2020 +0200

    Fix logic error in grabArgs()
    
    If there was a \ at the end of the buffer, the code would
    return a pointer after the trailing \0 leading to unallocated
    memory access and weird results in some cases.
    
    See commit 817959609b95afe34ce0f7f6c3dc5d7d0d9a8470.

commit b2659f9ec94b2259fadce1b53d84e5b5f96bfa95
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Oct 23 12:58:44 2020 +0200

    Fix warnings from set but unused, variables in macro.c and rpmlua.c
    
    macro.c: In function ‘mbopt’:
    macro.c:895:19: warning: unused variable ‘me’ [-Wunused-variable]
      895 |     rpmMacroEntry me = mb->me;
          |                   ^~
    
    rpmlua.c: In function ‘fd_seek’:
    rpmlua.c:985:22: warning: unused variable ‘mode’ [-Wunused-variable]
      985 |     static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END};
          |                      ^~~~
    
    The former is actually unused, the latter should be used.

commit f9516434dd70cf0d5125e9e997b2c278b4fb4bf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 14:43:14 2020 +0300

    Allow parametric macros to opt out of option processing (#547)
    
    Macros might want to pass along options meant for others while perhaps
    modifying some of them, without exposing it all to users.
    
    Have "-" as the parametric macro opts string disable all options processing
    in rpm, allowing the macro to handle the raw argument list as they place.
    
    Fixes: #547

commit b278517d7f016eb9680642a686416772cc9f291c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 14:29:20 2020 +0300

    Don't muck with parametric macro arguments of cli defines
    
    When converting - to _ in cli-defined macro names, stop at first '('
    as we have no business mucking with the arguments.

commit ce79e166fef8aee66b2dd0dab14d0cf7b7bf2aab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 14:02:20 2020 +0300

    Wrap getopt() usage into internal helper
    
    Avoids code duplication (glibc quirks and whatnot) between macro and lua
    option parsing, isolate the global opt* variable accesses to one spot.
    Makes it easier to ensure identical behavior between the users if/when
    something changes.
    
    No behavior changes intended.

commit 376fef14a61a9748ce004888fe19445719a5d2d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 17:10:26 2020 +0300

    Lose the internal Lua variable API
    
    This whole lot has been barely used at all since its addition in 2004,
    is totally undocumented and instead of being helpful, it only ends up
    being more code using some strange add-on API. It also quite effectively
    prevents anybody from doing anything fancy with Lua because you'd have to
    wrap it up somewhere in this intermediate API.
    
    People are better off using native Lua API for data manipulation, byebye.

commit 5a2c920dee3a05ace1e031120a5f7ac2888888da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 17:05:49 2020 +0300

    Convert sources/patches table manipulation to "native" Lua API
    
    It's actually less code, and what's better the Lua API is quite well
    documented, unlike the internal rpmlua one...

commit d5a79618369b59770d4100df706d154933b02fb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 17:03:35 2020 +0300

    Add function for fetching the underlying Lua state from rpmlua
    
    The rpmlua layer is nice for some things but at others it merely gets
    in the way. Let us operate directly on Lua API when we need it.

commit 2579d3e5ad5d713f2c161b9fb4835366ea4ea291
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 16:13:49 2020 +0300

    Consolidate librpmbuild Lua code to one place
    
    Not much changes here in practise, although this does patch_nums and
    source_nums "leaking" after a spec parse as we forgot to update
    *that* code when adding them. More visible when consolidated...
    
    Also store the Lua context in the spec struct. This doesn't make much
    of a difference as it is, but it'll be needed someday when we create
    a new Lua environment for each spec parse, and at any rate this is
    gives us a single, easy place to check whether it was initialized or not.

commit 6de7374bb86d59ad8ca577c1d16776057c3eba73
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Oct 14 12:02:29 2020 +0200

    Treat unparsable macros like undefined macros
    
    This seems to be the intention of the code but it did
    not work because macro parsing was resumed at the wrong
    point of the input string. Without this commit, "%{}"
    expanded to "%" instead of "%{}".

commit b766e63de30d2e2ee103d132e35a13e82a62cd27
Author: scootergrisen <scootergrisen@gmail.com>
Date:   Sun Oct 11 08:30:19 2020 +0200

    Translated using Weblate (Danish)
    
    Currently translated at 32.5% (288 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/da/

commit a3ed077f7fbd25874fea95666dd29bd2408d751d
Author: Oğuz Ersen <oguzersen@protonmail.com>
Date:   Sun Oct 11 08:30:19 2020 +0200

    Translated using Weblate (Turkish)
    
    Currently translated at 43.3% (384 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/tr/

commit bc0ab5dacd02cead3e8339142871a3918af8294d
Author: Phu Hung Nguyen <phuhnguyen@disroot.org>
Date:   Sun Oct 11 08:30:18 2020 +0200

    Translated using Weblate (Vietnamese)
    
    Currently translated at 79.5% (705 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/vi/
    
    Translated using Weblate (Vietnamese)
    
    Currently translated at 79.2% (702 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/vi/

commit 706fa711c9ee037d62475764ac9f4882373d3ee0
Author: Charles Lee <lchopn@gmail.com>
Date:   Sun Oct 11 08:30:18 2020 +0200

    Translated using Weblate (Chinese (Simplified))
    
    Currently translated at 80.8% (716 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/
    
    Translated using Weblate (Chinese (Simplified))
    
    Currently translated at 80.0% (709 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/zh_CN/

commit 22f3342fdfc275c50dd1a6209ea229755ac87449
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Sun Oct 11 08:30:18 2020 +0200

    Translated using Weblate (Swedish)
    
    Currently translated at 100.0% (886 of 886 strings)
    
    Translation: rpm/master
    Translate-URL: https://translate.fedoraproject.org/projects/rpm/master/sv/

commit ad1cad7e6a5def8b6036b90f2634297eda79dc7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 14:42:48 2020 +0300

    Supply tag numbers for special/signature/digest tags where missing
    
    Drop internal-only special tags (header region types) from the list

commit 27f5ab73c2a48fac333052c295e65581a00a4044
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 14:37:34 2020 +0300

    Organize tag documentation to rough tag groups for some sanity

commit b441de003160885b1c0a3106011960706bcfb0d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 13:53:22 2020 +0300

    Fix RPMTAG_SUGGESTVERSION and -FLAGS info, they're not extensions

commit 6163c6cfd99f1dbafd89962598729e7a81932311
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 09:43:27 2020 +0300

    Add Lua binding for rpmMacroIsDefined() and ..IsParametric()
    
    Since Lua can easily return multiple values, combine test for definition
    and parametric into one rpm.isdefined() API, always returning two booleans.
    This also kinda ensures correct API usage as both are needed to positively
    identify a defined, non-parametric macro.

commit 9399a87dc1d246486cbae39ef752773128fa417f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 13:38:27 2020 +0300

    Implement native Lua bindings for rpm io streams
    
    Ability to read and write same compression formats as rpm could come handy.

commit 11eb3c3fb6dc1e78737da7f8fef9b2aacdceda0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 11:57:20 2020 +0300

    Implement native Lua bindings for rpm version objects
    
    In particular, this allows parsing version strings to their components
    which might well be a more common need than version comparison...

commit 67abf72ef57e58251271f5b218f867357d78a4e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 11:10:40 2020 +0300

    Pass parametric macro options and arguments to Lua natively (#1092)
    
    We already have the macro arguments in an ARGV that's suitable for
    passing to Lua, just store it in the macro buffer for passing around.
    As macros can nest arbitrarily, we need to store and restore the mb
    args which is a bit hacky, but much less trouble than changing all the
    related functions to pass argound an argv which only one function
    ever uses. Ditto with the macro entry itself, which is needed to pass
    around the options (and name, and maybe something else too later).
    
    Besides all the normal rpm defined macros for arguments and options,
    parametric Lua macros now get pre-processed options and arguments
    in native local tables "opt" and "arg" for much more pleasant access.
    "opt" and "arg" tables are always there even if no options or arguments
    were passed, this avoids having to deal with multiple cases and test
    for nil's all over the place.
    
    Fixes: #1092

commit 717a3f7ecf0af7c453cd1bcb3f49b5ea4941817e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 11:05:51 2020 +0300

    Pass install scriptlet arguments to Lua as real local arguments
    
    The code is more obvious and there's a whole lot less of it, we get
    rid of a klunky global table, allow Lua scriptlets to process arguments
    using native facilities for variadic functions, all in a backwards
    compatible manner. What's not to like?
    
    As a side-effect, the package count arguments now appear as integers
    instead of floats, which is much saner in the context. Lua will
    automatically convert numbers as necessary so this should not break
    anything.

commit 192cbafcb2d8775fa45f1bccebd522fda44baa5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 8 10:59:33 2020 +0300

    Add API support for passing options and arguments to natively to Lua
    
    Add support for passing getopt options and arguments to natively to Lua
    scriptlets via the internal API. The processed opts and args are stored
    in two chunk local two tables, options keyed by the letter and arguments
    by their numeric index.
    
    Update call sites accordingly, but no actual functionality changes here,
    just pre-requisites for next steps.

commit d1dee9c00af418004f578a97e9b794676daf6d37
Author: Matthew Almond <malmond@fb.com>
Date:   Mon Sep 28 12:41:22 2020 -0700

    Make fdSeek return 0 on success, -1 on error
    
    This code eliminates a false positive failure when the destination
    position is > 2GiB. This is done by changing the contract for `Fseek`.
    Now it returns `0` on success instead of an `int` offset.
    Care should be used to interpret the result as there is a difference in
    semantics between the POSIX `fseek(2)`. Existing code is correct: negative
    results are still failures.

commit 85765a79b7434f37486827c189d71cd9169db680
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Oct 8 14:16:23 2020 +0200

    Add error handling for versions in expressions
    
    Versions are not supported in arithmetic operations.

commit 0f6ffbb99238b983f456604a02a933912da7af2f
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Oct 8 13:53:36 2020 +0200

    Support stringification of versions in the expression parser

commit bb8dea1f847bf63f7c231a4a5e59da8fd4d4f5a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 16:55:09 2020 +0300

    Add list of rpm tags to the manual
    
    Actually describing them all is a whole other matter...

commit 148d76333885734292636209521c1cc796b25413
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 15:45:11 2020 +0300

    Merge conditional builds and dependencies docs from rpm-web

commit 2a242b8249c0831d1410514a8d2da6dfce522a97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 15:41:25 2020 +0300

    Merge / sync with rpm-web macro documentation, pooh...
    
    Hopefully catching all the relevant differences, and add a link
    to Lua docs while at it.

commit b72e4905cbd0d03a50c1a4e0056d93e5614d9d8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 15:34:02 2020 +0300

    Pull relevant content from rpm-web wiki

commit 45917fd60923ccb442e7985796340bb52886cbcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 15:06:50 2020 +0300

    Bring over a couple of relevant "developer docs" from rpm.org

commit f5b24da36d2e63752b57d0d3842ed51fe483e903
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 14:58:04 2020 +0300

    Bring most of "user documentation" from rpm.org to our reference manual
    
    The rest need more massaging and/or delicate merging to avoid losing
    content added in one place but not the other.

commit 0a91e77ef7d354c01a377d7334a4b89860746455
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 14:27:38 2020 +0300

    Add a preliminary index page to our reference manual
    
    The idea here is to start building a comprehensive RPM reference manual
    where all features are eventually covered. Tutorials belong elsewhere.
    
    The doc/manual contents are woefully inadequate and horribly out of date,
    but even the longest journey starts with the first step.

commit e6bc734d36fe7e8f6dbcb295e3b832d53e7285a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 14:04:36 2020 +0300

    Rename manual contents to .md for GH rendering and to signify format

commit e9b0230a9fb987280e31b12cd812edd4aaa671cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 13:42:07 2020 +0300

    Convert our "manual" to Markdown
    
    For rough reproduction steps (yeah I know, this isn't my cup of tea):
    
            perl -pi -e 's:\\verbatim:```:g' *
            perl -pi -e 's:\\endverbatim:```:g' *
            perl -pi -e 's:\\section .*? :## :g' *
            perl -pi -e 's:\\page .*? :# :g' *
            # plus clean up doxygen /* .. */ markings manually.
    
    Some of the content is painfully out of sync with stuff on rpm.org but
    now we can at least meaningfully diff.

commit 4212dbdc17876a77adfc710de563168bfeb3aab9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 13:10:13 2020 +0300

    Update Doxygen config to get on with times
    
    Our config was spitting all manner of obsoletion warnings

commit ef3ea9c69b7e5eddc9ad22c1832773e12bba1cb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 16:21:27 2020 +0300

    Implement alternative transaction callback style with transaction elements
    
    Add API to get and set callback style, defaulting to the good ole
    header first style and add a new style where a transaction element
    is passed in place of the header, allowing a much saner interaction.
    
    This is doubly so in Python, where the old style callback is a
    braindamaged mess. In the new mode the "key" is not passed as separate
    argument at all, it can be just as well retrieved via te.Key() for
    the callbacks needing it.

commit 79ac95fea56f2d5cc67a9f27dc34a4cae8b4c415
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 29 08:17:33 2020 +0300

    Fix ambiguous diagnostics output on file triggers (RhBug:1883338)
    
    All this time we've been logging file and transfile triggers with output
    identical to that of regular triggers, confusing people for no good reason.
    
    We know which of the three it is when creating so add a matching prefix
    to the output at that point. All we need to do is move the '%' from
    the scriptlet table to the printf() format string to make room for
    the description prefix. Doh.
    
    So now we get output using things with their proper names, such as:
    
      D: running post-transaction scripts
      D: %transfiletriggerin(glibc-common-2.31-4.fc32.x86_64): scriptlet start

commit 9395bdc64459357631111842e7a28304b4d76301
Author: Leo <thinkabit.ukim@gmail.com>
Date:   Wed Sep 30 08:36:03 2020 -0300

    lib/rpmdb.c: include fcntl.h for O_*
    
    Fixes compilation on musl, otherwise it fails with undefined references
    to various O_* symbols as mentioned here:
    
    https://www.man7.org/linux/man-pages/man0/fcntl.h.0p.html

commit 257077a60c719bf98915c17fa71dc6c68fb0c3e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 14:48:37 2020 +0300

    Implement a transaction set change notification callback
    
    Add support for an optional callback hook for reveiving notifications
    about added and deleted transaction elements. This lets API clients
    easily track which elements get created and/or replaced by a single
    rpmtsAddFoo() call and adjust their own book-keeping accordingly.
    Also makes for an easy place to set application private data pointers
    for newly added elements.
    
    Currently there's no way to delete individual transaction elements from
    the API but that can happen via rpmtsEmpty(), which we do send notifications
    for. rpmtsFree() does NOT send notification though, it would be precarious
    and most likely totally pointless to do so when the ts is being torn down.

commit 45449d5acfb8f68eb841fef5eed912fd9d9dc48e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 12:33:58 2020 +0300

    Add support for application private user data in transaction elements
    
    The "key" passed to rpmtsAddInstallEleemnt() and associated with transaction
    elements is sometimes mistaken for user data, but it is not, as rpm relies
    on it having a very specific meaning and is passed around with that very
    assumption.
    
    API users have all sorts of (legit!) needs, lets add a proper application
    private user data member to transaction elements.
    
    The Python bindings to this are kinda dangerous if you liberally mix Python
    and C as we can't know whether the pointer is an actual Python object or not
    so we can only assume it is and hope for the best. Of course nobody in their
    right mind should be setting user data from one language and accessing it
    from another, really...

commit e6faaefc92203b96ea8fc99e7bce73ec68b7c44c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 10:13:59 2020 +0300

    Remove invalid TODO comment on Lua scriptlet cwd
    
    Contrary to what the TODO comment said, we cannot rely on chroot cwd
    because an API user could've changed to some other directory in the
    meanwhile. For Lua scripts, we simply need to save whatever the directory
    we are in and return to that, to avoid breaking API users.

commit 6e51ca5959d9e5159fdd75c0462c900d342f2cce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:37:53 2020 +0300

    Revert "Improve ARM detection"
    
    Should've been reverted as a part of reverting commits
    0da3c50d1fa37945ba1b01975ecf2f62b51fb3cd and
    8ab279ae6b3855fca5946dafd11c38e91adc9904 but got left behind and Fedora
    has been carrying this reversion as a patch since then (and other
    distros carrying others). This equally broken for everybody -state of
    ARM is good for nobody. Lets revert back to pre 4.15 state and back to
    the drawing board.
    
    This reverts commit 8c3a7b8fa92b49a811fe36b60857b12f5d7db8a8.

commit 4cbdd7c94071f52dfe64466df80e859193d89d89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 12:17:37 2020 +0300

    Unbreak build due to defined but not used warning from ensureMacro()
    
    Warning introduced in commit 64b4ebd315ccdaac402c083a71b431310238f6ba
    which failed to take this into account, dunno how this wasn't caught
    in CI or local testing.

commit 505fe16f863f83637c9577417a7ae959df674a61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 12:01:41 2020 +0300

    Handful of trivial and obvious const-correctness fixes to librpm code

commit 73701e808ff71ae0a3097d8ae03e965bf2904cdc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:59:52 2020 +0300

    Couple of trivial and obvious const-correctness fixes to build code

commit 886c24cfc6c0fec90d8db1406a0e32c0e09e92c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 27 10:31:07 2020 +0300

    Upgrade FA_TOUCH to FA_CREATE if the file went away (RhBug:1872141)
    
    When %_minimize_writes is enabled, we determine unchanged files during
    fingerprinting and only update their metadata (FA_TOUCH) instead of
    always recreating from scratch (FA_CREATE) during install. However
    package scriptlets (and administrators) can and will do arbitrary stuff
    in the meanwhile, such as rm -f their own files in %pre, hoping to
    get a fresh copy of contents no matter what. Or something.
    Now, if the file was determined to not need changing by rpm, this will
    just fail with chown & friends trying to touch non-existent file.
    One can consider this a case of package shooting itself in the foot, but
    when a package update fails or succeeds depending on %_minimize_writes this
    to me suggests the feature is at fault as much as the package.
    
    Do fsmVerify() on all files to be FA_TOUCH'ed to detect files whose
    type changed or were removed since fingerprinting. This still doesn't
    ensure correctness if something tampers with the contents in the meanwhile,
    (for that we'd need to run the file through the whole machinery again,
    checksumming and all) but covers the most glaring cases.

commit 64b4ebd315ccdaac402c083a71b431310238f6ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 09:59:30 2020 +0300

    Disable SSD auto-detection, mark %_minimize_writes as experimental
    
    RhBug:1872141 (PR #1347) demonstrates how brittle and dangerous this
    thing is. Until we can (re-)verify (digest and all) files not needing
    recreating from fsm, this thing should be considered experimental and
    too dangerous to automatically enable for casual users.

commit c77b0d2f37a496adacdde84efc59e159191efa4e
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Fri Aug 28 11:10:41 2020 -0400

    Enable fsverity in CI
    
    Add fsverity-utils and fsverity-utils-devel as dependencies.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit ae4b1b1fe8bac446e8e8a70439eab7171dccc95d
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Wed Jun 10 12:30:54 2020 -0400

    rpmsign: Add argument to specify algorithm for fsverity signatures
    
    The argument --verity-algo can be used to specify the algorithm for
    the fsverity signatures. If nothing is specified, this will default to
    sha256. The available algorithms depend on libfsverity, currently
    sha256 and sha512 are supported.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 32e94048a378abf0b9cb3fdc3250148cf560c93b
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Tue May 12 13:42:34 2020 -0400

    Update man page for rpmsign
    
    This documents the new arguments --signverity and --certpath required
    to sign a package with fsverity signatures.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 7b2e7fc06ac565f0fa450b6c80c02042b0df9703
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 13 18:24:31 2020 -0400

    Add --delfilesign flag to delete IMA and fsverity file signatures
    
    This allows a user to remove both types of file signatures from the
    package. Previously there was no way to delete IMA signatures, only
    replace them by first removing the package signature and then
    resigning the package and the files.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 39494d11d4ee3a43167f3cb71d92b7bbe2b905b5
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 20 18:52:08 2020 -0400

    Add fsverity tags to rpmgeneral.at
    
    Make sure we pass the checks with the new tags in place.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit bd02416cd336ae3262538796cca5957119850aa9
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 20 14:13:51 2020 -0400

    fsverity plugin: Use tag for algorithm
    
    This uses the algorithm from the tag, if available. Fallback is SHA256.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 9b3a65ef06ad9868b9dba667bef1878453ceca89
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 20 11:11:25 2020 -0400

    plugins/fsverity: Install fsverity signatures
    
    This plugin installs fsverity signatures for regular files, when a signature
    is found in the RPM. It tries to enable them unconditionally, but fails
    gracefully if fsverity isn't supported or enabled.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 7e528e66506e48f01acfdc1101591f8084742f2a
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 20 13:40:26 2020 -0400

    fsverity - add tag for fsverity algorithm
    
    The default algorith is SHA256, but fsverity allows for other
    algorithms, so add a tag to handle this.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 8eb82a0bbc74c09fef10ef045106c95178216ae7
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Tue Apr 14 12:08:09 2020 -0400

    rpmsignverity.c: Clean up debug logging
    
    Put most logging in one place and avoid printing the same info twice.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 201596f9952259bdc509d28efb34608800cc5a96
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Tue Apr 14 10:33:32 2020 -0400

    Generate a zero-length signature for symlinks
    
    The fsverity utility follows the symlink when generating a signature.
    Since we don't want to sign the same file twice, we need to skip these
    links, and instead just generate a dummy zero-length signature here.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 131eeb2bbe4f2b0f6d117470c501ab83d11b7c25
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 13 18:21:36 2020 -0400

    Process verity tag on package read
    
    This processes verity signature tags on package read, and provides
    accessor functions to access them.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 174f083d1ccb772e2aad5c45735c86922e98af98
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 13 18:14:15 2020 -0400

    rpmSignVerity: Generate signatures for files not present in archive
    
    This generates signatures for all files in the archive, then picks up
    ghost files from the header metadata and generates signatures for them
    as well. It finally submits them to RPMTAG_VERITYSIGNATURES in header
    file order as we cannot rely on archive order and header order being
    the same.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 9644bbd5b33c5efdf58898cb8a04ecd39b208be4
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Thu Apr 9 12:58:17 2020 -0400

    rpmsignverity: Add verity signature headers to the package
    
    This adds the array of verity signatures, and a signature length
    header. We use 4K block for the Merkle tree, and rely on the kernel
    doing the right thing.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 37d90512585375ffd3085fa9607ffa92d4ecf2a2
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Thu May 28 17:48:23 2020 -0400

    Introduce base2bin() - a helper to convert tag array of base64 strings
    
    This will convert a tag of base64 strings to a binary array, similar
    to how hex2bin() works. It supports variable sized strings, and will
    determine the maximum string length and build the output array based
    on that.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit cc7e3c8830916e53829fc181764bff6f257cd7a5
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Fri Apr 3 16:38:08 2020 -0400

    Implement rpmSignVerity()
    
    This generates the root Merkle tree hash and signs it using the
    specified key and certificate.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 3ceb507e1da52b738665daafaa7da4b469eb75ae
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Fri Apr 3 16:26:06 2020 -0400

    rpmsign: Handle --certpath for signing certificate
    
    fsverirty needs a certificate for signing, in addition to the signing key.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 307d9e23245e47c47a73f882d062ee6db8d40bf8
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Wed May 27 16:49:03 2020 -0400

    rpmsign: Add helper to indicate file signing enabled
    
    Helper function returning true if either IMA or VERITY signatures are
    to be applied. This simplifies the code and makes it easier to read.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit b296cbb67a5afa2b6d6f9e3bb2d29663c3001b92
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Fri Mar 27 18:31:36 2020 -0400

    Add basic autoconf and framework for fsverity support
    
    Use the same signing key argument as is used for IMA file signing.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 1fafaa3b799505e72fe7caae84141ea8583972d0
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Mon Apr 20 11:22:15 2020 -0400

    rpmsign: RPMSIGN_FLAG_IMA is already set
    
    There is no need to set RPMSIGN_FLAG_IMA since it was already set to
    get here.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 747b7119ae89a3ccaceeae4f5570c7ab83d2cf5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 13:14:35 2020 +0300

    Fix possible read beyond buffer in rstrnlenhash()
    
    On strings that are not \0-terminated (which are a big reason for the
    existence of this function), the while-loop would try to compare the
    first character beyond the specified buffer for '\0' before realizing
    we're already beyond the end when checking n. Should be mostly harmless
    in practise as the check for n would still terminate it, but not right.
    In particular this trips up address sanitizer with the bdb backend where
    some of the returned strings are not \0-terminated.
    
    Test for string length first, and move the decrementing side-effect into
    the loop for better readability.

commit 213a4064a4b1b5b260a55b3933170599e617494d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 12:15:33 2020 +0300

    Add missing terminator to copyTagsFromMainDebug array
    
    headerCopyTags() expects a 0-terminated array, this was overflowing
    (spotted by address-sanitizer)

commit e912be833e63a964fd5268e69f41e8ed56e1d480
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 4 17:46:10 2020 +0200

    Bump Lua to 5.2 in configure script
    
    In line with commit 6d4c68b.  While at it, also state the required
    version in the error message.

commit 6a780f10c2b600cfc38f8b8f20cb7e40b979f541
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Aug 4 16:50:21 2020 +0200

    Check for OpenMP version at configure time
    
    Only accept OpenMP >= 4.5, due to the "priority" clause that we use
    since commit 6f6f5e7, and also document that in the INSTALL file.
    
    If explicitly required with --enable-openmp, fail configuration if the
    version is not available.
    
    https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf
    
    Resolves: #1315

commit 07293eae32b66dcf6a6270f1d62d6294165f67f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 11:24:12 2020 +0300

    Don't call exit() from middle of librpmbuild for no good reason
    
    Calling exit() as introduced in commit
    8d84878ee05b2e63858af3a5a49d98e9e2933b1b is only okay from child
    processes we might launch, never really from librpm* itself.
    Just flag the error instead for later processing.

commit 11132fc21fb01ed63c621d852bc081a914d4f021
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 11:19:10 2020 +0300

    Simplify logic to work around gcc (10.2.1) false positive warning
    
    When built with -fsanitize=address, gcc complains that source_date_epoch
    could be used uninitialized. This really cannot be so as override_date
    is only ever set if source_date_epoch is set. However we can simplify
    code by removing override_date variable out of the picture, we can just
    as well initialize source_date_epoch and consider non-zero value as
    being enabled instead.

commit 5196c388082bcb60b03fccf2d6060d9c8d63a79b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 10:42:17 2020 +0300

    Fixup self-inflicted conflict in Weblate update, sigh
    
    Updated translations for Chinese (traditional) and Swedish
    
    With Weblate, manual "make update-po" is a no-no.
    
    Co-authored-by: Yi-Jyun Pan <pan93412@gmail.com>
    Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>

commit a2e072d45243bcfaa7797514bb40c85e9b8fa74c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 27 14:23:31 2020 +0300

    Stop untranslatable format strings from being translated
    
    There's nothing to translate in "%s: %s" and the like, don't bother
    people with this stuff.

commit b17f702d4faf3831a1b8c2e5446b83b62cef2bab
Author: Weblate (bot) <hosted@weblate.org>
Date:   Thu Aug 27 13:52:59 2020 +0200

    Translations update from Weblate (#1341)
    
    Updated Polish, Spanish, Ukrainian, Portugese (Brazil), French and Swedish translations
    
    Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
    Co-authored-by: Emilio Herrera <ehespinosa57@gmail.com>
    Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
    Co-authored-by: José Lemos Neto <lemosjosex@protonmail.com>
    Co-authored-by: Panu Matilainen <pmatilai@redhat.com>
    Co-authored-by: Julien Humbert <julroy67@gmail.com>
    Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>

commit 471b7be4bd5cc7f245f9aa00c7784a7056e439b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 27 10:43:37 2020 +0300

    Warn and fall back to dummy database on unknown database backend config
    
    The rpmdb is our most precious piece of data, don't make assumptions on
    invalid configuration. Together with our crazy create-db-on-read behavior,
    total database loss is just one 'rpmdb --rebuilddb' away in some scenarios
    with the former behavior: access an sqlite/ndb database with older
    version not supporting those, silently fallback to creating empty bdb,
    and if db is now rebuilt, poof the data is gone.
    
    Detect and warn on unknown/invalid %_db_backend configuration and fall
    back to using dummy backend where no damage can occur. Doesn't help with
    the old versions out there, but lets at least be saner going forward.

commit 276f61949f24b647129d11b1ecb9dc7bd7c9691b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 13:13:50 2020 +0300

    Document the database backend variants and their dependencies

commit c98ace6a00c58666c2fd47c890882be1d1bbc407
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 13:03:41 2020 +0300

    Document BDB as deprecated in INSTALL too

commit 164747026b4d7b4dce7d44f951887ba1803f0a7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 14:05:51 2020 +0300

    Last gasp translation update from Zanata
    
    Apparently Zanata has been in the process of shutting down for some time
    now, with very little in the way of letting users know about this.
    Update once more and pull the plug from our end.

commit 3f105d396a42233af7841b5dca09bca20cc0985e
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Wed Aug 19 14:39:20 2020 +0200

    Prevent automatic garbage collection in git based %autosetup macros
    
    The garbage collection happens in background, based on heuristic.
    This means that sometimes, when subsequent commands run,
    some files might disappear in the middle of an action.
    
    For example, when a find is used in %prep:
    
        + /usr/bin/git commit -m ... --author 'rpm-build <rpm-build>'
        Auto packing the repository in background for optimum performance.
        See "git help gc" for manual housekeeping.
        ...
        + find ...
        find: './.git/objects/47': No such file or directory
        find: './.git/objects/46': No such file or directory
        find: './.git/objects/49': No such file or directory
        find: './.git/objects/4d': No such file or directory
        error: Bad exit status from /var/tmp/rpm-tmp.xxxxxx (%prep)

commit c0064335f975c3664e4848596fba159a87b21104
Author: Martin Liska <mliska@suse.cz>
Date:   Sun Jul 26 15:25:51 2020 +0200

    Enable thread autodetection for a parallel compression.
    
    When using xz or zstd, it can be handy to automatically detect
    number of threads. We can use %{getncpus} for that.

commit 4dfb381742c27449aafcd907c05f3a84015ffb54
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Aug 12 12:57:27 2020 +0200

    Add get_compression_threads and refactor code.

commit a527ffdf84d2f93c4f0636b9a68866584d761706
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 18 10:30:06 2020 +0300

    Remove support for redundant %_filter_GLIBC_PRIVATE mechanism
    
    This was kinda ugly-but-necessary when added back in 2003 (commit
    752cac72e220dcad4e6fce39508e714e59e3e0a1) but entirely redundant
    since the "new" dependency generator in rpm >= 4.9.x with arbitrary
    filtering support. The handful of packages using it can just as well
    achieve the same (and more) without special hacks in rpm with:
    
            %global __requires_exclude GLIBC_PRIVATE
            %global __provides_exclude GLIBC_PRIVATE

commit 8fefd2bd21b30996ad0748eab6baadf915610642
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 13:29:10 2020 +0300

    Work around buggy signature region preventing resigning (RhBug:1851508)
    
    Various proprietary packages in the wild have subtly malformed data
    in the signature header, in particular wrt the immutable region size,
    presumably from using some in-house/3rd party signing tools which do
    not understand the immutable region business at all. This can prevent
    resigning and signature deletion on such packages due to the more
    thorough checking that rpmsign does.
    
    As the old wisdom goes, be liberal in what you accept... we can easily
    work around the crud by just taking a fresh copy of the contents that
    are legit as such (otherwise the package would be uninstallable).

commit 49fdf1b8e56f8327a96063d40e70e6822141dea3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 1 10:45:47 2020 +0200

    debugedit: Fix missing relocation of .debug_types section.

commit 107c0b0c23b8dbb9f7eaf827fd23d93aaec14358
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Aug 1 10:43:12 2020 +0200

    [NFC] debugedit: Move code from edit_dwarf2() to edit_info().

commit a58725822651f791b2e74fe40a6e85b3b7e72aca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 10 11:01:37 2020 +0300

    Fix changelog trimming to work relative to newest existing entry (#1301)
    
    %_changelog_trimtime is an absolute timestamp which needs to be constantly
    pushed forward to preserve the same relative age, and will start trimming
    entries from unchanged packages until none are left, leading to unexpected
    and confusing behavior (RhBug:1722806, ...)
    
    It's better to trim by age relative to newest changelog entry. This way the
    number of trimmed entries will not change unless the spec changes, and at
    least one entry is always preserved. Introduce a new %_changelog_trimage
    macro for this and mark the broken by design %_changelog_trimtime as
    deprecated, but autoconvert an existing trimtime into relative for now.
    
    As a seemingly unrelated change, move the "time" variable declaration
    to a narrower scope to unmask the time() function for use on entry.
    
    Fixes: #1301

commit 28b3704034a9c772959485a130b918f414da9796
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 23 10:53:26 2020 +0200

    Docs: Add DYNAMIC BUILD DEPENDENCIES section
    
    Fixes: #963

commit aa5bcb0a4e05667d8298cc008f6d9ee876681dde
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu Jul 23 10:26:21 2020 +0200

    Docs: Revamp BUILD OPTIONS section in rpmbuild(8)
    
    With the recent addition of the dynamic build requirements and the
    accompanying -br option, it isn't entirely obvious that it's just an
    additional build stage which may be executed with other build options as
    well.  Let's make it clear by rewording the section and incorporating
    the %generate_buildrequires stage.
    
    Fixes: #1304

commit e90060ff47ac790c6de0270d6ab375f442633d8b
Author: Lumir Balhar <lbalhar@redhat.com>
Date:   Fri Jul 24 12:19:07 2020 +0200

    Disable Python hash seed randomization in brp-python-bytecompile
    
    Sometimes, byte-compilation might produce two functionally
    identical pyc files that are not byte-to-byte identical which
    might cause problems.
    
    Disabled hash seed randomization does not solve this problem
    entirely but helps a lot by lowering probability.

commit aa06b9922d7990f164e241c1a33a6180bd036f36
Author: Martin Liska <mliska@suse.cz>
Date:   Fri Jul 10 14:32:10 2020 +0200

    Support threading for zstd compression.
    
    Support multi-threaded compression for zstd, example:
    w19T8.zstdio

commit e6ecb47d15b2b2c1939316517d905f4837b00417
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Jul 8 13:34:17 2020 +0200

    zstd compression: port to the new API.
    
    Port zstd compression to the new API (ZSTD_compressStream2).

commit 38c03ddb18e86c84d89af695f72442d8365eb64e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 21 10:45:20 2020 +0200

    Always close libelf handle (#1313)
    
    Otherwise executables that are not proper elf files are leaking libelf
    handles. This results in file being left open (mmap'ed) and fails the
    build on NFS as those files can't be deleted properly there.
    
    Resolves: rhbz#1840728
    See also: https://bugzilla.redhat.com/show_bug.cgi?id=1840728

commit 92a78e6acf3f056faccebb25a9d310ee96f8015d
Author: Cerul Alain <ae@metaeducation.com>
Date:   Mon Jul 13 00:34:42 2020 -0400

    Remove compare of global array tagsByName to NULL
    
    A 2016 change (57a96d2486c26142ebb168a1f00b0374d35bf044) apparently
    changed tagsByName from dynamic allocation to being static, so that
    Valgrind would not complain about lost memory. The definition is:
    
        static headerTagTableEntry tagsByName[TABLESIZE];
    
    But a comparison was left of `tagsByName == NULL` in lib/tagname.c
    and compiling with clang gives a warning, saying it is never NULL.

commit 16d9074e1a3020f8844ed4a213fb92e844d8f9ad
Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date:   Sun Jun 28 14:53:34 2020 +0300

    Treat /usr/share/gnome/help as docs
    
    rpmlint thinks that /usr/share/gnome/help is documentation:
    `FilesCheck.py:188:doc_regex = re.compile(r'^/usr(/share|/X11R6)?/(doc|man|info)/|^/usr/share/gnome/help')`
    and gives a warning that those files are not marked as docs in RPM packages.
    
    It seems a good idea to treat help files as documentation (for example, if someone wants to reduce disk usage
    by not installing documentation, he will also not want help files),
    so let's add them to the default %__docdir_path

commit 8c45b8d80a68cf8e6f864b77e8111e9d070e1d7b
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Wed Jun 17 16:11:26 2020 +0200

    Fix python(abi) requires generator, it picked files from almost good directories
    
    The %__python_magic filter suddenly got actually working with file 5.39:
    
    Before:
    
        file.cpython-38.opt-1.pyc: data
    
    After:
    
        file.cpython-38.opt-1.pyc: python 3.8 byte-compiled
    
    Hence, the filter started to pick all Python files regardless of their location.
    Later, in the actual generator, paths like this were considered:
    
        /opt/usr/lib/python3.X/...
    
    And generated requirements on python(abi).
    
    We don't actually need to filter the files by file magic,
    so we drop it to get the previously accidentally working behavior.
    
    We could choose if the path and magic filters are applied as OR or AND.
    However, we don't want either.
    
    We actually want to mach any files in Python directories regardless of their magic.
    We *could* filter by file type (and executable bit) for provides,
    but that would require us to split the attr files into two.

commit b7c25a28b753dd2eb44f7e08fcd9351c1f57ee66
Author: Narek Galstyan <narekg@princeton.edu>
Date:   Tue Jul 7 17:59:06 2020 -0700

    Fix Doxygen comments

commit 3ed687595507c43d4e831a3e846c1efdaf96362b
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Fri Jul 10 15:08:30 2020 +0200

    pythondistdeps.py: Adapt Python version marker workaround for setuptools 42+
    
    See https://bugzilla.redhat.com/show_bug.cgi?id=1853597#c11
    
    pkg_resources from setuptools 42+ no longer only use platform.python_version(),
    but also platform.python_version_tuple() -- this was updated in packaging 19.1+.
    
    This fix makes it work again with both new and old setuptools,
    hopefully for some while.
    
    https://github.com/pypa/setuptools/commit/bf069fe9ddcadaa2c029067601d06a07d037d4f7
    https://github.com/pypa/packaging/commit/86a443f3185024edd0b826afdd91d8f9a4917022

commit ae163b56468e5e83cbba192dab02ebdb9cf3df5d
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Fri Jul 3 22:38:41 2020 -0700

    Sync python dependency conversion with pyreq2rpm.

commit 262d4855cd460048d106eb948fc677e6e435ed6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 26 15:21:02 2020 +0300

    Add RPMTRANS_FLAG_NOARTIFACTS symbol to Python bindings
    
    Should've been in commit 07ed169da37db05773b608043db859fe2c362a8f

commit 17fb05a365e3cbb225f56ccdd46dd3e68ebbc347
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 25 13:21:17 2020 +0300

    Fix bogus test-suite failure when input is not a tty (#1290)
    
    When running with a non-tty input (such as inside mock), the --addsign
    test will fail due to GPG_TTY related warning getting emitted since commit
    52c0198e245fcac55440ed1e0211d33f84681a7a. Our test-keys do not have
    passphrases that need to be asked, so just silence the warning by
    manually setting GPG_TTY to an empty value.
    
    Fixes: #1290

commit 91a7764bf49f84bfa3e3b8af6c49a76f0e466145
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 24 10:29:04 2020 +0300

    Revert "Always fail build on dependency generator failures (#1183)"
    
    This is simply too broken to patch up. Revert and back to drawing board.
    
    This reverts commit fb5299b2a49460216c38674b7398296d3a6d767c.

commit 0268b6ef2381c502ce25f161cbf194273c2a0f70
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu May 28 18:36:27 2020 +0200

    GPG: refactor: clean up exit label
    
    Remove the redundant close()/fclose() and waitpid() calls.

commit 52c0198e245fcac55440ed1e0211d33f84681a7a
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Thu May 28 18:25:28 2020 +0200

    GPG: Switch back to pipe(7) for signing
    
    When it comes to IPC with the GPG subprocess that we spawn to sign
    packages for us, there has been an evolution of changes over the years.
    
    Initially, we used temporary files to dump package data (header+payload)
    to disk, and pointed GPG to those.  That being an insanely expensive
    operation, we later opted for a pipe bound to stdin on the reader side
    [1] to avoid the unnecessary I/O.  When GPG 2.1 came along, our own
    passphrase entry logic stopped working so we decided to offload [3] that
    to GPG instead, for which we also needed to swap the pipe for a named
    pipe (FIFO), to free [2] stdin for GPG's own passphrase entry program
    (pinentry).
    
    Fast forward to the present, it has become apparent that the FIFO
    semantics is not the right choice for us either, as it brings about a
    handful of synchronization issues, all of which stem from the fact that
    the GPG subprocess, which we cannot control, may or may not open the
    input file (our FIFO) for reading before it terminates, causing either
    process to hang.  That's because an open(2) call on a FIFO blocks until
    the other end is also opened.  One particular case where such a deadlock
    can happen is an expired key [4]; GPG would error out without ever
    opening the input file (and rightly so), making RPM stuck.
    
    In a nutshell, here's what the two processes do:
    
    RPM parent:
        * spawn GPG child
        * open FIFO for writing (blocks)
        * write data
        * close FIFO
    
    GPG child:
        * check key validity    <-- may terminate here
        * open FIFO for reading (blocks)
        * read data
        * close FIFO
    
    Which may result in the following execution order:
    
    * parent:   spawn GPG child
    * parent:   open FIFO for writing (blocks)
    * child:    check key validity (key expired!)
    * child:    terminate with an error (sends SIGCHLD)
    * parent:   (continues blocking...)
    
    Now, one way to unblock the parent would be to install a SIGCHLD handler
    with SA_RESTART and make it open the FIFO for reading (with O_NONBLOCK)
    iff the signal comes from our GPG child (note that RPM can also be used
    as a library) so that the restarted open call unblocks right away.  This
    would, however, still not be entirely safe from race conditions; if
    there were other subprocesses, all terminating about the same time,
    their SIGCHLD instances could prevent us from receiving the one from
    GPG; this is because standard signals do not queue (see signal(7) for a
    detailed explanation).
    
    Another way would be to spawn GPG from a wrapper process whose sole
    purpose would be to wait(2) for GPG and to open the FIFO if it failed
    (without O_NONBLOCK, to ensure the wrapper doesn't exit before the
    parent's open call).  This would work as long as we could tell exactly
    which errors cause GPG to not open the input file, but since that's not
    documented, we would have to rely on implementation details, not to
    mention the added complexity and ugliness of such a solution, so that's
    also a no-go.
    
    Lastly, why not just use O_NONBLOCK in the parent, to prevent it from
    blocking in the first place?  Since GPG does not use O_NONBLOCK, this
    would just push the problem down to the child; if the parent is too fast
    and manages to close the FIFO before the child gets a chance to open it,
    the child would get stuck once it gets there (thus making the parent
    stuck on the wait call).
    
    Luckily, it turns out we actually can take over stdin *and* have GPG use
    its pinentry program at the same time!  All we need is to make sure the
    GPG_TTY environment variable is set to the current terminal (see
    gpg-agent(1)).  This variable is used [5] by GPG as a fall-back when it
    fails to obtain the terminal connected to stdin using ttyname(3), such
    as when it is redirected to a pipe.
    
    Thus, in this commit (mostly adapted from the reverse of [2]), we revert
    to using the good old pipe(7) which not only avoids race conditions (as
    it does not cause open to block), but is also more suitable for this
    task in general.  (For the record, GPGme also uses [6] a regular pipe
    for the IPC.)  Since we have access to the original stdin before
    redirection, we set GPG_TTY accordingly (if previously unset), to keep
    pinentry working.
    
    This commit also resolves the RHBZ linked in [4].  Note that, in the
    case of key expiration, GPG isn't particularly specific in the error
    message or exit code; all it says is "Unusable secret key" and returns
    code 2.  For that reason, we can't print anything helpful to stderr
    either.
    
    [1] commit 1aace27fb9541c1d176d8795a1d7872949f8f551
    [2] commit 6a8924b4c9df8e3597f7b4aa3de46498d390c5a8
    [3] commit 0bce5fcf270711a2e077fba0fb7c5979ea007eb5
    [4] https://bugzilla.redhat.com/show_bug.cgi?id=1746353
    [5] https://github.com/gpg/gnupg/blob/f3df8dbb696fed192501fa7f741c2e0e0936a3d5/agent/gpg-agent.c#L1115
    [6] https://github.com/gpg/gpgme/blob/52f930c1ed7eee6336a41598c90ef3605b7ed02b/src/engine-gpg.c#L1133

commit 25f41fa23b51f5f17131d37e44da0a2cec7e7121
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 14:27:25 2020 +0300

    Update popt download location

commit 1e0376f869266e89f9b17c305790d4eea1aa4263
Author: Xiaofeng Wang <1237906+wasphin@users.noreply.github.com>
Date:   Tue Jun 2 13:41:25 2020 +0800

    macros: force add files to git index
    
    It's rarely the case that the user may set global ``core.excludesfile``, ``git add .`` may not add all the files as expect.
    It will fail to build if the excluded files are patch-needed.

commit 07ed169da37db05773b608043db859fe2c362a8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 08:44:14 2020 +0300

    Add --excludeartifacts install option
    
    Like docs, configs etc, excluding artifacts from installation might
    sometimes be desireable to eg save space. Inspired by
    https://bugzilla.redhat.com/show_bug.cgi?id=1848199

commit 1870f4df16d9f20e5a5341ea000c5b8aa19a2d21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 12:05:21 2020 +0300

    Don't install man pages for disabled features
    
    Doesn't make much sense to install manuals for features that are not
    enabled in a build. Conditionalize our man page installation where
    necessary, taking care to include the manuals in tarballs regardless
    of configured status.
    
    Inspired by PR (#1247) from Thierry Vignaud

commit 40175825c8493dfaf0ab766b989c8b10044f7054
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 11:17:24 2020 +0300

    Fix (work around) FA_TOUCH not scoping correctly over hardlinks
    
    The existing FSM code doesn't correctly handle FA_TOUCH on hardlinked
    file sets, which causes the hardlink set to break on at least some
    upgrade scenarios when minimize_writes is enabled.
    
    Only enable FA_TOUCH on non-hardlinked files to work around the issue
    for now. While at it, rearrange the conditionals around min_writes to make
    it a bit clearer. Testcase adopted from original reproducer by
    Fabian Vogt, thanks!
    
    Fixes: #1278

commit 5dc68c84556035d7c184dc1bcd51f073bf281b56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 09:35:50 2020 +0300

    Account for symlinks in total package size (RhBug:1848199)
    
    The symlinks do occupy space so they should be counted, except for
    hardlinks to symlinks.
    
    Rpm's own disk-space accounting is not affected, it always looks at
    individual file sizes rather than the total size.

commit fb5299b2a49460216c38674b7398296d3a6d767c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 17 13:54:25 2020 +0300

    Always fail build on dependency generator failures (#1183)
    
    Previously only the legacy external dependency generator listened to
    exit codes from the generator, and even that only for provides.
    Anybody building packages will want to know if generators barf up
    for one reason or another. Let them.
    
    Always call rpmfcExec() with failnonzero set, pass errors around, add tests.
    
    Fixes: #1183

commit c9bb0c30d0eab5ff7db80d920d40c02623732f71
Author: Tom Stellard <tstellar@redhat.com>
Date:   Tue Jun 9 21:05:16 2020 +0000

    Fix data race in packageBinaries() function
    
    The pkg variable used in the parallel loop was declared outside
    of the omp parallel construct, so it was shared among tasks.  This
    had the potential to cause a data race.  The gcc openmp implementation
    did not hit this problem, but I uncovered it while trying to compile with
    clang.  My best guess as to what was happening is that after the last
    task was launched, all tasks had the same value of pkg and were operating
    on the same data at the same time.
    
    This patch declares the variable inside the omp parallel construct, so each
    task gets its own copy of the variable.

commit 8b14c799214d8143648ec8a346d06cd324368ada
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 13:39:24 2020 +0300

    Localize gpg-agent setup to --addsign tests
    
    With each test running in their own private environment, we don't need
    to worry about lingering gpg-agents due to HOME pointing to wrong
    places etc. One special thing less to worry about in the testing root.

commit d93cf2db7c386b65380b7544077cda54412de5b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 13:35:31 2020 +0300

    Merge --addsign tests into a a common group
    
    It's the only thing needing messy gpg-agent setup, this allows
    localizing it.

commit c4ac6fc7738423c03121b0bf2789863a1b62fb13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 10:43:15 2020 +0300

    Merge minimize_writes tests sharing built content into common groups

commit a0d8edc32414dbae5129e7ab2d76356b43ec726c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 10:30:53 2020 +0300

    Eliminate redundant source file copying from build tests
    
    Make a symlink to the read-only sources directory at setup instead
    of copying the same source over and over.

commit e1052b8bdaecbbc4f7274f0804edf9d09bdfb653
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 10:14:17 2020 +0300

    Merge spec conditional tests into one group
    
    These don't need separate testroots each

commit a0837d3b64f96cd2083e02672f5d9cf9b8dae0f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 09:44:50 2020 +0300

    Merge file type replacement tests sharing built content into common groups

commit 755359b5f0a53b551daa2f29c51370f06d1e603e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 16:15:23 2020 +0300

    Merge config filetype change tests sharing built content into common groups

commit 6c4ee0d8c7a0ed210fc23870a157d4765f3f7ce7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 15:54:17 2020 +0300

    Merge %config symlink tests sharing built content into common groups

commit d1d7f0590325a3c7182184444c7bbcee7050f2fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 14:52:17 2020 +0300

    Merge %config tests sharing built content into common groups

commit 896dc31dea08e9531211ad77a4eb0e4fae92233b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 11:49:36 2020 +0300

    Merge dependency tests sharing built material to common groups

commit 9f62e38899de8a0eca0ba237e75358eba1a4e361
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 11:28:39 2020 +0300

    Merge obsoletion tests sharing built content to single group

commit 349052925edd5f7c348f01699d7c36948353ed40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 12:51:19 2020 +0300

    Run CI test-suite in parallel, limit parallelism to $(nproc)
    
    Up to now, test-suite has been serially executed and the actual build
    with ulimited parallelism, which isn't necessarily faster if the
    system chokes on it. Now that we can, enable parallel running of
    the test-suite. While at it, cap the build parallelism to our allocated
    maximum of $(nproc)

commit a2c346b3cd76770e24fb3934bd572257e85f2ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 15:47:51 2020 +0300

    Remove now redundant TOPDIR removals from tests
    
    No longer needed as each test gets its own environment.
    Lots of similar cleanup possible, but one thing at a time...

commit 80deabe0194df2ad0524546899d462114e16ea65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 13:52:28 2020 +0300

    Execute tests in independent testing roots to enable parallel running
    
    Up to now we've run tests in a mish-mash of an environment where bits
    and pieces of previous tests might exist, and as state has been shared
    it's been impossible to execute tests in parallel.
    
    This makes the pre-populated testing-root read-only to the owner to force
    all writers to perform an extra setup call to gain a private testing
    environment. Most of the users needing this already had RPMDB_INIT calls
    to ensure clean rpmdb state so that's where this is hooked onto.
    
    There's a fair bit of gymnastics with the environment to make things match
    on both sides of fakechroot, some of which can hopefully go away eventually
    once the dust from this settles. This is also rather heavy as it is,
    on my laptop serial execution goes down from ~1m15s to ~1m45s, but then
    parallel execution with -j8 is down to ~50s. There should be a number of
    optimizations that can be made, such as setting up links for writable
    directories instead of copying the entire testing-tree around, but leaving
    that as a future exercise. This is more of an enabler than the goal state.
    
    Note that this does *not* enable test-suite parallel running for
    `make -jN check`, because `make` does not export the -j argument in
    a way that we could pass to `./rpmtests` from the makefile. To enable
    that, one needs to pass a suitable -jN argument through TESTSUITEFLAGS,
    such as `make -j8 check TESTSUITEFLAGS="-j8"`. Or run invoke `rpmtests`
    manually.

commit d6cbb4b29f5304614be2ea2c2300cfcbe81d5865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 13:18:45 2020 +0300

    Don't assume pre-existing /opt in replace tests

commit 74cd6c728e0dd46c871292fd6fa6ee0d673d8704
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 13:17:09 2020 +0300

    Use testroot, not host configuration for finding lua init directory

commit b0d656ae8ebae5161529414b4014b74fe526f070
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 12:41:25 2020 +0300

    Run tests sharing built material as groups
    
    Various file conflict and upgrade/downgrade tests rely on packages
    built in a previous testcase, which is broken. Merge these into
    groups that consist of multiple individual cases.

commit bbb8f3f2364be3217489bb5474d0a43be34d0d8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 12:34:04 2020 +0300

    Add missing RPMDB_INIT wherever we write something in the tests
    
    This clears up usage and reduces potential of previous tests affecting
    next ones, but primarily this is just paving way for next steps.

commit b13a81d02a60af5233c6b51e8f7cdc6e82571c65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 12:24:05 2020 +0300

    Merge RPMDB_CLEAR into RPMDB_INIT, they're never used separately
    
    If we need to init, we need an empty database. Having these separate
    is a historical artifact from the early days of the test-suite.

commit 39eb7f5ed0223ef587d650bd40acc05eaf6fb2f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 11:41:21 2020 +0300

    Always refer to our testing root directory via ${RPMTEST}
    
    Doesn't change anything at the moment but clarifies things and paves
    the way for next changes.

commit d59b9d318b79528259da6ef8256b84700ca79faf
Author: Tom Stellard <tstellar@redhat.com>
Date:   Fri Jun 12 00:25:57 2020 +0000

    Fix .debug_macro test with clang
    
    clang will only emit the .debug_macro section when the -fdebug-macro
    option is used.
    
    The make invocation also needed to be updated to ensure that the
    compiler used to build RPM is the one used for building the tests.

commit 6f70118c33240c97832c2652c0d0386c3bef926f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 10 10:33:06 2020 +0300

    Fix completely broken prefix search on sqlite backend
    
    The prefix search was so wrong it's a small miracle it ever did anything
    at all. What have I been thinking? Well, I do remember thinking this
    prefix stuff looks kinda fishy but then it seems to work so...
    
    The prefix search belongs to the keyed iterator fetch case of course,
    not the case where we're otherwise iterating over all keys.
    
    Fixes: #1260

commit e16672805fb57f7688c5e288e5d8b5c5baf4192b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 9 13:59:44 2020 +0200

    Fix tag mixup in 32e2bc50cff9db05729349ff6645a0251d5719fb

commit bea87e4709d45fd2b4f554af7f9d0b898f921f70
Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date:   Sun Jun 7 14:46:04 2020 +0300

    Fail the build if %_build_pkgcheck_set failed
    
    RPM build did not fail if rpmlint (%_build_pkgcheck_set) failed when checking binary RPMs
    (it did fail correctly when rpmlint failed when checking SRPMs)
    
    If %_nonzero_exit_pkgcheck_terminate_build is true, then the build must fail, otherwise it must not.
    This regressed and the build never failed.
    
    Probably fixes regression introduced by 78f61f273 ("Refactor package set checking out of packageBinaries()")

commit 32e2bc50cff9db05729349ff6645a0251d5719fb
Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date:   Sun May 24 04:08:36 2020 +0300

    Add OrderWithRequires dependency generation
    
    It was possible to generate Requires, Recommends etc. using external dependency generators.
    Adding ability to generate OrderWithRequires.
    
    Example use case:
    
    When a package contains a systemd unit, %systemd_* macros are usually used;
    it is usefull to add "OrderWithRequires: systemd" in this case to ensure
    that systemd is installed before that package.
    
    It will help to avoid adding "%systemd_ordering" manually to all packages using systemd.
    Having systemd preinstalled before packages with systemd scriptlets is really important,
    otherwise those scriptlets fail silently, and the resulting ISO or chroot may be broken.
    
    The same makes sense for e.g. systemd-sysusers, systemd-tmpfiles.
    
    An RPM generator using this functionality was implemented: https://abf.io/import/order-rpm-generators
    Rebuilding packages with systemd stuff in rosa2019.05 using this generator has already helped
    to improve installation order, e.g. make e.g. openvpn be installed when systemd already exists
    in a big transaction with ~3500 packages when building a big ISO image.
    Before that openvpn was installed when systemd did not exist yet.
    
    P.S. This patch adds %__find_orderwithrequires, maybe that is legacy code that should not be changed.
    
    Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>

commit 2ac60753c90ba4579b13425064e3df3d1421d61e
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 7 14:31:19 2020 +0200

    metainfo.attr: Fix execution of the generator
    
    Somehow it wasn't noticed before.
    
    Fixes: 9464926456125dacb8046767f1fe4235471986e9
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 09a3d5c23b89bd3e2d556097234e05a8a9b8f7df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 4 11:18:01 2020 +0300

    Fix python ts.addErase() not raising exception on not-found packages
    
    The code would only raise an exception if TransactionSetCore.addErase()
    returned an error, but the catch is that with many kinds of argument
    types we'd silently skip the whole addition because no headers were found.
    This looks to be a regression introduced some eleven years ago in
    commit 9b20c706a4f93266450fae2f94007343b2e8fd9e.
    
    As a special case, a match iterator argument will not raise an exception
    if it doesn't actually match anything.
    
    Fixes: #1214

commit 25e856a6d464e37b067fa4b767845cfe4cc6be13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 4 10:44:11 2020 +0300

    Unify Python addInstall/Reinstall/Erase exception message format
    
    addErase() claimed package not installed for failures, but there could
    be other reasons, and for eg. headers coming from match iterators
    failure to add cannot be "not installed".
    
    Use a common message format that actually states which operation failed.

commit 869a36c17224ada40614639f1c12345bfc748663
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 3 10:17:33 2020 +0300

    Don't auto-enable IO flushing on non-rotational disks
    
    Commit 47e2463d8a98a7535e141d59d17be17d5a30862c added logic to enable
    %_flush_io automatically on non-rotational disks to avoid trashing system
    caches and IO peaks on the grounds that this isn't so expensive on SSD,
    but real world experience suggests otherwise. Install times go from
    seconds to minutes which might not matter for the random individual system
    but for build systems and the like churning away continuously...

commit 486579912381ede82172dc6d0ff3941a6d0536b5
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date:   Wed Jun 3 10:25:24 2020 +0800

    Fix: bump up the limit of signature header to 64MB
    
    Since commits [Place file signatures into the signature header where they
    belong][1] applied, run `rpm -Kv **.rpm' failed if signature header
    is larger than 64KB. Here are steps:
    
    1) A unsigned rpm package, the size is 227560 bytes
    $ ls -al xz-src-5.2.5-r0.corei7_64.rpm
    -rw-------. 1 mockbuild 1000 227560 Jun  3 09:59
    
    2) Sign the rpm package
    $ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm
    
    3) The size of signed rpm is 312208 bytes
    $ ls -al xz-src-5.2.5-r0.corei7_64.rpm
    -rw-------. 1 mockbuild 1000 312208 Jun  3 09:48
    
    4) Run `rpm -Kv' failed with signature hdr data out of range
    $ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm
    xz-src-5.2.5-r0.corei7_64.rpm:
    error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of
    bytes(88864) out of range
    
    From 1) and 3), the size of signed rpm package increased
    312208 - 227560 = 84648, so the check of dl_max (64KB,65536)
    is not enough.
    
    As [1] said:
    
        This also means the signature header can be MUCH bigger than ever
        before,so bump up the limit (to 64MB, arbitrary something for now)
    
    So [1] missed to multiply by 1024.
    
    [1] https://github.com/rpm-software-management/rpm/commit/f558e886050c4e98f6cdde391df679a411b3f62c
    
    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

commit 2153fa4ae51a84547129b8ebb3bb396e1737020e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 2 15:53:47 2020 +0300

    Add a pre-flight check for removed packages too
    
    For now we simply check whether the removed packages exist at all,
    ie if somebody removed the package in the time between adding the
    package to the transaction and running the transaction. One could argue
    that whoever removed it already did us a favor so why bother, but then
    that's not in the spirit of transactions.
    
    RPMPROB_PKG_INSTALLED is (ab)used for the purpose as it's related
    to the install status anyhow, and we can trivially adjust the message
    as per the instance number.

commit 37c32e6482217c5a7a63bd91422029239cdcdc87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 2 14:27:30 2020 +0300

    Refactor pre-flight checks for added packages to helper function
    
    No intended functional changes, just pre-requisites for performing
    more pre-flight checks.

commit acf5e00281d73a2f8034091241c7b0e2ba00e383
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Mon Jun 1 10:59:05 2020 +0200

    rpmbuild: Do not create a %_sourcedir / %_specdir
    
    Those should be created by user, no RPM.
    
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit af746846c051defa7eb86e19847076c15ed7bb97
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Mon Jun 1 10:59:05 2020 +0200

    rpmbuild: Create full build tree after parsing a spec file
    
    %_sourcedir and such can use %{name} and that is correct from RPM POV
    because that expansion happens only during the actual build. However,
    rpmbuild tries to create those directories before parsing spec that
    leads to some warnings from RPM even though those macro are re-evaluated
    later during the build. It is enough to create %_topdir and %_specdir in
    the beginning to support building from tarball and create the rest after
    parsing spec. Having any macro that would be populated from spec in
    %_topdir and %_specdir is just not going to work anyway.
    
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit d009ac4828740a03d6f8069b7d76ad8216e14090
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 28 13:48:26 2020 +0300

    Remove support for NSS
    
    NSS is a behemoth of a library which drags in a whole runtime subsystem
    of its own which is often at odds with normal Unix system behavior
    (hello SIGPIPE). Now that we have nicer alternatives available there's
    little reason to lug this baggage along. NSS was deprecated in rpm 4.16
    (commit 0b9efb93fb38310a48142e2f009740fc5e4abde6).

commit cf967331d34efe744455677ef1b968f248c95ff8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 28 13:38:09 2020 +0300

    Remove support for beecrypt
    
    Beecrypt whose upstream is dead for more than ten years now, was deprecated
    in rpm 4.16 (in commit 0910e6aa9eec7295772c6ad904063f73dd0eb8d6).

commit 3ca518876f9a97f2b74566011153fba941cb7b8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 28 13:27:19 2020 +0300

    Bump version to mark beginning of a new development cycle

commit a9199f17be42d22791caa33c1d79157b29b811d2
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Mon May 11 12:40:24 2020 +0200

    macros: Drop internal macros which are not used in RPM and Fedora
    
    The special note requires remsh which is used internally, under
    different name (with one underscore instead of two).
    
    Those macros are not used anywhere in RPM, neither in Fedora as of
    today.
    
    References: https://github.com/rpm-software-management/rpm/issues/1211
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 6f7ae5116cbc12d2fec015aaa9bb15c2d986a1d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 28 10:22:22 2020 +0300

    Bump CI Fedora version from 31 to 32 aka latest stable

commit 145b5f87404e4c811b36bebd34e5602d08debc99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 19 15:54:49 2020 +0300

    Support rpm version comparison in expressions
    
    Adds rpm version as a new expression value type, denoted by v"" (similar
    to Python u"", b"" etc), which are compared using rpm version comparison
    algorithm rather than regular string comparison.
    
    For example in specs:
    
        %if v"%{python_version}" < v"3.9"
        %endif
    
    ...but also command lines, arbitrary macros etc:
    
        rpm --eval '%[v"1:1.2" < v"2.0"]'
    
    Fixes: #1217

commit 7af054a1b7e446b87b625a1a5c34861a801acc92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 19 15:23:21 2020 +0300

    Handle expression value reset centrally
    
    Less redundancy and makes adding new types nicer.

commit 00fa4f3734c15ef3aa94a854e008beab6c75e31a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 19 14:56:21 2020 +0300

    Refactor expression parser comparisons to use common logic for all types
    
    It's less code, less redundancy and makes adding new types nicer.

commit 4f7a500c75d215877184bf80ba92a1789bb7dd60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 27 14:35:37 2020 +0300

    Support EVR strings to Python labelCompare()
    
    Use the newly added version converter function for parsing labelCompare()
    arguments, gaining automatic access to all formats that we support
    in rpm.ver() constructor. Currently this means (E,V,R) tuples which
    labelCompare() always used, plus plain old strings. In future, might
    be something more.

commit a837ec978d19c71b0dcf9b0a951e498333eb9166
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 27 12:31:50 2020 +0300

    Add Python bindings for the new version API

commit a1d2722c4a88a49008daa58653c9c5ebf9344d63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 15 11:39:10 2020 +0300

    Fix Lua rpm.vercmp() to compare actual EVRs instead of segments (#897)
    
    The low-level rpmvercmp() was always the wrong thing to export to Lua,
    but its what people have used because it's there and its used for
    comparing full versions. So rather than add a separate API for the higher
    level comparison, lets just change rpm.vercmp() do the right thing instead.
    
    Fixes: #897

commit 74dd240d0006e3943e9aaa7687d57db4aa9bc42b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 15 11:37:46 2020 +0300

    Refactor python labelCompare() to use the new version API, add more tests

commit d88b9299983ef1a6a14032cde9938a325e972e28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 15 11:36:18 2020 +0300

    Refactor rpmdsCompare() to use the new version API

commit be0c4b5dce1630637c98002730d840cd6806c370
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 15 11:33:51 2020 +0300

    Add (beginnings of) a rpm version API (parsing, comparison)
    
    It's more than a little hysterical that rpm hasn't had a meaningful
    public API for parsing and comparing version strings. The API may seem
    kinda overkill for some things but then this does give us a place to
    check for invalid version strings, which is a thing we never had before
    (although the current code doesn't do much in the way of checking)
    
    Fixes: #561

commit 6800e0a4df14e03157a463b55cbe6adfa0ce0c3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 14 17:20:26 2020 +0300

    Axe --nopromote and most of the related infrastructure
    
    Epoch promotion was a thing around and before the turn of the millenium,
    we really shouldn't be carrying that cruft around anymore.
    
    Remove all traces that we can without too much guilt about breaking
    ABI/API and not bumping soname which we dont want to do for this
    stupid old thing: all the symbols are left in place, they just don't
    work anymore. Nobody should notice as nobody can have been using this
    stuff in the last 15+ years.

commit f1e721ccfc936e37dd093b5aa331410dce4ae610
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 14 16:26:20 2020 +0300

    Consolidate our Lua-bindings to librpmio now that we can
    
    No functional changes, just lose extra baggage that was needed to append
    initialize and append rpm.vercmp() from librpm side when the rest is in
    librpmio. We might need to bring it back some day, but given the history
    here it doesn't seem all that likely.

commit 501fb4ef6221f44e96554a90c874c41bdbcfab84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 14 12:40:59 2020 +0300

    Move rpmvercmp() to librpmio
    
    Adding a new header just for this seems a bit much but we'll be adding
    stuff there shortly.
    
    No functional changes as such, this is prerequisite for supporting
    version comparison in expressions.

commit 290537375d4ede0fc00f5839a8766cb25c18a3e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 14 12:32:00 2020 +0300

    Move rpmVersionCompare() to headerutil.c for better layer match
    
    No functional change, but we'll need this in the next step.

commit c958b02a0f01e274aeb71b677061a4b1918833db
Author: Tomas Orsava <torsava@redhat.com>
Date:   Thu Apr 23 20:41:13 2020 +0200

    scripts/pythondistdeps: Modify handling of dev versions

commit 753173b744f005eb25965d7eb1590bf641f44251
Author: Tomas Orsava <torsava@redhat.com>
Date:   Mon Apr 20 16:39:28 2020 +0200

    scripts/pythondistdeps: Version handling exception with better information

commit 470c36728463ded70b5499cc82e180a591f78b31
Author: Tomas Orsava <torsava@redhat.com>
Date:   Mon Apr 20 16:37:29 2020 +0200

    scripts/pythondistdeps: Do anything only when called as a main script
    
    Note that the code is completely unchanged except for the indentation
    under the new if __name__ == "__main__":
    
    Note that this change is necessary, but not sufficient to use the
    RpmVersion class.
    The init of the RpmVersion class will fail when called from an outside
    script, because the `parse_version()` function is lazily imported from
    the code outside the class.  However, adding the import of
    parse_version() to RpmVersion class is not done right now, because while
    we would import it from `pkg_resources`, other scripts might want to
    rely instead of the lightweight `packaging` module for the import. Thus
    I'm leaving this conondrum to be addressed in the future.

commit 08dbbfe960979fb7b344acbdf940b6b41332fb80
Author: Tomas Orsava <torsava@redhat.com>
Date:   Tue Apr 7 01:10:42 2020 +0200

    scripts/pythondistdeps: Implement --normalized-name-* options
    
    --normalized-names-format FORMAT
        FORMAT of normalized names can be `pep503` [default] or `legacy-dots` (dots allowed)
    
    --normalized-names-provide-both
        Provede both `pep503` and `legacy-dots` format of normalized names (useful for a transition period)

commit c97e631d6e13a7f59c1eb166b6d6936798a95eda
Author: Tomas Orsava <torsava@redhat.com>
Date:   Wed Nov 27 18:16:43 2019 +0100

    scripts/pythondistdeps: Add option to generate major-version provides only for specified Python versions

commit 4ff70411be679ce86f9c00f149153b5b4e216c97
Author: Tomas Orsava <torsava@redhat.com>
Date:   Tue Apr 7 01:16:34 2020 +0200

    scripts/pythondistdeps: Sort generated provides/requires
    
    So that they can be compared with expected results in tests

commit fbe6d2d0437720d59fe3d4f2766e0d91c4d1c100
Author: Tomas Orsava <torsava@redhat.com>
Date:   Wed Apr 8 18:12:09 2020 +0200

    scripts/pythondistdeps: Notes from an attempted rewrite to importlib.metadata
    
    Notes from an attempted rewrite from pkg_resources to importlib.metadata in 2020:
    1. While pkg_resources can open a metadata on a specified path
       (Distribution.from_location()), importlib provides access only to
       "installed package metadata", i.e. the the dist-info or egg-info directory
       must be "discoverable", i.e. on the sys.path.
       - Thankfully only the dist/egg-info directory must exist, the
         corresponding Python module does not have to be present.
       - The problems this causes:
         (a) You have to manipulate the sys.path to add the specific location of
             the site-packages directory inside the buildroot
         (b) If you have package "foo" in this newly added directory on sys.path
             and there is some problem and its dist/egg-info metadata are not found,
             importlib.metadata continues searching the sys.path and may discover a
             package with the same name (possibly same version) outside the
             buildroot.
             To get around this, you can manipulate the sys.path to remove all
             other "site-packages" directories. But you have to leave the
             standard library there, because importlib may import other modules
             (in my testing: base64, quopri, random, socket, calendar, uu)
         (c) I have not tested how well it works if you're ispecting metadata of
             different Python versions than the one you run the script with
             (especially Python 2 vs Python 3). This might also cause problems with
             dependency specifiers (i.e. python_version != "3.4")
    2. Handling of dependencies (requires) is problematic in importlib.metadata
       - pkg_resources provides a way to separately list standard requires and a
         requires for each "extras" category. importlib does not provide this, it
         only spits out a list of strings, each string in the format:
         - 'packaging>=14',
         - 'towncrier>=18.5.0; extra == "docs"', or
         - 'psutil<6,>=5.6.1; (python_version != "3.4") and extra == "testing"
         you can either parse these with a regex (fragile) or use the external
         `packaging` Python module. `packaging`, however, also doesn't have a great
         support for figuring out extra dependencies, it provides the marker api:
         - <Marker(\'python_version != "3.4" and extra == "testing"\')>
         you can use Marker api to evaluate the condition, but not to parse.
         For parsing you can access the private api Marker._markers:
         - marker._markers=[[(<Variable('python_version')>, <Op('!=')>, \
               <Value('3.4')>)], 'and', (<Variable('extra')>, <Op('==')>, \
               <Value('testing')>)]
         which beyond the problem of being private is also not very useful for
         parsing due to its structure.
       - pkg_resources also provides version parsing, which importlib does not
         and `packaging` needs to be used
       - importlib is part of the standard library, but packaging and its
         2 runtime dependencies (pyparsing and six) are not, and therefore we
         would go from 1 dependency to 3
    3. A few minor issues, more in the next section about equivalents.
    
    importlib.metadata.distribution equivalents of pkg_resources.Distribution attributes:
    - pkg_resources: dist.py_version
      importlib: # not implemented (but can be guessed from the /usr/lib/pythonXX.YY/ path)
    - pkg_resources: dist.project_name
      importlib: dist.metadata['name']
    - pkg_resources: dist.key
      importlib: # not implemented
    - pkg_resources: dist.version
      importlib: dist.version
    - pkg_resources: dist.requires()
      importlib: dist.requires  # but returns strings with almost no parsing done, and also lists extras
    - pkg_resources: dist.requires(extras=dist.extras)
      importlib: # not implemented, has to be parsed from dist.requires
    - pkg_resources: dist.get_entry_map('console_scripts')
      importlib: [ep for ep in importlib.metadata.entry_points()['console_scripts'] if ep.name == pkg][0]
                 # I have not found a better way to get the console_scripts
    - pkg_resources: dist.get_entry_map('gui_scripts')
      importlib: # Presumably same as console_scripts, but untested

commit 28c292ae29a5be149a5e34b31912befd8936a359
Author: Tomas Orsava <torsava@redhat.com>
Date:   Thu Apr 2 13:28:09 2020 +0200

    scripts/pythondistdeps: "Fix" support of environment markers
    
    Upstreaming from Fedora

commit 4c0ed11a3004c7182c667532b260abb420e9fb9c
Author: Tomas Orsava <torsava@redhat.com>
Date:   Thu Apr 2 13:26:19 2020 +0200

    scripts/pythondistdeps: Also provide pythonXdist() with PEP 503 normalized names
    
    Upstreaming from Fedora (BZ#1791530)
    
    That is, we add new provides that replace dots with a dash.
    
    Package that used to provide python3dist(zope.component) and python3.8dist(zope.component)
    now also provides python3dist(zope-component) and python3.8dist(zope-component).
    
    Package that used to provide python3dist(a.-.-.-.a) now provides python3dist(a-a) as well.
    
    This is consistent with pip behavior, `pip install zope-component` installs zope.component.
    
    Historically, we have always used dist.key (safe_name) from setuptools,
    but that is a non-standardized convention -- whether or not it replaces dots
    with dashes is not even documented.
    We say we use "canonical name" or "normalized name" everywhere, yet we didn't.
    
    We really need to follow the standard (PEP 503):
    
    https://www.python.org/dev/peps/pep-0503/#normalized-names
    
    The proper function here would be packaging.utils.canonicalize_name
    https://packaging.pypa.io/en/latest/utils/#packaging.utils.canonicalize_name
    -- we reimplement it here to avoid an external dependency.
    
    This is the first required step needed if we want to change our requirements later.
    If we decide we don't, for whatever reason, this doesn't break anything.

commit 8734c1b97e39e3c7d3ac8396c4d6a2733852545c
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 29 16:25:41 2020 +0200

    Support ed25519 signatures in digest_libgcrypt.c

commit e3a78f607706ff9ebe5ad32bdee5ba399c54ac9d
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 29 16:24:45 2020 +0200

    Support ed25519 signatures in digest_openssl.c

commit 92c87b97136c378d7b7ee2170f7534e61cb3cf8d
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 29 16:16:41 2020 +0200

    Support the EdDSA public key algorithm
    
    The algorithm identifier and encoding format are taken from the
    not yet accepted update to rfc4480:
    
    https://datatracker.ietf.org/doc/draft-ietf-openpgp-rfc4880bis/
    
    Gnupg supports EdDSA since version 2.1.0 (released in 2014).

commit 95df3dcb9d3932a95491d629f36e2f7399dc922c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 25 10:18:06 2020 +0300

    Add license to Python distutils module description
    
    Fixes: #1236

commit f34030816d84dfbf52f259404b32b81e53c21fbb
Author: Jes Sorensen <jsorensen@fb.com>
Date:   Fri Apr 3 14:09:18 2020 -0400

    rpmfiArchiveRead() use signed return value to handle -1 on error
    
    size_t is unsigned, so returning -1 is not going to have the expected
    behavior. Fix it to return ssize_t.
    
    Signed-off-by: Jes Sorensen <jsorensen@fb.com>

commit 022b48d21092f8a79103fa9318376fb26911e571
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Apr 28 14:44:42 2020 +0200

    Don't define global Lua variables from Python generator

commit 9a30bcdacca365a6d8c4078dc6b6f8014d31d66f
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Apr 1 14:31:55 2020 +0200

    describe all rpmdeps options

commit ead227f2da98c223e4aa4a864f422722c1eb1e3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 14:29:31 2020 +0300

    Kick out leftover development-time assert checks from rpmal

commit a4afbb62c94c6e0dc18c1bf08336aeb4a91f82de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 14:12:47 2020 +0300

    Don't look into source package provides in depsolving
    
    Fixes regressions from commit 75ec16e660e784d7897b37cac1a2b9b135825f25:
    the newly added provides of to-be-built packages were being used for
    dependency resolution, such as spec satifying its own buildrequires,
    and matched against conflicts in installed packages.
    
    Source packages cannot obsolete anything or provide capabilities or files
    to transactions, don't add them to rpmal at all. Explicitly skip checks
    against source provides, similarly to what we already did with obsoletes.
    
    Fixes: #1189

commit 5d8c6e537f875ef233cfff25bd755fe98f8dbede
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Tue Apr 21 12:38:59 2020 +0200

    Convert debuginfo generator to a parametric generator
    
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 232cb6fee64a902818ece5ef1da77177b0590d22
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Tue Apr 21 12:38:59 2020 +0200

    Convert desktop generator to a parametric generator
    
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 9464926456125dacb8046767f1fe4235471986e9
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Tue Apr 21 12:38:58 2020 +0200

    Convert metainfo generator to a parametric generator
    
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 6f6f5e70f16bef21523c3e2f19e7557bfcaa2546
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Tue Apr 21 11:38:25 2020 +0200

    build: prioritize large packages
    
    Binary packages come in different sizes and so their build time can vary
    greatly.  Dynamic scheduling, which we currently use for parallel
    building, is a good strategy to combat such differences and load-balance
    the available CPU cores.
    
    That said, knowing that the build time of a package is proportional to
    its size, we can reduce the overall time even further by cleverly
    ordering the task queue.
    
    As an example, consider a set of 5 packages, 4 of which take 1 unit of
    time to build and one takes 4 units.  If we were to build these on a
    dual-core system, one possible unit distribution would look like this:
    
                TIME --->
    CPU 1       * * * * * *         # package 1, 3 and 5
    CPU 2       * *                 # package 2 and 4
    
    Now, compare that to a different distribution where the largest package
    5 gets built early on:
    
                TIME --->
    CPU 1       * * * *             # package 5
    CPU 2       * * * *             # package 1, 2, 3 and 4
    
    It's obvious that processing the largest packages first gives better
    results when dealing with such a mix of small and large packages
    (typically a regular package and its debuginfo counterpart,
    respectively).
    
    Now, with dynamic scheduling in OpenMP, we cannot directly control the
    task queue; we can only generate the tasks and let the runtime system do
    its work.  What we can do, however, is to provide a hint to the runtime
    system for the desired ordering, using the "priority" clause.
    
    So, in this commit, we use the clause to assign a priority value to each
    build task based on the respective package size (the bigger the size,
    the higher the priority), to help achieve an optimal execution order.
    
    Indeed, in my testing, the priorities were followed to the letter (but
    remember, that's not guaranteed by the specification).  Interestingly,
    even without the use of priorities, simply generating the tasks in the
    desired order resulted in the same execution order for me, but that's,
    again, just an implementation detail.
    
    Also note that OpenMP is allowed to stop the thread generating the tasks
    at any time, and make it execute some of the tasks instead.  If the
    chosen task happens to be a long-duration one, we might hit a starvation
    scenario where the other threads have exhausted the task queue and
    there's nobody to generate new tasks.  To counter that, this commit also
    adds the "untied" clause which allows other threads to pick up where the
    generating thread left off, and continue generating new tasks.
    
    Resolves #1045.

commit 701736a18a4625557a5181df3a4f3aed7ac13506
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 8 14:38:46 2020 +0300

    Warn on undefined components in buildtree macros
    
    Issue a warning if buildtree macros (%_sourcedir etc) contain undefined
    macro(s) after expansion, such as things only defined during spec parse.
    This always was a murky case that doesn't work in all scenarios, so
    a warning seems appropriate. Actual behavior doesn't change here though.

commit d3470947a5e6adf150e999d3ec45c1fefdf62693
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Sun Apr 19 14:24:00 2020 -0700

    Handle all-zero versions without crashing.

commit 25a8dfae1a2d835ba226877f1d7378553f8ab5a4
Author: Steve Kowalik <steven@wedontsleep.org>
Date:   Fri Apr 17 14:15:12 2020 +1000

    scripts/pythondistdeps: Deal with some flake8 warnings
    
    flake8 is mostly unhappy with pythondistdeps.py, so clean up most of
    them, which is whitespace changes.

commit 3f7b03af432fe0c28587611e7eaf92c4ea4a93ac
Author: Steve Kowalik <steven@wedontsleep.org>
Date:   Fri Apr 17 14:14:54 2020 +1000

    scripts/pythondistdeps: Switch to argparse
    
    Stop using getopt, and switch to a modern solution for parsing
    arguments.

commit 224c08a5e8050b0b630265fad1ef667942681551
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Apr 14 12:27:03 2020 +0200

    Adjust %__python_path
    
     - sync with Fedora
     - only match direct Python sitedir, no /opt/.../lib/python3.7 stuff
     - prep for multiple digits Python major releases (e.g. 12.1)
     - use the value of %_prefix
    
    See also:
    
    https://src.fedoraproject.org/rpms/python-rpm-generators/c/8eef42cbaa6ff0e5c006959fc06ec115ed5ca37b
    https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/thread/UFKUM5UKCTNGIT3KJVYEI5VXPI23QMBN/
    https://github.com/rpm-software-management/rpm/pull/1153#discussion_r407997958

commit 0b9efb93fb38310a48142e2f009740fc5e4abde6
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Apr 16 08:12:40 2020 -0400

    Deprecate NSS support
    
    The NSS library often changes in ways that somehow breaks rpm,
    and these days upstream does not care about consumers of NSS other
    than itself. This inflicts untold amounts of suffering on users
    of rpm in distributions where rpm is linked to NSS.
    
    Now that we have a couple of good, well-supported options, there is
    no reason to keep supporting NSS as an option.
    
    So now, we are deprecating it for later removal.

commit 0910e6aa9eec7295772c6ad904063f73dd0eb8d6
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Apr 16 08:11:06 2020 -0400

    Add a warning when beecrypt is selected for the crypto library
    
    Let's make it absolutely clear that selecting beecrypt is deprecated
    and those continuing to use it should be aware that the option will
    go away soon.

commit c77df4cd1df3cfae27a3aaaa587a7a8cedbbfc28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 14 12:44:18 2020 +0300

    Handle manually specified debuginfo package more gracefully
    
    In todays' "look ma what crawled from under the bed" episode, we have
    encounter a subpackage whose name is not derived from the main package
    name, and a manually specified debuginfo package on that. This particular
    combo manages to evade all our checks for duplicate package names, and
    in the right phase of the moon actually creates corrupt packages due to
    two threads end up writing to the same output file simultaneously. Which
    is what happened in https://pagure.io/fedora-infrastructure/issue/8816
    
    Catch the case and use the spec-defined variant (because getting rid
    of it would be harder) but issue a warning because most likely this
    is not what they really wanted.

commit de3f36acc91bf13e694bb479e8dbe0502a4cc4e1
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 11:09:29 2020 +0200

    Add an index sync call at the end of a database rebuild
    
    This is normally unneeded because an index sync is already done
    after each package is added to the database. But rebuilding an
    empty database lead to no index sync being done and a mismatch
    between the generation count. This in turn will trigger a
    index regeneration.
    
    Found by using ndb when running the test suite.

commit 6511823c97c6f40b8d99961767537f4f3bebc16e
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 11:27:46 2020 +0200

    ndb: make rpmxdbWriteHeader a void function
    
    It's a static function and nobody tests the return code. It just
    writes into mapped memory like rpmxdbUpdateSlot, which is also void.

commit 1187cf005a2821d5f239bec1a0ecddfef190a125
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 11:22:39 2020 +0200

    ndb: unmap xdb's header when closing the xdb database
    
    Somehow I was under the impression that mapped regions are unmapped when
    the corresponding file descriptor is closed, but that's not the case
    for POSIX systems.

commit aea8c86ec8a73d34f26c77ad40179df92970260f
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 11:07:31 2020 +0200

    ndb: do not map xdb's header read-write all the time
    
    Instead just map it read-write if one of the functions request
    exclusive access. We keep track of the number of exclusive
    locks and fall back to read-only mapping if the count reaches
    zero again.

commit 3cfd298e9d03a7867118326fc60cc86fd7ea9b73
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 10:58:34 2020 +0200

    ndb: do not map the index databases read-write all the time
    
    Pass the flags to rpmidxOpenXdb and use read only mode if the
    user specified O_RDONLY. We already did that for rpmidxOpen in
    the past but we always used read-write mode when using the Xdb.
    
    We still open the Xdb itself in read-write mode so that we can
    regenerate missing index databases.

commit 85b51e2dcf2a0a6393d2fbc51b78d5398e5ffeed
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 14 10:44:11 2020 +0200

    ndb: also copy the mapped pointer when keeping a slot
    
    We forgot to copy the mapped pointer if a slot was kept when
    re-syncing after a generation mismatch. This led to the mapped
    pointer being zero even if the map callback was set.
    Also add an extra test for the map callback before setting the
    protection flag to PROT_READ.
    
    Found by testing the code with different mapping protection flags.
    See the next commits.

commit 813858cc8951900f315056042d703e8ce90eb6eb
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Wed Apr 1 12:08:27 2020 +0200

    Drop tabs from python.attr

commit 707c372f27349500b5bd0a011e3cc94be7b5c641
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Wed Apr 1 00:53:21 2020 +0200

    Reimplement pythondeps.sh as parametric macro generators
    
    pythondeps.sh was written in shell and unlike the Python dist generators,
    it uses no Python, it plainly determines the provide / requires from the path.
    As the script was run for every Python file, we were potentially doing hundreds
    of shelling outs to execute a script that calls grep and sed.
    
    In Lua, this should be more efficient.
    
    Fixes https://github.com/rpm-software-management/rpm/issues/1152

commit 87c64d65cf9481a49c7f7f30ed5d6592c834898f
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Tue Jan 21 20:27:57 2020 -0800

    scripts/pythondistdeps: Improved python version and operator handling.

commit f1c06f5a99c274e0357d2836c0772d8de1d8777d
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 8 12:03:11 2020 +0200

    Support DSA2 in digest_libgcrypt.c
    
    For DSA2 we need to truncate the hash to the size of the pubkey's Q value.

commit aca34c7e91518650fca05b386b173314c100b349
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 14:49:30 2020 +0300

    Fix regression causing all ELF files classified as OCaml
    
    Commit a6fe37c39b39acbcbd014dd1e6d5653ff84254a1 causes OCaml generators
    to execute on all ELF files due to missing "magic_and_path" flag.
    
    Fixes: #1173

commit 233ee5516f038249a62bc6a25af4647096a6bc41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 11:55:52 2020 +0300

    .gitignore cleanup
    
    Lots of cruft here - the build-aux move related changes from commit
    cd6e4eb9e0f4fbd9ca51efd56d6a29d1fcc8f660, and all manner of historical
    cruft that hasn't existed in over a decade. While at it, consolidate
    it all to the toplevel .gitignore.

commit 10127cdb2364de2c1408950a25b730920e665689
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Sun Apr 5 16:21:40 2020 +0200

    rpmfc: Do not prepend buildroot to a path for parametric generator
    
    'fn' already contains full path to a file, so no need to prepend it once
    more. This is actually breaking things.
    
    Before:
    D: Calling %{__pythonname_provides %{?__pythonname_provides_opts}}() on /home/brain/rpmbuild/BUILDROOT/hello-1-1.fc33.x86_64//home/brain/rpmbuild/BUILDROOT/hello-1-1.fc33.x86_64/usr/share/applications/org.gnome.Terminal.desktop
    
    After:
    D: Calling %{__pythonname_provides %{?__pythonname_provides_opts}}() on /home/brain/rpmbuild/BUILDROOT/hello-1-1.fc33.x86_64/usr/share/applications/org.gnome.Terminal.desktop
    
    Fixes: https://github.com/rpm-software-management/rpm/issues/1162
    Signed-off-by: Igor Raits <i.gnatenko.brain@gmail.com>

commit 853c48ba6468ce1a516621a2fa6d1fc51e4f7410
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 2 09:14:36 2020 +0300

    Fix regression causing segfault on database autodetection
    
    If configuration points to non-existent backend, tryBackend() will
    segfault on the first call. Duh. Regression introduced in commit
    3eb0eed3806b41efdf86f0433d0b5d7d6c953561.

commit 8ed452dd8697917637d9e6fcc4b8c5d4bb50c8d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 30 12:03:49 2020 +0300

    Flush 1998 vintage fcntl-compatibility mess from system.h
    
    fcntl.h is standard, include it from places that need it and drop
    from system.h.

commit 7630389dcd3494c13b74b119cca37f97d2d8445a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 30 11:29:19 2020 +0300

    Flush 1998 vintage dirent.h compatibility mess from system.h
    
    dirent.h and struct dirent are actually standard on this millenium, the
    only thing that isn't is d_type member for which we have and retain
    a specific test in configure.ac. Include <dirent.h> where needed,
    relatively few places do which makes it even a bigger insult to have
    this included from system.h.

commit c24ff314616f93129c508bfda5b9334ab20330a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 31 13:29:48 2020 +0300

    Unset SOURCE_DATE_EPOCH for the test-suite
    
    Fixes the reproducable build test failing in Fedora rpm builds due to
    %source_date_epoch_from_changelog being set on the outside, which
    leaks the SOURCE_DATE_EPOCH environment into the test-suite and
    changes the expectation.

commit f8b8e86ae39b876b60584cd5e60fbfa5948deee3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 16:02:46 2020 +0200

    Flush 20+ year old statfs() jungle, always use standard statvfs()
    
    Unlike that multiple statfs() variants, statvfs() is actually in
    POSIX 1-2001 already and covers everything we need so there's little
    point mucking with anything else. statvfs() is what Linux has been
    using all along anyway this means no change on the primary platform.
    
    If this actually regresses something, adding back OS-specific bits
    is not a problem, but at least we'll get a clean start with that.

commit 08750a929c0da360bf594cd2be74612c19ed0293
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Mar 30 09:55:15 2020 +0200

    also package rpm-plugins.8

commit 0801c8245445ae4dc0858033540321c92cb20714
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Mar 30 09:23:05 2020 +0200

    fix phrasing

commit 19f172a729e906f50e71381784ea9b635455e3db
Author: Thierry Vignaud <tvignaud@redhat.com>
Date:   Mon Mar 30 09:11:07 2020 +0200

    actually include the new man pages

commit dd08abdd123947fad6bca2044493e7f68375ffc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 15:09:25 2020 +0200

    Drop support for dmalloc
    
    Last dmalloc release is from 2007, and these days there are plenty of
    other, maintained tools for debugging memory issues.

commit 3017eae9a3952823f80932e84a7a1e81f983639a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 14:26:40 2020 +0200

    Drop unmaintained "hacking docs" doxygen docs
    
    We only maintain API docs for public interfaces, this is just
    unnecessary clutter that nobody builds anyway.

commit 8d628a138ee4c3d1b77b993a3c5b71345ce052e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 14:10:24 2020 +0200

    Assume/require POSIX-compliant chmod(1)
    
    The message about telling your OS vendor about GNU utilities that
    gets removed here dates back to 1997. The X syntax to chmod goes back
    to at least 2004 specification of POSIX 1003.1, I think we can safely
    assume that capability in 2020. And that OS vendors know about GNU :)

commit 9318433c7f7ba1709799bfea4ffd7918507d7daf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 13:41:05 2020 +0200

    We don't use yacc for anything, don't bother testing for it

commit cd6e4eb9e0f4fbd9ca51efd56d6a29d1fcc8f660
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 13:28:59 2020 +0200

    Move the auxiliary build tool clutter to a subdirectory

commit 8a5078416d6f157953d3087c1365f2d921b0ddb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 13:22:10 2020 +0200

    Drop config.sub and config.guess from dist-tarballs
    
    These are not our file, so why should we distribute them?

commit d0fbad98cf7f4e3831dad1893d983c560f3504ce
Author: Brett T. Warden <brett.t.warden@intel.com>
Date:   Thu Mar 5 13:11:24 2020 -0800

    Skip HEREDOCs when parsing perl virtual Provides
    
    As noted in particular with App::cpanminus, a lot of perl virtual
    provides are created that the package *doesn't actually provide*. This
    package uses Module::FatPack to embed required libraries that may not be
    already installed on the system, which defines them in HEREDOCs for
    later use.
    
    The only other example where I found package code completely within a
    HEREDOC was in Mail::Sender, and that code is intended to be used only
    privately within Mail::Sender itself. This seems like a valid set of
    code to explicitly ignore.
    
    This is an attempt to make the parser identify, then skip, HEREDOCs when
    looking for provided packages.
    
    Fixes #1106

commit 86e9021aed187e3d9fae5de690882e6dd7c14f15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 14:48:03 2020 +0200

    Fix libelf-related conditional compilation issues
    
    Fix build if libelf isn't available, or libelf is but libdw is not.
    Should've been in commit 3c061be6aeaec1be793b406fac9f667dc5d1429b.

commit 4762c7a3ad387ce1af6d00678b03acc888ff0002
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:09:17 2020 +0200

    Bump gettext version to 0.18.2 to get rid of deprecation warnings
    
    Our beloved gettext 0.16.1 version causes automake to complain about
    AM_PROG_MKDIR_P being deprecated although we never directly use such
    a macro for anything. This appears to have been fixed in gettext 0.18.2
    so bump to that version, having been released in 2012 makes it, um,
    mature enough, even for rpm purposes.

commit 21fdeba186d8bb2ba383e9369a84296fa39c1d95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 12:34:25 2020 +0200

    And now that we can, remove extra compilation step from CI

commit 78bced4bcd806de4959104705d0b927b600df106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 12:30:38 2020 +0200

    Fix "make distcheck" failing right after ./configure
    
    distcheck target depends on having the html docs present, but the paths
    in make targets disagree. Hook it on the directory instead to allow
    distcheck to work without requiring an extra compilation step before it.

commit a08ce7be1365f85577437242d91ec42c348c4f1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 11:30:21 2020 +0200

    Run CI as parallel build to maximum available CPUs

commit 9a7e8e15705e81661f58374fdd83ac5ce425d99b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 11:22:42 2020 +0200

    Hardwire the Fedora version used for CI
    
    CI has been running on latest stable Fedora and rawhide, both of which
    can and do change outside our control and cause previously working
    code to stop building overnight due to new compiler versions etc being
    introduced. This is not a sane situation for mandatory CI, we need
    to be able to validate the codebase on a given version *before* moving
    to it. Setting the version in the Dockerfile instead of external scripts
    ties the codebase and validated versions together as they should.
    
    This still leaves us subject to updates breaking stuff, but that's
    a lesser evil, updates are generally welcome.

commit 2e33c79b13ff7cb983f7d72f6f202f4fc9aa6a22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 11:20:36 2020 +0200

    Set rpm-maint list as the CI Dockerfile maintainer
    
    Thanks to Igor for originally setting this up, but the project and
    its contents are maintained by a team, not individuals.

commit b50ed03bf09ab6190c4f64b5df295a7136055ee1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 24 14:34:03 2020 +0200

    Add a "ci" make target for easy local running

commit 89baad28d6d063d8b5a18195ecf95f8e25c9fcf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 24 14:14:40 2020 +0200

    Move CI copy to later for more caching opportunities

commit cf846fd33d7bc1621d93852b85d6a88ee8e9d105
Author: Daniel Mach <dmach@redhat.com>
Date:   Tue Mar 24 08:08:53 2020 +0100

    Nuke leftover LMDB references in Makefile.am and Dockerfile
    
    Should've been in commit 7de982ac0957c42f228b43685d9f486e55eac331

commit 6811aa3803e30fdfe4c106657956bdde251eaeab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 16:05:30 2020 +0200

    Nuke leftover LMDB reference in rpm.pc.in
    
    Should've been in commit 7de982ac0957c42f228b43685d9f486e55eac331

commit d21065956aef6cdd3ab83303b4fb71039c17221b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 14:37:30 2020 +0200

    Bump libtool version info in preparation of 4.16.x branch
    
    We've only added APIs so no soname bump required.

commit 97cc975824fa00d8868e89f5c00d12861c3644de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 14:34:21 2020 +0200

    Update translations from Zanata

commit fc0169eb03c893d63dc44f2ada954d42e0e759ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 11:22:31 2020 +0200

    Deprecate Berkeley DB database backend
    
    Berkeley DB 5.x is dead upstream ever since the license change some
    seven years ago. Mark as deprecated for later removal now that we're
    starting to have viable alternatives.

commit 60baf9c297f675c2ef2b82bf5af96b26a003d129
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 11:19:09 2020 +0200

    Deprecate beecrypt support
    
    Beecrypt upstream is dead for seven years, this is not a healthy situation
    (death tends to have that effect...) for any component, and even less
    so for security sensitive component. Deprecate for later removal now
    that we have multiple nicer alternatives.

commit cec09e4e00dbc47c32bec15304ad9490ec7bc6c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 11:16:30 2020 +0200

    Remove support for obsolete --with-beecrypt configure switch

commit d690ed7e48c98a53101f866051c6f7a3d623eaf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 23 10:54:58 2020 +0200

    Restore flagless variants of rpmExprBool() and rpmExprStr() for ABI compat
    
    Commit cb4e5e755aa77b132569249c1ac6d87b9c2c76ba added flags arguments
    to rpmExprBool() and rpmExprStr(), but unfortunately rpm 4.15 sailed
    with flagless versions them. It's extremely unlikely that anything out
    there is actually using these, but then you never really know.
    Rpm soname bumps are so inconvenient that we really do not want to do
    that just for these two, so preserve binary compatibility and restore
    flagless variants of both, adjust internal code to use flagged versions
    always. If only we had symbol versioning, sigh.

commit 7de982ac0957c42f228b43685d9f486e55eac331
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 19 10:25:11 2020 +0200

    Drop the experimental LMDB backend
    
    In the three years that LMDB support has been in the tree, and four
    since upstream promised 1.0.0 in a couple of months, there have been
    no upstream changes towards eliminating the key size limitations that
    we need. And in the meanwhile it has become clearer that LMDB is not
    the promised land it seemed on the outset, instead it has issues
    like requiring the database size to be pre-determined (#902).
    
    Drop support for LMDB, there's active development going on in the area
    of database backends and we cannot afford to drag along an experimental
    backend that is blocked on upstream design limitations and shows no signs
    of moving forward. We can always bring it back if the upstream situation
    changes.

commit 8cd161b5bb9b639f5b729063272115436caab545
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 12 11:42:15 2020 +0200

    Always open (and initialize) the entire database at once
    
    In some scenarios we previously only created some of the indexes only
    lazy db init through query. Partially initialized databases don't make
    sense and are only asking for trouble, in particular this was causing
    issues with sqlite backend which is stricter about readonly-mode.
    
    Except for the special case of reading a potentially damaged database
    for rebuilding, always open all the indexes from openDatabase().

commit 3eb0eed3806b41efdf86f0433d0b5d7d6c953561
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 15:12:23 2020 +0200

    Rework and clarify database backend detection logic
    
    Try the configured backend first, and only if that fails try autodetection.
    The former logic did not anticipate multiple backends handling same
    files and gets mightily confused when both bdb and bdb-ro are enabled,
    causing half the test-suite failing in "make check".
    
    Also emit a different message when database rebuild is in progress,
    the old message is quite confusing in that case.
    
    Loosely based on a similar patch by Michael Schroeder.

commit b1aeafef49721d565fcd02ce5e37b653bd96559e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 2 14:47:26 2020 +0200

    Stop adding rpm v3 header+payload signatures by default where not needed
    
    On packages where a separate payload digest exists (ie those built with
    rpm >= 4.14), rpm v3 header+payload signatures are nothing but expensive
    legacy baggage, as the payload digest will be signed by a header-only
    signature already, without having to recalculate the entire file.
    
    Automatically detect the payload digest presence and only add V3
    signatures on packages that need it, but also add an override switch
    to force their addition if needed for compatibility or so. A particular
    use-case would be ability to signature-level verify the entire package
    on rpm older than 4.14.
    
    Fixes: #863

commit 91834e86e0d0b0ea0c49d57fa5ed097b3ccec915
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 2 13:56:33 2020 +0200

    Generalize file signing to use a generic flags field in signing arguments
    
    There will be any number of signing flags in the future, and we don't
    want to break the ABI for every single one of them by adding new
    fields to the sign argument struct. Replace the signfiles field
    with a bitfield in the common rpm style. No functional changes.
    
    This is an API change of course, but we'll have to bump the soname for
    the next release anyway so might as well do it now.

commit a6fe37c39b39acbcbd014dd1e6d5653ff84254a1
Author: Olaf Hering <olaf@aepfle.de>
Date:   Sat Feb 15 17:32:22 2020 +0100

    update OCaml requires/provides to cover also cmx
    
    Dependencies between OCaml files containing native code are also tracked
    by hashes, just like their bytecode counter parts.
    
    OCaml native code files end with cmx, the relevent info is in cmx, cmxa
    and cmxs files. Unlike all other OCaml files, cmxs files have ELF format.
    
    OCaml has two variants of dependency tracking:
      Interfaces, which are already tracked via "ocaml(MODULE) = HASH"
      They are included in cmi, cma, cmo, cmx, cmxa and cmxs files.
    
      Implementations, which are now tracked via "ocamlx(MODULE) = HASH"
      They are included in cmx, cmxa and cmxs files.
    
    Just like Interfaces can be excluded from the dependency list with the
    option -i MODULE, Implementations are excluded with the option -x MODULE.
    
    Previously the final rpm package also got an extra dependency to the
    used ocaml runtime version. This is not strictly required because the
    hashes are unique. Therefore this dependency is no longer created. The
    option -c, which excluded this dependency, is still recognized.
    
    Fixes #913
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>

commit aa90b2e884b75047cae3284c9ccdf968389e3a4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 6 14:48:27 2020 +0200

    Ensure test-suite always uses the test-root database format
    
    Some of our tests aren't using fakechroot and can't easily be made
    to do so. When the database configuration on the host differs from
    the one used by the testroot, this causes bogus test-failures due
    to rpmdb format warnings. Work around by grabbing the db backend
    from the test-root main macros file and explicitly define in run(),
    rundebug() and python test wrappers.
    
    Fixes: #1102

commit ea4f22d646df187ea275af2689ebd94e4594e5ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 6 14:05:49 2020 +0200

    Use runroot for all rpmbuildid tests
    
    There's no reason to use run over runroot in these, the fewer non-root
    uses we have the better...

commit 176858481199f2f957ab3af36d330f036da17fce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 6 13:34:30 2020 +0200

    Run rpmbuild related tests inside test-root where easily possible
    
    Fixes a few cases of external configuration breaking the test-suite,
    eg different database backend emitting warnings.

commit ba385ec5b7f4340a4f9b6815efd0f1a9521a0b15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 6 12:32:09 2020 +0200

    Visibly deprecate RPM v3 support
    
    "RPM v3 is dead" has been repeated over and over in various forums for
    the last 15+ years but as long as rpm itself silently accepts it, most
    users will have no clue. Log a deprecation warning on V3 retrofits,
    in anticipation of eventual removal.
    
    Related: #1107

commit e49111d822dc1c0715f5a85ed61523b4d020ae33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 13:37:50 2020 +0200

    Support file classification by MIME type
    
    In addition to "magic" strings, support classifying files by matches
    on their MIME types which are far more predictable than the notoriously
    volatile magic strings which are intended for human consumption.
    
    This adds an optional %__foo_mime and %__foo_exclude_mime patterns
    to file attributes. If the mime-variant is present, magic is ignored
    if present (with a warning).
    
    The testcase is a fine example of how the grass not necessarily being
    any greener on the other side: the actual output is far more predictable,
    but the actual classification is not. Our "script" with an arbitrary
    unknown interpreter is considered text/plain by libmagic.
    
    Fixes: #1097

commit 3c061be6aeaec1be793b406fac9f667dc5d1429b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 11:15:02 2020 +0200

    Use libelf for determining file colors
    
    libmagic strings are notoriously unreliable as the details from version
    to version. We link to libelf anyway so we might as well as get the
    info straight from the horse's mouth.
    
    Besides being more reliable, this detaches the coloring business from
    the hardcoded rpmfcTokens struct and informative-only FILECLASS contents,
    opening the door for other changes in that area.

commit c6ff61448a4ead0540130c9a6eb052fcd71b2624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 5 12:05:25 2020 +0200

    Don't store file classification errors into headers
    
    Immaterial %ghosts (ie those that only exist in spec, not disk) trip
    up ENOENT errors which end up in package headers, so we have gems like
    this in CLASSDICT:
    
        cannot open `/builddir/build/BUILDROOT/crypto-policies-20191128-2.gitcd267a5.fc31.noarch/etc/crypto-policies/back-ends/krb5.config' (No such file or directory)
    
    Treat errors in classify as errors, and filter out ENOENT to handle
    the above case, others we'll want to have rpm error or at least warn on.
    
    Notably this trips up an error from a symlink loop in two of our test-cases
    that have gone unnoticed until now.

commit b4a3f6c624edb0175855a925f3e0c38e907cb8a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 30 16:17:37 2020 +0200

    Introduce a new qualifier for meta dependencies (RhBug:1648721)
    
    Add a new "meta" qualifier for expressing dependencies that are not
    concrete install- or run-time dependencies, and thus should not take
    part in install ordering.
    
    There are quite a lot of such dependencies in the wild, for example
    versioned sub-package cross-dependencies are typically of this type
    and a common source of unnecessary dependency loops. Another common
    case are dependencies of meta-packages.

commit 2fcccaaf245f363659cd0703293ab7c8694e8c6d
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 3 09:25:47 2020 +0100

    Add isTransientReq macro
    
    Centralize the logic in one place to make it easier to add new qualifiers
    
    These relations are only relevant during installation and are ignored at some
    places e.g. when processing already installed packages. They are also not added
    to the rpmdb indexes.
    
    The way the qualifiers work is a bit peculiar as no qualifier means the
    relation is always relevant. Adding any qualifier restricts the the relation
    to this particular place and time. But adding more qulifiers do not further
    restrict the validity of the relation but adds more relevant cases.
    
    So here there are three cases:
    
    No qualifiers, only install only qualifiers, install only qualifiers that
    get overruled by others

commit c9380471adfa9fb06ace251a5f02b348507db345
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 26 15:06:50 2020 +0200

    Fix prefix match searches on strings containing % on sqlite backend
    
    SQL LIKE is a quirky thing when you only really want exact matches
    on a substring. SUBSTR() looks promising until somebody points out
    that it counts unicode characters, whereas rpm always deals with bytes.
    
    Implement a custom MATCH() operator which operates on arbitrary bytes
    to handle it the way other backends do.

commit 1913d84c1e5d184ba1bb688ddda95359e60dbc1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 26 12:48:00 2020 +0200

    Use uppercase for SQL(ite) keywords consistently, cosmetics only

commit 243041f5fb68b68102243d713a1c5a3dc52698a2
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Feb 3 14:20:19 2020 +0100

    Add a --salvagedb option to the rpmdb tool

commit 6489957449fec63ddf330330e9435b4ee0c388b0
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Feb 3 14:18:23 2020 +0100

    ndb: add a rpmpkgSalvage() method
    
    This can be used to recover as much data as possibly from a
    terminally broken database. It works by scanning the database
    file for entries that are not corrupt.

commit fafdc80bf427798206aee9f4e92089edfb1b102e
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 21 16:05:10 2020 +0100

    Use the transaction set as argument in rpmalCreate()
    
    The rpmalCreate() function is called in two places, in both of
    them the arguments are all read from the transaction set.
    
    So simplify the code by passing the ts to rpmalCreate() and
    getting the values in the constructor.

commit b2e1b46428ecef15a693a0925641da3565f3e34c
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 20 15:24:50 2020 +0100

    Switch dependency checking to use pool ids instead of strings
    
    This needs less memory and it should also be faster as the
    dependencies are already available in id form.

commit c68d858c3d0385a55cc4cc1e91a923356bab8797
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 20 14:52:51 2020 +0100

    Only lookup the fingerprint when the directories do not match
    
    If the directories match the fingerprint is not used.

commit 6f9426c501110e69e940099848d6d8fbfb483bed
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 20 14:48:56 2020 +0100

    Get rid of id->str->id roundtrips in rpmalAllFileSatisfiesDepend()
    
    We already know the ids, so just use them for fingerprinting.

commit e2f0fbcc29b4b8610009ca5b5937716a592ee0f5
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 20 14:43:54 2020 +0100

    Add fingerprint lookup/compare variants that take ids
    
    This will be used to get rid of unneeded id->str->id roundtrips.

commit 5d4489f34477994122412e788887ee642b808ad9
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Feb 19 11:29:28 2020 +0100

    Only look at symlinks in new packages in fpLookupSubdir
    
    For already installed packages only the on-disk state matters,
    which is already picked up by the fingerprinting code.

commit ba9718211d244eef0ac376f246f8ae828a6d37b0
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 14 15:54:32 2020 +0100

    Reduce the number of calls to fpLookupSubdir()
    
    If the entry/subdirid parts of the fingerprint are equal to the
    ones of the last added fingerprint, we know that calling
    fpLookupSubdir() will not modify anything. So skip the call in
    that case.

commit 02e1f3bc3a7225dedf5bad2a67872644d95655aa
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 14 15:52:15 2020 +0100

    fpLookupSubdir: get rid of a poolid->str->poolid roundtrip
    
    Use doLookupId() instead of doLookup() so that we can reuse
    the baseNameId.

commit 153c5c219844f0f294862c9043b20f4d24f7fa69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 18 15:50:40 2020 +0200

    Use common error logic regardless of setexecfilecon() availability
    
    Refactor the custom exec context setting code to look like setexecfilecon()
    in case the real one is not available to eliminate pesky behavioral
    differences between the two cases.
    
    This fixes a concrete bug of libselinux setexecfilecon() returning with
    an error when security_getenforce() returns with -1 (such as a bare
    chroot with no /sys mounts etc), causing us to spit out useless error
    messages in that case ever since fixing the bogus if-logic in
    commit ab601b882b9d9d8248250111317615db1aa7b7c6.
    
    Fixes: #1077

commit 47e2463d8a98a7535e141d59d17be17d5a30862c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 15:54:18 2020 +0200

    Auto-enable optimizations for non-rotational disks on Linux
    
    Try to auto-detect non-rotational disks on start of transactions,
    and if all involved disks are non-rotational enable optimizations:
    %_minimize_io to conserve writes, and %_flush_io to avoid trashing
    the system caches.
    
    The configuration logic relies on always pushing a new definition
    for these macros so we can reliably undo at setSSD(): ensureMacro()
    pushes the current value again if one exists, otherwise the supplied
    default is used.
    
    Update macro documentation as per the new behavior.

commit dd0b975a0024bb57650678de8244a4f6026cecd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 15:52:49 2020 +0200

    Only enable flush_io and minimize_writes on positive values
    
    Fix the logic for enabling flush_io and minimize_writes -behaviors,
    -1 generally means automatic, 0 disabled and 1 enabled. But these
    are by no means mandatory macros so comment out the default setting
    for minimize_writes as well.

commit 1d624239c4c411955bdba2ab21d69a17f746d8dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 11 12:58:25 2020 +0200

    Implement %{macrobody:...} built-in for retrieving the literal macro body
    
    Fixes: #582

commit 96b0b48e6a6ac84b9de8c261108dea2ac73e37e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 17 14:36:33 2020 +0200

    Also do foreign key integrity check on sqlite db verify
    
    This will detect some "shouldn't happen" cases such as rpm indexes
    pointing to non-existent packages, which is far from covering full
    database consistency but much more than at least BDB/LMDB can do.

commit 3afa674ad82dfd3e3fe63ae64d16af3f14a23c9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 17 12:14:00 2020 +0200

    Fix sqlite verify results checking
    
    PRAGMA integrity_check returns a single "ok" line if everything checks
    out but otherwise error messages get returned, so we need to actually
    check the returned values.
    
    Also change the way return code is constructed in preparation for the
    next commit.

commit 879dbdc0201f02fc0a04516be6f4c3e4a7a4fdd4
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 13 11:48:33 2020 +0100

    Remove duplicated code in fpLookupSubdir
    
    When we encounter a symlink, we have to restart the function from
    the beginning. Instead of duplicating the setup code, add a new loop
    and make the code do a iteration for each symlink.

commit e929bf318a716a0470b9cf9076fab16296e496fb
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 13 11:28:20 2020 +0100

    Move fingerprint hash setting out of fpLookupSubdir()
    
    fpLookupSubdir() purpose is just to patch the fingerprint to
    account for symlinks. It's much cleaner to set the hash after
    the call to fpLookupSubdir(), and we can also skip the call
    if no symlinks were found.

commit e9ea37a78e7a371e7ecee3d615a0d458099352fb
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 13 21:38:48 2020 +0100

    fsmMkdirs: do not dup the last verified directory name
    
    Instead just save the pointer returned from the iterator, which
    is a pointer into the pool.

commit 66013f50d1ec5190f86e2ae3c507cb8038b30a87
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 13 16:19:53 2020 +0100

    fsmMkdirs: Remove dnlx array
    
    It gets only written to and nobody uses it, so be gone.

commit a0e24f2caf7ca00afa6b1a34d80204d24cf3f917
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 12 09:26:04 2020 +0200

    Reset global macro state after each spec query/parse
    
    Parsing a spec, even unsuccessfully, will affect the global macro
    state in any number of ways that may affect the following operations
    in unpredictable ways. Lacking any saner way to do this, reset the
    entire global macro state after each spec parse in rpmspec and spec
    query code (rpmbuild already does this) while maintaining possible
    cli-specified target and rcfile.

commit bc4339071ceb90d836ac67767203142fec099bd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 6 10:41:07 2020 +0200

    Add support for macro-only dependency generators
    
    In some cases generators are remarkably simple, such as just echoing
    back the basename of the file in some namespace such as foo(lib.so),
    and forking out a shell to perform such a mundane task is both hideously
    slow and plain dumb, when we have quite some string processing facilities
    and even a full-blown programming language embedded in rpm itself.
    
    This adds support for using macro functions as generators: if the
    generator macro is a parametric macro, then we call that macro
    with the file name as the first argument instead of shelling out,
    and the expansion of the macro is used as the output. Multiple lines
    in output are allowed, and generator styles can be mixed freely
    (eg shell out for provides but use macro function for requires etc).
    
    Constructing the expand call with "proper" macro arguments runs into all
    sorts of trouble with special character escaping, work around that by
    defining the file name as literal macro %1 prior to calling the
    generator. Which is a bit dirty but works...

commit 9b37c4b3496fca80a4f29bb0b9fbb7f67dd5b256
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 6 10:13:31 2020 +0200

    Add APIs for testing whether a macro is defined and whether its parametric
    
    Whether a macro is defined can be tested with eg rpmExpandNumeric()
    but this is somewhat cumbersome and expensive for such a simple thing.
    Prior to this, there was no way to find out whether a macro is
    parametric (aka parameterized) or not.

commit 490c70d43cb16a794ac6a73c014ddb119cc9cd12
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 7 11:22:35 2020 +0100

    Use RPMMACRO_LITERAL/ME_LITERAL when defining some macros
    
    It is used for setting __file_name, __file_lineno, buildsubdir.
    We also use it for unmasking %license in the %files section.

commit cc66df4fa10470356639c47cec0761baccbc4aee
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 7 13:18:08 2020 +0100

    Add rpmPushMacroFlags function to allow the definition of literal macros
    
    Literal macros are macros that do not expand their body when they
    get expanded.

commit 07cc75f4d4173e5224faa1cb3715c5c7bc8856a2
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Feb 7 11:14:52 2020 +0100

    Add a ME_LITERAL macro flag that turns off body expansion
    
    This is a much saner than to double the '%' characters after
    macro argument expansion.

commit 7d3a87ca1838d9a0983ab8532fc697cbca75a1d5
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 6 21:17:08 2020 +0100

    Remove duplicated code in macro expansion
    
    The code for macro existence checking and flag processing
    is exactly the same.

commit abcb0af241ea9ad0ef8f5a4467885245c0101d15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 13:47:27 2020 +0200

    Refactor %{verbose:...} handling out of doFoo()
    
    %{verbose:...} is special due to conditional expansion so it makes
    sense to have the logic separated. No functional changes.

commit 47dbb3e070efe8ef5583f22d4903a89bcda90d3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 13:42:19 2020 +0200

    Don't double-expand arguments to built-in macros (#311)
    
    Double-expanding the output makes it rather impossible to reliably
    handle filenames (and other content) with % characters in them.
    
    Fixes: #313

commit b551b256eaf03a1e4bfa7174e08f505dde8a5d2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 13:28:03 2020 +0200

    Refactor %{expand:...} handling to its own function
    
    %{expand:...} is a rather special built-in as its *purpose* is to
    double-expand its argument, so it makes sense to separate it from
    the others.
    
    No functional changes intended here.

commit 227cddca88fe99b0e2454a45b941adc3d09bd2ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 12:31:21 2020 +0200

    Fix %{uncompress:...} double-expanding arguments + other miscellania
    
    %{uncompress:...} is fairly complicated as far as builtin macros go:
    it needs to first expand its argument to discover the actual file
    its supposed to look at, then determine whether the file exists and
    what sort of compression to use, then determine the macro to use
    for decompressing that kind of file, expand said macro and finally
    catenate the expanded argument to the lot. That's a lot of goo to
    do inline doFoo(), so refactor it into a separate function.
    
    Up to now the last step was implemented by re-expanding the argument
    too, which makes it impossible to reliably handle paths with percent
    signs. Just expand the command, and catenate the argument as deity
    intended.
    
    Additionally make behavior with empty argument consistent with other
    builtins: %{uncompress:} expands to nothing instead of printing out
    an error message with an empty filename.

commit 94623389ba61a3a93decc726ed63e52cca7b3d39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 13:15:06 2020 +0200

    Fix buffer overflow in %{S:...} and %{P:...} macro primitives
    
    We can't assume that a buffer allocated for one thing is sufficient
    for another thing. The S and P macros share the same exact logic,
    refactor to use common code to avoid having to fix twice, cleaning
    up doFoo() a bit in the process.
    
    Fixes: #1019

commit c886b359ba5f05eec6a8da34b55437834b7d80ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 6 14:51:14 2020 +0200

    Fix pointer dereference before testing for NULL in rpmtdGetNumber()

commit 8b1ea52de31a428952a470225b153393489743fe
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Feb 6 14:37:34 2020 +0100

    Double the '%' chars when splitting macro args
    
    Before this commit, there was an "escape" flag that made the macro
    expansion keep '%%' escapes. But this did not work for macros
    that returned an '%' character by other means.
    
    Remove the old escape mechanism and instead double the '%' characters
    when the body is split into argument.
    
    Fixes: #1055

commit dcf84ab8e92b53a5d2b731e0bc7294a91269dd38
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 5 15:10:54 2020 +0100

    Describe how to run single tests
    
    Update tests/README to describe howto use the test suite other than just
    running everything.

commit f49671d6f3442cfff08d6167b618607e96cf0970
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Feb 2 12:18:23 2020 -0500

    platform: Ensure empty buildroot for %install
    
    This change ensures that any existing buildroot contents are wiped
    and a fresh empty one is created for usage in %install.
    
    Variations of this exist in virtually every RPM-based Linux distribution
    for more than a decade. At this point, it is expected behavior everywhere
    and it is amazing that it has not yet been put in RPM itself until now...
    
    Credit goes to Michael Schroeder from openSUSE for the original work
    and Tom Calloway for the variant adapted for Fedora that is the basis
    for this change.

commit 83a5a20352dccd336a0114238c5988f0a9fa6d3e
Author: Denys Vlasenko <dvlasenk@redhat.com>
Date:   Thu Jan 23 14:21:26 2020 +0100

    If fork fails in getOutputFrom(), close opened unused pipe fds on error code path
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>

commit d937b04fb1cb5d3ca303bd458169c352a4b52669
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 31 12:27:26 2020 +0100

    Fix isUnorderedReq() for multiple qualifiers
    
    isUnorderedReq() returned True as soon as any qualifier that does not
    require ordering is passed. But some qulifiers - basically the scriptlets
    run during installation and erasure of the package - may still require
    the dependency to be taken into account during ordering.
    
    Now isUnorderedReq() returns 0 if any of those are also set.
    
    Resolves: #1030

commit 83306c2009290b31c92c19b61fd2ff569c44f35a
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 4 15:02:15 2020 +0100

    Move <dlfcn.h> out of system.h
    
    It is needed in lib/rpmplugins.c only anyway.

commit 67f8dadebdf290c4ade36a7d3a27e52048d96032
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 4 10:36:43 2020 +0200

    Fix build regression in commit 307872f71b357a3839fd037514a1c3dabfacc611
    
    Commit 307872f71b357a3839fd037514a1c3dabfacc611 broke build with
    SELinux enabled but was accidentally merged. Fix the breakage.

commit 8024f59380261094b2700d815d7ae033fc2081a1
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Dec 19 23:56:13 2019 -0500

    Add architecture macro for all RISC-V processors
    
    This makes it easier to reference all RISC-V architectures supported
    by RPM in the same way that ARM and POWER architectures are.
    
    Like ARM, RISC-V has a lot of subarchitecture variants, so having
    the structure in place to be able to reference all of them easily
    will be very useful in the near future.

commit 307872f71b357a3839fd037514a1c3dabfacc611
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 14:54:16 2020 +0200

    Fix POPT_ARG_STRING memleaks in librpmbuild
    
    popt always returned malloc'ed memory for POPT_ARG_STRING items, but
    for whatever historical reason rpm systematically passed const char *
    pointers as targets, making them look non-freeable. Besides changing
    just the types and adding free()'s, const-correctness requires extra
    tweaks as there's mixed use from string literals and poptGetArg() which
    does return const pointers.

commit b533164b25052adb78faf6ec57742f280940a172
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Feb 1 21:26:33 2020 -0500

    Add architecture macro for all 64-bit ARM processors
    
    As has been pointed out recently with the revert of the arm64
    architecture alias for aarch64, there can be multiple incompatible
    64-bit ARM architecture types.
    
    However, it is useful to have an easy way to refer to all present
    and future 64-bit ARM processor architectures.

commit 78827c12ce2815dfbf6f8e387ed2ae288698faf1
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Feb 1 21:23:58 2020 -0500

    Rename %arm arch macro to %arm32 and add %arm back as legacy alias
    
    With the existence of 32-bit and 64-bit ARM processors now, it makes
    sense to rename %arm macro to %arm32 as it is merely for 32-bit ARM
    processors.
    
    Unfortunately, distributions have been using %arm to refer to 32-bit
    ARM architectures for a long time now, so we're stuck with it.

commit 2d63d5ee78963a8f90dcdf93c461f89d326a5a18
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Feb 3 11:37:30 2020 +0100

    Permit ndb database queries on read-only media
    
    See also commit a429c99e13fbe9926243f29b78df8d64222c4469 for db3.

commit 8896e81b40ec6ddb7608db61de7583f11ab12c21
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 30 15:14:32 2020 +0100

    Remove --sign from rpmbuild
    
    When splitting rpmsign from rpmbuild this command line parameter was kept
    as an popt alias. But this limits what other parameter can be passed to
    the rpmsign command in a difficult to understand way. In the end everyone
    is better off using the rpmsign command directly.
    
    Issue a error message stating the parameter is no longer supported and
    exit rpmbuild.
    
    Resolves: #153

commit daec7a9e2e32b47e94f54d95143387237a6b6372
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jan 28 11:01:28 2020 +0100

    Add man pages for plugins
    
    * rpm-plugins for plugins in general
    * selinux plugin
    * syslog plugin
    * audit plugin
    * prioreset plugin
    * ima plugin

commit fb54f5c0a27b84036f5682809bdecf08e80244fe
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jan 28 10:47:43 2020 +0100

    Add man page for rpm2archive
    
    Resolves: #1016

commit af06db1d5558870f7fb8f5c502572c2d27af5c71
Author: elros34 <elros34@users.noreply.github.com>
Date:   Tue Oct 29 15:57:33 2019 +0100

    Make check-files compatible with busybox diff
    
    If busybox diff is used then script doesn't generate output when
    rpmbuild is checking for installed (but unpackaged) file(s). This is
    because busybox diff use unified format: '-' instead '< '.

commit 4ddab4fb7e1ccc7dc466534250177b7d2682a9e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 15:39:58 2020 +0200

    Fix a minor memory leak on suppressed inhibition lock warning message
    
    Commit 708e61307bc3fd027b016fdf5a1d1a5274c1843c introduced a memory leak
    on the error object: if the message is suppressed then the error object
    is never freed. Test for the suppression conditions separately to fix.

commit d5c69756cf6cd16e7c2e8b81fba19bf81f3dd1ba
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jan 29 11:20:39 2020 +0100

    Explicitly mention that the rpmio/ sub dir is under LGPL
    
    As the code in the rpmio sub directory was split out of the lib sub dir
    it is already under LGPL as "code derived from" "the source code in the
    lib subdirectory" according to the license. But not having the sub directory
    mentioned in the license confuses users and contributers.
    
    The original release tarballs in http://ftp.rpm.org/releases/historical/ show
    the license was changed into the existing dual one between rpm 2.4.3 and 2.4.4,
    and that no rpmio/ directory exists at that time. Our git repo disagrees with
    the time of rpmio/ split due to some conversion artifacts (cvs to mercury to
    git), as it shows rpmio/ directory existing from the first commit, but this was
    not actually the case.
    
    The license stating that the dual license is there to allow linking with librpm
    from non-GPL code supports this interpretation as librpmio is required in order
    to use librpm even if it is a separate library nowadays.
    
    So this change does not change the license of any code but only clearifies the
    current situation.
    
    Resolves: #516

commit 85e5a70368854da0537099128530b0df69ca2216
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 13:58:16 2020 +0200

    Fix regression on v3 package handling on database rebuild
    
    Introduced in commit 27ea3f8624560bd158fc7bc801639310a0ffab10, the
    wrong header is being added in case of v3 packages.
    
    Fixes: #1017

commit da94ee8195da2bc841e2a4606f2948d46a1109bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 13:28:10 2020 +0200

    Drop useless %{F:..} built-in macro
    
    I fail to see how this is useful functionality to anybody:
    
            $ rpm --eval "%{F:foo}"
            filefoo.file

commit 75ec16e660e784d7897b37cac1a2b9b135825f25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 10 09:48:50 2019 +0300

    Add NEVR provides for all packages that would be built into source rpms
    
    Since requires in source rpms are buildrequires, with the same logic
    provides in source rpms are buildprovides, and what does a build
    provide if its not the names of the packages to be generated.
    
    This seems like a natural fit, should be useful for various purposes, and
    eliminates the need for a special rpmspecQuery() with RPMQV_SPECBUILTRPMS
    to get that information.

commit bc13afbbfdfa33b10bb87e9503b3b06a0d65bfd2
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Jan 14 17:05:27 2020 +0100

    ndb: fix ftruncate return value warning

commit 154f3053745d89e5fa1b97431f0acd55cab94791
Author: Orion Poplawski <orion@nwra.com>
Date:   Wed Nov 6 22:02:20 2019 -0700

    Also use --reject with git am

commit 5097dbcd47705cd0aafd5a7cddca169a945fe5ea
Author: Orion Poplawski <orion@nwra.com>
Date:   Tue Nov 5 19:00:44 2019 -0700

    Use git apply --reject to assist with modifying patches

commit 471e7d8bb26f0d7be877a261812b8dd8172650d3
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 19 15:40:20 2019 +0100

    Rename add_percent_dir to generate_percent_dir
    
    to reflect what the function actually does.

commit 5d20777b04f35372511350fa690239215a90a990
Author: Denys Vlasenko <dvlasenk@redhat.com>
Date:   Thu Dec 5 13:30:17 2019 +0100

    find-debuginfo.sh: speed up %dir generation
    
    For kernel build, "${LISTFILE}.dirs.sed" is debugfiles.list.dirs.sed
    and it contains 1782 lines of sed script.
    It is applied to two files, both are about 4450 lines long.
    
    This is slow (~30 seconds) because of ~16 million regex matches
    performed by sed.
    
    But we don't need or want regex match here
    (and it's buggy, since dots in pattern match will be treated
    as "any character", which is wrong here. For example,
          /usr/lib/debug/lib/modules/5@4@0-0@rc7@0@fc31@test@x86_64/vdso/
    would match
          /usr/lib/debug/lib/modules/5.4.0-0.rc7.0.fc31.test.x86_64/vdso/
    pattern, but it should not).
    
    This change performs matching using shell string comparison ops.
    For kernel build, this change results in run time of about one second.
    
    Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>

commit 720c1847c6dcd4504de1d4669e4f1304533b3e96
Author: Michal Čihař <nijel@debian.org>
Date:   Sat Nov 11 14:27:10 2017 +0100

    Fix sepdebugcrcfix compilation on platforms without MAP_POPULATE
    
    Not all architectures offer MAP_POPULATE. As MAP_POPULATE is only an
    optimization to improve performance, it is safe to drop it when it is
    unavailable. Originally fixed in a Debian patch.

commit a34eb6b6caa5b72657995ba4f5b7d18d8b05fb1f
Author: Michal Čihař <nijel@debian.org>
Date:   Tue Dec 30 11:55:15 2014 +0100

    Drop bash-specific message translation from check-rpaths
    
    Message translation in scripts via $-prefix is bash-specific, but
    check-rpaths is a /bin/sh script, drop the bashism. There are no
    translations anyway so this is a no-op for all practial purposes.
    Originally reported and fixed in Debian (DebBug:772404)

commit f3d476753b52cd2ef67494b1d9cf5af150d83b28
Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date:   Mon Jan 13 20:29:36 2020 +0300

    xzdio: Add line break to warning

commit 7cc9eb84a3b2baa0109be599572d78870e0dd3fe
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Dec 19 14:08:50 2019 +0100

    Add support for reading BDB without the library
    
    This commit implements a read-only backend that allows accessing
    of BerkeleyDB databases without using the BerkeleyDB library.
    The code supports btree version 9-10 and hash version 8-10.
    
    There are two use cases for this:
    
    1) Conversion of an existing BerkeleyDB to a different
       backend.
    
    2) Allowing package scriptlets to do database queries while
       in a transaction that replaced rpm with a version that
       no longer links against BerkeleyDB.
    
    If both BerkeleyDB and the read-only backend are enabled, rpm will
    default to BerkeleyDB.

commit 7949d290b80aaebf7213e0b70a614d0d00585577
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 15:56:59 2020 +0100

    Remove the experimental status from the ndb database

commit 40269d4b3f960e6cb73db1cea0bcc5973f9ce72c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 15:51:38 2020 +0100

    ndb: implement index regeneration if the index is out of sync
    
    We compare the user generation stored in the index database with
    the generation count from the package database. In case there
    is a mismatch, we delete all the index databases and rely on the
    already existing missing index creation code to rebuild the
    database.

commit 49d43a334572199088ecc24ce6fc0e86c8699d2e
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 15:49:16 2020 +0100

    ndb: add a rpmxdbDelAllBlobs method
    
    This will delete all blobs (i.e. index databases) from the
    ndb master index database. We do this kind of low-level on purpose,
    so that it even works if the index database is corrupt.
    
    This will be used in the next commit which implements automatic
    index regeneration if the index is out of sync.

commit 52c3ee60a1ce0e7e527dc396dd1e1a0e29b7b0ed
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 15:47:13 2020 +0100

    ndb: only clear the dbenv in the rpmdb if the last reference is gone
    
    Otherwise we will segfault if just one index is closed.

commit 177be9986a6d4388e049af7e354194295188d995
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 5 15:42:53 2019 +0200

    Make brp-strip run in parallel

commit f674af7efbeeb44d6c0f0da8c611e6cd7257ee4f
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 12:00:49 2020 +0100

    ndb: use the generation instead of the current time in blobs
    
    This seems to saner as the somewhat unreliable current time.
    This element is not used in normal database operation, it is
    for repair tools that need to decide which blob to take if two
    blobs have the same pkgid.

commit 3feb7993a800525395dca5a173ade5f8e4fbd8d5
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:55:32 2020 +0100

    ndb: add a verify method
    
    This adds a verify method for ndb's Packages.db database. The
    Index.db database is currently not verified.

commit d435beb937ca38a3d3f1c6acb1b3ca06dcb3544d
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:51:07 2020 +0100

    ndb: no longer free the pkgid hash all the time
    
    Reuse the hash if the size matches. This was actually the original
    intention, but for some reason the code was disabled by always
    freeing the hash.

commit 8e39098fa991b097ec0c746f0b4e3d8ab19a69ee
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:45:52 2020 +0100

    ndb: drop unused number of allocated slots
    
    This is not used as we re-read all slots everytime a package
    is added or deleted.

commit cbe9bcf954b2043dcefabbda6722ee3e149d8a8b
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:44:01 2020 +0100

    ndb: make "ordered slots" flag a boolean
    
    We never needed to order by pkgid or slot number, so simplify
    the code.

commit d8902b0dddecae6504c14d9b1a8641672c4cf1b4
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:31:22 2020 +0100

    ndb: add and clarify some comments

commit dc0a504d3e893e40df60bd8a4a45852dcfca307a
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 10 11:26:49 2020 +0100

    ndb: remove unused lzo compression code

commit bb30f997c4b22c0d5cf6752f15d2af17538f91f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 9 10:24:39 2020 +0200

    Don't require signature header to be in single contiguous region part II
    
    The generic case was reported in #270 and fixed quite a while ago in
    commit 34c2ba3c6a80a778cdf2e42a9193b3264e08e1b3, but signing uses a
    different code path and require the same treatment.
    
    Fixes: #1002

commit 0eb41c1794cfefe0c7c37340eebbd925ff04ae8b
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Mon Jan 6 21:42:46 2020 +0100

    brp-compress: Handle zstd compressed man/info pages
    
    Handle zstd compressed man/info pages in brp-compress
    
    Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>

commit 5322cdbaf1fa87c9688ddb4efb79112a438648c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 8 12:05:37 2020 +0200

    Explicitly enable all our database backends in CI
    
    BDBD, LMDB and SQLite were already implicitly enabled via build
    dependencies, but NDB build has not been enabled at all.
    Came up when discussing read-only BDB in #980.

commit 5eb7be61e962793386dbefa69e76b43d34df7c7c
Author: Alexander Kanavin <alex.kanavin@gmail.com>
Date:   Tue Jan 7 12:02:06 2020 +0100

    rpmplugins.c: call dlerror() prior to dlsym()
    
    This is the recommended way in the manpage; if there is
    a lingering error from an unrelated dl*() call that was
    never obtained via dlerror(), it needs to be cleared
    prior to calling dlsym().

commit 2ea0b3a687927271cd0663e8c8db1b1395c4da15
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Fri Jan 3 10:53:24 2020 +0100

    Python dist deps: Put bounded requirements into parenthesis
    
    Fixes https://github.com/rpm-software-management/rpm/issues/995
    
    For this input: pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6
    
    Instead of (invalid):
    (python3.8dist(pyparsing) >= 2.0.1 with
     python3.8dist(pyparsing) < 2.1.2 or python3.8dist(pyparsing) >= 2.1.2.0 with
     python3.8dist(pyparsing) < 2.1.6 or python3.8dist(pyparsing) >= 2.1.6.0 with
     python3.8dist(pyparsing) < 2.0.4 or python3.8dist(pyparsing) >= 2.0.4.0)
    
    Produces (valid):
    (python3.8dist(pyparsing) >= 2.0.1 with
     (python3.8dist(pyparsing) < 2.1.2 or python3.8dist(pyparsing) >= 2.1.2.0) with
     (python3.8dist(pyparsing) < 2.0.4 or python3.8dist(pyparsing) >= 2.0.4.0) with
     (python3.8dist(pyparsing) < 2.1.6 or python3.8dist(pyparsing) >= 2.1.6.0))
    
    For this input: babel>=1.3,!=2.0
    
    Instead of (invalid):
    (python3.8dist(babel) >= 1.3 with
     python3.8dist(babel) < 2 or python3.8dist(babel) >= 2.0)
    
    Produces (valid):
    (python3.8dist(babel) >= 1.3 with
     (python3.8dist(babel) < 2 or python3.8dist(babel) >= 2.0))
    
    For this input: pbr!=2.1.0,>=2.0.0
    
    Instead of (invalid):
    (python3.8dist(pbr) >= 2 with
     python3.8dist(pbr) < 2.1 or python3.8dist(pbr) >= 2.1.0)
    
    Produces (valid):
    (python3.8dist(pbr) >= 2 with
     (python3.8dist(pbr) < 2.1 or python3.8dist(pbr) >= 2.1.0))

commit c464f1ece501346da11ed7582b8d46682363a285
Author: Thierry Vignaud <tvignaud@redhat.com>
Date:   Mon Dec 23 16:51:49 2019 +0100

    fix zstd magic
    
    I spot it while adding support for zstd compressed metadata in
    URPM/urpmi, which was broken by this typo
    
    typo introduced in commit 3684424fe297c996bb05bb64631336fa2903df12

commit 166c6c5a1e066bd485f3be98feb5935b1b050f3a
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Dec 18 17:44:38 2019 +0100

    Move db_descr assignment from rpmdb to dbi
    
    It is already used for printing error messages in the dbi backends.

commit 4c7323f69b4fddf928245e9db2d1c9ca9b277ef2
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Dec 18 17:42:31 2019 +0100

    Fix building with no BerkeleyDB support
    
    The configure script used to define BDB even if BerkeleyDB has
    been disabled.

commit 3f58fc31f7a0c8807f5d42e4f593640880dfb58e
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Fri Dec 20 11:57:02 2019 -0800

    scripts/pythondistdeps: Only print rich dep list when required to.

commit 4a71a3eccd7e9e14ee0e83b1cb300386a93622cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 14:14:10 2019 +0200

    Silence spurious error message from lsetfilecon() on -EOPNOTSUPP
    
    We already filter out -EOPNOTSUPP and return OK, but the message was
    getting logged before the filtering so we'd spit out spurious error
    messages on filesystems that don't support SELinux (RhBug:1777502)

commit 82971c6dea008ddf4a2efc61c3c7e349a58e9687
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Mon Dec 9 12:22:28 2019 -0800

    scripts/pythondistdeps: Only add setuptools requirement for egg-info packages.

commit 0094eaaf65a085e2560dfb500464979112b546b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 9 11:59:15 2019 +0200

    Avoid pulling unused data from the database in sqlite backend
    
    We don't need to pull the key values from the db here, we already have it.

commit f964889b13cb6a31b97ebb28dc3e0713b667ca75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 9 11:58:09 2019 +0200

    Don't bother sorting dbi set from the backend
    
    The upper layers sort the dbi set as necessary, this is nothing but
    waste of perfectly good computing cycles.

commit 10f0fe221ef047b1b2fe841ebf4b8d995f281b51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 29 16:08:57 2019 +0200

    Use a sub-cursor for sqlite index key iteration
    
    Spinning new cursors for each key value is just mind-bogglingly stupid
    (if simple), use a sub-cursor with key binding instead. Which isn't any
    more complicated, really.

commit d402c202ee16ce62b8712bfc80011f377c4d4ec5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 29 16:07:12 2019 +0200

    Trash the stupid sqlite statement cache
    
    Caching statements is not stupid but when it makes us go slower...
    Also without the cache we have a better handle on locks and all,
    revisit the caching issue later.

commit 25932e98bb53267e8995eccf575d445eebc85e0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 29 14:13:22 2019 +0200

    Never reuse cursors for different purposes in sqlite
    
    Rpm can reuse an iterator cursor for a write when rewriting an existing
    header (such as when updating file states of already installed package),
    which in sqlite terms turns a SELECT into INSERT, destroying the
    iteration in progress.
    
    Detect the condition and use a local cursor as necessary, this also means
    we don't need to track the query fmt string in cursors.

commit e769796d6a3b35d7cde64d611c70326ceb1785f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 25 13:20:32 2019 +0200

    Simplify sqlite cursor preparation logic
    
    No functional changes, just makes the thing a little clearer.

commit 0f0fbead08cd0b1465812847c84340a3fb17dfa3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 5 14:28:02 2019 +0200

    Use the new index key iterator for dependency check hashes
    
    In normal transactions this is but a drop in the ocean. However on
    rpm -Va, the hashes get rebuilt from scratch on every single package
    which on my moderate rpmdb (~2800 packages) testcase results in
    103418347 data values fetched and added to dbi sets that are only
    thrown away.
    
    With bdb and lmdb this is only a minor optimization but for ndb and sqlite
    which can retrieve keys independently, this is a much bigger win. In case
    of sqlite, it's a massive one.

commit 4eb7900d54609738d0d562ba7ac5f0d0f2ebf7e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 5 14:22:08 2019 +0200

    Implement a key-only rpmdb index iterator
    
    The regular index iterator grabs the associated data too, which we
    don't always need. The data associated with indexes is relatively
    lightweight, but as with everything, it adds up if in the millions scale.
    
    Update all backends to allow for NULL set in the index retrieve to
    signal key-only retrieval. Ndb actually had an earlier, abandoned
    implementation of the same idea under slightly different API, lets
    reuse the code-block.

commit 61ea5a8ea64dc130713da889f3f0c8da1a547bd9
Author: Ross Burton <ross.burton@intel.com>
Date:   Wed Dec 4 17:13:10 2019 +0000

    rpmio: initialise libgcrypt
    
    If we're using libgcrypt for hashing we need to initialise libgcrypt as
    otherwise it is not thread-safe.  Without this it will crash when used
    in parallel packaging runs.
    
    Fixes #968

commit a9e01be6779c658f52cab70132b87bc74d06c1b1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Nov 28 09:56:24 2019 +0100

    find-debuginfo.sh: Dont use xargs -d for portability
    
    Use -0 instead which is more widly available.
    
    Related: #948

commit a9b9fcbd463b52f8c99ed1a1f70316660e9b065d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Nov 28 09:27:20 2019 +0100

    brp-strip-static-archive: Do not use xargs -d
    
    as it is not POSIX compliant and not supported on BSD and others
    
    Dropping the use of grep here and using -regex of find instead to get rid of
    the need for looking at lines terminated by newline.
    
    Using only basic regular expressions for portability.
    
    Resolves: #948

commit 18a3a046d0df8a26cca5a80b42a030b20b87da93
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Sun Nov 24 16:35:22 2019 -0800

    scripts/pythondistdeps: Handle version ending with ".*"

commit ed864b8842859cc387bafd63d283ced02c65490e
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Sun Nov 24 15:58:29 2019 -0800

    scripts/pythondistdeps: Handle compatible-release operator.

commit 403f75cdbb94ced52f169684c12ee5110e468dfa
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Sun Nov 24 15:26:39 2019 -0800

    scripts/pythondistdeps: Use rich deps for semantically versioned dependencies

commit 54b5004cda39c2d1da78a0d8b8689cc6683bc9b6
Author: Gordon Messmer <gordon.messmer@gmail.com>
Date:   Sat Nov 23 15:03:44 2019 -0800

    scripts/pythondistdeps: Match python version if minor has multiple digits.

commit 19e375880c15ba45fd035b51e9dea10d37fbb22b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 22 09:25:27 2019 +0200

    Optimize sqlite database rebuild
    
    Postpone sql index creation until closing time on database rebuilds,
    this is more than 50% improvement on rebuilddb time on both SSD and
    traditional disks.

commit 6b18e76f3db5dd3db5a468c947309322d8bc11aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 21 12:22:45 2019 +0200

    Fix resource leaks on zstd open error paths
    
    If zstd stream initialization fails, the opened fd and the stream
    itself are leaked. Handle error exit in a central label.

commit b55fef090396d42274e7bc8f5bd8cb70b5afdaa6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 21 10:41:35 2019 +0200

    Generate file class dictionary after file classification for stability
    
    Store the file type strings in the classifier, and generate the dictionary
    and its ids serially after the parallel section completes to ensure
    stable order. Besides making the classifying really run in parallel
    again, this also moves the pool- and file-counting related constraints
    out of the parallel section for theoretically better parallelization.
    
    Fixes #934

commit 3163019e6083a7348b65879ef16710fd8a4aa272
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 21 10:33:29 2019 +0200

    Revert "Preserve processing order in file classification"
    
    The order directive might be useful in some cases, but for our purposes
    it very effectively serializes the whole classification operation.
    Which means that we get the speed of serial classification with the
    complexity of parallel execution, ugh. Revert, we need a better fix.
    
    This reverts commit 3691d99c8bf8c81a3130333f9cbfaef704b8686f.

commit 9c8a3faf421e8e5f99ac8ac5cc4c6e916bbb04a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 15:00:21 2019 +0200

    Fix sqlite database access for unprivileged readers in WAL mode
    
    As of sqlite 3.22.0, a database in WAL mode can be opened readonly
    if one or more of the following is true:
    
    1) The -shm and -wal files already exists and are readable
    2) There is write permission on the directory containing the database
       so that the -shm and -wal files can be created.
    3) The database connection is opened using the immutable query parameter.
    
    Regular users running queries cannot have permission to create, and
    immutable databases can only exist on readonly media (because all locking
    is disabled) so there's no choice but to leave the -shm and -wal files
    around at all times, a little ugly as it might be.

commit f5e6a4815a3a86262e147ae2ecefaef079339066
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 14:39:44 2019 +0200

    Fix sqlite db open logic on errors, hopefully
    
    Handle read-only database separately for table and index initialization
    as they are different: if table cannot be created we're screwed and
    should return an error, but if an index is missing it'll still work.
    
    Also only return an allocated dbi if everything went okay.

commit 6e91d914c5e1dc22dcd8c21e1b9843f36a8d30d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 19 10:57:11 2019 +0200

    Ask sqlite if it's in readonly mode instead of educated guess

commit 22ed98efe3d5198e4141948af7569cfa10d9d25f
Author: Ross Burton <ross.burton@intel.com>
Date:   Wed Nov 20 13:06:51 2019 +0000

    configure.ac: prefer pkg-config to find libgcrypt
    
    libgcrypt from 1.8.5 provides a pkg-config file as well as the traditional
    libgcrypt-config script.  As pkg-config is more resiliant in the face of
    complicated build environments (for example cross-compilation and sysroots)
    prefer the pkg-config file, falling back to libgcrypt-config if that doesn't
    exist.

commit d320a1c67ca53496bd190ed6d5586e796c2b19af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 16:54:56 2019 +0200

    Tie sqlite WAL auto-checkpointing to %_flush_io macro setting
    
    While flushing IO constantly is horrible for performance on spinning
    disks, it's beneficial on SSDs. So if %_flush_io is enabled, let sqlite
    do its regular WAL auto-checkpointing. Pure DB install time on SSD
    improves by some 25% here with %_flush_io, at cost of removal speed but
    for overall sanity and smaller WAL file.

commit a8588f8e3970223f0b2fcc5d679dcb176f2e317b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 15:57:07 2019 +0200

    Switch to write-ahead-logging (WAL) mode on sqlite backend
    
    This is an enormous performance boost to almost all operation modes,
    in particular spinning disks - on my old laptop, time to erase ~3300
    packages comes down from half an hour to under three minutes.
    
    By default sqlite likes to keep the WAL file relatively slow to keep
    reader performance up, but as writes are rare in rpm, we let the WAL
    grow unlimited during transactions and only flush it at database
    close. This way transactions are fast and at the cost of read
    performance during transactions, which is perfectly okay. To do this
    we need to move statement cache free earlier to drop any locks that
    might be lurking there.
    
    Special handling of RPMDB_FLAG_REBUILD is dropped here as unlike other
    modes, WAL is persistent and has interactions with EXCLUSIVE locking_mode
    among other things that seem non-trivial to sort out. This has some
    performance cost to --rebuilddb but it's a rare operation and normal
    transaction performance is far more important. We can always tweak
    it more later on...

commit 61e13a608ab8dcfd30c14b110f170735cd1a72ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 15:54:49 2019 +0200

    Oops, the sqlite default "synchronous" mode is FULL, not NORMAL
    
    This would've caused inconsistent behavior between databases where
    fsync is explicitly set to enabled and to one where it was not set.

commit db1efd0828c04414d178cd0e9e8187a2f0a82a5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 13:37:36 2019 +0200

    Sqlite index tweaks for performance
    
    Only create key indexes for strings, those are the ones that are
    performance critical and anything else is just unnecessary weight.
    Additionally create indexes on hnum for better performance especially
    on erasure, but only bother for array type data where the amounts
    get large enough for indexes to matter.

commit 7d1c644756526e8e31ca505385a89cb42c4fbf12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:47:19 2019 +0200

    Reset sqlite statements at cursor close to free locks on database
    
    As we now cache the statements, not reseting the statements kept most
    of the database locked for the whole transactions, preventing concurrent
    access.
    
    Logic seems to suggest that we could then not bother reseting on fetch
    from cache, but that causes failures so there's something fishy still.

commit e80f13764b9151f9a157a66e0f8571bf08518d51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:30:37 2019 +0200

    Set sqlite db handle to NULL on db close to ensure no dangling pointers
    
    sqlite_init() relies on db_dbenv pointing to NULL to properly initialize,
    not sure if we can actually end up reusing the same handle but just in
    case...

commit bea298986d796900dd94de42dec98fb194df1ff8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 13:59:49 2019 +0200

    Force case-sensitive LIKE operator in sqlite
    
    We use LIKE for key prefix searches (file triggers) and case certainly
    matters there.

commit 3691d99c8bf8c81a3130333f9cbfaef704b8686f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 16:05:05 2019 +0200

    Preserve processing order in file classification
    
    The order of file classification isn't interesting in itself, but arbitrary
    order makes contents of RPMTAG_CLASSDICT non-deterministic which is not
    nice for reproducable builds. Tell OMP to handle the class dictionary
    in order.
    
    Cancellation points are not allowed in ordered construct so we need to
    drop that. It doesn't change the actual results, just means that we  run
    a little longer in case errors are encountered.
    
    Fixes #934

commit 7cb8ebdf92f7f3d42a12afb9720e142284e71810
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 13:30:52 2019 +0200

    Resurrect our reproducable build test
    
    We used to test against explicit digest values until commit
    e20527ae07e0a72eb8133d3ab5c2ddef2b5d6b39 changed the rpmkeys output
    to drop the actual values and breaking the reproducability test - it
    was now only testing whether the package we just built has intact
    digests. Doh.
    
    And because of that, commit fa303d5ba6bef5b4a44b884c6dadadc27b594caa was
    able to silently break setting buildtime from changelog (#932) and
    why commit 4b15a9e48bd3d4bef96e8a8865044346be20d6dc didn't require
    adjustment of the test-suite, and why addition of the alternative
    payload digest in commit 83a26ae9e19fa3526b7331e824e273521c27b0a9 didn't
    require changing this test. Maybe something else too. Doh.

commit d16b082354ad9defbdc85e9c60c7105eecb76464
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:27:14 2019 +0200

    Only calculate buildhost and buildtime during an actual build
    
    Commit fa303d5ba6bef5b4a44b884c6dadadc27b594caa moved buildhost and
    buildtime calculation out of the package generation to early spec
    initialization, but this broke reproducable builds: if buildtime is
    to be set from changelog, changelog needs to be parsed first.
    
    So either we need to do it twice or we need to do it right, and
    besides avoiding duplication, conceptually these values are only
    meaningful during a build and not a parse, so this restores that part
    of the original code while keeping things thread-safe.
    
    Fixes: #932

commit 2bef1d463e3fac23c5e3c57e7fcac59114101dd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 12:32:14 2019 +0200

    Fix a memleak from uncompressed payload digest calculation
    
    Commit 83a26ae9e19fa3526b7331e824e273521c27b0a9 forgot to free the
    new digest, duh.

commit 4e1fe6af0b9b2d3155605e4416dbbb7d7cf09e35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 12:27:37 2019 +0200

    Fix Icon tag crash on src.rpm build, regression in 4.15.0 (RhBug:1769579)
    
    Commit e68eb68c4a6c3635b8cf58a05277f7da49058d16 introduced a regression
    on Icon tag causing a crash on source rpm build, due to spec->numSources
    being off by one if an icon was present.
    
    A nicer fix would be eliminating numSources entirely but it's not as
    easy as it should be due to dynamic buildrequires messing with it,
    leaving that for another time.

commit 2c5794469188ab7a6e7e930ff167bfa0e08f2415
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:34:30 2019 +0200

    Document popt build-requirement and point a download location
    
    Oops, all this time our most important build-dependency had been missing.
    Add a version recommendation too - while rpm almost certainly works with
    1.12 and 1.11 too, those are getting *really* long in the tooth, and 1.13
    has an important type fix in poptGetOptArg() return value so might as
    well use that as the base.

commit af73aba20f856de3ebc9751166a2364e795b199d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:32:12 2019 +0200

    Fix ancient memleak on %setup arguments
    
    poptGetOptArg() returns malloced strings and caller needs to free.
    This will still leak on error paths but at least normal use is covered.

commit 29d70efb1d9b2161f3fcdbdf71945d6c7308432d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:17:37 2019 +0200

    Fix ancient memleak on %patch -P from unused popt arg pointer
    
    -P can appear multiple times so a string arg pointer is not the right
    thing here in any case. There are other similar and related leaks all
    over the codebase but this is especially insulting as the leaked pointer
    was never used for anything at all.
    
    Thanks for Peter Jones for pointing this out.

commit 97a873aff54ebc9801d0d6663da6a084055443e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 31 16:06:51 2019 +0200

    Fix memleak on %generate_buildrequires usage
    
    Leak introduced in commit 58dcfddc376a7c97de1432f0082be0d5f01adbcd

commit 6cf5636a3503286256fa92c704cc2a72ac2db1ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 13:24:39 2019 +0200

    Add test to ensure strictly monotonically increasing header numbering
    
    libsolv relies on header numbers not being recycled outside database
    rebuild, ie the traditional behavior of BDB backend. And where there's
    one, there's likely more users, we just don't know about them. Add
    a test to ensure this behavior doesn't get accidentally changed.

commit a39824fc3a95e0d3d261a0ac0ffdcddc409e1395
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 11:44:18 2019 +0200

    Add an error callback to the sqlite backend
    
    Normally no output is expected there, but will help catch out abuses
    and other surprises.

commit ad329e600ab5822b59ffc3490e0cf29cdb180418
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 11:36:51 2019 +0200

    Ensure sqlite secure_delete behavior is disabled
    
    Upstream sqlite defaults to secure_delete off, but its default value
    is also a compile-time option which some distros (at least Fedora)
    change to have it enabled by default. There's never any sensitive data
    in the rpmdb, don't bother zeroing it out. Improves performance somewhat.

commit cf0e94cc8e4daa8dd07ec6cae4d54db3691a9f8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 11:30:12 2019 +0200

    Let sqlite handle header number allocation, don't recycle header numbers
    
    The initial implementation could recycle the topmost header numbers which
    breaks libsolv caching as it assumes the traditional rpm behavior where
    header numbers are not recycled.
    
    Sqlite primary integer key with autoincrement behaves exactly the way rpm
    database has traditionally allocated new "instance" numbers, and does not
    seem to have any performance impact in this usage as there's always a
    limited number of such increments anyway. Let it do the job instead.

commit e5ba3247d8f47b55990e157d85f44c51f079e379
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 5 13:08:06 2019 +0200

    Handle DBI_CREATED flag correctly for all tables in sqlite
    
    Use sqlite3_table_column_metadata() to detect whether a table exists.
    This will allow newly added rpm indexes to be automatically generated
    and doesn't require running sql queries to figure out whether the
    database was just created or not (and get it wrong because an empty
    database would appear as newly created)

commit 1cb3be0009fbfd5549844ec361cc1ae5efa9c153
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Fri Oct 25 18:04:55 2019 +0200

    Handle incomplete escape seq in queryformat (RhBug:1755230)
    
    Previously, we assumed a backslash character would always be followed by
    a character to be escaped, and advanced our "start" pointer by two
    places before the next iteration.  However, this assumption breaks if
    the lonely backslash happens to be the last character in the query
    string, in which case we would end up pointing beyond the \0 and let the
    parser wander into the unknown, possibly crashing later.
    
    This commit ensures we detect this corner case and error out gracefully
    with a message.

commit 998b516b8bcca5e38cdba3e93045bf7c9e2293ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 31 11:56:36 2019 +0200

    Replace use of obsolete ctime() with strftime()
    
    POSIX.1-2008 marked ctime() as obsolete and recommends strftime() instead.
    We get two flies on one stroke as ctime() is also classified "dangerous"
    by LGTM due to not being thread-safe.
    
    strftime(..., "%c"...) isn't exactly the same as ctime() but is consistent
    with what we use elsewhere and sufficient for debug purposes anyway.

commit 9fe75561f94cfa97d24e7051ed595e5677cd7666
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 31 11:34:02 2019 +0200

    Replace uses of localtime() with the re-entrant variant
    
    LGTM flags localtime() as a "dangerous" function, which seems a bit
    over the top to me, but as we're flirting with threads, it certainly
    is not thread-safe.

commit d609a426f66d3868b50bcd3a2038fb264fd2ab40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 31 11:29:32 2019 +0200

    Resurrect --prtpkts debug switch functionality
    
    Move the _print_pkts global to librpmio where the two relevant users
    can actually access it, and make them use it. This has been broken
    for years...

commit 63930cd5244bd646d226b73dd43a2a3e681c58ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 29 09:59:23 2019 +0200

    Only permit comments at beginning of line in file manifests (RhBug:112727)
    
    We only permit comments at beginning of line in specs and macro
    files too, of all things file manifests don't need anything fancier.
    Resolves the oldest rpm bug in RH bugzilla, only took 16 years...

commit 4cae7bc07358fdc3b62a86731b2eecd8b7f26a53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 30 15:28:26 2019 +0200

    Drop bogus const from validName() return

commit c822fe7b90fff2551a7800a2f8487a333afe70fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 30 15:27:56 2019 +0200

    Remove redundant check, size is unsigned so condition is always true

commit 86fe9e431c12852b6f72bc7ceeed3e6d98253a01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 30 15:26:10 2019 +0200

    Fix global variable hiding in Fdopen()
    
    Harmless but also unnecessary obfuscation, when originally written the
    thing we now know as zstd was 20 years in the future.

commit 7a1ffb277404f5d79963e13923e5547a14ec574a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 30 15:11:47 2019 +0200

    Fix parameter hiding in rpmdsNewPool()
    
    Harmless but also unnecessary obfuscation.

commit 48501e918b71e38b6bf2d4f6e609efb3edb9724e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 30 15:08:18 2019 +0200

    Fix parameter hiding in scriptlet expansion
    
    Harmless but also unnecessary obfuscation.

commit 819c6c8a3e0b8bd55a358af5644389add133f893
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 24 12:46:48 2019 +0300

    Flag build-time rpmlib() dependencies in src.rpm as missingok
    
    rpmlib() dependencies are an install-time barrier, but dependencies
    in src.rpm are considered build-time dependencies. This paradox
    is the crux of the problem in https://pagure.io/copr/copr/issue/1038.
    
    We could move the rpmlib(DynamicBuildRequires) someplace else
    (eg buildrecommends) to avoid the issue, but then the dependency has
    technically every right to be there, and changing it would break
    existing software (mock) relying on what we already released.
    Adding MISSINGOK flag allows rpm to legitimately skip it while
    installing, the build-side does its own checking independently.
    
    This is not ideal as it requires backporting of commit
    1ac16611f0492ae450ca0f044c83632269c7e18d to older releases to fix,
    but this is the least-worst compromise we were able to come up with.

commit ac096e43fc9d09266c0a6f1905821d4e47bc7882
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 24 12:45:53 2019 +0300

    Don't provide rpmlib(DynamicBuildRequires) in source packages
    
    Packages can never provide rpmlib() capabilities, don't pollute the
    namespace with invalid (if mostly harmless) data. The use-case of
    identifying whether there are dynamically generated buildrequires in
    an src.rpm is satisfied by looking for RPMSENSE_FIND_REQUIRES type
    requires as of commit bee5dc94cf6ee388be821625ba77034bce61c049.

commit b9ee269fba54a4a7c91e594f907eef3c8c6c76c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 24 12:44:13 2019 +0300

    Honor RPMSENSE_MISSINGOK on src.rpm rpmlib() dependencies too

commit bd796058197420dc9eec63ef701206f9ce408d3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 23 12:44:47 2019 +0300

    Handle setting db_descr centrally from the backend name
    
    Now that we can, set db_descr centrally on database open instead of
    relying on backends to do it (and forget, or leak memory, as has been
    the case). Also don't bother mallocing, the name of the backend is
    quite enough.
    
    With backends knowing their own names we could probably eliminate db_descr
    entirely but leaving that for another rainy day, it's possible there
    are code paths that assume it being set to something.

commit 385a0a417ba834d4c89300efed661d1aaf5b7a24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 23 11:52:02 2019 +0300

    Cache prepared SQL statements for future use
    
    Preparing SQL statements from textual representation is relatively
    expensive and we do it a lot. Add a refcounted hash table for
    reusing the statements, which roughly halves the time of rpm -Va,
    other operations will naturally benefit too.
    
    db_cache should really be a private member someplace in the sqlite
    backend but there's no place to hang it, so without bigger changes
    that are out of scope here, the only option is adding a new member
    to the rpmdb struct itself.

commit 6e9f3dfc4b28f981311f3ea2784b9fa865104c32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 22 16:42:23 2019 +0300

    Fix a titanitic memory leak in the sqlite backend
    
    The rest of rpm expects to get a pointer to a temporary data area
    containing the header blob, which is then copied on header import.
    Seems my recollection of this was the exact opposite, so the sqlite
    backend was pushing back malloced copies of the blobs that nobody would
    then free. Oops, leaks, leaks, leaks, sunk.
    
    There's no need for sqlite to be different in this regard, but during
    Packages iteration the implementation used a temporary cursor for
    the actual header, causing the data to go away before reaching the
    upper layers which necessiated dup'ing the data, that nobody would free.
    Refactor to eliminate the temporary cursor from the picture to fix the
    mismatch of expectations and thus the leak.

commit 4eda663a5f13a6cbd50f4b30c342e56e9abf3242
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 23 10:31:39 2019 +0300

    Fix --querybynumber on non-existent record, add test
    
    RPMDBI_PACKAGES differs from the indexes in how record searches behave,
    indexes return NULL for non-existent values but with RPMDBI_PACKAGES
    (and the pseudo index LABEL) we always get an iterator which we need to
    walk to determine whether there's data or not. Use the newly introduced
    helper to get the query return right.
    
    One could argue that this should be done in the database code, but then
    the behavior is kinda consistent other iteration over RPMDBI_PACKAGES:
    you don't know how many, if any, matches there are until you walk it.

commit 3754abffa1242269ee144c764507b400c62fc093
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 23 10:21:11 2019 +0300

    Refactor query match counting to a helper function
    
    No functional changes here, needed for the next commit.

commit 83a26ae9e19fa3526b7331e824e273521c27b0a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 3 14:58:11 2019 +0300

    Implement support for alternative (uncompressed) payload digest
    
    During build, also calculate a digest for the uncompressed payload data
    and add to packages. On verify side this is equivalent to the existing
    payload digest (through sharing the same disabler), which allows
    either one to be used for verification. This means deltarpm and similar
    don't need to recompress the data which is both expensive and error-prone
    due to minor differences in compressed stream despite the actual data
    being identical.
    
    Add a testcase for the basic behavior and update other test output
    expectations where necessary.

commit 4739ce8213f573ccfae98775d353a2cff19184c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 3 14:47:59 2019 +0300

    Implement verify support for alternative digests and signatures
    
    Implements generic logic to let one digest/signature to act as an
    equivalent alternative to another one.

commit 8ab279ae6b3855fca5946dafd11c38e91adc9904
Author: Peter Robinson <pbrobinson@gmail.com>
Date:   Wed Oct 16 10:48:12 2019 +0100

    Remove problematic sub variants of armv8 and related
    
    This is a partial revert of b1f81b837f46
    
    The ARMv8 aarch32 variant specifies a number of required and optional
    components. NEON is a required component of ARMv8 devices so we don't
    need the 'n' variant that was added in ARMv7 (and never widely used due
    to problems). The 'c' crypto variant shouldn't be added. The use of
    the crypto extensions to by ARMv8 HW is many and varied and there's no
    means of dealing with it at a package/compile extention so the detection
    and use of it is done at runtime and handled via a number of different
    mechanisms whether in code or via kernel crypto modules and the use of
    libkcapi allowing the device to choose the fastest crypto option for
    the use case.
    
    This is actively breaking Fedora and related distributions on newer
    generations of hardware actively stopping the actual install of an OS
    in some extreme cases. This architecture functionality needs to be
    reviewed by the architecture maintainers to ensure that active breakage
    doesn't happen.
    
    Fixes RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1691430
    
    Signed-off-by: Peter Robinson <pbrobinson@gmail.com>

commit 0da3c50d1fa37945ba1b01975ecf2f62b51fb3cd
Author: Peter Robinson <pbrobinson@gmail.com>
Date:   Wed Oct 16 10:06:33 2019 +0100

    Revert "rpmrc: Add architecture compatibility mapping between aarch64 and arm64"
    
    This reverts commit 236d6f5a2b924266b1249a82875b595e8758c52b.
    
    This change is fundamentally wrong. arm64 is a catch all that covers the
    naming but rpm uses "uname -m" to detect the actual architecture. The aarch64
    nonclamenture specifies the ISA (Instruction Set Architecture) for the 64-bit
    variant of the Arm architecture which was first supported with ARMv8.
    
    Because all 64-bit variants of ARMv8 use aarch64 the arm64 would never be
    used in rpm. If it's useful in some context while using some Debian related
    tools those tools should have some translation added there. This just adds
    confusion and causes issues and duplication that haven't been necessary in
    any of the arch64 work up until now.
    
    Signed-off-by: Peter Robinson <pbrobinson@gmail.com>

commit d05ea15d7fae48608bee3b98283f17b44ccb59b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 21 16:15:10 2019 +0300

    Implement rpmdbStat() and rpmdbFStat() APIs
    
    rpmdbStat() can be used without an open rpmdb handle similar to stat()
    and rpmdbFStat() takes an open rpmdb handle, akin fstat().
    
    The rationale for these calls is to give API users a backend-independent
    way of obtaining data about the database's existence, timestamps etc.

commit ca72e2b923fe16ac23172edb8d5459c917a9b727
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 21 15:14:32 2019 +0300

    Document dummy backend in macros, warn on dummy fallback
    
    As the dummy backend supports no operations whatsoever, using it as
    a fallback if all else fails needs to emit a warning, not debug goo.

commit 108adfc4d10b2158d38d599430275b149ad236c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 21 14:50:22 2019 +0300

    Use paths from db_ops in the backends too where possible
    
    ndb and sqlite have control of their own paths, BDB and LMDB do things
    differently and dummydb doesn't have a path at all.

commit bc236cc369b8af9995dd50ba5263d354f47421ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 21 14:39:50 2019 +0300

    Use the new backend struct data for backend configuration and detection
    
    Refactor the hand-written separate tests into an array walk now that we can.
    No functional changes, except that there's no more special fallback for BDB.

commit bc00f99cb0c6bc367bd198b3b0fdc7cd445737c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 21 13:37:22 2019 +0300

    Add backend name and path of main database file to db_ops struct

commit 62e6a750710293dde19d6de5e804f22601238b01
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Oct 21 11:52:52 2019 +0200

    Multiple fixes in rpmxdb.c for the ndb database backend
    
    Found by torture-testing the ndb database.
    
    * Usedslots was allocated with the wrong size
      This did not matter for rpm because rpm uses only a small
      number of index databases
    
    * The addslotpage function did not enqueue the new free slots correctly
      It never gets called in rpm
    
    * The protection bits were not set if moveblobto needed to map a blob
      This can happen if it is called from the moveblobstofront() function,
      it will just not shrink the database in the current call.

commit 20fd80802098fe91e85dbe37d1857f6af1e91193
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 18 14:27:42 2019 +0200

    Use xdb's pagesize instead of sysconf(_SC_PAGE_SIZE)
    
    Our xdb may use a different page size for some reason.

commit d666497bb2acd1aaa6f41df6cbd6dda5d7c79b1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 17 15:43:24 2019 +0300

    Add generic rpmdb_dump and rpmdb_load utility scripts
    
    There's plenty of documentation pointing to /usr/lib/rpm/rpmdb_dump
    and rpmdb_load, which always were BDB specific utilities. Add a simple
    wrapper scripts by the same names that perform --exportdb/--importdb
    which is the database agostic way to achieve roughly the same as the
    BDB tools by the same name used to do.

commit 8094754daaf5d75df2ea5b9c7d7ad13c4490b6b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 17 15:34:43 2019 +0300

    Stop building BDB specific rpmdb_* utils even with internal BDB
    
    Hijacking objects from BDB build tree was always pretty gross, and
    nowadays there's simply no place left for them.

commit e40dc5eb589208f1c825027958bf1ac52b712c5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 17 15:28:40 2019 +0300

    Drop unused, BDB-specific rpmdb_loadcvt script

commit 86b698d546663068b0f11539180701e669769827
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Oct 19 20:09:11 2019 -0400

    build: Add missing ifdef to conditionalize omp.h include statement
    
    In 464d21dc8c176222c6586e2ee503fec6207f0d29, support for building RPM
    without OpenMP was conditionalized on the ENABLE_OPENMP define being
    set by the compiler. However, the include statement for omp.h in
    parseSpec.c was not conditionalized as everything else was.
    
    Because the conditional was previously missing, RPM fails to build
    in environments where OpenMP is completely unavailable. This is the
    case in environments such as macOS, as Clang does not provide an
    OpenMP implementation there.

commit 1f5d2097c02034351c9a5c4021abc8be5aa4150d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 18 14:24:21 2019 +0300

    Build sqlite backend in CI
    
    Should've been in commit 07129b641b733ab30995c93e2b08d0673b9d218c, doh.

commit 29dfabc27ae50c12eecefdd291d43fa6b74fffa3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 18 14:17:25 2019 +0300

    All database backend sources may have translatable messages
    
    ...regardless of whether they currently have them or not (many do)

commit 5bf88af9cc71413b89f1b3df87688d0ec16d21f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 18 12:06:11 2019 +0300

    Optimize sqlite index data deletion
    
    On sqlite, deleting doesn't require painstakingly recreating the same
    exact data that was used for putting, we can just sweep out everything
    with the given header num at once. Cuts roughly 1/4 out of erase time.

commit 77af8e59111c9affc1978f4914e031a07d001751
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 17 12:10:19 2019 +0300

    Push rpmdb index put/del deeper into the backend
    
    Let the backend see update of a single index as a whole instead of
    single items fed by the upper layer. This allows backends to optimize
    these operations in various ways that haven't been possible previously.

commit 0be04ef2a3cfaeabe9e89b0f455f68cf11ead9e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 6 11:13:22 2019 +0300

    Assimilate pkgdbNew() into pkgdbPut() interface
    
    Pass header number to pkgdbPut() as a pointer so we can return values too.
    Having allocation as a separate call unnecessarily dictates details
    about backend implemenation, and this makes it all just that little
    bit simpler. No functional changes.

commit 07129b641b733ab30995c93e2b08d0673b9d218c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 24 11:24:06 2019 +0300

    Add an experimental sqlite based rpmdb backend
    
    All normal functionality is expected to work. Automatic generation
    of missing index tables is missing, but that's not relevant at this time.
    Going forward, we'll also want some sort of compatibility tracking
    for the sql schema.
    
    The database scheme basically just mirrors what BDB does, using strings
    for strings and blobs for everything else due to the way integers are
    handled in the sqlite C API, for now at least. Some amount of schema
    changes are to be expected before this is considered final.
    
    Performance is similar or better with BDB in the current unsafe CDB
    model, but sqlite uses proper database transactions so this is expected
    to be an order of magnitude more robust.
    
    Many things are stupid and/or kind of backwards here due to the internal
    API, which I've avoided changing in order to keep it backportable for the
    time being. https://github.com/rpm-software-management/rpm/pull/836 is
    needed but otherwise this should drop quite trivially into 4.14.x too.
    However as we're planning for a longer term future here, it would be dumb
    to limit ourselves by what's possible with an internal BDB-oriented API,
    so I've fairly major changes planned in that direction.

commit 7ba4b9bdcfc84e7e4740ede0c834581d3be1d865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 17 12:43:20 2019 +0300

    Don't report unimplemented db ctrl and verify ops as errors
    
    ndb doesn't implement a specific verify option, but that doesn't mean
    the data within should be considered invalid. This causes ndb to fail
    the test-suite on "rpmdb --rebuilddb and verify empty database" for no
    good reason. Similar arguments could be made for dummydb although it
    matters much less there.

commit a623c45ac7a566ee9c33325ef7a318e5ef7d248a
Author: Igor Kanyuka <ikanyuka@fb.com>
Date:   Wed Oct 16 13:19:48 2019 -0700

    Increase lmdb DB size from 256M to 1G

commit 9b512ac829a01157feb45124d22e35747eff7125
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 16 11:40:01 2019 +0300

    Revert "Fully shutdown DBUS on systemd_inhibit cleanup (RhBug:1714657)"
    
    Turns out this isn't a safe thing to do, as an API user could have
    their own dbus connections in the same process and shutting those
    down is a rather impolite thing to do (and causes crash, burn and
    other injuries, eg RhBug:1750575)
    
    This reverts commit d5f201345f6d27b6280750e5c6502f4418614fbc.

commit 8671726738885f91f1eac725c8bbb76c9f433868
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 15 14:00:07 2019 +0300

    Run CI builds with -Werror

commit a84a33816ac4a791da184c81fbc40aa110c3c7ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 15 13:55:04 2019 +0300

    Add configure option to build with -Werror
    
    -Werror is a bit tricky as it'll cause autoconf tests fail left and right
    if it's just passed normally via CFLAGS, so we need to sneak it in
    by some other means.
    
    Note that while developers should always enable this, -Werror must never
    ever be a default as it'll eventually just cause bogus build failures
    when old releases get built with newer compilers.

commit 3625ca14c752fa229c79891fcc6374df40b5b588
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 11 15:57:47 2019 +0200

    Refactor mmap/munmap/mremap handling in ndb
    
    Also emulate mremap with mmap/munmap in ndb if it is not
    available.

commit 9ac6c427d240dca7375dfff596f8a84012c32169
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 11 15:55:43 2019 +0200

    Use fdatasync in ndb if available
    
    No need to always sync the inode metadata.

commit 09cc8ebad29aeaca58d009fd9d1a789919282cc7
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 11 15:48:41 2019 +0200

    Do not always fsync the database directories
    
    Only call fsync when new database files got created.

commit 1c45d96b3218b4ecedb290f89d5230ed1acdd5ff
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 11 15:44:20 2019 +0200

    Delete all the IDXDB_FILESUPPORT code in the ndb backend
    
    Rpm will always use xdb instead of plain files for the
    database indexes.

commit af64fe18ff03440502abc27b09d8db2b911b7d69
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 11 15:42:23 2019 +0200

    Implement fsync disabling for the ndb backend
    
    For some reason this never got implemented. Spotted by
    Jeff Johnson, thanks!

commit b759eee44395bdf4abd93b2f846214ee5f5f34f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 10 12:48:24 2019 +0300

    Always execute file trigger scriptlet callbacks with owning header
    
    This is part II of commit 6d610e9b9a906548ce44265d7f36199441ea8bca which
    missed one but common case where the element with matches gets passed
    to the callback instead of the owning one, as pointed out in RhBug:1724779.

commit a0699a1f9b9502c75d812b4fee52dec100ad5be7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 9 12:20:08 2019 +0300

    Cleanup + fix --build-in-place handling in %setup
    
    If we don't want spec->buildSubdir to be set, then we should just bail
    out before the logic that sets it, not undo it afterwards and set macro
    body to NULL, amazing that this isn't blowing up someplace.
    Lastly, %setup -a/-b would try to access tarballs that build-in-place
    is supposed to skip entirely, just skip the whole argument checking
    instead as they're not going to be used anyway.

commit 0663b87c8e630a2fbdb3821e20410aa2fa19ba82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 7 14:04:46 2019 +0300

    Refactor addFileToTag() to use the new readManifest() helper

commit b7d427728b8ba8734ba47d51849a5736bdd727cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 7 13:40:36 2019 +0300

    Refactor actual file reading from readFilesManifest() to helper function
    
    Support for -f is not limited to %files, so it makes sense to have
    a common helper to do it.
    
    STRIP_TRAILINGSPACE is a bit misleading here as it actually affects
    whether a newline is added or not, but that's kind of consistent
    how its used elsewhere.

commit 1d12864de6cdd2074144868d47da7595745dafc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 7 13:23:30 2019 +0300

    Add a testcase for spec scriptlet -f usage

commit facee2c70a0987567abd1287b41bbc673b5e17e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 10 13:45:42 2019 +0300

    Avoid using types from Lua includes in rpmlua.h again
    
    rpmlua.h was originally written in a way that allows it to be included
    regardless of whether Lua is actually enabled in rpm or not, or where
    Lua headers are, specifically to isolate the rest of rpm from these
    details. That was changed in commit 62bd62286aa888c60145daf315a938dd87eadc89
    when <lauxlib.h> started getting included in rpmlua.h, which leaks to
    places like librpmbuild which do not directly use Lua.
    
    The way Lua typedef's the luaL_Reg struct to itself defies my C fu for
    for handling this in some nicer typesafe way, fix this all by just using
    a void pointer instead, this is just an internal API where buyer can be
    expected to beware.
    
    Fixes #888

commit 35fb5d7367378ccb0f4a18e54ec28bc2f7e435e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 8 10:40:56 2019 +0300

    Stop on invalid dynamic buildrequires

commit bee5dc94cf6ee388be821625ba77034bce61c049
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 4 13:01:11 2019 +0300

    Mark dynamically generated buildrequires autogenerated
    
    This makes them in line with regular auto-generated dependencies and allows
    them to be easily identified. It also makes parseRCPOT() error reporting
    do the right thing: generated dependencies do not relate to spec lines.
    
    Fixes #801 (also reported as RhBug:1759100)

commit e220cea3f2fb5cf5e6ea19d420dc65800f977ee7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 4 11:45:11 2019 +0300

    Percolate errors up from rpmfcHelper()
    
    Ignoring the error code from rpmfcHelper() means that invalid dependencies
    get silently ignores. Intentionally not stopping at the first error though,
    as it's often useful to get all errors at once.
    
    Add testcases for legal and illegal output from dependency generator.
    
    Fixes #881

commit ab601b882b9d9d8248250111317615db1aa7b7c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 4 11:22:57 2019 +0300

    Fix suspicious condition in selinux plugin
    
    Misplaced parenthesis introduced in commit 148e82833a.
    
    Fixes #872

commit 5584438180cb21af73aad3ee8ab4f9e83161af83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 4 10:55:00 2019 +0300

    Clarify the disk space problem messages
    
    These messages have been an endless source of confusion and complaint
    throughout their existence, to the point that various programs have added
    their own "translation" for these messages. Changing the message is likely
    to break those (regex-based) translations but then hopefully the
    translations will not be needed after this.
    
    Fixes #879 (and at least a dozen bugs in various distro bugzillas
    whose numbers I'm too lazy to dig up)

commit a536e260618b0c8967c32abac2b38e0b4180bdb8
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Sep 25 14:43:57 2019 +0200

    Add missing position marker to a few expression error messages

commit 8f6b56c72ac7ec28a4a3676eee6a492a96e81adf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 26 14:28:27 2019 +0300

    Avoid modifying header on export
    
    headerExport() is the only thing that needs offset sorting, there's
    no point messing up with the header itself for this when we can just
    sort a copy instead. No visible functional changes, but makes
    headerExport() a read-only operation to the header, as it should be.
    This also makes h->sorted a straightforward boolean indicating whether
    the index is currently sorted or not instead of the strange tri-state
    thing it has been (see commit da3a3a14e757ccd517e2eb2a3f0293ff48b3ff7f)

commit 3c5e62fe17c7dbd7507e0ccd2fddc1f2fc4b3ae3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 26 14:09:14 2019 +0300

    Refactor the actual work from headerExport() to a helper function
    
    No functional changes, this is just to create a barrier between
    access to the header structure and what is actually needed from it,
    ie just the index. This makes the next step much more obvious.

commit da5a9bb92d2d9794fbcbd7709bc869c23e795736
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 26 11:29:41 2019 +0300

    Update CREDITS for last years new contributors

commit ff4ce836e7ff25e11b4be7ec419e10c66e8b127a
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Sep 25 10:39:11 2019 +0200

    Add an error message when rpm fails to open a pipe for shell expansion

commit 0508e9a6e3311ed00c34887fd7715d3b469cdca6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 20 10:56:20 2019 +0300

    Localize our chroot in/out operations during transactions
    
    The primary motivation here is to consolidate all database writes
    (open, write, close) on one side of the chroot, currently it happens on
    both sides of the border causing all sorts of issues and limitations (such
    as preventing more advanced modes of BDB, not to mention other databases).
    As a positive side-effect, the sections where we potentially run
    inside chroot are more easily identifiable.
    
    Consolidating on the outside may seem counter-productive, to improve
    security it seems you'd want to spend as much time *in* as possible,
    including database accesses. Unfortunately due to rpm's access patterns
    and API promises, that's not really achievable (tried several approaches,
    run into as many dead-ends).
    
    Technically we could localize the chroot placement much further, but
    doing so would change the side for transaction callbacks, which could
    cause nasty breakage for our API users as various clients use those
    callback slots to update their own databases and logs. So the chroot
    spots here are selected to cover minimum possible code while preserving
    the chroot side of callbacks and plugin slots: RPMCALLBACK_INST_OPEN/CLOSE,
    ELEM_PROGRESS and VERIFY_* occur outside the chroot, everything else inside.
    Of plugin slots, init/cleanup and tsm_pre/post occur outside, everything
    else inside.

commit 3fbf5c58ec2ba62eabc96dd94d4fde11fdb6299e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 20 10:49:04 2019 +0300

    Refactor goal execution out of rpmpsmRun()
    
    rpmpsmRun() has gathered so much extra logic around the beef that this
    seems reasonable. In particular this makes the next commit much nicer.

commit d78ecb903ab1cecb7c465b06aab16c7e3fb0f20a
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 24 15:51:41 2019 +0200

    Make copyNextLineFromOFI() aware of the new %[] syntax
    
    That's the third loop of that form in the code...

commit 82f89a3ce4dcc43a1749f3e34daa271925cd2c54
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 24 10:43:40 2019 +0200

    Change || and && operators to behave like perl/python/ruby
    
    This makes the operators return the last evaluated term instead
    of a boolean value. For example 2 || 3 will return 2.
    
    We also allow strings by using boolifyValue(), allowing
    expressions like "%{?foo}" || "default".

commit 4cff613a0b0a8cc015b28fa32b075736430d86ea
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 24 10:40:24 2019 +0200

    Use boolifyValue in the not operator
    
    This can be used for expressions like !"%?foo"

commit 518633d26a057b97ddf95737282bef5d2371d0e4
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 24 10:22:11 2019 +0200

    Disallow ternary operator with different types on the rhs
    
    I.e. 1 ? 2 : "foo" is no longer allowed

commit 803de56a445ae618a5051343f08b9f0b7f31f767
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 24 10:17:00 2019 +0200

    Add boolifyValue helper and use it in rpmExprBool
    
    No functual changes.

commit c5909bd8698e56ffa4d1bb380116d61d6b48b8dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 23 16:41:19 2019 +0300

    Codify built-in macro argument acceptance
    
    Built-in macros either take arguments via %{foo:...} or don't, raise
    errors on unexpected and missing arguments.

commit 8b224d37375cb8d6562311e7a695706311139a73
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Sep 24 11:54:47 2019 +0200

    Correct description of %verbose and %getconfdir in the macro manual

commit 765fa386bd462432a3836f970b65366ed8b6ae00
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 23 13:13:15 2019 +0200

    Free memory leak in unary op handling
    
    Also reduce the number of alloc/free calls by adding ValueSetXXX()
    variants that change a value.

commit d47ab718518ea42fb9beb7fd09c206107d0a10a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 23 12:19:36 2019 +0300

    Replace hardwired man page references to "redhat" in paths with "<vendor>"
    
    The politically correct version would be changing these all to .in files
    with autoconf substituting the correct value during the build process
    but that is such a PITA for what is at best a neglible benefit in this case,
    it's just not worth it.
    
    Fixes #779

commit 796104e68a0a4b2e60f8e9b47293055a3159a8eb
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Sep 18 16:28:43 2019 +0200

    Implement short-circuit for logical and ternary operators

commit cb4e5e755aa77b132569249c1ac6d87b9c2c76ba
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Sep 18 15:31:08 2019 +0200

    Add support for primary expansion to the expression parser
    
    And also wire it to %[ ... ] as new syntax to expand expressions.
    
    We'll add short-circuit support in the next commit.

commit bebd15081a1ad61752d37d51e6377f65dd622ea3
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Sep 18 13:49:55 2019 +0200

    Add findMacroEnd() function to find the end of a macro call
    
    Refactor expandMacro to use this function. We'll also make use
    of it in the expression parser in a future commit.

commit 1896e58ffdf2278c47fea5f6e7d29bbf81eac1ad
Author: Peter Jones <pjones@redhat.com>
Date:   Thu Sep 19 13:09:56 2019 -0400

    Add all of the rpmbuild macro aliases to rpmspec as well
    
    This adds all of the rpmbuild popt aliases that expand to defines to
    rpmspec as well.
    
    It also changes --trace to include --POPTdesc argument help.
    
    [v2: fix an error that broke rpmbuild --trace]
    
    Signed-off-by: Peter Jones <pjones@redhat.com>

commit 9dff0b37bb3a6c6acbba6d5579d7a6fe03424683
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 20 15:15:08 2019 +0300

    Resurrect %_missing_doc_files_terminate_build functionality
    
    Fixes regression from commit 1ba05a7456aafb52e89df5dd42d494d09f9ea6a4
    where doc files always terminate build regardless of the macro value.
    Add a testcase to go.
    
    Fixes #807

commit f008f8c70a586e7687f4e71c2df557a0e5be56df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 20 10:32:08 2019 +0300

    Ensure expression syntax errors get at least a generic error message

commit 968c53cd3de01e16e8be3da800c8cd0d8e25fcbe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 20 10:29:38 2019 +0300

    Always check for rdToken() return codes in expression parsing

commit c62a14e7460d59786157e8dc962556a968bf58c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 19 12:50:12 2019 +0300

    Fix double-free on ternary operator parsing error
    
    v1 gets double-freed when there's an error parsing the result side
    of the ternary operator. Add testcases to go.

commit cead442ecf6f85521c9c64ba93ea44e0f084131d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Sep 11 21:06:24 2019 +0200

    Add 'string' into query format extensions in man-pages

commit 708e61307bc3fd027b016fdf5a1d1a5274c1843c
Author: Shogo Matsumoto <shogo.matsumoto@fujitsu.com>
Date:   Sun Sep 8 22:44:51 2019 -0400

    Suppress inhibition lock warning message when DBus service is not available
    
    The message may just confuse users if DBus is not running as default,
    e.g. single-user mode. We suppress it when DBus is not available,
    which is done by checking two cases:
    socket does not exist (DBUS_ERROR_FILE_NOT_FOUND), or
    unable to connect to server (DBUS_ERROR_NO_SERVER).
    Note that this is an approximate but not an exact way to detect
    whether DBus service should be running in the environment or not.

commit 8bc90aa7971838e019c4f7b712631c6110de04d9
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 16 11:33:50 2019 +0200

    Support ternary operator in expression parser

commit 79977e91e3ffbadedb1413699ae46f7685732c9c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 13 16:31:33 2019 +0200

    Catch unterminated strings in expression parsing

commit 7659f40cfe2f78d3a256e2952a0a4f91ff21eb88
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 13 16:13:57 2019 +0200

    Do not expand %{expr:} again after evaluating the expression

commit 715ce7ce2eb6028553f8ce268a2f6cc76b9d5251
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Sep 18 13:23:45 2019 +0300

    Trap division by zero in expression parser

commit a079f750f588b0f99e07af70a68a28ed13a83205
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Sep 18 11:57:13 2019 +0200

    Stop expanding strings in the expression parser
    
    The %if lines in the specfile are expanded before the expressions
    get evaluated, so the re-expansion of strings is surprising.
    It's also not done for integers, which makes it inconsistent.
    
    The original expression parser seems to have been written
    without taking the upfront expansion into account, thus the
    string expansion and the TOK_IDENTIFIER code.
    
    As I can't imagine anybody using this feature lets just drop it.

commit 54acb0f10246b2a0396c5ff49d6aa60b8bc903d6
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 17 14:37:32 2019 +0200

    Remove TOK_IDENTIFIER support from expression parsing
    
    Identifier expansion got broken in 2000 when getMacroBody() was
    removed from the API (commit 3ad99fcba52fcc5e8ab636d2f1760c945cdfbf19).
    
    Nobody seemed to have noticied, so it's safe to say that there is
    no one that used it the intented way.
    
    With the bad commit there is an unintended use for it: it is
    a way to specify a string without the otherwise needed quotes.
    
    So this commit might break some existing spec files, but cleaning
    those up is easy and makes the world a better place.

commit e79d1feb6d8111c462eb13403cf0b7ca36b09ff1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 18 10:56:11 2019 +0300

    Fix type error introduced in commit 1d055ae1df90fe54cf5c056de085cd987f0f6bbf
    
    "state" is a pointer in this function, we don't want a pointer to it.
    Fixes garbage getting printed in the error message. Add a testcase too.

commit c9e34b257ea5f4e6c56803d3663214ea7fa46dfd
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 17 11:24:22 2019 +0200

    Drop slen from builtin macro parser function
    
    The calculation of the slen parameter was not correct, as it didn't
    account for already processed characters. The parameter itself was
    also not used to limit the passed string, as the code assumed zero
    termination. Thus we can as well simplify the code by using strlen()
    on the passed string.

commit 1d055ae1df90fe54cf5c056de085cd987f0f6bbf
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 17 15:18:19 2019 +0200

    Print an error for expressions with missing operands
    
    Expressions like '5 +' did not print an error message before.

commit 858d6babd6d9af3c91a152c3abc67122f80990e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 12 13:55:41 2019 +0300

    Log debug messages upon entering and exiting chroot

commit 5c0801a1a3cba56d5c7e379323242e26f33f0729
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 10 11:05:03 2019 +0300

    Change the default crypto implementation to libgcrypt (from NSS)
    
    libgcrypt is a much more straightforward and lightweight as a library,
    doesn't come with a massive runtime library of its own, runtime which
    messes with SIGPIPE and all, has a nice clearly compatible license (LGPL)
    and is somewhat faster than NSS. What's not to like?
    
    Change the default and add relevant documentation to INSTALL. Drop
    the hopefully now unnecessary override from distcheck flags, and
    switch CI over too. Note that in CI, openssl-devel is still needed
    for ima-evm (missing dep in ima-evm-utils-devel?)

commit 22c26c7444c32dfe6b75b250b247b5d57f989ba6
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Sep 10 12:11:39 2019 +0200

    Add description of comments in spec documentation

commit 07be45f2023b7b59d6880a9b577b339c439b1018
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Sep 4 10:56:49 2019 +0200

    Improve description of conditionals in spec documentation

commit 037106ecc899bad6d6e6f9d95768699542b871ea
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Aug 30 11:47:33 2019 +0200

    Support libgrypt as crypto library

commit 0cb0e69eafa069c2a6150ae2f573a4373ab058d1
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Aug 30 09:15:51 2019 +0200

    Correct and update Query formats documentation
    
    - in a majority of examples in the manual the text after the
      --queryformat argument is in  double quotes - thus it does not
      look good to wrote that "A query format is passed to RPM after
      the --queryformat argument, and normally should be enclosed
      in single quotes".
    
    - in the case of:
      rpm -qa -i --queryformat "%{NAME} %{SIZE}\n"
      -i is not ignored, so this is omitted in the text.
    
    - language correction
    
    - added a link to a formatting tags documentation
    
    - added an explicit example of a query expression
    
    - removed example of "viewing the verify flags', that does
      not have any purpose here

commit 076e3ea2a3ec121c62298a2b6ec9d4750b68bf05
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Sep 3 10:19:02 2019 +0200

    Disable marker on multiline expression error messages
    
    If an expression multiline like:
        %{expr: 0 || 0 ||
                0 || 0 |o| 0 ||
                0 || 0 || 0 }
    then it is better not to support marker pointing to the exact
    place of the error.

commit 0488fdc927e6d31a0af55646fe51effe9592cb26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 23 11:17:21 2019 +0300

    Cap number of threads on 32bit platforms, add tunables (RhBug:1729382)
    
    On 32bit plaforms, address space is easily exhausted with multiple
    threads, causing arbitrary builds failure regressions (RhBug:1729382).
    Simply cap the number of threads to maximum of four on any 32bit
    platform to play it safe. It's still three more than we were able to
    use on older releases...
    
    In addition, introduce tunables for controlling the number of threads
    used similarly to what is available for number of CPUs: forced number
    and a separate ceiling.
    
    The max logic gets surprisingly tricky with the mixed OMP and rpm
    tunables and different semantics. Notably, OMP does not have a nice
    way to set a maximum from inside a program (this is only possible
    from an environment variable so we can't use it here), so we need
    to jump through a lot of hoops to figure out whether an *unlimited*
    setting would go above the platform limitation. I'm not entirely
    convinced this is 100% bulletproof, but then it's all going to change
    and become even more complicated when we start taking memory limitations
    into account...

commit 0b9af49c022e9187a9befa08c80d74f7097b763c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 23 11:09:40 2019 +0300

    Fix build code thread cap logic for unlimited CPUs
    
    If there's no clear cap set from rpm configuration, just let OMP do
    its own thing (ie use all available CPUs)  instead of artificially
    limiting to 1.

commit 3f166028b13219697809c060d4297612cd4743e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 26 12:03:57 2019 +0300

    Make dependency generation test payload-compression agnostic
    
    Non-gzip compression introduces extra dependencies to packages,
    force gzip compression on the dependency generation test to avoid
    basically false failures. This lets us run the test-suite with other
    compression methods as needed (but not changing any defaults here)

commit 53fafdbe07361ebb921deec29b431f9e861f6e8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 26 12:03:17 2019 +0300

    Document zstd compression in main macros file

commit 08ca76f1cac5b1f203b687520ecaea005983274e
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Aug 26 11:30:31 2019 +0200

    Remove unused variable id in find-debuginfo.sh
    
    There's code setting variable id in scripts/find-debuginfo.sh, but there's no
    subsequent use.  The only use of $id in the script is in do_file, where it is
    a local variable.
    
    The variable setting was introduced in commit 6b3b435fa "Add dwz debuginfo
    compression support" in combination with a subsequent make_id_link using the
    variable, but the make_id_link was removed in commit bbfe1f86b
    "Add build-id links to rpm for all ELF files".
    
    Remove the unused variable.

commit 3a6a7cf69142cbccd0f33236a4407e4f358696c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 13:59:04 2019 +0300

    Add %{expr:...} macro for parsing expressions
    
    Supports the same expressions as spec %if conditions because, well,
    it's the same expression parser. Only this returns the result as
    a string instead of a boolean.

commit 4fc0370c56f301c228d592a35b52b76023479953
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 13:30:42 2019 +0300

    Improve expression error messages
    
    The error messages created by the parser have been truly lame and with
    zero context. No to mention typos such as multiple instances of "suported".
    Add an error reporting helper which uses the parse state to report not
    only the expression where the error occurred but also pinpoints the exact
    character in the cases where we easily can, eg:
    
            error: syntax error in expression:  (1 && 0)) + 5
            error:                                      ^

commit 0113b734dc77508abc88a744b69d5103e93e7b33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 21 11:48:15 2019 +0300

    Move %if tests where they belong and fix their keywords
    
    %if, %else and friends are not macros but spec syntax, these belong
    to rpmbuild tests. AT_KEYWORDS are separated with spaces, not commas,
    fix that and add build keyword to all.

commit 66c3df005f28650e1b6910891a5aa9578b699994
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 15 10:39:00 2019 +0300

    Export the expression parsing functions and move to librpmio
    
    Rename to rpmExprBool/Str() for namespace's sake, drop internal
    visibility and move to librpmio for wider usability.
    No functional changes here but needed for the next step.

commit 8936960d7f15e728b60fa1ea73b0d8a6eff97ad6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 15 09:36:10 2019 +0300

    Resurrect parseExpressionString()
    
    This essentially reverts commit 398df91274be4e6a9fae0cbbc59f95f6e490ed0f,
    with a few changes to account for other changes that happened in the
    meanwhile and establish a single point of return.

commit d472c20a5f6f4046d461c1148a29fba154b2e78b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 15 14:45:31 2019 +0300

    Drop the no longer needed rpmfcExec() output duplication support
    
    This effectively reverts commit 5fe8c9e6d55fe101c81399423a1e1b0f42882143,
    but no functional changes as nothing was using this anymore.

commit 3a510926449f1dd779a2933dfaa17de3d03a4ea4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 15 14:10:07 2019 +0300

    Restore strict order of build scriptlet stdout/stderr output (#794)
    
    Commit 18e8f4e9b2dd170d090843adf5b5084658d68cf7 and related changes
    caused us to capture and re-emit stdout of all build scriptlets,
    whether we actually use the output for anything or not. Besides doing
    a whole bunch of work for nothing, this can disrupt the output of
    build scriptlets by making the output jerky and out of order, at least
    inside mock and other tools which in turn grab rpm output. This makes
    troubleshooting failed builds unnecessarily hard for no good reason.
    
    Handle the whole thing in a different way: on regular builds, don't
    capture anything where we don't actually need to. This restores the
    natural flow of output. We still need to somehow handle quiet builds
    though, and we can't use redirect to /dev/null from %___build_pre like
    we used to, because dynamic buildrequires need to provide output even
    on quiet builds. So somewhat counter-intuitively, we need to capture
    the output in order to discard it.
    
    Closes: #794

commit ad4673589428db6e3b9fecd6f151eb899500336d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 15 14:00:43 2019 +0300

    Support running rpmfcExec() without any piped input/output
    
    Having a function called getOutputFrom() which doesn't is a wee bit
    weird but what the hey...
    
    No behavior changes here, but this is needed for the next steps.

commit e9c13c6565cf4782d1f73255ee9144dd9bd2aca7
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Aug 9 16:30:43 2019 +0200

    Eliminate use of ambiguous logical operators in script conditionals
    
    Prefer '[] && []' to '[ -a ]' and '[] || []' to '[ -o ]' in tests.
    -a and -o to mean AND and OR in a [ .. ] test expression is not well
    defined, and can cause incorrect results when arguments start with
    dashes or contain !. Moreover binary -a and -o are inherently
    ambiguous. test(1) man page recommends to use
    'test EXPR1 && test EXPR2' or 'test EXPR1 || test EXPR2' instead.
    
    It corrects warnings [SC2166] spotted by covscan.

commit f50e26f1f3d520b9b5955f278822cdb35ea668d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 19 13:18:37 2019 +0300

    Add a dummy line to CI setup to allow controlling dnf gpgcheck per build
    
    This doesn't do anything at all in itself because all the repositories
    have gpgcheck=1 by default. However adding this line allows disabling
    the gpgcheck for individual builds via Semaphore build settings, which
    allows us work around signatures on rawhide breaking semi-regularly,
    blocking our CI for no fault of our own.

commit 99b9ded5dd7d1118aea528600fcf20ba89dbab9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 14 15:58:30 2019 +0300

    Fix segfault regression on empty script or description at end of spec
    
    More ripples from the parseLines() unification (commits
    91e8d826e473c98209ba9db0ea06ab884557076c to
    783e2dc0b424afdf0a5d2add368279cb63016897), the callers used to
    explicitly allocate an empty string buffer, but with lazy allocation
    from parseLines() they're getting NULL in the special circumstance of
    being last in the spec, and no "body". Specifically this happens with
    empty %description or scriptlet without a body, eg
    "%post -p /sbin/ldconfig".
    
    The script regression report + reproducer and a preliminary patch
    originally from RhBug:1732276 by nvwarr.

commit 7faf8eda1358f8a877b9b3d6e1197b814e80b50b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 13 16:26:31 2019 +0300

    Drop %_lto_cflags macro afterall
    
    This was only added in commit 2bb7b0cf066c97a9d92eb0bf59618896000cb29d,
    but turns out that this kind of usage is bad for build reproducability
    because the system-specific CPU count gets recorded RPMTAG_OPTFLAGS
    and the resulting binaries too (depending on gcc flags).
    In addition, gcc upstream has decided to make -flto default to
    autodetected parallelism. Since -flto can be overridden with
    by simply appending -fno-lto for the packages that need to disable it,
    there's no practical need for us to provide such a macro for disabling
    either.

commit 655c4c72a3467037abd51aab29f0300e97caf54c
Author: Stepan Broz <sbroz@redhat.com>
Date:   Thu Jul 25 11:00:47 2019 +0200

    rpmpgp: Handle EOF without EOL better at END PGP

commit 4c3e3706e7eaf6a970f671b5e6ed8986d923fa8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 7 13:24:40 2019 +0300

    Add a testcases for filenames with weird + invalid characters
    
    Rpm itself has traditionally been able to handle pretty much anything
    you throw at it, the surrounding scripts less so. Do a basic smoketest
    that the scripts can handle what rpm can (the rules changed recently
    in commit ee3126dd3d4ca609f254ac5d647c9ff3e413e9dd) and another test
    to catch some invalid filenames.

commit aa71073ca5babbf48dbbd768e60aa555365414fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 7 12:02:25 2019 +0300

    Replace all PyInt_* uses with PyLong_* in the codebase
    
    Up to now we handled this via Python 3 compatibility defines in
    rpmsystem-py.h but now that Python 2 is no longer supported, actually
    update the codebase. No functional changes.

commit 67f8f2b01d00f03f2d6c072fb2697d3860abe47b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 7 11:56:40 2019 +0300

    Axe support for Python 2
    
    Python 2 will be EOL by the time of the next major rpm release,
    time to retire the Python 2 bindings. Specifically we require
    Python >= 3.1 for surrogateescape-support.

commit c7e0b61c05878868300653d5892425c6c41fdba0
Author: Jason Tibbitts <j@tib.bs>
Date:   Wed Jul 31 20:16:07 2019 -0500

    Split verbose make flags to a separate macro
    
    Adding V=1 is known to break at least one upstream Makefile, so move the
    verbosity options to a separate macro to simplify the workaround.

commit 5188a7b35eb3672c9b15e96433e033ee36f8e6a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 6 13:06:16 2019 +0300

    Fix memleak during transaction verify step in the NOKEY case.
    
    Found during RhBug:1714657 QA testing.
    In addition, add a comment to clarify the fallthrough as intentional.

commit e219c9548d16a3c18dd261f7043bb8d221b87c77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 31 11:56:26 2019 +0300

    Fix off-by-one in hdrblobGet() making last entry unreachable (RhBug:1722921)
    
    hdrblobGet() introduced in commits acfde0d0e812e9f8e153ab6be8c9f2682bdd4763
    and 9821de18811db97238c34a564221e315f5f35b44 has an off-by-one thinko
    (perhaps the idea was to skip the first, region tag) which causes
    the last entry to be unreachable. In typical packages, that is
    RPMSIG_PAYLOADSIZE which is not used at all in this context so it doesn't
    matter, but in large packages use RPMSIG_LONGARCHIVESIZE which has a lower
    tag number and leaves either RPMSIGTAG_MD5 or RPMSIGTAG_GPG last,
    unreachable and thus unverifiable. Oops.
    
    This fixes the regression introduced in rpm 4.14, affecting verification
    of large packages (ie having RPMSIG_LONGARCHIVESIZE)

commit 7b76b2c0624492cd06d5d1d61f438beb1e4ef3be
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jul 29 08:37:13 2019 +0200

    Prefer '[] && []' to '[ -a ]' in test in find-debuginfo.sh (RhBug:1720590)
    
    Spotted by covscan:
    warning: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. [SC2166]
    Originally introduced in commit 9aae21d.
    
    Thanks to Florian Festi for spotting this and proposing the solution.

commit 0fcf8c2b8692fbe06b0bb353247f9d70c91c14a1
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Jun 26 15:41:17 2019 +0200

    Use an erase element to delete packages with same NEVRA
    
    Rpm used to rely on the "replacepkgs hack" to get rid of the old
    header entry when reinstalling a package. This has a number of
    problems when the headers are not identical or different
    install flags were used.
    
    To mitigate this, a '--reinstall' option was added that made rpm
    use an erase element in this case.
    
    This commit takes this one step further by changing the code to also
    use an erase element in the --upgrade case. The code is mostly simpler,
    but we need a different implementation for commit fd40d58efa, as we now
    have erase elements both for --reinstall and --upgrade. Thus we
    need to store the addop in the transaction element.
    
    The commit does not change the behaviour of 'rpm --install'.

commit ff42a556e68763a90d014a4f70e267bc8f1b2ed9
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jul 15 14:10:05 2019 +0200

    Test %dnl such that its contents influences its expansion

commit f339e115b01741ac029b5ceebbc3768ddb1335a6
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Jul 12 10:44:24 2019 +0200

    Add support for 'patch -Z'

commit 0d75ef1e0a0609ee61386f02fa311d6d8ac79450
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jul 8 16:16:29 2019 +0200

    Describe conditionally expanded macros in manual

commit 077f4003eec8eaaedd80fd709205ff326d4aad50
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sat Jul 20 18:24:28 2019 +0200

    rpmbuild: Generate buildreqs.nosrc.rpm even if no output
    
    Fixes: https://github.com/rpm-software-management/rpm/issues/781
    Reported-by: Michael Schroeder <mls@suse.de>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit be3347b5bff6142e86e533174fe0ec352405d159
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 18 07:45:53 2019 +0200

    rpmsign man page: Add line about rpmsign requiring a valid checksum
    
    and the limitations in FIPS mode

commit 5f4fdce3041b80ef26e3a87db07ecdbd2041a9b2
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jul 1 13:06:35 2019 +0200

    Parse multiline conditional and %include parameters correctly (#775)
    
    Trailing '\' after multiline conditionals or %include will be trimmed.
    After the patch lines like:
    
        %if 1 && ( 2 || \
        3 )
        %endif
    
    will be parsed correctly. The other lines stay unchanged.
    A test is added.

commit 7a227533d1342dccc5b3717554a35dbe2baa9832
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jul 4 09:05:41 2019 +0200

    Raise an error if reading a file during rpmbuild fails (#776)

commit 7131d84ecfde5147ccbf016c609e21a5ae01d072
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jul 4 15:15:41 2019 +0200

    Print newline after "failed to load macro file" error is emitted

commit 4b15a9e48bd3d4bef96e8a8865044346be20d6dc
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Jul 7 04:21:23 2019 -0400

    Do not set RPMTAG_BUILDTIME to SOURCE_DATE_EPOCH when defined by default
    
    Since b8a54d6a1e9bb6140b6b47e23dc707e4b967537e, when SOURCE_DATE_EPOCH
    is set, RPMTAG_BUILDTIME winds up being set with that value. This is
    not always desirable, particularly if you are using the build time for
    filters and evaluation in certain types of package release pipelines.
    
    This is an adaptation of the downstream patch in SUSE's rpm package
    written by Michael Schroeder intended to address SuseBug:1087065.

commit e672ec2ad8ff5821bd4e00b89748a1b4870556b7
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Jun 26 08:43:25 2019 +0200

    rpmbuild: Generate src.rpm with dynamic BRs with --force
    
    There is no way to get src.rpm with dynamic BuildRequires without
    checking dependencies on the system. --nodeps always forces rpmbuild to
    write buildreqs.nosrc.rpm, but in some cases it might be desired to get
    src.rpm with dynamic BRs but without checking for dependencies.
    
    Closes: https://github.com/rpm-software-management/rpm/issues/760
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 311815bdd3ecdc24c913b5072449c422271e7863
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jun 27 12:17:31 2019 +0200

    Change %set_build_flags to check the existance of the %build_XXX macros

commit 7c520be4dac2025806fe86d6a8c2c8a663f0ac9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 26 16:02:25 2019 +0300

    Bump version to mark the beginning of new devel cycle

commit bf1cfd68ab17c4e94d3ce52a85dd2a263c0ad00d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 26 16:55:20 2019 +0300

    Watch out for char signedness when checking for printable
    
    Commit ee3126dd3d4ca609f254ac5d647c9ff3e413e9dd added an innocent
    looking check to ban characters below < 0x20, but char is signed
    so it ends up banning the whole upper range too. Cast to unsigned
    and add a comment as a reminder. Thanks to Michael Schroeder for
    pointing this out!
    
    Fixes ee3126dd3d4ca609f254ac5d647c9ff3e413e9dd

commit 09d181d78c16e1751779586c606e85c11f360407
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 25 18:04:20 2019 +0200

    Use newline as a delimiter to avoid xargs messing up file names with quotes
    
    which is the default behaviour otherwise.
    
    Fixes rhbz#1721348

commit ee3126dd3d4ca609f254ac5d647c9ff3e413e9dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 26 15:09:45 2019 +0300

    Ban unprintable ASCII control characters in filenames
    
    While technically legal in unix filesystems and easily handled in C code,
    the sanity of using things like bell characters in filename is a whole
    different matter, and hard to get right in our surrounding scripts.
    
    One case in particular is our dependency generator which expects files
    to be separated by newlines, so we couldn't fix that without breaking
    the depgen "API" even if we wanted to.
    
    Sanity demands banning the unprintable crap. This bans anything below
    ASCII space character, and DEL. UTF-8 can contain other unprintable
    material but lets not go there now...

commit b44e7c36432f7f9839aeea3fdf4e3fd4a25d1271
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Jun 25 14:36:08 2019 +0200

    Use a rpmtsPrunedIterator iterator in markReplacedInstance
    
    This brings the code in sync with checkProblems() fixing errors
    that happens when an erase element exists for an install of a
    package with an identical NEVRA.
    
    Use "rpm --reinstall --replacepkgs" to reproduce on the command
    line.

commit 9c03c55ce13e49327ffd8bee461fd4f5db28f33f
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Jun 24 16:42:03 2019 +0200

    Clear the "mi_sorted" flag when adding to an index set
    
    The code that makes use of the index set does a manual sort
    call, so having a wrong value did not cause harm in the past.

commit 464d21dc8c176222c6586e2ee503fec6207f0d29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 20 11:53:19 2019 +0300

    Fix build with --disable-openmp
    
    AC_OPENMP supports --enable/disable-openmp out of the box, but as it
    only sets OPENMP_CFLAGS *if needed by the compiler to support openmp*,
    it's utterly useless for conditional building. And because AC_OPENMP
    doesn't set $ac_cv_prog_c_openmp to anything if --disable-openmp was
    used, we need to test that it's neither empty nor unsupported to
    determine if we actually have openmp, in order to set an autoconf
    define that we can actually use to conditionalize aspects of the
    build on. Argh.

commit 453e7afa406168b83b1f3244db4a096f247a76b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 20 15:07:12 2019 +0300

    Fix excessive use of thread local storage (RhBug:1722181), part II
    
    This essentially reverts commit ff43d03d1f9686c9ffa9232a64e253783309feb5
    which made these all thread local. It might not be quite right, but then
    using TLS is not sensible either - threads have their own signal *mask*,
    but disposition is global, and most of what we do here is global anyway.
    In addition, the signal queue is only enabled in places where threads
    are not used (or would not be safe anyhow) so reverting for now seems
    the lesser evil.

commit 0fd720b1f0d3ec733dc1592bb3a7131e899c246b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 20 13:50:23 2019 +0300

    Fix excessive use of thread local storage (RhBug:1722181)
    
    Commit 6487e873f3169c2bffbd52808b6c749e6c104ff5 introduced a thread local
    BUFSIZ static buffer for header format error reporting but thread local
    storage is apparently a rather scarce resource (on some architectures more
    so than others) and a static buffer is highly excessive use of that resource.
    
    Use a thread local pointer to dynamically (re)allocated buffer instead.

commit 4c8b584074061c606883ce3f18c8c9024d8610f5
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Thu Jun 20 11:03:40 2019 +0200

    Canonicalize Python versions and properly handle != spec
    
    Fixes https://github.com/rpm-software-management/rpm/issues/639

commit 44180fc7400ea8e67a13c5581459ad13f1d14103
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 18 13:10:55 2019 +0300

    Implement %dnl (discard to next line) macro primitive for comment use
    
    There has been no way to add comments to multiline macros, and while
    spec files technically support #-commenting at beginning of lines, it
    does not apply to all sections and causes generation after generation
    of packagers to stumble on the same items over and over: macros
    are expanded within spec comment lines, which makes commenting multiline
    macros such as %configure annoying, comments inteded for scriptlets
    end up being in the previous scriptlets body, and numerous other quirks.
    
    This implements the M4-inspired %dnl macro primitive which literally
    discards everything until the next newline (or end of string), without
    expanding the contents. This allows comments to be used inside multiline
    macros and everywhere in spec.
    
    Caveat: in some places such as %description the newline doesn't actually
    get discarded but this is a a spec parser issue, not on the macro side.
    
    Closes: #158

commit 07395fbe9d7a69f969b0d1332c16a813731599ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 19 14:49:04 2019 +0300

    fixup! Handle .debug_macro in debugedit.

commit 00a0afd5e079a73ef6871f1538f34fa4e67892e6
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 17 11:23:26 2019 +0200

    debugedit: Make sure .debug_line old/new idx start equal.
    
    Found by running the debugedit tests under valgrind.
    If the old and new .debug_line offset isn't changed then we might
    write out an uninitialized new_idx.

commit 201a71ce18734b1cebc337225f345fd754a6414f
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 17 11:23:25 2019 +0200

    Handle .debug_macro in debugedit.
    
    When compiling with -g3 gcc will generate a .debug_macro section
    which has pointers to the .debug_str section. Since we might rewrite
    the .debug_str section, we also need to update any .debug_macro
    pointers.
    
    Updated the debugedit.at testcase by building everything with -g
    and add various checks to see the .debug_macro section looks OK
    after running debugedit. Added a new rpmbuild.at testcase to check
    handing of .debug_macro in the whole rpmbuild debuginfo pipeline
    to double check the separate .debug file also contains the macros.
    
    Original patch by Michael Schroeder <mls@suse.de>. Extended by
    Mark Wielaard <mark@klomp.org> to deal with relocations and possible
    multiple COMDAT .debug_macro sections.

commit ce6e8556a8f93327d6de0446f21ac5e549861d82
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 17 11:23:24 2019 +0200

    debugedit: Refactor reading/writing of relocated values.
    
    This refactors the reading and writing of relocated values into seperate
    helper functions (setup_relbuf and update_rela_data). It will be easier
    to reuse this code in case we want to read/write relocated values in other
    sections than DEBUG_INFO. The only functional change is that we explicitly
    track whether the relocation data is updated, and only explicitly update
    and write out the relocation data if so. In the case there were no strp
    or stmt updates, there will also not be any relocation updates, even if
    there is relocation data available.
    
    All new debugedit testcases pass before and after this refactoring.

commit b0147ecc9ba5d8f81b4176af2e1adc019521c920
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 17 11:23:23 2019 +0200

    Add some debugedit tests.
    
    debugedit didn't have any direct tests, it was only tested indirectly
    through some other debuginfo testcases.  So add some testcases that
    just test debugedit functionality directly.
    
    The tests create different kinds of ELF files (object files, partially
    linked files and executables) and run debugedit path replacements on
    them, checking that the resulting .debug_str, .debug_info and .debug_line
    sections look sane.
    
    Testcases verified against various different gcc and binutils versions.
    gcc 4.8 and gcc 6 generate slightly different .debuginfo
    
    Also add debugedit --version. Which makes it easy to see we are
    testing the correct version/install of debugedit in rpmtests.log.
    
    Adjust autotest paths to include rpmlibexecdir, where debuginfo
    is installed.  Note that rpmlibexecdir != libexecdir (see rpm.am).

commit 0c6a9841a7b03ac80b2289cf7f7bb36458c93d1b
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 17 11:23:22 2019 +0200

    Add some color to the tests if available and the terminal supports it.
    
    While working on some new testcases it helped to see the test results
    in color. We could all use some extra color while working on dull
    tasks.

commit cc1965ce3acaa7d9356b7671050a15e2cda2f424
Author: nickclifton <31441682+nickclifton@users.noreply.github.com>
Date:   Wed Jun 19 12:45:09 2019 +0100

    Add step to find-debuginfo.sh script to compress annobin notes.
    
    With the introduction of the annobin gcc plugin to the build process,
    built binary files have become larger.  Sometimes significantly so.
    This is a patch that adds a new step to the post-link process performed
    by rpmbuild, to run the objcopy program with the --merge-notes option
    specified.  This will reduce the size of the annobin notes in binary
    files, thus alleviating the size growth.

commit 2dbf2f2f915d3abc8dabe6b625ac26a54d74a447
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 13 12:23:58 2019 +0300

    Drop bogus condition from header index allocation
    
    We always allocate the index here as should be obvious from the code,
    the condition is a leftover that might've been relevant in the turn
    of the millenium but not anymore.
    
    This construct confused clang into thinking there's a NULL pointer
    dereference at the end of a long callchain (maybe because the indexlen
    argument is signed so if you passed in -1 as indexLen... but fixing
    those int32_t's is another story)

commit a9ef23a0d26012fa6512e5aafc9553f9754545be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 13 12:41:02 2019 +0300

    Don't fail build trying to kill a non-existent process (RhBug:1720143)
    
    The job killer introduced at 06953879d3e0b1e9a434979056d1225ab4646142
    failed to take into account the fact that the processes *can* die between
    us grabbing the pids and actually killing them, and that trying to kill
    a non-existent process will cause a script running with -e to actually
    terminate an error. So we end up failing a successful build by trying
    to kill process that exited on its own, ugh :)

commit 929c61e7507d2132c5263f567ccce89f2090f8a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 12 12:59:42 2019 +0300

    Fix rpmVerifySignatures() passing garbage as verify flags in rpm >= 4.14
    
    Commit a239ddefa90575ce80ed4436beb4005a97e32644 changed rpmpkgVerifySigs()
    to accept fine-grained vsflags instead of query/verify style
    nosignature/nodigest hammers, but rpmVerifySignatures() didn't get
    updated accordingly. This will cause most unexpect behavior (in particular
    in 4.14.x), for example QUERY_DIGEST which was used for disabling all
    digest verification was defined as (1 << 19), which happens to be the same
    as RPMVSF_NORSA which is how it would now be treated. Similarly confusion
    with VERIFY_SCRIPT becoming RPMVSF_NODSA etc.
    
    Just use the transaction verify flags instead, and mark the qva argument
    as unused. It's an API change but that's okay in 4.15, and it's also an
    explicit breakage at compile time (due to those DIGEST/SIGNATURE symbols
    removal). In 4.14.x this is a regression but can be fixed within the API.

commit afe4989ca88d8e8fe9317f696f4a66aa7ae37498
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Tue Jun 11 14:22:07 2019 +0200

    build: Limit copying changelog one at a time
    
    Getting header content in multiple threads is causing problems since it
    can (and apparently does) change internal state.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 9feccb071fdab828d3ebe39ff18c624ef0f540dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 10:47:41 2019 +0300

    Make dynamic buildrequires test arch independent
    
    Closes: #741

commit 526641ceeca12fbaa878401f8e65d17f240a9ae5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 10:50:01 2019 +0300

    Only permit one thread at a time in addFileToTag()
    
    When creating packages in parallel, more than one thread can call
    this at once. As it's modifying global macro state to update file
    name and line number, things will get garbled if we permit more than
    one thread.
    
    While this is necessary for the above reason, and should fix #742,
    it shouldn't crash even without this so there's probably something
    else wrong too.
    
    Closes: #742

commit c5e57656fd53af107d4b6a8ebd3c2485629a909a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 7 13:12:18 2019 +0300

    Use a pre-determined buildhost in test-suite to avoid DNS usage
    
    A misconfigured DNS can cause bogus test-suite failures and hideous
    slow-down for no reason of our own. Use a preset, predictable
    buildhost name to avoid such issues.

commit a071f1d0dfcb801c5cf11cc2d716abfa23f8c1ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 5 15:04:18 2019 +0300

    Bump soname in preparation of 4.15.x branch
    
    We've removed and changed a few dark corners in the API so unfortunately
    soname bump required.

commit 6fa65c83ee61b460473e28be02d1e479e15c7d44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 5 14:51:58 2019 +0300

    Update translations from Zanata

commit 91eb6b7f55b44f0107f8885232ba586ead66b598
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 3 23:28:51 2019 +0200

    Skip tests that use lua (indirectly) when configured --without-lua.
    
    The rpmbuild.at autosetup test uses lua indirectly and the rpmscript.at
    basic script failures 1 testcase uses lua directly. Skip both when
    lua isn't available.
    
    With this patch and configure --without-lua the test results will be:
    
    383 tests behaved as expected.
    113 tests were skipped.

commit d501cbade5567a223303ce4ba280b1d14224d32e
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 3 23:28:50 2019 +0200

    Fix --without-lua build.
    
    commit 62bd62 "Add a rpmlua wrapper function for registering libraries"
    moved the rpmluaRegister function definition into rpmio/rpmlua.h and
    added an #include <lauxlib.h>. This made that file not compile anymore
    when lua-devel isn't installed and configuring --without-lua. Even though
    that function isn't compiled or used when not using lua with rpm.
    
    Fix this by wrapping both the include and the function definition
    in #ifdef WITH_LUA.

commit 9aae21d7610a7e8067ae932f36d1c8bb8583fe59
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Jun 5 06:07:00 2019 +0200

    Use [ ] in condition to avoid sub processes in find-debuginfo.sh (#735)
    
    Introduced in commit 1da9e83, spotted by covscan.

commit 592a99344bb4c9575284f1002f99388efafde39f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 4 13:04:47 2019 +0300

    Rename variable to make its usage and the surrounding code clearer
    
    Since commit 8f8fe718413a4066ecc6718f92091d9e87a2d443, this array
    is only used for checking for non-existent digest. No functional changes.

commit 143b9ead7ffd7ab234ace05f25c6d1de1d700a7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 4 13:00:59 2019 +0300

    Fix --signfiles regression introduced when refactoring
    
    Commit 8f8fe718413a4066ecc6718f92091d9e87a2d443 changed file signing
    to use the readily available binary digest from the file objects
    instead of recalculating it from the header, but missed one teeny
    weeny detail, causing us to pass an array of zeros to be signed on all
    files.  Oops.
    
    Closes: #723

commit 733babe7cb2621809fb57929b6eb5da8353a7cb9
Author: Howard Johnson <merlin@merlinthp.org>
Date:   Tue Jun 4 22:39:00 2019 +0100

    Remove unused target variable from rpmspec.c
    
    Commit d2f48e93d32e222d4727b9684d2032f9bb9fc498 moved the --target
    argument to be global, but didn't completely remove the local target
    variable from rpmspec.c, or the code that used it to trigger re-loading
    the rpm configuration files (which is now handled by the global argument
    callback in poptALL.c).

commit 74033a316520aa7877f62e39296f293b7d4493e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 16:29:16 2019 +0300

    Drop leftover popt.h include from rpmlib.h
    
    Pointed out in #724, including popt.h is in no way necessary for rpmlib.h
    or using librpm in general, only the rpmcli API needs it.

commit 0720d49a11889ba7009f7a74a86cee9cbc90b51b
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 2 20:46:01 2019 +0200

    doScript: Restore good old message when scripts fail
    
    Following snippet from buildlog is not helpful to user:
    
    […]
    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.FqlMc8
    […]
    + exit 1
    error: Exec of /var/tmp/rpm-tmp.FqlMc8 failed (%prep): No such file or directory
    
    Previous rpmbuild versions returned:
    
    […]
    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.epLFi2
    […]
    + exit 1
    error: Bad exit status from /var/tmp/rpm-tmp.epLFi2 (%prep)
    
    So let's restore good old version of a message.
    
    References: https://github.com/rpm-software-management/rpm/issues/728
    Fixes: 18e8f4e9b2dd170d090843adf5b5084658d68cf7
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 30b1f55d0c06072acb5807ec10dacbe40b3c8a00
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 2 18:29:36 2019 +0200

    rpmfc: Return failures in rpmfcExec
    
    Also, emptying stdout if it was requested does not make sense when
    command fails. Usually, if command fails, you still might want to see
    the output and use it somehow.
    
    References: https://github.com/rpm-software-management/rpm/issues/728
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 3a4579d8e061a48da3824d1360f6e1d437439a93
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 2 20:42:30 2019 +0200

    rpmfc: '/bin/sh failed: 100' should go to DEBUG
    
    When getOutputFrom() is set to fail with non-zero return code, it should
    not dump non user-friendly (no context, no user return code) message
    into a terminal.
    
    error: /bin/sh failed: 100
    
    References: https://github.com/rpm-software-management/rpm/issues/728
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 4c2b3f25f63d9631cd997ede41a567aefe1598db
Author: Howard Johnson <merlin@merlinthp.org>
Date:   Mon Jun 3 11:44:24 2019 +0100

    Rename rpmqv.c to rpm.c, as it's the main source for the rpm command

commit ddb8d7b3cf2e7b66a45754a41a45bcdda37ad3b8
Author: Howard Johnson <merlin@merlinthp.org>
Date:   Mon Jun 3 11:22:41 2019 +0100

    Remove IAM_ macros left over from the "helper" rpm binaries

commit f0f2451866a5ebb4524e76e92e6f4fb81bfabc35
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 2 19:38:21 2019 +0200

    Stop immediately if there is a problem with Source
    
    First issue is that doUntar() when encounters an issue related to the
    spec file, returns non-NULL which indicates that no error has happened.
    Second is that even if it would return that, parsePrep() is simply
    ignores return code.
    
    Also be more consistent with "goto exit;".
    
    Fixes: 76c429c3178c965c6517629957a633768132904c
    Fixes: c7a8c1e079d2a166b9848ae6afa1b0cfab1b250a
    Fixes: https://github.com/rpm-software-management/rpm/issues/728
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 595c4f274084e1afff74c3211b0bee3bf6a9b3cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 12:30:07 2019 +0300

    Run full distcheck as the CI test for wider coverage
    
    Unlike plain "check", this will catch regressions to out-of-tree builds,
    source files present in git but missing in tarballs, etc so they are
    found when introduced instead of pre-release heat.
    
    To make this work we need to move the working dir inside docker away
    from /opt, the combination of root user and distcheck blows the our whole
    directory away at some point and things dont work so well after that.
    
    In addition, rpmtests.log is no more in a nice and easy location
    because it's failing somewhere inside the nested build thingie, so
    try to find it...
    
    We also need a few more packages installed now: git for the changelog
    and doxygen for api docs. And ima-evm-utils-devel to build the plugin,
    not the utils.

commit 7e4472159b173e09c7e6758eac61036d12dddbf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 12:12:43 2019 +0300

    Fix defunct gpg-agents lingering around after test-suite
    
    There appears to be a some sort of race inside make distcheck where
    the second run of the test-suite gets stuck trying to kill the gpg-agent
    of previous run, it seems to close the connection but then gets
    "connection reset by peer" error, drops into the gpg-connect-agent prompt
    and refuses to die. My theory is that this has to do with distcheck
    nuking the directory in between but that's just a theory, I can't
    reproduce this locally to debug properly.
    
    The simpler approach of "gpgconf --kill gpg-agent" appears to help
    it not getting tangled up in its own feet, but lets not leave those
    agents spying around after the test-suite completes to begin with.
    Leaving the initial gpg-agent shutdown in place to cope with situations
    where the test-suite is aborted (ctrl-c or such).

commit 390befdae26a495696c5064fc76710c66a0acac9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 3 13:29:46 2019 +0300

    Don't allow test-suite failures inside distcheck either

commit a03350c8f72b3c39aac14e1c98f039ef2032efb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 16:52:04 2019 +0300

    Enable all our configure options during distcheck for maximum coverage
    
    Additionally run distcheck with --disable-dependency-tracking to speed
    it up a little.

commit 096ec07465f6d223a1e9d68b688889e2fab103f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 16:50:27 2019 +0300

    Include file capability test material in dist tarballs
    
    Another distcheck regression fix, should've been in commit
    ad8c12c5d962c136232d6309d3324a4e57b32877

commit c4f7f871e0d0b7faaaa16e93736b8dd39db200e2
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jun 2 15:47:42 2019 +0200

    python: Reference proper spec-py.c filename
    
    Fixes: 73a41da965337aaacabd53924f1b67b967e0476e
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit e071252d81dd1b3121a09c2641c283fdc80ddfee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 14:39:08 2019 +0300

    Include dynamic buildrequires test material in dist tarballs
    
    Should've been in commit 58dcfddc376a7c97de1432f0082be0d5f01adbcd

commit d5f201345f6d27b6280750e5c6502f4418614fbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 12:09:20 2019 +0300

    Fully shutdown DBUS on systemd_inhibit cleanup (RhBug:1714657)
    
    dbus_shutdown() frees internal DBUS memory allocations that will otherwise
    show up as memory leaks. This is of little consequence in practise
    but shuts up valgrind...

commit 475af64f64cbc210c87588d425fa9a14cd9760b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 29 11:38:53 2019 +0300

    Fix rpmfiles memory leak on %postuntrans file trigger preparation

commit 7ad282087defeb3604ee10215255cb8b4927dfff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 28 10:52:21 2019 +0300

    Enforce utf-8 encoding by default

commit 58dcfddc376a7c97de1432f0082be0d5f01adbcd
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Oct 26 10:30:47 2018 +0200

    Add support for dynamic BuildRequires
    
    Supports new %generate_buildrequires section in the spec file which is executed
    after %prep. Stdout is captured and turned into BuildRequires. These are then
    checked. If they cannot be fulfilled a source package is created with all
    BuildRequires and the build is terminated after that.
    
    rpmbuild has now the following new build modes -br, -tr, -rr and exits with 11
    if build requirements are not met.
    
    That means for users:
    * No %generate_buildrequires
      * rpmbuild -br is equivalent to rpmbuild -bs
      * rpmbuild -br --nodeps is equivalent to rpmbuild -bs
    * %generate_buildrequires
      * rpmbuild -br will check dynamic BuildRequires
        * Satisfied → src.rpm
        * Unsatisfied → buildreqs.nosrc.rpm
      * rpmbuild -br --nodeps will always generate buildreqs.nosrc.rpm
    
    Source packages contain
    Requires: rpmlib(DynamicBuildRequires) <= 4.15.0-1
    if the spec contains a %generate_buildrequires section and
    Provide: rpmlib(DynamicBuildRequires) = 4.15.0-1
    if the results been added to the source package.
    
    Co-authored-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit d0754b4f2c97203e593152ba8ef14d8370ace6f5
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri May 24 10:55:56 2019 +0200

    Do not redirect command output to /dev/null in non-verbose mode
    
    The output is going to be needed Dynamic BuildRequires.
    Just do not duplicated to stdout if verbose mode is not enabled.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 11c56d5aaa57127762d33fabe430d3867512182e
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 15 14:00:59 2019 +0200

    Move check for build dependencies out of rpmbuild.c and into build/build.c
    
    Exit with return code 11 on missing build dependencies.

commit dd17c738c635322cc24ea23f258effc8dec2f756
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 11 13:26:55 2019 +0200

    Pass rpmts object to rpmSpecBuild()
    
    Add rpmtsFromPyObject
    No functional change. Needed to move BuildRequires check to librpmbuild

commit 20437af6a23424029c70a94de5d5ec86cf23ee96
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 23 11:26:38 2019 +0200

    doScript: Add sb_stdoutp param to allow getting the script output

commit 6f3f91599d51627b1630258dd00e98f673d51cf2
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 10 12:01:02 2019 +0200

    Make freeSources() available internally

commit c49a67bbac243bc81b1521d1cf2ca8eb92c774f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 27 09:58:27 2019 +0300

    rpmdbIndexIteratorPkgOffsets() const correctness
    
    rpmdbIndexIteratorPkgOffsets() returns pointer to memory owned by the
    iterator so it needs to be const.

commit d1ebf65598767a7c1806fb339d34c697e60ea9dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 13:23:05 2019 +0300

    Implement a database cookie API for determining whether rpmdb has changed
    
    Add rpmdbCookie() public function and matching python bindings.
    The returned value is an opaque string which changes any time the rpmdb
    is changed (eg packages added or removed, rebuild changes things etc).
    A key point is that this is entirely database backend agnostic.
    
    The actual implementation here is an SHA1 hash of RPMDBI_NAME keys and
    the corresponding package offsets, but this is an implementation detail
    that can be changed anytime and callers must not rely on. The only thing
    that matters is whether the string equals an earlier cookie value or not.
    A cryptographic hash seems like an overkill, but then it saves us the
    headaches of coming up with something that reflects order changes etc.
    
    Closes: #388

commit 1d6fde768cf4ca731e1afcd2ad67bdd5bb2e6742
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 15:57:08 2019 +0300

    Un-inline utf8FromString() python helper now that we can
    
    Since commit 73a41da965337aaacabd53924f1b67b967e0476e this doesn't need
    to be inline with murky linkage across different modules. With this,
    it'd now be possible to add some central control too if we wanted.

commit dbb12c6231707830d8fbdd1fd58249f3eb784f8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 14:19:15 2019 +0300

    Drop unused rpmtd python object remnants
    
    Should've been in commit 71ff0b7e7357061ef993655438260c2ca336edb9
    but better late than never.

commit 3cc55f7b6d1ed0466180b13eabc7daf7335c1cd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 14:12:15 2019 +0300

    Drop now unnecessary PyCapsule foobar from python spec bindings
    
    Since commit 73a41da965337aaacabd53924f1b67b967e0476e we don't need
    to import rpm or wrap our headers through capsules since its all in
    one module. Good riddance, including the capsule wrapping in header
    creation which was an anomaly wrt reference counting too.
    No functional changes.

commit e3196e07334049017054b1d3da9b27655d4fd815
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed May 22 15:27:22 2019 +0200

    Add tests for %elif, %elifos, %elifarch

commit 1c4b238840d0995344d0d0381a0561b213429203
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed May 22 13:45:07 2019 +0200

    Supported operators: %elif, %elifarch, %elifos.
    
    There may be several %elifs within the same %if statement.
    They must be placed after %if and before %endif and %else
    (if %else is contained). The first %elif expression (if any)
    that evaluates to TRUE would be executed.
    
    In scope of %if you can use any of the new operators - %elif, %elifarch,
    %elifos. Similarly for %ifos, %ifnos, %ifarch and %ifnarch.
    
    The expression after %elif (resp. %elifos or %elifarch) is expandedd iff
    the expression can influence the execution of the %elif branch.
    E.g.: an %elif expression after the first %elif expression that
    evaluates to TRUE is not expanded.

commit 5c3f3323d06122499dfd800bb0e78bc50d138576
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed May 22 13:44:29 2019 +0200

    Make "Bad %if condition" error message more general and
     informative
    
    The original message like e.g.:
    
    error: /data/rpmbuild/SPECS/iftest.spec:8: bad %if condition
    
    is changed to
    
    error: /data/rpmbuild/SPECS/iftest.spec:8: Bad %if condition:  nonsense-3
    
    Preparation for %elif.

commit 6472555ac69665128295072b12465f50330dad8d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed May 22 13:43:11 2019 +0200

    Consolidate %if condition parsing to one place
    
    No functional change

commit a5d7c6caf7993368df6753191119e51c6801cb06
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed May 22 13:41:51 2019 +0200

    Use already detected line type to identify %if lines
    
    No functional change, preparation for %elif.

commit aa095c1590517c0ed619f4b072c364f53898860a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 12:32:18 2019 +0300

    Report filename and line number on all spec macro expand errors and warnings
    
    Previously we reported line and its number on actual spec line
    expansion warnings, and filename + line on other (manifest etc) expansion
    errors. So it was inconsistent and for warnings we emitted no source
    information at all, but those are just as hard to find.
    
    Using the mechanism from commit d81c6e17c188ca346e95fb8fd37bdb649c22857f,
    arrange __file_name and __file_lineno to be always defined to proper
    values for spec itself, includes and manifests so we get consistent and
    informative messages for all spec-related expansion errors and warnings.
    
    All this pushing and popping obviously has some cost, but even on the
    > 200k line texlive.spec monster we're only talking about 0.2-0.3s penalty
    to original ~3.2s runtime on this ancient laptop. On normal specs this is
    not measurable on wall clock at all.
    
    Closes: #491

commit 20797ad209f6755e3fd7c5e319a21787f9d56780
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 12:26:58 2019 +0300

    Report file name and line number on all macro file errors and warnings
    
    Report file name and/or line number on macro errors if %__file_name
    and/or %__file_lineno macros are defined, arrange them to be
    appropriately defined when loading macro files. Drop the former per-file
    failure counting as its no longer useful. Add a testcase.

commit 3a87f969d373bf7bfedec96d9cf8e34da16f54d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 12:13:41 2019 +0300

    Return number of read lines from rdcl() macro helper
    
    rdcl() reads line continuations so its useful to know how many
    physical lines it read. The returned buffer was never used by anything
    so no actual behavior changes here, but we'll need this shortly.

commit 05366596a6bd613ccbe22dd2376df3cab169e030
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 09:38:29 2019 +0300

    Consider macro file load fail on any errors
    
    The previous "only fail if everything fails" behavior from commit
    f7aff1193e7a27b631030f332ecfe87046853903 is just too arbitrary to live.
    If there was a failure, it failed. Period.

commit d86c0c28ab74686c59c81a38d04210f70456ce63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 09:02:58 2019 +0300

    Consolidate macro error reporting to a helper function
    
    No changes to messages or other behavior here.

commit d9dbd6ece3ba94d41c1b720565a26e50ac6757e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 17 08:50:10 2019 +0300

    Add a local vasprintf() clone rvasprintf() to match rasprintf()
    
    Every now and then you need the v-version instead, and now rasprintf()
    implementation comes practically free on top.

commit 41f0e214f2266f02d6185ba11f797716de8125d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 8 17:06:21 2019 +0300

    Run file classification in parallel threads
    
    Our file classification is not exactly in large quantities. Fedora's
    kernel-debuginfo-common has circa 25000 files, and classifying them
    serially takes about a minute on my rusty old T520. With parallelization
    this goes down to ~24s.
    
    It's all remarkably simple, except for the fact that libmagic is not
    thread-safe so we need separate magic handles for each of our threads.
    This will leak those libmagic handles on error situations, I don't see
    any obvious, nice way to handle that.

commit 18c92e6fe76df334fed8d5f04b5f40b776daba8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 14:34:01 2019 +0300

    Run binary package generation in parallel threads
    
    It's worth noting that this really is walking on thin ice as only few
    parts of rpm are thread-protected. The spec is entirely unprotected so
    must be accessed only for read-only purposes from parallel jobs (and
    we should work towards enforcing that via const-correctness and other
    protection as needed), and similarly the package struct and headers
    are unprotected so they can only be manipulated within a single thread.
    
    Based on initial work by Alexander Kanavin in PR #226

commit 56662b1b1beaf8dc54cf4440ba352fa96e6b5e60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 14:29:48 2019 +0300

    Add infrastructure for OpenMP support in librpmbuild
    
    Enable OpenMP use in librpmbuild and set the number of OMP threads
    from rpm config after spec parsing. The place matters as we want to
    allow individual specs to control and disable parallel builds.

commit 272431d341631b7de623e109d74adbb673dcbe66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 14:28:13 2019 +0300

    Copy changelogs from src.rpm, not first binary package
    
    The comment has been wrong for more than twenty years...
    No functional changes here, but this will make a difference in the
    next commits.

commit 252db68c80b24ec8c8315b63077a886d0d4c7c6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 12:55:13 2019 +0300

    Remember package creation result in packages themselves
    
    No functional change, but we'll need this later.

commit 78f61f273fb2e84156d8bbe6d4e1a9e0828600cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 12:47:34 2019 +0300

    Refactor package set checking out of packageBinaries()
    
    Now that we can, split the "lets run something on generated packages"
    check out of packageBinaries(), it doesn't belong there at all. No
    functional changes other fix attempt to check non-built packages
    which return with no filename but RPMRC_OK from packageBinary().

commit 34e1d941d9979d6e96c7675fb668d29b126a8faf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 12:41:22 2019 +0300

    Remember the filename of built packages in the package struct
    
    No functional changes and doesn't make much difference here, but we'll
    need this later.

commit b58820e37ea88ae287ca926c7a59b31f719c49c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 12:09:42 2019 +0300

    Refactor filename generation and dir check out of packageBinary()
    
    These are clearly separate operations that deserve functions of their
    own, and this makes memory management nicer. In addition, in case
    the directory creation fails we now actually error out instead
    of trying to continue, and take care not to fail in case somebody
    created it behind our back. No other functional changes though.

commit 8202a23b5393e611fc41b90a558b2fd0cb28e548
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 11:12:08 2019 +0300

    Reindent packageBinary() to common rpm style, trim trailing whitespace
    
    Cosmetics only.

commit 429132cf0597c80077bce10108d2e407640d6317
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 20 12:57:34 2019 +0300

    Fix regression causing patch/source tags leaking to other macros
    
    Commit 6dafb24684baa71fe3b89be6404e6ab0362cf316 introduced a regression
    where patch/source (and likely buildroot and docdir too) values
    end up leaking to macros of other tags, due to missing reinitialization
    to NULL in the code.
    
    This only shows up in specs ordered in a specific way which is why
    our test-suite failed to trip it, but it caused eg Fedora attr.spec and
    kernel.spec to fail parse. Hijack the otherwise unused foo.spec to
    create a test-case for this.

commit 0b94223a181a89b9bf45346b8b022c7472f1641c
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Sat Apr 13 06:35:16 2019 +0200

    Test correctness of conditionals ordering in one place
    
    The ordering of conditionals is tested according of data
    in structure branchTypes. It makes the test well-arranged.
    Moreover the error for using %else after %else is added.

commit 9846d0463a5a8878c28a2dda7c168fc263a90e86
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue May 14 12:06:34 2019 +0200

    Add documentation for %getncpus macro

commit a144c29831a39ed303d6ea8d2ae91e1c36d64c84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 15 13:51:19 2019 +0300

    Fix packages getting erased on failed update with dnf (RhBug:1620275)
    
    When adding update elements, we set the erase element to depend on the
    install element, but if an API user adds the same erasure manually
    after adding the update, we know its a duplicate erasure and filter
    it out, BUT we zero out the dependent element in the process. And
    if installing the update now fails, we end up removing the whole package
    due to that missing dependent element.
    
    This never happens with rpm itself so we can't easily test it, but is
    100% reproducable with dnf (at least dnf 3-4). Apparently it adds all
    erasures by itself (which is kind of understandable I guess, perhaps
    we should better allow this in the API)

commit 8da6654e3afb5d9d3c7b0db2f0689b0ef097f175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 12:32:00 2019 +0300

    Add support for %patchlist and %sourcelist spec sections
    
    This introduces two new spec sections, %patchlist and %sourcelist,
    which can be used for adding patches and sources by just listing their
    names instead of all the tedious Patch[n]: etc boilerplate, you can
    just copy-paste file names into the list, the entries are always
    autonumbered, eg:
    
        Patch0: popt-1.16-pkgconfig.patch
        Patch1: popt-1.16-execfail.patch
        Patch2: popt-1.16-man-page.patch
        ...
    
    can now be replaced with
    
        %patchlist
        popt-1.16-pkgconfig.patch
        popt-1.16-execfail.patch
        popt-1.16-man-page.patch
    
    Typical packages have far fewer sources than patches, so %sourcelist
    is not as immediately useful but added anyway for symmetry and because
    its so easy.
    
    As of this commit, there can be multiple instances of both kinds of
    lists because there's no technical reason to limit it, new lists
    just add on the existing entries.

commit 3c284aac631e516221a6ec3860ada1584052ecac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 11:55:59 2019 +0300

    Make spec line usage optional in addSource()
    
    Makes it possible to feed patch and source names directly to
    addSource() using autonumbering without looking at an existing
    spec Patch[n] or Source[n] line. In addition, make addSource()
    available within librpmbuild.
    
    No functional changes here, but needed for the next step.

commit 1b0aefbd82722e289164bc06153b908fba112399
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 14 13:55:52 2019 +0300

    Fix use-after-free introduced in 0f21bdd0d7b2c45564ddb5a24bbebd530867bd54
    
    Unlike typical fooFree() functions in rpm, Fclose() doesn't set the
    pointer to NULL so there's a use-after-free in checking for Ferror()
    that segfaults and stuff. Delay Fclose() until the end so we actually
    catch io errors too, that was another thing that went missing in
    commit 0f21bdd0d7b2c45564ddb5a24bbebd530867bd54 (although it would've
    probably caused an error via null digest instead)

commit 8deb9bb0ade358cafc47e8f9bf43142aa37c5296
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 14 11:41:36 2019 +0300

    Nuke useless doxygen strings from rpmfc internals
    
    Out-of-date and even empty doc strings are so not helping anybody at all...

commit 1ab6d56979fafeb3672916984ffae12862999dd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 9 14:00:24 2019 +0300

    Expand all relevant macros outside the per-file generator busyloop
    
    We need to expand these things once per file attribute, not per file.
    It saves a huge amount of huffing and puffing about, but doesn't
    show up on wall clock due to the generator script interaction being
    so dumb and slow. However, now we have the operation arranged in a
    way that would make smarter generator script running actually possible.

commit e33045e35c09cda530a9e665c367693e285b6511
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 9 13:37:25 2019 +0300

    Reorder dependency generator to run by type, attr, file
    
    Use a hash to store the attribute -> file mapping, run in
    dependency type, file attribute and file order.

commit 983be805e44c8fa8498eacd4ce6c898bd7907c47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 9 12:48:21 2019 +0300

    Optimize exclude handling in dependency generation
    
    Compile the exclude-regexes once per dependency type instead of per
    every file. Saves a huge amount of huffing and puffing about, but
    doesn't really show on wall clock as the time goes to even bigger
    stupidities.

commit 68cbbb08969135b84a316f3d02b85bd81e5a3612
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 9 12:00:36 2019 +0300

    Reorder dependency generation to run per type, not by file
    
    This doesn't change the amount of work we have to do in itself but
    is prerequisite for pretty much any optimization we could do.

commit dc5f3875c4b3933cac32c1becc6d4ab1b6981f55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 9 11:53:16 2019 +0300

    Refactor dependency generation logic from code to data structure
    
    No functional changes, but needed for next steps.

commit 8312d0a37733ede4602c086a35284c62e6c54ed9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 12:05:22 2019 +0300

    Revert "Allow packagers to specify individual scriptlets as critical"
    
    This alleged solution to the problem of not all scriptlet errors being
    reflected in our exit code is not a solution at all, it just pushes
    the problem to somebody elses lap and introduces inconsistency and
    an untracked incompatibility as well.
    
    This reverts commit 5455f02523a9b8583d5a942a6d97f1084f3093df.

commit 4dfe5e7a18459b3d149f833c36d22a588cc905cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 13 10:13:52 2019 +0300

    Only use user namespace if we actually need it for chroot()
    
    Since we don't have proper user/group info inside the user namespace we
    set up, avoid going there unless we have to. Fixes a regression introduced
    in commit b4c832caed0da0c4b0710cfe2510203a3940c2db where non-root,
    non-chroot verification shows user and group differing on all files.

commit 59aee7a198ea918d17f587e7fc2f8796c073c2d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 13:55:36 2019 +0300

    Eliminate the hysterical filesize retval from rpmDoDigest() now that we can
    
    This is of course an API change, but we're breaking API in a bunch of
    other places in this cycle too so...

commit 0f21bdd0d7b2c45564ddb5a24bbebd530867bd54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 13:10:00 2019 +0300

    Stop papering over the security disaster known as prelink
    
    Back in the turn of the century somebody thought it was a neat idea
    to completely compromise system security to improve program start-up
    start-up times a wee bit. Since then, people have thankfully started
    coming to their senses and removed prelink from distros entirely.
    
    Lets stop papering over the security disaster: we obviously cannot
    stop people from using prelink, but instead of trying to undo the
    damage for verification purposes, we'll now report such a system as
    compromised. Which is how it should be, IMNSHO.
    
    This eliminates a whole lot of extra junk from each and every file
    digest calculation that we do, so it might even show up on somebodys
    performance charts. It also gets rid of libelf dependency outside
    librpmbuild, which is a nice little bonus.
    
    Inspired by a patch to eliminate a rendundant double open of regular
    files in rpmDoDigest() from Denys Vlasenko, taken a little further...

commit 7ca03925d88d27266a4f8bec7a35e8c3b1117279
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 16:08:30 2019 +0300

    Only create macros for the spec tags where it makes actual sense
    
    There are numerous tags that have deeper internal logic, can appear
    multiple times and where the line of last occurrence doesn't mean
    anything at all, and is just confusing. Witness RhBug:555926 and
    ticket #689.
    
    Drop the macro creation for all dependency tags, build architecture-
    related bits and things where it just doesn't make any sense, like
    NoPatch/NoSource and AutoReq/Prov.
    
    In theory this could break somebody's spec somewhere out there but
    those usages would be better served by using custom macros instead.
    
    Closes: #689

commit 6dafb24684baa71fe3b89be6404e6ab0362cf316
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 16:05:22 2019 +0300

    Move the "tag is also a macro" logic from switch-case to the table
    
    No functional changes, just makes it much easier to follow (and change)
    which tags we create macros for, or not.

commit f0ae94b3979101f0fb4392585eacc3f8fc9412b6
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu May 9 15:05:18 2019 +0200

    Remove nonexistent macro "Q" from the table of builtin macros
    
    The macro was accidentally added in commit 9343ecd.

commit 3940c6f32e2a5564fdc009d1a6b9cc6df620cc9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 14:50:35 2019 +0300

    Split compiler flag out of %configure to separate %set_build_flags macro
    
    Not all the world is autotools based, mercifully. Let the other build
    systems benefit from the central rpm macros as well by splitting
    the XXFLAGS setting out of %configure.
    
    Based on Florian Weimer's work in Fedoras redhat-rpm-config macros.

commit 9a50846ceeef2add2344dd463c5562bd69496a23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 14:44:30 2019 +0300

    Adopt language-specific %build_fooflags macros from Fedora
    
    %{optflags} has been the catchall for all compiler options but this
    is quite limiting as there's no way to add for example C++ specific
    options distro-wide. This adds separate %build_cflags, %build_cxxflags,
    %build_fflags for the gcc-supported languages, and additionally
    %build_ldflags for distro-wide LDFLAGS setting.
    
    Based on Florian Weimer's work in Fedoras redhat-rpm-config macros.

commit df4f6a20c3bbf0d319643c17fb16364f64a1b10a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 10 11:59:11 2019 +0300

    Fix memleak in rpmfcApplyInternal() in standalone operation (eg rpmdeps)
    
    When called in spec context, the package structs are properly freed
    but in rpmdeps context, commit 49f2bb7d8fd91f2d8b22bf7128fd3defe4ed5434
    only added a "dirty kludgery" to make it not blow up. This causes
    the rpmds structures created in rpmfcApplyInternal() to leak memory.
    Make freePackage() internally available and use it for freeing the
    dummy struct too to fix.

commit 03909fc4d3b069c5b14c939d6250d6fc6332a9f8
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue May 7 12:21:51 2019 +0200

    Fix a buffer over-read of an unfinished macro "%{!" expansion
    
    Problem was in a buffer over-read of the memory right after
    the end of the allocated area when expanding of an unfinished macro
    starting "%{" that can contain only exclamation marks and question
    marks. Like "%{", or "%{!", or "%{??!".
    
    Similar problem as in commit 54f24ec5486bdacde9419466a2c27defaddf508e
    with the difference that this problem was not found by a memory
    sanitizer.
    
    This is a good opportunity to refactor the corresponding code
    (setting variables according to the number of exclamation marks and
    question mark after % an before the macro).

commit 57899bd3bfd8f310bde823df81db556b6fd606dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 7 16:01:47 2019 +0300

    Fix recently introduced uninitialized variable warning in rpm2archive
    
    Fixes "warning: ‘rc’ may be used uninitialized in this function"
    introduced in commit c73b0f34e32c299c87b7163352808d1071a05d2b.

commit f23af97c4135013d3134a17c881014fb6e9589c8
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 30 17:12:35 2019 +0200

    Make check-buildroot check the build files in parallel
    
    Thanks to Denys Vlasenko for pointing this out in rhbz#1704353

commit 9f486b3ce102edb5149d8e191d49c1b555dcd84b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 6 12:49:25 2019 +0300

    Drop leftover autotools-related macros
    
    The only real users were in the unused %GNUconfigure macro which was
    already removed in commit bb2cd52cf1067b9d18106f127a5034e2ad50db64 and
    these should've gone with them.

commit 1fd84fa0cfa6e493d1c15edfb7d9f0bb05e4f920
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 2 17:17:56 2019 +0200

    Fix brp-strip-static-archive parallelism
    
    The change made in fc2c986 can break for large values of %_smp_build_ncpus as
    this many processes are able to overflow the following pipe.
    
    Thanks to Denys Vlasenko for testing this.
    
    This change solves this problem by running a whole processing pileline for each
    parallel (file) process. This has also the benefit of running at least some
    stip commands in parallel.
    
    The -n param fro xargs was increased to 32 to further reduce the over head of
    spawing the helpers as they are now needed for each run of the file command.

commit 6913360d66510e60d7b6399cd338425d663a051b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 13:41:29 2019 +0300

    Continue patch/source autorenumbering from last specified number
    
    Fixes a regression on mixed auto vs manual numbered patches/sources
    introduced in commit 5fc4e1dd101b27eb8ed9526552c42bb809ac6790

commit c73b0f34e32c299c87b7163352808d1071a05d2b
Author: Robbie Harwood <rharwood@redhat.com>
Date:   Wed Apr 24 15:28:33 2019 -0400

    Fix rpm2archive behavior with multiple arguments
    
    If multiple arguments are passed to rpm2archive, convert them all to
    tgz.  (Previous behavior was to convert only the first one and
    silently ignore the rest.)
    
    Signed-off-by: Robbie Harwood <rharwood@redhat.com>
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 5718440bab8ed6c3e0d64c32a4e685b58bd9966d
Author: Robbie Harwood <rharwood@redhat.com>
Date:   Thu Apr 25 16:37:33 2019 -0400

    [tests] Remove extraneous arguments to rpmdiff/rpm2cpio
    
    Signed-off-by: Robbie Harwood <rharwood@redhat.com>

commit 73a41da965337aaacabd53924f1b67b967e0476e
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Apr 28 13:19:57 2019 +0200

    python: Merge all py modules
    
    The split is causing more and more issues over the years. It simply
    doesn't make much sense to split them. When using python-rpm, it doesn't
    matter whether it brings some additional tools like gpg because you
    already have python installed.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 5fc4e1dd101b27eb8ed9526552c42bb809ac6790
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 11:46:04 2019 +0300

    Refactor tag number parsing out of addSource() to a helper function
    
    Makes the code much easier to follow and paves way for the next steps.
    Also eliminates nasty tricks where we modify and restore characters
    directly in the spec line buffer. No functional changes.

commit 8c7eb5105c58b4b8fab9bda3b5f34e3915b7c08b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 11:31:17 2019 +0300

    Make parseUnsignedNum() return code more obvious
    
    Return a signed integer instead of unsigned one so its clear the
    return code is just that, and the actual number is via the pointer
    retval. Also having -1 as an error code is more obvious than 1.
    No functional changes.

commit 43f75229188f6d8fed662e50406835902eb37ae7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 11:33:27 2019 +0300

    Refactor source/patch download into a helper function
    
    Now that we easily can (because the on-disk path is in the source struct),
    refactor the download attempt into a separate helper and do it as the
    very last thing. Makes the code much clearer and actually fixes a
    memory leak on failed download as well.

commit 6e688f9e307e469fb86e9418746c4ad0b7c3c6a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 11:18:03 2019 +0300

    Refactor Lua sources/patches handling to a helper function
    
    No functional changes, just refactoring to cleanup.

commit 93604e2c3b8ed8a2b1ac77c4c43856e68b395c49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 11:14:13 2019 +0300

    Store source/patch/icon on-disk path in the source struct
    
    Avoids having to reconstruct the path in multiple places all over.
    No functional changes.

commit e68eb68c4a6c3635b8cf58a05277f7da49058d16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 10:52:30 2019 +0300

    Split icon handling out of addSource(), merge into readIcon()
    
    Icons are entirely different beasts from sources and patches and even
    stored in different places, handling them in the same function makes
    no sense at all. No functional changes, just refactoring to cleanup.

commit 7adba5e8de4002bddfbc0c9a9c778f73cce0ac3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 09:44:52 2019 +0300

    Use findSource() for duplicate checking instead of manual copy-slop

commit f6eb904cddaea99362f1300c9234fe7b0dd42fee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 18 09:12:57 2019 +0300

    Refactor spec source structure creation to helper function
    
    addSource() is on the large side for a function, this helps clean
    it up and will be needed in the next commits.

commit 8359ded6784579b9f2527a09888132034783e1de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 24 14:54:00 2019 +0300

    Warn on absolute symlinks at build-time
    
    While supported of course, absolute symlinks are nasty in many ways
    so issue a warning to packagers. Update two affected test-cases.
    Related to #668.

commit 32055d7946b577eee3db46ce6be1e4377e1bbc02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 23 11:24:06 2019 +0300

    Drop outdated and unmaintained Mono dependency generators
    
    Upstream Mono is being a good citizen and maintains their own
    dependency generators nowadays, so let them.
    
    Closes: #673

commit d313baf1d3a4756447e398ee55f8c6760f942d50
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Apr 24 10:29:14 2019 +0200

    Use --dpbath only with full path (RhBug:1696408)
    
    Before the patch rpm treats the relative path as a full path.
    The new behavior is similar to the "--root" option.

commit effa0b02a636a789f5d00f586a18dd961104623e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 16 15:12:27 2019 +0200

    rpmfcExec: Don't store stdout if not requested by caller

commit 18e8f4e9b2dd170d090843adf5b5084658d68cf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 16:48:29 2019 +0300

    Use rpmfcExec() for executing all build scripts to simplify code

commit 5fe8c9e6d55fe101c81399423a1e1b0f42882143
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 8 16:47:38 2019 +0300

    Support optionally duplicating rpmfcExec() output to a stream

commit 783e2dc0b424afdf0a5d2add368279cb63016897
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:48:54 2019 +0300

    Port parseSimpleScript() to use parseLines(), no functional changes

commit 52ce88851abbd37ed9eede5b9208e888936a52ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:48:39 2019 +0300

    Port parseScript() to use parseLines(), no functional changes

commit c7a8c1e079d2a166b9848ae6afa1b0cfab1b250a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:48:21 2019 +0300

    Port parsePrep() to use parseLines(), no functional changes

commit bc0ad090edb8d78397f7475da7947814ae4a0622
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:47:52 2019 +0300

    Port parsePolicies() to use parseLines(), no functional changes

commit eb0487b00f6ff4d2912e3fef250d8467007ff434
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:47:16 2019 +0300

    Port parseFiles() to use parseLines(), no functional changes

commit a6c2e3f83748efab413c9914fa3a74aa49852c7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:46:48 2019 +0300

    Port parseDescription() to use parseLines(), no functional changes

commit bb6786788cb1b1d7f2d583c9a5b7767cbda1154e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:46:24 2019 +0300

    Port parseChangelog() to use parseLines(), no functional changes

commit 91e8d826e473c98209ba9db0ea06ab884557076c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 13:41:31 2019 +0300

    Add an internal helper for parsing lines into argv/stringbuf
    
    There are multiple copy-slop versions of this same construct in the
    codebase, with subtle differences -> likely some errors too. Add
    an internal parseLines() helper that can handle all the simpler cases.
    Not actually used here however.

commit fc2c986d8f5e4174885ae377750185339636f062
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 15 15:46:09 2019 +0200

    Use  RPM_BUILD_NCPUS in brp-strip-static-archive
    
    to speed the script up for large number of files to be looked at.
    Use xargs -P instead of find -exec.
    
    Add xargs to the test environment
    
    Resolves rhbz1691822

commit d97d7b71de158660eb96b4f11d40b6626b85521a
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 16 09:50:57 2019 +0200

    Pass RPM_BUILD_NCPUS to build scripts
    
    Use %_smp_build_ncpus instead of the initial value

commit 98d6b7bce028a7d6615a7c81c5a63d2b72825847
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Apr 16 11:26:37 2019 +0200

    Python generators: console_scripts entry points require setuptools
    
    Fixes https://github.com/rpm-software-management/rpm/issues/664

commit fc05045008d84429bf51154642e18fda70d3f256
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 12 14:59:29 2019 +0300

    Always rebuild the test-suite testing-environment from scratch
    
    Up to now the rebuild has been keyd to the top directory rpmbuild binary,
    but this misses numerous cases where the testing-environment requires
    rebuilding, including but certainly not limited to python bindings.
    It may take a few seconds more but compared to the test-suite runtime
    this is just peanuts, not to mention the amount of gray hair and wasted
    engineer hours caused by test-environment not updating when it should.

commit d48981ad7e36abb3500161d823acf92345c94f5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 16:07:56 2019 +0300

    Support build-id generation from compressed ELF files (elfutils >= 0.175)
    
    Use dwelf_elf_begin() for reading ELF files for build-id generation on
    versions that have it to support compressed ELF files such as kernel
    modules (RhBug:1650072,1650074). Note that debugedit still cannot handle
    compressed files, this is only for build-id generation.

commit 68d383c39cef8d58b80940b13dd132d3f41a03f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 15:22:07 2019 +0300

    Detect kernel modules by .modinfo section presence for build-id generation
    
    File extension based heuristics only work so far at best, and break
    completely on compressed files with arbitrary .gz/.xz etc extension.
    This isn't supposed to change any behavior as such, only provide more
    reliable detection of kernel modules.

commit 050b392f8c11d111379e0d2bac52762beb97b3ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 12:57:11 2019 +0300

    Fix segfault on fingerprinting symlink round (RhBug:1660232)
    
    Both yum and dnf perform a test-transaction before the real thing,
    and both neglet to check for an error code from the test-transaction
    when there are no problem objects to return. Which can happen in
    some special cases, such a using different vsflags between initial
    package read and transaction (which is what both yum and dnf do),
    which can cause the in-transaction package open fail on corrupt packages.
    And when this failed transaction is fed back to rpmtsRun(), it
    segfaults in fingerprinting as the second loop of symlink checking
    doesn't check for NULL's element files like the first loop does.
    
    Add the missing NULL check and remove bogus "can't happen" comment to fix.
    
    FWIW, the scenario with different vsflags and corrupted packages doesn't
    happen by default in rpm >= 4.14.2, the corrupt package gets caught
    in the verify stage which does create problem objects and thus both
    yum and dnf abort as they should.

commit ad16a04b6e41612cdef6ab8755ad31c8b880a9fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 13:56:07 2019 +0200

    Add plugin for logging audit events for package operations as per OSPP v4.2
    
    When enabled, log audit events for package install, update and remove.
    The log includes the operation, package nevra, signature check result,
    whether signatures are being enforced enforced and overall operation
    result code. Package install/update/remove are logged as such,
    obsoletion is logged as install + remove (whereas the erasure element
    on updates is silent). Enable compilation in CI.
    
    Loosely based on initial RHEL 7-8 implementations by Pavlina Moravcova
    Varekova and Florian Festi (RhBug:1555326, RhBug:1607612)

commit eecd3d5d058af5f7eba91105e7413c27389c8402
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 13:54:58 2019 +0200

    Add python bindings for rpmteVerified(), export RPMSIG_UNVERIFIED_TYPE

commit 8d502045c321df5584d04822662abcf1a92e3965
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 13:39:58 2019 +0200

    Record package verification results into transaction elements
    
    Calculate and store overall success/fail result of both digest and
    signature verification results, store passed bits in the element.
    The information can obviously be used for a whole number of things,
    but here we only add the mechanism and the API to retrieve the info.
    Only rpm is allowed to set the verify information, at least for now.
    
    The initial "unverified" status of RPMSIG_UNVERIFIED_TYPE is a bit of a
    hack, but the more obvious choice of -1 is too error-prone with a bitfield.

commit 966863911c872405ee36b4eb8bcbfdbfd76e9431
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Thu Apr 4 17:02:40 2019 +0200

    Initialize verifyFlags for specialdir
    
    FileEntryFree(&fl->cur) zeroed all fields, so we have to fill them again.
    
    Closes issue #655

commit 35b09eed946a7e2f2f327531b692c9f768bf9e3b
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Sun Apr 7 07:23:47 2019 +0200

    Sort list of hard linked files in find-debuginfo.sh (RhBug:1421272)
    
    It helps to make build results reproducible. Based on Mark Wielaard's idea.

commit 92eadae94c48928bca90693ad63c46ceda37d81f
Author: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date:   Mon Apr 1 07:33:19 2019 +0200

    rpmio/digest_nss.c: fix build on musl
    
    signal.h must be included to be able to use sigaction
    
    Fixes:
     - http://autobuild.buildroot.org/results/395fd44a930dfc2ad380bc735c26d9ce62344295
    
    Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

commit 7bfaf93b7afca20bbbc5877dcdeec1d60d217d65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 29 11:18:18 2019 +0200

    Fix copy-paste error wrt rpm-misc reference in manual (RhBug:1692724)

commit f4b7562cb30ba0002ec21b3c8e84e57321c3bf9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 10:40:33 2019 +0200

    Remove full paths from expected results of --addsign <corrupted> test
    
    The test in commit df089e178da0918dc74a8572a99324b0987bce30 erroneously
    introduced environmental dependencies to the testsuite. Test differently
    to avoid path dependencies and additionally check the package actually
    remains untouched.
    Based on Pavlina Moravcova Varekova's patch in #647.

commit 033c4b03649a73d6b6b937ee7ba36446fe36f000
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 15:16:50 2019 +0200

    Add basic testcases for rpm2cpio and rpm2archive (inspired by #637)

commit 1da9e839bb573b9187403983f5a69853ab364306
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Sun Mar 17 06:47:26 2019 +0100

    Add flag to use strip -g instead of full strip on DSOs (RhBug:1663264)
    
    The find-debuginfo.sh flag -g had exactly this meaning. But from
    version rpm-4.13.0-alpha flag -g changes its behavior. It affects
    both libraries and executables.
    
    For some packages the original behavior was preferred. That is why
    the new find-debuginfo.sh flag --g-libs is created.
    
    Options -g and --g-libs are mutually exclusive.

commit 13f70e3710b2df49a923cc6450ff4a8f86e65666
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 12:38:00 2019 +0200

    Fix FA_TOUCH on files with suid/sgid bits and/or capabilities
    
    FA_TOUCH used to set suffix to "" instead of NULL which causes fsmCommit()
    to rename the file onto itself, which is a bit dumb but mostly harmless
    with regular permission. On suid/sgid/capabilities we strip any extra
    privileges on rename to make sure hardlinks are neutered, and because
    rename occurs after other permissions etc setting, on FA_TOUCH those
    extra privileges are stripped and much brokenness will follow.
    
    A more minimal fix would be a strategically placed strcmp(), but NULL
    is what the rest of the fsm expects for no suffix and differentiating
    between empty and NULL suffix is too subtle for its own good as
    witnessed here. So now, NULL suffix is no suffix again and the rest
    of the code will do the right thing except where related to creation,
    and creation is what FA_TOUCH wont do so lets just explicitly skip it
    and restore the original code otherwise. The goto is ugly but reindenting
    gets even uglier, shrug. Add a test-case to go with it.
    
    This has been broken since its introduction in commit
    79ca74e15e15c1d91a9a31a9ee90abc91736f390 so all current 4.14.x versions
    are affected.

commit 4819962c76993f0132a5b0854e9cf4d88597e44f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 10:02:41 2019 +0200

    Add missing --fsmdebug output to capability setting

commit 6ef0e11aad4d72ff0953a0e7708c6b5db0d55921
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 16:10:20 2019 +0200

    Fix wrong expectation in the new %if-%endif test
    
    Should've been in commit 3ac2ff3508359a6576d144386a43a947990eca8c,
    the backwards behavior is even explained in that commit message.
    Goes to show nobody actually tested the version that got committed...

commit df089e178da0918dc74a8572a99324b0987bce30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 15:56:34 2019 +0200

    Verify packages before signing (RhBug:1646388)
    
    Permitting corrupted packages to be signed is bad business for everybody
    involved, this is something we should've always done. Besides being an
    actual security risk, it can lead to odd results with verification
    especially with the payload digest on signed packages.
    
    One point worth noting is that this means that pre 4.14-packages cannot
    be signed in FIPS mode now because there's no way to validate the package
    payload range due to MD5 being disabled. This seems like a feature and
    not a limitation, so disabler for the verify step intentionally left out.
    
    Optimally we'd verify the package on the same read that's passed
    to gpg but for simplicitys sake that's left as an future exercise,
    now we simply read the package twice.

commit 3fd79a5564df97d512be283c5c8a4da2e7ef8bce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 15:29:18 2019 +0200

    Drop internal-only visibility on rpmvs-related API
    
    Makes it possible to use rpmvs API from eg librpmsign which we'll
    need in the next commit. We need to make select parts of this
    actually public eventually but for now...

commit 2ec0832287bd1443ebf336f8a98293f30bfa2036
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 15:24:54 2019 +0200

    Make rpmsign exit values more consistent with our other tools
    
    rpmPkgSign*() return -1 for failure, which is not that helpful when
    returned to shell and the way it was counted could easily wrap around
    when signing multiple packages. Return number of failures similarly to
    how rpm -q and frieds does, avoid overflows and xargs special value 255.

commit df55e76c6652ea450d382dbada568390240f69e2
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Mar 14 15:12:17 2019 +0100

    Use function rpmFileHasSuffix instead of manual calculation in query.c

commit 8dd8e37acc79da1ce0a36c3f86650defa474a6a9
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Mar 14 13:56:26 2019 +0100

    Show list of files only once when use rpm -ql and multiple rpm files

commit ce11f04ed529cd84de8981b82c1185c0a30dfdcf
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Mar 14 13:23:13 2019 +0100

    Correct rpm -ql exit value when optional -p is omitted (RhBug:1680610)

commit 3ac2ff3508359a6576d144386a43a947990eca8c
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Mar 4 09:56:20 2019 +0100

    Test a macro that contains %if - %endif
    
    The test illustrates parsing of %if-%endif that is defined in a macro.
    It behaves similarly like macros expanding in comments:
    during the rpm expansion of the macro the lines inside %if - %endif
    are expanded in all cases (no matter whether the condition after
    %if is satisfied or not).

commit 5c279fb149a44a1bc4d19e11c3c01942732b8486
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 11:43:08 2019 +0200

    Simplify RPMSIGTAG_RESERVEDSPACE shrinking
    
    Lotsa unnecessary stuff here:
    - No need for rpmtdReset(), headerGet() takes care of that
    - In this path, we're always modifying an existing tag so we can
      just use headerMod() instead of constructing a new tag
    - As we're always shrinking the existing tag, we don't need to
      allocate new zeros, just reduce the size. Also make sure we *are*
      really shrinking, previously it was only assumed.
    
    No functional changes expected.

commit 1290493169a8bb7713ddda2d571dc0c158e13cc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 11:02:13 2019 +0200

    Clean up includeFileSignatures() a bit
    
    Initialize on declaration, thou shalt not waste perfectly good
    screen estate. No functional changes.

commit 8c3586804f538ae817423726656e6e0acd781499
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 10:59:20 2019 +0200

    Clean up unloadImmutableRegion() a bit
    
    Initialize headers on declaration, in the scope where needed, remove
    pointless intermediate pointer to the header data. No functional changes.

commit 957e774fbd29bcd43b9cd1d3be485df33a6a6c5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 7 15:25:52 2019 +0200

    Avoid calling memchr() with NULL s argument
    
    At least on glibc this is marked as non-null and certainly there's no
    point trying to search a NULL string for anything... Not sure if
    data can actually even be NULL here but doesn't hurt to test either.

commit 6f21184c9c998d51af605236cfcfc09ed88a1693
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 7 15:20:04 2019 +0200

    Avoid calling qsort() and bsearch() with NULL base
    
    These are all rather old offenses with no known ill effects on any
    systems, but at least on glibc these are marked as non-null and
    not doing so is certainly on the safe side.

commit e7b80af13691db08127d89285a7713667bae1f26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 14:56:31 2019 +0200

    Move redirect2null() out of posix extensions but preserve compatibility
    
    posix.redirect2null() is a decidedly rpm-specific, it should've really
    always been rpm.redirect2null(). Move the code to rpmlua.c and make
    it available in the rpm-namespace, but to preserve script compatibility
    add it to the posix module too.
    
    One step closer to unforking the posix extensions which is more or less
    a pre-requisite for ticket #165.

commit 508a492c35406cdb9f83adebf2f65a2004779b25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 14:51:24 2019 +0200

    Add a simple (existence) test for Lua posix.redirect2null()

commit 3b3947f8c99b76c1359c5da3c5da9c69501b2cba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 1 14:50:12 2019 +0200

    Fix nonsensical error message from posix.redirect2null()

commit ddf86465d658e64953ecf71b01971b37f3b8f438
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Feb 27 12:55:52 2019 +0100

    Indent retry: label in function readLine correctly

commit 71904586a86a6553a564248d1c53bfa685aee7ae
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Feb 27 12:54:07 2019 +0100

    Warn if a text is after %else or %endif
    
    Before this commit, rpm handles text after %else or %endif
    inconsistently and does not give any feedback. A text that
    was on a line after %else (resp. %endif) was expanded like
    it was written before %else (resp. %endif).
    E.g. in the following example "moo" gets echoed iff %{val}
    evaluates to true:
      %if %{val}
        %{echo:yeah}
      %else %{echo:moo}
        %{echo:nay}
      %endif
    
    So to be consistent and clear, this warning is added. It looks
    for example:
    
    warning: extra tokens at the end of %else directive in line 3:  %else %if 0%{?centos}

commit eaf5e71b7ad356a7c211bdaef8e41909cc5ba0eb
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Feb 27 12:52:26 2019 +0100

    Refactor expression expansion evaluation in parseSpec
    
    No functional change, just minor refactoring for the next patch.

commit 317850082ae58019898c5e4f0183fbc0ab1ac7c9
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Feb 27 12:28:36 2019 +0100

    Create a function that parses the spec file line type.
    
    There are two situations where it is necessary to parse a type of a spec file line:
    * before the expansion of the line
    * after the expansion of the line
    Till now rpm parsed line type only after the expansion of the line.
    This patch is a preparation for adding parsing before the expansion
    of the line. (It enables rpm to parse correctly lines like
    "%endif text_after_elif".)
    
    No functional change.

commit 13750cfa1d2d68dcc4de54df44dac72a61c7fd24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 12:31:24 2019 +0200

    Disable modularity repos in our CI
    
    We have no need for modularity so it's only excess weight to download
    and more s*** that will occasionally break, taking our CI down with
    it for absolutely no good reason.

commit 24aa08179114b633ecceb1ea4156798e873d7da3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 12:17:46 2019 +0200

    Enable Python bindings in CI
    
    No idea why it was not there, there are important API tests that are
    only covered via the bindings. Drop /usr/bin/python from the install
    while at it, we don't need that for anything anymore.

commit 1fac727638df0083dde068de6a114ebe46adac84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 11:58:15 2019 +0200

    Default to Python 3 for bindings, deprecate Python 2 support
    
    Python 2 EOL is closing in fast, time we start looking forward instead
    of backward too. Document how to build for Python 2 for now, and update
    version requirements.

commit aea53a4aead8bd71f519df35fcffd9eec76fbc01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 11:27:51 2019 +0200

    Return NULL string as None from utf8FromString()
    
    Commit 84920f898315d09a57a3f1067433eaeb7de5e830 regressed dnf install
    to segfault at the end due to some NULL string passed to strlen().
    Check for NULL and return it as None, make it an inline function
    to make this saner.

commit 3e6b0d0fb8a99d3e0d0d6e77a5b73080f9e6a95e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 10:02:01 2019 +0200

    Don't bother checking for python and perl binaries
    
    Should've been in commit ba85c95963f9b62f237c0442f6b5aca3e355fa83,
    we no longer use these for anything. Drop check for PGP while at it.

commit 0917da26bf0722fcf40de1c5a61412f23982d131
Author: Ernestas Kulik <ekulik@redhat.com>
Date:   Mon Feb 25 16:34:06 2019 +0100

    find-debuginfo.sh: Handle position-independent executables
    
    Since file 5.33, PIEs are identified by a new MIME type, meaning that,
    currently, for such executables, the .gnu_debugdata section is not
    added, even if -m is passed.
    
    Signed-off-by: Ernestas Kulik <ekulik@redhat.com>

commit b1db05598423b65373ae430df7a2227dee098058
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 16:29:06 2019 +0200

    Raise an actual macro error if %{uncompress:...} fails

commit ca92baf079c63c90e0427cc85f3635098592d1cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 15:17:44 2019 +0200

    We already have a function for finding sources and patches, use it

commit 31189a74a96dc6433db2eafa6caf9ba7b26b441a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 14:42:39 2019 +0200

    Cleanup another leftover from patch/source autonumbering changes
    
    Somehow missed this in commit d4f63dfe36d5e49402c908ccd32ffaa04852f816,
    the extra check is not relevant or even sensible anymore.

commit ef422951aeb328c3274bc7b355bf8387306590f3
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 25 13:10:33 2019 +0100

    rpm2archive: Fix file names for source rpms
    
    rpm2archive previously just prepended a "." before the file name to get a local
    path. This works fine for absolute paths but not for bare file names as used
    in source rpms. Now we prepend "./" in these cases.
    
    Also use the calculated file name for hard links to avoid running into this
    issue twice.
    
    Resolves: #637

commit 84920f898315d09a57a3f1067433eaeb7de5e830
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 19:44:16 2019 +0200

    In Python 3, return all our string data as surrogate-escaped utf-8 strings
    
    In the almost ten years of rpm sort of supporting Python 3 bindings, quite
    obviously nobody has actually tried to use them. There's a major mismatch
    between what the header API outputs (bytes) and what all the other APIs
    accept (strings), resulting in hysterical TypeErrors all over the place,
    including but not limited to labelCompare() (RhBug:1631292). Also a huge
    number of other places have been returning strings and silently assuming
    utf-8 through use of Py_BuildValue("s", ...), which will just irrevocably
    fail when non-utf8 data is encountered.
    
    The politically Python 3-correct solution would be declaring all our data
    as bytes with unspecified encoding - that's exactly what it historically is.
    However doing so would by definition break every single rpm script people
    have developed on Python 2. And when 99% of the rpm content in the world
    actually is utf-8 encoded even if it doesn't say so (and in recent times
    packages even advertise themselves as utf-8 encoded), the bytes-only route
    seems a wee bit too draconian, even to this grumpy old fella.
    
    Instead, route all our string returns through a single helper macro
    which on Python 2 just does what we always did, but in Python 3 converts
    the data to surrogate-escaped utf-8 strings. This makes stuff "just work"
    out of the box pretty much everywhere even with Python 3 (including
    our own test-suite!), while still allowing to handle the non-utf8 case.
    Handling the non-utf8 case is a bit more uglier but still possible,
    which is exactly how you want corner-cases to be. There might be some
    uses for retrieving raw byte data from the header, but worrying about
    such an API is a case for some other rainy day, for now we mostly only
    care that stuff works again.
    
    Also add test-cases for mixed data source labelCompare() and
    non-utf8 insert to + retrieve from header.

commit ba85c95963f9b62f237c0442f6b5aca3e355fa83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 12:24:40 2019 +0200

    Eliminate our script language helper macros and associated scripts
    
    Having these kind of macros has increasingly forced us to ponder questions
    like "what is the system default python", which have absolutely nothing
    to do with rpm. And to that issue the only possible solution is eliminating
    such content from rpm.
    
    And yes this will break existing packages and force distros to deal
    with the fallout, but we believe its for the best:
    these macros are also best maintained by people closer to the languages
    in question, as has been done with all the newer languages predating
    perl and python. rpm-extras exists as the place for maintaining and
    collaborating on such material.

commit 6d4c68ba10b9713f3e599cf20c2455eb80e9bfe1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 16:00:49 2019 +0200

    Modernize Lua library/module initialization, drop support for Lua < 5.2
    
    Replace long since deprecated luaL_openlib() with modern counterparts
    luaL_newlib() and luaL_setfuncs() and use luaL_requiref() for
    loading our modules (these changes needed to go hand in hand, otherwise
    it blows up every which way). Because these functions are only available
    in Lua >= 5.2, this means we can drop the other compat checks as well,
    just update the documenation for the new version requirement.
    
    This also means that rpm now works on a modern Lua (tested with 5.3.5)
    without requiring any compat modules and defines to be present in Lua. Whee!
    
    Patch based on work done by @daurnimator in PR #169.
    
    Resolves: #166

commit 1c433661eaef022bba0fb957739058e78ea64588
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 15:48:19 2019 +0200

    Move lua os.exit() override from posix module to rpmlua
    
    It was always an ugly hack and wrong to be in the posix module to
    begin with, this makes the initialization and all much saner. And
    is actually less code too.

commit 6974274db2cb5ea9eca085dadab117577dd5feb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 15:32:16 2019 +0200

    Move lua fork-tracking variable to librpmio
    
    Having the rpm-specific fork-tracking variable accessible only inside
    the posix module forces us to put stuff in there that just doesn't
    belong at all, such as os.exit() override. Moving it to librpmio
    allows us to move such things to rpmlua.c where they belong.
    
    Exporting integers like this is not exactly a good library design,
    but this is supposed to be just a temporary crutch to get the other
    pieces in place before changing the actual mechanism.

commit 014a70669ca789e5991d4166d8a2c096077481df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 14:25:13 2019 +0200

    Add a test for librpm side lua extensions as well

commit 09884d87d5119baaa22d67a5d1961dbfa6ec52c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 12:57:10 2019 +0200

    Unbreak build on Lua < 5.3.4 again
    
    This should've been moved along with the sole LUA_LOADED_TABLE user
    in commit 62bd62286aa888c60145daf315a938dd87eadc89, oops.

commit 770bbc5c5672c62b30ae7b44d6dbd2ec8daa97b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 12:28:42 2019 +0200

    Make rpmlua structures fully opaque outside rpmlua.c
    
    Now that we finally can... opaque is good. Remove the "lua internal"
    defines and move relevant includes where they belong.
    No functional changes.

commit 62bd62286aa888c60145daf315a938dd87eadc89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 12:18:36 2019 +0200

    Add a rpmlua wrapper function for registering libraries, use it
    
    Eliminates the need for accessing what are supposed to be private
    rpmlua fields from the outside. This does sacrifice the "perfect"
    wrapping in rpmlua.h because it now needs to include lauxlib.h,
    but defining our own struct just to avoid having to include a file
    we'll be including in the code anyway doesn't seem worth it...
    No functional changes.

commit f0109677810ade7013880bea2f1170fa259b468f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 12:09:12 2019 +0200

    Move the faster tests towards the start of test suite
    
    The test-suite takes forever to run so if it's going to fail on these
    generic macro etc tests its nicer to get failure result in a minute
    instead of fifteen...

commit decd85bf8aa510e48adf728d12b33be814b70dc5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 21 11:54:46 2019 +0200

    Remove redundant #ifdefs, these are not compiled at all if lua not enabled

commit 6a61d10670f975c9b8c69405ab8fd1ab944dfe35
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 20 16:13:40 2019 +0100

    Add warning about order to description of %autopatch

commit f00bb5be9caa62220c6aeaf3f7264840d5c089e3
Author: Petr Menšík <pemensik@redhat.com>
Date:   Tue Feb 5 18:15:47 2019 +0100

    Add limits to autopatch macro
    
    Limits allow to apply only range of patches with given parameters.
    Useful if something needs to be done between patch sets. Allows applying
    of patches with different -pX parameter in one spec file.
    
    Resolves: #626
    Co-authored-by: Florian Festi <ffesti@redhat.com>

commit 9ad4b813483f8cf6c641f56387248b33b6dfc570
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 15:28:30 2019 +0200

    Introduce patch_nums and source_nums Lua variables in spec context
    
    The pre-existing patches and sources variables only contains patch and
    source filenames, but for some purposes we need access to the associated
    patch/source number too. We could use the number as the table key, but
    that would make the table unsorted. That we could handle in our own
    macros, but would break compatibility for anybody doing custom stuff
    with these. So it seems best to just add parallel arrays sharing the
    same array indexes so that both values are as easily accessible,
    depending on the need.
    
    Inspired by Pascal "Pixel" Rigaux's similar patch in Mageia, which differs
    in that the number-arrays are indexed by the filename and is unordered.
    Compared to patches/sources this seemed against principle of least
    surprise, and is slightly more cumbersome int the case we want the number
    directly, such as in PR #626. The variable names differ so there
    is no incompatibility to that downstream patch introduced.

commit 9cbc1fe444b048c3f7cf5ea09ab650d1c146d54a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 14:49:19 2019 +0200

    When doing the same thing more than once, use a loop...
    
    No functional changes but this'll simplify the next commit quite a bit.

commit 0ac97701560ca65d53880bacdf32b375d42c18a8
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Tue Feb 19 16:27:24 2019 +0100

    Fix double point and spurious white space.

commit 049af0deb3c1c3b4d0f4f739330b9a0deee76193
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Feb 18 21:37:28 2019 +0100

    Add descrption of conditionals into the spec documentation
    
    Document briefly conditionals and the fact that they work
    correctly in spec files only.

commit a9dee5841315cbd08d7f93b2ac00d8e0a6f1dce0
Author: cheese1 <cheese@nosuchhost.net>
Date:   Thu Feb 14 16:29:37 2019 +0100

    fix small typos

commit f7282c315818349c5f650384a57c2a53b5e4f0b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 14 17:47:58 2019 +0200

    Don't let custom %{_smp_mflags} break debuginfo generation
    
    Commit 1b338aa84d4c67fefa957352a028eaca1a45d1f6 added %{_smp_mflags}
    to find-debuginfo.sh invocation but turns out the new hot is overriding
    %{_smp_mflags} with -l<n> which is a load-average based "new" make
    parallel build flag. Makes sense, but it breaks debuginfo generation.
    Rather than play catchup with make options until the end of times,
    replace %{_smp_mflags} use with a more tightly controlled invocation
    via  %{_smp_build_ncpus} now that we have such a thing since commit
    e811c7ec0b4d2685b63b61803e3952466b1a4ac6.
    
    Resolves #630

commit 8cbe8baf9c3ff4754369bcd29441df14ecc6889d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 14 13:12:49 2019 +0200

    Log RPMLOG_ERR level messages on actual errors in selinux plugin, doh.
    
    When there's an actual error, people will want to know without having
    to rerun in verbose mode. Such as in RhBug:1641631 where configured
    selinux policy differs from what is installed - the former message
    
        error: Plugin selinux: hook tsm_pre failed
    
    ...is not particularly helpful to anybody, whereas this actually provides
    some clues now:
    
        error: selabel_open: (/etc/selinux/ponies/contexts/files/file_contexts) No such file or directory
        error: Plugin selinux: hook tsm_pre failed

commit f59bbff252b9ed975a37a5789f4d9ef7174f1caa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 7 16:54:08 2019 +0200

    Improve tests/README a bit
    
    Refer to projects by their upstream names, add home-page URLs to go.
    python-rpm never was a dependency on the host, although it used to
    be a configure-time dependency. That's no longer the case either,
    but add a mention that the number of tests depends on enabled features.

commit a0066b10e788c6b2e5855ab4775cebd1c567e573
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 6 13:24:06 2019 +0200

    Database backend ops tables are supposed to be internal, dummies included
    
    Should've been in commit 45e3c4c3a77162dded9ff640250284fdf6a4eabf

commit aafb861846db97d78964e98d603b4e6cd88ed3ae
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Mon Jan 14 20:56:55 2019 +0000

    parseBits: disallow syntax errors and unknown qualifiers
    
    The previous attempt to fail build in case of syntax errors
    and unknown dependency qualifiers made in commit
    rpm-4.8.0-beta1-385-gbf2bc18ebb325f081ade65adc2fbb6858f0b8396
    missed the following classes of erroneous dependencies:
    
    Requires(,) -- erroneously treated as Requires(),
    Requires(;) -- erroneously treated as Requires(),
    Requires(,pre) -- erroneously treated as Requires(),
    Requires(;pre) -- erroneously treated as Requires(),
    Requires(pre,) -- erroneously treated as Requires(pre),
    Requires(pre,,postun) -- erroneously treated as Requires(pre),
    Requires(pre,,junk) -- erroneously treated as Requires(pre),
    Requires(pre;postun) -- erroneously treated as Requires(pre),
    Requires(pre;junk) -- erroneously treated as Requires(pre).
    
    Found by code inspection.
    
    Fixes: bf2bc18ebb32 ("Always fail build on unknown dependency qualifiers")

commit 2b5a4af73cec97409f5fe897b3a5f0517c9e4b20
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Mon Jan 14 20:56:55 2019 +0000

    tests: check rpmspec --query handling of requirements
    
    This essentially tests current parseBits() behaviour.

commit d5768f4dc6f7d1c2a4eaccf0847c0cd83eb01ebe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 15:36:00 2019 +0200

    Oops, fix building with external BDB from previous commits
    
    I could swear this is how it was at some point, so maybe the db3.c
    compilation condition got accidentally moved around while editing
    stuff. Either way, commit e1d3811883dc9fe79fe7b5ff90f69b9998611128
    broke building with external BDB because of this and this commit
    resurrects it. Annoying anyway.

commit 45e3c4c3a77162dded9ff640250284fdf6a4eabf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 15:22:30 2019 +0200

    Add a dummy database backend to fall back to if no real db is built in
    
    Basically the dummy db appears as an empty database to which no installations
    can be performed.  Besides curing the segfault mentioned in commit
    e1d3811883dc9fe79fe7b5ff90f69b9998611128, this might be a useful thing
    to have in environments where rpm is not the native package manager
    such as Debian.

commit e1d3811883dc9fe79fe7b5ff90f69b9998611128
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 15:08:24 2019 +0200

    Support building rpm without Berkeley DB, simplify the configuration
    
    Replace the --with-external-db switch with the following simple logic:
    if internal copy of BDB is detected, use it, otherwise look for an
    external one. By default BDB is still required, but it's now possible
    to build without it by using --disable-bdb argument to configure.
    If no database is built in, we'll segfault for now, to be dealt with
    in coming commits.
    
    This is a rather historical moment, BTW.

commit 815a36287523e85ea6265577c916aa4d3c571379
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 13:22:01 2019 +0200

    Fix BDB build when automatically selecting internal BDB
    
    Commit 9e64f8d5b7260bffa9fcfd1c1a408cfe1db65cf7 was supposed to allow
    this but actually building the internal BDB requires with_external_db to
    be "no", whereas in the automatic case it was "maybe", resulting in
    the internal BDB not actually getting built at all.

commit 52cec51fad7664b257a68d252e28d18b4db89149
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Tue Jan 22 03:38:02 2019 +0000

    doc/manual/dependencies: remove reference to %__find_prereq
    
    This is the last reference to %__find_prereq macro,
    the support for this macro was removed long time ago
    by commit 44e5913dae80f1040748441af35fb02b840c397a.

commit b4c832caed0da0c4b0710cfe2510203a3940c2db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 17 13:35:42 2019 +0200

    Add experimental support for non-privileged chroot on Linux
    
    If host kernel supports user namespaces, this allows non-privileged users
    to perform chrooted operations such as installations and verification.
    With caveats. Only root:root ownership is supported in the namespace, so
    packages with other file ownerships will fail to install properly, chown()
    fails with -EINVAL similarly to what happens on squashed NFS-mount. We
    don't handle that particularly gracefully.
    
    Also add the obligatory disabler, and use it for the test-suite for
    now. Only two tests (61 and 342) actually fail because of it, simply
    because things are ... different with user namespaces.

commit 61b0287831e9bddaf9c333c9678bf698d72bd92c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 17 13:11:06 2019 +0200

    Don't let rpmlog() affect errno
    
    There are any number of things that can go wrong and affect errno
    inside rpmlog(), but having a function that by its declaration cannot
    fail messing with errno is pretty dumb. Always save and restore
    errno from rpmlog().

commit 10282899a41479eeb80f74a7e840341d3e3a4be9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 16 11:02:12 2019 +0200

    Update translations again
    
    On previous round, only pulled from Zanata but negletted to run update-po
    locally, causing po/ to go annoyingly out of sync (due to timestamp
    differences or something)

commit 4fa27e084ee651ff4ce921c1e6989a6562888751
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 16:28:10 2019 +0200

    Convert %define, %global, %undefine and %dump to work via lookup table too
    
    These are very different from the other built-ins as these do their
    own parsing and return a continue address, so we need a separate
    prototype for them. Having two pointers for each macro makes the table
    a bit ugly but the alternative of tracking type by some other means
    would lose type-safety. Other than all the boilerplate needed, this is
    remarkably straightforward. No functional changes.
    
    All built-in macros are now invoked via the lookup-table, which means
    that adding new built-ins just got more straightforward and less ad hocey
    pokey.

commit 93cda82b22dd66651f5ea3c4e271b6e584052826
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 15:39:18 2019 +0200

    Convert %{trace} to work via the macro lookup table
    
    %trace differs from the others as it doesn't take any arguments,
    it just silently eats any passed. Not that it really matters here.
    No functional changes.

commit 672c9e378bc7cfedd1b4a8aed66f855757750e52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 15:30:47 2019 +0200

    Convert %{load:...} to work via the macro lookup table
    
    Annoyingly the amount of other boilerplate makes this slightly more code
    than the original, but then saner code isn't always smaller, and it does
    make expandMacros() smaller, which can only be a good thing.
    No functional changes.

commit 311c5fdb0bb92902e1ac834b999a1df2b1088180
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 14:58:08 2019 +0200

    Convert %{echo:...}, %{warn:...} and %{error:...} to work via lookup table
    
    Handle log level determination inside doOutput() to make the interface
    match with the others and as a bonus, make expandMacros() that little
    bit smaller again. Empty argument needs to be handled differently
    but shouldn't affect functionality.

commit 60327e1865ac46878cbbcc832ab5febf1a542d8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 14:41:02 2019 +0200

    Convert %{lua:...} to work via builtin lookup table
    
    No functional changes. chkexist and negate arguments are unused for
    now, but they could perhaps be used for error condition handling later
    (similar to %load)

commit ad0cf2cfa9af2ec906e9f3478aa734e22a95fd2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 14:19:06 2019 +0200

    Start using the builtin macro table for looking up macro primitives, step 1
    
    Replace the "necessary but clunky" string comparisons in expandMacro()
    with a lookup on the builtins. For starters, only the primitives
    handled in doFoo() are converted, others will require varying amount
    of further changes. chkexist argument is unused by doFoo() but will be
    needed later for others, add now to avoid having to change more later.
    
    No functional changes intended, anything like that would simply be a bug.

commit 1c069fe246c300b91415e9c1dbbc2ff5a13443be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 14:21:08 2019 +0200

    Add two missing builtin macros (u2p and F) to the builtins table

commit 858e8c58f61f7a9f5f02677241b1cf15a1917765
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 13:36:46 2019 +0200

    Make macro lookupBuiltin() work with non-terminated strings
    
    For current uses this shouldn't make any difference, but much of the
    macro engine works with string lengths so to avoid having to create
    \0-terminated versions of all strings we might look at...

commit 9b6fdc65ef0507fff04a69c88e085a7a26711839
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 11:47:29 2019 +0200

    Drop double-quotes from %_smp_mflags and %_lto_cflags
    
    The double-quotes got added in e811c7ec0b4d2685b63b61803e3952466b1a4ac6
    and 2bb7b0cf066c97a9d92eb0bf59618896000cb29d but traditionally there have
    been no quotes around %_smp_mflags output, to avoid risking any breakage
    due to such a simple thing, lets go back to how it used to be.

commit 4732701c2eabef08cba6354e49bb1d6618cb6a1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 11:40:56 2019 +0200

    Use %getncpus for %_smp_mflags and %_lto_cflags to make them affinity-aware
    
    Making %_smp_mflags affinity-aware was requested long, long ago in
    https://bugzilla.redhat.com/show_bug.cgi?id=891588 but somewhere along
    it fell in the cracks between distro versions...

commit e11068a484954d71c277b144eb46b68b621c09cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 11:19:56 2019 +0200

    Use %getncpus for number of parallel XZ compression threads

commit 69e8b91dccc887b4200731528e1fd1d130c91afb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 11:16:04 2019 +0200

    Add a built-in macro for fetching number of CPUs, affinity aware and all
    
    There's an increasing number of placing wanting to know the number of
    CPU's for parallel processing, and increasingly these things are running
    in containers and such where the total host CPU count is not meaningful.

commit 2bb7b0cf066c97a9d92eb0bf59618896000cb29d
Author: marxin <mliska@suse.cz>
Date:   Mon Jan 14 15:04:16 2019 +0100

    Introduce smp-aware LTO enablement macro %_lto_cflags.
    
    %_lto_cflags can be used to enable LTO (link-time optimization) either
    on per-package basis in specs or per-distro basis via %optflags.
    Parallel jobs are used automatically where system and configuration
    (shared with %_smp_mflags) support it.

commit e811c7ec0b4d2685b63b61803e3952466b1a4ac6
Author: marxin <mliska@suse.cz>
Date:   Wed Nov 28 10:52:01 2018 +0100

    Isolate %_smp_build_ncpus and use it for %_smp_mflags.
    
    Refactor _smp_build_ncpus and use it in %_smp_mflags. Note that now
    having a single CPU, %_smp_mflags is expanded to '-j1'.

commit 8655493bdfd6b76271893b148033f2ff580d2d39
Author: marxin <mliska@suse.cz>
Date:   Wed Jan 9 13:15:56 2019 +0100

    Make %make_build to provide verbose output of make command.

commit 7a2f891d25d78cf797c789ac6859b5f2c589d296
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 14:37:06 2019 +0200

    Fix regression reading some old v4.0 era packages (#610)
    
    Some old v4.0 era packages have RPMTAG_HEADERIMAGE in the signature
    header region trailer, instead of the expected RPMTAG_HEADERSIGNATURES.
    This was fixed in 4.4.x in commit 21818c6c8f3d4fe7836326d27f38421c29c22db7
    but regressed in the commit 85a5b004306fe8486424142cdc98575c25142776
    refactoring / cleanup.
    
    Reported at https://bugzilla.altlinux.org/show_bug.cgi?id=33710, original
    patch by Vladimir D. Seleznev.

commit 017d0b8846cdb62d1b6cc3e48d82eae6da2c5b74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 11:36:50 2019 +0200

    rpm2cpio cannot handle files over 4GB, error out cleanly (RhBug:1662481)

commit b50f00f80dd7c2cdd0ba2c709db77697400d2e27
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Mon Dec 10 15:07:30 2018 +0100

    Simplify Lua backwards compatibility.

commit bcb4781fd8cf91bd558ef22c8c0dfd0915727036
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Mon Dec 10 11:13:15 2018 +0100

    Fix rpmlib lua extension build with Lua < 5.3.4 (#608)
    
    It seems that "_LOADED" was replaced by macro LUA_LOADED_TABLE in lua 5.3.4.
    Re-establish string "_LOADED" for pre-5.3.4 Lua.
    
    Fixes regression with Lua < 5.3.4 introduced by commit f13de84.

commit 362c4401979f896de1e69a3e18d33954953912cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 11 13:21:47 2018 +0200

    Only read through payload on verify if actually needed
    
    If none of our verify items ranges over the payload, then why bother?
    
    To do this, add an internal rpmvs API to get it's range, and use
    that to decide whether trip over the payload is needed or not.
    In addition, the payload digest tag needs to be grabbed outside of the
    condition to avoid depending on other values. The details including
    RPMVSF_NEEDPAYLOAD will be handled internally to rpmvs which makes it
    actually nicer code-wise too.

commit 45465504bd2241208c05ca259d0ad43dea7cd75a
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Dec 11 11:54:44 2018 +0100

    Do not use $PYTHON or variables based on $PYTHON without setting it
    
    If rpm is configured without Python bindings, the varible $PYTHON is
    not set and thus it does not make sense to use $PYTHON.

commit fc51fc39cff7970b10ef4da30f75d1db8eaa8025
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 16:02:16 2018 +0200

    Fix headerCheck() return code mismatch & regression in 4.14.x
    
    In commit 763d3e44a6cd7b44bfe8945a45fae36527dfadbc (probably),
    headerCheck() started returning rpmvsVerify() return code directly.
    But rpmvsVerify() returns 0/1 for success/failure, whereas headerCheck()
    is supposed to return an rpmRC where 1 means NOTFOUND, which is
    quite a different thing than FAIL. That nobody notices under normal
    circumatsnaces
    
    Making headerCheck() return OK/FAIL would be simple, but it's a public
    API that used to return NOKEY etc, so perhaps we should try to preserve
    that although the only user of headerCheck() I know of is our own rpmdb
    code.
    
    So... take the opportunity to do something good and fix it by unifying
    the two callbacks which in the end only differ by what they output, so
    handle that with a function pointer in the callback data. It's all that
    little bit saner this way.

commit 8390fa8515f499994646cf3bd113423744dc7bd9
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 30 11:02:52 2018 +0100

    Add RPMTAG_MODULARITYLABEL to distinguish packages build for modularity
    
    Tag can be set with a ModularityLabel: statement in the spec file preamble or
    via the modularitylabel macro

commit ad8c12c5d962c136232d6309d3324a4e57b32877
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Nov 29 13:01:29 2018 +0100

    Distinguish empty and no capabilities in RPM verification
    
    The original file capability verification in rpm incorrectly assumed
    empty capabilities equals no capabilities, now we differentiate
    between the two and report it in verification. Related to #585.

commit 4ebce1eed2d2e9b7220dda750a04451a0a08441d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Nov 28 13:30:46 2018 +0100

    Do not create a file in /tmp by rpmbuild archive sanity test
    
    If a user runs "make check" and then a second user (not root)
    runs "make check" the test "FAILED". It is because the test is not
    able to create file /tmp/attrtest.cpio because the file is
    already there creted by the first user.

commit 15b296c324794d288750136b3b4f3350c3d0b8c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 13:50:14 2018 +0200

    Actually permit caret in version, release and evr strings
    
    Should've been in commit c7e711bba58374f03347c795a567441cbef3de58 really.

commit e8fce62467a421132f4ebb6ca9c0926b623ec00e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 13:40:21 2018 +0200

    Consolidate allowed version/release/evr allowed characters to macros
    
    Maintaining multiple variants of the same thing, that always worked
    soooooo well... No functional changes here. Unless I truly messed up.

commit 76c429c3178c965c6517629957a633768132904c
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Mon Nov 26 15:50:15 2018 +0200

    Handle %setup archive unpack exit code centrally and consistently
    
    Previously the exit code handling was missing from uncompressed tar-case.

commit a22b5973bd3a86df3ac78dd2c684fd302ba94a12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 15:42:30 2018 +0200

    Handle whitespace in uncompressed tar archive names, duh
    
    Now here's an oldie but goodie, all these years and those whitespace fixes
    and yet vanilla tarballs were not handled.

commit c7e711bba58374f03347c795a567441cbef3de58
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sat Sep 10 11:39:23 2016 +0200

    Add support for sorting caret ('^') higher than base version
    
    1.1^20160101 means 1.1 version (base) and patches which were applied at
    that date on top of it.
    
    * 1.1^201601 > 1.1
    * 1.1^201601 < 1.1.1
    
    Having symmetry is also good.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit e7fa1f1c1c4a6161c2254c761e857fdf04fba5ef
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Nov 21 15:36:35 2018 +0100

    build: check rich dependencies for special characters
    
    Reported-by: Michael Schroeder <mls@suse.de
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 871065ddd493c76d80345d2e80b38b9ce4c7acdd
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Nov 21 14:59:19 2018 +0100

    build: make haveRichDep aware of other fields allowed to have them
    
    Recommends/Suggests/Supplements/Enhances can also have rich deps,
    so we need to extend the check. Or remove it.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 74766d30b95f1575df8a42d185f2643caa235a8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 12:47:27 2018 +0200

    Handle unsupported digests the same as disabled ones (RhBug:1652529)
    
    A digest type unsupported by the underlying crypto library (whether
    technically or by configuration) does not mean the digest is invalid,
    it just cannot be used. Which for the purposes of verification is the
    same as if that digest didn't exist at all, and that's exactly how we
    handle digests and signatures disabled by configuration.
    
    One particular case is FIPS mode which globally disables the use of MD5,
    which we mishandled prior to this by showing it as OK in verification
    despite actually not verifying it at all.
    
    The exact place for handling this case is a bit subtle: the "obvious"
    place for checking for supported type is in rpmvsInitRange() but this
    doesn't work because of rpmDigestBundleAddID() return code semantics.
    The other "obvious" place would be rpmvsVerify(), but by that point
    we have even more funny cases to consider. So for now, it's actually
    easiest to check for this in rpmvsFiniRange() even if it's not the
    most obvious place for doing so. Might want to change the
    rpmDigestBundleAddID() semantics later, but this makes for a nicer
    backport (we'll need this in 4.14.x too).

commit 323d3e7962d8acc9c1692c1041c109c4d59477b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 20 10:57:55 2018 +0200

    Update POTFILES for the parseBuildInstallClean -> parseSimpleScript rename
    
    Should've been in commit d6c4fff2029d7996389d40047fb1893edcf7fdd5

commit b5077933da26c16d4f5bbff2e00755cecd5c8304
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 14:06:53 2018 +0200

    %verify scriptlet dependencies are not supposed to affect ordering

commit a75fc903e980a5a239dc77ee969bd2dd7f8e4bd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 14:03:28 2018 +0200

    Add + use a bitmask for order-agnostic dependency types
    
    No functional changes but makes the information available to API users,
    and is more in line with the other IsFooPreReq() macros.

commit ca8ff08e4f61f05c743797ea4afbb9bf0bce3064
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 6 17:06:04 2018 +0100

    Fix copy in paste error in d6c4fff2029d7996389d40047fb1893edcf7fdd5
    
    Thanks to Jeff Johnson for pointing this out!

commit d6c4fff2029d7996389d40047fb1893edcf7fdd5
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Oct 26 10:46:03 2018 +0200

    Rename parseBuildInstallClean() to something more generic

commit c4f285cff8f830447857e52848ecf909cedb192a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 6 12:22:55 2018 +0200

    Document --noverify in the man page (RhBug:1646458)
    
    Should've been in commit 765e2c72ae8be369ada41d4747b8999519a0e327

commit 3d8a29a9d9d7a9df63fcc9d6e3f4dec6bb3e1cb4
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Sat Oct 6 10:38:38 2018 +0200

    Add --scm option for %autosetup SCM selection
    
    Allow selecting %autosetup SCM backend from cli in case it's not
    hardwired in the spec, handy for eg rediffing patches.

commit 2c2cacc8e13477d44a28fc19f34ce5ea403f40c2
Author: Johan Heikkilä <johan.heikkila@gmail.com>
Date:   Fri Oct 19 09:55:20 2018 +0300

    Fix typo in sv.po

commit a427785734a4508884873627d57dbde50bbabd48
Author: Vladimir D. Seleznev <vseleznv@altlinux.org>
Date:   Sat Sep 29 11:25:47 2018 +0300

    rpmpopt: make query info command display DistTag if it is non-null
    
    In ALT there can be different builds of the same NEVR which only
    differ in DistTag, so it is useful to print its value as part of
    package information.
    
    Signed-off-by: Vladimir D. Seleznev <vseleznv@altlinux.org>

commit b4178c979fff344a1c5142a305f274dd9aff8f45
Author: Markus Linnala <markus.linnala@gmail.com>
Date:   Sun Oct 28 14:59:52 2018 +0200

    Remove capabilities instead of setting empty caps via. --setcaps
    
    If a file in a package does not have any capabilities rpm --setcaps should
    remove capabilities of the file. Prior to this patch capabilities of the file
    were set as empty.
    
    Empty capabilities mean more than no capabilities. A file with no capabilities
    can inherit capabilities, but file with empty capabilities can not.
    
    When ever package does not have any capabilities set %|FILECAPS? is false.
    If some files have capabilities, %|FILECAPS? is true but %{FILECAPS} is ''
    when the file does not have capabilities and '= <capstring>' when there is some.
    
    Reported and patch created by Markus Linnala
    Commit message edited by Pavlina Moravcova Varekova and Florian Festi.
    
    Fixes #585
    Fixes #586

commit 70dd4622438023bb78c76546f66d2092489d79bf
Author: Markus Linnala <markus.linnala@gmail.com>
Date:   Tue Oct 30 16:06:04 2018 +0200

    Fix manual typos/formatting

commit 090ce7a75d78fadf8d54226abfec98df0e86cf13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 25 16:03:55 2018 +0300

    Drop support for patch < 2.1
    
    The oldest patch version available from http://ftp.gnu.org/gnu/patch/
    is patch 2.5 from August 1997, the same year when commit
    636fc4bec9353821db983092424a30e2b0c39a84 added support for
    "modern patch programs", 21 years ago almost to date. A bit of digging
    around reveals that GNU patch 2.1 released in 1993 and patch 2.2 earlier
    in 1997. Makes me think perhaps we can risk dropping support for 2.1
    without a huge uproar from the community... RIP old fella.

commit 236c44707b0eafb976b571f1c2b6d1d6fbaa80f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 12:41:07 2018 +0300

    Pull translations from Zanata
    
    ...now that there's something to pull

commit 0d83637769b8a122b1e80f2e960ea1bbae8b4f10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 10:52:39 2018 +0300

    Fix nasty --setperms/--setugids regression in 4.14.2 (RhBug: 1640470)
    
    Commit 38c2f6e160d5ed3e9c3a266139c7eb2632724c15 causes --setperms and
    --setugids follow symlinks instead of skipping them.
    
    In case of --setperms, all encountered symlinks will have their
    target file/directory permissions set to the 0777 of the link itself
    (so world writable etc but suid/sgid stripped), temporarily or permanently,
    depending on whether the symlink occurs before or after it's target in the
    package file list. When the link occurs before its target, there's a short
    window where the target is world writable before having it's permissions
    reset to original, making it particularly bad for suid/sgid binaries.
    
    --setugids is similarly affected with link targets owner/group changing
    to that of the symlink.
    
    Add missing parentheses to the conditions introduced in commit
    38c2f6e160d5ed3e9c3a266139c7eb2632724c15 to fix.
    Reported by Karel Srot, patch by Pavlina Moravcova Varekova.

commit 0d2176c9a3ae44fd0a67c9983b1a5ba0a00388fd
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Mon Oct 15 19:49:57 2018 +0200

    rpmfc: push name/epoch/version/release macro before invoking depgens
    
    Fixes: https://github.com/rpm-software-management/rpm/issues/502
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit c2c57985349cc7c78e7d35fc7626aa886a37eac1
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 17:47:44 2018 +1000

    Use lua_rawlen() instead of deprecated luaL_getn()

commit 1507a30ca937fab8d038f573fb570597b3c571f8
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 17:56:22 2018 +1000

    Remove useless Lua userconfig file

commit f13de84bab9cd5b1be30c44002285743c8c3f7a9
Author: daurnimator <quae@daurnimator.com>
Date:   Fri Feb 24 17:42:21 2017 +1100

    Don't use deprecated luaL_pushmodule() function

commit be1ef2d80f27cb11fe1ad54d6184adf1a3cec487
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 16:59:16 2018 +1000

    Remove unreachable linit module

commit 0160f99d1b601b1adedf81f90cee48a407a37726
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 16:39:31 2018 +1000

    Simplify setting globals by using lua_setglobal()

commit 76ab3651be8c6be89c2c42324ec723d5fd97359f
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 16:03:05 2018 +1000

    Remove use of obsolete lua_strlen() function

commit 50e7fd3a210a7b2b6abff7eac14cb3218175f1f0
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 15:58:22 2018 +1000

    Remove long deprecated lua_open() function

commit d05b43b9f1cb2ac04f1a0e8cff94dba0af97afd3
Author: daurnimator <quae@daurnimator.com>
Date:   Tue Apr 10 16:08:36 2018 +1000

    In rpmluaNew, move allocations to last moment

commit dd6c65044c41922193f520ace668e2c5e55f1004
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 16 11:26:46 2018 +0300

    Resurrect long since broken Lua library path
    
    LUA_PATH global variable is not consulted when loading libraries in
    Lua >= 5.1, package.path has replaced it. Rpm's Lua library path
    was always supposed to be /usr/lib/rpm/lua/ but this has been broken
    for the last ten years or so, oops. Make the directory a first-class
    citizen: create it on install, add a macro for it, make it actually
    work and ensure it stays that way by adding a test for it.

commit 8e06cbaa7db674d3edbde386c2681df317cd64ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 11:35:32 2018 +0300

    Fix reference to non-existing option in Slovak manual (RhBug:1635218)
    
    There's no --uninstall, only --erase.

commit 66e0c929b203d684a4f58135f42435fcc29cdd51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 12:00:19 2018 +0300

    Fix testing for wrong variable in selinux plugin debug log
    
    The strerror() case couldn't be reached as we were testing for the
    wrong rc, spotted by covscan.

commit a59fc0b91d0470d53bac58f28ede0022f4702c02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 11:53:17 2018 +0300

    Cosmetics: reindent rpmSetCloseOnExec() & friends to rpm style
    
    Introduced in commit 5e6f05cd8dad6c1ee6bd1e6e43f176976c9c3416 and
    307e28b4cb08b05bc044482058eeebc9f59bb9a9, my bad for not spotting
    on review. Just white-space changes here.

commit fa10245c91cdce82dcdaebf374a7d94694e6ba93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 11:31:49 2018 +0300

    Fix buffer overrun in glob tilde expansion
    
    Similar to 8dda888e14df323e1dc1e76a42851e68980658cd but this one
    noticed by covscan: not enough space for the terminating \0.

commit ff3d8ac2e5cb4456ad1355f227f3ccef08e01972
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 14:05:27 2018 +0300

    Drop an unnecessary Python 2 vs 3 incompatibility from the test
    
    Python 2 speaks about 'type' whereas 3 speaks about 'class', which from
    our perspective is just unnecessary pain with no gain.

commit 3f3cb3eabf7bb49dcc6e691601f89500b3487e06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 4 18:05:37 2018 +0300

    Bump the minimum Python version requirement to 2.7
    
    Older Python versions are long since past their EOL, we don't need to
    support them either. Python 2.7 is also the least incompatible version
    compared to Python 3, going forward. Nuke the now unnecessary compat
    macros.

commit 86f7898dd6a7fa8718c02675f5a7ee04ff987422
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 4 17:41:19 2018 +0300

    Fix couple of bytes vs strings issues in Python tests
    
    For the purposes of rpmio testing and importing public key, we're
    dealing with bytes rather than encoded strings. In the carefree days
    of Python 2 such details didn't matter, in Python 3 they cause failures.
    The signed package test still fails after this one but it's due to
    a more general issue.

commit 511eef19298765e3639bccbe98bc3a50023f45b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 4 13:36:09 2018 +0300

    Use Python 3 -compatible exception syntax in tests
    
    Makes a few tests pass that failed before, and others now fail
    a little bit later...

commit dcd5ab67c40b543f22b07df8c1028c34b94a7929
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 3 15:22:55 2018 +0300

    Honor PYTHON from configure when running tests
    
    Pass PYTHON from configure down through all the nutty layers of make
    to allow running test-suite with Python 3. In theory that is.

commit 5ddda1a7d61fc2150187b4d8bbc524fdc4a7edd9
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Oct 1 17:32:40 2018 -0400

    fileattrs: Prepare python attr path for Python versions greater than 3.9

commit 83bf933b7e282a6b22b71cf11ab4520fdb80d821
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Oct 1 17:18:11 2018 -0400

    fileattrs: Tighten pythondist path regex for metadata (RhBug:1618949)
    
    The current regular expression for matching on Python metadata files was
    too greedy, leading to generating dependency information for Python modules
    that were actually bundled in another module rather than actually being
    installed in a way that is usable and accessible from any Python code
    using the system interpreter.
    
    This change tightens the regular expression so that we only match on
    modules that are installed in a way that they'll register with
    distutils/setuptools based tools (such as pip) and usable as
    dependencies for other Python module packages.

commit 531dc8495cd3aabd3f659ecab604106fdbacbe98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 3 11:51:38 2018 +0300

    Fix ancient python GIL locking bug on callback (RhBug:1632488)
    
    Introduced in commit c7881d801745b4c156a8aa2afc17b95f97481e34 back in 2002,
    synthesizing a python object for the callback occurs before retaking
    the GIL lock, which is not allowed. Somehow this has managed to stay
    latent all these years, and even now requires fairly specific conditions:
    when the callback gets called without an associated key, such as erasures
    or file trigger script start/stop events (in the case of RhBug:1632488),
    when Python 3 is running in PYTHONMALLOC=debug mode,
    it crashes with "Python memory allocator called without holding the GIL".
    
    Simply retake the lock before any Python operations take place to fix.

commit d5b66a81b1e19f1db41c383359d07e606ee08b1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 17:59:19 2018 +0300

    Ensure space between user and group in verbose file query output (#544)
    
    With usernames >= 8 characters long, the username and groupname are
    printed together creating an unintelligible mess. Ensure space between
    user and group.
    
    What a sorry little bug, and easily 15+ years old.

commit 33276849b143f73776811a1fd0f92d9972a43207
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 16:23:18 2018 +0300

    Fix %requires_eq() in non-English locale
    
    Setting LC_ALL for the wrong command, only took 16 years for
    anybody to notice...
    
    Resolves #541, also RhBug:1597701

commit b1f81b837f46bcbad8b527e41c7b7ebb0175d156
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Fri Mar 30 16:37:19 2018 +0200

    Add armv8* arch variants to rpmrc.in and %arm macro
    
    armv8* is aarch64 machines in 32-bit mode
    Also fix %arm macro to include newer processor types
    
    Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>

commit 7f0e0b5be44a5cb4e333e478e243e57f36de5a5e
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Tue Apr 10 20:22:48 2018 +0200

    Fix %arm macro to include newer processor types
    
    Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>

commit 8c3a7b8fa92b49a811fe36b60857b12f5d7db8a8
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Tue Apr 10 17:18:12 2018 +0200

    Improve ARM detection
    
    Unify detection of all armv* architecture subtypes,
    add support for armv8hcnl (+crypto extensions) detection
    
    Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>

commit 0e2b8a390e9c9b01920812a65ebd88e0fbad4d3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 15:37:48 2018 +0300

    Take %_prefix into account when compressing man pages etc, take II
    
    brp-compress used to be all hardcoded around /usr for no good reason.
    Support passing prefix as an argument and only look for things to
    compress there. First attempt in 5e65f92b53ca07c6e30921688c1b84d0a6b41db7
    had an embarrassing typo/thinko/case of missing brain in the assign syntax.
    
    Based on feedback and work of Owen Taylor and Yanko Kaneti in PR #538

commit def91b85ccfc713433831b76ba1b087b5b62d9a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 15:36:15 2018 +0300

    Revert "Take %_prefix into account when compressing man pages etc"
    
    This reverts the broken commit 5e65f92b53ca07c6e30921688c1b84d0a6b41db7.

commit c33b41b2f1178d263b68140d7a5cad108c6d8fad
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Fri Aug 31 15:51:16 2018 +0200

    build: Make sure SOURCE_DATE_EPOCH is in the past
    
    otherwise, builds before noon will not have normalized mtimes
    from %clamp_mtime_to_source_date_epoch
    
    This also helps other programs like tar --clamp-mtime

commit 5e65f92b53ca07c6e30921688c1b84d0a6b41db7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 14:36:45 2018 +0300

    Take %_prefix into account when compressing man pages etc
    
    brp-compress used to be all hardcoded around /usr for no good reason.
    Support passing prefix as an argument and only look for things to
    compress there.
    
    Based on feedback and work of Owen Taylor and Yanko Kaneti in PR #538

commit 62d901a22b7eb6c86c15290032a41e11427ddf87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 13:41:45 2018 +0300

    Report debuginfo size in kilobytes
    
    By standard, 'du' defaults to 512 byte units, but this differs between
    implementations: GNU du defaults to 1024 unless POSIXLY_CORRECT is set
    and also allows overriding via number of environment variables. It also
    supports various other ways of controlling the block size, but the
    only standard means to control the size is -k, and we really don't
    want to break portability for the sake of FYI statistics.
    
    Inspired by Marxim Liska's patch at in #554.

commit 7ffc4d17ffa8f87bd9107b5dc4d9e25daadd14ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 14:20:47 2018 +0300

    Implement thread protection locking on the string pool
    
    The shared string pool is in a very central role in several operations,
    it's kinda embarrasing that we haven't had any thread protection
    on it. Not that anybody has asked either, prior to coming up as part
    of #226 (to enable threaded package creation).
    
    Test-suite and couple of smoke-tests with the #226 pass, but only
    lightly tested. Then again, it's relatively straightforward. As a general
    rule, locks are taken on all exported interfaces on entry and released
    on exit, internal callers never lock anything. In rpm usage at least,
    performance hit seems negligible.

commit 613842841f682173ce7bcca10a3badc4a3fdb2da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 14:24:33 2018 +0300

    Un-oneline rpmstrPoolNumStr() for next step

commit 8e90ea931c1fa03b47a3419de3840b2510f4aec7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 13:42:26 2018 +0300

    Use helper variables for pool streq comparison
    
    No functional changes, but will be necessary for things to come.

commit 0a6cfc17a19659c725c41bb7c9107196d7e230d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 13:38:40 2018 +0300

    Add + use an internal helper for id -> string retrieval
    
    Ensure non-NULL pool on the outer call, internal callers don't need that.
    No functional changes, just refactoring for things to come

commit 4d6775594193c99ef320303819dd310c11f8c03f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 13:02:39 2018 +0300

    Check for NULL pool on the outer callers
    
    No functional change, just minor refactor for things to come

commit 9666e8c297515910674e7a4122016e038251664b
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Thu Sep 20 10:40:26 2018 +0200

    Document uncompressed payload
    
    e.g. can be useful for src.rpms where .tar.xz files are already compressed

commit 4850ea65674becf2edd9da5888e966f7dfe1b7d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 13:12:39 2018 +0300

    Pass the entire dependency rather than just flags to addSingleRelation()
    
    Avoids having to separately pass things like reversed down the callers,
    and would be necessary to priorize strong dependencies over weak ones
    (but that's not done here).

commit 1ffd326004b33dc647fbc65b1904213afb5e85e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 13:10:42 2018 +0300

    Rename addRelation() dependency argument, it's not always "requires"

commit bfa6500f0657dc7157b1bf6bb87aea131df6e9ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 12:54:45 2018 +0300

    Eliminate copy-paste repetition in ordering relations processing
    
    The number of tags affecting ordering has grown gradually over the years
    and everybody just added more while-loops, but enough is enough.

commit 1ac1b8885985ab6f0518c294b55975970d1c2be5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 12:22:56 2018 +0300

    Take advantage of rpmdsIsReverse() in ordering code

commit 0eca41bfa443240f92bb597ffed90d876f577539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 12:21:50 2018 +0300

    Initialize dsflags at declaration, dont waste of perfectly good lines...

commit e681e6a95aa035104f2dd3fc7cd1969230bbe932
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 12:09:21 2018 +0300

    While we're at it, add rpmdsIsReverse() + python bindings too

commit c7e68754584c49764c397cbccc23aebc491b1a3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 11:59:02 2018 +0300

    Add python bindings + tests for rpmdsIsWeak() and rpmdsIsRich()

commit a3530fd732463ebc2609dd987820f4cb6995de3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 11:29:54 2018 +0300

    Add an API for determining whether an dependency is weak (aka soft)
    
    Currently not used by anything but seems like a useful thing to have...

commit 57b4f21634429ccd29d47cf93ec0841f70b68404
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 11:02:36 2018 +0300

    Mark elements with associated problems as failed
    
    An element with a problem can not possibly succeed so mark these failures
    early. Doesn't make much of a difference as problems will prevent the
    transaction from starting in the first place but it makes sense anyway.

commit 2d81c6854f3bfa02c948962200a1d1cdd6e758f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 10:58:43 2018 +0300

    Propagate element failures recursively
    
    Doesn't make much of a difference yet, but it's the right thing
    to do anyway.

commit 06953879d3e0b1e9a434979056d1225ab4646142
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 09:06:12 2018 +0300

    Ensure there are no background jobs left around from build scripts (#134)
    
    This will only catch anything explicitly placed into background, but then
    there's no way for us to catch things like double forked daemons anyway
    without more advanced non-portable things. Don't bother trying to be
    nice first, there aren't supposed to be any jobs left at this point
    so we might just as well kill with prejudice.

commit 37de1c4e483c6a6f1a289173053477e35a4049ed
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Sep 5 20:51:45 2018 +0200

    mailmap: invert emails for Igor Gnatenko
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 6169f437f24b2bfe85756c433c6e075c1ea3f3c2
Author: marxin <mliska@suse.cz>
Date:   Tue Aug 28 11:31:17 2018 +0200

    Info how beneficial is dwz compression.
    
    Example output:
    ...
    original debug info size: 120600, size after compression: 77604
    ...

commit ddb32b9187e9ce85819a84ca8d202131fd9f8b9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:33:00 2018 +0300

    Ensure dependency matches from rpmdb are actually in range
    
    Given the following situation (following --nodeps):
    * package foo is installed that Requires: bar = 1.0
    * package baz is installed that Provides: bar = 2.0
    * nothing on the system provides bar = 1.0
    
    Previously, an attempt to remove baz would result in:
    error: Failed dependencies:
            bar = 1.0 is needed by (installed) foo-1.0-1.x86_64
    
    ...which is quite clearly wrong, foo was never the provider in the first
    place so it shouldn't come up at all. This is a truly ancient bug, quite
    possibly been there all along.
    
    Problem is, we were only looking up rpmdb matches by name. Adjust callers
    to pass in an actual dependency set where it exists (everything but
    file dependencies in practise) and only verify dependencies for overlapped
    dependency ranges. Extend our unsatisfied dependency test-case to cover
    this corner as well.

commit 40894c1758be64786b1005ee58e383eb251b0a29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:10:52 2018 +0300

    Handle negated dependencies in checkInstDeps() directly
    
    This is not supposed to change any behavior and only slightly less code,
    but we'll need this in the next step.

commit 373d80caca1d0a14e25a5ad53ce622ead117c9c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:05:28 2018 +0300

    Avoid unnecessary headerGetAsString() when checking installed deps
    
    Getting header NEVRA is only required when there's an actual problem,
    no need to do it for each header we check. It's minor optimization
    at best...

commit 788935c9ea9d2f469f24be10a9fa998594046731
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 11:52:33 2018 +0300

    Fix a blindingly obvious memleak in package verify step
    
    Erm. Introduced in commit 765e2c72ae8be369ada41d4747b8999519a0e327,
    but how on earth did this go unnoticed... *blush*

commit fb8eb1c05d3dbc5ff0012ba988cfcb62033afba0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 11:39:15 2018 +0300

    Revert "find-debuginfo.sh: decompress DWARF compressed ELF sections"
    
    This is breaking suid bit handling in packaging unless an unreleased
    bleeding edge version of elfutils is used. In other words it's not
    an acceptable requirement and wont be for a long time. This needs
    to be fixed in some other way.
    
    This reverts commit 1c3bf3d6495c4b7d585d931fbac4b1f894833f89.

commit b2a314831ef59d52f15bd5b00b9046b8b397b5bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 11:26:05 2018 +0300

    Update test-suite expectations wrt empty Relocations in rpm -qi
    
    Should've been in commit 1bf40dd21d5603b6319492a01fdf323e9d658560

commit 1bf40dd21d5603b6319492a01fdf323e9d658560
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Thu Aug 23 08:57:05 2018 +0200

    Skip showing empty Relocations line in rpm -qi
    
    Almost nobody uses them, so the
    "Relocations : (not relocatable)" line is a waste of screen estate.
    Just output the line if there's something interesting to show.

commit 4cc32dec579afbc4aa48de62ee125f532bf3fc94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 12:14:07 2018 +0300

    Return error codes from elfdeps
    
    processFile() always returned errors for things like non-existent file
    and non-elf file etc but we've ignored it all. Reflect such errors with
    non-zero exit code as per common practise.

commit b5eed5a56923c52e2b1fae2fd0c00900775e403c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 14:34:10 2018 +0300

    Update CREDITS for a change

commit 15cf62488b8590b75a14040d393417266f9584b1
Author: Filipe Brandenburger <filbranden@google.com>
Date:   Mon Aug 6 23:05:45 2018 -0700

    Add shortcut to --nodebuginfo
    
    Currenlty, the incantation to skip creating debuginfo RPMs is:
    
      $ rpmbuild -ba --define "debug_package %{nil}" hello.spec
    
    Which looks ad-hoc and always requires me to go back and check my notes...
    
    This commit adds a shortcut by making it possible to run:
    
      $ rpmbuild -ba --nodebuginfo hello.spec
    
    Also add test coverage for the new feature.

commit bc91962b6a528cadd64f340c1e248897d7919b29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 12:54:58 2018 +0300

    Bring ftp/http documentation up to date, eliminate leftovers (#521)
    
    %_ftpport and %_ftpproxy have been unused since 2007 or so, and the
    cli options --ftpport and --ftpproxy have been pointing to http proxy,
    but ftp- and http-proxy is not interchangable. Eliminate the broken
    options, http-proxy settings are used for everything. Update the manual
    accordingly, claryifying a few things on the way.

commit 3db77601eb65ab27a5b46a21c473cc1577f9dc4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 17 10:51:51 2018 +0300

    Increase order test coverage
    
    Test all our order-affecting dependency types: regular requires, order-only
    requires, weak dependencies and reverse weak dependencies.

commit b7ab1d1d6f2f1adc6ddfae51773d70b9ba08b883
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 16 16:25:02 2018 +0300

    Actually remember weak dependencies in transaction elements (RhBug:1593185)
    
    Ordering by weak dependencies can't work very well when the weak
    dependencies are not present in the calculated data at all...
    Add a test-case duplicating the requires-order with recommends-order
    to proove that it actually works now.

commit f15e86bf9a9a5a972b80aca5b9816948c58d82fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 15 13:24:23 2018 +0300

    Document tag=pattern query/verify selector in the manual (#451)

commit fc5c8da392f1e1edc9bf1779754aba956a355120
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 15 13:04:50 2018 +0300

    Include expected output in more install test-cases
    
    ...and nuke the very outdated comment about --nomanifest not working

commit 0e70854b6f7a5510cde24d533b3fcafbe398a753
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 15 11:47:06 2018 +0300

    hdrblobImport() doesn't support NULL as hdrp (#487)

commit 7c2205a537867b95f81ce874b735b49f3c73fad3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 15 11:33:38 2018 +0300

    Fix ancient memleaks on error paths of expression parsing
    
    Always initialize alloced variables so they can be safely freed,
    handle error exits through central paths where cleanup is done.
    Any change in behavior here would be a bug.

commit 93ac73ae01fd645952b948c9688d5ccb30b9da1d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Aug 9 08:37:16 2018 +0200

    Add missing documentation for --jobs in find-debuginfo.sh

commit 5b9053e36e627685b6fcad72ad3655a07ceecac8
Author: Jan Pazdziora <jpazdziora@redhat.com>
Date:   Wed Aug 8 14:00:26 2018 +0200

    rpm.spec's .prep seems to be an attribute.
    
    Addressing
    Traceback (most recent call last):
      File "test.py", line 7, in <module>
        print(s.prep())
    TypeError: 'str' object is not callable

commit 801ee2e8eb2e5b2566fdb8b8bed8f7a64235b2e1
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Mon Jul 30 19:02:46 2018 +0200

    find-debuginfo.sh: sort output of find
    
    to make build results more reproducible
    in spite of indeterministic filesystem readdir order.
    
    For openSUSE, this helped to make squid, openssh, postfix and shadow
    packages build reproducibly.
    
    See https://reproducible-builds.org/ for why this is good.

commit 66b5a7750afc46c41f2272a6774f82b6448951d8
Author: Jan Pazdziora <jpazdziora@redhat.com>
Date:   Wed Aug 8 10:49:00 2018 +0200

    Make python examples run with python 3, the print commands.
    
    Addressing things like
        print s.prep()
              ^
    SyntaxError: invalid syntax

commit 41cf6f9c8038a99e1e4930a8e70289ca5c8eff5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 13:43:31 2018 +0300

    Clean up and improve rpmlog error handling + reporting
    
    Centralize the log failure printing to a helper function, handle
    the common conditions there. Remember the last error and only
    print a new one if the error differs to avoid unnecessary flooding.
    Finally, make the actual message more concise and mark it for i18n.
    Oh and add a testcase as well.
    
    This will still try to perror() in vain even if it's stderr that's
    returning the errors in the first place, but maybe that's perror()'s
    problem and not ours.

commit dfe88a692e013a318b7cfd202b2b56800a8bfb58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 13:19:23 2018 +0300

    Fix rpmlog error handling regressions from colorization (RhBug:1597274)
    
    Commit 78b7a009cfeae64c55afe1ba5d3cf9c29b4e3c57 caused reintroduced
    some stream calls whose return value is not checked, causing the
    failure to log message from getting output. In addition one of the
    fputs() conditions was wrong (EPIPE instead of EOF).

commit a1a12c960b866015e09212a893ececaca4d4329e
Author: Miroslav Suchý <msuchy@redhat.com>
Date:   Thu Aug 2 19:03:15 2018 +0200

    Add missing newlines to man page
    
    Signed-off-by: Miroslav Suchý <msuchy@redhat.com>

commit 7bc95b616b2d11ac9a5d425f77cd3fe944e67534
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Jul 28 07:36:48 2018 -0400

    fileattrs: Add attr for pythondistdeps
    
    Rather than having the pythondistdeps dependency generator run on
    all Python code, this separate attr will activate it only if the
    package includes Python dist metadata (such as egg-info or dist-info
    for Python Eggs and Python Wheels, respectively).
    
    This is much more efficient, too, since the generator is only run
    in circumstances where it will provide useful information.
    
    This is based on the dependency generator attr used in Mageia,
    OpenMandriva, and other systems that use the generator.

commit da957942db8650226f451aeb21aba7bc87d3630a
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Aug 1 16:11:53 2018 +0200

    test/README Tests require gpg2

commit 628dd95e26fa320f8fff7186498b8ea90556eae2
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Tue Jul 31 16:53:18 2018 +0200

    Add tests/README
    
    to document how to run tests

commit 97e534eae7ceac1998d07dabd825eb6adaf767cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 12:14:34 2018 +0300

    Fix ancient memleak in spec preamble parse
    
    Introduced in commit 6a7ef512e26c28f28673930649084e7144c4c2a0

commit 40d9c027d5f8d39a383ce8351320535f6eb5622f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 12:08:14 2018 +0300

    Fix memleak in changelog full timestamp parsing
    
    The second getenv() + xstrdup() is wholly redundant and only achieves
    leaking memory if TZ happens to be set. Introduced in commit
    57f94a582602f0353cdb17a02dc12c4461d4f32d.

commit d8bd42afb84573baa478d6f2964b74feb2287b17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 11:50:09 2018 +0300

    Remove redundant rpmGlob() retval condition
    
    rpmGlob() will only ever return with a zero if there's at least one
    match, hence the check for argc >= 1 is just redundant and confusing
    to both humans (what's the condition where this can happen?) and to
    static checkers which think there's a memory leak.

commit 4bd45009b46e85949ab70e134ccab4bd6aeaccb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 11:29:10 2018 +0300

    Fix an obvious typo in dwz filename generation
    
    This typo has always been there since the initial implementation in
    Fedora-specific patches in 2012 and inherited upstream. Which suggests
    something hasn't been working right all this time, or then this will
    break something all of a sudden...

commit 9296916dddc922b0459929681452c657df4fe69e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 10:51:49 2018 +0300

    Copy DISTTAG to source rpms too if present
    
    Related to ticket #406 and commit 6ba887683b4bf9712be00a3d5dcaa890bfce47c1,
    it was noticed in RhBug:1596192 that the tag is not inherited to src.rpms.

commit 37a7bf1045128bf9cebcc1911f38c7bfbd897b13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 18:21:59 2018 +0300

    Fix ancient memleaks on buildRoot re-expansion sanity checks
    
    Introduced back in commit cc74d50a6dadfa30914844e6c4c0513287bf7f68.
    Just replace the old values always and never mind, if it's invalid
    we're going to bail out with an error anyhow.

commit f058b69a42bd9728e261429494201bd3bce9b2ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 18:04:51 2018 +0300

    Fix an ancient leak and missing error logging on src.rpm create failure

commit e9c61f716e45964d8ba7b1f9fa87ed41ba0044a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 17:10:04 2018 +0300

    Fix leaking opendir() handle on database rebuild
    
    Introduced in commit 4b0356c5671daafb954c8ee932742ad7da57f345

commit 394c15fa2503607c77c4f4728bd8986bac5bb77c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 17:06:43 2018 +0300

    Fix leak on dlopen()'ed handle in case our _hooks symbol is not found
    
    Probably been there since initial implementation

commit 884471b71914727a872e3df336e9c7b24f9b4203
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 17:06:19 2018 +0300

    Fix ancient FILE leak in file manifest reading

commit 27c5ee3e4d8ccf17936ffb91a858676724f5cb5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 17:01:02 2018 +0300

    Fix a memleak in file verification
    
    Introduced in commit 591f95a849776aba2a6a9e42fbdd27754a2818b0: unlike
    rpmfiFN(), rpmfilesFN() returns alloced data and thus needs to be freed.

commit fc449e06e5e7c311273864ca396f0c249eea9ecc
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Sat Jul 28 22:35:34 2018 +0200

    Python generators: Use nonstandardlib for purelib definition
    
    The purelib and platlib were both defined to /usr/lib64/python on
    64bits systems. This is because:
    
        >>> get_python_lib(standard_lib=1, plat_specific=0)
        '/usr/lib64/python3.7'
    
        >>> get_python_lib(standard_lib=1, plat_specific=1)
        '/usr/lib64/python3.7'
    
        >>> get_python_lib(standard_lib=0, plat_specific=0)
        '/usr/lib/python3.7/site-packages'
    
        >>> get_python_lib(standard_lib=0, plat_specific=1)
        '/usr/lib64/python3.7/site-packages'
    
    So now we use standard_lib=0 to get the site-packages base path
    from /usr/lib and not /usr/lib64.

commit 1c3bf3d6495c4b7d585d931fbac4b1f894833f89
Author: Mark Wielaard <mark@klomp.org>
Date:   Sat Jul 21 10:13:04 2018 +0200

    find-debuginfo.sh: decompress DWARF compressed ELF sections
    
    debugedit and dwz do not support DWARF compressed ELF sections, let's
    just decompress those before extracting debuginfo.
    
    Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit df6ca7a76f4e3c2af50dfc39bee4782090f9ea69
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jun 28 10:25:35 2018 +0200

    Fix creating bogus requirements by perl.req (RhBug: 1539344)
    
    When matching the module names demand a string of allowed characters
    instead accepting everything and relying on terminating characters to
    end the name.
    
    Thanks to Jitka Plesnikova for the patch.

commit 38c2f6e160d5ed3e9c3a266139c7eb2632724c15
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jun 28 08:57:16 2018 +0200

    Remove misleading --setperms and --setugids warnings (RhBug: 1538610)
    
    Non-existent %ghost or %missingok files should not cause warnings
    generated by rpm --setperms or rpm --setugids.

commit e3204e892cba0a7152b213498d270915f4631112
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 15:09:11 2018 +0300

    Fix out-of-tree build regression
    
    Commit 9c3e5de3240554c8ea1b29d52eeadee4840fefac introduced an include
    on rpmio_internal.h into luaext/ which works when building in the
    tree but isn't found when only top_builddir is included. Include
    top_srcdir too, pff.

commit 7b7e207e688c0a207ca3e4863e958bbdab5e59ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 15:03:09 2018 +0300

    Add rudimentary documentation to the vfylevel and -flags apis

commit 98309c67b68e52a2863d27c3ef22f4e3d38673a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 14:45:49 2018 +0300

    Eliminate rpmcliVSFlags from core transaction code
    
    Now that we have the API to do so, handle it in rpmInstall() where
    it belongs.

commit f9f85af2d3a73a31ee099c6da809be8ebdeb2dc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 13:29:36 2018 +0300

    Add a public API for controlling package verification flags
    
    We can't use the existing transaction vsflags for package verification
    purposes due to legacy misuses and fundamental differences - vsflags
    defaults are very different and change can't really be relied on as
    this is all tangled up in legacy issues, misuses and misunderstandings
    in 3rd party code and whatnot. I dont see a way to unify them in
    foreseeable future, unfortunately. So add another API...
    
    Rename _vsflags_pkgverify to _pkgverify_flags to differentiate it from
    the other vsflags (because it is different), add get/set API for it in
    transaction sets and use where immediately obvious (but there's
    the rpm cli install case left to deal with)

commit 60cbee157611875357d053f7fcdcb973c9625589
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 11:22:41 2018 +0300

    Rename vslevel back to vfylevel everywhere, sigh
    
    rpmtsVSFlags() doesn't actually control what happens with the package
    verification that vslevel/vfylevel relates to, it controls
    the verification that happens on header/package read. We actually
    need a separate API for controlling the flags that control the
    operation that verify level is associated with, so to avoid total
    confusion as to what is what... paving way for adding rpmtsVfyFlags(),
    but that's not added in this commit - rename only.

commit 619f220af574a25bc8e58c7908ac526b55ed5a0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 12:37:27 2018 +0300

    Adjust testsuite for CVE-2017-7500 verify tweak, deep sigh
    
    Commit 10bd0373179f203633eb8e4e392b94926d306b7a broke the testsuite
    as we can't test anything wrt file ownership on disk. The test only
    "worked" because it looked at the packaged value, but that's not
    really right either. How hard can it be? Sigh...
    
    Anyway, we can only test for this now if we're root, and make the
    test actually work for *that* case.

commit ff4b9111aeba01dd025dd133ce617fb80f7398a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 26 10:46:14 2018 +0300

    Rip out partial support for unused MD2 and RIPEMD160 digests
    
    Inspired by #453, adding configure-checks for unused digests algorithms
    seems nonsensical, at no point in rpm history have these algorithms been
    used for anything in rpm so there's not even backward compatibility to
    care about. So the question becomes why do we appear to have (some)
    support for those unused algorithms? So lets don't, problem solved...

commit 697b680222cb9b1d23fdf2ace0b06263b32aab82
Author: Pavel Raiskup <praiskup@redhat.com>
Date:   Thu Jun 21 15:47:39 2018 +0200

    Fix typo in trigger docs

commit 10bd0373179f203633eb8e4e392b94926d306b7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 15:35:04 2018 +0300

    Adjust file verify to really follow CVE-2017-7500 rules, doh
    
    The file verification logic wrt directory symlinks needs to match that
    of fsmVerify(), which wasn't really the case. This should've been in
    commit d3fae43615f4e925e21fd12a96974a85542f13b9, and thanks for Michael
    Schroeder for this one too.

commit b4baabbbaba4262ef1a3114968bd687fc1274424
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 12:36:29 2018 +0300

    Oops, add verification callback symbols to python bindings
    
    Should've been in commit 765e2c72ae8be369ada41d4747b8999519a0e327
    or thereabouts at least.

commit 4cd124145d156567c47de64451d4ab17c3254618
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 11:16:18 2018 +0300

    Add Python bindings + simple testcase for the verification level API

commit 5ed632ae8a2a4a6de69a0d800340c9dc5d529ec0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 14:27:58 2018 +0300

    Make --nosignature/--nodigest affect verification level too
    
    The original implementation from 765e2c72ae8be369ada41d4747b8999519a0e327
    and ac280c42e3071cf46f3c4ea5fba2244c89a5cea9 left --nosignature/--nodigest
    with rather peculiar semantics, making them quite useless in practise.
    To avoid spending rest of my life explaining the behavior and rationale,
    extend their behavior from mere vsflags disablers to also disable
    the corresponding verification level policy. In other words: --nosignature
    can now be directly used to install a package with a bad/missing signature
    even if enforcing signature policy is active. Ditto for digests. Update
    test-suite expectations to match.
    
    The cli-side implementation is klunky but it'll have to do now...

commit fedc9ad1115220866efb7505704e3c384f0f76ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 12:24:12 2018 +0300

    Move --nodigest/--nosignature/--nohdrchk handling back to popt callback
    
    Commit 80f8d6376066a3e2e303965d7f0e462d0f2bb8bb moved them from the
    callback to direct POPT_BIT_SET operations but now we'll want to
    do more in these cases so POPT_BIT_SET will not do. No functionality
    changes here though.

commit bc805d7a250834e38829e44758f50611bbd1b2a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 12:04:42 2018 +0300

    Move verify level configuration to transaction set public API
    
    This makes it all more in line with how rpm does things overall,
    and also we might want different policies for eg chroot installs
    and system installs etc. Also makes it exporting the API easy.
    Rename vfylevel -> vslevel to make the close relation clearer.
    No behavior changes though.

commit 7b08c6a8f86508b236ac8a26e167d45d2fcda42b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 10:15:37 2018 +0300

    Eliminate weirdo "usesys" argument from rpmvsVerify()
    
    Pass the desired verifylevel (whether system or not is well known
    at the call site) to rpmvsCreate() and remember it there, this seems
    far less bizarre API-wise. No functional changes though.

commit 254a88e2947a064010f4067aa93540e517636acc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 11:27:26 2018 +0300

    Create transaction set only after initializing rpm itself, oops
    
    rpmkeys has been creating the transaction set prior to initializing
    rpm itself, meaning macros initialized in rpmtsCreate() get wrong
    values. With surprisingly little effect it seems... for current
    usages that is.

commit d4f63dfe36d5e49402c908ccd32ffaa04852f816
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 13 12:26:08 2018 +0300

    Unbreak numberless %patch from the autonumering changes
    
    Commit 53036261dda93885106901a983976eb0e9ee6ea2 incorrectly claims
    that numberless Patch: and Source: referred to number zero internally,
    instead they were special cased to INT_MAX which allowed differentiating
    from zero and the cost of ugly hacks here and there, and making referring
    to the patch/source by %{PATCH/SOURCE<N>) macro rather impossible.
    
    Undo the rest of the INT_MAX magic too and make numberless %patch really
    equal patch number zero. This makes it work for the common case, for
    example in Fedora's > 19000 specs there is not a single case where
    the former special INT_MAX magic would've been necessary. If this change
    breaks somebody's spec, I'll promise to light a candle for it on a
    dark and cold winter night, we have plenty of those here in Finland.

commit d15ea79139304e14e6aaf6143af34c0405c41966
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 16:19:47 2018 +0300

    Ensure /usr/bin/python is present in the CI environment
    
    Oh the joys of Python 3 transition :(

commit c5b41df2f0d075f7d986387ff1ea5f73efe84866
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 16:17:59 2018 +0300

    Make test-suite work with coreutils multicall binary too
    
    In current Fedora rawhide, coreutils-single is what gets pulled in
    and that breaks our testing root unless the coreutils multi-binary
    is also linked.

commit 983c57f55cee9491dc97439200231ee337dc9f59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 15:06:06 2018 +0300

    Log a more specific error on scriptlet exec() failure
    
    There's already a generic scriptlet failed error message but never
    hurt to be specific. It also shuts up the "xx set but not used" whine
    from gcc introduced by commit b4667e9c09a28fbc361e64a37c6ff734bbab8db7...

commit a83288b0ce6ba45e5467cb7706503e68376a6886
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 14:05:38 2018 +0300

    Add support for --whatconflicts for good measure
    
    Seems bizarre to not have this when all other dependency types
    are covered so...

commit 88b207a373f08866ff6b430ccd64b1660b8be79e
Author: Thierry Vignaud <tvignaud@redhat.com>
Date:   Mon Jun 11 16:04:58 2018 +0200

    Add support for --whatobsoletes
    
    Mirroring the other --what* options, it's useful when debugging some
    upgrade issues

commit 53036261dda93885106901a983976eb0e9ee6ea2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 13:07:27 2018 +0300

    Add support for automatic patch and source numbering
    
    Up to now, Patch: and Source: without number has been special-cased to
    mean Patch0 and Source0 respectively. However with the advent of
    %autosetup, patch numbers in particular are getting increasingly
    irrelevant: the order is what matters but manually maintaining
    a set of increasing numbers is only tedious. GOTO 10 anyone?
    
    Redefine numberless Patch: and Source: to mean automatic numbering
    incremented by one, starting from zero or the last manually defined number.
    This means you can mix and match automatic numbering and manual numbering
    to some degree: for example you can start using autonumbered patches
    without converting all of the spec to that syntax at once.
    
    This is backwards compatible with most common cases, but certainly there
    are cases that are not: if numberless Patch/Source follows numbered ones
    then it'll behave differently and possibly break builds. And obviously
    specs using more than one numberless Patch/Source will not be buildable
    with older rpm versions.

commit b4667e9c09a28fbc361e64a37c6ff734bbab8db7
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Wed Jun 6 20:23:09 2018 +0100

    Remove dubious condition on scriptlet exec()
    
    The check used to make some sense back in rpm < 4.12 where xx depended
    on rpm_execcon() result, but even there it was only meaningful when
    SELinux was enabled. It would seem to make sense to simply remove the
    dubious check entirely.
    
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

commit d3fae43615f4e925e21fd12a96974a85542f13b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 12:55:58 2018 +0300

    Really fix CVE-2017-7500. Ugh.
    
    This is what you get for rushing a fix and relying on a test-suite that
    cannot test ownership changes :( The idea behind passing the stat struct
    from the package in commit f2d3be2a8741234faaa96f5fd05fdfdc75779a79
    perhaps was that we'd actually want the owner of the target directory in
    the package, not disk. But it's not the target directory we're passing
    there (we can't easily get that data from here) so the test is bogus
    and thus doesn't fix the actual problem. Just use the target directory
    permissions on disk since that's the best we have, and remove the now
    unused argument from fsmVerify() again.
    
    Thanks to Michael Schroeder and SUSE QA team for noticing and reporting!

commit a8436c52ec82c64d4a1a6b67f3e34cd437674f1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 12:44:11 2018 +0300

    Plug a memory leak from commit 170bc61a337f74a3619be0357bb3da96306c2769

commit 3837ecce3b25aa9991128de93957fd65bde0a7f6
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 5 11:13:26 2018 +0200

    Use new RPMVSF_MASK_* constants in comment of the macros file

commit 6cd94fbe4d09dd09e66aa9b712f60feeae8d4ffc
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 5 11:09:33 2018 +0200

    Expose new RPMVSF_MASK_* constants in Python binding
    
    Fixes #440

commit c9cda9acde7336be82da176bab774116e28ba72c
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 5 11:02:51 2018 +0200

    Use new RPMVSF_MASK_* constants

commit 9dc1906c8da6497dea9d2c9f278309a1737b9805
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 5 10:45:38 2018 +0200

    Rename _RPMVSF_* constants to RPMVSF_MASK_*
    to match general naming conventions and don't clash with Python private
    variables pattern.
    
    Keep macros for old names around for compatibility.
    
    See #440

commit fab7348d9a338349e5727f87af734c0e20cfb7ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 4 15:00:25 2018 +0300

    Fix a leak and a race in rpmdb open/close handling
    
    As pointed out by Alan Jenkins in PR #359, there are several ways how
    rpmdbClose() could get called from openDatabase() prior to the newly
    created db handle has been added to the list, which since commit
    4c6e51e2c0e3deeb052ae3c47115b6d10cb0d696 is thought to mean the db was
    already freed by somebody else. Thus it would leak resources.
    
    In addition, there's a window where we could get shut down by signal
    before the possibly open database was added to the list, causing the
    database not getting shut down properly.
    
    Always add new database handles on the internal bookkeeping list right and
    do so right after allocation to fix both problems, and update the signal
    queue activation test to match the changed condition.

commit 18e792340e33eade01967d01d5801f1ae9e0ad33
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed May 30 16:54:01 2018 +0200

    lua: add rpm.execute()
    
    At this point, if you want to avoid using shell you have only option
    which is to use posix.fork() and posix.exec() which is too verbose and
    not optimal (as Florian Weimer says, posix_spawn() can be implemented
    more efficiently than usual fork() / execve() sequence).
    
    Typical use-case is shown below.
    
    -- Before
    pid = posix.fork()
    if pid == 0 then
      assert(posix.exec("/foo/bar"))
    elseif pid > 0 then
      posix.wait(pid)
    end
    -- After
    assert(rpm.execute("/foo/bar"))
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit cb2ae4bdf2f60876fdc68e3f84938e9c37182fab
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Tue Feb 6 14:50:27 2018 +0100

    lua: fix memory leak in Pexec()
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 307e28b4cb08b05bc044482058eeebc9f59bb9a9
Author: Kir Kolyshkin <kolyshkin@gmail.com>
Date:   Tue May 29 18:09:27 2018 -0700

    rpmSetCloseOnExec: use getrlimit()
    
    In case /proc is not available to get the actual list of opened fds,
    we fall back to iterating through the list of all possible fds.
    
    It is possible that during the course of the program execution the limit
    on number of open file descriptors might be lowered, so using the
    current limit, as returned by sysconf(_SC_OPEN_MAX), might omit some
    fds. Therefore, it is better to use rlim_max from the structure
    filled in by gertlimit(RLIMIT_NOFILE) to make sure we're checking
    all fds.
    
    This slows down the function, but only in the case /proc is not
    available, which should be rare in practice.
    
    Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

commit 5e6f05cd8dad6c1ee6bd1e6e43f176976c9c3416
Author: Kir Kolyshkin <kolyshkin@gmail.com>
Date:   Tue May 29 17:52:56 2018 -0700

    Optimize rpmSetCloseOnExec
    
    In case maximum number of open files limit is set too high, both
    luaext/Pexec() and lib/doScriptExec() spend way too much time
    trying to set FD_CLOEXEC flag for all those file descriptors,
    resulting in severe increase of time it takes to execute say
    rpm or dnf.
    
    This becomes increasingly noticeable when running with e.g. under
    Docker, the reason being:
    
    > $ docker run fedora ulimit -n
    > 1048576
    
    One obvious fix is to use procfs to get the actual list of opened fds
    and iterate over it. My quick-n-dirty benchmark shows the /proc approach
    is about 10x faster than iterating through a list of just 1024 fds,
    so it's an improvement even for default ulimit values.
    
    Note that the old method is still used in case /proc is not available.
    
    While at it,
    
     1. fix the function by making sure we modify (rather than set)
        the existing flags. As the only known flag is FD_CLOEXEC,
        this change is currently purely aesthetical, but in case
        other flags will appear it will become a real bug fix.
    
     2. get rid of magic number 3; use STDERR_FILENO
    
    Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
    
    Fixes #444

commit 9c3e5de3240554c8ea1b29d52eeadee4840fefac
Author: Kir Kolyshkin <kolyshkin@gmail.com>
Date:   Tue May 29 17:37:05 2018 -0700

    Factor out and unify setting CLOEXEC
    
    Commit 7a7c31f5 ("Set FD_CLOEXEC on opened files before exec from
    lua script is called") copied the code that sets CLOEXEC flag on all
    possible file descriptors from lib/rpmscript.c to luaext/lposix.c,
    essentially creating two copies of the same code (modulo comments
    and the unused assignment).
    
    This commit moves the functionality into its own function, without
    any code modifications, using the version from luaext/lposix.c.
    
    Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

commit c68c2f1d8c8830b76fe33e1b50598d16d26c2eec
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue May 22 22:20:19 2018 +0200

    find-debuginfo.sh: Handle application/x-pie-executable (file 5.33 output).
    
    A new version of file (5.33) changed the output for PIE executables.
    Which are now represented as application/x-pie-executable; charset=binary.
    
    The following change simply recognizes that binary format as one for
    which -g applies. This fixes accidental stripping of the .symtab in
    glibc (which use -g to keep that symbol table).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1581224
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit d5e599d6c9b2fc5c98cec1fccc46e2d365a06dbf
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Apr 24 11:42:00 2018 +0200

    Provide a way to opt out from Python bytecompilation out side of lib dir
    
    One can now unset %_python_bytecompile_extra (or set it to 0) to
    opt out from Python bytecompilation outside of
    /usr/lib(64)?/pythonX.Y.
    
    One can also set %_python_bytecompile_extra to 1 to explicitly
    opt in, even tough this is currently still the default.
    
    Python bytecompilation of files outside of Python's own
    directories (/usr/lib(64)?/pythonX.Y) with /usr/bin/python is
    error prone. For context, see this Fedora change [1], it describes
    all the problems and provides a longer explanation about why we
    are doing this.
    
    [1] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation
    
    Also adds _python_bytecompile_errors_terminate_build macro which is passed to
    the brp-python-bytecompile script.
    
    Fixes #434

commit a104c9e01560b7412f8041fb3ab395fd36a6b15d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 9 13:15:11 2018 +0300

    Switch verify level to digest by default
    
    All valid packages have at least an MD5 digest covering them, so
    this wont render any legit package uninstallable so this should go
    unnoticed for all normal usage except for the new "Verifying..."
    step in install/update operations.
    
    However it will catch all sorts of cases that rpm never previously did:
    a package malformed in transit (or fuzzed) will always be caught before
    installation starts, and it takes more than just flicking a digest tag
    to something else to render rpm entirely toothless.
    
    Anyway, this is more of a package structural sanity check than a security
    one.  Requiring signatures is what people usually as for but we can't flip
    it on just like that, it'd simply break too many common workflows.
    One step at a time...

commit 765e2c72ae8be369ada41d4747b8999519a0e327
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 9 13:49:41 2018 +0300

    Add package verification step to transactions
    
    Adds a separate package verification phase to rpmtsRun() which runs
    as part of normal problem checking and performs package verification
    as per configuration. Verification problems are returned in the API as
    rpm problem objects.
    
    The verification is done according to the configurable verification level
    implemented in commit ac280c42e3071cf46f3c4ea5fba2244c89a5cea9, ie if
    active, it's an enforcing check that cannot bypassed with previously
    available means, you need to specifically filter the new problem class or
    change configuration. This is intentional to actually enforce the
    verification step on all existing API users regardless of their
    default settings (it's common to just disable everything in vsflags etc).
    
    The two big things here are:
    - rpm FINALLY supports an enforcing signature policy mode
    - if at least digest level is specified, packages with malformed payload
      will be detected before any scriptlets run or any files get laid down
    
    Note that this commit does not change the default verification level,
    and thus should NOT affect any functionality unless manually enabled.
    Also worth noting is that this all will almost surely require further
    tweaking to get all the corner cases and upper level depsolver interactions
    straight...

commit 48eb5abb6f069d65c75e5df8673194bfdb8be926
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 9 11:12:03 2018 +0300

    Make verify set sorting more precise (and hopefully, more useful)
    
    Sort in rough "better first" order from algorithm POV (assuming newer
    is better which always isn't the case), which could perhaps be used
    for skipping lesser digests for example. For the rest, sort by whatever
    to ensure consistent order. Update test-suite expectations to match.
    This does not affect actual verify results in any way though.

commit 4e158f5d4ce6c1464d6c36b735ae5d8c28b87ed6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 8 14:21:53 2018 +0300

    Handle system verify level centrally and internally in rpmvs
    
    This doesn't change immediate functionality at all but needed later
    for consistent behavior from different callers, who don't want to
    deal with figuring out the system verification level separately,
    only want to tell the vfy thing whether to use the system policy or not.

commit ac280c42e3071cf46f3c4ea5fba2244c89a5cea9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 27 13:27:02 2018 +0300

    Implement configurable, mandatory signature/digest verify level for rpm -K
    
    Traditionally rpm has verified whatever digests and signatures are present
    (unless disabled) but there hasn't been any way to *require* either type
    of verification, and making it all too easy to fool rpm into accepting
    a tampered package whose signatures and digests have just been stripped
    off and content modified. This commit adds support for required
    verification level, possible levels being "none" (for traditional behavior
    and default for now), "digest", "signature" and "all" (for both signatures
    and digests).
    
    What it means is that the specified level of validation is required for
    the entire package file: eg on digest level, both the header and the
    payload must have been validated with a digest. All digest algorithms are
    considered equal for this purpose to abstract out version differences:
    eg all valid rpm packages have *some* digest covering the entire package.
    Traditionally the only digest covering the payload is the md5sum, but
    packages built with rpm >= 4.14.0 have a separate payload digest which
    can be used for the purpose and md5sum disabled (which would also deny
    install of older packages).
    
    Similarly (and more importantly) signatures can now be also required.
    As a special case, the new payload digest added in 4.14.x is in the
    main header which, if signed, makes the payload digest signature strength
    too. Which would make it possible to drop V3 header+payload signatures
    from package signing (which would make signing much faster) and still
    have signature strength coverage for the entire package.
    
    It's worth noting that when a verification level is active, --nodigest
    and --nosignature seem to behave sort of counter-intuitively: these disablers
    tell rpm not to try verification of those items, but the verification
    level specifies what *must* be verified for a pass, so eg if signature
    verify level is active, rpm -K --nosignatures will *always fail* because no
    signatures could be verified.
    
    This only implements the "policy" for the rpm -K style signature checking
    path, installation is not covered yet as that's quite a different beast:
    we don't want to enforce this at rpmReadPackage() level because of
    API issues and assumptions (eg you couldn't read a package to discover
    what key it was signed with, in order to import the key required to
    successfully verify said package)

commit 106b238d50c823f23ba21b66f305433ee074513d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 25 11:54:16 2018 +0300

    Only init/fini verify ranges we're using
    
    No point calculating null digests that we wont use.

commit 8f8675a14bc23d00c29b56148d244015ad13e161
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 11:23:01 2018 +0300

    Sort verify set results by type as well, signatures before digests
    
    This doesn't appear to change anything as-is, it'll only become apparent
    when non-present items are reported.

commit c84168cf11a5501dbd7f6899dfcba77b171f5138
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 11:05:35 2018 +0300

    Preliminaries for reporting non-present verification items
    
    Remember RPMRC_NOTFOUND results in verify set, but ignore them in
    actual results for now. The check for verifiable types never really
    belonged to rpmsinfoDisabled() as it's a different kind of check,
    and here we see why - we NEVER want to add non-verifiable elements
    to verify set, but for the next steps we'll need to handle disabled
    items as if they were not present - ie NOTFOUND.
    
    No functionality is supposed to change here.

commit 170bc61a337f74a3619be0357bb3da96306c2769
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 15:08:09 2018 +0300

    Identify non-present signatures too (based on their assumed algo)
    
    This is dumb, we should just call them OpenPGP signatures which is
    what they are, but for now lets just make do with minimum fuss.

commit 42f6bdb5f5c5e00103c91e2909aea0b914e184e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 19 12:30:21 2018 +0300

    Attempt to (re)verify anything that has a digest context
    
    This should allow actually rerunning verification after eg importing
    new keys, previously we would've only looked at the results which
    were deemed OK already, duh.

commit 463bbd5f6687771618f580204101d372d3f92de5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 19 12:23:40 2018 +0300

    Make retrofit etc helpers static again now that we can

commit fb011d7a839730090b34e6dd21b0982a24d872dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 19 11:14:54 2018 +0300

    Separate verification & other extra logic from package reading
    
    Separate reading of the fundamental package file components from the
    upper level logic such as digest/signature verification, merging
    of signature header into main header and possible compat retrofits.
    For one, plain signature checking doesn't want all those retrofits etc
    at all, the less code there is on that path the better. And lifting
    the signature checking out of the picture means the caller has full
    control and knowledge over things like what does RPMRC_OK actually
    mean: an ok looking package or an actual verification result, etc.
    This is not supposed to affect existing behavior though.

commit 0ca42a5a689ba5ab5a77d7004438abecbb46ac00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 19 11:03:43 2018 +0300

    "sigset" is a terrible variable name since it's ambigious, rename

commit 93c43546a5c6df2ead7813f9fe72f49fc3d3772c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 19 10:42:23 2018 +0300

    Lift logging out of rpmpkgRead() to callers
    
    For now this only causes code duplication but can't be helped, this is
    needed for next steps. Besides, better control over logging is a good
    thing in general.

commit 368e57f634be755e7af56ca85af4243b99e6a7d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 16:21:55 2018 +0300

    Use allocated hdr blobs in rpmpkgRead() instead of local structs
    
    Doesn't make much sense alone, but required for the next steps.
    No functional changes here.

commit 824b3ac945b95437e07fd0847ada19148c13a8e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 16:15:28 2018 +0300

    Add internal API for allocating and freeing hdrblob objects

commit 7d7a86698a4b55c13522fdcc0475b80bf9a0e239
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 25 14:59:11 2018 +0300

    Add a separate vsflags macro for package (signature/digest) verification
    
    %_vsflags_pkgverify is not something normal users are expected to fiddle
    with, the purpose is to make it easy to test the fine-grained disablers
    in signature checking aka package verification context.

commit e92ce9709f070ed3cc41ae19e7c61bc4f4d45511
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 14:41:55 2018 +0300

    Test for rpmkeys return codes too in [rpmkeys -Kv <signed> 1]

commit efca5646293543d7b28da109515fbd0af8c89134
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 13:17:51 2018 +0300

    Add another corrupted header signature/digest testcase
    
    This never actually gets as far as verifying because the header is
    fundamentally invalid, the point of the test is to ensure we output
    some kind of diagnostics in this case too.

commit af1fcf0b0a7c093e3d926680fe73fcf2077fd57c
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Apr 24 10:30:12 2018 +0200

    Add popt-based options --setcaps and --restore (RhBug:1550745)
    
    --setcaps resets capabilities of package files.
    
    Because the opotion is popt-based it has some drawbacks -
    it does not know about %ghost files, file states, etc.
    
    --restore regenerate owner, group, permissions and capabilities
    of package files.
    
    It uses 3 already defined options in the correct order.
    rpm --setugids is used first of all, because it may change permissions
    or capabilities. rpm --setperms is used before rpm --setcaps, but the
    opposite order is right too.

commit 05b233ddbe3a64089001b3d912c9a9080806953e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 14:20:41 2018 +0300

    Plug the last data "leak" from rpmlead
    
    Up to commit 45c2f3ffa63188fbc1289b53ea7cd73551de0509 we were still
    using the lead to confirm source vs binary package, but now we dont
    need even that. Means the zombie data structure that's supposedly been
    dead for the last 20+ years is truly gone now. We still dutifully
    read/write and validate it, but no actual data from it is used.

commit 7e5043a60e15ae5b6dda36fc587bab1d076f5446
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 14:16:26 2018 +0300

    Drop unused leadtype argument to applyRetrofits()
    
    Since commit 45c2f3ffa63188fbc1289b53ea7cd73551de0509 we haven't been
    looking at any data from the lead, a fact worth celebrating that went
    kinda missed back then.

commit 1af923599c51abfe0db4c4ff71780595f6c81f88
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Apr 18 13:06:07 2018 +0200

    Correct Query formats documentation
    
    rpm --queryformat does not work without option -q.

commit 54a72c67a2f081b3162210fd5ee568b554e5085a
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Apr 18 13:00:07 2018 +0200

    Update Query formats documentation
    
    Update
    - 'rpm --querytags' output and its description
    - the error message for queryformat with different sized arrays
    - the name of the file containing the definition of verify flags

commit a22c5a13517fa0fca982e8025cc87905be8755e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 14:55:41 2018 +0300

    PGP 5 is rather ancient history, don't bother
    
    I dont recall ever seeing a package with a PGP5 signature in it, certainly
    not in last 15 years... Not trying to verify long since extinct species
    of signatures should not affect anybodys life.

commit 30dc739c6583c01b23ce13044c65b7e036413f9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 13:35:25 2018 +0300

    Ignore non-signature tags on rpmvsInit()
    
    This avoids tags tags that only exist in the main header from being
    initialized twice. Currently only RPMTAG_PAYLOADDIGEST is affected.

commit 10a6fbd2c0c8ad9e0bfc1f55282531174309cefb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 12:18:45 2018 +0300

    Move macros.debug to test-suite data directory
    
    macros.debug is only used by the test-suite so the test-suite data
    section is the more appropriate place for it.

commit df0d9d8a7a9a01505b4e90ee45254df2496e691a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 12:15:41 2018 +0300

    Remember to include macros.testfile in dist tarballs
    
    Should've been in commit 2456c128948ac4ade1dbd4a61198a278c23e40be

commit 953bfd758d748130ab9f8eda0c3cc2776ac45d5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 10 11:46:44 2018 +0300

    Separate signature/digest verification from the digest finalization
    
    Adjust the API a bit to make things clearer/saner (hopefully): we now init
    and finalize *ranges*, and verification is an independent, non-destructive
    operation that can be performed on given *types* of items, allowing
    separate digest and signature verification and can be performed multiple
    times without rereading data (for eg added keys). At least in theory...
    which is to say no such things are done here, this is not supposed to
    change any visible functionality.
    
    For now at least, sort the items in rpmvsVerifyItems() by range to
    preserve traditional rpm -Kv output.

commit 93615a4257081e7e4f5d96492ceb940b46946100
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 10 11:24:19 2018 +0300

    Remember unfinalized digest context in rpmsinfo struct
    
    Less parameters to pass around, the digest context is a rather fundamental
    part of the sig/dig thing anyway. More importantly this detaches the
    digest finalization from the actual verification, which allows us to
    verify later or even multiple times (eg for added keys) without rereading
    the actual data. No functional changes here though.

commit 2e3867ebce2be895fcd8bc9d9fbbe2272caeea05
Author: Bernhard Rosenkränzer <bero@lindev.ch>
Date:   Tue Mar 27 14:15:51 2018 +0200

    Fix division by zero in prelink detection, issue 420
    
    Avoid dividing by zero when hitting an ELF section without fixed-size
    entries.
    Thanks to Michael Schroeder for helping trace the problem (in #420)

commit 61d23649cb406ff7227f389bca1b9e62969401cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:36:07 2018 +0300

    Pass verify sets to rpmpkgRead() instead of flags and keyrings
    
    This is the pre-requisite for post-processing verification results
    rather than handling them on as they come up, at which point it's often
    not yet possible to make decisions.

commit 8741e9913f676c8073668a24327df552a964ea14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:28:18 2018 +0300

    Add getter for verify set vsflags, use it for the one external access
    
    It's klunky and shouldn't be needed with a saner API for processing
    through the data but it'll have to do for now.

commit 2803f8ad503fb7960aa09dca14640a9a06af3190
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:25:18 2018 +0300

    Remove now unnecessary flags test on payload digest append
    
    Since commit 2a598f3f23fe704f5bcabf1cb236edbdef940072 this is handled
    inside rpmvs so we dont need to bother with those details here.

commit d3dc9a92df5e856d2104714153b32b66ffb92d07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:17:25 2018 +0300

    Store keyring handle in verify set as part of creation
    
    Passing different keyrings to individual calls of rpmvsVerifyItems() on
    the same set just would not make any sense, eliminating the possibility
    is the only sane thing. Part of create instead of init as keyring
    lifetimes are longer than verify sets.

commit 3f2b40eb604229643a6645ddad2e7f6c6d38fb56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:12:48 2018 +0300

    Store digest bundle handle in verify set as part of initialization
    
    Passing different digest bundles to individual rpmvsInitDigests() and
    rpmvsVerifyItems() calls would not make any sense, it would simply fail
    to perform anything meaningful. Eliminating that possibility is the only
    sane thing to do.

commit d0d649fb4ebf26fbae0dce1e529897caddf1b86e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 6 14:03:33 2018 +0300

    Split verify set creation to separate allocation + init steps
    
    This seems mostly like lotsa trouble for no payback in the current code,
    but we'll eventually want vs sets to outlive the actual package read
    stage (to support post-processing of the results), which is when this
    starts making sense.

commit 3f66bf6966239455908078c580a2bc8dc5ee1728
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 14:46:36 2018 +0300

    Store digest/signature verify results in the sinfo struct directly
    
    Makes all sorts of things a whole lotta simple and saner. No actual
    functional changes here, apart from the internal API changes.

commit f3cbcc14be30162d3352d8afe751264367ce6298
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 14:27:09 2018 +0300

    Use the same verify callback for verbose and non-verbose operation
    
    First step at separating output from verification, no actual functional
    changes here. Use named initializers for the verify data to reduce
    possibility of ordering accidents.

commit 2a598f3f23fe704f5bcabf1cb236edbdef940072
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 14:10:37 2018 +0300

    Always honor vsflags when appending new items to verify set
    
    Remember the vsflags passed to us in rpmvsCreate(), check for
    disabled in rpmvsAppend() instead.

commit 41b8268a4ff3fa77f7e39d807b6fa3f63f0f2fa0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 13:58:44 2018 +0300

    Streamline digest/signature info initialization
    
    rpmsinfoInit() never gets called with an unknown value as it's us
    calling it based on values in our built-in tables (it used to be
    different though). In fact it mostly gets called while we're walking
    the very same table we're then looking up again in rpmsinfoInit()...
    makes no sense whatsoever. Change the internal API to take the
    table values directly, and handle the lookup in the only case that
    needs it (payload digest).
    
    Not supposed to change any functionality except make things a little
    saner and faster too.

commit 2456c128948ac4ade1dbd4a61198a278c23e40be
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Mar 27 12:29:56 2018 +0200

    Fix a macro end detection if the first char of a macro line is '}' (#401)
    
    The algorithm that detects the end of a macro counts for all macro chars their level of nested. It iteratively moves from the first char of the macro further.
    Before the patch the rpm function does not implement this algorithm correctly. After finishing with the last char of a macro line, it additionally skips one char of the next line. The first char in the line was omitted.
    
    Probably affects every rpm version from this millenium.

commit db88f4806167caf69eda67f4f675551764304d78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 27 11:51:06 2018 +0300

    Further relax type checking among different string tag types (#414)
    
    In some cases i18n strings are just strings in packages (at least
    summary in rhel-6 created src.rpms), no reason to fail because of that,
    just assume all string tag types are compatible. i18n-strings are not
    truly equal to the other types but this is close enuf for the purpose.

commit b3d3bc437171cd37344c43a7b851e941446827ea
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Mar 23 11:01:44 2018 +0100

    Skip tests using python module 'rpm' if it is not enabled (#264)

commit 585ff8399dca18cc60022de111f6e11d06228be1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 20 09:30:44 2018 +0200

    Make python addSign() and delSign() actually work (RhBug:1558126)
    
    Argument parsing condition reversed, doh. Means there's simply no way
    anybody could've used these for anything at all... Actual testcases
    would not hurt.

commit f73a75d7ef82fba587d680e2ffb5ce0d627ba57e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 12:48:16 2018 +0200

    Improve rpm2cpio examples a bit (RhBug:1553898)
    
    The first two didn't actually work (or in the olden days, would fill
    your terminal with gibberish), lets move the one most important one
    first, make the stdin example actually work and just drop the third,
    useless example entirely.

commit 41a9a84c5a41fdfaeaae083295bb932d609e007c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 16 10:28:28 2018 +0200

    Handle missing keyring same as key not found in rpmKeyringVerifySig()

commit 6c7b63066e5c04988d57e1cab501252d59bbe710
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 16 10:26:43 2018 +0200

    Revert "Don't segfault on NULL keyring in rpmKeyringVerifySig(), doh"
    
    Not the right thing to do here afterall...
    
    This reverts commit e7e8d6951ed870ea9ebe8994044a1815d29dbcf2.

commit e7e8d6951ed870ea9ebe8994044a1815d29dbcf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 15 14:22:38 2018 +0200

    Don't segfault on NULL keyring in rpmKeyringVerifySig(), doh

commit 85160c1a1b523dcee2ee67fc3a468a9d20d91f8c
Author: Vladimir D. Seleznev <vseleznv@altlinux.org>
Date:   Tue Mar 13 00:04:46 2018 +0300

    Add RPMTAG_IDENTITY reservation
    
    This tag represents binary package build characteristic: if two binary
    packages have equal RPMTAG_IDENTITY values, it means that these packages
    have no significant differences.
    
    One of the applications of RPMTAG_IDENTITY is reproducible build
    verification.
    
    This tag is reserved for ALT Linux Team and marked as unimplemented.
    
    Signed-off-by: Vladimir D. Seleznev <vseleznv@altlinux.org>

commit b3fcaba3816aa00f3360efe728dafa72e394f65b
Author: Vladimir D. Seleznev <vseleznv@altlinux.org>
Date:   Tue Mar 13 00:04:45 2018 +0300

    Add RPMTAG_AUTOINSTALLED reservation
    
    This tag is needed to track automatically installed packages with rpmdb.
    Zero value means that a package was installed manually, other values
    mean that the package was installed automatically as some else package
    dependency.
    
    This tag is reserved for ALT Linux Team and marked as unimplemented.
    
    Signed-off-by: Vladimir D. Seleznev <vseleznv@altlinux.org>

commit dfd236d8b41a60f6bfad75db55f07b9617d191ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 14 12:57:08 2018 +0200

    Typecheck header tags match our definitions prior to import (#242, #414)
    
    The upper layers in rpm generally just assume that tag types are what
    we expect them to be, which leaves us open to all sorts of crashes from
    fuzzing etc. Seems obvious enough but there are various kinks to sort out:
    we can't typecheck signature tags this way and knowing when not to check
    is fairly subtle, some tags (script prog at least) have string vs
    string-array mismatches. Plus failing on unknown tags would destroy
    forward compatibility.
    
    This doesn't solve all of #242 because there are other higher level issues
    like groups of closely related tags that cannot be detected this way but
    it's world better than not having it. Resolves #414 though.

commit 23d37eaf5359929ad9352ae909d46b659ca90ed4
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 13 15:01:34 2018 +0100

    Call checkOwners() first to get useful error message on broken sources
    
    Resolves #238

commit ca5398ba242e25b4e167151194e36090d972b4c2
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Mar 12 14:16:15 2018 +0100

    debugedit: Only try to collect comp_dir in phase zero.
    
    edit_attributes is run twice. Once for phase zero in which all strings are
    collected. Then then for phase one in which the strings are rewritten. In
    phase zero we also try to collect the comp_dir (either from the
    DW_AT_comp_dir or the DW_AT_name of the compile unit). We were also
    collecting the comp_dir is phase 1, which is unnecessary, and would not
    actually work, since we would be using to old string table index for that,
    which had already been rewritten.
    
    Caught by the new string table index checks.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 7754cd754ed038f0eab76fa31a58cde9943d29e5
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Mar 7 16:25:31 2018 +0100

    debugedit: Check .debug_str index is valid before use.
    
    debugedit would blindly use an .debug_str index from the .debug_info or
    .debug_line sections assuming it would result in a valid string. Which
    would crash and burn if the DWARF data was bogus when the string was
    used. So check whenever converting an string index into a char pointer
    so we can produce a more helpful error message.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1543912
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 5455f02523a9b8583d5a942a6d97f1084f3093df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 12:36:31 2018 +0200

    Allow packagers to specify individual scriptlets as critical
    
    Since rpm 4.6.0 (commit 9cfb380cc4529ea6b9314cc67819069c8e9c1a23) we've
    filtered out most scriptlet failures as non-critical: most of the time
    these scriptlets failing are just somebody forgetting to add ||: to
    the last line or so. And even in case of real errors, the damage
    is already done by the time we get to post scriptlets - the package
    is installed or removed and no exit code can undo that. Distro people
    are generally quite happy with this, but there's been a constant demand
    to bring the former behavior back from other types of users.
    
    We dont want to bring back the mess of duplicate packages left behind on
    upgrades due to silly missing ||: or fluff like info register/unregister
    failure because somebody ran with --nodocs etc. But clearly some scriptlets
    are more important that others, for example kernel install/update failing
    to create an initrd (RhBug:1394770) could be considered as such. So lets
    give the choice to packagers - who else is supposed to know if their
    scriptlets are worth failing install/erase for?
    
    Since the infrastructure for this was added in commit
    d8e46a1a48e4ae3d06fb10fcb2615a06be169dd6 already, this is little more
    than a oneliner to add '-c' option to spec scriptlet sections, eg
    '%post -c' to mark that %post scriptlet critical. Additionally
    the error codes from post-transaction scriptlets were not passed
    through to rpmtsRun() exit code before this, because there simply
    was no need to do so. And of course a testcase  duplicating the scriptlet
    failure tests with scriptlets marked critical.

commit d8e46a1a48e4ae3d06fb10fcb2615a06be169dd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 11:46:44 2018 +0200

    Make scriptlet error behavior a property of rpmScript "objects"
    
    Some of our scriptlets are critical to the success/failure of the
    surrounding operation (install/erase/verify) but some are not,
    making it into a property is cleaner but also more extensible.
    This does not actually change any existing behavior.

commit 2362f343384068cabd44d1038b5c586d2fc2a19c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 11:26:24 2018 +0200

    Add testcases for basic scriptlet error behavior (triggers not included)
    
    Optimally we should test for all install/erase/update combos but that's
    gets t-e-d-i-o-u-s and also s-l-o-w so taking a few shortcuts by mixing
    update and erase tests. Gets the job done too...

commit c7605c68ad5c356ad055dbb5fe0983097a89e450
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 10:25:37 2018 +0200

    Make rpmErase() exit code resemble rpmInstall() exit code
    
    rpmtsRun() only returns the number of failures if problems prevented
    the transaction from starting at all. All other errors such as failure
    to remove due to scriptlet exit are simply returned as -1. When that
    gets returned to shell it ends up being 255 which makes even less sense,
    so lets at least mimic the way rpmInstall() returns the number of
    *attempted* operations for the failure. It's not *right* or *sensible*
    of course, but then nothing about our exit codes is.

commit ca7cc5e7e9c1a805e0d4236490948a8a2503e9d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 10:10:10 2018 +0200

    Fix rpmtsSync() running condition
    
    Commit 9e65d6ee9ab851db5b5d4f0b390330abb6d38029 clearly is one of those
    Monday morning commits: the condition say to only sync disks if there
    were failed elements, and to add to the insult the number of failed
    elements is incorrectly set to begin with so can never larger than zero
    to begin with. Oh lol.

commit e5d19f43fb539602a8dd07a24010765a08ce7c9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 8 13:22:49 2018 +0200

    Allow verification callbacks to signal stopping, document the callback
    
    Move the rc code from return value to a parameter, change to a pointer
    to allow modification from the callback. Make the message modifiable
    from callback too if only for consistency. Change the parameter names
    on all callback users to force all relevant places to be updated.
    With all this, a verification callback now force verification to abort
    by returning 0. No actual behavior is changed in this commit though.

commit c0dcfced2c9320269129933012ec63c726fc793e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 13:54:04 2018 +0200

    Grab number of elements in transaction into a local helper variable
    
    We're calling rpmtsNElements() anyway so why not actually use the
    value from that instead of going through the more obscure
    tsmem->orderCount.

commit 458f504bb8fd620a8c5a757f16c1b324793861b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 5 17:34:45 2018 +0200

    Use rpm's non-failing allocators for ndb too (#357)
    
    librpm uses it's own non-failing allocator wrappers (that will just
    abort the process if OOM) but ndb originated as a experiment outside
    librpm so it used the standard allocators and so needs all the OOM
    cases handled manually. Using non-failing versions simplifies things
    greatly...

commit fa303d5ba6bef5b4a44b884c6dadadc27b594caa
Author: Alexander Kanavin <alex.kanavin@gmail.com>
Date:   Thu Jun 8 17:08:09 2017 +0300

    build/pack.c: remove static local variables from buildHost() and getBuildTime()
    
    Their use is causing difficult to diagnoze data races when building multiple
    packages in parallel, and is a bad idea in general, as it also makes it more
    difficult to reason about code.

commit 05340e203ec58df587dc0c2e3daa19b0fab77d7b
Author: Alexander Kanavin <alex.kanavin@gmail.com>
Date:   Thu May 25 18:15:27 2017 +0300

    Split binary package building into a separate function
    
    So that it can be run as a thread pool task.

commit 25794e515bb4ff53cf5501e3e2399eb3205fb5e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 5 14:39:55 2018 +0200

    Axe some rather ancient "development plans" from our public headers...
    
    rpmSubTagType was added in commit eb8db3316d3a125c8974436112829d56aa63b21f
    some seventeen years ago, never used for anything. There are better
    places for development plans these days than project public headers.

commit 6ba887683b4bf9712be00a3d5dcaa890bfce47c1
Author: Ruediger Oertel <ro@suse.de>
Date:   Mon Feb 9 14:16:52 2009 +0100

    Define DistTag as optional tag with macro just like DistURL
    
    Resolves #406

commit 86ec4c03de2b7cc6af6ba5b10dd686002e0b588c
Author: Andreas Schwab <schwab@suse.de>
Date:   Mon Feb 26 10:34:26 2018 +0100

    debugedit: handle RISC-V relocation
    
    Resolves #407

commit fd937ca2ee0a93583c1b895de04816ce66d2b14d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Mar 1 15:43:25 2018 +0100

    Add --queryformats for displaying numbers human readable (#375)

commit e66bf7425b450c9baf52c280fb892031b38b15df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 1 15:37:45 2018 +0200

    Begin consolidating our tribal dependency knowledge into a struct/table
    
    No real functional changes here, just refactoring the random collections
    of if-elses and switch-cases into a lookup table + helper functions
    and update callers. This did however reveal some missing abbreviations
    for some of our dependency types (triggers, filetriggers, order etc),
    just the kind of stuff that easily goes missing in code but cannot hide
    in a data structure.
    
    Dumb linear lookups shouldn't be an issue for this usage so not bothering
    with any particular order of the table, its just loosely grouped by
    dependency type.

commit 434c4f0898941094cdd4037e3c309bf121eca5b6
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Mar 1 12:14:33 2018 +0100

    Skip tests using Lua iff Lua is disabled (#264)

commit 3b106bf9c4d6e17f06bbbe3e8d6ad6399e789219
Author: Alan Jenkins <alan.christopher.jenkins@gmail.com>
Date:   Mon Nov 13 17:17:12 2017 +0000

    gitignore update
    
    I don't see any instructions telling me to use a build directory, and
    gitignore seems mostly up to date, but there were two missing entries.

commit ef6d7f8f6658b13d26904b51b096000679f524ec
Author: Alan Jenkins <alan.christopher.jenkins@gmail.com>
Date:   Mon Nov 13 17:11:28 2017 +0000

    rpmidxHandleObsolete(): Fix fd leak in error path

commit b81192b8772041cd0a6068ad1112c9398c4f641b
Author: Alan Jenkins <alan.christopher.jenkins@gmail.com>
Date:   Mon Nov 13 14:28:55 2017 +0000

    ndb glue: closeEnv() should always clear rdb->db_dbenv
    
    instead of only when rdb held the last reference to the env.

commit 449ed5d9d772d588566748c26ead8c8fbaae71e1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 26 15:31:07 2018 +0100

    Add switch to disable systemd-inhibit plugin
    
    to allow building without systemd dependency
    
    Resolves #361

commit c7a8104df7b0e77459efb32d1d6a926fb59dbf03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 26 15:12:59 2018 +0200

    Clarify Fread() and Fwrite() semantics
    
    These have claimed to be fread() / fwrite() "clones" but never *really*
    were, and have been more or less consciously directed toward read()/write()
    style semantics long ago, eg 3208913bdb201ab791f6b2b589d3d2ae3c87a5ad
    and 289ba88b304f854c7ebfcb3678aff8f517c66fa0 talk about this. Changing
    this long-standing behavior now would be little gain for some unnecessary
    pain to callers, might just as well simply document the behavior and
    be done with it.

commit 59f8ca7b85c4fbaad088bd2ac313933c569e638e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 20 13:28:00 2018 +0200

    Drop a redundant binary entry size assignment
    
    By definition, the length of a regular binary type entry equals it's count
    so this is just redundant. The key word being regular, regions are a
    different matter entirely: the assignment was originally introduced around
    the turn of millenium in commit db32ab6bea1b635129820d6b628e6156c61b5385,
    apparently to include alignment in header region count but the surrounding
    code has changed significantly since then...
    
    Thanks to Michael Schroeder for pointing this out (in #308)

commit 0093584a6a3841bec0b355b8406d8929edbad205
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 20 13:00:39 2018 +0200

    Only use offset optimization for string types in HEADERIMPORT_FAST (#398)
    
    Only string types benefit from the offset-based optimization, for other
    types the operation is a trivial constant-time calculation anyway and
    getting inaccurate length information (due to alignment of next item
    getting included) in return for a non-optimization is nothing but a
    bad trade.

commit 5ac4305bdd2701f70cae81195b5518b339967b76
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 19 14:50:49 2018 +0100

    Do not require the Python library dir to be at a particular place
    
    RPM should not make any assumption about where Python libs are installed.
    Resolves #346

commit d7dfd0dc0c6ad7fc067a1d0e292a74e134b0720c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 19 15:14:28 2018 +0200

    Drop -fPIC -DPIC from rpm's forced gcc build flags
    
    These things are up to distro/platform build policies, it's not as if
    rpm actually required position independent code. And as it happens,
     doing the right thing renders PR #350 unnecessary.

commit 236d6f5a2b924266b1249a82875b595e8758c52b
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Feb 17 08:19:49 2018 -0500

    rpmrc: Add architecture compatibility mapping between aarch64 and arm64
    
    AArch64 has another common name for the architecture: arm64. And while compilers,
    the kernel, and RPM use "aarch64", a number of language ecosystems use "arm64".
    
    In addition, Debian packages use the "arm64" architecture name to refer to "aarch64",
    and AArch64 packages that are translated from DEB to RPM format tend to not be
    installable because there's not a sufficient architecture mapping.
    
    This change adds the "arm64" identifier as an alias for "aarch64" so that this works
    as expected, rather than breaking on unknown architectures.

commit ae0347cfb2c69842e62972274fdffdb1d578096b
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Feb 14 11:47:35 2018 +0100

    Improve hardlink handling in the disk space calculation
    
    Before this commit, rpm simply did not take hardlinks into account
    when calculating disk space requirements. This made it fail
    spectaculary for packages that contain a high number of hardlinks,
    like glibc-locale.
    
    We now "bind" the file size to the last hardlink member. This
    is still not 100% correct as the last file may not get installed
    in some cases or only the last file may be replaced. But it is
    still much better than what rpm did before.

commit 791cf86205348270eedcca5912cbbc2f68de0de0
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Feb 14 11:42:46 2018 +0100

    Fix inode handling for zero-sized files
    
    Both the prevSize and fixupSize arguments in rpmtsUpdateDSI use zero
    as "unset" value. But that means that the inode count is not changed
    for zero-sized files. So we imcrement the values in the arguments and
    later decrement them again in rpmtsUpdateDSI.

commit 7400a36b982fd315eb30d893321af0283f57205d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 16 14:29:28 2018 +0200

    Eliminate file trigger second argument (aka $2)
    
    File triggers have gotten both $1 and $2 as zero always, which doesn't
    make a whole lot of sense. For $1 we know what to do (it should be the
    same as with all other scriptlet types) but $2 is not so obvious. For
    regular triggers it's the number of remaining instances of the target
    package, but with file triggers there are any number of target packages
    and it's not clear what the most useful thing would be. Better not
    pass it at all to make it free for future use once we figure what to
    do with it.

commit c3991587c92c365551436f03de09cfe5a31f3e9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 12 15:04:37 2017 +0200

    Test file trigger scriptlet arguments
    
    Currently they're all just zeros which is not right, but to document
    the expected behavior...

commit c13814d265e7db3fe0705d38af3945cb2b1e68ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 16 11:14:14 2018 +0200

    Drop bogus RPMTRANS_FLAG_BUILD_PROBS condition from %transfiletriggerun
    
    This is not relevant for normal scripts that run after problem checks.
    Should've been in commit d83edaa2188ecd13fabbf1d779763dcc17bf1b93.

commit b60a086213b5f0ffd68b445e51d205eb1ac64396
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 14:24:39 2018 +0200

    Refactor gpg-pubkey seal + digest calculation to helper function
    
    No functional changes, this is just refactoring a clearly separate
    piece of action into a separate function which has gotten so large
    it was obfuscating the real action in makePubkeyHeader().

commit ca39a4a97f9bdfd25c21dba97ae1d2e1d26605f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 13:47:36 2018 +0200

    Add gpg(foo) provides for the full keyid of pubkeys too
    
    The key id of PGP keys is absolutely not unique at all, and cutting
    that to half makes it ever so much more non-unique. Sure, the keyid
    is encoded in the version string of these things but using that for
    searching is unnecessarily clumsy to put it mildly.

commit a4a0e439a396f43e2fcc3e7205e4682df32316b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 12:59:15 2018 +0200

    Refactor gpg-pubkey data construction to init/fini helpers
    
    No functional changes, just cleaning things up: collect most of the
    data into a struct with somewhat meaningful member names to make
    it easier to see what goes where. And since subkeys share some of the
    "parsing", this helps eliminating copy-paste code as well.

commit d98741740af7f1daa8aa96018f682165cbacb60f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 12:51:47 2018 +0200

    Refactor gpg(foo) provide addition to helper function
    
    No functional changes, just reducing copy-paste code a bit.

commit 262c4326262a75450c29034233090423de362ee8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 12:50:50 2018 +0200

    Include gpg-pubkey provides in the import testcase

commit c7f284004addb0b85c5c9c1a02da08c1ad88ac91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 15 12:14:02 2018 +0200

    Make gpg-pubkey summary more meaningful
    
    Instead of reusing the gpg(userid) provide string (which are not usually
    meant for human eyes), use "<userid> public key" to make it clear
    what the heck it is, eg from our test key:
    
        Summary     : rpm.org RSA testkey <rsa@rpm.org> public key

commit b73f0429c3db239817b044f110e11ebc7df5aa35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 14 13:20:29 2018 +0200

    Create SHA256 digest on gpg-pubkey headers too
    
    Should've really been in commit 6eeb2f2963cb4ab5f7c24b0c7165336581e53117
    originally. Thus the comment about the code being in too many places seems
    relevant still...

commit 4bd7e5cb9d75644ccd4df3255142a6dc7dd9c365
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 14 13:18:31 2018 +0200

    Fix memleak on gpg-pubkey header generation
    
    headerExport() returns malloced data, doh. Goes back all the way to
    commit 3a75a9f6c4fea02cc067a0d4836dd196d819d5b1.

commit ea9c8f911b256199b75b5266c2a907ad440f2d60
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 12 14:11:40 2018 +0100

    Add --allow-empty to the initial commit of __scm_setup_git
    
    When source tar.gz itself contains a git repo with clean working directory,
    '%autosetup -S git' macro will fail complaining about an empty commit.
    
    Resolves: #239

commit 5b8d2c62d9cc235b1a8e8860c1f31deec3b09cd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 12 14:58:27 2018 +0200

    Revert "Add extra debugging to testsuite gpg import for now"
    
    This reverts commit 7046ed804047891006875d313dcf253cba7cedb1.
    Problem identified to a libgcrypt patch in Fedora.

commit faf7d87fda3456382cf161ff11a2ad8e00ae4ab0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 12 13:38:14 2018 +0200

    Avoid hard dependency on python via the python macro helper script (#387)
    
    Rpm always executes the script as an argument to /usr/bin/python[23], so
    it doesn't need a shebang and then it shouldn't be executable either.

commit b89eb35c6034d43a8048ac9d452a1921596071a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 12 13:14:17 2018 +0200

    Fix misleading error message when missing TTY (#355)
    
    $ rpm -e mlocate </dev/null
    error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Inappropriate ioctl for device)
    
    Save and restore errno around isatty() since that's not the interesting
    thing here.

commit 99887fec108110f0c85c060fcce48d13f807d058
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Wed Nov 8 11:45:51 2017 -0500

    ima: Also apply signatures to config files
    
    Even though config files may be close to what could be described as
    'mutuable files', we now want to give the user control over the
    installation of signatures on these files as well. We enable this
    through a variable in the macro file. For this, we should be aware
    that the signatures of these files may become incorrect or missing
    once RPM post installation scripts or other programs have modified
    these configuration files.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com

commit 70b56c5022ad639042145eb94181fa6dfbaffad1
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Feb 8 15:51:52 2018 +0100

    Fix progress bar printing for packages with wrong archive size (RhBug:1478051)
    
    The unpacked size is now bounded above by the archive size.

commit e2eab3c364663743bd2c194171234fe81e81f074
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Feb 8 10:14:52 2018 +0100

    man: fix typo
    
    Reported-by: Michal Jaegermann <michal.jnn@gmail.com>
    Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1543222
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 7046ed804047891006875d313dcf253cba7cedb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 6 11:41:34 2018 +0200

    Add extra debugging to testsuite gpg import for now
    
    CI runs are failing due to import failing, but I'm not able to
    reproduce locally, containers or no containers. Debugging by remote
    logging, yay.

commit 67dfb32302ad9a7cd10f91d2c51f913b9d952490
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 6 11:37:41 2018 +0200

    Unbreak testsuite from unversioned obsoletes warnings
    
    Commit 0bd50344ba8c3dc13fe847048ba97c1490e321a9 broke the testsuite
    due to us having all sorts of hysterical "for example" gunk in our specs.
    Axe the cruft and adjust the one actually used obsolete to have a
    version.

commit 9fd0e56185cde59820079b6305e22664801f8487
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 5 18:04:13 2018 +0200

    Don't bother falling back to gpg from gpg2 in test-suite
    
    It's not going to work with gpg 1.x so don't bother.

commit 00aadfa59145f98ac9cbf8a9d1ebe0416fabcbb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 5 17:49:51 2018 +0200

    Expect failure for invalid directory symlink fails when run as root
    
    The test-suite doesn't generally expect or like to be run as root, but
    that's how our CI runs it at the moment. And with the new symlink
    verification rules from commit c815822c8bdb138066ff58c624ae83e3a12ebfa9,
    when the "invalid" link is unexpectedly created by root this breaks our
    testcase (but not the actual behavior of the code).

commit 3c2c31b1ff7e2ebd2e5108f89ed8b2bb84bc212c
Author: Nikola Forró <nforro@redhat.com>
Date:   Tue Dec 5 11:20:09 2017 +0100

    Only destroy lua tables if there are no BASpecs left
    
    Lua tables "sources" and "patches" are created in newSpec() and destroyed
    in rpmSpecFree().
    
    But in case BuildArch processing takes place in parseSpec(), the function
    returns successfully but the tables are already destroyed by rpmSpecFree()
    that has been called for the original spec.
    
    Signed-off-by: Nikola Forró <nforro@redhat.com>

commit 7209c22a06ce840d38c27618d00aacec2725fd6c
Author: Miro Hrončok <miro@hroncok.cz>
Date:   Tue Jan 23 14:56:58 2018 +0100

    brp-python-bytecompile: Run a pre-flight find before invoking $default_python
    
    This added check figures out whether invoking $default_python is necessary
    and exits early if no files would be bytecompiled by the two blocks below.
    
    This prevent's invoking $default_python (i.e. %{__python} (i.e. most likely
    /usr/bin/python)) when not needed. Currently (before this change) it has
    been invoked twice for each build (iff the executable was present in the
    buildroot), even tough in most cases it did nothing. While this might have been
    harmless, it prevents us to deprecate or even forbid /usr/bin/python invocation
    during RPM build as proposed in Fedora in [1].
    
    While this change is driven by Fedora's needs, I believe it can be useful
    for others as well. It doesn't render the script utterly more complex,
    while it prevents it from doing 2 superfluous (possibly slow) operations.
    
    [1]: https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build

commit 3725069876241ef032acfd0f35b799b59f5a61d5
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jan 25 21:20:44 2018 +0100

    rpmbuild: Warn out if RPMSENSE_GREATER is used within Obsoletes
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 0bd50344ba8c3dc13fe847048ba97c1490e321a9
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jan 25 21:13:05 2018 +0100

    rpmbuild: Warn out if version bound is not set for Obsoletes
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 9e8e8bcfb1b1fa359c37499e11a302ec7bde1595
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jan 25 20:59:02 2018 +0100

    rpmbuild: Error out if name Obsoletes have invalid characters
    
    Obsoletes work only by package names, but there was no check for tag
    itself. Let's at least check that Name in Obsoletes contains valid
    charactes of package names.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit ab3fab29de51c7e68c9911d3b7809109da92fa6d
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jan 22 16:55:51 2018 +0100

    Fix type mismatch calculating new line program offset in debugedit.c.
    
    edit_dwarf2 calculates the (new) offset in the line program by
    taking the difference between the old and new idx, which are of type
    size_t (unsigned), plus the size_diff of the header given as ssize_t
    (signed), and adding that to the current r_offset, which is an Elf64_Addr
    (unsigned). On 64bit architectures, where the size of Elf64_Addr and
    ssize_t are the same this isn't a problem. But on 32bit architectures,
    where the size of ssize_t is smaller than Elf64_Addr the smaller signed
    result gets promoted to an unsigned long first causing issues if the
    size_diff was negative.
    
    This would have been caught by gcc -Wsign-conversion
    
    warning: conversion to ‘long unsigned int’ from ‘ssize_t’ {aka ‘long int’}
    may change the sign of the result
    
    But enabling this by default gives a lot of false positives.
    
    Found and fixed by Richard Biener <rguenther@suse.de>.

commit 9dbdefb933b8871c9e4f598ff77510e6d5662c1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 18 11:07:05 2018 +0200

    Macroize build root policies for consistent disable/override ability
    
    Add a separate macro for each brp we have, using standard naming
    convention and conditionalize the usage in %__os_install_post.
    Voilà, we have a standard way to disable (and also override) any brp
    scripts from specs that need it and a common scheme for new brps
    to follow.
    
    Note that this is not supposed to change the existing behavior and
    default build root policy invocations at all, any change in those
    would be a thinko/typo/copy-paste error in this commit.

commit 0850547eb71da8cc942f679794de837c0a7e3421
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jan 14 00:42:57 2018 +0100

    brp-compress: compress fish manpages
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 7013a82d575309be8b7a382fcb5aa57a9f4e4635
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 12 12:07:55 2018 +0200

    Fix %ghost/%missingok files causing bogus verify failures (RhBug:1533092)
    
    Looks like a regression on first sight but it's actually just an ancient
    bug unearthed by commit bb27f9fffa8e557b931314523473ed782b86cc97 - this
    can only happen now that we actually are verifying %ghosts:
    %ghost and %missingok files would still cause verify to return an error
    code although no output for them was shown.
    
    It's tempting to filter RPMVERIFY_LSTATFAIL on %ghost/%missingok in
    rpmfilesVerify() already but then we couldn't report them as missing
    in verbose mode. So instead just filter them out in verifyHeader()
    after generating output.

commit a76ca4d569f01e58bb7f0b678b7d50ea0626f11a
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 5 13:33:32 2018 +0100

    Fix sigheader generation for big archives
    
    The old code just subtracted 8 bytes from the reserved space, but
    that does not take tag alignment into account and led to the
    signature header overwriting the package header.
    
    We now use headerSizeof to calculate the real size difference.

commit c4040afc16f7d6f927291bcf2747795afaf6c87e
Author: Colin Walters <walters@verbum.org>
Date:   Fri Jan 5 11:00:59 2018 -0500

    COPYING: Minor grammar fixes
    
    I was looking at this file in the context of dnf/rpm-ostree integration:
    https://github.com/rpm-software-management/dnf/pull/991#issuecomment-355587679
    
    The incorrect use of "it's" was distracting; I ended up rewording the initial
    sentence to be more direct.
    
    The second hunk is another grammar fix.

commit f7aff1193e7a27b631030f332ecfe87046853903
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 8 12:30:37 2018 +0200

    Track and log failures when loading macro files
    
    It's much easier for rpm to point out the location of invalid macro
    definitions than it is for humans to grep all the places a given rpm
    version might look at. Log the macro file path once per file in case
    of failures, and additionally return and error if all definitions fail.
    
    Based on patch by Pavlina Moravcova Varekova.

commit 9343ecd94cd873e6dc1c06428975163cbb9cf9af
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Jan 5 21:16:41 2018 +0100

    Disable redefinition or undefinition of a built-in macro
    
    Prior to this patch if a name of a newly created macro was the same as a built-in macro name, the macro looked correctly defined. But the newly defined macro could not be used.
    
    It is obvious that a built-in macro can not be undefined.

commit 25653e5db65ac44ae5a830c5986ee24905aa1a68
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Dec 12 11:57:16 2017 +0100

    Consolidate macro name verification to helper function

commit a3652af66fa2a1f272d771323fee019f23d350f5
Author: Mike Crowe <mac@mcrowe.com>
Date:   Thu Jan 4 14:39:51 2018 +0000

    Make configure cope with multiple users/groups with ID 0
    
    If /etc/passwd contains multiple users with UID 0 then user_with_uid0 will
    contain a line feed which results in config.h containing:
    
     #define UID_0_USER "root
    
    (i.e. without a closing quote.)
    
    The same problem occurs with /etc/group.
    
    Let's only emit the first match in each case so that there is only ever a
    single result.

commit b22f9609d82625ec451d48515d6d318c5bf72d83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 15 16:24:50 2017 +0200

    Don't fire file triggers on non-installed files
    
    Files that are not actually being installed (or removed) should not
    fire triggers. Look at the file states on installed packages and file
    actions on transaction elements to determine this.

commit 2d52726bd55f008ea23262c2a3a31ae689cd2af4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 15 16:06:13 2017 +0200

    Explicitly skip non-installed files on erasure
    
    Up to now, actions of non-installed files (due to eg --nodocs) were left
    uninitialized making us look kinda confused:
    
    D: unknown    000000  0 (   0,   0)     0 /usr/share/man/man1/telnet.1.gz
    D: unknown    000000  0 (   0,   0)     0 /usr/share/doc/telnet/README
    D: unknown    000000  0 (   0,   0)     0 /usr/share/doc/telnet
    D: erase      100755  1 (   0,   0)101848 /usr/bin/telnet
    
    We know perfectly well what to do with them - they should be skipped. So
    lets explicitly mark them that way, which makes the debug output more
    sensible and the logic a wee bit mmore robust. However this is not supposed
    to change any actual behavior. Supposed.

commit d83edaa2188ecd13fabbf1d779763dcc17bf1b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 15 12:37:08 2017 +0200

    Move %transfiletriggerun after problem checking and fingerprinting
    
    There's no reason for this to be as evil as %pretrans, it's used for
    entirely different purposes such as unregistering a whole bunch of
    modules at once on the uninstall-transaction, and we don't want that
    to happen if there were file conflicts present.
    
    Additionally, file triggers should not fire on skipped / non-installed
    files. This is currently not taken into account and not changed here,
    but fingerprinting results are a pre-requisite for doing that.

commit 20c9f258b5f645e3a3a68757a9be9915d67b248b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 15 12:30:11 2017 +0200

    Fixup transfiletrigger comments
    
    There's no "this package" in %transfiletrigger concept, eliminate
    misleading copy-paste comments (this is relevant inside psm).
    Use actual trigger names to make it easier to see what is what.

commit c6170c6c060af1a3b2c35635aeec9fb65ff8b491
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 13 13:33:50 2017 +0200

    Add a testcase for issue #370
    
    Besides testing the output length sanity, add provisions for testing
    scriptlet arguments too. All those zeros are technically wrong, but it
    simply reflects what is implemented, there's no attempt at providing
    anything else to the file triggers atm.

commit e6effe3c91b66e822db571d3129e49164ddc45ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 13 12:26:24 2017 +0200

    Fix file lists getting fed to file triggers multiple times (#370)
    
    A prefix can have arbitrary number of matches within a given header,
    but each header should be fed into the file list iteration just once.
    Otherwise we end up feeding the same file list over and over to the
    scriptlet - hundreds of megs or gigs of waste in worser cases.

commit 5dc33a852d83a63e55fbd000c60a29a7d2822ed7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 13 12:06:45 2017 +0200

    Fixups to file trigger internal api docs + comments

commit fc132e525a0fee21f47597bef9a757cb8d3ba6b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 13 10:39:23 2017 +0200

    Don't segfault on NULL fi in generated rpmfi iterators, doh

commit e5abfd8b574c7dece80a5176978469e7c8f2b23f
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Dec 8 14:46:16 2017 +0200

    Support --jobs as an alias to -j in find-debuginfo.sh (RhBug:1518120)
    
    make supports both, and as %_smp_mflags gets passed to both make and
    find-debuginfo.sh now we better accept the same options for as make.

commit 34c2ba3c6a80a778cdf2e42a9193b3264e08e1b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 29 11:08:33 2017 +0200

    Don't require signature header to be in single contiguous region (#270)
    
    In packages created and signed by rpm.org, the entire signature header is
    always reloaded into a contiguous region so there are never "dribbles" in
    headers coming from packages on disk. However in the case of signature
    header, the region gets changed and rewritten any time signatures
    change so it's not "immutable" in the sense the region of the main
    header is, and requiring it to be that way is perhaps a bit dubious -
    by the "immutable" definition, only build-time added tags should be
    in the region and all later signatures outside it.
    
    Further, there are otherwise legit packages in the wild that are signed by
    something that places the signatures outside the signature region (samples
    in #270 and RhBug:1514190 are from Intel, maybe they're using a home-grown
    signing software) and also rpm5 is actually relying on a padding tag to be
    outside the region as it's used for the actual padding between the
    signature and main header..

commit db1b99db2543b2c2526a2e116daeffa0498d5de4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 17 11:42:07 2017 +0200

    Fix not all %transfiletriggerpostun triggers executing (RhBug:1514085)
    
    Trigger indexes need to be reset to zero when the package changes,
    otherwise only the first %transfiletriggerpostun encountered will
    get stored and run.
    
    This bug has been there since introduction of file triggers so 4.13.x
    and 4.14.x are affected and will need updates. Besides triggeres just
    not executing, I suppose this might in some circumstances cause wrong
    triggers executing.
    Trigger indexes must be reset to zero when package changes.

commit 80934099292c9e5acfb98216bfcd6ef73bf7df13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 8 11:15:01 2017 +0200

    Mark build-id and dwz entries in packages as %artifact files
    
    In worst-case scenarios (packages with lots of binaries but little
    else), the build-id entries can dominate the query output to the
    point its hard to see the actual content. Marking these things as
    %artifact entries (artificial by-products of our processing) allows
    them to be easily filtered out from queries, eg:
    
      $ rpm -qpl can-utils-20170830git-1.fc27.x86_64.rpm | wc -l
      76
      $ rpm -qpl --noartifact /can-utils-20170830git-1.fc27.x86_64.rpm | wc -l
      28
    
    Besides build-ids in the main package(s), this also marks the build-id
    and dwz-related entries in the debuginfo packages as %artifacts. The
    debuginfo files exist solely for carrying debuginfo data so its perhaps
    arguable whether these should be %artifacts in there too or only in the main
    packages, but ... if the very same thing is artifact in one then is it
    not also in the other? Additionally, all these build-ids and the dwz
    entries are in hidden directories on the filesystem even in the debuginfo
    packages which suggests they might be best swiped out of sight.

commit 393879d9c58905027741baf68795523bbdd4a32e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 14 11:17:51 2017 +0200

    Axe yet more unimplemented/unused/redundant cruft from query/verify flags
    
    QUERY/VERIFY_PATCHES never meant anything at all.
    QUERY_FILES/QUERY_NODEPS as query counterparts of verify --nofiles etc
    just doesn't make any sense. Not that they were any used, anyhow.

commit 80f8d6376066a3e2e303965d7f0e462d0f2bb8bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 14 11:03:04 2017 +0200

    Split cli verification flags out of qva_flags
    
    These are common in all cli operation, hiding them in "query flags" under
    yet another (or actually two, QUERY_DIGEST / VERIFY_DIGEST etc) different
    names and then translating back to internal vsflags everywhere doesn't
    make anybody's life easier. No functional changes from cli point of view,
    any theoretical API users will need changes of course.

commit 3fe0beeb073a8427c4fd124c4e944b8fc27c37c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 16:12:20 2017 +0200

    Move cli verify flags to rpmcli.h where they belong, lose rpmvf.h
    
    rpmVerifyFlags are only relevant for the cli-oriented API's,
    it makes no sense to have a separate header file just for these.
    Back then the idea was to create additional APIs around verify
    which would've kinda warranted a header of its own but that never
    happened (for our purposes circa 10 years is close enough to forever)

commit 58d9a792335f9ebdf7297cfd7ad57a493bc68ea5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 16:07:22 2017 +0200

    Eliminate useless VERIFY_DIGEST and VERIFY_SIGNATURE constants from python
    
    AFAICS there are no python interfaces where those two values would be
    useful, as rpmcliVerify() and rpmcliQuery() are not exported to python.
    The relevant constants are the _RPMVSF_NODIGEST/NOSIGNATURES.

commit a6321cca0cdaa7b31a68176268530cb35371c3c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 15:57:42 2017 +0200

    Eliminate deprecated and unused rpmVerifyFile()
    
    I doubt it was ever used outside rpm itself so probably nobody notices,
    in any case it's trivial to port to the new APIs instead.

commit 441693805984c6769f7b9380e0264db2583c2458
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 15:53:28 2017 +0200

    Eliminate redundant VERIFY_FOO file verify bits
    
    Use the corresponding RPMVERIFY_* bits for popt (no reason not to)
    and poof VERIFY_* foo is no longer needed.

commit fad0f4e333f660f746f60db92bd1258938dc86f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 15:05:38 2017 +0200

    Split file verify omit mask into a field of its own from qva_flags
    
    Per-file verify flags are their own distinct set of things, splitting
    them off makes things clearer and will eliminate need to duplicate stuff.

commit 3c0bdacc3f9a8e1c34bf64872c82da29e422061b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 14:44:37 2017 +0200

    Move rpmVerifyAttrs enumeration to rpmfiles.h where it belongs
    
    These are exported file verify attributes in packages and also
    used for rpmfilesVerify(), separate rpmvf.h makes little sense.

commit df053dd36461042e4d11a21a97e9be9058204658
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 13 11:49:38 2017 +0200

    Only fallback to read-only locking on EACCES (RhBug:1502134 revisited)
    
    The only kind of error that might go away by dropping from O_RDWR to
    O_RDONLY is permission related, retrying for others makes no sense.
    The earlier EROFS-specific check introduced in commit
    f25752a8cd6b161f3002dc7839242872ecb59547 wasn't very well thought out.
    
    Suggestion from Alan Jenkins (#356)

commit e197625cd12e50798ac216a0c85fd133af5e3b2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 12:42:59 2017 +0200

    Implement include-filtering for verification too
    
    Since it comes at very nearly zero cost now, support include-filtering
    (--configfiles etc) for verify too.
    
    The actual functionality is little more than a single if-continue
    in the verify code, what unfortunately makes this commit so "big" is
    rearranging the popt tables to have separate file selection options
    table that is common for both query and verify, plus update the
    manual to reflect that, plus testcases for the functionality.

commit 0636ce28aaff54626e3bd261b13e8999dc6b7485
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 12:29:46 2017 +0200

    Split inclusion-filtering into a separate bitfield in qva
    
    This makes the whole thing simpler and conceptually clearer as these
    are not really different query targets, only filters by inclusion.
    No functional changes intended from rpm cli perspective, API and
    ABI are of course broken here.

commit 100c887c3653873ee00d706c584fd929a7bc2702
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 11:36:06 2017 +0200

    Remove a bunch of unused/unimplemented query and verify symbols
    
    QUERY_SIZE counterpart for verifications --nosize just dont make
    sense, and of course they're never been implemented either.
    VERIFY_FOR_LIST and friends aren't implemented either, and dont make
    sense: wtf is VERIFY_FOR_DUMPFILES supposed to do? Filtering on the
    other hand is perfectly sensible, but that can and should be shared
    with query.

commit 605891908e3ca3ec6e1fc6c24f4c9b3f28971f0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 10:53:11 2017 +0200

    Rename qva_flags to a more descriptive qva_excattr
    
    No functional changes, just an API break in the practically unused
    cli-department. Of course wouldn't be worth the breaking unless there
    was a benefit, which will come in later commits.

commit 734de804b5f3513ce4994cd8aeec892476725ab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 10 10:39:42 2017 +0200

    Add tests for file attribute filtering in query and verification
    
    Both query and verify support filtering by attribute exclusion
    (eg --noconfig) but only query supports filter by inclusion
    (eg --configfiles) for now.

commit c4fe194556cce908df12c6e3758a7b8c2a1ce48c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 9 16:12:51 2017 +0200

    Check for getline() as a required function in configure
    
    This became mandatory in commit aeb58f654a6e8ea433e8d63fae28ab57a871d05d.

commit 5ca0c4e837d3b55507359911d1642305d314418a
Author: Michal Čihař <michal@cihar.com>
Date:   Wed Nov 8 10:12:07 2017 +0100

    Follow man page conventions in rpm-misc.8
    
    Follow man page conventions:
    
    - TH has two parameters, second one being section
    - NAME should list program name before \-

commit 6f1e75ddd2c67eb8b43608c03bf0cc895612e6fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 8 10:53:15 2017 +0200

    Add support for new virtual file attribute "%artifact"
    
    This can be used to differentiate files that are not natural parts of
    packages but created as by-products of our processing so they're easy
    to filter out of queries.
    
    Possible candidates include build-ids, byte compiled files etc, but this
    nothing is automatically marked as artifact in this commit.

commit bcd249553406542d3d9e31ec8397eccf13236323
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 8 10:18:29 2017 +0200

    Generalize argvAddDir() into a helper supporting arbitrary virtual attributes

commit 8c4bfd74b568d9be138e8ec4fd38dc2ca427d433
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 13:47:17 2017 +0200

    Error out on --enable-ndb if system doesn't support mremap() (#334)
    
    mremap() is Linux-specific, so ndb is effectively Linux-only.

commit 1d1ff6c86fc9afb4c6c89b42fdb5be851f13cb7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 3 12:42:30 2017 +0200

    Add actual command + arguments to dependency generator debug output (#338)

commit 56f9e210313617194a41455596fda280ed00193d
Author: Jun Aruga <jaruga@redhat.com>
Date:   Fri Sep 22 14:38:05 2017 +0200

    Fix Python bindings library path for custom prefix.
    
    This causes the Python bindings ModuleNotFoundError for custom prefix.
    The Extension class libraries does not accepti library file or directory path.

commit 6cec28ff044ad0246f6b43c20f9fc44800fc892e
Author: Peter Kjellerstedt <pkj@axis.com>
Date:   Mon May 15 11:23:26 2017 +0200

    Add a new option --alldeps to rpmdeps
    
    This will send the output from rpmfcPrint() to stdout. This is an
    alternative to using the --rpmfcdebug option, which will send the same
    output to stderr. The two options have totally different use cases
    though. While --alldeps is used when the output from rpmfcPrint() is
    what is wanted, --rpmfcdebug can be used together with the other
    output options, e.g., --requires, without affecting their output.
    
    Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@gmail.com>

commit 3815080241558c25ccddb08d6762d0eb40280642
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Thu Nov 2 18:13:14 2017 +0100

    Update Polish plural forms
    
    Transifex has wrong plural forms for Polish that they refuse to change.
    Now that RPM ditched Transifex, we can fix it.

commit 0352101ebea3b38d6deaf1b8a372b5361fa11d9a
Author: Athos Ribeiro <athoscr@fedoraproject.org>
Date:   Tue Oct 31 17:59:12 2017 -0200

    Add missing option to rpmspec manpage
    
    Add information on the missing parsing option of rpmspec (-P,--parsing)
    in its manpage.

commit 4314965f83186701b609040206daba2f3c18a567
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Oct 25 21:49:28 2017 +0300

    Invoke python-macro-helper with -Es python args

commit 2249cf4507545a1f73c52941b32d063ba72edb35
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 02:10:31 2015 +0200

    Add support for passing multiple names to find-lang.sh
    
    Avoids having to run find-lang.sh for each name and append the file lists
    produced later. As this makes use of bash specific array functionality,
    change the interpreter to bash explicitly.

commit 2adf362d31dd03cbfeff1521fe80fc80e8e829c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 27 13:09:20 2017 +0300

    Remove find-lang.sh embedded changelog, merge authors to CREDITS
    
    Per-file changelogs do not belong to this world era. Merge the
    authors into CREDITS (proyvind is already there) and remove the
    hysterical embedded changelog.

commit 014246b0502e30a20a2efef6fdf5c177ccba3ece
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 27 12:49:29 2017 +0300

    Test for lsetxattr() presence, don't try building IMA plugin without it
    
    Came up in PR #260 review, we shouldn't assume the presence of this
    Linux-specific API.

commit b58096e586fba3923c1ff6029b0e10ed02d6397d
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Thu Oct 26 20:18:35 2017 -0400

    Remove now redundant code and parameters from expandRegular()
    
    The 'nocontent' parameter is now always 0, and the 'exclusive' parameter
    is now always 1 so they can be removed, along with the linkSane() helper
    which becomes unused here.

commit ef3ff412c33a71be6b3543a50c244377dff3d9e7
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Thu Oct 26 20:14:01 2017 -0400

    Create first hard link file and keep open, write it at end
    
    This avoids having to reopen the file later on, which was problematic
    in various ways: it was fundamentally incompatible with IMA (#333) and
    also required validating the file wasn't changed in the meanwhile so
    it simplifies things too.

commit 0afe0c3c6cba64d8b7adcdec6ed70f8d32961b58
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Thu Oct 26 20:00:59 2017 -0400

    Split off function wfd_open() to open a file

commit e276991614fd127f21aba94946f81f22cb7e6b73
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Thu Oct 26 19:53:43 2017 -0400

    Split off function wfd_close() to close a file

commit 4f0f18eaeb89f4e3da658b1175ea86c53d53ede2
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Aug 28 18:15:44 2017 +0300

    python-macro-helper: Drop -tt from shebang

commit b3b86bdeb2796ff3c547ba0f61482d85ca3efb54
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun May 21 12:52:02 2017 +0300

    Get %python_version from platform.python_version_tuple
    
    sys.version docs instruct against extracting information out of it.
    
    Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>

commit 7ac3f07ac41a2760ed6dae65e63fe0b49aec6f6c
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun May 21 12:45:16 2017 +0300

    Use separate script instead of python -c to retrieve %python_* values
    
    Avoids having current directory in Python's search path and thus
    arbitrary code execution when the macros are expanded.
    
    Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
    Thanks-to: Paul Wise <pabs@debian.org>
    Thanks-to: Jakub Wilk <jwilk@jwilk.net>

commit 2e835509a62b7806e010292f354a3fa6e9830dc3
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Thu Feb 23 11:48:38 2017 +0100

    tests: Add tests for boolean dependencies
    
    These tests cover the following rich dependency variations:
    - (X and Y)
    - (X or Y)
    - (X if Y)
    - (X if Y else Z)
    - (X and (Y or Z))
    - (X and (Y if Z))
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 0032ee8c23bd93a24388b07aafd2dbd32772b328
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Oct 18 09:25:08 2017 +0200

    Don't expand %{verbose:...} argument on false condition
    
    Prior to this patch %{verbose:...} argument was always expanded, eg:
    
            rpm -v --eval '%{verbose:%{echo:is verbose}}' \
                   --eval '%{!verbose:%{echo:is not verbose}}'
    
            is verbose
    
            is not verbose
    
    Obviously both cannot be true.

commit 269ee2b42bc9a942de526beb991d3c2b51fd6cd8
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Oct 18 09:24:08 2017 +0200

    Move %define and %undefine tests into rpmmacro.at and simplify them
    
    Tests 1, 2 test behavior in the same nested level.
    Tests 3, 4 test behavior after leaving a nested level.

commit f25752a8cd6b161f3002dc7839242872ecb59547
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 16 16:52:02 2017 +0300

    Don't bother retrying locking on read-only filesystem (RhBug:1502134)
    
    If rw-lock fails because of read-only filesystem then read-only lock
    is not going to succeed either, dont bother. Which also happens to
    make the error message sensible (ie complain about read-only fs)

commit 7e9af0c000868ad6272a9577f9daed991599419b
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Oct 13 23:27:32 2017 +0200

    debugedit: edit_dwarf2 check lndx is in range before checking r_offset.

commit 48eed779807bfcd5c4438f8a52e7e076eae40341
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Oct 16 02:21:02 2017 -0400

    configure: Fix typo for libcrypto usability check for OpenSSL check
    
    The typo in this check prevents rpm for correctly detecting
    compatibility with OpenSSL 1.0.2.

commit 5e910797559f77d5e5a2d38b6d4440d48bb04d21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 13 13:02:33 2017 +0300

    Switch from Transifex to Zanata
    
    Transifex hasn't been working so great lately (to put it mildly), plus it
     went proprietary ages ago, lets use an open-source translation platform
    instead.
    
    Transifex was not integrated to any of our make targets and such there's
    not much to do here.

commit 92b718bb0e98ecaea6d4229eab9ef3bc0220d9c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 15:51:26 2017 +0300

    Don't assume per-user groups in test-suite
    
    The tests from commits f2d3be2a8741234faaa96f5fd05fdfdc75779a79 and
    c815822c8bdb138066ff58c624ae83e3a12ebfa9 assume per-user groups,
    but this is not a generally valid assumption and causes unnecessary
    bogus failures in the test-suite in some setups (eg mock)

commit ff5e2874f8b2e44722354a7a593f8b71a9603109
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 12 11:20:42 2017 +0300

    Update CREDITS for new contributors since 4.13.0

commit 8683adbdbc5723a1f3bbecb51e7ab5ea763e9691
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 11 16:23:35 2017 +0300

    Avoid local path in testsuite expected results, oops
    
    Commit 5bd9f5f580723098c14f6a5c6cb398813967f738 was relying on a local
    path on my laptop, obviously failing anywhere else. In most tests
    those messages are not an issue but since python tests run outside
    the test-root, they expose local paths. For regular cases we could
    just tell autotest to [ignore] the result, but this gets lost somewhere
    in the ~three layers of quotes and whatnot of passing python foo around,
    in order to be able to escape handle [] sanely in python code. Lovely.
    So shut redirect rpmlog() to /dev/null instead.

commit 5bd9f5f580723098c14f6a5c6cb398813967f738
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 11 15:33:32 2017 +0300

    Add tests for signed package read for both NOKEY and OK cases
    
    Don't want #330 happening again...

commit e6c88eaeab3661f5fb180b970cafba233bcd999a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 11 15:19:42 2017 +0300

    Fix "substatus" (eg NOKEY) regression on package read (#330)
    
    Commit 3ccd9ccf50c8d643f9dcd956155720018429beed introduced a regression
    in the cases where package is successfully read (ie a header is returned)
    but "there is a but", such as a missing pubkey. We need to return the
    substatus instead of just "yes yes" in that case.
    
    Keep track of the substatus in through the callback and return it
    in case everything else was okay to restore former behavior.

commit 2f99ec77b48289eaeaf3a40a605f89e66347ba3e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 18:59:47 2017 +0300

    Fix another silly mistake in file signature move
    
    Commit f558e886050c4e98f6cdde391df679a411b3f62c accidentally reversed
    the order of RPMSIGTAG_FILESIGNATURES and RPMSIGTAG_FILESIGNATURELENGTH
    compared to the non-signature tags. Would make no difference technically
    but restore the numerical order of the tags just in case (us humans
    are subject to stumble on stuff like this...)

commit d8274b1e01b13a5d2b0c4348176f468b10f68b96
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Oct 10 17:01:21 2017 +0200

    Fix formatting in man page

commit f9523c38a53c7ed3f6db9bb493c4d244d7573c0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 15:20:16 2017 +0300

    Drop redundant check on hash algo name
    
    The array is already size-validated, me thinks we can safely
    assume the array to be populated with non-NULL values.

commit 5af8ab60c652cda0bffcd4d65130bb57b5666ff0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 15:04:38 2017 +0300

    Eliminate redundant signature length calculation function
    
    The actual signing function knows the length already, we just need to
    return it and then we can insert it if there was anything at all
    to sign.

commit 8f8fe718413a4066ecc6718f92091d9e87a2d443
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 14:44:18 2017 +0300

    Use rpm file info sets instead of header for retrieving file data
    
    Simplifies the code a little, but more imporantly it avoids duplicating
    code and special knowledge like the default digest algo and converting
    hex to binary. As a side-effect, this fixes RPMTAG_FILESIGNATURELENGTH
    inadvertly getting added into packages that have no files at all.

commit ba5a08e955916b840614a12979f0e2470d71c237
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 14:43:58 2017 +0300

    Assume failure in rpmSignFiles()
    
    Doesn't make it any shorter yet, but makes more sense in the next steps.
    Just refactoring.

commit 9eca10b2a6c475c4d28560326cd2c28d630755d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 14:40:05 2017 +0300

    Unbreak file signing from previous commit
    
    Commit f558e886050c4e98f6cdde391df679a411b3f62c essentially broke
    file signing because signatures never get migrated into the package
    header. This is what happens when you play around with too many
    variants of the same thing and forget to test what ultimately got
    committed, which was subtly different from anything else so far... :(

commit f558e886050c4e98f6cdde391df679a411b3f62c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 11:44:10 2017 +0300

    Place file signatures into the signature header where they belong
    
    The original file signing puts the file signatures into the main header
    immutable region, invalidating all previous signatures and digests so
    the package no longer appears to be what it was when it came out of the
    assembly line. Which is bad. Doing that also requires recalculating
    everything again which is just added complexity, and since it adds
    stuff to different place from the rest of the signing, it requires yet
    complexity to deal with that. Moving the file signatures into the
    signature header solves all that and allows removing a big pile of
    now unnecessary code.
    
    Because this means retrofitting tags bass-ackwards into the signature
    header, the tag definitions are backwards to everything else. Other
    options would certainly be possible, but this makes things look more
    normal on the signature header side. "Users" only ever see the
    unchanged file signature tags as they have always been.
    
    This also means the signature header can be MUCH bigger than ever before,
    so bump up the limit (to 64MB, arbitrary something for now), and
    permit string array types to be migrated from the signature header
    on package read.
    
    Caveats:
    This loses the check for identical existing signatures to keep the
    complexity down, it's hardly a critical thing and can be added back later.
    While file signing could now be done separately to other signing, that
    is not handled here.

commit 13644fa07b3e6ee1c40996b32008918c22399e6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 10 11:07:38 2017 +0300

    Use lower-level headerPut() for file signing
    
    Not supposed to affect behavior at all, but we'll need this in the
    next step.

commit 255d35d644d2f1e0e0ec7e7e701c4c67a1a5e415
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Oct 5 22:55:38 2017 +0200

    Fix rpmlog warning in lzopen_internal from too big length specifier.
    
    memlimit is defined as uint32_t, but was printed as %lu.
    Change to %u to avoid a gcc warning.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 286e35351247432dd8b0c2678fbdc0c221b5ded0
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Oct 5 23:00:49 2017 +0200

    Fix rpmlog printing of off_t in fdConsume.
    
    off_t is a somewhat weird type because the only thing that is defined
    about it is that it is signed. Depending on whether you are compiling
    on a 32 or 64 system and/or whether compiling for large file support
    it has different sizes. Currently compiling build/pack.c on 32bit arches
    will give a warning because the size doesn't match the %ld format
    specifier. Change it to %jd and explicitly cast it to intmax_t to make
    it print consistently on any arch.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 62bde9545a32939d90c9182cfafd52df5a4dfaeb
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Oct 5 22:50:54 2017 +0200

    Avoid warning about mbAppendStr if lui support isn't enabled.
    
    Guard the whole mbAppendStr function with ifdef WITH_LUA to avoid a
    warning when lua support isn't enabled because it is only used inside
    the doLua function (which is empty unles WITH_LUA is defined).
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit fef72734dc0150a7128b9d53bb1f04ea77e8d9f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 9 14:50:37 2017 +0300

    Don't spew out usage message just because rpm is in verbose mode
    
    The rpm "major mode" could legitimately be "unknown" here for several
    reasons like --eval and usage message is inappropriate in that case
    regardless of verbosity setting.

commit 7a263645f8a3974d9571e696769b75856cef94d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 9 10:01:05 2017 +0300

    Remove excessive linking from our cli tools
    
    The cli tools certainly are not directly invoking any crypto or
    zlib operations, thus they shouldn't be linking to them either.

commit b62d85d78b07d6d43ca26fd7cda489c636a5796b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 5 11:35:51 2017 +0300

    Ensure all indexes get created on --rebuilddb
    
    As a side-effect of commit fffd652c56eaef8fc41d23190e39513639f2092d,
    only the main Packages db would get created on rebuild if the rebuild
    is done on an empty database. Open all indexes before the rebuild
    to ensure all indexes get created no matter what.
    
    Spotted by perl-RPM4's test-suite, add the same test to our suite too.

commit 882669ba0fbdd3367d02e645c1d065844bbe282c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 4 10:25:12 2017 +0300

    Revert "Don't initialize return values on rpmReadHeader() entry"
    
    Similar to commit 73c76f59997c2c4e42c6f511cade680a2a258f79, revert
    to the old behavior which is actually documented for this API.
    
    This reverts commit 8156b937d962cc17f3b62450debad44dc4178f11.

commit 73c76f59997c2c4e42c6f511cade680a2a258f79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 4 10:15:28 2017 +0300

    Always initialize hdrp retval of rpmReadPackageFile()
    
    Since commit 3ccd9ccf50c8d643f9dcd956155720018429beed, hdrp has only
    been set on success (at least half-intentionally), but turns out a
    various third party software depends on the former behavior. And on
    closer inspection, it's actually a documented feature of the API.

commit f064492a501fa56939030bb8753d252814331003
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 16:13:19 2017 +0300

    Add TR_RPMDB element type for representing packages from the rpmdb
    
    These are not transaction members in the traditional sense as they
    simply represent a package that is in the rpmdb and cannot actually
    be members of a transaction set (at least not currently). But packages
    from the rpmdb can and do participate in the transaction in the form of
    triggers and file triggers, and abusing TR_REMOVED for the purpose is
    just that - abuse.
    
    This is not supposed to actually change any behavior though.

commit c54581ce18149eeea0f47602e7b4913f780f8c79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 14:49:11 2017 +0300

    rpmteDBOffset() is perfectly legal for TR_ADDED too, fix the docs
    
    rpmteDBOffset() simply returns zero for non-installed packages, which
    is actually useful for determining whether a TR_ADDED package has
    already been installed or not, rpm even relies on this. Remove a couple
    of other questionable TR_REMOVED comments too.

commit 62b6ec76e463302fc5ebca8127f9a07eab6124ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 14:32:18 2017 +0300

    Remove long since dead code
    
    rpmteAddedKey() was axed more than eight years ago in commit
    3e37044eb970fc0f30942e744fb7558f4f23f528, remove the leftovers
    from python bindings too.

commit 8156b937d962cc17f3b62450debad44dc4178f11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 3 09:12:26 2017 +0300

    Don't initialize return values on rpmReadHeader() entry
    
    For consistency with rpmReadPackageFile() (which changed behavior
    similarly in the grand package read unification) and common practise,
    only set return values pointers when we have something to return.
    Other than that, everybody gets to initialize their own variables.
    
    Also don't dereference msg, we really dont need to know whether it
    points to a NULL string ornot in order to set it.

commit 7d2ead6c5f6b0881bfbd03e66cb699f9af621cd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 2 12:30:10 2017 +0300

    Remove no longer needed fakechroot workaround from rpmfilesStat()
    
    Symlink sizes inside fakechroot environment used to be incorrect
    in some situations, quite naturally since those links *are* longer
    on disk. This was fixed a long long time ago in fakechroot 2.10 but
    Fedora was stuck with 2.9 for a long time so... Anyway, good riddance.

commit b8e861110f98619f87643919ec118f78dcb0712f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 2 11:55:13 2017 +0300

    Use the mode, size, mtime and rdev data from rpmfilesStat()
    
    No need for the separate accessor calls now, just use the data from
    the stat struct from rpmfilesStat(). No functional changes, but this
    depends on commit b7f6ad39195442ec53b7f8453aae4499a63bc311 to get the
    size right.

commit 363554386d9514cc8030757b6257ff04310b70ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 2 11:54:32 2017 +0300

    Clean up file verify mode comparison
    
    Casts from the past are not needed when we use mode_t for dealing
    with this data to begin with. In addition, use the standard S_IFMT
    macro for file type masking instead of hardcoded hex value.

commit d9a56786e55824d5d3494dcbf2f504d95cee7d05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 2 11:53:57 2017 +0300

    Use just numeric uid/gid for user/group verification
    
    Lose the duplicate detection introduced in commit
    348eea3a4151b1dbe6f9976ef50cd7ba3820fa79 which was a bit controversial,
    and outside rpm's jurisdiction. Instead grab all the relevant file data
    in through rpmfilesStat(). Simplifies things a good deal without really
    losing anything, multiple user/groupnames will still be handled correctly
    as long as they can be resolved to the same id via the normal means.
    So from rpm's POV no functional changes, just 40 lines less goo...

commit b7f6ad39195442ec53b7f8453aae4499a63bc311
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 2 11:40:00 2017 +0300

    Fix st_size on non-archive use of rpmfiStat()/rpmfilesStat()
    
    In archives, hardlinked files are zero-sized except for the last file
    of the hardlinked set which carries the actual content. For other
    purposes we want the actual size, hardlink or not. So in rpmfilesStat()
    always just report the size from the header and fixup the size to
    when iterating over archives from rpmfiStat() instead.

commit 2a1c3db6224fe79560f36989e6b5d446cbf4c831
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 28 15:22:07 2017 +0300

    And another test-suite related distcheck regression fix...
    
    Commit ec0d4d80d8ba1c1541018915ea47aca7aa956251 added a bunch of
    perfectly innocent looking rpm queries to the rpmbuild test suite,
    which however end up breaking "make distcheck". Really.
    
    The problem is that these are executed without the testsuite run()
    wrapper function so the rpm running environment isn't quite right
    and because of that, when run deep from distcheck in a crazy
    prefix config (or something like that), an rpmdb instance gets left
    over where it shouldn't be, and that makes distcheck unhappy.
    And that in turn tends to make your head hurt.

commit af3b481d31537eecb65cb0887d3864dc47a3a020
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 28 11:18:10 2017 +0300

    Unbreak make distcheck again
    
    Regression introduced in commit 5b176ceca61f4c1aed19c6e3f9aa348f19c836a3
    by the way of sloppy eyes: the main macros file used to be included
    in the path via ${abs_top_builddir} but that's not where macros.debug
    lives, unless you happen to build in the source directory directly.
    The correct source for macros.debug is ${top_srcdir} instead.

commit c815822c8bdb138066ff58c624ae83e3a12ebfa9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 27 13:45:17 2017 +0300

    Make verification match the new restricted directory symlink behavior
    
    Only follow directory symlinks owned by target directory owner or root
    during verification to match the behavior of fsmVerify() in the new
    CVE-2017-7500 world order.
    
    The code is klunkier than it should and the logic should use common code
    with fsmVerify() instead of duplicating it here, but that needs more
    changes than is comfortable to backport so starting with this.
    
    Also worth noting that the previous "follow the link" logic from
    commit 3ccd774255b8215733e0bdfdf5a683da9dd10923 was not quite right,
    it'd fail with RPMVERIFY_LSTATFAIL on a broken symlink when it should've
    ran verification on the symlink itself. This behavior is fixed here too.
    
    Finally, once again fakechroot gets in the way and forces the related
    verify testcase to be changed to be able to create a valid link. Reuse
    the replacement testcase for the purpose and add another case for
    verifying an invalid link.

commit f2d3be2a8741234faaa96f5fd05fdfdc75779a79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 26 16:54:16 2017 +0300

    Restrict following symlinks to directories by ownership (CVE-2017-7500)
    
    Only follow directory symlinks owned by target directory owner or root.
    This prevents privilege escalation from user-writable directories via
    directory symlinks to privileged directories on package upgrade, while
    still allowing admin to arrange disk usage with symlinks.
    
    The rationale is that if you can create symlinks owned by user X you *are*
    user X (or root), and if you also own directory Y you can do whatever with
    it already, including change permissions. So when you create a symlink to
    that directory, the link ownership acts as a simple stamp of authority that
    you indeed want rpm to treat this symlink as it were the directory that
    you own. Such a permission can only be given by you or root, which
    is just the way we want it. Plus it's almost ridiculously simple as far
    as rules go, compared to trying to calculate something from the
    source vs destination directory permissions etc.
    
    In the normal case, the user arranging diskspace with symlinks is indeed
    root so nothing changes, the only real change here is to links created by
    non-privileged users which should be few and far between in practise.
    Unfortunately our test-suite runs as a regular user via fakechroot and
    thus the testcase for this fails under the new rules. Adjust the testcase
    to get the ownership straight and add a second case for the illegal
    behavior, basically the same as the old one but with different expectations.

commit e9d1ec565dc54a85e4a8c3bb448afa3ae4ed8441
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Sep 25 04:29:44 2017 -0400

    Remove an outdated todo for %trace
    
    I cannot find any reason for the TODO in these days.

commit 99e6de810904c2b9d32341832f541108c196cc97
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Sep 6 14:46:55 2017 +0200

    Forbid 'if' richops in 'or' context and 'unless' richops in 'and' context
    
    Guide users to the correct operator instead.

commit f97f91f2ab6850a6c9a87b484334cf6366ffbaf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 22 14:08:38 2017 +0300

    Argh, make the stupid new string translatable too

commit 9aad3ee2ce535fc99d191c0e688f78b11a6e0faa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 22 14:02:27 2017 +0300

    Implement --load cli switch to allow loading individual macro files

commit 5b176ceca61f4c1aed19c6e3f9aa348f19c836a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 22 13:19:11 2017 +0300

    Add + use a separate helper function for debuginfo test-cases
    
    These need an extra macros file which OTOH cannot be present in other
    tests, but overriding --macros tends to get into different kinds of
    trouble, for example commit ec0d4d80d8ba1c1541018915ea47aca7aa956251
    revealed hardcoded /usr/local/lib/rpm prefixes in the cli invocations
    by the way of test-suite failures when a different prefix is used.
    
    The testsuite runs with RPM_CONFIGDIR pointed to the test environment
    so basic rpm configuration is fine as-is, just arrange the macros.debug
    file into the environment by copying and removing for each of these tests.
    Crude yeah, but works. Loading the macro file with --eval "%{load:...}"
    would also work but that would introduce extra newlines everywhere, which
    is ugly and avoided by copying. Maybe we should add a special --load=...
    cli switch just to load additional macros - this isn't the first time
    somebody needed that.

commit 7cf3c78678b9f4a3049102305121cdaea1cf3e9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 22 13:08:41 2017 +0300

    Create $(prefix)/rpm/macros.d directory on make install
    
    We read it so might as well create it too...

commit ec0d4d80d8ba1c1541018915ea47aca7aa956251
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Sep 21 17:01:50 2017 +0200

    Add debugsource recommends to debuginfo packages.
    
    Debuginfo packages are useful without debugsource files. But it is often
    useful to also have the debugsource files. So make debuginfo packages that
    don't contain sources recommend the debugsource package (or the main
    debuginfo one if the sources are not in a separate debugsource package).
    
    Add Package dbgsrc as argument to filterDebuginfoPackage so it can be
    added as recommendation. Add a new function findDebugsourcePackage.
    Use it to add a requires to the main debuginfo file and/or the debuginfo
    subpackages.
    
    Extend the various rpmbuild.at tests that create debugsource and/or
    debuginfo subpackages to check the debugsource (or main debuginfo)
    package is recommended.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 8a2eed2211ea01271fb6f0ba736c10c179e3c3de
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Sep 21 17:01:49 2017 +0200

    Rename addPackageRequires to addPackageDeps in build/files.
    
    Also add the dependency tag as argument so it can be used to add either
    a Requires or Recommends. Adjust the one caller to pass RPMTAG_REQUIRENAME.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 4087530f0fcbb14167be8296957e44e6ffc97579
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 20 16:48:02 2017 +0300

    Add configuration option for controlling file IO flushing behavior
    
    This is just a slightly simpler alternative to PR #187 with a more generic
    name to leave room for future developments. The thing is, flushing out IO
    is something rpm should really do always on *some* level, but on rotational
    disks doing so on this simple per-file level is so horribly expensive that
    it's simply not practical. SSD's are an entirely different story however,
    and on some workloads regularly flushing out IO has other benefits (which
    is what PR #187 is actually about) even if you dont actually care about the
    durability aspects.
    
    Documentation is intentionally left scarce as this is not at a stage
    where we'd want to actually advertise it.

commit 5b3781c686ff39ac7935e217adca1d6e8b06c0b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 20 11:23:12 2017 +0300

    Fix excessive dependencies for elfdeps and sepdebugcrcfix
    
    These only need libelf, debugedit needs libdw and libdwarf too.
    Add comments to the endif's to make it easier to parse for us mortals.

commit 404ef011c300207cdb1e531670384564aae04bdc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 19 14:46:36 2017 +0300

    Don't follow symlinks on file creation (CVE-2017-7501)
    
    Open newly created files with O_EXCL to prevent symlink tricks.
    When reopening hardlinks for writing the actual content, use append
    mode instead. This is compatible with the write-only permissions but
    is not destructive in case we got redirected to somebody elses file,
    verify the target before actually writing anything.
    
    As these are files with the temporary suffix, errors mean a local
    user with sufficient privileges to break the installation of the package
    anyway is trying to goof us on purpose, don't bother trying to mend it
    (we couldn't fix the hardlink case anyhow) but just bail out.
    
    Based on a patch by Florian Festi.

commit cfa106ee08189b6f706327ad8c701e43fc656f1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 19 09:39:36 2017 +0300

    Add testcases for unpackaged files and directories detection
    
    Unpackaged files we detect, directories we dont, never have.

commit 90802a894ad75df3a94edbe66a901fca006e65ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 18 16:10:03 2017 +0300

    Fix Ftell() past 2GB on 32bit architectures (RhBug:1492587)
    
    Back in 2011 "somebody" forgot to apply brain when copying the return
    type of "long" from ftell() to the Ftell() implementations within rpmio
    (commit 61f5838aa849b8a75f7f08a33c868b518e1ccd44).
    
    Fast-forward six years and suddenly TexLive in Fedora no longer builds
    on 32bit architectures due to that thinko, appearing to be a regression
    in commit 7d1a303c456ce459cf550e8154fa4b6f29012b05. However that only
    exposes the inner flaw of Ftell() as the code now relies on values
    past the initial header range, for which the 2G of "long" has been more
    than enough on 32bit architectures too.
    
    Doh, dude...

commit e3cd2bc85e0578f158d14e6f9624eb955c32543b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 13:05:02 2017 +0300

    Avoid multiple strlen() calls on the constant prefix string when searching

commit e760730738a2383f3ab2d558a3f2bff9d4450044
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 13 12:45:10 2017 +0300

    Fix file triggers failing to match on some packages (MgBug:18797)
    
    Directory names as stored in RPMTAG_DIRNAMES are not sorted when
    separated from basenames, so binary search has no chance of working.
    While a linear search on the dirnames would be guaranteed to find *some*
    matches when they exist, it could still miss some results as the
    matches are not guaranteed to exist in a neat low-high range.
    
    Construct the entire pathname for prefix comparisons to ensure sorted
    paths and adjust the file trigger testcase to cover this too.
    
    Thanks to Pascal Terjan for initial investigations and Thierry
    Vignaud for providing a workable reproducer.

commit 4adc4f198cbc59b493a5f8a92e6e85b95c29719f
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Sep 11 04:27:04 2017 -0400

    Add documentation for %load macro

commit 7481f0ff15e4d639301fffbbe402a0d27ed02b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 11 10:13:45 2017 +0300

    Always calculate disk space info, only don't report them if filtered
    
    In the distant past when rpm just stat()'ed all mounted filesystems,
    it was quite necessary to have the option of disabling the fs stats.
    However now that we only stat() filesystems we actually use, the
    situation is quite the reverse: if stat() eg hangs, we wouldn't be
    able to complete the transaction anyway so it's better to find that
    out before the transaction even starts, regardless of problem filters.
    
    Also the filesystem info sets could be used to track other things besides
    space, such as suid/sgid availability, selinux and file caps support etc.

commit 9e65d6ee9ab851db5b5d4f0b390330abb6d38029
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 11 10:08:12 2017 +0300

    Don't sync filesystems unless we actually did something in the transaction
    
    Non-zero transaction members is not a meaningful test for this, as we can
    can fail early for several reasons. Only sync if we actually executed
    rpmtsProcess().

commit cf4e631283fa9bced9eab5fad8db7bfe06b26e6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 9 09:42:25 2017 +0300

    Inode zero is just a regular inode
    
    Inspired by a similar change in glibc:
    https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=686f2ea18374a541d203cfcc0e1dfba1666f49c2

commit 9809319df254428e15a5466a8f3bf4a1b5141c23
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Sep 7 11:47:25 2017 +0200

    Allow rpmrichParse to be called with no callback
    
    This is useful if you want to just verify the syntax or find
    the end of a rich dependency.

commit eef82b0e81c4aba4069cbf273b2c14005c9b2331
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 7 11:40:10 2017 +0300

    Less naive version of sync-after-transaction (RhBug:1461765)
    
    If syncfs() is available (ie on Linux), only sync modified filesystems.
    In order to do this, keep the diskspace information around throughout
    the transaction.
    
    Skip the sync entirely on chroot installations for now, but this
    too should be configurable (always/auto/never or so).
    
    There's a bit of a chicken-egg problem with post-transaction plugins:
    for example systemd_inhibit should only be released after syncing,
    but OTOH some other plugins might be performing actions whose results
    should be syncing. Leaving it alone for now.

commit 4bb954086af48d0661e4a930d31517226e39db7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 6 17:35:36 2017 +0300

    Fix PYTHONPATH in test-suite when prefix differs from system python (#265)
    
    Prior to this, test-suite PYTHONPATH would be wrong for all but builds
    using --prefix equal to system python location, and eg --prefix=/opt
    would cause the testsuite to fall back to system rpm bindings instead
    of the in-tree one. Ditto for dist-check.

commit 5763f40c2130936f398d561e7ea6de66fb9da086
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 6 17:33:30 2017 +0300

    Enable python build during dist-check
    
    The test-suite fails if python is not enabled. An alternative solution
    could be disabling python tests when not enabled, but the python
    tests cover things that are not covered elsewhere so especially
    for dist cutting the tests are quite important.

commit 8db78626381284326d1a2ccaa0e3a5f8c6e29665
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 6 14:07:46 2017 +0300

    Fix false negatives on signature/digest tests inside "make distcheck"
    
    distcheck runs from a read-only source tree so the packages that we
    copy around for fuzzing "fuzz" have read-only permisssions and
    modifications fail, causing the tests to fail. So instead copy the
    to-be-modified packages from inside testing/data where the permissions
    are taken care of by commit ecb418265598421932a55b773c5599f9e55424df.

commit b7a869f0f322cbe428e78150f2c175abea4c8c4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 6 09:09:15 2017 +0300

    Sync disks at the end of transactions (RhBug:1461765)
    
    Bit hysterical that we haven't done this...
    On Linux we could call syncfs() for only those filesystems that we
    actually touched but somehow I doubt it's worth the trouble.
    
    Another option might be doing this at rpmtxnEnd() but maybe that's
    excessive.

commit 37982efbacdc2ccc00cea988a049dfa32749936f
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 1 15:55:05 2017 +0200

    Add support for 'unless' rich dependencies
    
    An (A unless B) dependency implements (A and not(B)). This kind is useful
    for "or" type dependencies, e.g. "Conflicts" or "Supplements".
    
    As "Conflicts: (A unless B)" is equivalent to "Requires: (B if A)", I
    thought this type is not needed. But there is no such equivalence
    for Supplements, thus the change in mind.
    
    Like with "if" we also have a syntactic sugar "else" flavor:
    (A unless B else C) is the same as ((A unless B) or (B and C))
    
    This commit also makes the "else" handling code in depends.c much
    easier to understand.

commit a8abf2cfd0ada26cfd9af13cbf5c8ce5af9b8f2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 5 13:13:00 2017 +0300

    Eliminate the rest of idiotic assert()'s in rpmtd.c
    
    Finish what was started in commit 9c979cffe937fd76f70ca111c76eaa797585dddc,
    with greetings to self ten years ago...

commit 80b5c12eaaa51efca64780eb1d917d2f67c73013
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 5 12:00:30 2017 +0300

    Use pkg-config for figuring python cflags and libs
    
    Simplifies things a bit and also makes "PYTHON=python3 ./configure" work,
    whereas it previously barfed on figuring the library names like
    "libpython3.6m"

commit 6d610e9b9a906548ce44265d7f36199441ea8bca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 4 17:39:16 2017 +0300

    Always execute scriptlet callbacks with owning header (RhBug:1485389)
    
    Triggers and file triggers can and do execute scriptlets from installed
    packages which are not part of the current transaction and thus have no
    associated transaction element, making the scriptlet callbacks
    inconsistent and cumbersome for API users.
    
    Create a fake transaction element for the poor orphan scriptlets lacking
    one to make it consistent (of course, creating rpmte's with all their
    associated data just to pass a header pointer along is ridiculously
    expensive but *shrug*).
    
    Regular triggers used to execute in the context of the triggering
    transaction element, make them run with the owning trigger header too.

commit 61aef0f8357a9c12bba72e00e4e7c9bc73ecdd16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 4 11:13:36 2017 +0300

    Fix %transfiletriggerpostun diagnostic showing "unknown"
    
    The file trigger diagnostics are ambiguous with regular triggers,
    but "triggerpostun" is much closer to the mark and easier to
    debug than  "unknown".

commit 9b4bcd15a3e9817dba1262eba24b0916a9f2c05e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 4 11:09:28 2017 +0300

    Limit "<package> has N files" debug diagnostics to install/erase goals
    
    This was only really meant for install/erase goals, and is not really
    meaningful for scriptlet goals which came much later in the history.

commit d6be2e4312f8c69c6334dd923429fe2fc5e745ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 14:02:50 2017 +0300

    Mark ndb and lmdb experimental in configure too
    
    Nobody reads release notes, better carry the message here...

commit 44570e253d26963e047b4038b23ed2d0670ceda6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 11:17:48 2017 +0300

    Remove leftover parentheses, no functional change.
    
    Should've been in commit 206c12acc207bc29e291fac623d52841091abe73.

commit 206c12acc207bc29e291fac623d52841091abe73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 1 10:39:56 2017 +0300

    Don't assume %{quote:...} is surrounded by whitespace
    
    As implemented in commit cdbc7e1d8b423393ae74762d10b6d9a6e826e910,
    %{quote:...} only works when its used to quote the entire argument
    and produces garbage when used in middle of other text, such as
    "x%{quote:y}z". Not sure there's actual need to do that, but producing
    garbage is never good.
    
    Only unquoted separators can split an argument, copy argument manually
    to strip any quote characters and adjust the math to match. Oh and
    add testcases too.
    
    Thanks to Pavlina Moravcova Varekova for pointing this out.

commit 1a08ab7e30f8c6ce5e9003aa6f579203ff6400da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 15:15:29 2017 +0300

    Add documentation for all/most built-in macros
    
    This hasn't seen much love in recent decades, ugh...

commit 58213365e9e9308cb8e02dd8f8e5edb7f971628a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 13:15:06 2017 +0300

    Plug what's probably an ancient memleak in build code

commit 0034a5c6e563266c9dccb89580efa4495746fec8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 13:09:00 2017 +0300

    Avoid macro expansion on every rpmlog() call + fix a related memleak
    
    Move color config macro expand into a helper function that's only called
    once per thread and use enums for the possible states, ints are nicer
    to compare than strings. Also remember to free the expansion result to plug
    a memleak as well.

commit c69cfdf901816a702e1ff07c12214b2efe293e90
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 31 12:00:16 2017 +0200

    Fix classification of ELF binaries with both setuid/setgid set
    
    There is a ',' between multiple entries.

commit cdbc7e1d8b423393ae74762d10b6d9a6e826e910
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 12:19:58 2017 +0300

    Support parametric macro argument quoting, take three (#222)
    
    All the nice quote-characters are already spoken for, we need to
    do something more special here. Add a special-purpose built-in %{quote:...}
    macro which quotes its argument using ASCII unit separator character 0x1f
    (so it really shouldn't get into anybodys way) and teach macro argument
    splitting to support that.
    
    So with %{quote:...} it's now possible to pass strings containing
    whitespace and empty strings as arguments. It might not be pretty, but
    it's at least POSSIBLE, and no existing user is bothered by this.

commit 08ed0b20c69694d5c4b63b6130d7fb0e34c700a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 31 12:14:36 2017 +0300

    Add a few more parametric macro argument tests

commit 6adef6a3c729fc21ed2254bf2c557c2540995bf1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 30 16:54:35 2017 +0300

    Make queryformat array behavior consistent for all types
    
    Always require matching number of elements regardless of data type
    and number of elements, and error out otherwise. Behaving differently
    for plain strings and binaries makes no sense, those checks are ancient
    artifacts that have long since ceased to produce what might've been
    originally intended behavior.
    
    A remaining quirk is the case where a tag doesn't exist at all, this
    produces (none)'s all the way down. Which doesn't seem terribly wrong,
    but neither does it seem really consistent with the rest of it. Dunno.

commit 1517c1a721c4ba0706c8f98f41d7f08728cc5165
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 30 16:48:30 2017 +0300

    Add more queryformat array testcases
    
    There are some funny quirks here: query 2 case needs to succeed
    because there's exactly one changelog entry in the package, but if
    that were not the case it should fail (but doesn't, so the testcase
    fails for now). So we test for that separately in query 3, and finally
    test for %{=foo} (ie repeat first entry) which is required to sort out
    different sized arrays in the general case.

commit 7eb620f595486309670797a2436559598ff1f8f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 30 15:28:23 2017 +0300

    Restore 4.13 behavior with single value tags in query format arrays
    
    Rpm documentation actually states that you must use %{=TAG} for the case
    commit 7f47cbbd7d1600ae280e48a655c9e870cf9361e0 was trying to fix, but
    caused regressions in other situations. So the 4.12 behavior is little
    more than accidental, rpm is actually supposed to error out here
    (but doesn't, which is another bug).
    
    This reverts commits 7f47cbbd7d1600ae280e48a655c9e870cf9361e0 and
    ead9cdd587bbf052722f0f8598e0983e565e3415.

commit 9c979cffe937fd76f70ca111c76eaa797585dddc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 30 14:26:19 2017 +0300

    Eliminate a bunch of idiotic assert()'s in rpmtd getters
    
    In the cases where zero is a sane return for non-existent data,
    return it instead of barfing up an assert. Many more unnecessary
    asserts left there but these are rather obvious...

commit d78813fa9412a8ded89f4de68ed7eb9cd0706307
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Aug 29 04:03:53 2017 -0400

    When printMacro() is used, print newline after "(empty)" macro

commit ed782b36537cc7c41d7c38837baa1426a49b28b0
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Aug 29 04:03:44 2017 -0400

    Bring manual for %{echo:...}, %{warn:...} , %{error:...} up to date

commit fa39cb730d4843b8cbf01218c2a03b46e96ce3ec
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Aug 25 05:17:03 2017 -0400

    %trace mb states at the beginning/end of expandMacro must be equal
    
    Macro %trace switched on in a nested stage level writes the trace
    until the level is leaved to a lower stage level. This did not
    work e.g. for macros containing several condition macros.
    
    For example:
    %prep
    %define Branch1() {%trace %global Leaf1 "1"}
    %define Branch2() {%global Leaf2 "2"}
    %define Main() {%{?test1: %Branch1} %{?test1: %Branch2}}
    %Main
    
    with the result:
      4>         %global^Leaf1 "1"
      2>     %{?test1: %Branch2}^
      3>       %Branch2^
      4>         %global^Leaf2 "2"
    
    It was because macro expansion is context free. This patch fixes it.

commit b052d69474abe2a86543e24099f953b0ceee489c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 19:33:40 2017 +0300

    Only fallback to MDB_RDONLY if readonly database is requested
    
    Somewhat similarly to commit 70a1efa52b2c442308fd1ddfd706770b6515a2c5,
    only allow read-only environment if read-only is requested, writers
    are better off failing early.

commit 2822ccbcdf3e898b960fafb23c4d571e26cef0a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 19:17:24 2017 +0300

    Fallback to DB_PRIVATE on readonly DB_VERSION_MISMATCH too (RhBug:1465809)
    
    All these years BDB has been relying on undefined behavior by storing
    POSIX thread objects in its persistent environment files (for the long
    story, see RhBug:1394862). As a side-effect of fixing it in BDB,
    all sorts of creatures from dark corners are getting dragged into
    the daylight: rawhide glibc gets updated a lot and we're getting
    DB_VERSION_MISMATCH hits from rpm queries from package scriptlets
    (told you so...), other tools not closing their database handles
    when they should etc etc. This lets those cases continue "working"
    to the extent they always did (ie unreliably) for now.
    
    We should log some diagnostic message in this case, but coming up
    with an understandable and reasonably short message for this mess
    isn't that easy :)

commit 70a1efa52b2c442308fd1ddfd706770b6515a2c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 28 18:56:04 2017 +0300

    Limit automatic fallback to DB_PRIVATE to read-only operations
    
    Only permit automatic fallback to the essentially lockless operation
    of DB_PRIVATE when read-only database is requested. This isn't exactly
    correct, as readers need locks for correct operation just like writers do,
    but at least in the readonly case the database wont be damaged.
    
    The exception to the rule is systems which don't support the shared mapping
    at all so we don't have much choice. Explicitly configured
    I-know-what-I'm-doing DB_PRIVATE is not affected either.

commit 98d0a51e16364dd1897284f173f415db0bbdf2ec
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Mon Aug 21 18:42:21 2017 +0200

    metainfo.prov: scan /usr/share/metainfo and /usr/share/appdata for both types
    
    Directory name doesn't matter, content does. In specification, both
    appdata.xml and metainfo.xml should be in /usr/share/metainfo, but
    tools should support /usr/share/appdata as for legacy location.
    
    References: https://bugzilla.redhat.com/show_bug.cgi?id=1483644
    Reported-by: Petr Pisar <ppisar@redhat.com>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit eadee821b3ac97dfaa26e03e9f5cca904bddf00d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 23 12:56:31 2017 +0300

    Export rpmsqBlock() to python bindings as blockSignals()

commit ee33773218d5bda08a32c3775101b8aa211f2b13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 23 11:52:50 2017 +0300

    Leave build scripts around in debug mode (#1442015)
    
    We do this for install-time scripts too, so its only logical to do
    so with build scripts as well.
    Depends on commit 724830018a455f25d8a9be60f7d858968fd6b7a6.

commit 724830018a455f25d8a9be60f7d858968fd6b7a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 23 11:50:11 2017 +0300

    Allow running rpmbuild with debug verbosity
    
    Only force RPMLOG_INFO level if running with less verbosity (as is
    the case by default), but leave RPMLOG_DEBUG alone. Quiet overrides
    any number of -v's though.

commit 4e647cd97903add52c3ead8ffc1eb62635097b17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 22 10:24:21 2017 +0300

    Eliminate unnecessary "delete" argument to freeArgs()
    
    This became unused and useless with the big scoping change in
    commit 237f35f16f978bb20e4cafd78abfab1f2e5db480. No functional
    changes here.

commit 609adaa75855717548a8298b93d0a31a25be7083
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 21 16:29:56 2017 +0300

    Bump macro max recursion limit up
    
    Fedora java packages are running into the old limit of sixteen nesting
    levels (commit b3179e6de35d2b960dab92230e106a817b00bc64), bump it up
    to 64. The old limit lasted almost twenty years, lets see how far this
    gets us.

commit 2986e7659ddac012e8d7c6c57fbc04aaa3f4c84f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 18 17:07:39 2017 +0300

    Remove redundant max_macro_depth initialization
    
    Oldies but goodies: the max depth is already initialized in declaration
    to _MAX_MACRO_DEPTH which has been the same 16 since late nineties. This
    wasn't always the case of course...

commit 054de0f50fc1c8aacb6c45fa4a0fcd8d9ce5b2d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 18 12:46:59 2017 +0300

    Use silent lookup for debuginfo packages (#1482144)
    
    Noarch packages do not have debuginfo, this was causing harmless
    but bogus error messages via lookupPackage(). Depends on commit
    4afe09cbcfbc43c1385b8626e69bea216600ee59.

commit 4afe09cbcfbc43c1385b8626e69bea216600ee59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 18 12:43:27 2017 +0300

    Add a flag to allow quiet test for package existence with lookupPackage()
    
    Turning "flag" into an actual bitfield requires testing for
    PART_NAME/PART_SUBNAME differently, no actual changes here though.

commit 94e8cd6058cba07b5b97785d2cc91566ec267eaf
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Aug 17 06:00:26 2017 -0400

    Make macro %{error:...} cause an actual failure

commit a3b153eb478b0c6411b453d02280d2f99c37fd1e
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Aug 17 06:00:23 2017 -0400

    Unified messages printed by %{echo:...}, %{warn:...}, and %{error:...}
    
    Send all through rpmlog(), unify formatting - previously echo and
    warn were missing the trailing newline. The other change is that
    echo now goes to stdout.

commit 0cbcf9b9c327632e94c7b5709f66393d1a1eccda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 17 13:08:37 2017 +0300

    _DBSWAP() macro is identical between lmdb.c and db3.c, consolidate to dbi.h

commit 18a2fc0744c1eb55b707b4769f743d00eb088a16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 17 13:02:10 2017 +0300

    Make _dbibyteswapped static within lmdb.c

commit c84292fe231bf8ebafda0e9bc6fc1447734028c6
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Jul 29 22:05:38 2017 -0400

    ci: Add lmdb-devel to CI Dockerfile

commit ed9de1992f5e1c23e8d8dbd61325a1e0070f2c72
Author: Jeff Johnson <n3npq@mac.com>
Date:   Sat Jul 29 20:25:51 2017 -0400

    Add LMDB backend to RPM
    
    v2 (Neal Gompa)
      * Switch from RPM_CHECK_LIB to PKG_CHECK_MODULES
      * Fix notation of file name in lmdb.c
      * Remove MDB_FIXEDMAP flag to prevent portability issues
      * Add comment that lmdb is an option for %_db_backend
    
    Closes: #281
    Fixes: #128

commit 9a6a95bf0b3fa60f64f531e1c28eb93743caa41b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 15 10:51:00 2017 +0300

    Add missing "il" to header sanity check error message

commit a3c1f733e0f29c5c3f81a901918f41a73214e388
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 14 14:28:10 2017 +0300

    Revert "Support quoting of macro arguments (#222)"
    
    This simply breaks too many things - whole macro ecosystems exist based
    on the assumption that quotes in arguments will pass to macros
    untouched. Macro argument quoting support is necessary but it'll
    need some entirely different approach that is either opt-in or
    based on a different syntax altogether.
    
    This reverts commit 47f0a899eff78230d2b9a00d23474845579d1582.

commit 1bf6da61fe40b0ba32871248d2d4b8d6a8b0aca1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 11 14:11:00 2017 +0300

    Make the rpm 4.4.x compat layer removal explicit via an error message

commit 50c380e9e0a0878b7d5214fe3b2048bf9544a146
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 20:21:26 2017 +0300

    Disable two of the sigpipe tests, they're too unstable
    
    Tests that fail half the time due to load on machines etc are
    more trouble than its worth.

commit 7e65bec67d7461ba37c10b8dcb1b892911c38ab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 20:15:02 2017 +0300

    Revert "Only build bundled fts if system has a bad version that doesn't handle LFS"
    
    The subtle test is too subtle for its own good, this patch breaks
    thirty six testcases on 32bit architectures.
    
    This reverts commit 1eadabe4453ef32eb6c3bc837094e1ca998affcc.

commit 03a905c94c38076fe5486ad1f50727d84f619675
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 12:13:38 2017 +0300

    Remember to add macro-scope.spec to tarballs
    
    Should've been in commit c4d41c30cecc910ada85d2fe4cbeab19673065d7

commit 7c8048668dcc3d8944d846393d8cfa480f236662
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 11:17:46 2017 +0300

    Revert "Make sure that debugsourcefiles.list is generated in the build dir."
    
    This reverts commit 22431b78f762ee8925f57a9774553a79ac2084bf.

commit 1b49d43c061091f12d4dcb7a57d74d547066cf31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 11:17:36 2017 +0300

    Revert "Warn and create empty debugsource package if there are no sources."
    
    This reverts commit 874dd7e388b7a3b47d5caab5e1c2852f035c887a.

commit 874dd7e388b7a3b47d5caab5e1c2852f035c887a
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jul 28 15:29:52 2017 +0200

    Warn and create empty debugsource package if there are no sources.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 22431b78f762ee8925f57a9774553a79ac2084bf
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jul 26 02:37:17 2017 +0200

    Make sure that debugsourcefiles.list is generated in the build dir.
    
    The %_debugsource_template expects the debugsourcefiles.list file
    to be in the (current) build dir. Make sure that is always the case
    even if find-debuginfo.sh was invoked in a different (sub) directory
    by adding the build dir path as explicit argument to -S.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 2321badddc6e5849f39377d6216900867a08a423
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 10:51:35 2017 +0300

    Bump version to appear newer than latest stable branch (4.14.x)

commit 456d0e590e1e65da34104bb3ae6bce4f2a5082f0
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Tue Aug 8 09:18:45 2017 +0200

    add tests for with/without rich operators
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit dac1c702562f57bd7ab080172d7e228cda25a819
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 14:06:33 2017 +0200

    Implement with/without rich dependencies
    
    Unlike the other rich rependencies they work by evaluating package
    sets. This means, "Requires: (foo with bar)" is only fulfilled
    by a package that provides both foo and bar. In comparison,
    "Requires: (foo and bar)" can be fulfilled by two different
    packages.
    
    Without implements set subtraction, e.g. "Requires: (foo without bar)"
    is only fulfilled by a package that provides foo but not bar.

commit 87b8b19eba9207d6c4d30793bec5a2b8044ecadb
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:53:04 2017 +0200

    Add rpmalLookupTE helper
    
    It returns the index of a transaction element in the available
    packages list, or (unsigned int)-1 if not fould.

commit eb6b13f9a75ba744c88f5a74f183a210554a5c0c
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:45:02 2017 +0200

    Change hdrNumCmp to use the tagNum as secondary sort key
    
    This brings rpmdbSortIterator in line with its documentation.
    
    Note that there is a catch: this change also makes the dbiIndexSetPrune
    function work different! It used to delete all items that had a
    matching hdrNum, after the change only the one is deleted that also
    has a matching tagNum. I consider this a bug fix.
    Note that dbiIndexSetPrune is only used in the db3.c backend to remove
    index entires, if we really want the old behavior we should add a
    new dbiIndexSetPruneHdrnum function.
    
    Also remove assertion when trying to sort an empty set.

commit 8a06ede5139abd621b7d4734e5206dd97c763d41
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:41:31 2017 +0200

    Add dbiIndexSetFilter and dbiIndexSetFilterSet methods
    
    They will be used to resolve "with" rich dependencies.

commit 8d54160ecea351e5b5ef055ceb1378cb6adaf8e4
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:34:59 2017 +0200

    Add dbiIndexSetPruneSet helper
    
    Also make pruning from an empty set non-fatal.

commit a0e92e8b1f00ec3520a08279c59e9af1c97ca953
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:29:10 2017 +0200

    Add dbiIndexSetAppendOne helper
    
    Easier to use and faster than creating a record and using dbiIndexSetAppend.

commit cb9bbf9d7da7cf1e7fc66cdac0a0cf4549b4e4c7
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 3 13:21:49 2017 +0200

    Remove duplicated code in dbiIndexSetAppendSet
    
    Implement dbiIndexSetAppendSet in terms of dbiIndexSetAppend. Also,
    appending an empty set is not an error.

commit 12f32cfd0007afb5b1f5acc2ff0f7ef8a2467336
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 10:38:09 2017 +0300

    Update translations from Transifxed for a change (yeah its been a while...)

commit 34403998e5e9b42fbd34375fc8da98310725a716
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 10 10:34:01 2017 +0300

    Bump sonames in preparation of 4.14.x branch

commit 33ca6d033341b1a60a24046556450172d6a75a2e
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Aug 9 17:21:44 2017 +0200

    rpmio: ifdef out lzma and bzip variable

commit 110abd2fc3966565b3a5040615b0647564c1da9b
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Jul 31 01:35:29 2017 -0400

    ci: Add libzstd-devel to CI Dockerfile

commit 3684424fe297c996bb05bb64631336fa2903df12
Author: Jeff Johnson <n3npq@mac.com>
Date:   Wed Aug 9 16:42:56 2017 +0200

    Add support for zstd compressed payload
    
      v2 (Igor Gnatenko):
        * Switch off from RPM_CHECK_LIB
        * Reference zstd from rpm.pc
        * Link rpmio with zstd
      v3 (Florian Festi):
        * move changes to cvtfmode into separate patches
        * do not error out on wrong compression levels
        * ifdef out zstdio
        Closes: https://github.com/rpm-software-management/rpm/issues/256
        Closes: https://github.com/rpm-software-management/rpm/issues/297
        Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 6fe53aa97bcbe078557652c39585a6b72c4b7dd3
Author: Jeff Johnson <n3npq@mac.com>
Date:   Wed Aug 9 14:24:11 2017 +0200

    Support ? in mode string when opening files to enable debugging

commit 03e5c5e70319978580625a1f5ad0937282819147
Author: Jeff Johnson <n3npq@mac.com>
Date:   Wed Aug 9 14:21:33 2017 +0200

    rpmio.c: Overwrite old mode completely when encountering new one in mode string

commit c4d41c30cecc910ada85d2fe4cbeab19673065d7
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Aug 9 07:05:11 2017 -0400

    Shift macro scoping level values as they are defined
    
    Some of scoping level values are defined in rpmmacros.h:
     #define RMIL_DEFAULT    -15
     #define RMIL_MACROFILES -13
    ...
     #define RMIL_GLOBAL     0
    
    Before this patch RPM set these values decreased of 1 (for all macros).
    Because of the (level - 1) in
        pushMacro(dst, me->name, me->opts, me->body, (level - 1), me->flags);
    in function copyMacros scoping level for some CMDLINE macros was decreased of 1.
    Because of the (level - 1) in
        pushMacro(mb->mc, n, o, b, (level - 1), ME_NONE);
    in function doDefine scoping level values of all other macro types and
    some CMDLINE macros was decreased of 1.
    The patch shifts scoping level values back to the numbers defined
    in rpmmacros.h.
    
    This was spotted when investigating a regression introduced in
    commit 237f35f16f978bb20e4cafd78abfab1f2e5db480 where locally scoped
    scoped macros did not get deleted on scope closing.
    This also fixes the regression in question.
    
    The first test in this patch tests automatic deleting of %defined macros.
    The second test checks whether the behavior changed by
    237f35f16f978bb20e4cafd78abfab1f2e5db480 is still working correctly.
    
    Thanks to Panu Matilainen for investigation and proposal of the main part
    of the patch!

commit 6ca89685e319c5175f20247c500be0ccde359681
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Aug 7 05:05:39 2017 -0400

    Distinguish %define and %global in the illegal macro name error message

commit 47f0a899eff78230d2b9a00d23474845579d1582
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jul 10 05:21:40 2017 -0400

    Support quoting of macro arguments (#222)
    
    Single or double quotes can be used in macro arguments
    as expected - they denote the begin and the end of the argument.
    
    Example with 2-nd and 3-rd argument in double quotes:
    ./rpm --define "%foo() 1:%1 2:%2 3:%3" \
             --eval '%foo Next_argument_will_be_empty "" "Last argument"'
    1:Next_argument_will_be_empty 2: 3:Last argument
    
    Example with all arguments in single quotes,
    without spaces between arguments:
    
    ./rpm --define "%foo() 1:%1 2:%2 3:%3" \
             --eval "%foo 'Next argument will be empty''''Last argument'"
    1:Next argument will be empty 2: 3:Last argument

commit 9a9eefc40e56821a2bc12de78114c623a7d5a461
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Aug 2 10:40:26 2017 +0200

    Add test for %{shrink:}
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 7fe183d66008c379bcdeb8fd82a8585924347b92
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Sun Jun 11 06:07:17 2017 +0200

    Add support for %{shrink:} (ported from rpm5.org)
    
    Shrinks body by removing all leading and trailing whitespaces and
    reducing intermediate whitespaces to a single space character.

commit 95310111d184f7a3cd61d12c42037e331c2af029
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Aug 9 11:11:04 2017 +0200

    Make coloring of output configurable
    
    Default is never to keep old behaviour

commit f4d82b34560c7aee3e8f64586b15a551018b9666
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jul 28 23:24:26 2017 +0200

    Test split debuginfo packages with RemovePathPostfixes.
    
    If split debuginfo code doesn't know about RemovePathPostfixes it fails:
    
    error: Installed (but unpackaged) file(s) found:
       /usr/lib/debug/bin/hello.foobar-1.0-1.x86_64.debug
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit e6a05227fc314c2254a17080da92172cb9e09fc8
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jul 28 23:24:25 2017 +0200

    Test split debuginfo packages with excluded files.
    
    If split debuginfo code doesn't know about excluded files it fails:
    
    error: Installed (but unpackaged) file(s) found:
       /usr/lib/debug/bin/hello3-1.0-1.x86_64.debug
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit a7dbbf46f096fe8e714d05cd98fdabd2c1bc13be
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jul 28 21:55:24 2017 +0200

    Add rpmbuild debuginfo subpackages tests.
    
    This adds various tests for making sure multiple subpackages are build
    correctly. Without debuginfo subpackages, with subpackages, subpackages
    with unique debug file and source dir paths and with separate debugsources.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 517f7679008529f3552f1ef5ab2cb9a570ef8e0e
Author: Jan Pokorný <jpokorny@redhat.com>
Date:   Sat Jul 8 12:02:21 2017 +0200

    Build scriptlets handling: pass exit status of last execution regardless
    
    Since the introduction of "errexit" option of build-scriptlets-handling
    (covering mainly prep, build, install, and check phases) shell execution
    (sh -e) in d9a3f08d8, it was also for some undocumented reasons
    accompanied with "exit 0" enforced scriptlet epilogue, now in the form
    of ___build_post macro.
    
    Per POSIX specification[1] (and using the terms devises), these two
    provisions combined provide mostly the desired bail-out-ready execution
    behaviour for:
    
    - simple command
    - last command in an AND-OR list
    
    i.e., when these fail (non-zero exit status), the shell itself in turn
    exits, carrying the exit status through its boundary, consequently
    failing rpmbuild process as such.
    
    Where such a propagation does _not_ occur and why does the behaviour
    leave more to be desired, is a matter of the latter "exit 0" construct.
    Generally, there are structured shell commands not compatible with
    that bail-out-ready execution principle, like:
    
    - all commands but last in an AND-OR list
    
    even though these still can leave non-zero status behind, so yet one
    would expect the equal expressivity with the former group if run at
    the very end of the scriptlet.  Unfortunately, this is effectively
    prevented with that "exit 0" tail appended to the scriptlet body.
    
    We could redefine ___build_post macro as "%{nil}", but that would drop
    the useful feedback for debugging (e.g. build.log from koji Fedora's
    build system), hence let it just simply handover the last exit status
    of the executing environment prior to that point (implicit zero if
    nothing was executed).  It will also serve as a reminder to preserve
    exit status propagation in case that macro needs a new extension.
    
    Motivation example:
    
    > %check
    > { ./run-tests && touch .CHECKED; } | sed -n '/^test/p'
    > [ -f .CHECKED ] && rm -f -- .CHECKED
    
    When ./run-tests returns non-zero exit status and hence the second line,
    when executed, also leaves non-zero exit status behind
    - prior to this change:
      second line will not fail the run (the test subcommand is not the
      last command in an AND-OR list for "errexit" option to take effect),
      one would need to, e.g.,  append "|| false" to that line
    - after this change:
      second line will fail the run, not because of "errexit" option
      (as explained), but simply because of its non-zero exit status being
      propagated down the road with "exit $?" (as if this last command
      wasn't there at all, but see the argument against complete removal)
    
    [1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
    
    Signed-off-by: Jan Pokorný <jpokorny@redhat.com>

commit 78b7a009cfeae64c55afe1ba5d3cf9c29b4e3c57
Author: Jeff Johnson <n3npq@mac.com>
Date:   Wed May 31 20:25:51 2017 +0200

    Colorized rpmlog() output

commit 83904fa087b8c8b75e9a0c5987d826c1250523e1
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Jul 31 17:38:12 2017 +0200

    ndb: disable unneeded rpmidx code
    
    Rpm only uses the Xdb mode of rpmidx, so disable the unneded file based
    mode. It would not work because of chroot issues anyway.

commit 0ac96d54c059366c00d44d50c9d461f2c3689749
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jul 30 17:55:18 2017 +0200

    digest_openssl: return failure if setting key failed
    
    digest_openssl.c:552:9: warning: Value stored to 'rc' is never read
            rc = 0;
            ^    ~
    Acked-by: Stephen Gallagher <sgallagh@redhat.com>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 715f7bc23a995a5fe88f944235adcecc1deb909f
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Sun Jul 30 16:20:39 2017 +0200

    fix couple of memory leaks in rpmbuild
    
    ==9077== 336 (40 direct, 296 indirect) bytes in 1 blocks are definitely lost in loss record 32 of 37
    ==9077==    at 0x4C31C15: realloc (vg_replace_malloc.c:785)
    ==9077==    by 0x57575B7: rrealloc (rpmmalloc.c:65)
    ==9077==    by 0x574FEE2: argvAdd (argv.c:138)
    ==9077==    by 0x4E45C8E: addNewIDSymlink (files.c:1705)
    ==9077==    by 0x4E4B946: generateBuildIDs (files.c:1969)
    ==9077==    by 0x4E4B946: processPackageFiles (files.c:2542)
    ==9077==    by 0x4E4B946: processBinaryFiles (files.c:3076)
    ==9077==    by 0x4E44180: buildSpec (build.c:262)
    ==9077==    by 0x402E6E: buildForTarget.constprop.1 (rpmbuild.c:517)
    ==9077==    by 0x4030CA: build.constprop.0 (rpmbuild.c:550)
    ==9077==    by 0x4020AA: main (rpmbuild.c:697)
    ==9077==
    ==9077== 487 (48 direct, 439 indirect) bytes in 1 blocks are definitely lost in loss record 33 of 37
    ==9077==    at 0x4C31C15: realloc (vg_replace_malloc.c:785)
    ==9077==    by 0x57575B7: rrealloc (rpmmalloc.c:65)
    ==9077==    by 0x574FEE2: argvAdd (argv.c:138)
    ==9077==    by 0x4E45C8E: addNewIDSymlink (files.c:1705)
    ==9077==    by 0x4E4BB74: generateBuildIDs (files.c:2015)
    ==9077==    by 0x4E4BB74: processPackageFiles (files.c:2542)
    ==9077==    by 0x4E4BB74: processBinaryFiles (files.c:3076)
    ==9077==    by 0x4E44180: buildSpec (build.c:262)
    ==9077==    by 0x402E6E: buildForTarget.constprop.1 (rpmbuild.c:517)
    ==9077==    by 0x4030CA: build.constprop.0 (rpmbuild.c:550)
    ==9077==    by 0x4020AA: main (rpmbuild.c:697)
    ==9077==
    ==9077== 149,066 (144 direct, 148,922 indirect) bytes in 2 blocks are definitely lost in loss record 37 of 37
    ==9077==    at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
    ==9077==    by 0x575757E: rcalloc (rpmmalloc.c:55)
    ==9077==    by 0x509FCEE: initIter (rpmfi.c:1684)
    ==9077==    by 0x4E4A611: filterDebuginfoPackage (files.c:2831)
    ==9077==    by 0x4E4A611: processBinaryFiles (files.c:3080)
    ==9077==    by 0x4E44180: buildSpec (build.c:262)
    ==9077==    by 0x402E6E: buildForTarget.constprop.1 (rpmbuild.c:517)
    ==9077==    by 0x4030CA: build.constprop.0 (rpmbuild.c:550)
    ==9077==    by 0x4020AA: main (rpmbuild.c:697)
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 25f7b4a2b1b6a8d3575c7580434e70bce1ac4b3c
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 12 16:25:10 2017 +0200

    Give a warning if db format does not match the configuration

commit 4b0356c5671daafb954c8ee932742ad7da57f345
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 3 14:52:03 2017 +0200

    Set permissions and owner for new database to the old values

commit fffd652c56eaef8fc41d23190e39513639f2092d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 29 09:08:32 2017 +0200

    Replace whole rpmdb directory on rebuilddb instead of moving around files
    
    This fixes issues with rebuilding the database for another backend which before could leave behind files from the old format.

commit 98efb7f6dc222ed175516298a34e807053d125f4
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 18:32:06 2017 +0200

    reference proper debug files whenever RemovePathPostfixes is used
    
    Closes: https://github.com/rpm-software-management/rpm/issues/280
    Reviewed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit cc8a682c386bf28540dc3fa5dbbb66c57bca5ec5
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 18:30:37 2017 +0200

    store mapping for renamed files
    
    We will need this in next commit so we know which original name
    files had, so we can reference appropriate debug file.
    
    Reviewed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 1e7d3c58fc7c55e2dd20b5ca459f36a1cd2a3d8e
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 15:21:00 2017 +0200

    exclude respective debug files for files which are excluded
    
    Closes: https://github.com/rpm-software-management/rpm/issues/284
    Reviewed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit b5c2deffd4cb1b19782e11d1537a4a0ba8a52b60
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 14:33:29 2017 +0200

    store path of excluded files
    
    We will need this in next commit so we know which files
    were excluded and we will exclude respective debug files.
    
    Reviewed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 9e30504ad43aa8345a679f46a4df7291a5f98d61
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 14:32:20 2017 +0200

    remove duplicated call to strlen()
    
    It is already done few lines above.
    
    Reviewed-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 78545a5e403661b1e1280c0791360ec772ca31ab
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jul 28 17:42:52 2017 +0200

    Rip out ndb's check if the database file was replaced
    
    The implementation did not work correctly when a chroot was done.
    As the code didn't deal with the index database at all and was
    thus not really useful, it's better to remove it instead of
    trying to fix it. Other databases like BerkeleyDB also do not
    check for this condition.

commit 5d48ff22356981a0679e71060cd5fa9f2e56d9a4
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Jul 28 14:11:22 2017 +0200

    Add two testcases for generating debugsource packages.
    
    These tests define _debugsource_packages and check a debugsource package
    is created that contains the source of the program created.
    
    Without the fix to make sure that debugsourcefiles.list is generated in
    the build dir the second testcase will fail with:
    error: Could not open %files file
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 436b6ce0ddf33f90f8efd967f0457efce23bd71f
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Fri Jul 28 07:42:38 2017 +0200

    find-debuginfo.sh: make sure that debugsourcefiles.list is generated under the builddir
    
    The %_debugsource_template expects the debugsourcefiles.list file
    to be in the (current) build dir. Make sure that is always the case
    even if find-debuginfo.sh was invoked in a different (sub) directory
    by prepending $BUILDDIR to the output file as written in description
    "All file names in switches are relative to builddir (. if not given).".
    
    Closes: https://github.com/rpm-software-management/rpm/issues/279
    Based-on-patch-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 5d446f0541c46530aa0d7c3ca0f3937fd80aa85d
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Mon Jul 24 09:31:09 2017 +0200

    update mkinstalldirs to latest version (2009)
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit fcdc3955742e6fecdf065e0a36b7128f2771c480
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 4 17:45:33 2016 +0200

    Add man page for systemd-inhibit plugin

commit 0da5cab15acbb480af64fb996ce8388b70cadb4a
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jul 19 14:43:28 2017 +0200

    config: Detect major/minor warnings and include the correct system header.
    
    glibc 2.25 introduced (really long and annoying) warnings for each use
    of the major/minor macros from the wrong header:
    
    lib/cpio.c: In function ‘rpmcpioHeaderWrite’:
    lib/cpio.c:245:13: warning: In the GNU C Library, "major" is defined
     by <sys/sysmacros.h>. For historical compatibility, it is
     currently defined by <sys/types.h> as well, but we plan to
     remove this soon. To use "major", include <sys/sysmacros.h>
     directly. If you did not intend to use a system-defined macro
     "major", you should undefine it after including <sys/types.h>.
         dev = major(st->st_dev); SET_NUM_FIELD(hdr->devMajor, dev, field);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Adjust the configure check to correctly detect the header to include
    that doesn't produce those warning producing macros.
    
    Tested against RHEL7 (glibc 2.17) and Fedora 26 (glibc 2.25).
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit fc930cc106712f87345bad5382b18ce21c2ebe7f
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jul 19 15:33:37 2017 +0200

    replaceSigDigests is only used with IMAEVM.
    
    The replaceSigDigests function is only used in includeFileSignatures
    when WITH_IMAEVM is defined. If not warning is generated.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 860c04e0c3603f4697b7be5fe15ad325369f082c
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jul 19 14:53:53 2017 +0200

    find-debuginfo.sh: Remove non-allocated NOBITS sections from minisymtab.
    
    In the minisymtab section (the .gnu_debugdata embedded ELF image) we
    do not need unallocated sections (except for the SYMTAB and STRTAB
    sections we are creating). We already remove PROGBITS and NOTES. Also
    remove NOBITS sections. They should not really take up much (any) space
    but they still add to the section tables. These sections might be created
    with the new --keep-section support (which puts the actual section in
    the main ELF binary, and a NOBITS variant in the .debug file).
    
    Also binutils objcopy seems to sometimes add them anyway filled with
    zeros instead of marking them NOBITS.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit c9a373f4aa89dd779c0a897caf172c48e732c08d
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jul 20 16:57:29 2017 +0200

    ci: enable silent rules
    
    So any warnings/errors will be way more visible in log.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit b953262298d569c64de078dd907c88b18f6702ae
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jul 20 16:57:22 2017 +0200

    tests: don't copy fstab to chroot
    
    We deinifetly don't need this.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 718e89a7c1f1dcf2016ca345c5bd9d90d9a90bc5
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jul 20 16:39:57 2017 +0200

    add Fedora's Dockerfile for CI
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 553a06af1a29da1d0c5c671c0719dc5b070701a1
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Jul 17 13:15:14 2017 -0400

    Change output text to 'Exit status'

commit 72cbdc876dec8ce80b8a7bf94a7f0edd928c3149
Author: Jeff Johnson <n3npq@mac.com>
Date:   Sat Apr 8 13:35:12 2017 -0400

    Print exit code with rpm -vv
    
    This trivial patch helps diagnose rpm behavior while developing or testing.

commit 9203f96aced5bbb5a7b39c060f0de8bee05f7764
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Thu Jul 20 11:54:58 2017 +0200

    macros: add %_rpmmacrodir
    
    It has been used in redhat-rpm-config for long time and some
    packages depend on it (though without `_` prefix).
    
    It's just more convenient than writing %{_rpmconfigdir}/macros.d/...
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 83552e3ac8fb0732ff7581e889b7d921a9d4b60b
Author: Simon Lees <sflees@suse.de>
Date:   Thu Jul 13 20:17:18 2017 +0930

    in linux, rename parisc to hppa

commit a76ce93b85be4ee1f06f49d6bc4795f3d657aa96
Author: Simon Lees <sflees@suse.de>
Date:   Thu Jul 13 20:11:37 2017 +0930

    Correctly detect Transmeta Crusoe as i686
    
    https://bugzilla.suse.com/show_bug.cgi?id=52713 (private bug)

commit b388bfe936dd6d68d2f4efd1b4393bf8f8c13fe8
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jul 17 12:58:26 2017 +0200

    find-debuginfo.sh: Add --keep-section and --remove-section for eu-strip.
    
    Use --keep-section SECTION or --remove-section SECTION to explicitly
    keep a (non-allocated) section in the main executable or explicitly
    remove it into the .debug file. SECTION is an extended wildcard pattern.
    Both options can be given more than once.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1465997
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 10c1d10d6389a8389cfaf003365fb70ef4b4e00b
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 12 16:34:22 2017 +0200

    Do not install source rpms with --freshen
    
    Resolves: rhbz#1402856

commit 4c4b64925c382c41e3f577fc807e29495f0d788e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 11 10:55:46 2017 +0200

    Add missing NULL terminator in rpmExpand
    
    Introduced in 96fde8

commit cbb062963b535186a461dfc9e03558a72ec8004d
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 7 11:30:42 2017 +0200

    rpmfc: fix ternary operator
    
    Fixes: 9d5bbd9774d00f50749bb045217eaf91c87b6de0
    References: https://bugzilla.redhat.com/show_bug.cgi?id=1468476
    Tested-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
    Signed-off-by: Florian Festi <ffesti@redhat.com>

commit 45d9f54e9669ed44cc632247483f49a42725849b
Author: Jun Aruga <jaruga@redhat.com>
Date:   Mon Jul 3 17:07:56 2017 +0200

    Return error exit status when make check is failed.

commit 2357add5aa438c536141bd278b1b4ee98700d94f
Author: Jun Aruga <jaruga@redhat.com>
Date:   Mon Jul 3 15:11:31 2017 +0200

    Fix fakechroot wrong URL.

commit 261ba91172ca1536eaa1d76e9cde58643b66c8f3
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Jun 29 13:26:26 2017 +0200

    Change mkattr to always create a %defattr with explicitly set modes.
    
    mkattr used "-" as default mode which would pick up the mode for files
    as they were on disk. This could cause files generated by rpmbuild to
    use a "non-standard" mode if umask was set by the user. Explitictly
    use 755 for directories and 644 for files to make builds independent
    of any umask settings.
    
    This works as is for both files and directories, so no file argument
    is necessary anymore.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1452893
    https://bugzilla.redhat.com/show_bug.cgi?id=1458839
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 88b7f24547afbfec42bb727e28d929a815db971a
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Jun 29 13:26:25 2017 +0200

    Use a file list to add build-id files to pkgList.
    
    Change the generation of build-id files to a file list using ARGV_t.
    First go through the current package list and generate a files list.
    Then add those files as if they were part of the original package file
    list using the new resetPackageFilesDefaults() and addPackageFileList().
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 139d62d3b8068b0e39893babf13f0c3cc5329e75
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Jun 29 13:26:24 2017 +0200

    Extract package file list processing in separate functions.
    
    Extract two functions resetPackageFilesDefaults() and addPackageFileList()
    from processPackageFiles(). This will make it possible to add multiple
    (generated) file lists to a package later.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit a08e154459d160ff9a9a5576266e685ab85bfc5d
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jun 28 14:21:32 2017 +0200

    find-debuginfo.sh: Use 'return', not 'continue', to break out do_file().
    
    commit 038bfe "Split directory traversal and debuginfo extraction"
    put the core of a while loop into its own function 'do_file()'.
    That means that instead of using 'continue' to break out early it now
    needs to use 'return'. Otherwise the script will give errors like:
    
      continue: only meaningful in a `for', `while', or `until' loop
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1465170
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit ff239ff4b06c86485eccaf8f4ecadc9bceb34748
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jun 28 13:34:55 2017 +0200

    find-debuginfo.sh: Filter out all <built-in> like fake file names.
    
    There is no official way to mark an instruction range as being not
    part of some actual source code, but as part of a compiler built-in
    construct in DWARF. So different compilers have come up with fake
    source file names like <built-in> or <__thread_local_inner macros>.
    We already filtered out the strings "<internal>" and "<built-in>".
    Just filter out all '(^|/)<[a-z _-]+>$'. They are fake files!
    
    This is mainly to appease the rustc compiler which generates lots of
    different variants to encode some instruction sequence is part of an
    compiler generated macro expansion.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 2ea5619e375f0717b755c8aa4a38254ea622b833
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Jun 28 20:25:39 2017 +0200

    debugedit: skip_dir_prefix should check for dir separator.
    
    To count as a real directory prefix the string matched should either
    be equal to the given prefix or start with the prefix plus '/'.
    
    skip_dir_prefix is always used with base_dir or dest_dir which don't
    end with a slash themselves.
    
    This really only is an issue if a package would put a directory named
    similar to the package source dir (which cargo on fedora does, by adding
    a directory named cargo-vendor in the builddir itself).
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit b9428a1d0e0b5f0bf8f00e24e469980ab2561298
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 30 12:35:03 2017 +0300

    Report cpio magic/header read failures as bad magic/header
    
    Fread() returning short might be due to many reasons: actually short
    file, physical IO failure or payload decompress failure at least.
    We don't really know which one it is in rpmcpioHeaderRead(),
    but the end result is that the magic/header will be bad, so report
    that instead of the more generic read failure, whose error messages
    include errno, which often is not set for these failures, generating
    bogus messages.
    
    Makes test #85 behave consistently, update the expected message.

commit cad03891be181fc9dd7fc7f56c44b3b29a786760
Author: Sebastian Riedel <sri@cpan.org>
Date:   Fri Jun 16 16:49:03 2017 +0200

    Add support for new package declarations in Perl 5.12+
    
    This change allows the perl.prov script to detect new variants of Perl
    package declarations that have been added in recent years.
    
    In Perl 5.12 we got version numbers as part of the package declaration.
    
      package Foo 1.0;
    
      package Bar v1.0.0;
    
    And in Perl 5.14 we got the package block syntax.
    
      package Foo {...}
    
      package Bar 1.0 {...}
    
      package Baz v1.0.0 {...}
    
    We noticed this problem recently because Dist::Zilla, a popular Perl
    module, started using a version number as part of the package
    declaration and perl(Dist::Zilla) could no longer be resolved.

commit 0f162dc41f2051eab237bd223356d88e94a07580
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 26 17:38:30 2017 +0200

    find-debuginfo.sh: Don't create dwz multi file if there is only one .debug.
    
    dwz -m multi only works when there are multiple .debug input files.
    With just one .debug file it doesn't really make sense to extract
    the shared debug info into a separate file and dwz will complain:
    
      dwz: Too few files for multifile optimization.
    
    So only add -m multi if there is more than one .debug file.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 173e5642a97c535f8bdaac5bf88854a103cc125b
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Jun 26 13:35:48 2017 +0200

    Update find-debuginfo.sh options and macros documentation.
    
    This adds some missing documentation for rpm macros and find-debuginfo.sh
    options that were recently added (or renamed). -j N, --build-id-seed SEED,
    --unique-debug-suffix SUFFIX and --unique-debug-src-base BASE.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 45c2f3ffa63188fbc1289b53ea7cd73551de0509
Author: Michael Schroeder <mls@suse.de>
Date:   Thu May 18 11:22:24 2017 +0200

    Use a simple heuristic to test for source package headers
    
    We do that only if neither RPMTAG_SOURCERPM nor RPMTAG_SOURCEPACKAGE
    is set. Before, the code relied on checking the lead type, which
    is somewhat ugly and error prone.
    
    There are binary packages that are not generated by rpmbuild and do
    not have a SOURCERPM tag set (because there is no source package),
    there are also source packages that have a binary lead type. Both
    might be seen as invalid packages, but that's life.
    
    So we add a little heurisic: it is a source package if all the
    files are in a single directory with an empty name.

commit 6eee84310b87fdd5938fc258d141726a9b138eec
Author: Michael Schroeder <mls@suse.de>
Date:   Thu May 18 11:19:11 2017 +0200

    Add RPMTAG_SOURCEPACKAGE to the source package header
    
    We do that anyway when reading a header (see the applyRetrofits
    function), so we might as well put it in right from the start.
    
    Also, it's nice to have some indication for source packages in
    the header instead of mis-using the absense of the SOURCERPM
    element for that. We'll make use of that in the next commit.

commit 2901e265a08d6a22075dfd1d1042985531f3010f
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Jun 25 10:18:06 2017 +0300

    Spelling fixes

commit fe7cf85bff534f97025ef1701deaa209a485004e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 27 10:45:25 2017 +0300

    Revert macro argument quotion patches
    
    This reverts commits f23821c80be45a9291b007636dccc4783f2f32bd
    and e2435b093314576230445d68354f7e21e191e9d9 that were accidentally
    pushed during review.

commit 3845577feed25cb2ce4c23624a0550b124b376c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 21 13:29:06 2017 +0300

    Error out on --eval expansion errors too
    
    Similar to commit 0b34c482257de6b5c72792f6da24376b8a63895a, error
    out on actual macro expansion as well, now that we can thanks to
    rpmExpandMacros(). Add a specific test-case that mirrors invalid
    --define and update the one affected older test-case on Lua os.exit()
    to match the new behavior.

commit 0b34c482257de6b5c72792f6da24376b8a63895a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 21 12:46:33 2017 +0300

    Error out on invalid --define/--predefine
    
    Rpm used to merely complain about invalid macro name/body, make them
    real errors with non-zero exit codes from cli.

commit b63a95bdbbadcc29457bb4dde631b24f2ce9ba5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 21 12:36:49 2017 +0300

    Preprocess --define and --predefine arguments consistently
    
    For --define we convert '-' to '_' in macro names and also skip
    leading '%', but this wasn't the case for --predefine making for
    yet another quirk... Lift the preprocessing to a helper function
    and use it for both to make them consistent.

commit b5c22bfd9c5036c9c92845eaebd758eccccd6c17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 21 12:11:02 2017 +0300

    Avoid double macro definition on first --define
    
    Commit 71327238150d689f0b4cfe7be8cd8addb0ccc78a introduced --predefine
    strangely mixed up with -D. Part of the mixup was later eliminated
    in commit 3d657d5cc22652c71bc15a56b6b4462e228526d6 but what was left
    behind is inserting a predefine on first regular --define, which
    among other things causes that macro to be doubly defined, which
    in turn causes funny side-effects when you try to --undefine that macro.
    
    Also add a test-case for the behavior, prior to this change the --undefine
    in the first command appeared to have no effect.
    
    Thanks to Pavlina Moravcova Varekova for spotting and reporting this.

commit f23821c80be45a9291b007636dccc4783f2f32bd
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jun 15 00:00:17 2017 -0400

    Enable single quoting in macro arguments (#222)
    
    With single + double quotes, macro arguments may contain spaces,
    and quotes in arguments. The empty argument is "" or ''.
    
    Quotes work similarly as in bash. The only difference is that meaning
    of single and double quotes is the same.

commit e2435b093314576230445d68354f7e21e191e9d9
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Thu Jun 15 00:00:15 2017 -0400

    Enable double quoting in macro arguments (#222)
    
    With double quoting, macro arguments may contain spaces.
    
    Every odd occurrence of double quotes denotes begin of an argument.
    Every even occurrence denotes the end of an argument.
    Arguments are taken without quotes.
    
    Examples:
    ./rpm --define "%foo() 1:%1 2:%2 3:%3" \
             --eval '%foo "Next argument will be empty" "" "Last argument"'
    1:Next argument will be empty 2: 3:Last argument
    
    or without spaces between arguments:
    
    ./rpm --define "%foo() 1:%1 2:%2 3:%3" \
             --eval '%foo "Next argument will be empty""""Last argument"'
    1:Next argument will be empty 2: 3:Last argument

commit 54cfef4362b0dab73c5f6c047f1aa2ccaea42a0e
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Jun 19 02:28:48 2017 -0400

    Correction of swapping two variables (#213)
    
    rpmte entries must be changed before variables pointing into their data are used.

commit 46c7bf438e5349676139dba0655faed3b2230827
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 12:52:08 2017 +0300

    Fix a number of problems in get_fskpass()
    
    Fix segfault in case of fgets() failure, fix memleak on password
    buffer on failure.

commit 542f41a8bdc385ed849170565ac353956a47683a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 12:45:21 2017 +0300

    Use rpm memory allocator so we dont need to check for return

commit 46eadbf33d06a0a97be0845afe09873acb44af3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 12:35:43 2017 +0300

    Move key/password helper variables to local scope

commit 5a6acd24a55d31a7c7e68dc4e46149598f1699a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 12:33:23 2017 +0300

    Dont push NULL-bodied macros (in case of get_fskpass() failure)

commit 8fae14f4dfc655dabd3de11be4d7e9b7c1cb6898
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 11:37:03 2017 +0300

    Remove bunch of redundant environ declarations
    
    rpmsign.c used to actually use "environ" to pass to execve(), but
    that call moved to librpmsign a long, long time ago. rpmdb.c and
    rpmkeys.c never used it at all but guess it was copy-paste inherited
    from rpmsign.c back in the day (dfbaa77152ccf98524c4f27afe85d32e6f690522)
    
    rpmgensig.c actually refers to environ, but this is a POSIX required
    variable and while Apple has managed to screw it up, it's handled
    in system.h and that must be sufficient for all relevant systems
    as we also refer to environ in rpmfileutil.c open_dso() and there's
    no fake environ definition there. So drop the one in rpmgensig.c too.

commit e9227ffb556278a5a8c2a08b7ddfe193067e9791
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 11:13:47 2017 +0300

    Check for libimaevm availability/usability in configure
    
    Commit edd709e45335945c152d1dee4d93d68bc0916895 introduced a
    dependency on ima-evm-utils >= 1.0, silently breaking build with
    older versions that eg Fedora has. Explicitly test for sign_hash()
    that takes all the necessary arguments and error out cleanly if
    not present/too old.

commit 4211ac05c73230dfda86af2196f55974395437df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 9 10:27:55 2017 +0300

    Conditional compilation sanity for file signing
    
    Give a nice and clear error message if file signing is requested
    on a build that doesn't support it, and ifdef the entire
    contents of includeFileSignatures() so we wont try to compile
    in a call to rpmSignFiles(), which doesn't get built at all
    due to makefile conditionals when imaevm is not enabled.
    On a related note, drop the unnecessary conditional and error message
    from rpmsignfiles.c: the whole file does not get built if imaevm
    is not enabled so there's no need for these.

commit a77d2d3476919fdbcba9baf0dd44c98db1620360
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 17:36:28 2017 +0300

    Dont advertise file signing features if support not built in
    
    ifdef the whole thing out when not enabled, instead of blurting out
    obscure error messages. A few to many ifdefs for my taste but
    that's a topic for another day...

commit 41bb29442b3bb97ee0f5ae3e9a197e8591105f18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 17:23:15 2017 +0300

    rpmSignFiles() is an internal-only API

commit a63bd11c1689be14f8ed680952353eb3d5cf984b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 17:20:37 2017 +0300

    Only librpmsign needs libimaevm, dont link to EVERYTHING...

commit 9e16032b0be115c73c45a324f7ff5b9f5e4720c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 16:29:40 2017 +0300

    Move rpmsignfiles to librpmsign where it belongs
    
    The signing library is separated from librpm and librpmbuild
    specifically so it can have more exotic dependencies than is
    desireable for librpm, ditto for plugin existence. However
    rpmSignFiles() being in librpm drags that libimaevm dependency
    to main rpm for no good reason at all. Move it where it belongs,
    does not actually affect functionality.

commit 5a76125050c2f389cdc1c3017dff5fec4aef7e57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 16:55:16 2017 +0300

    Bury get_fskpass() inside rpmsign utility
    
    librpm is not in the business of providing terminal utility functions,
    file signing might well need to ask for passwords but it doesn't
    have to be a non-prefixed function in a shared library. The library
    provides means to *pass* the password and its up to calling applications
    to ask for it if needed.

commit 26cae3941f68c96e44d8126fea330ef7f0327913
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 12:42:00 2017 +0300

    Fix %% -> $$ thinko/typo in file signing error message

commit 8bcfd98c0545eaf98bbc99e56cc2118c995a8fad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 8 12:39:53 2017 +0300

    Beat some sense into rpmsign cli parsing
    
    Separate missing mode and several modes, print usage in the former
    and mumble about modes only if more than one actually specified.

commit 2cf7096ba534b065feb038306c792784458ac9c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 6 14:13:19 2017 +0300

    Do not record directory sizes in packages
    
    Directory size is an install-time filesystem specific implementation
    detail, build-time just doesn't have a clue. If we want to try taking
    directory sizes into account, this needs to happen in the disk space
    checking at install time.
    
    It also helps making builds a bit more reproducable (PR #229)

commit 8cda485e1150dc6be990a7aa4496da848154cf55
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Fri Jun 2 09:52:26 2017 +0200

    Do not store digests of ghost files
    
    when the files exist during build time.
    The hash will never be used for verification anyway.
    
    This helps making packages build more reproducibly.

commit e96fde89c6e0ac59da5cb22fa310235a9918aa7a
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 14 14:09:20 2017 +0100

    Make database backend configurable by macro

commit bdd4365bdf18e1070da6a3a9eb1ba9fab15e9b38
Author: Till Maas <opensource@till.name>
Date:   Fri May 26 22:52:02 2017 +0200

    Add comments for SHA-2 file digest variants

commit 57c9f7054f171d54e75bb5e09d6cba4888a8e324
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 31 12:49:44 2017 +0300

    Add a testcase for (file) dependency generation

commit dab75e7f26a08cc6798e4df177adb2dd8d40035c
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 31 10:42:03 2017 +0200

    Pass proper file index when recording generated dependencies
    
    Resolves regression introduced with 8f509d6
    Fixes #224

commit e78484f570e689feae407a191c6dc29b0ed0c84d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 30 12:31:49 2017 +0300

    Only non-binary digests have hex strings to validate

commit 9d942049cf929d5a053c239cdd64f5b97d182c14
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri May 19 23:11:39 2017 +0200

    rpmbuild: Reset attrFlags in generateBuildIDs.
    
    Debuginfo directories and files could be marked as configuration files
    if the file list ended with a config file.
    
    Patch by Panu Matilainen. Testcase by me.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1449732
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit e8ffbf8a90c51e88e84164c66e10e7e09514153e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 30 10:16:05 2017 +0300

    Split out hex validity checking to helper function, enhance
    
    Besides testing for valid characters, also test for legal length:
    always divisible by two, at least sha-1 size.

commit 23dc36f0d587495f2d29ebefd9e46437069b5a2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 29 16:11:55 2017 +0300

    Pass sign arguments to signature deletion too
    
    Refactor rpmsign and python bindings to be more similar on both
    addsign/delsign operations, and always pass the signing arguments
    along. Deletion doesn't actually (yet) use the arguments for anything
    but makes things more symmetric (I remember having doubts about
    this when adding - reminder to self: if in doubt, add more arguments ;)
    
    Yet another API break, but what the hey... Other than that, behavior is
    not supposed to change here.

commit 1356ee6aeaca4f7d8fe20b379512097e850c29a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 14:32:33 2017 +0300

    Don't both copying the header for checking pre-existing signature
    
    Now that the lower level is returning the actual data we can
    compare directly *before* inserting new data, so we dont need
    to copy either. Eliminate redundant (and inadequate) helpers
    while at it, preliminaries for array data as well.

commit b6f5b204f4a33b82c272253fde6633ab3ab75f5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 14:10:10 2017 +0300

    Further refactor signature generation
    
    putSignature() is awfully far away from the originally calling code
    to make decisions, refactor to only create the signature tag there
    and return the rpmtd up through the callers to make a more informed
    decision.
    
    Doesn't actually change anything, just paving way for next steps.

commit cf897c5bd7ee0d4554243d502e957da78db9e20d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 12:14:08 2017 +0300

    Refactor an unnecessary intermediate helper out of signing code
    
    Too many layers of helpers leftover from past times only getting
    in the way of doing stuff. Also rename replaceSignature() arguments
    to make it more obvious which is which.
    
    This doesn't *really* change the signing, but it does optimize the
    case where the package is already has a signature by the same key
    and parameters: we generate the much cheaper V4 (ie header only)
    signature and compare that, and only then do the V3 signature
    which has to read the entire payload. This can make a huge difference
    on large packages.

commit e20764f21bfedcfef16f6b2114a01df689461ed7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 16:45:46 2017 +0300

    Refactor signing code to return used sigtag instead of 0/1 codes
    
    This saves us from having to unnecessarily guess what the lower
    level helpers ended up using so simplifies the code a bit, and
    also paves way for other types of signatures. What's not to like?

commit 34860a799ad6aa0bc826dfd8ecdbcb74bc2b2b47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 14:51:49 2017 +0300

    Rename sigtarget variables to v3 and v4
    
    Makes it easier to remember which is which. At least for me it does.

commit 95f4e6c6d664302bfe660a073794d3597a7e2e2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 12:40:36 2017 +0300

    Eliminate now unnecessary rpmtdFreeData() calls

commit d137a7b8c5fd54c002f79bd7730b5337465c2e0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 12:34:26 2017 +0300

    Free td data on rpmtdFree(), DOH
    
    Hard to imagine what I've been thinking almost exactly nine years
    ago when introducing this API that doesn't free its own data.

commit 7560d36d1a26c1a659355bcdeba3fe2cc954fc81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 12:32:56 2017 +0300

    Eliminate dumb assert()'s on NULL pointers on rpmtdFreeData() etc
    
    We can just as easily handle these nicely so lets do so...

commit f4adb7ec52d757a396c2e2d88a1d48f224abca46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 26 11:35:51 2017 +0300

    Compare tag and userid too in pgpDigParamsCmp()
    
    Without the tag comparison, we could mistake a pubkey for a signature, doh.
    The userid is relevant too, in that (freely quoting rfc-4880) a single
    key might be used for different purposes and the userid allows the keyholder
    to express which of their roles is making th signature.

commit 3a0ecec768bad250b71369935e900341fd0ac135
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 12:32:27 2017 +0300

    Drop redundant BAD's from error messages
    
    These are now shown in slightly different context than before and are only
    supplemental information about invalid data, the "BAD" comes from
    elsewhere. While at it, use uniform message style for all the messages
    (hex message was different)

commit 84e89df832e3c879cece9fb5886c593cca8d4d37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 12:17:46 2017 +0300

    Separate sig/dig verify results from verbose error messages
    
    Add and use an internal helper for formatting the verbose messages
    from callbacks, this gives us nicer and more uniform messages for
    data that failed to initialize at all. It's also ends up involving
    more rasprintf()'s and whatnot per result but that can be tuned
    later.

commit d211550edd91541719103a5aebd7a7faf822113e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 16 12:21:15 2017 +0300

    Package read logging only differs by log level
    
    All these use the same "fn: msg" format and only differ by logging level
    so decide the level based on rc and use same rpmlog() call for all.

commit e20527ae07e0a72eb8133d3ab5c2ddef2b5d6b39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 11:24:50 2017 +0300

    Drop digest value from OK result output
    
    In the unix tradition silence is good news and failure should be verbose.
    OK is OK and it doesn't get any better with that extra junk at the end,
    so the extra message is now reserved for failure diagnostics.
    Update test suite expectations to match.

commit 6516e1ac30855d2cd530a327adb22a9aaf234027
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 11:23:48 2017 +0300

    Format verbose message strings centrally in rpmVerifySignature()
    
    Another step towards separating descriptions from result messages,
    handle formatting centrally.
    
    This also drops the strange "BAD PARAMETERS" message which now fits in
    even less than it did before: it didn't really know whether it was
    "uhhuh, s*** happened" internal error or actual validation error.
    rpmVerifySignature() only gets called for known, pre-validated data
    now so let it think everything is just a validation failure.

commit e4316143a4d1824e3c47afa304ba6cf336a52d6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 11:21:58 2017 +0300

    Unify digest verification message style a bit
    
    Always place all extra info in parentheses, update test-suite expectations.

commit 1e28e36a2269b59d13e1da4983735d33063dba34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 24 11:20:35 2017 +0300

    Start separating verify item description from its result
    
    Add internal API to get a textual description of signature/digest,
    use where appropriate for formatting the verbose messages.

commit 85953c0d72e4792479e99a7698f67a72f713cc06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 23 10:10:38 2017 +0300

    Revert "Expand parameterized macro arguments one by one after splitting"
    
    This essentially reverts commit 9ae7d1df313b7a2b9fd74fef5a176dcdce40b88b.
    Leaving the testcase in place, just adjusting it to the expected
    behavior where arguments that expand to empty are eaten away.
    
    This actually matches what the shell does, so it follows the path of
    least surprise in that sense - we emulate shell behavior with the
    arguments etc already in many ways. What the shell has and rpm
    has not is a way to pass those empty arguments by quoting. So
    now we need a way to quote arguments - not just for passing empty
    arguments but arguments containing whitespaces too.

commit 4a6196ebe6359e9accba8bf50eabf3a492401d91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 15 11:44:47 2017 +0300

    Eliminate "tag" from rpmsinfo struct
    
    Signatures are signatures and digests are digests no matter where
    they come from, fade out the origins to the extent we can. The id
    for hashable items is of course still derived from the tag and
    can be backtraced (ditto for the disabler bits) but it's not
    exactly full anonymity we need either, and eg id being related
    to the tag could be useful for debugging.

commit a5da512b5c62b04b10a6ea6cedbfa363371741b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 22 14:16:13 2017 +0300

    Simplify rpm -K non-verbose output
    
    Spitting out misleading tag names encoded in various funny ways is not
    that useful. Those who want details will run in verbose mode, in
    non-verbose mode just note whether digests and signatures were present
    and ok (or not) and the overall result. I'm not too happy about this
    format either but at least it fades the tag details out of the picture.

commit 7f1d5059c3abd783ebb1035cffb773fca9b734f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 22 13:26:00 2017 +0300

    Eliminate redundant handleResult() intermediate sigcheck callback
    
    There are not NOTFOUND results currently to handle so this is
    pointless. Remove for now at least.

commit 2ea3fa84b3c6d5823269a683e418c6fa717964cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 22 12:32:32 2017 +0300

    Handle dynamic reallocation in rpmvsAppend()
    
    Preallocate a little but (for now) so little that reallocation always
    takes place so it doesn't rot while surroundings still change.

commit b978d510155fee279fc4368eca18948fab9d4a30
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon May 22 10:02:30 2017 +0200

    Cosmetics: shorten min_writes tests + upgrade their names
    
    change min_writes tests for files
    - change names of - to be consistent
    - shorten the test using for loop

commit 8747f44081d84ed549c3a6dbcf6b1cf0172b8d2d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon May 22 10:02:29 2017 +0200

    Add minimal writing for links (part of RhBug:783480)
    
    If a link on disk is the same as in the new package
    and min_writing is switched on, rpm only touches it.

commit 4bdbe127e586c85256f34dd4d730467bc3326c07
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon May 22 10:02:28 2017 +0200

    Files of different type can not have the same contents
    
    If type of file on disk differs from the type of file
    in new package or in old package, files can not be equal.

commit a56356c30625a2bef60a94d66e06eb9dd01f3c33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 19 11:08:00 2017 +0300

    Generalize UID/GID 0 for platforms on build-side too (#210)

commit 3c98827db3bc20c40c40b7a58aa7e800319f8c06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 19 11:06:49 2017 +0300

    Drop unnecessary %defattr() from debug package macro templates
    
    Rpm has defaulted to %defattr(-,root,root) for just about forever,
    early 2000 or so...

commit b71d63ef598cb5bf504265a18166d782fb017569
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 19 11:01:12 2017 +0300

    Consolidate %defattr/%attr(-,root,root) generation to helper function

commit 2329af6667d0c476924b9dffb4c52877f62d5484
Author: Ayappan <ayappap2@in.ibm.com>
Date:   Tue May 16 13:12:11 2017 +0530

    Generalize primary user/group for platforms (#210)

commit a6a71bf6f02ee83da5251f70b87ba4b3890db86d
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Thu Apr 6 08:50:19 2017 +0200

    fix comparison between signed and unsigned integer expressions

commit de61c64d667a7e95cd459895acec6253494588a5
Author: Peter Kjellerstedt <pkj@axis.com>
Date:   Tue May 16 10:58:18 2017 +0200

    Use conditional to access %{_docdir} in macros.in
    
    This avoids the following warning:
    
    warning: Ignoring invalid regex %{_docdir}
    
    when runing `rpmdeps -R <file>`, since %{_docdir} is only defined when
    parsing a spec file (in parseSpec()).
    
    Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@gmail.com>

commit d7e74c492ac87b208aeca38e838fff978694a4c4
Author: Peter Kjellerstedt <pkj@axis.com>
Date:   Mon May 15 10:58:52 2017 +0200

    Do not call rpmfcPrint() with an uninitialized buffer in rpmdeps
    
    The filling of the buffer, buf, that was passed to rpmfcPrint() was
    removed in d16bdb15 (in 2007). Since then, an uninitialized buffer was
    used if the files to calculate the dependencies for were passed as
    arguments on the command line.
    
    Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@gmail.com>

commit 767d61ca3dba9745d392fa28bbe09a209bd49522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 18 13:43:29 2017 +0300

    Preserve %%-escapes when expanding parametric macro arguments (#217)
    
    There needs to be a way to pass escaped macros names (and other strings
    containging %%) as parametric macro arguments. Add an internal mode
    to preserve %% when expanding the arguments. Fixes a regression introduced
    in commit 5adc56897b9da5dac49701f704ef54390db57c59.
    
    Thanks to Michael Schroeder for pointing this out!

commit 9ae7d1df313b7a2b9fd74fef5a176dcdce40b88b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 18 12:48:14 2017 +0300

    Expand parameterized macro arguments one by one after splitting
    
    This makes makes the behavior much more sensible eg in case an
    argument expands to an empty strings, such as:
        $ rpm --define '%foo() 1:%1 2:%2' --eval '%foo %nil bar'
    After commit 5adc56897b9da5dac49701f704ef54390db57c59 rpm was
    evaluating that to "1:bar 2:%2" which is hardly what you'd expect.
    
    Thanks to Michael Schroeder for pointing this out! (#217)

commit 117b337fb2772c9b1f9b43c55d0737c792c61407
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 18 11:19:13 2017 +0300

    Remember flags passed to rpmExpandMacros() in the expansion state buffer
    
    Of course right now there are no implemented flags so this doesn't
    actually do anything.

commit 3441324355789144bdeb960f6a83988d0fe846f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 15 16:31:39 2017 +0300

    Oops, rpmvs.c is missing from POTFILES

commit 75f124c0c792ca507e4e68680202e4a2b180f777
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 15 11:14:18 2017 +0300

    Account for arrays when generating verify item id
    
    Currently we only have one digest/signature per tag but that might
    change, account for this in the way we generate the id number:
    tag goes in the high 16 bits, array index into low 16 bits. I have some
    trouble seeing anybody needing more than 65536 signatures on a package...

commit 189777044125683047e9d4b66c06a9d1f1387eed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 13:05:20 2017 +0300

    Bury remaining internal signature API inside rpmvs.c

commit 763d3e44a6cd7b44bfe8945a45fae36527dfadbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 12:40:10 2017 +0300

    Use rpmvs for headerCheck() too
    
    This means all our signature checking is using a single codepath that
    is capable of multiple signatures+digests and custom callbacks. Whee.
    Like with commit 3ccd9ccf50c8d643f9dcd956155720018429beed, there are
    significant consequences with this since it's now verifying all
    instead of just one that might or might not be there. Otherwise
    preserving more-or-less traditional behavior for now.
    
    I'm sure everybody's going to love even slower queries but all in
    time, all in time...

commit c293a0fe1d458f8520105b04fc21a944d2fd3885
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 12:18:57 2017 +0300

    Rename rpmpkgVerifySignatures() (sort of back) to rpmpkgRead()
    
    This leaves rpmpkgRead() in the slightly strange place at rpmchecksig.c
    but then moving it would just make a rift in history without no real
    benefit so letting it be where it is atm.

commit 3ccd9ccf50c8d643f9dcd956155720018429beed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 11:48:16 2017 +0300

    Use the signature checking code to read all package files
    
    Both read package files and verify signatures, it only makes sense
    to use the same code for both.
    
    This does have significant consequences of course: we are now validating
    ALL non-disabled header-only signatures and digests when reading
    packages with rpmReadPackageFile() instead of just one that we figured
    might be the best, if available. On one hand, it's a bit wasteful
    since a good signature could be considered to make digests moot,
    but then once we have real signature policies we might need to process
    more than one signature to come to a conclusion anyway. For now,
    just let it waste a few more cycles verifying redundancies.

commit 101cba0c07df5a8996a9154ba87594348ea642f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 11:25:19 2017 +0300

    Use dribbles as heuristics for header/package output differentation
    
    Installed packages will have dribbles so their index length is
    larger than region length. The whole differentation is a bit arbitrary
    since the stuff is always headers of course, but keeping in tradition...
    This "fixes" the output for rpmReadPackageFile() to talk about
    packages and not headers because it always deals with packages.

commit bad2ef447912748ad947c9a0f204b1c87887142f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 10:59:12 2017 +0300

    Return "not an rpm" NOTFOUND silently on signature checking too

commit d8de8d3c4e0f37095c627a69257be9832230f07a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 10:42:35 2017 +0300

    Optionally import and return merged header from rpmpkgVerifySignatures()

commit 91d04a45e6fb12b6a4a9c2e10bbcdf06eac19594
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 10:25:20 2017 +0300

    Honor RPMVSF_NEEDPAYLOAD in signature checking
    
    Don't read the rest of the file if RPMVSF_NEEDPAYLOAD is set.
    Also don't add payloaddigest if RPMVSF_NEEDPAYLOAD is set.

commit 51f509346cec4aee16316f638e43b38c06edfde7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 12 09:39:30 2017 +0300

    Add a bunch of installation mode tests (manifests, notfound, corrupted etc)
    
    The behavior might not always make sense, but the point is to document
    current behavior, not to invent something else.

commit bc58b5c2239b36d9ed3b03d2c57b615b0695c313
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 17:26:17 2017 +0300

    Add a vanilla testcase for install + erase ordering
    
    Many more needed but even this would've been sufficient to prevent the
    regression.

commit a517554e36666f58724620347a4b8224471d2225
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Mar 29 14:55:10 2017 +0200

    Also add directories to split debuginfo packages
    
    This gets rid of the last difference between debuginfo subpackages
    and normal debuginfo packages.

commit 980749fdce055254ca92ee7e2595b16750b699a2
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Mar 24 15:35:23 2017 +0100

    Support debuginfo subpackages
    
    We do this by filtering the debuginfo files generated by find-debuginfo.sh
    with the files from the (sub)packages.
    
    This commit is heavily based on a patch by Richard Biener.

commit 538cecf0f1fe127dc416afce7a7ee6f94fdb1ad7
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Mar 28 14:21:40 2017 +0200

    Support debugsource subpackages
    
    This can be enabled by setting the _debugsource_packages macro.

commit 4842adfd91c3b37744c66d9f01c0112468fdbf37
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Mar 28 14:20:50 2017 +0200

    Untangle unique build options in find-debuginfo.sh
    
    Rename --ver-rel option to --build-id-seed, so that it reflects what
    it does, not how it is used.
    
    Remove implcit usage of the old --ver-rel option for --unique-debug-arch
    and --unique-debug-src-base, instead already call find-debuginfo.sh with
    the version included.
    
    Rename --unique-debug-arch to --unique-debug-suffix because it now
    also contains the package version.

commit b4b8f33e07eb9ed439229744a33946c2a3ec908a
Author: Neal Gompa <ngompa@datto.com>
Date:   Wed Apr 12 12:09:15 2017 -0400

    Fix the armv5tl arch compatibility list

commit 2286ed6b63d006440ad4cc1f8f8d83489cad12d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 13:15:43 2017 +0300

    Add bunch of tests for corrupted package verification
    
    The point here is not thorough fuzz-testing but to have reliable tests
    for the basic variants of digest/signature failure types.

commit 7ae8f89b7e6955ca6bc96531890f795b8d2b9f1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 13:13:45 2017 +0300

    Fix unintended double-colon on failed digest messages

commit fe16b02bf6ba033f1b091a6d444db21b0cffd5b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 10:40:28 2017 +0300

    Split tag-specific information out of rpmsinfo struct
    
    Commit d809fd525228f015104bf35dfd593a8081debeb3 lumped everything into
    rpmsinfo but things like tag data type and count don't belong there,
    it's not interesting once the tag data has been validated.
    
    Whether the tag value belongs there is another question, leaving it
    for now at least as it's used for output in signature checking. No
    functional changes intended.

commit af6e08d9e260ee90f6157da06e6376ffc18509b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 10:31:02 2017 +0300

    Remove redundant assignment

commit d6f75a471e30012c478f131c5c3ca30e5154a775
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 10:20:57 2017 +0300

    Fix hex strings not getting validated
    
    sinfo->type is something entirely different, these checks are about
    the tag type. Regression introduced in commit
    d809fd525228f015104bf35dfd593a8081debeb3 but unnoticed till now.

commit 80f31c21086570b264c14e10014c3ef6cc378570
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 11 10:18:00 2017 +0300

    Change sinfoLookup() to return an index into rpmvfyitems
    
    Not supposed to change any behavior, just preparing for the next steps.

commit 9085009544392bcf0ed7c2a849cfd76afae4d33a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 14:47:06 2017 +0300

    Fix regression on SIGPIPE from scriptlet killing (RhBug:1264198)
    
    Commit 90d8cc16486479441477e89c2e09bd4f9f7604bb changed SIGPIPE to
    be ignored during scriptlet execution - nothing wrong with that, at
    that time. However since commit c5f82d3f6223ebd0c5cc0a07ea60393ae7284929
    we're *blocking* most signals, and contrary to what glibc manual states [*]
    ignored signals are in no way special: they get queued up in the pending
    set just like everything else. When unblocked, they are handled by
    the signal handler active at the time of unblocking. Which means that
    ignoring and then restoring handlers for scriptlets does absolutely
    nothing at all in practise.
    
    So instead, make SIGPIPE ignored for the duration of the whole
    transaction on rpmsq side, and only restore the old handler
    after unblocking the signals at end of transaction.
    
    This doesn't magically make things 100% correct either, ultimately
    we should probably handle signals instead of blocking during the main
    transaction: we should filter out ANYTHING originating from scriptlets,
    something else might make sense to queue up. Or not... Anyway, this'll
    have to do for now.
    
    [*] Quoting from https://www.gnu.org/software/libc/manual/html_node/Delivery-of-Signal.html#Delivery-of-Signal as of today:
    
        If the specified action for a kind of signal is to ignore it, then any
        such signal which is generated is discarded immediately. This happens
        even if the signal is also blocked at the time. A signal discarded in
        this way will never be delivered, not even if the program subsequently
        specifies a different action for that kind of signal and then unblocks it.
    
    This clearly is NOT the case, at least in the case of Linux kernel which
    explicitly notes this specific case since 2003'ish (from kernel/signal.c):
    
            /*
             * Blocked signals are never ignored, since the
             * signal handler may change by the time it is
             * unblocked.
             */

commit d5701c466ea0f123e8578f65cef1ff32a16ed834
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 14:16:55 2017 +0300

    Implement SIG_DFL/SIG_IGN/SIG_ERR counterparts in rpmsq
    
    RPMSQ_DFL is like passing NULL to rpmsqSetAction(), this already
    set the default action but now we have a nice name for it too.
    RPMSQ_IGN is the only special case needed in rpmsqSetAction() as
    it corresponds to an actual function. Return RPMSQ_ERR for any
    signal not supported by rpmsq.
    
    This doesn't actually change any core behavior as such.

commit 585be2acf06a9002dd0d825e6dcad770e99fb7de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 12:39:28 2017 +0300

    Stop NSPR from messing with our signals
    
    For NSPR, (which NSS uses internally) being portable to Windows and
    whatnot and centered around apps like Firefox, simply ignoring
    SIGPIPE is probably a reasonable choice. Rpm however is an old school
    unix cli piece where SIGPIPE is very much relevant and handled where
    necessary. Besides we now have not just one but two other, less obnoxious
    crypto backends which exhibit different core rpm behavior due to the
    difference, not good.
    
    Save and restore the SIGPIPE handler across NSS initialization,
    and remove all the now redundant calls to reset it after forking.
    Should've done this ages ago but better late than never, no?
    
    Note that the install-time scriptlet thing is different since we set
    SIGPIPE to SIG_IGN by ourselves there, add a comment.

commit 5e51d2bf7012ead55ac0e1fa2b586a34e6d365a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 12:21:44 2017 +0300

    Add some SIGPIPE test cases
    
    Test for SIGPIPE behavior in three different cases:
    - build scriptlets ought to have SIGPIPE working as usual (RhBug:651463)
    - SIGPIPE received from install scriptlet (RhBug:1264198) which currently
      fails because we end up exiting on that signal after the transaction.
      The original case involves file triggers, we simulate it by kill'ing
      for simplicitys sake.
    - query involving --pipe (RhBug:444389)
    
    Should test for RhBug:471591 too but need a simpler reproducer than
    in the bug, leaving that to some rainy day.

commit 6278fcfb39076f4e65c190a9c29aeb04aee48544
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 10:03:30 2017 +0300

    Use bash-style 128 + signum exit code when exiting on signals

commit 8f7f85f2fbdbb3056f5e5431aee1309636b68e71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 09:57:11 2017 +0300

    Don't warn about getting killed by SIGPIPE
    
    SIGPIPE is business as usual when pipes are involved and require
    no special warnings (that's why we're handling it after all), but
    getting killed by other means seems still worth logging.

commit 9e3256d2e8fa1bed042f7c4ded7e40e232342539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 10 09:17:20 2017 +0300

    Fix testsuite with newer NSS versions which require /dev/urandom

commit b60ce10adaf28286c24b03acca3e2ce53436ea98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 8 11:38:06 2017 +0300

    Only add rpmsq-handled signals into the rpmsq-caught set

commit 4a50cd92c12762d981810b5c0a83720b08b73d8d
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Apr 28 09:57:27 2017 +0200

    Minimal writing for %config files
    
    How it works: if a file on disk has the same contents
    as in the new package, rpm will only touch it
    (originally rpm created it).
    
    On the contrary to REG files, for detecting that both files
    have the same contents, no additional comparison is needed.
    Thus there is no reason why upgrade a package without
    this modification. Hence this behavior is always used
    (even without min_writes mode).

commit f669e4e52dfc6a19aae468de4fe1a3bb955cc204
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Apr 28 09:57:26 2017 +0200

    Preparation for minimal writing for %config files (part 3)
    
    change the order of:
    1/ checking whether the file on disk is identical to the one in old pkg and
    2/ checking whether the file on disk is identical to the one in new pkg.
    
    This change does not affect the behavior.

commit 5fa7888fe05f268a548d8f44835439f653a4dd44
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Apr 28 09:57:25 2017 +0200

    Preparation for minimal writing for %config files (part 2)
    
    LINK on disk is compared with the one in new pkg
    before the one in old pkg.
    
    This change does not affect the behavior.

commit 42ece09aa541cc2ed327c058596ecbcae9d7ade8
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Apr 28 09:57:24 2017 +0200

    Preparation for minimal writing for %config files (part 1)
    
    Reading LINK on disk is moved before processing the one in old pkg.
    
    This change does not affect the behavior.

commit f2c6c1059e6a49ed4da52608c0a5620002ff0357
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 28 10:32:24 2017 +0300

    Lift all the new signature stuff into new rpmvs.[ch] source + header
    
    Looks large but this is just moving things around, except for a couple
    of things changing scope: rpmvsInitDigests() and VerifyItems() become
    non-static, rpmvfyitems array and rpmvs_s struct details become
    hidden inside rpmvs.c.
    
    signature.[ch] is now merely the largely obsoletish functions
    for reading and writing a signature header, all the verification
    business is in rpmvs.

commit b791df87826c6646bd0318c77cf189073eecaec9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 28 10:04:34 2017 +0300

    Internal signature API renames
    
    Names suck... and rpmsiset is worse than some others. So in the best
    (or worst) rpm two-letter tradition, lets call it rpmvs for
    verify set instead, we already have a related rpmVSFlags bitset
    anyway.

commit 1ba4ce0be57208e69d9b60fa80e0c9e4bb2ad359
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 28 09:59:24 2017 +0300

    Switch sigchecking system to use digest bundles instead of fd's
    
    There are other sources than file descriptors for headers which
    we'll want to be able to verify. Pass digest bundles instead of
    fd's around - this is a rather trivial change as the fd's use
    digest bundles internally anyway.

commit 7e5932e73bdda20f09fa9fd51d5db19c878c5a23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 28 09:11:54 2017 +0300

    Support allocating FD digest bundle on get

commit 5cc9d88ad4377386355dc81d5d63f93b2d19ccd3
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Apr 26 14:21:24 2017 +0200

    fix memleak in systemd_inhibit plugin
    
    While connection to dbus is closed with dbus_connection_close(),
    dbus_connection_unref() is still required to unreference it.

commit d63fb1694fbd9f31583c08908b9aa5bc91f92f5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 15:48:52 2017 +0300

    Now that we can, initialize all digests before starting verifications
    
    Maybe not such a big deal but assuming we'll add callbacks for
    init too, it'll appear saner for the user if you get all initializations
    before verifications start. Maybe some other benefits too.

commit a67e6679a5eea5688d376e7d90b0da7bc4c3512d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 15:28:47 2017 +0300

    Assimilate rpmsinfoGet() into rpmsisetAppend()
    
    rpmsinfoGet() wasn't such a good interface as it assumed 1:1 relation
    between signature tags and number of signatures, this is something
    we'll want to change. As there are no other users of rpmsinfoGet()
    left, assimilate it into rpmsisetAppend() where arrays can be dealt
    with. Provisions for arrays included but not enabled yet because
    because there are no array types currently and append needs to handle
    realloc to make arrays possible.

commit 9821de18811db97238c34a564221e315f5f35b44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 14:33:05 2017 +0300

    Look mom, no hands! Err, headers ...
    
    Take advangate of hdrblobGet() to do rpm -K signature checking without
    actually importing the headers, which is a relatively complicated
    operation with all the region fiddling etc which isn't required
    for signature checking at all. Another important point is that
    both signature checking paths FINALLY operate on the same side of
    header import which means it'll be possible to unify them to some
    extent.

commit acfde0d0e812e9f8e153ab6be8c9f2682bdd4763
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 13:00:15 2017 +0300

    Add an internal, limited-functionality headerGet() for raw headerblob

commit 44298016e1bbd6a92e577f02fcc52f0ae3914209
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 12:56:48 2017 +0300

    Switch rpm -K to use the new signature set API
    
    It's not such a huge win in itself except for not having to parse
    the signature data twice, and dealing with payload digest is still klunky
    and hacky but this is another more or less mandatory intermediate step.

commit 5f23f6b53c10dcce639f31f5da5e1bcd53d6d1e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 26 12:45:32 2017 +0300

    Implement a crude API for dealing with sets of signatures outside headers
    
    For one, the payload digest comes from different header and causes
    all sorts of headaches. Secondly, we're currently parsing all signatures
    twice for no particularly good reason. Having a more abstract set
    allows handling data from different sources and also doing things
    just once.

commit 25e506c16146f79af045cc679d8d1827dcd3eeef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 14:42:13 2017 +0300

    Move NOTFOUND -> OK translation to rpm -K specific callback
    
    Whether NOTFOUND for a given item is considered okay is really a policy
    question and should be done someplace centrally, but for now just
    preserve traditional behavior for rpm -K while freeing other callers
    to do something else.

commit c233ca85be13179502601ea93849a219b36a66df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 13:49:08 2017 +0300

    Only look for known signatures and digests in signature checking
    
    Take advantage of the newly added pieces to flip the verification
    procedure upside down: we only look for what we can actually verify
    and ignore everything else. Looping through the table also allows
    us to skip disabled items without bothering to parse them, and
    just makes the verification code that much nicer. As a side-note,
    count for total number of failures instead of per verifyItems() call.
    
    The bigger reason behind this change is to enable treating non-present
    entries as verification failures where that makes sense, but that
    behavior is not changed in this commit.

commit b91b6365d56985242227a7b5748c936f7516ca62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 13:38:25 2017 +0300

    Add a headerGet()-style helper for fetching signature data

commit d809fd525228f015104bf35dfd593a8081debeb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 13:18:57 2017 +0300

    Move signature information into a table
    
    Things get slightly worse until they get better: this causes an extra
    lookup in the way things are right now, but this is more of an intermediate
    state of things, we'll be switching the whole thing upside down in
    the next steps.
    
    Other notes:
    All string data is now assumed hex and validated as such.
    There are no *intentional* changes in the signature data, so any
    incorrect type changes and the like would be copy-paste etc mistakes.
    Test-suite is happy but that's not a guarantee.

commit 2c21593b2ace4d93fd208e75d80ad8ef8191d16e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 12:07:46 2017 +0300

    Reorder struct rpmsinfo_s members to group by static and parsed data

commit b802edc281c8f2e537ce8aabca82afe608891172
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 25 12:04:50 2017 +0300

    Make sinfoDisabled() internally available
    
    Rename to rpmsinfoDisabled(), make const-correct and export internally.

commit e795899780337dea751d85db8f381eff3fe75275
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Apr 21 17:33:26 2017 +0200

    debugedit: Only output comp_dir under build dir (once).
    
    The fix for rhbz#444310 (commit c1a5eb - Include empty CU current dirs)
    was a little greedy. It would also include comp_dirs outside the build
    root. Those are unnecessary and we don't have a good way to store them.
    Such dirs (e.g. /tmp) would then show up at the root of /usr/src/debug.
    
    Fix this by including only comp_dirs under base_dir. Also only output
    all dirs once (during phase zero) and don't output empty dirs (which
    was harmless but would produce a warning from cpio).
    
    This still includes all empty dirs from the original rhbz#444310
    nodir testcase and it is an alternative fix for rhbz#641022
    (commit c707ab).
    
    Both fixes are necessary in case of an unexpected mode for a directory
    actually in the build root that we want to include in the source list.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit aa5cf0c37eca494e22fbe7776e4142b4161f49e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 24 13:46:33 2017 +0300

    Use signature element type for filtering instead of hashalgo
    
    Filtering by hashalgo is not reliable as it requires the signature
    to be parsed, and if the data is bad or just isn't there we end up
    quietly filtering it out. Oops. Change the (internal) types to
    a bitfield, add a define for easy testing and voila.

commit b7e1101ebc4fb3d219006cf486bde6f8361641e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 24 12:01:43 2017 +0300

    Issue signature check callbacks for invalid signature data too

commit 4c9873191692ef198aa598e0051572e63b6bc159
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 24 11:59:01 2017 +0300

    Fixup SHA1 order in rpmSigTag enum
    
    RPMSIGTAG_SHA1 is larger than RPMSIGTAG_DSA/RPMSIGTAG_RSA. Doesn't
    affect the values as the enum is assigned and not generated, but
    for consistencys sake.

commit bae912e4da594bfe742f244aec9e876660def521
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 14:41:30 2017 +0300

    Support passing private data pointer through the signature callback

commit 1a88377ba52cc0d05258fb38f1a09c7467c273f8
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Wed Apr 19 19:51:47 2017 +0200

    Remove unnecessary memset

commit 29c48e14de414ca512e404a2d773c3fcb3578040
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Apr 21 11:45:42 2017 +0200

    Add mode for updating with minimal writing (RhBug:783480)
    
    How does the number of writes change?
    I compared number of writes with and without minimal writing
    for upgrade from RHEL 7.0 to RHEL 7.1, from RHEL 7.1 to RHEL 7.2, ...
    In more details, the size of memory used for writing regular files.
    
    The following table contains in the second column percentages of files
    which can be only touched from all installed files. In the third column,
    there are percentages of sum of their sizes.
    
                           |       Touched        |        Touched
                           |    Updated files     |     Updated bytes
    ------------------------------------------------------------------------
    RHEL 7.0 -> RHEL 7.1   |         63 %         |          66 %
    RHEL 7.1 -> RHEL 7.2   |         53 %         |          43 %
    RHEL 7.2 -> RHEL 7.3   |         60 %         |          42 %
    ------------------------------------------------------------------------
    F24 -> F25             |         63 %         |          40 %
    F25-> Fraw             |         49 %         |          28 %
    
    Does the speed change?
    The update speed for classical disks or SSD almost does not change.
    
    How it works?
    If there is a file in the new package, which has the equal digest
    as the corresponding file in the old package and the same file on
    the disk (thus the contents are expected to be equal), rpm will not
    install the whole file, but rather only upgrade the file's meta data.
    In other cases, it will install the whole file.

commit f7d4b2b726c4ef3c6e0e33b05e1febd8470d89b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 13:34:56 2017 +0300

    Assimilate sigtagname() into formatDefault(), nothing else needs it

commit 01943843be31f999cbcc947208da2e05e240004e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 12:57:43 2017 +0300

    Implement a callback hook into signature checking, use for rpm -K output
    
    Add a new (internal for now) API rpmpkgVerifySignatures() for signature
    checking, accepting an optional callback which will get called for
    all the results we get. We only use it for rpmlog()'ing the results
    in the ages old manner but could also be used to manipulate the results,
    so its possible to implement external policy.

commit 0b794d577e9afc64e592a892c9a7485e74d3a22c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 12:42:39 2017 +0300

    Separate the act of signature checking from the output, step 1

commit d1359d09e5f9c741a5de09f5f63569b817725c7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 11:38:41 2017 +0300

    Clean up signature checking readFile()
    
    Return the error message similarly to everything else, this way
    the filename formatting is done centrally and fn doesn't need to
    be passed around. Remove unused local msg variable and 2002 vintage
    comment about md5. Calculate return code based on count, eliminating
    need for jump to exit and all. Pooh.

commit 16c8ce0c23b6de22609f73cbd0cb8a3fc0cd4dde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 11:25:44 2017 +0300

    Filter out non-digests and signatures centrally in sinfoDisabled() too

commit 231302bedc7c81a5fa52698876b1fa5fb99bdd85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 11:23:30 2017 +0300

    Honor RPMVSF_NEEDPAYLOAD in signature checking

commit 5121665db78368e48ac0b6fcab7c0d589f4391ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 21 11:21:48 2017 +0300

    Consolidate signature disabler handling to a helper function

commit e0457ca2087c9d5e508a2135dce15887d2b36557
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 20 16:55:16 2017 +0300

    Eliminate redundant rasprintf()
    
    Do the filename formatting at rpmlog(), makes more sense there.

commit 7488d8841e9fcdb0c2dbfa84c96cdfbe1fc5bbcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 20 14:24:25 2017 +0300

    Drop the ambiguous and bogus RSA/DSA algorithm info from sigcheck output
    
    DSA is always SHA1 but PGP, which in rpm world means RSA, is certainly
    not limited to MD5. To make matters worse, sha1 and md5 are ambiguous
    as they can appear as standalone entities in this output. And to make
    matters even worse, parenthesis are used to signal missing key as well,
    but there are of course no missing keys for plain digests.

commit 7de6172284d596ede63e39e1368929e23324dade
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 20 14:18:09 2017 +0300

    Drop missing key formatting from non-verbose signature checking output
    
    Non-verbose should mean non-verbose, really. Doesn't make the output
    sane, just that little less cluttered in case of missing keys which
    still noted in the output by having them in parentheses.

commit 886c417a932131851e708ec66ca25cc25b003722
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 20 14:10:23 2017 +0300

    Add a test for non-verbose signature check output
    
    This is a horribly stupid output format and likely to change soon
    but for tracking and documentation purposes recording the current
    one here.

commit 6b6b507f36ff93aa619e3e9301457f2602f1eca3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 20 13:54:50 2017 +0300

    Drop dead-on-arrival untrustedkeys formatting from signature checking
    
    Rpm has never returned RPMRC_NOTTRUSTED, drop the theoretical goo
    that most likely doesn't actually work either. Actually fixes
    trailing whitespace on non-verbose signature check message, from
    which we get to the hysterical, real reason for this commit:
    I don't know/remember how to handle trailing whitespace in the
    test-suite.

commit a239ddefa90575ce80ed4436beb4005a97e32644
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 19 16:35:44 2017 +0300

    Use the fine-grained digest/signature disablers in rpm -K path too
    
    Take advantage of the disabler data added in commit
    5aeb8ed1cf5462ddc703b6d04838cc7d8b46b747 to permit fine-grained
    disablers on this path. Neither the API or the cli actually supports
    passing them at the moment so it's just an internal improvement for now.

commit 5aeb8ed1cf5462ddc703b6d04838cc7d8b46b747
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 19 16:35:28 2017 +0300

    Add signature/digest disabler info to rpmsinfo struct

commit c6dfbece5fd4d6be9ab97ceb01203d2a27a827c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 19 16:35:05 2017 +0300

    List different signature types explicitly without fallthroughs
    
    No functional changes (at least intended ones), just makes it easier
    to see what is what exactly.

commit 8d6a8a5953e87ee92100b81f3b807a2802465d68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 19 16:34:26 2017 +0300

    Test for --nosignature and --nodigest functionality too

commit c87699dedd692b7411521cd7e27dcd03cbfcb308
Author: Mark Wielaard <mark@klomp.org>
Date:   Sat Apr 15 01:03:01 2017 +0200

    Make rpmsign tests work for builddir != srcdir.
    
    The gpg HOME is in the builddir testing directory.
    But the keys to import are in the srcdir data/keys directory.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 3790a6872749a9601be6044be7d8fb0951131376
Author: Mark Wielaard <mark@klomp.org>
Date:   Sun Apr 16 18:16:02 2017 +0200

    find-debuginfo.sh: Only add minisymtab for executables or shared libraries.
    
    It only makes sense to add a minisymtab for executables and shared
    libraries. Other executable ELF files (like kernel modules) don't need it.
    Since those don't have a dynsym section trying to add it will fail and
    produce confusing errors from nm.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 6e9fd97f6dba9e04cfd33225b610272b964cc5fc
Author: Mark Wielaard <mark@klomp.org>
Date:   Sun Apr 16 18:16:46 2017 +0200

    debugedit: Add -n, --no-recompute-build-id.
    
    Some packages depend on the build-ids as generated during the build
    and cannot handle rpmbuild recomputing them before generating the
    package file list. Add -n, --no-recompute-build-id to debugedit and
    add -n to find-debuginfo.sh set by defining the %_no_recompute_build_ids
    macro for such packages. %_no_recompute_build_ids can not be used together
    with %_unique_build_ids.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 280a9d9c9a0a52a4582f4b38ec5e95520db383c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 15:43:11 2017 +0300

    Consolidate OpenPGP time debug printing into a helper function

commit 1e28f6ca7591511c7c0a8a325a01cb3b44e144c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 14:39:12 2017 +0300

    Store signature/key creation time in a saner format internally
    
    The OpenPGP time fields are unsigned four-octet numbers, storing
    it as the uint32_t it actually is makes using the value that
    little bit saner.
    
    Way too many places to update as we still have no API for this, sigh.

commit 054f3ce53ce71dfdcae5559aa4a7f9cbb1df9bae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 11:50:19 2017 +0300

    Drop the priority reset testcase
    
    It only ever worked as root, which we don't want to encourage for the
    test-suite anyway, and commit 86c523da6fa1cada0c5753c14bb1f2fdd436d28d
    broke it even for root since plugins are globally disabled in the test-suite.
    
    We can always reintroduce it later if it becomes feasible...

commit 39cce0a43fcf1fc108669e3659544ebced2d5eb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 11:29:57 2017 +0300

    Always run testsuite in UTC timezone for reproducability

commit 3a18e1a1781bbd00b4be59064bc5f02a662ab418
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 13 11:03:03 2017 +0300

    Do manual hdrblobRead() and -Import instead of rpmReadSignature()
    
    Not useful in itself, but paving way for next steps.

commit e47733bb89ef6435cb06e4f62823bf44cb4e24ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 16:59:11 2017 +0300

    Let the NOKEY warning through on :pgpsig format test

commit 4bbeec134aab33e24f960be28a7b2198359c1f67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 16:26:47 2017 +0300

    Fixup ages old confusion wrt OpenPGP fingerprint vs Key ID
    
    Originally introduced in commit f5203aea8bd83dc18e48dda4a564429c0e48bab4
    in 2004, pgpPubkeyFingerprint() has been returning the 64 bits long
    Key ID from the tail of 160 bits long fingerprint, not the actual
    fingerprint.
    
    Add a new public API for retrieving the Key ID specifically, adjust
    the handful of internal users to use it and make pgpPubkeyFingerprint()
    return the actual fingerprint. It's an API break sure but there are
    unlikely to be any callers outside rpm and we're breaking the API + ABI
    left and right in this release so doesn't matter...

commit 5ccf606effc722d2d216d77a33294a1ba49180ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 15:20:53 2017 +0300

    Add testcase for :pgpsig query format extension

commit c3edd8946b0a65917f9863f9c4499a69c7c021c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 14:42:23 2017 +0300

    Remove pgpExtractPubkeyFingerprint()
    
    The sole user within rpm was removed over six years ago, never seen
    a single user outside rpm, and even then it's just a wrapper around
    rpmBase64Decode() and pgpPubkeyFingerprint() with a bizarre
    return code. Bye bye...

commit 67de3956eadadad39c19a9720d92545a196caf30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 14:39:13 2017 +0300

    Remove bunch of ancient OpenPGP related @todo's
    
    Support for insecure V3 public keys was dropped six years ago, not
    something todo... Also we have supported SHA256 for a good while now.

commit 5e420756a47c7db587bcb6eec68bc347ec57b981
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 11:37:58 2017 +0300

    Make build+verify test more reproducable
    
    Sigh, there are endless minute details that can make seemingly
    reproducable builds non-reproducable, including:
    - optflags leaking from distro settings and all (so override)
    - the distro name we're building on (so override)
    - payload compression (so don't compress)
    
    One possible failure case is the OS, these all expect Linux as the
    build platform and that's not so easy to override.

commit 48cd90295c5ea6478732147cf515b7549ff21ff9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 11:10:42 2017 +0300

    Mark --xml query test as expected failure which it is
    
    Should've been in commit 7ba0b8ff6f92a5658ac465d2057f0f28f4a61856,
    no need to scare people (including myself) with unexpected FAILs...

commit 65bdcd8bbf4f1eaa540132cc9c2e6665ca119e72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 10:58:52 2017 +0300

    Dont assume signature data is always at td->data
    
    Grab data + its length to helper variables by whatever appropriate
    means early on and use those to access the data. In particular, this
    supposedly adds support for string arrays as signature data.
    While at it, add a test for NULL or too short data.

commit 43c053b753e278a465cf7b5a155d332e0eb240d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 12 09:41:09 2017 +0300

    Avoid stale gpg-agents in test root
    
    gpg2 wants to leave gpg-agent running in the background which is fine,
    until we pull the rug from underneath it by nuking the test root it
    was launched in, causing us to hang on --addsign tests. Shut down
    any agents running in the test root before nuking it for an update.

commit 52cbcb2d41b6eeabc4d9bcd4da44816cbb1da08d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 18:55:12 2017 +0300

    Eliminate now unnecessary tag hardcoding in rpmVerifySignature()

commit d4a4cf5cd7fa61afdb5d19c2374d7b7594890fc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 18:52:45 2017 +0300

    Construct digest verification messages dynamically

commit 011cfeceab11da824de60e478b614a09883c23f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 18:39:26 2017 +0300

    Update rpmVerifySignature() internals to get by with just struct rpmsinfo

commit 0777f87a912f46c28d8eb423009c450b7ffabf1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 17:45:52 2017 +0300

    Include all the necessary data in struct rpmsinfo directly
    
    This seems more trouble than it's worth on the outset, but then the
    new data is not really being used yet.

commit 5b4f59bd80be07289e62f6162ec566ad55211c5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 14:17:42 2017 +0300

    Rename signature info bits and pieces for consistency and future needs
    
    Rename the oddball sigtInfo struct to rpmsinfo, and the "constructor"
    to rpmsinfoInit() which will make a nicer pair for Fini() once we'll
    need that.

commit de3a173010054ca6abd8f7533200c9b0ed728b86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 14:16:41 2017 +0300

    Validate number of elements in signature tags where known

commit b8855cc6e8a31409d1002a9b71b21b5134b885bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 13:07:59 2017 +0300

    Move payload digest index hack to rpmsinfoInit()
    
    For purposes of the generic signature checking machinery, only the last
    value is ever needed so handling it in rpmsinfoInit() is far more
    appropriate.

commit 1c0bc572f05d47663948edd4ef4ba84b398bf938
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Fri Apr 7 15:37:21 2017 +0200

    pkgconfigdeps: disable dependency resolver where supported
    
    pkgconf (alternative to freedesktop's pkgconfig implementation)
    uses this flag to stop resolving dependencies after some level.
    In our case, we are not interested in checking dependencies from
    buildroot at all, we just generating top-level dependency list.
    
    References: https://bugzilla.redhat.com/show_bug.cgi?id=1401463
    Reported-by: Martin Sehnoutka <msehnout@redhat.com>
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit adbe3588229ea8cb6ce18a6b3e1212719ea289bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 11 12:58:50 2017 +0300

    Include algorithm name in payload digest messages
    
    Just to be consistent with all the other digests etc, hardcoded
    for now. Adjust tests accordingly.

commit 016c37900dc9acb739fb29fe21f9a1b5b4c0ecfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 10 10:21:55 2017 +0300

    Basic signing tests, take II
    
    Essentially reverts commit 40efa628a513fa43e47b0151d69c9fa8c8a56ba4
    but with two differences: use $(abs_srcdir) instead of $(srcdir)
    for base of HOME which seems to make things work fairly reliably.
    Knock wood, and watch out for 'em pixies... The other thing is
    to drop -q(uiet) from the import commands, those were a leftover
    from importing in the test itself, but better import just once
    because we're not here testing gpg really.

commit c707ab26362e795d3f9dba4eb87dc7ed99a28bcb
Author: Robin Lee <cheeselee@fedoraproject.org>
Date:   Sat Apr 8 21:21:39 2017 +0800

    Fix non-standard inherented modes of directories in debuginfo
    
    In case that binary compiled from source generated in /tmp, a
    /usr/src/debug/tmp directory will be created with the same mode as
    /tmp, a.k.a 777, which should be avoided.
    
    Fixes: rhbz#641022

commit 40efa628a513fa43e47b0151d69c9fa8c8a56ba4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 7 12:40:00 2017 +0300

    Pixies broke my signing tests :(
    
    It was working just fine here locally, really. And now its not.
    Comment it out for now, my testsuite hacking quota is full for today.
    Sigh.

commit 111d3c1a8c21121a14c13ccb1a65b8134f1df772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 7 11:36:13 2017 +0300

    Implement basic signing tests for --addsign and --delsign
    
    This is tricky and flimsy as we criss-cross over the fakechroot border:
    getting gpg and gpg-agent to work in the fake root environment seems
    non-trivial (mismatch about homedir expectations I think) so we
    run signing outside the root and verification inside. And anything
    on the outside needs to avoid absolute paths in results as those
    would change from user to user etc. Still, better than not having it...

commit bd003e6b54eb3a6359f69254ffc7fe3c5d0785ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 16:12:07 2017 +0300

    Add some tests for digests, signatures and stuff
    
    Add a pre-signed copy of the hello binary rpm, plus the public
    and (passwordless) secret key for testing purposes. Run a couple
    of simple rpmkeys --import and -Kv tests to see basics are working.
    As a side-effect we now have a simple reproducability test as well.
    
    It ain't much but it's more than we had before...

commit 00d5f3a18f4b998e12235eb62f8d0a12e40ed37f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 6 13:35:31 2017 +0300

    Give signatures and digests a per-package unique id internally
    
    For now this is just the tag, but gives us a single place to change
    it when it becomes necessary to do so.

commit 9a0afef3397ea0899303b4bbb722cdf4fd2bd6ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 5 11:57:00 2017 +0300

    Update community link in README

commit ab052ab775a789afc02cc9691b2e0526573bbea7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 17:07:00 2017 +0300

    In old packages, zero-length files have zeros for digest (RhBug:1352222)
    
    Commit 8192746196745e15517e49230de183a0211017b6 enabled digest checks
    for empty files, which is fine for modern era packages but rpm didn't
    always generate a proper digest for them. Handle that as the special
    case it is: preserve the digests checks as they are, but additionally
    test and accept zeros too for MD5-era zero-length files.

commit 35c238cc69e6e556a014a9c0b6f4b2c3241362af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 16:39:00 2017 +0300

    Reindent rpmfi.c bits and pieces to common rpm style

commit 579d21bd1d214aea4d2581eb78416d9df0658246
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 16:36:01 2017 +0300

    Refactor copy-paste hex to binary conversion to helper function

commit c655de6bc96baee06afd7d4a2876c07d4ddf70cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 15:13:40 2017 +0300

    Make test for zero-length digest more obvious
    
    fdigest cannot possibly be NULL here because the surrounding loop
    would have terminated in that case, and removing that distraction
    makes the actual test a whole lot more obvious.

commit 62347e4049a2f2e875501d9b2493ac8c6feb4c75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 15:11:39 2017 +0300

    Use separate locally scoped variables for different tasks
    
    Makes it easier to see that there are no hidden side-effects
    etc involved when the variable is truly block local and not function
    wide.

commit 7672ce08685b41470673cf1ca8678f47ff7a59ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 15:08:20 2017 +0300

    File signature length is not needed if not retrieving file signatures
    
    ...and move the initialization next to the file signature init
    where it logically belongs.

commit 7ba0b8ff6f92a5658ac465d2057f0f28f4a61856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 4 14:06:21 2017 +0300

    Add a testcase for --xml output
    
    This currently fails due to regression originating from
    commit  ead9cdd587bbf052722f0f8598e0983e565e3415 and
    7f47cbbd7d1600ae280e48a655c9e870cf9361e0, which exist just because
    we didn't have this testcase...

commit ee206c6b93fe6c4c7ae98920945f168362057b5d
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Sun Apr 2 10:58:19 2017 +0200

    add a spec.parsed setter for retrieving parsed spec

commit d2f48e93d32e222d4727b9684d2032f9bb9fc498
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Tue Jan 31 10:25:38 2017 +0100

    Add --target as global option
    
    As specifying target will load & set macro definitions according to
    target specified, it's still useful to provide it anywhere where ie.
    --eval may be used, as by specifying --target first, it'll change the
    target specific macros to load which is perfectly sane and useful for
    checking macro specific definitions.
    
    Remove now redundant --target= argument for rpmspec as it's now global.

commit 0216aaec69feb0bb619dbc59ed77db6de3902b0c
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Mar 16 12:07:52 2017 +0100

    Accept --nocaps also for the package installation
    
    Makes it possible to work around trouble of installing packages that use
    file capabilities in user namespaces.
    
    It simply ignores the capabilities as opposed to setting a setuid bit.
    This is a safer things to do, but possibly has a negative impact on some tools
    (such as ping being usable only by the superuser).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=648654

commit b8b5cdb09faa87c25cb71c4c6c3bdd0420e71915
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 29 13:33:46 2017 +0300

    Fix error handling in rpmDigestBundleAddID()
    
    Besides the logic being completely wrong to begin with, it wasn't
    actually handling the failure to allocate a digest at all. Do that,
    and return values according to documentation.

commit 2652bab3e900c2b6b393a480d34a8c6b772cc113
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 28 16:16:01 2017 +0300

    Eliminate rpmdsNotify() from the API + Python bindings
    
    This is an internal helper for debug logging and should've never been
    part of the API in the first place. We're removing all sorts of things
    on this round anyway so it's a fine opportunity for removing this too.
    It's not as if anybody used this outside rpm because it's ... not
    exactly useful.

commit f30d96772e2954ec0ca3b2a81097ec98c2a50751
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 28 10:53:34 2017 +0300

    Parse signer keyid as part of siginfo struct parsing
    
    Doesn't really change anything as such but seems saner  this way
    and also makes the keyid more readily available.

commit 9dc0b6eb7334d461f3fc1756b75fc2395cd428d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 14:46:29 2017 +0200

    Drop long since dead stubs.c
    
    This hasn't been built since commit 41d0a9fd3e8615efbb333746dfd2ea1ad9e285e3
    almost ten years ago, just maybe we can actually drop it too...

commit 11323f335b54032a0fb7bf6c31b557bebc1f0432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 14:20:48 2017 +0200

    Actually test for __progname too
    
    Hopefully resurrecting whatever got broken by the round of changes
    surrounding this, __progname is not an entirely glibc/linux thing.

commit 2a7e395f011291c638b64c3b89f0361d25ff393f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 13:33:02 2017 +0200

    Determine setprogname() availability by actually testing for it
    
    This way we dont need to include separate tests for the entire
    BSD'ish family tree and who knows, might even cover some other
    cases too.

commit fa06b68ed7640c0e42a8a63dd9cb0bf8d4c73525
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Thu Mar 23 21:22:07 2017 +0300

    Drop local implementation of xsetprogname/xgetprogname
    
    It can be dropped because this code was never actually enabled.
    Actually, this implementation *surely* never ever compiled.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit f493dfdeb49213cca4b22d33f2653d7dcb43b244
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 12:54:04 2017 +0200

    Eliminate warning from '_' being redefined in sepdebugcrcfix.c
    
    Exposed by commit cf6c87997f199b7681934b5d7c524bfff178b848 which
    includes system.h which includes the NLS stuff.

commit a0c138592d507a34511c3d18ce6955b781096c89
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Thu Mar 23 21:23:08 2017 +0300

    Include system.h in ima and syslog plugins
    
    Currently, there is no harm if config.h is not included in these files
    because they are not sensitive to macros defined in config.h, but any
    code added later or any plugin created using these plugins as examples
    might be affected by these macros and therefore has to include config.h.
    
    An example of bug when this header is not included properly can be seen
    in the previous commit.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit cf6c87997f199b7681934b5d7c524bfff178b848
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Thu Mar 23 21:22:47 2017 +0300

    Fix Large File Support (LFS) in sepdebugcrcfix tool and systemd_inhibit.so plugin
    
    This problem was found by ALT rpm verify-elf brp script:
    verify-elf: WARNING: ./usr/lib/rpm-plugins/systemd_inhibit.so: uses non-LFS functions: __lxstat
    verify-elf: WARNING: ./usr/lib/rpm/sepdebugcrcfix: uses non-LFS functions: __xstat mmap open pread pwrite
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit 1eadabe4453ef32eb6c3bc837094e1ca998affcc
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Thu Mar 23 21:21:26 2017 +0300

    Only build bundled fts if system has a bad version that doesn't handle LFS
    
    Older versions of glibc included an fts implementation that didn't have
    Large File Support on 32-bit systems.  We worked that around by bundling
    fts into rpm codebase.  Thanks to Mark Wielaard, glibc >= 2.23 has LFS
    support in fts.
    
    Unfortunately, we can't drop bundled fts because we have to support
    build with other libcs which do not implement fts at all or their
    implementations do not provide Large File Support.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
    
    [pmatilai: Added comment to configure.ac as the test is rather subtle,
               thanks for Mark Wielaard for the explanation]

commit 418d1b69e1ab36d3faba6dd2dfb7758aa63cd557
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Thu Mar 23 21:20:46 2017 +0300

    Rename fts.h header to rpmfts.h
    
    Make sure local fts.h is never included by mistake instead of system one.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit 7774654ed1317335c75bc218e31639101797641b
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Mar 23 15:46:40 2017 +0100

    build/files.c (generateBuildIDs): Fix small memory leak.
    
    mainiddir and debugiddir are allocated through rpmGetPath ()
    and should be released when done.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit d4725cfc8e96c5e449f75c569f1a7eed93cf6f7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 24 09:04:51 2017 +0200

    Add a simple testcase for "rpmbuild --short-circuit -bl"
    
    Testing for correct behavior in failure case is harder because of
    all the environment (arch etc) dependent variablees in the output
    but success is easy. Would've caught the buildid-caused regression...

commit eea78b023539875309b7d38e4c8924f647644924
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 13:47:28 2017 +0200

    Unbreak short-circuited binary builds
    
    Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 broke short-circuited
    binary builds (which can be handy for testing when working on large
    packages), eg:
         rpmbuild -bi foo.spec; rpmbuild -bb --short-circuit foo.spec
    
    The problem is that in a short-circuited build all the links already
    exist and point to the right place, but the code doesn't realize this
    and creates new links instead, which leaves the old links unowned
    in the buildroot which ultimately causes the build to fail with
    "Installed (but unpackaged) file(s) found" for the previously created
    build-id links.
    
    When checking for pre-existing links see if they already point to
    the right file and in that case just reuse it instead of creating new ones.
    Keep track of duplicate build-ids found by noticing existing links that
    point to different targets. But don't do this for compat links, they should
    just point to the last (duplicate) main build-id symlink found.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit c510b96acbf44c6aa4e26d2b8cfb4d34080441d5
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Mar 21 16:57:44 2017 +0100

    debugedit: Fix off-by-one adding DW_FORM_string replacement slashes.
    
    We would put one too many slashes in between the new dest_dir and file name
    part of the replacement of a DW_FORM_string in the .debug_info. If there
    was file part then we would overwrite the first character of the name. If
    there was no file part at all then this would overwrite the zero terminator
    and cause a crash reading the rest of the data.
    
    A crash did happen while building the docker package on fedora s390x.
    https://bugzilla.redhat.com/show_bug.cgi?id=1434347
    
    The reason neither issue would normally trigger is because if we do detect
    that the dest_dir is larger than the base_dir we refuse to replace anything.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit d7876d27dfc004303f4f421329d2d28693f92706
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Mar 19 09:26:16 2017 -0400

    Add armv5tl support

commit 60f958ab41f854f8839fe04f1a67d1752ad7eda0
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Mar 20 09:55:44 2017 +0100

    tests/rpmbuildid.at: Make file sed regexp more strict to extract BuildID.
    
    Like commit f0a5819 for rpmbuild.at. In the case of rpmbuildid.at the
    sed expression looked to work, but only matched by accident. Make the sed
    regexp more strict by only matching a hex-string. And properly "escape"
    [ and ] which inside an AT_CHECK should be [[ and ]].
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit b91dc6106e360f13ff365dfac247191942039152
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Mar 15 20:07:29 2017 +0100

    Make sure to reset file attributes for generated build-id directories.
    
    [Note this patch is currently being tested in Fedora. See bug below.]
    
    When creating the build-id directories we should reset the file attributes
    to the defaults. Otherwise if the file list contained an %attr or %defattr
    the directories would come out with the wrong mode.
    
    Includes a testcase based on a spec by Igor Gnatenko that fails before
    and Check that build-id directories are created with the right permissions
    even if the spec file sets attrs explicitly.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1432372
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit dc759bc655ff1c18a08d77dd31dedfe3ae1025b0
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Mar 16 22:53:54 2017 +0100

    debugedit: Fix edit_dwarf2_line replace_dirs -> replace_files typo.
    
    We wouldn't replace the changed file names if replace_dirs was false,
    but replace_files was true. This could overrun the new debug_line data
    buffer if the original file name was larger than the replacement. It
    wasn't found before because often when we need to replace files we
    also would have to replace dirs.
    
    This fixes the kubernetes build in fedora.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit a6e767600309bdb1f8af33b44563a1187fb0dbc4
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Mar 17 21:03:35 2017 +0100

    debugedit: Fix cross-endian build-id reading and updating section data.
    
    debugedit doesn't read raw mmap data any longer. Which made the complex
    way to read the build-id unnecessary (and it was broken for cross-endian).
    Just use gelf_getnote to read the notes.
    
    Also in some special cases when only the debug_info or build_id data
    was updated, but no section changed size and we had to preserve the
    allocated section headers we could hit a bug in elfutils that could
    trash some section data in case there were gaps between non-dirty and
    dirty sections. See https://sourceware.org/bugzilla/show_bug.cgi?id=21199
    Add a workaround for that issue.
    
    This fixes the kompose package build on fedora ppc64.
    And makes it possible to replicate that issue on x86_64.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 5e82c7e8a8fc05195cdf622d0a120b9e70a9371b
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Mar 17 11:14:00 2017 +0100

    build/files.c (processPackageFiles): Don't call generateBuildIDs for noarch.
    
    We don't want to do build-id processing for noarch packages. It might be
    that noarch packages do contain architecture depended files, but those are
    already handled by processBinaryFiles.
    
    This fixes the building of openbios in fedora.
    https://bugzilla.redhat.com/show_bug.cgi?id=1433129
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit c9035d464a6ac3853b5dc705e0df1734ce915cd4
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Mar 20 11:52:00 2017 +0100

    build/files.c: Only check build-ids for executable files in the main package.
    
    generateBuildIDs should mimic what find-debuginfo.sh does. Only check
    build-ids for executable files in non-debuginfo packages. This moves the
    isDbg check up so the is executeble check can be done when the file is
    part of the main package.
    
    This fixes the build of qemu and uboot-tools in fedora. Both ship
    non-executable ELF bios files in architecture specific packages.
    https://bugzilla.redhat.com/show_bug.cgi?id=1433837
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit c7eefa5b025c83f55a47354e21e3e719aa2c6e00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 21 13:59:42 2017 +0200

    Rename internal argument for clarity
    
    What installSpecialDoc argument really means is "did we execute %install
    stage?" That the information is used for detecting whether special %doc
    should be installed or not is another question.
    
    No functional changes, but this makes the information saner to use for
    other purposes.

commit d28c2bf1250884b6953e59b89e9111996f0d001c
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Mar 20 15:46:42 2017 +0100

    Add workaround for old binutils versions
    
    readelf used to append a bogus tab to the --debug-dump=info
    output. Add a sed call to get rid of it.

commit 79ca74e15e15c1d91a9a31a9ee90abc91736f390
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Mar 10 12:06:43 2017 +0100

    Add file disposition FA_TOUCH
    
    Installation of FA_TOUCH item only upgrades its metadata.

commit 61737f3f154bfe786e7a8ba1d813baf0191351b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 16 15:25:05 2017 +0200

    Rebuild buggy hello-2.0.1 test packages
    
    The previous incarnations of hello-2.0-1.i686.rpm and hello-2.0-1.x86_64.rpm
    were built during the "tri-state boolean bug period", ie between commits
    b5d54b35d4bc2745b73f4b75bdebed36abce7ed1 (being technically correct doesn't
    help when underlying assumptions don't hold) and
    da3a3a14e757ccd517e2eb2a3f0293ff48b3ff7f, causing the last tags
    added in packages to be out of order when written to disk.
    
    Rebuilding gets us correctly ordered headers plus new digests and all.

commit 28e2eb7becbbce7daba7de1ed13c18f6eeae8718
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 16 15:04:12 2017 +0200

    Rebuild buggy hello-2.0.1 test packages
    
    The original hello-2.0-1.i686.rpm and hello-2.0-1.x86_64.rpm were
    built during the "tri-state boolean bug period", ie between commits
    359baa2831dd1850cba3a1cc8d31aebf883a5138
    da3a3a14e757ccd517e2eb2a3f0293ff48b3ff7f

commit aeb58f654a6e8ea433e8d63fae28ab57a871d05d
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Mon Mar 13 19:17:40 2017 +0300

    parseSpec: use getline instead of fgetc
    
    Replace home-grown buggy imitation of getline(3) with use of getline(3).
    
    Fixes: 92a8babf1b46 ("Remove hopefully the last static buffer in rpm spec reading")
    Closes: https://github.com/rpm-software-management/rpm/issues/175
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit 4a9b7f547ce1bb6b0b352d2e29ae4b0d3bddebfb
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 13 11:20:11 2017 +0100

    perl.req: Also skip blocks with my var = <<
    
    Before only
    var = <<BLOCK
     foo
    BLOCK
    
    was skipped.
    
    But
    
    my var = <<BLOCK
    
    is also valid perl and needs to be skipped for dependency scanning.

commit 6f186deb95bbcfd2b6954985f8cc1f610b131f82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 10 12:21:54 2017 +0200

    Plugins may contain translatable messages too

commit c4406858bb0aa95bdf3ec879a5c2f30e8a7d4de0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 10 12:19:17 2017 +0200

    Oops, remove leftover includes
    
    Should've been in commit 86c523da6fa1cada0c5753c14bb1f2fdd436d28d

commit 86c523da6fa1cada0c5753c14bb1f2fdd436d28d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 10 12:12:00 2017 +0200

    Move scriptlet priority reset to a plugin
    
    Resetting priorities against daemons inheriting nice'd properties
    from rpm is a workaround needed only on legacy SysV init systems,
    but in systemd era this is nothing but counter-productive. So make
    the functionality optional by moving it into a plugin.
    
    This probably breaks the testcase because now we'd somehow need to
    determine from the testsuite whether the plugin will be loaded or not,
    but since the test is only enabled as root ... maybe its not that big
    a deal.

commit 22260d3580fcdafa5579128401adf1a05d36f316
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Mar 9 15:52:12 2017 +0100

    build/files.c: Unset __debug_package implies missing build-ids aren't fatal.
    
    Historically we have only checked build_ids when __debug_package was
    defined. So don't terminate the build if __debug_package is unset, even
    when _missing_build_ids_terminate_build is. Only warn.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 5bd77379eee167fbdb8d139dc9ab2da74f2a544f
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Mar 9 22:13:01 2017 +0100

    generateBuildIDs: Fix error handling.
    
    commit e6bdf7 made it so that we don't give a warning or error message
    for non-kernel ET_REL object files with missing or bad build-ids. But
    we still (unintentionally) failed generateBuildIDs which made us skip
    generating the cpioList causing an obscure failure message.
    
    Move the sanity check earlier so we don't process such object files at
    all. And if there is any real error from generateBuildIDs give a clear
    error message and explicitly set processingFailed.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit cb3dc0b43bd9a119196a527504d03d57d0785092
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 9 14:02:10 2017 +0100

    Re-enable rich dependecies for build requires and conflicts

commit e4349ef7292578a7286bfca2e68a150422e65c3c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 9 12:12:32 2017 +0100

    Fix check whether to allow rich deps in a given tag
    
    Broken with 9d5bbd9774d00f50749bb045217eaf91c87b6de0

commit e6bdf7a807ea5ca30bc467345dd1e07198945603
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Mar 9 09:34:01 2017 +0100

    generateBuildIDs: Don't warn or error for object files without build-id.
    
    Only loadable ELF images (executables, shared libraries, kernel modules)
    should have build-ids. So don't warn or error out when an object file is
    found without one.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit f787e69ab4e57f6c2dcb4bc5ce77fd3813d4623b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 9 08:21:16 2017 +0200

    Doh, remember to move the default comment to SHA256 too
    
    Should've been in commit 0cd74ade37d16d282d13e781deb68a219b2c04b9

commit 3c9be24c11974886453bfaf1ff9309c0e6af3c42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 15:29:58 2017 +0200

    Add a VSF control bit to disable payload digest verification
    
    As in, honor --nodigest for the new compressed payload digest too.
    There's now _RPMVSF_NOPAYLOAD and RPMVSF_NOPAYLOAD meaning entirely
    different things, there might be some confusion on the road ahead.
    Better names for these things would be welcome...
    
    Should've really been in commit daeb53bae7da50102c9114b8672ea4dd679d74cd.

commit 0cd74ade37d16d282d13e781deb68a219b2c04b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 14:51:45 2017 +0200

    Bump file digests to SHA256 by default, finally
    
    As a part of modernizing the crypto used by rpm, it's way past time
    to use a stronger algorithm for the file digests. The jump from MD5
    is not entirely smooth but at least Fedora and RHEL did that ages ago
    and survived, others should too. And of course you can always flip
    it back to MD5 if you really need to, for eg building packages for
    ancient distro versions.

commit 6eeb2f2963cb4ab5f7c24b0c7165336581e53117
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 14:36:39 2017 +0200

    Implement SHA256 header digest, creation + verification
    
    SHA1 has been getting a bit long in the tooth for many years by now,
    add a more modern digest to eventually supplant it, for now just
    prefer SHA256 over SHA1 if present when verifying. Using a hardwired
    algorithm instead of configurable one to keep things on the simple
    side when dealing with the signature header.
    
    Signing could add the new digest for older packages but we don't do
    that to avoid surprises when people are signing older packages.

commit 3cfd031832dd62459a5532f8b98021bb13820a9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 8 14:06:42 2017 +0200

    Make SHA1 and MD5 optional in rpmGenerateSignature()
    
    Currently all callers are supplying them but we'll want to get rid
    of especially MD5 eventually.

commit 0a8746dc7eaf90d62378371e49f615f737f971f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 07:43:55 2017 +0200

    Remove redundant comparison of the weaker digest
    
    There's no point comparing the weaker MD5 for equivalence when we
    can determine it by looking at a stronger digest already. Also we
    don't need the digest lengths here since SHA1 is ascii anyway.

commit 6ef52f6fe5e4d81fa64ba9055e1d2169fb49a07b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 07:36:54 2017 +0200

    Switch signing code to use the new ID-based digest API

commit 8f509d669b9ae79c86dd510c5a4bc5109f60d733
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Sat Feb 25 12:28:16 2017 +0100

    add support for rich dependencies from dependency generators
    
    Mostly achieved by replacing custom parser with the parseRCPOT().
    
    Closes: https://github.com/rpm-software-management/rpm/issues/167
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 5adc56897b9da5dac49701f704ef54390db57c59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 7 14:08:27 2017 +0200

    Expand parametric macro arguments before processing (#127, RhBug:1397209)
    
    This too is quite a fundamental change for macros: up to now, arguments
    to parametric macros have not been expanded. It doesn't sound so bad
    until you consider something like the case in RhBug:1397209:
    
            %global rev 133
            ...
            %setup %{?rev:-c}
            %autosetup %{?rev:-c}
    
    One would expect %setup and %autosetup behave the same when you replace
    one with the other, but no.  %setup gets "called" with -c, %autosetup
    does not. Instead %autosetup receives a completely useless, literal
    "%{?rev:-c}" as its argument.  That's just brain-meltingly non-sensical.
    
    This certainly has the potential to break advanced macro constructs,
    but OTOH what breaks might well be only written that way in order to
    work around the former behavior.
    
    There are some funny subtleties involved as the argument expansion
    must occur in the callers scope, ie before we create any of the
    automatic macros. For example, Fedora's font packages break if only
    this or the macro scope visibility enforcement is applied but start
    working again once both are present.

commit 307627993ec0c3eed729aea34843a87aa5bde6d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 7 14:06:55 2017 +0200

    Enforce visibility scoping for automatic macros
    
    When a parametric macro "calls" another parametric macro with fewer
    arguments than it received, the inner macro would see the %<n>
    macros of the outer call which is an obvious scoping violation
    and quirky behavior, making macro writing harder than it needs be.
    
    Similar scoping issues exist for manually defined macros but those
    have further complications (because of %undefine semantics)  that we
    sheepishly avoid here by limiting the visibility enforcing to automatic
    macros only (for now at least).

commit 237f35f16f978bb20e4cafd78abfab1f2e5db480
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 7 13:02:26 2017 +0200

    Change macro scoping to be global / local to parametric macros
    
    This changes the macro scoping rules quite fundamentally: macro
    definitions are local to the parametric macro they were defined in,
    and everything else is global. Among other things, this makes this
    common spec idiom (RhBug:552944, RhBug:551971 etc) behave
    deterministically because "foo" is placed into global scope:
    
            %{?!foo: %define foo bar}
    
    In theory it's certainly possible that this breaks somebodys carefully
    crafted advanced macros but it seems quite unlikely, considering how
    broken the alleged block-scoping has been. OTOH for macros defined
    within parametric macros, nothing actually changes as that scoping has
    always been enforced by rpm. The non-global define tracking is also
    no longer needed for emitting warnings, because the case where it
    was needed simply no longer exists.
    
    Note that macro recursion depth is a different thing and still needs
    to be tracked separately.

commit e2f4347356b4fd8b893995714d79181e8b3bfa1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 7 12:54:09 2017 +0200

    Consolidate all macro argument setup to grabArgs()
    
    Since we actually setup all the same automatic macros whether there
    are arguments or not, doing it centrally only makes sense. Shuffle
    things around a bit in preparation for the next steps.

commit f0a581925ad4c948dc58cc8f9a55399ad8de351e
Author: Mark Wielaard <mark@klomp.org>
Date:   Fri Mar 3 23:51:13 2017 +0100

    tests/tpmbuild.at: Make file sed regexp more strict to extract BuildID.
    
    In some testcases we extract the BuildID with the file command.
    Unfortunately the file command output changed slightly between versions.
    Make the sed regexp more strict by only matching a hex-string.
    Also properly "escape" [ and ] which inside an AT_CHECK should be [[ and ]].
    
    Tested against file versions 5.11, 5.29 and 5.30.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit b0a268e5fb744a1d2c3854e95366d5eb4382a842
Author: Mark Wielaard <mark@klomp.org>
Date:   Wed Mar 1 15:24:41 2017 +0100

    Include new test data spec files in EXTRA_DIST.
    
    Commit bbfe1f8 (Add build-id links to rpm for all ELF files) and
    Commit 5ef1166 (Make it possible to have unique build-ids across build
                    versions/releases)
    Introduced new test spec files (hello-r2.spec, hello2cp.spec and
    hello2ln.spec). Make sure they are added to EXTRA_DIST so the testcases
    pass again with make distcheck.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit b32e980611c45a46e95fa8864b6faf0c0d732ddb
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Feb 28 21:34:34 2017 +0100

    Add option to have unique debug source dirs across version/release/arch.
    
    Introduce a new macro _unique_debug_srcs that when set will pass
    --unique-debug-src-base "%{name}" to find-debuginfo.sh which will
    move sources into a unique "<name>-<ver>-<rel>.<arch>" directory
    under /usr/src/debug/ and makes debugedit rewrite the source paths
    in the debuginfo to use that unique directory name.
    
    Traditionally the debug src dir was named after the builddir which
    was defined through the %setup macro which used the -n name argument
    to define the builddir name and source archive to use. The builddir
    might not be unique though between package versions.
    
    Now that debugedit doesn't have strict base and dest dir length
    restrictions for rewriting the source dir paths this can now be made
    more flexible.
    
    The added testcases show the difference between the old and new way.
    The hello2.spec file defines the name of the package as hello2, but
    uses the %setup marcro with -n hello-1.0 to use the hello-1.0.tar.gz
    archive. This would traditionally result in a hello-1.0 builddir
    which would be moved under /usr/src/debug. Possibly conflicting
    with any other package (version) that used the same builddir name.
    When defining _unique_debug_srcs to 1 that builddir will be moved
    to <name>-<ver>-<rel>.<arch> instead (hello2-1.0-1.<arch>).
    
    The testcases check that both the actual package source filess under
    /usr/debug/src/ and the source paths as found in the .debug files are
    under the traditional or new unique directory names depending on whether
    the new _unique_debug_srcs macro is defined.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 88989572fff1f31e0c4f972a6895585e4742ef4b
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Feb 27 16:28:18 2017 +0100

    debugedit: Support String/Line table rewriting for larger/smaller paths.
    
    debugedit --base to --dest rewriting of debug source file paths only
    supported dest paths that were smaller or equal than the base path
    (and the size should differ more than 1 character for correct debug lines).
    All paths were changed "in place". Which could in theory mess up debug str
    sharing.
    
    This rewrite supports base and dest strings of any size (some limitations,
    see below). This is done by reconstructing the debug_str and debug_line
    tables and updating the references in the debug_info attributes pointing
    to these tables. Plus, if necessary (only for ET_REL kernel modules),
    updating any relocations for the debug_info and debug_line sections.
    
    This has the nice benefit of merging any duplicate strings in the
    debug_str table which might resulting on slightly smaller files.
    kernel modules are ET_REL files that often contain a lot of duplicate
    strings.
    
    The rewrite uses elfutils (either libebl or libdw) to reconstruct the
    debug_str table. Since we are changing some section sizes now we cannot
    just use mmap and rawdata to poke the values, but need to read in and
    write out the changed sections. This does take a bit more memory because
    we now also need to keep track of all string/line references.
    
    There are still some limitations (already in the original debugedit)
    not fixed by this rewrite:
    - DW_AT_comp_dir in .debug_info using DW_FORM_string can not be made
      larger. We only warn about that now instead of failing. The only
      producer of DW_FORM_string comp_dirs is binutils gas. It seems simpler
      to fix gas than to try to support resizing the debug_info section.
    - A DW_AT_name on a DW_TAG_compile_unit is only rewritten for DW_FORM_strp
      not for DW_FORM_string. Probably no problem in practice since this
      wasn't supported originally either.
    - The debug_line program isn't scanned for DW_LNE_define_file which
      could in theory define an absolute path that might need rewriting.
      Again probably not a problem because this wasn't supported before
      and there are no know producers for this construct.
    
    To support the upcoming DWARFv5 in gcc 7 (not on by default), we will
    need to add support for the new debug_line format and scan the new
    debug_macro section that can have references to the debug_str table.
    
    Signed-off-by: Mark Wielaard <mark@klomp.org>

commit 2d9c8cca7a4d87d9e636d63facb36ce25623d951
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 6 14:54:29 2017 +0200

    We have no internal public APIs, really
    
    Internal public API is quite an oxymoron, but surely these are not
    the modules one needs to encounter first when coming to librpm.
    Lump the stuff under IO, burying it last. Also gets rid of a
    doxygen warning during generation wrt internalargv.

commit daeb53bae7da50102c9114b8672ea4dd679d74cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 6 13:25:51 2017 +0200

    Implement payload digest (#163) verification as a part of signature
    
    This is a bit wacky because the payload digest is not a part of the
    signature header like everything else in "signature" checking, but
    people are going to expect "rpm -K" to detect corrupted payload so
    we better do it there anyway. We better do it during installation too
    but that's another story.
    
    It also takes a shortcut wrt the payload digest algorithm which is
    supposed to be configurable and should be retrieved from
    RPMTAG_PAYLOADDIGESTALGO, but as its currently hardwired to SHA256
    on the build-side too it doesn't really matter ATM.

commit 28a815517db078615c56fa133bc297b9816d33ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 6 13:20:53 2017 +0200

    Stop digest calculation after verifying
    
    This should/could've been in commit 2b456b22f19dd12ca00fc2395147a35a2c73f4a3
    already, prior to that it was possible another sig/dig item was using
    the same hash and nuking it would've messed up something else.

commit ab943e93f7ed94c2ecd0cd53d7e0480ec3834828
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 3 11:24:34 2017 +0200

    Duplicate IDs in digest bundles are not permitted
    
    Regresssion introduced in commit 6046386afd446084ed10eb57ca390920ef232efa,
    inserting a duplicate id must not succeed.

commit fa24aa2a3618a8939423d9e9db28a266d0261bdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 12:35:38 2017 +0200

    Refactor cpioArchiveSize member out of Package struct
    
    Only writeRPM() needs it, and returning it via cpio_doio() makes
    it much more obvious where the value really comes from.

commit d90adb4b34fe4b35cb98371dfad3ba4671833f8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 2 08:56:11 2017 +0200

    Use headerCopy() for, well, copying a header
    
    Most likely wouldn't have worked prior to commit
    27ea3f8624560bd158fc7bc801639310a0ffab10.

commit 91aa0786cf3b2e34de01c586427952de6d0d9b40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 15:03:55 2017 +0200

    Implement a digest on the compressed payload content (#163)
    
    There needs to be a way to verify the payload before trying to uncompress
    and unpack it:
    
    - We have digests on the contents of individual files, but detecting
      corruption in middle of installation, after all sorts of scripts might
      have already run, is no good at all
    - Compresssion libraries have vulnerabilities of their own
    - The RPMv3 digest covering the payload is the obsolete MD5, and furthermore
      it covers the header AND the payload, which is extremely cumbersome
      to begin with but also vulnerable because it's in the unprotected
      signature header.
    
    This adds two tags: one for the actual digest, and another for the
    algorithm, much like with filedigests. The digest tag is specified
    as a string array to leave room for future expansion: the idea is
    that there could be intermediate snapshots over the payload, and
    the last one is always on the entire payload, so an array of just
    one is compatible with this specification.
    
    Getting the digest into the main header is fairly complicated since the
    package format on-disk is exactly in the opposite order of how we need
    to write things there, add a lenghty comment to writeRPM() to explain.
    The MD5 digest needs to die, really - it forces a second read over
    the entire header + payload for what is practically worthless hash.
    
    Note that there's no code to actually verify this digest at the moment,
    nor is there a way to configure the used algorithm, SHA256 is used as the
    default for now.

commit 7d1a303c456ce459cf550e8154fa4b6f29012b05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 14:06:45 2017 +0200

    Consolidate digest calculations to the read cycle
    
    Process header and payload as separate entities when reading through
    the newly created package for digest calculation. This consolidates
    the digest calculations to one place and hopefully makes the overall
    logic that little bit clearer too. In order to do this we need more
    control than "Fread() to the end", add another helper to handle
    jumping around + reading specified ranges.
    
    Not supposed to affect functionality except for a slight change in
    an error message nobody ever sees, this is still preliminaries for
    things to come.

commit 569f3f4a3f96f66eca69befeeb513c851b0c5dc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 13:50:36 2017 +0200

    Refactor main header writing to a helper function
    
    Hide away the dirty details of header reload and writing into
    a helper function. This may seem excessive at this point but
    we'll need this later. No functional changes except for a nicer
    error message if writing the fails.

commit 542ea5d18ec489873c1259f0b2c992ef43e4c826
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 13:38:52 2017 +0200

    Consolidate Fseek() error handling to local helper function

commit 27ea3f8624560bd158fc7bc801639310a0ffab10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 12:07:32 2017 +0200

    Don't reload to legacy image on headerCopy()
    
    AFAICT the only place that even remotely cares about the reload
    is rpmdb rebuild, for others this just messes up things. Do the
    reload manually in rpmdb and otherwise just leave it alone. This
    allows headerCopy() to actually be used for, you know, copying
    headers. Generally, that is.

commit 12fc48df71bd2bb677d510f8ccc11bb755aa7298
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 11:57:59 2017 +0200

    Remove support for special legacy header handling from hdr.unload()
    
    The refcounting and freeing seem rather suspicious, has probably
    been broken for ages. As if anybody knew such an argument exists,
    never mind what it might do or when it might be necessary. Should
    this really be necessary, it would have to be automatic, and it'd
    be almost 20 years too late for that...

commit b95eeeca6c187a0e39d5059f2e5ece6b75ad9d98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 11:36:21 2017 +0200

    Clarify header copying in rpmdbRebuild()
    
    Legacy headers are different, trying not to save one line of code
    makes the action clearer.

commit 2b2a85d8abcff4b1689e507be821f32cd055d66f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 1 07:22:32 2017 +0200

    Add + use a helper function to create dummy digest values
    
    Having a couple of hardcoded sets of zeros is not so bad but this
    is not sustainable route when adding more and configurable digests.
    Instead create an actual digest of the requested type. The value
    is not zeros but then those zeroes were only ever used as placeholders.

commit 0b5b07ed666cbd15020d7fbdcd520347d5e1964d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 13:24:15 2017 +0200

    Use section names as variable names to clarify code
    
    sigTarget is a bit misleading as there are various different "signatures"
    we're dealing with here, on different ranges of the package. Using
    the actual section names should make it clearer what everything really is.

commit 678784db2deab7095ab687e8f06905af275ca38b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 13:12:57 2017 +0200

    Refactor final dependency tweaks to a helper function
    
    Just to further cleanup writeRPM()...

commit 43d230884365d90d42184a0000f44bb33e5f1ab8
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 28 17:42:21 2017 +0100

    Fix check for weak deps in external dependency generator

commit 9d5bbd9774d00f50749bb045217eaf91c87b6de0
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 28 10:57:56 2017 +0100

    Use RPMTAG_*NAME instead of RPMTAG_*FLAGS in parsePreamble.c and parseRCPOT()
    
    Using the FLGS tags is awkward and inconsistent with other part of the code
    routinly use the NAME tags to denominate the type of dependencies.
    This is also going to make using parseRCPOT() easier for the rpmfc code
    that is also based on NAME tags.

commit 8807fbefd804e789ccc1ca2d39370f473b344d7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 13:01:32 2017 +0200

    Fixup refactoring error in commit 215334581679170f2de3bcd49504dff47463db7b

commit 9d38b2f6d92ef982db2488462619a780c9b87973
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Feb 28 10:31:12 2017 +0100

    Allow to use whitespaces in %include filename (#125)
    
    The filename will not end at the first whitespace
    of %include argument, but after the last nonwhitespace
    of the argument.

commit a127c565d2bbf3e29902574e6effa674861f4bbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 12:33:03 2017 +0200

    Revert "Allow to use spaces in "_sourcedir" path #125"
    
    This reverts commit 0faff2d4053bd9b14839fa0903bbfbde94e7bdf0
    which was a WIP version accidentally pushed by yours truly.

commit 3b1f4b0c6c9407b08620a5756ce422df10f6bd1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 27 17:37:18 2017 +0200

    Cosmetics: if, while and switch are followed by a space
    
    The missing space style-error has been recently coming common enough
    somebody might think that IS the expected style, its not. Some of these
    are actually very old, but fix across the board for consistency..
    
    Strictly white-space only change.

commit 75107a04f0d2926a5fe5140ac1fb2847c79c7c2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 27 11:11:06 2017 +0200

    Refactor rpmio flag logic into a helper function
    
    Just to further clean up writeRPM(), no functional changes here.

commit 215334581679170f2de3bcd49504dff47463db7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 27 11:02:51 2017 +0200

    Clean up writeRPM() a bit
    
    Assume failure and only update the rc just before exit to remove
    a whole pile of unnecessary assignments. Also remove the totally
    unhelpful "bad csa data" error message , let it fail in cpio_doio()
    instead with a nicer message.

commit 3d246ba5a0a78c74da2cd75540020fe4eff8c86b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 27 08:45:27 2017 +0200

    Axe unimplemented VSFlags cruft
    
    There's never been an MD5 on the header, and never will for obvious
    reasons. Also there's never been an SHA1 on the header+payload, and
    never will either.
    
    Remove unused junk, freeing a couple of bits along the way. Also
    drop incorrect "unimplemented" comment from RPMVSF_NORSAHEADER,
    RSA header signatures have been supported for .. ever by now.
    
    No functionality affected by any of this.

commit 5f9fcbbfc476e23595cec80f817e5938ef8a5be8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 27 08:39:15 2017 +0200

    Use the new ID-based digest API for build-time digest generation
    
    No functional changes, but using the rpmtag names makes it clearer
    what these things will be used for.

commit 0faff2d4053bd9b14839fa0903bbfbde94e7bdf0
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Feb 24 09:12:51 2017 +0100

    Allow to use spaces in "_sourcedir" path #125
    
    The patch enables to use formats:
    
    %define  _sourcedir  /my\ directory/my\ subdirectory
    %define  _sourcedir  /my directory/my subdirectory
    
    Formats, with directories in double-quotes or quotes:
    %define  _sourcedir  "directory"
    %define  _sourcedir  'directory'
    are not accepted.
    
    Comment to Panu and Florian:
    
    I did not add formats with double-quotes or quotes because
    - the implemented format was the most strightforward possibility
    - in rpm spec files double-quotes or quotes are not usually supperted too
    
    The second allowed format is only a side effect of the implementation,
    it was not my purpose.

commit e6f346ead484dd37ff28498b2e6cdfd706bf0b4c
Author: Peter Jones <pjones@redhat.com>
Date:   Fri Feb 17 12:12:37 2017 -0500

    Don't nerf "rpmspec --eval '%trace' -P foo.spec" output with ellipses.
    
    The whole point of %trace is that some macro is being evaluated in a
    surprising way, and you want to know what it is.  This is often the
    result of an unfortunately complex macro with difficult to see
    intermediate results.
    
    Shortening the output because it doesn't fit past 61 or so characters
    does not help, and we have big screens these days.  Don't do it.
    
    Signed-off-by: Peter Jones <pjones@redhat.com>

commit 17d5ae8ed3b79e0b4fc47019c775556d33ff792e
Author: Peter Jones <pjones@redhat.com>
Date:   Fri Feb 17 12:35:23 2017 -0500

    Add --trace macros to enable %trace on the command line.
    
    This allows you to do 'rpmspec --trace -P foo.spec", which is much more
    natural than editing the .spec itself to add %trace, and much more
    convenient than using --eval yourself.
    
    Signed-off-by: Peter Jones <pjones@redhat.com>

commit bf248badd38b11951255aad30c43d3f492326516
Author: Peter Jones <pjones@redhat.com>
Date:   Mon Feb 20 11:08:23 2017 -0500

    Bounds check strings to print correctly in %trace mode.
    
    In %trace mode, evaluating a macro which is undefined causes an invalid
    read of 1 byte when searching for the end of the string:
    
    trillian:~$ valgrind rpmspec --eval '%trace' --eval '%{?myUndefinedMacro}'
    ==21534== Memcheck, a memory error detector
    ==21534== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
    ==21534== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
    ==21534== Command: rpmspec --trace --eval %{?myUndefinedMacro}
    ==21534==
    
      1>   %{?myUndefinedMacro}^==21534== Invalid read of size 1
    ==21534==    at 0x55018D4: printMacro (macro.c:296)
    ==21534==    by 0x5502DFC: expandMacro (macro.c:1077)
    ==21534==    by 0x5503710: doExpandMacros (macro.c:1280)
    ==21534==    by 0x5504AB6: rpmExpand (macro.c:1629)
    ==21534==    by 0x508F59A: rpmcliAllArgCallback (poptALL.c:120)
    ==21534==    by 0x6DAF71D: invokeCallbacksOPTION (popt.c:156)
    ==21534==    by 0x6DAF75B: invokeCallbacksOPTION (popt.c:139)
    ==21534==    by 0x6DB1428: poptGetNextOpt (popt.c:1515)
    ==21534==    by 0x508F912: rpmcliInit (poptALL.c:302)
    ==21534==    by 0x1095B2: main (rpmspec.c:63)
    ==21534==  Address 0x8a010f3 is 0 bytes after a block of size 19 alloc'd
    ==21534==    at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
    ==21534==    by 0x5507C17: rmalloc (rpmmalloc.c:44)
    ==21534==    by 0x5502788: expandMacro (macro.c:927)
    ==21534==    by 0x5503710: doExpandMacros (macro.c:1280)
    ==21534==    by 0x5504AB6: rpmExpand (macro.c:1629)
    ==21534==    by 0x508F59A: rpmcliAllArgCallback (poptALL.c:120)
    ==21534==    by 0x6DAF71D: invokeCallbacksOPTION (popt.c:156)
    ==21534==    by 0x6DAF75B: invokeCallbacksOPTION (popt.c:139)
    ==21534==    by 0x6DB1428: poptGetNextOpt (popt.c:1515)
    ==21534==    by 0x508F912: rpmcliInit (poptALL.c:302)
    ==21534==    by 0x1095B2: main (rpmspec.c:63)
    ==21534==
    
      1>   %{?_transaction_color}^
      1>   %{?_prefer_color}^
      1>   %{_netsharedpath}^
      1>   %{_install_langs}^
    ==21534==
    ==21534== HEAP SUMMARY:
    ==21534==     in use at exit: 7,183 bytes in 71 blocks
    ==21534==   total heap usage: 7,811 allocs, 7,740 frees, 3,500,361 bytes allocated
    ==21534==
    ==21534== LEAK SUMMARY:
    ==21534==    definitely lost: 19 bytes in 1 blocks
    ==21534==    indirectly lost: 0 bytes in 0 blocks
    ==21534==      possibly lost: 0 bytes in 0 blocks
    ==21534==    still reachable: 7,164 bytes in 70 blocks
    ==21534==         suppressed: 0 bytes in 0 blocks
    ==21534== Rerun with --leak-check=full to see details of leaked memory
    ==21534==
    ==21534== For counts of detected and suppressed errors, rerun with: -v
    ==21534== ERROR SUMMARY: 5 errors from 1 contexts (suppressed: 0 from 0)
    trillian:~$
    
    This can easily be avoided by checking the first byte as well as the
    second for our sentinal value (NUL).
    
    Signed-off-by: Peter Jones <pjones@redhat.com>

commit 34b61a1f82f6f9b675ab4ca820b6255af63680f1
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Feb 21 11:48:27 2017 +0100

    Fix number of references on spec_Type (#114)
    
    After creating a specPkg from a spec file we must increase spec file
    reference counter. Otherwise spec file may be accidentally deallocated
    and usage of SpecPkg can cause an error.

commit dffb3bc39adbfd398fbde82a152cd675a6e91e87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 11:09:55 2017 +0200

    And finally, just use the FD digest API without messing with bundles

commit de32ea0c289516bc30d18919dad09c33b1e24194
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 11:04:33 2017 +0200

    Eliminate the second digest bundle from signature verification
    
    We don't need two sets, instead do two rounds of signature checking:
    once after just the header has been read, and once after the payload
    has been read too.
    
    The fooKeys strings freeing needs to be moved to the end as we can
    now jump past it otherwise.

commit 7c1d4c5772367863f0caec456b66159401c13af0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 10:52:02 2017 +0200

    Refactor header read out of payload read helper

commit bf03be0938d7a240b4d1dca887925db85ab1b9ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 10:46:07 2017 +0200

    Simplify the error code logic in signature verification
    
    We really dont need three different variables to determine whether
    the operation was success or not. Assume failure all along and
    only assign success at the very end.

commit 7356504e0ddd244d3bc17becfa9038097a0e24bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 10:43:32 2017 +0200

    Refactor digest + signature verification loop to helper function

commit b24258fdf8c0aa7140ff4dbe996058b7a1c7068c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 23 10:33:44 2017 +0200

    Refactor digest initialization to helper function

commit 2b456b22f19dd12ca00fc2395147a35a2c73f4a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 12:38:27 2017 +0200

    Refer to digests by their rpm tags instead of algorithms

commit 43fecc67a4df27e470745e1bbb1d31fe1ad11354
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 12:36:17 2017 +0200

    Add an internal API to dup in-flight digest context from FD

commit 6c7b85e31751b44588287ca5f47877b10e47548c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 12:24:18 2017 +0200

    Make signature range clearer and more flexible
    
    Rename the siginfo payload field to range, which better explains
    what it means. Also make it a bitfield which allows expressing
    the actual combinations: modern signature/digest items are on
    header only, rpm v3 ones are on header+payload and in the future
    we might have payload-only digest(s) as well.
    
    No functional changes intended.

commit b74096a751293ed770b3cfb0a8793117fc45e7f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 08:28:05 2017 +0200

    Make the stftime() buffer big enuff (RhBug:1425231)
    
    Apparently 50 bytes is not enough for everybodys dates:
    
        LC_TIME=ko_KR.utf8 rpm -q --queryformat '%{installtime:date}\n' rpm
    
    Lets hope nobody on this planet needs to deal with dates that read like
    a short story. Aliens we dont consider, sorry.

commit 9721b59a2066da7c43850d529def2aabbbeebd20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 22 08:21:21 2017 +0200

    Handle buffer-too-small error from strftime()
    
    Pass emsg around from the callers, actually emit an error if output
    doesn't fit our buffer, allowing us to get rid of the old TODO note.
    
    strftime() returning zero is not, generally speaking, always an error
    because a format might be empty or the result could be empty, such
    as %p/%P in many locales. However in our case the formats are known
    to be non-empty.

commit ef0596d0c0a96cf54349359bf642567c87ea768d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 15:37:27 2017 +0200

    Oops, id and algo reversed in fdInitDigestID() prototype  :(

commit 904fb9310d405a2dd3d92a8fe19c860a2f6b72b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 15:05:22 2017 +0200

    Adjust the internal FD digest API to accept IDs too

commit 6046386afd446084ed10eb57ca390920ef232efa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 14:30:39 2017 +0200

    Use arbitrary ids instead of algorithm number to identify digests in bundles
    
    Change the way individual digests within bundles are stored and accessed:
    Previously the digest algo number was used directly as the index into
    the bundle. Which works, but limits you to a single digest per algo,
    and the array is likely to be rather sparse. To address both issues, use
    an arbitrary integer ID to address the digests and always add new
    digests in the first available slot. And yes the implementation is
    a bit simplistic and taking some shortcuts, but so was the previous one.
    
    Abstracting out the actual algorithm allows using eg rpm tag values
    as the identifier, and also makes it possible to do multiple digests
    of the same type on overlapping ranges. This is entirely backwards
    compatible however if you simply use algorithm number also as the id,
    so callers *need* to be updated.

commit 316573c07e9fcb0f462950c1ace0b71fbb9f2ccb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 12:21:55 2017 +0200

    Fix ancient (and in practise, unseen) typo on "not trusted" message

commit f31bae39a6cabbf50b9d63e6019c62bbbb2ec336
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 11:14:08 2017 +0200

    Assimilate rpmpkgReadHeader() back into rpmReadHeader()
    
    There are no other callers of rpmpkgReadHeader() left so this
    separation makes no sense.

commit 46ed65aca66a04332b45f1c87dfc896bacaab108
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 09:22:27 2017 +0200

    Signature check before header import on package reads
    
    Until now we have been reading and importing the headers, and then
    pull out the original immutable image from the header in order to
    do signature checking on unknown packages. Those header manipulations
    are relatively complex and thus vulnerable operatations that are,
    to add to the insult, totally unnecessary as the header on disk is
    just the way we want it for signature checking as it is.
    
    This changes the package reading process rather fundamentally: we first
    read (and sanity-check) the header blobs, then do signature checking on
    the still un-imported blob, and only then try to import the headers
    (which could still fail, at least in theory). This reduces the amount of
    code exposed to unverified headers considerably: the deep header internals
    are avoided entirely, and there's one less signature checking code-path
    to worry about as it's now unified with the one used by headerCheck().
    
    There's a subtle change in the "preferred" signature type: rpmpkgRead()
    used to prefer DSA over RSA, headerSigVerify() prefers RSA. However
    that's rather academic as both signature types never co-exist in
    the same package.
    
    For normal use, all this shouldn't change anything at all.

commit 1cec6e078e538119d083151d40d3a3bc0cc1c3cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 09:03:10 2017 +0200

    Note memory ownership transfer in hdrblobImport() to avoid double-frees
    
    After a successful import, the header owns the memory originally alloced
    for the hdrblob. Set the blob allocation to NULL on successful import
    so callers dont need to guess about freeing it in case of other failures.

commit 9e23df916dff6b6fd0848220a7de3f37658634a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 08:37:56 2017 +0200

    Refactor the package retrofit logic out to a helper function

commit 7b870ad01dce218034671d3a02b83bb92875daa8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 20 16:42:50 2017 +0200

    Support returning keyid from headerSigVerify()

commit a148aefe96b1a5be848bd23567fd13e86dcc7a4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 20 16:09:16 2017 +0200

    Support checking signatures from another header blob in headerSigVerify()

commit 860e304925fbb32d15d279a9d3903606e4fbcd83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 20 13:40:20 2017 +0200

    Refactor to simplify and streamline return code handling in rpmpkgRead()
    
    Assume failure, only assign other values for final decisions.
    No intended functional changes.

commit 8d84878ee05b2e63858af3a5a49d98e9e2933b1b
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Sun Mar 13 10:20:47 2016 +0100

    Allow SOURCE_DATE_EPOCH to override file timestamps
    
    Limit the maximum date to SOURCE_DATE_EPOCH or use origtime if not defined
    similar to the tar --clamp-mtime option
    
    based on a patch by Nicolas Vigier <boklm at torproject.org>

commit 64028f9a1c25ada8ffc7a48775f526600edcbf85
Author: Stephen Gallagher <sgallagh@redhat.com>
Date:   Mon Jan 16 09:19:43 2017 -0500

    Add OpenSSL support for digest and signatures
    
    Autotools: add --with-crypto=openssl
    This enables RPM to locate the appropriate flags for compiling
    against OpenSSL for digest and hash functions.
    
    This implementation changes the old behavior of
    --with[out]-beecrypt toggling between beecrypt and nss. It will
    now throw an error if attempting to use --with-beecrypt
    indicating that the user should instead use --with-crypto=
    
    See also:
    https://github.com/rpm-software-management/rpm/issues/119

commit 932385ab90972a4e9718f947b5a95c0d6bd9a6bb
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Tue Feb 14 14:06:38 2017 +0100

    Fix unclear %dev error message
    
    Mistakes in %dev as "%dev(c,b,0) /dev/lirc"
    will give unclear errors like:
    
         Missing devmajor in %dev b
    
    Make a copy of the all the arguments in brackets to make the error clear:
    
        Missing devmajor in %dev(c,b,0)

commit 102eab50b3d0d6546dfe082eac0ade21e6b3dbf1
Author: Tomas Orsava <torsava@redhat.com>
Date:   Tue Feb 14 10:55:08 2017 +0100

    Fix pythondistdeps.py --provides for Python wheels
    
    As Python wheels do not contain targetted Python version in the directory/file
    name of their metadata like Python eggs do, and since the Python version is not
    contained in the metadata either, it is necessary to get it from elsewhere.
    
    Here it is parsed from the path the metadata resides at
    (e.g. /usr/lib/pythonX.Y/site-packages/...)

commit a8e51b3bb05c6acb1d9b2e3d34f859ddda1677be
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 14 14:04:35 2017 +0100

    brp-python-bytecompile: Process python lib dirs even without standard Python
    
    There is no need for /usr/bin/python when byte compiling files in
    /usr/lib/pythonX.Y (only /usr/bin/pythonX.Y). Moved check so we do not exit
    prematurely.
    
    Fixes: rhbz#1411588

commit e1252472c1b56edcb79b0001fa9a42282c8fcdc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 14 14:09:55 2017 +0200

    Validate boundaries for pgpGrab() when reading V4 signatures (#151)
    
    In V4 signature packets there are multiple data sections, whose length
    is stored as two bytes before the data. We've been checking the data
    boundaries, but a truncated/malformed packet might be missing the
    length data too. Add + use a little helper function to check the
    length is actually there.

commit f71874dc0ec89a0546dbebadd5a114346460df14
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Fri Feb 10 12:08:10 2017 +0100

    Fix test 226
    
    "--noreplace" was omited and results were set according to the wrong
    test (+ spelling).

commit b4df891bb57b322d0949a384d76457c3bc796329
Author: Pavlina Moravcova Varekova <pmoravco@redhat.com>
Date:   Mon Feb 13 12:39:20 2017 +0100

    Fix confusing %defattr/%attr error messages
    
    Mistakes in %defattr/%attr such as "%defattr(123, root, root, x750)"
    will give a confusing and misleading errors like:
    
         error: Bad dirmode spec: %defattr(123)
    
    Make a copy of the all the arguments to make the error sensible:
    
         Bad dirmode spec: %defattr(644, root, root, x755 )

commit b04dcc306e4696fa36a3bc592533cfd44212c798
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 9 11:30:35 2017 +0200

    And another out of bounds read in PGP parser
    
    pgpPrtSubType() assumes there is at least one byte of packet body
    for it to process, check the lower boundary too. The check for
    pgpLen() zero return is slightly confusing and perhaps the reason
    why this has been overlooked: zero return from pgpLen() is an error
    alright, but in order to store the perfectly legal packet body length
    you need one byte nevertheless, so pgpLen() returns 1 for zero-length
    body.

commit c4b35c45ac568d71fac8ea53fa31f03f1768e4c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 12:31:44 2017 +0200

    Clean up doScript() a bit by assuming failure, no functional changes

commit 007a405b98be6d2ac7ebf7bc0e68abac23fccdc2
Author: Davide Cavalca <dcavalca@fb.com>
Date:   Thu Feb 2 21:20:05 2017 +0100

    selinux: use string_to_security_class() instead of class ID
    
    SELinux recommends to use string_to_security_class() instead of referencing
    class IDs directly. This also fixes a build issue for systems that don't
    include flask.h by default.
    
    References:
    https://selinuxproject.org/page/NB_Imp_SELinux-aware_Apps#Implementing_SELinux-aware_Applications_2
    https://github.com/SELinuxProject/selinux/commit/76913d8adb61b5afe28fd3b4ce91feab29e284dd

commit d63ec5b1a1458802de7e903a56c1e9afd3a20338
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 10:01:07 2017 +0200

    Fix a rather obvious typo in ndb is_correct_db()
    
    The idea quite clearly is to compare the two different stat results,
    not an inode number with itself.

commit 0821d69b0c999450c443fbd4f47bc84146437816
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 09:51:09 2017 +0200

    Handle OpenPGP reserved tag correctly
    
    RFC-4880 states tag value 0 is reserved and that packet tag
    MUST NOT have this value, so we should error out and not just chug on.

commit 4ab3e0c5d1538cd35e106c4ecae3497048ad9763
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 08:38:03 2017 +0200

    Fix out of bounds read(s) when determining PGP packet version (#149)
    
    Add a helper function for checking boundaries (can I have just one
    teeny weeny bite - erm - byte, please?) and returning the version,
    use systematically where it matters.
    
    It *might* be okay to do this at start of pgpPrtPkt() once and for all,
    but then AFAICT OpenPGP does not forbid zero length body in general,
    plus there are multiple callers for getFingerprint() so might as well
    check individually in the callers that actually care.

commit 657553ffabd29f63d5c8b42a8284fa524d21be19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 7 12:08:54 2017 +0200

    Fix out of bounds copy on malformed PGP packet (#148)
    
    Validate the packet is of correct size for the keyid type before
    copying. Ditto for similar code in signature creation time.

commit e8438555279b9a4e406ffd0edfc224de1c2862a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 6 13:07:00 2017 +0200

    Make peach with doxygen >= 1.8.8 (#131)
    
    Doxygen >= 1.8.8 skips files with unknown (or missing) extension,
    whereas previously they were assumed C-like. Rename the Doxyheader
    files to Doxyheader.h to keep the C-association, adjust makefiles.
    
    Thanks to Pavlina Varekova for chasing this down!

commit 3a07ba3ba6f2c7d594730beefe8235b7eba4af52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 11:22:06 2017 +0200

    Sanity check header tag values. Like, doh.
    
    There's a check for total number of tags, and their types and all
    but absolutely no check for the actual tag numbers. So we end up
    accepting negative tags which should not exist. The tag type should
    really be uint32_t but that's another can of worms, lets have something
    easily backportable for now.
    
    This is enough to fix issues #133, #135, #136, #138 and #139 on the
    level of detecting header structural inconsistency.

commit 90afaf511136262f2f1f3d8ea7f71ce38e35f5d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 11:01:46 2017 +0200

    Fix minor memleak in signature checking
    
    In case of disablers we continue to the next item without
    freeing possible error message from rpmSigInfoParse(), handle
    this similarly to the other signature parameters.

commit e0eab77cd6600577fdc1335234ea8517154d12fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 10:52:04 2017 +0200

    Fix thinko vrt unknown and other signature types in rpmpkgVerifySigs()
    
    "Other" signature types are sizes and the like whose values we don't
    care about in here, but whose types we validate and want to be sane.
    So take errors from rpmSigInfoParse() into account, but skip
    rpmVerifySignature() because it doesn't make sense for the "other" types.
    
    On the other hand, unknown types we should just skip, this is necessary
    to avoid unnecessarily breaking forward-compatibility.

commit db1a33c8d36868478f1e2d32261ab99c9b55756f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 09:11:54 2017 +0200

    Prevent double-free on hdrblobRead() failure (#147)
    
    Introduced in recent header read/init/parse refactoring: when
    hdrblobInit() fails via hdrblobRead(), the allocated memory is freed
    but hdrblobInit() would already have assigned it to blob->ei.
    Normally this is not an issue but rpmpkgVerifySigs() codepath differs
    from the other paths in that it does not end in importing the header,
    so it needs to free blob->ei by itself. Which doesn't go so well
    if hdrblobRead() already freed the memory pointed to by blob->ei.
    Ensure it's set to NULL on failure to prevent this kind of accidents.

commit 0e87aed1785d0531c40b23889f8338744f6abb3a
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Fri Jan 27 13:01:57 2017 +0100

    set SOURCE_DATE_EPOCH from changelog
    
    if requested by macro
    to allow for more reproducible builds of packages.
    
    See https://reproducible-builds.org/ for why this is good
    and https://reproducible-builds.org/specs/source-date-epoch/
    for the definition of this variable.

commit c004d7647e2c16d6672d8f902d2cab00d89b9778
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 1 11:01:07 2017 +0100

    Add example for multi threaded compression xz settings

commit 034f1cc4fdbee5883f95d2641b45c0abe770392f
Author: Peter Jones <pjones@redhat.com>
Date:   Thu Jan 5 16:47:25 2017 -0500

    rpm2cpio and rpm2archive: don't write archive data to a terminal.
    
    rpm2cpio and rpm2archive happily write binary data to the output
    terminal.  This happens, for example, when I'm typing a command such as
    "rpm2cpio foo.rpm | less" and I make a typo, hitting <Return> instead of
    the pipe key.  This often results in hilarious (if bewildering) font and
    character encoding changes.  On some systems, this can even result in
    installation of relatively arbitrary rpms!
    
    Nobody has ever meant to do this, and it's easy to prevent, so that's
    what this patch does.

commit 2f587f832a1cdb6f4e67f1bd999b344a0693226e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 23 16:18:21 2017 +0200

    Implement --noconfig query/verify filter option (RhBug:1373022)

commit 1767bc4fd82bfacee622e698f9f0ae42c02126fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 20 14:55:59 2017 +0200

    Preserve macro scoping level on re-entry from Lua
    
    When a %{lua:...} macro calls rpm.expand(), it re-enters the macro
    environment at depth zero regardless of what the "calling" nesting
    level was. This could lead to wrong macros getting mopped out on
    complex, nested lua + native macro calls.
    
    Store the depth in global macro context and pick up the initial value
    from there to keep the nesting level increasing on when entering %{lua:...}
    space.

commit f95825ef1b9f1b5765d5fe88ac0bad786478d00e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 16:02:00 2017 +0200

    Add return code to rpmPushMacro() and rpmPopMacro()
    
    These haven't been in any public release yet so there's time to
    fiddle with stuff like this. Both always succeed currently so no
    change in that respect but it's better to have room for expansion...

commit 6988799d0fc8763dbe76d2dd9a7d9365b780eb9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 15:31:03 2017 +0200

    Add rpm.undefine() function to Lua interface
    
    Funny that this should be missing after all these years. It can
    be worked around by rpm.expand("%undefine foo") but that is really
    klunky...

commit dae2ec1f476fc6efcff74bdac97b321467e7cdb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 15:26:52 2017 +0200

    Raise Lua errors on rpm.define() and rpm.expand() errors

commit 80095bcd55232739470bc4e52c3b36d171d6019f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:57:12 2017 +0200

    Raise python exception on macro expand errors
    
    Use the more expressive rpmExpandMacros() for python's macro
    expansion so we can actually do errors via exceptions.

commit 4d80761ac72f60237c5b1b51fe140d7926c42215
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:49:14 2017 +0200

    Fix an apparent copy-paste error in find-lang MATE support

commit 31bc44c5a9b9fa30c65c328f60a93bcac7e060e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:24:26 2017 +0200

    Actually return errors from macro definition

commit bd942d5feee4a67c3cc7187d3f46230937c1acfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:18:29 2017 +0200

    Raise actual error on unknown option to parametric macro

commit 02dea59e3a2171442973e844b07412158c86bc1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:15:38 2017 +0200

    Flag real errors from macro define and undefine errors
    
    This WILL cause behavior changes in cases where there have been
    illegal macro names etc which have previously been more or less
    ignored with an logged error, but now they will actually abort.

commit 8f86427d8a5efa220ef0781d5f2531e431ee86f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 14:13:15 2017 +0200

    Pass macro buf, not context, to doUndefine()
    
    No functional changes, just for symmetry with doDefine()

commit 7d1ceefe9ec5055b48ed61e54455f94669d9ba5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 13:52:30 2017 +0200

    Store errors during macro expansion centrally
    
    With direct rc assignments there's a risk that a previously
    flagged error is overwritten by a success, only flagging errors
    specifically avoids that. It also makes things simpler in some ways.
    
    This probably changes *some* behavior wrt errors, in that errors
    might actually get counted as such.

commit b298e93686de989b9e1375ec232f683f6d59c75e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 13:41:42 2017 +0200

    Arrange single point of exit in expandMacro()

commit 1b4744e1c6ea09fcb4507e461a65f5bb7a9f2fef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 12:09:10 2017 +0200

    Refactor %{lua:...} macro execution to a helper function
    
    expandMacro() is big enough without this kind of easily separable
    material...

commit e3e99e929ad20a260dce058b139cf97ba13e60ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 11:26:52 2017 +0200

    Reindent expandMacro() to common rpm style
    
    This huge and scary looking diff is strictly whitespace-only change.

commit 34c4609df37c2462dcd884e7952259b66ebd3098
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 18 15:49:04 2017 +0200

    Add a "gendiff" backend for %autosetup
    
    This is just plain patch, but generates backups suffixed by patch
    ordinal (NOT patch number) for the benefit of gendiff. Hence the name.
    
    Thanks to Per Øyvind Karlsen and Neal Gompa for inspiration, input
    and patch suggestions in PR#109 and PR#110.

commit 1d7b45e484883f3a340f40610b060cc100f62caa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 18 15:42:48 2017 +0200

    Pass patch path and ordinal as 1st and 2nd arguments to %autopatch backends
    
    The quilt backend has been using %1 but that only worked due to flaws
    in the macro engine: automatic macros are not cleared for
    inner callers, they can only be overridden. This makes the the
    scm backend %1 argument real to begin with, and adds another one:
    the patch ordinal might be useful for some purposes.
    
    It's tempting to use %1 and %2 from %apply_patch - we're only passing
    them along unchanged, right? Well, it's just that rpm does not expand
    arguments of parametric functions, so those %1 and %2 would refer
    to themselves within the called macro. Gotta love it...

commit 1949aaa0bb14c4a041640a347f47c09d8c21a9ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 11:04:06 2017 +0200

    Remove the now unnecessary archive size estimation
    
    Commit e51644e0ee2d33c02c06560f87ea6aecb9991673 eliminates the need
    to estimate the size.

commit e51644e0ee2d33c02c06560f87ea6aecb9991673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:48:43 2017 +0200

    Make the signature header size constant between 32- and 64-bit tags
    
    Since commit 68bddc353a7ea87ea00ad957858cd509e845e84c we're initially
    creating the signature header with estimated values, and if you're
    unlucky enough to have the estimated and actual size on the different
    sides of UINT32_MAX boundary, the resulting package will have the main
    header off by eight bytes, making it unreadable by rpm (RhBug:1405570)
    
    Always reserve a little bit of space in the signature header so we
    we can maintain the overall size constant regardless of whether 32- or
    64-bit tags were used by using a smaller "padding" with 64bit tags.

commit d1c988b2a85e9d5f71e58ffabc45a4090abd666b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 11:34:13 2017 +0200

    Unbreak headerCopyLoad() (manifesting as segfault on signing)
    
    Commit 6d2124ae90187878f4f8eb081db22c8c1b34d817 broke headerCopyLoad()
    which doesn't supply the size ... because it doesn't know it. Handle
    zero bsize in headerImport() by parsing the supplied blob early and then
    do it again on the copied data. This also depends on commit
    7c6b9d057c291d051deff7ddc4865ca37cdc6d09.

commit 7c6b9d057c291d051deff7ddc4865ca37cdc6d09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 11:26:21 2017 +0200

    Eliminate redundant "uc" field from hdr blob struct
    
    The ondisk-size is already there in pvlen so this is completely
    redundant. The uc argument is only used for verifying whether
    caller expectation of the size matches, and that is made again
    optional here as well.

commit 1ce844ab263bf49ee6d5145ed09e73f2c17924cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 12:13:54 2017 +0200

    Only process regular files when generating build-ids
    
    Versioned shared libraries typically have several symlinks pointing
    to them directly and indirectly. When %_build_id_links is set to compat or
    separate this causes bogus warnings about duplicate build-ids.
    
    It looks commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 intends to skip
    symlinks since it filters on S_ISREG(), but since uses fstat()
    on already open()'ed file it ends up stat()'ing the symlink target.
    Flip stat() + open() around and use lstat() instead to fix it.

commit 40ef88d94524792d8c8fd94e76e057601e1d00c1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Jan 2 01:09:13 2017 +0200

    find-lang.sh: Add --with-kde KF5 support

commit 669fc07da56d54d8ad5102394131e29cbafacf7f
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Tue Dec 20 00:36:17 2016 +0100

    rpmsign: eliminate unused leftover variable
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 53eaf59ab6857b699340d6f949db0ef497936b12
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Dec 9 11:36:19 2016 +0100

    Link testing/usr/bin to testing/bin.
    
    Some tests running under fakechroot started failing because scripts tried
    to execute /usr/bin/rm but inside the testing chroot /usr/bin and /bin
    aren't linked. Just symlink testing/usr/bin to testing/bin to simulate
    a unified /usr setup.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit ff43d03d1f9686c9ffa9232a64e253783309feb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 16 09:51:12 2016 +0200

    Static signal-related variables need to be thread local

commit bbdf8193924cbd78cc076b87029ab5b158984e74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 15:15:33 2016 +0200

    Literally blocking *all* signals is a bit too much
    
    Programming errors like SIGSEGV and SIGBUS need to get through no
    matter what and blocking them is undefined behavior anyway.
    The odd man out in this list is SIGTSTP which is just otherwise useful
    and not harmful since the process can be continued afterwards.

commit 120229d73ae95dc7d63dc5e206e39cd52603112c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 15:01:05 2016 +0200

    Replace sigprocmask() uses with pthread_sigmask()
    
    We're not exactly thread-safe anywhere but lets at least use the variant
    whose behavior is not decidedly undefined in a threaded environment.

commit c5f82d3f6223ebd0c5cc0a07ea60393ae7284929
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 14:21:48 2016 +0200

    Block signals during RPMTXN_WRITE transactions
    
    This includes (but not limited to) rpmtsRun() during which the accidental
    ctrl-c no longer aborts the whole dang thing. This could've of course
    been done without all the other recent signal infra too, but now that it's
    all neatly (yeah, right...) wrapped inside rpmsq instead of being littered
    all over town its nicer to do.

commit 12ea4ed2bd71ae53a49ac861498f33afaa498e65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 14:04:49 2016 +0200

    Call rpmsqBlock() directly from rpmdb code to remove unused cruft
    
    This could've been done in commit 45d63715039d19fc2bd4be14229d37561fe0bd16
    already of course but should there be regressions (my oh my!) this makes
    it easier to bisect.

commit 20f54a28cab83846e10251176d394d8d060adf29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 14:02:56 2016 +0200

    Add an shortcut API for blocking/unblocking signals
    
    For rpm's purposes blocking all signals and restoring to previous
    status is the only necessary operation, make this part of the
    official API to make it available everywhere and replace rpmdb
    internal signal handling code with it.
    
    Noteworthy points:
    - The block/unblock operation is reference counted so these can be
      nested to arbitrary level without messing up things, much like
      the internal chroot API.
    - The rpmdb code used to remove rpmsq signals from the blocked mask, but
      blocked should really mean blocked, really. The pending signals will be
      delivered when unblocked and there's no need for us to mess with it.
    - Unlike the rpmdb variant, we now Run rpmsqPoll() *after* unblocking
      the signals. This actually matters now because rpmsqPoll() honors blocked
      signals since commit 07620f4ae7b626e6e02d743b1e933cf909ad0eb2.

commit 4edaafc26fc4338ad25e993ef381aae3252dd7db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 12:40:31 2016 +0200

    Remember the first signal to arrive, not last
    
    This is more in line with how "normal" signals behave - if a signal
    of the same type is already pending then the subsequent signals of
    that type are dropped.

commit 07620f4ae7b626e6e02d743b1e933cf909ad0eb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 12:16:41 2016 +0200

    Honor blocked signals during rpmsqPoll() too
    
    Queued signals might get processed much much later than they arrive,
    and almost anything can happen in the meanwhile. Such as program
    blocking signals before entering a critical piece of code, which
    routinely calls rpmsqPoll() underneath since the code is not always
    critical. Such as rpmdb iterator init/free - sometimes they're
    called during harmless read-only query, at other times they're in
    middle of transaction...

commit b275b940619bd8add69f89dc2cb55920c3915a7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 10:49:09 2016 +0200

    Make signal queue on/off a global atomic state
    
    We always want the signal queue either enabled for the certain set
    of signals or completely disabled, make the API reflect that and
    make the switch "atomic", ie signal delivery is disabled while
    changing state.
    
    Perhaps more importantly, this allows changing signal handlers "offline",
    so an application can set its own signal handler for, say, SIGINT
    *in case* the signal queue is activated.

commit 3ecd11318e699d4e7a4a5adb33eafb4dc2dc7b53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 08:02:28 2016 +0200

    Rename static handler function to make (name)space available

commit ff6b9c56d31ef343d6499d9cdc82a1b3df1d95b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 07:51:25 2016 +0200

    Refactor finding a signal in the table to a helper function

commit 19d7597f424b9c8e9bfd8685dae431a59b7c6f55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 19:03:49 2016 +0200

    Return the return code of rpmsqPoll() to python too

commit b728665bc88b917e4476f59c5be7701136cb9ba0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 18:57:58 2016 +0200

    Replace rpmdbCheckSignals() with rpmsqPoll() everywhere, eliminate from API
    
    rpmdbCheckSignals() is a public function and it'd be trivial to keep
    it but there are no known callers and its such a hysterical name that
    lets just get rid of it while we're breaking the ABI anyway...

commit ab676d630088eff17c8237ad8b6d07303d58a652
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 17:58:22 2016 +0200

    Lets do something silly with the newly gained signal info argument
    
    (sorry, found the temptation to say greetings to Lemmy overwhelming)

commit 524a29051ecc16782c444e2869053740327fcd14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 17:41:29 2016 +0200

    Support the info argument from rpmsqPoll() handlers
    
    Copy the info contents on signal arrival, pass on to handlers during
    poll round. There are some pointers in siginfo_t whose validity might
    be questionable at the time we get it, but then those pointers like
    address of segfault aren't exactly something to go poking at anyway.

commit 8c6c2a199dc1272b001913282aa2bee46ef58f26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 17:00:46 2016 +0200

    Make the signal queue actually customizable and useful
    
    The original rpmsq API is somehow backwards and upside down: it allows
    overriding the handler when enabling the queue, but if the queue is
    to be enabled for a signal, then the only possible handler for
    it is the action that stores the signal in the queue. If you wanted
    to have some other kind of behavior you wouldn't want to enable the
    queue for that signal to begin with!
    
    What applications need is the ability to override what happens at
    signal poll, not arrival time - arrival time is at odds with the
    whole queue notion. So introduce a poll function which runs the
    handlers for caught signals, clearing them on the way. Add to that
    the notion of default handler which is called if no custom handler
    is set. Now this can be trivially used to replace the signal foobar
    inside rpmdb and suddenly applications can replace the standard behavior
    with a simple
    
        void my_sigint_handler(....)
        {
            /* do foo */
        }
    
        rpmsqEnable(SIGINT, my_sigint_handler);
    
    ...and the custom hander will be called when a SIGINT has arrived
    and the next signal polling round from rpmdb internals or whever
    occurs.
    
    rpmsqAction() is removed from the API/ABI here, but it's not as if
    it ever was useful to anybody anyway.

commit f60131dae099fd58f7cacbdee112e22023c33867
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 15:30:43 2016 +0200

    Drop support for systems without SA_SIGINFO
    
    Life's too short to keep worrying about ancient junk forever.
    Even Hurd has this now, can you imagine? (Hurd was the reason
    this was special-cased back in 2008)

commit afbb9713ce5cd857ea2c4f7634836956a5cfb53d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 13:09:39 2016 +0200

    Simplify rpmsq activate signals tracking
    
    There's little better way of tracking set of signals than a sigset_t
    with its associated APIs. For one, this way we dont for example need to
    loop through the table to see if a signal is active or not.
    
    Note that This drops the "fancy" reference counting: calling rpmsqEnable()
    with different handlers would increase the refcount but not actually change
    the behavior, so the refcount means exactly what? The refcounting also
    hasn't been used by rpm at all/in a long time, because whether its
    active or not is tracked by the rpmdb code which is the only place
    really knowing if its needed or not.

commit 4639f4b2ba346b715d5aeb3d50a0c3a59a23c7ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 14 12:50:54 2016 +0200

    Use abs() when abs() is called for

commit ecc9c61e4bfb76460054c7e3f58a24b16a5052d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 12:01:54 2016 +0200

    Remove useless signal table defines

commit 8cc3342cff0ef5721cda720809066a9ee4cb17eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 11:19:03 2016 +0200

    Clean up rpmdb leftovers from an atexit() handler.
    
    There's a standard C mechanism for cleaning up cruft at exit and
    it's known as atexit handler. atexit() handlers do not get called
    when exiting due to signal, but we're trapping the signals and calling
    exit() voluntarily in that case so... for fsck's sake Sherlock.
    
    This removes rpmdbCheckTerminate() from the API, the semantics
    change incompatibly here and it makes even less sense after this.
    It's a good time for this change since we're removing all sorts of
    other goo out from the API as well.
    
    Also rip out the previous workarounds from python side, RIP.

commit 9b9e998c9afe33a5e2552ec03d33e13a22215394
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 09:00:20 2016 +0200

    Fix recent rpmdb handles cleanup-on signal regression
    
    Commit 4c6e51e2c0e3deeb052ae3c47115b6d10cb0d696 seems perfectly
    sensible but managed to break rpmdb handles cleanup on signals,
    ie the sole reason this mess of a code exists to begin with.
    
    The reason that change did not work for rpm is it expects the surroundings
    being sane when that's not the case: rpmdbCheckTerminate() removes
    the entries from the handle lists before calling the destructor
    functions, which would do the very same thing if you only let them. Not
    mucking with the lists from left and right simultaneously makes things
    work, what a shock.

commit 1200b98efd8f9d15417168cd4251151125e56944
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 13 08:48:53 2016 +0200

    Revert "rpmdb.c: (rpmdbCheckTerminate) return non-zero on subsequent runs"
    
    The change seems logical enough, but that doesn't work when the surrounding
    code is not. rpmdbCheckTerminate() is an idiotic API by yours truly
    which must return non-zero exactly once because that's the signal
    for the *caller* to call exit() (did I already say idiotic?)
    Anyway, if it repeatedly returns non-zero rpm will exit() more than
    once which at least glibc seems to take as "so lets exit already shall we?"
    
    This reverts commit e5d3b9f682383ee026b5a86a47eb5f288bdf8991.

commit 3d4db6f99f086711d2865a2a19639e417a97a21c
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Dec 9 09:31:58 2016 +0100

    Define AM_CFLAGS inside the Makefile.am files themselves.
    
    Trying to include AM_CFLAGS through a configure generated rpm.am file
    doesn't really work because at the time automake runs configure doesn't
    exist yet to process rpm.am.in. Just define the AM_CFLAGS substitution
    inside the Makefile.am files themselves.
    
    Rename rpm.am.in back to rpm.am.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 4e6583fe23b372829108ad0b4f8d9beaff5600bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 9 11:12:36 2016 +0200

    Refactor package component sizes debug printing out of rpmReadSignature()
    
    The big block in rpmReadSignature() was only used for RPMLOG_DEBUG
    level printing, obfuscating a rather important function needlessly.
    Move all the data retrieval into printSize() and eliminate the
    rather pointless return code based on fstat() success.

commit 245b5a3b4b6d616adf47361137987e90f8dab22c
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Dec 9 10:31:23 2016 +0200

    Eliminate unnecessary dependency on bfd.h from sepdebugcrcfix
    
    I think the reliance on bfd.h was a mistake. The code was lifted from
    bfd, but should be totally independent (it just calculates a CRC).
    Fix the type to be a normal size_t and include sys/stat.h (which was
    included through bfd.h) to get the definitions of stat and chmod.

commit e825e071bb9c7de171650ba1bce4823264904956
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 9 09:24:18 2016 +0200

    Simplify intGetTdEntry()
    
    Ultimately there are exactly two possibilities here and we certainly
    don't need a switch-case to handle it.
    
    Thanks to Thierry Vignaud for pointing this out.

commit fdb520cfec0bd90ea0ce6d3b4e1ad35b55aaebd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 9 09:20:10 2016 +0200

    Eliminate a mindless switch-case in rpmInstallLoadMacros()
    
    The switch-case is a leftover from times where different formats
    sort of needed special handling in here, but RPM_NULL_TYPE is just
    hysterical, headerGet() will never return such a data type. So
    the whole thing is just moot.
    
    Thanks to Thierry Vignaud for pointing this out.

commit e81aba9c686de0f4c5e8e867f6198a2f6f305d47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 8 12:59:24 2016 +0200

    Oops, python Makefile wasn't including rpm.am

commit bbb8f91817f9799926941654bd836417a2db77a5
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 8 13:22:40 2016 +0100

    Actually use supplements and enhances...

commit 8bec06c1f2a522f4a14cfb659d41d2fa7597f605
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 8 12:11:34 2016 +0100

    Remove unneccesary if clauses

commit decd7e619ee629b5bee0d2a597679cbf58457977
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 25 13:31:31 2016 +0100

    Order by weak and reverse dependencies also
    
    Add reversed param to add(Single)Relation() for Supplements and Enhances
    
    Also fix generation of reversed relations. As we generate all relations for
    one package (p) at once they are all the latest on the other packages. So we
    don't have to search through the list of relations there. But in the current
    package the relation might have been added before others.
    
    So we can check in package q if the relation is already there - using the
    proper list depending on the direction. So we can't reverse by just switching
    p and q before doing that.

commit 61992a4b65c8e96f608fcca18b35cee83d342702
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 2 16:51:58 2016 +0100

    Remove code leftover from collections

commit bd3eb213360df1843182b881659d9a3eeff309bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 8 12:51:23 2016 +0200

    Stop messing with CFLAGS from configure
    
    CFLAGS is a user variable that software is supposed to honor but not
    touch, that's what AM_CFLAGS and friends are for. rpm.am is
    included by all our makefiles so that's a handy place to set defaults
    centrally, do so by AC_SUBST'ing the rpm cflags into AM_CFLAGS there.

commit 0584101e15539dc022db27bba801e5d6e8d4679b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 8 10:07:09 2016 +0200

    Unbreak gcc options checking
    
    Commit c810a0aca3f1148d2072d44b91b8cc9caeb4cf19 changed the gcc flag
    test to include a call to alloca() which at least on GCC 6.2 just
    causes all the tests to fail with implicit declaration warnings
    which are errors since we test with -Werror. Include <alloca.h>
    to avoid the warnings and thus make the test functional again.

commit 5ccfb50ddc0038e00596df67d78dfac07642bf99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 2 10:01:03 2016 +0200

    Silence type-punning warnings from python bindings, it's a python feature

commit ead9cdd587bbf052722f0f8598e0983e565e3415
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 25 10:15:13 2016 +0100

    Fix calculation of array size when formating query results.
    
    In array output (square brackets in query format) all tags data sets need to
    have the same length. Single value tags may still be used. This patch fixes
    corner case where they are only single value items and ones where arrays with
    only one entries where treated as OK although they are not.

commit 16c1f1fb89fe7e0f000a85d99fc298c0e45f91a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 1 15:59:19 2016 +0200

    Export RPMSENSE_MISSINGOK to python

commit 979d52b8c9b061584047059d7ebb2b061a63ef1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 1 12:22:31 2016 +0200

    Eliminate another mindless use of switch-case for a do-something boolean

commit 9a8ebe523ee7f83d14e1a68837e6152be3415119
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 1 11:37:41 2016 +0200

    Fix missing @param in rpmfilesVerify() and rpmfiVerify() doxygen doco

commit c04ff511a0d4692743326c49a934f92e0e3cadee
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Tue Nov 22 09:21:08 2016 -0500

    configure.ac: Support detecting gpg2 for %__gpg and prefer gpg2
    
    For a number of years, various Linux distributions (notably Fedora and
    RHEL) have been overriding this to set it to use gnupg2, with no ill
    effects. Now that most distributions are switching to gnupg2 by default,
    we will, too.

commit bde88ada3a0fbd17f9b5db9fb5426eb0f1ff5efd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 11:40:25 2016 +0200

    Fix special %doc and %license %defattr() dir permissions (RhBug:1399798)
    
    Fixes regression from commit 877d5b130cbfdfd93ad39c1f0f1505790eba264e which
    broke directory permissions on special %doc and %license directories
    due to this cpe/thinko/typo:
        +    copyFileEntry(&sd->entries[0].defEntry, &fl->def);
        +    copyFileEntry(&sd->entries[0].defEntry, &fl->cur);
    
    However there's an added twist involved: the first special doc/license
    entry from which the current attrs are copied is a *file*, so if you
    have eg "%attr(444,-,-) %doc README.md" as the first special %doc,
    the directory ends up inaccessible because it inherits the file
    permissions. This is much much older behavior, probably about as old as
    rpm itself...
    
    Anyway, since we now *can*, the right thing to do seems to be just not
    copying the current attrs for the special doc/license *directory* at all.
    There's no associated %files line with the directory either, so it makes
    sense that only the defaults are applied..

commit 4c53e5755e3501df44029390f0b62d2a5a6a6cf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 09:17:53 2016 +0200

    Ensure rpmlead is fully initialized
    
    Fix sneaky regression from commit 83a8640b47177d665b2aef9afc7ed8bde36f5103,
    the lead used to be calloc()'ed so it was guaranteed all zeros, now its not.
    Bulldoze to zero with memset() instead.

commit 3b1012014da48bd4cb8819abd56bee8f410e97cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 29 13:47:35 2016 +0200

    Add a debug log on blocksize normalization
    
    Sooner or later one needs to find whether the result was using reported
    or faked up sizes, at least if we're not logging it. So keep the rain
    away and take the umbrella with you... Move mountpoint calculation
    earlier for a nicer message.

commit 3d4f54b003c2064542c08569b7e6f6c40616c711
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 29 13:41:17 2016 +0200

    Refactor mount point chase to a helper function

commit cefe4f6d30812e3dbed90afe3a83967aee1d3d8d
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Nov 29 13:11:02 2016 +0200

    Normalize dubiously large fs blocksizes to 4096
    
    Some filesystems like NFS and ZFS report block sizes that have
    nothing to do with the original concept of a block size, and mess up
    rpms calculations big time. Normalize to these to 4k for a result
    that is closer to reality. SuseBug:894610, SuseBug:829717,
    SuseBug:965322, RhBug:847960, RhBug:1397569...

commit 6743ffb312461bd5a1021beef52534e63582d5cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 13:10:51 2016 +0200

    Clarify comments on header legacy regions

commit 9d8e06a74154b2283c5374fad25ae41aa7879cb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 12:34:35 2016 +0200

    Permit headers with legacy region in headerCheck() and friends
    
    V3 packages don't have any regions straight off the wraps, but when
    exporting those headers (such as into rpmdb on installation), we create
    a "legacy region" which looks a whole lot like an immutable region
    of V4 packages. This causes some twists into things that we haven't
    been taking into account in recent refactoring...
    
    headerCheck() is supposed to permit all types of headers, don't
    require a specific region tag. In addition, permit legacy image
    region in hdrblobVerifyRegion().
    
    Fixes a regression from commit 1c25d27895338913d84827d0d670b00887dd1d56
    (and since then transmogrified through several phases) causing v3
    packages to fail verification coming off rpmdb.

commit 67d0b787caef3e23317a84e9f286c751f09e2264
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 12:12:40 2016 +0200

    Refactor headerImport() around struct hdrblob and API
    
    Do the duck, bird and a monkey to flip headerImport() and hdrblobImport()
    around and upside down. Meaning every single path to read or otherwise
    import a header is now going through all the same validation and
    verification steps, whee!
    
    This also greatly simplifies the actual import since many of the
    calculations have already been done by the earlier steps. There aren't
    supposed to be regressions here but then I wouldn't exactly be shocked
    if there are some lurking nevertheless.

commit 6d2124ae90187878f4f8eb081db22c8c1b34d817
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 11:05:20 2016 +0200

    Handle HEADERIMPORT_COPY in headerImport()
    
    The whole flag is a bit unfortunate and annoying in various ways
    but perhaps it's slightly less annoying here. There's also a subtle
    behavior change here: we now only honor HEADERIMPORT_COPY if bsize
    is also specified. This is sort of required for the next steps.

commit 5a50a67e2e2cc6eba94bbf6df7034b02cb9efc4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 10:47:36 2016 +0200

    Clean up headerWrite() a bit
    
    A switch-case for a boolean flag whether to do something or not is
    rather hysterical. A good old "if" is shorter and actually much
    easier to read. When writing the magic, we know we're writing exactly
    one of them, shuffle the arguments to better match Fwrite() interface.
    Initialize uh on declaration line to save an extra line. No actual
    functional changes.

commit 9e8c97a1d22a6bf42131313c1dc39f73b1aaa0c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 10:28:26 2016 +0200

    Refactor headerRead() to use hdrblobRead() + hdrblobImport()
    
    Whee, another lets-read-and-parse-a-header copy-slop variant bites the dust.
    Preserving the traditional quiet-on-errors behavior, it's actually required
    for reading header lists, since there's no clean way to handle EOF
    currently.

commit ca407bf38ec83b6b991537233963a14b79a5821e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 10:21:32 2016 +0200

    Add a helper function for importing an already read hdrblob
    
    Doesn't really reduce code that much but frees callers from having
    to worry about freeing allocations from the blob.

commit b80f81678db380ca6cd5069ed20bd029a5951329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 10:11:20 2016 +0200

    Support non-exact size case in hdrblobRead(), update callers
    
    When reading package files dribbles are not tolerated but for
    other cases (eg --exportdb/--importdb) we need to support that.

commit 78cc404110944211bfd5233e3e80f2fa951862ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 09:38:31 2016 +0200

    Support no header magic case in hdrblobRead(), update callers

commit b939c8e3cdc41893b55336e10e1b581fdde0471c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 09:18:18 2016 +0200

    Autodetect region tag in hdrblobVerifyRegion() if not specified
    
    When reading package files we know which kind of header to expect
    but elsewhere this is not necessarily the case.

commit 35f101a58306fe658ffddc8a9bba87a9a4b090a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 09:02:52 2016 +0200

    Bury a pile of header internal defines inside header.c

commit 648becc09167747849e9958cb1ffb38b1b766de7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 23 09:00:52 2016 +0200

    Drop a few hysterical checks from signature header merging code
    
    We're operating on data already retrieved from an already imported
    header, all the data we could possibly recieve here is type and
    and size checked many times already.

commit 7f47cbbd7d1600ae280e48a655c9e870cf9361e0
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 23 09:04:09 2016 +0100

    Restore 4.12 behaviour of --qf wrt single value tags in [ ] loops
    
    This was changed with b722cf86200505b3e3fcbb2095c4ff61f1f5a2ab
    
    e.g.
    rpm -q --qf '[%{PROVIDENAME}\t%{NAME}\n]' zlib
    changed from
    
    libz.so.1()(64bit)      zlib
    libz.so.1(ZLIB_1.2.0)(64bit)    zlib
    libz.so.1(ZLIB_1.2.0.2)(64bit)  zlib
    ...
    
    to
    
    libz.so.1()(64bit)      zlib
    libz.so.1(ZLIB_1.2.0)(64bit)    (none)
    libz.so.1(ZLIB_1.2.0.2)(64bit)  (none)
    ...
    
    This patch adds an implicit "=" by setting tag.justOne for non array tags in
    such loops to get back the previous output.

commit 64096c2626e2973bda60c303a14e7dcfa5b85718
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 14:01:30 2016 +0200

    Don't bother importing the header on rpmkeys signature check
    
    Importing the header only complicates things considerably here since
    then we need to pull the immutable region out of it and all this
    involves complicated calculations that are completely unnecessary
    when all it really wants is the raw data. Take advantage of
    hdrblobRead() to do so.

commit 7e65ae4276bcc9852522ec7ee96ef16b31b3fb1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 13:56:51 2016 +0200

    Drop unused argument

commit 9fde8b597289acd001f54b235e2bfd35262b7f4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 13:39:14 2016 +0200

    rpmReadHeader() does not check for signatures, really
    
    It used to call headerVerify() and headerCheck() before that, but
    as both of those only verify dribble signatures and digests,
    rpmReadHeader() would've never seen any headers with those.
    Eliminate the bs arguments, making the smokescreen that little bit
    thinner.

commit 124ed29259b05fdf574d5e3e145bc1201b24ae4d
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 22 09:10:26 2016 +0100

    Move RPMCALLBACK_ELEM_PROGRESS to rpmteProcess to have header available
    
    The header of the rpmte is only available after rpmteOpen().
    Added num param to rpmteProcess to be able to signal the progress to the
    callback.

commit c64f67a8adbc50ad8d3b11d5cf84a2935150c68c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 10:07:55 2016 +0200

    Handle signature header padding in hdrblobRead()
    
    We already know whether its a signature or not so it only makes sense
    to do the rest of the IO there too to avoid annoyances like signature
    header read + import succeeding but then failing on invalid padding etc.
    
    rpmReadSignature() does an fstat() and debug printing in addition,
    leaving that there at the moment as it requires an imported header.
    
    It's worth noting that for v3 packages headerSizeof() the returned
    size (both il + dl) is larger than what il/dl off the disk says because
    a legacy region tag 'n stuff is inserted on import. The difference
    is exactly 32 bytes so as it happens it doesn't affect our padding,
    but its a quirk alright.

commit 91d2d70c3b4ec53911f97395fcacffca0d0ce2c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:54:27 2016 +0200

    Consolidate signature + header read to new hdrblobRead() function
    
    The signature and package header reading only differ by a few minor
    bits like number of tags allowed, doing this in copy-slop code is
    just dumb.
    
    There's an ugly little quirk here in that headerImport() can in theory
    still fail even if hdrblobRead() succeeds and we need to manually
    clean up in that case. But that can be addressed in a later commit...

commit 10429a37e018811a59f979872902a37377c7f744
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:47:02 2016 +0200

    Assimilate headerVerify() remnants into headerCheck()

commit 274dc3a8b1bda891a84ee6517d3c2db2103341ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:36:32 2016 +0200

    Don't bother calling headerVerify() when reading package files
    
    All the sanity checking is done in hdrblobInit() already, headerVerify()
    only has a dribble signature check and there aren't any dribble
    signatures around when called from here.

commit 8d83c4361f4a451ee7bc2869d77fde07eb3c8991
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:34:12 2016 +0200

    Refactor headerSigVerify() to take a hdrblob as argument

commit 0823ad375f639d9df2aa93c8a73e9bb74f0e7c94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:29:32 2016 +0200

    Refactor hdrblobInit() to call headerVerifyInfo() by itself
    
    Having callers call verification in separate steps is just absurd,
    this is where it belongs. Rename headerVerifyInfo() to hdrblobVerifyInfo()
    and make static to properly bury it inside header.c.

commit 9febd5141d7f1383d8335a26efe21222e9934a27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:26:04 2016 +0200

    Move blob size checking into hdrblobInit() where it belongs

commit 4fa91d8522ba7f572f942c6610c3a723f4336939
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:22:51 2016 +0200

    Bury headerVerifyRegion() into header.c where it belongs
    
    Rename to hdrblobVerifyRegion(), make static.

commit 6b444d76657e45389508a6086bbfa0c9b2b0e9a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 09:12:36 2016 +0200

    Refactor hdrblobInit() to do region verify/init by itself
    
    Add all the necessary arguments and error message retval,
    hdrblobInit() can now really return errors.

commit a6fca1415db8cc69828d4d0373157d23180cd1cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 08:49:35 2016 +0200

    Refactor headerVerifyInfo() to hdrblob struct, adjust callers
    
    Since the blob knows whether it has an immutable region or not, callers
    no longer need to care about such details.

commit fa5ca17382303b764c91163ead81ab95d411958e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 08:47:32 2016 +0200

    Refactor headerVerifyRegion() to struct hdrblob, adjust callers

commit ee729f94671d8c172e38218d6c38b43f47ffa8ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 08:43:42 2016 +0200

    Refactor headerVerify() to struct hdrblob, adjust headerCheck() to match
    
    All the goo in start of headerVerify() is already done in hdrblobInit()
    so no need to redo.

commit 56c383b91dbb339aa33018b26e4856d3835728c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 08:35:14 2016 +0200

    Introduce a struct for raw header blob + initialization API
    
    Parsing the raw header data involves a whole pile of variables and
    is repeated in copy-slop manner in several places. This is the
    first of many steps towards sanity, it'll look worse before it
    gets better.
    
    Convert rpmReadSignature() and rpmpkgReadHeader() to the new API.

commit c810a0aca3f1148d2072d44b91b8cc9caeb4cf19
Author: James Knight <james.knight@rockwellcollins.com>
Date:   Wed Nov 16 15:54:46 2016 -0500

    configure.ac: correct stack protector check
    
    If a used toolchain accepts the `-fstack-protector` option but does not
    provide a stack smashing protector implementation (ex. libssp), linking
    will fail:
    
     .libs/rpmio.o: In function `Fdescr':
     rpmio.c:(.text+0x672): undefined reference to `__stack_chk_fail_local'
     .libs/rpmio.o: In function `Fdopen':
     rpmio.c:(.text+0xce9): undefined reference to `__stack_chk_fail_local'
     .libs/rpmio.o: In function `ufdCopy':
     rpmio.c:(.text+0x10f7): undefined reference to `__stack_chk_fail_local'
     ...
    
    This is a result of testing for `-fstack-protector` support using a main
    that GCC does not inject guards. GCC's manual notes that stack protector
    code is only added when "[functions] that call alloca, and functions
    with buffers larger than 8 bytes" [1]. This commit adjusts the stack
    protector check to allocate memory on the stack (via `alloca`).
    
    [1]: https://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html
    
    Signed-off-by: James Knight <james.knight@rockwellcollins.com>

commit 036829b8590feb38aaa21953d8a70a38025955b4
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Nov 14 22:47:42 2016 -0500

    appdata -> metainfo, add support for metainfo files
    
    These provides are specifically for packages providing
    AppStream files, which are either going to be *.appdata.xml
    or *.metainfo.xml files in /usr/share/appdata or /usr/share/metainfo.
    
    The upstream AppStream specification mandates *.metainfo.xml files
    installed into /usr/share/metainfo, but there's still a large body
    of legacy AppStream files installed in the legacy location.
    
    For now, let's support both under the new metainfo() Provides.

commit 008e827d3baea88c75d4ef47344d2b63243036e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 14:30:04 2016 +0200

    Postpone all signature tag content validation to rpmSigInfoParse()
    
    The well-intended checks in headerSigVerify() have been a source
    of trouble more than once, and for example the SHA1 check was still
    assuming \0-terminated string *before* checking the type. The current
    checks in rpmSigInfoParse() might not be perfect but consolidating
    everything there at least means we dont have to fix the same thing
    fifteen times all over the code.

commit 5b714956b7776edea635f73daa1137aa44609290
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 14:07:54 2016 +0200

    Optionally validate string is hex in rpmSigInfoParse()

commit 439c8bc0488d83bfbd64aee5bb5f6b02394efd34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 14:02:09 2016 +0200

    Optionally calculate string length in rpmSigInfoParse()
    
    Not used yet, but doing this here centrally, after validating the
    type otherwise etc makes sense.

commit 7db844b2538227e4e5ceaa6bbf3b4e6713c8c8ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 12:35:37 2016 +0200

    Eliminate the now pointless pointer from headerVerifyInfo()
    
    Refer to the local struct directly. No functional changes.

commit 62b7da8a02b787ebde4d0c156e07af3b73b28191
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 12:34:16 2016 +0200

    Drop the now unnecessary info retval from headerVerifyInfo()
    
    Neither of the two remaining callers care so...

commit 7f428ecf6e29dd15f77b92f3198d071c67372d3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 12:29:11 2016 +0200

    Don't bother with headerVerifyInfo() on region tag
    
    The region tag is hand-checked for its special values in
    headerVerifyRegion() and now that v3 packages get the first tag
    checked (commit 1c25d27895338913d84827d0d670b00887dd1d56), there's
    little point in calling headerVerifyInfo() on the the region tag.

commit 1c25d27895338913d84827d0d670b00887dd1d56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 12:17:45 2016 +0200

    Enable data overlap check on 1st tag of v3 packages
    
    The region tag data (aka region trailer) violates the regular ordering
    of tag data and can't be checked with headerVerifyInfo() in one go,
    but for v3 packages without the region tag start again from tag 0
    to get data overlap check on the whole thing, for both headers.
    As a side bonus makes the signature code again that little bit
    closer to the other header...

commit 67709078a713e8d6a16988a15ec0eef88079c582
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 11:30:13 2016 +0200

    Add back separate check for tag data offset range
    
    This used to be there before commit 89dce2b91d7d73a1e225461a7392c3d6d7a30a95
    sort of made it unnecessary, but since then we've started looking
    at the actual data in case of string tags, so there's new opportunities
    for trouble as well - witness commit
    1b93f23579e8b63867cbb69e3b50571f6c9e85c3. So this is kind of a
    belt-and-suspenders thing...

commit 1b93f23579e8b63867cbb69e3b50571f6c9e85c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 11:27:59 2016 +0200

    Make sure start pointer is legal in strtaglen()
    
    strtaglen() takes care not go fall off the edge off the world... except
    if you make it start there. Oops.

commit 6bada81529289a3b630fb8502df9d9c1053fd66c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 10:41:25 2016 +0200

    Make filter query/verify by file attributes generic
    
    We only have a disabler for %ghost files ATM but that doesn't mean
    the actual code can't be generic, the logic is actually much clearer
    this way (especially compared to the to-negate-or-not-to-negate
    fun on verify side)
    
    One might envision a generic way to set filters via a cli argument to
    go with this, eg --noattr=cd to skip documentation and configs,
    or --noattr=g as an alias to --noghost.

commit bb27f9fffa8e557b931314523473ed782b86cc97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 10:01:09 2016 +0200

    Fix %ghost verification and --noghost behavior (RhBug:1395818)
    
    Verify has "always" accepted --noghost as an option but it's always
    been broken too, the --noghost option used to *clear* the bit on
    qva_fflags, bit which nothing set in the first place. When you
    test that bit for enabling verify on ghosts, chances are the ghosts
    remain ethereal...
    
    That was until commit efd696d32d343b82832dd9e4aee992bff8e64ad0 fixed
    the bit clear to set to make --noghost work on queries, but hardwired
    the verify code to no ghosts. Wtf?
    
    So... after 15 years of existence (commit
    60977b6c27aca83d1c15deef2e4f759268308075) and somewhat colorful
    history, lets make it work and document it too. qva_fflags is supposed
    to be a "filter out if matching attribute in file" bitfield but its been
    kinda hard to tell when there was one example left which had it the wrong
    way around. The original commit has two more examples where the bit setting
    is right but disabled with "ifdef NEVER" ... since removed.

commit e1f847db589b7ee279f6ef36b51f9ee1f2de5968
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 17 08:49:15 2016 +0200

    Oops, missed early return from headerVerifyInfo()
    
    Should've been in commit d022809023b843e680ae891938f0f4da9ba6fafa,
    I need new eyes...

commit 05c7dc7ce009abe7104c2ee25a0c6b112602cddf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 17:45:21 2016 +0200

    Use hdrchkRange() for the region range check, covers both ends...

commit c4f746c424e55cbdcdb6764270f43e0c476291b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 17:40:08 2016 +0200

    Don't bother with headerVerifyInfo() on already validated data
    
    Now that we're verifying the entire header (as of
    commit 0d36fc4cba8f98a1263c0afb0c2ce78133fc693a) there's little point
    in revalidating the same data here again. Just call ei2h() for endianess
    correction instead.

commit 0d36fc4cba8f98a1263c0afb0c2ce78133fc693a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 17:27:18 2016 +0200

    Always sanity check the entire header, not just immutable region
    
    To begin with, rpm v3 packages don't HAVE an immutable region. Which
    means that for v3 packages whose signatures we cannot verify on normal
    paths, we'd also miss even the most basic of sanity checks because
    ril on v3 packages is zero.
    
    For installed packages this also enables data overlap checks for
    tags outside the region, which up to now have been checked but only
    one by one in headerSigVerify().

commit 8602e474ebe34a948db99f6bd8f2e63eeb3a18dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 13:34:52 2016 +0200

    Make headerVerifyInfo() return code sane
    
    Return zero for zuccess (haha) like most of the world does, -1
    for success is so bizarre it's like violating the principle of
    least surprise on purpose. Callers only ever cared about the
    non-success value for error reporting but since that is taken
    care of by headerVerifyInfo() it doesn't matter at all. Return
    the ordinal of failing tag achieves the same should anybody care.
    
    Leaving the error message to actual index number to keep the message
    compatible, not that its likely to matter.

commit 7010c677b0d2b0b7b4714e675d4296d3499439fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 13:20:46 2016 +0200

    Enable data overlap checks for signature header too
    
    For whatever historical reason rpmReadSignature() had its own loop
    for calling headerVerifyInfo() on each tag one by one. Not only is
    this redundant since headerVerifyInfo() can loop on its own and a
    wholly unnecessary difference between the signature and regular header,
    it also misses the opportunity to perform data overlap checks on the
    signature data.

commit e4705b4181922d99f6e012a8ae98edac553ee102
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 13:13:20 2016 +0200

    Tolerate NULL info retval argument to headerVerifyInfo()
    
    Use a local temporal if info is not supplied, half the callers
    don't care anymore.

commit 8dda888e14df323e1dc1e76a42851e68980658cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 16 10:55:50 2016 +0200

    Fix off-by-one stack write in rpmGlob() (RhBug:1371914)
    
    Happens with eg pattern "~0//0", easily visible if alloca() is changed
    to malloc(). Reported as a security concern, dunno about that but a bug
    it is anyway.

commit 1545e71d87d0580b12af29b8af70088cb3229582
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 15 14:26:10 2016 +0200

    Validate string data lengths too on headerVerifyInfo()
    
    For this we need to pass dataStart into headerVerifyInfo(), and
    then we can actually just call dataLength() to do the hard work.
    There's a non-trivial cost involved of course, especially since we
    now do this twice, but better slow than sorry. We can always
    make things smarter later on, and this closes down a major hole
    in how rpm deals with header data.

commit ffeed045ad0a022b55215b9ec040fc0471826a60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 15 13:48:36 2016 +0200

    Add error message retval argument to headerVerifyInfo()
    
    Collapses four copy-paste variants of the theme into one.
    
    But, wait - this loses "sigh " prefix on signature header errors!
    Oh, the tragedy!

commit d022809023b843e680ae891938f0f4da9ba6fafa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 15 13:40:33 2016 +0200

    Refactor single exit point to headerVerifyInfo(), no functional changes.

commit 6ca9a406cf608491652a476ef70b252a19cf0ee9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 15 13:25:16 2016 +0200

    Eliminate redundant helper variables in header digest/signature verification
    
    We're ultimately copying the data to the sigtd so why bother with
    intermediate info and siglen variables? Use a helper function to
    to convert the entry into into td instead, eliminating a redundant
    memset + copy on the info struct. Plus the resulting code is that
    wee bit more readable.

commit 4fe0f0f4ad3467b727a43e35fa92accb432076b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 15 13:08:56 2016 +0200

    Avoid unnecessary malloc + copy on header digest/signature verification
    
    No idea why the copy was there, maybe it was needed at some point.

commit 2797d00ecd224a59a8ca967f40240e827ff31c69
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Fri Nov 11 05:28:40 2016 -0500

    python: remove redundant suffix in python module name in metadata
    
    No one is quite sure why there's a redundant '-python' suffix,
    but the module isn't named that, and typically we want the name
    in the metadata to be the same as the name of the module.
    
    This has no effect on Python code itself, as it doesn't change the
    name of the installed module used in import statements, and since
    we've never published to PyPi, it's not something that can be sanely
    referenced for 'pip' and other similar tools in a useful manner.

commit 8f3c798b12f8a3c2405e46cb2961f1ec32dd0d43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 11 14:26:03 2016 +0200

    Make package exists/does not exist error more informative
    
    Rearrange the message to "linenum: line: message" which is a more
    logical order of things (I think), and in particular, include the
    actual actual package name in the message. In order to do that,
    consolidate the error logging inside lookupPackage() where we
    now get a slightly hysterical logic around the error messages but what
    the hey, its not like this is an exported API.

commit 52e9b5efde5cdc7368331537a7b98b17f5633cc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 11 13:42:47 2016 +0200

    Ensure that file trigger conditions are paths.

commit dd7af7ed6efffa5d8dea39296f77c4fa34a40020
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 11 12:59:50 2016 +0200

    Ensure that a trigger condition actually exists.
    
    All this time rpm has merrily accepted a trigger with no condition
    at all, eg "%triggerin --". Doh. Check and error out on missing trigger.
    This is all ridiculously subtle and fragile - pay attention to splitting
    the line only after all error messages have been done for full error
    message, but since we're now moving s further on whitespace we need
    to store the separation point into another helper to avoid breaking
    the other %trigger line semantics.

commit 8fc3a220b3984296989ee3c595b1cf6ae1b2dc2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 11 12:44:06 2016 +0200

    Revise trigger separator checking a bit to pave way for next commit
    
    Make the missing separator check more obvious (check s, not reqargs),
    jump over a potential separator when found, and eliminate a leftover early
    return causing memleaks. Apart from memleak, shouldn't actually change it.

commit c217b60a7b55498e23ea3674a407d1cb7f8215ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 10 16:44:36 2016 +0200

    Require whitespace around trigger -- separators (RhBug:1352828)
    
    "--" in filenames and such might be rare but it can exist, requiring
    whitespace surrounding the separator is the only sane thing to do.
    Would be easier to strstr() on " -- ", but inevitably that would
    break somebodys tab-aligned spec so...
    
    For anybody suspiciously looking at the pointer arithmetics: "--" cannot
    be at the beginning of a line which gets us here so s-1 has to be safe,
    and on the other side there has to be at least the trailing \0 at s+2.

commit 723a618dccaa87f82107d721b44ffae389b6ed59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 10 15:39:54 2016 +0200

    Log a warning about possible unexpanded macros in NVR
    
    This is a sort of too-little-too-late bandaid for the issue
    in RhBug:547997 / commit 507f21f6bb4bf7029a0bca255cfe4aae3361f358.
    Unexpanded macros here are almost certainly packaging bugs,
    except if they happen on a parse for build-requires when its
    more beneficial to just let the unexpanded stuff through. We dont
    have a means to separate between build-dep parse and build but
    lets at least warn about these things. Refactor the logging into
    a helper function to avoid umptheen cases dealing with warnings
    and errors and spec or no spec etc.

commit ccdb1aa5c675d917b1ba8d026c44fd95bab79e6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 09:16:48 2016 +0200

    Fix debuginfo etc when subpackages have different versions (RhBug:1051407)
    
    Rpm has always been a bit dazed and confused when it comes to specs
    with sub-packages having different version etc from the main package.
    Many things work fine in that case .. except .. when they dont. Debuginfo
    picking up wrong versions (RhBug:1051407) is just one example, there
    are countless more in bugzilla wrt buildroot paths and whatnot.
    The simple and sane solution would be not piling on them macros
    from sub-packages, but that would surely break somebodys precious
    spec tricks.
    
    The ugly but brutally simple and compatible solution to this all is to
    create separate set of macros when on the main package, this lets users
    in and out of rpm pick which one (latest or main) they want. To hopefully
    avoid stomping on anybodys toes, use uppercasing for the macro name (other
    variants like %pkg_release are awfully commonly used). Pile 'em on, yay!

commit fb47bc09f89f41dcf4f4a1815778b98033d5caef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 12:05:19 2016 +0200

    Fix possible unitialized use in pgp code

commit 02bc5e21394aa412a05ee591a23795cbaa333dea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 11:58:56 2016 +0200

    Fix linear search fallback case in rpmfnFindFN()
    
    Building with -Og reveals m being possibly ununitialized here,
    and on closer inspection there's an actual bug here: on linear
    search cmpPoolFn() needs the increasing index, not trying the
    same (in theory possibly uninitialized) value of mid.
    
    Fixes regression introduced by yours truly in commit
    9bf578376d5633c0324afb45838bc430f91c420c. Oops.

commit 1ba05a7456aafb52e89df5dd42d494d09f9ea6a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 16:56:26 2016 +0200

    Copy all possible special %doc/%license files before checking errors
    
    Prior to commit f16a522ca4be7090db5a3fc1a507e58a4d4946fd, failing
    as early as possible was the only way to catch errors. However
    now that rpm actually checks for the files by itself, this behavior
    can lead to really confusing error messages. For example if the
    first %doc of, say, twenty files is missing, you'll get error messages
    for all twenty.
    
    So don't stop copying on errors but copy as much as possible and
    check for errors last, this way the actually missing files will
    stand out.

commit f6521c50f6836374a0f7995f8f393aaf36e178ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 13:38:39 2016 +0200

    Fix %transfiletriggerpostun undeterministic behavior (RhBug:1284645)
    
    Keys from rpmdbIndexIteratorNext() are not necessarily \0-terminated,
    buyer beware.
    
    Sometimes you get lucky, but in particular when built as PIE (such as
    by default in Fedora) this falls over consistently.
    In Fedora this has been hidden by the fact that test suite has been
    disabled because its been so broken with fakechroot until recently,
    and without PIE the testsuite regularly passes. Valgrind does
    complain though.

commit 3cac383bb848e01a9f236d33710ef043897f2a94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 13:10:12 2016 +0200

    Drop special hackery to force rpm into /bin/rpm
    
    Let rpm go into $(bindir) along with everything else, it just isn't
    that special. Many distros are nowadays symlinkingbin to usr/bin anyway
    which makes the special casing of /bin/rpm even more silly.
    Somebody wants to put it someplace else, 'mv' is your friend and
    I'm not going to stop you.

commit bd9f53bb7b0aaedb039e11be04e87b615c83c33a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:49:17 2016 +0200

    Link test utilities in $(bindir) instead of hardcoded /usr/bin
    
    This isn't 100% correct but more so than the former version:
    "make distcheck" now completes, whee! The test-suite fails left and
    right with path issues during it so there's more work to do however.

commit ecb418265598421932a55b773c5599f9e55424df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:12:10 2016 +0200

    Ensure test data is removable when cleaning
    
    During distcheck the test data is copied from a read-only tree, so without
    this chmod, clean-local will fail due to permissions on the data files.
    The other data in testing/ gets copied from other sources or gets
    permissions explicitly set (eg make install)

commit 77bf115632a142ea636e469eec9e6c6266d39d82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 11:47:18 2016 +0200

    Tweak up distclean-local to appease distcheck

commit c896a481f2f2da6aa79b9a7907d27f059586aa16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 10:17:06 2016 +0200

    Fix "make dist" work out of the box again
    
    ChangeLog is listed as EXTRA_DIST but there's no rule to create it
    so dist target is broken except when invoked with Makefile.maint. Which
    nobody finds because its such a strange thing to have.
    
    Move back ChangeLog generation into main Makefile.am but do not
    require git to create it. Instead have a rule to create an empty
    file to appease EXTRA_DIST no matter what, and only create the
    real thing if we're in a git checkout and git command is present.

commit 97c78d1d480bb99230f3fec75502b8fb4945fcdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 3 10:03:51 2016 +0200

    Oops, update POTFILES, lib/legacy.c is no more
    
    Should've been in commit ab24d7aa54816908dd5a46487bd89ca54c5e5cf0

commit 826a839c03e92b374999c306d81324b074f4c69a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 13:37:09 2016 +0200

    Add/fix a few missing/misleading doxygen annotations

commit 84efd174231e614fca45d22bfeae72b2876f0bb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 13:27:10 2016 +0200

    Fix internal headers getting pulled into API docs
    
    The issue is probably as old as the librpm API docs in itself...

commit 4182b8a9a6295d876d62e6075ea32d7d8e045dcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 13:19:36 2016 +0200

    C files do not belong to API docs

commit e6639abf33801da0884d442dab2bfc6e6156fbf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 12:10:30 2016 +0200

    Drop CHANGES out of dist tarballs
    
    It's almost 10 years out of date, people are better off looking
    at git changelog now.

commit 5c74ebd72544680dc64a67459a5458ed47ce3de0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 16:24:16 2016 +0300

    Refactor verifyHeader() to use rpmfiVerify()
    
    Replace manually maintained yet-another-return-code with an
    "all failures" variable and base the actual return code on that.
    It's tempting to use just one verify result variable but that'd be
    wrong because of the shared file mtime filtering.
    No functional changes intended.

commit 82933fd17e40deb42294b2bb24441e2c4cd2a8ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 16:03:03 2016 +0300

    Add support for file verification in python bindings
    
    Note that this is for rpmfile only, intentionally NOT adding this
    to the rpmfi python representation which is deprecated.
    omitMask is optional, otherwise identical to its C counterpiece.
    Untested but hey, it works in C - what could possibly go wrong.

commit 776b504a73175dae92db29dbb537137b94520862
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 16:01:07 2016 +0300

    Export relevant RPMVERIFY_FOO symbols to python
    
    There are some obsolete enums like LGETFILECONFAIL around, no point
    bringing those to python at this point.

commit 591f95a849776aba2a6a9e42fbdd27754a2818b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 15:27:06 2016 +0300

    Export file verification as a rpmfiles/rpmfi method
    
    Turn rpmVerifyFile() into indexed rpmfilesVerify() method but
    drop the unnecessary double return code which also "fixes" the
    oddball argument order where return value is not last, add
    thin wrapper for rpmfi iteration. Mark rpmVerifyFile() deprecated
    due to the strange calling conventions and unused arguments.
    Leaving the code in verify.c to make it clearer what changed, looks
    a bit out of place but doesn't matter as it doesn't need access
    to rpmfi(les) internals.
    
    Verification functionality as such is supposed to be unchanged by this.

commit f286b7a84fbde826c942f66c1869f41f1cbbe33c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 14:55:15 2016 +0300

    Refactor rpmVerifyFile() a bit to clarify exit code
    
    Use a local helper variable for collecting verification results,
    arrange a single exit point for the function and base the return
    value on the verify result to make it clear what the return code
    actually means. As a sort of side-effect its now legal to call
    rpmVerifyFile() with NULL res, not that it makes a whole lot of
    sense to do so since all the interesting stuff is there. But useful
    for next refactoring steps...

commit 0afc0017fbac237216d40abb086fd78d3e800e6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 14:44:37 2016 +0300

    Don't adjust stat file size on rpmDoDigest() failure when verifying
    
    The size is likely to be wrong anyhow but if we can't read the file
    then any correction is likely to be more wrong than the original value.
    While at it, eliminate an unnecessary function-level temporary
    variable used for this one purpose only.

commit bfc63b6c3b28a56c9a494567ad6d3adb5b429f34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 11:39:01 2016 +0300

    Use proper datatypes for headerVerifyInfo() args
    
    Now that we can, lets use the actual data types instead of void
    pointers and be const-correct about it as well. Which immediately
    points out a missing const in ei2h() first arg...

commit d0c1081c339411917f080459630944695d66987d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 11:30:19 2016 +0300

    Drop unused negate argument from headerVerifyInfo()
    
    Now that we've declared headerVerifyInfo() internal we're free to
    do things with it. Even *gasp* improve, mayhap..

commit 83a8640b47177d665b2aef9afc7ed8bde36f5103
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 11:08:25 2016 +0300

    ...and finally bury the rpmlead datatype entirely inside rpmlead.c
    
    Since rpmLeadWrite() takes a header there's no more need for
    rpmLeadFromHeader() to be "public" and since nothing returns
    leads there's no need to free them either, make static + adjust
    to eliminate the need for ever allocating a lead so the free func
    can go too. Whee. the remaining rpmlead.h is something we could
    actually consider making public.

commit c873837925becb3a52a17c006b491a5481ad1921
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 10:56:34 2016 +0300

    Drop unused lead return argument from rpmLeadRead()
    
    Nothing uses this anymore so we can just drop it. Whee.

commit 3255273ae0fabd03c9738249a29c9c1e15f28f64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 27 10:48:26 2016 +0300

    Change rpmLeadWrite() to take header as its arg instead of a lead
    
    The only "user" of the lead data structure is the signing code
    which just wants to copy it over to the signed package. We can
    just as well regenerate it from the header. Even if it doesn't
    end up identical (which it should), it doesn't make a damnest
    difference because nothing that matters looks at the lead anyway.

commit 71ff0b7e7357061ef993655438260c2ca336edb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 13:38:12 2016 +0300

    Eliminate dead-on-arrival code
    
    This code was disabled in commit 9b94ae3dbc6d98f5c1929829735ff918aab5ef4d
    about seven years ago before making a public appearance in any release.
    That nobody has missed it in all this time tells me it's not that
    necessary to have a python-level rpmtd object...

commit 2efbe244cf7f89e786a24ca799d01aea8b5e181a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 11:49:58 2016 +0300

    Avoid rpmtdFormat() recursion in xmlFormat()
    
    We're better off just calling the lowlevel formatter function directly,
    this also avoids having to deal with error return const impedance.

commit 6487e873f3169c2bffbd52808b6c749e6c104ff5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 11:36:54 2016 +0300

    Make variable error messages available to all of headerfmt.c
    
    In some cases static error messages are not enough, such as RhBug:855305
    which commit 73674678b2b96a36ec542ec3bc23b227c6129b5f already fixed.
    Make this a common facility by wrapping the error handling inside
    a new hsaError() function which takes variable arguments and all.
    Watch out for % in messages, they need to be escaped now.
    
    No functional or error message changes intended here though.

commit b2649aa16e3f97986b566de0255e314308f94139
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 16:01:45 2016 +0300

    Support error returns in formatter functions
    
    For now this is all internal to formats.c and shouldn't affect
    anything at all.

commit 82b60d0c44c17ef4f19bf5f223d7f53fb1b26317
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 15:17:07 2016 +0300

    Eliminate redundant error checking from formatter functions
    
    Since commit 3e4388a6e2a4429c5b73650f0187a22c9bca9550, most of the
    data type checking is done centrally in rpmHeaderFormatCall() so
    this is all redundant. Changes appear larger than they actually
    are due to indentation level changing everywhere.
    
    No functional changes intended.

commit f38bf589bf0bfe90540a51c3da9a516f1c53c0e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 15:14:39 2016 +0300

    Fix segfault on wrong datatype passed to shescapeFormat
    
    Check for string class explicitly, treat others as errors.

commit e9e637e2559926ef0d4aa3f7cf686d1944e1d036
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 15:08:18 2016 +0300

    Fix expandFormat() to work with all string types
    
    Use the proper rpmtdGetString() accessor function which knows how
    to deal with array types too.

commit 3e4388a6e2a4429c5b73650f0187a22c9bca9550
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 14:40:31 2016 +0300

    Handle most format extension data type checking centrally
    
    Extend struct headerFmt_s to include expected data class (or
    RPM_ANY_CLASS for the ones that can handle more than one),
    check centrally.
    
    This makes the type checking in the individual functions moot, but since
    there's no real harm either, leaving eliminating those to another commit.

commit 4393d0d5a9189db8b64324a2e1dcfc61c1b23428
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 12:18:54 2016 +0300

    Force header data formatting through a central function
    
    Make rpmHeaderFormatFuncByName() and rpmHeaderFormatFuncByValue() return
    an opaque pointer to the extension itself (instead of the actual function
    pointer) and drop Func from the function and type names to signify the
    point. Add rpmHeaderFormatCall() function through which all formatting
    has to be done now.
    
    This is not supposed to change anything in itself, but opens up
    possibilities for central error checking etc.

commit f3f01685263be14120174fd8ab45bb71b975133b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 11:32:49 2016 +0300

    Axe useless doxygen annotations of formatting functions
    
    We have 20+ formatting functions, each taking rpmtd and returning
    a string. Repeating this 20+ times is not useful, on the contrary.
    Trim the comments to comment on what the function does, add where
    missing.

commit 770c45e2c535a4faad937ca7ee44f8295e38aaf8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 13:45:16 2016 +0300

    runImmedFileTriggers() is supposed to be internal

commit 57d9aa1b52fafa976ed883b6a8eab77483037459
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 13:41:35 2016 +0300

    Make nextfuncs static, should've always been that way

commit 5517d26061598fc7917f2ea1873a4beaed34de5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 13:09:38 2016 +0300

    Rename addMacro() and delMacro() to rpmPushMacro() and rpmPopMacro()
    
    These are not deprecated at all no matter what the header has been
    saying for the past 15+ years, they're used by rpm itself all over
    the place as rpmDefineMacro() serves a slightly different purpose
    and there's no rpmUndefineMacro() anyway.
    
    Lets make 'em into proper citizens and move them into rpm namespace,
    and while at it, call the operations push and pop since that's much
    closer to what actually happens.
    
    Finally, add simple wrapper macros to keep external code compilable
    while getting the non-namespaced stuff out of ABI.

commit 34e839b84545b7fc5d876e6194229110ad1568b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:51:13 2016 +0300

    Eliminate expandMacros() from the API + ABI
    
    This allegedly been deprecated for no less than sixteen years,
    but until very recently it's been in use by rpm itself and only
    now with rpmExpandMacros() its possible to eliminate this one.
    All sane external callers have been using rpmExpand() anyway
    since expandMacros() is "buffer limited".

commit ee9c572962812f54218e8148b4b5ecfd457200db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:40:00 2016 +0300

    Eliminate deprecated rpmfi functions
    
    rpmfiDecideFate() and rpmfiConfigConflict() should've never been
    public in the first place, they're only meaningful to the transaction
    internals really. rpmfiMD5() hasn't been adequate for the task
    since 2008 or so, enough is enough.

commit ab24d7aa54816908dd5a46487bd89ca54c5e5cf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:25:14 2016 +0300

    Move headerConvert() and its helpers to headerutil.c
    
    This is not actual legacy material since rpm itself uses it all
    the time. Header utility is a much more better classification.
    No functional changes though.

commit c68fa9ab0bac6e3c3a9b826b5a208447ec16da33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:21:53 2016 +0300

    Rip rpm 4.4.x API compatibility
    
    It's been deprecated and hidden behind compat defines for eight
    years now, more than enough time for folks to port their stuff
    to new APIs. If they ain't done by now ... well its time now.

commit 5d31bfe53d730034ec9741c2c344f13d9218a746
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:15:55 2016 +0300

    Eliminate the umphteen deprecated N(E)VR(A) etc getter APIs
    
    These have been deprecated since 2009, time to let go.

commit e6f0fb7b28884373669f58220481c2d3cd36ca62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:06:47 2016 +0300

    Eliminate headerVerifyInfo() from API + ABI
    
    Another internal piece that should've never been exported in the first
    place, lets do so now since we're breaking the ABI anyway...
    Oh and lets make headerVerifyRegion() properly internal while
    we're at it.

commit cc57e916dd098f9e6451d7c189f7b7bb2c113c91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:02:05 2016 +0300

    Eliminate headerSort() and headerSort() from API + ABI
    
    These deal with header internal state and should have never been
    exported in the first place. Maybe 15 years too late is better
    than never though.

commit 8849e0ecf7b405615f5ae8ff9d30dd76e5b40436
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 11:36:14 2016 +0300

    Eliminate now unused rpmNewSignature() and rpmFreeSignature()
    
    These have been exposed in the ABI all along but in public headers
    maybe never, or at least so long ago it just doesn't matter.

commit 58711eb6366793044f251447c607f69b23e1a66e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 11:33:40 2016 +0300

    Eliminate last uses of rpmNewSignature() and rpmFreeSignature()
    
    These are nothing but wrappers for headerNew() and headerFree(),
    lets call things by their own names shall we?

commit 0cc5ee83f1f7f345a9d46166eac2cbe4d5ba84dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 08:38:26 2016 +0300

    Bury the last remains of non-header signatures into lead
    
    Header signatures were the new hot almost exactly twenty years ago, we
    haven't supported anything else in a very, very, very, very very long time.
    Drop the useless argument to rpmReadSignature() and bury the last remaining
    related constant into rpmlead.c which is the only place that "needs" it.
    No functional changes.

commit 149a8cf341f38c8aae52a665599281362bb95f17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 18:09:56 2016 +0300

    Don't look for merged signatures when reading package files
    
    When reading package files, signatures are being checked elsewhere
    and exact_size is enabled and il > ril wont be permitted this far.
    In particular there must NOT be any dribbles or dribble signatures
    present at this point in package file read so dont expose the code
    to what isn't even supposed to be there.

commit 441a0998fca9b3d01052bc3d33f8a72f725d5865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 17:37:26 2016 +0300

    Require exact match on header vs region sizes when reading package files
    
    In rpm V4 packages both the signature and mail header consist of one
    contiguous immutable region when read from package files and any
    disparities in index or data size means malformed package.
    
    Once the signature header is merged into the main header this is
    no longer true of course and installation adds further tags, so for
    headers from other sources (such as rpmdb), tags outside the immutable
    region (known as "dribbles" in rpm lore) must be allowed, and eg
    headerCheck() cannot require exact match.

commit 6e0b5dc9f10d7d3ee944dcd63d1c6019b2e80f0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 17:17:46 2016 +0300

    Verify region data size fits the header
    
    Could've been in commit 189c305f05e0031fbbfb526e0d129e11e73c5856
    but somehow didn't think of it. Apparently nobody else has either
    since this isn't checked here.
    
    Use hdrchkRange() for both checks, adjust message to include all
    relevant data, including which region tag the size is for.

commit 66145664fb1d7bb7e9d584c69f97c7869de5997f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 14:49:43 2016 +0300

    Whitespace cleanup in headerVerifyRegion()
    
    Now that things fit on one line again... Whitespace only changes..

commit 189c305f05e0031fbbfb526e0d129e11e73c5856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 14:27:09 2016 +0300

    Don't bother headerVerifyInfo() with region trailer tag
    
    The region trailer tag is so different from everything else it
    makes little sense to call headerVerifyInfo() on it. We're validating
    all the values locally here anyway. Except for negative region index
    length, which headerVerifyInfo() used to catch so now we need to
    check manually.
    
    This eliminates the need for the hysterical "negate" argument
    to headerVerifyInfo().

commit b743fd70b91bd65cb4f4e0b9affe0d631c7c2ead
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 14:08:56 2016 +0300

    Lo and behold, indexEntry can now be moved where it belongs
    
    All this time indexEntry has been exposed outside header.c for no
    good reason at all *facepalm*

commit 430eeb4244976956bc5533d4775ff20d1c85c8a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 14:05:22 2016 +0300

    Replace unnecessary struct indexEntry_s use with entryInfo_s
    
    No functional changes here. memset()'ing the thing is also
    pointless as headerVerifyInfo() always initializes the whole thing.

commit d26dff0632f5a23c6da3795656e8137d4057bc13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 13:58:06 2016 +0300

    Eliminate unnecessary entry argument to headerVerifyRegion()
    
    No data is passed to or from via it, and even within headerVerifyRegion()
    only the info member is ever used. Pfft.

commit 870aede417bf65a85a65e466f4a831656027dc4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 13:36:24 2016 +0300

    The data returned in headerVerifyInfo() iv is only used for error reporting
    
    Use a scope local variable to make this clear(er).

commit ff8f9a8aee57a5b33712cdc03037217e11422a74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 13:29:10 2016 +0300

    Rename the struct used for trailer tag for clarity

commit 36145133ed29edcbc1f17350915cc953a29b8422
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Fri Oct 21 11:28:10 2016 +0200

    Add man page information for '--changes'

commit edd380384ce2f15a42129c3654e79e5763c54336
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Fri Oct 21 10:46:44 2016 +0200

    Add --changes to read changelog with full timestamps
    
    As of 57f94a582602f0353cdb17a02dc12c4461d4f32d, it's now possible
    to have proper changelogs with dates and times properly set.
    Thus, it makes sense to offer an option to render this information.

commit 40326b5724b0cd55a21b2d86eeef344e4826f863
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 20 16:06:06 2016 +0200

    Do not call headerLink() in hdr_Wrap()
    
    as headers often already have an ref count of 1.
    Add headerLink() only where it is necessary.
    Plugs memory leaks in Python binding
    Resolves: rhbz:#1358467

commit 618860e3cc2b74daec1577a685fa714a83c13f78
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Fri Oct 21 02:18:06 2016 +0200

    Fix testsuite failures in dist tarballs: include missing files
    
    These should've been in commits 6b3b435fa644522197003460a96cd11253b1494d
    and 4ec7c396fb9464a3fcff006408871f8175ab169b where the files were added.

commit cb97c0161236e5ba9d560b95cadd41eba87cccfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 13:03:42 2016 +0300

    Add + use a helper function for converting entry info to host endianess
    
    Not supposed to change any behavior.

commit 6f69469a3b95311c06238623b92152f909f19ae1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 10:38:56 2016 +0300

    Always sanity check the header structure as the first thing
    
    If there are inconsistencies in the header we don't want to touch
    it no matter what it's signed with. Or not. headerVerifyInfo()
    is not a very thorough sanity check as it is but its better than not
    doing it at all, the height of embarrasment is the cases where
    --nosignature --nodigests mode catches a bogus header but trying
    to verify signature/digests segfaults...

commit 1d32a881813335c7737be91077bf59c2bc27048b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 10:11:18 2016 +0300

    Revert "Add macro _vsflags_query_rpmdb"
    
    This is too flimsy a mechanism for such a critical item as signature
    checking: with the innocent- and unrelated looking commit
    e3e5db7f396bcdbaf04f87ba3b5c8101ee8f07f5 in place,
    'rpm -q foo.rpm' runs with NO signature checking whereas 'rpm -qp foo.rpm'
    does signature check. Not sane behavior.
    
    Also the commit is buggy to begin with, qva->qva_source is not a bitfield
    so most queries would run with signature checking enabled still.
    Revisit some day in a different form, maybe.
    
    This reverts commit b30fca9eedd5c3963699ee5382f0ee1e32fbab7c.

commit d8bfe732572e8295015a372348dd13bdecb40f8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 17:15:42 2016 +0300

    Avoid going past header data area when validating SHA1 header digest
    
    A malformed header with no zeros in it could've easily walked off the
    edge of the world here. That it happens while trying to validate the
    tag data content is the height of embarrasment of sorts.

commit 89dce2b91d7d73a1e225461a7392c3d6d7a30a95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 19 14:48:08 2016 +0300

    Verify data is within range and does not overlap in headerVerifyInfo()
    
    Checking whether data start offset is within header data area is of no use
    whatsoever if the entire chunk doesn't fit. Validate the entire data
    fits within range and that it does not overlap, however with string
    types we can only check the array size is sane but we cant check the
    actual content.
    
    Adjust the upper limit for region trailer in headerVerifyRegion() so
    it fits the new rules, but in reality calling headerVerifyInfo() for
    the region tags is rather pointless since they're so different.
    
    Partial fix for RhBug:1373107.

commit ff3fb499e880b9256d5b53af5ad93be62fee8b41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 18 15:26:00 2016 +0300

    Fix an embarrasing refactoring error
    
    Commit 89bddb2e1d24eea76c598b280447ee4f9df9a596 managed to completely
    mess up the simple return condition, thanks to Michael Schroeder for
    pointing it out.

commit ef656ca6a6edb75dd9e9ee5801c7ac3357de9f4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 18 14:50:20 2016 +0300

    Bring CREDITS to this millenium
    
    Merge pre-existing contributions with names from git shortlog (now that
    we have a reasonable mapping), all names in alphabetical order.

commit c2cef99fd668ffe3103109c57137ca579da80cb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 17 18:56:19 2016 +0300

    Add a mailmap file for fixing author anomalies + mapping mail addresses

commit 98955360fa39cb50acaf827d6893d5d0e4d079bb
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Oct 18 11:40:08 2016 +0200

    Error out if multiple BuildArch lines are given in the main package
    
    This prevents rpmbuild having inconsistent BuildArch settings between the
    _target_cpu macro and the spec object.
    Resolves: rhbz#1385257

commit 6d7475703af1e9ed225e28507e02fe68b1352db3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 13 12:30:03 2016 +0300

    Bring back a needlessly removed example macro usage
    
    This essentially reverts commit 66d9fdb61abbc86668a5317c912ef7ca7e110582
    to bring back the example - yes %ifdef was wrong, but instead of
    killing the example lets just fix it instead by using %if.

commit 923fd90077946439c445edcaeefcd4f18f4d64ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 13 09:46:03 2016 +0300

    Eliminate a bunch of 2000 vintage never used and uncompilable rpmlog goo

commit bb2cd52cf1067b9d18106f127a5034e2ad50db64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 12 08:53:14 2016 +0300

    Put %GNUconfigure macro out of its misery
    
    Nobody can be using this thing because, well, its so broken its not
    possible to use it (see RhBug:1271275). In fact, it was already deemed
    that way 15 years ago in RhBug:56189. The thing hasn't been touched
    at all in 16 years so lets just kill it already, lest we have a
    third similar bug in another 15 years.

commit 57f94a582602f0353cdb17a02dc12c4461d4f32d
Author: Pavlina Varekova <varekpaf@seznam.cz>
Date:   Thu Oct 6 08:59:47 2016 +0200

    Extend %changelog to support full timestamps (#903)
    
    The newly accepted date format is
    
    Mon Jan 6 09:02:22 CEST 2016
    
    (like output of "date" command). Original format "Mon Jun 6 2016" is still supported.

commit e03de479bfd2e8759be9bb1019487a6371160f60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 16:20:07 2016 +0300

    Eliminate a bunch of 1999 vintage comments of macros file
    
    Funny stuff, such as the reference to %configure and %* which was
    true for approx three days during 1999 and never since (RhBug:1381082).
    Macro buffers are unlimited these days, and macro usage does not
    lead to exporting in rpm headers.
    
    No doubt there are more of this gems lurking in there...

commit 89bddb2e1d24eea76c598b280447ee4f9df9a596
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 15:39:46 2016 +0300

    Refactor matchNetsharedpath() to return simple yes/no answers
    
    The calling code doesn't care about the actual matching path,
    it just wants to know whether to skip it or not. No intentional
    behavior changes here.

commit 39e00668f68eabccb77d708c49266404d6419193
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 13:31:15 2016 +0300

    Better diagnostics for systemd inhibit problems
    
    Dbus carries an error message which we used to just discard and
    log a generic "mumble failed" message. Use the error from dbus
    instead to help diagnose it when something goes wrong, eg RhBug:1372925.

commit 7d76713adbb0bef1ba0bc85373761bb061b8324a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 10:13:07 2016 +0300

    Do not permit excluding %license files via install policies (RhBug:1333509)
    
    In the old days licenses were typically packaged with "%doc COPYING"
    which when installed with --excludedocs would in many cases violate
    the license. Using "%license COPYING" avoids the most common pitfall
    but %license supports absolute paths too in which case those files
    can have other special attributes attached too. Such as documentation
    or language specificness, which must not cause exclusion for licenses.
    And all sorts of funny corner cases...
    
    On net shared paths we could not install anything anyway. Wrong
    colored files would conflict. The common theme between these is that
    the file is expected to be there via some other means, which makes
    it ok to skip them. This covers --excludedocs, install langs etc,
    ie the most obvious cases. Not covered here is skipping due
    --excludepath which should not be allowed either (if a path is
    inaccessible you can always relocate instead), leave a FIXME
    reminder as it requires a bit more work whereas this is trival
    to backport.

commit 6e7c6d1a18aa14fc7a980c43d980a26d82f785c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 09:43:54 2016 +0300

    Revised fix for CVE-2013-6435
    
    In case of hardlinked files, we first create a zero-length file
    to which all the links are created, the content comes in the last
    link. When the links have been created with no permissions at all
    (as per commit 7e26e2bd726f48836be289400c7d82cb8b067dc1), reopening
    the final file for writing the actual content fails for non-root users.
    Which breaks installation of hardlinked files for regular users,
    including our testsuite.
    
    Creating the files with write-only permissions solves the issue - we
    *are* writing to these files afterall so it only makes sense.
    This doesn't stop root from reading the file but neither does zero
    permissions so no change there. But if somebody reads a file with
    write-only permissions and gets garbage, at least we get to tell
    them "told you so".

commit 94bb6283be444fb10f68dc34ba22e517da19a067
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 09:39:20 2016 +0300

    Revert "Always set file attribute for hard linked files"
    
    This reverts commit a42a8cc175758ae0d1b21fd92891848c0399fe6d.
    On closer examination this makes hardlinked files vulnerable to
    CVE-2013-6435 again, so it's not a very good fix for breakage
    caused by fixing CVE-2013-6435.

commit 3f9b7bc64e8c8f2d355ce24cf67c69f507e07d5e
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Oct 7 15:45:47 2016 +0200

    Fix mini-symtab in find-debuginfo.sh for arches with function descriptors.
    
    add_minidebug uses nm to select the function symbols to include in the
    mini-symtab table. But on arches that use function descriptors (like ppc64)
    nm --format-posix doesn't make it clear which symbols are real functions
    The symbols point to the (stripped away) function descriptor table).
    
    Use --format=sysv style to match the ELF symbol type directly instead of
    using the somewhat ambiguous symbol type char used in --format=posix style
    in binutils nm.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1052415
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit bd7611151b59dfe2f0feb41e478799b5bc26a391
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Oct 7 17:00:44 2016 +0200

    find-debuginfo.sh: Don't copy extra sections into .gnu_debugdata.
    
    When creating the compressed mini-symtab section in find-debuginfo
    add_minidebug we explicitly remove .gdb_index and .comment. But there
    can be other non-empty sections in the debuginfo that shouldn't be
    copied. For example rust binaries might have a .rustc section.
    
    Explicitly remove any non-allocated PROGBITS or NOTE sections.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1382394
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 9d8c7b6dbd1275edb57c727d496d53ee37b1c272
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Fri Sep 23 17:11:51 2016 -0400

    ima-plugin: Move the IMA plugin to the fsm_file_prepare hook
    
    Since newly installed files may be invoked by post install scriptlets,
    we need to have them signed before the scriptlets are executed.
    Therefore, we now move the IMA plugin to the fsm_file_prepare hook.
    This way we can also correctly handle skipped files without silencing
    away any errors from lsetxattr().
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit 7d89f49c4d75ad77fbd500d07dc21ecbaa7670bc
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Fri Sep 23 17:11:50 2016 -0400

    ima-plugin: Have executable configuration files signed
    
    Some configuration files are executables and so they require the
    signature in the extended attribute. If they are not executable,
    they can be skipped.
    
    Examples for configuration files that are also executables are
    the grub files in /etc/grub.d.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit a6e662f6bda2849274592cb223e6baf2dd385bb1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 10 11:57:14 2016 +0200

    rpm2archive: return 0 on success instead of stop iteration
    
    Solves: https://github.com/rpm-software-management/rpm/pull/94/files
    Thanks to Neal Gompa (ニール・ゴンパ)<ngompa13@gmail.com> for spotting this
    and proposing a solution!

commit a42a8cc175758ae0d1b21fd92891848c0399fe6d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Feb 4 10:46:47 2016 +0100

    Always set file attribute for hard linked files
    
    Fixes test cases broken by previous commit

commit 7e26e2bd726f48836be289400c7d82cb8b067dc1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 23 11:56:13 2015 +0200

    Create files with with 000 permissions to avoid leaking yet unchecked data
    
    As we are calculating the check sum while writing we only know the file
    content is correct after it being written comletely. CVE-2013-6435

commit 73a8f43b2bc53e366f7b595b771254c2bfb8bed8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 3 14:47:58 2016 +0300

    Bump version to appear newer than latest stable branch

commit b1e7ce815392d3f35618b6167c11bee77d23c6da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 3 13:55:39 2016 +0300

    Remove leftover include of <selinux/flask.h>
    
    Besides unused, this has started spitting warnings in recent selinux versions:
    In file included from selinux.c:5:0:
    /usr/include/selinux/flask.h:5:2: warning: #warning "Please remove any #include's of this header in your source code." [-Wcpp]
     #warning "Please remove any #include's of this header in your source code."
      ^~~~~~~

commit 2ea72daabe3f0c4bef628d5a16768f293ffab3df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 3 12:36:46 2016 +0300

    Fix behavior when %_build_id_links is undefined
    
    Commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2 tries to behave sanely
    and use compat setting when %_build_id_links is undefined, but
    rpmExpand() never returns NULL so the original check is incorrect.
    Check for empty string instead.

commit 689d9a53dd787962ac9d9129008d9f6615a544f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 3 10:38:47 2016 +0300

    Preserve timestamps by default in %make_install (RhBug:959872)

commit e5d3b9f682383ee026b5a86a47eb5f288bdf8991
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Mon Sep 19 16:15:39 2016 +0300

    rpmdb.c: (rpmdbCheckTerminate) return non-zero on subsequent runs
    
    This function is not necessarily called first by rpmdbCheckSignals, as
    long as it is a part of API.  Thus, it is important to return the same
    value on subsequent runs.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit 4c6e51e2c0e3deeb052ae3c47115b6d10cb0d696
Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Date:   Mon Sep 19 16:15:21 2016 +0300

    rpmdb.c: avoid double free in rpmdbClose, rpmdbMatchIterator, ...
    
    ... and rpmdbIndexIterator.
    This makes functions assume that the object has been freed if it is not
    on the list.
    
    Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>

commit e41550e375646475a99c2e336c82090dd23f7e85
Author: Mark Wielaard <mjw@redhat.com>
Date:   Thu Sep 15 14:53:04 2016 +0200

    Fix misleading-indentation in rpmplugins.c
    
    GCC6 will warn about:
    
    lib/rpmplugins.c: In function ‘rpmpluginsCallInit’:
    lib/rpmplugins.c:217:5: warning: this ‘if’ clause does not guard...
         if (hookFunc)
         ^~
    lib/rpmplugins.c:219:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
             if (rc != RPMRC_OK && rc != RPMRC_NOTFOUND)
             ^~
    
    GCC is right, this is misleading and causes the if statement to be executed
    even when it isn't necessary. It doesn't actually cause wrong results
    because rc is initialized to RPMRC_OK earlier and can only change when
    hookFunc != NULL.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 1b338aa84d4c67fefa957352a028eaca1a45d1f6
Author: Michal Marek <mmarek@suse.com>
Date:   Sat Sep 10 23:13:25 2016 +0200

    find-debuginfo.sh: Process files in parallel
    
    Add a -j <n> option, which, when used, will spawn <n> processes to do the
    debuginfo extraction in parallel. A pipe is used to dispatch the files among
    the processes.
    
    Signed-off-by: Michal Marek <mmarek@suse.com>

commit 038bfe01796f751001e02de41c5d8678f511f366
Author: Michal Marek <mmarek@suse.com>
Date:   Sat Sep 10 23:13:24 2016 +0200

    find-debuginfo.sh: Split directory traversal and debuginfo extraction
    
    This siplifies the handling of hardlinks a bit and allows a later patch
    to parallelize the debuginfo extraction.
    
    Signed-off-by: Michal Marek <mmarek@suse.com>

commit 0d76d6114da4f7852fce658e2ae7363ee296d1fd
Author: Pavel Raiskup <praiskup@redhat.com>
Date:   Thu Sep 15 10:37:25 2016 +0200

    build: better warning for non-unique %files section
    
    Background story is in rhbz#1374138, having the warning better
    spelled before would simplify macro debugging a lot in that case.

commit b5f1895aae096836d6e8e155ee289e1b10fcabcb
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Sat Oct 10 23:17:44 2015 +0200

    configure.ac: use link instead of compile for gcc flags test
    
    The logic that tests whether gcc supports or not certain flags uses
    AC_COMPILE_IFELSE(). However, when checking for stack smashing
    protection support, an AC_LINK_IFELSE() test is needed, since the
    build might work but not the link stage if certain libraries are
    missing for proper stack smashing protection support.
    
    Therefore, this commit switches to use AC_LINK_IFELSE().
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: James Knight <james.d.knight@live.com>

commit 19dbaff8dd051688c0acf1b6605bf13a7fe019bd
Author: Alexey Gladkov <gladkov.alexey@gmail.com>
Date:   Fri Sep 9 15:03:41 2016 +0200

    rpm2cpio.sh: refactoring to reduce extra dependencies
    
    rpm2cpio.sh was refactored to minimize the use of external tools.
    
    * after refactoring the utility requires to work: dd, printf, and unarchivers;
    * add check that file passed as argument is a rpm-file;
    * fix signatures of compressed data.
    
    Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>

commit 58a9cc704fd4b0aa60275d737d70738f6556e52d
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Sat Sep 10 18:15:42 2016 +0200

    Makefile.maint: use git-rev-list
    
    No need to query all commits and count lines of output, we can just ask git to provide information directly.

commit a60f36a55cff3331e8bef3a1ab95c87d313911bb
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Fri Sep 9 01:52:39 2016 +0200

    prevent exceeding 32 bit memory limitations with multithreaded xz compression
    
    As 32 bit build suffers under the limitation of 32 bit address space,
    regardless of it's environment would be ie. 64 bit and not have this
    constration, rpm must make sure not to exceed this memory limitation.
    When using multithreaded xz compression, the number of threads used will
    increase the memory usage, making it necessary to check the memory
    required with the number of threads to be used.
    
    Number of compression threads will therefore be kept reduced untill
    amount of memory required won't exceed this limitation.
    
    For 32 bit binaries running under 64 bit host environment, where less
    available memory will be reserved for kernel, easing memory constraints,
    determination of this will be done by a combination of checking host
    arch as well as whether 32 bit personality flag is set, thereby still
    allow a sligthly greater memory usage for such cases to avoid
    imposing unnecessatry limitations under such environments.

commit 932f14fdf8dc0ef0a911e5af7eae4ecddfa759c4
Author: Jakub Filak <jfilak@redhat.com>
Date:   Fri Sep 2 14:41:34 2016 +0200

    macros: make rpmsig's gpg command alterable
    
    The current version of gpg2 asks for password using a curses dialogue
    or a GTK dialogue. Both methods breaks automation of package signing.
    
    If we want to be asked the old way on terminal, we must run gpg2 with
    additional arguments '--pinentry-mode loopback' (and gpg-agent must be
    allow looping back (--allow-loopback) - allowed by default since 2.1.13).
    
    Currently there is no other way how to tweak gpg command line than
    creating a wrapper script and redefining %__gpg macro.
    
    The wrapper script method can lead to use of wrong version of gpg
    binary, hence, this patch adds possibility to specify additional command
    lines argument passed on gpg's command line.
    
    Signed-off-by: Jakub Filak <jfilak@redhat.com>

commit 1f553f9cdccf6e59685da5309677530b33ede38a
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Tue Sep 6 16:29:50 2016 +0200

    macros: check if GNU Make supports -O
    
    Otherwise on old platforms which have GNU Make < 4.0 it will fail with:
    /usr/bin/make: invalid option -- 'O'
    
    We could check version of GNU Make, but we want to rely on feature, and
    not on the version. Features can be backported.
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
    Acked-by: Alexey Gladkov <agladkov@redhat.com>

commit f255c6bdb27ad1512c043a64195410d46996395a
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Sep 5 10:12:29 2016 +0200

    Fix overflow in cpio filename by limiting the allowed length to 4kB
    
    This could lead to a stack-based overflow, while parsing a crafted CPIO header in the payload section of an RPM file.
    
    Fixes: rhbz#1168715, CVE-2014-8118

commit 394cbfb668655f7aa10ff6b178ec92b44a117ea6
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 29 18:08:29 2016 +0200

    tests: Do not pass real pathnames to fakechroot commands
    
    for the remaining tests.
    Also add a Provides: /bin/sh to one of the specs as the test does no longer
    works without for some unknown reason.

commit 5b8b2bdd328c36d400ea6b73869b447941173a9b
Author: Michal Marek <mmarek@suse.com>
Date:   Fri Aug 12 21:47:16 2016 +0200

    tests: Do not pass real pathnames to fakechroot commands
    
    Fakechroot returns -ENOENT for such paths:
    
    $ FAKECHROOT_BASE=$PWD/tests/testing fakechroot ls /not_an.rpm
    /not_an.rpm
    $ FAKECHROOT_BASE=$PWD/tests/testing fakechroot ls $PWD/not_an.rpm
    ls: cannot access /home/mmarek/GIT/rpm/not_an.rpm: No such file or directory
    
    Signed-off-by: Michal Marek <mmarek@suse.com>

commit 89394bfcc84d56864e78aa7e5212ca3d2d633ce9
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Aug 29 08:36:52 2016 -0400

    pythondistdeps.py: Add --majorver-only dependency switch
    
    Tomas Orsava from the Fedora Python SIG requested that
    the dependency generator support only using pythonXdist(M)
    format for both Provides and Requires, so now this capability
    exists.

commit 3171982612633e44de40361d7d7d6e94dbd3753a
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Tue Aug 9 10:52:15 2016 -0400

    rpmsign: Use default hash algo if RPMTAG_FILEDIGESTALGO missing
    
    Use the default hash algorithm md5 on RPMs that do not contain the
    RPMTAG_FILEDIGESTALGO. This may be the case if the default hash
    algorithm used on files is md5 and thus no RPMTAG_FILEDIGESTALGO is
    being written (see build/files.c:genCpioListAndHeader()).
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit 10633641ec17081cca6332c3fb4abeea3df4059f
Author: Mark Wielaard <mjw@redhat.com>
Date:   Wed Aug 24 17:06:34 2016 +0200

    Fix libdw configure check.
    
    commit a82119 "configure.ac: use LIBDW always conditionally" contained
    a typo that caused WITH_LIBDW_LIB never to be set when you were using
    libelf. Fixed by reverting the "!=" to "=" again.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 30d472c8af086df077e6cf047a87fdaf93c9b21b
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Wed Aug 24 15:37:16 2016 +0200

    pythondistdeps.py: add forgotten import
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit a82119bf352400ee891105820b804bf946d5c6ee
Author: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Date:   Wed Aug 10 13:58:30 2016 +0200

    configure.ac: use LIBDW always conditionally
    
    References: https://bugzilla.redhat.com/show_bug.cgi?id=1365278
    Reported-and-tested-by: Neal Gompa <ngompa13@gmail.com>
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>

commit 3910b1d1cfd0205b0f6f1a044a287d6bfdd351b2
Author: Richard W.M. Jones <rjones@redhat.com>
Date:   Wed Aug 10 15:01:31 2016 +0100

    build: fgetc returns int, not char.
    
    Returning the value into a char is a mistake on all platforms, but is
    particularly bad on RISC-V.  On that platform (like ARM) char is
    unsigned.  Therefore EOF (-1) is returned as 255, and the subsequent
    test 'c == EOF' ('255 == -1') fails causing an infinite loop.
    
    Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

commit cf5679397f36710a942fcb83a63c690eb25d72af
Author: Richard W.M. Jones <rjones@redhat.com>
Date:   Thu Aug 11 11:38:18 2016 +0100

    rpmrc: Convert uname.machine == "riscv" to "riscv32"/"riscv64"/"riscv128".
    
    On RISC-V, the kernel can return uname.machine == "riscv" (for all bit
    sizes).  I say "can" return, because that is the default, but it is
    also possible to compile the kernel specially so it returns "riscv64"
    etc.
    
    GNU is using "riscv64".
    
    This commit converts the kernel uname machine type "riscv" to a more
    suitable value.
    
    This conversion is supposed to be done by the arch_canon table.
    However the arch_canon table is not populated until after the
    defaultMachine function is called for the first time, making it a bit
    useless.  In any case, arch_canon cannot take into account the bit
    size of the architecture, but the C code here can.
    
    Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

commit d9d47e01146a5d4411691a71916b1030ac7da193
Author: Richard W.M. Jones <rjones@redhat.com>
Date:   Tue Aug 9 18:25:24 2016 +0100

    RISCV 64-bit (riscv64) support.
    
    Based on Mark Salter's aarch64 support patch (commit 8e1ca16c58).
    
    Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

commit 83e4d44b802d39dfbd407488c0d9f629799b809c
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Mon Aug 22 12:56:05 2016 +0200

    pythondistdeps.py: skip .egg-link files
    
    From setuptools's documentation:
    These files are not eggs, strictly speaking. They simply provide a way
    to reference an egg that is not physically installed in the desired
    location. They exist primarily as a cross-platform alternative to
    symbolic links, to support "installing" code that is being developed in
    a different location than the desired installation location.
    
    If we read .egg-link using pkg_resources.Distribution it will
    never have version as it is just list of directories which should be
    taken into account.
    
    We could change into that directories and add eggs from those locations
    for parsing, but RPM's dependency generator already passing all files
    from built RPM so it just does not make any sense to traverse those
    directories.
    
    After all written above, let's just ignore .egg-link files.
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 2f51022e1586a9b3ac8036b23995074b00910475
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Mon Aug 22 12:55:50 2016 +0200

    pythondistdeps.py: show warning if version is not found in metadata
    
    In 49197c930bb6090d0fca4089ea75ec9d10e62f99 we introduced skipping
    metadata which has no version, but it's better to show some warning.
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 49197c930bb6090d0fca4089ea75ec9d10e62f99
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Aug 20 11:01:06 2016 -0400

    pythondistdeps.py: skip distribution metadata if there is no version
    
    For example, reading .egg-link using pkg_resources.Distribution returns
    actual metadata, but it does not contain version. It returns traceback like:
    
    File "/usr/lib/rpm/pythondistdeps.py", line 113, in <module>
        pyver_major = dist.py_version.split('.')[0]
    AttributeError: 'NoneType' object has no attribute 'split'
    Traceback (most recent call last):
      File "/usr/lib/rpm/pythondistdeps.py", line 113, in <module>
        pyver_major = dist.py_version.split('.')[0]
    AttributeError: 'NoneType' object has no attribute 'split'
    
    Let's just skip such errors as we can't do much about that.
    
    Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1368673
    Reported-and-tested-by: Igor Gnatenko <ignatenko@redhat.com>

commit 95712183458748ea6cafebac1bdd5daa097d9bee
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Wed Aug 3 11:14:05 2016 +0200

    let debuginfo packages provide the build-id
    
    This patch lets debuginfo packages provide build-id like follows:
    
     debuginfo(build-id) = c63cb23876c5fa85f36beaff58f8557e1bf22517
    
    Originally this patch was written by Jan Blunck <jblunck@suse.de>.
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 45bfecbf7dd4249abc197a5fc908e4efcc3108ad
Author: Mark Wielaard <mjw@redhat.com>
Date:   Thu Jun 16 14:24:22 2016 +0200

    Add option to have unique debug file names across version/release/arch.
    
    Introduce a new macro _unique_debug_names that when set will pass
    --unique-debug-arch "%{_arch}" to find-debuginfo.sh to create debuginfo
    files which end in "-<ver>-<rel>.<arch>.debug" instead of simply ".debug".
    
    Adds testcases for dwz and buildid with and without unique debug file names.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 67d3df338875ad5d9601e360bfdbd4289f271bc1
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:14 2016 +0200

    Make adding GDB index sections configurable.
    
    Introduces _include_gdb_index macro and -i flag to find-debuginfo.sh to
    enable or disable adding a .gdb_index section to debug files. Adds tests
    to make sure the .gdb_index is really added (or not) when requested.
    Checks that gdb-add-index is actually installed instead of silently
    failing if not. Similar for dwz.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 5ef1166ad96e3545784fa5420a49e1b2cd481e8e
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:13 2016 +0200

    Make it possible to have unique build-ids across build versions/releases.
    
    Introduce a new macro _unique_build_ids that when set will pass the
    version and release to find-debuginfo.sh and debugedit to recalculate
    the build-id of ELF files.
    
    Includes two new testcases to make sure the new setting works as expected
    both when set and unset.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit bbfe1f86b2e4b5c0bd499d9f3dd9de9c9c20fff2
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:12 2016 +0200

    Add build-id links to rpm for all ELF files.
    
    This patch moves the main ELF file build-id symlinks from the
    debuginfo package into the main package. And uses different
    base directories for the main ELF file build-id symlink.
    For the main build-id use /usr/lib/.build-id and for the debug
    build-id use /usr/lib/debug/.build-id.
    
    There are two reasons for doing this. The main package and the
    debuginfo package might get out of sync, or the debuginfo package
    might not be installed at all. In which case finding the main ELF
    file through the build-id symlink becomes impossible. Secondly by
    moving the main ELF build-id symlink in its own directory the
    /usr/lib/debug directory gets populated with only debuginfo files
    which is convenient if the user might want to have that directory
    populated through a network mountpoint.
    
    To support the new logic the symlink code has been moved from
    find-debuginfo.sh to build/files.c.
    
    This also includes support for a new config %_build_id_links that
    defaults to compat. The other settings are none, alldebug (the old
    style) and separate. compat is like separate, but adds a compatibility
    link under /usr/lib/debug/.build-id for the main build-id symlink.
    
    There are several new testcases added to test the various settings
    using the new keyword "buildid".
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 4ec7c396fb9464a3fcff006408871f8175ab169b
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:11 2016 +0200

    Add sepdebugcrcfix to fixup old style gnu_debuglink CRC checksum.
    
    Some old tools might still use the .gnu_debuglink section to find
    separate debuginfo files instead of build-id style lookups. When
    dwz has compresses the .debug files the original CRC in the main
    ELF file will no longer match. Make sure to run sepdebugcrcfix
    after dwz to recalculate the CRC.
    
    The original fix was created by Jan Kratochvil based on code
    from GNU binutils BFD. https://bugzilla.redhat.com/show_bug.cgi?id=971119
    I added a testcase to make sure the CRCs were all correctly
    updated after dwz has run to compress a debuginfo package.
    And a change (plus testcase) to make sure implicit suid binaries
    didn't accidentially got their suid flag bit.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 41c4dcf507e2208585d6dc0952f59686a3a69d69
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:10 2016 +0200

    Don't use hardcoded paths to tools/scripts in find-debuginfo.sh.
    
    This prevents installation and testing in any other location than
    /usr/lib/rpm.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 6b3b435fa644522197003460a96cd11253b1494d
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:09 2016 +0200

    Add dwz debuginfo compression support.
    
    Support for dwz compression has been in Fedora since a couple of years.
    https://fedoraproject.org/wiki/Features/DwarfCompressor
    
    The original find-debuginfo.sh patch was written by Jakub Jelinek.
    https://bugzilla.redhat.com/show_bug.cgi?id=833311
    The new testcase using the macros.debug was added by me.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit b33a41da3689c4a803986eb95e5875e0dff36259
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Jun 14 17:07:08 2016 +0200

    Add find-debuginfo.sh -m minisymtab support.
    
    Support for minisymtab (a minimal function symbol table in a compressed
    section in the main binary) has been in gdb and elfutils based tools
    since some years. Fedora has had this as rpm-4.10.0-minidebuginfo.patch
    since 2012.
    
    The patch adjusts macros to pass -m to find-debuginfo.sh when
    _include_minidebuginfo has been set. find-debuginfo.sh now takes -m
    as argument to generate the .gnu_debugdata ELF section to be added
    to the main executable.
    
    To support the testcases a new macros.debug is added that is used to
    generate debuginfo packages in the rpmbuild.at testsuite.
    
    The original support was added to Fedora rpm by Alexander Larsson.
    Lubos Kardos fixed a bug in it when strip -g was used. I added some
    configuration macros and two testcases to check the basic support works
    and for the strip -g bug.
    
    Signed-off-by: Mark Wielaard <mjw@redhat.com>

commit 0e51d170042a878abb31d84e904a8ac3ca0d8254
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Jul 4 15:36:48 2016 +0300

    Remove some unnecessary assignments flagged by cppcheck

commit 1ac507f15f014e69b926a1c2bf9a46a2a4dcaff3
Author: Frederic Bonnard <frediz@linux.vnet.ibm.com>
Date:   Tue Jul 5 10:04:02 2016 +0200

    Fix preun scriptlet failure not aborting rpm erase
    
    Since commit f4a49c3d446bb180ca6b30a4337065fb6511e641 ( Unceremoniously
    eliminate rpmpsmNext() ), when a preun scriptlet is failing, rpm continues to
    be erased. Handling return code of runInstScript.

commit 215f3e9466650819b0f5ebdb01512629bfd4fce1
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Tue Jul 26 11:35:29 2016 +0200

    rpmplugins: don't print error if return code is RPMRC_NOTFOUND
    
    For example, in simple docer container there is no systemd, so
    systemd_inhibit plugin returns RPMRC_NOTFOUND in _init() which
    automatically disables plugin (!= RPMRC_OK).
    
    So let's say that if plugin returns RPMRC_NOTFOUND during init()
    it's just signal to disable plugin and not show error.
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 6a8754b2153e0e4305ef2bc5a789bfe02f65e889
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 14 15:01:16 2016 +0200

    perl.req: Skip over multi line return statements
    See Rhbz#1275551

commit d06ee682da45d0a727c77ca8ae7ad25378010639
Author: Igor Raits <i.gnatenko.brain@gmail.com>
Date:   Thu Jun 9 14:39:23 2016 +0200

    rpm/transaction: move from __future__ to the top
    
    *** Error compiling '/builddir/build/BUILDROOT/rpm-4.13.0_alpha-239g190fa42.fc24.x86_64/usr/lib64/python3.5/site-packages/rpm/transaction.py'...
      File "/usr/lib64/python3.5/transaction.py", line 9
    SyntaxError: from __future__ imports must occur at the beginning of the file
    
    Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>

commit 190fa4235fc39f9dd5016f6c7fe12ae3557d09c1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jun 4 23:18:22 2016 +0300

    python: Close file in _f2hdr also if hdrFromFdno fails

commit 9ff84dd915c4a927550ca7507a7dfc8a7a775078
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jun 4 23:15:53 2016 +0300

    python: Remove unnecessary shebang

commit c2519be9565ba455ccf0da3a7f92d5187398f83b
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jun 4 23:15:25 2016 +0300

    python: Trivial code cleanups

commit 5d58a17f7d44e9e40b894eda03e30b4c66182315
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jun 4 23:04:17 2016 +0300

    python: Fix signalsCaught() docstring

commit ebf6aa1be0b957405751e39867e44510d9086ac8
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jun 4 23:00:58 2016 +0300

    Spelling fixes

commit 22588250baa1bfa5c00f57d39329d0c144fc8112
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 2 15:54:01 2016 +0200

    Add support for _buildhost macro for setting the build host manually.
    
    This is useful for reproducible builds. See rhbz#1309367.

commit 7a7c31f551ff167f8718aea6d5048f6288d60205
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed May 25 14:52:00 2016 +0200

    Set FD_CLOEXEC on opened files before exec from lua script is called
    
    rhbz:919801

commit 816c7cf3fdae5c45de02a42a2245549778e2ca80
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 30 11:01:39 2016 +0200

    Filter out provides/requires from %_docdir (rhbz:964126)

commit 4e5d4d195879719e7c1c40a6759ca5be7fc1ab57
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 26 16:54:31 2016 +0200

    Change rpmfcAttrMacro() and rpmfcAttrReg() to accept variable argument list
    
    Needed for next commit

commit 1aeddbc2714faa9b26a60a0256d0b9751ab9796b
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed May 11 22:27:52 2016 +0200

    fix segfault when calling with args==NULL
    
    the doc explicitely describe "args" as "signing parameters (or NULL for
    defaults)"
    
    This no more true since commit 6e9eab345a18d01f0c2c35fa8bb842744093364c
    As such, with rpm-4.13, some callers will segfault (eg: perl-RPM4's
    testsuite)

commit 0964912b94f9f48a0a812fbfbb2f996dbd93eff0
Author: Jonathan Wakely <github@kayari.org>
Date:   Wed May 25 12:31:19 2016 +0100

    Fix off-by-one error
    
    There's an off-by-one error in base64_decode_value which results in undefined behaviour:
    
        void* out;
        size_t len;
        rpmBase64Decode("\x7b", &out, &len);

commit 258e3065687c9e6b53b6f2b6c7fa6c5694508791
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 23 10:19:39 2016 +0200

    Fix signing with non-ASCII uid keys (rhbz:1243963)
    
    Removed setting LC_ALL to "C" because since commit [1] the gpg program
    gets password by yourself from terminal so there is no sense in
    setting LC_ALL to "C" if the terminal settings is e. g. UTF-8. That was
    only confusing gpg program and it was not able to properly get and
    display non-ASCII characters.
    
    [1] 0bce5fcf270711a2e077fba0fb7c5979ea007eb5

commit 5d5dd569d01300db833e434ff49beb8b22627310
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 19 13:01:58 2016 +0200

    Use armv7hl isa for all armhfp (armv7h*l) arches (#1326871)
    
    Patch from Dennis Gilmore <dennis@ausil.us>

commit 6ac793b215ac8d9db99d9632cbf71b014c7ffee0
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 12 16:28:09 2016 +0200

    Filter unversioned deps if corresponding versioned deps exist (rhbz:678605)
    
    After automatic dependencies are generated filter out from them
    unversioned dependencies if versioned dependencies with the same name,
    type and color already exist.

commit 1c5c9fc347f47505c99d6f4abac79069fbe680cf
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 9 14:34:44 2016 +0200

    Add description and examples section to rpmspec man page (rhbz:#1308133)

commit e9e9b667795b749e63c41f53e55839ee6e8d8bbd
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Fri Apr 29 07:09:50 2016 -0400

    Fix handling of zero-length file digests
    
    Do not try to convert a zero-length file digest to a binary representation.
    Zero-length file digests may stem from directory entries and symbolic links.
    Return an empty signature in this case.
    
    Returning an empty signature results in the ima.so plugin getting a sequence
    of zeroes that it would write into security.ima xattr. Check for a signature
    header consisting of only zeroes and do not write it into the filesystem.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit 89e6317c75b494905590903fadbfdc3c8d31e2b8
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Fri Apr 29 07:09:49 2016 -0400

    Extend header size to 256MB due to file signatures
    
    Extend the header size to 256MB in case an RPM has a lot of files
    and the file signatures do not fit within the current limit of 16MB.
    
    An example for an RPM with many files is kcbench-data-4.0. It contains
    more than 52000 files. With each signature with a 2048 bit key requiring
    256 bytes plus a preamble, its representation in text from, and other
    overhead, the size of the header (index length and data length) exceeds
    32Mb.
    
    If this particular RPM's files have been signed using this patch, older
    versions of the rpm tool will report the header being too large. So this
    failure is expected then.
    
    By setting the limit to 256MB we create a lot of room for the future.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit f03b2c9f351d0f70ab3ad6ef2046e0b3fd50ba7f
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Mon Apr 25 18:33:29 2016 -0400

    Check range of algo index parameter before accessing array with it
    
    Check the range of the algo index parameter before using it for
    accessing an array.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit eae65aad6f9652c41195e8637f88f30565ed47f9
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 27 10:05:29 2016 +0200

    Drop const to fix compiler warning

commit e065ea3b217f2c24d57dd077f2df1304bdfd3de8
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Mon Apr 25 18:33:28 2016 -0400

    Fix various memory leaks in file signature related functions.
    
    Fix various memory leaks in file signature related functions.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit 5cc41e45fb493af805ad81c8af77fb72d04d325b
Author: Stefan Berger <stefanb@us.ibm.com>
Date:   Mon Apr 25 18:33:27 2016 -0400

    Fix indentation and formatting
    
    Fix the indentation and formatting in signature related files.
    
    Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>

commit b4f0e7ef184f2cdfcee5289108763e46be9438db
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 22 07:58:46 2016 +0200

    Make sure getNEVRA always sets td.data
    
    Fixes segfault when reading tampered package without any of the NEVRA tags.

commit cddf43a56f19711866371f02f378dc4095b0fadd
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Apr 25 14:38:47 2016 +0200

    Fix sigsegv in stringFormat() (rhbz:1316903)
    
    Just skip duping of NULL and return it. Returned NULL is handled in
    upper layer.

commit b722cf86200505b3e3fcbb2095c4ff61f1f5a2ab
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Apr 25 13:31:08 2016 +0200

    Fix reading rpmtd behind its size in formatValue() (rhbz:1316896)
    
    When it is read from index higher than size of rpmtd, return "(none)".

commit eb632e5158fa4ef993b0e5df2a354f0be7a7a71d
Author: Nikola Forró <nforro@redhat.com>
Date:   Wed Apr 20 15:39:36 2016 +0200

    Use correct source file for rpmsign module

commit 7ebf34fc1b0b7b3fb149761fee01a92859b1a69e
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 18 15:59:18 2016 +0200

    Add --justdb to the erase section of the man page, too

commit cfcdd942ade7e50e8738b4721fad0c19008d9b84
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Apr 18 13:28:33 2016 +0200

    Show a warning when external dependency generator is used
    
    Often people have problems which can be solved by using the internal
    dependency generator instead of the external one (rhbz: 1297557,
    1326871, ...) and they are not aware that the external dependency
    generator is deprecated and it shouldn't be used. So show a warning to
    inform people about this fact.

commit 8e744513df33ab436cf2446b15174e8d9c2797d0
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 15 15:59:58 2016 +0200

    Allow lang code only QT translation file names in find-lang.sh
    
    Previously the file names hat to have appname_langcode.pm now just
    langcode.pm is supported.
    Resolves: RhBz:#729336

commit 69ed95eb422c59f9d99f75ccb78f32311a31702d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 15 10:45:47 2016 +0200

    Enable --no-backup-if-mismatch by default in %patch macro (rhbz:884755)

commit 66a6082634687e45b321a5ade9887420d5830162
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 15 10:47:57 2016 +0200

    Add %{_default_patch_flags} to %__patch which is used in %autosetup
    
    %{_default_patch_flags} is used in %patch spec directive and now it is
    used also in %__patch macro which is used in %autosetup macro. This make
    consitent using newer %autosetup macro and older %patch directives.

commit c24523e021ddeb912a402f29ce76dc7ca0bb47a3
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 15 10:32:22 2016 +0200

    Clarify obsolete --prtpkts in man page

commit 17d43f855407538a9649d642aac49f62c8f875e9
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 15 10:31:53 2016 +0200

    --nocontexts is still used by the selinux plugin

commit 2a6e41c436966fdbf64b58dad88ae142a958e313
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 15 09:55:31 2016 +0200

    Describe --rcfile and --macros more clearly

commit 42eb6870ed244942f2f0b38dfefa17bbddcc6c45
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 15 09:54:43 2016 +0200

    Fix formatting in man page

commit e297b51750598d926d053c1d1645aab78a54c46a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Apr 14 16:23:35 2016 +0200

    Add enahance dependency forgotten in the recent commit [1]
    
    [1] 9c1e995043a999dcac05a74aa8bcf934122d40ba

commit 87456ecff195188454d601ff8acc912f35305a96
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Apr 14 14:11:39 2016 +0200

    Don't fail build if there are no pyc/pyo/... files to link
    
    The fact that pyc and pyo doesn't have same the content doens't mean
    an error. It just means they can't be hard linked but that is not
    an error. In normal circumstances the file brp-python-hardlink from
    the rpm packages is often overrided by the file from redhat-rpm-config
    that is why this problem wasn't revealed earlier.

commit 9c1e995043a999dcac05a74aa8bcf934122d40ba
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Apr 14 13:12:51 2016 +0200

    Make creating index records consistent for rich and rich-weak deps
    
    If a package contains a rich require dependency then this rich
    dependency is parsed and also subdependencies are stored into the
    require index.  For example for rich dependency "(A and B)" the whole
    string "(A and B)" is stored into the index Requirename but
    subdependcies "A" and "B" are stored into index too. Previously this
    parsing and storing subdependencies was done only for require rich
    dependencies. Now it is done also for weak rich dependecies (suggests,
    supplements and recommends).
    (rhbz:1325982)

commit 6f4e803ee57349d4f375bd3b886256dd7d73fbca
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 12 13:59:06 2016 +0200

    Clarify and correct explaination for obsolete --nocontexts

commit c25b41416523de6869281a1fce557ca16ad31534
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 12 13:51:34 2016 +0200

    Added undocumented command line parameters to rpm(8) man page:
    
    --macros, --noplugins, --xml, --filetriggers, --dupes, --fileclass,
    --filecolor, --fileprovide, --filerequire, --filecaps
    
    Split up query-options section into sub sections.
    Combined noscript and notrigger commands into one line.

commit 2b3f0dbf013a72077662333b57bbbfb9e8b094a7
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 11 12:26:39 2016 +0200

    Make help strings a bit nicer

commit eef69b609325a7262dbe6f5e3bf1592b35d4f6f1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 11 11:22:52 2016 +0200

    Remove obsolete --fscontext popt alias

commit 469553385ee766792529235a9e3c07efee14ba72
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 11 14:37:27 2016 +0200

    Fix index generation of rich dependencies with an else part
    
    As A if B else C is identical to "(A if B) and (C or B)" we
    need to put both B and !B on the index.

commit 4ca3ea32d3e56b879294d74477c3e88816abedcd
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 8 14:26:27 2016 +0200

    Document less important command line options in rpm-misc(8) man page

commit 673bd8a0660dff11b814f882ecad095e88196209
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 7 09:49:13 2016 +0200

    Compare Checksums case insensitive
    
    Resolves: trac #905

commit 7c101971155964c3ad1e74743c089f55be6f7be3
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Apr 6 09:44:27 2016 +0200

    Show a warning for macro expansion in comments again
    
    Fix regresion from ddf9ec7befe83ba1a12453a56e4e471aa9bcf4d3

commit 16c658f1833f5cf9f244cb9f3465587e3bce2491
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Mar 17 16:42:41 2016 +0100

    Implementation of optional section end markers
    
    This commit adds optional section end markers that means end markers
    are not mandatory if they are not used the end of a section is where
    the next section starts so the same behavior as the behavior before
    applying this commit. There can't be any commands in space between
    sections, just comments and macro definitions are allowed there.
    
    The syntax for section end marker is "%end".

commit e3e5db7f396bcdbaf04f87ba3b5c8101ee8f07f5
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 5 14:50:56 2016 +0200

    Try arguments of rpm -q as file names (-p)
    
    if no match is found in the rpm db and they end with .rpm
    Resolves: trac #28

commit 51348f5acee4ef8e2fa420fdab02a35af4cc8e76
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 4 16:44:11 2016 +0200

    Fix thinko in previous patch

commit 8a6921b867af607fd474b7890c6ccf6942eac660
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 4 12:21:05 2016 +0200

    Don't add PayloadFilesHavePrefix rpmlib requires if _noPayloadPrefix is set

commit cd735aa9a44d2d226aa1efc494875321dde93d12
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 1 15:57:30 2016 +0200

    Add back support for _noPayloadPrefix
    
    Resolves: trac #900

commit 03b72276b5c04de323e9a1652ccab4bc674fed5e
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 1 12:37:45 2016 +0200

    Fix possible NULL pointer access
    
    Resolves: trac #899

commit 082c62a3374bb8e9442de98e664784932a928513
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Mar 31 16:50:08 2016 +0200

    Better error handling of rename() failure (rhbz:1177479)
    
    - For general rename failure display "rename failed -" followed by
      string representation of errno. This fixes regression from
      a103e87c49b3c7496113cbbc77b622e866fde433
    
    - When rename fails with errno ISDIR, show special message:
      File from package already exists as a directory in system

commit 57a96d2486c26142ebb168a1f00b0374d35bf044
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 31 11:53:31 2016 +0200

    Make arrays static so valgrind does not complain about lost memory
    
    Resolves: trac #888

commit a6946fa64997741baceedcc4cbc2f45dd0db0d18
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 31 10:51:41 2016 +0200

    Updated and fixed comment on Python rpm.ts class
    
    Completed list of RPMTRANS_FLAG values

commit 8f2430dea489000d9eb9502834f5b5ef1c97272d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 31 10:49:01 2016 +0200

    Add RPMTRANS_FLAG_DEPLOOPS to the Python binding (trac #881)

commit 31ef265a93de164225f45faf50afb08b0c1ecb71
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 30 10:28:14 2016 +0200

    Fix code formatting

commit dddc6e7be597e787917009c3d892ebe29c99eff8
Author: Boris Egorov <egorov@linux.com>
Date:   Sun Mar 27 23:55:08 2016 +0600

    Misleading indentation fixes (GCC6)
    
    package.c:
    This one is definitely an error (See commit 57000e976b1e5ed2c3c1e78567cd
    stating "No functional changes").
    
    rpminstall.c:
    Judging by the code above, we should set eiu->fnp to NULL only on error,
    but it happens every time we reach function end.
    
    Signed-off-by: Boris Egorov <egorov@linux.com>

commit 604648592bb9e4c74132b2d61f2d2180cf9f598e
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sat Mar 26 06:28:02 2016 -0400

    rpmrc: Add support for x86_64 for Darwin, and warn for undefined arches
    
    Note that arches not currently defined may work, but there's no
    guarantee that Darwin/OS X identifies them correctly.

commit 9e64f8d5b7260bffa9fcfd1c1a408cfe1db65cf7
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Mar 18 17:14:43 2016 +0100

    configure --with-external-db should fall back to external if unspecified.
    
    configure.ac implies that there is a fall back to the internal db if
    no external one is specified or found. But that doesn't work since
    with_external_db defaults to no when not --with[out]-external-db isn't
    given. Fix that by defaulting to "maybe" and then after the check for an
    internal db fails fall back to the external db.h if available.
    
    This keeps the current behavior of defaulting to --without-external-db (no)
    if nothing is specified, but falls back to trying with the external one if
    there is no in tree internal db. Giving an explicit --with-external-db or
    --without-external-db doesn't change and produces an error if no external
    or no internal db is found.

commit 64b6cbbb4422ccd55922584bfd01bf00c871cb40
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Mar 18 16:54:39 2016 +0100

    Make sure CPPFLAGS are setup correctly for finding nspr.h
    
    If we have pkgconfig make sure CPPFLAGS are setup correctly for the nss
    -I include path. Otherwise the checks to find nspr.h will fail.

commit 18bf1aa6d975abc2f5c63cc599b0fbef1ba691e7
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Mar 18 16:16:50 2016 +0100

    Fix rpmi.at testcase by checking actual datadir and docdir used.
    
    The testcase for rpm -i with/without --excludedocs had hardcoded paths
    checking if files were installed or not. This meant that depending on
    the configure --prefix used the test might fail because the datadir
    and/or docdir were different from expected. Fixed by checking the
    actual datadir and (default)docdir to test against.

commit 3ad7495442a8dd25858279d87403622320006036
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Mar 17 09:52:30 2016 -0400

    Fix pkgconfig reference to Lua in Libs.private

commit 50905f4a599f167622736fab24800fe062551809
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Mar 13 09:05:00 2016 -0400

    Use fuzz settings for %autopatch/%autosetup
    
    In the %apply_patches that inspired %autopatch, patch application
    respects the fuzz settings that are used for %patch. %autopatch
    and %autosetup weren't using this, which led to an inconsistent
    patch application behavior.

commit 877d5b130cbfdfd93ad39c1f0f1505790eba264e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Mar 16 17:15:14 2016 +0100

    Fix non-working combination of %lang and %doc directive (rhbz:1254483)

commit 92a8babf1b46fa40a57a0e807f949f2c0f186435
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 11 16:43:35 2016 +0100

    Remove hopefully the last static buffer in rpm spec reading

commit 19fe0d9ae12644b8af9513aa2a8cf7d16f7caa61
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Fri Mar 4 16:40:30 2016 -0500

    Add posix.redirect2null
    
    This is useful to silence output in forked programs:
    https://bugzilla.redhat.com/show_bug.cgi?id=1287918
    
    Tested with the following scriptlet:
    %post -p <lua>
    pid = posix.fork()
    if pid == 0 then
        assert(posix.exec("/bin/sed"))
    elseif pid > 0 then
        posix.wait(pid)
    end
    pid = posix.fork()
    if pid == 0 then
        posix.redirect2null(2)
        assert(posix.exec("/bin/awk"))
    elseif pid > 0 then
        posix.wait(pid)
    end
    
    As expected, the error message from sed is printed, the error message
    from awk is not.

commit 5490887c3a878fbde742ec16ed3dc39acfd30e0d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Mar 8 17:32:22 2016 +0100

    Add option the select option --builtrpms to rpmspec(rhbz:961833)
    
    When --builtrpms is used then rpmspec operates only on the binary
    package headers of packages which would be built from spec. That means
    ignoring package headers of packages that won't be built from spec
    i. e. ignoring package headers of packages without file section.

commit cc611412453b77bfd7aa33d8bbcfb8dea727c49a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Mar 8 14:29:24 2016 +0100

    Fix memory leaks in rpmGetSubkeys() and pgpPrtParamsSubkeys()

commit 468726ece5f3ed1209460120044d2d63bd0a561b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 4 13:51:07 2016 +0100

    Display message when a hook function of some plugin fails (rhbz:1262424)
    
    For a pre hook function display an error message and for a post hook
    function display just a warning message. This corresponds with
    the way how error/warning messages are displayed for scriptlets.
    
    Also add a debug message into selinux plugin.

commit 00ebe2e59b1094d2673500bd4bd63551801d0080
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Mar 7 13:05:56 2016 +0100

    Make --noplugins work with "rpm --verify"
    
    This caused problems in rpm test suite.

commit cb88badcd6a564a496f345679a5f188dad402b51
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Mar 7 12:54:53 2016 +0100

    Current plugins don't make sense in rpmbuild so disable them there
    
    In rpmbuild only an init hook was called and no other hooks was called.
    So the plugins were initialized in rpmbuild but they were never used
    in rpmbuild. Even the init hook was called from place where calling
    of init hook made no sense (it was called from rpmCheckDeps()).
    
    Also it wasn't possible to disabled plugins in rpmbuild with --noplugins,
    which caused problems in rpm test suite.

commit f8a75ae6a206e2fcc53c7e91ccca2ccc306fda14
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Wed Mar 2 14:09:27 2016 -0500

    Fix option parsing in pythondistdeps
    
    Followup for d636ab1.

commit a8d41dbadf4c9c47fae717f9369e4ff7678ff565
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 2 12:09:11 2016 +0100

    Remove long gone --nocollections option from man page

commit b8a54d6a1e9bb6140b6b47e23dc707e4b967537e
Author: Nicolas Vigier <boklm@torproject.org>
Date:   Thu Dec 3 12:57:22 2015 +0100

    Allow SOURCE_DATE_EPOCH to override RPMTAG_BUILDTIME
    
    SOURCE_DATE_EPOCH environment variable is a distribution-agnostic
    standard for build systems to exchange a timestamp.
    
    SOURCE_DATE_EPOCH specification is available at:
    https://reproducible-builds.org/specs/source-date-epoch
    
    Signed-off-by: Dhiru Kholia <dhiru@openwall.com>

commit d93c97b60673d725b9eb255008b8a57dfad65fdb
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 29 10:15:20 2016 +0100

    Check if binary packages is passed instead of spec file
    
    and give proper error message

commit d53499d1565dd7ba6d93939e552cc604b26dccd7
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 26 11:15:23 2016 +0100

    Use %_build_cpu instead of noarch when evaluating ExcludeArch and ExclusiveArch
    
    Some noarch packages need build tools not available on all architectures.
    By using %_build_cpu you can restrict the architectures those noarch
    packages can be build on.

commit 21661336c3f163f9603e30b1478ce12ed3d8ebae
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Feb 25 16:51:02 2016 +0100

    Use pkg->dpaths during dependency generation instead of buildRoot + filename
    
    This passes the filenames with the actual file content to the dependency
    generators when using RemovePathPostfixes (rhbz#1306559).

commit 4749a08a9ea1e5a903ade0021ef18efffe26f35d
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Mon Feb 15 21:36:30 2016 -0500

    Fix symlinks for installations outside /usr/bin
    
    rpmquery and rpmverify are symlinks to rpm.  The former are usually
    installed in /usr/bin, the latter in /bin, so the symlink points to
    ../../bin/rpm.  But for installations into other prefixes, the synlimk
    should just point to the same directory.

commit c67aeced995df333dc1c43652d788b317c5af7e2
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Feb 21 20:08:20 2016 -0500

    Properly support BeeCrypt option in build system

commit aa4c0d478b860a73a3110e9b76a3fb103e416fd5
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Feb 21 20:05:51 2016 -0500

    digest_beecrypt: Use correct header locations
    
    BeeCrypt installs its headers to beecrypt/ subdirectory

commit 54d664cb92023594dd9e647797ac60fa5069aefa
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Feb 18 15:02:08 2016 +0100

    ndb: fix regression from 20f2c51053c1b2e302eff8240613568443bbe98b
    
    If there was need to regenerate indexes and index file was open readonly
    then index file was closed and open again as readwrite. But problem was
    that index file may have already been memory mapped so closing it wasn't
    right solution.
    
    Now if it is possible then index file is open as readwrite from
    the beggining no matter of requested open flags.

commit efd696d32d343b82832dd9e4aee992bff8e64ad0
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Feb 19 13:03:46 2016 +0100

    Fix --noghost option (rhbz:1306438)

commit cd02e0675e7919193b2c2b885dfa099f55c0f281
Author: Michal Toman <mtoman@fedoraproject.org>
Date:   Fri Feb 19 12:05:05 2016 +0100

    Add support for MIPS release 6 - Add mips32 mips64 mipsel and mipseb macros

commit 83219d023b5b21826c7482d4aa3f6372f520825d
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 19 09:56:31 2016 +0100

    Also block idle and sleep in the systemd-inhibit plugin
    
    We really should not suspend or hibernate during rpm operations. Chances are
    too high to not wake up properly and damage the system (see rhbz#1297984).

commit 46b482e9d40027a46b617188659847b2d28cafb0
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Feb 17 21:49:59 2016 +0100

    ndb: write also usergeneration in rpmxdbWriteHeader()

commit 20f2c51053c1b2e302eff8240613568443bbe98b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Feb 16 18:11:42 2016 +0100

    ndb: fix regenerating missing indexes
    
    Previously ndb backend detected missing indexes wrongly and not all
    missing indexes was recreated automatically.

commit ffe1ab08407dab06222e095a722a26177751c1c9
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Feb 16 17:40:07 2016 +0100

    ndb: add rpmpkgLockInternal()
    
    Previously it wasn't able to get an exclusive lock with rpmpkgLock() if
    pkgdb was open readonly. That's ok for pkgdb  but rpmpkgLock() is also
    used in rpmxdbLock() which is used for locking indexes. And when pkgdb
    was open rdonly even if indexes were open rw, it wasn't possible to
    write into them because it wasn't possible to get exclusive lock with
    rpmxdbLock()->rpmpkgLock().
    
    Having pkgdb readonly and indexes rw can happen when pkdb is open as
    readonly but during opening of indexes some missing index is detected
    so it is necessary to open indexes as rw and regenerate them.
    
    Now rpmpkgLock() enables to get exclusive lock without having pkgdb
    open as rw. New function rpmpkgLockInternal() behaves as rpmpkgLock()
    previously and it is used only for pkgdb.

commit ff43da89ab707cb12a046b3a7a4b4f80a2c46159
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Feb 15 10:08:25 2016 -0500

    Add all the BSDs that support setprogname() and getprogname()

commit 05347154797478ed720eac424a398b59c8ac9802
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 15 12:05:38 2016 +0100

    Fix Makefile for rename scripts/pythoneggs.py -> scripts/pythondistdeps.py

commit 0d74691d370ade91af28b01bbfa2bb5555f37c01
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Sun Feb 14 23:00:18 2016 -0500

    Additional fixes for getprogname()/setprogname() on BSD systems

commit 1332bfe70e8caaa562e4fdb95f5d0fee149f6313
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Feb 15 15:52:08 2016 +0100

    ndb: auto-repair interrupted transactions

commit 29abb07fbf6b9ea255bd26e492c104eac8d2370f
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Sun Nov 29 08:32:03 2015 -0500

    Rename to pythonX.Ydist, read .dist-info, support legacy pythoneggs()()
    
    Per the recommendation of Nick Coghlan and Toshio Kuratomi,
    pythonXegg(M) is being renamed to pythonX.Ydist(M).
    
    An option has also been added to add a pythonXdist(M)
    Provides for distributions that may prefer to have it.
    The option '--majorver-provides' is intended for use
    if only one Python stack per major version will be
    available at a given time, as unexpected results may
    occur if there are multiple independent Python stacks
    per major version available.
    
    Consequently, it will not be on by default when using
    the generator for generating Provides.
    
    Additionally, .egg-info data is being replaced with
    .dist-info data, so we need to handle that case, too.
    
    See for more details:
    https://lists.fedoraproject.org/archives/list/python-devel%40lists.fedoraproject.org/thread/SQBSAS4T25HK5YJBNBSFDD7KDQWDELL6/
    
    Also, Thierry Vignaud brought up on rpm-maint that Mageia
    currently uses "pythonegg(X)(M)" (e.g. "pythonegg(3)(rpm)"
    for python3 rpm bindings package) in their Python packages
    to pull in Python dependencies and requested a way to
    not break Mageia.
    
    After discussing with Florian Festi about it, Mageia's
    pythonegg(X)(M) will be supported by adding '--legacy'
    as a switch to generate legacy Provides/Requires to maintain
    compatibility with Mageia's existing usage.
    
    The '--legacy-provides' switch will enable pythonegg(X)(M)
    Provides in addition to the new pythonX.Ydist(M) format to
    allow for a easier transition.

commit 2e0e0a433a4c413ec36d0486ff4a4dc19e44ce04
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Feb 11 14:09:26 2016 +0100

    Use new xsetprogname() in rpm2archive

commit ad5ab9cf070b96f002b6f77af77cacd130c38107
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Feb 11 14:08:58 2016 +0100

    White space fixes

commit 61109446ac67ca8f3d96a5592814561db908d83c
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Sat Aug 17 21:50:41 2013 +0200

    Reimplement setprogname() and getprogname() to be generic and portable
    
    The RPM code contains setprogname()/getprogname() support implemented through compatiblity layer with very old GLIBC (internals supported back to '95 and earlier), before stabilization of the GNU C library. This compatiblity layer (__progname, __assert_progname, setprogname()) is supposed to support well archaic GLIBC, but on the other hand it pollutes the library namespace and introduces unpredicable compillation errors on BSD systems.
    
    The functions setprogname() and getprogname() are natively supported in NetBSD and work the same way as __progname from the GNU C library (they are even implemented in the same way - but with a slightly changed logic). The support for very old (20 years and older) GNU C Library is obfuscating the code, because it uses defines over defines without a word of explaination why to do so.
    
    It's important to note that the setprogname()/getprogname() was inconstiently implemented in the codebase, duplicating the code and/or functionality.
    
    Add new generic functions getprogname() and setprogname() and bind it to:
    - the current and for two decades stable GNU LIB C implementation,
    - the current NetBSD implementation (introduces to NetBSD in 2002),
    - fallback reimplementation functions of the setprogname() and getprogname() functionality for other systems.
    
    Don't support anymore old GNU Lib C internals and don't support older NetBSD systems, as they aren't supported for many years.
    
    Add to the codebase comments explaining the relevant codeparts.

commit 159351d7f30909a12bddb4f7c55c22ee087169e1
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Mon Sep 28 23:49:24 2015 -0400

    Add missing header files
    
    They are generating warnings.

commit 92ed1c43a4d97235848eb61fc16eb32cddf121de
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Mon Sep 28 23:49:24 2015 -0400

    Supply declaration of fdatasync if missing
    
    OS X has the function but doesn't have a declaration for it.

commit c611487b5daa701de43eca7788d9583f019e6a85
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Mon Sep 28 23:49:23 2015 -0400

    Don't define htonll() if already defined
    
    OS X already has it as a macro in the system headers.

commit d636ab156f351bedcb1d6db3e7ba51ad2dc62d70
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Sep 7 04:54:37 2015 -0400

    kill unimplemented -O option
    
    let's not over-engineering

commit 8f0ddfe07269489a7e9a07275cc83ce4b3c1646b
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Sep 7 04:17:52 2015 -0400

    kill now unused is_exe()

commit e6cc5a5a511fe111af8f19a2c0802c7a0a2309cf
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Sep 7 04:06:26 2015 -0400

    kill now useless --buildroot option

commit f5168b4619245e804cf10cb26866188d60c5f477
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Sep 7 04:04:52 2015 -0400

    do not call typelib deps generator
    
    rationale:
    1) typelib deps are unrelated to python
    2) typelib deps are computed by suse generator
    3) suse generator is not present upstream
    4) let's not reinvent internal deps generator here...

commit 3938685a8f1150bce436c34cabb76f94b151b583
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 8 17:11:50 2016 +0100

    Sync parent directory after creating db files

commit 6151ac9a298a9fe560cf8f899dc0b0e67453446c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 8 15:08:11 2016 +0100

    Replace fdatasync() with fsync()
    
    fdatasync() is not enough in some filesystems because blocks with data
    are flushed to a disk but the structure which references these data
    blocks is not.

commit 62250607527795aebfae3ea9e79aa3a0ee2c5dad
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 8 14:53:11 2016 +0100

    Just warn for non-empty blob in ndb otherwise transaction can be blocked

commit 55cfae631b1e55e0811569fcf6996ea81bbae9d4
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 1 09:39:55 2016 +0100

    Revert the previous change, it caused regressions (rhbz:1303265)
    
    Some tools like yum parse error messages from rpm so the change of
    that error message broke yum and maybe other tools.
    
    This reverts commit 3620b7faec5c66a6eaf845af86f8263558ff08af.

commit 3620b7faec5c66a6eaf845af86f8263558ff08af
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Jan 29 14:08:25 2016 +0100

    Improve the error showed when a filesystem is read only (rhbz:1142386)

commit bb2294c4113ea7dd513cb401c36b8d8aacbfc5a2
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Jan 29 11:47:35 2016 +0100

    Show warning when ftruncate() fails
    
    Failing ftruncate() at this place is not critical but show at least
    warning that something goes wrong and quiet the compiler warning
    about unused result.

commit 448db68ceb5be3c7171b7ec0ea908d905792dc2f
Author: Michal Domonkos <mdomonko@redhat.com>
Date:   Mon Dec 7 17:13:26 2015 +0100

    Add RPMCALLBACK_ELEM_PROGRESS callback type
    
    Currently, there's no callback type that would be issued per each
    transaction element.  RPMCALLBACK_TRANS_PROGRESS is only issued during
    the prepare phase but not when packages are actually installed or
    erased.  Likewise, RPMCALLBACK_INST_ST* and RPMCALLBACK_UNINST_ST* won't
    be issued if an install or erase operation is skipped for some reason (a
    script or package upgrade failure).
    
    Having such a callback would allow the Python API consumers to always
    know upfront which element is about to be processed, before any other
    callbacks are issued.  This is important since not every callback type
    carries enough data about the subject package; while the INST types
    provide the user object passed to a former addInstall call, the UNINST
    types only provide the package name (which may not be unique within the
    transaction set).
    
    This commit adds such a callback.

commit ff30bf02b52b5de0acf1175bdc0d75ddb7028584
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Wed Jan 27 18:49:16 2016 +0100

    Permit dynamic selection of SCM.
    
    Invoking '%__scm_setup_$__scm' without looking at option '-S' in the
    specfile, permits dynamic selection of the SCM on the commandline
    
       rpmbuild --define="__scm SCM"
    
    Tested with rpmbuild 4.13, git, svn, ... on Linux Mint 17.2.

commit ebe0ce5e264b00548f82c6136209d9a8b8627af3
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Sep 17 14:34:55 2014 +0200

    mention --rpmfcdebug in man pages

commit f2b7bbcae1013252827b2c0410f4242f4faae10f
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sun May 11 03:23:57 2014 +0200

    first attempt at regrouping modules

commit c080226a60e3a48f827c91df172f249b424d2bb0
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sun May 11 02:27:26 2014 +0200

    add short summaries to headers that miss one

commit a1794f9d80c99d49a966ae66d4aab77ef8eb860f
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sat May 10 22:55:24 2014 +0200

    add short summaries to modules

commit 9f999fe426f858f78d8a11f925d2e81e0b4be9eb
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sat May 10 22:56:32 2014 +0200

    include rpmcallback, rpmsign & rpmvf in generated doc

commit dbfdcc9b44128943637d1bb751aaebb90342fd93
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Sat May 10 22:43:43 2014 +0200

    add text on main page

commit 0d93b634ba8f179bb640bae2d2b262e2b859cfc2
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Jan 16 20:38:30 2013 +0100

    Delete GROUPS
    
    The RPM `Group` tag on the decline althoug it's (still) used by some programs like repoview.  In any case, this list was clearly not canonical.
    
    See also https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag

commit 6aeea3794fefee145afec038876a6e48145fcb8d
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Jan 16 20:38:14 2013 +0100

    hint where to look for history

commit 66d9fdb61abbc86668a5317c912ef7ca7e110582
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Sun Dec 27 16:32:13 2015 +0100

    Unknown tag %ifdef.
    
    This example code does not work.

commit 1fc5c16853e6161f4928964388c388a1d0e20169
Author: Jeff Smith <whydoubt@gmail.com>
Date:   Wed Jan 20 10:29:10 2016 -0600

    Fix reloadConfig method documentation

commit 3dbcbd1a03c8d47b5177623c2ed211dfb2d7ea71
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Sun Jan 24 16:14:06 2016 +0100

    'quilt push' has option '-q'.
    
    Use macro '%{-q}' to react on '%autosetup [-v]'.

commit 90da220a4c5300c0c84da760624f46ab99fc26a0
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Sep 17 14:21:41 2014 +0200

    alias -P on --provides
    
    let's make it symetric/constistent with -R/--requires

commit b30d6657e221a9fe606477987aeb8a02a63b9de4
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Tue Sep 22 05:19:53 2015 -0400

    fix %doc with glob with some locales
    
    Some spec files fail to build under some locales, when %doc is used with glob.
    eg:
    
    %build
    touch author AUTHORS Ch cha
    %files
    %doc [A-Z]*
    
    Which results in:
    
    LANG=fr LC_COLLATE=fr LC_ALL=fr rpmbuild -ba SPECS/null.spec
    (...)
    error: Installed (but unpackaged) file(s) found:
       /usr/share/doc/null/cha
       /usr/share/doc/null/debugfiles.list
       /usr/share/doc/null/debuglinks.list
       /usr/share/doc/null/debugsources.list
    
    RPM build errors:
        Installed (but unpackaged) file(s) found:
       /usr/share/doc/null/cha
       /usr/share/doc/null/debugfiles.list
       /usr/share/doc/null/debuglinks.list
       /usr/share/doc/null/debugsources.list
    
    Which is obviously not expected...

commit b7da6759720a4d1877f5443876a24514d4ac124c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 28 11:27:18 2016 +0100

    Revert "Fix check for file capabilities"
    
    This reverts commit 4ee56521260b6e58fb6c22b4c897f47e507ee6cd.
    
    This is no longer needed as the regular check now handles string arrays properly

commit 332143c3883a5eaead669e2208256a79d3653136
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jan 28 11:23:46 2016 +0100

    Make length check aware of the string array types
    
    The check only makes sense for simple array types. The length of the data is
    the pure strings and not the array of items (char * in this case) as with other
    array types.

commit 6e23e20263ce093289d81c61233833b9013343c9
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jan 28 09:06:17 2016 +0100

    Fix memory leak in file triggers

commit 6c42903cbd3afc4a4e6c4e44f080ac06b1fab875
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jan 27 18:07:55 2016 +0100

    Add error messages if bogus file data was found

commit 4ee56521260b6e58fb6c22b4c897f47e507ee6cd
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jan 27 18:00:28 2016 +0100

    Fix check for file capabilities
    
    introduced with 437424bb281efd7fdb4fcfc58d6a33d779129a1a

commit 231a7213b90a8dfba426737732e2dc6e62acfbad
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jan 19 14:37:07 2016 +0100

    Fix %autosetup to not cause errors during run of rpmspec tool
    
    Firstly %autosetup showed an error during its expansion if some patch
    wasn't available, that is an error was showed during parsing of a spec
    file. This caused showing an error during execution of rpmspec
    tool (rhbz:1293687).
    
    Now %autosetup doesn't cause an error during parsing of a spec file but
    it causes an error during building of specfile if some patch is not
    available. Also old macro %patch behaves similarly.

commit 33158b3b009e830036d05c138a6b308c1574effe
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Jan 15 15:41:52 2016 +0100

    Fix recursive calling of rpmdeps tool (rhbz:1297557)

commit 8efe51e8c24b7739f0bf7680e21083c8964633f5
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 15 14:32:47 2016 +0100

    Add support for %missingok as a standalone file attribute

commit 9aff39d0d530332e8cae376f2390b6546239a20e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jan 14 13:35:28 2016 +0100

    Fix not chrooting transaction file triggers
    
    previously those filetriggers would call tools out of the chroot, which
    breaks installers such as DrakX or Anaconda.
    
    See https://bugs.mageia.org/show_bug.cgi?id=17217
    
    Thanks Thierry Vignaud for finding and helping to solve this.

commit 243fadeaecdd5b1231091ef5f15b58fd7959b0e7
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jan 12 13:40:14 2016 +0100

    Use a db msg callback function
    
    - This effectively moves bdb messages like "Freeing read locks..." that
      are kind of warning messages from stdin to stderr (#1296212)
    - It is also possible to set printing of these bdb warning messages on
      stderr with function dbenv->set_msgfile(). But using msg callback
      function is more consistent way because bdb error messages are handled
      with callback function too.

commit 12f249a05b0a60d084cee04dcd44b51edbab8422
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Dec 7 15:47:06 2015 +0100

    Add version checks into ndb

commit 6add5e4f27072902995fe9c520b2b97aa3347e65
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Dec 7 13:52:40 2015 +0100

    Fix memory leaks in ndb

commit 5ab0bce2113ec9ef5b08deaf470219eb727b8c67
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 4 16:54:25 2015 +0100

    Also check the length of the file classes

commit 437424bb281efd7fdb4fcfc58d6a33d779129a1a
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 30 11:24:23 2015 +0100

    Add check for the length of tag data while reading file attributes

commit 9e09a09e9ba481d61143ce3b80d20b56595fddc7
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 27 17:21:31 2015 +0100

    Check for the expected number of entries when loading file attributes
    
    Fix _hgfi macro to use _td param instead of accessing td
    Add new macro -hgfinc for unchecked loading

commit 92149f7eccedae0744aafe0126e8cf3eb137b686
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 27 17:17:13 2015 +0100

    Check for expected number of entries in tag2pool

commit 756e008bae988fd6e99d25c3952222e97d481a22
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Nov 27 16:41:39 2015 +0100

    Add sanity checks into extracting rpmds from rpm header
    
    rpmds can consists of several components (name, evr, flags, trigger index).
    If a component is present then check whether it has the same number of
    items as the other components.

commit 8e847d52c811e9a57239e18672d40f781e0ec48e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Nov 27 13:40:33 2015 +0100

    Sanity check that there is at least one tag in header region

commit ddf9ec7befe83ba1a12453a56e4e471aa9bcf4d3
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Nov 26 15:20:05 2015 +0100

    rpmExpandMacros() is modified to be able to return more return codes
    
    Now rpmExpandMacros() returns integer as a return value. Negative return
    value implies failure. Return values can be more utilized in the future.
    E. g. return value could specify how many macros were expanded in given
    string.

commit aee8446eb498fec7bfd7a2848ab97440b7bb7226
Author: Tom Hughes <tom@compton.nu>
Date:   Mon Nov 23 09:38:37 2015 +0000

    Rename expandMacrosU to rpmExpandMacros
    
    Address review issues from #32 by renaming the function and
    cleaning up the comment and parameter list.

commit 8e8571a7f33d1ecc5a0c0b62196fd79b26a6052e
Author: Pádraig Brady <P@draigBrady.com>
Date:   Thu Nov 19 13:38:19 2015 +0000

    Avoid redundant processing for RemovePathPostfixes
    
    Only iterate over the file list if RemovePathPostfixes: has been specified.
    Also don't bother reallocating the paths as the existing path modified in
    place will suffice.

commit 029e1fb95e326585276cb06196ac2674030cc5e9
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Mon Oct 19 12:19:14 2015 +0200

    Fix %setup logic in presence of '-[cbaT]' options.
    
    The processing of the %setup macro heavily depends on the
    presence/absence of the options
    
       -c – Create the project subdirectory (and step into it)
       -b – Unpack the given source drop _before_ stepping into
            the project subdirectory
       -a – Unpack the given source drop _after_ stepping into
            the project subdirectory
       -T – Supress unpacking the 'default' source drop ('0')
    
    Although not well-documented, it is permissible to use combinations of
    these options (and there can be multiple occurrences of '-b' and '-a').
    
    The present commit modifies/corrects several border cases that were not
    quite right in the original flow. For example: In case of '-c -b N', the
    'Nth' source drop was extracted _after_ the 'cd' triggered by '-c', so
    '-b' worked similar to '-a'.
    
    The updated logic fixes the above rules:
    
    Any source drop marked by '-b' will be unpacked first, irrelevant of
    the presence of the '-c' option.
    
    Any source drop marked by '-a' will be unpacked _after_ the 'cd' into
    the project subdirectory.
    
    Unless suppressed by '-T', the 'default' source drop will be extracted
    _before_ the 'cd' if '-c' is not flagged, and _after_ the 'cd' if '-c'
    is present.
    
    See also https://github.com/rpm-software-management/rpm/pull/21

commit bec7592a36a2243aa4656afecf3247598baac5ff
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Nov 26 11:07:47 2015 +0100

    Only use multi thread support with liblzma >= 5.2.0

commit 1d9a0018f9cde8fc5c59df9af70a2164e672210f
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Nov 25 13:49:01 2015 +0100

    Improve perl.req script
    
    This commit 0d5929ba5eabadec49273bb090ba9158dfccc30c tries to ignore
    "use" and "require" within multi-line print statements that start with
    line like this "print <<EOF" but it incorrectly parses lines in
    following format "print <<EOF unless $o" and every "use" or "require"
    below this line to the end of file is ignored. That causes that some
    requires which was previously found are not found now. This commit
    fixes this problem (#1268021).

commit 5e4c16f39d650ef3d037d44c136e26f04e4f1856
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Nov 25 10:08:29 2015 +0100

    Remove option --priority for file triggers, leave option -P
    
    The long option --prority never worked because everything after "--" is
    considered to be a trigger target. For setting priority of a file trigger
    the short option "-P" can be used.

commit 34f39cb72177e2c0396a8c6903ce00f851646bb6
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Nov 23 17:45:06 2015 +0100

    Set SLOTORDER_UNORDERED because blkoff of some slot was changed

commit d8564cc7f13db7d3c76139c99c76cc96c837217f
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Nov 23 17:36:47 2015 +0100

    Fix size comparison of slots in ndb

commit 04a88a5e704f305b743098b662be98eb056054bf
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Nov 23 17:31:28 2015 +0100

    Fix typo in page rounding in ndb

commit a0f2d94c3c258ebd95479a6b11c80c1ecd6d2cab
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Nov 23 15:05:13 2015 +0100

    Add possibility to disable file triggers.
    
    Now options --notriggers, --notriggerin, --notriggerun, --notriggerpostun
    disable also file triggers and not only normal trigges. Transaction file
    triggers can be also disabled with --nopretrans and --nopostrans options.
    
    Before this patch file triggers weren't disabled when option --test was
    specified. That caused unwanted multiple execution of file triggers
    in dnf because dnf executes transaction with flag test before executing
    transaction for real (rhbz:1282115).

commit 7740d1098642cd42f725fb9a2a3819ceaf51a80b
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 03:15:42 2015 +0200

    Add support for multithreaded xz compression

commit c349417cfd866d4e34c35d85f80b81ed05654068
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 03:12:06 2015 +0200

    add support for setting xz memlimit

commit 239c00d796c72431f51aaa4844576473ca1f672e
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 03:12:27 2015 +0200

    add rpmlog(RPMLOG_ERR, ...) for liblzma return codes

commit b7b2ab2177af8359663fcfb83cb2af3da578012e
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Tue Sep 22 18:42:59 2015 +0200

    reflect default xz & lzma compression level changes in macros as well

commit d28322b69a8c49ffc9b2d191924f4dfe8a324ead
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Tue Sep 22 20:50:02 2015 +0200

    lowest xz compression level is '0'

commit 61838b0fdacb71a881baac164043b8e40ddfbec5
Author: Tom Hughes <tom@compton.nu>
Date:   Tue Nov 17 17:36:16 2015 +0000

    Remove size limit when expanding macros
    
    This removes a seemingly undocumented, and not even well defined, limit
    on the size of a macro expansion when parsing a spec file.
    
    [lkardos@redhat.com: created new funtion expandMacrosU() (Unlimited)
    instead of modifying expandMacros() in order not to change API/ABI]
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 36a681d107110e24eca8f508b33dabbf89d61620
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Nov 13 19:32:19 2015 +0200

    pythoneggs.py: flake8 fixes

commit 489a08c840a5a13218e4f690bb1ae621be0993f7
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Nov 13 19:15:23 2015 +0200

    brp-python-hardlink: Use cmp instead of sha1summing
    
    diffutils is a rpm-build dependency anyway nowadays,
    e.g. find-debuginfo.sh uses cmp too.

commit 86e0c17f112f14f2adca1805f66ed0cd1d07061e
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 13 17:28:03 2015 +0100

    Make static buffer thread local

commit 1af568ac883fe06e932a7fc8f8035eb04e621907
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Nov 18 15:44:08 2015 +0100

    Fix next_brace_sub() to return NULL if braces don't match.
    
    Our implementation of glob() is copied from glibc (2.1 probably) which
    has buggy implementation of next_brace_sub(). It is fixed in the newer
    version of glibc. Now next_brace_sub() is modified  according to newer
    (fixed) version of glic. We didn't reveal this bug sooner because brace
    expansion was disabled in rpm but we enabled brace expansion in
    commit d14ecfe587efbe80e5534161dbd3a4f7158b4e2b.

commit d67cf026a5b4a5cb8a90daf2a64020081458e090
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Nov 18 12:05:47 2015 +0100

    Don't accept '-' in manifests
    
    Partialy fixed in b8102d8f6150b0438ba91cd53ff86a5391e8bdcf but it fixes
    only case when there is just dash on the line. Now it also denies lines
    like this "- foo" but for example line "-foo" is still accepted.

commit ff3e57c343bbf99e2b7a92a5897551d60f47572a
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Fri Nov 13 08:52:50 2015 -0500

    Fix fstat64 conditional and definition typo
    
    So, as it turns out, pretty much all libc implementations
    except for legacy ones implement it as fstat64(), so we
    will use fstat64() unless otherwise necessary.
    
    Also, fix typo in checking for _D_EXACT_NAMLEN definition.

commit 73674678b2b96a36ec542ec3bc23b227c6129b5f
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 13 12:20:24 2015 +0100

    Include name of unknown tag in the error message when parsig a formar string
    
    Resolves: rhbz#855305

commit a8accc3d72686bad000eff1329f04dd9c194a70c
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Oct 22 00:18:55 2015 -0400

    Switch shebang to /usr/bin/python
    
    Using '/usr/bin/env python' could lead to unexpected results,
    so switching to this guarantees that it will use the system-wide
    Python environment, instead of any virtual environments or whatnot.

commit 514b6401c3f7a70a9af987838de03d3a002e1b34
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Oct 22 00:17:23 2015 -0400

    Cosmetic refactor to rename 'dlower' to 'lower_dir'

commit 79c7825622ada12cdebd581603915b9c4c0be303
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Oct 22 00:15:42 2015 -0400

    Conditionally import pkg_resources to speed up Python dep extraction
    
    This change was brought over from the fix used by Mageia to speed
    up the extraction of Python dependencies. As Mageia found out
    (and verified to be true with this generator too), the generator
    is now called on every file in the package. This means that the
    pkg_resources import time is now a drag on the performance of
    generating dependencies.
    
    For more details, see the following link:
    http://gitweb.mageia.org/software/rpm/rpm-setup/commit/pythoneggs.py?id=b77d47f90289413e20f295b93ae8c51012f53e3d

commit dc862a67d61f8e1b84be75b9c658f855174f2a4c
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Thu Oct 22 00:00:06 2015 -0400

    Properly generate pythonXegg() Req/Prov & refactor string formatting
    
    The egg dependency generator was slightly inconsistent here.
    While it would generate python2egg() for Py2 Requires/Recommends and
    pythonegg() for Py3 Requires/Recommends, it would generate python3egg()
    for Py3 Provides and pythonegg() for Py2 Provides. Rather than make a
    decision on which is the "proper" Python here, let's just handle them
    the same way: pythonXegg(), with "X" being the Python major version.
    
    This way, it's absolutely clear which Python it is for, and as
    new major versions of Python become a reality, we should be able to
    handle that quite easily and (of course) sanely. The approach is
    inspired by the method used in Mageia's python dependency generator.
    
    In case the generator is being used in an environment where
    Python 2 is the default still, the appropriate import to ensure
    that print() works has been added.
    
    Additionally, the string formatting calls have been refactored
    to use string.format() instead of old-style printf-esque calls.
    This enhances the readability slightly by making it so that '%'
    isn't being used for anything but RPM stuff in strings.

commit 4f7c802ebe26d095e2b623a9bb4acba3fe3ef758
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Mon Nov 9 01:42:01 2015 -0500

    Set up portable definitions to support μClibc and MUSL
    
    The definitions were refactored because musl-libc does
    not offer a __MUSL__ definition and μClibc tries to
    identify as glibc, even though it's not quite compatible.
    
    A nice side effect of this is that the platform support
    definitions are somewhat simpler now.

commit a4a6f7afb646ba02029fbda3992d08637e3a5f21
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Sep 22 15:18:39 2015 +0300

    brp-python-hardlink: Handle Python 3.5's *.opt-[12].pyc
    
    https://www.python.org/dev/peps/pep-0488/

commit bd273911abe5e0746a41ca29f3d7f6b44a801b54
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Sat Oct 10 10:32:07 2015 +0200

    Fix comment for doPatchMacro.
    
    Without a '-P' flag, plain "%patch" refers to numberless "Patch:".

commit d0ddf40420e1af579db4a93beb4cd4a0e0c0bc7f
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Sat Oct 10 10:39:32 2015 +0200

    Fix broken -q on %setup.
    
    popt would set 'quietly' not until poptGetNextOpt would encounter '-q'.
    Any extraction that occurred prior to this would be 'verbose'. By looking
    for '-q' in the full '%setup' line beforehand, this is fixed.

commit c52f2232695380925721873bbf89c465f96faaf3
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Nov 7 18:25:02 2015 +0100

    Update po/LINGUAS
    
    Adds id (it has some translations) and sorts alphabetically.

commit df3ab682131e6eddd632c44ba4f236b840820f75
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Nov 7 18:18:18 2015 +0100

    Remove po/cs_CZ.po
    
    The proper Czech translation is in po/cs.po, and po/cs_CZ.po is empty anyway.

commit efc03853571c45b7f89fcc2428812ed6fdf98707
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Nov 7 18:16:25 2015 +0100

    Sort po/POTFILES.in alphabetically
    
    Also removes an unneeded comment.

commit 890b8711d10d31008d7f8879404e3f7f770d7f5f
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Nov 7 18:13:38 2015 +0100

    Add missing files to po/POTFILES.in

commit a1a2043bf229e1eff64b03c397179c4ff1a15b81
Author: Andreas Scherer <andreas_scherer@alice.de>
Date:   Fri Oct 2 20:07:39 2015 +0200

    Add support for 'patch -o outfile'.

commit 89d1dd0a7c63c7497d334e9f240ce7e36ca89434
Author: Vít Ondruch <vondruch@redhat.com>
Date:   Thu Nov 5 14:29:21 2015 +0100

    Add RubyGems support.
    
    Allow to expand RubyGems .gem file using regular %setup macro and in
    addition generate also associated .gemspec file.

commit 9c36ca411332d2718eca339e867561c39abc256b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Nov 6 14:49:59 2015 +0100

    Fix crash when parsing corrupted RPM file (rhbz:1273360)

commit 2dd06933726cf5191e05264901789f8e1da6e51d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Nov 6 12:45:32 2015 +0100

    Fix SIGSEGV in case of old unsupported gpg keys (rhbz:1277464)
    
    Regression from: a173d781a631a92524ce5be364c679ba19b3e321
    Adds also warning that gpg key is not supported.

commit 90d8cc16486479441477e89c2e09bd4f9f7604bb
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Oct 30 14:42:32 2015 +0100

    Ignore SIGPIPE signals during execucton of scriptlets (rhbz:1264198)

commit 5e94633660d0e2b970bf42f1dc24346ed46cae2e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Oct 23 14:21:58 2015 +0200

    Make terminating build if version format is wrong configurable

commit f5bab7c054de3607d43dcc5ee8a04c2e3cd46926
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Oct 23 12:20:45 2015 +0200

    Warn if epoch is not unsigned integer (rhbz:1251453)

commit 20383302db2ea2417225460295fb50618dfd9506
Author: Neal Gompa <ngompa13@gmail.com>
Date:   Wed Oct 21 13:47:20 2015 -0400

    Add "-O" to %make_build
    
    In order to preserve our sanity when reading logs of
    %make_build output, adding "-O" to %make_build keeps the output
    of each thread contiguous, making the resultant build log
    readable and useful. See GNU Make manual for details on the switch.
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 3c99b06c7776345cfc3a3d4fd0c59fe671644317
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Oct 21 15:25:47 2015 +0200

    Overwrite a file if it is not marked as config any more.
    
    If a file was marked as config in the previous version of a package but
    it is not marked as config in currently being installed version of
    the package then backup the old file as .rpmsave and overwrite it with
    the new file. (rhbz:1263859)

commit 0d214a17e412bffa00cfede2d884f02ac78b8434
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 12 12:47:45 2015 +0200

    Permit scriptlet exec context setting to fail in non-enforcing modes
    
    for new code path, too.
    
    See also 9c082fb8689efdaa5a595d3043e67ccec4ed930c

commit 73ea59e0d53503bb45d5eac9d9792127a6d04c23
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Thu Sep 17 04:36:47 2015 -0400

    fix %autopatch when patch do not exist
    
    unlike Mageia's %apply_patches which inspired it, %autopatch continues
    when it fails to apply a patch because it doesn't exists. Eg:
    
    + /usr/bin/cat /home/tv/rpmbuild/SOURCES/test.patch2
    + /usr/bin/patch -p1 -s
    /usr/bin/cat: /home/tv/rpmbuild/SOURCES/test.patch2: No such file or directory
    + /usr/bin/cat /home/tv/rpmbuild/SOURCES/test.patch
    + /usr/bin/patch -p1 -s
    
    Let's catch that error
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 3c74e34e8d8c5b3db024dbe04a352e807ed2b627
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Sep 23 11:30:12 2015 +0200

    Fix error handling in rpmio Python binding test case

commit f23062139140ae5b727e86ee3bf3182054035676
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Sep 11 15:44:48 2015 +0200

    Add rpm2archive to .gitignore

commit 7a84b45c62cd25c4c68ad295ac5f360b1daebf6a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Sep 21 14:13:22 2015 +0200

    Add support for various types of dependencies to rpmdeps tool
    
    Options added to rpmdeps tool:
    --recommends
    --suggests
    --supplements
    --enhances
    --conflicts
    --obsoletes

commit 54f24ec5486bdacde9419466a2c27defaddf508e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Sep 21 11:02:45 2015 +0200

    Fix reading a memory right after the end of an allocated area.
    
    The problem evinced itself when somebody tried to use the macro
    expansion on the string "%!". The problem was revealed by compiling
    with "--fsanitize=memory" (rhbz:#1260248).

commit f0a58d1dced6215b7caaa70db17d54834e0cd44e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Sep 18 15:29:25 2015 +0200

    Define PY_SSIZE_T_CLEAN
    
    When PyArg_ParseTupleAndKeywords() is used with format argument "s#"
    that means get a string and his length then the length is returned as
    as a Py_ssize_t in python3 but as an int in python2, which casues
    a problem because rpmfd_write() that uses PyArg_ParseTupleAndKeywords()
    expects the length as a Py_ssize_t always. This problem affects big
    endian systems with python2 as default. If PY_SSIZE_T_CLEAN is defined
    then PyArg_ParseTupleAndKeywords() returns the length as a Py_ssize_t
    in both python2 and python3.

commit d20b7d2b00e349610f3cf08d9ff3723cc7c56e32
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 7 11:39:36 2015 +0200

    Fix rpmrichOpStr to use the new syntax
    
    You need to rebuild all packages using rich deps build with previous versions of rpm as the richdeps are converted to the old syntax.

commit 7bcc79b239602d92d093f12adc3cd9a6da192129
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Sun Aug 16 01:03:54 2015 -0500

    Fix file signatures not installing
    
    Only the first file signature was getting installed. rpmfiNext returns
    the next file iterator index and -1 on termination. Now the loop correctly
    terminates only when rpmfiNext return value is negative.

commit 3e730133409ecae86b7f29dd02e31929ffebfac3
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Thu Aug 27 19:22:51 2015 -0500

    Fix file signatures issue with sig header size changes
    
    When file signatures are added to a package the signature digests are
    replaced. Sometimes the resulting signature header has a different size.
    To solve this, gpg reserved space is omitted. This forces the rpm to be
    rewritten when file signatures are added.
    
    Changelog:
    -no longer effects delsign

commit a2826033bec5af26b9c25614fbb4899f0029445e
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 1 10:28:05 2015 +0200

    Fix doc strings and though doxygen warnings

commit ba6242359071732837b6a48098f8e045fbca81a2
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 31 16:39:34 2015 +0200

    Choose syntax for rich deps: if, else, and, or

commit 3624918d690ef3d04cc137c5f4d3d923365393c9
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 31 16:40:20 2015 +0200

    Remove RPMSENSE_RICH and replace its use with rpmdsIsRich()

commit e6dbdae8dcbc8f239c9c4dad8a1122522dbb40f4
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Aug 31 16:38:32 2015 +0200

    Add rpmdsIsRich() function to replace RPMSENSE_RICH

commit a33f81d94576fdccfea42214d45c6339a2a080fd
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 01:06:56 2015 +0200

    in rpm.org, soft dependencies has their own 'Recommends' tag, rather than 'Suggests' alias for 'Requires(missingok)' as in rpm5.org...

commit 3523921ea9366746623bb634c5d304c258e67354
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 01:02:32 2015 +0200

    generate python2egg(foo) deps for python 2, and pythonegg(foo) for python 3, rather than the opposite

commit 178a944584299e6a340ed9048cdd7c586ecdcdf3
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 00:48:35 2015 +0200

    update email and description in header of python egg dep generator

commit 26218b2b2ebab85040e79919e5b6a242a3402020
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Tue Jun 23 03:33:42 2015 +0200

    add new python dependency generator script that use python egg metadata

commit d27f0167aa53951c4164a5d49149ad416c5a1ee4
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Aug 31 16:03:51 2015 +0200

    Get rid of warnigs caused by d18fdd7f8964d01b4dfc39bf84133695cff5a13a

commit 63f8efc267bd42c2bdfa0c9c8dfd8dd168411f3a
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Thu Feb 12 10:59:31 2009 +0000

    really default to default XZ compression level
    
    which BTW fix the default compression level which is 6 instead of 7

commit d39198e14ab8a46dc525ed9bfa67cc15835aa5ea
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 5 13:29:57 2009 +0000

    Transmeta Crusoe is i686
    
    Crusoe CPUs say that their CPU family is "5" but they have enough
    features for i686.
    (from TurboLinux)

commit 394b90168138bee0191f865ed98e639234e712ca
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Fri Aug 28 08:12:32 2015 -0400

    allow having "identical" trans file triggers
    
    Else rpm exits on a assert() if two file triggers traps on the same path:
    D: %triggerin(null-1:11-11.mga6.x86_64): waitpid(19591) rc 19591 status 0
    rpm: backend/dbiset.c:62: dbiIndexSetUniq: Assertion `set->count > 0' failed.
    
    What's more it leaves rpmdb in a bad state...
    
    Last but not least, commit 3ae1c414f69a0eddbfecd4341dd27c7a5e90e12a
    explicitly enables us to build a package with several "identical" file triggers

commit 1382ef0c6c97ca6b80df6452764688d5151305ab
Author: Jerome Quelin <jquelin@mageia.org>
Date:   Sat Feb 26 12:04:53 2011 -0400

    add support for _ in perl module version

commit 3ee146e1e27c8a42edd7e15911ccaf3fddfa5066
Author: Jerome Quelin <jquelin@mageia.org>
Date:   Fri Mar 12 17:22:23 2010 +0000

    skip plain, regular comments
    
    how comes this has not been spotted earlier? (sigh)

commit 548dc9f38f3a0e653f852e0d1c1b5db5734a7571
Author: Rafael Garcia-Suarez <rgarciasuarez@mandriva.org>
Date:   Thu Mar 16 14:19:14 2006 +0000

    ignore non module perl files for provides if
    
    Don't search perl files for provides if they don't end with .pm (because
    if they don't, the perl interpreter won't look them up in @INC)

commit 936956715c7071bb079899cd4a0e15f9e2da4afa
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 02:15:45 2015 +0200

    add support for MATE (GNOME 2 fork) desktop help files to find-lang.sh

commit f78e5643c9a77caced64610bed1271293b1aefd2
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 02:13:41 2015 +0200

    make find-lang.sh handle man pages already compressed

commit 0c42871ff407a3eeb1e8b8c1de9395f35659c987
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 02:08:37 2015 +0200

    add support for finding html files with find-lang.sh --with-html

commit 74913fc97a718c59ca4b2c80ad3d57f2cfffdce2
Author: Per Øyvind Karlsen <proyvind@moondrake.org>
Date:   Wed Aug 12 01:27:52 2015 +0200

    only set default values for $COMPRESS & $COMPRESS_EXT if environment variables isn't already set, allowing to overriding these

commit 8fc302673925bed24ab2a5962dbe4458947285f6
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Fri Aug 28 05:17:59 2015 -0400

    do not bytecompile python scripts in docdir
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 62f39308baa2375cda75705c86cba13432817185
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 25 13:47:03 2015 +0200

    Remove RPMRICHOP_THEN, make ELSE work with IF complex op
    
    Thus we now have "A IF Cond ELSE B".

commit 1e40d9c3df0d0c1d0050ccfd424a3933c02eb1f8
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Aug 19 11:01:00 2015 +0200

    Include header files for new backend in distribution tarball

commit edd709e45335945c152d1dee4d93d68bc0916895
Author: Mimi Zohar <zohar@us.ibm.com>
Date:   Tue Jul 21 12:00:46 2015 -0500

    Add support for passing the file signing key password
    
    The option to provide a password for signing an RPM package was
    recently removed in favor of using the underlying mechanisms.
    
    Requiring a user to enter a password for each file being signed,
    however, is tedious. This patch adds support for prompting the
    user for the password.
    
    Dependency on ima-evm-utils version > "0.9"
    
    Changelog:
    - update get_fskpass() based on Dmitry's comments
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 496fa25704ea1056a1e3f75f4da9c39dc6e40aa9
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:45 2015 -0500

    Documentation for file signing
    
    This patch adds documentation for signing files.
    
    Changelog:
    - Removed new file signature macro example -  Mimi
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 8c70222a1fde1268f4c88fc1a54fad51b4658f16
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:44 2015 -0500

    IMA plugin labels ima xattr with file signatures
    
    This plugin extracts file signatures from rpmfiles and writes them to
    security.ima xattr. Only non-config file signatures are installed.
    
    Changelog:
    - use rpmfi instead of rpmfiles
    - use rpmfiFN instead of fsmFsPath
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 6e9eab345a18d01f0c2c35fa8bb842744093364c
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:43 2015 -0500

    Add file signature support to package signing
    
    This patch modifies rpmSign to include file signatures in the header.
    Since the header is altered, the package digest and package+archive
    digest need to be recalculated and updated in the signature header.
    Defer resigning the header digests to replaceSignature().
    
    Changelog:
    - removed extraneous semicolon - Mimi
    - Update signature header digests only if necessary - Mimi
    - deallocate sigp before it's overriden - Fin
    - fix dependency on ima - Fin
    - replace utd parameter with a local variable - Mimi
    - fix sigsize - Fin
    - calculate MD5 digest with SHA1 - Fin
    - removed unused buffer - Fin
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit dd19c1957291072f91eb97799112d8868871af77
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:42 2015 -0500

    Add file signature support to rpmsign command
    
    This patch extends the rpmsign tool to sign package files. It defines a new
    rpmsign option called "signfiles".
    
    rpm --addsign [--signfiles] PACKAGE
    
    Signfiles signs all the file digests included in the package and stores
    the signatures in the package header. The file signing key, used to sign
    the file digests, can be provided one the command line with --fskpath or
    in a macro file with %_file_signing_key. After including file signatures,
    the package is signed normally.
    
    The package needs to be built with SHA-1 or SHA-2 digests before package
    files are signed, this prerequisite is noted in rpmsign man page.
    
    Changelog:
    - throw argerror when --fskpath is used without --signfiles
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit b07c13e5cae205d416f3c3570e3f8101e7182dab
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:41 2015 -0500

    Sign file digests and store signatures in header
    
    This patch introduces rpmSignFiles, which extracts file digests from
    the provided header and signs them using libimaevm and the provided key.
    The file signatures are stored in the header as hex strings under the
    tag RPM_FILESIGNATURES.
    
    Changelog:
    - fix signatureLength() - Mimi
    - remove existing file signatures and the file signature length, before
    adding new file signatures. - Mimi
    - fix dependency on ima - Fin
    
    [lkardos@redhat.com: fixed indentation]
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 12e5e5224246b2cc2140c458a479e648b791c793
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:40 2015 -0500

    Configure option to build with imaevm support
    
    This patch adds a config option to build with libimaevm which is needed
    for file signing.
    
    Changelog:
    - Add AM_CONDITIONAL WITH_IMAEVM
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit ab5c6243a6a7b5dea9a10409fa7a5433b168a03d
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:39 2015 -0500

    Add support for file signatures to rpmfi and rpmfiles
    
    This patch adds file signatures and file signature length to rpmfiles.
    These new members are set in rpmfilesPopulate, and they can be accessed
    with rpmfiFSignature.
    
    Changelog:
    - simplified logic in rpmfilesPopulate
    - removed empty line
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit 146fcc32c23670c019428b117d3d7cd4d5d89963
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:38 2015 -0500

    Subroutine for dumping immutable region of header
    
    This patch creates a subroutine for dumping the immutable region of
    a header.  It copies the header sections into a new header that can
    be altered.
    
    Changelog:
    - deallocate old hdrp
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit b7e9a60370d910febbe8c69e2d2cac7512051eb3
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:37 2015 -0500

    Add rpmtags for file signatures and their length
    
    This patch adds rpmtags for file signatures and their length, so they
    can be stored in the package header.
    
    Changelog:
    - update rpmtag values (rebase error) - Mimi
    - fix test case 0004 - Florian
    - update rpmtag values again - Fin
    
    [lkardos@redhat.com: tag numbers was changed in order not to conflict]
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit ca6389b617e4ac90c92688e105a695aa1ae9ba43
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:36 2015 -0500

    Export generateSignature
    
    This patch exports generateSignature under the new name rpmGenerateSignature
    so that includeFileSignatures can call it.
    
    [lkardos@redhat.com: fixed indentation]
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit e4664bf8bdd93508e073179fc19521433b79692f
Author: Fionnuala Gunter <fin.gunter@hypori.com>
Date:   Tue Jul 21 12:00:35 2015 -0500

    Refactor copyFile to not close files
    
    This patch refactors copyFile so that it doesn't close sfdp and tfdp,
    since copyFile didn't open those files. Also, the caller to copyFile
    closes these files. This patch also adds descriptions of copyFile
    parameters.
    
    Changelog:
    - removed call to manageFile() since copyFile() arguments are open files
    
    Signed-off-by: Lubos Kardos <lkardos@redhat.com>

commit aec4f88ed585aedae1b35f447ee730a9054d6a4a
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Aug 10 04:38:47 2015 -0400

    Fix last occurence of PyString
    
    This should have been done in
    commit 1866fc41c8fdf5a82705cee7f1043d5fb634c3be
    This fixes:
    
    $ python3 -c 'import rpm._rpmb'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ImportError: /usr/lib64/python3.4/site-packages/rpm/_rpmb.cpython-34m.so: undefined symbol: PyString_FromString

commit d18fdd7f8964d01b4dfc39bf84133695cff5a13a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Aug 6 14:28:25 2015 +0200

    Add --filetriggers option to show info about file triggers.

commit c16c70cbd6b31cd93541d5c22d23ba98d212ad3d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Aug 3 12:10:14 2015 +0200

    If globbing of a filename fails, try use the filename without globbing.
    
    Commit d14ecfe587efbe80e5534161dbd3a4f7158b4e2b enabled {} expansion
    but {} expansion caused regresion because rpm tried to expand filenames
    which weren't expanded previously and expansion failed because these
    filenames weren't supposed to be expanded. Now if expansion fails then
    rpm tries to use original filename.

commit 630a0970df46df6cc96a68349cf4e08d8b4ca772
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Aug 3 16:51:11 2015 +0200

    Modify rpmIsGlob() to be more precise.
    
    Now rpmIsGlob() checks if braces expansion pattern is well formed and
    not only if it contains opening and closing brace. The checking
    procedure is same as procedure in glob() so rpmIsGlob() and glob() are
    now compatible.

commit 655ca18630d4a89e022b51ea495fa63718303413
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jul 30 16:23:58 2015 +0200

    Don't warn when an escaped macro is in comment.
    
    - Related to 2a3f49585e5bd82d0bbfe5b9d6cdf24d9501b5cd

commit 8ea5374c2dc1e29dbf5eba2ef0ebc11966dd3214
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 28 16:40:22 2015 +0200

    Add doc string for rpmCallbackFunction

commit 46ba709a3b2b7651ccbb9425e73771e1f5be5db8
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jul 27 18:52:25 2015 +0200

    Fix compressed patches
    
    Regression caused by d9f673bf2841bb8c854e6676871078ab563a51c9 caused uncompressed patch content to be printed out to std instead of being piped into patch command.

commit d14ecfe587efbe80e5534161dbd3a4f7158b4e2b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 27 11:22:19 2015 +0200

    Enable {} expansion in rpmGlob() (rhbz:1246743)

commit ad23043ad42fb3ea889dcc41432fc3ebcddbd991
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 24 10:10:23 2015 +0200

    Update Language files

commit 1e3dd48f5a7f5b0a6cd5a998266c14f8fcca181f
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 24 10:08:59 2015 +0200

    Bump library version

commit 9ce23c96772e14cf68b26ce3a228eef7c962efb8
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 23 14:39:30 2015 +0200

    Add --build-in-place option to rpmbuild man page

commit 1380accf3649cc43ddb4efa1aa629de4f75f4fc8
Author: Juha Kallioinen <juha.kallioinen@jolla.com>
Date:   Tue May 26 14:10:02 2015 +0200

    rpmbuild: Fix build-in-place to work with target option
    
    Fixes the case when --target= and --build-in-place are both given to
    rpmbuild. The build-in-place macro was reset when looping all the
    given targets and rpmbuild ended up requiring a tarball.
    
    Signed-off-by: Juha Kallioinen <juha.kallioinen@jolla.com>

commit 0265acbde87036df08da16507a8c4c9a9e6c3c64
Author: David Greaves <david@dgreaves.com>
Date:   Tue May 26 14:08:16 2015 +0200

    rpmbuild: Support --build-in-place to run build and install from CWD
    
    Control using _build_in_place macro which can be set by the new arg.
    
    Sets _builddir macro to cwd and skips handling of -n and untar in the
    %setup script.
    
    Signed-off-by: David Greaves <david@dgreaves.com>

commit 35dd0fd04e998e8525767b9c1b88a5faac46c47d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 23 12:27:35 2015 +0200

    Add --noprep option to rpmbuild man page

commit 4f69f8b482e1bd61d5a7e1c8214e2ebc6cb66c5d
Author: David Greaves <david@dgreaves.com>
Date:   Tue May 26 12:31:51 2015 +0200

    rpmbuild: Add "--noprep" to not execute %prep stage

commit ee5deb26c56a40d1dca39ea735230cb0a6beeb19
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 23 17:20:25 2015 +0200

    Make test case not fail as non root

commit 8100d663c138502cf26e5b751e7082115de6ede6
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jul 23 12:16:56 2015 +0200

    Add priorities between file triggers and the other scriptlets.
    
    File triggers defined with priority greater than or equal to 100000
    will be executed before standard scriptlests. The other file triggers
    will be executed after standard scriptlets.

commit afdfbb6006fefa8bd1411cffc1a48c539ce65107
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed May 13 10:58:28 2015 +0200

    Execute triggers in order of their priorities

commit e2ac1b3406ae141d55bce7e6836b4917e54eb9f9
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 4 16:29:46 2015 +0200

    Include trigger index in db index for triggers
    
    So db index points not only to pkg header but to specific trigger in
    pkg header. It is needed for the next commit.

commit aef80dc151cb5c65ef76c124813800f2765e098b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 4 16:29:46 2015 +0200

    Parse file trigger priorities in spec files

commit 861e92fd0a4f02367180ab1786048062aded8861
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue May 12 16:47:23 2015 +0200

    File triggers moved to own file

commit a173d781a631a92524ce5be364c679ba19b3e321
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jul 21 16:09:37 2015 +0200

    Enable verification of rpm packages signed with gpg subkeys.
    
    Now rpm loads also gpg subkeys into keyring and not only gpg main keys.
    So rpm can verify packages signed with gpg subkeys (rhbz:#227632).

commit a742fc8ce934fd9e26264ffa18981796166d59f3
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jul 21 16:22:51 2015 +0200

    Store gpg subkey IDs in provides of the package containing gpg key.
    
    Previously provides contained only ID of main gpg key. Now they
    contains ID of main key and also IDs of subkeys. You can list all
    keys of some gpg package with:
    
       rpm --provides -q gpg-pubkey-...

commit 355c9b069f25d3a9c3dc224fb39a90522c04ca28
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jul 21 16:01:46 2015 +0200

    Add rpmGetSubkeys() and pgpPrtParamsSubkeys() for getting gpg subkeys.
    
    pgpPrtParamSubkeys() parses gpg packets to get gpg subkeys parameters.
    rpmGetSubkeys() uses pgpPrtParamSubkeys() and it creates rpmPubkey
    objects that can be insterted into rpm keyring.

commit e31016d3c65e4b3c8ad0ffdb31e259f0ad7f8802
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jul 22 21:17:11 2015 +0200

    Change po/POTFILES.in for lib/backend/dbconfig.c renamed to dbi.c

commit e8a38dba598c4d089d723c0650bd662fc2fdbafc
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jul 16 17:42:10 2015 +0200

    Add INDEXSYNC db control op
    
    We do this for two purposes: to fsync the index database and to
    update the generation count so that we can detect when the database
    is out of sync.

commit 278216e6b326ba0e2612b937cf3dc8e6d8d99685
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jul 16 17:31:23 2015 +0200

    Lock the database when adding/removing headers or verifying dependencies
    
    This is done both for correctness and speed.

commit 6bc09fff4d5dc568b1b7bb369706eb3c24fa7e57
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jul 16 17:23:12 2015 +0200

    Add rpmdbCtrl / dbCtrl to manipulate the database
    
    This will be used to allow coarse grained locking for ndb.

commit b50d2adb3b3a27f1c67a711a80f998c0fbde9cce
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jul 16 17:20:51 2015 +0200

    Add experimental ndb database support
    
    Use --enable-ndb for testing. Handle with care.

commit 1defb7ec693a38032818d2beb219fac61c1992d0
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Jul 16 13:37:33 2015 +0200

    Support multiple db backend implementations (again)

commit 33a8b61a01007c634aadec766e1aebe91aa82298
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Jul 15 13:05:02 2015 +0200

    Fix infinite loop in case of importing invalid certificate.
    
    Caused by commit eb7b41a68faf0ffea61ea688e3da17ddb8b56599

commit a450ffc4ab7068b400b028d171256df90309ce90
Author: Michal Toman <mtoman@fedoraproject.org>
Date:   Wed Jul 15 10:05:55 2015 +0200

    Add support for MIPS platform

commit 1cf58b30c88351cd6ff86cb2c15895cb85f54377
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jul 14 10:06:31 2015 +0200

    Fix regression in "--sign" option of rpmbuild command (rhbz:#1239039)
    
    Regression from 0bce5fcf270711a2e077fba0fb7c5979ea007eb5

commit eb7b41a68faf0ffea61ea688e3da17ddb8b56599
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 13 17:05:23 2015 +0200

    Properly import all public key certificates into rpmdb.
    
    When somebody tried to import public key certificates from one file
    that contained several certificates then only one package gpg-pubkey-*
    was created in rpmdb. And it contained all certificates but it behaves
    as if it had contained just one certificate. The fix properly splits
    certificates into several gpg-pubkey-* packages (rhbz:#1238717).

commit 168a6a2f14b96d575390b769847e064a70c1ddfe
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 13 17:02:26 2015 +0200

    Add pgpPubKeyCertLen() to get the length of the pub key certificate.

commit 5b4805df2085b0e7c4f09caad62638c3238b3bc1
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 30 11:39:21 2015 +0200

    Fix stripping of binaries for changed file output.
    
    file will print a "warning" that it only processed up to 256 notes.
    
     - Related: 659614aeb6fffe3b249c12b442bd85129100f73b
     - Related: http://rpm.org/ticket/887
     - Related: rhbz#1206312

commit a283c737ed18a04cbb10f1a957c563e9fdc28b36
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jun 25 16:45:57 2015 +0200

    Eliminate leftover, macro HAVE_GETPASSPHRASE is not used any more.

commit 541d6fdc512af5e2d342cebab8a0a8d34458b3a9
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 25 15:03:58 2015 +0200

    Stress that --setperms and --setugids are mutually exclusive

commit 059f19ea15c593ded291e18670393b9f0e8e432f
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jun 25 15:03:32 2015 +0200

    Fix typo in rpm man page

commit c336b1474402a566d5351ff41c45559d02a3389a
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 24 15:48:23 2015 +0200

    Add --enhances, --recommends, --suggests and --supplements to the man page

commit d2a6bec00041032f29bc65360adeff04f19f2db5
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jun 22 11:12:08 2015 +0200

    Don't bytecompile symlinks which point outside buildroot (rhbz:#1026469).

commit 2a3f49585e5bd82d0bbfe5b9d6cdf24d9501b5cd
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Jun 12 17:26:25 2015 +0200

    Warn when macro is expanded in comment.
    
    This warning is showed only when readLine() is called with
    STRIP_COMMENTS. Basically it means that this warning is not showed
    for macros in scriptlets (rhbz:#1224660).

commit beecf9cf26f6095c936368094c06ea3d84bd57f6
Author: Alec Leamas <leamas.alec@gmail.com>
Date:   Fri Jun 12 15:12:26 2015 +0200

    Add python binding for rpmSpecPkgGetSection with syntactic sugar
    
    specpkg object now has fileFile, fileList, policyList attributes

commit 05b7ac821487300f7c8924216087d9ee4347fe1d
Author: Alec Leamas <leamas.alec@gmail.com>
Date:   Fri Jun 12 15:10:43 2015 +0200

    Add rpmSpecPkgGetSection() to get fileFile, fileList and policyList
    
    of package from a parsed spec file.

commit f515907c71c03019a52f89921c41303fa5926b2a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Jun 12 13:38:23 2015 +0200

    Don't show error message if log function fails because of broken pipe.
    
    - regression from commit 11b005c957fb0e52d42078480104d3e27e95e609
    - rhbz: #1231138

commit 0bce5fcf270711a2e077fba0fb7c5979ea007eb5
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jun 9 18:06:29 2015 +0200

    Allow gpg to get passphrase by itself.
    
    Remove rpm asking for passphrase and then passing this passphrase
    to gpg via file descriptor (--passphrase-fd) but provide gpg with
    access to unredirected stdin to get passphrase directly from user.
    
    Remove also macro %__gpg_check_password_cmd because in this new signing
    scheme has no sense. rpm doesn't handle passphrase in any way,
    everything is done in gpg including checking of passphrase.
    
    We did this modification because of changes in gpg behavior. Since
    gpg-2.1 option "--passphrase-fd" doesn't work by default, only when
    it is explicitly allowed in gpg.conf. (rhbz:#1228234)

commit 6a8924b4c9df8e3597f7b4aa3de46498d390c5a8
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Jun 9 14:19:59 2015 +0200

    Use named pipe instead of stdin as input for gpg
    
    This enables running gpg with access to the shell the rpmsign command
    is running in. This is needed to allow gpg to get passphrase by itself.

commit 140744377b019e0de81d76d0931c32228d2ed57e
Author: Johannes Dewender <rpm@JonnyJD.net>
Date:   Mon May 18 10:11:13 2015 +0200

    remove luaL_checkint, deprecated in lua 5.3
    
    luaL_checkint and luaL_optint are deprecated in lua 5.3
    The variants luaL_checkinteger and luaL_optinteger work
    the same with an implicit typecast (lua_integer -> int).

commit 93a2f6ae9285298830c0c62dbf2d62c4acd7d1b1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 28 15:54:55 2015 +0200

    Add --whatrecommends, --whatsuggests, --whatsupplements, --whatenhances
    
    query parameters.

commit 0bfa52dc740dea5e8213aa368d2154c865eeb60f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 27 11:00:58 2015 +0200

    Add Recommendname, Suggestname, Supplementname, Enhancename indexes to rpmdb

commit b2bde386f609145f14fe9c98bba67b9db6e2b4ff
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue May 26 16:09:54 2015 +0200

    Don't allow infinite recursion loop with "package file" manifests
    
    - Now maximum rercursion level for "package file" manifests is 1000.
      After this limit recursion is stopped and error is displayed.
      (rhbz:#461352)

commit b0359b7cb74ed3006ef1992dbd6a55ea4b98c9ce
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed May 13 13:48:35 2015 +0200

    Fix segfault in prefix search implementation
    
    - Regression from cc924b59cae3d7c473faeee22d68eb6bc914c0c2

commit 3e1c30bd1230b25c2dfa6b6c55ca083322fe545c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Apr 27 15:26:03 2015 +0200

    Warn that --setugids can clear SUID and SGID bits.

commit c7fa7b2fd7205b73c833831ab9f8c311f40b2ff1
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 24 15:29:01 2015 +0200

    Update depends of package that is already in set of removed packages.
    
    If we have installed package foo-1-1 and we are doing update with
    transaction containing foo-1-2 and foo-1-3 then first foo-1-2 is
    set to depend on foo-1-1 but when foo-1-2 is replaced with foo-1-3,
    foo-1-3 has to be set to depend on foo-1-1.

commit 083514dc132bde674f3f4974ceb22751160e544d
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Thu Feb 26 16:26:58 2015 +0200

    Make terminating build on empty %files manifest files configurable

commit 357c68e9d47f5911ee99b71114745df631c70855
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Apr 24 13:55:49 2015 +0200

    Fix ionice and IndexIterator testcases
    
    ionice may use 'unknown' instead of 'none'. The sort order of the
    IndexIterator is undefined.

commit e97f580427a1b6cc0f005fbd2f559a60387a3cdf
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Apr 23 17:29:42 2015 +0200

    Remove RPMDBI_PACKAGES from dbiTags
    
    Should probably have been in commit 690d31b1c67707dcbf15be3a3202759471b3476b.

commit 31c63e63a37f6f5fbc1c7b4542d9f9bf48be46b5
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 22 11:20:47 2015 +0200

    Rename dbconfig.c to dbi.c

commit 50472217e2689ef29cd2ccf57716b12599546856
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Apr 22 11:16:24 2015 +0200

    Move db3 configuration parser to db3.c
    
    Now db3.c is the only file that includes db.h!

commit fcfca36435f2e785189c0165d70391ee13a8967d
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 16:34:54 2015 +0200

    Add dbi arguments to pkgdbX/idxdbX functions
    
    Turns out we need them if we want to support multiple backends,
    as we can't access the private cursor elements.
    
    (This reverts commit #70331520a0a9f1cb5ea446f1df28b740431a1fe4)

commit e7dc616332516478f87605ec3e75931082518098
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 15:45:32 2015 +0200

    Consistency: change pkgdbX return type to rpmRC

commit fa22ae413b223eb70d50321542bab1e688c5d359
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 14:13:41 2015 +0200

    Cosmetics: move idxdbKey function down
    
    That way it is next to the other index functions.

commit 98737c7d3ff90e485cb6c4a3bca82e2db3b3c58c
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 13:58:13 2015 +0200

    Remove dbiType() function
    
    It's not used outside of db3, and the db3 code has direct access
    to dbi_type.

commit 3180e7288caeda8a0db3bcd25027cec2483666c5
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 13:49:37 2015 +0200

    Remove DBI_PRIMARY support from dbt2set and set2dbt
    
    The functions only get called for index databases, so...

commit 473e2ed0ab3b2de8997bfa4a1686d32b2cbaf5bd
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 13:40:58 2015 +0200

    Move dbiType() dbiFlags() dbiName() from db3 to dbconfig
    
    They are not backend specific.

commit b6462e325f9686dd8fb3348b77a852e66fff6b30
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Apr 21 12:10:19 2015 +0200

    Drop dbi parameter from pkgdbX functions
    
    Consistency with the idxdbX functions, the dbc is enough as
    it contains a dbi pointer.

commit 799e160773a30a8b0b92a9b026fa92c44db1b552
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 17:01:40 2015 +0200

    Call dbSetFSync with the db handle, not the dbenv

commit c28d109f7dfcaa1fa96ef4d7959c19d5204ae321
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 16:52:52 2015 +0200

    Add a pkgdbKey function returning the last hdrKey
    
    Use it to get rid of the hdrOffset pointer in pkgdbGet. And we
    already have a idxdbKey function.

commit 043aadd452f5aae3f0cd4b37fc879335e892a75d
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 16:44:00 2015 +0200

    Rename some dbcCursorX function to idxdbX
    
    They are not generic cursor functions, and the change makes
    the code consistent with the pkgdbX functions.

commit 598825d824e66a07ead5a6e611e235ecab12292e
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 16:34:26 2015 +0200

    Move the "/" fixup into the db backend
    
    As this is about a limitation of berkeley db and other backends
    don't need it.

commit cc924b59cae3d7c473faeee22d68eb6bc914c0c2
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 16:07:36 2015 +0200

    Move prefix search implementation into db backend code
    
    This is done so that different backends can implement prefix
    search in different ways. The commit also renames DBC_RANGE_SEARCH
    to DBC_PREFIX_SEARCH.

commit 69a4e83e7b4308a21d0b46e3911773971a26845b
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 13:59:36 2015 +0200

    Split package id creation from pkgdbPut
    
    Simpler code is better.

commit ad3b8f97e432de3bc95196d69cc4df99881c91e2
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 20 13:46:17 2015 +0200

    Always call pkgdbGet/Put with a cursor
    
    Makes the code more consistent and simplifies the backend.

commit 77146f94b598079a24ab779f71e6c2ebf151cd24
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Apr 16 08:22:41 2015 +0200

    Allow multiple triggers fired by the some package of different versions
    
    - related to:
         3ae1c414f69a0eddbfecd4341dd27c7a5e90e12a
         c91d9f21d900ea3c65b0832c7be091f3246b4504

commit b52a5ca55722b0b5316cf8189b6caa285ba5c469
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Apr 23 17:17:25 2015 +0200

    Fix using wildcards after tag %doc
    
    - Regression caused by:
        a817b246330780902eaed12633ce9282ef715fd9
        f16a522ca4be7090db5a3fc1a507e58a4d4946fd

commit 284a771504ef24446bfacc240d77895f7e74e8b9
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 24 09:55:42 2015 +0200

    Fix doc strings

commit 916d528b0bfcb33747e81a57021e01586aa82139
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 23 16:24:55 2015 +0200

    Use user and group of the rpmbuild process or root for sources
    
    if a file does not have a valid user or group name.
    No longer issue an error if source files (including the spec file and patches)
    have an invalid owner or group id set.

commit a817b246330780902eaed12633ce9282ef715fd9
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Apr 20 13:39:00 2015 +0200

    Fix using of relative path with more than one component after tag %doc
    
    - Regresion from commit f16a522ca4be7090db5a3fc1a507e58a4d4946fd

commit f16a522ca4be7090db5a3fc1a507e58a4d4946fd
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 17 14:22:38 2015 +0200

    Don't include not explicitly listed files from doc dir into package
    
    - Previously if spec file cointained tag %doc then all files located
    in doc dir (that path was generated by getSpecialDocDir()) was added
    into package. Now only files explicitly listed in spec are added
    (rhbz:#728959).

commit baa324305e63c1a26113776e0770d3dd6a9ea05f
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Apr 17 11:31:26 2015 +0300

    python: flake8 cleanups
    
    http://rpm.org/ticket/886

commit 679556fa1f2af136b788dc980907556a3f85fc29
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 17 10:23:14 2015 +0200

    Replace using of undocumented bash feature with documented one.

commit 0f784471bb57dd171b5da18b5ed5829c0053fc56
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 15 14:49:42 2015 +0200

    Fix typo in rpmspec man page.
    
    - Resolves: rhbz#1211554

commit 363c015da5cbf315df267dc53580290984039804
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Apr 15 09:51:08 2015 +0200

    Make sure references to go sources in debuginfo packages go to the installed path and not the source file in the build environment.
    
     - Resolves: rhbz#1184221

commit 1bd14464b9c6206602d1553fd24db7385e64ef55
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Apr 11 10:34:09 2015 +0300

    Indentation fixes

commit 344f938670b8f7400ef177945cef5552783d450f
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 10 17:28:17 2015 +0200

    Fix adding of sources to lua variables during recursive parsing of spec
    
    - Before this fix sources and patches weren't added to lua variables
      "sources" and "patches" if they were located in spec file after tag
      "BuildArch". Now it works.(rhbz:#1084309)

commit 90976cf618cbeef1ab3dd557c0cfcff041330696
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 10 16:21:42 2015 +0200

    Check for multiple specfiles in the source tarball
    
     - Give a meaningful error message
     - Fix rhbz#886395

commit 6ca6747b0694895bf1e8840223e6077f9376984e
Author: David Martínez Moreno <ender@fb.com>
Date:   Sun Mar 22 23:38:53 2015 -0700

    Reset nice and ionice priorities when executing scripts.
    
    Sometimes you may consider running an entire yum upgrade wrapped on nice and
    ionice to soften the effect of the upcoming I/O and CPU storm on the system.
    The side effect of that is that restarted services and anything else executed
    from the pre- and post- rm and installation scripts will be niced and ioniced as
    well, defeating the whole idea.
    
    With this, you are safe to run it, because we will reset nice and ionice values
    right after fork() to the defaults.

commit ee72c41d8b9994e4b1086c116927e8541a6ba592
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Mar 30 09:31:15 2015 +0200

    Fix off-by-one error (rhbz:#1206750)
    
    - Caused by commit b598ce37d76bde5b8a6029008531aba6d2fbf594

commit 0f051ab3b5b7a5342029e49b9a72ec7499a3d6ad
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 27 15:45:57 2015 +0100

    Pass _find_debuginfo_opts -g to eu-strip for executables (rhbz:#1186563)

commit 5d4d5e40c5a2634960385731743dc891ce9f1253
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 27 11:10:02 2015 +0100

    Unmask %license directive when parsing files manifest
    
    See also 2225fd7e9297a62f66d7c9a190cf95d18ccbcd98
    Resolves rhbz#1200761

commit 11b005c957fb0e52d42078480104d3e27e95e609
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 27 10:12:58 2015 +0100

    Try to print error on stderr if log function failed (rhbz:#1139444)

commit 5dd555adbed5dae6a9255bb17074d2b043d0244e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 27 09:57:29 2015 +0100

    Add deprecation warning to description of "--addsign"

commit 55735113178642ab4bcbd75c1adf7d7f9fc65894
Author: Denis Ollier <larchunix@gmail.com>
Date:   Sun May 4 22:34:48 2014 +0200

    Fix --last sorting with non-en locales
    
    On some locales (e.g: french), sort interprets the space character as a
    thousands separator. As a result, digit(s) at the beginning of package
    names (e.g: '0' for 0ad), are merged with package installation
    timestamp and the output of rpm -qa --last is wrong.
    
    For instance, the following list:
    
        1398777401 0ad-0.0.15-3.fc20.x86_64
        1397901236 kernel-3.13.10-200.fc20.x86_64
        1399198174 kernel-3.14.2-200.fc20.x86_64
    
    is sorted like this:
    
        1398777401 0ad-0.0.15-3.fc20.x86_64
        1399198174 kernel-3.14.2-200.fc20.x86_64
        1397901236 kernel-3.13.10-200.fc20.x86_64
    
    instead of:
    
        1399198174 kernel-3.14.2-200.fc20.x86_64
        1398777401 0ad-0.0.15-3.fc20.x86_64
        1397901236 kernel-3.13.10-200.fc20.x86_64
    
    This patch ensures that the space character is not interpreted as a
    thousands separator anymore by setting the environment variable
    LC_NUMERIC to C locale for numeric sorts.

commit b30fca9eedd5c3963699ee5382f0ee1e32fbab7c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 20 16:52:12 2015 +0100

    Add macro _vsflags_query_rpmdb
    
    If it is defined then it is used for queries when "-p" is not set on
    commandline. If it is not defined then macro _vsflags_query is used.
    For queries with "-p" on commadline macro _vsflags_query is always used.
    Macro _vsflags_query_rpmdb is set to 0xf0f00 (no checking) by default.
    (rhbz:#438625)

commit c91d9f21d900ea3c65b0832c7be091f3246b4504
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 20 13:39:26 2015 +0100

    Fix for previous commit.
    
    We allow more triggers fired by on package. If triggers have different
    types, one is triggerin and the second is triggerun.

commit 3ae1c414f69a0eddbfecd4341dd27c7a5e90e12a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 20 13:16:41 2015 +0100

    Deny build of package with more "normal" triggers fired by the same package.
    
    "normal" trigger means trigger fired by package not by file (file trigger).

commit 0fddb3cbd80fc763ecacfea5b82631f7693915c2
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 20 12:16:30 2015 +0100

    Add deprecation warning to %makeinstall (rhbz #1148195)

commit 37582c9d040c17bc79c3619de08e095d8667a945
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Mar 20 10:36:22 2015 +0100

    Document rpmbuild --with / --without options (rhbz:#1187631)

commit ef87314342a82d601a23cce600d9b9800caa6c78
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Mar 16 15:03:35 2015 +0100

    Add test for rpm install option "--excludedocs"

commit b598ce37d76bde5b8a6029008531aba6d2fbf594
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Mar 12 15:34:39 2015 +0100

    Skip directory if contains subdirectory that contains only skipped files.
    
    Previously directory was skipped from installation if it contained only
    skipped files. But it wasn't skipped if it contained some subdirectory.
    Now if subdirectory contains also only skipped files then subdirectory
    and also parent directory are skipped. It is achieved by solving
    subdirectories at first and then solving parent directories.
    (rhbz#1192625)

commit d9f673bf2841bb8c854e6676871078ab563a51c9
Author: Pádraig Brady <P@draigBrady.com>
Date:   Tue Feb 17 16:47:10 2015 +0000

    Diagnose corrupt/empty compressed patches
    
    Currently the failure status from the decompression processes
    is ignored, resulting in silent failures to apply corrupt
    compressed patches, which is easily missed.
    
    Adjust so that patch(1) (and thus the full command line) will fail.

commit f793add4ae429e11664b403df4c32a73bc31a6e8
Author: Pádraig Brady <P@draigBrady.com>
Date:   Tue Feb 17 16:30:00 2015 +0000

    Use more accurate bzip2 patch detection
    
    The existing code only checks for 'BZ' at the start of the file,
    which has an unfortunate overlap with BugZilla, and thus is
    quite possible to be at the start of a standard patch.
    
    Instead check for 'BZh' at the start, which is what file(1) does.

commit 2d418ad3c11bcf0261d0022ac177d13284a8d5fb
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Mar 10 15:53:02 2015 +0100

    Deal with calling fork() without exec() in lua scriptlets.
    
    Lua scriptlet is executed within rpm itself. So when no exec() is called
    after fork() in lua scriptlet then the forked process continues to run
    and duplicate the rest of the operations of the main rpm process. This
    behaviour is dangerous, it can lead to corrupted rpm database. This
    commit deals with this situation by terminating such a child process
    before execution of any duplicate operation.

commit 4d41ad89af715e730dd1a7538efdca58b7a10f21
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 20 16:39:48 2015 +0100

    Add rpm.setInterruptSafety() to Python binding

commit 56f49d7f5af7c1c8a3eb478431356195adbfdd25
Author: Colin Walters <walters@verbum.org>
Date:   Thu Feb 19 15:50:38 2015 -0500

    Add API to completely disable librpm's use of Unix signal handlers
    
    On Tue, Feb 17, 2015, at 07:07 AM, Florian Festi wrote:
    > Sorry, for the last response. DevConf takes its toll...
    >
    > On 01/23/2015 04:07 AM, Colin Walters wrote:
    > > Numerous consumers of librpm use it in a pattern where they're
    > > constructing fresh chroots.  For example, rpm-ostree operates this
    > > way, and is used to provide atomic upgrades in concert with rpm.
    > >
    > > If the process dies due to SIGINT or another signal, the root can
    > > simply be discarded.
    > >
    > > Currently today, rpm-ostree undoes the signal handlers after loading
    > > librpm so that Control-C does what I want, but there's still a race
    > > condition where the interrupt can be lost.
    > >
    > > Add an API so callers can disable the behavior.
    >
    > Is there any chance someone would want to switch them back on?
    
    I can't think of one offhand...tools that interact with a live root
    should be happy with what RPM does today, right?
    
    > My gut
    > feeling tells me this should rather be rpmsqSetInterruptSafety(int on);
    
    But here's a patch which does it, in case you prefer it.  I did write
    a better API doc this time.
    
    From ae6d2de85b7b81cf91318183ba253402ac538785 Mon Sep 17 00:00:00 2001
    From: Colin Walters <walters@verbum.org>
    Date: Thu, 22 Jan 2015 17:57:14 -0500
    Subject: [PATCH] Add API to disable librpm's use of Unix signal handlers
    
    Numerous consumers of librpm use it in a pattern where they're
    constructing fresh chroots.  For example, rpm-ostree operates this
    way, and is used to provide atomic upgrades in concert with rpm.
    
    If the process dies due to SIGINT or another signal, the root can
    simply be discarded.
    
    Currently today, rpm-ostree undoes the signal handlers after loading
    librpm so that Control-C does what I want, but there's still a race
    condition where the interrupt can be lost.
    
    Add an API so callers can disable the behavior.

commit b151b5297b574253e122014a40955d53af12749c
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 17 15:29:59 2015 +0100

    Fix doxygen warnings
    
    Make shure parameter descriptions in doc strings match the functions

commit ae251c379c9838b61ede538f7fcb98ef4f1ed79f
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 17 15:28:40 2015 +0100

    Update doxygen files
    
    Removed now obsolete parameter parameterss

commit 77d23fd38e90d62f724f4c97bf6ec446b49ffa3d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 16 14:52:51 2015 +0100

    Fix problem that rpm get stuck if file trigger script doesn't read stdin.

commit 67afe190ec6a2222d1c10647558026c564a523ee
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 16 14:45:39 2015 +0100

    Fix leaking of file descriptors.
    
    This was caused by commit 278c55266682f61a23433224e0197997c572706a.

commit fbdf2995c5fb9a826e9280e6014bc25586b811e3
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Feb 16 14:04:46 2015 +0100

    Get rid of warnings about maybe uninitialized variables.
    
    These warnings were caused by my recent file trigger commits. These
    warnings are showed only with compiler option "-O2" and I used "-O0"
    that's why I didn't notice them at first.

commit 659614aeb6fffe3b249c12b442bd85129100f73b
Author: Pascal Terjan <pterjan@gmail.com>
Date:   Mon Feb 16 13:08:50 2015 +0100

    Fix debuginfo creation for changed file output.
    
    file will print a "warning" that it only processed up to 256 notes.
    Fixes: http://rpm.org/ticket/887

commit 148e82833a384b438547c2d3610e3df4a50cf997
Author: Guillem Jover <guillem@hadrons.org>
Date:   Thu Jan 15 17:01:48 2015 +0100

    Use setexecfilecon() from libselinux instead of ad-hoc code
    
    This function was factored out from rpm_execcon() upstream to make it
    easier to use by its users, by making it not call execve() directly. It
    is now also used by dpkg since 1.17.11.
    
    Preserve the ad-hoc code for now so that it can be compiled against old
    libselinux versions.

commit 415aa42566052db9b7677163cea0366e55f72dcf
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jan 7 10:42:46 2015 +0100

    Add support for the RemovePathPostfixes tag in the spec file
    
    It may contain colon separated lists of path snippets that are removed from the end of the file name when adding the file to the package. This allows creating sub packages containing conflicting files. The path snippets are processed left to right.

commit fab075d1211eb23ad51877408866419ba6b8c399
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Feb 3 16:26:15 2015 +0100

    Add test for file triggers.

commit 30a5603159083f2840bfae801ab27ba5f78c36e7
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 12:11:59 2014 +0200

    Add support for %transfiletriggerun.

commit ec78eea7fe6a60bc10038ca3a7a4c5d85e2a9a16
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 10:47:32 2014 +0200

    Add support for executing file triggers.
    
    Supported file triggers:
    %filetriggerin
    %filetriggerun
    %filetriggerpostun
    %transfiletriggerin
    %transfiletriggerun

commit b04c4f559b25bf8b6774a445a0e537c8ce1d2c59
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 08:34:25 2014 +0200

    Add hash installedPackages to transaction members structure.
    
    - After transaction this hash contains all packages installed in
      transaction. This hash can be used as argument of rpmdbFilterIterator()
      to get all packages installed in transaction from rpmdb.
    
    - Rename removedHash to packageHash.

commit 2dd2e1f1ffb85d0568d95d7f92c67f747b0bc9de
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 08:20:38 2014 +0200

    Add functions to work with database iterator.
    
    - rpmdbGetIteratorIndex() to return current iterator index.
    - rpmdbSetIteratorIndex() to set iterator index.
    - rpmdbGetIteratorOffsetFor() to get package offset for given iterator
      index.

commit c924815dee048dcffa6200b2e363b35e750fe010
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 08:02:21 2014 +0200

    Add rpmdbIndexIteratorPkgOffsets() to return all offsets of current db item.

commit 3308b9fbfd1eabbdc66327d74b572d26b116b112
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Sep 17 07:49:56 2014 +0200

    Now rpmScriptFromTriggertag() can load file trigger scripts.

commit 0558600a9dcb98922f8a0aa2bcf321087a48690b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 17:41:54 2014 +0200

    Add rpmdbFilterIterator() to filter out items from db iterator.

commit 4381da9217284915c7b72d3529971cc860a36c5c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 17:22:12 2014 +0200

    Add rpmdbUniqIterator() to makes records in db iterator unique.

commit 278c55266682f61a23433224e0197997c572706a
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu Jan 22 12:23:22 2015 +0100

    Add rpmScriptNextFiletFunc()
    
    This enables assigning some function to script. Purpose of this
    function is to provide input data for scripts. Forkable script can read
    these data from its stdin and lua script can read these data with
    function rpm.next_file()

commit 846d0e0203c479004a146021d795eefade551982
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 16:32:39 2014 +0200

    Add rpmdsFilterTi() to filter rpmds according to trigger index.

commit c53158a6f64d48d06f4294ff5511752321ba24d9
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 16:21:59 2014 +0200

    Add rpmfilesFindPrefix() to find files with given prefix.

commit fe93b3dd53466a7ef4036b916fb6f9a9dac1fcc8
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 16:09:21 2014 +0200

    Add rpmdbInitPrefixIterator() to iterate over db items with given prefix.

commit d0c2c8257a6c1a8f040e3f81ca33a99f59eea7a2
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Sep 16 15:26:32 2014 +0200

    Add rpmdb indices for file triggers.

commit 9e8f57bf7abdc26262467d20c5a636547c09a277
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Jul 2 13:26:49 2014 +0200

    Add parsing file triggers from spec file and saving them into header.

commit 97989236c0f39ccbc7f2c1d52cc30f167fd827fe
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 26 14:22:34 2015 +0100

    Fix Python import directive for more strict Python3 search rules
    
    Fixes http://rpm.org/ticket/885

commit 6845efae0dcc005f3bbb4cd4179a3ccce9d9638c
Author: Jean Delvare <jdelvare@suse.de>
Date:   Mon Jan 19 17:21:26 2015 +0100

    Read uncompressed patches from stdin
    
    Since commit 15e9e1ff64aaf986ab0dd97b9b12c3d4fb22a484 ("Simplify
    doPatch()" in May 2008), uncompressed patches are read with "cat" then
    piped to "patch". The idea was to simplify the code, however this
    change had consequences which I suspect were not considered.
    
    The first consequence is a performance regression. Forking and passing
    the data through a pipe is much more expensive than reading from
    stdin. For packages with a lot of patches, this makes a significant
    difference.
    
    A second issue is the integration with other tools. I am working on
    quilt. Quilt has a "setup" command which reads a rpm spec file and
    produces a compliant working tree with all patches ready to be
    applied. This is implemented with rpmbuild as the backend. We
    intercept the calls to patch to record the name and sequencing of the
    patch files. If the file is read from stdin, we can obtain its name
    directly. But if it comes through a pipe, we have to compare the
    md5sum of the contents with the md5sum of all candidates in
    $RPM_SOURCE_DIR. Again this is much more expensive.
    
    For these reasons I would like to ask that commit
    15e9e1ff64aaf986ab0dd97b9b12c3d4fb22a484 is partly reverted. In my
    experience, uncompressed patches account for 99% of patches in rpm
    packages so I believe it makes sense to optimize for this case.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>

commit 5b459f05c4b64f9004e3bdc84c02d4f32af0371c
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jan 19 15:40:18 2015 +0100

    Add -r* params to rpmbuild to allow building all stages from source rpms, too.

commit 7071a70326733202c18d905812e9309777dd6119
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Jan 14 11:26:31 2015 +0100

    updateRichDep: remove bogus "- 1" that broke index entry generation.
    
    Bug noticed by Lubos Kardos, thanks!

commit ac925b8b0b27c38692a480db28963ef0fbab988d
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Jan 9 12:45:57 2015 +0100

    Do not call rpmEscapeSpaces in the rpminstall noglob case.
    
    As we don't call rpmGlob, nobody unescapes the spaces again.

commit 4ee10b62eca6b40b560dcc76f5c7a797d64f226a
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 15 11:14:07 2014 +0100

    Add python doc strings for rpm.ds

commit e768b81f095f05ae006a229bc16ef2c0f847bf81
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 15 11:13:07 2014 +0100

    Add python doc strings for main module and top level functions

commit 72975e6ae36edea7fe227e1d5cd4ac92f6e09f4c
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 15 11:12:35 2014 +0100

    Add python doc strings for rpm.files

commit a53b37ccf5a4c25545db643f4f2f890d2a249a7f
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 15 11:11:59 2014 +0100

    Add python doc strings for rpm.te

commit 436c3db77eca03ace3eb3ecd12e3b397bd315f33
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 15 11:11:28 2014 +0100

    Add python doc strings for rpm.hdr

commit 4ee07625175971815a9a143399753479b097e904
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 12 20:49:31 2014 +0100

    Add python doc strings for rpm.mi

commit fd5628b1adee17f85fcc877cacd13e1eafbab407
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 12 20:41:59 2014 +0100

    Add python doc strings for rpm.files and rpm.file

commit 2f04d42f95e21fd1ce99352f8d5eec9b329a94e2
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 12 20:38:33 2014 +0100

    Add python doc strings for rpm.fi

commit 88d24893b673d50af1ceb699cd3b0aac9028167e
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 12 20:25:22 2014 +0100

    Add python doc strings for rpm.archive

commit 73b89db960f563b6c9a66b99159ef25fce841ebf
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 12 20:22:50 2014 +0100

    Add python doc strings for rpm.ts

commit 2f31395dcd49459c775caaadefa0513181cd12ff
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Dec 17 12:53:30 2014 +0100

    Fix color skipping of multiple files with the same content.
    
    - If we process some file and we find another file with the same path
      and the same content and this other file is skipped for color then
      the currently being processed file has to be skipped for color too.
      (RhBug:1170124)

commit 4c621e97776a47c2b4e7f17c1cd2a7961453babf
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Dec 3 14:01:14 2014 +0100

    Ignore "use" or "requires" within multi-line print or assign statement
    
    - Now script perl.req ignores "use" and "requires" on lines that are
      part of printing or assigning multi-line string i. e. string that
      hasn't starting and ending quote on the same line.
      (RhBug:1024517)

commit 4f05fa0e15bcb66d29f89e28829ea43107f6382b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Dec 1 16:04:32 2014 +0100

    Fix parsing multi-line print statement with unquoted tag
    
    - script perl.req was able to parse only multi-line print statements
      with quoted tag e.g. 'print <<"tag"' or "print <<'tag'". Now it can
      also parse "print <<tag".

commit ec6495d79fa9834bca3394f56e9f6eb933030b1d
Author: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
Date:   Mon Oct 20 11:16:43 2014 +0100

    Do not load the systemd_inhibit plugin if not booted with systemd.
    
    Signed-off-by: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit d43bbad1f69376ba938a17c3e98d38245984c704
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 10:11:26 2014 +0200

    Drop unused, bitrotten dependency generator scripts
    
    - The php and Tcl (RhBug:1158580) have never been used.
    - perldeps.pl was supposed to be a better perl generator but nobody has
      bothered using it, maybe it just doesn't work?
    - osgideps.pl has never been wired up with anything so any user
      would have manually invoked it. Lets see if anybody hollers, at least
      Fedora has entirely different, rpmfc-style generators for it
      (RhBug:1158583)

commit bcb5fb50ddccdbccf6f096d0c574184c7b82c4b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 28 10:06:17 2014 +0200

    Handle %ghost file in payload (RhBug:1156497)
    
    - Older rpm (< 4.11) sometimes packaged %ghost files into payload,
      at least in case of a hardlinked file marked as %ghost. Just skip
      them if encountered in payload, whereas older rpm thought of these
      as actual hardlinks (including 'rpm -qlv' output) but handled
      (whether accidentally or otherwise) somewhere in the fsm. Thanks
      to Florian for pointing out this correct fix instead of reverting
      back to former behavior.
    - Depends on commit d85dc92e8d7fb50d16f49faa1e88c85fdc526199.

commit 051ca9ec7f3c386877f9c0faa77d577f891d3a59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 28 10:01:53 2014 +0200

    Generic support for skipping items inside file info iterator

commit 7bb07c269d39f4ad2a12d2df41597584c852251d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 11:17:06 2014 +0300

    Use rpmSigInfoParse() for initializing digests for verification
    
    - Replace manual if-we-have-this-tag-then-maybe-we-need-foo dance,
      iterate through all signature header tags and initialize the digests
      we'll need.

commit 974c779db1305aec16f145c8fa26433e19273998
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 10:27:33 2014 +0300

    Drop now unused parsePGPSig()

commit 719f2749049a1a3c35bbae9797760f30643a459f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 10:27:09 2014 +0300

    Refactor normal signature checking paths to use the new API
    
    - Simplifies things quite a bit, and better yet this gains us
      sanity checking of signature header data, and unified with
      the rpmkeys -K path at that. Dribble signatures go this way
      too but they have some twists of their own still, including
      partial but suspect sanity checks.

commit 46546223041e5d11bcfaf94ca0fb84548a569739
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 10:26:37 2014 +0300

    Refactor rpmpkgVerifySigs() (ie rpmkeys -K) to use the new API
    
    - Simplifies things quite a bit, and better yet this gains us
      some actual sanity checking of signature header data for the
      first time (on this particular path)

commit ff8547a0cfacd219a587d30b287d216a13b29a8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 10:25:48 2014 +0300

    Start consolidating our tribal knowledge on signature tag data
    
    - New internal API to "parse" signature tags, performing various
      sanity checks, classifying the type (digest, actual signature etc)
      and gathering other relevant info.
    - Unused as of this commit...

commit cff6a5d9918f41fb920387e5dbbc78a52bfbd2c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 10:02:19 2014 +0300

    Remember data (allocation) size of non-extension data from headerGet()
    
    - Add size member to rpmtd_s and accessor function to get it.
      For now only works for data marked with RPMTD_IMMUTABLE.
    - This is redundant for BIN type, but especially for string types this
      info is impossible to get without walking the entire data.

commit 2a2cecda957d7474487710abe347d27d8cced043
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 09:39:53 2014 +0300

    Remove support for header+payload signatures and digests from normal paths
    
    - To celebrate tenth anniversary of not verifying RPM v3 header+payload
      signatures or digests in normal rpmReadPackageFile() paths and nobody
      noticing (see commit d57bc03f6567acf6d1631541b97ce7cdb1b262bb), rip
      out the unused code for good.
    - The "check everything" path invoked by rpm(keys) -K can still
      be used to verify v3 digest and signatures though, at least
      for the time being.
    - In other words, in default setup of last ten years, this commit
      does absolutely nothing at all, and for package install
      even configuration has not mattered because RPMVSF_NEEDPAYLOAD is
      forced on those paths.
    - This code is also wonderfully broken as it assumes MD5 digest with RSA.
      Could be easily fixed, but that nobody has noticed only goes to
      this code truly is useless and dead.

commit 049d52c07298405fa4fa21c55cbef3e30fb41f1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 09:39:14 2014 +0300

    Rename variable to clarify meaning
    
    - havekey is about as obscure as it gets here... yes these things
      also have a key, but so do DSA/RSA. The point is about legacy
      signatures needing payload digest.

commit f5025da4e6962865a8bba12526b21957738ce25b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 09:35:57 2014 +0300

    Eliminate redundant argument to formatResult()
    
    - Verification result can only be RPMRC_NOKEY or RPMRC_NOTTRUSTED
      on actual signatures since forever (rpm 4.4.x used to return
      RPMRC_NOKEY for missing digest), this is no longer needed.

commit 8fb86477c73dd2270b5512ab3a2f36fff1b0bcd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 09:12:31 2014 +0300

    Add a separate mutex for serializing logging events
    
    - Logging output (including callback activities) is conceptually always
      a "write"-event, but independent of log context manipulation so it
      needs a mutex of its own to serialize log events. Previously we
      write-locked only for records that need saving, so messages above
      warning level could get interleaved.

commit df8718190b112426cdedff84ebf45cfa9e04266b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 08:58:03 2014 +0300

    Free context lock before logging output (and callback)
    
    - Grab the bits we need from context to local variables and free
      the lock before callback and output, either of which could involve
      writing to files (and in case of callback, who knows what) so
      it could take long and prevent something silly like rpmIsDebug() from
      proceeding. Also this way callback can call some rpmlog-related
      functions without much worries of getting stuck or other trouble.

commit db10a21efbac90f5f5fb680737e33dd03ba96f8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 08:39:51 2014 +0300

    Delay lock context acquisition to time of actual logging
    
    - Checking whether we need to log requires a (read) lock on entry,
      but most of the time that's all. Hide that locking behind calling
      rpmlogSetMask() and move ctx acquire into dolog()
    - Means we're now taking two different logs when actually logging,
      but since that's the rarer condition it hardly matters.

commit 19ce9ee1041f62bc4a29738f1e7f06d62043737a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 08:34:56 2014 +0300

    rpmlogSetMask() only needs write-lock on non-zero mask

commit 4cab3a16918923aef5bf2e47e058d84d8f8f5fc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 23 15:29:43 2014 +0300

    Handle context aquisition failures throughout rpmlog
    
    - Locking can fail, and we need to handle it somehow. Return
      NULL context and handle that in callers, as in "dont crash".

commit 841c5e5fd719ccf7a8909a4b69507505fc199259
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 23 13:20:09 2014 +0300

    Eliminate stupid asserts from rpmlogRecMessage and -Priority()

commit 7d058429966b43f895b92127033ad4868fde70ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 23 12:44:45 2014 +0300

    Remove incorrect comment
    
    - A string pointer returned rpmlogMessage() is in fact guaranteed to
      be valid until rpmlogClose(), because its malloced separately
      from the owning record. So while the address of the owning record
      can change via realloc(), the contained message stays put.

commit 81885737d16976bb40fceb40cd57c645dcb0fd80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 16 11:34:32 2014 +0300

    Unify our internal digest verification functions
    
    - There's nothing md5/sha1-specific in either of these functions,
      the only real difference is whether we're dealing with ascii or
      binary digest.
    - Always operate in ascii mode: we need to convert the digest to ascii
      for the return message string anyway, so this only makes things much
      simpler, and this way we wont crash and burn even if the digest tag
      were of mismatching type as rpmtdFormat() can convert anything into
      a string.

commit 61044782656ad4626d279e99cef750ef28e36e18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 15:25:09 2014 +0300

    Eliminate leftover, commented debugging printf()

commit 99edd77385601aa1f8f805d42ad5986dd4b628db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 15:14:44 2014 +0300

    Only add per-file dependencies if we collected them
    
    - Legacy generators dont create a dependency dictionary, in which
      case there's no point adding per-file depends dictionary indexes
      (all zeros) either. Should've probably been in
      commit 05636a7db213e8255d6893c638a80d52390c3527 already.

commit b857171b78f4123a5d9ea15d942fbd2b6a709d99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 11:45:05 2014 +0300

    Move internal vs external depgen decision to rpmfcApply()
    
    - Rename the actual worker functions for consistency, rpmfcApply()
      is now just a simple wrapper around the two

commit 30165a31dd7bae4b2fcb050dd063f2719fa10469
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 11:37:32 2014 +0300

    Dont bother passing pkg to rpmfcGenerateDependsHelper()
    
    - This is already available through fc

commit 6e76016fbe6e03eb59305e0fa983c3a8c5592701
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 11:06:22 2014 +0300

    We already have the files with buildroot prepended here...

commit d582d6ea6c227cf9682be48684b10b97583cc201
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 11:02:08 2014 +0300

    Pass file classifier, not spec, to external depgen helper

commit a20794e78f3eea01b7889bbec08349f7962a89cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 10:54:33 2014 +0300

    Permit NULL spec in rpmCharCheck()
    
    - It can get called when parsing automatically generated dependencies
      and those do not correspond to any particular spec lines

commit 64150dbad87439b2f5abd32d02741f9ee398f86e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 10:31:59 2014 +0300

    Refactor current file index from rpmfc struct
    
    - There's no good reason for having a "current index" within fc,
      and the code is easier to read when its clear its just an index
      of a silly for-loop and not something fancier.

commit 05636a7db213e8255d6893c638a80d52390c3527
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 10:09:48 2014 +0300

    Generate file classes and colors regardless of dependencies (RhBug:1150209)
    
    - File coloring affects ability to install packages on multilib
      systems when relying on color conflict resolution (eg Fedora, RHEL),
      and that has zero to do with whether package dependencies are being
      automatically generated or not. Always generate file classification
      and the coloring based on that.
    - Besides fixing coloring where AutoReqProv: 0 is used (ie RhBug:1150209),
      this also fixes two issues when the legacy external dependency generator
      is used: file coloring (RhBug:lotsa) and config() dependency generation.
      So in default configuration, internal vs external depgen now only
      affects whether dependencies are recorded on file or package level,
      otherwise the produced packages should be fully equivalent now.

commit 104856ea17161eb3a508913c2b7ed701f2e4f6aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 7 15:37:21 2014 +0300

    Unbreak size and archive size generation on big-endian systems
    
    - Fix regression from commit 68bddc353a7ea87ea00ad957858cd509e845e84c,
      accessing a 64bit int as if it were a 32bit one doesn't make it one.

commit 965ff36369a1f2bd728a61d425ca0f111b50a2c1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Sep 22 10:57:10 2014 +0300

    gendiff: Fix diff of filenames containing spaces
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit ba5f7cb89afc13ee334bc95ed0514fca30355ef6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 15:38:27 2014 +0300

    Move rpmrc path defaults tracking into the context as well
    
    - Doesn't make a whole lot of difference, the default variables
      themselves are exported and unprotected... but if nothing else,
      consistencys sake

commit 4ff89adb0dcabd86afc0230c4e8ef98c5f7cdc65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 15:32:41 2014 +0300

    Reset architecture defaults on rpmFreeRpmrc() (RhBug:1115483)
    
    - Move the leftover tracking variable into rpmrc context, reset on
      free to allow personality change after first initialization.

commit 6ce2d43e2533505aa252159bfa8cc799965655bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 09:59:21 2014 +0300

    Dont wait for transaction lock within scriptlets (RhBug:1135596)
    
    - Packages doing stupid things like rpm -U/-i/-e from their scriptlets
      can and will get hung waiting on the transaction lock, which can
      prompt users to kill the entire transaction, possibly with severe
      consequences. Starting with rpm >= 4.12 we also take the transaction
      lock for importing public keys, which seems to have caught one of
      the bigger fishes in the pond (Google Chrome packages).
    - Only wait when stdin is a tty, this affects more than scriptlets but
      most likely we dont want to wait for locks in those situations either.

commit 9b9e0ca4d473cbe0e1116e8c7bd49c63f531fbb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 30 12:56:07 2014 +0300

    Dont preserve ownership from tar when root (RhBug:1133946)
    
    - Tar defaulting to preserving owner etc makes sense for its normal
      uses, but for rpmbuild its not a good idea, ownership needs to be
      set in spec for consistency and sanity.

commit 45183482df7b40ed2708ef219bd64b835c2fbaa8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 24 11:41:12 2014 +0300

    Add a testcase for RhBug:1101861

commit 3ccd774255b8215733e0bdfdf5a683da9dd10923
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 24 10:31:51 2014 +0300

    Handle directory replaced with a symlink to one in verify (RhBug:1101861)
    
    - An unforced installation must not cause verification failures - we
      permit directories to be replaced by directory symlinks during
      install so we need to do the same in verify too.

commit 00b336b45a470eaed7009038a623169aff9d16f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 12:25:12 2014 +0300

    Add a simple test-case for RhBug:1142949

commit a655cee655f7a2b8b4c7ae214afceefa986378f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 11:00:48 2014 +0300

    Fix archive size tag missing cpio trailer size (RhBug:1142949)
    
    - Fixes regression from commit 7f84a126ab43f2d0163911100b4432364d0952a6
      which causes archive size to be determined before closing the archive
      when closing actually writes the cpio trailer into the archive. Thus
      RPMTAG_ARCHIVESIZE (and RPMTAG_LONGARCHIVESIZE) are off by the
      cpio trailer size in all packages built with rpm 4.12.0 and
      pre-releases :(
    - Move rpmcpioFree() to rpmfiFree() to allow Tell() on the archive
      after closing it, swap to original order of things on build-side.

commit 1b3f7547c532b1f5ad68228571f1716d5be5b455
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 17 09:47:54 2014 +0300

    Turn invalid double separator error into a warning
    
    - As hysterical as it seems, people keep banging their heads into this:
      older distros have these invalid dependencies deployed etc and people
      do expect to create srpms and do test-builds on newer distros they're
      running themselves. Which, put that way, seems rather reasonable...
    - For history reference, the sanity check was originally introduced in
      commit b2cf1471bbe2c35e3c36510a9e3f59919d8ed2c8 and
      67ccf8d99630f4edad0ea16dddaca0a3355fba00,

commit ecfa24d39f493205d7955748d718b5c582d66410
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 16 11:12:10 2014 +0200

    Fix memory leak in rpmhash implementation
    
    If a key already exists in the hash, the data part is added to
    the old entry. In that case, the key provided by the called needs
    to be freed, as the caller expects that the key is added to the
    hash.

commit 6a095f55f9bb235a888e4e413cf32fe3436db930
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 16 11:11:36 2014 +0200

    Fix memory leak in THEN...ELSE handling

commit df679391d8507bc43390ff79895eab092ac3d5c4
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 19:10:32 2014 +0200

    Simplify THEN handling in unsatisfiedDepend()
    
    The change also makes it more visible that (A THEN B) is the
    same as ((NOT A) OR B). Except that we don't support NOT.

commit 8674de477d8e7cb51768b5e97e3b5e8d97c2174e
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 14:25:13 2014 +0200

    Add support for THEN and ELSE rich ops
    
    Obviously we will not support both IF and THEN, so this is
    to test what works and what should be removed.

commit 7eaeec35e635415600f417324bef3d7933a9aa8f
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 14:01:00 2014 +0200

    Fix last fix ;(
    
    Sorry...

commit d41b2e3f147488b1b606122ab2010da744a21ce7
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 13:56:44 2014 +0200

    Fix chained ops logic
    
    The old code lead to an infinite recursion.

commit 8c5166c07b3f171998379ee058c76470a7085161
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 13:27:49 2014 +0200

    Fix typo in last commit
    
    Strange, I was sure I tested it... Sigh.

commit f10707f385c50b59bce29c0ff572517ee6661fb9
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 12:07:30 2014 +0200

    Support IF in conflicts dependencies
    
    It's not much code and it does not slow down depenency checking.

commit 82e1cba1e75760f36158bc9a85d86d93b78e6498
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Sep 15 11:14:00 2014 +0200

    Rename the dependency hashes from cache to hash

commit 297eb7ae2f792bf55f4a4d0674800b3ccb6b43af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 15 10:36:09 2014 +0300

    Ensure librpm doxygen stuff gets rebuilt when version changes
    
    - configure.ac is where the version is defined, so...

commit 4bc2900baee9ff289dabc47609059accc0f39983
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 12 20:34:04 2014 +0300

    Dependency refactor whack-a-mole, aka One More Time...
    
    - Commit 0bda2faa4de368a87f85084856a5fed701774acb fixed manual
      dependencies in rpmspec queryies, but missed automatic self-provides.
      Add the self-provides before the first round of header dependency
      population to fix. SIGH.
    - Another sorta related side-effect is that the exact order of rpmspec
      output changes as things are now properly sorted, previously it
      was a mixed bag.

commit 499c2a87c478c7e6d7896f3e1ea5eda6ad0006c9
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 19:15:25 2014 +0200

    Ensure that rpmlib() parts in rich dependencies have RPMSENSE_RPMLIB set

commit 4caa8347b4dd44aa3893a6bf9850043a41985c4c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 17:52:52 2014 +0200

    Support rich dependencies in rpmtsOrder
    
    We use rpmdsParseRichDep to split rich dependencies and then
    simply recursivly call addRelation for the sub-dependencies.

commit 5aaf888c70851209771ad080db361a80b2f6d01a
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 17:46:23 2014 +0200

    Support rich dependencies in rpmtsCheck
    
    We use rpmdsParseRichDep() to split the rich dependency and then
    recursively call unsatisfiedDepend() on the sub-dependencies.
    
    We also need to deal with "negated" dependencies, a requires
    with an IF dependency produces conflict like subdependencies.
    Those subdependencies are prefixed with a '!' character in the
    requires index database. We currently do not support this for
    conflict dependencies, this is enforced by the spec file parser.
    
    Fortunately we already read all conflicts/requires from the
    index databases, so we can setup hash tables which results in
    almost no extra costs.

commit 82299b68b58ae1f06edd2f57eb94bf1355d0f75c
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 17:42:35 2014 +0200

    Add rpmdsParseRichDep() function for rich dependency splitting
    
    This function splits up a rich dependency into an operation and
    two sub-dependencies. Chained dependencies like (A & B & C & D)
    are split into A & (B & C & D).

commit 7f79148e66f8b4f7f09e3fc0a40e548978b54920
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 17:37:19 2014 +0200

    Add rich dependencies to requires/conflicts index database
    
    We use the parser to break up rich dependencies into parts, adding
    '!' as prefix for negated dependencies (e.g. the right part of
    IF dependencies).

commit 2b64fdd9c7c922b0f516e93f35137a6f18805e0d
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 16:58:18 2014 +0200

    Parse rich dependencies in spec files
    
    We use the callback to normalize the rich dependency (i.e. strip
    spaces, canonicalize op names).

commit 99d25e4d5df543b5d90181ebc3a7da44a1a1df6b
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 16:50:28 2014 +0200

    Add a parser for rich dependencies
    
    The data is returned via a callback, this allows us to use it
    for different purposes.
    
    Rich dependencies are for the form "(arg)" or "(arg1 op arg2)",
    the arguments can either be simple dependencies, or again
    rich dependencies.
    
    We don't want to enforce a space between the argument and the
    closing ')', thus we check the number of parens when parsing
    the argument and stop when we encounter an unbalanced ')'
    character.

commit 21a17daa1bf944b31178476c378fc689bc98bd0b
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 16:45:27 2014 +0200

    Add RPMSENSE_RICH for rich dependencies
    
    Rich dependencies will be stored as a string with no EVR and the
    RICH flag set. This unfortunately means that we have to parse
    them again when checking dependencies.
    
    Also add a rpmlib() marker when a rich dependency is used as
    conflicts or requires dependency.

commit 4e8218f066e7e779986f74465a0708b0d466024a
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 14:50:59 2014 +0200

    Use correct type in rpmSanitizeDSFlags and rpmParseDSFlags

commit e3e5ba7603cd3d550331f60f8d9c9ebc73274e8e
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 12 14:39:34 2014 +0200

    Refactor dependency comparison parsing into rpmds
    
    The function will be used by the rich dependency parser
    as well.

commit 9b44c7581170b0d2617bed6ac5091c71605840fe
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Sep 11 13:53:16 2014 +0200

    Drop fsize parameter from rpmCharCheck()
    
    Everybody calls it with the length of the string and the
    strstr it uses ignores the fsize parameter anyway.

commit 622e0661532ac65e4094f4f7046f01fcd35e0a76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 10 12:23:19 2014 +0300

    Simplify tilde-dependency checking
    
    - Now that all our dependencies are in per-package rpmds arrays this
      is far easier (and faster as well)

commit ca370a598e6b3195bce1fc53ee4e23647f8b555a
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 9 17:25:49 2014 +0200

    Add back comment lost with commit #e2ce4c21

commit a5228bed4a220aed23c3fe5ddd9e170a32416cc3
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 9 17:17:08 2014 +0200

    Clean up dependency relation parsing
    
    Fix indenting and simplify control flow.

commit e2ce4c210306b61f840b72bfbf218153ecc4a8a6
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 9 17:07:15 2014 +0200

    Refactor dependency checking code into checkDep()

commit fea73eee3340e84596b941e7387b8de91fef551d
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Sep 9 16:58:06 2014 +0200

    Use rpmRC return type in checkSep

commit cac311c2ddb43b62ad9dbdb5543d50848eb9fd65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 9 12:58:08 2014 +0300

    Regression the 13th: The Final Friday
    
    - Yet another regression from the recent dependency refactoring and
      ensuing patches-on-patches-on-patches work: some rpmlib() dependencies
      (payload, tilde) are added as late as writeRPM(), those have been going
      to /dev/null recently.
    - The fix actually removing code is probably a good sign...

commit 35a7b29421e03274736e1b7f5c810b0de7c7da9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 8 13:46:48 2014 +0300

    Add utf-8 validation to librpmbuild, take 1 (ticket #30, RhBug:948712, ...)
    
    - This adds brutally simple utf-8 validation to spec parse & package
      construction: all string-class tags in headers are checked regardless
      of other tag semantics.
    - Parse-time validation is optional via RPMSPEC_NOUTF8
      flag, but package construction time is required as we want to
      stomp RPMTAG_ENCODING to all packages that pass. What is always
      optional is whether non-valid utf-8 strings fail the build, defaulting
      to off (but distros probably want to enable it)
    - Note we dont give a damn about the spec itself, only what ends up in
      packages: strings can come from numerous other sources than spec
      directly, and OTOH who cares if eg spec comments are non-utf?

commit ace7fe9d583863a0195833bf87a3bc8005d22688
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 2 11:35:19 2014 +0300

    Enable the unused macro warning again, now without performance penalty
    
    - Track non-global macro definitions in a helper variable, this
      eliminates the need for costly macro table walking at end of each
      expansion cycle as we only bother doing it if non-global macros
      were defined during a given expansion cycle.

commit 4c62ae4a5b39293b44cdf81a93df0decbbeabd8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 27 11:38:09 2014 +0300

    Bump version to appear newer than 4.12.x branch

commit 0ffc0e29e949c63b897fb87bd705e0fb8d0990f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 27 08:33:05 2014 +0300

    Dont try to close non-existent fdno's on Fclose()
    
    - Commit 547a004b7e1e9e5a5d6cc04ce0539242bff5e592 introduced a regression
      on stacked io Fclose() return code, details at
      http://lists.rpm.org/pipermail/rpm-maint/2014-August/003731.html
    - The original code seems fishy in other ways (missed errors), this
      hopefully fixes both cases by only attempting to close actually
      open fdno's and only considering actual closes for error codes.

commit 0ab486b8e169edbe66870f5ff43f9dd07ffd2655
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Tue Aug 26 14:42:20 2014 +0200

    Fixed double dealocation of ei pointer (RhBug:1133885)

commit f09865117cb32a1c507ddbca9e80097f829e7dc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 26 12:34:47 2014 +0300

    Honor --noglob in install modes too

commit 49f2bb7d8fd91f2d8b22bf7128fd3defe4ed5434
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 25 12:28:53 2014 +0300

    Dirty kludgery to fix rpmdeps segfault (RhBug:1131892)
    
    - Another regression from the recent rpmfc work, in rpmdeps context
      there's no spec or packages from it. Allocate a dummy package so
      we have some place to store the dependencies. And yes its ugly.

commit 8b540fbf1bb77320772b87d40518d761f62752b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 25 11:03:00 2014 +0300

    Resurrect rpmlib() dependencies on source rpms
    
    - Commit 0bda2faa4de368a87f85084856a5fed701774acb caused a regression
      where rpmlib() dependencies are no longer added to src.rpm packages
      as the header is populated early, whereas rpmlib() dependencies
      get added late in the game. So nothing was pushing the rpmlib
      stuff to header. Sigh.

commit 404f053f7829fa859209ded8399243dba851f263
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 25 10:41:27 2014 +0300

    Resurrect dependency spew during build
    
    - Since commit a357c99c58a5e1367160dfa692f26d14bd3a3df1 the dependencies
      are no longer in the header so there's little to print from there.
      As it happens things are much saner this way, we no longer need
      to create rpmds'es just to print stuff.

commit 1f22cc40518b3f671201803c5f937fae6b6afe63
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Aug 22 11:50:25 2014 +0200

    Fix triggerindex handling in rpmdsMerge
    
    It always created a triggerindex array and also did not correctly
    initialize it with -1.

commit 6ee2468934b45c1c9d1b84b1ba70fe44373425c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 21 16:05:02 2014 +0300

    Revised fix for RhBug:1131892
    
    - Didn't realize there's rpmdsTagTi() now, which is fit for this
      purpose and doesn't look as much out of line with the others.
      No functional changes here though.

commit 49917664901acee10c653669e0c47285cd358ef8
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 21 11:43:54 2014 +0200

    Do self-conflicts/obsoletes filtering in rpmalAllFileSatisfiesDepend
    
    This is a bit cleaner, and it also fixes a bug when there is a
    self-conflict in the file list and another packages provides the
    conflicting file.

commit 23d72042486715173e061c3232727464de541d77
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 21 11:11:53 2014 +0200

    Do not match obsoletes against provides in rpmal
    
    Always match against the package NEVR. We still check the package
    name so that we don't end up with too many duplicates.

commit 5e68ca62e05ba3172001f376f632461f91411edd
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 21 11:00:17 2014 +0200

    Do not bother with separate notifications on multiple provides matches
    
    In the spirit of commit 272eaae387c72cac14eff8665eaa3126ca2dcc22.

commit 008165b28fe03b9536f86929f3cb6453e8782ebb
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 20 14:59:44 2014 +0200

    Check for reqfilecache existance before iterating over the filelist
    
    Improves the symmetry between install and erase element checking ;)

commit ca7923b96012d62d2695138b929b27f3a127e5ee
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 20 14:52:17 2014 +0200

    Rename confcache to confilecache and reqcache to reqfilecache
    
    No functional changes.

commit 1566c18b6efbda7b4c367f4c0ee31b4d5be2d2fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 20 15:10:36 2014 +0300

    Delete trigger indexes too from header before adding again (RhBug:1131892)
    
    - Fixes regression introduced in the regression-fix
      commit 0bda2faa4de368a87f85084856a5fed701774acb, *facepalm*
    - Unlike other dependency types, trigger dependencies involve a fourth
      tag which we forgot to delete before adding again, causing duplicate
      trigger indexes

commit 675aafdab6210d385dfe608c2e6ab1869f289ca3
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 19 17:50:31 2014 +0200

    Add lost fpLookupEquals() call in depends.c
    
    Lost in copy and pasting. Does not make much difference,
    except that the code should be faster with the check.

commit 981308209397513487e3e1b57123cca9c3dd4a97
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 19 17:41:13 2014 +0200

    Simplify rpmcliTransaction code a bit

commit 2a3d492c7f9cdca08b8245cde3d3d96dfc16bd71
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 19 17:33:33 2014 +0200

    Use fingerprinting in checkInstDeps
    
    We already do fingerprinting in rpmal and rpmdb, but we missing
    installed file dependencies. Fortunately we can make use of the
    conflict and require caches to find potential candidates.

commit 27086f8023554c25355f35653ec837d91042936b
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 19 17:28:12 2014 +0200

    Use fingerprinting in rpmal file matching
    
    The code in rpmdb already supports fingerprinting, which led to
    file dependency problems being reported against installed packages,
    but ignored for against new packages.
    
    The use of the fingerprinting code does not seem to make the
    dependency check slower in my tests.

commit aca73ad405c03e2f4879781d2af85b7c3d2d736f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 18 16:43:01 2014 +0300

    Add a simple testcase for rpmspec queries

commit 0bda2faa4de368a87f85084856a5fed701774acb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 18 16:31:14 2014 +0300

    Populate manual dependencies into spec pkg headers early too
    
    - Similar to commit 1b41c91431d37295701281ff208f99a51f660c89, rpmspec
      and other tools expect to find manually specified dependencies
      from the headers of a freshly parsed spec. This means we need to
      add this cruft two times: once for the manual dependencies and then
      scratch all that and redo from start after automatic dependencies
      have been discovered at the end of package build.
    - Fixes another regression (rpmspec dependency queries went dead)
      introduced in commit a357c99c58a5e1367160dfa692f26d14bd3a3df1

commit cea90b92bbd7ac9bf82a6d8216325bf2a1d9f6d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 18 16:01:46 2014 +0300

    Oh yes, its Monday alright...
    
    - Two typos in previous commit, I fail to see how I managed to test
      this as "working"

commit 2d2b90b5babe17ea90556901d9d65b2166374df4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 18 15:24:02 2014 +0300

    Add a simple testcase for buildrequires functionality

commit 1b41c91431d37295701281ff208f99a51f660c89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 18 15:04:23 2014 +0300

    Populate src.rpm header with dependencies early again
    
    - BuildRequire checking requires a header populated with dependencies,
      commit a357c99c58a5e1367160dfa692f26d14bd3a3df1 changed this to
      occur too late for this purpose. Move to initSourceHeader() seems
      to fix, also goes to show we dont have a test-case for buildrequires...

commit 9b2810544cbd30f692456344ed8d8a0d7a96fc18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 15 15:10:16 2014 +0300

    Introduce a simple score system for determining best providers in ordering
    
    - Look at all providers and calculate a simple score for them:
      We want to prefer self-provides during ordering (RhBug:1111349)
      but only when other things are equal, coloring needs to prevail.
      Otherwise ordering can miss crucial dependencies to the preferred
      arch packages whose files are actually laid down: eg on x86_64
      Fedora, both glibc.i686 and glibc.x86_64 provide and require
      /sbin/ldconfig, but only installing glibc.x86_64 will actually
      get the file on disk for itself and others to use, so glibc.i686
      cannot satisfy its own /sbin/ldconfig provide, crazy as it is.
    - Also fixes a memleak on self-provided dependencies introduced
      in commit 6b6f8e6ecba05c69e4ecfc0ef6981a920b4b0eb6

commit 563e57d5c6497d215c1b89557dc2e723c53ef772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 15 12:10:39 2014 +0300

    Handle ancient payloads without ./ prefix again (RhBug:1122004)
    
    - Strip any prefixes and convert all paths to relative in rpmfnFindFN()
      and to match that, convert directories to relative in cmpPoolFn().
      This covers looking up "normal" absolute paths, payload paths with
      or without prefix and also srpm paths which have always (?) been just
      simple non-prefixed basenames.
    - Fixes a regression introduced during payload refactoring, possibly
      commit 3c28dcdb6546a2be543ef3beeb893d071fc73205

commit 72d40ba49a4c889906be6322444746dffa66e00e
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 13 12:34:37 2014 +0200

    Use IteratorFileNum in checkInstDeps
    
    The code used to loop over all dependencies instead of using
    the information from the database.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 3830e018c034f4da8296b17ce87b529f544c3745
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 13 09:02:42 2014 +0300

    Use a more reasonable initial size for requires cache
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 0f5cc1bf4ad7f67da9e1e4186015a8a4af3e50f5
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 6 13:27:56 2014 +0200

    Also build cache file requires of installed packages
    
    This speeds up erasure/update of packages with a large amount of files
    quite a bit. The cost of building the cache seems to be just a couple
    of msecs, and it just needs to be done once for the complete transaction
    set.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 5328f3f21494b6005d89cede75ec89fd17a7ca1a
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 6 13:21:08 2014 +0200

    Put basenames in the conflict dependency cache
    
    This makes the fingerprinting code work for file conflicts of
    installed packages.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 5dfb6e662451ab69e7c3a98191ae773db97be39b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 28 09:26:05 2014 +0200

    parseSimplePart() returned bad return code in case of failure (RhBug:1123722)

commit 6b6f8e6ecba05c69e4ecfc0ef6981a920b4b0eb6
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 22 13:09:33 2014 +0200

    Modify rpmalSatisfiesDepend() to get the requesting TE as a param to be able to prefere self provides.
    
    This way the ordering code can ignore self provides and avoid unnessecary dependency loops as in rhbz#1111349

commit e49c51e451584d3229f629ed2923ccb34a94987b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 10 13:52:19 2014 +0300

    Eliminate unused spec argument from parseExpressionBoolean()
    
    - Its never been used beyond assignment to the internal state struct,
      so in reality this is entirely free of any rpmbuild-specifics.
      Meaning we could trivially lift it to librpmio for macros...
    - No functional changes here

commit e6ea36806ba21cb1b4f72b28946528091b3fe635
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 9 16:05:33 2014 +0300

    Add testcase for basic trigger behavior

commit 90b821df89698ec8affb00eb6f61eb7c84a186f7
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Jun 11 13:13:11 2014 +0200

    Make package dependencies an array

commit 98a73b7ce0ec97789d60897292b12c97b6f562d2
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 27 12:50:31 2014 +0200

    Add weak deps to the dependency generators

commit 11a8af9c07640b9c917486e432ae2834c7af0906
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 27 12:49:14 2014 +0200

    Make calling the dependency generators more generic

commit a357c99c58a5e1367160dfa692f26d14bd3a3df1
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 16 15:01:22 2014 +0200

    Do not write the dependencies to the header instantly.
    
    Add the dependencies generated from the files to the package and write them to the header at the end.

commit 400834a731802310b4ed03518ec30e8e2e8102dc
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 10 10:31:55 2014 +0200

    Redo addReqProv to no longer deal with all tags explictly

commit c08796791e444b59940b1a891b6a35e09b722b09
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 10 10:29:38 2014 +0200

    Add packageDependencies() to allow accesing the rpmds by name tag

commit 1ba4a76a54ec762b767dc100b3f1df18adccf5cc
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 6 12:23:22 2014 +0200

    Add rpmdsDToTagN() to convert single char endocding used by the dependency generators to tags

commit 2e9864752daa9811ccce82bbb312b1cfcc481d9a
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 8 14:08:16 2014 +0200

    Add rpmdsD for getting the one char abbreviation for dependency types

commit 39382b5675fb804e023dfb9fd56ca7676f134d72
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 6 12:21:00 2014 +0200

    Add tagNToChar() to convert tag values to single char encoding.
    
    Used by rpmdsDNEVR fixing the problem of multiple tags starting with the same character. The characters match the ones used in the dependecy dependency generators during build.

commit 9209165c676c3b0590306163db3683a0211db042
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 6 12:05:51 2014 +0200

    Add rpmSanitizeDSFlags() function
    
    to centralize this code and remove it from the build code

commit 899d602616209aad9030e475525a06204d3306bd
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 7 16:31:15 2014 +0200

    addReqProv() and handleOneTrigger() now use rpmds with trigger indices.

commit 06122bc1a4da955cec8f13a8eecf506305e41c7f
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon Jul 7 16:18:12 2014 +0200

    Now it is possible to save trigger index in rpmds.
    
    This enables to handle trigger rpmds in the same way as normal
    rpmds. Merging of rpmds takes into account trigger indices if
    they are set and rpmdsPutToHeader()/rpmdsNewPool() puts/gets
    trigger indices into/from header if resulting rpmds is trigger
    rpmds.

commit cbbfe6388a438ab8283c95e6da2df45927e36557
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 17:51:31 2014 +0300

    Fix VFP/Neon detection on armv7
    
    - VFPv3D16 is a specific type of VFP, which AIUI is never a NEON,
      so the test made little sense and, AIUI did not work at all, at
      least for detecting NEON-class system.
      Test for generic VFPv3 support instead (although this doesn't likely
      make a whole lot of sense as AIUI all ARMv7 systems are supposed
      to come with VFPv3 level VFP but guess it doesn't hurt either...)
    - The local define for HWCAP_ARM_VFPv3D16 from commit
      5a04330db8f27f72172df96da35c07a92c195e48 was wrong, (1 << 13) is
      actually HWCAP_ARM_VFPv3. Which is of course exactly what we want here,
      but the commit looks fishy because of this.
    - This is all just sooooo wonderfully arbitrary...

commit 43c4478d6c9c75a2518b2e25b3f2a80415d5e008
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 13:34:20 2014 +0300

    Add testcase for db iterator wildcard matching

commit 708fb8c35eff3acacf2b7d197f9ef59fb9551e15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 13:31:34 2014 +0300

    Fix db iterator pattern matching (RhBug:1115824)
    
    - Should've been in / Fixes a regression introduced in (pick your favorite)
      commit bc871e8fead5fd16f2c51a4a453bddf9994b80ba

commit d4ab1d82d7888f41b866751d0ef340a82be7cff2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 12:04:40 2014 +0300

    Macro-expand %{load:...} argument to make the thing more useful...

commit 7f88d79dbef90cacc3ec84bc705ddf61c7c2a39b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 30 15:18:07 2014 +0300

    Add test for multiple hardlink groups, ie previous commit

commit b7b8b3343f8668f77baf8f2cddbdd99d9d62c1f4
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 30 13:30:38 2014 +0200

    Fix handling of hardlinks during rpmbuild
    
    After looping over the hardlinks and writing their headers entries to the
    archive we need to return to the first entry to make sure we do not leave out
    other groups of hardlinked files that start between the group we are currently
    processing

commit 22739161483679c882f112272bf673e8d875bb47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 30 11:20:19 2014 +0300

    Shut up bogus warning about possible uninitialized use
    
    - The way manageFile() is called, fmode can never be uninitialized
      but lets make gcc happy by adding a default case to the switch...
    - Additionally make fmode const because it is

commit e48ac41ebbef7dad54f73d1668abba68fbb74471
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 15:36:36 2014 +0300

    Oops, add missing files from commit e4d1b7722a20e0558d96404f9ebc5610fdf52a03

commit b52b5b98f29440a1fb8e266c0cb9a50699813252
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 12:10:51 2014 +0300

    Only test for ARM FPU on -mfloat-abi=hard builds
    
    - If you dont know, you'll want to keep it that way.
      However if you know this is wrong, let me know...
    - If you're still reading, the point here is supposed to be that on ARM
      there are systems with and without a hardware FPU, and then bazillion
      different ABIs which might or might not have to do with the FPU and its
      calling conventions. On any sane system this would be communicated runtime
      via hwcaps but this is ARM so what did you expect? Apparently there is
      a way to get that during runtime by parsing the ELF headers of
      /proc/self/exe but I'll leave that exercise to somebody else. So...
      we only enable the FPU capability tests which determine the arm
      architecture level when we're being compiled to -mfloat-abi=hard.
    - If this all sounds crazy and convoluted, I agree. Its also entirely
      possible I've misunderstood some/all of this, uh, subtlety, so dont
      take my word for it. What do I know, I only work here.
    - GCC apparently also got this wrong initially, AIUI this
      only works reliably on gcc < 4.5 which dont support hw floating point
      at all, and gcc >= 4.6 where __ARM_PCS_VFP is reliably defined when
      appropriate.
    - If you're STILL reading, this glorious one-liner is supposed to
      replace the arch-dependent patch application of the kind of ARM
      detection logic added in commit 2d67ca74c9887d1cb931c1616b84c4f51ec952b5

commit fd3549fef0d58c64fd471254a857b239da2a0926
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 10:52:22 2014 +0300

    Add detection for Sparc Niagara (aka sun4v, aka sparcv9v / sparc64v)
    
    - Loosely based on similar patch in Fedora, but use hwcap instead
      of parsing /proc/cpuinfo. Untested but hey, its only hardware
      detection. What could possibly go wrong?

commit 5a04330db8f27f72172df96da35c07a92c195e48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 10:35:21 2014 +0300

    Add copies for the hwcap bits we need in case not present in auxv.h

commit 2d67ca74c9887d1cb931c1616b84c4f51ec952b5
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Jun 23 18:01:24 2014 +0200

    Detect arm armv6hl, armv7hl and armv7hnl machines
    
    Read presence of relevant extensions from hwcap. Loosely based on what's
    currently in use for Fedora (armv7hl) and Pidora (armv6hl).
    
    Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit f8868f11d74ce3a24450cf7236959bdd135e9dfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 10:11:26 2014 +0300

    Check for sys/auxv.h header, always include if present
    
    - We'll need this to access any HWCAP_* bits for platforms that need it,
      regardless of whether getauxval() is present or not. On glibc
      systems this is likely to be equivalent, on others dunno (Solaris
      appears to have sys/auxv.h header as well)

commit a69d5b5a1b079ef901d98d55746298b39d70ff3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 15:55:22 2014 +0300

    Change snapshot tarball versioning to use '-' instead of '.'
    
    - ...just to be avoid having to fiddle with separators when going
      from snapshots to -beta, -rc etc...

commit e4d1b7722a20e0558d96404f9ebc5610fdf52a03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 13:39:47 2014 +0300

    Update translations from Transifex, including two new ones

commit aa2765a87284ffaeffd265cade123e1ef0400670
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 13:32:27 2014 +0300

    Bump library versions to match reality
    
    - Rpm 4.11.2 is at 5:1:2. We've tonne of new APIs but none removed
      or changed incompatibly (I think, knock wood...) so no need
      for full soname bump, this brings us to libtool version 6:0:3
      in preparation for rpm 4.12

commit 3f2f483515ade0e86a99ce36c77316a650a26543
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 13:13:31 2014 +0300

    Use unified libtool version for all our libraries
    
    - Our libraries are in reality so interdependent that its not even
      possible to use them independently of others, so having them
      all follow sort of independent versioning information just doesn't
      make any sense and is a PITA everytime I need to touch the data.
    - This causes librpmsign soname bump with no good reason so its
      probably "evil" and all ... so sue me, its not as if anybody
      is actually using this library outside rpm itself.

commit 817959609b95afe34ce0f7f6c3dc5d7d0d9a8470
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 11:28:02 2014 +0300

    Handle line continuation in grabArgs() (related to RhBug:1045723)
    
    - Commit 1bdcd0500865efd3566efd7f951228f69b58e755 to fix RhBug:1045723
      broke some funky java macros in Fedora which include line continuation
      in the argument (comments 6-7 in the bug). That it ever worked seems
      far more like luck than by design but since this seems to fix it...

commit 454285b3a259c6bbf5fee4300fac2f50a40e4ac4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 15:11:32 2014 +0300

    Add disabler flag + --noplugins cli switch for plugins
    
    - Always knew we'd need a plugin disabler flag sooner than later but
      didn't realize enabled plugins would fail basically the entire
      test-suite :)
    - Enable --noplugins for entire test-suite for now, but eventually
      we'll need to come up with ways to test plugins as well

commit d8ebc90e6447ddb89329db31d3d9a6bd21cadac2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 14:37:38 2014 +0300

    Initialize plugins based on DSO discovery
    
    - %__transaction_plugins style configuration is problematic for plugins
      because we want plugins to be, well, pluggable. As in drop-in to
      enable, which is not achievable with a single macro entry. Look up
      all DSO's from the plugin dir and enable if a matching
      %__transaction_foo macro is defined.
    - This isn't optimal but it'll buy us the drop-in capability, which
      is what matters most right now. We'll want to have forcability as
      well later on (ie it should be possible to require given plugins
      to be present)

commit 713914bde185393003b6a5fd1a229ebffd1fa784
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 15:37:53 2014 +0300

    Drop the experimental collection support
    
    - The basic concept is not without merit but what was implemented here
      has been stuck in experimental state in middle of two sorta conflicting
      goals for four years now, and world has moved onward in the meanwhile.
      The sepolicy part is better handled in the new selinux plugin, and other
      action business belongs to packages (in the form of some trigger-like
      scripts or such) rather than rpm plugins.
    - Deleted here, but the sepolicy plugin functionality still needs
      merging into the new selinux plugin...
    - RPMTAG_COLLECTIONS left in place but tagged unimplemented as per policy
      to never actually remove tags

commit cc512d188da8800f38b6d9134ae3efa70cdaedec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 12:19:06 2014 +0300

    Fix libtool dependency generation with libtool >= 2.4.2
    
    - libtool string change broke our scripts and nobody noticed for
      a long time... Related to RhBug:1061619.

commit eb6254269508b37bab88e3ee7deebaf44afca82a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 11 15:28:36 2014 +0300

    Fix ancient buffer overflow on unterminated macro options
    
    - Test for terminating ')' existence before copying, otherwise we'll
      end up walking over the edge of the world.
    - Return address from doDefine() on error will likely differ after
      this, whether that actually affects anything remains to be seen...

commit 272033470b8f3485ef700213ae3ab2271d882a72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 11 13:11:48 2014 +0300

    Avoid pointless large stack alloction (RhBug:1106594)
    
    - Within rpm itself, this allocation from 12 years ago doesn't come anywhere
      close to stack limits on Linux at least, but since we're a library
      we should be considerate to API users stack needs as well. Allocate
      the buffer from heap instead, its not performance critical either
      since this will always be limited by physical IO and digest calculation
      speed rather than a single malloc.

commit 4089316531d2809350fb93450e752ed73b760825
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 14:28:20 2014 +0300

    Fix ancient buffer overflows on macro define and undefine (RhBug:1087000)
    
    - Both doDefine() and doUndefine() assumed the macro string would
      always fit into MACROBUFSIZ, which of course is true for any
      normal use but we cant make such assumptions.
    - In the case of %define/%global there are various other overrun-issues
      that need further changes to fix.

commit 348eea3a4151b1dbe6f9976ef50cd7ba3820fa79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 6 12:31:28 2014 +0300

    Try to cope with duplicate id's and names in verification (ticket #872)
    
    - When duplicate user/groupnames or UID/GIDs are present, data can be
      inconsistent depending on which way the id/name lookup is done.
      Reporting an error when neither the file ownership or the related
      user/group entry was changed on the system seems wrong, so try
      to do better... Look up the data both ways and only fail the
      verification if data from both is wrong, but warn about duplicates
      on inconsistent results.

commit 79fbedea947d72e5fd479494197982ed991f89d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 5 07:24:14 2014 +0300

    Export header magic in python module as rpm.header_magic bytes object

commit 4baa1f39365728d6cc5b28b0550316c13479b58e
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed May 28 10:18:10 2014 +0200

    "rpmkey -K" didn't show error message in case of malformed signature
    
    - Fixes regression from commit 8cbc1bd92990b2351856a038d44d804c8ab46bd9
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 8090b1466d217bc330761708aed7a03a9491521c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed May 21 14:40:28 2014 +0200

    Error message with wrong filename was showed in case of error.
    
    This was caused by commit 90833a57c523c1a5a074cae81c0c84fb3726fb6d.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1a8a5bade3e957349c62ea4e1c0cea92a128f304
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 26 15:36:26 2014 +0200

    rpmSign() always returned -1 if signatures was inserted into original rpm
    
    - This was caused by commit 90833a57c523c1a5a074cae81c0c84fb3726fb6d but
      because of another problem fixed in previous commit it didn't exhibit.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e1fd794253588e44226f480c426ba1833295b318
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Mon May 26 15:32:06 2014 +0200

    rpmSign() returned value 0 (success) in case of failure
    
    - Fixes regression from commit c0aad81e9b17afcbea4008485d354673495eb148.
    - That commit added line "res = replaceSignature(...)" that sets variable
      "res" to value 0. But error handling code following this line expects
      this variable set to -1. So in case of error value 0 (success) was
      returned but value -1 (failure) should have been returned.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 9e651c7292081231bb01a8bc7894f8a818ba45da
Author: Trần Ngọc Quân <vnwildman@gmail.com>
Date:   Sat May 17 07:52:58 2014 +0700

    l10n: vi.po (759t): Init Vietnamese translation
    
      * Init then translate all strings
      * Add vi to LINGUAS
    
    Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 90833a57c523c1a5a074cae81c0c84fb3726fb6d
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 15 10:15:27 2014 +0200

    Reserve space for gpg signature during building of package.
    
    - During building of a package a dummy tag is added to the signature
    header. This tag reserves some space for gpg signatures. So during
    signing of the package the gpg signatures can be put in this reserved
    space and it is not necessary to rewrite the whole package to make some
    space for gpg signatures.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 75f7b0dcfa208167ddd9573e15eced6e6e6eaf6b
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 15 10:15:27 2014 +0200

    Function manageFile was modified to support also "r+.ufdio" mode.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1aace27fb9541c1d176d8795a1d7872949f8f551
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 15 10:15:27 2014 +0200

    Passing data to sign to the gpg program by a pipe.
    
    - This change shorten signing time beacause it is not necessary to
    write data that should be signed, into a temporary file and then pass
    this file to gpg program.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 17ad1fb27b2bdff2079f0da30a931d6dba39e745
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 15 10:15:27 2014 +0200

    Removed now unused internal helper functions.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1019fa396dd635323d62bf1719d6c606262c9522
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Thu May 15 10:15:27 2014 +0200

    There is no need to recalculate digests during signing.
    
    Digests are not signatures even if they reside in "signature" header,
    and signing a package must not affect the digests. So recalculating
    digests on signing is not just wasteful, but also conceptually plain
    wrong.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 175521cc54f60ddfae9a8e87b0bbe5bc4fc844a2
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri May 16 14:59:06 2014 +0200

    Removed historical leftover.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit ca7373f566f50603fd8c81aa5f8c6fea06298625
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 16:44:36 2014 +0300

    Plug ages old memleak on package signing

commit e2659684b4a7b4dd767093a7b6101461780bfd38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 15:39:49 2014 +0300

    Revert back to DSA-1 only support for NSS
    
    - This essentially reverts commit fe5a1e5dfa93f15b7beda59e193832577143a4d9
      which apparently causes intermittent failures with DSA-1. Look at
      DSA-2 again on some sunnier day...

commit 46993cd3846a8c8935c980e30bbc3718338e2378
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 9 10:56:46 2014 +0300

    Sometimes a smaller hammer is better (but only sometimes)
    
    - The sed-munger added in commit ccd6281e699781e0b00edb16b6e9f4dec6878c15
      causes bigger breakage than it fixes, perhaps because the hammer
      applied was disproportionally large. The only thing needing adjustment
      is ${prefix} in case when localstatedir is not explicitly set, so
      we fixup just that instead of "everything".
    - Discovered via RhBug:921973 testing

commit b08e63f508de91ab5252a6eeec838462f645b360
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 12:56:33 2014 +0300

    Dont mess with PPC character signedness (RhBug:1085127)
    
    - Overriding architecture default ABI is not something rpm upstream
      should do, such decisions belong to distro level.
    - -fsigned-char was originally added in back in 1997 with little
      fanfare in commit 3cb5b141d5d26a73b9d3b4a21763dac1fb3b32ed, for
      whatever it is worth...

commit 13a1ef9fb5a00e7dc8642ad7fbe0b8587191d7fe
Author: Michael Schroeder <mls@suse.de>
Date:   Wed May 7 09:12:46 2014 +0300

    Add a %_rundir macro to the platform files.
    
    The default value is /run, it can be changed with the --with-rundir
    configure option.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 68bddc353a7ea87ea00ad957858cd509e845e84c
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Wed Apr 30 10:45:13 2014 +0200

    Function writeRPM was modified to one pass implemntation to improve performance. Now data aren't written into temporary file and then copied into final file but they are directy written into final file.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit cc8232d1d5089283ec03ec444c70d817bfb529ef
Author: Lubos Kardos <lkardos@redhat.com>
Date:   Fri Apr 25 13:32:33 2014 +0200

    No longer needed.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 092717b760fbabfc67f8580757a1ae29be9495ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 16:52:05 2014 +0300

    Remember to actually install appdata.prov script
    
    - Should've been in commit e6cadc6d5a1d2cf2c61c738808b5f2b212452148

commit 3f4088707daff2bed6af7c1782f9d6ff235f6394
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 11 14:11:04 2014 +0200

    Fix two off by one bugs breaking hardlinks in builds
    
    for a link count of 2

commit 18e8d2dc0ab05673770854a030b92bac169abcb6
Author: Michal Schmidt <mschmidt@redhat.com>
Date:   Thu Apr 10 13:46:33 2014 +0300

    Expand options in %autopatch only once
    
    - Work around scoping "fun" wrt nested parametrized macro invocations
      combined with macro manipulation from %{lua:...}
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 44acd3f63f46c44681da485df21a051b32b91190
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 10 09:58:55 2014 +0200

    Add rpmdsPutToHeader function to to API

commit ace39f7bf55168e4d30d2e1b5bce14d3cc7be56e
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 10 09:59:40 2014 +0200

    Add rpmdsTagF() and rpmdsTagEVR() to the API to accompany rpmdsTagN()

commit bf02debf73b4cad3aa344d5698af82c28619a248
Author: Michal Schmidt <mschmidt@redhat.com>
Date:   Tue Apr 8 12:31:55 2014 +0200

    add support for "%autosetup -S git_am"
    
    - Similar to "%autosetup -S git", but assumes git-formatted patch files
      and hence preserves authorship information and commit messages.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 935318220de0355def22e8c55a73a01700a62f8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:17:23 2014 +0300

    rpm2archive missing from POTFILES

commit d07af12947e8e8dfdab0644201a7a54309cd9cde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 12:40:53 2014 +0300

    Use pax format for dist tarballs.
    
    - Last year somebody decided that uid/gid stored in automake'd archives
      is somehow important, causing ustar format to be unusable with large
      uid/gid :(
      https://lists.gnu.org/archive/html/automake/2013-02/msg00075.html

commit f996665e2fe6388a1e9f71ccd07c723e256a8fb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 14:47:48 2014 +0300

    Hopefully fix in-tree python build with setup.py
    
    - Detect in-tree build in setup.py and adjust paths accordingly,
      based on patch by Bohuslav Kabrda.

commit f5134cef0c59152c5523dd5ea5ca5e651ba088c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 14:29:14 2014 +0300

    Drop the stupid source globbing from setup.py
    
    - What was I thinking? Trying to be lazy in a way that only created
      more work, and broke with rpmfiles addition in whats most certainly
      a non-obvious way. Duh.

commit a1f62c26e0e2f7f9e17c700ffa07510e4534cb2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 12:14:06 2014 +0300

    Add a "release" target to Makefile.maint, mainly for changelog updating atm

commit 0462e61041bb0d4c267049eca93ed117a4ccced3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 11:14:17 2014 +0300

    Minimally resurrect fine-grained progress callbacks on install
    
    - Add an internal version where we can pass the psm for notifications for
      now, the callbacks will need a major rework but now is not the time...

commit 109722784245ba4109d34c0b6cc4afc566f41098
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 14 13:21:19 2014 +0100

    Python binding for rpmfiArchiveHasContent

commit 630f70eb77209369c11faf7a7a7ec84e67c269b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 17:05:44 2014 +0300

    Axe unmaintained, bitrotten dependency generator scripts
    
    - These platform specific scripts haven't been properly maintained
      in over ten years, its way past time to get rid of these scripts
      that forever confuse packagers as they assume these are actually
      being used for something.
    - Sure there's theoretical portability loss here, but judging by the
      number of updates to these platforms over the last 10+ years... its
      indeed theoretical. Any such portability issues just need to be
      brought into the world of the "internal" dependency generator finally.

commit 48e94a124731527819954a75e1d64cb689d0c9d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 17:00:30 2014 +0300

    Dont bother looking for platform specific dependency generator scripts
    
    - These scripts fell out of fashion more than ten years ago...

commit 37019e527beb1fc5eb137a678c93667016c67d75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 16:00:38 2014 +0300

    Always use the new dependency generator "engine"
    
    - Replace platform specific find-{requires,provides} scripts with
      trivial wrapper scripts that just call rpmdeps with suitable
      arguments. This way the generated dependencies using the legacy
      external dependency are at least roughly on par with the internal
      depgen as, well, they're generated by the same thing.
    - Changing from find-{requires,provides} scripts to rpmdeps could
      be done by just changing __find_{requires,provides} macros, but
      a lot of packages directly refer to the scripts instead so this
      way we cover far more ground and in an backwards compatible way.

commit f07490f5dcf1cc2b873ac81c763dcb289007a880
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 26 11:43:41 2014 +0200

    Only enable the unused macro warning on errors and when tracing
    
    - In the current macro implementation the check is simply far too
      expensive to leave on always. Its useful though, so enable it
      when tracing macro expansion, in which case you're probably
      troubleshooting some macro-issues...

commit 4098bfd7fa94c89f70c162c46fcd3627c282a102
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 26 09:37:32 2014 +0200

    Reset progress for src.rpm installation (RhBug:984724)
    
    - Installation of binaries and sources are very different types of
      operations, this makes it more obvious when mixing binaries and
      sources in -U/-i operation. The progress report for sources is
      not identical to binaries but at least it doesn't exceed 100%.
    - Combining src.rpm and binary install in the same command is more
      likely a mistake than intended, but preserving the functionality
      in case somebody relies on it.

commit 902b24c214d76073216ffe8f2df13c3e28f4876a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 26 09:32:53 2014 +0200

    Move progress state variable out of the function to permit resetting

commit 91456b1bb8e93deef683a9c40b1fe7f1de3da99e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 25 14:06:34 2014 +0200

    Ensure clean paths are used for matching in debugedit (RhBug:1077148)
    
    - Things like extra slashes can cause sources not to be found at all
      due to path prefix matching, canonicalize the argument paths first.

commit 72ade8187676e050a528b8267e6b917df2a648a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 25 11:50:26 2014 +0200

    Call psm pre- and post plugin hooks for script goals too
    
    - Without this, plugins wouldn't have the slightest clue which package
      a %pretrans, %posttrans or %verify script belongs to.
    - Whether everything is properly initialized in the %verifyscript context
      remains to be seen...

commit e67fad1a1fc44c62aec60a9ba1b0a9eceedaae06
Author: Tomas Mlcoch <xtojaj@gmail.com>
Date:   Fri Mar 21 17:59:47 2014 +0100

    Fix creation of file manifest in rpmfcGenerateDependsHelper()
    
    - Fixes regression from commit 0c2a5d58688699115503a1fc54dab40f80e4caab
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit bc66cb3480d05aad562ad55c6ad63ff71b57cd9f
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Wed Mar 12 15:16:15 2014 +0100

    Add support for m68k
    
    Tested on m68k-suse-linux.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit f311fb65eea4791fa15a00412384b96fdccbbf1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 21 12:36:35 2014 +0200

    Reset file actions between rpmtsRun() calls (RhBug:1076552)
    
    - When the world changes underneath us (eg by %pretrans hackery)
      between test-transaction and actual transaction, in some cases
      the file action does not get recomputed if already set.
      Always reset file actions to FA_UNKNOWN before disposition
      calculations to ensure have a clean starting point.

commit e87df8ec8e9a4ffc9020646302ae42b7370991bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 21 09:34:01 2014 +0200

    Move notifications to rpmpsmInstall/Erase
    
    - Restores progress output on src.rpm install to how it
      was before all this...

commit 25c13de0509dfb8eabc984cc2c92373a9cd56b77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 21 09:00:27 2014 +0200

    Move rpmte payload open out of psm
    
    - Perhaps not such a big deal, but this makes rpmPackageFilesInstall()
      and rpmPackageFilesRemove() interfaces identical, which could be
      useful. In any case there's no particular reason this code should
      be in psm either..

commit a54dabd7cfb67a675e1a2c850f94c6b4d1ec04f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 17:05:57 2014 +0200

    Move install/erase statistics to the relevant functions

commit bb1db2f54c769dd5fd0ddae0e69605ea3ea9ade2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 16:35:32 2014 +0200

    Eliminate now unused and useless goal member from psm struct

commit f4a49c3d446bb180ca6b30a4337065fb6511e641
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 16:28:17 2014 +0200

    Unceremoniously eliminate rpmpsmNext()
    
    - Split the remains into two separate install/erase functions where
      the logic is actually far easier to follow. Funny that.
    - Since the code heavily relies on using break statement, move it
      into a one-shot while loop to avoid having to change it all at once.
    - Supposedly no functional changes here.

commit 964fb4cd4e85947261fd38bf5ab49995b3f16651
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 16:14:55 2014 +0200

    Lift file removal out of rpmpsmNext() to helper function
    
    - This also changes callback semantics a bit to be more like install:
      issue start and stop callbacks on JUSTDB too

commit d52af9f120f39915f95e8ec4586d1223ef104af1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 16:06:31 2014 +0200

    Add all the install-related foobar to header in dbAdd()
    
    - Just to get it out of rpmpsmNext()

commit 696a7c922f1520b18ab86b12d82cd8256c798a5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 15:58:22 2014 +0200

    Lift payload unpacking out of rpmpsmNext() to helper function

commit 200ddffde900b04b6d1ccab22bf57da1ed72ff2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 15:12:48 2014 +0200

    Eliminate now empty and useless PSM_INIT and PSM_FINI stages

commit 373b9ebac6e2146921e78cb930d1db1ef36577d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 15:08:58 2014 +0200

    Eliminate failedFile member from psm struct, handle locally as needed

commit 121c9c3f6fb72ebfde1e665f16679ac9abb16e42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 15:03:31 2014 +0200

    Eliminate dead code
    
    - Since rc will always be RPMRC_OK from entry to rpmpsmNext(), the
      error path can never happen. It might've been possible to activate
      in the past where rc was taken from psm->rc but nobody has
      missed this particular error in several years so... might as well
      axe it.

commit c285dcb56abd320bb6544bd58f2e3ee715dae578
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 15:01:31 2014 +0200

    Handle replacedpkgs hack in PSM_PRE instead of PSM_INIT
    
    - ...as it makes no difference whatsoever, leaving PSM_INIT empty now

commit b3cd1eb4ab2101096138fcc69a437090732462da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 14:52:04 2014 +0200

    Eliminate goalName member from psm struct
    
    - Grab name from pkgGoalString() where "needed", this is mostly
      just debugging cruft

commit f5291eb4fa2f60b083adafc1cbeed7c17ebef3bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 14:29:10 2014 +0200

    Move psm->total initialization to rpmpsmNew() too

commit 045a87134ec757d4f34f1a39ed8b31e7e740b460
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 13:53:57 2014 +0200

    Also pass number of installed packages to %verifyscript as $1
    
    - Like %pre- and %posttrans, %verifyscript has always been a bit of
      an oddball and always received 0 as $1 script argument. It does
      seem kinda reasonable to pass the number of installed instances
      here too - another note in release notes needed as there are
      compatibility implications.
    - Test %verifyscript in the scripts argument testcase too

commit ab069ec876639d46d12dd76dad54fd8fb762e43d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 13:44:24 2014 +0200

    Fix %pretrans and %posttrans $1 argument
    
    - $1 argument to both %pretrans and %posttrans has been broken (always 0)
      since the introduction of these scriptlets. Make them behave like
      other scripts, duh.
    - In theory its possible this breaks somebody's scriptlets, although its
      hard to imagine why anybody would be checking for $1 which always
      has value of 0. Anyway, certainly needs mentioning in release notes.
    - Update scriptlet test to match the new expectations.

commit ed14035d106fc8aff2671fb38313b3a5addc0eab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 13:22:09 2014 +0200

    Figure package count and correction values in rpmpsmNew() already

commit 1f255f6533d227e47eee78cec9cc646daf2b8863
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 13:00:48 2014 +0200

    Move psm goal initialization to rpmpsmNew() where it belongs...

commit 2072a59bae69a12aaf4ed889e05d16cc6bd143ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 11 14:43:06 2014 +0200

    Begin consolidating our tribal scriptlet knowledge into a struct
    
    - There are all sorts of strange quirks and associations across
      several different tags, sense flags and coded logic scattered
      all over the codebase. Begin what's no doubt going to be a long
      and arduous process of getting this consolidated into a data
      structure.
    - Just the trivial basics here, some of it is still unused and various
      bits still missing, gotta start someplace...

commit 59468a27c271de6a2fd76cae363538cb89c5a3cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 11 10:23:22 2014 +0200

    Add an enumeration of our scriptlet types
    
    - Regular scripts can be fetched from headers by tag, but triggers
      are all in the same tag set and distinguished by sense flags.
      To confuse matters further, tags for all the separate trigger types
      do exist but they are only used by librpmbuild, they are never
      present in headers. Throw in an "abstraction" that allows covering
      these both.
    - Defined in bitfield style to make them nicely manipulable, 32 bits
      should be plenty enough for different scriptlet types for a couple
      of decades more
    - Remember the type in rpmscript API + add a getter. Currently derived
      from the tag that's passed in, ultimately we'll want it the other
      way around but to avoid changing too many things at once...

commit 1e5342b99284f00777bff94158e554ffbcafddf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 11:56:37 2014 +0200

    Plug recently introduced memleak regression in package reading
    
    - (Re)introduced in commit 567b544f347b8387e410a59a9f6c68a7c03eae0c,
      headerVerify() may return a message with RPMRC_OK which we want to
      pass on if nothing else can be verified, but we need to free the
      message if signature/digest checking is done.

commit 42ab58b9360fa4a49de0352b1473669a97cd0a1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 10:41:48 2014 +0200

    *facepalm* mixup in previous commit

commit 3a35368465b6268edc165c6de5cdea807257acd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 10:39:07 2014 +0200

    Plug recently introduced memleaks in fsm file/link creation
    
    - Unlike rpmfiFN(), rpmfilesFN() returns malloced memory which caller
      must free...

commit 31b99022fdc703ebd0215559e8a90e46ea769d55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 13:35:37 2014 +0200

    Dont check for non-existent errors
    
    - fsmMkdirs() is the first thing that actually returns an rc...

commit af5605f1a0f6ff56b2bea0d2896056bb4eed5976
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 13:10:55 2014 +0200

    Get rid of silly pointer to local struct
    
    - Leftover from commit e44d02a14e5a8454ff8defba21d49aea907e42c7 where
      the pointer was used to avoid excessive unrelated changes, this
      is just a trivial rename.

commit aacfef1307ea146c73a338c01144e8b2697342f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 12:40:26 2014 +0200

    Eliminate now useless fsmInit()

commit e44d02a14e5a8454ff8defba21d49aea907e42c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 12:32:54 2014 +0200

    Eliminate fsmStat() and related arg from fsmInit()
    
    - Install and erase are radically different in when and what they
      stat, and what they do with the info. Let them do their own
      stating where most appropriate...

commit 1171741b9acb75f21bc3e07e763c8465c3cca1c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 12:28:39 2014 +0200

    Lift fsm debug foobar into its own helper function

commit 226579373f056ed8f07b2c5a735dbf64971dc6f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 11:52:18 2014 +0200

    Eliminate unnecessary stat struct argument to fsmVerify()
    
    - We have the same info available from rpmfi, use it...

commit 007f1a87636b030e730037e35484915c0dd1f99b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 11:04:47 2014 +0200

    Eliminate the last remains of fsm struct
    
    - Might not even make a whole lot of sense, this is a matter of
      principle at this point.

commit aa290c010cac42a6ff46481d4ab78619e3f2d30b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 10:59:17 2014 +0200

    Pass/return path from fsmCommit() via retval, avoiding fsm struct
    
    - Ditto previous commit...

commit d2c28e0d70b4e453a8b76acad1a495629c5d77e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 10:55:28 2014 +0200

    Return path from fsmInit() via retval, avoiding fsm struct
    
    - Doesn't maybe make much sense, but at this point its a matter
      of principle more than anything else...

commit f6823e55c53e657a590ae7773c6342614fef55a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 10:47:22 2014 +0200

    fsmVerify() no longer needs the fsm, just the path

commit 3ee82dfb2b4ab7c8e018a8841953d59111b70906
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 10:37:30 2014 +0200

    Eliminate "exists" member from fsm struct
    
    - fsmStat() zeroes out the stat buf on error so we can just look
      at st_nlink to see whether something exists or not - no existing
      file can have zero nlink.
    - fsmBackup() used to update exists on successful rename but it
      shouldn't make a difference, at least anymore...

commit 3880a2358fd08bb6444a104c50e650a2b3372fda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 10:13:13 2014 +0200

    Fix up comments wrt stat buf zeroing

commit c19531ef8e567d900a147da866f6b58f6d309277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 09:39:28 2014 +0200

    Dont need no stinking goal no more...

commit 0ab17433abc06457622ead5fa9fffcb43234e4cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 09:35:40 2014 +0200

    Determine need to stat() based on suffix, not kludgy goal + mode

commit 35b5f0bdf8bebb6638d7a9b3b71614888414dc49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 13:38:26 2014 +0200

    Utilize rpmfiStat() in rpmfiArchiveWriteHeader() too
    
    - Stripped payload doesn't need all the goo we look up via rpmfiStat()
      but it does need corrected size for symlinks, hardlinks and all...
      which we get from rpmfiStat(). For plain old cpio archives this
      eliminates the whole manual fi -> stat mapping, obviously.

commit 953463e90a417f2d17bb5b404a8b027fc802fb4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 13:33:54 2014 +0200

    Replace fsmMapAttrs() with rpmfiStat()

commit 86e07db8d5173a64f38b916dd0f87297151cc9a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 13:30:52 2014 +0200

    Add rpmfilesStat() and iterator counterpart API
    
    - Maps file info set data into struct stat as lstat() would return it.
    - Needs sane flags to be defined...

commit 17a97aa5f7052906b6ca1e568c3c6f2f30433055
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 10:41:30 2014 +0200

    Eliminate redundant rpmfiFLinks() call, cleanup

commit 9dcd3de9e5a057a297c3aeb0ecb0098f302a9a82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 09:21:34 2014 +0200

    Skip over symlink target data in payload automatically
    
    - We have no use for the symlink target stored as file content, the
      data from header is used instead. With this change only regular
      files ever have non-zero expected payload size on return.
    - There's now a possibility of IO-error after validating the mapping
      index, differentiate between rc / fx on return to avoid bad
      values to rpmfiSetFound()

commit dcf5fbd79bc55cc1255ea9537d5b37bc4912c2b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 09:02:01 2014 +0200

    Create symlink based on header, not payload data

commit ce775be0174a7d02fe2ee8d7be2218b44c14f9d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:54:40 2014 +0200

    Only regular files can have hardlinks

commit f60c1d3eba966d397f0376c96c680f1538b18d8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:41:28 2014 +0200

    Make cpio and stripped archive reading more similar
    
    - For regular cpio archives we'll need to get a path, otherwise funny
      stuff might happen... so decide on path, not fx
    - Validate fx is within bounds for both archive styles
    - Explicitly set expected file size for cpio archives too

commit d45d5b8e7e1c6b8c4e4079b98ffdd9f8d1df9d08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:34:03 2014 +0200

    Grab file count on entry to iterReadArchiveNext()

commit 6214c0eb4ecfff4624dc752d707ac610b12b5e67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:31:59 2014 +0200

    Dont bother checking for NULL "self"
    
    - iterReadArchiveNext() can only get called through fi->next which
      pretty much means fi is not NULL...

commit d082806089be200d01539202fe71f473e64aefe0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:01:34 2014 +0200

    Avoid using rpmfi methods inside fi->next, part 2
    
    - fi->next() shouldn't need to call rpmfiSetFX(), it gets set on
      return from the iterator function and use rpmfilesFLinks() instead
      of the iterator version to provide random access to files, that's
      what its for.

commit 2059f23bf4904e3e15c2ce2cc742fa57e5b8d67d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 07:41:33 2014 +0200

    Unbreak reading of the new stripped format payload
    
    - Iterator points to previous file (or nothing at all) inside
      the iter next function, need to use the indexed rpmfiles interfaces.
      There used to be a rpmfiSetFX() call here at some point which would've
      made this work but the next function is not supposed to be setting
      the iterator, only figuring the next index.

commit fdab76c50aa15d7b5ac63af1329b789aa5209b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 15:18:30 2014 +0200

    Eliminate unnecessary struct stat argument to fsmCommit()

commit c7d9ce8259df730b92d2cdbe78350d85500a7b83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 15:16:16 2014 +0200

    Determine backup/rename based on suffix, not mode
    
    - This is ultimately the same thing, just eliminating unnecessary
      re-evaluation and logic duplication

commit cf7e1af2919731ff638ed6305b2d53d3908131f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 15:03:07 2014 +0200

    Drop unused mode argument from fsmBackup()

commit 1c5577b5260ca96532c4401dd1b2b98460739e21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 13:18:47 2014 +0200

    Call fsmVerify() centrally for all file types

commit 203a8202bf6e17d560adbd364ce1e8a9102e634e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 12:04:51 2014 +0200

    Make symlink unpacking more like the other cases
    
    - fsmVerify() first, then read, validate archive, create entry
      as necessary.
    - We dont really need the payload content for anything as we have the
      target in rpmfi already, but since we have to skip over it somehow
      we might as well validate the content matches expectations.

commit 409fa83c94d50ab0c4849b737f2647e1069aea8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 10:27:48 2014 +0200

    Disable curl globbing for remote retrievals
    
    - urlGetFile() can only handle one file at a time, so globbing does
      not make sense and only confuses us. Besides, useful things like
      'rpm -Uvh http://somewhere.org/foo-1.2-1.{i386,x86_64}.rpm'
      work just as well without curl-level globbing.
    - Incidentally this is also the documented workaround for using
      IPv6 numerical addresses with curl (RhBug:1076277)

commit eeb1990860fd492fbda19ba80940e6a4747c6268
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 14 13:29:05 2014 +0100

    .gitignore compiled Python files

commit 27e8d0dea9c9a2cd8d3c680279aa12d34be87d69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 16:52:52 2014 +0200

    Refactor fsm arg out of fsmBackup()
    
    - Pass exists as a return value instead in the only case where it
      matters, ie early backup when directory replaces something.

commit 7c9e02d6a8ed387e91b32b04bac437760cea73f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 16:09:47 2014 +0200

    Move fsmBackup() out of fsmCommit()
    
    - Having it there probably made sense at some point but now it
      just gets in the way...

commit 09984c40158cb629b1f9a7579ba49bc82dd4ff00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 15:38:52 2014 +0200

    Eliminate isDir argument from fsmFsPath()
    
    - Either we have a suffix or not, it doesn't need a third argument...

commit 4f30c7378de176a4aded663478aa71529c4e62bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 14:04:44 2014 +0200

    fsmSetmeta() no longer needs fsm struct, just pass the path as argument

commit 8e8e39991dcc16f5872930139b61d8584e898125
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 14:01:33 2014 +0200

    Eliminate suffix from fsm struct
    
    - Remove doesn't use it, handle locally / with arguments on install side

commit cf7fce2c6ab4f305fa00f2cda417ab0e65ba86a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:53:27 2014 +0200

    Eliminate postpone from fsm struct
    
    - Use local variable with more descriptive name. Doesn't really win
      much but then at the eve of FSM extinction I dont really care.

commit a45a9242fbe3ea273250f5be9802eb61ff98a449
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:49:04 2014 +0200

    Add + use internal remove(3) like helper

commit 7ff94f140768f98ee79cbbe98eff0a9254e9ca09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:43:39 2014 +0200

    Dont rely on fsm->postpone when erasing
    
    - This actually makes the logic slightly easier to follow: only
      non-skipped files can require backups, and only erased files
      should be erased.

commit ff8214c3334f49285cabc048cd49dca451c24865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:16:29 2014 +0200

    fsmNew() no longer takes any arguments

commit 9b1494af28eb3f5a90c9234c84b071a7857fe910
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:13:55 2014 +0200

    Eliminate fi from fsm struct, pass as arguments etc etc

commit a417a54729dd30f0cf377fe28e8de6bff7f3cda1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 13:10:33 2014 +0200

    Eliminate fs from fsm struct, pass around as argument where needed

commit e308ddc917fae22e9a0adadb9da25503711cd805
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 13 11:21:41 2014 +0100

    Export RPMTAG_OLDSUGGESTS, OLDENHANCES and friends
    
    This allows reading packages with SUSE's old style weak dependencies

commit 536075aaf659955730dea62ac84fe0aaf5407361
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 13 11:03:15 2014 +0100

    Add generated files to .gitignore

commit 86ed39a5f0ab3dc50eadf39b498f3d3d89f1c97a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 11:16:12 2014 +0200

    Inline the remains of fsmMapPath() into fsmInit()
    
    - We already free the path in fsmInit() so the free was redundant anyway,
      and everything else has been stripped down to the one fsmFsPath() call
      which we can just as well do from fsmInit()

commit 15099975769fe7500392dbe182e50398eb366e08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 11:09:14 2014 +0200

    Eliminate nsuffix from fsm struct
    
    - Only commit cares, everything else deals with the temporary name

commit fd82d535e72a720911e68cafe87afd4194b8103d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 10:50:32 2014 +0200

    Avoid redundant rpmfsGetAction() calls
    
    - The action value is needed in several places, grab it early in
      rpmPackageFilesInstall() loop and pass around in argument

commit a54b5d244fa0351c0428f4a3f7a1fe0b7c225b11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 10:42:26 2014 +0200

    Pass file destination to fsm prepare hook without any suffixes
    
    - The prepare hook is used for things like selinux label lookups
      which depend on exact filenames, and .rpmnew suffix will almost
      certainly mess up such a lookup, and could cause bad permissions
      (selabel or similar) if admin does 'mv foo.conf.rpmnew foo.conf'

commit 52c04cce66f7753756c967a06c0d686f17e66365
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 09:01:20 2014 +0200

    Eliminate osuffix from fsm struct
    
    - Only backup cares, handle the thing locally in fsmBackup()

commit 4d2ee13a6ed2a91da64d7e6d4c55d9c9731d125f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 08:44:55 2014 +0200

    Use the proper file action for .rpmsave on erasures. Doh.
    
    - We have FA_SAVE which results in .rpmsave suffix so use it, instead
      of mapping FA_BACKUP to .rpmorig or .rpmsave depending on whether
      we're installing or erasing. Doh.
    - Goal is no longer needed by fsmMapPath()

commit 519d515b532a87210a8fa9f7b5e435d1f72a0668
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 08:25:22 2014 +0200

    Eliminate now pointless failedFile fsm struct member

commit 66a2ec2072afc37646e23250119319472c9c79a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 12 09:04:12 2014 +0200

    Only set file permissions etc once per hardlinked set, again. Argh.
    
    - Commit 80f8bd747bba9d29df4105002ce7bfe301c6d54c broke this, again,
      due to this almightily stupid thinko...

commit d24a1f8eecb26bcda77cbead7d42c5d2c46f869b
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 5 13:52:40 2014 +0100

    Add rpm2archive utility for converting rpm payload to tar archives.
    
    This is needed as the new payload format for large files is not compatible with
    rpm2cpio which basically just dumps the payload which happened to be cpio.
    
    Use configure parameter --without-archive to not build this tool and get rid of the libarchive requirement.

commit 7ab9b19bd74b895450c5247a8da0aa3c68616105
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 10 10:57:56 2014 +0100

    Fix hard link handling
    
    Make sure hardlinks are handled correctly even if some of them are skipped

commit 8f73e53f5c7eb048f3ee1d50887736b3c5efafb3
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 6 13:06:29 2014 +0100

    rpmfiArchiveHasContent

commit df2f6e64f15d004d4e2fae9dc17800209b3ea646
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 5 13:51:02 2014 +0100

    Add iterator to loop over the hard linked files in several different ways

commit 9b91130c9b22fe814a7606ad44af2440f6becbfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 15:42:00 2014 +0200

    Eliminate pointless and unused PSM_UNKNOWN and PSM_UNDO stages

commit 80fd0a3002754f881995e20f02400e15fa4d0f65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 13:40:25 2014 +0200

    Eliminate pointless and unused [n]stage foobar from psm

commit 4b9474ba2c593559a0d08701dbb80ebf9f15238e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 13:27:40 2014 +0200

    Eliminate psm from handleOneTrigger() arguments
    
    - Just pass ts and te, it doesn't need anything more now

commit 076030358b9257dab2bffb8b49f69b6fc5abf823
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 13:18:57 2014 +0200

    Eliminate psm from runScript() args
    
    - Just pass ts and te as those are all it needs...

commit 3f62987b0a3aca251c03027ff62b2a9468f9b4ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 13:14:39 2014 +0200

    Consolidate install-time header additions to same place

commit 1127e6825f8948d7c3b7a3baeac2eb19ae391046
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 13:08:48 2014 +0200

    Turn psm db add and remove into regular functions
    
    - These simply take ts and te as arguments ... and at this point one
      starts to wonder why are this in the psm anyway?

commit 9062c114dc29225bec8ca50430d6f9ed0cace1eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:54:42 2014 +0200

    Eliminate unused PSM_CREATE and PSM_DESTROY stages

commit daa740adcb3c35540f98f83442b905b8481cd481
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:46:11 2014 +0200

    Pass count correction as argument to handleOneTrigger()
    
    - Having to save and restore state before calling a function tends
      to suggest an argument is called for...

commit a3c4bb0d3bd7f2ba34c4d572fcad9cf396dfa149
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:43:16 2014 +0200

    Eliminate redundant psm countCorrection manipulation
    
    - Just set it once in PSM_INIT, its value never changes after that

commit 397a2ff8726ec1d5d1179cb65753409dd86688e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:21:38 2014 +0200

    Eliminate sense member from psm struct
    
    - Use arguments to pass arguments... not struct members

commit 014e07eaaed501716a2c4308526b1c5b2356acbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:12:47 2014 +0200

    Eliminate PSM_TRIGGERS and PSM_IMMED_TRIGGERS stages
    
    - Just calls the functions already...

commit c9e9133df340523b060d22114eadcb2227e51277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:06:53 2014 +0200

    Eliminate scriptTag member from psm struct
    
    - Use arguments to pass arguments... not struct members

commit 18821883bb2c835342e2d57c510cfae3b9129f6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 12:03:59 2014 +0200

    Eliminate PSM_SCRIPT stage, just call runInstScript() directly...

commit 29c8e27b5211e3588dca428b99f4b0a3eee5ba59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 10:04:43 2014 +0200

    Eliminate plugins member from fsm struct
    
    - We can trivially pass this around without dragging it in the struct...

commit b0968af22c8738a02dbc7bd16d58196681c1c134
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 10 10:00:46 2014 +0200

    Eliminate pointless fsm struct "goal" member + the enum
    
    - These are either installs or erases as dictated by the transaction
      element type. So we might as well use that, and pass it around to
      the couple of places that care...

commit 02cd68ad450dea4e2e5855a7a2492ee4d330311f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 16:56:07 2014 +0200

    Get rid of no longer needed fsm->buf[size]

commit 68042ba10eab3edd28bd57972e8b3a6089e0cab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 16:52:15 2014 +0200

    Use symlink data from header, not payload
    
    - Besides avoiding ugly "lets pass arguments through this handy
      looking unrelated struct member" behavior, verify the contents
      as well: symlinks dont have digests but we can strcmp() them
      easily enough to achieve the same.

commit 333e5d3e86bcad53954d60d33b329a424f705172
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 15:27:18 2014 +0200

    Eliminate pointless diskchecked member from fsm too
    
    - Disk is always checked, unless fsmMapPath() fails ... which cannot
      happen, and would not make a difference here either way.

commit a2698c5bd3d8bbf47b91d0b2c2888df188115548
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 15:18:11 2014 +0200

    Eliminate pointless mapFlags member from fsm
    
    - These days there's nothing but CPIO_SBIT_CHECK which we might just
      as well do always: there's not a whole lot benefit doing the check
      for src.rpm installs but its not exactly harmful either.

commit c9778641f356c6d4437e5696a125f9b13a31f2c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:51:26 2014 +0200

    Inline fsmReset() into fsmInit(), having these separate makes no sense

commit d6ecc44dd62aebee0f866dacf785ca34727c91e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:43:33 2014 +0200

    Sanitize the fsm stat buffer business a bit
    
    - Only install needs two stat structs: one for the to-be-installed
      package which is populated from rpmfi data, and the other which
      reflects on-disk data in case where replacing something. Remove
      only cares about on-disk state, so we dont need two.
    - This is not supposed to change anything, famous last...

commit d58a4ea5e14ac4e4ca08fa2d1461388330380ffe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:19:39 2014 +0200

    Get rid of the pointer "shortcuts" to sb & osb structs

commit 2da6d44abc1d19d26b2aeead0586d10b9d73fa63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:14:38 2014 +0200

    Minimally eliminate sb and osb members from fsm struct
    
    - Doesn't seem to make a whole lot of sense in itself, but a required
      intermediate step to make sense of this whole mess

commit 37ba0d12077c4496e9b5f855d4d4d9572832367e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:08:04 2014 +0200

    Pass stat buffers as arguments to fsmInit()

commit 18bcbde858518b35427e77d78d10171b5bb41a58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:00:35 2014 +0200

    Pass stat buffers as arguments to fsmVerify()

commit 3b137716852f15d8d28c1c789a5f4e79215d4d53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 13:44:45 2014 +0200

    Eliminate couple of unnecessary more fsm->sb uses
    
    - Use rpmfiFMode() directly, that's where the data really comes
      from in these cases

commit b425e7c631c6741e862da57f86c3c672f2c5ebf3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 13:41:19 2014 +0200

    Pass mode as argument into fsmBackup()
    
    - No functional change, just reducing the places depending on fsm->[o]sb

commit d4f38bd95d6b48eb6e5e0a847a8990269b7692cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 13:16:42 2014 +0200

    fsmFsPath() no longer needs the fsm, file iterator is enough

commit 80f8bd747bba9d29df4105002ce7bfe301c6d54c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 11:25:53 2014 +0200

    Lift creation of regular files (and hardlinks) into a helper function
    
    - Now that this is possible and even easy... rpmPackageFilesInstall()
      is big enough without all this.

commit 53b2f551649a6ccb7fd9f97bd102304db53d1f40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 11:20:52 2014 +0200

    expandRegular() doesn't need the whole fsm struct, pass what's needed...

commit ea289a2f9bbce6afd552537986ff0932e23ce9fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 11:11:32 2014 +0200

    Only regular files can have hardlinks
    
    - Now that we can (since the hardlink handling remake), only bother
      calling rpmfiFLinks() for regular files and move the related variables
      to local scope. No functional changes here.

commit 30d36ad21518da752363338eb7cb04914245757f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 11:06:16 2014 +0200

    Dont create hardlink file content if link() failed

commit f8888db52d6b1e318c39f500403787902f839241
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 10:54:52 2014 +0200

    Only set file permissions etc once per hardlinked set
    
    - Restores behavior introduced in
      commit 240de78f15cd0f3b59ca52f84d7063725ceadb8f, "broken" by
      commit 3d411b1e281ef4dfcc0c6dd96ca7201b02fbc7c1

commit 9383d258be9cc5b182ac7fbac38ecfb4e0a4fcec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 5 14:30:59 2014 +0200

    And now that we finally can, pass rpmfi to plugin hooks when available
    
    - Unowned directories obviously do not exist in rpmfi, so plugins
      still need to be passed path and mode separately, but for all
      the rest rpmfi is there and contains valuable additional information
      that's been unavailable to plugins until now

commit b00493438ec6706d3f29d70e2092d176abd98bee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 5 14:19:55 2014 +0200

    Eliminate unnecessary rpmfiFiles() use + related include
    
    - Fsm no longer needs rpmfi_internal.h... whoa.

commit 85ad12a5e9a561633d61dd89925217ca3c8b0744
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 5 14:16:59 2014 +0200

    Eliminate now unnecessary index argument to fsmMapPath()

commit a3ee07e63d302f6b52d86622fda1b78eecbe6281
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Dec 4 12:39:32 2013 +0100

    Kill fsm->dirName and fsm->baseName

commit 4bb90b61910b208841dc5301e978f9ce940ba792
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 5 14:11:54 2013 +0100

    Kill fsm->action

commit 3d411b1e281ef4dfcc0c6dd96ca7201b02fbc7c1
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Dec 3 14:58:05 2013 +0100

    Redo hard link handling when installing packages
    
    As we now know the hardlinks in advance we can just create the files during the first pass.

commit 47e879d550d2d959a35d28b9becd7598b6436dcc
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 26 17:24:57 2013 +0100

    Remove no longer needed rpmfi_internal.h include

commit ca5f075ecba29610714ac6684339b241b84ff624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 14:36:51 2014 +0200

    Add a basic test-case for reinstall

commit c5200145fa08da884ce2c1ed85941363eeae6407
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 13:53:26 2014 +0200

    Dumb dumb typo in commit bf856744f2820a1625ef9428284b5788d18103f3

commit 80dee39fb1f97ab3927c10bdd13c7c438b5677be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 13:43:01 2014 +0200

    Add --reinstall command to rpm cli
    
    - Handle reinstall as a new sub-mode of install, leaving all the
      --replacepkgs etc insanity alone, at least for now. For rpm cli we
      could probably remap --replacepkgs into proper reinstall, but handling
      this in the API is much harder as problem filter flags, such as
      RPMPROB_FILTER_REPLACEPKG, are not known at the time packages
      are added to transaction, and also we can't very well go and
      add new elements to the transaction from inside rpmtsRun()
    - Fixes the use-case of RhBug:966715 but not the exact cli invocation
      in that bug... that needs something different

commit bf856744f2820a1625ef9428284b5788d18103f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 13:08:23 2014 +0200

    Add python bindings for reinstall
    
    - Again, this could've quite easily been done by accepting "r"
      as "how" argument to addInstall(), but this makes testing for
      rpm support much easier. Otherwise not much to see here...
    - Related to RhBug:966715 / RhBug:1071854 ... etc

commit 6665503ec6fb6430ecaafb3e318a4730f146efa9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 12:32:52 2014 +0200

    Add support for proper package reinstallation to in the API
    
    - Add new public rpmtsAddReinstallElement() function for properly
      reinstalling packages within a single transaction, ie one that
      behaves like it was upgrade to the same version, removing files
      on changed policies (excludedocs etc).
    - This could've been done by redefining the "upgrade" argument of
      rpmtsAddInstallElement() to an "operation", but as the upgrade
      argument accepted values are not clearly defined this could
      have unwanted side-effects, plus this way its also easier to test
      whether reinstall is supported by rpm.
    - Related to RhBug:966715

commit bfa76529864b9dfb29258f4dedc3fa9de9c5aeca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 12:19:25 2014 +0200

    Refactor to make room for other operations besides install/upgrade
    
    - Add enumeration for install-style operations
    - Refactor the guts of rpmtsAddInstallElement() into an internal
      helper operatins around the new enums
    - Any functional change by this commit would be a bug...

commit fd40d58efa0fbff535f273e5ae5c200d43d28aef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 10:58:26 2014 +0200

    Legalize proper reinstall within transaction
    
    - Account for packages removed in transaction when checking whether
      package is already installed. This permits install + erasure of the
      same package within a single transaction, aka reinstall, with
      changing file policies (excludedocs, installangs etc) properly
      taken into account. Related to RhBug:966715.
    - This differs from --replacepkgs which is just a strange hack really
      but one that's difficult to change because of how its presented
      in the API. --replacepkgs behavior does not change here, and a proper
      reinstall is NOT possible when replacepkg problem filter is active.
    - Testing this is not possible with rpm cli :(

commit 1f3164ae6975747e72af383f2d74c27245e6fe36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 10:50:46 2014 +0200

    Make rpmtsPrunedIterator() internally available

commit a4214256ce1e0d485becca66478d16e818039cb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 17:22:44 2014 +0200

    Relax duplicate i18n tag check into a warning as well
    
    - Because the check has been missing, these flaws are all over the
      place. Duplicates are not really worth breaking existing specs, so just
      warn for now, and preserve last one wins-behavior.

commit 7f3b6643ee595b1121ca764edbb586f2dd29d2e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 17:11:53 2014 +0200

    Relax multiple %files sections for a package into a warning
    
    - Because of the missing check, multiple empty %files sections could
      be abused for the effect of multiple -f arguments back when that
      was not supported. The weird corners people find...
    - Turn it into a warning and preserve former behavior, except avoid
      leaking memory in this case.

commit b19348342b424747bf6421f10b46788eefdc6d39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 16:45:33 2014 +0200

    And finally, actually enable the unused macro warning.
    
    - Reword the message to something hopefully little more understandable,
      change from error to a warning (only matters for output)
    - Check unused macros at end of every scope, but unlike with parametrized
      macros, dont actually delete
    - Only whine once per unused macro due to the above to avoid spurious
      output due to above
    - This catches the common error in specs where %define is used in a scope
      unintentionally, eg "%{!?foo: %define foo 1}" where the just defined
      macro should actually fall out of scope upon the closing }, but
      only gets erased if any parametrized macro is "called" and causes
      insane behavior such as described in RhBug:552944. So at least we'll
      warn on these situations.

commit f9a6855faacb8fcb65971452fb2f2b000eaf18ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 16:33:54 2014 +0200

    Consider macro used if we've so much as looked it up

commit e65e27ab2508010095bf049b5556b2e94bd1500c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 16:12:33 2014 +0200

    Make macro deletion in freeArgs() optional
    
    - Not used yet, but using this for issuing warnings only

commit ae58c9624862639776fc9ede704a2b7eced2156b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 16:10:14 2014 +0200

    Move macro usage tracking to flags
    
    - We dont really care how many times a macro has been used, just
      whether it has been used or not...

commit fae7325f8de537f129c53416b1411018e7faec0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 28 15:57:09 2014 +0200

    Add + use a flag for identifying automatic macros
    
    - In practise doesn't change anything visible as the "macro not used"
      message is disabled, but tracking a flag bit is saner than
      strlen() + strchr() + bunch of other stuff which isn't even correct:
      prior to this %## would've triggered "unused" errors which is plain
      wrong, and complaining about unused %1 %2 ... isn't really right
      either.

commit 66a46b0e8d408a0fad14d82fd7790364db2f32da
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Feb 26 11:36:41 2014 +0100

    Support old SuSE style weak dependencies in --recommands, --suggests, --supplements and --enhances
    
    and the underlaying extension tags (RPMTAG_RECOMMENDNEVRS, ...)

commit 7226525b53e3ef90b4e29fb1f927c766c09b3122
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 25 16:27:44 2014 +0200

    Fix duplicate i18n tag checking in spec parse
    
    - The checking from commit 89ed8009eb9b469244dfdff20795493aa3c1d636 was
      woefully broken and inadequate, due to the way these puppies are
      storen in the header. We need to actually look up language presence
      in i18ntable and work from there.

commit 647f0d488f08f388c0ccaef8f9f3c2bb57ba6235
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 25 16:07:28 2014 +0200

    Revert stricter macro substitution syntax entirely, for now
    
    - Revert back to pre commit c22d5b12999de6633d89828165ea3ab2112993e8
      state wrt macro substitution. The commit does have fixes we want
      but it also breaks valid cases which is not okay. We really need
      a far more thorough macro test suite before these kind of changes,
      and also need to do the changes in more controlled pieces.

commit df686992d7042a14e010b5de674fcfd02894db33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 20 10:31:35 2014 +0200

    Perform as-is substitution for %{name} form too, again
    
    - Commit c22d5b12999de6633d89828165ea3ab2112993e8 changed the parsing
      to require a valid name in %{name} macro, but this outlaws existing
      uses such as %{foo_%{bar}_something}. Relaxing the %{name} form
      to use as-is substitution as well allows these to work again.

commit 1bdcd0500865efd3566efd7f951228f69b58e755
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 19 14:16:38 2014 +0200

    Dont eat newlines on parametrized macro invocations (RhBug:1045723)
    
    - Makes the testcase from commit f082b5baa4dcf9601eeb1e0e520ff06e77dc61c0
      succeed. While the old behavior is non-sensical and most likely entirely
      unintentional, we're changing a very long-standing behavior here (tested
      back to rpm 4.4.x and almost certainly much much older than that) so
      its entirely possible people are actually relying on the old
      behavior. Lets see what breaks...

commit f082b5baa4dcf9601eeb1e0e520ff06e77dc61c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 19 14:14:12 2014 +0200

    Add a testcase for RhBug:1045723
    
    - All the %bar macro invocations here should "obviously" behave the
      same, but they dont... in two cases a newline gets eaten out so
      this FAILS atm.

commit b60a26585fd105aa7380bd4866a31d4002eaaa91
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 14 08:43:22 2014 +0100

    Use --recommends, --suggests, --supplements and --enhances in test case

commit 9eb9581d3c10d10788e5dde72da9b5d64d1adbdd
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 14 08:42:04 2014 +0100

    Add --recommends, --suggests, --supplements and --enhances aliases to rpm -q

commit 4360e7e131eb3d3c03b08d489466a478d138cfbc
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 17 09:21:21 2014 +0100

    Add RPMTAG_RECOMMENDNEVRS, RPMTAG_SUGGESTNEVRS, RPMTAG_SUPPLEMENTNEVRS and RPMTAG_ENHANCENEVRS extension tags

commit 87fccc631b507fb9d550667bda3918869589ae43
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 17 11:27:49 2014 +0100

    Add support for Recommends:, Suggests:, Supplements: and Enhances:

commit 22831524137137948cd534e7c1b07e6dcd1acc4a
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 17 11:26:51 2014 +0100

    Add tags for a new implementation of weak requirements

commit d6ecdb33c5d1b99d6fba6ee7cebecc7623ce972b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Feb 17 11:24:33 2014 +0100

    Rename RPMTAG_SUGGESTS, RPMTAG_ENHANCES and friends to RPMTAG_OLD*
    
    This allows keeping this tags in use by distributions already using them while we add new ones for the upstream implementation of weak dependencies

commit 85b62554d2632d06f975f90697c4c11c3f180931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 18 18:13:54 2014 +0200

    Make room for SHA224 in digest bundles. Doh.
    
    - Should've really been in commit 20cfa7d2b4c927798ad38126821d194fafd93ffe
      but at the time NSS didn't even support SHA-224 so it was untestable.
      Now that it does, and somebody actually bothered to test...
      Fixes RhBug:1066494.

commit 0d5929ba5eabadec49273bb090ba9158dfccc30c
Author: Brian Elliott Finley <brian@thefinleys.com>
Date:   Tue Feb 18 15:26:22 2014 +0200

    Don't match use or requires within a multi-line print statement
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e7a60880931743a7ac0c7e2765d447f21ec18a7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 18 12:49:39 2014 +0200

    Warn on empty %files -f manifest files
    
    - While there's nothing wrong with packages with no files, a manifest
      file with no files is likely to be an error or mistake of some
      sort and seems worth issuing a warning at least.
    - Related to / inspired by ticket #870.

commit 2bcdeae52e0c26ea5240b820ce7022b58f2b346a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 18 12:38:41 2014 +0200

    Add return code to handleComments()

commit 1197c9d3eb60b6af4ab59a02c4318d235c6117d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 13:25:03 2014 +0200

    Build python 3 compatibile module names
    
    - Python 2 accepts foomodule.so as an alias for foo.so, Python 3 does
      not. Build foo.so names which works with both...

commit bf023b87f580c2a232fc7e47d5f0e18a64486856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 13:24:30 2014 +0200

    PySlice_GetIndicesEx() argument type differs between python 2 and 3, pooh

commit 05740e1d67b972a7909c1950dca7bb2ec4e35a60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 13:08:36 2014 +0200

    Python 3 doesn't have nb_divide in PyNumberMethods

commit a021aca8fda8fcb2f521e1816b78c4f8bb640706
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 13:07:40 2014 +0200

    Fix signing module methods missing on python3, duh

commit 42d502d0180002224e64ab766b3f09846be6eb56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 12:58:18 2014 +0200

    Python 2/3 compat define for PyInt_AsSsize_t, used by rpmfiles

commit 0073376965ee8d8df63c21b0da634fc315c97d0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 13 12:54:41 2014 +0200

    Fix build and sign module initialization in python3 (RhBug:1064758)
    
    - PyInit_foo() name needs to match the module name. Doh.

commit 37903d7572bdc60570977d55373be8278d01d6b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 16:47:45 2014 +0200

    Bah, --ignorearch is required for the upgrade too
    
    - Should've been in commit 3e0d09aac78264e80dae63cb1dd7cdddf62205b6

commit 3e0d09aac78264e80dae63cb1dd7cdddf62205b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 10 16:25:55 2014 +0200

    Add --replace testcase involving changing file policies
    
    - We end up with owned files getting left behind as orphans in such
      situations (RhBug:966715), that's a FAIL but an expected one atm.

commit 1dbb0da2ff32dc5cba445f011dad864096d3d58b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 6 14:07:52 2014 +0200

    Add a testcase for the header export sort issue (aka RhBug:953719)

commit 67ccf8d99630f4edad0ea16dddaca0a3355fba00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 5 14:52:43 2014 +0200

    Clarify the dependency version sanity check error message
    
    - Introduced in commit b2cf1471bbe2c35e3c36510a9e3f59919d8ed2c8, the
      original message appeared hard to decipher in real-world testing...

commit 902ecd6fd60aaea9e7955b6f54540e14fb58d5f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 5 14:41:44 2014 +0200

    Of EACCES, EROFS and EINVAL, only EINVAL is amiguous on env open
    
    - commit 58c5eb28d5f267313294486c6f8a7a6c84984d86 added the errno
      match check, but its only relevant for EINVAL which can be
      returned for non-system errors too, the others are always system
      errors regardless of what errno might hold at the point we get
      to check it.

commit da3a3a14e757ccd517e2eb2a3f0293ff48b3ff7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 5 13:36:31 2014 +0200

    A boolean flag is not sufficient to cover three different states...
    
    - HEADERFLAG_SORTED flag bit has been used to track the header
      sort state since beginning of times, but the header sort actually
      has three different states: truly unsorted (such as after additions),
      sorted by index achieved with headerSort(), or sorted by offset which
      is creatively called headerUnsort() in the API.
    
      There's exactly one place that requires offset sorting, namely
      headerExport(). It does call headerUnsort() explicitly, but
      headerUnsort() would not do anything unless the header was in
      index-sorted state. This is quite often the case, but data addition
      would unset the sorted-flag, and causing headerUnsort() not to
      do anything at all when it most certainly should have. That incorrect
      sorting caused headerExport() calculations to be wildly off.
    
      This ancient bug was unearthed by the innocent looking
      commit eae671556470136c37951f53ca966cd1bd09aac4: prior to that,
      in half the cases headerSizeof() used to be called first, causing
      index-sorting to take place, after which the headerUnsort() in
      headerExport() did the right thing. In the other two cases
      headerSizeof() was called afterwards, and the headerExport() would
      be garbage in cases where new data had been just added, such as package
      installation. With headerExport() eliminating the need to call
      headerSizeof() all the cases became broken as the header would
      seem much bigger than it is due to the bad sort order and cause
      cases like RhBug:953719 where a largish header suddenly appears
      to be oversized, causing mysterious install failure. Prior to the
      commit (which in itself IS innocent) the issue would've mainly
      manifested in cases where the header needs to be rewritten, which
      only happens when files are replaced and the header is rewritten for that.

commit 2bfcce5655e838c36bb3a6c1e8365b9ea1471c05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 12:11:52 2014 +0200

    Only bother with keyid if caller asked for it and there was no failure

commit 459b2df0e118dadd81eefe31dc7aaf8002555478
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 12:07:36 2014 +0200

    Fix silly little memleak introduced in refactoring
    
    - Should've been in commit 567b544f347b8387e410a59a9f6c68a7c03eae0c

commit 85a5b004306fe8486424142cdc98575c25142776
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 11:50:24 2014 +0200

    Use headerVerifyRegion() for signature headers too. Die copy-slop, die!
    
    - This isn't supposed to change any behavior, so if something changes
      its likely a bug...

commit 28131c7f71b97c9dbf73f0d96f8665b5d6ee1ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 11:47:32 2014 +0200

    Refactor header region sanity checking into a separate function
    
    - The region checks for signature header and "regular" header are
      identical except for the tag used, this is an obvious pre-requisite
      for unifying those.
    - This isn't supposed to change any behavior, so if something changes
      its likely a bug...

commit 7c703e12695ec60e9030795c0ddd65240c469e13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 11:02:44 2014 +0200

    Drop signature header region trailer tag quirk
    
    - AFAICT rpm never actually created signature headers with HEADER_IMAGE
      as region trailer tag, except when trying to sign V3 packages with
      old rpm 4.x versions (newer ones refuse to do so). This region trailer
      quirk doesn't actually make such packages work any better, they just
      fail in a different way (such as RhBug:517818)

commit aa9591edd31b65636e893084cb9c1a93cfac663a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 3 09:39:00 2014 +0200

    Couple of missed newline conversions
    
    - Should've been in commit 9c4bf14e299f758ca242b41c114d35cef62d9738

commit 9c4bf14e299f758ca242b41c114d35cef62d9738
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 17:24:37 2014 +0200

    Move newlines from error message strings to rpmlog() calls
    
    - While the newlines are needed in rpm cli usage, other users
      might have other needs

commit 2fb3bace9a12d33b9dfbc7778dc1adc79fb38f0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 17:16:22 2014 +0200

    Eliminate filename argument from rpmpkgRead()
    
    - Better done in upper level callers...

commit 338801ec4aa80a656d29c8a1f13b3e5a9896b41d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 17:14:49 2014 +0200

    Eliminate filename argument from parsePGPSig()
    
    - This is better done centrally in upper level callers...

commit 8cbc1bd92990b2351856a038d44d804c8ab46bd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 17:02:21 2014 +0200

    Return error message instead of logging from parsePGPSig()
    
    - rpmlog() messages might be appropriate for rpm cli, but not
      necessarily for other users/contexts

commit c0c3f3f7b5e6b5720b6e91dd090f2c34f808b78d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 17:01:13 2014 +0200

    Handle error logging centrally in rpmpkgVerifySigs()

commit 567b544f347b8387e410a59a9f6c68a7c03eae0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 16:00:25 2014 +0200

    Move logging out of rpmpkgRead()
    
    - Return error messages via retval argument, leave logging to caller.
      Actually simplifies things somewhat, and paves way for saner API
      wrt error messages - not all callers want rpmlog() spew.

commit 6309d27ae6d8550e2b511f350713806badc6e044
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 15:58:05 2014 +0200

    Grab and optionally return keyid from rpmpkgRead()
    
    - No functional change here, but we'll need this in next steps as
      with a simple integer passed around we dont need to worry about
      freeing resources.

commit 3e9d8b6d36ce97d3c5ccac544faabdcdca23433f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 1 14:51:09 2014 +0200

    Eliminate bogus switch-cases from rpmReadSignature() returns
    
    - rpmReadSignature() returns failure on NULL header anyway, so the
      "No signature available" message is not only misleading but also
      can never happen.

commit 2498f1caa0ec7ff58d9fdd6ff3d5cb416ac6786e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 31 12:49:54 2014 +0200

    Add python bindings + a testcase for the archive API
    
    - Wouldn't be surprised in the slightest if various details here
      changed before an actual release, but its a start.
    - Simple testcase showing spec file extraction from an src.rpm.
      Which also goes to show just how low-level our APIs are...

commit ee237ffdd98de8f0202f3db6c3b42bba05836078
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 31 10:13:37 2014 +0200

    Add internal rpmfiFound() helper function to match rpmfiSetFound()
    
    - Makes the if that little bit more obvious and since we have
      a function for setting...

commit 8e5864a406c796d3ee7e11a0f88a130fa16899d4
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 27 13:18:32 2013 +0100

    Move the check for missing files to iterReadArchiveNext()

commit 78dcf9d0cbec4ef4d2c4f88986aad0b2c3c6254b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 26 15:32:55 2013 +0100

    Move archive handling functions into rpmarchive.h

commit 2092a11014e0fd24297e7bbf1c8d767669c917f9
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 26 15:28:31 2013 +0100

    Rename rpmcpioStrerror to rpmfileStrerror and move it to rpmarchive.h and rpmfi.c
    
    This makes the error codes part of the public API and allows using the new archive API.

commit 9dbd72ac721b626929a61bea2b32855c887daaf9
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Dec 3 16:53:05 2013 +0100

    Remove fsm->fflags

commit 51e8b94e95d8819de5e3507f00b27f94d35efc99
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 26 15:21:56 2013 +0100

    Move RPMERR_* inst new rpmarchive.h

commit e13753421a1ed91c1b8589181a45045f59f76bec
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 26 09:51:23 2013 +0100

    Rename CPIOERR_* to RPMERR_* as they are not all related to cpio or the archive

commit 51cc2ec3b12fec80c3091d1c97997d645798ae7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 30 15:20:07 2014 +0200

    Support macro file load from Lua too (similar in rpm5.org as well)

commit 784dfb421924110e4da7da0ca2948a2cf5af36a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 30 14:24:05 2014 +0200

    Port %{load:<path>} macro from rpm5.org
    
    - Allow loading custom macro files from eg specs. This is quite different
      from %include which inlines arbitrary content into a spec, but which
      cannot be used for including macro files as their syntax is entirely
      different. Both have their uses.
    - rpm5.org also supports %load within macro files, we dont as I find the
      imperative %load very alien in what's otherwise an entirely declarative
      file "format"

commit 3f698977435bb8730e0865322f8a4856b0bb16af
Author: Stanislav Ochotnicky <sochotni@redhat.com>
Date:   Thu Jan 30 11:21:18 2014 +0200

    Use git index in %autosetup (RhBug:1059285)
    
    - Without --index in apply, any file additions will not be committed and
      in case the patch contains *only* file addition the macro can fail
      completely (empty commit). With --index there's no need for -a in
      commit either.

commit f6481343d42dcd446e28e5533ffb588696182293
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 15:19:31 2014 +0200

    Check for duplicate %description sections too
    
    - Similarly to Group, Summary etc, this is complicated by possible
      presence of language-specific versions, but now that we have a
      function to handle it...
    - Should *really* close out ticket #27

commit 86f6bdaa073c80c55a3e30bf5749f7277c4f8bc5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 15:18:11 2014 +0200

    Make addLangTag() internally available
    
    - Just realized there was (at least) one more dupe-check missing...

commit 89ed8009eb9b469244dfdff20795493aa3c1d636
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 15:02:28 2014 +0200

    Check for duplicate i18n tags in specs
    
    - Check for per-package duplicate Group, Summary, Distribution, Vendor,
      License and Packager tags in specs. This is slightly tricky as there
      can be any number of different language variants present - see whether
      the number of strings in the tag itself or header i18n tag grew
      by adding something. If not, then its a dupe.
    - Should close out remaining issues in ticket #27

commit fe8c82549aee176524e0e94786596683cd7a402d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 14:02:48 2014 +0200

    Detect and fail build on more than one %changelog section in spec
    
    - One of the items in ticket #27...

commit deed47a654765ee83185b0d5c27880fb6a1b2650
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 29 13:49:06 2014 +0200

    Detect and fail build on more than one %files section per package
    
    - Kinda related to ticket #27, although this particular case is not
      even mentioned there...

commit abbf4897db217b4977b4c21eb09929c797ee015d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 28 09:30:08 2014 +0200

    Initialize all the name services we need
    
    - A long time ago in a far away commit, "somebody" had this less than
      brilliant idea that calling gethostbyname() loads all the required
      name service libraries (commit 39b75d24cfe50e65ca940cc5466beb03c801d033).
      This is of course only true if hosts db happens to use the same
      database as passwd and group... which often is the case, but by
      no means guaranteed or always the case.
    - Add an explicit initializer for rpmug to force loading the name service
      libraries early in initialization so we dont need to worry about going
      chroot later on. Of course, the "host" name service configuration might
      not actually make sense for the chroot, but this commit doesn't make
      that any worse than it already was.

commit ee5a500fee1b96ab6d4acf091fdc9b8388a80c41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 24 14:38:53 2014 +0200

    Filter out garbage sonames from dependencies (ticket #158)
    
    - The original case of empty string ending up in a dependency is already
      taken care of by commit 66a01c977ea198fb05c5df22013884a6973485c5 and
      soname filtering. However if filtering is disabled, an an empty
      (or all-whitespace) soname will produce gems like "()(64bit)" on
      multilib arches, so we need to sanity check the soname itself in
      elfdeps.
    - The linker doesn't seem to care what kind of junk the soname contains,
      we care just a little bit more as eg empty strings and whitespace
      messes up other things.

commit 89df36524bace71decee4ab4f979d4ffb449c9a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 22 10:56:00 2014 +0200

    Add %make_build macro for hiding parallel-build magic from specs (ticket #115)
    
    - This allows simplifying the make invokations from specs. In particular
      the parallel build options no longer need to be messed with from specs,
      and %__make can be overridden to force a different make implementation
      to be used throughout the spec.
    - While a lot of software builds correctly in parallel, there are always
      exceptions... together with _smp_ncpus_max macro this can now be
      expressed with a separate "%global _smp_ncpus_max 1" (or any other
      arbitrary value beyond which parallel build is buggy) line which
      is easy to grep for and experiment with.

commit 356fd73a7b24fd5fdcc093639c12dfd60f35d681
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 22 10:49:56 2014 +0200

    Make CPU limit for building configurable through _smp_ncpus_max macro
    
    - Makes the max number of cpu's used by %{_smp_mflags} configurable
      on spec, user or system level.
    - Originally reported as RhBug:669638 and included in redhat-rpm-config
      in RHEL/Fedora, but makes sense to have generally available.

commit bdee597417d02d1ae28626884b284a810299804b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 15 11:59:04 2014 +0200

    Include ppc64le in %power64 macro (RhBug:1052930)
    
    - Should've really been in commit cf07feda05822377d62b973adc4010c0d7f9eaa0
    - This kinda points out stupid these manually maintained %fooarch
      macros are, nobody remembers to update them.

commit 7ec2bbfce11a27b14c093bc1844f176e1917b346
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 8 13:40:50 2014 +0200

    Sanity check sub-package name identically to main pkg name (RhBug:1039520)

commit bcba176fbf0d2cae4d0ee01c0f1b19dde181fc59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 8 09:28:52 2014 +0200

    Ignore already removed links on fingerprint symlink correction
    
    - For to-be-removed packages, we should only "correct" symlink fingerprints
      if the packaged link actually exists on disk, otherwise eg %pretrans hacks
      to do symlink -> directory replacement wont work as expected,
      as shown here with a reproducer and all:
      https://lists.fedoraproject.org/pipermail/devel/2013-December/193266.html
    
      In the old package, "hello" is in /usr/share/javadoc/test-1/ directory,
      to which the "test" symlink points to. In the new package,
      /usr/share/javadoc/test/ is a directory with "hello" file in it.
      Symlink correction causes the "hello" fingerprint to match between
      old and new, leading to erase of the old package not removing the
      "hello" file of the old package. Which is correct, except when
      the symlink has been removed, as is done here by %pretrans of the
      new package.

commit 209cd9f04a83140f63391f40f5ccb85ac8d5836d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 20 15:11:56 2013 +0200

    Use correct conversion format for python strpool id's
    
    - We need an unsigned int, not unsigned long. Funnily enough "k"
      worked with gcc -O0 and -O1 but blows up when built with -O2.

commit d5e4ef4d055bfed9a6ec346906b1f12f1d8a18ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 20 12:48:52 2013 +0200

    Dup the file descriptor when reopening an rpm.fd in python
    
    - Avoids a segfault on closing in some circumstances

commit 6bd4a7475fe1c959db895d14386de95846fa0b71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 19 15:44:47 2013 +0200

    Add .open() class method to rpm.fd
    
    - This is simply equivalent of calling rpm.fd constructor, but
      might be somewhat more natural way of opening files

commit d02d053ebe5d41d3e0945c359d5d46e034a7f9e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 19 12:55:27 2013 +0200

    Remember open-mode and flags in python rpm.fd's as properties

commit 2dbfc7834d1d1ee945ee82071f39d63c4231d76e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 19 12:33:17 2013 +0200

    Add couple of missing RPMFILE_* symbols to python bindings

commit feafc9262e5b72ab9729937e687227dac4f556fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 13:50:02 2013 +0200

    Support reopening an rpm.fd descriptor as well

commit ea89615cbc3ee66a8861ad354a0faf69f2c66342
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 13:48:35 2013 +0200

    Honor mode and flags also when reopening an fd in python rpm.fd

commit f220f627f6d8abbd636643ed8e2e32b4df24e8d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 13:42:43 2013 +0200

    Construct mode as understood by librpmio in rpmfd constructor already
    
    - No functional change here, but we'll need this for the next step

commit b272d61b1e778a3af1497803d2e0c52005e05c0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 10:59:16 2013 +0200

    Add python binding for rpmteFiles(), update docs

commit dacb51e2bad80aee3babb8a4e5d5e52d60570e56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 10:56:54 2013 +0200

    Export rpmteFiles(), deprecate rpmteFI()
    
    - rpmteFiles() is the saner interface of the two, rpmteFI() is only
      kept around for backward API compatibility, for now

commit 3b086277b5e7577e46f26b7e0ba669ef12fd24ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 18 09:01:12 2013 +0200

    New rpmfile[s] python bindings
    
    - rpmfiles is represented as a sequence of individual files, thus
      its iterable as-is
    - Individual files are handled internally as index on rpmfiles handle,
      all data made available as read-only properties
    - We can now consider the old, bizarre rpm.fi bindings as deprecated

commit 8a461bae4fb580a413ccab9a50761e419337969f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 16 10:46:09 2013 +0200

    Remove bogus __find_requires|provides macro definitions (RhBug:1043149)
    
    - The paths defined in macros.perl have never even existed in rpm,
      would've always been suspect and nowadays mostly just plain useless
      as they'd only be used by the deprecated external dependency
      generator.

commit 8da9919885b4881c131d2affe6a653788f8753a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 16:20:30 2013 +0200

    Python 3 compatibility wrt python fi.FindFN()
    
    - Strings from rpm are byte arrays from python 3 perspective

commit 2bb9b21cf512f8792ead7569eb998e859a1df856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 16:06:57 2013 +0200

    Add a couple of basic tests for python stringpool

commit 56c8977e1815e9195c0b9ef684333014bbebdde0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 15:45:29 2013 +0200

    Allow a shared pool with python rpmds and rpmfi objects
    
    - Add an optional pool argument to python rpmds and rpmfi constructors
      to allow using a shared string pool from python too

commit 68a24e72b005f3ccbb7357b17c14457b0447f2d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 15:43:39 2013 +0200

    Use the pool-aware constructors for rpmfi and all rpmds types
    
    - Doesn't actually change anything yet as pool is always NULL

commit f720f23588af991a8a2469f39c45e38b8b15d7cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 13 14:39:43 2013 +0200

    Add basic python bindings for rpm string pool
    
    - Python users are unlikely to have much use for this thing as such,
      python has plenty enough native datatypes to not bother with rpm
      specialties. The primary reason for adding it is to allow utilizing
      a shared string pool for various rpm objects from python side as
      well. That'd only require being able to pass the pointer around
      for which we wouldn't need a full-blown object, but otoh creating
      test-suitet cases in python is nicer than in C so having at least
      the base methods available wont hurt...

commit d26511005ffd9af5aa6be60629fa3ca368584674
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 12 11:21:02 2013 +0200

    Clarify + document rpmfiles directory vs file index
    
    - Rename the file index argument for rpmfnDI(), rpmfilesDI() and
      rpmfilesODI() to ix for consistency with other file index arguments
    - Document rpmfilesDI() and rpmfilesODI() and its usage with rpmfilesDN()
      and rpmfilesODN()

commit 6c165f507db562ef0161f8f3a379d652ed301fc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 11 17:21:37 2013 +0200

    Document rpmfiles API, tweak rpmfi docs a bit to differentiate
    
    - rpmfiles API is mostly a copy-paste of rpmfi with index argument
      added
    - clarify rpmfi.h docs to speak about "file info set iterator",
      rpmfiles.h is the "file info set" thing now

commit c61c2e00f7fcdd21bb064379a438c5fb7239d3c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 11 16:47:35 2013 +0200

    Make the relevant rpmfiles accessor functions public
    
    - All the public rpmfiFoo() accessors have an indexed rpmfilesFoo()
      counterpart, make the rpmfiles-versions public too.
    - The noteworty exceptions are rpmfiDecideFate() and rpmfiConfigConflict()
      which shouldn't have been public in the first place, and are to be
      removed from the API in the next API break. So we're not adding
      new rpmfiles-counterparts for functions that are to be removed
      from the (public) API. Actually document the issue by deprecating
      both rpmfi-functions.
    - The iterator types need to be in rpmfiles.h as the iterator
      constructor is there (otherwise there'd be a cyclic include
      between rpmfiles.h and rpmfi.h, which wont do...)

commit 05eeece43adeee17793c540a11680375fac69551
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 11 16:00:34 2013 +0200

    Move file related defines and typedefs to a new public rpmfiles.h header
    
    - Preparation for making the indexed rpmfiles API public, API users
      are not affected as rpmfiles.h is included from rpmfi.h now. rpmfi.h
      is for the iterator part only.

commit 326f1d79530649033aac40f9c19f9e14c3cc01c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 15:17:01 2013 +0200

    Turn rpmteSetFI() into clean-only function
    
    - Nothing outside rpmte.c should be able to muck around with the
      file info set associated with the ts element. Except to free
      memory, which is the only thing rpmteSetFI() is now being used for.

commit f2d5e7ecd7c253a8c20e85856d238788a88498b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 13:13:00 2013 +0200

    Clarify a couple of comments

commit 25406a133f6881f747d676af57b55a3320f6eda5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 11:50:23 2013 +0200

    Track chunk usage in the pool struct directly
    
    - This simplifies things a bit as we dont need to worry about the
      id storage and the starting location of the next string in advance.
    - Also make it clearer the string is copied into the current chunk,
      to which pool->offs only points to. Make pool->offs const to
      enforce the strings are never written through it.

commit 938b86b8bd7fac148aa52317db11d513b0122e94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 11:44:33 2013 +0200

    Clarify pool chunk allocation
    
    - Assign newly alloc'ed chunks to pool->chunks, pool->offs just
      contains pointers into the chunks. This doesn't change actual
      behavior at all, just (IMO) clarifies the code a bit.

commit c24930219a8311d855db4c8b2b989eb5cae42ecc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 10:54:18 2013 +0200

    Fix a harmless off-by-one in rpmstrPoolPu()
    
    - ssize already has the trailing \0 accounted for

commit cfe99e08ad6df57a42c0bc3affe5cef9a394b413
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 2 10:45:33 2013 +0200

    Drop the end-of-chunk dummy entries from string pool
    
    - As pointed out by Michael Schroeder in
      http://lists.rpm.org/pipermail/rpm-maint/2013-September/003605.html,
      the dummy entries used for optimizing rpmstrPoolStrlen() are
      problematic in number of ways:
      - Walking the id's in a pool is unreliable, and rehashing can cause
        bogus empty strings to be added to a pool where they otherwise
        do not exist
      - rpmstrPoolNumStr() is not accurate when more than one chunk is in use
    - Unfortunately this means giving up the rpmstrPoolStrlen() optimization,
      for now at least.

commit 43745e88e5c699b4b9bc238c60f39c2ef5ac0ca2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 29 16:11:05 2013 +0200

    Use a common string pool for rpmds'es within file classifier
    
    - Avoid pool setup + teardown for each and every dependency we create,
      and string copy between pools on subsequent rpmdsMerge(). Probably
      wont make much of a difference in practise since the number of
      dependencies per package isn't *that* big, but wont hurt either
      (and who knows what kind of texlive-monsters we get thrown at...)

commit 41a01d25636783cbfb02437263a4b15e9590cece
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Nov 29 10:42:36 2013 +0200

    Fix off-by-one in rpmstrPoolRehash()
    
    - pool->offs_size is the last used id, thus it should be "<=" instead of "<"
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit c732f01598dcafea86471ce0d5cd3ea1f0570477
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 28 10:15:41 2013 +0200

    Eliminate unused arguments to fsmMkdirs() and fsmCommit()
    
    - Both cases are simply leftovers gone unnoticed when refactoring

commit 4c3ac96f54daab0b3a8c3c445842b02554cebc6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 27 11:26:44 2013 +0200

    Fix a truly bogus ancient comment
    
    - The comment about ghosts on build may (or may not) have been accurate
      at some point in history but that hasn't been the case in a very, very
      long time...

commit b839d970eacb37ecef7d1104e1c0a2768f6eda7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 27 11:01:02 2013 +0200

    Consolidate bunch of common initialization tasks into fsmNew()

commit 04b81d8d08f87b94c985e8f9ce2c75e18b624692
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 27 10:55:37 2013 +0200

    Avoid redundant rpmteGetFileStates() calls
    
    - We already have the file states in fsm->fs, use that...

commit 4f29d4952f46449f71caac92cbb1cd10bd959989
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 27 10:47:36 2013 +0200

    Dont collect hardlinks on file-pre hook failure
    
    - Encountering hardlinks can affect fsm->postpone value which we
      must not modify if it was already set due to file-pre hook failure,
      and we can't just break out of the loop on failure as file-post
      hook must be called symmetrically, ie even in case of failure.

commit 8f73ddd81fe2fae1ffb9535e59fb404d8c4c3845
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 26 11:25:12 2013 +0200

    Fix memory leak on packages with no files
    
    - Leak introduced in commit 9bf578376d5633c0324afb45838bc430f91c420c
      due to change in init sequence, rpmfnInit() needs to be passed a pool
      so we need to ensure one exists before calling it. Previously
      pool was allocated/referenced lazily only on packages with files, and
      rpmfilesFree() assumed that behavior.

commit d39c96c0c1086424362c8b6551f9195c533a669b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 25 08:59:27 2013 +0100

    Make pkg->cpioList rpmfiles instead of rpmfi
    
    so rpmPackageFilesArchive() has only one rpmfi object.

commit 884b25462b1697d10f7e1c13871cb236a39c03c4
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 20 12:36:34 2013 +0100

    Inline writeFile into rpmPackageFilesArchive

commit d387ac2cdc9257906493fcad73d6229547c3008b
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 20 11:35:50 2013 +0100

    Handle all but non empty regular files within the archive write iterator

commit 2caf1593a63e794cf7d93bf455309a03fd543a54
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 18 18:53:52 2013 +0100

    Create true file iterator for writing the archive content.
    
     * Write headers while iterating over the files
     * Handle hard links within the Iterator
     * Remove rpmfiAttachArchive()
     * Remove rpmfiArchiveWriteHeader() from the API

commit 4e142e90850e02586278fdcbcd81e1aff5f694c6
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 13 11:15:32 2013 +0100

    Create true file iterator for reading the archive content.
    
     * remove rpmfiArchiveNext and let rpmfiNext handle getting to the next file

commit 3f16fe60db3b2c1708e082033418bb410f0ac0d7
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 19 17:44:51 2013 +0100

    Allow rpmfiNext to return values < -1 as error codes

commit a103e87c49b3c7496113cbbc77b622e866fde433
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 19 17:39:56 2013 +0100

    Prepare CPIOERR_* for being used and returned from rpmfiNext
    
     * Make CPIOERR_* negative
     * Make CPIO_CHECK_ERRNO a value instead of a bit
     * Make CPIOERR_HDR_TRAILER -1 as this is end of iterator
     * Rename CPIOERR_MISSING_HARDLINK to CPIOERR_MISSING_FILE for clarity

commit 8b06737db189cc2d55b7ace828d5b8e16da180d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 21 14:48:01 2013 +0200

    ...but require an exact 1 for nodigest in rpmfiArchiveReadToFile()
    
    - This way we can change the argument into a flag bitfield later
      on without it being an API change.

commit 5a928ec3726eca61bb2228d464b761cc9de73b44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 21 14:37:51 2013 +0200

    Use a plain old int for rpmfiArchiveReadToFile() nodigest argument
    
    - There's no benefit to using char here, and int is what is generally
      used for such (flag-type) arguments.
    - As it happens char doesn't even work here as the nodigest argument
      passed from fsm is not a simple 0/1 value but result of
      (rpmtsFlags(ts) & RPMTRANS_FLAG_NOFILEDIGEST), which when crammed
      into a char actually turns into a zero... so this unbreaks
      --nofiledigest

commit b2cf1471bbe2c35e3c36510a9e3f59919d8ed2c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 15:40:31 2013 +0200

    Further sanity check for EVR validity on build
    
    - Check for multiple ':' and '-'  separators (eg foo >= 1-1-1)
      which is not valid. Based on James Antill's patch on rpm-maint
      (http://lists.rpm.org/pipermail/rpm-maint/2013-November/003640.html)
      but modified to avoid bogus spec line numbers on invalid
      autogenerated dependencies.

commit 48563caa6ad93691e59fa0e8cf3bb9f19ab1bb4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 14:03:27 2013 +0200

    Make error message in parseRCPOT() alloced
    
    - rasprintf() is of course an overkill for the simple constant strings
      currently here but making it allocated gives us room to be more
      detailed. No visible changes here though.

commit 1c1affa1aa03cdd985c6485a562fe72056132ba4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 09:58:29 2013 +0200

    Eliminate bsearch high and low elements from rpmds struct
    
    - The low element is never used for anything, the high element
      has been used to communicate insertion point from rpmdsFind()
      to rpmdsMerge(). Which only needs an additional return value
      from find, arrange this with internal helper and axe the
      stupid struct members.

commit c6a1d4654fb256601e09067dd4a0c41b6ce567bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 20 09:46:14 2013 +0200

    Reduce ds->u and ds->l references to minimum
    
    - rpmdsMerge() relies on bsearch high element from rpmdsFind(),
      hysterically preserving the bsearch helper variables in the struct.
      Reduce the number of references to make next step more obvious,
      no functional changes.

commit 73a348c3cae7a8b1229878216a65abba8807c5c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 19 10:32:31 2013 +0200

    Source packages still dont have payload prefix
    
    - This probably counts as pedantry, but src.rpm payloads are still
      without dot-prefix so avoid adding an unnecessary rpmlib() dependency
      on them.

commit 0c2a5d58688699115503a1fc54dab40f80e4caab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 19 10:20:53 2013 +0200

    Sanitize archive creation
    
    - Get rid of the crazy tag-tango around rpmfi in genCpioListAndHeader():
      pkg->cpioList is an rpmfi with the actual in-package paths, and
      on-disk package paths are passed around as a separate array. This
      simplifies and sanitizes things a lot... and also finally gets rid
      of fi->apath entirely.
    - Dependency generation wants on-disk paths, but it can generate those
      by prepending buildroot, which actually makes it more obvious what's
      going on.
    - This also kills %{_noPayloadPrefix} ancient-history compatibility flag.
      We could honor it in rpmfiArchiveWriteHeader() if we cared but we're
      talking about rpm < 3.0.5 compatibility here ... so we dont.

commit e0dd56a15660a7279163cb01808e55b9410920a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 19 06:41:56 2013 +0200

    Consolidate failedFile handling into writeFile()

commit 36773ba7e31bd6d1884f7ac6dbda8e86e93e402f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 19 05:38:29 2013 +0200

    Only prepend dots for absolute paths on archive creation
    
    - Notably src.rpm paths are relative, adding dots breaks stuff.
      Not that this code gets currently used at all...

commit 62bdcc0a32d07a7423876b3ae17900da04eb8a97
Author: Jan Silhan <jsilhan@redhat.com>
Date:   Fri Oct 18 18:30:52 2013 +0200

    Python 3 compatibility fixes
    
    - Use open() instead of calling file constructor
    - Borrow python-six trick of dealing with difference in string types
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 003451abb05bc0d844c970bf147d59bed0a71106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 14:35:36 2013 +0200

    Oops, forgotten rpmfiODN() and rpmfiOBN() implementation...
    
    - Should've been in commit 4ab11d140b73145fb0edddaba8b5d863f76ea62e, doh!

commit f0611019399dda5cab4612b6c1fe108aae48e58f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 13:29:15 2013 +0200

    rpmtsClean() doesn't actually remove the elements, rpmtsEmpty() does...
    
    - Makes me wonder how has this actually worked at all. Oh well.

commit fd70ef48a6b50de170dabeeba6dd803de5c21665
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 13:14:49 2013 +0200

    ...and use saveOrig() for src.rpm relocations too

commit c7314f321d16aead4e40ae0a9ff50c6b8ae97d4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 13:12:28 2013 +0200

    Save relocated paths to header on the spot
    
    - Passing all the td's to saveRelocs() doesn't make much sense,
      do it on the spot. Now that saveRelocs() simply saves the original
      paths, rename accordingly...

commit af3869a9e464619e5dbdb6da09bdb1ce8a4c0293
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 13:00:13 2013 +0200

    And finally move the rest of the relocation stuff out of rpmte
    
    - Except for function name change (as it is no longer static),
      no code changes, just shoveling ... stuff ... around.

commit d265f8379dbea0092d53365e4459bfdb55b84389
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 12:55:27 2013 +0200

    Refactor buildRelocs() to eliminate rpmte dependency
    
    - Same s*** but different day, err, way of returning the data - via
      retvals instead of mucking about in rpmte struct.

commit 071f5e91eb3b2111e82903f33c0bde6891276487
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 12:31:00 2013 +0200

    Consolidate the relocation goo into a source of its own
    
    - This stuff doesn't belong in rpmfi, rpmte, psm or anywhere else either.
      Invent a new dark hole to shove it into...
    - No functional changes as such, just shuffling things around.

commit 5b757ec381b4d8457705b76e492ef875a171707a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 11:46:17 2013 +0200

    Handle src.rpm install-time relocation similarly to binaries
    
    - Just to make rpmInstallSourcePackage() that little bit less ugly
      special case, shouldn't change any actual functionality

commit 254248b14c6ec8fa30f680369e98f1e413b5581a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 11:22:03 2013 +0200

    Use file count from file states which is just as well here...
    
    - Doesn't change anything now but avoids another use of rpmfi
      which is shortly going away

commit 3ad781ffbda7d0125c6a616d96a2989a0cecfe86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 11:02:28 2013 +0200

    Refactor src.rpm file relocation into a separate function, comment
    
    - No functional changes here, but we'll need this for the next steps

commit bf0046e4ed8b3ea0f03b6de928fb5f5a83943ab4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 10:51:10 2013 +0200

    Refactor searching for spec in header to a helper function
    
    - Only makes things slightly harder but we'll need this later
    - This requires retrieving filenames twice, but this is hardly
      a performance-critical place...

commit 556527e9766cc16c9267a9cf3ea351662ec1e197
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 10:14:52 2013 +0200

    Only return cookie and spec file from src.rpm install on success
    
    - Returning malloced memory through retvals on failure (when its
      not an error message etc) seems questionable. Also paving way
      for next steps...

commit 79e629fe9dd3ba41c3d5f196aedb59619119fa8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 09:47:08 2013 +0200

    Undefine src.rpm install-time macros as well
    
    - Doesn't make much of a difference for the average 'rpm -i foo.src.rpm'
      but such side-effects are ugly for possible other API users.

commit b8eb5e86e1bd4e9281ada1efc776c92aa342fc9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 09:38:26 2013 +0200

    Remove unused rootdir variable, leftover since who-knows-when

commit 89ef3aba5ed0d2237bafbe79f289905e6dce56b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 15 09:33:00 2013 +0200

    Dont bother with explicit directory creation on src.rpm install
    
    - Package installation will create the "unowned" paths anyway,
      no need to bother here.

commit c6ad2cc2e4e127a2045a7b692ae354653a7d4dfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:47:24 2013 +0200

    Remove now pointless rpmfiFiles() use

commit 65b096f7a72b9358a7336147ac82af68edd26da0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:35:50 2013 +0200

    Minor fsm spring cleaning, remove leftover includes and definitions

commit eda69ddc6db2e6e9317195d9d601e95a101afee8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:03:29 2013 +0200

    Pass file set, not an iterator to fsmMkdirs()
    
    - fsmMkdirs() operates independently of the iterator we set up
      for processing the archive, and wouldn't want it to mess things up.
      Incidentally fsmMkdirs() actually *wants* just the file set instead.

commit cc7a05b0f758f2020ee412f4560ae390859e5a61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 12:00:29 2013 +0200

    Eliminate all the now unused CPIO_MAP_FOO flags

commit cd08107f831693595c1a7a74c32d05b4e1ec39c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:56:36 2013 +0200

    Eliminate unused CPIO_FOLLOW_SYMLINKS flag
    
    - CPIO_FOLLOW_SYMLINKS  was only ever used on package building, and
      we've outsourced that part of the business to librpmbuild

commit 9a03fff77b3e35ac9e0bd972e07e561e2ec24476
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:47:32 2013 +0200

    CPIO_MAP_PATH is always set, remove bogus conditional

commit 0884128131cbd05fd3e8ead93897d1e6fe561f8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:32:39 2013 +0200

    Replace "random" access with iterator accessors in fsmSetmeta()

commit fb609d5bf5b13c96e7cb6e44ade5c57c7467bba5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:24:50 2013 +0200

    Aaaand finally eliminate fsm->ix, RIP

commit 3ededb156c262e00ca45515b76f43419b6226b44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:20:03 2013 +0200

    Keep file iterator index up-to-date for hardlinks as well

commit 3496e3a99db6828bc61ee7a980c68a1749d7c131
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:14:47 2013 +0200

    Fix bogus saveHardLink() return value dependency on fsmMapPath()
    
    - fsmMapPath() could in theory return errors, whereas saveHardLink()
      return indicates whether hardlink should be postponed, ie have
      entirely different sematics. This has only worked because fsmMapPath()
      has always returned nothing but zeros...

commit af70cc178f73db268497b8649dc0fdd2490b272a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 11:04:19 2013 +0200

    Only pass whats actually needed to fsmMapAttrs()
    
    - It doesn't need the entire bleeping fsm, just the file info and
      a place to put the mapping results

commit f80c4b640be22785e071e8745537af78fb69578e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:59:23 2013 +0200

    Use rpmfi accessors instead of "random" index access for file stat mapping
    
    - The iterator index is always correct when fsmMapAttrs() gets called
      so its okay...

commit 4a5b7ed18c166b709f02e75d2bfc9e5f81408c9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:56:56 2013 +0200

    Eliminate pointless CPIO_MAP_UID/GID checks
    
    - The flag is always set so this is just moot

commit aed97198b0cdd6dfec2a81ecabfe47447b353424
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:55:24 2013 +0200

    Eliminate the bogus rpmfi bounds checking in fsmMapAttrs()
    
    - This is nothing but a leftover from times where fsm poked around
      in rpmfi struct directly, there's no use for it now.

commit 74bc4fe719c829d48a8196fe55a576f052dc9684
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:43:01 2013 +0200

    Reindent fsmMapAttrs() to general rpm style, white-space changes only

commit 4e3fa042767c10696f528efd468d0e4520005acf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:39:26 2013 +0200

    Use iterator index instead of fsm->ix for file state setting on install

commit ecc122e2e99bc2c8ae95f0236439f34c3f6937d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:31:11 2013 +0200

    Set fsm->ix centrally in fsmInit() now that we can
    
    - On install, saveHardLink() can change fsm->ix underneath us still
      but at fsmInit() time the iterator index is always correct

commit ea92fbf62a65e8cbaed50cc9a365b2afc67812e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:28:50 2013 +0200

    Use rpmfiFX() instead of fsm->ix for found-in-archive tracking
    
    - Doesn't change anything as such, just eliminating uses of fsm->ix

commit e1d5aa23fac20ec32df14c33e540f29e7a684049
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:24:37 2013 +0200

    Use rpmfiFX() instead of fsm->ix for calculating erasure progress
    
    - This now works, and the non-negative condition is unnecessary as well.

commit 7731cf7863d3d1fba79012f818529f33d455baf4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:19:02 2013 +0200

    Avoid unnecessary "random" access in fsmInit()
    
    - Use rpmfi-methods instead of rpmfiles for grabbing the mode and path
      index, the iterator index is now correct here in both cases

commit ce27b75151f213cea2274fcdf697acf01ed56b45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 10:08:51 2013 +0200

    Use a backwards iterator for removing files
    
    - This is what the removal always wanted but never had... the iterator
      now drives the operation, not fsm->ix but fsm->ix needs to be kept
      around and up-to-date due to other parts of fsm still relying on it.

commit d307d0ae97306db489fb01f949ae0a5e0db095f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 09:55:59 2013 +0200

    Let install and erase create their own file iterators
    
    - Package install and erase ultimately need different types of file
      iterators, grab and pass the actual file set handle instead of an iterator
      from psm and use a local iterator in fsm. Passing the rpmfiles handle
      isn't strictly needed, fsm could grab it from the element by itself...
      This also eliminates the last use of rpmteFI() in librpm.
    - No functional changes here, both install and erase still use
      a plain old forward rpmfi iterator which is plain wrong for both
      of them.

commit a30acf9d015a810d3f918f5e9a65385ee7d6c2a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 09:44:00 2013 +0200

    Grab file count on entry to rpmpsmStage()
    
    - This is used in several places (although at different times), and
      is the only use psm itself has for psm->fi...

commit 6ea86cc34b311aac9933e953a041b49f49b6680d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 14 08:29:59 2013 +0200

    Remove leftovers, cpioStrCmp is unused since previous commit

commit 3c28dcdb6546a2be543ef3beeb893d071fc73205
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 12 13:21:48 2013 +0100

    No longer use apath for installing packages
    
     * Set ORIGBASENAMES for source rpms
     * Use ORIGBASENAMES for for finding files from the archive
     * Get rid of the code setting apath for the installation use case

commit 4ab11d140b73145fb0edddaba8b5d863f76ea62e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 17:10:35 2013 +0200

    Add a bit of API for accessing the original paths
    
    - Especially rpmfiOFN() and its underlying buffer is more than a bit
      dubious, but can't really help it as people are going to expect
      it behaving identically to rpmfiFN(). And they can't share the
      same buffer as somebody is going to be tempted to do eg
          if (strcmp(rpmfiFN(fi), rpmfiOFN(fi)))
              /* file has been relocated */
    - Based on ffesti's original work on the subject

commit 77423af7986902cde3459a304f839fa675d5beea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 17:03:58 2013 +0200

    Store original path data in rpmfi for relocated packages
    
    - Relocation is relatively rare, so instead of storing the data within
      rpmfiles, we allocate it separately if needed. This also allows
      nicely handling the normal case where ORIG paths are the same
      as actual paths, ie we simply point it to the same data (and take
      care not to free twice...)

commit dbed855cb34961983239c30b7344ebccbda952d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 16:47:41 2013 +0200

    Allow specifying the tag from which path data is created
    
    - Relocated packages store the original data in RPMTAG_ORIG* tags,
      we'll need to be able to access those as well.

commit 9bf578376d5633c0324afb45838bc430f91c420c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 16:26:53 2013 +0200

    Split file path "tuple" into its own datatype from rpmfiles
    
    - Add a new datatype and a bit of API for path data from headers,
      adjust callers within rpmfi to use it.
    - The file name data is used all over the place within rpm, mostly
      with ad-hoc manner and missing validations etc. While the newly
      added API is rpmfi-internal for now, this should prove useful
      later on for other purposes as well. For now we're only interested
      in being able to handle two different sets of paths alongside
      each other.

commit 2b48d1aa835b3d2692aac77997359b8e269cf4ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 13:39:09 2013 +0200

    Use accessor functions for file and directory names and id's
    
    - No functional changes, just making next steps easier (and eliminating
      redundant code as well)

commit ac0d3a284cf90ed9a21cd63684c59f89f426d5de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 13:35:16 2013 +0200

    Add a helper function for pool<->fn comparisons in rpmfilesFindFN()
    
    - The comparison is the same whether doing bsearch or liner lookup...
    - Use accessor functions instead of direct struct accesses, primarily
      to make next steps easier

commit 7cfaf34d747dcbd483513c14709f6b99929b4406
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 13 08:36:29 2013 +0200

    Use accessor functions for file and directory count throughout rpmfi
    
    - No functional changes, just making next steps easier

commit 05f2e99e519b5ba62e2ca94a42faeb2a0b811261
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 12 12:32:00 2013 +0200

    Eliminate some build remnants from fsm

commit b1d35a9959eb8668071e9dce4a0f29dd6b1115fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 12 12:23:20 2013 +0200

    Lift rpmPackageFilesArchive() over to librpmbuild
    
    - No code/functional changes here, just straightforward move
      and make rpmPackageFilesArchive() static

commit fa9be7339d46bf038e5cb498f9cb03b8596a75cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 12 12:03:42 2013 +0200

    Separate package building from fsm struct entirely
    
    - We have everything we need in rpmfi[les], eliminate the fsm
      foobar out of the picture entirely. Also use a separate iterator
      (instead of an external index variable) for walking the files
      when looking for symlinks, now that we can.

commit 1a4706b0f073125e9207c42f3ef90f6aae85fdc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 13:03:52 2013 +0200

    Fix callback thinkos from commit 72bd2de21e649c579bb2fba2aeabbdb401b0d246
    
    - Issuing RPMCALLBACK_UNKNOWN callbacks doesn't seem like that bright
      an idea... looks like just a typo/thinko from the changed arguments
      and all. Not that it seems to make much of a difference in practise.

commit d044e08ccb5128b68fce7b1a92e7935996ce2589
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:52:46 2013 +0200

    Eliminate rpmteFI() use in rpmteColorDS()
    
    - Use a local iterator on te->files instead

commit 3a858ad5b0bb3df6f8aa38bf32599f69e74ae73e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:19:24 2013 +0200

    Eliminate rpmteFI() use from rpmFindBaseNamesInDB()
    
    - Use local iterator on rpmteFiles() instead

commit e58ea201a0ae25a83902edf570c15e294ae284c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:17:10 2013 +0200

    Eliminate rpmteFI() uses from rpmtsCheck(), part 2
    
    - Use local iterator on rpmteFiles() for removed files checking

commit e378c00f637c037f41bad1a1348604e561df0e4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:12:31 2013 +0200

    Eliminate rpmteFI() uses from rpmtsCheck(), part 1
    
    - Use local iterator on rpmteFiles() for installed file conflicts
      checking.

commit d093a58f3452fbc92857f845e2d704d11dc96b40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 12:06:28 2013 +0200

    Eliminate rpmteFI() uses from transaction skip policy calculations
    
    - Grab files and file states from the main loop and pass as arguments
      to skipInstallFiles() and skipEraseFiles(), neither actually
      needs the transaction element otherwise.
    - Use local iterators in both skip*Files(), not that it actually
      matters here other than eliminating rpmteFI() uses

commit f9f93714c586d3308e12fe8cd945c9cd4bcb175a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 11:47:39 2013 +0200

    Switch fingerprinting main loop from rpmfi to rpmfiles
    
    - The internals already use rpmfiles random access anyway, rpmfi
      only gets in the way there

commit b1c31b96321fa157644e1f69fe7992e70b95a3e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 11:20:49 2013 +0200

    Switch countFiles() from rpmfi to rpmfiles
    
    - Need to do more work to get the same silly number, this particular
      case doesn't really look like progress :)

commit 8c1c4df8c06aa3a5b0882692ac4f50ceca3a8a28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 11 10:58:50 2013 +0200

    Begin rpmte transition from rpmfi to rpmfiles
    
    - What rpmte wants is the file set, not an iterator, so that's what
      we grab on rpmteNew(). However rpmteFI() is a public API whose
      semantics we need to preserve for the time being so lazily
      create an persistent iterator on first rpmteFI() call.
    - rpmteSetFI() is now rather backwards, it should be rpmteSetFiles()
      instead but fi->apath stands in the way ATM. Sigh.

commit 4140e6562d4dfc41c5b416864adc14e15897c369
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 13:50:20 2013 +0200

    Make rpmteFiles() return refcounted rpmfiles, fixup callers

commit 68d5024bc60c6e3749b360ac52b41dd71d1754f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 13:06:12 2013 +0200

    Fix off-by-some indentation + other whitespace issues in fpLookupSubdir()
    
    - Plain whitespace surgery, no code changes

commit afb89d072d562272a0724270334ad67d33b645ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 13:04:21 2013 +0200

    Only fetch otherFi when it'll actually be needed
    
    - Shouldn't change anything as is, just rearranging this to allow
      refcount on rpmteFiles() return

commit 19577025c2d7a8bab184f77f89aa223dd3127342
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 11:51:36 2013 +0200

    Implement selectable iterator mode for rpmfi
    
    - Forward (the default) and (a new) backwards iteration modes for now
    - Internal iterator function just returns the next iteration index,
      bounds checking and actual advancing in rpmfiNext() to avoid having
      to duplicate that code in every single iterator function.

commit 0a9c199bc22a7d3688f8c6501690ad77c3457d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 11:02:09 2013 +0200

    Bunch of forgotten rpmfi -> rpmfiles (internal) function renames

commit 4640e833daf031a01eb5b1355820a6f37b5013d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 10:18:06 2013 +0200

    Add (and use) rpmfiles counterpart for rpmfiFindFN()

commit 2dda4fd8639b5f7505ba121625202dce6f6a4848
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 09:47:16 2013 +0200

    Eliminate bunch of unnecessary direct rpmfiles struct accesses

commit dbc2ed980a9fedb0bde08073ca25b81cc15235c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 09:43:22 2013 +0200

    Add (and use) rpmfiles counterpart for rpmfiColor()

commit c29ce0dcc0f12357ff21af46800cfbe8a5603ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 8 09:06:47 2013 +0200

    Plug memleak on non-zero exits in archive reads
    
    - Only return malloced path when there is an actual path to return
      (cpio trailer is not one) and there are no errors.

commit bb7ad2f1f1f24e78613cad0bfde69a9e2a14d3f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 16:29:25 2013 +0200

    Switch checkInstalledFiles() from rpmfi to rpmfiles
    
    - All the called functions expect rpmfiles anyway so might as well
      grab that from the start. We could probably do some of this with
      iterators now but as everything here is done with the random-access
      functions, switching would take quite a bit of work...

commit 5053f931b128e4c2441590fd07812fdbf4c326b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:59:48 2013 +0200

    Whoops, initIter() is supposed to be static

commit d9c0b07adbc888a6a792b242218cf9e15c54d976
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:57:13 2013 +0200

    Mass-rename all rpmfiFooIndex() functions to rpmfilesFoo()
    
    - These all operate on rpmfiles, not rpmfi, now so make the point
      clearer. All internal stuff so we're free to mess around.
    - No functional changes, only a straightforward perl-assisted rename...

commit 02286c0d67566d30628198d48f85f851e349d2eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:51:32 2013 +0200

    Fix up file iterator refcounts
    
    - rpmfiNew() and rpmfiNewPool()-created rpmfi objects own the actual
      data too and must not take an extra refcount on it. However standalone
      iterators from rpmfilesIter() must take that reference... add a
      helper function to handle the difference + comment.

commit 6a5a0fa9ff90ff781eac307d5fc88acbb9c1a783
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:29:59 2013 +0200

    rpmal wants a fileset handle, not somebody elses iterator...

commit dba7e994033bab10700e6933db35533a1bf5d3fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:27:33 2013 +0200

    Make rpmfiles constructor, destructor and refcount internally accessible

commit 520c7266c877e8394c7478b14ecfef716ff0597b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 7 15:25:11 2013 +0200

    rpmfi has no associated pool, the file set has
    
    - should've been in previous commit really but since there's just
      one user... meh

commit c0cb2d86f9a241ab09e2af3a4d742e49922763a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 6 17:09:04 2013 +0200

    Chainsaw rpmfi iteration apart from the actual file set
    
    - The self-iterator in rpmfi prevents all sorts of sane uses of
      file set iteration. Split the actual data into a separate data
      type, changing the internal random-access functions to use the
      new rpmfiles datatype directly and update internal callers minimally.
      This should be entirely transparent to public API consumers who still
      only see the braindamaged self-iterating version.
    - Internal consumers dont directly benefit (yet), this is just an
      early step on the road to rpmfi sanity. Much of the API and variables
      will need renaming etc but avoiding that here to keep the changes
      to minimum, this is a rather huge commit as it is.

commit ffda2460cda5dea17f2ca173ac251b1ee1516454
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 6 11:50:50 2013 +0200

    Make rpmfi struct opaque outside rpmfi.c
    
    - Now that its possible (no matter how feebly), this makes changing
      rpmfi internals a bit easier

commit 9550e139789ff31bad0b3f0a9f01211e91a268d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 6 11:47:58 2013 +0200

    Add & use temporary internal API to eliminate direct access to fi->apath
    
    - Doesn't make the apath thingie any less ugly, but allows us to
      make rpmfi entirely opaque.

commit b66cac2125600f638949eafb78b4b4aa0daf8033
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 21:23:39 2013 +0200

    More dead code removals...
    
    - rpmPackageFilesArchive() doesn't need file states and actions
      for anything since the grand fsm breakup in 2012, remove the
      useless cruft.

commit d3169e486c3b5b793d0ba414564329ab66efd2a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 19:43:17 2013 +0200

    writeFile() doesn't need entire fsm struct, only pass whats needed

commit 31a4cea18b406ee0dc288b3c94f341ea161911d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 18:06:23 2013 +0200

    Eliminate now unused index argument to writeFile()

commit 8c36e96f9828bbaa77eb69fdbf3147971dcff7a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 16:47:17 2013 +0200

    More dead code elimination, use data from rpmfi instead
    
    - We have the symlink target in rpmfi already, no need to re-read
      it from the disk. Also all the fiddling with st_size is unnecessary
      here, its done on the archive side as necessary

commit 760abcf0b4dffbc5ffb53072d381307bc66b3eca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 16:27:13 2013 +0200

    Buffer on archive write is not touched, make it const

commit 04baeb36fc23a8bfc10b346e7915fc60e4eccf39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 4 16:11:32 2013 +0200

    Dead code removal
    
    - rpmfiArchiveWriteHeader() handles the path now, the calculated
      fsm->path is unused here. Also CPIO_MAP_ABSOLUTE and friends haven't
      been used for anything since 4.4.x days...

commit 453c260affca067ce5e3a53f0312763df2175b29
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 26 17:21:49 2013 +0900

    Use rpmfiFLinks for hardlink handling

commit 5b66268d6344f2647d4bc1e77b672f85a6f675ec
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Apr 24 14:15:26 2013 +0900

    Replace checkHardLinks by a check for all files
    
    to free the hardlink data structure from careing about this issue.

commit 7f84a126ab43f2d0163911100b4432364d0952a6
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 21 10:13:52 2013 +0200

    Use archive handling in rpmfi for package creation

commit 3c787ada495b5b51105986505507ecfeeb986915
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 21 10:13:31 2013 +0200

    Use archive handling in rpmfi for installation

commit 8b6de4ded9ee0a81c6a9370a49aad38c197d1630
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 21 08:34:05 2013 +0200

    Add payload handling to rpmfi

commit 8fcab70a4763924928a512b5cd97b0c7e02828b7
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 24 11:57:53 2013 +0200

    Python binding for rpm.fi.FindFN()

commit 7ffa843dd0ee3e27b83bd636ee4f2b1f9e3a43ca
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Aug 21 14:54:21 2013 +0200

    Implement rpmfiFindFN()

commit 8192746196745e15517e49230de183a0211017b6
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 24 10:21:32 2013 +0200

    Enable digest check for empty files and issue an error for missing digest

commit 14709893fd1386503251cb7c5acd52d8539c2df0
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 23 15:29:55 2013 +0900

    Kill fsmIterator. There are already more than enough other counters.

commit 8e8df74b0fdd639cbbdc83a101678fb2b65a5078
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 23 12:05:08 2013 +0900

    Remove unused hardLink_s.nsuffix

commit b7756fcadf8674b0b681e93677f99ef41471cdae
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 23 10:42:31 2013 +0900

    No longer return meta data from cpio header.
    
    As we do not have file meta data for the new format using it from the old one does not help. This makes dealing with the two formats more equal.

commit 68c7cf80d7b763498d0077daa91f649bc209e7ae
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 18 16:55:15 2013 +0900

    Support files >4GB
    
    by using stripped cpio header no longer shipping metadata in the payload.
    The cpio format is limited to 4GB per file. As rpm is one of the last users of the format there is little hope for a new cpio format without this limitation. The meta data in the cpio archive is redundant anyway as it is also in the header. This allows the new format to leave out this data completely. Instead of the file meta data the new format just has the number of the file (as returned from rpmfiFX()). This makes the new format independent of any further change needed to the file meta data.
    
    This will break the rpm2cpio utility as it just strips the rpm header from the payload and relies on the payload being a valid cpio archive.
    
    Adds rpmlib(LargeFiles) as compatibility check.

commit 65db91909495ef40096f38e0af9ec1f961810750
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 21 08:41:39 2013 +0200

    Set st_mode from rpmfi data for PGKINSTALL, too
    
    to no longer be dependent of the value returned from the cpio archive

commit bbc9196a4bed73b93ee4abce66be39aa3650050d
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 21 08:31:40 2013 +0200

    Only use metadata from the rpmfi. No longer use the data from the cpio archive.

commit e4867e11baf992b47dc67f60ddd506f1f1c8516f
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 18 15:25:10 2013 +0900

    Set rpmfiFX to make the meta data from the rpmfi valid
    
    It is supposed to replace the meta data from the cpio archive.

commit a4a05bd2590f900dee68e4b91e6771f18ab5bda2
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Oct 29 15:08:57 2013 +0100

    Python bindings for rpmfiFLinks()

commit 85f42455eba663b95ffbb78f566820c5b33d6b6e
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon May 6 14:04:39 2013 +0200

    Implement rpmfiFLinks and reimplement rpmfiFNlink
    
    using header data. This will replace the hard link handling in the fsm.

commit 83b2bd1a1d5a6fc94c3845aa57b6b219aa68cfa1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 25 11:38:24 2013 +0900

    Assure a minimal bucket size

commit e6cadc6d5a1d2cf2c61c738808b5f2b212452148
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Oct 2 15:11:33 2013 +0200

    Add support for automatic appdata() provides
    
    Appdata files contain application information used by the AppStream
    project. We generate two provides: appdata() to support enumeration
    of all application packages and appdata(filenname) to make it easy
    to link installed packages with appdata files.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4775f07b5108f61a3910ca3110315c1543c109b5
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Oct 2 15:02:18 2013 +0200

    Add application() and application(filename) provides for desktop files.
    
    Gnome software center needs to know what package to deinstall if it
    needs to deinstall a desktop application. Looking up provides it much
    cheaper than looking up which package owns a file.
    
    We also add an empty application() provides to make it easy to
    enumerate all packages containing desktop applications.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e17e8cc14c598015ee8af35f7504a7ed9154ffd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 11 10:54:36 2013 +0300

    Fix old rpm.dsSingle() swapped arguments regression
    
    - rpm.dsSingle() EVR and Flags are in different order than rpm.ds()
      constructor. Which I messed up all the way back in commit
      3d1169fe698910fc62dd1893c861963dedea2945 :(
    - Considering it took this long for anybody to notice, might be
      better to just scrap the function but lets just fix it for now...

commit a088f468b1e006e798fa3d8cb94efa686f63989e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 11 10:44:58 2013 +0300

    Add a test-case for self-conflicting package install and verify

commit 8de206ae5a9aefb86695c9618838d346c3df13dd
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Sep 27 15:09:20 2013 +0200

    Ignore self-obsoletes and self-conflicts in dependency check code
    
    We already ignored them when checking against the added package list,
    but not when checking against installed packages. Thus, rpm -V reported
    them as errors.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 116a6f7105414819944c3347b12a21d2af4a26de
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 30 16:08:57 2013 +0200

    Move RPMSIGTAG_SIZE vs PMSIGTAG_LONGSIZE detection to rpmGenDigest()
    
    Fixes problem with rpmSign() only using RPMSIGTAG_SIZE
    Fixes rh#1012595 for now as we are only moving to PMSIGTAG_LONGSIZE when needed

commit 09fb3830b66fa88162d2e16eeb6c4a63eec9fdfe
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 30 14:17:33 2013 +0200

    Fix byteorder for 64 bit tags on big endian machines (rh#1012946)

commit cdcd3c0cf4add7c6e0a1f17ab3fa66e84b4bfeb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 12 15:51:43 2013 +0300

    Fix thinko from commit e83d5c0bdd0e5d400a7bf76e08ce45f5305cf18d

commit 5f3598a700e8e028f9140682262869ca319597ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 6 16:31:25 2013 +0300

    Fix segfault executing a -p <lua> scriptlet without a body (RhBug:1004062)
    
    - There are any number of places where this could be fixed, but
      to keep the behavior similar to eg /bin/sh scriptlet without a body,
      just turn a non-existent script into an empty string.

commit e83d5c0bdd0e5d400a7bf76e08ce45f5305cf18d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 6 10:41:45 2013 +0300

    Byte-compile versioned python libdirs in non-root prefix too (RhBug:868332)
    
    - Previously brp-python-bytecompile assumed versioned python stdlib
      always starts at / but if a software stack relies on "non-system"
      python installed to a different prefix, those directories did
      not get bytecompiled at all. Look for versioned python libdirs
      all over the buildroot in the first loop to allow multiple
      parallel versions to be handled (notably python 2 vs 3), everything
      else still falls back to "default" python.

commit b1ec074873128763d3d5e64ba0c10bd65c708408
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 5 11:30:43 2013 +0300

    Fail python module import if rpm init fails
    
    - rpmReadConfigFiles() initializes a whole bunch of stuff including
      crypto, and failure to do so shouldn't be just silently ignored
      (see commit cca91666d041abb500604997b0a5235018217b3f for further
      background)

commit 196d827bb7790c440ac015a7f25ed1d9fe41d162
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 14:49:15 2013 +0300

    Detect and report invalid characters in dependency range operators
    
    - Previously we just silently ignored any junk thrown at us, try to
      do a little better than that. This still merrily accepts things like
      << as equal to < but at least we now issue errors on totally bogus
      garbage in range.

commit 66a01c977ea198fb05c5df22013884a6973485c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 14:29:25 2013 +0300

    Require strict one dependency per line output from generators
    
    - Split dependency generator output by lines, not just any whitespace.
      This is what all known dep generators do anyhow, and gives us a
      much better chance at validating the input on rpm-side.
    - Further split each line into components with poptParseArgvString()
      and let parseDep() take care of the details and actually report
      any errors we find.
    - Using popt's argv parsing has the nice bonus of handling quotes,
      so we can now sanely handle cases like RhBug:503846 as we now
        a) accept whitespace in dependencies if properly quoted
        b) report errors on bad generator output

commit 28ca937e79afc27d6bdc37ad7ebbcdb6b34d3877
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 13:40:47 2013 +0300

    Refactor dependency string (flags etc) parsing to separate function
    
    - This should behave pretty much identically to how we always did things,
      just paving way for actual sanity checking and error reporting here.

commit f0f4aea02c92615d06d01c5e99c0f5eb5b770ea5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 10:24:27 2013 +0300

    Add placeholder return code to rpmfcHelper()

commit 3cec26230f0bf484b9ded6aefdaa213725668bed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 4 10:20:20 2013 +0300

    Propagate return codes from rpmfcHelper() in rpmfcHelperFoo()
    
    - Doesn't affect anything yet as currently rpmfcHelper() always returns 0
      and rpmfcHelperFoo() returns are ignored...

commit 816ec8a8b7e2097f3a6938432c966d67212c2ba2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 11:01:50 2013 +0300

    Plug a minor memleak in %files filename parsing

commit 3fb426bc6586ff0d84dc988987d24ff5ef4f9908
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 2 10:09:28 2013 +0300

    Use string pool for relevant %attr() and %defattr() storage
    
    - This isn't supposed to change anything wrt functionality but
      saves us from manually strdup()'ing and free()'ing a whole bunch
      of stuff thus making things simpler. Since user- and groupnames
      are already stored in the pool it makes things more consistent as well.

commit 93199e33e13567fa251b56cd86351cac7cd455f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Sep 1 08:56:45 2013 +0300

    ...and finally slay the ugly sonofab****

commit 2bade732b0a0f4961773a00383abfb730464cd3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Sep 1 08:52:24 2013 +0300

    Use the spec/filelist string pool for user- and groupname storage
    
    - This was the last user of the hysterical global "string stash"
      in rpmug, now we can get rid of it.

commit 11e34d09e3b75798840afff38cc1e64828cf41b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Sep 1 08:46:41 2013 +0300

    Make spec string pool available to filelist (but not used yet)

commit 1777d2a49287cc6171398375d63528dda660230e
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 29 17:37:40 2013 +0200

    digest_beecrypt: add missing break statement
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1fe1873955e851685fa2ca70ae4450dd3470050f
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 29 17:35:38 2013 +0200

    digest_beecryt: do not call pgpMpiLen(p) so many times
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 817481900e73b4056b23845a9b51500c5db09dee
Author: Michael Schroeder <mls@suse.de>
Date:   Thu Aug 29 17:23:12 2013 +0200

    digest_beecrypt: move pkcs1 padding into a separate function
    
    Also use the byte count of the MPI as block size instead of using
    MP_WORDS_TO_BITS, as the latter depends on the internal word size
    used in the beecryt library.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 65eec62cb7796dad6fbf1d5436251e176449f522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 29 16:32:32 2013 +0300

    Fix double-free on %caps() wildcard %files entry (RhBug:956190)

commit e83256f3bc18adbc3bde03687aa3c3b8ba3e7d43
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 28 19:07:25 2013 +0200

    digest_beecrypt: use the length of the pubkey MPI when doing PKCS padding
    
    Before, the code used the MPI from the signature, which may have
    a smaller size.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit c18840147cd5a52b5ee5def0865a566fc3c48aaa
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 28 18:46:13 2013 +0200

    digest_beecrypt: get rid of unneeded helper functions
    
    Use the _bin variants instead of converting the MPIs to hex.
    Also check the exit status of the beecrypt functions.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit ee8b3653c356b3503d4c0dbab21896b6d4dea841
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 28 18:45:17 2013 +0200

    digest_beecrypt: implement DSA2 hash truncation (untested)
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4d34ca590601e2214c42bee2d25526f91c153dae
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 28 18:38:45 2013 +0200

    digest_beecrypt: plug memory leaks
    
    Free the beecrypt numbers when freeing the key/sig data.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 70af849f0c8d00e654458c6540186f2cb087e2f4
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Aug 28 18:31:47 2013 +0200

    Check the mpi length before calling setmpi, remove pend parameter
    
    Simplifies the code a lot. Also check that that there's room for the
    mpi len before calling pgpMpiLen().
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit b6feb601896e64e42755708cb4fdc75783f9e6ae
Author: Alec Leamas <leamas.alec@gmail.com>
Date:   Tue Aug 27 19:04:53 2013 +0200

    python: export also the %checks section.
    
    The C code exports all valid sections: prep, build, install, check, clean
    etc.  However, the check section is missing from the python interface.
    Patch fixes this in simplest possible way (?).
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 8f25263dd155a6ff9a852cb951c348d12aaad264
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 27 15:38:53 2013 +0300

    Plug a possible loophole in file triplet sanity-checking
    
    - At least in theory, zd could be non-int32 type in a malformed
      package, in which case the index-checker loop terminates after the
      first value without actually checking anything. Count the valid
      entries instead to plug that loophole.

commit 65c7cc17664358051f0358de272e616dd88ab624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 27 15:15:40 2013 +0300

    Relax the filename triplet sanity check a bit (RhBug:1001553)
    
    - At least unowned directories can cause orphans to be left around
      in RPMTAG_DIRNAMES, in which case its possible for number of
      dirnames to be larger than the number of basenames. This is
      arguably a bug in the relocation code but doesn't seem worth
      the trouble... so just relax the check to simply permit non-empty
      dirnames array, the index bound checking is far more important.

commit ef1497b1f81966fed56f008bc8ee8ba42102efd6
Author: Tony Breeds <tony@bakeyournoodle.com>
Date:   Mon Aug 19 08:52:08 2013 +1000

    rpmrc: Not all linux powerpc builds are big endian.
    
    Without this change rpm incorrectly detects ppc64le systems as ppc64
    (or ppc64p7).  Compile time check the Endianness of the build system
    to elide these checks on little endian.
    
    Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit cf07feda05822377d62b973adc4010c0d7f9eaa0
Author: Tony Breeds <tony@bakeyournoodle.com>
Date:   Mon Aug 19 08:52:07 2013 +1000

    Update support to installplatform and rpmrc for ppc64le
    
    IBM recently announced the OpenPOWER Consortium, part of this initiative
    means now powerpc hardware can run the little endian mode.  Create a new
    platform for that mode of opperation.
    
    Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 6f79a54d6be18f425d2bd715e535f620b6e8a8ba
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Sat Aug 17 16:26:30 2013 +0200

    Add missing header against WEXITSTATUS()
    
    WEXITSTATUS is defined in sys/wait.h.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e4191162e1208b511ee8b4cbf258a77b2d00f4ee
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Jul 29 22:34:01 2013 +0300

    Search for 7za and 7z for 7-zip.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1d71a307e9341f8fb77034970c0acd2d2363ea79
Author: n54@gmx.com <n54@gmx.com>
Date:   Thu Jul 25 17:38:57 2013 +0200

    Get rid of redefinitions of __BEGIN_DECLS and __END_DECLS
    
    __BEGIN_DECLS and __END_DECLS are already defined in the NetBSD's standard C
    library as an internal definition and redefinition of it causes errors.
    The possible solutions are to rename the definitions or take rid of them.
    
    Actually __BEGIN_DECLS and __END_DECLS are used only once and encapsulate
    'extern "C" {' and '}', so they aren't really helping more then obfuscating
    the code.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4102effba5dadb1e96d6f0589345d86b3e224761
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Thu Jun 27 19:39:28 2013 +0200

    Don't lose errno from rpmPackageFilesInstall
    
    There are a lot of ways to lose the value of errno after a failed
    rpmPackageFilesInstall.  Typically, stdio will call isatty which then
    overwrites errno with ENOTTY.  Save and restore errno between the return
    from rpmPackageFilesInstall and the logging of the error.  There may be
    more opportunities inside rpmPackageFilesInstall to clobber the real
    errno which I haven't investigated yet.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit eb3e20b5f40ca69790d1cc0b6a18beec109f7c9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 2 10:36:44 2013 +0300

    Fix RPMTAG_NOSOURCE and NOPATCH tag types, they are arrays (RhBug:991329)

commit 0f2a4640de0fa9ddc2a0fc99f24bb7e813507450
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 1 16:34:40 2013 +0300

    Doh, its .debug_gdb_scripts, not _script (really fix SuseBug:818502)

commit 4ea9e8d8c6d2f3efd757978e93e5b55bb18342fe
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Aug 1 10:03:17 2013 +0200

    Make rpm man page more clear
     - Put --querytags and --showrc  and  --setperms and --setugids in separate
       lines to indicate that they all mutually exclusive.
     - Move --querytags in the QUERYING AND VERIFYING PACKAGES section

commit f6771b6722f0df097f9c61fc1b487f6f0ee402e8
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jul 30 16:35:21 2013 +0200

    Do not filter ld64.* and ld64-* provides and requires
    Fixes #988373

commit 88d24b14a8e0e33e768cb74a3487acf0925b012a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 5 10:27:18 2013 +0300

    Ensure relocatable packages always get install-prefix(es) set (RhBug:979443)
    
    - Scriptlets from relocatable packages should always run with
      $RPM_INSTALL_PREFIX* defined, whether actually being relocated or not.
    - Fixes regression introduced by the optimization in commit
      5d3018c4ed476b1b7ac18e2573af517f872cb303. We always need to call
      addPrefixes() but return early from rpmRelocateFileList() when
      no relocations are taking place, fixing the performance regression
      introduced all the way back in cb8241dda783f7e8c143b08fecf57fe89a39c3a6
      which is what 5d3018c4ed476b1b7ac18e2573af517f872cb303 was trying
      to fix. Pooh :)

commit 60835b20180c1be351ff95fa8c8d930afada0e4c
Author: Kirill A. Shutemov <kirill@shutemov.name>
Date:   Mon Jul 1 03:25:32 2013 +0300

    Use getauxval(3) to read auxv data
    
    glibc >= 2.16 provides getauxval(): a reliable way to retrieve a value
    from the auxiliary vector. It doesn't rely on /proc filesystem.
    
    Let's switch to it and get rid of /proc dependency.
    
    Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 2427d0fbf6b209e80e0c44eb2b63ecb028d058dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 18 13:06:39 2013 +0300

    Adjust flangtest to work as a test-case for zero-length files

commit 8ef918fab870e6985a7185521cadbfdf8d56d21d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 18 14:58:17 2013 +0900

    Make reading the cpio header a function

commit 000dc5f499b34de55026c3ba33dc83de669d5b96
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Apr 18 14:39:14 2013 +0900

    Move magic out of the cpio header

commit 7633e3627a864412fdc714f427bea7ae07670bcc
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Apr 15 16:36:00 2013 +0900

    Move more cpio internals out of the header

commit 6e6e4e95f8b16b0a7e3e76d79334677dbce0621b
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 19 15:46:02 2013 +0900

    Add support for 64bit sizes to rpmfi[SG]etFReplacedSizeIndex

commit f5d3a4b8a499cdd3492a65a84afa009b5419c4ce
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Apr 19 14:13:46 2013 +0900

    Load LONGFILESIZES into rpmfi if present

commit b9ce1c4d7afdef15b543850936bbef5874393c0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 17 15:40:47 2013 +0300

    Teach debugedit about .debug_gdb_script section (SuseBug:818502)

commit 606749c3b5094a1e4b536e71049e3e43761f1944
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 17 10:17:07 2013 +0300

    Avoid breaking build on older systems which dont know AArch64

commit 389d260ca41a277de49ca0154966d549945d8635
Author: Kyle McMartin <kmcmarti@redhat.com>
Date:   Sun Jun 16 12:48:46 2013 -0400

    debugedit: handle aarch64 debug_info relocations (RhBug:974860)
    
    AArch64 generates a relocation which must be handled similar to other
    architectures. Adding this patch allows debugedit to run against the
    kernel debuginfo.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit ae5795897159319923b60f5c141a2ae5aa6f8d68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 11:17:21 2013 +0300

    Fix ages old segfault on trying to expand %{lua} (RhBug:972646)
    
    - Using the already calculated macro arg + arglen for copying the
      buffer instead of buggy local variant helps... This is as old as
      the embedded lua interpreter in rpm, close to a decade.
    - Besides fixing the segfault, this actually makes it behave like
      other built-ins, evaluating to empty string when an empty arguments
      or no arguments are passed.

commit 99b40fe5ab591af40b88f2d076f16984a71a8720
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 10:46:50 2013 +0300

    Dont try to expand zero-length arguments to built-in macros
    
    - Previously various built-in macros without an actual argument,
      eg %{basename:} would evaluate to "}" which makes no sense
      whatsoever. With this, they evaluate to an empty string similarly
      to when no argument is passed, eg %{basename}. Arguably these
      should emit an error/warning instead but for now...

commit 84c222d6cc69f6a24861df6834ec6b86288a49a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 10:17:02 2013 +0300

    Adjust attrtest.spec to work as a test-case for RhBug:972994

commit fed1298af7911145c953da8910fd5f2f15976374
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 09:51:48 2013 +0300

    Fix regression on addressing main package by its name (RhBug:972994)
    
    - The main package name is not known when we start parsing the preamble,
      so newPackage() is called with NULL name and the early callers use
      NULL to find it. Populate the name as soon as we know it so
      various "%foo -n <name>" operations work on the main package too,
      which got broken by commit 9929459f9967ecfe0a05d557bc42531944faa70a.

commit f173f747cda11e3f6778d2553fcb0db4b4e1d571
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 10 15:05:07 2013 +0300

    Revert "Fix segfault trying to expand %{lua} (RhBug:972646)"
    
    - This reverts commit 43a34e155432354454ba11b2d9decf86cfba26a6,
      contrary to what the comment said the is NOT how other built-ins
      behave, they evaluate to an empty string without an argument.
      Better fix needed...

commit 43a34e155432354454ba11b2d9decf86cfba26a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 10 14:44:55 2013 +0300

    Fix segfault trying to expand %{lua} (RhBug:972646)
    
    - %{lua:...} is used for invoking the embedded Lua interpreter, in
      which case the script must be passed as the macro argument. If
      no argument is passed, let it fall through to normal macro expansion.
      This might not be the most sensible behavior possible but at least
      its in line with what currently happens with other similar built-in
      macros.

commit 6a9853e3efed3f7c18a75694ef92359cf3832d38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 10 09:32:58 2013 +0300

    Files with zero inode cannot be hardlinks

commit 6daf515b51155f338239c7611b3942e0b4d26192
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 7 12:57:57 2013 +0300

    Update transifex config for domain change

commit 5e89283259fa8fa300efa19ee2bbb8de59fb69fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 7 11:27:10 2013 +0300

    Export the pool-aware rpmfi constructor
    
    - Similar as commit 541234b02ea8bcdd0da0a2a43eb099f7ecc9869c for rpmds,
      but speed is less of an issue with the complex rpmfi's than single
      rpmds'es where private pool construct+teardown can be very expensive.
      With rpmfi's the bigger gain from shared pools is memory savings,
      permit taking advantage of this outside librpm internals.

commit 29eed0ff1cb3531bac7ca6f23a68fbe30640c268
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 5 18:59:00 2013 +0300

    Never package %ghost files into payload
    
    - Fixes what's probably a regression from all the fsm refactoring (possibly
      commit aa2117b94efe60769bde94a9e250644aa016fd99) causing hardlinked
      %ghost files ending up in the payload.

commit ad874d60e3804f1bcd64f3510e1e2dfbf81456cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 28 08:56:22 2013 +0300

    Serialize BDB environment open/close (RhBug:924417 etc)
    
    - Introduce Yet Another Broken Lock[*] to serialize BDB environment open:
      otherwise we can end up calling dbenv->failchk() while another process
      is just joining the environment, leading to transient "Thread died in..."
      DB_RUNRECOVER errors. Also prevents races on chrooted operations where
      we remove the entire environment on close.
    - This should also make it possible to handle at least some cases of
      real DB_RUNRECOVER errors by just nuking the environment but that's
      another topic...
    
      [*] YABL as this is nowhere near foolproof or sufficient for all
          the possible variants, but better than not having it...

commit 9de2834a09a7410296cafedcea545d2e3dda34a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 12:45:08 2013 +0300

    Error out on more than one --pipe option (RhBug:966093)
    
    - Every now and then somebody tries to use --setugids and --setperms
      (or some other popt aliases relying on --pipe) together, which
      wont work as expected. Error out with a hint for the potential cause.

commit c3a007df80fd612f89b01026bd50c7144c24ef19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 12:34:23 2013 +0300

    Bury rpmrc platform path inside defaultMachine(), clarify name

commit 513c7b5808ee96e636d8bef22d9b803974f562d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 10:01:07 2013 +0300

    Move rpmrc platpat into the context and change it into ARGV_t

commit fa25032618dcb3e64eb96e254fc5151e667768f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 23 09:56:40 2013 +0300

    Move rpmrc tables into the context, update related code

commit 787a9ad1669c9c6a3994e3458d6001af2043460e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 17:37:36 2013 +0300

    Move rpmrc currTables into the context, update relevant code

commit a000ad6c5f19d8ff0706696c0d9bc6c1b67d7bb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 17:34:26 2013 +0300

    Move rpmrc current array into the context, update relevant code

commit f50ef8c8ec398e326139793beba100b6e701aac2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 17:28:20 2013 +0300

    Move rpmrc values table into the context, update relevant code

commit e8c67ce612690af1b4c7f8810815dc096c5e6dd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 17:25:44 2013 +0300

    Pass rpmrc context around to all internal functions that'll need it
    
    - No functional changes here as we're only paving way for moving
      the real stuff...

commit 418632567c3f2426cdab625c7c78d9ee9d27c863
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 17:16:00 2013 +0300

    Group exported functions to end of rpmrc.c, no functional changes
    
    - Having the external interfaces together makes it easier to keep
      tracking of locks and all...

commit 71e2d38e3d75b74d90a43ab04af5ec49971b8e49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 14:24:29 2013 +0300

    Make macros thread-safe ... sort of
    
    - Add the actual locking into macro context acquire + release. We're
      using a mutex instead of rwlock because currently any macro can
      involve defines and undefines and we dont know it beforehand. So
      we just use a bigger hammer...
    - The macro engine internals shouldn't need recursive mutexes but
      unfortunately Lua macro bindings, which are limited to the
      lock-on-entry interfaces can and do get called recursively
      from macros so currently there's not much choice but to use
      recursive mutex for the macro contexts. What makes it even uglier
      is that there's no portable static initializer for recursive mutex
      so we need to add yet another pthread-construct to safely dynamically
      initialize the mutexes :(
    - Of course this doesn't make bunch of threads simultaneously messing
      with macros behave sane: if one thread tries to load new macros
      and the other one frees them, they shouldn't crash but the
      results are unlikely to be what the caller intended. The purpose
      here is just to allow the occasional rpmExpand() and such to
      complete without crashing and burning when multiple threads are
      doing stuff like trying to read packages from disk.

commit 09499d994b9c05ad6421194ce7758f84f3346dc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 11:43:40 2013 +0300

    Add and use internal (lockless) function for copying macro contexts
    
    - rpmLoadMacros() is a dumb name for what it does: it copies macros
      from one context to another. The only actual use within rpm is
      to copy back the cli macros to global context, but make the
      internal helper more flexible by allowing copying to any context.
    - rpmLoadMacros() is mostly just a dumb wrapper around copyMacros()
      to grab locks and guard against copying global context to itself.
      Adjust rpmInitMacros() to use copyMacros() as it already has a
      lock on the global table, it just needs a lock on the cli contexts
      as well.

commit 62d36cce61ed5ca353e4ad5796481f70599f8482
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 11:27:29 2013 +0300

    Add and use internal (lockless) version of rpmLoadMacroFile()
    
    - rpmInitMacros() already grabs the (theoretical) lock on entry
      so we shouldn't try to grab it again, use the new lockless
      loadMacroFile() version for the purpose.
    - rpmLoadMacroFile() is now just a simple lock-wrapper around
      loadMacroFile()

commit bfda1b601392de11ee80179fc7a0a079b34f2f45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 11:15:20 2013 +0300

    Add and use internal (lockless) version of rpmDefineMacro()
    
    - rpmLoadMacroFile() already grabs the (theoretical) lock on entry
      so we shouldn't try to grab it again, use the new lockless
      defineMacro() version for the purpose.
    - rpmDefineMacro() is now just a simple lock-wrapper around defineMacro()

commit 1036601e3eba863a2c6271e23032ca9fe1eae493
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 10:53:20 2013 +0300

    Add and use dummy macro context lock acquire + release functions
    
    - Add and use dummy macro context lock acquire + release functions,
      ATM these only centralize the NULL -> rpmGlobalMacroContext translation.
    - Eliminate the NULL context translation from internal interfaces,
      ensure its always done at the outer levels already.
    - At least rpmLoadMacros() and rpmLoadMacroFile() are fishy wrt
      theoretical locking at this point and will require further internal
      helpers...

commit acead93927e4b7fd644bdb5ef49d59f837c4cd6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 10:21:04 2013 +0300

    Group exported functions to end of macro.c, no functional changes
    
    - Having the external interfaces together makes it easier to keep
      tracking of locks and all..

commit b823075695ec99810d48675d46787129c0754f9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 09:44:34 2013 +0300

    Separate internal vs external macro add and delete functions
    
    - Rename addMacro() and delMacro() to pushMacro() and popMacro()
      respectively, change all internal callers to use the push/pop
      variants. Make addMacro() and delMacro() just dummy wrappers
      for the internal variants.
    - No functional changes, just paving way for adding thread-safety
      mutex: we'll be locking at the external API boundary to keep
      things simple, avoid nested locking etc.

commit 9b734cee5dc9805a6f8d24c3f30ed82a7aef5673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 08:38:53 2013 +0300

    Only consider files with .pm suffix as perl modules (RhBug:927211)
    
    - Newer file is more eager to flag files as Perl module source,
      causing false provides to be generated. Require both magic
      and path to match for perllib classification to reduce the pain.

commit ea47e7a8169187f87a70ff0c1059e99b0d09e659
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 22 07:24:06 2013 +0300

    Plug segfault on NULL pointer dereference in debugedit (RhBug:929365)
    
    - Not sure what the right thing to do would be here, ignoring seems
      like a better option than crashing though...

commit 5ab95006b07f2c6b83d6ea0a22c4224d8b926fb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 14 13:02:31 2013 +0300

    Dont check for non-directories when recursing
    
    - Fixes regression from commit f9f74db13e3bd94debcd7c33194e27649e5adfca,
      if a non-directory in %files has a trailing slash its an error,
      but when we're recursing a directory the check is not valid
      as by definition we should accept whatever is there.

commit 91d2bdce5bbd095012250ad86ca6bb4b609b40c4
Author: Alexandr D. Kanevskiy <kad@kad.name>
Date:   Fri Apr 26 18:16:59 2013 +0300

    Include %{VCS} in src.rpm
    
    It is valuable to include VCS information in source rpm packages.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 87be163dbb5963a77547e573b4e7b23b5a443a2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 26 14:05:30 2013 +0300

    Print out our macrofile path on --showrc

commit d7b393a512cd46ef2d6889574af3060a267fed40
Author: Archie Cobbs <archie@dellroad.org>
Date:   Fri Apr 26 12:28:03 2013 +0300

    Here's a little patch does a couple of things for the check-files script:
    
    - Eliminates the use of one of the two temporary files
    - Ensures the other temporary file gets cleaned up in all termination
      scenarios
    - Performs the difference check more efficiently
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit c9751adb327853b4fbeeeaa4d9276ed9167295ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 26 11:31:59 2013 +0300

    Add a test-case for nested macro expansion in a name, currently broken
    
    - The stricter macro substitution syntax introduced in commit
      c22d5b12999de6633d89828165ea3ab2112993e8 make this case illegal
      whereas it previously worked. AFAICS macros relying on the former
      behavior exist, so it probably needs to be restored one way or
      the other.

commit 71d5403baf4c72062792b75d4305bd96c9fac3fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 12:50:31 2013 +0300

    Only require arguments to rpmbuild when building something (RhBug:919080)

commit e97bccbd78233d6af9175f274a928e897d790550
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 12:36:06 2013 +0300

    Doh, not-enough-caffeine thinko in 685bf3b6ef32bc49393d1f287b7ecf3e6d21ab09

commit f9f74db13e3bd94debcd7c33194e27649e5adfca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 10:07:41 2013 +0300

    Detect and error out non-directory being specified as one in spec
    
    - Previously rpmbuild silently ignored %dir (and trailing slash)
      on eg regular files and symlinks and just packaged whatever was
      on disk. If the packager specifies something as a directory, ensure
      it actually is one and error out otherwise to guard against eg
      upstream unexpectly changing a directory to something else.

commit 98d629c276b6a07dc5c711f131f5c4c0acfed59f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 09:42:13 2013 +0300

    Ignore %attr() and %defattr() mode on symlinks
    
    - Permission bits are not applicaple to symlinks, dont let
      %attr() and %defattr() affect the mode that ends up in headers.
      Mode specified by %defattr() is quietly ignored, but warn on
      explicit per-file %attr() as this is likely a packaging bug,
      such as in RhBug:950748.

commit 685bf3b6ef32bc49393d1f287b7ecf3e6d21ab09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 25 09:28:10 2013 +0300

    Ignore permission bits conflict on symlinks
    
    - Permission bits are not applicaple to symlinks, and normally
      they are always the same. However rpmbuild has never taken
      symlinks into account wrt %attr and %defattr, so its possible to
      have packages where symlink has a irregular mode (eg RhBug:950748),
      which causes an unnecessary file conflict. Silently filter out
      these bogus conflicts.

commit c41f8393bca91e305a04accca3a2cbb5c79acb30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 23 13:30:41 2013 +0300

    Use unified tag to index function for both add and removal
    
    - Previously indexDel() didn't filter the data the same way as
      indexPut(), which could cause us to unnecessarily (and incorrectly)
      try to remove data which we never put there.

commit f8911daa310822897b0c821abc512ab148425945
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 23 12:48:40 2013 +0300

    Change indexPut() and indexDel() to return rpmRC too

commit 5a21d809b0121a57454d773ba0803cb14a6e75ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 23 10:32:46 2013 +0300

    Eliminate pointless "helper" define

commit 7121d988085c79131695dc05b77dbb48083bb587
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 20 09:22:28 2013 +0300

    Make indexDel() and indexPut() error handling slightly less broken
    
    - Count the number of total failures and only return OK if no errors
      were seen. Previously only the index failing would cause an actual
      error to be returned.

commit f8e512fed2fe4e422f808ce73f5a8e555703490d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 18:58:58 2013 +0300

    Eliminate now pointless dbiCursorIndex()

commit aca8ae7728b18df6ac2ecc4ddde07cd66b8eac1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 18:57:16 2013 +0300

    Make dbiSync() static, its not needed outside the BDB backend

commit 830c3716274401ecd4cbc2e2430b7f03ac75e444
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 18:56:34 2013 +0300

    Eliminate unused dbiCursorCount()

commit 1ae157a017372da4ff6584fe24630e1e480c3177
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 18:43:49 2013 +0300

    Remove pointless rpmdbSync() function
    
    - The DB backend is supposed to take care of syncing when necessary,
      syncing all indexes "just in case" whether they were written to
      doesn't make a whole lot of sense.

commit a172eb1f284f73c8e632e54e7acee78f46e8d427
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 15:59:34 2013 +0300

    Automatically sync on write-cursor close
    
    - Remember open-flags in db cursor handle
    - Always sync when write-cursor is closed
    - Eliminate most manual dbiSync() calls

commit 6ec3e80d4bd7960b19429e999e7c537e5881ede5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 15:08:06 2013 +0300

    Push index updating (put, del) details to the backend code
    
    - Pass the record to be inserted or deleted to cursor put/del operations
      and let the backend worry about how to actually accomplish it.
      In case of BDB, it needs to grab the data for a key, update and then
      push back (or delete) but not all possible backends require this
      much handholding.

commit d75870a721d9c8a4c1e6a4cd81a5d6fd464c7b91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 19 14:39:29 2013 +0300

    Change struct dbiIndexItem to follow rpm conventions
    
    - Follow the general rpm convention of the struct name ending with
      _s and dbiIndexItem itself is a typedef'ed pointer to the struct.
      No functionality changes.

commit a113baa510a004476edc44b5ebaaf559238a18b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 14:18:23 2013 +0300

    Avoid redundant strlen() calls on buildroot

commit dbc2d51f066207e29e4a725f15d03cb04d9429c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 17 14:04:05 2013 +0300

    Ensure packaged files are inside the buildroot (RhBug:951979)
    
    - Before this it has been trivial to escape the buildroot with
      eg /.. in %files: rpm thinks the path is ok as long as it starts
      with /, but we end up packaging stuff we certainly should not.
      Check that all added paths are inside the buildroot.

commit c012a7698537ac446b87d636d8d835ae0fe78fdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 10:45:56 2013 +0300

    Optimize expandMacro() a bit, based on patch by Alexey Tourbin
    
    - Avoid the expensive calloc() when creating a macro expansion buffer,
      malloc() suffices just as well as long as we initialize the first
      byte in the buffer. This is easily visible on wall-clock times.
    - Avoid recalculating source string length: when caller doesn't
      pass slen, we always calculate the string length for creating
      a terminated copy, no need to redo it...
    - Add a warning comment about the seemingly obvious optimization
      breaking macro undefining itself, this is starting to look like
      a recurring theme :)

commit 84fb114457534f4d017981102fe07778f98e3b43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 10:05:51 2013 +0300

    Utilize the existing rpmds'es from packages when merging generated deps
    
    - We already have the manually added dependencies in the per-package
      rpmds'es so we can just merge, no need to reconstruct them from
      the header.

commit 66b68d455dd117dbc4d28c45c6a7e427f79e471c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 10:03:03 2013 +0300

    Plug memleak from a thinko in commit 9929459f9967ecfe0a05d557bc42531944faa70a

commit e4b7d44eac71dc4c26b5254f357d8ad786592c8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 09:53:58 2013 +0300

    Use addReqProv() for adding package self-provides too
    
    - We have a function for this stuff so use it. This also ensures
      the per-package rpmds'es and the data in header stay in sync
      and that manually added self-provides wont cause duplicates.

commit 89ff1ca2d97d34f65dac52d7eec24f072dfe0e28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 08:58:59 2013 +0300

    Use string pool id instead of string for package lookup
    
    - Comparing integers is cheaper than strings, but this is a fairly
      marginal win in practise.

commit 304924b10099733cf7f677b670c356593d165bbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 07:51:01 2013 +0300

    Utilize the shared string pool for manually specified dependencies
    
    - Brings the texlive.spec parse time down from 4.8s to 3.6s on my
      laptop. Not bad for a one-liner.

commit 948f85fb8ff51fb50df51b0a1f0691101e48a16f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 07:48:35 2013 +0300

    Add a spec-level shared string pool to spec and package structs

commit 541234b02ea8bcdd0da0a2a43eb099f7ecc9869c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 07:42:04 2013 +0300

    Export the pool-aware rpmds constructors
    
    - Private pools can be very expensive when constructing and tearing
      down dependency sets by the masses. Permit taking advantage of
      shared pool outside librpm internals.

commit 0dd6e4491be69f4fc3074ae3859fb03fd6226a41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 07:38:01 2013 +0300

    Avoid umphteen arguments to isNewDep() by creating the new ds earlier

commit 9929459f9967ecfe0a05d557bc42531944faa70a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 16 07:14:10 2013 +0300

    Optimize lookupPackage() a bit
    
    - Remember the name of sub-packages in the Package struct, avoiding
      the need for headerGetString() in a loop, and also avoid unnecessary
      strdup() in the case name is not a partial one.
    - Somewhat hysterically, this more than halves the time to parse the
      infamous texlive.spec on my laptop: the parse time is down from
      10.2s to 4.9s.

commit d642df2a5c5913010dae5b5b6a043359325cf055
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 17:42:49 2013 +0300

    Sanitize duplicate dependency checking at build
    
    - Creating a new rpmds from header each time isNewDep() gets hideously
      expensive when the number of manual dependencies is high.
      Add prco etc rpmds structs to each package and use those to determine
      whether a dependency has already been seen: this way the ds'es remain
      sorted so rpmdsMerge() will do the right thing for regular
      dependencies. Triggers are somewhat different beasts with their
      index tags so at least for now just do a linear search like we
      always did for correctness.
    - Makes worlds of difference for complex specs... the time to parse
      texlive.spec from Fedora goes down from ~27s to ~10s on my laptop
      with this change.

commit a48b11edbd00c4f0dbdd3462e659dd1d3bcf21ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 17:35:29 2013 +0300

    Make rpmdsMerge() return something meaningful
    
    - The API documentation was always incorrect and meaningless, as
      rpmdsMerge() can merge any number of entries so there's no single
      index to return. Instead return the number of merged entries
      and adjust the docs to match the new behavior.
    - This is of course an incompatible API change in a strict sense,
      but then since the documentation was always wrong to begin with
      anybody looking at rpmdsMerge() return is relying on undocumented
      behavior really. The compatible way to use this is to check
      for < 0 for errors and assume success otherwise.

commit 83844d55cd18a469966a80ca7807f2c6339f9bfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 17:16:27 2013 +0300

    Fix ages old bug in rpmdsFind() wrt flags
    
    - EVRs are pointers which in theory could be NULL so checking them
      is appropriate, but 0 is a perfectly legal value for flags and
      the bogus "NULL check" causes it to get things wrong if either or both
      flags are RPMSENSE_ANY

commit 29813d418d0f9a255047353d0b163fb21fe943ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 15:31:37 2013 +0300

    Handle source vs binary pkg dependency difference in handlePreambleTag()
    
    - We know perfectly well at handlePreambleTag() already whether something
      should go to binary or source package, pass the right pkg to
      parseRCPOT() so we dont need to fiddle with it there.

commit 42b2f78e724e02d677974314d460cc6dec5cbc5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 15:23:37 2013 +0300

    Pass the entire package struct to addReqProv()
    
    - Still doesn't make much difference as it is, but further pre-requisites
      for sanitizing the way dependencies are carried around.
    - Change rpmSpecDS() to return the ds based on the actual source package
      header, not buildRestrictions. Using buildRestrictions was probably
      kinda wrong to begin with but its more so now as the actual
      requires and conflicts go to the "real" header, not buildRestrictions.

commit 0db12898c5d270fd4bbc7b4bad677dee4f34a617
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 15:16:11 2013 +0300

    Use newPackage() to initialize source package too
    
    - As newPackage() initializes the pkg header too, we now need
      a different way of checking whether initSourceHeader() has
      already been called. Checking RPMTAG_NAME should suffice for the job...

commit c78c03d31289fb6a11537eb87b47c0a48a8dcb0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 14:52:40 2013 +0300

    Only pass the target package list, not entire spec, to newPackage()
    
    - Its mildly hysterical either way, but it doesn't actually need
      the whole damn spec. More importantly allow passing NULL for
      "independent" package entities.

commit 0252fdf04884da7b7d2437eeb8e6ca8c697d902a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 14:08:24 2013 +0300

    Pass the entire package struct to rpmlibNeedsFeature()
    
    - Doesn't make much difference as it is, but pre-requisites for
      sanitizing the way dependencies are carried around.

commit 4d7f6363b20f896c79749ef801eb657ecdc03103
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 14:04:40 2013 +0300

    Pass the entire package struct to genCpioListAndHeader()
    
    - Again simplifies things by having less junk to pass around,
      but more importantly paving way for next steps...

commit 36826b8c0d666f934f32745653dd4f0f67036644
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 13:53:45 2013 +0300

    Eliminate the cpioSourceArchive struct
    
    - Store archive size in the package struct, and now we can just
      axe the kinda hysterical CSA foobar, much simpler and saner this way

commit 25e2129dea56252ae7df07b7f3229f721cb1a275
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 13:48:12 2013 +0300

    Pass the entire package struct to cpio_doio() too
    
    - The CSA thing is nearly useless now...

commit 790cb67b7f83c31b919ac50e48b83dd5b82fb0a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 13:44:09 2013 +0300

    Pass the entire package struct to writeRPM()
    
    - Simplifies things a little bit, but mostly this is just paving
      way for next steps. Shouldn't change anything in practise.

commit a3e35ad4c798c8d6e60444df4f146118599478d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 13:23:48 2013 +0300

    Use struct Package for source package too
    
    - Makes the src.rpm that little bit more like other packages.
      Doesn't make things any saner here but we'll want to pass around
      package structs instead of headers later on.

commit 6d361d55d6e03bb1444e397f7c2d80edb307d601
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 15 12:42:34 2013 +0300

    Move rpmlibNeedsFeature() and addReqProv() prototypes
    
    - rpmbuild_misc.h is just internal misc helpers whereas the
      dependency stuff has very much to  do with packages and the
      like. No functional changes, just clearing up stuff...

commit ebeb53314d73a9a77d9e377ccfd6d388c11a82dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 12 12:40:37 2013 +0300

    Report replaced files in verification
    
    - Unlike other file states, replaced state is always a forced one
      and thus a likely problem. Always report replaced files in verify
      output by appending the state to the verify line, similar to
      strerror() for unexpected errors. In verbose mode, report all
      non-normal file states.
    - Like any output change, this can potentially break user scripts but
      at least this way the breakage should be minimal as regular output
      does not change, and similarly appended error strings have been
      present since 4.4.x days.

commit 7fd03b0abf0e9522890d1602867f3264b01e9961
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 12 09:52:36 2013 +0300

    Handle fork(), pipe() etc failures in signing passphrase check
    
    - Actually check the return codes from various things and handle
      the failures. This is nowhere near 100% correct still, but
      at least within spitting distance from the ballpark.
    - Incidentally this eliminates the last compiler warning on the rpm
      codebase with current gcc (4.8.0), wohoo.

commit ae58a02861977d3a71a68bc1851cd0a70ec889f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 12 09:19:35 2013 +0300

    Handle fork(), pipe() and dup2() failures in prelink helper launch
    
    - Actually check the return codes from the stuff that matters and
      deal with failures. Incidentally also eliminates a compiler warning
      from set-but-not-used variable...

commit 427477fb3bc811fe8131c1a58f761a547645e610
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 10 11:59:32 2013 +0300

    Print out %pretrans and %posttrans dependencies too when building

commit 23e82afcbc8a9ddde13f0d20c75a549196920139
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 10 11:31:41 2013 +0300

    Add scriptlet-specific disablers for %pretrans and %posttrans
    
    - Previously %pretrans and %posttrans were tied to --nopre and --nopost
      disablers (since commit 0b2d7775c5e828652e45829f551352b93890bbc8)
      because back then, there was no room new disablers in rpmtransFlags
      bitfield. This is no longer the case as of rpm >= 4.9.x where
      a bunch of obsolete flags were axed, so we can now add specific
      --nopretrans and --noposttrans switches + corresponding flags.
    - This is obviously a behavior change as --nopre and --nopost no
      longer affect %pretrans and %posttrans, but --noscripts behavior
      remains the same.

commit 5fc863ee1e28479accb0e034442f88d15de84031
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Wed Apr 10 09:47:11 2013 +0300

    Fix python binding build on python 3
    
    - Fixes PyString caused breakage from commit
      cb84c0db42db105116072cb71d89152e885e2e2c
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 9c082fb8689efdaa5a595d3043e67ccec4ed930c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 10:49:24 2013 +0300

    Permit scriptlet exec context setting to fail in non-enforcing modes
    
    - This is what rpm_execcon() in libselinux always did, and trying to
      be more strict causes things to blow up on install to an empty
      chroot where /proc and /sys/fs/selinux are not mounted.

commit 6fd18f15b3a05eed456d41058f77a928071c8a97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 5 09:06:49 2013 +0300

    Rename all hook functions for saner debugging
    
    - Now that the hook functions in plugins no longer need to be uniformly
      named, rename them to more "natural" pluginname_hookname style so
      __func__ (and gdb etc) give meaningful, distinct values for them.
      No functional changes unless I typoed something.

commit cd7ca60a6ca97d9b363c2bf25dfd156cb95f877c
Author: Johannes Dewender <rpm@JonnyJD.net>
Date:   Thu Apr 4 19:11:48 2013 +0200

    Finish lua 5.2 support, trac #865
    
    Lua52 support was started with ac959fed0082cb253d45c7a04866e8654e962442.
    
    Compilation tested with Lua 5.2.1 and Lua 5.1.5.
    
    The short typerror() snippet is taken from luaL_typerror in Lua 5.1.5
    (MIT license)
    
    Signed-off-by: Johannes Dewender <rpm@JonnyJD.net>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit a944143cf54fb5f41b18949a9c6324d22f382274
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 4 11:22:22 2013 +0300

    Clarify the macro entry struct a bit
    
    - Macro name, opts and body must not be freed or otherwise written
      to after initialization, make them const pointers to clarify
      (and enforce) this. Arena is used to store whatever we need: it
      always contains the macro body, sometimes also name and/or opts,
      but these can be pointers to elsewhere too.

commit 301d5450a1c7849f9eb4ead11d00c8a20ea6a6bd
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Sun Jan 27 20:20:10 2013 +0000

    Improve macro table performance
    
    In the existing implementation, when a new macro is added, the whole
    table has to be sorted again.  Hence the cost of adding n macros is
    worse than O(n^2), due to arithmetic progression.
    
    This change drops all qsort(3) stuff altogether, by carefully preserving
    table in sorted order.  In findEntry routine, bsearch(3) is replaced
    with customized binary search which tracks position for insertion.
    In the addMacro routine, if a matching entry is not found, this
    position is used for direct insertion, after the rest of the elements
    are "shifted to the right" with memmove(3).  Likewise, in delMacro
    routine, the elements are shifted back to the left when the last macro
    definition is popped.  Technically, shifting half of the array with
    memmove(3) is still O(n^2); however, modern CPUs process contiguous
    memory in a very efficient manner, and glibc provides a fine-tuned
    memmove(3) implementation.
    
    Also, macro table entries are now allocated in a single chunk.
    
    This change reduces rpm startup costs by factor of 6.  Also, this change
    improves specfile parser performance by a factor of 2 (e.g. the parse
    time of texlive.spec is reduced from 67s to 35s).
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit fec91c539c2d1f2d4918300cb9591631a03eebdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 17:16:33 2013 +0300

    Eliminate redundant name variable from sepolicy plugin

commit 51b306686c46dfa67f6f9d16f0190c99f55339dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 16:49:50 2013 +0300

    Initialize plugins much earlier
    
    - Lazily initialize plugins when adding install or erase elements
      to the transaction already. Since this ensures the setup will
      always be performed, there's no need to do this from rpmtsRun()
      anymore, empty transaction would not get that far anyway.
    - This will allow adding hooks to the places where package header
      is still available (which is required for various things) and
      in general, before transaction is actually executed.
    - The downside here is that adding or removing packages to a transaction
      can now fail due to plugin initialization failure where its not
      easily distinguishable from other errors, but then they can also
      fail due to rpmdb open failure which kinda similar "shouldn't be
      here" issue. The alternative would be initializing the plugins
      in rpmtsCreate() but as that's not actually permitted to fail at
      all, its not an option really.

commit 3420601fb5bb03ff80c2455579cc9ae0712f2306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 14:55:05 2013 +0300

    Lazy allocation of plugins container
    
    - Allocate on first access instead of explicitly doing so in
      rpmtsCreate()

commit 02724dca6156c9df709f56dba7308b44873a0ae1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 14:32:10 2013 +0300

    Tolerate NULL passed to rpmpluginsFree()
    
    - Currently ts->plugins is always allocated but soon it wont,
      and rpm generally permits NULL in fooFree() functions

commit d497ca6d46b369380ca95ab2208caa936399d41b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 14:06:19 2013 +0300

    Use rpmtsPlugins() instead of direct struct access everywhere

commit 3e5904fb5358cd2032d0c4487ac0f0ca5a7ca542
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 13:00:12 2013 +0300

    Eliminate leftover selabel handle from rpmts struct
    
    - This should've gone down with the dishwater in commit
      b5e3e1efee28ce0a4bb5e9eae6740d4422f75f1c

commit 551be3bc1f47b78129a2c0ffd4b125ef95f15552
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 12:39:51 2013 +0300

    Drop now redundant name and opts arguments to plugin init hook
    
    - Both name and opts can be grabbed from the plugin handle, no need
      to pass separately

commit 40335819cfb2ef9d4380f05c93a12281e26d0b15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 12:25:37 2013 +0300

    Change syslog plugin to use plugin private data instead of globals
    
    - Some previously required things probably no longer make no sense
      now, and OTOH this isn't all that important for the logging
      plugin but just to test the stuff with something...

commit 6f4856622e0f0cb7bbf191bae95f5a6bd6e783c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 12:13:15 2013 +0300

    Add API for setting and getting plugin private data

commit 9fa806fea5e17b5c1dade64364bbb746b402bba0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 12:06:32 2013 +0300

    Eliminate now unnecessary init + cleanup hooks in exec plugin
    
    - Since the plugin remembers its name and options and we get a handle
      to self, there's no more need to do this in the plugin itself.

commit f869670e7836cb71f98f420c66f00dcd203f6c2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:57:53 2013 +0300

    Pass the handle to plugin itself to all plugin hooks
    
    - Change all plugin hooks to take plugin itself as the first argument,
      adjust our existing plugins
    - Further steps towards making plugins "instances" instead of
      just semi-global blobs

commit 79a18457aded12631964ccd21508caba674ab871
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:46:13 2013 +0300

    Add API for getting name and options from plugin handle

commit 91cefc3c3f319730e7cdbd69e47b724bf900383e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:36:09 2013 +0300

    Separate the external plugin API to its own header
    
    - rpmplugins.[ch] implements the rpm internal plugin management
      infrastructure, which is no business of anybody else. Mark the
      symbols internal while at it.
    - rpmplugin.h describes the API for the actual plugins, this is
      to be made public once the API is considered stable enough (which
      it certainly is not yet ;)
    - Adjust our plugins to include the right header

commit d657cd84624345c06eced436021b08accce8ff41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:22:30 2013 +0300

    Remember plugin initialization options in the plugin struct
    
    - Like the name of a plugin, this seems like a general thing that
      should be centrally provided instead of requiring each plugin
      doing it on its own. Not actually used yet however.

commit 24b90ef6859e7cbe9cefdd5e0b59d2afee4e1ad2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:12:13 2013 +0300

    Call plugin cleanup directly from rpmPluginFree()
    
    - Having separate function for calling the cleanup hook makes no
      sense (anymore), just do it directly from rpmPluginFree()

commit f7db9ee1297926b802bf837a722f9498bb018c71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 11:00:37 2013 +0300

    Plugin cleanup hook is not allowed to fail
    
    - Having the cleanup hook return an error code is almost like free()
      returned an error code you're supposed to check and if it fails
      then ... what? :) Make it "return" void instead, fixup plugins.

commit 08b7daccee537f06fb50646be263bb42bdbc67c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 3 10:56:41 2013 +0300

    Remove unused init + cleanup hooks in selinux and systemd inhibit plugins
    
    - We should perhaps require an init hook instead of foo_hooks struct
      but while things are this way... these are useless.

commit be7b886607c0a01b67c4b081676af0200192bdfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 13:57:12 2013 +0300

    Properly handle plugin initialization failure
    
    - Now that we can, call plugin initialization right after creation,
      and only add it to the plugin container if initialization succeeds.
      This way we dont end up with failed plugins hanging around.

commit afcca5a9230389eb08b24b58c04359d6ab2b89a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 13:47:31 2013 +0300

    Sanitize plugin init + cleanup a bit
    
    - Pass the plugin itself to both init and free to avoid pointless
      lookup by name when we already have the plugin at hand.
    - Hide both rpmpluginsCallInit() and rpmpluginsCallCleanup() inside
      rpmplugins.c, outsiders have no business calling these.

commit aa582a56ed94511b50cad406759e95eaea244b3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 2 11:20:01 2013 +0300

    Restore former behavior of ignoring selinux label "not found" errors
    
    - The in-rpm selinux code always ignored errors from selabel_lookup_raw(),
      but the plugin version does. Apparently it can occasionally return
      ENOENT as in "no context for this thingie here" for something which
      causes the plugin version to return an error (I'm seeing this on
      /var/lib/nfs/rpc_pipefs from nfs-utils)
    - It's not rpm's business to say everything needs to have a label,
      although this does seem a bit peculiar: for an arbitrary unknown
      directory selabel_lookup() seems to normally return a "default"
      context. Why that is not happening here I haven't got the slightest
      idea, but then restorecon isn't complaining on this, why should we?

commit 504bc846f1ed8d29e8d7d0b22d5055d5595b0ef3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 31 13:30:59 2013 +0300

    Further adjust our plugins wrt the new hook system
    
    - Make the hook functions static now that its possible
    - Directly include what the plugins need, dont include plugin.h
    - Eliminate now unnecessary plugin.h

commit 2b840edcf5fad265e023d78f05dde06f27dbc18c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 31 12:51:31 2013 +0300

    Revamp the way plugin hooks discovered and called, adjust plugins
    
    - Add a struct containing all hook function pointers to plugins,
      let plugins populate it by themselves and call the hooks by the
      hook struct, avoiding repeated dlsym() discovery on each call etc.
    - Eliminate now unnecessary PLUGINHOOK_FOO typedefs, defines and the
      "supported hooks" bitfield: supported hooks are whatever a plugin
      declares in the struct. This also means the number of possible
      plugin hooks is not limited by number of bits in an integer.
    - This means the only symbol plugins need to export is <name>_hooks,
      the actual functions can be static. This is not the case yet but
      to avoid changing everything at once... this is already a fairly
      big commit.
    - This also fixes the nasty issue where in presence of multiple
      (non-collection) plugins, supported hooks would not get called if
      another plugin didn't support that hook because of
      RPMPLUGINS_SET_HOOK_FUNC() using "return" on several cases,
      which doesn't go very well with loops.

commit 97a84e8e5f9793964b54f8c0b03f16eb98b5a8ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 30 15:11:42 2013 +0200

    Add typedefs for all plugin hooks, use them in the call funcs
    
    - Preliminaries for a mass-change of how plugins are initialized
      and called. The amount of cruft gets worse before it gets better...

commit 4c1b04c69413186be02eb4c76b99aacd91ee46b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 19:35:25 2013 +0200

    Simplify rpmteRunAllCollections() a bit
    
    - Just pass the hook and the collections argv as arguments,
      avoiding the need for additional symbols and switches and all.
      Makes calling them a little cumbersome but as there are only
      three internal callers this actually just simplifies things.

commit 53340e3f7718d09881c07c9ebd21c6d178b28e81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 16:47:54 2013 +0200

    Separate plugin lookup from hook set macro
    
    - Collection plugins are looked up by name, but for the others
      we already have the plugin pointer at hand and doing a lookup
      on plugin->name to find the pointer we just followed is mildly
      hysterical :)
    - Add RPMPLUGINS_GET_PLUGIN() "calls" for the (collections) plugins
      that need it, the rest simply "call" RPMPLUGINS_SET_HOOK_FUNC()
      with the current plugin handle.
    - Eliminate no longer needed rpmpluginsGetName() helper function
      added a few commits ago (so for once, temporary was in fact temporary
      and not the contrary...)

commit 67315002612e652a36f597274cfb5c6dbcb418b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 15:48:54 2013 +0200

    Simplify RPMPLUGINS_SET_HOOK_FUNC() a bit now that we can

commit f8d0719ceac9b88413b23a7f856522867b0a4bcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 15:26:15 2013 +0200

    Move individual plugin create and free to separate functions

commit 23aaaf237be562ee93b531b18125b5a0f183c98d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 15:13:18 2013 +0200

    Make plugins into separately allocated "objects", step 1
    
    - Add a separate struct for individual plugins, move names and
      handles from the plugins-container to individual plugins.
    - Change rpmpluginsGetPluginIndex() to return the actual plugin
      by the requested name as that makes more sense now, indexes just
      get in the way.
    - Shouldn't change anything as is, just more refactoring for
      next steps.

commit e3133fb6e6c14ba564800590b4ee34bec042bbb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 14:40:50 2013 +0200

    Hide plugin name retrieval behind a helper function
    
    - Just a temporary refactoring aid to limit the places where
      names are accessed. Doesn't make sense beyond that...

commit 453aad2560c5989076e3b534322fed06597c1f03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 28 11:06:51 2013 +0200

    First cut at a simple syslog plugin
    
    - Log transaction start + finish, package install/erase and scriptlet
      failures. In case of failures, log a failure summary at transaction
      end.
    - Plenty of room for improvement here, such making the logging and
      package identifiers configurable + emitting different messages
      for install/upgrade/erase/cleanup. Its a starting point, nothing
      more...

commit 307a1c0b77a4ff99dde5c4b577fca17cd81e10a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 09:43:12 2013 +0200

    Remove -K/--checksig related leftover in the manual (RhBug:708734)

commit 08e27ffe8fdea04d1c148b8b1c4ed46153d52f03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 06:26:39 2013 +0200

    Add a simple --rebuilddb test-case

commit 08912b1b0c37e551a4c81127d2fd0c83c3fa814b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 27 05:52:20 2013 +0200

    Fix segfault in selinux plugin when labeling is disabled

commit b536b5093d6d72da33a7c38bb02a96026147b1f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 17:46:16 2013 +0200

    Plug a giant memleak from BDB and rpmdb disagreeing on allocation protocol
    
    - Introduced in commit d228fa66efbce91b45ff6e90c117dd9ce38db6e9 by
      moving code around: since _USE_COPY_LOAD was only defined in rpmdb.c,
      the BDB side was thinking it should malloc the data it returns and
      the rpmdb side thinking its not mallocing and thus taking copies.
      And leaking lots and lots of memory. Whoops :)

commit bc871e8fead5fd16f2c51a4a453bddf9994b80ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 16:34:21 2013 +0200

    Handle db iterator locked to single instance as an index set
    
    - Gets rid of one of the umphteen state-keeping members of
      match iterators and makes the whole thing less of a special
      case in rpmdbNextIterator() as the loop now naturally terminates
      after processing the set of exactly one element.

commit f26513cce3c2c8e8af1bab1765cf7566276f4733
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 16:22:17 2013 +0200

    Fix rpmdbAppendIterator() argument signedness
    
    - Header numbers and the number of header numbers can never be negative
      here, and mismatches with everything else. Changing this is somewhat
      nasty as its a public API but then I dont think anything at all
      outside rpm itself has ever used this for anything, and the types
      were incorrect to begin with.
    - Fixup the used types in the sole caller markReplacedFiles()
      accordingly. These type mismatches go deeper than that (rpmfs
      and shared file info and all) but that's a story for some other day...

commit 1a9d3421ea2056ca87b8ce204674b6fb007e956b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 16:19:47 2013 +0200

    Lone mis-signed integer in rpmdbFindByFile()

commit fe808ff8eec9eeb40b536c00e414f12d9c6b851a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 16:14:59 2013 +0200

    Index set record number cannot be negative
    
    - Change dbiIndexRecordOffset() and dbiIndexRecordFileNumber() to
      use unsigned int for the recno argument, negative values simply
      dont make sense here (but would crash and burn, yes)

commit 7f739ecb5a1af51342f75a85972e5edc4af88f9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 16:12:14 2013 +0200

    Number of records to index set append and prune cannot be negative
    
    - Change both dbiIndexSetAppend() and dbiIndexSetPrune() to use
      unsigned int for the nrecs argument, negative values simply
      dont make sense here.

commit 3cbb9158fc6cdbab8781249f531304d9fdce1f2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 15:59:05 2013 +0200

    dbiIndexSetAppend() only takes index item structs, thank you...
    
    - Passing in void pointer and a size and then doing partial copies
      to work around the fact that the index set only ever deals with
      dbiIndexItem structs is just ... never mind.
    - The only place where we dont have the structs at hand already is
      rpmdbAppendIterator() and there too its plenty easy to arrange.
      The only in-rpm use of rpmdbAppendIterator() would likely rather
      use hdrnum-filenum pairs to begin with too but that's another story...

commit 792804c488a42e6b7967b0f87f94bfd15c17d729
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 15:42:22 2013 +0200

    dbiIndexSetPrune() only takes index item structs, thank you...
    
    - Passing in void pointer and a size is hysterical when the index
      set only ever deals with dbiIndexItem structs.

commit 06e9dc292f589e90c3ea54c2be0e41b2e4518e2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 14:42:03 2013 +0200

    Oops, a missed mergesort() usage in dbiset.c
    
    - Should've been in commit 7c8faacf0dcd670ec8d138452d69c89f831397fd:
      only use mergesort() if system provides is, others fall back to
      plain old qsort()

commit 56028aab2bdd7d09e5b75223c00fff37167f6bc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 12:55:53 2013 +0200

    Test rpmmi pattern match too while testing for the single instance thing

commit be230de053c5d3712298ee73bb2b99bb8bcf12d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 12:44:25 2013 +0200

    Avoid unnecessarily blowing up with an assert on invalid keylen
    
    - We can just as easily just return NULL indicating an error when
      db instance is specified RPMDBI_PACKAGES but its not valid,
      no need for assert() here.

commit 035c52d2f4e58176ee90266b43367d32c5ae3d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 12:36:15 2013 +0200

    Add a testcase for db iterator locked to single instance number
    
    - Back in the day, this case used to cause an endless loop. Just
      making sure we dont end up with such stupidity again...

commit 409fb9daea495fb88b9cecaa0a053ad738a625cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 26 12:34:27 2013 +0200

    Accept Python longs as db instance number too
    
    - Prior to this, trying to retrieve a db instance by number gotten
      from header['dbinstance'] would fail with unknown key type, doh.

commit d228fa66efbce91b45ff6e90c117dd9ce38db6e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 10:27:23 2013 +0200

    Stuff all BDB-specific code to the backside... err backend side
    
    - This marks a rather important milestone: for the first time in
      rpm history, rpmdb.c is entirely free of Berkeley DB specific
      code, <db.h> is no longer included anywhere except the backend
      implementation in db3.c and dbconfig.c. The backend "API" is
      a hilarious mess at this point, so lots of work ahead still...
    - No actual code changes involved, just moving things around and
      adjusting includes and prototypes as necessary.

commit 34f8836aa919c1826333532b275f4e1609aa82e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 09:57:17 2013 +0200

    Missing <inttypes.h> include, hysterically masked by "leaking" BDB includes

commit 4aabc27a33523a9ea7f88bdf478428d35ae03d16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 09:45:11 2013 +0200

    Change db version field to a string description to generalize
    
    - A version number is not particularly meaningful in error messages
      when we consider multiple backends. Use a string description instead,
      initialize from backend to ... whatever because this is only shown
      on error messages.

commit 4c8f0a54854b61f6e057d71248fe7f8d299ee4be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 09:28:29 2013 +0200

    Avoid BDB-specific DB type in dbiIndex
    
    - Use void pointer like with db_dbenv, update comments as well

commit 6ffba6655b76488c58147f7b0688af2c994f8962
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 25 09:13:20 2013 +0200

    Allow pkgdbPut() to decide (and return) the next header "offset"
    
    - With hdrNum 0, pkgdbPut() automatically decides the "offset" where
      to put the this blob, the value is returned through the new
      hdrOffset retval argument similarly to pkgdbGet().
    - This is all pretty clunky and will need sanitizing later on, but
      suffices for now...

commit f398b09772a25fb930e89a4584d6d5b9461ba391
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 19:40:03 2013 +0200

    Dont bother with useless header check cache size heuristics
    
    - The largest header instance number doesn't actually tell us
      *anything* at all about the total number of packages in the db,
      so we might just as well pick an arbitrary number and let the
      hash table resize itself as needed.

commit 0f3678e104fb82e49fe982986c750eb5238c5579
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 19:26:55 2013 +0200

    Eliminate low-level BDB stuff from the db index iterator
    
    - Now that we can get the key from dbiCursorKey(), we can just call
      dbcCursorGet() with no key to get all the keys (and associated data)
      one by one. Error messages and stuff is taken care of by dbcCursorGet()
      as well.

commit f0f15862ad408786d15b850c4e0fa9091b3c108c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 19:24:19 2013 +0200

    Remember key of latest get operation in the db cursor
    
    - This is solely to allow using the same dbcCursorGet() API for
      db index iterators. Not sure if its the sanest place to have
      it or anything... but it gets the job done for now.

commit 4eb9e4d4d5dd8283c38f488d40513a90bf5e7a2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 14:19:55 2013 +0200

    Add backend independent cursor read/write mode, update callers

commit 6af9a8b01914330271d59750bde5e7cc15307c9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 13:44:58 2013 +0200

    td2key() sanity checks
    
    - Dont touch unknown datatypes at all
    - Only call strlen() for actual string types (well, doh...) and
      even then only if its actually non-NULL.
    - Small miracle this hasn't blown up anything, considering...

commit b341199493582b5d4537afa61c912a4a515725b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 13:12:55 2013 +0200

    Return data from td2key() in BDB-independent way
    
    - Instead of BDB-specific DBT struct, use a retval argument for
      returning the key length and the actual value via return,
      NULL to signal ignore data for callers.

commit 694041743f9eb1e06d0f9b012492a7d4d3125f61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 13:05:21 2013 +0200

    Eliminate unused freedata retval from td2key()
    
    - We used to have special indexes that needed conversions but that's
      no longer the case. Get rid of the ugly "goto cont" jumps
      that used to be kind of necessary due to freeing data.

commit c5e88fb33c0efaae5c41a63559a327fb1b5a19e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:44:30 2013 +0200

    Put a bit of distance between BDB and the index update operations
    
    - Push the actual update of the indexes into updateIndex() and
      add dbcCursorPut() and dbcCursorDel() as higher level wrappers.
      Similar to updatePackages() and friends, where the updateFoo()
      is to be a backend-internal helper, it just looks wonderfully
      muddy and stupid atm :)

commit f272fdc65a6a460350a6ae4e074ad9d45adea535
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:24:58 2013 +0200

    Tolerate NULL set in dbiIndexSetCount()

commit e2e470649a2a8bcaf4582da9264cbeef97340861
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:24:15 2013 +0200

    Take advantage of dbcCursorGet() in indexDel() and indexPut() too
    
    - This is not supposed to change a thing: the cursor get operations
      in both indexDel() and indexPut() are simply copy-paste variants
      of the same theme.

commit 8476ecdcead669cf64716b24de9bbd60a66a9967
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 12:13:15 2013 +0200

    Rename dbiCursorGetToSet() to dbcCursorGet()
    
    - Rename to make room for API abstraction: dbiCursorFoo() is low-level
      backend stuff, dbcCursor() is the more abstract variant that operates
      on sets. This is fairly arbitrary but should become clearer once
      the the lowlevel stuff gets buried out of sight into the backend.

commit f0c55ec144496764d04d147b71490e5c5dd66731
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 22 09:47:11 2013 +0200

    Eliminate unused dbi_permit_dups member from dbiIndex

commit 1066edbc49791148d285204e1b7811f289f97e99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 17:03:30 2013 +0200

    Use rpmdbIndexIteratorNextTd() for python binding key iteration
    
    - Makes non-string types returned more correctly, eg installtid
      can be now returned as a number instead of mysterious binary blob.

commit 3667f34d0e7e277fdf12329df3c52f963146653a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 17:00:52 2013 +0200

    Make rpmtd_ItemAsPyobj() usable within the python bindings
    
    - Needed for the next steps...

commit f1f40c656d56f3bfae6d7d6a658f6a18447ce6ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 16:53:41 2013 +0200

    Add an alternative rpmdb index iterator function
    
    - rpmdbIndexIteratorNextTd() returns the key via rpmtd to allow
      nicer access to the data regardless of its type, strings are
      \0-terminated etc.

commit b5e3e1efee28ce0a4bb5e9eae6740d4422f75f1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 13:56:33 2013 +0200

    Eliminate built-in selinux support. RIP.
    
    - We hereby unceremoniously declare that from now on, SELinux and
      other similar mechanisms are to live in plugins, rpm doesn't need
      to know about every possible security etc mechanism there might be.
      Its a big commit but as its really just removals...
    - We need to disable sepolicy collection plugin for now as it relies on
      built-in support for selinux, this not only makes no sense but
      wont work now that there is no built-in support. The sepolicy
      plugin needs to be merged into the selinux base plugin now.
    - Another "breakage" is that --rebuilddb no longer relabels the database,
      this needs plugins to called in a place where they currently cannot
      be called. This needs to be resolved before next actual release.

commit 03a35e0759f378729e42cc8fa42c5f6b471b3ac7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 13:37:18 2013 +0200

    Add missing <stdlib.h> include to dbiset
    
    - This has gotten masked by selinux headers getting pulled in through
      system.h, ugh.

commit 301daabe7838140e891cacfa436c8846d8fcb23c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 13:07:10 2013 +0200

    First cut at selinux plugin to replace the in-core selinux support
    
    - This obviously clashes with the built-in selinux support, but
      we need to have something in place before the built-in version
      is axed so...

commit 91b04815c20358087ab62de20202ace286ee62cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 12:26:34 2013 +0200

    Add fsm file prepare plugin hook
    
    - This gets called after a file or directory has been unpacked and
      its permissions etc set, but before it gets moved to final location.
      Because of that we need to pass two paths: current path and final
      destination (which can be different or the same). Final path
      can be needed for looking up labels from system policy etc.
    - Currently this is only called for installations, but eventually
      should be done for erasures too in case plugins want to strip
      permissions similar to removeSBITS() etc.

commit c4b6a07fa9bf4f769cea02e7da432642faa94d84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 12:21:20 2013 +0200

    Replace separate action + type to plugins with single rpmFileOp argument
    
    - Plugins are the first to get the taste of the new-style file actions,
      core rpm to follow at some later point...

commit fdb9b9e902d280bb075ad071e46aa81258c0ac16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 12:14:24 2013 +0200

    Preliminaries for turning fsm file actions into more of a bitfield
    
    - Introduce rpmFileActionFlags enumeration for carrying additional
      flags associated with a rpmFileAction. For now the only flag
      is "unowned", more are to follow later.
    - Add new rpmFsmOp type which is a combination of rpmFileAction
      and rpmFileActionFlags + macros to get the action and flags halfs.
    - Creating new types instead of just sticking them at the upper half of
      rpmFileAction to allow indicating the type of data to be expected
      in the API. For now this stuff is solely for the benefit of plugins so
      hiding them in the non-public rpmplugins.h header until the
      situation clears up and stabilizes: rpmFileAction is a funky mix of
      what should be separate enumerations (eg state and action) + flags,
      but to avoid having to change all that at once...

commit f1d14db46d8edf2a44e2db5bd5a4ad030768aec1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 21 08:45:36 2013 +0200

    Explicitly enumerate our file actions
    
    - Makes it easier to see how many bits the current stuff is using,
      no functional changes.
    - Document FA_COPYIN and FA_COPYOUT as obsolete and unused

commit 909aab0916ef851ea78df4dbd7bd8c9d2045c7ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 12:50:48 2013 +0200

    Add test-case for explicit file conflict variants
    
    - Three-way tests for explicit (aka manually added) file conflicts:
      conflict within added set, and conflict in transaction <-> database.
    - The problem message rpm creates for the third case is pretty bad,
      it misses the fact its on an installed package and gets the name
      wrong too. Better than not detecting though, and the message has
      been broken for a long time so not related to the recent other
      changes.

commit 35cf3112f12d30660614258183a6cbf2e0fbf953
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 11:49:35 2013 +0200

    Add a file to the dependency test-case spec
    
    - To be able to test file-dependencies it needs some files too...
    - Adjust dependency problem verify case to avoid looking at files
      (user+group will always be wrong in the test suite). So it actually
      serves as --nofiles testcase now too.

commit 70013c4144a3c04678143c326f7135e775ec4ccc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 20 11:35:15 2013 +0200

    Plug another hole in conflicts and obsoletes handling
    
    - Handle multiple "providers" in self-conflict and -obsolete cases:
      we need look up all matches in the added package set, otherwise
      if a self-conflict (or obsolete) is also a conflict (or obsolete)
      in some other package in the transaction, this could previously
      fall through unnoticed.

commit 46edce686a5949179c4f6eee18b41e761b53ae49
Author: Michael Schroeder <mls@suse.de>
Date:   Wed Mar 20 09:29:58 2013 +0200

    Check for file conflicts in installed packages
    
    - Rpm checks that a conflict in the new package is not satisfied by an
      installed file, but it ignores when a conflict of an installed package
      is satisfied by a file of the new package, eg
    
        Package A: Contains file "/foo"
        Package B: Has "Conflicts: /foo"
    
        rpm -U A.rpm, then rpm -U B.rpm results in:
        error: Failed dependencies:
            /foo conflicts with B-1-1.i586
    
        rpm -U B.rpm, then rpm -U A.rpm will work.
    - Use an IndexIterator over RPMTAG_CONFLICTNAME to create a hash with
      all of the possible file conflicts to speed things up.
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 6ade7f5c854c977e3bdab956b00ef1d3b593953a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 15:37:16 2013 +0200

    Fix signal blocking/unblocking in rpmdbAdd/Remove
    
    - Whoops, on errors we might end up unblocking what wasn't blocking,
      (from uninitialized data at best) or return after blocking, without
      restoring masks. Fortunately these are just recent refactoring
      errors and not older stuff...

commit beb0ef9b8e5998ac93494ffea56b43cd02cdce8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 15:31:12 2013 +0200

    Oops, forgot to remove merge.c from POTFILES.in
    
    - ...perhaps because it shouldn't have been there in the first place
      as there's absolutely nothing to translate in it. Oh well...

commit 75130f679192a3626747403e76ba68fdf0526da5
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 8 12:35:47 2013 +0100

    Add support for querying for package name + version, release, arch to the man page. It only meantioned the package name before.

commit 946a9ff0b4c44a90ef68a2351bbd0f06580cf16c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 15:14:56 2013 +0200

    Use pkgdbGet() for rpmdbNextIterator() inner loop as well
    
    - Eliminate a whole lot of redundant shuffling around with local
      variables, many of which aren't actually even used.
    - Eliminate mi_keyp and mi_keylen, these aren't used for anything
      but RPMDBI_PACKAGES locked on single instance. For that task,
      storing the instance number in native byte order is far more
      useful and handy, do so...
    - The rest is simply calling pkgdbGet() with right arguments: on
      single-instance RPMDBI_PACKAGES iteration, mi->mi_keyoffset holds
      the key we want, otherwise its 0 in which case pkgdbGet() returns
      the next blob on the cursor + its offset.

commit b83a658fc2692b349b652120bbe414b9978a8a6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 12:59:14 2013 +0200

    Put a bit of distance between BDB and header blob retrievals
    
    - Hide away the BDB specific stuff behind a wrapper get API,
      replacing the inline version in rpmdbNextIterator(). The pkgdbFoo()
      functions take hdrNum in host byte order so we dont need to
      calculate that in rpmdbNextIterator() for the data coming
      from index sets now.

commit 96b4dcc07f851d0bdc98fe1c13815dd2cbf1e4f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 12:20:12 2013 +0200

    Put a bit of distance between BDB and the package db operations
    
    - Hide away the BDB specific DBT stuff behind a wrapper put/del API,
      use for all Packages db write operations. This doesn't seem that
      sensible as long as this all lives in rpmdb.c but we need to
      limit the BDB exposure before we can move stuff elsewhere...

commit 4932b055859f7fb0327798e324b9e1f95844e63e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 11:47:14 2013 +0200

    Push BDB specifics on iterator rewrite to more local scope

commit cd44079646662193fc5b3269de11ed5d14ea1e63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 11:42:04 2013 +0200

    Allow passing an open cursor to updatePackages()
    
    - Create a new cursor if the one passed is NULL, otherwise use
      the one we got passed. This will allow using updatePackages()
      for iterator rewrite as well.

commit f19d6d5c22af0bdadfe16a8c9471120f3d24e566
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 09:40:00 2013 +0200

    Rename dbiGetToSet() to indexGet()
    
    - This is the primary interface for getting data out of indexes,
      renaming for consistency with Put and Get methods.

commit da8de0f7e716a18dedb190b30b5b636208d1f9ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 09:39:14 2013 +0200

    Handle "get all index entries" case in dbiGetToSet() too
    
    - Just as easy to handle it in dbiGetToSet() as it is in
      indexIterInit() and eliminates another point where we need
      actual cursors, bringing us again that little bit closer to
      abstracting out BDB from the main rpmdb.c layer

commit 756ca45207e50b7501cfd723266bc0a5ff676692
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 09:38:41 2013 +0200

    Dont bother reusing same db cursor for dbiFindMatches() calls
    
    - In theory, might be marginally slower but the whole label guessworks
      is quite pathologica to begin with, probably makes no difference
      whatsoever. Besides this avoids having two cursors open
      simultaneously, but probably makes no difference either.
      More importantly this brings us one step closer to having just
      one "get" API for index data.

commit 2b308a308826058a71b471da7e2bdc3931e8ab16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 09:02:41 2013 +0200

    Add dbiIndexSetAppendSet() for appending a set to another, use
    
    - Just reducing the number of direct dbiIndexSet manipulations from rpmdb.c...

commit b916f6102392c156fd7597ab0f42e1475e42178b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 08:49:52 2013 +0200

    Add dbiIndexSet "constructor" and use it instead of manual xcalloc()

commit 43769851322c769593e1c1076f374d72dabf7999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 08:38:41 2013 +0200

    Lift dbiIndexSet manipulation out of rpmdb.c to its own unit
    
    - At least initially we're likely to use dbiIndexSet as an unifying
      API between possible alternative backends, so this needs to
      be available outside rpmdb.c.

commit 50580c91d0ea4cee950bff93649b0f663c4709b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 08:37:58 2013 +0200

    Rename dbiGrowSet(), dbiAppendSet() and dbiPruneSet() for consistency
    
    - Change them all to dbiIndexSetFoo style, no other changes

commit 7c8faacf0dcd670ec8d138452d69c89f831397fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 19 08:20:20 2013 +0200

    Remove bundled mergesort() copy, use one from the system if available
    
    - The mergesort() implementation we've carried all this time (even if
      not compiled in when glibc is used) is one with the nasty BSD
      advertisement clause, ugh. Better remove it late than never,
      but let systems having mergesort() in their system libraries
      (such as OSX) use it instead of qsort().

commit cc5fed25e2b0501148a566279fa9f565f299b023
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 13:16:25 2013 +0200

    Clean up dbiFindMatches() error handling
    
    - No need to further translate dbiCursorGetToSet() errors anymore
    - Comment and clarify the early success/fail return cases, and
      make them go through a single exit point.

commit 7ce29e9a4f61cdfb07f82ed515bf882ab844407b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 13:07:08 2013 +0200

    Translate BDB errors into RPMRC values in dbiCursorGetToSet() already
    
    - All the callers eventually end up translating them to something else
      anyway, might as well do it at the source already, update callers
      accordingly.

commit eed1b7caf2e5c918e25f8b1a8b753699e52f9861
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 18 12:55:19 2013 +0200

    Return rpmRC values from rpmdbFindByFile()
    
    - dbiFindByLabel() returns RPMRC values already, making this more
      consistent. This is not entirely correct as dbiGetToSet() will
      return something else currently but the indexIterInit() code
      only cares about zero vs non-zero so that's ok for now.

commit aa8979f4d1cd5ad5b2c69135595d90489e039817
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 12:34:58 2013 +0200

    Make sure PKG_CONFIG_PATH is set according to target libs
    
    - pkg-config isn't multilib-aware by itself so things fail when
      building packages for secondary archs (RhBug:212522)
    - A variant of this patch has been in Fedora and RHEL for quite some
      time, but they used to just brutally override whatever might
      have been in PKG_CONFIG_PATH, which can break things in a custom
      setup (RhBug:569773). Append instead of full override.

commit c6c726d084f2424b1b70eb01a65fa4dfa39a9e62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 11:20:41 2013 +0200

    Eliminate last "use" of FA_COPYOUT
    
    - This used to make a difference back in the days of the strange,
      erm, state machine, but now on package generation only skipping
      matters, if even that.

commit 3ae4e4087e48e0bbfbafe5c9948bdcbc5fe1c63e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 11:15:25 2013 +0200

    Revert "Pass pointer to the whole stat structure for file pre/post plugin hooks"
    
    - Oops, this is broken in more than one way. Revert and rethink.
    - This reverts commit 354c00ba7558e2dd78dd6f5906d3ba3e4c41e74a.

commit 354c00ba7558e2dd78dd6f5906d3ba3e4c41e74a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 09:21:57 2013 +0200

    Pass pointer to the whole stat structure for file pre/post plugin hooks

commit 17267e06ac3cab69028ea566c9bc099eb98d3006
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 09:08:48 2013 +0200

    Fix memleak in fsmCommit() in case fsmBackup() failed
    
    - Only bother constructing destination if backup succeeded, eliminating
      the need to otherwise deal with freeing dest in case something
      went wrong.

commit 23deed9d2fc8b3321917c43214bb20e7a9c3a4c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 08:50:28 2013 +0200

    Move file metadata setting earlier, out of fsmCommit()
    
    - For now this is more of a conceptual change than anything concrete:
      commit consists of nothing but renaming the file into its final
      destination (and doing a backup if needed).
    - The way hardlinks are seen changes a bit though, due to the way
      rpmPackageFilesInstall() works this will only get called for
      the real file after it was created and never for hardlinks. We
      couldn't use st_nlink in rpmPackageFilesInstall() anyway as
      the link count hasn't been adjusted there yet so its the total
      number of links a file will have (coming from cpio).

commit c834dc063b45949e5a3a479b7b96f7df487178d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 15 08:16:23 2013 +0200

    Refactor file metadata setting out of fsmCommit()
    
    - Doesn't change anything as such, just preparations for moving
      metadata setting to occur earlier. Because of the next steps
      we're (re)calculating the final path in fsmSetmeta() instead
      of passing dest as an argument.

commit cabfed84aa832644c3617e8a413dbce2647d9bdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 17:35:28 2013 +0200

    Move utime() failure filtering on directories to fsmUtime()
    
    - Just makes the metadata setting code cleaner when the special
      cases are handled in the specialized functions.

commit 2fc8ea8baa2952bb5a5d3a678e54372f20bf9d8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 17:30:13 2013 +0200

    Handle lchown() vs chown() centrally in fsmChown(), axe fsmLChown()
    
    - Having two nearly identical functions with debug goo and all makes
      no sense here. Pass mode to fsmChown() and call lchown() or chown()
      as appropriate, eliminating a bunch of redundant code.

commit 7d0ad9dce295d7b49b861145bda245724ebe9602
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 17:16:12 2013 +0200

    Use a separate condition for doing chmod()
    
    - Symlinks are the only special case where chmod() is not meaningful,
      explicitly test for it for clarity.

commit 5d5b3a7378d26c7043ff497df0bd2a902fcc2e43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 14 17:14:06 2013 +0200

    Only regular files can have capabilities
    
    - Previously it was, in theory, possible to try to set capabilities
      on devices. Explicitly test for regular file for clarity.

commit 77340155408616f5fa796ffa3cc44ab16d7f979d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 11:39:00 2013 +0200

    Use lutimes() instead of utimes() on systems that have it
    
    - This makes symlink timestamps reflect build-time instead of
      installation time, similarly to everything else. On systems that
      support lutimes(), that is.

commit b61a09f31b35ab6082efea268c13d53f3d44a9b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 11:34:27 2013 +0200

    Move the logic to skip symlink timestamps to fsmUtime()
    
    - Pass file mode to fsmUtime() and skip calling utimes() on symlinks.
      This allows systems where symlink timestamps can be set to be
      dealt with nicely in one spot.

commit 324e16726ce0a5311224e4e47d7bd0d40fddd672
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 11:26:00 2013 +0200

    Use utimes() instead of the obsolescent utime() for setting file times
    
    - We dont have or care about microsecond precision, but this is the
      more modern interface ... and on some systems there's an equivalent
      that allows symlink timestamps to be set, but no such equivalent
      exists for utime()

commit d203db9e9bb46dd6c541a2e2e9d64394ffa5617d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 10:32:39 2013 +0200

    Determine the need to set file/dir permissions in fsmCommit() by st_nlink
    
    - When committing hardlinks, adjust st_nlink to "this is the n'th
      link to this file" value instead of passing the total number of
      links it'll have. This way we dont need a separate tracking variable
      for whether permissions should be set or not, and plugins will
      also have a reliable way to determining whether they're looking
      at a hardlink or the actual file: on install we fake it, on erasure
      it comes naturally from the stat() on the file.

commit 53df8f68dbb719feef4efd46a1a926f246ac13c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 09:56:39 2013 +0200

    Use link order to determine setmeta need in fsmCommitLinks()
    
    - Doesn't change anything in practise, just a different way of
      achieving the same thing. We'll be taking advantage of this
      shortly though.

commit 5fca379f4f1b81bf08e54afc4a1793819426d673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 09:50:49 2013 +0200

    Pass stat struct pointer as argument to fsmCommit*()
    
    - Avoids having to declare the same helper st pointers all over and
      makes it that little bit clearer what data is being operated on

commit 0dd22bf80659eab7adbfe113688c077499320bc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 09:30:46 2013 +0200

    Set file permissions before renaming it to final destination
    
    - This eliminates a case where thing can entirely unnecessarily break
      on live updates if you're "lucky" enough to do something in the
      tiny window of time between rename of a file and fixing up its
      permissions. Perhaps more importantly, this avoids overwriting
      any existing files in case where we fail to set the permissions
      at all.
    - For regular metadata the physical path of the file is unintresting,
      but for selinux label lookups we need the destination path
      separately, hence the previous commits.

commit bfa0f5c728ffae9dfcddb9a465e10f3ba865e861
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 09:24:56 2013 +0200

    Pass destination path as a separate argument to fsmSetSELabel()
    
    - Doesn't make any difference yet, but will be needed for next steps...

commit addfddccd865799faaedb8ba7a8e1579f7c41f0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 09:14:34 2013 +0200

    Constuct destination path earlier in fsmCommit()
    
    - Doesn't change anything, but necessary for the next step...

commit d49ad94fd74a13331945b334d934d0cfb64bdfd3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 13 08:57:13 2013 +0200

    Make struct stat pointers const in (some of the) obvious cases
    
    - fsmCommit*() and saveHardLink() never modify the stat, make this
      more obvious with const. Change all the related accesses go
      through the pointer instead of &fsm->sb. Doesn't change functionality
      but opens possibilities of passing st as an argument.

commit c1f49abe0b59181c871d6e54a31f4483ce9d4897
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 17:29:18 2013 +0200

    Lift secondary index updating out of rpmdbRemove()
    
    - Similar to commit 2139babf96daa90ad6834b6c04cf038152be8141,
      dunno why I didn't do this back then as well. Seems straightforward
      enough, supposedly no changes (but knock wood...)

commit a70ce07466d83f4af875d65a83bc70352c7b745d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 17:05:59 2013 +0200

    Rename addToIndex() to indexPut()
    
    - Towards more consistent and perhaps saner naming

commit 656459ba441688658ad34d31ece430b5ecbd2e44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 15:37:56 2013 +0200

    Add crude --exportdb and --importdb operations to rpmdb utility
    
    - Exportdb simply dumps all the headers from rpmdb into simple header
      list which is about as rpm-native and backwards and forwards compatible
      format as they come. Importdb obviously, well, imports such a
      list into rpmdb.
    - Both require transaction handle: we dont want anybody running
      transactions while exporting, and importing obviously requires
      write-locking.

commit c6e84b898196bf832a0443c8aeeb8fd688e27bfd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 14:53:56 2013 +0200

    Take advantage of rpmtsImportHeader() in pubkey imports
    
    - This makes pubkey imports guarded by transaction lock, previously
      they relied on rpmdb locking which is .. well.
    - We grab the transaction handle as the first thing on entry: if
      they key happens to be already imported then this is "unnecessary",
      but if we only get the lock later then somebody else might have
      imported the same key and we end up with dupes anyway.

commit 7c4b014e20c5d398b7b61e1b562416a84cf9c77d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 14:37:06 2013 +0200

    Add a public API for importing "detached" headers into rpmdb
    
    - This is what rpmtsImportPubkey() does anyway, and database conversion
      utilities will need it too. This is just a lock-protected
      rpmdbAdd(): the caller is required to explicitly request a
      transaction handle to guarantee just one transaction at a time.

commit bec9449c3bade0259306e367b107549662ed99f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 13:40:53 2013 +0200

    Fix segfault on close of non-open rpmdb
    
    - Regression introduced in commit 690d31b1c67707dcbf15be3a3202759471b3476b,
      dbiForeach() checks for NULL but dbiClose() doesn't.

commit cd9d401e90557fd1feb477b2d0d5c673c754d4ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 13:10:38 2013 +0200

    Export rpmtxnBegin() and rpmtxnEnd()
    
    - This allows API users to lock the transaction from other players
      long before entering rpmtsRun(): for example depsolvers first do
      calculations based on the rpmdb, download packages and only then
      start the transaction. We dutifully waited for others to complete
      on the ts lock inside rpmtsRun(), but those others could've
      invalidated all our prior calculations so continuing was potentially
      hazardous even. There are other uses too, we'll get to them
      eventually...

commit 3b9885ea51aacbae3b65cafde1632e1d733df226
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 12:58:04 2013 +0200

    Move transaction lock handle to transaction set centrally
    
    - Separate lock object creation from lock acquisition: lazily (try
      to) create the lock object from rpmtxnBegin() if it doesn't
      already exist, otherwise rpmtxnBegin() and rpmtxnEnd() just
      acquire and release the lock. After all this trouble, we can
      actually nest transaction locks. At least in theory ;)

commit 159485f4e707ec160d76430d9b315d8055fa8088
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 12:46:30 2013 +0200

    Introduce transaction begin/end API on top of rpmlock
    
    - For now this doesn't do anything particularly interesting, it
      just replaces the transaction lock handle we use internally.
      We want to export this interface but that needs further changes.

commit 4d0e7f78dcbee5121c2481fd39df30892317f528
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 11:53:13 2013 +0200

    Make rpm locks reference counted to allow nested locking
    
    - Note that unlike our "normal" refcounts, this counts references to
      the file descriptor itself: an open descriptor is one reference,
      and acquired locks are on top of that.
    - This also moves the NULL checks to the external interface, we
      need to NULL-check there anyway so there's no point rechecking
      in internals.

commit 87188275ad1f484795051e6ddeb4f2b5de5971d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 11:12:35 2013 +0200

    Export rpmlock release method internally as well

commit 47b9d60cb340cf58e95f19483391fe14669dcd28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 10:44:54 2013 +0200

    Allow separate lock object creation and lock acquisition
    
    - Split rpmlockNewAcquire() functionality into separate
      rpmlockNew() and rpmlockAcquire() functions, implement
      rpmlockNewAcquire() using the two.

commit f7fcb72c07634dd2a2cc67c99d0934899443c527
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 09:54:12 2013 +0200

    Rename rpmlockAcquire() to rpmlockNewAcquire()
    
    - This is a lock constructor that we might want to keep around,
      but we'll also need to be able to separate new + acquire steps,
      so just making room for that...

commit 94d741b6b537ce00ce48d650e7c32aee59107812
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 09:43:52 2013 +0200

    Remember rpmlock path and description in the lock object

commit 172c1581ef770af4c24f71af24169c18b7d0c41d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 11 09:23:49 2013 +0200

    Make rpmlock flags available internally

commit 3821553a460b644e6b4135005eff4467f817341c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 14:34:08 2013 +0200

    Eliminate rpmdbOpenIndex(), use specific db/index open calls instead
    
    - Concrete functionality doesn't really change here, but this makes
      it more explicit what kind of db handle is accepted and used
      in each case: for example previously it was possible to open an
      index iterator on Packages which does not work and returns garbage,
      this should now return an error instead. Similarly extend iterator
      etc only are appropriate with indexes, this forces the issue.

commit 6dbffd6fbfbe3da129a642946233037ec803121a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 14:09:48 2013 +0200

    Move error handling to the specialized db / index opening functions
    
    - Looks like code duplication for now, but required for eventually
      breaking the ties between packages db and indexes

commit 690d31b1c67707dcbf15be3a3202759471b3476b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 13:54:52 2013 +0200

    Separate packages db from the indexes
    
    - While they all are implemented on key-value BDB store currently,
      on the higher level packages and indexes are (obviously) fundamentally
      different. Again this shouldn't change anything as such, just
      further steps towards abstracting the low-level backend from
      the rpmdb level.

commit d1b5164be23f56fddbbc6156350afd11177e6b84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 13:42:06 2013 +0200

    Lift db tag index rename + permission restoring to helper function
    
    - Doesn't make much sense now but we'll need this too shortly

commit b7cd81529a932cab2a95d95e5af02d78de251a2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 13:31:34 2013 +0200

    Lift db tag index unlink to helper function
    
    - Doesn't make much sense now but we'll need it shortly.

commit 6f4104620681e6de68ea8b2abb80bfd250039de3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 12:04:54 2013 +0200

    Use the per-db tag data for all accesses
    
    - Bury dbiTags inside newRpmdb() to force everything to use per-db
      data to eliminate dependencies on globals.

commit 9419953df21ee99964ee14a8ca244bf35ca4b256
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 11:55:40 2013 +0200

    Use a non-open db handle for finding filenames in db move and remove
    
    - Create a db handle without opening it for the purposes of figuring
      out which paths belong to us when moving and removing databases.
      Shouldn't change anything, just steps towards removing dependencies
      to global data.

commit cffe636b588caa471b05fed6a2563473defc97aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 10 11:28:21 2013 +0200

    Remember dbi tags and their number in the rpmdb struct
    
    - Not used for anything yet, just prerequisites for next steps

commit 8623a7cbffff2d25bca6127d0163389719a3beda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 9 19:00:52 2013 +0200

    Refactor package and index handle opening to separate functions
    
    - These differ a fair bit, so besides paving way for next steps
      this makes the code somewhat easier to follow.
    - rpmdbOpenIndex() is now mostly just a dumb wrapper that can
      be eliminated later.

commit 9308c5118b7216624e9f2dc597dfea628b9cf39a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 9 18:20:51 2013 +0200

    Change db index open to return an error code and dbi through pointer
    
    - Some places dont care about the actual dbi, in others this
      just makes things more simple, and this allows us to return
      more meaningful error codes than just success/fail.
    - This shouldn't change anything, except for a couple of additional
      error checks but these should be "can't happen" cases.

commit b3b1e4bc8078c0fc7465a6d432dcbf1c50d0a1cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 9 14:00:45 2013 +0200

    Refactor package and index iterator creation to separate functions
    
    - As it happens, these two cases have actually fairly little in common.
      Besides paving the way for next steps, this actually makes the code
      easier to follow.

commit ea3fa1513f5f8346d9f282a99a6d69088afd10b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 14:45:36 2013 +0200

    Make sure /var exists created in the test-suite root
    
    - Rpm installation only creates /var if configured in specific way,
      but the test-suite relies on /var being there. Ensure its always
      there regardless of how rpm was configured.

commit 9e918abb4c6d577f3aae2a1a1abd0f4e67f2d151
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 14:07:11 2013 +0200

    Sanitize the hardlink test size thing
    
    - The previous "echo $0" got actually expanded to the temporary
      build-time script name, something like /var/tmp/rpm-tmp.UtGhG1,
      which isn't what we're interested in, and depends on rpm
      configuration so can easily cause false positives. Just use
      %{name}-%{version} to get stable content.

commit ec00b3f02e3caab77849338bdb6422bf6ab7c306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 13:29:27 2013 +0200

    Force known _tmppath during test-suite non-chroot builds
    
    - Rpm might be configure'd with a _tmppath that isn't writable
      or even existing on the build-host, force our testing tmp directory
      to be used for package builds which cannot be executed within the
      test-root.
    - Fixes a few false positives in the test-suite by making it less
      reliant on the configuration of the built rpm and build host

commit 62e73943576acf19d212cac4f54b8c449c69531b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 13:17:21 2013 +0200

    Avoid relying on filesystem macro values in test suite
    
    - The test-suite expected results are hardcoded, so we can't rely
      on rpm-defined macros as those reflect rpm's own configuration
      which could be something entirely different than our expectations.
    - Fixes another big pile of false positives in the test suite

commit ccd6281e699781e0b00edb16b6e9f4dec6878c15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 6 12:50:24 2013 +0200

    Main macros needs similar sed-love on install as platform macros
    
    - Autoconf leaves things like @localstatedir@ unexpanded at build-time
      on purpose so the paths can be overridden during "make install".
      However this leaves %{_var} in macros in its unexpanded state
      unless --localstatedir is explicitly passed in, which does not
      work very well for rpm.
    - Process the main macros file through the same meat grinder as
      the platform macros. Ugly as sin but... it brings the casual
      "./configure; make; make check" sequence much closer to working.

commit 96bcbca9b10e635f5e77868ae55fd7497ea5c630
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Mar 5 21:52:36 2013 +0100

    tests: Make sure testing/usr/bin exists and to copy data from srcdir.
    
    When srcdir != builddir the data has to be copied over from the srcdir.
    When any of the required progs comes from /usr/bin then there also needs
    to be a usr/bin under testing. Just use the same symlink as for testing/bin.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit dd0ea43f14a0cf52b654df2886ac2d68d32e069a
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Mar 5 21:31:06 2013 +0100

    Fixup find-requires linking for srcdir != builddir.
    
    When configuring with srcdir != builddir the find-requires link would fail:
    ln: failed to create symbolic link './autodeps/find-requires'
    
    Do the link in the same way as find-provides with an explicit ${srcdir}.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 51dad76334c1916f7078d18288285e8e89ca037c
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Mar 5 20:35:19 2013 +0100

    Require dbus >= 1.3 for DBUS_TYPE_UNIX_FD usage.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 0bb2442353b1a4312f5ac7424c5567cbe634d58a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 15:00:41 2013 +0200

    Unify gzdio error handling into a helper function

commit 547a004b7e1e9e5a5d6cc04ce0539242bff5e592
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 11:56:53 2013 +0200

    Change fd stack to use linked, individualy alloced elements
    
    - This actually makes the code a good deal simpler than the former
      "simple" array-based stack. Besides that, this moves things into
      direction where we could have properly opaque per io-type objects.
    - Fclose() is still trickier than it should be due to statistics
      and whatnot...

commit 1fe15033705a36628378c75eb6b50ea14998103d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:58:03 2013 +0200

    Clean up lzopen_internal() error handling
    
    - Return NULL instead of 0 on errors for readability
    - xcalloc() cannot fail so there's no point checking for it

commit 8330a9ef6ecf9fbdbfc0917705b5a2bc3aab7718
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:55:35 2013 +0200

    Eliminate redundant lzma/xz helper functions
    
    - These dont make the code any easier to follow, more on the contrary...

commit 40afde032409cc3cf0ef781af263d224d798f796
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:49:45 2013 +0200

    Remove now reduntant path argument from lzopen_internal()
    
    - This was "used" by lzdOpen() and xzdOpen(), only those were not
      actually used by anything so...

commit 05aba9df4cab11ab851fb0ad1a8776e7ced44083
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:33:49 2013 +0200

    Eliminate broken and redundant error checks from io _fdopen() methods
    
    - fd, fmode and fdno are already checked for in Fdopen(), no need
      to bother here. In addition, previously if the compressed open
      failed we probably leaked the fd as we had already set the underlying
      fdno to -1.

commit b9fab00acf491088151fd3213332482a004ae9c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:20:29 2013 +0200

    Pass the low-level fdno to io type _fdopen() methods
    
    - The fd number is what they really want in the first place,
      avoids having to do the same thing everywhere over and over

commit 05e16ab025d96ab549d4a85b051cfeed2542959b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:11:40 2013 +0200

    Io stack doesn't need the parent fd anymore

commit 872fce098a56e81d4e3ebbc2e66f7d3316acd51d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 09:07:03 2013 +0200

    Sanitize compressed io close error handling
    
    - The fd will be nuked on close anyway so there's nothing we can
      do to preserve possible custom errors from the compressed types.
      Just return return -1 on errors in case somebody cared.

commit f51968d7e131b67430d1ed5ec2e058fa3f3e2267
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 08:58:28 2013 +0200

    Print fd debug stats for compressed types centrally on close

commit f6139dbd6f49505e310871d03a2627f6fb3cfd1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 08:48:09 2013 +0200

    Move fd refcounting from io methods to fdPush() / fdPop()
    
    - One less thing for each and every io type to do...

commit cc3075b9640b1fa0f445017b944ecefbeb0c94ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 08:26:49 2013 +0200

    Clean up / sanitize Ferror() a bit
    
    - There's no need for double error codes here, just break the
      loop on first error we encounter.
    - Now that fdio/ufdio error reporting is sane we dont need any
      specially broken tests to avoid errors from fdno being -1

commit 6bbf0f40f44ff39740ae9c9f7678dd1c6257d928
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 08:18:41 2013 +0200

    Pass the underlying file descriptor as argument to fdNew() already

commit e794f1146f5286c80714a42a97d51c8e39af5eae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 08:10:59 2013 +0200

    Grab io vectors directly from the stack we're passed

commit 40f3f415ea9d01e590f59ec5cbc6a8e216c79a19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 07:52:35 2013 +0200

    Pass current fd stack to lower level methods, part IV
    
    - Move the error tracking variables to the stack, doesn't make
      much difference now but would allow for true per-iotype specific
      error systems if we had such a thing, and tracking errors
      in the stack they occurred.
    - Change fdio error methods to pass stacks around.

commit b1fe8479cac6a0ef755178b1150c1fd491be4925
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 5 07:36:31 2013 +0200

    Slightly less broken fd errors
    
    - Return syserrno for fdError() - it might be useless for now but
      that's still less broken than reporting errors on fdno -1, which
      can never be the case on non-compressed fd, and on compressed ones
      its always the case... Currently only compressed streams use
      syserrno but no reason we couldn't use it for plain fd too.
    - Return empty string instead of NULL from compressed stream errors
      when there is no error.

commit 8e1ca16c58d478dce53c232d8943124636658cee
Author: Mark Salter <msalter@redhat.com>
Date:   Mon Mar 4 12:30:16 2013 -0500

    AArch64 support v2
    
    Here is my updated patch adding AArch64 support. The main change was to
    use CANONCOLOR=3 rather than 2.
    
    --Mark
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit b58ebffa837744d4fc5993ab6bb1d902152f88b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 23:40:28 2013 +0200

    Pass current fd stack to the lower level methods, part III
    
    - Change fdio close and fflush methods to pass stacks around. A big
      pile of poop goes down with this particular flush...

commit 2bb55dcd51adc3162791dc718173c80ffa187b6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 23:28:07 2013 +0200

    Pass current fd stack to the lower level methods, part II
    
    - Change fdio seek and tell methods to pass stacks around with minimal
      other changes for now...

commit b4b5db455b76be33336fd647097d3e74e0bf6fcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 23:20:09 2013 +0200

    Pass current fd stack to the lower level methods, part I
    
    - The lower level io-type specific methods mostly really just
      want their own stack to get to their private data, rather than
      the fd (which is available through the stack now as well)
    - Change fdio read and write methods to pass stacks around with
      minimal changes overall. They all need to be changed but doing
      this in smaller pieces to avoid a humongous commit... Further
      cleanups + sanity to follow once its all been done.

commit 5305c364afc08a32f8a2a47f0bd1f66c3b361c8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 22:57:38 2013 +0200

    Add pointer to parent fd to the fd stack
    
    - Unused atm, will need shortly...

commit 28167e4ef23758e7cfc51c0e69de5883aebace84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 22:54:48 2013 +0200

    Grab a pointer to current stack and operate on it directly in fd push/pop
    
    - Having fd NULL-checked for each these calls makes no sense, and
      we'll shortly have more data in there + more uses for fdGetFps()
    - Doesn't change anything, just preliminaries for next steps.

commit df2373609a88db117b91f4b022861cc3aea837c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 22:30:37 2013 +0200

    Eliminate yet more unused rpmio goo
    
    - The _ffileno() method has always been unused and doesn't really
      make sense anyway given how this stuff is structured, might as
      well just axe...

commit 25441048c51a68951121fe4c309d4716ed7b72a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 21:48:23 2013 +0200

    Cosmetics: change FDSTACK_[st] to generic rpm style
    
    - Whether good style or not, in general structs types have _s postfix
      and typedef pointers to them have _t postfix.

commit 25713aafdd25024960bf47e58222f0dc7cf20e68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 21:37:05 2013 +0200

    Revert "Use separate fooFileno() functions for xzdio and lzdio"
    
    - Oops, the xz/lzma case was even more .. err .. creative  than I
      recalled.  Revert this change for now, this needs a different kind of
      approach to sanely fix.
    - This reverts commit af61b0d925e2ea4499d67738ca8aa2789b1c9ecb.

commit b49571586c9ed5723805a0d70eee1cd14c821a01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 21:12:54 2013 +0200

    Eliminate a whole bunch of unused rpmio code...
    
    - Despite all the io types dutifully supplying such a method, the
      fdio->_fopen() path is not (and has never been) used at all: the
      compressed streams get opened on top of a file descriptor opened
      by ourselves. So, lotsa code deleted, but no functional changes
      as this code has never been wired up anywhere.
    - There wouldn't be any particular advantage to using the path-based
      opening over the fd-based one anyway, and while we *could* use that
      as well, it would require jumping through extra hoops to support the
      current "ufdio open always" semantics, so we might just as well
      axe the lot. Bye bye.

commit 349f9444f3b6c34ddc993dc597511d8287129822
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 20:23:03 2013 +0200

    Simplify & clean up Fopen() a bit
    
    - Explicit fdio and unspecified type use plain fdio, everything else
      goes through ufdio for the open. Once we have the physical file
      opened, open the compressed stream on top if necessary. This doesn't
      actually *change* anything in here, just eliminates a whole lot
      of unnecessary cruft.

commit af61b0d925e2ea4499d67738ca8aa2789b1c9ecb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 19:38:23 2013 +0200

    Use separate fooFileno() functions for xzdio and lzdio
    
    - Now that we can, take advantage of iotFileno() for these too,
      eliminating yet another subtly-different-from-everything-else
      case. Of course the per-filetype fooFileno() vectors start
      seeming fishy and at least redundant now but...

commit 374d877e977d82173ef5f305abd8b5ec8b9c191a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 19:25:33 2013 +0200

    Umm... actually use the correct io type for lzma

commit a8f8d696f6f2b044c9b9760f2a7e9292c95efd2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 14:54:43 2013 +0200

    Generalize Fdopen() to work with any known io type
    
    - Add a function to find io type by its type- or "friendly" name
      and use that for finding the requested type in Fdopen(), which
      apart from legacy gzdio assumptions now doesn't need to know
      anything about our supported types.

commit b2e63607028066f5b57be010822075d79f628074
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 13:48:23 2013 +0200

    Add strerror method to io types, use it
    
    - Eliminate yet another place where we manually test for each and every
      known io type for no good reason at all. As it happens we only
      need two simple handlers for these: one for non-compressed and
      another one for compressed types.

commit 1f3af32cdef991b6709f1d1eb88b7f0125e7b55a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 13:28:30 2013 +0200

    Add error method to io types, use it
    
    - Eliminate another place where we manually test for each and every
      known io type for no good reason at all. As it happens we only
      need two simple handlers for these: one for non-compressed and
      another one for compressed types.

commit a59ceaf127f96ba6fc82e893c1d960a82d5957f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 13:02:56 2013 +0200

    Generalize fdbg() to work with any rpmio type
    
    - Plain fd types dont have a special _fopen() method so we can use
      that to determine the kind of message we want to spit out, eliminating
      the hysterical testing for each and every io type separately.

commit 8f94ad126f47941d5ef91b939bd03ffbf139ae08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 12:21:48 2013 +0200

    Add type name and "friendly name" to io type structures

commit b513f382fe22d2ce912ba575317ce474f96d0e3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 11:49:22 2013 +0200

    Actually use the fdopen method for, well, opening the fd's

commit c2e2a997de9969f5453b005eb2a53fd84e1b4261
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 11:32:35 2013 +0200

    Add "fdopen" method/vector to rpmio types
    
    - This is one of the things that *is* io-type specific yet there
      was no vector defined for it and so its manually coded in Fdopen(),
      pfft...

commit 3281828893153144acda2fea68a8603ba3304c84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 4 11:26:59 2013 +0200

    Eliminate unused and useless fd io method pointers
    
    - These are not used at all, perhaps because they make no sense
      to begin with... refcounting, underlying physical fd number
      and FD_t allocation aren't going to be io type specific.

commit 240de78f15cd0f3b59ca52f84d7063725ceadb8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 27 11:23:26 2013 +0200

    Avoid redundant metadata changes to hardlinked files
    
    - Hardlinks have shared metadata by their very definition, it makes
      no sense to keep resetting the metadata for all links we create.
      Only set metadata for first non-skipped hardlink in a set.

commit 8b4410614632b2ad27fe124df5f2791050e234ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 27 11:17:12 2013 +0200

    Refactor fsmCommit() a bit for next steps
    
    - Return early for the highly special case of /dev/log
    - Separate metadata (permissions, time stamps...) setting from
      the renaming part: rename is always required, but setting
      metadata is not (although we currently always do)
    - No functional changes

commit af925f6496875267be6ae8473b75088ec6e61bd2
Author: Elena Reshetova <elena.reshetova@intel.com>
Date:   Tue Jan 22 15:26:56 2013 +0200

    Adding FSM file hooks
    
    Two hooks are currently added:
    FSM_FILE_OPEN
    called after fsmInit() has been called for the file during installation or erase.
    FSM_FILE_CLOSE
    called after fsmCommit() for the file during installation or after file has been removed on uninstallation
    
    In addition FSM_FILE_CLOSE is called for each directory that isn't included in the package and was created by rpm
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit de39b295729c9f514a9f6dd0e6124dfd5662f522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 11:59:24 2013 +0200

    Eliminate the strange cptr_t "alias" for char *
    
    - Perhaps this had some kind of meaning for the ancient implementors,
      but that meaning has gotten long since lost in the sands of time
      and most likely no longer exists at all...

commit 30e457551a341ba35eb0031c7ade552f2ae8347e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 11:58:24 2013 +0200

    Eliminate the unnecessary rpmGetVar() wrapper function
    
    - Convert the sole user to use rpmGetVarArch() instead...

commit ebe7b1c83a89998891d9fe4bbe1ffdaabeadf2fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 11:55:59 2013 +0200

    Meep, forgot to acquire locks for rpmFreeRpmrc()
    
    - While adding the outer locks before converting all of internals
      is easier here, it makes it also easier to forget places since
      its not actually forced :-/ oh well...
    - Should've been in commit 2870caa14cf084547612dd63153bef9b55fe9e09

commit 2870caa14cf084547612dd63153bef9b55fe9e09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 11:07:14 2013 +0200

    Introduce rpmrc context object, use for locking at the outer API
    
    - Similar to the context object in rpmlog, hide the global context
      behind a function call to force controlled context acquisition.
      We're going in the opposite direction here (because its simpler in
      this case): there's nothing but the lock in the context now.
    - Acquire and release the context on entry to public API
      entry- and exit points, this should be enough to guarantee basic
      safety (as in "does not crash and burn") wrt threads. Assuming
      there are no hidden writers behind the getter APIs...
    - For thread *sanity* all the umphteen globals need to go into the
      context which could be per-thread initialized but that's a longer
      story...

commit b36d4ae0cffa1efec0f32b511b25585b7fd2f81e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 10:55:15 2013 +0200

    Refactor rpmIsKnownArch() for locking friendliness

commit 4a093e4efb0f26d2f660b78f0d7dba984212b70b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 10:53:01 2013 +0200

    Refactor rpmMachineScore() for locking friendliness

commit 7e7564352b0c67e367b79285264b07aee5f0eb4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 10:41:18 2013 +0200

    Refactor single point of exit for rpmGetArchColor()

commit 2065033a08b08b6dcf2cb831e6c0c3206765edfe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 10:36:53 2013 +0200

    Use internal interface for OS and ARCH info in rpmrc.c
    
    - No functional change, just preliminaries wrt locking

commit c47e343aa96a33f6fb2b22732ea6d3ac4520c575
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 10:22:04 2013 +0200

    Refactor single exit point for rpmReadConfigFiles()

commit 6f76f4fa785f9c851eb098916a03a748f3b7afd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 20 09:06:48 2013 +0200

    Late evening hacking considered harmful...

commit 5b75e888584bd8c3bc8c6a2eccb3d7b5fa410f80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 22:26:01 2013 +0200

    Whoops, misread manual on pthread_rwlock_destroy()
    
    - Turns out "destroying the object and release any resources used by the
      lock" does not include *unlocking* the lock. How silly of me to think
      it would...

commit c192de5171d922f4724303d463e46865c9b10abe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 22:03:08 2013 +0200

    Really allocate strings dynamically in rpmcpioStrerror()

commit 0e0ec5bd9894531ad21a5341d3ee9ddcaacf008a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 21:55:24 2013 +0200

    Return malloced memory from rpmcpioStrerror()
    
    - This is unlikely to ever run into threads, but returning a const
      pointer to a static buffer is sooooo last century...

commit 8002b3f98543729fd4544545c055476f2f88a210
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Feb 16 20:29:33 2013 +0200

    Spelling fixes.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit c306442be228360ac0c051de27bf0c18eec8f21f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 19:01:43 2013 +0200

    Eliminate hysterical static variable for relocation debug messages
    
    - The static _printed tracking meant that the debug spew would only
      be printed out for one package per process lifetime, regardless of
      how many relocated packages there might be. rpmRelocateFileList()
      will gets called twice for every relocated package within a
      transaction, but then this is debug-only output to begin with.
      When debugging we can live with a little extra spew...

commit 5f857c0c09f3768acde3946b4b97fe1fce7f74e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 18:13:23 2013 +0200

    Clarify the zero-padding "buffer" use in rpmWriteSignature()
    
    - This is not a buffer where anything gets written to, its only
      used as a source for writing zero-padding into signature headers.
      Rename to "zeros" and make it const which it is.

commit f52b2821c821c75178d15a8e7bc5fc31ea96bbb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 17:58:49 2013 +0200

    Make "now" non-static, there's no need for it to be that way
    
    - This makes "now" be "now" on "package query started" than
      "some arbitrary point in process lifetime when", which could
      in theory be arbitrarily long in the past. Which should be
      a sane thing... and also avoids having to do pthread tricks
      for such a silly and cheap-to-call thing.

commit 9f0e1bbb5a26c6442df024c12703fb8a41c4ee0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 16:51:38 2013 +0200

    Add basic locking to pubkey objects
    
    - Keys are basically immutable and generally owned by the keyring
      which doesn't currently doesn't expose anything about the keys
      it owns... so there isn't perhaps that much need for locking,
      except for keeping reference counts sane. Under that assumption
      the keys are not locked from within keyring lookup and signature
      verification, as it'd seem the keyring locking is sufficient
      to keep our keys around during them. Just as well there might
      be holes in this theory but gotta start someplace...

commit 23e7ada136af2cc99adbc22b0d11e042cd736649
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 16:13:23 2013 +0200

    Add rwlocking to keyring for basic thread protection
    
    - While we're mostly interested in very limited thread-safety
      where objects need to be kept private to the owning thread, being
      able to share the keyring (from transaction set) seems desireable,
      so lets try at least...
    - Try to keep things as simple as possible: grab locks at the outer
      level functions, dont bother optimizing for write-lock avoidance
      in corner cases etc.

commit efc618107e2cf7b64379978505a3242bfebf8888
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 16:01:12 2013 +0200

    Refactor rpmKeyringAddKey() to eliminate an early return
    
    - No functional changes, just refactoring to make the code
      locking-friendlier

commit 20a79a7ac794a51a02916d2d4d70160797c586ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 15:35:10 2013 +0200

    Refactor pubkey destructor to eliinate Unlink() helper
    
    - Having a helper function to decrement an integer seems a bit much,
      but mostly this is preparing for thread protection where the
      unlink-helpers would just get in the way.

commit 4c7ee7383aca3105d69617ff5efb06bec68034ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 15:32:54 2013 +0200

    Refactor keyring destructor to eliminate Unlink() helper
    
    - Having a helper function to decrement an integer seems a bit much,
      but mostly this is preparing for thread protection where the
      unlink-helpers would just get in the way.

commit 97a37397c7ea6b993cca963781d63d1393986420
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 15:10:32 2013 +0200

    Initialize keyrings and pubkeys with refcount 1 directly
    
    - Returning through fooLink() gains us nothing, but would complicate
      things wrt locking: fooLink() will require locks, but object
      creation does not.

commit 96e0cdf34b1d4b40d6565d396016f74446bd4b5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 14:04:04 2013 +0200

    And finally, make rpmlog thread-safe ... mostly
    
    - Now that all of rpmlog global state is in the context hidden behind
      a getter function, adding the actual locking is remarkably simple.
      Alternatively we could use a per-thread storage for this, but
      for now we'll go with global, locked structure.
    - Add a reminder note about rpmlogMessage() - while grabbing the message
      from the global context is thread-safe in itself, the returned message
      is not as it points to the global context which could get freed or
      moved before the caller gets to see it.

commit ebf15b567240f8eb5a5c05961991cb8418bd8a0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 13:48:55 2013 +0200

    Move log mask into the log context, update callers

commit 5adcedeb44df3c414fbc50bf8df576d5be821595
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 13:43:29 2013 +0200

    Lift context acquisition and record-save logic to rpmlog() level
    
    - In order to move the log mask to the context, we need to grab
      the context early, which also means we need to figure out the need
      to save the record early to keep things simple wrt locking, pass
      the stuff around in arguments.

commit 85be6095c137c91c59bbdc9d2baa3983773525f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 13:33:19 2013 +0200

    Move log file stream into the log context, update callers

commit b534e59a3a58a6979d02e41ba6806da86a340b7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 13:20:09 2013 +0200

    Move log callback stuff into the log context, update callers

commit d5d38f1f603968da00113fab4bbd61cdebbb0d58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 13:00:53 2013 +0200

    Introduce rpmlog context object, move saved log records there
    
    - Add functions to acquire and release a log context, update callers:
      forcing callers through a function will allow fairly transparently
      handling either locking for shared context or finding thread
      local context, whichever approach we want to use.
    - Callbacks and all need to go to the context as well, but to avoid
      rewriting the entire rpmlog.c at once...
    - No functional changes, just preliminaries for thread-sanity

commit a60f55be4b9863daa51a880ff88fd68d59954f51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 10:07:14 2013 +0200

    Further simplify tag lookup table initialization
    
    - Just do it all in loadTags(), having a separate function for the
      simple task serves no purpose but to complicate things.

commit 59147483d85f80c7110874cb7eda8a8ce9ab0756
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 09:30:22 2013 +0200

    Eliminate the redundant headerTagIndices / _rpmTags tag structs
    
    - Now that all the other fluff is removed, its fairly obvious there's
      no need for this extra structure at all.

commit 3d6b29d898a6783efadcc1c5c80def4feda86474
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 19 09:19:41 2013 +0200

    Eliminate redundant tag table size variables
    
    - Sorted tables are of the same size as the original one, doh...

commit ca424dffb504ecc0191ca61b99856377189f0bd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 23:18:51 2013 +0200

    Split bsearch by tagname into a helper function too
    
    - Doesn't make the code any smaller (on the contrary), but makes
      the functions that little bit cleaner and more consistent: do just
      one thing and all that...

commit f13eb4364ba5f1e62ff00d38e1b84a52d2e5732a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 22:54:09 2013 +0200

    Reduce two copy-paste manual tag bsearch()'es into helper function

commit 5b71a27b8c44aa089720338dc018048628db7300
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 22:11:37 2013 +0200

    Eliminate pointless indirection from tag table getters
    
    - There's not a whole lot of point in making calls through what are
      statically initialized function pointers that can never change.
      The indirection might not be particularly expensive but when there's
      precisely zero advantage to doing it... it only makes simple code
      look hairier than it is.

commit a746036cb1f9c1c9a75f0abb826ba8b77ec9b960
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 22:07:56 2013 +0200

    Eliminate wholly unused function pointers from tag table structures

commit c66d4b66eb30fa5f3bd2acf1113ac4b1c7763bd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 15:52:34 2013 +0200

    Further fsm-fluff removals
    
    - fsm->postpone is only interesting inside the loops, nobody
      is going to look at it after we exited them. In other words
      this just removes stuff that wasn't doing anything at all.

commit 79d8ec88e95ef398062009b9d88bd42bfb002b75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 15:41:10 2013 +0200

    Eliminate redundant break from rpmPackageFilesArchive() loop
    
    - The loop condition makes it terminate on errors already, this
      is just redundant fluff.

commit 57ad4b69c3d6102371b0f6cad5cdc2bf24d9ef02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 15:32:51 2013 +0200

    Eliminate redundant break from rpmPackageFilesRemove() loop
    
    - The loop condition makes it terminate on errors already, handle
      the case we're really interested in (success) separately instead.
      Less early breaks means less places tired eyes will miss...

commit 26ef4ee6adc9c48d202b1e4da24d6ccf4e66966b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 15:19:58 2013 +0200

    Eliminate bunch of unnecessary early breaks from rpmPackageFilesInstall()
    
    - The loop condition makes it terminate on errors, there's no need
      for all these trailing break-on-rc checks. Simply handle success
      in an else-clause instead.
    - Supposedly no functional changes, but adding symmetrical
      plugin hooks for files should be much easier now.

commit f5957308d4a90c8c183198dbfe4d6207eb45510e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 14:56:02 2013 +0200

    Eliminate a very bogus early return from rpmPackageFilesInstall()
    
    - This might've been somewhat less incorrect in earlier incarnations
      of the fsm, but now its just totally totally wrong as it would leak
      resources left and right. In reality this never happens as
      on install, regular files are assumed non-existent always (as we're
      installing to temporary path) from fsmInit() so fsmVerify()
      is guaranteed to return CPIOERR_ENOENT here.

commit 11ba21e2ab67f14ad349252cfb890006a112867f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 18 10:44:40 2013 +0200

    A non-naive implementation of argvJoin()
    
    - The previous version was as naive as they get, for reasonable behavior
      with non-trivial amount of data precalculating string lengths and
      allocating at one go is necessary.

commit 713273858dd1048625eacae0bb680e14e9aef06b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 15:20:09 2013 +0200

    Make rpmConfigDir() thread-safe

commit 1db6c86c8aed8428352854ca12f6fd17182a4156
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 13:35:34 2013 +0200

    Make tag-table initialization thread-safe
    
    - pthread_once() fits here like a glove... Unlike the previous
      init-if-not-done-yet checks, call it as the first thing in each
      of these functions, if only for consistency's sake.

commit 3aeab6d5db4b407ec3f97c047dd65170f2276c7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 13:18:18 2013 +0200

    Add mutex protection around stashKeyid() static variables
    
    - This is one of the first places anybody fooling with threads will
      run into, guard it with a mutex to avoid crash-n-burn on such a
      silly thing and add a reminder to put it out of its misery later.
    - rwlock would likely be more optimal than mutex as most callers will
      be just reading but to start simple and obvious...

commit 57000e976b1e5ed2c3c1e78567cd653a9607c3c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 13:13:39 2013 +0200

    Eliminate an exit point from middle of stashKeyid()
    
    - No functional changes here, but will be needed for nice and
      symmetric locking

commit 4ebc61a83fea38f675dbbc17f795659337c6d51d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 13:10:42 2013 +0200

    Isolate the seen-keyid tracking variables inside stashKeyid()
    
    - There's no need to access these outside the function, forcing the
      issue to makes locking easy to guarantee.

commit c22d5b12999de6633d89828165ea3ab2112993e8
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Sun Jan 20 20:45:30 2013 +0000

    Stricter macro substitution syntax
    
    This change introduces a separate routine to parse for valid macro
    names.  Valid macro names are either regular 3+ character identifiers,
    or special names: "S", "P", "0", "#", "*", "**", macro options such as
    "-o" and "-o*", and macro arguments such as "1".  Other names are not
    valid.  This fixes a number of bugs seen earlier due to sloppy name
    parsing: "%_libdir*" and "%01" were not expanded (these are now expanded
    to e.g. "/usr/lib64*" and "<name>1", as expected).  This also fixes
    bugs in as-is substitution: "%!foo" was expanded to "%foo", and likewise
    "%!!!" was expanded to "%" (and to "%<garbage>" at EOL).
    
    Also, bad names in %name and %{name...} substitutions are now handled
    differently.  In %name form, the name is parsed tentatively; a silent
    fall-back to as-is substitution is provisioned when no valid name can
    be obtain.  In %{name...} form, a failure to obtain a valid name is now
    a syntax error.  Furthermore, only 3 variants are syntactically valid:
    %{name} proper, %{name:...}, and %{name ...}.  This renders invalid
    ambiguous macro substitutions such as the one found in FC18 lvm2.spec:
    
    Requires: util-linux >= %{util-linux_version}
    error: Invalid macro syntax: %{util-linux_version}
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 2d647098c803620aab2a7ca94007441e060451d3
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Thu Feb 7 03:44:41 2013 +0000

    Fixed buffer problems in doShellEscape
    
    When the output from a command is empty, nothing stops doShellEscape from
    chopping newlines past the beginning of the buffer.  This problem was first
    identified by Dmitry V. Levin in July 2009.
    
    Also, there is an off-by-one error in replacing trailing '\n' with '\0'.
    This problem, however, escaped the attention of Dmitry V. Levin in July 2009.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit cca91666d041abb500604997b0a5235018217b3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 12 05:14:34 2013 +0200

    Failure to initialize crypto is fatal
    
    - Almost nothing works if crypto fails to initialize for whatever reason,
      check and propagate rpmInitCrypto() failure from rpmReadConfigFiles().
    - Logging the error left for individual crypto backends to let them
      identify themselves: beecrypt requires no initialization whatsoever
      so it cannot fail at all, but NSS can fail in a number of entertaining
      ways due to missing dlopen()'ed bits and pieces, this should help
      avoiding wild-goose chases in such cases (RhBug:909627, RhBug:909618...)

commit 65d2e787d518fb5d13340cbadecfc256af74fde6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 12 05:11:16 2013 +0200

    Failure to calculate digest in rpmDoDigest() is, well, a failure
    
    - This is mostly a cant-happen situation but technically it can
      fail, lets not segfault if it does (RhBug:909618)

commit 0eb0da9af91c8dfee5cd202770d686cf937fedb8
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Sat Jan 19 12:11:11 2013 +0000

    Warn when whitespace is missing before macro body
    
    This will now issue a warning when macro definition is possibly
    incorrect or ambigous, such as the one found in FC18 lvm2.spec:
    
    %define util-linux_version 2.22.1
    warning: Macro %util needs whitespace before body
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 29e7c4b3bd1e67f9de1eaaf9fecf82cae281a7e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 10:11:19 2013 +0200

    Check for stale db locks when opening write-cursors
    
    - During long-running transactions its entirely possible for some
      other player to come and go leaving stale locks behind and cause
      the transaction to get stuck until the cavalry comes along in the
      form of somebody else opening the rpmdb, clearing the blockage.
    - Presumably dbenv->failchk() is not entirely free of cost so we only
      do this for writes which are way more critical and also more prone to
      getting stuck.
    - dbenv->failchk() could return DB_RUNRECOVER in which case we should
      abort everything but we lack a mechanism to do it... just add
      a reminder comment for now.

commit 233e4573d1d21a36d06874fea6c594428033802e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 31 16:03:30 2013 +0200

    Restore legacy behavior on %ghost %config erasure, mostly
    
    - Make rpmfiConfigConflict() consider any existing %ghost %config
      as "modified". This causes them to be left alone on erasure to match
      long-standing rpm behavior (whether the behavior is intended or not...)
      Ghost config testcase passes again, talk about flip-flop. Sigh.
    - Legacy behavior had an extra twist which we are intentionally NOT
      restoring: if a non-empty %ghost exists at build-time, its digest
      is stored in the header despite the file not being present in
      the payload. With previous versions of rpm, the contents of an
      existing  %ghost %config would be compared to the one in header and
      resulting in different behavior on erasure: if the contents matched
      that of build-time, the file would be removed, otherwise it would
      be preserved. Ghosts remembering their identity from previous life
      goes a little bit too far into the land of paranormal for me...

commit 4efec66338ef04d2f1ed20cfba84c47145269d0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 31 15:55:22 2013 +0200

    Adjust ghost config test case to match legacy behavior
    
    - Rpm has traditionally (at least for the last decade) preserved
      existing %ghost %config file on erasure. Whether this was intentional
      or not, changing the behavior now risks data loss in case people
      are relying on this long-standing behavior.
    - This fails now: The behavior changed as (an unexpected) side-effect
      of commit 389b1ab706be8eddba9f00c7084759f670ce96ac.

commit 147a26c5f672ee3421fe057725f6be357031bbb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 14:07:33 2013 +0200

    Dont skip shared file/dir create if the other one is a ghost
    
    - Explicitly test for shared file/dir being ghost when deciding whether
      to skip create: we must never skip the creation of a real file/dir
      because of a ghost as the ghosts do not get created.
    - This fixes the shared ghost testcase, ie the thing that commit
      a712252392eca75443ca45c10a72873cabec7963 was supposed to fix,
      without side-effects that I can see.

commit 471b74bf6e218abb06bb3131a259cdfaec3f08cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 14:01:59 2013 +0200

    Revert the severely broken FA_SKIP on %ghost "fix"
    
    - Reverts the bad half of commit a712252392eca75443ca45c10a72873cabec7963:
      treating files that wont be installed as skipped seems logical enough,
      but rpm disagrees... making %ghosts FA_SKIP on install causes
      upgrades on %ghost %config files to miss the necessary FA_SKIP getting
      set on the erase half via handleInstInstalledFile() and
      rpmfiDecideFate(), causing %ghost %config files to be nuked. Which isn't
      very nice when your /var/lib/rpm/ contents are packaged as
      %ghost %config...
    - This fixes the %ghost %config testcase but breaks the shared %ghost
      case in turn.

commit 0485eab2c96173d1e34e4edb3570e58a693e255e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 13:52:23 2013 +0200

    Add testcase for %ghost shared with a real file
    
    - Further parametrize conflicttest.spec to allow for different attributes
    - Verify that the real file gets created without conflicts, that
      it doesn't get removed when ghost is removed and gets normally removed
      on erase.
    - This is the case commit a712252392eca75443ca45c10a72873cabec7963 was
      supposed to fix (which it does but with, ahem, "slight" side-effects)

commit 5121ea2151f13e58740b7b4e7dc20cff5f2475fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 13:46:45 2013 +0200

    Add testcase for %ghost %config behavior
    
    - Further parametrize configtest.spec to allow for different attributes
    - Verify pre-existing %ghost %config is preserved on install,
      that it survives upgrades and gets removed on erase.
      This fails now because it IS broken due to commit
      a712252392eca75443ca45c10a72873cabec7963.

commit 58f41cb4e1721d410017732a55613056b6acb24c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 22:34:11 2013 +0200

    Dont mess with global user identity in __scm_setup_bzr
    
    - Bzr defaults to global value on "bzr whoami", so we would mess
      up user identity on "%autosetup -S bzr". Oops. Move identity setting
      after repo initialization and set the identity per-branch, not global.
      The notion of "per-branch identity" seems odd, but then bzr is...
      I guess this would be bzr-speak for "per-directory identity"

commit 321a87d789bb090c88c541f7f158ae922ddee3ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 22:31:30 2013 +0200

    Setup git identity in __scm_setup_git (RhBug:905002)
    
    - For some reason on my own account git keeps functioning even if
      I remove its configuration, but on a newly created account git commit
      bails out with "Please tell me who you are" unless we set the
      (per-repo) configuration here.

commit 1a21dc867dfbf48169782c6b8dbd0e0476e2bbbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 22:28:35 2013 +0200

    Split __scm_author to separate name and email address macros
    
    - At least git wants name and email separately, change __scm_author
      to combine the two instead. Related to RhBug:905002.

commit 49519f2564777fdcfb801088fb3025b3d6f5783a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 18:49:01 2013 +0200

    Acommodate to glibc 2.17 __secure_getenv() renaming
    
    - glibc 2.17 renames __secure_getenv() to secure_getenv() so now we
      need to test for both. Meh.

commit a712252392eca75443ca45c10a72873cabec7963
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 12:50:39 2013 +0200

    Be more careful about skipping shared file/directory creation
    
    - Only skip shared file/dir creation if its actually being created
      by another package. Previously we could've decided to skip an entry
      where the other file was also being skipped for some other reason.
    - Ensure %ghost entries always have FA_SKIP on install, previously
      they often were FA_CREATE which makes no sense for %ghost. We dont
      encounter %ghosts at all during install in the FSM as they dont
      exist in the payload, but the file disposition calculations need
      to take them into account now that we're avoiding redundant creates.
    - Fixes a regression from commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e
      which unearthed the %ghost FA_CREATE issue, reported here:
      http://lists.fedoraproject.org/pipermail/buildsys/2013-January/004047.html

commit 4eb824937ce536aeecdfdcab2d88e28083bba85b
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Tue Jan 22 00:47:15 2013 +0000

    Adjust rpmspec -P to invoke non-build parse
    
    In the query mode, rpmspecQuery puts the parser into non-build mode
    by invoking rpmSpecParse with (RPMSPEC_ANYARCH|RPMSPEC_FORCE) flags.
    The same flags should be applied in the parse mode, so that it is
    possible to preprocess specfiles separately, i.e. without also
    installing sources and patches.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit a1d9364adb556813886d91b2799217a412ac5bb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 22 07:55:11 2013 +0200

    Make double-quoting work for special %doc (and %license) too
    
    - Up to now, special %doc has been different from everything else in
      %files: double-quoting which is used to escape eg spaces in filenames
      has not worked, but single-quoting and backslash-escapes (which do
      not work elsewhere in %files) "worked" by happenstance due to getting
      passed verbatim to shell/cp. Those and various other %doc hacks people
      have come with stopped working (ticket #858) as starting from
      commit 29677605d44dc9cba3119135653ba0372ab58037 we perform the
      copies in slightly more controlled manner.
    - Rather than re-enable old quirks, make %doc and %license behavior
      consistent with the rest of the %files section: double-quoting and
      globs work, other escaping methods do not.
    - This does mean a minor (as docs with spaces are relatively rare)
      compatibility rift in specs, the "official workaround" is that
      if compatibility with older rpm versions is required globs can
      be used instead of quotation.

commit 90463ac2ce102d400b7c15a353d8d4f0147cc2da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 21 19:26:33 2013 +0200

    On a second thought, rename block_shutdown plugin to systemd_inhibit
    
    - This is highly systemd-specific functionality so it makes sense to
      name the plugin in a way that makes it (more) obvious. No other
      changes besides renaming.

commit 2ffdd6206b93226c673d7970dee495f560713679
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 15 11:12:52 2013 +0200

    First cut at shutdown prevention plugin
    
    - We wouldn't want anybody to shutdown (or reboot) the system while a
      transaction is in progress, it's just that there hasn't been a whole lot
      that could've been done about it. Recent systemd versions provide an API to
      prevent shutdowns however:
      http://www.freedesktop.org/wiki/Software/systemd/inhibit
    - Add a simple plugin which, if enabled, tries to acquire a shutdown
      inhibitor lock from systemd for the duration of transactionsd. This
      could use better error handling and all... but its a start at least.
    - Note that D-BUS is required, but only for the plugin, not (lib)rpm.

commit e83cc97792d66f8d31ef471455a9fa6ae136ae9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 13:48:40 2013 +0200

    Revert "make "canonicalization(...)shrank by one character" error message more usefull"
    
    - The message is not about basedir and destdir, and printing them
      here only makes the message even more confusing than it was, eg:
          canonicalization unexpectedly shrank by one character \
              ('/home/pmatilai/rpmbuild/BUILD/' vs '/usr/src/debug/')
    - This reverts commit 1eea433d9961d74dbc797cea7f9bfceab8c16a3e

commit 6941d51e7e5139014418d1056acb6dafccefbab7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 8 12:51:36 2013 +0200

    Alternatively accept files from command line arguments in elfdeps
    
    - Nothing actually needs this, but for testing & debugging command line
      args are often nicer than having to pass stuff via stdin.

commit 39fa042c9e3efc48b717d48f5e4d63dc6a043f05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 8 11:36:25 2013 +0200

    Extract (and optionally require) interpreter from ELF files
    
    - A dependency on the interpreter is likely to be redundant, but
      presence of PT_INTERP is a useful indication of whether a file
      is executable or not: all normal dynamically linked executables
      have it whether PIE DSO or "plain" executable. Some libraries
      also have it but they are supposed to be really executable:
      for example glibc's libc.so and libQtCore.so have it and print out
      config, version etc information when executed.
    - For now, we dont actually use the PT_INTERP information for anything
      apart from the optional require.

commit 73bd9636d0e76a4d255776b7733667198b9ef585
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 15:52:43 2013 +0200

    Filter ELF dependencies by name
    
    - Instead of vain heuristics on DT_SONAME presence, filter out
      irregular sonames from all dependencies: linkable library names generally
      must contain ".so" and start with "lib" for the linker to find it at all,
      anything else is an exception of one kind or another (the prime exception
      of ld.so variants we handle here). This weeds out provides for most
      dlopen()'ed modules etc, and filtering both provides and requires
      by the same rules means we wont generate requires for things that wont be
      provided.  Of course this also means we can omit things that are in
      DT_NEEDED, but these should be rare exceptions which the new
      --no-filter-soname switch is for.

commit b6f159a34c946b75cb95a7862968ff4e8eb74fe6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 14:23:13 2013 +0200

    Fake ELF sonames by default (again)
    
    - (Private) libraries which might intentionally not have DT_SONAME
      are still recorded as requires from DT_NEEDED, and there's no
      way of knowing what's an internal library when generating requires.
      Not faking the soname in these cases will only result in broken
      requires in cases that always used to "just work".
    - Change the switch to --no-fake-soname disabler instead to allow
      tweaking in special cases but by default we gotta match linker
      (and ELF specification) behavior, no matter how much we'd like to
      use this for our own heuristics :-/

commit 8e3ce7417a20dd8bca4676c0a598fc4932d22eef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 3 17:01:42 2013 +0200

    Centralize elf soname provide addition, comment
    
    - Remember DT_SONAME in the elfInfo struct if encountered and
      only add it after everything else has been processed. This doesn't
      change any actual functionality for now, but gives us a single
      place where to control the addition.
    - Additionally document what the related DT_DEBUG test is for and
      clean up the processDynamic() loop and switch-case a bit.

commit 6c0bdc393dda3de8bacd3a1844d980802e45d195
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 3 14:16:20 2013 +0200

    Only fake ELF soname's if requested
    
    - This helps cutting down the number of bogus provides from dlopen()'ed
      plugins and internal libraries which preferrably shouldn't have a
      soname at all. Unfortunately libtool always puts in a soname even if
      -module -avoid-version is used :-/
    - OTOH there are broken libraries which dont have a soname even though
      they should, so (we need to) allow falling back to the former behavior
      of faking up a soname from the basename.

commit f84a71cdc786a012fc9cbe16c5236c622ea970a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 3 12:59:13 2013 +0200

    Move elf class marker figuring to helper function, generalize a bit
    
    - Determine arch-specific issues by looking at the elf header instead
      of compile-time #ifdefs, so we'll generate correct dependencies for
      non-native elf binaries too. Currently this is just alpha which despite
      being a 64bit system, never had the (64bit) markers in its dependencies.
      Of course alpha has pretty much already met its mark^H^H er maker by now,
      but doing the right thing is cheap... Also we'll need similar special
      cases sooner or later for other archs (such as x32).

commit e7489abd6672e8c980d2d1b2ab32b963e1ea83b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 3 12:11:26 2013 +0200

    Consolidate elf dependency string generation to helper function
    
    - Figure out the elf class marker early and handle the rest in helper
      to avoid copy-slop code. No functional changes.

commit 8774cb03cf78b02411cc26329a3c362d95e36fe4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 13:21:58 2012 +0200

    Disable useless empty translations, enable Ukrainian translation

commit eba857760db6489a9ca9d478e1ba98a90763467d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 12:59:35 2012 +0200

    Update / sync translations from Transifex

commit d277537bcafa65f1cb09d12e259569d6ed35e2a2
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed Dec 19 12:52:51 2012 +0200

    Initial Breton (br) translation
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit d73535e1a9dc5095e78475adc5b636d99f01efa9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 12:32:52 2012 +0200

    Handle transaction global pool allocation centrally in rpmtsPool()
    
    - Previously the pool would only get allocated on successfull addition
      of install or erasure elements, causing assert() failures on
      operations on empty transaction set, which should be just a no-op,
      not an error.
    - Make rpmtsPool() create the pool if it doesn't exist, update relevant
      users to call rpmtsPool() instead of directly accessing tsmem->pool,
      this avoids having to worry about pool existence in all the various cases.
    - Also fix up the pool-related comment on rpmtsEmpty(): pools does not
      and can not support emptying as it could break references to its
      contents. Per-string refcount would be needed for emptying support.

commit aa6af71d457be5d78252f23ea68322dcaf199e4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 13:22:12 2012 +0200

    Clean up fix grabData() error handling in callers
    
    - grabData() only returns non-NULL on data length > 0, separately
      checking for length only makes it look like a possible case when
      its not. If it were, it'd be a memory leak.

commit 8192e580a0a962b8eb7f9d8fc07bd3f99ccf0ffe
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Mon Dec 17 13:58:44 2012 +0100

    display the actual unknown option instead of '?'
    
    '?' is returned by getopt when option is unknown, making hard to
    pinpoint the actual bogus option...
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1c3f966903743ea571a23e1af08a618b4179c5cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 09:26:02 2012 +0200

    Dead code removal
    
    - Nothing is setting "arch" here anymore, this should've been removed in
      commit fddfee17c3c4e19269665800d557d3452cbde162 already

commit fe5a1e5dfa93f15b7beda59e193832577143a4d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 13:27:09 2012 +0200

    Add support for DSA2 signatures with NSS versions that support it
    
    - DSA2 signatures are not fixed-length so we need to calculate the
      number of bits and bytes (quite literally) from the data we get.
      Unfortunately it seems DSA2 in NSS 3.14 is slightly buggy (mixup
      wrt bytes and bits in DSA2 keysize in its verification internals),
      preventing this from actually working with that version.
    - Prior to this, rpm would report "unverifiable signature" on DSA2,
      with NSS 3.14 it'll now report signature as BAD, once NSS is fixed
      it should "just work".

commit 96a616c6aed4c516789a154af188f005caf23f14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 13:54:23 2012 +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.

commit 19ece18f1a9f0f2a16c01b07787b65a0b1a8fa44
Author: Elena Reshetova <elena.reshetova@intel.com>
Date:   Fri Nov 30 18:35:44 2012 +0200

    Making pre/post tsm/psm hooks more consistent.
    
    -All post hooks take an additional rc argument that indicates general return code from operation.
    -All post hooks are always called if correspoding pre hook has been called.
    -The return value from post hooks is curently ignored
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 2d39f13064f6e6ff1a1633b708e7ba5622a7e8eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 4 14:06:42 2012 +0200

    Handle allocation failure in NSS DSA signature initialization

commit e15e29823451663e27a5bec6c865b37901f1c315
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 12:23:42 2012 +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

commit 466a6b554e7f7ded9f1c59646e6b64243ce16812
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 12:20:05 2012 +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

commit 4c90c79e3f3c178189ad3bd89dfd87cd3a2290ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 08:15:24 2012 +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.

commit e86bae35501d18ca48af133250373f661f928983
Author: Elena Reshetova <elena.reshetova@intel.com>
Date:   Thu Nov 22 20:49:27 2012 +0200

    Improving scriptlet related rpm plugin hooks.
    
    Three new hooks added:
    PLUGINHOOK_SCRIPTLET_PRE_FUNC
    Called before scriptlet execution
    PLUGINHOOK_SCRIPTLET_FORK_POST_FUNC
    Called after fork() but before scriptlet execution
    PLUGINHOOK_SCRIPTLET_POST_FUNC
    Called after scriptlet execution
    
    Currently pre and post hooks are called for externals and internal lua scripts.
    post hook is called even if scriptlet execution has failed and
    the return code is given as an argument.
    
    fork_post hook is only called for external scriptlets,
    because for internal scriptlets no fork() is currently performed.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 9b995a7674adba08248fac79ae8b23ecbecc13de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 12:35:13 2012 +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...

commit e1c67173d38016a88989f5b09e0934f90094fe85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 12:31:52 2012 +0200

    Remove extra ',' in NSS configure checks, whoops

commit 604da18bc267f89568081c1ab163c7fc45207220
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 11:05:04 2012 +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.

commit 73be0fc7d9faab9f1120e2979f2ca1feed522195
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 10:43:24 2012 +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".

commit 5d21b942fab5985740d94111da8bf651de140a8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 13:54:03 2012 +0200

    Revert "Improving script related rpm plugin hooks."
    
    - This version of the patch was not intended to be pushed, a stupid
      Monday accident...
    
    This reverts commit d1d050a07312bde00ba0b7f93ee91fd7dceb867c.

commit ebba1c7b58ba089bb9e1ded147c789d9ca067b6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 13:34:06 2012 +0200

    Add missing <errno.h> include
    
    - Should've been in commit cbd6ef58bbc122e6adf2138679915bd3845d6756,
      this breaks build when selinux-support is not compiled in

commit d1d050a07312bde00ba0b7f93ee91fd7dceb867c
Author: Elena Reshetova <elena.reshetova@intel.com>
Date:   Thu Nov 22 20:49:27 2012 +0200

    Improving script related rpm plugin hooks.
    
    Two new hooks added:
    PLUGINHOOK_SCRIPT_PRE_FUNC
    Called before script execution
    PLUGINHOOK_SCRIPT_POST_FUNC
    Called after script execution
    
    Both hooks are called for externals and internal lua scripts.
    POST hook is called even if script execution has failed and
    the return code is given as an argument.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit c0e95f1cedefd6d7522ef2cf7a2ada7c83821596
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 22 12:22:06 2012 +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...

commit 6bdd34c451dbf69792c59704e06f1ccb045ae743
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 17 17:57:59 2012 +0200

    Fix double-free on %caps in spec (RhBug:877512)
    
    - Fixes regression caused by dumb refactoring mistake in commit
      807ba93a6cf168410e3801347898949f356fcd6c

commit 644f080a4868208bf61f28103b7b676c094129a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 16 13:21:15 2012 +0200

    Add --undefine cli switch for undefining macros (related to RhBug:876308)

commit b1d3f21a54eb1f23a08e9e2d943a6438502b0e47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 14 12:19:49 2012 +0200

    Account for temporary disk-space requirement on forced replace too
    
    - Similar to commit 85df102165fdbe64978f2019d757d400e7448218, but
      for forced file replacements.

commit f8da4f613680b4da4ee191f8b7451de9b36bfcbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 14 10:54:38 2012 +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.

commit 85df102165fdbe64978f2019d757d400e7448218
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 14 10:31:15 2012 +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)

commit 1986eb6242c28fb5a0c6951797c3d1bb2709669d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 9 09:36:45 2012 +0200

    Remove unnecessary casts

commit dcd261b9fe1e61e8ac3e99dbb443145bbf896886
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 9 08:21:51 2012 +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.

commit 551603470f640a6ef6f578eb2dd473bed66b9a9a
Author: Elena Reshetova <elena.reshetova@intel.com>
Date:   Wed Oct 17 14:55:39 2012 +0300

    Extending rpm plugin interface, part 1
    
    This change adds a new type of the rpm plugin, called transaction plugin
    and a set of initial hooks for this plugin. The hooks are:
    
    PLUGINHOOK_TSM_PRE
        Pre-transaction hook that is called before an rpm transaction begins
    PLUGINHOOK_TSM_POST
        Post-transaction hook that is called after an rpm transaction ends
    PLUGINHOOK_PSM_PRE
        Pre-transaction-element hook that is called before an rpm
        transaction-element is processed
    PLUGINHOOK_PSM_POST
        Post-transaction-element hook that is called after an rpm
        transaction-element is processed
    PLUGINHOOK_SCRIPT_SETUP
        Per-script hook that is called once for each rpm mainainers script
        that is present in the package
    
    Each hook is called for every plugin that have this hook registered.
    The avaliable transaction plugins can be specified in macros.in via
    transaction_plugins element.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4b19c17f53f56c841903e5d6a09efdb10b2ca400
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 10:26:18 2012 +0200

    Add cli-switch to query for license files

commit 5998b02665c30a5b560f8fe899c19235f9299bd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 10:20:24 2012 +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.

commit 829d922abed99683d2a3a489418f1f6c1c661372
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 14:52:11 2012 +0200

    Bumb version to indicate branch-point

commit 3cc768e72cbd5a40cc7745c71cd8fac1164f80ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 6 13:29:11 2012 +0200

    Document --define in rpmbuild manual as well (RhBug:665536)

commit 0c75190c840def4c70e26412f7ae76324709d956
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 5 17:15:23 2012 +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.

commit 249128b3f85cb1544df74c4953a65507c2aea9f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 5 16:00:39 2012 +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.

commit 34c4565d8ce656de7ccad9c098757e367916d66f
Author: Dominique Leuenberger <dimstar@opensuse.org>
Date:   Mon Nov 5 15:45:29 2012 +0200

    Fix strncat() boundaries in Fdopen()
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 6359697b256dbf402a0437fe8d99b38800579eaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 5 15:08:28 2012 +0200

    Update contact address in COPYING (RhBug:742362)
    
    - marc and ewt haven't been valid email addresses in the last 10+
      years, cough...

commit 2077b3dc542789b0e9598bf662b7327fd070bbcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 5 10:22:50 2012 +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...

commit 1bfdd86899e9e27672e6f5bcca4dd47c671706c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 5 10:09:18 2012 +0200

    Update translations from Transifex

commit 1fdcb341cd374bfea27d1a85f37c640904299c7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 1 12:09:30 2012 +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.

commit 9cd34fc882c66ebdd71a95916017a84ccb68193b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 1 11:45:44 2012 +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...

commit 1eea433d9961d74dbc797cea7f9bfceab8c16a3e
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Fri Oct 19 10:08:35 2012 +0200

    make "canonicalization(...)shrank by one character" error message more usefull
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1825e8863c8ffd4a6976d2e42ec387cfdc520aaa
Author: Tim Landscheidt <tim@tim-landscheidt.de>
Date:   Wed Oct 24 23:18:57 2012 +0000

    Don't call "rpm --addsign" if rpmbuild didn't create RPMs.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 3ff6fdd688b8491acc14ad99a830607c1a80f3a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 1 09:45:15 2012 +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.

commit 5ecfdcea4e80e58f133ffddd69130ee8df28b2ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 09:43:38 2012 +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.

commit eb23d21b3da0789c19a2e97306745be443567d41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 12:38:20 2012 +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.

commit cbd6ef58bbc122e6adf2138679915bd3845d6756
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 11:36:56 2012 +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.

commit 0b9c93ed18a11818a2f3645431a338bdc3f1fc81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 09:29:46 2012 +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 ;)

commit 6db697526b1c3bb72678c83c01abcdb0a26244b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 26 12:15:07 2012 +0300

    Remove transition-time leftover pool unfreezing
    
    - Nobody is freezing our pool so there's no need to unfreeze it either...

commit 3ff1f73efee857512a862ed674489da8067a7e79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 26 11:47:31 2012 +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.

commit c137e36e6284efea708442bd67c01b5dc4130264
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 16:20:02 2012 +0300

    Eliminate copy-paste nibble(), use rnibble() instead

commit 0660fe94422b1a548e08f5e1f70b4a42fe8e4f7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 15:45:14 2012 +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

commit 98e782308956fa7a7d27a5b51566aff40dee0a78
Author: Michael Schroeder <mls@suse.de>
Date:   Fri Oct 19 15:43:09 2012 +0300

    Add support for beecrypt as an alternative crypto implementation
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e137d28d10cb31bd4dbd9e3c0dd11a1c54ef09a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 13:54:11 2012 +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.

commit 5811588f67caeef2de0fa44c222467274bb5ac93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 13:45:04 2012 +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.

commit 90dd51743200055f30d9e0e0337173118b4ae756
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 17:57:10 2012 +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.

commit d763c09e285c004ac85f17b537f23f7cac85ff3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 15:14:04 2012 +0300

    Eliminate now unnecessary WITH_SELINUX conditionals in sepolicy plugin

commit f9ff6e7234d4f77b5f53f5481ba7cab0efabe707
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 15:09:15 2012 +0300

    Only try compiling sepolicy plugin if selinux is enabled

commit e3ed69591f36a5862680d4a8a7999a6ed2838ed0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 15:04:54 2012 +0300

    Missing include in string pool
    
    - When compiled without selinux support, stdlib.h doesn't get
      included here. Wtf?

commit 44d0e024c8c5ad87b2991d6a85abac1e3c37fbac
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 11 12:20:06 2012 +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.

commit 5a674fba65b0988118401f3cccd12ee2bfe904e0
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 10 14:59:32 2012 +0200

    Add rpm --setperms and rpm --setugids to the man page

commit b040b323d6fac32f7f4fa77fd5cb60c7967fc53f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 10 13:17:09 2012 +0200

    Update man page to reflect that rpm no longer uses MD5 as a default digest algorithm

commit ac959fed0082cb253d45c7a04866e8654e962442
Author: Anders F Bjorklund <afb@users.sourceforge.net>
Date:   Wed Sep 12 23:26:38 2012 +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>

commit 389b1ab706be8eddba9f00c7084759f670ce96ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 8 09:27:18 2012 +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.

commit e17bf0449dc54d007b66954170b9d12dad1e74a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 11:38:26 2012 +0300

    Use rpmal lookups for already added obsoletions too
    
    - Related to commit bee348b5d101a0ea6039b56c39e8ddc1cfc09a1a,
      use the newly added obsoletes hash to lookup already added
      obsoleters. Eliminates the dumb linear lookup and is unsurprisingly
      a whole lot faster on larger transactions.

commit 15f9f2d7f0dd4b41eb87282bf92cc16d5425b2ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 11:35:11 2012 +0300

    Add a hash + lookup function on obsoletes to rpmal
    
    - Similar lazily created hash as provides for fast obsoletes lookups.
      This is so similar the provides that creation etc functions should
      be unified, but leaving that exercise till later.

commit 99d42b479ab341248901d5af82d5980542e6c702
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 11:34:22 2012 +0300

    Rename rpmalProvidesHash to rpmalDepHash
    
    - The same hash type is valid for any ds and we'll be adding more...

commit 2d62d5e5c515098e1b84d93fdcf9d8b2fe8dd5df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 11:25:49 2012 +0300

    Avoid changing the file info sets when adding to rpmal file hash
    
    - Use indexed access to the file info sets so we're not mucking
      around with somebody elses rpmfi iterator index (currently not an
      issue but still...)

commit 7612b1684a894a719aa273d1fe091aaa6322e0b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 10:16:44 2012 +0300

    Avoid changing the dependency sets when looking up from rpmal
    
    - Use indexed access and comparison to avoid mucking around with
      eg transaction element dependency sets while the callers are walking
      over them.

commit f4bb2487d4942c60063e6985616ca5de2558195a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 10:13:09 2012 +0300

    Avoid changing the dependency sets when adding to rpmal hash
    
    - Use indexed access to the dependencies so we're not mucking with
      the rpmds iterator index behind anybodys back, this could affect
      all sorts of things but miraculously nothing is hitting it atm...

commit db80e6ed5aea6c688104125059b3f11cc763f682
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 10:09:50 2012 +0300

    Guard against NULL ds in the rpmds indexed getters
    
    - NULL dependency sets are all over the place as NULL ds means
      "no dependencies of this kind", whereas for eg rpmfi NULL is an
      error.

commit f4758b19201d6780d9bb84e50ee004090ec4b1bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 10:07:52 2012 +0300

    Export the indexed rpmds accessors internally
    
    - Add an internal header for rpmds too to allow adding interfaces we
      dont necessarily want to export in the public API, make the indexed
      accessors available internally.

commit 62ddd3149fd76da72dedda63d8c870ad70138125
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 5 10:04:04 2012 +0300

    Add indexed access variants for rpmdsColor() and rpmdsCompare()
    
    - Various places in rpm need random access to the dependency sets,
      save and restore on somebody elses "iterator index" just doesn't
      cut it. This is merely preliminaries for further changes.

commit d5dd3abe097ae7c4a9552cdbf225af0309fd86db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 4 15:48:43 2012 +0300

    Be as lazy as possible wrt rpmal hash creation
    
    - Separate provides and files hash creation, delay both until the last
      moment before first valid lookup. In practise, this means the provides
      hash is created early due to lookups from rpmtsAddInstallElement(),
      but the big bad file hash creation is delayed until the entire
      transaction set has been more-or-less populated. Which means we have
      a better idea about the necessary hash table size, meaning fewer
      hash resizes, resulting in good deal faster execution with no
      downsides - if something happened to trigger an early file lookup
      it'll all still work, just slower.

commit bee348b5d101a0ea6039b56c39e8ddc1cfc09a1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 2 16:40:45 2012 +0300

    Use rpmal lookups for finding redundancies in the added set
    
    - Replace the dumb linear search across all elements on each
      addition with (filtered) rpmal lookups where possible. rpmal
      doesn't (yet) have obsoletes information so for already added
      obsoletions we have no choice but to walk the walk.
    - As a result, findPos() is hugely faster for large transactions
      but rpmal hashes are now generated on the fly for everything
      instead of doing it all at once before the actual dependency
      checks / ordering, which will cost us something in terms of
      hash table resizes.

commit 5d3018c4ed476b1b7ac18e2573af517f872cb303
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 2 16:17:05 2012 +0300

    Dont bother with rpmRelocateFileList() if relocations have been specified
    
    - rpmRelocateFileList() doesn't modify anything when no relocations
      are to be done, but what it does is not exactly free, unnecessarily
      calling it is dumb.

commit 03b660c61572e7f98a3ec1cef4f48db0d615f6b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 2 12:12:20 2012 +0300

    Only return non-NULL from rpmalAllSatisfiesDepends() on real matches
    
    - The provides hash lookup can and does return hits that dont actually
      satisfy the dependency. Dont bother callers with apparent hits
      (ie non-NULL returns) when nothing actually matches the dependency.

commit b900c06b9961c5b50b3fc12b9de79507294fa1c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 2 10:50:10 2012 +0300

    Export rpmalAllSatisfiesDepend() internally (again)
    
    - For some uses, we need to be more selective about providers...

commit 50b0000b070cc05688acee5332a745549c14a314
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 2 10:37:36 2012 +0300

    Pass the newly create ts element instead of header to findPos()
    
    - Avoids a little bit of extra work, we already have the relevant
      bits of information in the rpmte and grabbing them from there is
      cheaper than looking up stuff from headers. Also avoids creating
      another copy of the new elements obsoletes dependency set unnecessarily.

commit e9054c9880642c0f4675f204105222f69d121836
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 13:19:59 2012 +0300

    Eliminate all the now unnecessary fsm->ix save-and-restores
    
    - Now that the relevant places are accepting file index as argument,
      we no longer need to save and restore fsm->ix in all the places
      dealing with hard links.

commit f71af8b4a1f58d09b5abd33a2ad59d5a2f5f415c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 13:15:30 2012 +0300

    Pass file index as argument to fsm fsmMapPath()
    
    - Normally this is just the current index, but when writing links
      its something else and makes sense as an argument (so we dont
      need to save and restore fsm->ix when doing something different)

commit 596617533bd9d6dfe0da6ed6deb95603f132003d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 13:01:33 2012 +0300

    Pass file index as argument to fsm fsmCommit()
    
    - Normally this is just the current index, but when writing links
      its something else and makes sense as an argument (so we dont
      need to save and restore fsm->ix when doing something different)

commit e7d4d6b3dc487db57d3f871cebface328be89bdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 12:54:15 2012 +0300

    Pass file index as argument to fsm writeFile()
    
    - Normally this is just the current index, but when writing links
      its something else and makes sense as an argument (so we dont
      need to save and restore fsm->ix when doing something different)

commit 57ea65e4300182e96ecc896b300736cd87bd384e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 12:30:28 2012 +0300

    Eliminate current hardlink set from fsm struct
    
    - Return the hard link set from saveHardLink() when ready into a local
      variable in the only place that cares: rpmPackageFilesInstall().
      Another pointless and hard-to-follow fsm-global state variable
      gone...

commit f5504e130af4c174dd27e501d7e72aeaea335bb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 12:16:18 2012 +0300

    Pinpoint the one place where fsm->li is modified on real purpose
    
    - saveHardLinks() is the only place where fsm->li value matters on
      return: during installation its used for "returning" the current
      link set when all the links in that set have been seen so they
      are ready for creating.

commit ae773c7926c88d5f3de090ae161332989a96b617
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 12:04:29 2012 +0300

    Avoid using fsm->li directly when creating pending hard links
    
    - fsmMakeLinks() operates on the current link at hand, doesn't walk
      the links or anything... pass the link as an argument from the sole
      caller and operate on that.

commit 676878e5b5d9bbcf1a7dc8dc543f42fd61f67158
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 11:53:48 2012 +0300

    Avoid using/modifying fsm->li when committing hardlinks
    
    - Using a "global" variable for local... more of the same:
      fsmCommitLinks() gets called at the end of each round of the install
      loop if there are links, it does the actual link discovery on its
      own and fsm->li state will get rewritten by saveHardLink() at the
      start of the next round.

commit 364f5808549d401097ae0c0cfad44a27508099e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 11:47:29 2012 +0300

    Avoid using/modifying fsm->li when writing links to payload
    
    - Using a "global" variable for local iteration is just... this gets
      called once at the end of package build, fsm->li carries no
      global state here.

commit f08b8105faa257b5e15d0cf160bbc5ae9d660ea2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 11:39:47 2012 +0300

    Avoid using/modifying fsm->li when freeing hard link sets
    
    - Using a "global" variable for local iteration is...

commit b746dbc136576f3b748f5d709f5eb625896b8439
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 11:37:01 2012 +0300

    Avoid using/modifying fsm->li on hard link checking
    
    - Using a "global" variable for local iteration is just dumb...

commit aa2117b94efe60769bde94a9e250644aa016fd99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 11:33:08 2012 +0300

    Move hardlink saving out of fsmInit()
    
    - Now that we have separate functions for install, erase and build,
      handle the hardlink saving locally where it matters.

commit afb91f205bbf0f3e54387622b06c659283908906
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 09:54:35 2012 +0300

    Free hardlink sets centrally in fsmFree()
    
    - Having three places doing the same thing doesn't make a whole
      lotta sense...

commit eeea54c76b130da3769ae10f7db2c2fcfb5c57be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 09:23:29 2012 +0300

    Filter out skipped files on hardlink checking
    
    - Legitimately skipped files (links) must not cause install-errors.
      This has always been broken, but the errors were completely ignored
      on install prior to rpm 4.10, and now that we're only creating the
      first instance of a shared file, secondary arch multilib packages
      with hardlinks were causing install failures because of the "missing"
      hardlinks here.
    - The relevant part here is obviously the XFA_SKIPPING() test, for
      which we need the file states. To keep the lines short, grab the
      index to a helper variable and replace other fsm->li->filex[i] uses
      with that too.

commit 5f9af37583f910ed1adaea770687d4c99caa0a24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 28 12:43:39 2012 +0300

    Simplify fpLookupSubdir() a bit
    
    - Use string offsets for basename start and end to track the progress,
      avoiding +1/-1 adjustments in every damn calculation.
    - Reduce the places where new basename is calculated to just one
      at the start of the main loop, just adjust the basename start
      and end accordingly beforehand.
    - This shouldn't change any functionality, just simplify the code
      a little bit.

commit bdb966b4df1a882f9c1f84393666277bec98080c
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Sep 28 10:23:03 2012 +0300

    Make string pool strings static in memory
    
    - Use multiple chunks that get allocated as old ones get filled up
      instead of reallocating, store direct pointers to the strings in
      the id array.
    - This prevents nasty surprises when previously retrieved pointer
      to a pool string goes invalid underneath us due to somebody
      adding a new string, and restores former rpm API behavior:
      string pointers retrieved from eg rpmds and rpmfi are valid for
      the entire lifetime of those objects.

commit b81b4a35240f16fa8b45156b0151fab9e130a8e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 15:56:56 2012 +0300

    Minimally resurrect fpLookupSubdir() functionality
    
    - fpLookupSubdir() has been broken for a long, long time, probably
      because some subtle extra/missing slash issue. It got totally
      wrecked by the pool changes though: there are heading and trailing
      slashes everywhere and the calculations were off-by-one to every
      possible direction because of that. And the previous attempts
      (eg commit 566a332c6907a0969ea8f79a4c7a62bca2d1f1b4) makes
      even a bigger mess of it.
    - This is far messier than it needs to be, but for now going for
      minimal resurrection rather than rewrite it all at once. It's also
      not quite right either, but it does now actually detect at the conflicts
      it was always supposed to.

commit 8da88429892a1401dccac9faa6ea2869c953d250
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 13:11:03 2012 +0300

    Add doxygen documentation to string pool API

commit 3ba2d1bc9cc440f4bf7361cd7e8253db88459530
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 13:09:39 2012 +0300

    Fixup a copy-paste error in rpmdsPool() doxygen markup

commit f93162a7023b536d439a7338ee462288017d6d57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 12:18:39 2012 +0300

    Fixup string pool prototype argument names to match implementation
    
    - Just a simple s/sidpool/pool/ to match the implementation, "sidpool"
      is a leftover from early draft version that somehow made its way
      to the master tree.

commit 3916fee0ccaea1034aac8129e8b9216ba8c47ca8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 11:43:17 2012 +0300

    Remove leftover, no longer valid comment

commit 9a3f590e32af04e121da4004b9013e6dca1de5d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 12:52:13 2012 +0300

    Freeze the rpmfc string pools once all additions are done
    
    - Memory use isn't typically that critical during build, but saving
      a little bit of it doesn't hurt anyway...

commit 50983815f090262dd782df07a8827b290bacfcdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 12:32:32 2012 +0300

    Dont waste time with argi for rpmfc file class indexes
    
    - argiAdd() isn't as costly as argvAdd(), but it still involves unnecessary
      reallocation on every addition as the number of files is predetermined,
      and each file has an associated class index.
    - Additionally fixes a mostly harmless glitch introduced in commit
      65e616cc9fdd00f523939088fab1070021b9f742: the pool id's are one larger
      than the indexes we store in headers, take this into account in the
      debug output.

commit 1c18cb27e6bc9085e51e127732dd9e8051224ba9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 12:02:27 2012 +0300

    Dont waste time with argi for rpmfc file colors
    
    - argiAdd() isn't as costly as argvAdd(), but it still involves unnecessary
      reallocation on every addition as the number of files is predetermined,
      and each file has an associated color (whether its zero or something else)

commit da20a6dbf1dfc655762440ce9784756fb4353eb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 11:31:41 2012 +0300

    Dont waste time with argv for rpmfc file names
    
    - argvAdd() gets more and more costly as the number of files increase,
      use a plain old string array where one is called for: the size
      is predetermined (from another argv) and we're just copying the
      strings for internal storage here. We do need to pay a little bit
      more attention to details now though.

commit cb112b67450398aa0981b4055fc66e9972b91eff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 10:26:53 2012 +0300

    Use a string pool for the build-time file dependency string storage
    
    - The pool is mostly just a dumb storage space for this case, but
      insertion to pool is far more efficient than argv search, add,
      sort operation. The order does not matter as the actual information
      is encoded in the string and then painfully parsed out again. This
      could really use a special-purpose data structure for sanity but...

commit 65e616cc9fdd00f523939088fab1070021b9f742
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 09:56:18 2012 +0300

    Use a string pool to build file class dictionary and indexes
    
    - The string pool is a natural fit for this and much more efficient
      when the number of files (and classes) is large.
    - This does have an effect on the generated classdict array: it's no
      longer sorted, and we no longer always (possibly unnecessarily)
      insert an empty string and "directory" in it, but only when they
      actually exist. Neither change makes any difference for usage,
      unless some 3rd party software is making assumptions about the
      classdict contents they shouldn't be making (very unlikely anyway)

commit ced81d216996c226d8ef4c26965f22ebfd32ff04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 09:41:30 2012 +0300

    Cosmetics: properly indent the rpmfc debug foobar

commit 1bbf25b78f31e93b7e54d7739f13285b99c907c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 08:34:40 2012 +0300

    Add function to get number of unique strings in the pool

commit 824fd200b014b3b680fe6b01fc271a68fedd103e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 24 11:57:55 2012 +0300

    Switch back to early added packages rpmal populating
    
    - Basically reverts commit d10a9941326f7d397428c8ab0b4ba571cfc6c184
      which was just a temporary transition-period thing. Moving pointers
      dont bother us anymore...

commit 25dbf52fe2968c1e118dc995c3045ee6666454ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 24 11:56:34 2012 +0300

    Test obsoletions within the transaction set, both ways
    
    - Similar to commit f7c1eb5ef041b9b06cbb81dac7d7972a602cad44 but
      on obsoletions

commit f7c1eb5ef041b9b06cbb81dac7d7972a602cad44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 24 11:51:49 2012 +0300

    Test different versions in same transaction both ways
    
    - Different versions can happen two ways: older first or older last,
      test both cases
    - Add verbose output for install to get the warning messages too and
      require that matches as well

commit ad3f256be3c8507473f22c92ee031d422fc712c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 15:49:11 2012 +0300

    Take advantage of rpmstrPoolStreq() in rpmdsCompare()
    
    - This gives quite a speedup for dependency checking as within
      transaction, all the dependency sets come from the same pool
      and making this just an integer comparison.

commit 971a2887f88d3944a5d828c86e021ca8e606e051
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Sep 18 10:55:51 2012 +0200

    Change poolHash to use internal collision resolution

commit 921be290fc5d9479a554936d5b3c546154af1871
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 13:01:59 2012 +0300

    Eliminate strdup() in doLookupId()
    
    - Take advantage of the length-aware pool string->id lookup to avoid
      the need to copy and locally modify the canonized dirname. Makes
      the code cleaner and a little bit faster too.
    - There are further possibilities in this direction, canonDir()
      could return an id instead of malloced memory but that doesn't
      remove the need for temporary bugg^H^Hffer to clean up the dir.

commit 0c1e3ec94df2b769fb2d6b77dbe5eca5e41f3d09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 12:50:31 2012 +0300

    Lift directory name canonicalization into a helper function
    
    - Suddenly it all seems so much clearer...
    - Also try to better handle the theoretical realpath() errors: on
      failure the buffer contents are undefined and we shouldn't look
      at them, free the buf and return NULL.

commit 3619df6ebb5805cc69d27ad35cca746600f1d996
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 10:42:59 2012 +0300

    Aargh, stupid thinko in rpmstrPoolStrlen() last id special case
    
    - At the largest id, the end boundary is data, not offset size... doh

commit 6df098e76b0aff25b80ebeb58f649684c2634d44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 19:04:40 2012 +0300

    Unbreak fingerprinting when called twice for the same transaction set
    
    - Fixes regression (yum updates barf with conflicts) from commit
      3b492620fb35a21d05b975e31130dc071f6fd8e2 which doesn't affect rpm
      itself but breaks some API users like yum that first run a
      test-transaction and if that succeeds, the same transaction is run
      for real. In that case we need to redo the whole fingerprint dance
      from scratch: throw away any former results and redo.
    - Blaming Fedora 18 alpha preparations for not noticing this earlier:
      there have been no updates to F16/F17 in almost a week, effectively
      disabling a part of the regular rpm development QA :P

commit 9ffe90fc2dcd812e8f4aef8e9d2423d775327b9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 10:40:18 2012 +0300

    Oops, refactoring error in commit 327701572ff912413ec9564d29d946b4ab21a9f3
    
    - sizeof() doesn't work very well for malloced arrays... not that it
      matters a whole lot, this isn't a path that will ever be executed
      afaict.

commit a642de2e7f571913fff1f05526414807658b1ed0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 10:03:13 2012 +0300

    Ensure fingerprint subdirs have heading slashes
    
    - Similar to commit ad99f4e84a5fea05edca59257b6e00d91d6c8a08 but at the
      other end of the name: not all subdirs will exist in the pool already
      but none of them exists without the heading slash. Saves another handful
      of megs on larger transactions.

commit ad99f4e84a5fea05edca59257b6e00d91d6c8a08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 09:39:38 2012 +0300

    Ensure directories have trailing slashes in doLookupId()
    
    - In the old days, stripping trailing slashes made sense as its useless
      as it is and stripping it saved a bit of memory, but now with the
      directories in the pool things are different: while not all paths
      we'll see here necessarily exist in the pool already, NONE of them
      exists without the trailing slash, so stripping it out wastes gobs
      of memory.  Simplifies the code a bit and saves several megs of memory
      on larger transactions, what's not to like?

commit bb619c0672190a87c262022fd9b546ac7f7d48b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 07:29:43 2012 +0300

    Further doLookupId() cleanup
    
    - Refer to dirName when we haven't yet cleaned it up to clarify uses,
      only initialize the const cleaned dir name pointer after we've
      successfully cleaned it up. Rename cleanDirName to cdn to keep it
      sweet and short, and suggest the relation to cdnl and cdnbuf.

commit 327701572ff912413ec9564d29d946b4ab21a9f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 06:56:46 2012 +0300

    Elimiate one of the umphteen directory variables in doLookupId()
    
    - Use dynamically allocated cdnbuf in the non-absolute path case (when
      exactly that occurs is another question) too instead of the on-stack
      dir[], making the two paths a bit more similar.

commit b8e5a448c5f58a174d42e00136df01565c6d3e74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 06:30:59 2012 +0300

    Avoid redundant ds -> id -> string lookups in rpmalAllFileSatisfiesDepend()
    
    - We need to grab the dependency string in rpmalAllSatisfiesDepend()
      already to see whether its a file dependency or not, just pass that
      to the file deps to avoid redundant work.

commit 272eaae387c72cac14eff8665eaa3126ca2dcc22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 06:27:57 2012 +0300

    Dont bother with separate notifications on multiple file dep matches

commit da9361f2d6b6b216f960785805e789251d34e94c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 06:26:34 2012 +0300

    Avoid the string copy in rpmalAllFileSatisfiesDepend() now that we can

commit 4c75ab28b804e182bfd258b2caf54caf1e8e70be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 06:01:43 2012 +0300

    Make pool string->id operations properly length-aware
    
    - Allow looking up and inserting partial key strings, this is useful
      in various cases where previously a local copy was needed for
      \0-terminating the key in the caller.
    - Take advantage of rstrlenhash() in rpmstrPoolId(), previously the
      length was only interesting when adding so we wasted a strlen()
      on every call when the string was already in the pool.

commit 0927ab855e415a2823e1852d1497885e4903fad7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 04:46:10 2012 +0300

    Add length aware variant(s) of string hashing
    
    - Being able to hash partial strings is needed for allowing string pool
      to operate on partial strings...

commit 76a699701cda144af96f77061b036c7afc10fce4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 04:34:38 2012 +0300

    Enhanced string hash to permit calculating string length on the same call
    
    - String hashing needs to walk the entire string anyhow, might as well
      take advantage of this and have it return the string length to avoid
      having to separately call strlen() in the cases where this matters.
    - Move the implementation into rpmstrpool.c for inlining possibilities,
      rstrhash() is now just a wrapper to rstrlenhash(). The generic
      hash implementation could not take advantage of this anyway really.

commit bef4be688de3b29fe62d10bf723ad888111853aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 04:15:56 2012 +0300

    Dont assume \0 terminated strings in rpmstrPoolPut()
    
    - Before this, the slen argument was only good for avoiding an extra
      strlen() but being able to handle shove and lookup partial strings
      without local copy+modify in callers is handy, this is one of
      the prerequisites for that.

commit 1abd80f9c2a6d746bdc12d708210b69680d7e1ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 15:52:59 2012 +0300

    Use pool id's for hash table key, lookup strings from pool as needed
    
    - The pool itself can address its contents by id alone, storing
      pointers to the strings only hurts as reallocation moving the
      data blob requires rehashing the whole thing needlessly.
    - We now store just the key id in the hash buckets, and lookup the
      actual string for comparison from the pool. This avoids the
      need to rehash on realloc and saves memory too, and this is one of
      the biggest reasons for wanting a separate hash implementation for
      the string pool. Incidentally, this is how libsolv does it too.
    - Individual bucket allocation becomes rather wasteful now: a bucket
      stores a single integer, and a single pointer to the next bucket,
      a pointer  which can be twice the size of the key data it holds.
      Further tuning and cleaning up after the marriage of these two
      datatypes left after the honeymoon is over...

commit 7cb0a71a115047fe94d7ab1bb42a3c9556796ee3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 15:32:36 2012 +0300

    Move the string pool struct definition earlier so we can reference it...

commit 77392704f3caf40a8c7c6f5b7c5fa2cc5b05f9a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 15:18:01 2012 +0300

    Inline poolHashfindEntry() into GetEntry(), nothing else needs it

commit 533106ccfe4c459fb5a023fa2b1a41b8527d7fef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 15:01:46 2012 +0300

    Eliminate key comparison and hash function vectors from poolHash
    
    - As the pool is hardwired to single hash type, these dont make
      any sense here and the extra indirection will only hurt performance.

commit 38fe7e3b478d751610fcfc0c9bbe004a2633fd13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:48:21 2012 +0300

    More poolHash multiple data-value cleanups
    
    - The only data associated with a pool key is a single id, we dont need
      an array for that
    - Change poolHash get-entry return the id directly instead of pointer array

commit 46b664b11b425b8641f05f275087b313d2fc0af3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:43:43 2012 +0300

    Eliminate redundant data counting from poolHash
    
    - There's a strict 1:1 relation between keys and data in the string
      pool, this keeping count of data is pointless.

commit 95794632beff22dca590746d40bf033b61a8dee4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:30:55 2012 +0300

    Eliminate unnecessary key and data free-functionality from poolHash

commit d9d9fecaeff9820dc39a1b44a68afd11a1bcc4f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:20:30 2012 +0300

    Pull a private hash-implementation copy to string pool
    
    - The string pool is more specialized a data structure to be efficiently
      handled with the generic hash table implementation in rpmhash.[CH]
      and really requires quite a different approach.
    - For starters, import a private copy generated roughly with:
          gcc -E -DHASHTYPE=poolHash \
                 -DHTKEYTYPE="const char *" -DHTDATATYPE=rpmsid rpmhash.C
      ...and clean it up a bit: eliminate unused functions (except for
      stats which we'll want to keep for debug purposes), make remaining
      functions static and overall tidy up from the mess 'gcc -E' created.
      Lots of redundant fluff here still, to be cleaned up gradually...
    - This doesn't change anything at all, but opens up the playground
      for tuning the pool hash implementation in ways the generic version
      could not (at least sanely) be.

commit 72d0735b90650efcb77210490ff89ec105966d39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 13:33:42 2012 +0300

    Rename string pool hash type to poolHash
    
    - No changes other than a rename for next steps...

commit 9209e6cd78a1e6814f3038734cdd300b97ddcf1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 10:48:05 2012 +0300

    Permit key imports even if signature checking is disabled (RhBug:856225)
    
    - Since commit 290fcbbe6b3ca2fb1d5e4a7269a32a94f8a1563a, key imports
      on transaction sets where signature checking is disabled would fail
      due to keyring not getting loaded at all. A regression of sorts,
      in other words. As a minimal fix, temporarily enable sigcheck vsflags
      during keyring loading.

commit 241fc3c143b90cccd47ceb5637542970ef470f25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 15 13:01:53 2012 +0300

    Lift string pool rehash into a separate helper function
    
    - This way we have exactly one place for controlling hash (re)creation
      size strategies etc.

commit 95329e10bee61848428c12e971fb9749a1285b55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 15 12:49:15 2012 +0300

    Use a saner pool hash resize hint
    
    - The previous size hint would actually cause us to shrink the hash
      bucket allocation, requiring the hash to resize itself immediately
      afterwards. As if the rehashes weren't expensive enough already...

commit 57f9d42a0eb380d93dfe8efeb52f366e754ad0c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 15 12:14:43 2012 +0300

    Be more selective about legacy retrofits on package read
    
    - Missing RPMTAG_DIRNAME can mean either a package with uncompressed
      filenames OR a new package with no files, in which case the retrofits
      should not be performed. Also a newer package can be built with
      --nodirtokens, requiring filelist compression but no other retrofits.
    - Test for immutable region presence for more accurate v3 package
      detection, if not present do a full retrofit. For others, explicitly
      test for OLDFILENAMES presence and only compress the filelist if needed.e

commit 62fd585b2ecd85519d67cc7185077d1178aed040
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 19:55:03 2012 +0300

    Switch rpmdb basename finding to use pool id's instead of strings
    
    - Ids are both faster to hash/compare and cheaper to store than string
      pointers. Not a huge win but a win anyway...

commit efa7b1dc0c4bfb260c799b612b5c362e4f47b1fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 18:31:19 2012 +0300

    Cleanup + optimize doLookupId() a bit
    
    - Eliminate redundant second strlen() on dirName on entry, and avoid
      the first one as well by grabbing the length from pool instead.
    - Reorganize the initializations and declarations a bit for clarity.

commit 71287c81bd44dbd92001b3985798bdac0f1ff725
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 16:03:07 2012 +0300

    Remove leftover variable from previous commit
    
    - Should've been in commit 1770fca303c5c5abdb27040649b458b59494823

commit 1770fca303c5c5abdb27040649b458b594948238
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 15:03:21 2012 +0300

    Change fpLookupList() to operate on pool id's only

commit 2dc56393a25376dc69a6151f685a24cc9f34bcdc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 14:49:04 2012 +0300

    Do the low-level fingerprint lookup based on pool id arguments
    
    - When at all possible, we'd prefer working on id's instead of
      actual strings, change the lowest-level fingerprint lookup to
      use those, doLookup() is now just a wrapper to handle string ->
      pool id conversion before doing the actual work. This shouldn't
      affect anything at all yet.

commit 20bf602a2648434d9adc5fda0fb76af0d5766961
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 14:21:45 2012 +0300

    Switch fingerprinting to use the global string pool
    
    - Transaction preparation fingerprinting now shares all the strings from
      rpmfi's etc. Rpmdb basename iterator still needs a private pool
      as there's nowhere to get a pool handle (for now at least).
    - We no longer need to (and actually we couldn't) freeze the
      pool before fingerprinting.

commit 5bad56b4ab36b71e5d1874073bdcf81665809c53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 14:21:10 2012 +0300

    Allow passing a shared pool for finger print cache
    
    - Both callers updated to still use a private pool so no practical
      change here.

commit c66656052de4e58a30b637aef31399c9bd53c70b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 14:19:32 2012 +0300

    Remove scareMemory remnants from the internal API, fixup callers

commit 566a332c6907a0969ea8f79a4c7a62bca2d1f1b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 14:12:08 2012 +0300

    Switch fingerprint subDir to pool ids
    
    - <gulp> but no anomalies noted by test-suite, valgrind or
      a bit of manual testing. Time will tell...
    - Memory is no longer scarce or scary, the strings are simply owned
      by the pool in all circumstances. Eliminate scareMemory foobar
      from the fingerprinting internals.

commit 843166ecce828f71312db352cb9c7e2bc1ad8772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 10:50:53 2012 +0300

    Switch fingerprint basename to pool ids
    
    - For now we're doing a fair amount of extra work and wasting memory
      as data is in different pools so we need to copy to get the strings
      and ids into our private pool. This will go away later.

commit 71be0e2a32cfa06d7e76426ab0cc171bd1d3cd7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 10:24:13 2012 +0300

    Switch fingerprint cache-entry dirnames to pool ids
    
    - This is fairly straightforward (or supposed to be...) especially
      now that its all hidden behind APIs. Note that we no longer bother
      precalculating the hash as a pool-id's hash is a no-cost operation,
      for strings it was far more expensive.

commit a742729ac415fe98917f3beb06c80f9f6bbc5a6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 10:01:54 2012 +0300

    Add a string pool to fingerprint cache (but not yet used)

commit 3d65369920e539b51142f981fd8faff7d7dad5ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 09:28:50 2012 +0300

    Make fingerprint struct opaque outside fprint.c
    
    - rpmfi cannot know anything about the storage, so rpmfiFpxIndex()
      cannot be... change it to rpmfiFps() which only returns the pointer
      we got from fpLookupList()
    - Change fpCacheGetByFp() to assume it gets passed an array of fps,
      and take an additional index argument. Return the fingerprint
      pointer on success, NULL on not found to allow further operations
      on the fp without knowing its internals.

commit 9e7adb8f14303edf0262744cea7a7f0a650f8ca2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 08:41:01 2012 +0300

    Change fpLookup() to return malloced memory (on first call)
    
    - If the fingerprint pointer passed to it is NULL then allocate space
      for a new fingerprint, otherwise reuse the previous space. This should
      allow optimizing the case where repeatedly calling and directory
      doesn't change inside fpc so callers dont need special-case code
      for this. For now, we dont care about optimizations, other than
      making it possible later.

commit ab180dacb9badaef882a098639eb50196cff8f57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 07:45:44 2012 +0300

    Make fingerprint cache entry opaque, add some kind of API for the needed bits
    
    - Only disk-space calculations need the actual entry contents, add
      getter for dir name and device. We're passing the cache to these
      getters too: its not currently unusedd but will be needed for
      directory name pool id->string translation once we get there...

commit 5bbd07c696f6a3bc9b6bce540804423692276487
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 07:14:14 2012 +0300

    Hide away the FP_EQUAL macros

commit 3b492620fb35a21d05b975e31130dc071f6fd8e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 00:21:04 2012 +0300

    Change fpLookupList() to return malloced memory
    
    - Eliminates one place where knowledge about fingerprint internals
      has been needed, now rpmfi just gets (an supposedly) opaque blob back.

commit 5d89aac5d2f271267c642a64e631263dbdfdeacf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 14 00:10:45 2012 +0300

    Add internal API for fingerprint lookup-and-compare
    
    - Replace the direct hackery in rpmdb internals with a little less
      direct hackery...

commit ae38f0a977ded4da48b71caac6f796505ef5456a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 22:41:41 2012 +0300

    Bury the fingerprint hash-types into fprint.c, clean up
    
    - fprint.h only needs rpmtypes.h now, remove historical leftovers
    - Avoids having to define the hash types multiple times as they're
      now buried out of sight
    - fpHashFunction() and fpLookupSubdir() can now be made static, do so...

commit d3de5120b7930d1d2abf99b7c4a315b4053d702d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 22:19:40 2012 +0300

    Move the entire fingerprint cache population into fprint.c
    
    - Rename addFingerprints() to fpCachePopulate() and move into fprint.c.
      This doesn't really belong here as it requires fprint becoming aware
      of transactions and all, but at least these are all controlled API
      accesses unlike where in transaction.c this was messing with somebody
      elses data structures directly.
    - Move the by-fingerprint creation to fpCachePopulate() so it gets
      lazily done as needed and copy the original hash-size heuristics
      back here.

commit 33b900fc03486e5cf3fd22373cf3187fbdffbea0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 21:52:38 2012 +0300

    Hide by-fingerprint hash into fingerprint cache, add minimal API bits
    
    - For now, always create the by-fingerprint hash although rpmdb usage
      doesn't need it. Next steps will fix...
    - Add wrapper API for retrieving the records, adjust callers
    - No functional changes, at least intended ones... just first steps
      towards eliminating the hash-jungle and forcing a single API
      through which this stuff gets handled

commit 56ba2dc3accddb783ae07f37a2fc8c4347fe04cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 21:13:47 2012 +0300

    Make fingerprint cache opaque outside fprint.c
    
    - Not that it matters much when everything else is wide open but gotta
      start with something...

commit b78ba1ae51a3e0a9821b58963a642ed38b98dce4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 13:12:59 2012 +0300

    Convert our dependency checking code to use the new rpmdsMatches()
    
    - Instead of adding three more pool-aware versions of the old API's,
      convert the main callers to the newew more flexible API. As a
      "minor side-effect" these now use the transaction string-pool as well,
      so ALL our pre-transaction dependency sets are now using the global
      pool.

commit 17d3db4e3a36861ffc50d7232e92d39834079931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 12:46:41 2012 +0300

    Unify the three rpmdsFooMatchesDep() functions into one
    
    - These all do more or less the same thing, easily handled with a common
      function that takes a couple of more extra parameters. The old variants
      become just wrappers to call the pool-aware rpmdsMatches() with suitable
      arguments.

commit 26ae2e4390f4e03d70ee3b267a0735f1f2b1ef10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:55:52 2012 +0300

    Use transaction string pool for rpmlib() dependencies too
    
    - This wasn't possible with the former static rpmlib() dependency set
      as it would've kept the potentially huge global pool referenced
      throughout process lifetime.

commit d12fe7841e93dfa5a28c6e2aab6568da977f1511
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:54:54 2012 +0300

    Add pool-aware version of rpmdsRpmlib()

commit 9cf8f29db5752f7db94b925334ac7e9ab2dab89d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:45:29 2012 +0300

    Hang rpmlib() dependency set onto transaction set
    
    - Eliminates the cumbersome static rpmlib ds instance which can never
      be freed, as a member of the transaction set it simply gets cleaned
      out along with other transaction (dependency) data.

commit 6b461f4ed170111b601b1f205f0cf3b8bd4bfbd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:36:27 2012 +0300

    Use transaction string pool for ensureOlder() dependency sets

commit 825f98e44f2c1569c6405afb0506939bdfc1724d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:35:57 2012 +0300

    Use transaction string pool for findPos() dependency sets

commit a03b78a8cd563335d546f8af849400078fea4999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 11:18:23 2012 +0300

    Put transaction element "self" dependency set into global pool too

commit 9816b07560afa17f396467229cafd136fad46d61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 10:56:42 2012 +0300

    Add pool-aware versions of rpmdsThis() and rpmdsSingle()
    
    - Pooh ... I mean pool ... bah. The previous  versions become simple
      wrappers to the pool-aware ones, using a private pool always.
      rpmdsCurrent() doesn't need pool-variant as its inherits its pool
      from the parent.

commit f3f4c74748fe75c819ecdd711dfa451024d1c241
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 10:39:28 2012 +0300

    Simplify single ds creation
    
    - Eliminate the pre-created pool wtf'ery (what was I thinking?), just
      create a ds with zero id's and fill them up once we have the ds.

commit 1e2c2fece25adad725261089ca47108937067088
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 08:48:56 2012 +0300

    Add a string equality check function to string pool API
    
    - As a special case, two strings (ids) from the same pool can be tested for
      equality in constant time (integer comparison). If the pools differ,
      a regular string comparison is needed.

commit b6c794362aa9b3b2552f32bd13775a127febc17d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 20:11:00 2012 +0300

    Whoopsie, unbreak checking of installed dependencies
    
    - The dependency sets created from installed headers during rpmtsCheck()
      were using a private pool and thus ids not matching with the ones
      in the global pool. Oops. Somehow none of our test-suite cases
      caught this, looks like we'll need more tests... Also the safe-guard
      assert()'s are in all the wrong places for catching this particular
      problem. Doh :)
    - There's a chicken-and-egg situation involved: in order to do this,
      the global pool needs to be in unfrozen state during rpmtsCheck(),
      which was not possible before switching rpmal provides (and files)
      to pool ids. Now that it *is* using pool id's, move the freeze-point
      to rpmtsPrepare() as the fingerprinting has similar issues with
      moving strings.

commit 2ea2a0961f380d844e4e1541df4f2c05f3b78449
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 19:29:28 2012 +0300

    Only rehash the pool on insert if the data area actually moved
    
    - realloc() might not need to actually move the data, and when it
      doesn't we dont need to do the very expensive rehash either.
      Unsurprisingly makes things a whole lot faster.

commit 86036abb978cb4bacc552446389e813554fdf2b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 19:20:52 2012 +0300

    Switch rpmal file hash to use pool id's instead of strings

commit d7749956a8ad8e69dddc56bf4396c40587927333
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 16:51:12 2012 +0300

    Switch rpmal provide hash to use pool id's instead of strings

commit a7c133471012122da669afbd2a45464ac64d886a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 16:50:41 2012 +0300

    Add a some transition-period asserts to ensure pool-usage sanity

commit 06546854933d0d7682bffbdf11c50c1efde17045
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 16:47:43 2012 +0300

    Allow keeping hash table around on pool freeze, adjust callers
    
    - Pool id -> string always works with a frozen pool, but in some cases
      we'll need to go the other way, allow caller to specify whether
      string -> id lookups should be possible on frozen pool.
    - On glibc, realloc() to smaller size doesn't move the data but on
      other platforms (including valgrind) it can and does move, which
      would require a full rehash. For now, just leave all the data
      alone unless we're also freeing the hash, the memory savings
      isn't much for a global pool (which is where this matters)

commit 86dbb8844807b077f27255cccc9c0714a0005d02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 14:38:34 2012 +0300

    Add getters for rpmds dependency name and EVR pool ids

commit bfde7c4d0ae940dce2686326212a5329d7efa2aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 14:38:08 2012 +0300

    Add getters for rpmfi base- and directory name pool id's

commit 8ef9afa77e4532cbf6ade87663b5e8a891e77632
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 14:33:17 2012 +0300

    Pass transaction pool to rpmal (but not used yet)

commit 2a1a6f405a4c5719b4a060fead8e3ba5e2c28e63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 13:43:46 2012 +0300

    Actually enable the global transaction string pool
    
    - With this, practically all transaction member file (base- and dirname)
      and dependency strings get now stored in a giant transaction global
      string pool. Greenpeace applaudes us for all the rain-forests that
      will be saved by the memory savings... not. Some memory is saved
      but the real wins only start when everything is converted to use
      pool id's instead of string pointers. Also we're still creating
      a ridiculous number of private pools from various sources, but
      we gotta start someplace.

commit a3bb7f59a7a3b75d2d13029e8a47b700bf8634dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 13:37:54 2012 +0300

    Add infastructure for global transaction set string pool
    
    - Add a pool pointer to to ts members struct and a getter function
    - Grab the global pool for rpmte dependency- and file info creation,
      if its NULL then the sets will use private pools of their own.
    - Add the (currently) required magic voodoo rain-dance to freeze and
      unfreeze the pool as necessary wrt new element additions: for
      current rpmal and fingerprinting to work, the string pointers
      must be immovable.
    - This is infrastructure only: nothing creates the global pool yet,
      so everything is still using private pools.

commit 3226c2073a71818ab45de6784840ccdc28d07b46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 13:32:31 2012 +0300

    String pool id 0 equals NULL
    
    - Pool id 0 is special case for "not found". Return an actual NULL
      instead of an empty string.

commit bed3880ef1aac914970a712ed295dad68947bb7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 13:30:50 2012 +0300

    Avoid doing anything if pool is already frozen

commit 00b6d69a7a7a55f381043fc26f1ee86f15d26014
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 12:53:56 2012 +0300

    Add getter methods for rpmds and rpmfi string pool handle

commit d10a9941326f7d397428c8ab0b4ba571cfc6c184
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 12:41:07 2012 +0300

    Delay transaction added packages rpmal creation until required
    
    - We're not using the added rpmal for anything before rpmtsCheck() and/or
      rpmtsOrder(), so this shouldn't break anything either. This is probably
      a more or less temporary setup to make string pointer -> pool id
      transition a bit easier.

commit 141c898cba6f7c862f34afc939e888edee6b056e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 12:30:44 2012 +0300

    Add an nternal rpmal create+populate helper function, use for erased packages
    
    - We'll need this shortly for added packages too...

commit 8a1f9c13fddb6c39a11950f6f934c71e050ae441
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 14:40:01 2012 +0300

    Oops, only private pool should be frozen on ds create

commit 0d17da2615efe3e7168000f57ddd285365dd7515
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:53:24 2012 +0300

    Add an alternative rpmds constructor to allow shared pool usage
    
    - rpmdsNewPool() allows specifying shared/private pool, and rpmdsNew()
      is now just a wrapper to always call it with NULL (ie private) pool.

commit 2d62f297bc07682f221cc8d4c893fa72d32e342b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:42:21 2012 +0300

    Freeze the rpmlib dependency set pool on successful return
    
    - ...to avoid wasting memory on the relatively static data. We could
      handle the rpmlib ds singleton behavior here too but it would change
      semantics. Ponder about it later...
    - Would be nicer to have rpmdsMerge() freeze on return, but that
      gets called in loops so we'd be doing a whole lot of huffing and
      puffing recreating the pools on each entry.

commit f5be0543322cf8989c2a5f7ccf2b8c957b09f45f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 13:14:04 2012 +0300

    Further split single ds creation into two, sigh
    
    - Allow rpmdsCurrent() to share the pool and id's of its "parent" ds
      instead of having to repeatedly create and tear down entire pools
      just for a couple of strings. Used by python bindings for rpmds
      iteration so we'll want to be reasonably efficient.
    - For now, rpmdsSingle() and rpmdsThis() always get a private pool,
      wasteful as it might be, but at least now we can freeze them.

commit cee404ff37b0c2c3677db8c37d957fb065f92638
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 11:46:19 2012 +0300

    Unify the common parts of rpmds creation into a helper function
    
    - No functional changes, just sanity-refactoring

commit b89a83682942aeed19471649d89f1e54523c8cee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 11:19:23 2012 +0300

    Eliminate assert()'s from rpmdsMerge()
    
    - These "can't happen" cases where EVR/Flags in source ds are missing
      are just as easy to handle as is dying, handling is saner...

commit c5b6ad0464f543e8437dd36d768b4297fbb7dbcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 11:00:24 2012 +0300

    Eliminate assert()'s from rpmdsDup()
    
    - The "can't happen" case where EVR/Flags are not present is just as
      easily handled as dying.

commit 71c72058d26994e2e3323c907b5c1325814a0149
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 10:41:49 2012 +0300

    Switch dependency sets to use string pool storage for names and evrs
    
    - Always push dependency names and versions into string pool (private
      for now). This is terribly wasteful for single ds items, even more
      so for rpmdsCurrent() but to keep the initial switch-over changes
      to minimum we'll deal with those later.
    - While we freeze the pool for ds data from headers, single ds items
      are on purpose not frozen for now, due to interactions with
      rpmdsCurrent() and rpmds merging.
    - Eliminate no longer needed rpmdsDupArgv(), we're now just copying
      a bunch of integers around. Sanitize rpmdsMerge() now that we can:
      realloc and shift the data instead of recreating all of N, EVR
      and Flags.

commit 51f1cff50d7561adfc71a38085af38e3bf261a4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 10:03:51 2012 +0300

    Fix segfault on rpmstrPoolId() on frozen pool
    
    - String -> id lookups need the hash table in place even if we're not
      adding. We could do a linear search in such a case but...

commit 00deac224c023d5195a0795e4e9367fad6e85cee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 09:01:49 2012 +0300

    Make rpmstrPoolUnfreeze() safe to call on unfrozen pool

commit 0c76a514f00c733542850816d2028fed3ece0f37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 08:12:49 2012 +0300

    Rename td2pool as rpmtdToPool, export and optimize
    
    - Using rpmtd iteration for this is slow and stupid as we keep
      pointlessly re-re-re-re-re-validating the tag type and indexes.
    - Change argument order to source -> destination
    - Move to rpmtd.c where it belongs and make public with a decent
      name. Not sure if this is the kind of an API we really want to make
      public but ... at least for now it'll do.

commit 9929a34aaf1fd4c485c2f8d38be0017d7a610c7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 08:05:43 2012 +0300

    Eliminate direct rpmds name (and flags) access on rpmdsNew()

commit c5276f3b3d058b342f30b4ed62738fb34250d1d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 07:52:47 2012 +0300

    Clean up rpmdsSearch() a bit
    
    - Eliminate numerous repeated direct accesses to [o]ds N, EVR and Flags,
      instead use getter functions and local variable for ods name which
      does not change.

commit 42f6abba482c792d496bff0f4c9c0d5f04538e8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 07:40:06 2012 +0300

    Add internal indexed variants of rpmds N, EVR and Flags getters
    
    - We'll need these to eliminate the remaining direct accesses to
      N, EVR (and Flags) on random access patterns such as rpmdsSearch().

commit a596ae47a37e7d855c4697933f48eef043aca4ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 07:25:04 2012 +0300

    Clean up rpmdsFind() a bit
    
    - Eliminate numerous repeated direct accesses to [o]ds N, EVR and Flags,
      instead grab them into local variables through getter functions as
      needed: on entry for ods which doesn't change, for ds in the loop
      as we're changing ds->i here.

commit d2f51ded49d438f3c6c6026ff4202196c94f2651
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 07:23:50 2012 +0300

    Split rpmds EVR comparison into function of its own
    
    - The EVR comparison is a distinct operation of its own: rpmdsCompare()
      looks at the other properties, EVR comparison is done if needed.
      Doesn't affect speed or functionality, but cuts down on the
      big number of local variables and has the nice side-effect of
      making the xstrdup() allocations local within rpmdsCompareEVR()

commit 03b6fcb1a19f82708ed5453d474584e7aa5782be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 06:58:00 2012 +0300

    Use getter functions for name, evr and flags in rpmdsCurrent()

commit 9d0e0fcc2304360aa8af51a4fc3cd7fa00703fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 06:54:31 2012 +0300

    Clean up rpmdsCompare() a bit
    
    - Eliminate numerous repeated direct accesses to ds N, EVR and Flags,
      instead grab them into local variables through getter functions
      as they are needed. Besides making it easier on the eyes, makes the
      function safe(r) wrt illegal iterator values etc.

commit 25bef90870b883b66e8d914072b77585fab3b8a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 06:34:36 2012 +0300

    Clean up rpmdsNewDNEVR() a bit
    
    - Eliminate numerous repeated direct accesses to ds N, EVR and Flags,
      instead grab them into local variables at entry. This also makes
      the function safe illegal iterator values (ie calling when iteration
      not started), previously the bounds were not checked.

commit 09373ec03a3537006c4252ff732273d4506e44d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Sep 9 12:25:56 2012 +0300

    And now, on to the embarrassing string-pool reimplementation bugs, take I
    
    - String pool offset resize was off by one, oops
    - String pool data-area resize requires rehashing all the strings,
      as the key pointers change. Ouch. Should be avoidable by extending
      rpmhash to allow passing the pool itself around in comparisons as "self"
      and using offsets as keys, but for now working counts more than speed.
    - The unfreeze-sizehint calculation could be negative. Turn the initial
      size into constant and use that as a minimum, otherwise rehashing
      uses (more or less arbitrary) heuristics to come up with some number.
      Lots of fine-tuning ahead...

commit 7dc5ca2da158102f2ea16086520f440c158e6b60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 8 11:25:16 2012 +0300

    Switch file info set base- and dirnames storage to string pool
    
    - Always push base and dir names into file info sets string pool,
      whether private or shared. For basenames, this can save significant
      space even in a private pool, for dirnames private pool is moot
      as the names are already unique, shared pool is quite another story.
    - Adjust fpLookupList() to take a pool and id's as arguments.
    - This introduces a fair amount of overhead, so things will be somewhat
      slower until the transition to pool id's is (more) complete. Sometimes
      things have to get worse before they get better... Other than that,
      this should be entirely invisible to callers.

commit 337a7b130a34b5f01863ff50fa92a7e3cf48b0a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 8 10:44:08 2012 +0300

    Clean up file info set creation, comment
    
    - Grab and validate the file triplet before placing the data into the
      file set. Other than making it more explicit, doesn't matter right
      now but we'll need this shortly.
    - Refactor the file triplet sanity check into a generic indexed triplet
      sanity check (and notice there was an error in the previous index
      range checking, duh)
    - Apart from the index range fix, shouldn't change any actual functionality

commit 03aac530fb53282f9a876fc09dbc06159031d4ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 8 09:43:57 2012 +0300

    Push the flag foo into rpmfiPopulate(), explicit HEADERGET_ALLOC for others

commit fbdd7095b4edc0ae890ad40ddb4529259a53ae7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 8 09:40:21 2012 +0300

    Always allocate directory index data
    
    - Just for consistency's sake: now the "core" file triplet data does
      not depend on how we got called.

commit 895fe67e32f569264b67c75e68609a69bb808fda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Sep 8 09:18:00 2012 +0300

    Refactor the big rpmfiNewPool() to two separate pieces
    
    - Split file info generation by mandatory/optional data: every file info
      set has the file triplet information, but all other data is optional
      depending on the create flags. No functional changes.
    - Being able to create just the core file triplet and fully populate
      later might be useful for checkInstalledFiles(), but we'll see about
      that...

commit 068b2afdf674e424c24ffed86486c5c5e1522d0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 21:13:21 2012 +0300

    Split the tagdata -> pool population to another helper function
    
    - For filename triplets we'll need to get and validate the data
      before inserting into the pool, so we'll need this shortly.

commit f0a9d2577b782e6f1222626877076946764df657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 15:48:45 2012 +0300

    Add an alternative rpmfi constructor to allow shared pool usage
    
    - rpmfiNewPool() allows specifying shared/private pool, and
      rpmfiNew() is now just a wrapper to always call it with a private pool.

commit d2bb9d38c90d8028989cb414bf84b132b0bbc967
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 14:09:35 2012 +0300

    Move string pool typedefs to rpmtypes.h
    
    - I suspect these will be used widely, to avoid having to include
      rpmstrpool.h all over in headers...

commit bd33a6656c385ff9c760d79dff753e6bd1c642bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 13:19:02 2012 +0300

    Axe the no longer needed rpmfi string "cache" stuff

commit 90e3792232d204aaf6e38f2a30d372a993448560
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 12:55:28 2012 +0300

    Use string pool for file set symlinks
    
    - Removes the last use of our former simple, stupid and slow caches
    - For now, use a per-fi pool for this just like the previous caching
      did. Memory use is slightly increased but its faster than before,
      to reap the full benefits (memory and otherwise) we'll want a
      per-transaction pool for these, to be added later.

commit 8909eed1a83712b54e39dd559ef0661aaf29fb48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 11:31:12 2012 +0300

    Replace user- and groupname + file lang caches with a global stringpool
    
    - With the string pool we dont have to worry about overflowing the
      indexes so we can lump all this relatively static data into one pool.
      Because rpmsid's are larger than the previous cache indexes, we'll
      loose some of the memory savings, but then the pool is faster on
      insertion, and we'll only need one of them so...
    - The misc. pool is never freed, flushed or frozen so it'll "waste" memory
      throughout the lifetime of a process (similarly to the previous caches)
      but its not huge so .. ignoring that for now.

commit 4606460e54a1a151f74557712355ffc5d32da7c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 11:14:14 2012 +0300

    Dont bother with file capability "cache"
    
    - Very few packages have RPMTAG_FILECAPS at all, and the memory saving
      for those that do is so marginal it hardly matters at all. At least
      for now, dont bother.

commit 9e47043b2d23d6e6657a2a18dd325d2ef014dba3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 10:33:22 2012 +0300

    First cut of a libsolv-style string <-> id pool API
    
    - The pool stores "arbitrary" number of strings in a space-efficient
      manner, with near constant (hashed) string -> id lookup/store and
      constant time id -> string and id -> string length lookups.
    - Credits for the idea go to the Suse developers working on libsolv,
      the basic concept is directly lifted from there but details
      differ due to using rpm's own hash table implementation etc.
      Another minor difference is using size_t for offsets to permit over
      4GB total data size on 64bit systems, the total number of id's in
      the pool is limited to uint32 max however (like in libsolv).
    - Any (re)implementation bugs by yours truly, this is almost certainly
      going to need further tuning and tweaking, API and otherwise.

commit a466227a2ff77c90f0b524792a5a1eda3e47cbe7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 14:49:14 2012 +0300

    Missing <stdio.h> include for fprintf()

commit cffdbc7aec75d4688f84d92609e823a9a38415c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 12:53:05 2012 +0300

    Return fingerprint lookups through retval pointer, not struct
    
    - Returning structs by value is a bit icky, pass in a fp pointer
      for fpLookup() to fill in instead. This leaves the actual return code
      free for handling errors (but ignoring that for now as we always have)
      The other option would be always mallocing the return, and we dont
      want to do that...
    - Shouldn't change any actual functionality.

commit 1cbc2a14f2731a55e041253bcd9322407a9fd258
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 10:48:51 2012 +0300

    Avoid double iteration on 'rpm -e' now that iterator count works
    
    - While harmless, having to count on one and act on another iteration
      gets expensive when there are lots of labels specified. Especially
      as the iterator initialization can already load the same headers
      multiple times, sigh...

commit fddfee17c3c4e19269665800d557d3452cbde162
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 10:25:38 2012 +0300

    Push RPMDBI_LABEL arch parsing down to rpmdb layer to fix stuff
    
    - Partial NEVRA labels cannot be reliably parsed, the various combinations
      need to be figured out by trial-and-error. The rpmts layer doesn't stand
      a chance of getting it right so move it to rpmdb layer. This doesn't
      make the process any less stupid, but at least we get correct results...
    - Fixes iterator count when arch is used in a label and more than one
      arch variants of a package are installed. Previously iterator count
      could be more than one despite actual iteration only hitting one
      match, as the arch RE match was added after already initializing
      the iterator.
    - Also fixes various pathological cases:
      - If a legal arch was part of name, version or release (stupid but legal)
        we misinterpreted it for arch and failed to find the package.
      - If a package with unknown architecture was installed (with --ignorearch)
        we could not remove it by its arch as we relied on rpmIsKnownArch()

commit 2ef9380afe12fb4fb2094bda3930e365fee3bf58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 19:40:07 2012 +0300

    Use existing fingerprint for packages being removed
    
    - Missed opportunity in commit 1a3a4089def9b00790eeebd6f931c99a03a3d44b:
      removed packages have already gotten fingerprinted so there's no need
      to redo that here.

commit 154d21453f1699b1e7f4d89fd6b10c3f36011892
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 17:47:24 2012 +0300

    Shut up gcc whine about potentially uninitialized variable
    
    - This is a false positive really, or at least a cant-happen case

commit ea3a8f1e427a33527ab22c1ba4940153a235e610
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 16:36:16 2012 +0300

    Avoid rehashing directory name when it doesn't change in rpmal population
    
    - Another modest improvement in redundant rehashing elimination, but in the
      big picture, this is really just another fart in the Sahara desert...

commit 712101ba98c0e1c588652cef9b39ac5707c2f61c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 12:10:51 2012 +0300

    Prehash dir names on fingerprinting to avoid recalculating when adding
    
    - Speedup depends on transaction and yadda yadda, on my large erasure
      transaction testcase this is circa two percent saving on rstrhash()
      total costs.

commit 81dbfa26513355e8d17414b90601c7dcc2f64f2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 11:50:30 2012 +0300

    Use helper variable to eliminate multiple identical conditionals

commit a4af3e80f8f20b540b42358106e019443f9c7ad2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 11:02:14 2012 +0300

    Prehash dependency strings to avoid recalculating when caching
    
    - Speedup depends on the transaction and is likely to be rather modest
      anyway, but can't hurt either...

commit 18b47c6fe9243565983d65aecefa4216a5e08fcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 10:41:44 2012 +0300

    Prehash basenames to avoid recalculation when adding new ones
    
    - Speedup depends on the transaction and is by no means enormous,
      but on my testcase of a largish erasure transaction this shaves
      off circa four percent of the cycles spent in (re)hashing the
      basenames.

commit 0ea18244f22450d80749e4557ebb5a060dcd2034
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 10:09:16 2012 +0300

    Add alternative hash key add/get/check methods with prehashed key
    
    - In cases where more than one operation is done with the same key, these
      can be used to avoid the relatively expensive rehashing of the key.

commit b323c27d886586b7ceccd5ba33091851457deec9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 10:37:28 2012 +0300

    Add hash table methodn for (pre)calculating base hash of a key

commit f974c457e3f9f57995fe35f13a55b3cd2d514794
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 13:43:43 2012 +0300

    Minor optimizations to rpmvercmp()
    
    - Avoid calculating string lengths if versions are equal
    - Avoid calculating string lengths twice in numeric comparison

commit 75d88c405b257752a0f7d71054643a954828556f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:44:53 2012 +0300

    Minor optimization to rnibble()
    
    - Check for lowercase letters before uppercase. A very minor difference
      as such, but our file digests use lowercase hex and this gets
      called a lot from rpmfiNew().

commit e663722a79fbd79f3fb4ce81b2bcf94694952eb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:03:12 2012 +0300

    Avoid netshared path matching when netshared path is not set
    
    - We've been calling matchNetsharedpath() for every single file in
      the transaction regardless of whether %{_netsharedpath} is set or
      not (and almost always it is not), meaning lots of pointless
      strlen() calls and in case of erasure, rpmfi iterations performed.
      Not exactly a massive speedup but a speedup nevertheless.

commit d5dc69c18e5ec79db3c4ab26c948c92e399577be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 11:16:13 2012 +0300

    "Optimize" addFingerprints() a bit
    
    - Avoid repeatedly calling rpmteGetFileStates() for every file processed
    - Avoid rpmfi iteration, use a good ole for-loop and index-accessors
    - Dont bother looking up symlinks for skipped files
    - Eliminate rpmfi from the latter loop, its not used for anything there
    - Not that this is going to show on wall-clock times, the cycles saved here
      are going to get very much lost in the noise of more expensive things.

commit f7f02fb6cbf0d048adb42acc9250868420f2d3e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 15:44:29 2012 +0300

    Avoid unnecessary calculations on %ghost %config
    
    - If the replacing %config file is a %ghost, then we'll just leave whatever
      might be on disk alone.
    - OTOH in the opposite case we probably *should* take backups, if the
      file exists on disk and is differs from the new non-ghost (but
      currently we take never take backups for %ghosts)

commit 06242419afc67752d32fabd20ad5b81ff8fd2970
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 13:39:24 2012 +0300

    Only backup if osuffix is set
    
    - This can happen on %ghost files, fsm->ossufix is never set for them.
      Arguably this is a bug in the file disposition calculations but for now...

commit 273a025c504774b5dfec2429ca0d5e4f8c73a891
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 12:06:52 2012 +0300

    Fix memleak regresssion in rpmfiDecideFateIndex()
    
    - Similar to commit 80ee39da35544253cab12abd54af8754335ac945: this
      started leaking at commit 3f996a588a56141df146c33583a13c0542323977
      as rpmfiFNIndex() returns malloced memory. Refactor the lucky 13
      return points into one, allowing cleanup at exit.

commit 551209488ff63092abccad34d8766992bf473484
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 11:02:54 2012 +0300

    Cache the actual result on rpmdb header verification
    
    - Previously we'd turn all but FAILED results into "OK" after first
      check, now we return the real value. And perhaps more importantly,
      no longer try re-verifying previously failed headers in vain.

commit 1a3a4089def9b00790eeebd6f931c99a03a3d44b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 10:19:26 2012 +0300

    Use file info set of removed packages instead of header fetches
    
    - When we get rpmdb hits on files from packages that are to be removed
      in the same transaction, we can use its existing file info set
      to grab base- and directory names to avoid bunch of headerGet()'s
      and consecutive rpmtd manipulation. In theory this should speed up
      transactions where lots of packages get removed, in practise not
      really - the big cost here is in loading the headers from db in the
      first place, despite not being really needed.

commit a664b518d493c6e851d1c05f99150d52447c14e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 09:45:49 2012 +0300

    Use file info set of removed packages instead of new temporary one
    
    - When we get rpmdb hits on files from packages that are to be removed
      in the same transaction, we can use the exisiting file info set
      to avoid constructing a new temporary one. Might be measurable
      in large updates.

commit 40ee05abbcd3d21b8d247695b593f3cc73cbc19e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 08:28:22 2012 +0300

    Store transaction element pointers in the removedPkgs hash
    
    - Change the hashtype name to something else, its no longer a plain
      int hash. Still needs double definition as its not contained in
      a single source (might want a wrapper similar to rpmal), but
      slightly more contained now than the previous intHash definition.
    - This opens up some new possibilities, to be taken advantage of
      in later commits.

commit f933015fc04ade1189e38f37ebafe56d30e7213f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 17:31:32 2012 +0300

    Define separate hash for rpmdb header check cache
    
    - This is really private to rpmdb.c (other than being exposed in
      the struct definition in backend/dbi.h, sigh), let it live its
      own life there.
    - No functional changes here, just cleaning up a bit for next steps.
      OTOH we could now cache the actual result, not just success... but
      leaving that to another time.

commit 52c6012bbdf41386f5ce477106c116162b65db0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 16:39:33 2012 +0300

    Oops, undefining wrong name...

commit c906140266c2f17ba442b354079117a75b1899d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 15:04:59 2012 +0300

    Split colored conflict resolution to helper function, unify callers
    
    - The cases in handleOverlappedFiles() and handleInstInstalledFile() only
      differ by presence of "other file state", unify the copy-paste code
      to helper function and comment a bit more.
    - Push all the color fiddling into the helper, eliminating loads of
      unnecessary rpmfiFColorIndex() calls in the common case. Also gives
      us a single point of control for the color-conflict behavior.
    - This is not supposed to change any behavior at all, just refactoring...

commit 161494b973641175dd5fc9f460e587e0c5d50cbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 14:31:50 2012 +0300

    Eliminate redundant helper variable
    
    - Just use the file action to determine if we already decided something
      for this file or not, no need for additional helper trackers.

commit 5d4d1507b2eddc56b4d923ac8822f00efcd0a1d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 14:31:28 2012 +0300

    Differentiate between filtered and otherwise resolved new conflicts
    
    - Kinda similar to commit 12322bad67b809101017a3991e67d09a2af4803c but for
      conflicts among the added set: grab the conflict filtering flag once
      outside the loop and use to determine whether to report detected
      conflicts or not. Doesn't change actual functionality.

commit c694721ecca53222bb878a3bbf797894e66e7092
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 14:25:00 2012 +0300

    Add further multilib resolution test-cases
    
    - Also test for the cases where packages are installed in different
      transactions, the outcome should be exactly the same in every case
      regardless of the order.
    - Change the expected output to something slightly more readable for
      us humans

commit ff8d3e9c8f4d70cd1276eaa2f19bd485bb66bf24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 14:22:57 2012 +0300

    Tweak the conflict test descriptions a bit

commit 6effc023fc161d9bd01734c7802e95add69eeeab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 13:54:25 2012 +0300

    Oops, replacetest spec missing from dist tarballs
    
    - Should've been in commit 0bbcbb050d3a1d93eafa5ee353d4b89a9946b68f

commit a7a06ec88f7183953499456afc4c41aee6bd7c14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 13:36:52 2012 +0300

    Detect attempts to replace directory symlink to directory in package
    
    - Rpm cannot currently *correctly* deal with directory symlink changing
      to a directory through updates, detect early and abort with conflicts
      instead of proceeding with known-broken results: previously these
      would seemingly succeed but without actually doing the requested
      changes, and leaving orphans on the disk. Far less evil than the
      directory replacement failure but incorrect anyway.
    - Same %pretrans wackiness as with directory replacements applies here.
    - Adjust test-suite to match the new behavior.
    - It's possible there are packages that have been relying on the former
      broken "success" results, so this might need further fine-tuning...

commit 00d82f1322c6dbf471f61bca7a5cc347fc2fca0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 13:02:09 2012 +0300

    Detect attempts to replace directories and report as conflicts
    
    - Rpm cannot currently deal with directory changing to something else
      through upgrades. Until now we've barfed up an ugly error in the
      middle of transaction, leaving partially installed broken junk behind.
      It'd sure be nice to be able to actually handle this some day, but
      until then detecting and aborting early is a far better option than
      the former behavior.
    - There are some "only in rpm" level bizarre quirks here: packages
      can work around this limitation by using a %pretrans scriptlet,
      which runs before the conflict detection. But this means a possible
      test-transaction (as done by eg yum) will still see the conflicts,
      as we obviously dont want to run disk-modifying scripts on
      test-transaction. So when looking at these removal conflicts, we filter
      them out on test-transaction IFF the package has a %pretrans script
      so there's a chance it might actually fix the conflict when we get
      to it in a real transaction. Obviously %pretrans from any package
      could in theory fix such issues, but as this is evil enough as it is,
      try to limit the damage... Without %pretrans, the only other option
      to get around these is manual intervention.

commit 0bbcbb050d3a1d93eafa5ee353d4b89a9946b68f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 12:51:26 2012 +0300

    Add pile of new test-cases for file type changes in upgrades
    
    - Of particular interest is directory changing to something else
      (including the infamous symlink case), which we miserably fail
      currently. Until we can somehow manage them someday, we should
      abort early (by conflicts) instead of barfing up garbage in
      middle of transaction.

commit fb0d4f643a21b7d1fcb23ee705e309c394927055
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 12:50:47 2012 +0300

    Clean up testroot /opt throughly to avoid other test from affecting us

commit 621be76cc013a36c0e37f4879e43bdaa89228a1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 08:51:01 2012 +0300

    Make rpmteHaveTransScript() available internally

commit 12322bad67b809101017a3991e67d09a2af4803c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 24 07:51:55 2012 +0300

    Differentiate between filtered and otherwise resolved conflicts
    
    - No functional changes here, just spelling out the different
      cases explicitly.

commit 3ade5ac3acc38554d775c1dd9a79723c3dd9ea90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 14:45:01 2012 +0300

    Remove unused leftover variable
    
    - Should've been in commit a3a08a4b0aa96ae03c33050920baf894cc706c9e

commit 0936fbc7bb51f4643e05dfe9a98ac30c82d215e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 14:31:33 2012 +0300

    Axe the if-what jungle in rpmfiDecideFateIndex()
    
    - Unless the file does not exist on disk, we cannot determine the
      correct action for config files and symlinks before we actually
      check them. Those are also the only types that *can* result in
      FA_ALTNAME/FA_SAVE action, anything else we can just create.
      Besides making the logic a whole lot easier to follow, it also
      fixes our remaining test-case failures. Who would've thought?
    - Might be worth noting that this requires the pile of fsm fixes
      from previous commits to work.

commit d0b76044cf04b049d4df0838b93d005ede066949
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 14:09:20 2012 +0300

    Backing up contents when replaced by directory needs special handling
    
    - When a directory is about to replace a %config needing backup,
      we need to backup early as directories don't use a temporary
      path, and fsmVerify() will remove the file before we get to
      it in fsmCommit().

commit 3b44f1dc8b97e30ce611af2eeb598290ef9efeed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 13:11:06 2012 +0300

    Use fsm->action to decide whether we need a backup or not.
    
    - We already have a carefully precalculated action decided for these
      things, use that instead of bunch of arbitrary (except for osuffix)
      conditions depending on several nasty hacks and hidden assumptions.
      Doing so fixes stuff, who would've thought of that?
    - Adjust test-suite expectations

commit d85b62428c9e8d9dc9f6db0e3fa4d3eb1fcfa09f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 12:44:33 2012 +0300

    Backup filename needs suffix, whether its directory or not

commit 945329b6119d0327beddff81db1a0b269629e107
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 23 12:00:41 2012 +0300

    Remove dead file-backup code
    
    - fsmVerify() never ever returns 0 for regular files because of
      multiple hacks in how this all "works": on install, we skip stat()
      but claim disk checked and file not existing, so fsmVerify() returns
      early. Good thing it does too, as otherwise it would remove the
      file we were supposed to be saving here. The actual %config backup
      occurs in fsmCommit(): regular files are first installed with a
      temporary suffix and at "commit" time we decide whether it needs
      backing up or not (involving several other hacks...)

commit d7c3b4aaa05f6da263b189e8111052d353aae3a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 22 16:58:09 2012 +0300

    Simplify the non-modified config file vs directory test
    
    - Replacing a directory with something else is more complicated than
      other cases and deserves tests of its own. For simplicity in
      the config cases, remove the "and back" part of the test, and
      now this test actually succeeds.

commit c4f18ab2dec449b05a2e7f40e7726886429a2112
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 22 15:28:46 2012 +0300

    Doh, gotta love it when test-suite expectations are wrong.
    
    - Clearly if we have three cats we should be seeing three outputs as well...

commit 80ee39da35544253cab12abd54af8754335ac945
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 22 12:40:00 2012 +0300

    Fix a massive memleak from rpmfiConfigConflictIndex() and optimize it
    
    - rpmfiFNIndex() returns a malloced string since commit
      11116a67864c119e420297984bd9ec4b83fdadd7 but this wasn't taken into
      account in commit 3f996a588a56141df146c33583a13c0542323977, causing
      a massive memory leak on transaction preparations.
    - Optimize the entry by avoiding rpmfiFNIndex() and lstat() until
      really necessary, and use a central exit point beyond that so
      we can free fn. Besides fixing the memleak, this gives a small
      but measurable performance improvement on this rather busy path.

commit a3a08a4b0aa96ae03c33050920baf894cc706c9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 22 11:56:12 2012 +0300

    Use rpmfiConfigConflictIndex() for modified config testing on erase too
    
    - Besides eliminating another copy-paste variant of the config file
      digest calculation and comparison, this fixes the case modified
      %config symlink gets silently erased. Unlike a regular config file,
      a symlink does not contain a whole lot of carefully tuned data, but
      if it's marked %config I think we should honor the %config file rules.
    - Adjust test-suite expectations to match the new behavior.

commit 79f8122f41116659e944feb6675725d09663a0dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 14:52:06 2012 +0300

    Polish the symlink config file comparison a bit
    
    - Similar treatment as in commit 9f9ed70e2d85b0e8f5e2d9cf9969046034d9ad31,
      pay more attention to what kind of files we're comparing in each case,
      add a little breathing room and extra comments.
    - Handle the case where on-disk link is identical to the one in new
      package in which case no backup will be needed, fixing two cases
      of unwanted backups in the test-suite.
      (similar to commit 7a50e9de80ab3c47618dad1e9a5b2d9b79bfc8dc)
    - Other than the on-disk vs new package change, probably doesn't change
      anything yet, but prepares us for the next steps.

commit 9f9ed70e2d85b0e8f5e2d9cf9969046034d9ad31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 14:38:22 2012 +0300

    Polish the regular config file comparison a bit
    
    - Only return early in the cases where backup will NOT be needed.
      Pay more attention to what kind of files we're comparing in each
      case, add a little breathing room and extra comments.
    - This probably doesn't change anything as-is, but hopefully makes
      the logic a bit easier to follow and prepares us for the next steps.

commit 4c0834f7255cf6480c497cc0f0eb144c8fcf405d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 14:28:13 2012 +0300

    Cosmetics: compare memcmp() return code explicitly
    
    - Comparing against zero is just that little bit more readable
      than the negated condition.

commit 500782b3d4b3d05bc33a7116757341159056928e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 13:59:38 2012 +0300

    Erm, remember to actually enable all the new tests

commit f6cf0a13cd7eab5bd89f03f24addf1ab1ec19e4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 12:30:04 2012 +0300

    Add a third set of config tests for file type changes testing
    
    - Several (expected) breakages here too, some backups missing, and
      some redundant backups taken
    - This is by no means complete set of the possible changes but
      gotta start someplace...

commit 4eca2f866207fb24249a93cd88c16d3096ab7eff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 12:28:09 2012 +0300

    Add similar set of %config tests on symlinks
    
    - Several cases are (expectedly) broken here: sometimes backup not
      taken when wanted, sometimes redundant backups taken

commit a838a9ffd68f6952b81dfabf4006204d9f524422
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 12:22:08 2012 +0300

    Prepare config test-suite to cleaning up directories

commit 14116eba5aa799bd912f4cff6ab1e8676813405c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 12:21:35 2012 +0300

    Further parametrize the config test spec file to allow more cases

commit e8a6c87d48c1ac135f75bf8a67e0ba9d6fc74a66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 09:08:05 2012 +0300

    Fix %config backup on erasure regression
    
    - After commit 1845c1d711b88723e596c88e8a7730a360029089 erasure
      no longer calls fsmCommit(), missing the backup step entirely.
      Simply split the backup code to a function of its own and call
      as needed. The details look somewhat fishy but what in fsm doesn't...

commit 3f67160a2edb7050835eefa861c5ef85d2d00db0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 21 08:59:29 2012 +0300

    And yet more %config test-cases
    
    - Test behavior when installing over a pre-existing file
    - Test behavior on erasure
    - Two of the erasure-tests are currently failing due to regression
      introduced in commit 1845c1d711b88723e596c88e8a7730a360029089

commit 7a50e9de80ab3c47618dad1e9a5b2d9b79bfc8dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 12:42:36 2012 +0300

    Dont create redundant %config backups when on-disk content is same as new
    
    - When on-disk %config file contents match the contents of the new
      package (such as config in old package was buggy, fixed in new
      and admin worked around in the meantime) there's no point creating
      a backup that's identical to what you already have. Note that
      we create the new config anyway instead of skipping as timestamp
      might have changed.
    - Adjust test-cases to the new saner behavior.

commit 2067c7c0d38eae794c36f598faa227d644e81046
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 11:20:30 2012 +0300

    Cosmetics: remove unnecessary line-wrap

commit bfb364563a358af3ed9dd14920c74cfae37d64b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 11:12:05 2012 +0300

    Dont create %config backups on skipped files
    
    - This cosmetical only, but there's no point creating the same backup
      twice. Depends on commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e.

commit abe15e3a62c6428daa31bbaced4f1ab40dce6033
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 10:56:17 2012 +0300

    Test that the %config backup contents are what we expect
    
    - Note we're only checking the contents where backups *should* be
      created, not much point checking buggy behavior.

commit fe62087ac9210eced259c38364df8affef7a4685
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 10:48:31 2012 +0300

    Yet more %config test-cases - shared configs have quirks of their own

commit 69850340e666c1b77f0db328afb0721d8e731514
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 10:24:45 2012 +0300

    Add similar set of %config(noreplace) tests
    
    - The first tests are kinda redundant but extra tests never hurt anybody...

commit 2b55fc1a48d5720a3b5ce24669e574bec6abb491
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 10:13:39 2012 +0300

    Adjust the config test descriptions a bit to make room...

commit 83302bcfcf1e33e3a251e2aebdd2443fab7dc3bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 10:04:07 2012 +0300

    Add further "parametrization" to our config file test spec
    
    - Currently unused but to allow for testing further cases with the
      same base spec...

commit da65571917f3d7805aadb1cf3185194fbdfc730b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 09:52:56 2012 +0300

    Add a test-case for another %config file special case
    
    - When an existing config file content changes between package versions
      but the file has already been changed to match the content of the
      new version, we still create a backup file that's identical
      to the one that ends up being installed. This is a bug of sorts,
      but documenting the existing behavior before changing it.

commit c7403b0c8878c6767cc8535e4a0872ea8bbe350c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 20 09:49:13 2012 +0300

    Tighten the existing %config tests a bit
    
    - Test for actual file content
    - Also clean up any .rpm[new|save|orig] files from the testroot

commit bf3d65e7951aa9d98ef86db15982643a9cad79ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 17 14:14:46 2012 +0300

    Add a test-case for the shared file timestamp behavior
    
    - Prior to commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e, this
      would've failed: removing the last package to be installed would
      cause timestamp failure on all others. The order is arbitrary in
      this testcase but it matters in real-world situations such as
      secondary arch packages.

commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 17 14:07:05 2012 +0300

    Only create the first instance of a file shared between packages
    
    - When packages share an identical file, we only need to create the
      first one we encounter and skip it for the rest (reverse already
      happens, and must happen, on erase). This has the benefit of
      getting the timestamp to match the first file, which often is
      also the last one to get removed. Also when lots of shared files
      are involved (such as in multilib installations), this can give
      several percents worth of speed gain as we dont unnecessarily rewrite
      the same contents over and over.

commit d6b925342f98db2af441e59ddbd3a2b9cde5dfaf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 17 13:09:19 2012 +0300

    Blargh, more fdFree() braindamage
    
    - Commit 429b933b42d1821f6f0a2a41ae13c504ea6d0657 fixes the fd-leak
      regression in rpm 4.10, but we already have code which relies
      on the new behavior and segfaults with the former one. Adjust
      rpmcpioClose() to the old behavior to get master tree back to
      working shape. TODO: fix this properly some rainy day (oh and see
      http://geekandpoke.typepad.com/geekandpoke/2012/08/likelihood.html)

commit 429b933b42d1821f6f0a2a41ae13c504ea6d0657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 17 11:30:43 2012 +0300

    Revert "Always return NULL from fdFree()"
    
    - This reverts commit 4c1f7e335de1724661ce63c53186d161ab71a63f:
      various things inside and outside of rpm actually do still depend
      on the old behavior, and leak file descriptors otherwise.
      As an easy backportable band-aid, revert back to the previous
      behavior, to which various callers are tuned to fix the regression
      introduced in rpm 4.10.0. The real fix would be something more like
      "eliminate fdFree() and make Fclose() honor refcounts".

commit 789e258d6cf6f50c74af6c19579e90c7afed4b7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 14 08:44:32 2012 +0300

    Run gcc supported flags test without our stricter warning flags
    
    - Fixes fallout from commit f9c69f803f74bd458269c7a06def494ea63387e6:
      running these tests with -Wstrict-prototypes causes all these tests
      to fail as AC_LANG_PROGRAM() uses an incomplete prototype for
      main() :(

commit e06177ee657fbb1c32e1f651c8ae4da73e87c65b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 8 09:43:42 2012 +0300

    Fix bogus "unclosed %if" error when %include is used in conditionals
    
    - All rpm versions log a bogus "unclosed %if" error when %include
      is used inside %if-%endif (and rpm >= 4.10 actually aborts the
      parse): the check for unclosed if occurs before checking whether
      there's more to come.
    - Move the error check into readLine() EOF path along with the other
      similar check to fix, and to consolidate the error handling to
      a single spot.

commit 4e221afaa20015de97c7ebb44769772502eb9999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 12:52:29 2012 +0300

    Add test for file verification from originating package

commit 227654f30c099bfb1e631fd200f10576b3f58def
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 12:28:56 2012 +0300

    Verify files from non-installed packages again (RhBug:826589)
    
    - Verifying files against the originating, non-installed package can
      be useful sometimes, eg if rpmdb is broken or cannot be trusted.
      Of course such verification will give false positives on files that
      were intentionally skipped during installation (nodocs, wrong color,
      netshared...), that can't be helped.
    - This restores the former behavior that was erroneously changed
      in commit adbd484372cb38aca5aca3c6dba3b2ca9cae93d1 while "fixing"
      an unhandled enumeration in the switch. Doh.

commit d6add031f1e63cc228cc5002df06a52c76479560
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 11:29:03 2012 +0300

    Accept em64t architecture as an alias for x86_64 (RhBug:800489)
    
    - Some vendors insist on calling their x86_64 packages "em64t" instead
      of the more standard x86_64. Minimally support this naming convention
      as those packages aren't going away anytime soon - be liberal in
      what you accept and all, sigh.

commit 72621fcf32a6fa4fdda16f6b6729e7c6fe0943ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 10:21:36 2012 +0300

    Add tests for invalid --relocate detection and --badreloc functionality

commit 4fbb58c7e6ee7d1bb565b27e4f81dcf2fee93995
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 09:52:15 2012 +0300

    Fix RPMPROB_FILTER_FORCERELOCATE aka --badreloc (RhBug:828784)
    
    - As noted (but since then blissfully forgotten) in the commit message,
      commit e696b409fe836bf39cbf639bac4321d658d0952d broke --badreloc
      so its been broken since rpm >= 4.9.x :-/
    - Transaction problem filter is only available during rpmtsRun() so
      we have no clue whether bad relocations should be filtered or not
      during rpmte creation. Instead of creating the problems at rpmteNew()
      time, remember any bad relocations that were found and check +
      create the actual problems (unless filtered) along with other
      problems during rpmtsRun().
    - Passing an "allow bad relocations" flag to rpmtsAddInstallElement()
      would be a saner option but this is a back-portable way of handling it.

commit 7c70bdea1a3e6d16d5a345965632d255f3f821ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 08:28:26 2012 +0300

    Handle all dependency tags in spec via same switch-case fallthrough
    
    - Requires and OrderWithRequires take extra qualifiers, but other
      than that they areall handled the same through parseRCPOT()

commit cce0fb4387089db4b860a042bf0a163fd3ea7b6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 08:18:32 2012 +0300

    "prereq" is not a valid qualifier to regular Requires

commit 01706306d152d55cebc7ce13958207b4c674fe30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 7 08:17:02 2012 +0300

    Extra qualifiers like (postun) are not valid with legacy PreReq

commit ecd9aceb565be9b672091cbcb5b2db408dcb1d91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 3 11:59:12 2012 +0300

    Honor RPMSENSE_MISSINGOK flag in dependency checking
    
    - For now there's no way to set this flag from packages so it doesn't
      actually do anything, but it doesn't hurt anything either, allows
      Suse & friends to drop one patch (greetings Michael :) and there
      are might be some things we could use this for internally.

commit 933a3e32dd94c5d54d10c24c55394488824de1f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 2 18:16:09 2012 +0300

    Dont silence patch by default (RhBug:678000, RhBug:773503)
    
    - Unfortunately patch'es idea of "interesting" output is not ideal for
      our purposes: "patching foo.c" is of little value, but hunks with
      offsets and fuzz can be important and there's no switch to patch
      to get exactly what we want. So let it be chatty... build logs are,
      anyway.

commit 12f9b3f9e6b35e5ad2f9edd4e112d6495756a562
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 2 11:49:48 2012 +0300

    Add --noclean and --nocheck options to rpmbuild
    
    - Ability to skip %clean build stage was requested as RhBug:756531,
      --nocheck seems otherwise useful to have as %check can take a lot of
      time, time you might not want to spend for a trivial spec change or such.

commit 395be24637b4ba555598df18f8feded097bbd03f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 19:17:09 2012 +0300

    Fix memleak in changelog parsing on error paths
    
    - All the early returns would leak memory from the argvJoin(),
      assume failure and force all exits through a single path where
      we can clean up.

commit 465f5f9d5c0983fad5a64351d9b71c738f6f905d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 19:03:15 2012 +0300

    Turn the invalid date error to warning (related to RhBug:843525)
    
    - The strict date validation introduced in commit
      a29e5f9894e4d97322d34b0636e5a37bff509323 is too much of a PITA
      for such a petty cause, mismatching weekday names as very very
      common in specs. Maybe we can change it to a hard error in a couple
      of years from now once folks have had time to get rid of the
      warnings first.

commit 94b4ee60c00b6cf8c65dd29e6bd4c0e3177a33b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 16:38:15 2012 +0300

    Refactor the struct stat hacking into a helper function
    
    - Shouldn't change actual functionality, just makes the code easier
      to read and fit on screen by reducing indentation level.
    - Add further commentary about what it does and why.

commit d6775a746bbaf8ddc8a91c9fae68ae91af1cc570
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 16:00:16 2012 +0300

    Permit non-existent %ghost directories to be packaged (RhBug:839656)
    
    - Directories can be explicitly specified via either %dir or trailing
      slash in the %files manifest, take this into account for %ghosts that
      dont exist in the buildroot. Otherwise we still assume regular file.
    - Dont require explicit %attr() for missing %ghosts, let them fall
      back to %defattr() instead. If %defattr() doesn't specify a mode
      the file will be seen without any permissions at all, but that's
      not strictly an error (and same can happen with %dev() already)

commit 24ad8291bbcdb523f1aa58d75e29f9ffeb484b52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 1 12:06:45 2012 +0300

    Dont bother asking libmagic about directories
    
    - There's no (relevant) additional information to be gained from passing
      directories to libmagic and we already have this info available in the
      file mode. This permits nice and easy handling of %ghost directories
      (related to RhBug:839656)

commit 9c26bd05eaa5d6a180d33432585e9fbce0004a41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 16:16:15 2012 +0300

    Report starting line for unclosed %if in specs

commit 89ce18625871651fff4511fa5ebdd4d5fe6c30cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 13:36:27 2012 +0300

    Dynamically grow spec line buffer on line continuations
    
    - Allows arbitrary length line continuation constructs in specs, but
      probably the more useful side-effect is cleanly handling unterminated
      macros and the like (instead of segfaulting) on large spec files,
      there was a bug on this somewhere but cant find it atm.
    - This also has a wee bit silly effect on the maximum macro expansion size:
      after very long constructs the max expansion gets is bigger than
      at the beginning of spec parse, but properly fixing the resizing wrt
      macros is a different issue.
    - Watch out for possible fallout from spec->line etc tracking, they
      *seem* to be ok even with the potentially moving buffer location but...

commit e5ea5dcd2d6e1bf876610c0a91ffafb8e749fc88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 13:27:30 2012 +0300

    Minor cleanups: const pedantry and helper variable scoping
    
    - Make the reading pointers const, push helpers to scope where needed

commit 729fd554ee99413c0f106b8d243dc2329fe4dff6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 11:52:51 2012 +0300

    Allocate spec line buffer separately from spec struct
    
    - Further preliminaries for dynamic buffer resizing

commit 0c737f72b244d7ecb4a5c8109f081d3e28c736aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 11:12:27 2012 +0300

    Track spec parse buffer position by offset instead of pointer
    
    - Preliminaries for dynamically reallocating the buffer

commit 66ed9fc6160fb455a6c5760f426962e1288c19f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 17:22:55 2012 +0300

    Fix (well, loosen up) the valgrind suppression rules
    
    - The previous rules far too specific to glibc + gcc with certain
      optimization levels, eg relying on parse_auxv() getting inlined
      and when it does not, the suppression rules would no longer match.

commit a29e5f9894e4d97322d34b0636e5a37bff509323
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 14:59:35 2012 +0300

    Stricter validation of changelog date (RhBug:843525)
    
    - Compare the date parsed from changelog to date normalized by mktime()
      and complain if they differ. This catches cases like wrong weekday
      specified for an otherwise valid date, and a leap day on a non-leap
      year etc.

commit 2e95618c0e85ea094a98ddb6ab110747bc0e00e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 14:51:12 2012 +0300

    Always print out package dependencies on build
    
    - Previously packages which had no files or for which automatic
      dependency generation was partially or fully disabled didn't get
      any of their dependencies printed out at build-time. This doesn't
      affect the actual recorded dependencies, only the "debugging"
      output during package builds.

commit f9c69f803f74bd458269c7a06def494ea63387e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 12:52:31 2012 +0300

    Run gcc supported flags test with -Werror
    
    - On gcc versions supporting -fstack-protector, not all platforms
      support this feature, causing gcc to emit only a warning instead
      of an error. Which then causes warning-spew on every compiled file.
      Run all the supported flag tests with -Werror to turn the warnings
      into errors, there could be other similar cases besides stack protector.
    - Patch originally from Arnaud Patard according to this Mandriva commit:
      http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages?view=revision&revision=448632

commit 928386a317aad2be6ce1a76b4dbee5a948a6184a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:10:08 2012 +0300

    Report config and missinok flags in deptype format extension too

commit a3de720a842a1667cb47e53969f680777deb33d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 12:07:46 2012 +0300

    Default to automatic patch application in %autosetup
    
    - Defaults should be for the common case with disablers for those who want
      to do something special, and typically if you have patches you also
      want to apply them. Change it while we still can: eliminate -A option to
      %autosetup and apply all patches unless -N option is used.

commit d1dcc53dfb7658b46c108a4cd011439c2a6b45ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 12:46:22 2012 +0300

    Accept "owner" as an alias to "user" %verify attribute (RhBug:838657)
    
    - Both Maximum RPM and the newer RPM Guide incorrectly list "owner"
      as a valid %verify() attribute, whereas rpm has used "user"
      for as long as the code has been present (since 1996). Since
      adding the alias is so trivial, and certainly easier than changing
      published books... meh.

commit 32a4e283a6a0fa572ac6f41d548079df9aa7fd40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 3 08:51:09 2012 +0300

    Recognize relative paths as such in --whatprovides query

commit cf3069b4d9a2d872737d93d3aef1e32097f3f3e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 17:19:03 2012 +0300

    Also track large file presence for src.rpm's (RhBug:833427)

commit 338f6e4cf76807744aac31016c9f357631bc7d86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 17:11:00 2012 +0300

    Push payload file size limit checking into cpio code
    
    - At the time when the file list is being processed, we dont yet
      have the slightest clue what kind of payload will be used for
      for the archive or what limits it might have. Let the cpio code
      handle its own limits checking, the build-side only needs to
      worry about whether 32bit uints are sufficient for storing the
      sizes in headers.

commit f79ce27fffb7cee7353ca2f4bc9a4bfafb0cda34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 16:15:41 2012 +0300

    Report the actual failure reason on archive create failure (again)

commit eefcb12b9c12e29ee83bbb193842af84a0142bb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 15:05:30 2012 +0300

    Cosmetics: remove redundant {} block, fixup indentation

commit bf3a14a86682e4bf341eed4d6d7050ef57b1ccc2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 14:30:24 2012 +0300

    Dont use mmap() for anything, axe the code instead
    
    - Commit 4cb02aa928d3e41f636d0e01356c7a3cb51018ee asked to see
      what breaks when mmap() is used, now we know: large package support
      broke when enabling it. Could be fixed of course by eg adding
      a size cap to the fsm part as well, but just doesn't seem worth it:
      I fail to measure any meaningful performance improvement from mmap
      usage in either case, and added complexity for what is close to
      zero benefit just doesn't make sense... and various sources in fact
      note the rpm usage (read through the entire file sequentially) as one
      of the cases where mmap() is NOT beneficial due to mmap() high
      setup + teardown cost + page fault speed (or lack of thereof).

commit 105f91fc9a0afd9f8d29491c909833bdf2228f8a
Author: Phil Knirsch <pknirsch@redhat.com>
Date:   Thu Jun 28 10:21:04 2012 +0300

    Arch macro for all supported PowerPC 64 processors (RhBug:818320)

commit a7248ac1c986bcf9f352ae22faa2ad22784e7e3e
Author: Phil Knirsch <pknirsch@redhat.com>
Date:   Thu Jun 28 10:15:59 2012 +0300

    Plain 32bit ppc cannot be a ppc64p7
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 3ffaef5afcb7de4e3d3c10e4cf6a9e0d6d3f1df7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 11:10:57 2012 +0300

    Clarify/correct tag usage in rpmdbProvides()
    
    - Refer to RPMTAG_* for rpmds tags, not RPMDBI_*. The values for these
      are the same, only the "intended use" differs (RPMDBI refers to
      rpmdb indexes) so this doesn't change anything in practise.

commit 2cb102f35e995d4e1a6f4a14b09e30ecfe6c2513
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 11:08:25 2012 +0300

    Fix obsoletes-thinko in rpmdbProvides()
    
    - dbtag cannot possibly be on obsoletes here, we need to look at deptag
      instead. This thinko in commit 5f1ec21518078e599b2499cf1ff852837ec33df7
      renders that whole commit useless. Doh.

commit 5322c3bd4bb99e9f1221eeddaf8de4da0f729e99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 10:34:22 2012 +0300

    Add support for quilt (ticket #54) and bzr to %autosetup/patch
    
    - These are both "appears to have roughly the intended effect" level
      tested, but I'm not really familiar with either bzr or quilt so
      any further refinements need to come from people actually familiar
      with these tools.

commit 6c5214950e5885c33c498969ca256c9550f5936b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 21 13:45:13 2012 +0300

    Add a set of macros to further automate spec %prep tasks
    
    - This adds two main macros (+ bunch of helpers) to automate the
      common case tasks in %prep:
      1) %autopatch which automatically applies all patches from a spec
      2) %autosetup which (optionally) takes care of it all, and (also
         optionally) sets up a git/hg repository of the unpacked source +
         applied patches as it  goes.
    - This should be considered a starting point only, there are various
      things to improve. Eg we'd like to be able to make backups
      with plain patch (based on patch number maybe) and at least with git,
      we'd like to be able be (optionally) use 'git am' patching style
      to preserve original authors + commit messages etc.
    - A noteworthy point here is that as these are fully implemented as
      macros, they are compatible with several older rpm versions as well.

commit 7c8c36c3342cacc860796b28aaaef4cfb3461901
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 21 09:45:16 2012 +0300

    Fall back to using fsync() on systems without fdatasync()
    
    - While fdatasync() is widely available on modernish systems,
      OS X doesn't have it

commit da01eb98c131020cb3de5c208d2e76a06ae67049
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 10:30:08 2012 +0300

    Add valgrind suppression file
    
    - valgrind is not happy about us now processing /proc/self/auxv on Linux,
      this can be used to suppress the false positives when running
      rpm under valgrind. At least until a better solution is found or
      valgrind is taught to treat /proc/self/auxv specially (see
      https://bugs.kde.org/show_bug.cgi?id=253519)

commit ac8a0175beb365a0b421ae7f1cf6852fba9827c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 18:09:23 2012 +0300

    Only use local mempcpy() if system libraries dont provide one
    
    - Obvious yes, but how come this didn't barf on my other rather
      identical system? Meh.

commit 794e24456a9a98d10e4d2a3b75cb740690312ef9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:55:37 2012 +0300

    xmalloc() and xrealloc() never fail, remove redundant checks

commit a48c369a44c230b0a03f1082022c80ca33abbe40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:42:23 2012 +0300

    Call alloca() and stat() by their own names...

commit 0d9cfcc07f3f117e808e45db0e2669908485e616
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:34:45 2012 +0300

    Eliminate unnecessary glob portability fiddles
    
    - Flags available to our internal glob implementation do not depend on
      posix/gnu/bsd defines

commit 68f991e50cb3745df20eae02eb7f376baa4219cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:31:42 2012 +0300

    Eliminate VMS, MS-DOS, Windows and Amiga compatibility hacks in rpmglob
    
    - We'll never run on these platforms, we just dont care...

commit b1e9413a5b6a6e156a2a8851ef4088ca7c929999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:27:49 2012 +0300

    Eliminate shell interruptability hack in rpmglob

commit 8516fc22123919b4bb82db07a07764414a4a2ac7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:26:24 2012 +0300

    We always have xstrdup() available, eliminate redundant alternatve

commit 493571ce23cc0f16be37fe8b72ee6af6c35c999a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:24:57 2012 +0300

    Eliminate getpwnam_r() and getlogin_r() uses from rpmglob
    
    - We dont particularly care if rpmGlob() is thread-safe or not,
      just use the simpler code-path

commit f2954e9b9798b0bfa54908b6b079bdfe6181bd23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:21:57 2012 +0300

    Eliminate mempcpy() related conditionals from rpmglob
    
    - Provide a local copy of the trivial mempcpy() function so we can always
      use the shorter code-path, eliminate now unnecessary ifdef goo.

commit 81560ef2e53f0565d0d53892c2d53110a7d12e33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:19:16 2012 +0300

    Remove __GNUC__ conditionals on variable sized local arrays
    
    - We require a C99 compiler anyway so these conditionals are not needed

commit 9dc4c3c2d7820bb69be698c6b07a9e9887478f77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:14:01 2012 +0300

    Eliminate unnecessary libc header typedeffery from rpmglob
    
    - No doubt important bits in glibc but unnecessary goo for our
      internal implementation.

commit 3e05597ba901551f3b127401e3ead69430923cca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 16:02:41 2012 +0300

    Run indent -kr on the glob implementation
    
    - rpm style isn't exactly K&R but close enuf for goverment work
      and prevent sore eyes now that this is a "real" part of rpm.

commit bf088dbeb5fbc67cae647ec13d02fdabc1a4f64c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 15:51:15 2012 +0300

    Bury our glob() implementation entirely inside rpmglob.c (RhBug:819680)
    
    - Lump glob.h and glob.c into rpmglob.c in all their g(l)ory libc
      decorations and make everything static to stop overriding system
      library symbols with our own glob().

commit 38932d1d175b8ff8a509d2d9995ffb3eb576ff3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 15:40:51 2012 +0300

    Export our own version of glob_pattern_p() as rpmIsGlob()
    
    - Further preliminaries to hiding the glob() implementation

commit a6821de78318570df9c6a86cd34db4bd037b48a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 31 15:37:11 2012 +0300

    Split rpmGlob() to a separate source file
    
    - As a preliminary step to hiding our internal glob implementation,
      split our only glob() user to a source of its own.

commit 077db96e9da9018787b796b0b566f2489c92fe19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 30 13:40:01 2012 +0300

    Add a test-case for various %files manifest globbing scenarios
    
    - In particular (aside from basics working) we're interested in
      the broken symlink behavior: at least glibc and Solaris have
      a weird glob() which doesn't return broken symlinks at all,
      yet we need to be able to package them (and that's why rpm
      carries its own copy of a differently broken, old glibc glob)
    - Also test for directory-only match (RhBug:505995 cases)

commit 6e4e5ebd87ed5b2e237c9929253e3628e82850e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 29 12:56:06 2012 +0300

    Parametrize default vs current %verify and %attr parsing
    
    - Only try to parse one thing at a time so the caller knows what
      value its going to get if any and doesn't have to pass both
      current and default pointers. Just simplifies things a little.

commit 55bf9abee25c7d101dce15898ebefcbe77a7d655
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 16:31:36 2012 +0300

    Initial support for "special" %license, similar to %doc (ticket #116)
    
    - Now that this is relatively sanely doable... make %license with
      non-absolute paths behave similarly to %doc, only installing to a
      different directory (%_licensedir) and with different flags:
      licenses are not generic documentation and should not be skipped
      on installation even if --nodocs is used. The common practise of
      stuffing licenses into %doc actually violates various licenses
      which require the license text to always accompany the software.
    - While ticket #116 suggests various schemes to reduce disk usage,
      adding some very special logic to installation code just to deal
      with these doesn't seem justifiable, given how small the licenses
      generally are. However with licenses now in their own directory
      structure (/usr/share/licenses by default), running hardlink on
      them is trivial for cases where disk space is tight
      (live images, embedded systems etc)

commit c1f59e74decac80d90f14081d6e3406c433612e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 15:26:49 2012 +0300

    Generalize special doc attribute to "special dir"

commit ff16d1a487cd10923e85cd75537617ecb14fa379
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 12:14:15 2012 +0300

    Handle rpmfiNew() failure centrally in genCpioListAndHeader()

commit 06cd93832d5caab88b7879b0aaa98d12d88ac5db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 12:02:47 2012 +0300

    Fix spec parsing memleak from source header on buildarch recursion

commit 1adaff3ee47773172ab2e640414b1ada4dba8f9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 11:39:45 2012 +0300

    Eliminate redundant helper variables from src.rpm generation
    
    - Spec being the first is easily detected from the current index,
      no need for separate tracking variable
    - Use the file records used variable to track the progress, no need
      for separate index variable

commit d8334d2e3f8b96dd279cceba69bb9ca0d2ba7d8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 11:06:46 2012 +0300

    Move file list freeing to helper function

commit 975489fa26746b26fc2701e9e33373c4e603109a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 09:56:11 2012 +0300

    Hardlink detection doesn't need entire filelist, just the actual records

commit 86fc7db32d1800910fdccf96af436a4491b171a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 09:51:29 2012 +0300

    isDoc() only needs the doc dirs, not the entire filelist

commit bafde44e2d034f75189d3926475170b4ca854024
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 09:47:58 2012 +0300

    Clean up file records freeing a bit
    
    - All the necessary data is in FileRecords struct so we only
      need to pass that. Dont bother NULLing everything as these
      are not passed around in a way where it would matter.

commit de94517558501c12fafb090e9a087f238351a8c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 09:39:48 2012 +0300

    Split the actual file records into a struct of their own
    
    - No functional changes, just straightforward dumb conversion. Various
      places look fairly dumb with this, leaving sanitizing to other commits.

commit bd16afc2aca81eb837cf5f8fabff99fca41070e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 08:57:09 2012 +0300

    Use vfaMatch() for %config attributes as well

commit 487f26633f904913041480f9f1b78e91e0a24482
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 08:54:30 2012 +0300

    Unify %verify and virtual file attribute handling

commit f69dd4ce1852d289cbac58829afd91fc4da8e8c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 28 08:50:55 2012 +0300

    Eliminate unused negate field of VFA struct
    
    - The negate field has never been used nor does it seem very useful
      either: %verify negation can't be handled by it anyway, and
      for others it hardly makes sense.
    - While at it, make virtualFileAttributes const and fix the
      indentation

commit cca8f6bb55bdc6714f06eba6081466652145658f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 25 15:01:19 2012 +0300

    Push special %doc handling details out of processPackageFiles()
    
    - Add a new struct to hold the necessary bits and pieces about
      these special directories with functions to create & free for
      easy management for callers, move the remaining processing into
      processSpecialDocs() to make that part one-stop shop for the
      caller as well.
    - Should not change functionality in any way.

commit b5a0f6876c79bb43d649024056b62c6df61ad548
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 25 14:14:42 2012 +0300

    Refactor getSpecialDocDir() so it cannot fail
    
    - Spit a warning on illegal _docdir_fmt and fall back to the default
      format (which cannot fail). This just isn't worth dying for and
      avoids having to deal with such a petty error elsewhere.

commit 185596818f763af1249f19161f38134ee93092d2
Author: Christophe Fergeau <cfergeau@redhat.com>
Date:   Thu May 10 23:27:56 2012 +0200

    Add support for 7zip compressed tarballs
    
    Teach %prep and %uncompress how to handle 7zip tarballs, with
    the mingw toolchain landing in fedora, this may be useful when
    crossbuilding Windows sources compressed using 7zip (CxImage is
    one such project).

commit 7df78ae46646b7aecb32b2bc541c24fffc9090fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 21 14:52:19 2012 +0300

    Split prelink checking into a helper function
    
    - No functional changes, just makes the thing a little bit more readable
      as the ELF details are buried out of sight in the helper

commit 50b03d015e673366cdf0ad4caaf3137736db7f8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 21 13:17:39 2012 +0300

    Restore basic debug output for fsm operations
    
    - This is close to what we had in the stage-machine days, just to allow
      easily viewing whats going on inside the fsm (create/skip/etc)

commit 58954631861183d432213b0a6c8d3364283ae64e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 17:01:29 2012 +0300

    Push special doc directory generation next to other special doc foobar
    
    - There's no need to carry the special doc directory in the
      package struct, the directory is only a fleeting thing deep down
      in the filelist parsing. Handle local-only needs locally.
    - No behavior/semantic changes intended or expected.

commit 29677605d44dc9cba3119135653ba0372ab58037
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 15:07:53 2012 +0300

    Refactor special doc handling out of parseForSimple()
    
    - Change parseForSimple() to return all filenames it finds, moving
      most sanity checking and decision making of what goes where to
      processPackageFiles() which has a better overall view of things.
      This also means we could trivially handle more than one file per
      %files line, but keeping the (now artificial) limitation for now
      at least.
    - Collect special %doc arguments individually to a local ARGV,
      split the script generation and execution to a separate helper
      function.
    - Actual semantics / behavior is not supposed to change (other than
      'cp' now getting called once per %doc arg, not per %doc line), but
      knock wood, this is a larger at-once change than I care for.

commit dda476dc7710dc0e9c9be58512c2c6064f102085
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 12:03:56 2012 +0300

    parseForSimple() doesn't need the entire file list anymore

commit f2f591acaef5e784568b3da8ccf493dbabc509bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 11:36:53 2012 +0300

    Negation doesn't make sense for any of the virtual file attributes
    
    - The negate field is unused in all the attributes anyway, but
      the whole concept doesn't make any sense for the virtual file
      attributes. Simplifies the thing another little bit.

commit 13a7d31860b76c641a3c34e952760cfdb6c42e98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 11:29:09 2012 +0300

    Handle %dir parsing with an internal file attribute
    
    - Cleans things up a little bit by removing the special test
      for %dir in parseForSimple(). The separate isDir is still necessary
      for directory recursion tracking but that's separate from parsing
      the line.

commit 42eeec9341a4f333740dbcb442f800f08d069fd4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 11:05:44 2012 +0300

    Handle %docdir with an internal file attribute
    
    - Simplifies and cleans up things a bit as parseForSimple() now only
      parses this and processPackageFiles() acts on the result, and
      doesn't need specific argument checking now (only %doc is allowed
      to have more than one file per line)

commit 8d277bbba6843c310faf0e1dfe67f4db25ad9d66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 10:40:01 2012 +0300

    Explicitly differentate internal/exported file attributes
    
    - RPMFILE_EXCLUDE only exists during spec parse, and doesn't "leak"
      into headers only because the file is, well, excluded to start with.
      Unexport the internal-only bit and explicitly strip out any excess
      bits from data going to header. The current 16/16 split is artificial
      of course, RPMTAG_FILEATTRS is 32bit so there's plenty of room
      for growing new file attributes, with internal-only adjustments
      required.
    - Eliminate RPMFILE_UNPATCHED while at it, this is a leftover
      from Suse patch rpms which are no longer used anywhere.

commit 2225fd7e9297a62f66d7c9a190cf95d18ccbcd98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 15 14:23:35 2012 +0300

    Unmask %license directive when parsing %files section
    
    - This always was a rare creature, driven to extinction long time
      ago when Copyright: changed to License: which masks the %license
      directive of %files list with a macro holding the the textual
      description from License tag, causing errors.
    - Override %license during %files parsing to bring back its original
      meaning, useless as it might be in its current form.

commit 470705f17b430ab8e9b7fd767823926e2010a94a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 15 11:39:24 2012 +0300

    Eliminate unused argument to parseForSimple()

commit 5784b99bdcdde5a44a482e666904618cbfcc1ecd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 11:09:37 2012 +0300

    Only pass what's needed to parseForCaps()
    
    - It doesn't need the entire filelist, just the current file
      pointer (or actually just the caps string but for consistency...)
      That we need to track for capability presence overall is a different
      thing, that doesn't need to be in parseForCaps() at all.

commit 0b0664cabd793127750ebeb3953912c3d444f139
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 11:02:23 2012 +0300

    Only pass what's needed to parseForLang()
    
    - It doesn't need the entire filelist, just current file entry (actually
      just the lang pointer but for consistency with others...)
    - We could (and perhaps should) now quite easily support %deflang as well,
      but leaving that to another time...

commit e0c2d4c41edf1ee7000b622fac5b6b5d4d15f5bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:59:21 2012 +0300

    Only pass what's needed to parseForConfig()
    
    - It doesn't need the entire filelist, just current file entry.

commit 2c0416811af443c49bd5c6f3ee3a7ef93033ca8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:56:57 2012 +0300

    Only pass what's needed to parseForDev()
    
    - It dosn't need the entire filelist, just the buffer and current
      file entry

commit e0564b7c71e9e675af27d0ee79bee15db152a1c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:53:49 2012 +0300

    Only pass what's needed to parseForAttr()
    
    - It doesn't need the entire filelist, just the buffer and current
      or defaul file entry pointer

commit 654638357c4f1c4002105c0f42f950fec9d3ccd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:42:23 2012 +0300

    Only pass what's needed to parseForVerify()
    
    - It doesn't need the entire filelist, just the buffer and current
      or default file entry pointer
    - Additionally initialize the local variables on declaration, cleaning
      things up that little bit

commit 89f32675c2df4ebfb5acacb2c962d5716385ba4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:31:45 2012 +0300

    Centralize fl.processingFailed setting for parseForFoo() calls
    
    - All the parseForFoo() functions return an error code already,
      on top of this they also set fl.processingFailed, which forces
      passing the whole damn filelist to them when they'd only really
      need the current buffer and (parts of) fl.cur / fl.def.
    - Preserve former behavior of continuing parsing despite errors,
      dunno whether it makes much sense though.

commit 807ba93a6cf168410e3801347898949f356fcd6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:16:31 2012 +0300

    Add a helper function for freeing/resetting a file entry, use it
    
    - Now with all the per file-entry data in a struct of its own this
      becomes sane and should plug up a couple of leaks as well.

commit 9a0f820ffc42010da544bdee1758a3c0f6a83aed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 10:00:13 2012 +0300

    Eliminate redundant filelist initializiation
    
    - The file list gets zeroed out with memset(), eliminating all this
      noise lets the actually necessary initialization tasks more obvious.

commit 71f77a948873d0b3ee11cbf6e8f2b69d28cae0b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 09:20:37 2012 +0300

    Split out the remaining "current file" state out of global filelist
    
    - We're unlikely to ever want default counterparts for directories
      and devices, but moving these out of the global state tracking
      will allow for saner handling of this constantly changing
      state nevertheless.

commit f3b4153f1bfd6336b0f60ff065eb231fdbc98b82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 09:14:52 2012 +0300

    Split file languages and capabilities out of the global filelist
    
    - These are only releavant for "current" entry but it wouldn't seem
      unreasonable (if not terribly useful mayhap) to be able to have defaults
      for these as well. No functional changes yet though.

commit 7ad776c36ad3db63829a2e89ef12d3663e831eca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 09:10:10 2012 +0300

    Split the file attribute recs (permissions) out of the global filelist
    
    - Same as previous commit: moving these to a common struct will
      allow various benefits like more shared code. For now just
      moving things, no other changes.

commit 4d5da8d82abec3f415f69d6a0af22076a3c9898e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 08:55:20 2012 +0300

    Split the various file flags out of the global filelist struct
    
    - Active defaults and current values share several properties, moving
      them to a common struct will allow more code to be shared when
      manipulating them. For now just splitting things piece by piece
      though, no functional changes.

commit 8502c2420c1e8b31b42e6236eeb11590014b781b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 08:42:05 2012 +0300

    Shuffle FileList members around for a more logical grouping

commit a29c15cb0543b0230bc0e75346d422baace91281
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 11 11:57:09 2012 +0300

    Improve spec %include error detection and message
    
    - Besides excess arguments, catch missing argument too
    - Log filename and line number like with other error messages

commit 06d9825f4cf9adb617d4cac04ff510805183f972
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 11 11:30:26 2012 +0300

    Unify pops from spec file stack to a function
    
    - Previously done in two different places, calls for a function eh?

commit b3f5959a473a1590b323f134e205b3f661147703
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 11 11:04:42 2012 +0300

    Simplify / sanitize pushing new files on spec file stack
    
    - Replace the rather useless newOpenFileInfo() "constructor" with
      a function to push a new filename on spec stack, creating the
      OFI struct as we go. forceIncludeFile() becomes so simple its
      no longer necessary at all.

commit db782b4b62ea6edd3510f60a5875f2c884b08575
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 10 11:49:24 2012 +0300

    Keep the macro buffer terminated on append
    
    - This isn't strictly needed as we're terminating the buffers "just in
      case" all over the place but handling this centrally might allow
      some day eliminating the other fluff...

commit 6101cac6b3357fab763636da53d52ea9810cb54f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 10 11:28:39 2012 +0300

    Fix off-by-ones in mbAppend() and mbAppendStr()
    
    - Oops, remember to reserve space for the trailing \0 when appending.
      mb->nb holds the number of actual characters left in the buffer,
      not the terminator. Fixes a regression introduced in rpm 4.9.x
      dynamic macro realloction work (RhBug:431009 reprise)

commit 416fc709ab1a711ae441271154f72b1b5d9401cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 7 15:29:14 2012 +0300

    Simplify mono file magic regex
    
    - Begin/end restrictions with wildcards on both ends dont make much
      sense, just match on the plain (sub)string

commit f2f4bfe9a57ee3da4a63ae4b93d0cca444d9389e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 7 15:17:45 2012 +0300

    Relax python file magic regex somewhat
    
    - libmagic sometimes adds trailing descriptions about encodings, line
      terminators and whatnot, we dont want to care about those (RhBug:796218)
    - not all python-related strings start with [pP]ython either, sometimes
      libmagic says "a python script" or "a /usr/bin/python script" and
      whatnot, so loose the start-of-line restriction as well

commit 49e398278fd75996909e99c0cec7667b0f8d55be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 7 14:51:32 2012 +0300

    Tweak font magic regex a bit (yet again)
    
    - Lose the pointless begin/end restrictions, take the optional
      space into account for both optional parts (one of the later issues
      in RhBug:757105)

commit bb335292d30893eb88bdf47f166e254fa7abe37e
Author: Michael Schroeder <mls@suse.de>
Date:   Thu May 3 11:49:56 2012 +0200

    Small patch to reverse hardlink ordering
    
    Hi Panu et al,
    
    Here's a small patch that changes the ordering used for putting
    hardlinked files into the cpio archive back to lexicographical.
    
    You might wonder what this is about. Well, old rpm-3 (and
    also old versions of rpm-4, I think) already used lexicographical
    ordering for files and hardlinks. When deltarpm was created,
    it made use of this fact when "compressing" the file order
    of the cpio archive into the so-called "sequence". Deltarpm
    can deal with "out of order" files, but in that case it needs
    to reset the compression, which leads to really long sequence
    strings.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 58c5eb28d5f267313294486c6f8a7a6c84984d86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 3 16:15:59 2012 +0300

    Fall back to private db environment on system level EINVAL
    
    - BDB wants to use mmap() for its environment by default, but not
      all (file)systems support this, as pointed out by Daniel Drak.
      However env->open() can return EINVAL for a number of reasons,
      require all the fallback reasons to be system level errors to
      differentiate from "logical" errors such as incompatible flags
      to (possibly pre-existing) db environment, in which case we better
      just error out.

commit 5f0bdf9e8af3dfc07aaa7c82671bec4915aaab78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 2 15:17:01 2012 +0300

    Eliminate unused selinux file context path macros
    
    - These haven't been used by anything since rpm 4.8.x days,
      nowadays we just use selinux_file_context_path() instead

commit d3379249302f29aafa3c632fc38b9ae501c9acfd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 15:52:41 2012 +0300

    Eliminate rpmts usage from lower levels of fsm machinery
    
    - The only remaining use for rpmts here was grabbing NODIGESTS
      from rpmtsFlags(). Pass the tiny little piece of information
      as an argument for the one place needing it and rip all the
      now unused related goo.

commit bf4b423fdfe729eae411f5f6807a1111da6ca878
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 15:45:24 2012 +0300

    Only install needs selabel handle, dont bother elsewhere

commit 2eb24dcc20c902649e62b31862ef6646d6d86af6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 15:33:40 2012 +0300

    Dont bother with fsm-level digest statistics
    
    - Most of fsm doesnt need the actual transaction set for anything "real"
      and dragging it around as a mere statistics collector seems
      pretty dumb. If we want better statistics, we better come up with
      a saner way to gather them.

commit 4320b8125146f092dbefe8c61db47d1cc3d7960e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 14:28:03 2012 +0300

    Eliminate rpmts and rpmte kludgery from package building
    
    - Package building has no associated transaction or ts members,
      this was all just fake-up kludgery to work around the way how
      fsm used to work. None of it relevant now, kill kill kill.

commit 2d563cefee2da656b11928fe6e872b589b018851
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 14:16:21 2012 +0300

    Eliminate rpmte usage from lower levels of fsm machinery
    
    - Determine the need for reverse iteration based on fsm goal
    - Everything else was just using rpmte to get to its file states,
      eliminate the intermediate ping-pong by passign the file states
      around directly. Makes the thing that little bit less silly.

commit 7789f46e4c1a5d2f8c4051fb1464e8a12d19966d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 14:01:46 2012 +0300

    Move mode-specific flag setting out of fsmNew()

commit dc71b7ef15d43051683bcd8bac973af10b763732
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 13:48:11 2012 +0300

    Clean up file backup logic a bit
    
    - Ghosts are never backed up, and the whole business is irrelevant
      for package building. Use fsm goal instead of rpmte mode to
      determine what to do, rpmte in build code is nothing but an ugly hack.

commit 015a34e0df0f74006b48d76eae72cfdbe9121018
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 13:36:38 2012 +0300

    Eliminate header and rpmte knowledge from rpmfs
    
    - rpmfs is such a low-level construct it doesn't need to know anything
      about the upper layers. Gather the necessary bits of info in the
      sole caller instead and pass only whats needed to rpmfsNew() to
      enable creating a filestate item without having rpmte/header at hand,
      which we'll be needing in the fsm shortly.

commit 9f4186766c7c628b8cc67fe0c62d58cf38b51c92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 12:36:26 2012 +0300

    Bury build filestate setting inside fsm remains
    
    - This whole thing probably isn't needed anymore, but for now just
      lift the FA_SKIP/FA_COPYOUT setting to rpmPackageFilesArchive(),
      allowing rpmfsSetAction() to become properly internal-only function.
    - Trim out unnecessary now unnecessary librpm internal includes
      from librpmbuild code

commit 5dd61799ee91dcd5d95d257eeaee25cffeb920bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 24 11:55:37 2012 +0300

    Split out file state recording out of fsmMapPath()
    
    - The file state that gets stored in the rpmdb has nothing to do with
      path and is only relevant for installs.

commit 94eefb112875cb46501faff5752226f2346e0c62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 23 15:35:29 2012 +0300

    Fix quoting in brp-python-hardlink (patch from Jon Nelson)

commit 0920d3339b706049d26e8cc18d8bf966616c2f32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 23 11:16:04 2012 +0300

    Add a few basic test-cases for tilde in version comparison

commit db28221a4a48f6ee3c804c92314330637c808638
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 23 11:04:02 2012 +0300

    Add support for dpkg-style sorting of tilde in version/release
    
    - This allows much nicer handling some common scenarios such as
      upstream pre-releases where the pre-release version would normally
      appear newer than final release, eg 1.0-rc1 vs 1.0. Previously this
      required mapping the pre-release tag into the release tag to achieve
      desired sorting, with tild this becomes simply 1.0~rc1 < 1.0.
    - Add a rpmlib() tracking dependency to prevent older rpm versions
      from getting confused with packages relying on the new behavior.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4935f4853227d3981ba86d5557ae36704a1f67f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 20 13:29:21 2012 +0300

    Add further version comparison test-cases
    
    - Add pile of further tests for the more common constructs,
      collect various (old and new) corner cases from bugzilla.

commit 5f1ec21518078e599b2499cf1ff852837ec33df7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 20 09:31:17 2012 +0300

    rpmdsMatchesDep() isn't correct on obsoletes
    
    - Fix oversight in commit 9fb81eac0bcd239e46459f72916099f1adfc5cb9:
      rpmdsMatchesDep() works on provides, but obsoletes are matched on
      package name so we want rpmdsNVRMatchesDep(). rpmdsMatchesDep()
      "worked" as the implicit self-provide is always at the 0 index
      on packages created by modern rpmbuild, but this isn't really
      guaranteed: very old V3 rpms can have something else at the
      first index, and ditto for non-rpmbuild created packages.
    - Thanks to Michael Schroeder for pointing this out.

commit b45294ba685192e03a6597e36b395489ea9e56f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 12:48:58 2012 +0300

    Pay attention to NULL returns from rpmcpioOpen()
    
    - The archive interface might actually want separate new + open,
      but for now just flag an internal error on NULL return on archive open.

commit 00db04cf2cfd6d368aa70db316f50cf05f37c38b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 12:34:45 2012 +0300

    Sanitize fsm creation/initialization and destruction
    
    - Now that there are no more failing parts requiring return codes,
      change + rename fsmSetup() into a more regular fsmNew() construct,
      returning newly "instance" of fsm and similarly fsmTeardown() ->
      fsmFree() to free the thing.
    - There's no real need to allocate this stuff on heap, but doing
      so makes life actually simpler for the three callers and makes the
      whole thing more consistent with common practises in the codebase.

commit df92175300a9e320136fc2fc4e3f7a9b1274635c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 12:18:35 2012 +0300

    Split out hardlink checking from fsmTeardown()
    
    - Checking missing links is only relevant for install, lift the
      code to separate function and call from the install-case only.
    - Freeing data while checking seems like a dubious "optimization"
      but to keep changes minimal, leaving that as it is now.

commit de92cb7a43a03df9e38e668f81391d202f563f7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 12:09:06 2012 +0300

    Eliminate unused leftover rc member from fsm struct

commit 6e1b83492808cf636ec76c17a4646b3dc2d4b8a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 11:38:29 2012 +0300

    Move cpio end trailer detection to the cpio code
    
    - The fsm shouldn't know any archive format specifics, detect the trailer
      from rpmcpioHeaderRead() and signal EOF through CPIOERR_HDR_TRAILER
      instead.

commit 3c2be9072df9c41159d57e0021faaff62d5dfcb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 10:30:11 2012 +0300

    Separate payload archive close and free
    
    - When writing, archive finalization can write further data into
      the payload (eg cpio trailer). We need to be able to fish the
      final archive size *after* closing it, otherwise archive size
      will be off by trailer size.
    - Add new rpmcpioFree() function which simpy frees the archive struct,
      calling rpmcpioClose() in the process if it wasn't already done.
    - This also simplifies the error code gymnastics in fsm: we need to
      free the resources whether error or not, which rpmcpioFree() allows
      us to do. And for writers, calling rpmcpioClose() only needs to
      be done if earlier parts were successfull, so we dont need to worry
      about masking a former error code when calling it.

commit 4c1f7e335de1724661ce63c53186d161ab71a63f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 18 10:09:01 2012 +0300

    Always return NULL from fdFree()
    
    - Up to now, if the fd had remaining references fdFree() would return
      the supposedly free'd fd back to us, which is unlike anything else
      in rpm. Make this consistent with the rest of rpm finally as the
      last remaining caller requiring the old semantics is gone from
      the codebase (somewhere between 4.9 and 4.10): always return NULL,
      as the referenced instance is now gone as far as the caller is concerned.

commit 6cb8e8b2ef31cace0fe0ef0112a15aa16a427fd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 20:10:10 2012 +0300

    Eliminate payload archive member from fsm struct
    
    - Only install and build have an associated archive, and this can
      be just as well handled as a local variable, passing down as
      argument to the handful of places needing it.
    - Error handling looks a bit fishy but that's not exactly new issue...

commit 189dec7ba940dc13caba43fa5fb151645ce77e50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 19:18:28 2012 +0300

    Push fsm archive size down to the only caller who cares
    
    - Archive size is only relevant for build code, no need for tracking
      this in the big struct. Just return the archiveSize at end of
      build process.

commit 00629aa636ab54cabdb4bb7dcd3698ead2024be7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 18:03:29 2012 +0300

    Lose unnecessary cfd member from fsm, refcount through payload instead

commit f1d24281f5d4c48c95709b96bb1d3ea3dbdb22a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 17:36:47 2012 +0300

    Kill couple of useless "helper" functions
    
    - Both are only ever called once and are so trivial that they're
      not helping anything at all

commit fa483f1762ad13c665f111b7993fcace97814fc6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 17:21:02 2012 +0300

    Remove now unused psm argument to fsmSetup()
    
    - Bah, should've been in commit 4ef540d25bab77b46cbf4467c8f6bc22cdd0e419

commit 28dc2eadfa519472a8e4b806339eeba7fcf17735
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 17:08:49 2012 +0300

    Move mapping index + and related loop exits out of fsmInit()
    
    - The mapping index is the same for build + erase, but different
      for install and so is the return code mapping. By doing this
      inline where the action is we avoid having to fiddle with
      mapped return codes for the exit case.

commit d852a56e1775cd937034364cf4688ee353e9e56a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:53:12 2012 +0300

    Move the install-only payload reading to the install-only code
    
    - Besides simplifying the common path everything takes, this removes
      the need to map error returns back and forth when we can just
      detect the end of payload directly in the loop and break out.

commit 9e73ca9fccac1e45ce0d7b81c684cbd28fdc2f40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:40:54 2012 +0300

    Split fsm state reset to a separate function
    
    - No functional changes as such, but moving this out of fsmInit()
      permits other goal-specific items to be moved out of fsmInit()

commit 124db72a60ca089479c5f6446229e45fa46cdb13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:30:43 2012 +0300

    Zeroing out the fsm is common to all modes, move it to fsmSetup()

commit 380e19c62d7da19435353bc4768ba8bee401c8bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:27:27 2012 +0300

    Push dnl iterator init + free to the sole caller fsmMkdirs()
    
    - There's zero need for the rest of the code to know or care about
      dnl iterator, just pass the file info- and state sets to
      fsmMkdirs() directly and hide the otherwise unused iterator
      business there.

commit 4cb9109d316e61b5c456efe028b76aab55b5a21d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:15:33 2012 +0300

    Inline what little is left of fsmCreate() into fsmSetup()
    
    - Besides being a bizarre name for "some extra initialization" work,
      fsmCreate() was full of redundant goo, including a rather complex
      way of mapping a zero return back to zero in case it really was
      zero .. or something.

commit 577751c4500a3a3664e02c2ea756e13692a122a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 16:01:52 2012 +0300

    Move temporary install suffix creation to more logical place
    
    - Only installation needs, so move it to rpmPackageFilesInstall()

commit 06badfc76eef733cc34884804f51d527c4520379
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 15:47:20 2012 +0300

    Move unowned directory creation to more logical place
    
    - rpmPackageFilesInstall() is the only case where this needs to occur,
      move it there instead of yet-another goal-dependent piece where it has
      no business being in the strangely named fsmCreate()...

commit 5b40273785277d2e9c3f9ddc0bc8afb9c9b88b98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 15:37:53 2012 +0300

    Eliminate the pointless fsm NULL checking in fsmFsPath()
    
    - There's just no damn way fsm can be NULL when this is called,
      a NULL fsm would've segfaulted miles earlier.

commit 17ae5675f2145cb9453809c117961a30db2b421f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 15:04:39 2012 +0300

    Eliminate unused subdir argument from fsmFsPath()

commit f108c231761d108f72e188740f42878edacdfcb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 14:09:07 2012 +0300

    fsmFsPath() only needs directory/something else not entire struct stat
    
    - The less places we pass all the junk around, the easier its to
      follow, and in most places we already know whether its dir or not anyway.

commit 4ef540d25bab77b46cbf4467c8f6bc22cdd0e419
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 13:28:55 2012 +0300

    Remove now unnecessary psm member from fsm struct
    
    - Except for expandRegular(), all notification occurs from the three
      main worker functions. Pass as an argument for the lone special
      case, the other noticy already have the psm as their own argument.

commit fb51698e0c21ddd289ccbe97330aea0727da8751
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 13:25:59 2012 +0300

    Remove redundant progress notification from fsmCommit()
    
    - fsmCommit() does not advance the archive or anything else, so
      this was simply issuing the same exact notification that we
      just did from rpmPackageFilesInstall().

commit 05bde170d7d14a337d1ad6250a2f6a5786c35a47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 12:40:41 2012 +0300

    Clean up + improve file/directory removal error handling
    
    - Only handle %missingok in the cases where it actually applies,
      and additionally handle missing %ghost which is not an error
      either. Dont log anything for these non-errors.
    - Unify the error handling for files and directories, makes life
      simpler as they dont differ by that much.
    - Log real failures as warnings instead of silencing them to debug
      spew, users will want to know if something that was supposed to
      be removed was not (say, a file with immutable attr set).
    - Add comments for further work on this area.

commit a4d25c7ab25e0e5ae935a4ac0edf918c38a67eaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 10:49:26 2012 +0300

    Minimally fix file/directory removal
    
    - In their previous life these breaks applied to a switch-case but
      now they end up aborting the loop on first successful removal, causing
      everything but the first file/directory of a package to be left behind
      on erase. Fixes the previously unnoticed regression from commit
      1845c1d711b88723e596c88e8a7730a360029089.

commit f9eedd7f694a3dd3db637089f978dab4bd6858ee
Author: Phil Knirsch <pknirsch@redhat.com>
Date:   Mon Apr 16 19:05:18 2012 +0200

    - Add support for ppc64p7 architecture using new auxv parsing info
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 280494cce023f3938023b9b2b1173405601e4ddf
Author: Phil Knirsch <pknirsch@redhat.com>
Date:   Mon Apr 16 19:02:34 2012 +0200

    - Add general /proc/self/auxv parsing to rpmrc for better machine detection
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit bad173ef169905c7411f08208cf881be173d51dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 17 08:25:26 2012 +0300

    Use a bit more complicated test for the install/remove file verification
    
    - Previous test only used a single file and no package-specific
      directories, now we have multiple files and multiple directories,
      some owned by the package and some not.
    - This test fails right now due to previously unnoticed regression
      in commit 1845c1d711b88723e596c88e8a7730a360029089

commit f5fdd5f9ca68d436ebb656299c1e1ba4488b2af9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 16 15:52:30 2012 +0300

    Axe unused leftover variable
    
    - Should've been in commit cf1095648194104a81a58abead05974a5bfa3b9a

commit ca9379c010d811b39775a23a4c737b7e0414f652
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 16 15:50:27 2012 +0300

    Document --obsoletes in manual (RhBug:809402)

commit df475ec90cee171049ed7eb2edfcbba9b4d4993f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 16 14:14:37 2012 +0300

    Add test-cases for identical basenames within package
    
    - One test for the normal situation where identical basenames are
      not a problem, and another one where this causes a self-conflict
      because of a directory symlink.

commit 8e4c7a56150407bd99edf29f009d1014a1d61626
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 13:38:20 2012 +0300

    Raise file conflicts on differing device node numbers
    
    - For practical purposes, the "content" of a device node is its
      minor+major number, if those differ the files are very much
      not the same and thus cannot be shared.

commit cf1095648194104a81a58abead05974a5bfa3b9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 13 13:16:51 2012 +0300

    Raise file conflicts on differing permissions (user, group, mode)
    
    - Two files (or directories) cannot be correctly shared if their
      permissions differ, even if the content is identical: either
      file will end up having wrong permissions, depending on installation
      order. This means a package can among other things silently
      eg relax permissions of eg security sensitive directory (accidentally
      or intentionallY).
    - We now require exact match of user, group and entire file mode
      (previously only the file type part of mode was tested)

commit 48c4ed1148cd617b67314353bf7859c1115884b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 18:01:52 2012 +0300

    Check for file conflicts within package (RhBug:808750)
    
    - Packages having file conflicts with itself may seem absurd, but
      directory symlinks (such as /lib being a symlink to /usr/lib)
      make this entirely possible. This makes us catch and abort early
      on these cases instead of silently overwriting the self-conflicting
      files, potentially with disastrous results.

commit a13e56cd871a306fe48cd902c0ada0d825076a1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 3 06:11:11 2012 +0300

    Check for file conflicts within package (RhBug:808750)
    
    - Packages having file conflicts with itself may seem absurd, but
      directory symlinks (such as /lib being a symlink to /usr/lib)
      make this entirely possible. This makes us catch and abort early
      on these cases instead of silently overwriting the self-conflicting
      files, potentially with disastrous results.

commit 763341073355433b396d5a9219c5d374b3124837
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 17:50:54 2012 +0300

    Change file disposition code to access rpmfi's by index
    
    - The final pre-requisite to handling file conflicts within a package:
      with this we're no longer tied to the single index per rpmfi. This
      is not supposed to change anything yet unless I screwed something up.
      Also goes to show that a semi-iterator interface for something
      that really needs random access only gets in the way rather than
      helping...

commit 87e7e88f901430312b697131a1e7d54f60e8678f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 17:39:57 2012 +0300

    Change rpmfi replaced size functions to take index
    
    - Further preliminaries to handle file conflicts within a package.
    - These are internal-only interfaces so we can just change without
      bothering with compat wrappers.

commit 3f996a588a56141df146c33583a13c0542323977
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 17:39:32 2012 +0300

    Add rpmfiFooIndex() variants for the conflict handling methods
    
    - Preliminaries for handling file conflicts within a package:
      Using rpmfi's self-iterator limits access to the file info to
      one caller at a time, in order to self-file conflicts we'll need
      to be able to access the same rpmfi at different indexes simultaneously.
    - As these are public API's, add compat wrappers for the self-iterator
      use (although AFAIK nothing except rpm itself uses these)

commit fbe424f202b32a42bed599739a687ce5bfebe92f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 17:27:24 2012 +0300

    Further tweak the config file removal/backup logic to make it clearer
    
    - Turn the strange negated condition around: when dealing with
      config files test for it directly. This way, all the special
      cases are handled first and normal cases fall through the if-jungle
      to exactly one case of rpmfsSetAction(fs, i, FA_ERASE). Makes
      the logic more obvious, at least to me.

commit b013a139d2a68033aa25cd27af457dc7129c73a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 16:59:07 2012 +0300

    Avoid unnecessary calls to rpmfiFN()
    
    - handleOverlappedFiles() only needs the file name in a couple
      of relatively rare special cases. Constructing the fn more
      expensive than other rpmfi-calls, dont bother unless actually needed.

commit a359292046953e828b668cc1acd2aad9a26a21b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 16:27:08 2012 +0300

    Make config file modification detection a bit more readable

commit 11116a67864c119e420297984bd9ec4b83fdadd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 12 15:15:26 2012 +0300

    Make rpmfiFNIndex() safe for callers on different indexes
    
    - Previously this would return a pointer to an internal per-rpmfi buffer
      whose contents get silently overwritten on each call to rpmfiFNIndex(),
      making it unsafe for unsafe for random access for more than one
      active caller (such code does not currently exist in rpm though)
    - Make rpmfiFNIndex() always return freshly allocated memory, and adjust
      the rpmfiFN() iteration wrapper to free and realloc the internal
      "buffer" on each call. It's a wee bit slower than before but it's
      not called *that* much, and if needed there are ways to optimize it.

commit 2685bc0036750d93f1d43f8db2ce3b82159f3120
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 16:57:29 2012 +0300

    Oops, automake isn't happy with comment here...

commit b44b9ea94d229c07e56e242fa5625dea02de6a75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 14:21:27 2012 +0300

    Arrange unified /bin <-> $(bindir) in test-suite root
    
    - Rpm traditionally insists on putting itself into /bin and expects
      to find various things, especially /bin/sh there as well. This
      is normally the case, but on systems where the host /bin is symlink
      to eg /usr/bin, the test-suite /bin will be empty except for rpm
      itself causing a big number of bogus test-suite failures. Making
      test-suite root bin/ always a symlink to $(bindir) avoids this issue
      and works whether the host /bin is a real directory or not.

commit 6cc1680082a34037b889d824b80a006081b97363
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 13:27:51 2012 +0300

    Fix test-suite root population wrt "optional" directories
    
    - /proc, /sys and especially selinux directories are mostly Linux
      creatures and even those vary between versions. Use if to avoid
      the error code "leaking" in case the last directory is not present.

commit 8106e7e89c3c673f8eb7d2ed5027e2ee9750e3b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 5 11:32:38 2012 +0300

    Handle obsolete matches (more) correctly in rpmal
    
    - Similar to commit 9fb81eac0bcd239e46459f72916099f1adfc5cb9 but
      on the to-be-installed set: obsoletes should only be matched against
      package names, not any provide or file names. Hasn't really mattered
      previously due to the way its called, but since commit
      05487d9a3f763cfed5f5ca75b4fbadb62f38dfd6 I guess it started to matter.
      It's more correct this way anyhow, and should fix RhBug:810077.
    - Since rpmal only knows about provides, we need to handle obsoletes
      as a special case and filter out matches on provide names different
      than the matching package name.

commit b9c96a9fa9137f5bd26569466fd12c41a519c1f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 4 17:30:04 2012 +0300

    Remove unused scareFlags member from rpmfi struct
    
    - This is just a leftover from rpm < 4.7.x days

commit 6fc6b45bf9fef0f17a2900c6c5198bda5e50d09e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 14 11:27:46 2012 +0200

    Validate negated offsets too in headerVerifyInfo()
    
    - Undo the ancient broken fix for RhBug:71996 from commit
      9e06e3b8ca76ae55eaf2c4e37ba9cac729789014: instead of disabling
      the check, pass in the correct upper range which is entirely
      different from everything else for the region trailer tag.
    - Fixes CVE-2012-0815

commit f23998251992b8ae25faf5113c42fee2c49c7f29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 18 10:56:35 2012 +0200

    Differentiate between non-existent and invalid region tag
    
    - Non-existent region tag is very different from existing but invalid
      one - the former is not an error but the latter one is, and needs
      to be handled as such. Previously an invalid region tag would cause
      us to treat it like rpm v3 package on entry, skipping all the region
      sanity checks and then crashing and burning later on when the immutable
      tag is fetched.
    - Refer to REGION_TAG_TYPE instead of RPM_BIN_TYPE wrt the expected
      type of region tag for consistency and clarity, they are the same
      exact thing though.
    - Should unify these damn copy-slop check one of these days, sigh...
      For now, settling for the easily backportable approach.
    - Fixes the other half of CVE-2012-0060

commit e4eab2bc6d07cfd33f740071de7ddbb2fe2f4190
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 19 08:25:15 2012 +0200

    Specifically validate region tag on header import
    
    - Region tags need to have very specific content, the generic
      header tag checks are not sufficient to ensure sanity. Verify
      the tag is one of the known region tags and that the entry has
      expected type and count.
    - Fixes the first half of CVE-2012-0060

commit eaece70c1e80f6830b4a222f0ba47f4a75a0136b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 3 06:58:30 2012 +0300

    Fix gpg-pubkey typos in Japanese manual (RhBug:760552)

commit b4486175f39af3265eb9d0799116062903255d9f
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 30 14:56:33 2012 +0200

    Move internal stuff from fsm.h to fsm.c
    Reduce fileStage to the three "goal" stages

commit 84867c8784ae4a7bad915eb944316b062b8d00dc
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 30 14:51:52 2012 +0200

    Replace fileStageString() with the __func__ macros in the debugging code
    Remove fileStageString()

commit 9c342e4ce716d9fcf6d7ec24e14beb73d45aac2d
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 30 14:43:43 2012 +0200

    Remove checks for FSM_SYSCALL as FSM_* is going to go away

commit b65397f6c50ae433ce755be4340da83162becf5b
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 30 14:27:51 2012 +0200

    Drop no longer needed include of fsm.h

commit 14d1139bc508d99ad5e2753940dee46d6e0346fb
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 29 15:49:51 2012 +0200

    Kill FSM: Remove remains

commit d951812386050d69ebf148e413cf3a730aeb0d20
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 29 15:49:11 2012 +0200

    Kill FSM: Make FSM_PKGBUILD a function

commit c5282fc60d8ce354807b10b4dbb8767c7d9b5883
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 29 15:47:41 2012 +0200

    Kill FSM: Make FSM_PKGERASE a function

commit bd60c4285f98fb40be39ad00d78d0a1c34f04592
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 29 15:44:40 2012 +0200

    Kill FSM: Make FSM_PKGINSTALL a function

commit 800c60ea102ae870aa8f9d63f3d5ea6216a67cc9
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 29 14:15:16 2012 +0200

    Prepare for killing the fsm: Move initial call to FSM from fsmSetup to rpmfsmRun. Make fsm FSM_t.

commit 8cd97503130f7b21bcb50ba50f2ef4247146a564
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 12:43:13 2012 +0200

    Prepare for killing the fsm: Inline FSM_UNDO; Remove FSM_UNDO calls were fsm->postpone is set and FSM_UNDO doesn't do anything.

commit a78d648c24074aef349871b89871a121927ad3ff
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 12:30:01 2012 +0200

    Prepare for killing the fsm: Inline remaining FSM_PROCESS code in FSM_PKGINSTALL

commit 80419742e63ba81c8ca7b8e946312f92ba0b283a
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 12:12:42 2012 +0200

    Prepare for killing the fsm: Remove superfluous check for being in FSM_PROCESS to allow killing FSM_PROCESS. fsmVerify is only called while being in FSM_PROCESS.

commit a6479a8e47d3d8b95dd818b03f0b186ac1a66cbc
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 10:05:21 2012 +0200

    Prepare for killing the fsm: Make FSM_COMMIT a function

commit 9b96ed08ccbc7350572630bf49ff49fafa435c49
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 09:34:05 2012 +0200

    Prepare for killing the fsm: Move build code from PSM_PROCESS to FSM_PKGBUILD

commit 1845c1d711b88723e596c88e8a7730a360029089
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 28 09:19:15 2012 +0200

    Prepare for killing the fsm: Move code for erasing files from FSM_COMMIT to FSM_ERASE

commit ff4f110306f06512abe6a6576697d7f15ec82119
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 17:52:13 2012 +0200

    Prepare for killing the fsm: Inline FSM_DESTROY in fsmTeardown()

commit 9de132d9e56b637b8d841481a3bcbbb0ab41fe65
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 17:26:49 2012 +0200

    Prepare for killing the fsm:  Inline FSM_FINI code.
    Move cleaning the stat_s structs to fsmInit() (beginning of the loop instead of the end)
    Drop freeing fsm->path as this is done in fsmInit() and fsmTeardown()

commit c362272343a8af725508737499dcfe2fdcced7f2
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 17:03:04 2012 +0200

    Prepare for killing the fsm: Inline the FSM_NOTIFY code

commit b714dcea37af2e23026a52be76e7317592ecb52e
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Tue Jan 3 16:04:18 2012 +0100

    rpmbuild: warn if header color differs from color of the package architecture.
    
    - For example, warn when building an x86_64 package that only contains 32
      bit binaries.
    - This should indicate to the maintainers that they might have gotten the
      architecture wrong.
    - Introduces 'archcolor' in rpmrc so we can map architectures to colors.
    - Related: RhBug:713323

commit 7c39c65da4b1b012061ffbac179a650643d00ba9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 30 09:56:43 2012 +0300

    Axe leftover CANONARCH assignment messing up our "base" archs (RhBug:808250)
    
    - This should've been in commit 2a8d03669732f68f02fa7b21ec87ee3f65d11e5b,
      the leftover CANONARCH resets the "base arch" we just set to a wrong
      value.

commit fe252f21b370331016a952b085465cd97837aaef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 29 11:26:57 2012 +0300

    Accept files as command line arguments again in rpmdeps (RhBug:807767)
    
    - Commit a25c3c7bac95ab7eb55f0ecf0b8793d8da341611 removed what was
      supposedly a non-supported method of passing files as arguments
      (instead of the normal stdin method) to rpmdeps. Turns out
      rpmdeps is even documented to take files as cli args, and that's
      how Fedora's %filter_setup macros are calling it...
    - Allow files as arguments again, but in a way that doesn't cause
      argvFoo() vs popt crash-n-burn.

commit cc1e2328c1fe8ec8efdbef55259b34fa0f337837
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 14:22:46 2012 +0200

    Inline FSM_NEXT

commit c8d34d9deb8afee548916eae5d9eef535e188c31
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 14:31:50 2012 +0200

    Remove left over debugging code

commit 75073ae2a42bdb4a262bda6a0b6d2e104dd9b0a8
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 11:25:49 2012 +0200

    Move fsm_s to fsm.c and remove fsmNext() from fsm.h

commit 7c37d52941387c2bd23a7e84509d6c716b55e441
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 27 11:09:45 2012 +0200

    Remove Fseek() code from rpmcpioHeaderRead for now
    Fseek() does not return a proper error code. This needs to be fixed before we can use it as most comprssed files do not support seeking and we need to be able to detect this reliably

commit 6492aa800f2bb40c4602f4b50e013797a1fb8549
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 22 13:58:02 2012 +0100

    Untangle lib/fsm.c and lib/cpio.c
    
    Create cpio_t data type that holds the underlaying FD_t instance
    Move padding and position handling and trailer generation into cpio.c
    Use only one buffer in the fsm (merging the read and write buffer)
    Replace the FSM_EAT, FSM_POS, FSM_PAD, FSM_DREAD, FSM_DWRITE states with cpio functions
    Prepend "rpm" to the cpio function names

commit dd05fdd35f680dfff606731a664859ae45762bb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 26 13:03:03 2012 +0300

    Dont bother building internal versions of db utilities we dont need
    
    - rpmdb_dump, load, recover, verify, stat etc are useful at times,
      but these are not. This also fixes build with internal db for
      more recent versions of Berkeley DB.

commit 0b8c3218027c99a6d92c2ca53fe7f42cf87f30a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 23 14:17:47 2012 +0200

    Eliminate broken data end calculation in dataLength()
    
    - If the caller doesn't know the end pointer, we dont have a whole lot
      of chance to come up with a reasonable one either. Just assume
      the terminating \0's are there when end boundary is not specified:
      when this happens we're dealing with relatively "trusted" data
      anyway, the more critical case of reading in unknown headers does
      always pass end pointers.
    - While capping the end pointer to HEADER_DATA_MAX seems like a
      reasonable thing to do (as was done in commit
      f79909d04e43cbfbbcdc588530a8c8033c5e0a7c), it doesn't really help
      (bad data would likely run past bounds anyway), and it's not right
      either: the pointer can be to a stack address, and the stack can be
      near the top of addressable range, and ptr + HEADER_DATA_MAX can
      cause pointer wraparound. Notably that's exactly what happens
      when running 32bit personality process on 64bit system on Linux,
      at least in case of i386 process on x86_64, causing all sorts of
      breakage..

commit 8a189c638386bee3906033857aa7268c1e0ca22c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 22 12:24:55 2012 +0200

    Oops, "magic eight" is necessary here afterall
    
    - Fix regression from commit 807b402d95702f3f91e9e2bfbd2b5ca8c9964ed9,
      the array gets passed as a pointer (how else would it work at all),
      so despite having seemingly correct type, sizeof(keyid) depends
      on the pointer size. This happens to be 8 on x86_64 and friends
      but breaks pgp fingerprint calculation on eg i386.
    - Also return the explicit size from pgpExtractPubkeyFingerprint(),
      this has been "broken" for much longer but then all callers should
      really care about is -1 for error.

commit c411382194ab678cfe87b20dd2967a51f2bd412e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 21 10:04:14 2012 +0200

    Add test case for scriptlet behavior
    
    - The test-root has a shell but rpm doesn't know about it, add a
      fakeshell metapackage that provides it. Should come in handy for
      other cases as well, up to now we've been limited to lua scripts only.
    - Test that all the "normal" scripts get executed, in expected order
      and with expected arguments, on install, upgrade and erase.
    - This would've saved the rather embarrassing breakage with commit
      274dbf557d1cac90f7c278f9b6d6af05997d92df at least, but better
      late than never as they say... It also serves to highlight and
      document  the arguably broken arguments to %pre- and %posttrans
      scripts (ie always 0)

commit 2f20f6e6b2cc6f26794678d1db16659c484a001c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 21 09:07:21 2012 +0200

    Transaction element file info can be legally NULL in some cases
    
    - rpmteClose() will wipe out the file info to free memory, we only
      should care whether we failed to (re)load the file info. This
      thinko in commit 06a2f1269b035a3a76464149834f2a5a8c4e89f2
      broke %posttrans scriptlets (and without commit
      274dbf557d1cac90f7c278f9b6d6af05997d92df, %pretrans in other
      circumstances), whoopsie *blush*. Now, off to write a test-case
      for our scriptlet behavior...

commit 274dbf557d1cac90f7c278f9b6d6af05997d92df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 20 16:32:54 2012 +0200

    Don't free up file info sets on transaction test-runs, take II
    
    - Despite commit cef18c94807af0935b7796c462aab8ed39f0f376, we'd still
      end up freeing the file info sets via rpmteClose() while going
      through the test-transaction packages. This together with commit
      06a2f1269b035a3a76464149834f2a5a8c4e89f2 caused install failures
      on packages which have %pretrans scriptlets, if a test-transaction
      was first performed on the same transaction set that gets used
      for the "real" transaction as well. How wonderfully obscure...

commit 72b6a384f57402e1faf0cceb38c55f5e125fdabf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 20 10:05:49 2012 +0200

    Bump version to appear newer than 4.10.x branch

commit b699dd4bc1d9a875099721c4c68181602a81bc30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 20 10:00:06 2012 +0200

    Update translations from Transifex

commit ac5e6cd52177db9afaf0e12a17c35afd46f05c42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 20 09:46:42 2012 +0200

    Bump library sonames in preparation for new release
    
    - This is stupid... only librpm and librpmio actually need the bump due
      to ABI breakage, librpmbuild and librpmsign are unchanged and could
      use just a revision bump. But just incrementing the revision (or age)
      would set us on collision course with maintenance updates to 4.9.x.
      Then again its not like you can actually use librpmbuild or librpmsign
      without also linking to librpm(io) so from everything needs rebuilding
      anyway. This all also pretty much makes the whole libtool library
      versioning a bit moot. Bah.

commit 05487d9a3f763cfed5f5ca75b4fbadb62f38dfd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 16:54:34 2012 +0200

    Look up obsoletes both ways on dependency checking (RhBug:804069)
    
    - "pure install" like 'rpm -i' never removes anything (long-standing
      behavior that we dont want to change), but that causes us to allow
      installing obsoleting packages without removing what they obsolete,
      which in turn causes errors on verify. Not good.
    - This (together with commit 9fb81eac0bcd239e46459f72916099f1adfc5cb9)
      makes obsoletes behave like conflicts in such a case, preventing
      the inconsistency from taking place. Also verify will now whine
      on all the involved packages on inconsistencies.

commit 9fb81eac0bcd239e46459f72916099f1adfc5cb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 16:51:11 2012 +0200

    Handle obsoletes (more) correctly in rpmdbProvides()
    
    - Obsoletes should only be matched against package names, not provides,
      or file names for that matter. This hasn't really mattered so far
      due to the way rpmdbProvides() gets called currently, but there's
      a missing case that requires this...

commit 3dce75e43301a0ca98c2c5d58592fe9c1120af74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 12:41:12 2012 +0200

    Fixup couple of md5/digest references regarding verify in the manual
    
    - '5' in verify stands for digest nowadays, keep the md5 reference to
      explain why 5 is for digest though (related to RhBug:804049)
    - In --dump query everything relates to files, refer to the attribute
      in question ie 'digest' instead of 'filedigest'

commit 9ba41db49f2f74465de1fa35e4b6127bc34c4106
Author: Vincent Untz <vuntz@opensuse.org>
Date:   Tue Mar 13 16:27:01 2012 +0100

    Fix find-lang to correctly detect all translations for new gnome help
    
    This was not working for locales with a territory (fr_FR, for instance).
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 9a15e18a63d1c45a50e866762091f3bb410fbac2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 08:43:58 2012 +0200

    Include more package information in the progress output
    
    - For non-hashed mode, dump the full NEVRA string. This might break
      programs that are parsing the --percent format, but such programs
      almost certainly need adjusting for the added erasure progress anyway.
    - For hashed mode, show package NEVR instead of just name. Otherwise
      somebody will sooner or later file a bug on "confusing output"
      as it might seem it's removing what it just installed in upgrade-mode.
      Full NEVRA would be better still but screen estate is tight as it is...
    - Also get rid of headerFormat() call here, use RPMTAG_NEVR(A) extensions
      instead.

commit 0d3d3d83f145f99d7a7ffadc18e657932283480f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 19 08:21:17 2012 +0200

    Make a bit more room for names in progress output (cosmetics)

commit 1220f6642a4c9d1f9891e53b278ef2c35f2e4db0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 15 11:41:40 2012 +0200

    Fix rpm2cpio.sh error exit on unrecognized compression
    
    - This is not a function so it needs to be exit, not return.
      Reported as a side-note in RhBug:803421.

commit ff0eed0552d646d5efebb58468e3cf478437db47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 14 11:30:34 2012 +0200

    Unbreak lua's base64 encode/decode extensions
    
    - Commit 70f063cb773bedb7d336429d9bc8ed1d4e5d18f4 accidentally
      changed lua's base64 encode/decode interface too, ugh. Dangers of
      search-and-replace... Only the function name string exported to
      lua matters but renaming the internal functions back as well
      for naming consistency.

commit 1e318f557c0f8b8296f0263afa3a444b9b9d7f22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 14 10:09:35 2012 +0200

    Make rpm2cpio exit code accurate for large packages and partial copy
    
    - Grab the uncompressed payload size from header and compare number
      of bytes copied to that for exit code. Previously, truncated
      payloads could have returned with success. This also fixes the
      exit code for large payloads (RhBug:790396)

commit aa90bda89b15389f59fdf4c836892561f24a6479
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 14 10:05:32 2012 +0200

    Fix ufdCopy() for large (> 2GB) files
    
    - Files can be (much) larger than INT32_MAX, change the return
      type to off_t and fix + simplify the calculations. Fixes the other
      half of RhBug:790396 and makes ufdCopy() usable for other purposes too.

commit c3f36967423fb079d6f6cc25e9e1d5e0626a7d86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 12 15:25:12 2012 +0200

    Teach rpm2cpio.sh about xz compression (RhBug:674348 & others)

commit dec729bc3a38e06c5c81c23a53652cd2927aa800
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 13:13:25 2012 +0200

    Eliminate rpmSetTable() from the API
    
    - Presumably the rpmrc internals still need the magic table tennis
      but nobody else should want to mess with this, reconfiguration
      for another (build) arch is done through rpmReadConfigFiles().

commit e76ba6f332f8ae745a48e01bf3c2dc7d4b1b5cc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 13:05:38 2012 +0200

    rpmSetTables() call in rpmbuild has been dying long enough by now
    
    - The call to rpmSetTables() from rpmbuild is simply redundant for
      all I can tell, it gets called from inside rpmrc/config processing
      with the same values and the extra call here never changes anything
      as the tables have already been set through rpmReadConfigFiles()
      whether building for several targets or not.

commit b542b2fbc6b1897a911ec7c426c49a42ae307aa2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 9 12:16:11 2012 +0200

    Allow silent build on automake versions that support it

commit c345cb28e133b065674d8cb858ac37462c061930
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 8 15:12:33 2012 +0200

    Whoops, dont make install progress callbacks on erasure

commit a74b9b72a6dd3d936cab2c3c858a3c293ec6fcbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 8 10:17:47 2012 +0200

    Optimize python db index instances list generation and fix related leak
    
    - The number of entries is well know, allocate the entire list at
      once and set instead of appending one by one. Also cures a leak from
      created tuples not being decref'ed before - list set steals the
      reference whereas append requires an additional decref to transfer
      the ownership to the list.

commit 1432d5338336e6000263ad5d6a5836574e85ff91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 8 10:02:51 2012 +0200

    Optimize header data python conversion for array tags a bit
    
    - We know the array size beforehand, allocate the entire array
      at once and set the elements instead of appending one by one.
      This is (an obvious) and well-measurable, if not a huge, win.

commit 5cf61c9a75a573238fdeba7332a6bcad25b86953
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 15:02:54 2012 +0200

    Pull updated translations from Transifex

commit 1b729439c647e7f99a0b2c5df4ae96f3af50f2f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 14:31:42 2012 +0200

    Revert to former spec query behavior + comment
    
    - Various tools expect to get the full package list, not just those
      that would actually be built. There are of just as valid reasons
      for only wanting the packages that would be built, but we need
      to make this caller specifiable, just changing the behavior breaks
      existing tools unnecessarily. Add reminder comment why the thing
      is the way it is...

commit 95fe0d53d4ce1436468e191a52bf2cdf8ff31e68
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 19 23:51:19 2009 +0300

    Add --disable-dependency-tracking to %configure options.
    
    autotools dependency tracking isn't generally useful in rpm builds;
    disabling it results in cleaner build logs and possibly slight build
    speedups.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1684b696111cca7a3b96bf22f8168baab2a2c5e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 13:47:09 2012 +0200

    Warn but dont fail the build on STABS debuginfo (RhBug:725378, others)
    
    - debugedit doesn't support STABS but there are some crazy cases
      like PPC Linux kernel which contains both STABS and DWARF debuginfo
      sections, manually added. A better fix would be erroring out
      if we didn't find any usable debuginfo and warning otherwise but
      this at least folks get their kernels built.

commit fb3afcbff7dd4e7a79869f3cd835f533527792c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 13:40:08 2012 +0200

    Disable source fetch on build by default (for now) + comment
    
    - We need to grow some digest (and why not external signature as well)
      validation mechanism before we can let rpmbuild download + execute
      arbitrary content from the internet, at least by default.

commit 6047ddf6aa984a65e334450e04d272631894b039
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 7 11:31:15 2012 +0200

    Teach find-lang about the new gnome help layout (RhBug:736523)

commit a5076ad25874421c032f7b06e27c9c9023ff7d2d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 7 11:30:19 2012 +0200

    Generate debug symlinks for all filenames sharing a build-id (RhBug:641377)
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 778442263e3d0bcc79f209b7bd49f5937ade28a5
Author: Richard W.M. Jones <rjones@redhat.com>
Date:   Wed Feb 22 11:46:16 2012 +0000

    Correctly quote tr [:blank:] in OCaml dependency scripts.
    
    This fixes: https://bugzilla.redhat.com/show_bug.cgi?id=796149
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 959dedc5ae6ae493365565eb4029dea2a34be047
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 29 11:04:25 2012 +0200

    Explicitly remap device numbers along with inodes at build
    
    - Buildroot cannot cross filesystem boundaries without evil tricks,
      which is what the fs boundary sanity check from commit
      7a9a5505667c681044bacb21c9b84ac66c062fe7 was intended to catch.
      However in the case of source rpms, spec and sources can legitimately
      reside on different filesystems (one case of this is rpmbuild -ts
      from cwd on different fs than the %_topdir) and needs to be permitted.
    - Since we flatten the inodes to appear from a single filesystem,
      we need to also flatten the device numbers to match this. Turns
      out handling this is simpler than trying to prevent it :) Oh well...
      As we use the actual fs values for build-time hardlink discovery
      this should correctly handle hardlinks even if packaging crosses
      fs boundaries.
    - Device number 1 which we use is probably equally bogus on all
      platforms, but this is irrelevant as the device and inode numbers
      are only used for hardlink discovery.

commit 0232714ae5409babe522175a7526de4189fead54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 15:22:32 2012 +0200

    Only consider rpmdb growth for added packages
    
    - Blargh, dumb thinko in previous commit: removed packages wont
      necessarily decrease the rpmdb size, but they dont increase it
      either.

commit 96e0472301a9d0388c6fb91cb05ec8864ffba62f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 14:53:29 2012 +0200

    Fix invalid memory access from rpmdb growth estimation (RhBug:766260)
    
    - The dsi retrieved from rpmtsDbDSI() would become invalid whenever
      ts->dsi structure got realloced, ie anytime when disk space is
      calculated for a different fs than where the rpmdb resides. This
      is likely to be the real issue behind RhBug:766260 and also RhBug:671056.
      Just call rpmtsUpdateDSI() directly with suitable arguments for the
      rpmdb to avoid the special (re)alloc paths.
    - In addition, consider the db growth for packages with no files too.

commit 9defc922e971d98203890f1557ab951ec94f2a3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 12:18:10 2012 +0200

    Don't process spec %include in false branch of %if clauses (RhBug:782970)

commit 4e207bfdfce434a6484babc14fe86aeadeec5329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 28 10:31:28 2012 +0200

    Unbreak rpm -V output (RhBug:797964)
    
    - Commit ac0ab016a5ec31e65eb0c0910a5a6f1199aae3e7 unintentionally
      changed the order of the problems shown in verify strings due to
      a dumb oversight (greetings to self, duh). In other words, this
      fixes a verify output regression in rpm >= 4.9.x by restoring
      the long-standing (and documented) order of the verify output chars.
    - Also fix the testcase which unfortunately was only added after
      the output-changing commit so it didn't catch the breakage either :-/

commit 2a4333c18e0000031ed1d542ba7a6fffe1360c08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 16:51:08 2012 +0200

    Add a testcase for tag extension bad file name triplet detection

commit de942fba1cb7b1873e8813732f12a5475965c2ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 16:49:51 2012 +0200

    Raise exception in python on headerGet() invalid data failure

commit 97e72eaaea49008a2f05b806f95be0db3db3ad95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 16:24:18 2012 +0200

    Test for file data tag sanity in fnTag() extensions
    
    - Basename and dirindex counts must be equal, dirnames count must be
      larger than zero and no larger than number of basenames. Check
      that directory indexes are within range. Additionally file states
      array size, if used, must equal to the genaral file count.

commit e3fdb8a45a051e95479c2353522691e3dc4e7e2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 15:59:34 2012 +0200

    Fix crash on INSTFILENAMES extension on non-installed package
    
    - Packages with no RPMTAG_FILESTATES cannot have installed files
      from our POV, just exit early in that case.
    - Rerrange the exit path a bit and only call rpmtdFreeData() on
      file states if the corresponding headerGet() call was actually
      made. Wont make any difference yet, but once we have other jumps
      to exit it will.

commit fced9ab012b04e2f213aaf24b32e7c52a1fb7b66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 14:34:57 2012 +0200

    Sanitize filename tag extension handling
    
    - Rename rpmfiBuildFNames() to fnTag() and push all the td manipulation
      there, making all the various different fn-related tags differ by
      just the arguments to fnTag() and allowing central error etc
      handling. No functional changes (yet) though.

commit d6a3d78a08bc48bce279967ba48d8c21e6ee2405
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 14:14:09 2012 +0200

    Flag error in tag container for non-extension tag retrieval
    
    - This should mostly be a can't happen case, but at least in theory
      region retrieval could fail. So could unknown data type, but a header
      with unknown data types shouldn't even load... Anyway, there could
      be further error cases we might be able to flag here.

commit c172696ea06923300e1595bf2bb48988e3dee158
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 13:52:18 2012 +0200

    Add error indicator flag for tag data containers
    
    - Tag retrieval can in some cases fail, especially so for tag
      extensions. The headerGet() interface doesn't directly allow
      distinguishing between non-existent tag and existent but invalid,
      but we can sneak in that information through in the tag data flags.

commit b922b4392f0df9386feb730b4d9aea13cb397b19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 21 13:50:34 2012 +0200

    Add getter for rpmtd flags
    
    - While these are mostly of rpmtd-internal interest only, there are
      cases when caller might want to know...

commit 7a9a5505667c681044bacb21c9b84ac66c062fe7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 10 10:40:45 2012 +0200

    Remap inode numbers to fit into 32bit integer space on build (RhBug:714678)
    
    - 64bit inode numbers lose their uniquity when brutally truncated
      to 32bit integers as we've done so far. This can and will cause rpm
      (and cpio) to mix up arbitrary file entries as hardlinks and vice versa.
    - As the only interesting aspect of inode numbers is whether they're
      equal to something else or not, we dont have to carry the "physical"
      on-disk value to preserve semantics. So we can just remap the
      inode numbers to something that fits our 32bit integer tags
      without causing compatibility complexies with older rpms and
      cpio (and since we can't handle more than INT32_MAX files in a package
      anyway, breaking compatibility for this would be just braindead dumb).
      An extremely simple way to achieve this is to use our
      build-time file list index as the basis of stored inode number.
    - In theory this breaks inode-device pairing, but as the buildroot
      cannot span across filesystems in any remotely normal conditions,
      just add a sanity check to catch the dirty tricksters...
    - Based on a patch by Zdenek Pavlas, just further simplified and
      buildroot fs boundary sanity check added.

commit da0091cfc754d84cd0f7f2d2711ebb7c073f892b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 9 14:16:29 2012 +0200

    Also test that total size is calculated correctly wrt hardlinks

commit dd5771bbd6d1153288cc127688cf4b99bc3226a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 17:45:34 2012 +0200

    Add a rough-cut testcase for hardlink handling
    
    - Check that we get expected number of links in package generation,
      that all the files got installed and that the linked files are
      actually hardlinks (for our purposes, plain inode suffices)

commit f258e6089a99e6df5be9b0d47b8d8bb2bfaa2a0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 15:40:02 2012 +0200

    Add tag extension to calculate hardlink count for files

commit d8cd36058b528f56bd579204426143be1e1eac6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 8 10:56:09 2012 +0200

    Switch back to former, much smaller BDB memory pool size (RhBug:752897)
    
    - A larger cache is beneficial in various scenarios, but triggers
      horrible worst-case performance under memory pressure (or so my
      current theory goes, there might be other factors too). The
      worst-case degration is orders of magnitude bigger than the best-case
      improvements from the larger cache and for many use-cases doesn't
      make a whole lot difference.  We could/should tune the cache with
      priorizing indexes and all, and perhaps dynamically select the
      cache size but for now, the 1Mb cache size is known to "just work".

commit 93de6ca72c2622cce7aab305c55ffc0b358b709f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 12:46:22 2012 +0200

    Add --test option to rpmkeys
    
    - Allows, well, testing whether a key could be imported before actually
      doing it

commit c25894e3b9a4cf9a1268f4e6ea947ed5ec6c1419
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 3 12:23:31 2012 +0200

    Honor RPMTRANS_FLAG_TEST in rpmtsImportPubkey()

commit 120fd698c30dfce490837aae3be59339fdf39c13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 19:13:03 2012 +0200

    Remove the arbitrary limitation on transaction keyring change
    
    - There are some situations where switching keyrings might be wanted,
      especially as long as we dont export a way to pass keyring as
      an argument to package reading/verification functions. Since thereäs
      no technical reason to disallow it, might as well allow it...

commit 8718edcb80a01901b020d2a2d8217fe0338cd9e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 14:36:41 2012 +0200

    Disable signature checking during database rebuild by default
    
    - While it would be perfectly reasonable to perform signature
      checking during db rebuild, this is problematic as long as our
      keys live in the same database we're rebuilding: the environment
      might be paniced, the indexes required for key lookups might be
      corrupt or non-existent etc - one would assume there's a reason for
      the db is getting rebuilt in the first place. When signature checking
      is enabled, we're forced to generate missing indexes on the potentially
      borked database we're just about to rebuild, which might not go very
      well, and since they keyring loading has no clue its getting called
      from middle of db rebuild it'll try to use a shared environment
      which might be broken ... etc.

commit 89eadf7f1465cfb4ec71f1c4dd17b3fec2afc5b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 14:31:17 2012 +0200

    Use private environment for database rebuilds too, document
    
    - One of the more common reasons for users to do --rebuilddb is
      a paniced environment. Throwing DB_RUNRECOVER errors at the user
      who is trying to recover by rebuilding the db isn't terribly
      productive (RhBug:590710). Use a private environment while
      rebuilding for both the original and new database, and dont bother
      with CDB which only slows things down when there are no other
      players present.
    - Verify wants the same flags but for different reasons...

commit 290fcbbe6b3ca2fb1d5e4a7269a32a94f8a1563a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 2 13:53:38 2012 +0200

    Never load ts keyring if signature checking is disabled
    
    - Loading the pubkeys from database numerous often unwanted side-effects,
      if signature checking is disabled then there's no point loading
      the keys either.
    - Commit cad147070e5513312d851f44998012e8f0cdf1e3 did this for
      rpmReadPackageFile() specifically but we really want it honored
      for all operations including headerCheck() and friends, handle
      it centrally in loadKeys() for simplicity.

commit cef18c94807af0935b7796c462aab8ed39f0f376
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 1 17:48:20 2012 +0200

    Don't free up file info sets on transaction test-runs
    
    - We'd like to get rid of the potentially huge amounts of memory
      eaten by file info sets as early as possible, but when there's a
      chance that we'll get called again with either added transacation
      elements or on-disk changes, such as %pretrans changing something
      underneath us, we need to (be able to) recalculate everything
      from scratch. Only free up the memory when we know we dont need
      it anymore, ie on an actual transaction run.
    - This doesn't change anything for rpm itself, for yum and others
      which do a separate test-transaction first, it means %pretrans
      directory<->symlink replacement hacks and the like have a chance
      of working again. I'm sure there's a bug filed on this somewhere but...

commit 4c3fb8051beb2fe8c0c6084d7920ba964b5d2dea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 30 10:23:51 2012 +0200

    Use rpmReadHeader() on signature checking path too
    
    - rpmReadHeader() performs far more initial sanity checks on the header
      than headerRead() does, and makes behavior consistent with eg query
      and install paths. As an added bonus we'll get more detailed
      error messages too.

commit 79bfdd7e9c629b6648dd3aeed074032db02aa890
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 18:03:42 2012 +0200

    Add a basic testcase for bogus filename triplet detection

commit 502d07cf24fda57fdf0998a220b1a1176dadd985
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 17:53:11 2012 +0200

    Test for filename triplet sanity in rpmfiNew()
    
    - Basename and dirindex counts must be equal, dirnames count must be
      larger than zero and no larger than number of basenames. Check
      that directory indexes are within range.
    - There are mountains of further checks to be added here (and elsewhere)
      but we gotta start somewhere... and filename triplets are one of the more
      critical elements we got.

commit 57b6b175adf4c6fd4737c72142b6d8d220a17622
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 17:23:16 2012 +0200

    xcalloc() cannot return NULL, remove redundant check

commit 06a2f1269b035a3a76464149834f2a5a8c4e89f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 17:07:42 2012 +0200

    Don't assume rpmfiNew() always succeeds
    
    - Add NULL checks and add/adjust comments where appropriate.
    - The remaining callers should handle NULL fi gracefully if not
      entirely correctly: rpmfiFC() returns 0 on NULL fi, so these
      callers just see the erronous file info set as "no files" case.
      Something to fine-tune later...

commit 5e4fb2589ca19b7844f420affe9977c04a124469
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 15:54:40 2012 +0200

    Add a basic testcase for bogus (incomplete) header detection

commit 2c59afecc3a4e67794a4da3c813bb8904cf5df22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 15:20:48 2012 +0200

    Add some basic sanity checks to rpmte creation, allow rpmteNew() to fail
    
    - Verify that a header at least has the very basic elements like
      name, version, release, os and arch (except for gpg-pubkeys which
      dont have the latter two, sigh), fail if not.
    - rpmfiNew() cannot currently fail but handling this error will allow
      sanity checking the file metadata which can be inconsistent even if
      a header is "physically" consistent.
    - We'll eventually want to have sanity checks on dependency sets too, but
      unlike rpmfiNew(), rpmdsNew() currently returns NULL for non-existent
      dependencies (eg most packages do not have conflicts or obsoletes) to
      save memory. Either that needs to change or we'll need to check
      for tag existence for the meaning of a returned NULL here.

commit 5aeebe8d695471835a4984cb0e7e4f4c8d206d70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 15:17:02 2012 +0200

    Don't assume rpmteNew() always succeeds, part III
    
    - Return error from verifyscript if rpmteNew() fails. This can't
      currently happen but handling this error makes it possible to
      do sanity checks on the header contents, such as file list integrity etc.
      Unlikely to occur for installed packages, but verify can be run
      on non-installed packages as well, where failure is more of a possibility.

commit 0b65068823cb97107999cda3b3e3c2cd6628c073
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 14:50:16 2012 +0200

    Move TR_ADDED file size init into addTE()
    
    - No functional changes, just stuffing it there along with most
      other rpmte init work and remove the pointless switch-case while at it

commit 45f6af7b2b6f563cdfc825ae359973290c04adab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 14:18:35 2012 +0200

    Don't assume rpmteNew() always succeeds, part II
    
    - Return error from rpmtsAddInstallElement() if rpmteNew() fails. This
      can't currently happen, but handling this error makes it possible
      to do sanity checks on the header contents, such as file list integrity.

commit f9e95c1155abe3f6b59ecef04c60aedcdd55c200
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 14:11:08 2012 +0200

    Error out early if rpmdb open fails on upgrade element addition
    
    - If we can't open the rpmdb then we cannot correctly process the
      upgrade, error out early. Mostly a "can't happen" case though.
      Also makes the logic a bit clearer, hopefully.

commit fa7face5261cf721aa7ae8e89f8f1cb8e3ae98d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 28 13:18:53 2012 +0200

    Don't assume rpmteNew() always succeeds, part I
    
    - Return error from removePackage() if rpmteNew() fails. This can't
      currently happen and is unlikely anyway on already installed
      packages (this is more interesting for added packages) but
      just in case...
    - Handling failure from upgrade- and obsoletes erasures is trickier
      both can add any number of erasure elements, and if one of them
      fails we'd need to undo all the erasures caused by this element.
      Just add a reminder comment for now.

commit 8cc69ab7962b0f4a9059d1d2e68865bf1c1eef96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 13:17:31 2012 +0200

    Axe unused cruft

commit ac4a011be50ddfa5996be0b946cb78fa53ba0a8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 12:50:51 2012 +0200

    Kill off yet more repackage remnants from fsm
    
    - CPIO_ALL_HARDLINKS flag and related code has been unused and dead
      since rpm >= 4.6.x

commit 7bd0ee76691d18887facdcfc1ca164304a83621f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 12:33:26 2012 +0200

    Lift hard-link payload writing to helper function, fsmStage is big enough

commit 0b163b65a99845da0d2f2092a1a65c826de40124
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 11:03:27 2012 +0200

    Eliminate FSM_WOPEN, FSM_WRITE and FSM_WCLOSE stages
    
    - These are nothing but unnecessarily specialized Fopen(), Fwrite() and
      Fclose() for what is a purely local need in expandRegular(). Move
      the local stuff where it belongs.

commit 680c3cfbf7d72a1a872b1cd5b52892c5392b52e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 10:52:46 2012 +0200

    Eliminate FSM_ROPEN, FSM_READ and FSM_RCLOSE stages
    
    - These are nothing but unnecessarily specialized Fopen(), Fread() and
      Fclose() for what is a purely local need in writeFile(). Move
      the local stuff where it belongs.

commit ff743250885123fc6666be38df59818fcb60cf82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 17 09:01:38 2012 +0200

    Eliminate file digest related members from fsm struct
    
    - Both digest algo and the current file digest from header are
      only needed inside expandRegular(), push the stuff down there.

commit 9834b743d61a2c996a99cc6f1451d3b00e78fabe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 14:35:37 2012 +0200

    Eliminate the now obviously unnecessary opath member from fsm struct

commit 830a551406106e570e2f9d7fa4390c0bbd5a2bcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 14:30:40 2012 +0200

    Avoid fsm->opath usage for symlink target
    
    - Instead of behind-the-scenes pointer updating, use fsm->wrbuf
      explicitly for the link target. Doesn't make it less hackish
      but at least it now stands out.

commit 35efcc2b76b1e15fa70174b921b8eef219755d77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 14:17:35 2012 +0200

    Avoid fsm->opath usage in fsmMakeLinks()
    
    - opath is the file that links will be made to, we grab it at the
      start and free at the end. No need to save and restore what we
      dont modify, one more fsm->opath usage down...

commit 0b55a38fcefae09b13065bcd821126f6220bcc45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 14:13:38 2012 +0200

    Remove unused FSM_MKLINKS stage

commit 847bd5c5ddeb7bcb03a9fa88e9b6afc30f8de91c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 13:58:51 2012 +0200

    Avoid fsm->opath usage in final file rename
    
    - Hopefully this makes the actual operation stand out more clearly
      with the unnecessary fsm->opath fiddling out of the picture,
      other than that there's not much to gain here.

commit 2ed8067811f6ff2e856364231193c7b63e35bc4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 13:15:09 2012 +0200

    Eliminate unnecessary fsm->path/opath shuffle on unlink
    
    - No need to save and restore what we dont modify...
    - Add comments to double-check later for couple of fishy looking bits

commit f34f68dca6c7ffa08c58843206d4786a32d9b622
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 12:28:52 2012 +0200

    Eliminate unnecessary fsm->path/opath shuffle on backup renaming
    
    - Makes the code much more obvious to follow since we're not swapping
      path/opath back and forwards just to be able to use a throwaway
      path for the rename. Dont bother null-checking on logging,
      if one of the paths was null we'd be dead already.
    - Also fixes an ancient memleak: when osuffix is in use, fsm->path
      gets newly malloced before fsmVerify() but this part did another
      allocation on it, didn't save and restore fsm->path .. and nothing
      was freeing the original (local) allocation of fsm->path, only
      restoring the previous value.

commit e671fef91b9209455a76bbb323140c9f4c790801
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 11:40:37 2012 +0200

    Eliminate unnecessary st_mode save-modify-restore on dir creation

commit ddbb0e5abd6adc46d0a4ac602555f18d93bd1045
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 11:31:02 2012 +0200

    Eliminate unnecessary save-modify-restore around fsmUtime()

commit 8da076e5a873e91a8e6a32b6bcf973db291b99ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 16 11:27:49 2012 +0200

    Eliminate unnecessary save-modify-restore on fifo creation

commit d63a8033030675a1de4e02c41aa4e433f3d2f2f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 18:15:30 2012 +0200

    Move symlink() to separate helper function
    
    - Similar to mkfifo(), mknod() & friends, doesn't do much but for
      consistency and fsmStage() size sanity...

commit 5cc634c7d36b5c50d560bff2ae75f8b7e0f9ee34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 18:05:44 2012 +0200

    Eliminate stupid fsm->path/opath in FSM_COMMIT now that we can
    
    - Now that we can directly operate on temporarily variables instead
      of having to save-ping-restore-pong them, lets do so...
    - Also eliminating NULL-checks on the path variables in logging - if
      either of the paths were NULL we would've already crashed in rename()

commit af9fb2b67220843beb1820262a0cdad2d827e19e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 17:54:23 2012 +0200

    Blarg, stupid stupid mistake breaking symlink handling
    
    - Introduced in commit d15bf56a70fdc2322a8d71f255241c20d895834f and
      uncaught prior to push as none of the test-suite cases involve
      symlinks. This is what happens when trying to quickly rewrite
      git history to put combine a forgotten change into earlier ones,
      guilty as charged :(

commit 8a21e92b805fbc65a7f8e39276711edaf78f5062
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 17:02:23 2012 +0200

    Only pass what little is actually needed in fsmMkdirs()
    
    - Once all the other cruft has been carved out, turns out this needs
      nothing but a directory iterator which we can init and free
      in the caller easily enough, and selabel handle (duh). All the
      rest is independent of fsm internals in reality.

commit 764d1fe5632c7b5ff968292da531bf83dab32283
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 16:47:02 2012 +0200

    Eliminate stupid fsm->sb.st_mode abuse from fsmMkdirs()
    
    - At the point where this runs there's probably nothing at all to
      save and restore in the stat buf anyway, but it's just stupid to
      abuse that when all we need is a local mode_t temp variable. Fix
      it now that we can.

commit d4215ed854093ffcbf26854cca3ecfbd8561df80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 16:39:55 2012 +0200

    Move mknod() to separate helper function
    
    - Similar to mknod() and all, this doesn't do anything that special
      but fsmStage() is big enough as it is.

commit 700e1390b2e6e6befba8224716574e30e02e4dbe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 16:34:47 2012 +0200

    Move mkfifo() to separate helper function
    
    - Similar to the other fsm syscall wrappers, this doesn't do anything
      that special, but fsmStage() is big enough without things like
      this inline.

commit 99d00350b7aea245c014926d0f7883162eefb11a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 16:21:11 2012 +0200

    Change fsmReadLink() to take "normal" arguments
    
    - This doesn't need access to the entire fsm, it just needs a buffer
      to place the results in / return errors. Currently the "out" buffer
      is (ab)used for the results, this just forces that to stand out
      and should make it easier to sanitize later.

commit 2412e66ea47ff786f2d8bcbf5b6602f83e416e84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 15:23:23 2012 +0200

    Change fsmUtime() to take "normal" arguments
    
    - This doesn't need access to the entire fsm, just path and mtime
      from coming from a header originally. Will allow eliminating
      save -> abuse -> restore behavior in caller but leaving till later...

commit d15bf56a70fdc2322a8d71f255241c20d895834f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 15:14:24 2012 +0200

    Change fsmChown(), fsmLChown() and fsmChmod() to take "normal" arguments
    
    - None of these needs access to the entire fsm, they only
      exist to map and filter errors to rpm special needs and to
      create debug swew on top of the plain syscalls.

commit e0b1ff9a924fdff8d62da2009a5cbdc2aaa22f5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 15:06:06 2012 +0200

    Change fsmMkdir() to take "normal" arguments
    
    - This doesn't need access to the entire fsm, it only exists to
      map errors to CPIOERR_* and create debug foo. This will allow
      eliminating save -> abuse -> restore behavior in callers, but
      leaving that till later.

commit f7c1c543639ee5409c8bb8d82822e5ffc822c0dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 14:47:19 2012 +0200

    Change fsmStat() to take "normal" arguments
    
    - This doesn't need access to the entire fsm, just regular stat()
      args and a flag whether to use lstat() or stat(). "followlinks"
      or such would be saner name for the flag but leaving that for now...

commit 5618c0007112d5c2bb2f2316067d08f39f7961ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 13:01:24 2012 +0200

    Change fsmRename() to take "normal" arguments
    
    - This doesn't need access to the entire fsm, just regular rename()
      args and a flags to see whether "secure" delete should be done.
      In itself this only looks like more trouble, but all the callers
      are fiddling and saving and restoring with fsm->[o]path just
      to call this, which we can now avoid. Leaving sanitizing the
      callers till later though, this is a minefield...

commit 8d18395abc7a4fa372a2894e3e4995b98ca46ca8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 12:36:01 2012 +0200

    Change fsmUnlink() and fsmRmdir() to take "normal" arguments
    
    - Neither of these needs access to the entire fsm, they mostly
      exist to create debug cruft and to map errors to CPIOERR_*

commit 62c76542799ecc89ede86f2a572e5356b84829b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 11:36:28 2012 +0200

    Sanitize file capability setting in fsm
    
    - Move parsing, setting and freeing of capabilities into simple
      helper function, there's no point whatsoever having the current
      capability stored in fsm when it only complicates freeing and all.
      WTH was I thinking when implementing this? (well, everything in
      fsm was done that way so...  but that's a lame excuse)

commit d4b8acc5d3f57944ee44a18c2d5e98ad7b24c31d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 11:08:47 2012 +0200

    Sanitize selinux labeling in fsm
    
    - Move all the label foobar into a simple helper function which
      finds, sets and frees the context if selinux is enabled, use
      for both regular operation and orphan directory labeling.
      Simplifies things a good deal...
    - While the selabel handle can change during a transaction, it
      wont change while the fsm is running so its sufficient to grab
      it on entry instead of repeatedly calling rpmtsSELabelHandle() after
      figuring out where in the world our ts might be.

commit cc1b3529523dea53279a08791e6cf6b0f2e517c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:27:11 2012 +0200

    Eliminate unused subdir member from fsm struct

commit a8fd66d87f51921bb14873e7edd3e958fba26101
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:19:50 2012 +0200

    Eliminate silly sufbuf from fsm struct
    
    - Allocate fsm->suffix directly when suffix is needed instead.
      Doesn't change anything, only makes life that little bit simpler.

commit 9e1feaf5438c014d74af3e047e1874d6e8e8610d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 10:06:09 2012 +0200

    Ensure installs always use a temp suffix on files
    
    - This bogosity goes back to commit fcf6b50378eaeac4c1f7ca215b33586b4d41072f
      which was supposed to fix files getting erased if time() returns
      errors (RhBug:223931). Problem is, this "fix" didn't fix anything
      at all as the suffix still wouldn't be created in the error
      case, even if the FSM_UNDO part did the right thing. We always
      want a suffix on installs, it doesn't matter *what* the suffix is.

commit 37f7802aa619025f675c7476e8d8d989630f1477
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 09:41:25 2012 +0200

    Remove unused "orphan" directory creation tracking variable from fsm

commit 8049e42f304783b126c4fb7e83dba21ff728a087
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 09:30:06 2012 +0200

    Move directory tracking variables out of fsm struct to local scope
    
    - These are not used or needed outside fsmMkdirs() so its just
      plain dumb to have them in the big struct. No functional changes,
      just taming the fsm monster a little bit.

commit 93497055254b886610cba9fcbb72777c4d780f11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 13 07:54:51 2012 +0200

    Add bunch of links to test-suite chroot to allow selinux to work
    
    - With the new warning on failure to open selinux labels from
      commit 7a8b75d26605cf7a3fde9f624a80d6fb8390fcbd, the test-suite
      fails on large number of tests due to the extra output. This
      takes care of these false alarms on F16 at least.
    - Recent selinux wants /etc/selinux and /sys (for /sys/fs/selinux),
      older ones would want /selinux. Add in /proc for good measure,
      selinux doesn't need it butit wont hurt either, other things will
      want it sooner or later.

commit 7a530738caf6a4c660211e6080b539dea4999d44
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Thu Dec 22 14:53:51 2011 +0100

    remove the 'path' parameter of rpmtsSELabelInit()
    
    - It is always selinux_file_context_path() anyway.

commit 7a8b75d26605cf7a3fde9f624a80d6fb8390fcbd
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Thu Dec 22 14:34:03 2011 +0100

    selinux: reopen label between transactions if necessary (RhBug: 746073)

commit cb2894b361f7f9ee048efdd08604163eb4232b53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 12 09:52:34 2012 +0200

    Show arch in --last output too (RhBug:768516)

commit a3123467a582a9e84e4a11dd68a7445765a144ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 15:35:16 2012 +0200

    Eliminate now unnecessary runFsm() helper from psm

commit 8e609fc55b1679e6192346c50dd5526e443bed4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 15:30:50 2012 +0200

    Eliminate no longer needed RPMFI_ISBUILD and RPMFI_ISSOURCE internal flags

commit aee64fbc460a671faa3f950d329ec72f33ac660c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 15:11:37 2012 +0200

    Turn FSM into a blackbox, much like PSM is
    
    - Similar in spirit to PSM blackbox treatment in
      commit df9cdb1321ada8e3b120771f91a2eefab4ac2ad5, except that
      technically fsm guts are still wide-open in fsm.h due to cpio
      "needing" them (yuck).
    - Allows getting rid of dumb a**-backwards things like rpmfiFSM()
      which is just not needed, fsm is a relatively short-lived entity
      inside psm and build, nobody else needs to bother with it except
      for the returned results.
    - Figure out the cpio map flags in fsmSetup() where it logically belongs,
      we have all the necessary info available there.
    - Get rid of newFSM() and freeFSM(), we can just as well place the
      fsm on stack, merge the necessary cleanup bits from freeFSM()
      into fsmTeardown()
    - Supposedly no functional changes, knock wood.

commit 1dc09307d85fc68bac450d5fa54db79450a3920c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 12:17:31 2012 +0200

    Eliminate archiveSize member from rpmfi
    
    - rpmfi itself doesn't need it for anything, its only really used
      for progress reporting during install. Grab the size into psm
      total directly, this is already passed down to fsm.
    - Removes one of the last remaining rpmfi opacity violations, just
      fi->apath to go...

commit ef9b08a5d8964e8ec49b5f8a3ba74643c7b9e529
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 12:16:53 2012 +0200

    Explicitly tell rpmfiNew() when its being used for build
    
    - Eliminate feeble heuristic on archive size tag not being set during
      build for detecting this and have build code explicitly pass
      RPMFI_ISBUILD flag instead.
    - Also eliminate the pointless isSource variable from rpmfiNew() while.

commit 07379e27c0383ed2b5b3c8e8794de80719cee6d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 11:06:16 2012 +0200

    Issue package install/erase progress callbacks on justdb operation too
    
    - Large --justdb operations can take considerable amount of time as well,
      getting progress bars for it is nice even if hardly necessary...

commit 9d6450bc5a647b1fb809e21098cdc26b2aee7d52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 10:47:28 2012 +0200

    Eliminate fluff from PSM_INIT
    
    - rpmpsmStage() runs with RPMRC_OK as assumed result, no need to
      set explicitly here.
    - Dont bother testing for justdb flag here. The justdb case doesn't
      need fi->apath but it doesn't exactly hurt either, and we'll want
      to eliminate the apath kludge sooner or later anyway.

commit 23ff06720d3277e16f36c7cf86e69bf727cd84ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 11 09:07:05 2012 +0200

    Update translations & sync with transifex

commit d8d52e0bc70f763dcec7b2799b777aed0a83fc02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 10 20:26:55 2012 +0200

    Oops, forgot to mark our new progress messages for translation

commit 9ddcc23d2b7ecaf5336530dbe37195b0057d0396
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Jan 10 10:48:13 2012 +0200

    Adapt perl and python fileattrs to file 5.10 magics
    
    - file 5.10 has changed magics at least for perl and python scripts, samples:
    
      5.09: a /usr/bin/perl -w script, ASCII text executable, with very long lines
      5.10: Perl script, ASCII text executable, with very long lines
    
      5.09: a /usr/bin/python script, ASCII text executable
      5.10: Python script, ASCII text executable
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 8605a4b034237f0afeebe852862e7d7ceb4b8f11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 10 10:38:31 2012 +0200

    Transaction element parent is a transaction element, not an integer
    
    - Ehm, this has been broken in the python bindings since the start,
      nobody noticed. Of course the parent value isn't particularly
      useful in normal usage but still...

commit fecba496374472db3d61d96bbfb72399ab93f756
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 10 10:35:30 2012 +0200

    Minor cleanup to rpmte_Key()
    
    - Fix misleading indentation, initialize Key on declaration.
      No functional changes.

commit fbb44eb66defc286981d5d3d33858bfab74de200
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 16:23:17 2012 +0200

    And finally, permit --hash and --percent cli-switches on erasures too

commit 280ad0796af5e125a4b4e6998c1659f315e5f31d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 16:17:33 2012 +0200

    Add erasure callback support to rpmShowProgress() and enable on rpmErase()
    
    - Just use the same bits as install does, they behave the same for
      our purposes. On upgrades the output would get confusing especially
      with --hash when package versions aren't output'ed, so we print
      out extra output when entering install and erase stages. Only
      do this when --hash is used (ie a human is probably watching us)
      to hopefully avoid breaking scripts (including our test-suite) that
      rely on the ages old behavior of non-hashed output.

commit f0948894f0cda685bcccd0b4fc83c40a94d30d3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 15:18:28 2012 +0200

    Issue actual erasure progress callbacks too
    
    - Whereas on install the progress is measured by bytes written to
      disk vs total archive size, on erase the best we can do is
      going by the number of files in the package. Fsm iterates backwards
      on erase so we can't just use fsm->ix but need to re-revert the value.

commit 72bd2de21e649c579bb2fba2aeabbdb401b0d246
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 14:48:22 2012 +0200

    Clean up progress callbacks in fsm/psm machinery
    
    - Move notifications from fsm to psm side for sanity and symmetry,
      psm already has members to hold the callback state.
    - Replace PSM_NOTIFY "state" with a helper function that both
      fsm and psm itself use (except for error callbacks which are
      a bit different)
    - Init psm->total early, this doesn't change and can now be
      used to refer to "all done" value whatever it happens to be,
      instead of magic "100" values etc.
    - Packages with no files are now handled through the same path
      as everything else from progress reporting pov, we just skip calls
      to fsm if there are no files.
    - Issue stop callbacks for install as well. While INST_CLOSE_FILE
      can be (and is currently) used to detect this condition, its
      conceptually an entirely different thing.
    - Fix erasure callback parameters, they were reversed (starting from
      total and ending with 0, ehh...)

commit ff0ece3f6be58c8c28a766bdee5ed36daf1727b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 14:34:46 2012 +0200

    Add enum for RPMCALLBACK_INST_STOP callback event
    
    - Unused atm but we'll be adding this shortly

commit ef75cadf038ab919f3ec37cf5c5ee77fd52b5c82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 5 14:24:33 2012 +0200

    Pass and remember the controlling psm (if any) in fsm

commit 91a58bd423da4841e0b2fb569599f19f61e95174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 4 12:01:11 2012 +0200

    Eliminate repackage notification remnants from fsm
    
    - This has been unused and dead code since rpm >= 4.6.0

commit 033037a3b0e3f4f7a407223ee685a11900d3f92f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 4 11:31:00 2012 +0200

    Use rpmtsNotify() directly for psm error callbacks
    
    - On error we're already on our way out of the psm, no point mucking
      with the psm state. No functional changes, just makes the code
      a little bit shorter.

commit 46bb50a70fdd2f1619d673014d31286444978728
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Wed Jan 4 16:47:04 2012 +0100

    document -D and -E in man.

commit ea9d9d68c8716ef922d3dd08d45cc5c815aabd0c
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Tue Jan 3 12:36:30 2012 +0100

    rpmOption.required is not used.

commit c6a9d0bd6056445c9cee03eeae1219de367d918c
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Tue Jan 3 10:50:51 2012 +0100

    rpmrc: do not use that nonexistent rpmOptionValue struct.

commit 322891aac741aae7016d11163312dcb9fc6102c5
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Wed Jan 4 13:50:27 2012 +0100

    depends.c: save us one rpmdsNew in addObsoleteErasures.
    
    - replaces rpmdsAnyMatchesDep with rpmdsNVRMatchesDep

commit 5a5f1fa51c34b916bd13a713bb751fba209a954c
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Wed Jan 4 10:47:17 2012 +0100

    depends.c: unused parameters in addUpgradeErasures, addObsoleteErasures.
    
    - remove them.

commit ce2ce4c19724879b9ea469e7760c7922660b9698
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 3 13:10:26 2012 +0200

    Implement scriptlet start and stop callbacks (RhBug:606239)
    
    - Adds two new transaction callbacks: RPMCALLBACK_SCRIPT_START and
      RPMCALLBACK_SCRIPT_STOP which get issued for every scriptlet we run.
    - On script start, callback can optionally return an FD which will
      override transaction-wide script fd to make it easier to accurately
      collect per-scriptlet output (eg per-scriptlet temporary file).
      Callback is also responsible for closing the fd if it returns one.
    - For both callbacks, "amount" holds the script tag number. On stop
      callback, "total" holds the scriptlet exit status mapped into
      OK/NOTFOUND/FAIL for success/non-fatal/fatal errors. Abusing "notfound"
      for warning result is ugly but differentiating it from the other
      cases allows callers to ignore SCRIPT_ERROR if they choose to
      implement stop and start.

commit c4b78515d68fce43bf08c2ed0cdc0703713385b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 3 11:56:37 2012 +0200

    Eliminate rpm cli callback internals from the API
    
    - rpmcliHashes*, and rpmcliProgress* and rpmcliPackagesTotal are
      implementation details of rpmShowProgress() and are useless outside
      of it. Make them static, these shouldn't have been exported to
      begin with.

commit 4c022382384f01c73eb5112160c436960e7a74f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 3 11:49:32 2012 +0200

    Eliminate pointless rpmcliPackagesTotal fiddling
    
    - The total number of packages equals transaction order count, which
      is passed as total to transaction start callback. In particular
      messing with this from rpmtsAddInstallElement() is just stupid.
    - This will break callers that are relying on rpmcliPackagesTotal value
      outside a running transaction, but that's just stupid anyway. The
      correct way to get number of elements in transaction set is calling
      rpmtsNElements(), which has been there for a good part of a decade.

commit 59378e52205728f7a78be1b329aa159f72e5686e
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Dec 22 18:59:51 2011 -0500

    fix the signatures of the METH_NOARGS callbacks
    
    Various Python method callbacks have signatures of the form:
    
      static PyObject *
      foo(some_object_subclass *obj)
    
    and are registered within the PyMethodDef tables with the METH_NOARGS
    flag [1], with a cast to (PyCFunction) due to the PyObject/subclass
    mismatch.
    
    However, such callbacks do receive two arguments: they are invoked with
    a signature of this form:
    
      static PyObject *
      foo(some_object_subclass *obj, PyObject *ignored)
    
    The CPython interpreter only uses METH_NOARGS to allow it to pass NULL as the
    second parameter: there are still two parameters.  The dispatch code is in
    Python's Python/ceval.c:call_function:
    
                if (flags & METH_NOARGS && na == 0) {
                    C_TRACE(x, (*meth)(self,NULL));
                }
    
    The fact that this has ever worked may be a coincidence of the
    platform/compiler's calling conventions, and I don't think it's guaranteed to
    keep working.
    
    [1] http://docs.python.org/c-api/structures.html#METH_NOARGS
    
    Signed-off-by: Ales Kozumplik <akozumpl@redhat.com>

commit fdba2538855d8ad94bbe5e9c21c8564d01b20f1e
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Dec 22 18:16:25 2011 -0500

    fix use-after-free within rpmfdFromPyObject's error-handling
    
    These lines within python/rpmfd-py.c: rpmfdFromPyObject
    are the wrong way around:
    
            Py_DECREF(fdo);
            PyErr_SetString(PyExc_IOError, Fstrerror(fdo->fd));
    
    If fdo was allocated by the call above to PyObject_CallFunctionObjArgs,
    it may have an ob_refcnt == 1, and thus the Py_DECREF() frees it, so
    fdo->fd is reading from deallocated memory.
    
    Signed-off-by: Ales Kozumplik <akozumpl@redhat.com>

commit 9cb5d5ccfbcfc454aace1a538199c76b0d931479
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Fri Dec 23 13:51:38 2011 +0100

    Allow deprecations to work accross colors (RhBug:713323)
    
    This enables package maintainers to:
    
    - Force removal of a no longer supported multilib library (the patch also
      removes the check against obsoleting packages of the same name).
    
    - Deprecate packages of different header color than the package's. Note:
      even x86_64 packages can have header color 1 in which case we are
      currently left with no means to deprecate them from another x86_64
      package. (RhBug:751574)

commit 87e37b7daf93619a72d051103fd5c68764f7a68e
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Fri Dec 23 13:44:22 2011 +0100

    depends.c:skipColor() is not longer a macro
    
    - Prevents double evaluation of the 'ocolor' parameter.

commit a9e6f2ab9d0d390b5147deaa066b7d1d50429704
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Wed Dec 21 17:40:44 2011 -0500

    mark strings extracted from PyArg_Parse* as "const"
    
    - Various places within the bindings use PyArg_ParseTuple[AndKeywords] to
      extract (char*) string arguments. These are pointers to the internal
      representation of a PyStringObject, and shouldn't be modified, hence
      it's safest to explicitly mark these values as (const char*), rather
      than just (char*).
    
    Signed-off-by: Ales Kozumplik <akozumpl@redhat.com>

commit 5538280ed8f1b29fd37172a11e206517ccb8a8ef
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Wed Dec 21 08:43:47 2011 +0100

    typo in header-py.c.

commit 3157d6d7b742d28dc321e4d68342809645a93207
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Dec 15 22:24:19 2011 -0500

    handle errors when constructing lists in the Python bindings
    
    - Various functions in the Python bindings construct lists of objects, but
      assume that all calls succeed. Each of these could segfault under
      low-memory conditions: if the PyList_New() call fails,
      PyList_Append(NULL, item ) will segfault. Similarly, although
      Py_List_Append(list, NULL) is safe, Py_DECREF(NULL) will segfault.
    
    Signed-off-by: Ales Kozumplik <akozumpl@redhat.com>

commit 59807943af5c10c892b239f11b8fafb209254a4a
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Dec 15 22:22:56 2011 -0500

    fix memory leaks in invocations of PyObject_Call
    
    - Various functions in the Python bindings have expressions of the form:
    
      PyObject_Call(callable,
                      Py_BuildValue(fmtstring, ...), NULL);
    
      This leaks memory for the case when Py_BuildValue succeeds (it returns a
      new reference, which is never freed; PyObject_Call doesn't steal the
      reference): the argument tuple and all of its components will not be
      freed (until the process exits).
    
    Signed-off-by: Ales Kozumplik <akozumpl@redhat.com>

commit ead20c495c52bacfb5fd7fd796bee0fb56981c52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 15 15:21:57 2011 +0200

    Oops, newlines dont belong in format extension output
    
    - Thinko in commit 6acef96d9e1eddb588e24f924f6cf9d29ea48d64, duh

commit d936230973b91a16b5c2c5c7e4665a98bdde4332
Author: Joshua Megerman <josh@honorablemenschen.com>
Date:   Wed Dec 14 17:03:29 2011 +0200

    Fix brace matching on multiline constructs in perl.req (RhBug:752119)
    
    - /usr/lib/rpm/perl.req scans for the opening brace type on lines, but
      then only scans for closing curly braces ('}') instead of the proper
      losing brace type when that closing brace occures on a different line.
      This means that any use/require statements that occur after the
      multi-line q{} statement but before the first closing curly brace in
      the file will be ignored.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 139105056d2a40e5e9c9b7dd44981c8d9da5e343
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 2 12:26:08 2011 +0200

    Pull in updated + new translations from Transifex

commit 7c463c32fc5e1893369e6d883c157d58d16872f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 2 12:11:05 2011 +0200

    Teach debugedit about .debug_macro dwarf section (RhBug:759272)

commit 9108129a3ddf711253ee97f89ebe62de79bbd2a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 1 15:06:53 2011 +0200

    Allow pre- and posttrans to omit interpreter or body (again)
    
    - While most scriptlets have both an interpreter and a body, neither
      is strictly required: body can be omitted in cases like special
      purpose executables (eg -p /sbin/ldconfig) and for interpreter,
      /bin/sh is used if missing. This has been "broken" from somewhere
      around rpm 4.7.x and nobody noticed :)

commit 4abb1d8bc17460783f7e83a3ada9c465cf51fc34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 13:38:35 2011 +0200

    Cache all but FAIL results from rpmdb header verification
    
    - This makes a huge difference in performance if you have lots
      of unsigned packages (NOTFOUND verify result) or signed packages
      without key (NOKEY verify result) installed, as we previously
      kept checking the same headers over and over again.

commit 570526b4bace8a3b6e2e96c424adef1f930bc4a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 13:32:56 2011 +0200

    Purge rpmdb header verification cache on added pubkeys
    
    - When new keys are added, any previous NOKEY results can become
      invalid: either they become OK or FAIL, and its the FAIL case
      we want to catch.
    - For removed keys, previous OK could become NOKEY but that doesn't
      make the header any less valid, so leave the cache alone on removal.

commit 2759c91b4c608f77e1524cef4de033d2253b7ee0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 12:01:08 2011 +0200

    Enable fast-import mode for headers from rpmdb
    
    - Assume our home turf is safe enough for this - in order to reach
      the rpmdb, headers must've gone through the more rigorous checking
      that's done through the rpmReadPackageFile() paths, plus in
      default configuration we'll be doing further verification on the
      header before loading the headers so the risk seems acceptable
      for the speed gain.

commit cd5222b6e323355c26991885d744aa06e0164c59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 11:24:42 2011 +0200

    Implement "fast" flag to headerImport()
    
    - regionSwab() calling dataLength() on headerImport() is one of the
      busiest paths in rpm, and dataLength() on string types is a very
      expensive call as it has to walk through the string looking for \0's.
      The data size is actually available most of the time by just looking
      at offsets (idea lifted from rpm5.org), which is an order of magnitude
      faster than crawling string data. The downside (there always is one)
      is that with offsets, string data is not validated to contain
      sufficient number of \0's, which means malformed headers could cause
      us to crash, burn and overflow when accessing the string data.
    - The new "fast" mode enables offset-based calculation at callers
      discretion, ie if the caller can reasonably assume the header is
      sane (known to be previously validated etc), using the fast-flag
      will make header loading/importing considerably faster.
      For now, only headerImport() will use the fast mode but it might
      make sense to remember the setting in the header and use for other
      operations as well.

commit eae671556470136c37951f53ca966cd1bd09aac4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 09:50:03 2011 +0200

    Update internal callers to use headerExport(), no functional changes

commit 359baa2831dd1850cba3a1cc8d31aebf883a5138
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 09:37:49 2011 +0200

    Add an enhanced interface for unloading, aka exporting, headers
    
    - Most callers need the size of the blob as well, which the unloader
      internals know perfectly well but the interface doesn't support
      passing it. So callers were forced to make a second call to
      headerSizeof() to recalculate the size. Duh.
    - Rename and export doHeaderUnload() as headerExport(), update internal
      callers to use the new name. headerExport() is hopefully a bit
      more obvious as a name than headerUnload() which doesn't actually
      undo the effect of headerLoad() for that header, but merely exports
      the data by serializing into on-disk format.
    - Header size is not size_t really, its capped to fixed much lower
      size. Use unsigned int to better match reality.

commit e83aa4f63817620633f5079064283cc9c3320e3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 11:00:40 2011 +0200

    Update internal callers to use headerImport() instead of headerLoad()
    
    - Pass size where possible, this is a bit redundant in places since
      its already checked in various places but wont hurt anyway.

commit 52bcafcfb2e7c6bb8bb59f8def831e4f6a6f4930
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 30 09:12:48 2011 +0200

    Add an enhanced interface for loading, aka importing, headers
    
    - Unlike headerLoad(), headerImport() takes a blob size argument
      to allow sanity checking the size calculated from the blob itself
      against the "physical" passed-in blob size so its a bit safer.
      Note that header size is capped by various things - its not size_t.
    - headerImport() also takes a flags argument to allow controlling
      various aspects of importing.
    - Implement "take copy of blob" as a flag to headerImport(), push
      the copying into headerCreate() where we already know the blob
      size, avoiding the need to do double-calculations on headerCopyLoad()..
    - headerLoad() and headerCopyLoad() are now just compat wrappers
      around the new interface.

commit c943d42880b1499d4b4f3574e3086c292d006406
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 29 14:27:13 2011 +0200

    Consolidate header alignment calculations to helper function
    
    - Replace no less than five copy-paste versions of the same thing into
      an inlined helper function. No functional changes.

commit 21d8ceb8662d05a1dccf802382f6d33083bf28e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 29 10:05:44 2011 +0200

    Optimize string tag length calculations in regionSwab()
    
    - Calling memchr() is circa 35% faster on my system than doing the
      same manually, and this in one of the most critical paths rpm has...

commit 87d9e3c4adac92ff544440dd1239a4ae4fe05bb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 28 14:00:45 2011 +0200

    Fix classification of ELF binaries with setuid/setgid bit, oops...

commit fb30c0aac8b3da8c75a8cb1578a719ce38db59eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 25 16:07:38 2011 +0200

    Identify "font collection" (data etc) as fonts also (RhBug:757105)

commit 3a75a9f6c4fea02cc067a0d4836dd196d819d5b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 11:39:36 2011 +0200

    Make gpg-pubkey headers properly verifiable
    
    - The pubkey headers have been rpm v3 all the way until now, whoops :)
      Pull the actual key part of the header into immutable region and
      stomp a sha1 digest on the result, allowing a (much) better
      verification on loading. This part inspired by stumbling on a
      related discussion on rpm5.org mailing list so credits where...
    - Since we only insert either literally constant data or data retrieved
      from the actual key into the immutable part of the header, the
      calculated digest is constant for a given key regardless of where
      and when it was imported. This gives some added verification and/or
      cross-checking possibilities (eg was the imported key exactly the
      same as what shipped etc)

commit 66d6987120105f77cd8b41999ec5d38220a41b27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 11:28:15 2011 +0200

    Sanitize makePubkeyHeader() calling semantics
    
    - Create the header in makePubkeyHeader() as the name suggests,
      return the newly created header to caller on success.
    - Move the installtime & -tid addition to the "install" part,
      makePubkeyHeader() only does the part that is specific to pubkey
      headers, again as the name suggests.
    - No functional changes

commit 4c6397507b2a1da17df0b8b74cfa77a98ca3a7ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 11:25:53 2011 +0200

    Make gpg-pubkey buildtime reflect the public key create time
    
    - Pubkey buildtime has until now been the time of import, which equals
      install time/tid. Which is of course the time when that header
      does get created, but it seems rather redundant to have the same
      thing recorded in three places. Having the key creation time
      easily (easier than un-hexifying the version string, duh)
      available seems like a potentially useful thing. Buildtime is
      "wrong" for this, but ... so is everything.
    - With this change, the "meat" of the pubkey headers is now constant
      and repeatable regardless of where and when a key gets imported,
      so we could stomp a digest on it and it'd be unique for that
      particular key everywhere.

commit 6b871c53370ed20c52b0b8752c5dc872cd290d98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 11:19:11 2011 +0200

    Add key userid into gpg-pubkey headers as "packager"
    
    - The userid has only been available in a mildly obfuscated format
      through summary, but this seems like a useful thing to have in
      a directly usable format without requiring callers to parse out
      the gpg() wrapping around it.
    - Yes its a wonky mapping, but so is everything else wrt
      gpg-pubkeys, and adding a tag just for this also seems silly.
      Using vendor tag could be another possibility, dunno.

commit 4537c8c8bc1ece123f22f10a43b5b9a2a8c77cd4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 11:16:19 2011 +0200

    Log an error on attempt to sign V3 packages (RhBug:517818 & others)
    
    - We haven't been able to sign V3 packages in the last decade or so,
      might as well spit out an error on it instead of silently failing.

commit 858a328cd0f7d4bcd8500c78faaf00e4f8033df6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 24 10:44:14 2011 +0200

    Fix dribble length calculation on headerLoad()
    
    - When calculating length of dribbles, we need to take into account the
      size up to that point, otherwise the alignment can be wrong causing
      the sizes not to add up.
    - With that mystery solved, we can now make the final length check
      as strict as it should be.

commit 0761bad2697d3baadac9854be6838fbb603971c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 12:34:46 2011 +0200

    Ehm, %pretrans failure shouldn't abort the entire transaction
    
    - Brainfart in previous commit (71c6b06b3f240021f2ece46f9cf7aa891f716710):
      %pretrans failure should only cause that package to fail, not
      abort the entire transaction. Doh.
    - Failures are tracked via transaction elements but pre/posttrans
      were specifically filtered out. All we need is removing that filtering
      and the warn-only vs error logic in psm takes care of the rest.
      The transaction.c changes in previous commit were just unnecessary.

commit 71c6b06b3f240021f2ece46f9cf7aa891f716710
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 22 11:24:22 2011 +0200

    Make %pretrans failure fail the install (RhBug:736960)
    
    - %pre and %preun scriptlets cause the package install/erase to fail,
      whereas %pretrans return has simply been ignored ever since its
      introduction somewhere in rpm <= 4.4.x. This is just inconsistent,
      make %pretrans more like the other %pre-scriptlets. %posttrans
      exit code is still essentially ignored, just like %post and %postun etc.
    - This can obviously affect installability of existing packages: if
      they have been careless about their %pretrans exit code or outright
      relying on the "yes it spits errors in some situations but who cares"
      behavior, they will now fail to install at all. The way to write
      "portable" %pretrans scriptlets is ensuring non-error exit.

commit e1922aa5feb59b9f3fc7b879e24c9472983dbd91
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Fri Nov 18 11:36:20 2011 +0100

    inverse the macro definition condition in c87ad03.
    
    - thanks zpavlas for pointing this out.

commit c87ad03260fea33da6d64f65709981b06d4e135a
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Tue Nov 15 15:49:33 2011 +0100

    python: use the more modern PyCapsule over PyCObject (RhBug:623864).
    
    - rpm.header.new() will still keep accepting PyCObject for now in case a
      client library depends on this.
    - involves macro trickery to make rpm buildable against python 2.6 still.

commit cd68e2b27e1f98a54c6eae3ae3638b069ce1d9fa
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Thu Nov 10 13:37:42 2011 +0100

    cosmetic: indentation in rpmdbNextIterator.
    
    - the hunk looked confusing with the wrong indentation.

commit fa428c5bc143d2d7ac073654b602c27d80f96559
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Fri Nov 11 10:38:49 2011 +0100

    Recognize "<epoch>:" as a part of a label (ticket #117)
    
    - for instance this works now:
      $ rpm -q perl-4:5.14.1-188.fc16.x86_64
      perl-5.14.1-188.fc16.x86_64

commit f6baacaa07bc1069309c0afbf1369ea664c59742
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Mon Nov 14 09:58:04 2011 +0100

    Do not attempt running the test suite without fakechroot (ticket #851).
    
    Partially resolves ticket #851.

commit f0d7459e51c93f89c014eff9d20cf81fccdbf1c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 14 10:20:42 2011 +0200

    Avoid XZ dependency in test-suite
    
    - The two "hello" binaries packages used for various multilib checks were
      accidentally using xz payload compression, causing test-suite to
      fail when rpm was configured without xz support. Rebuild them with gzip
      compression instead to avoid silly failures - gzip compression
      support is mandatory, xz is not.

commit 1e0e3e01d21f6c602f0e7259bc44dc088c7264b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 10 08:46:23 2011 +0200

    Doh, somehow managed to miss the warnings from these missing includes :(
    
    - Should've been in commit 70f063cb773bedb7d336429d9bc8ed1d4e5d18f4

commit 70f063cb773bedb7d336429d9bc8ed1d4e5d18f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 15:04:13 2011 +0200

    Make base64 encoding/decoding part of rpmio public API
    
    - Base64 is present in headers and all, it's only reasonable that
      our API users have access to this functionality without having
      to link to other libraries. Even if we didn't want to carry the
      implementation forever in our codebase, we should provide a wrapping
      for this (much like the other crypto stuff) for the reason stated above.
    - A bigger issue is that our dirty little (badly hidden) secret was using
      non-namespaced function names, clashing with at least beecrypt. And we
      couldn't have made these internal-only symbols even on platforms that
      support it, because they are used all over the place outside rpmio.
      So... rename the b64 functions to rpmLikeNamingStyle and make 'em public.
      No functional changes, just trivial renaming despite touching numerous
      places.

commit 6bced5bc08c3c8291fc7488c35e1703cba0f9ef6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 13:55:08 2011 +0200

    Eliminate uses of pgpDig in package signing routines
    
    - No functional changes, just eliminates pile of unnecessary allocations
      and other calls, simplifying the code a bit.

commit 24eb3257f6335ab58d90ef21f0b0925ca9b9df24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 13:43:09 2011 +0200

    Eliminate uses of pgpDig in package reading & signature checking
    
    - No functional changes, just eliminates pile of unnecessary allocations
      and other calls, simplifying the code a bit.

commit 5722245dd82f95185dd549f9de5af9549d7ccf02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 13:28:23 2011 +0200

    Take advantage of pgpPrtParams() directly in pgpsigFormat() extension
    
    - No functional changes, just bypassing an unnecessary round-trip to
      a function really intended for other purposes, now that we can.

commit bbf2f636762afefa12b1acabb6fed764d82c7945
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 13:05:08 2011 +0200

    Switch to using rpmKeyringVerifySig() internally
    
    - Change rpmVerifySignature() to take just the signature parameters
      instead of the whole dig (this is an internal API so we're free
      to mess with it) from which it only needed the signature params.
    - The internal low-level verifySignature() is thus reduced to
      to a call to rpmKeyringVerifySig() and spitting some silly
      strings to msg.
    - With this, keyring can now use and reuse the its internally stored
      pgp key parameters instead of having to parse the same PGP packets
      over and over. As a result, signature checking is faster now. Not
      dramatically so but measurably nevertheless.

commit 9e58316b0fd69da9e57cdbaee0aeeab8c47b033a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 12:47:02 2011 +0200

    Add a signature verification method to keyring
    
    - At least within rpm itself, callers aren't particularly interested
      in the actual key that matches a given signature, they just want
      simple good/bad/nokey answers. This makes life simple for them
      and avoids exposing further rpmPubkey internals through APIs.

commit 6f7700dbed99068449717f384e2683c4b2f5fe67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 12:31:23 2011 +0200

    Split keyring find-by-signature to helper function, document...
    
    - Document the broken rpmKeyringLookup() behavior / side-effect,
      the new helper uses the values from our stored pgp parameters though.
    - Shouldn't make any difference functionality-wise, but we'll need
      the helper function shortly.

commit 564242f23b9b449556c6ed21b8fb3cf8099d956a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 11:59:31 2011 +0200

    Parse pubkey parameters on rpmPubkeyNew() already and store results
    
    - Yet more pre-requisites for separating key and signature management.
      In addition this gains us more thorough initial sanity checking and
      will allow reusing the parameters instead of having to parse
      the same packets over and over again on every single verification
      against this key. Unfortunately rpmKeyringLookup() is so braindead
      it prevents us from doing this right now, we'll need a better
      interface to take advantage of the stored pgp key parameters.

commit 345a0612409ef8bc82b2cae90a71c8131bd84f7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 11:04:51 2011 +0200

    Add an alternative API for parsing PGP packets
    
    - pgpPrtParams() returns a pointer to an allocated pgpDigParams
      on success, eliminating the need for callers to worry about
      freeing "target buffer" on failure and bypassing the now rather
      useless pgpDig middleman. Also allows specifying the expected
      packet type so if we expect a key we'll error out if we get a signature
      instead.
    - pgpPrtPkts() is basically just a wrapper to pgpPrtParams()
    - Further pre-requisites for separating key and signature management.
    - Yes, pgpPrtParams() is a stupid name for this. However all the saner
      ones are already taken for other purposes (for which the names are
      just as bad/misleading, sigh)

commit 0bed4327fcecf151dd4555be539bf5aa1d2f01a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 09:49:26 2011 +0200

    Allocate signature and pubkey dynamically within pgpDig on PGP parse
    
    - This way we can parse the whole thing into a private storage first
      and only if its actually successful we return anything through the
      pgpDig. Previously we would return partial garbage on failure
      and/or consecutive calls unless manually "cleaned" as we were
      parsing directly into the pgpDig.
    - Dynamic allocation is a pre-requirement separating management of
      keys and signatures: while they walk hand in hand much of the time,
      they come from different sources and have different lifetimes and
      should be managed separately.
    - Dynamic allocation of these is also a pre-requirement for handling
      more than one public key, ie mainly subkeys.

commit dbb303fe1513fbdbf4878159a549f88de799d936
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 09:37:15 2011 +0200

    Use pgpDigGetParams() in pgpVerifySig() compat wrapper too
    
    - The fewer places that "know" about pgpDig allocation internals the better...

commit 9e9761caa885dfe5f588b9322cce9eaf03168510
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 9 09:19:48 2011 +0200

    Don't make assumptions about how pgpDig allocates things
    
    - Only call pgpDigGetParams() on the public key once we've at least
      tried to fetch it via rpmKeyringLookup(). This way we dont assume
      things about how pgpDig internal allocation is done - currently
      it does return what's essentially a static pointer into pgpDig,
      but this is not a reasonable assumption for an opaque type.
      No functional changes.

commit 917a5c4f6b78174e3c7387fc7fb56e2900f2543e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 15:08:01 2011 +0200

    Revert "Take advantage of pgpDigParamsCmp() in rpmKeyringLookup()"
    
    - This only "works" because of other brokenness in the sig/key
      parsing, revert while we can
    - This reverts commit 4c51eff3f0fa5e67494b6b192aa1c087f57abed6.

commit 8b524080c6b5311e885b673d9430d31789671451
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 8 14:08:40 2011 +0200

    Tolerate NULL key in pgpVerifySignature()

commit 1c8e56729df08d577930160af5192a8c8c8c60e5
Author: Ales Kozumplik <akozumpl@redhat.com>
Date:   Tue Nov 8 09:01:59 2011 +0100

    Do not let 'rpm -q foo-' find package 'foo'. (RhBug:488567)
    
    - Includes a test suite for the case.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1581f4e5c05517fb28cce1f9b4518ef06f9e7ff0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 15:39:39 2011 +0200

    Eliminate unused params member from pgpDigParams
    
    - Rpm has never used this for anything, amounting to helluva lot
      unnecessary free()'s over the years.

commit 4c51eff3f0fa5e67494b6b192aa1c087f57abed6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 14:49:47 2011 +0200

    Take advantage of pgpDigParamsCmp() in rpmKeyringLookup()
    
    - Besides eliminating a couple of direct struct accesses,
      pgpDigParamsCmp() does a much more thorough job of comparing
      the parameters than we ever did here (ie less chance for returning
      ok for for a wrong key, although because the interface is as
      braindead as it is, it doesn't make a whole lot of difference)

commit cde47f5945e16033395b5d0023a550b4c01ba0e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 14:47:03 2011 +0200

    Use pgpDigParamsAlgo() throughout the codebase
    
    - Tedious but straightforward conversion to use the API instead
      of going to the struct directly.
    - Remove digest.h includes where no longer necessary

commit a6f25aff4343c2f67d3fcbfe69929d518327d35f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 14:42:13 2011 +0200

    Add ad API for retrieving algorithm values from digest parameter containers
    
    - Mildly annoying but necessary in order to make pgpDigParams properly
      opaque some day (and also allow sane access to this data)

commit 45c880304b78cc7e77a94a309303bc53f96024c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 13:18:13 2011 +0200

    Add an API for comparing two digest parameter containers
    
    - Lift the digest parameter comparison from librpmsign to rpmpgp.c
      where it really belongs.

commit 41a3fda32b9092bbf5562b1716463480b99b78d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:56:55 2011 +0200

    And finally, make pgpDig struct fully opaque
    
    - As long as this was exposed and relied on, we couldn't really
      make any changes to how this stuff is stored. Now we have a chance...

commit 598d059fc917657304898455fa819bae7d5f437b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:56:03 2011 +0200

    Eliminate direct pgpDig accesses from signing code

commit c8fe64dbc62b6f0d3fe970a74e2733b0404a689c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:55:27 2011 +0200

    Eliminate direct pgpDig accesses from pubkey importing

commit 13ff12421d52aa3beafe7ab6d601d38992a1fcae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:55:02 2011 +0200

    Eliminate direct pgpDig access from package reading code

commit 0afd3343f00e444e5619b5208773b8121c459d8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:54:30 2011 +0200

    Eliminate direct pgpDig accesses from lowlevel signature code

commit 9134a375f03d48ba40f41437a9089a8a87e21433
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:53:47 2011 +0200

    Eliminate direct pgpDig accesses from keyring

commit b04cdcb459e80e9bc03701e3e575411bf44aba72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 12:52:42 2011 +0200

    Add a dumb API to retrieve pubkey / signature params from pgpDig

commit f3a8970e73172939f501bd7186dd23a8d2449d42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 11:19:25 2011 +0200

    Take advantage of parsePGPSig() in pgpsigFormat() too
    
    - Doesn't make for less lines in this case but unifying the accesses
      is good anyway.

commit 3a01513c760722714d8031547a75e5d7fc89b5f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 11:09:08 2011 +0200

    Unify the parsePGP() variants from package.c and rpmchecksig.c
    
    - Hide allocation inside the helper, automatically free on failure
    - Return pointer to the signature parameters on success to simplify
      life for callers
    - Don't bother checking or reporting the signature version: the
      pgp parser errors out if it encounters unsupported version and
      does not scrible anything to the version field in that case,
      mumbling about "V0 signatures" is not particularly helpful.
    - Log the bad package names from rpmpkgReadHeader() too

commit e8bc3ff5d780f4ee6656c24464402723e5fb04f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 10:45:56 2011 +0200

    Hide pgpDig alloc etc details in the parsePGP helper
    
    - Return a pointer to the signature part on success, hide allocation
      (and free on failure) in the helper. Makes life a little bit
      saner for the callers and limits the places where we access
      the full pgpDig further.

commit ae9e8901fde4ffd5903d111fe80d0b32d626e8ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 08:33:02 2011 +0200

    Process all keys and signatures we find
    
    - We still can't store more than one signature / key at a time, but
      since we can easily *process* them without trashing already stored
      values, lets do so to avoid returning errors from legal packets.
      Also pay attention to only store data matching our expected type,
      ie dont store signature data into pubkey parameters and vice versa.
    - This mostly affects pubkey packets which can have more than one
      key present and which (can) also carry certification signature
      which we currently do not handle properly at all.

commit 91e1aeb4d97846013d245949c5be0175c1f1907b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 7 08:20:14 2011 +0200

    Make pgpPrtPubkeyParams() return an int like all the others do too
    
    - No functional changes, just making the interfaces consistent

commit dc3f313b667844e397028bbf2c7dc75cf2917a7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 6 20:58:56 2011 +0200

    Add another pgpVerify variant which takes key and sig as separate args
    
    - pgpVerifySig() is now just a dumb wrapper around pgpVerifySignature()
      which does the real work.
    - Update the sole caller to use the new interface instead, deprecate
      the old dig interface.
    - First steps towards getting rig of pgpDig which always was a
      strange creature and now is nothing but a nuisance and obfuscation.
      Yes keys and signatures walk hand in hand much of the time, but
      they come from different sources and want to be handled as
      separate data really.

commit 44f1c853fd776f50f58f300e6045d45d73ff5566
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 6 20:43:57 2011 +0200

    Eliminate couple of unnecessary pgpDig usages
    
    - stashKeyid() only wants the signature, not the whole dig
    - dig argument to readFile() was simply unused

commit 03879e09cf880adf6c2cec5c73779d77bd6a7f95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 6 17:54:38 2011 +0200

    Clean up pgpPrtPkts() and friends a bit
    
    - Use decodePkt() for added initial sanity check + grabbing the "main" tag
      instead of duplicating the tag decoding here.
    - Call decodePkt() from the main parse loop instead of pgpPrtPkt(),
      and return simple ok/error codes from pgpPrtPkt() and do the
      length calculation in the main loop.
    - Besides making the code simpler and more obvious this fixes some
      fishy cases where we previously would've returned 0 for success
      despite there being an error.

commit 3db9a10577f1868bcf6cc15fe76a03851af39355
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 16:28:50 2011 +0200

    Bury all NSS specifics into a separate source
    
    - Not everybody needs/wants the certified monster that NSS is
      (along with all its quirks), this leaves room for alternative
      compile-time selectable crypto backends. Besides that, we get
      a clean functionality separation for the PGP parser and the
      cryptography parts.
    - The whole crypto abstraction works inspired + somewhat based on
      Michael Schroeder's similar patch in Suse, kudos.
    - TODO: port beecrypt support from Suse to the new interface.

commit 85b90e4176cd32eee912cbefdc4438c801b7edbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 16:28:13 2011 +0200

    Add a couple of missing includes, masked by NSS headers

commit 22f96850e1000735e3d40807ab660b1a60e267ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 16:05:59 2011 +0200

    Implement PGP key & sig algorithm specific part OO-style
    
    - Collect the crypto algorithm specific bits into new struct
      with function pointers for the necessary set/verify/free methods,
      adjust callers to operate on these. This will allow nice and
      clean switching for different underlying crypto implementations
      with differing supported algorithms etc with minimal internals exposure.
    - pgpSignatureNew() and pgpPubkeyNew() never fail to avoid having
      to check for NULL's over and over, they just return a "null object"
      object for which all operations return failure instead.
    - This shreds out some of the output --prtpkts used to give. Wouldn't
      be hard to preserve but the stderr fprintf() spew is not very
      useful nor library-like behavior.

commit 278d17f009333668f8e78e8b1d2019be682e305f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 14:18:29 2011 +0200

    Lift RSA/DSA specific signature verification to helper functions
    
    - Use function pointers to call appropriate helper, cleaning up
      pgpVerifySig() a bit. Supposedly no functional changes, just
      further isolation of NSS specifics.
    - Pass down pubkey and signature as separate pointers, we'll
      want to get rid of pgpDig eventually as it only obfuscates things.

commit 573ea4d4328e9c5ee837efb06a6d2da5db08b6c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 14:17:48 2011 +0200

    Lift RSA/DSA key MPI calculations to helper functions
    
    - Same as commit 8473a5b6ce2050a8e899b0be4a012f5724eb0b6d, only for keys
    - Use function pointers to call appropriate helper etc, cleaning up
      pgpPrtPubkeyParams() considerably. Supposedly no functional changes,
      just further isolating NSS specifics behind generic interfaces.

commit cf17be048e2948cf47c0208d6c4c8fe05fb04625
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 14:15:26 2011 +0200

    Lift RSA/DSA signature MPI calculations to helper functions
    
    - Use function pointers to call appropriate helper, cleaning up
      pgpPrtSigParams() considerably. Supposedly no functional changes.
    - Also serves as first step towards isolating NSS-specific bits
      and pieces behind more generic interfaces to enable using
      alternative crypto "engines" later on.

commit 3c585c0aa4d280bc14e29ac06ccae6f20092e3cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:44:58 2011 +0200

    Remove now redundant NULL digparam checks within the PGP parser
    
    - Since the only entry to these is pgpPrtPkts() and that ensures
      the internals are never called with non-NULL digp... Cleans up
      and simplifies the internals.

commit 568811cb6bf4bf9b4395ebc2d5a6459bec839c74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:32:17 2011 +0200

    Arrange temporary storage for parsing if called with NULL dig
    
    - The only known caller with NULL dig is in the rather useless
      wrapping of prtPrtPkts() in the python bindings, but since in
      theory some other callers could use this just for validating
      a PGP packet .. preserve the behavior since it's easy. The
      actual benefit here is that this frees the parser internals
      of having to check for NULL pointers everywhere.

commit 03b3d699c3b84c3088df23f4e961f6d9a597f7e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 4 12:24:32 2011 +0200

    Added sanity checks on pgpPrtPkts() entry
    
    - Error out cleanly on NULL pkts pointer (caller error but not worth
      dying for)
    - Error out early if packet is clearly not valid

commit 143c249243ad406189aedf42d2c36e3e5eb8436a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 11:02:28 2011 +0200

    Eliminate bunch of unused/useless debug cruft from pgp parser

commit 3decf7b0988126f9309af296887fe4c7f0ca322e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 10:26:34 2011 +0200

    Split digest parameter freeing into a separate helper function
    
    - The data is all the same except for rsa/dsa specific bits,
      to me this calls for a function. We might want to export
      pgpCleanDigParams() or such later on but for now keep it static.
      No functional changes.

commit b284ce833d79b13e51bfee835846d7857fadb961
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 2 10:00:32 2011 +0200

    Store the rsa/dsa parameters in pgpDigParamers struct directly
    
    - Avoids having to pass around pgpDig pointers in addition to
      pgpDigParamrs pointers. The type (key vs sig) is determined
      early on in pgpPrtPkts() and doesn't change, and the rsa/dsa
      data is associated with that always. No functional changes,
      just makes the whole thing just a little bit cleaner.

commit 55be4dd40d76382592ebd6f83a403fda4e772344
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 1 11:23:34 2011 +0200

    Verify PGP signature packet sizes and number of MPIs match expectations
    
    - Similar to commit 807b402d95702f3f91e9e2bfbd2b5ca8c9964ed9 but
      for signature packets: packet must be larger than the "intro"
      structure, and verify the calculated sizes match our expectations.

commit dfc89e85dd2b75cbadf6931415e4217503fe7e19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 1 10:52:13 2011 +0200

    Eliminate buggy pgpPrtComment()
    
    - Removes another source of stupid bugs: for rpm's purposes we're not
      interested in PGP comment tag contents, and the implementation
      here was unsafe as it assumes there always is a terminating \0
      somewhere in the packet which might not be true for a malformed packet.

commit 2ba01d4b8138ffae88d13dbd431d95b36751db2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 1 10:40:02 2011 +0200

    Verify PGP key packet sizes and number of MPIs match expectations, part II
    
    - Same as commit 807b402d95702f3f91e9e2bfbd2b5ca8c9964ed9 but for
      retrieving the actual key data instead of its fingerprint.
    - Only look inside keys whose pubkey algo we actually support:
      DSA and RSA. Anything else is better left untouched and treated
      as an error to avoid nasty surprises.

commit 807b402d95702f3f91e9e2bfbd2b5ca8c9964ed9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 1 09:44:31 2011 +0200

    Verify PGP key packet sizes and number of MPIs match expectations
    
    - A key packet must be larger than the "intro" structure to have
      room for the trailing MPIs, ie in order to be valid. This also
      ensures we can safely access the pubkey algorithm data.
    - Verify the number of trailing MPI's and their total size matches
      the expectations and packet size exactly before bothering with
      digest calculations.
    - Also use sizeof(keyid) instead of "magic eight" and memcpy()
      instead of memmove(), the argument keyid and memory returned
      from rpmDigestFinal() cannot overlap.

commit c1141ec3f31ce20a071e9be064baa079119637f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 14:01:41 2011 +0300

    Verify MPI size is within packet boundary in pgpMpiItem()
    
    - Malformed data can claim the MPI size to be "arbitrarily" large,
      pass packet end pointer to pgpMpiItem() and validate we have enough
      bytes in the packet to contain the MPI before copying.

commit 3487544e96dba38d0991e2293d7855efb4a1aa6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 12:42:26 2011 +0300

    Remove support for V3 public keys
    
    - V3 keys have been long since deprecated and extinct for all practical
      purposes for more than a decade by now (for example, Red Hat Linux 6.0
      from 1999 was the last RHL to use a V3 key for signing). RFC-4880
      says V3 keys MUST NOT be generated (they have a number of weaknesses),
      but implementations MAY accept them. We choose not to accept them
      anymore, eliminating a code path that would essentially only get
      triggered by malformed packages. The said code path also contained
      a few buffer overflows and other bugs, so its more than just
      "good riddance."
    - Worth nothing is that only support for V3 *keys* is removed, V3
      signatures are still supported along with V4 ones.

commit 0864b026cc6d2de5fe9aa7eeed4343ad30fa9acc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 26 09:14:40 2011 +0300

    We dont deal with secret keys, leave them alone
    
    - As we only do OpenPGP signature verification and never signing /
      encrypting content ourselves, we have no need to know anything
      about secret keys. One less place to worry about, tripping up
      on bad data that we dont even try to use would be pretty dumb.

commit 7762a4fba37e000958fd46e0a0e7509623a7cb95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 15:47:15 2011 +0300

    Centralize PGP packet decoding and sanity checking into helper function
    
    - Stricter sanity checking on both old and new packet types - whereas
      new format packets were mostly covered by pgpLen() changes already,
      old format has similar case where malformed packet could cause us
      to read beyond packet (buffer) end.
    - Collect the necessary packet data into a struct that's nicer to
      pass around (taking advantage of this mostly left for next steps)

commit b0763af65fb4dcf958b9373c9b1a3714887ea2ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 14:47:44 2011 +0300

    Verify there are sufficient number of bytes to calculate packet length
    
    - The number of bytes used to store a PGP packet body length is not
      known until we decode the first byte, pass remaining packet length
      to pgpLen() and verify there are sufficient bytes for the
      used encoding before reading them.
    - Clarify the function description while at it.

commit 755f21fec8c31dc84008ac21fab6d7a4fcebec30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 14:22:07 2011 +0300

    Avoid redundant calculations on pubkey fingerprint retrieval
    
    - In pgpPrtPkt() we just calculated the packet body and length,
      avoid redoing it for the fingerprint by splitting the actual
      fingerprint calculation out of pgpPubkeyFingerprint() into a helper
      function and calling that instead.

commit 2544204715c81c3d4c211dcedf35b9371c49b0ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 14:03:43 2011 +0300

    pgpPubkeyFingerprint() can fail, propagate errors part II
    
    - rpmPubkeyNew() needs to return NULL if we fail to grab the
      keyid, make it so...

commit 965c53bb6c1d9f4d77a23b25a5c02f52edcd8c0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 25 13:53:42 2011 +0300

    pgpPubkeyFingerprint() can fail, propagate errors
    
    - Rpm itself doesn't even use pgpExtractPubkeyFingerprint() anymore
      but there appear to be other users so leaving it alone for now,
      just behave sanely on errors.

commit be21712e295ff3ce2154b8c4911fe881d13cc87f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 13:45:00 2011 +0300

    Eliminate useless pgpIsPkt() helper function
    
    - While I can imagine uses for such a function, our only caller is
      using it in a bogus way: decodePkts() is trying to avoid looking into
      binary-only data by calling it, but then pgpIsPkt() returns
      "not pgp tag" for various things that *are* pgp tags, making the
      whole thing just moot. If such checks are actually needed, we'd be better
      of checking for printable characters or such.

commit a2d14f6b6517ee31743a77b07c1346438ba6d2e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:39:51 2011 +0300

    Eliminate broken pgpLen() from the API
    
    - pgpLen() only works for new format packets, and even for those
      its unsafe and cannot be fixed without breaking the API. Start
      by taking it behind the barn for further, err, operations. Rpm has
      no users outside rpmpgp.c now and anybody else using it will be
      better off not doing so.

commit 97a452f732a256e033c16b4b87a8674b91429b45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 12:21:01 2011 +0300

    Sanitize pgpsigFormat()
    
    - Eliminate bogus size calculations: we have a buffer of td->count size
      that may or may not contain legal OpenPGP signature. Leave it up to
      pgpPrtPkts() to validate & figure it out and check its return code instead,
      eliminating need to repeat a bunch of tedious calculations here.
    - Use non-zero signature version is used as a hint for valid signature,
      should be "close enough" for the rest of the code.

commit b88b2178d40147be6c28dd9b97905ee1dc5366d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 24 11:04:51 2011 +0300

    Valid PGP packets are always at least two bytes long
    
    - Old format tags encode the number of body length bytes in the packet
      header, new format encodes it in the first body length byte. In
      both cases there must be at least two bytes worth of data for it
      to be a valid header. Sanity check before accessing.

commit ebf5a4e7c87e411fd0c436dff82737cfce77f20d
Author: Thomas Jarosch <thomas.jarosch@intra2net.com>
Date:   Fri Oct 21 23:05:54 2011 +0200

    Fix unterminated buffer after readlink() call
    
    readlink() never terminates the buffer.
    
    Detected by "cppcheck" (git HEAD)
    
    Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit b8ad9ac9203ad1315cc808cf93c1e66dd43fbb03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 23 14:23:12 2011 +0300

    Log an error on signing if we can't even parse the gpg-generated signature
    
    - The error message is not very helpful but if pgpPrtPkts() fails
      we dont have a whole lot clue in the caller why it failed, spitting
      out at least *some* error is better than silently failing
      (RhBug:748116, RhBug:719154)

commit 084a00bf51a941ec85c094a436bda401fccf7d3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 23 13:59:46 2011 +0300

    Warn but don't fail the build on missing excluded files (RhBug:745629)
    
    - If a file/directory is not to be packaged, there's not a whole lot
      point making the build fail if its missing. In case exclude is
      used to leave certain files to sub-packages, the sub-package file
      lists will catch out missing files that are really missing as a
      result of actual build failure or such (except perhaps for some
      glob cases but missing files can go unnoticed in those cases anyway)

commit b05dd290fecfbee5908aa483fbdc001674e2328c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 23 13:53:21 2011 +0300

    Eliminate bunch of exit points in addFile()
    
    - Assume failure, handle setting fl->processingFailed centrally at exit
      (file too large wasn't resulting in processingFailed getting set)

commit f79909d04e43cbfbbcdc588530a8c8033c5e0a7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 21 11:49:53 2011 +0300

    Fix ancient off-by-one at end boundary in string array size calculation
    
    - String array size calculation could read one byte past data end
      pointer when expected count and number of \0's disagree (ie invalid data)
      due to while condition side-effects + bounds checking being in
      the inner loop.
    - Lift the string length calculation to inline helper function, used for
      both string and string array types.
    - Streamline the calculations:
      - Eliminate unnecessary length increments, calculate the length
        from pointer distance
      - Eliminate end pointer NULL checking within the loop: when caller
        doesn't supply end pointer, cap to HEADER_MAX_DATA (ie 16MB),
        anything larger would trip up in later hdrchkData() checks anyway.
      - Avoid the off-by-one by eliminating the problematic inner loop.

commit bfcc5bf3b9bfe77e7771eb947b17ffea87192ee7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 20 10:37:31 2011 +0300

    Verify the entire region trailer, not just its offset, is within data area
    
    - Offset being within the data area doesn't help if the actual data doesn't
      fit. Since the trailer size is well known, we can just as easily
      make the check accurate to prevent reading beyond end of data in case
      the offset is subtly wrong.
    - In headerLoad(), region offset of zero doesn't need sanity checking,
      only validate if its something else and do so accurately there too.

commit c6e89ca9452e8c26b7a7374fe3388397871b81b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 17 09:27:34 2011 +0300

    Update man page(s) verify output description to match current behavior
    
    - Since addition of file capability verification in rpm 4.7.x,
      the verify output has nine characters, not eight (RhBug:746525)

commit 0167d8ccd174a7a126d66f33c3316080a99f3e5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 12 09:33:36 2011 +0300

    Fix pretrans dependency calculation when provider is upgraded
    
    - Pretrans-dependencies are twisty little beasts unlike anything else...
      When a pretrans-dependency provider is updated, the currently installed
      version is the provider for that transaction, unlike others where
      the packages from installing set act as providers for updates. So
      when looking up pretrans deps, we must not prune the to-be-erased
      packages from the db match iterators. As an added twist, we also
      must not cache these non-pruned cases as it would mess up the
      cache for "regular" dependencies.
    - Fixes this case reported on fedora-devel:
      http://lists.fedoraproject.org/pipermail/devel/2011-October/158058.html

commit 8d0da6e2eac44c8cbf7ed6b7e73f64fcf325c055
Author: Mukund Sivaraman <muks@banu.com>
Date:   Fri Sep 30 15:34:44 2011 +0530

    rpmio: Set a umask before using mkstemp()
    
    This commit sets a restrictive umask before calling mkstemp().
    This is because the permissions of files created by mkstemp() are
    not defined in POSIX. Old versions of glibc created files with
    mode 0666 which can be a security hole. Because the behavior is
    implementation-dependent, we set a umask.

commit cc62aaa761e570b07125bac2c00450b07f4467a7
Author: Mukund Sivaraman <muks@banu.com>
Date:   Thu Sep 29 12:39:13 2011 +0530

    rpmio: Don't de-ref lzfile which was freed in lzclose()

commit 93094580531659ac07a3ef80d2bfb104cbc032cf
Author: Mukund Sivaraman <muks@banu.com>
Date:   Thu Sep 29 12:39:12 2011 +0530

    build: Update .gitignore rules

commit f822ffcbd7ab28dd478c8652302f30ed099d4d03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 11 10:31:40 2011 +0300

    Let headerLoad() failure message come through
    
    - headerVerify() always returns with a message even for OK results,
      which was masking the error message from headerLoad(), sometimes
      giving not very helpful "headerRead failed: Header sanity check OK"
      style messages.

commit 90a6c2b944f824c1e21b62a4b3771545529bdb8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 15:16:47 2011 +0300

    Eliminate headerCheckPayloadFormat() from the API
    
    - While we're on API killing spree... Exporting this was needless and
      dumb to begin with (greetings to self in 2007...), bury it inside
      depends.c as static and let rot there.
    - Might be a better idea to kill it completely with some other
      mechanism such as turning payload format into rpmlib() dependency
      internally but just get it out of public sight for now.

commit 1de7539ea8b7febadd0d31b5be049dcdd7179e4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 15:13:22 2011 +0300

    Eliminate headerMergeLegacySigs() from the API
    
    - No need to export this in the API - if you want merged signature
      tags you use rpm's package reading functions.

commit c3a6ad8856600a00facb95abcb479fc6b39e6116
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 15:05:11 2011 +0300

    Eliminate leftover headerRegenSigHeader() function
    
    - This was only ever used by repackage support inside rpm and has been
      orphan since 2008, likely more than just a little broken too as it
      doesn't know about 64bit types and all. RIP.

commit d7041cc8a0455346446f435bf1b305c56f3e7241
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 13:06:28 2011 +0300

    Only bother allocating a pgpDig when needed
    
    - Now that rpmVerifySignature() doesn't require a non-null dig
      for digests, don't bother allocating one unless necessary.
    - pgpNewDig() cannot fail so dont bother checking.

commit a2e59180274cc6f928b188da0e7211d01c421883
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 12:56:13 2011 +0300

    Eliminate redundant NULL-checks in lower level sigchecking functions
    
    - sigtd->data and dig checking (where needed) is done at
      rpmVerifySignature() level, dont bother double-checking
    - Hash context is dup'ed, which CAN fail, so while we dont need
      to check the argument for non-null, the dup result needs to
      be checked for digests. For actual signatures the dup happens
      elsewhere, we dont need to check the argument for non-null here.

commit 9718ede792cc2f4028f7aa5e17ec16a5cf0d7ea7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 12:49:18 2011 +0300

    Sanitize rpmVerifySignature() a bit
    
    - Hash context is required for everything, require non-NULL ctx
      in rpmVerifySignature() already
    - pgpDig is only relevant for true signature, digest checking doesn't
      need it - dont require dummy dig to be passed for digests.
    - Treat unknown signatures as a case of bad parameters: we're the
      only caller of rpmVerifySignature() so it'd be us screwing up if
      we ask for unknown signature to be verified.
    - Treat bad parameters as a hard failure instead of "not found",
      bad parameters mean we cannot verify the signature which really
      equals FAIL.

commit d9932aa63ce12ad0eed3569256933498d7943b8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 11:14:05 2011 +0300

    Also add RPMTAG_OPTFLAGS during spec parse since we easily can...

commit 6c7b53b108b24d831b6f8b9d3260eae52d38ebb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 6 11:02:31 2011 +0300

    Add implicit self-provides during spec parse already
    
    - Makes the self-provides accessible on spec parse queries, shouldn't
      affect anything else.

commit b7bc78e31fba780eee88228f6b1b09887aea2f6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 5 16:54:15 2011 +0300

    Split signature/digest verification out of headerVerify()
    
    - headerVerify() is big enough without having all the signature
      goo inline, just lift the whole signature/digest business into
      separate function. Supposedly no functional changes...

commit f9e103d6bdb5373919a699a6873c1918304b9d50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 5 15:08:07 2011 +0300

    Unobfuscate header digest calculation in headerVerify()
    
    - Assigning goo to temporary variables for calling rpmDigestUpdate()
      doesn't make it any more readable, more the contrary. Also
      don't bother with htonl() (calls that should've been ntohl()
      for "correctness") when we have the data elsewhere in host order already.

commit d8a7c15983de94b9f73a5129f700215a12206bfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 5 14:46:12 2011 +0300

    Unobfuscate headerVerify() exit logic
    
    - Jumping forwards is one thing, jumping backwards and forwards to an
      exit label residing in the middle of a function is something else...
      Refactor to single point of exit, at the end of the function.
    - Handle the no header-only signature/digest case (whether disabled
      or v3 package) and cleanup centrally at the exit label, everything
      falls through there now.

commit 99e18ef82316015bf717086bd0a17aa28a7b173b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 5 13:58:33 2011 +0300

    Eliminate pointless exit label from headerVerify()
    
    - pgpNewDig() like most rpm "constructor" functions cannot fail,
      no point checking the result. Allows an icky backwards goto + label
      to be eliminated.

commit d6ea4f5a299024a8d377eb4e60180422518eca58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 4 15:35:42 2011 +0300

    Push couple of variables to more local scope
    
    - No functional changes, just preparing to tidy up the headerVerify()
      monster a bit.

commit 235c24a5f631e992a8552b11ea70e3ad49a7bd9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 4 14:59:49 2011 +0300

    Eliminate redundant local variable in headerLoad()

commit 472e569562d4c90d7a298080e0052856aa7fa86b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 3 17:49:29 2011 +0300

    Sanity check region length on header load
    
    - Region size can't obviously be larger than the containing header,
      sanity check to avoid crashes from malformed packages.
    - We should really test for length equality here, but with dribbles
      the size is sometimes off by three, whatever the reason (bug likely),
      leaving that investigation for some sunnier day...

commit 30635dd4330a192fa2b6e202a0e2490eba599a93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 30 15:28:00 2011 +0300

    Sanity check OpenPGP packet lengths in pgpPrtSubType()
    
    - Sub-packet prefix length + packet length can't very well be larger
      than the remaining packet length. In addition to sanity checking,
      return an error code and have callers actually check for it.
    - Fixes (yet another) segfault on malformed package (RhBug:742499)

commit a48f0e20cbe2ababc88b2fc52fb7a281d6fc1656
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 29 13:22:32 2011 +0300

    Sanity check region offset range on headerLoad()
    
    - Fixes the  first case crash of RhBug:741606 / CVE-2011-3378 where
      immutable region offset is way out of bounds.

commit 11a7e5d95a8ca8c7d4eaff179094afd8bb74fc3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 29 12:50:57 2011 +0300

    Sanity check region offset in regionSwab()
    
    - Region offsets are supposed to be negative when when an entry
      is involved, otherwise zero. Fixes some cases of crash'n'burn on
      malformed headers having bogus offsets (CVE-2011-3378)

commit c6c364317b4f5d1e31e0f27094d6b1af3778881d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 15:01:27 2011 +0300

    Whoops, ftell() and rpmio equivalents should return long not off_t

commit d9063d22f32479ad27a9c8bc2b21a00b6bb4af9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 14:58:19 2011 +0300

    Fix up a few strict-prototype warnings on x86

commit aa7a08202c5bf399b9da42332af7992e04098fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 12:21:21 2011 +0300

    Kick out ppc arch detection leftovers
    
    - This should've been in commit 6e2f56fe25a9ee62af51e0408861a8a43c97a709
      all the way back then, unused ever since...

commit 6516a0ffd38cefc2561b2aa9d7647de1871d2309
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 12:06:50 2011 +0300

    Eliminate hysterical copy-paste comments from rpmrc

commit b61b50cc68090b8241b18247984651b4493e272b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 15 12:05:52 2011 +0300

    Bit of rpmrc spring-cleaning: nuke detection for some extinct creatures

commit 95a0584a2ebff142abfc3e2a2a5b9f6393edd3e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 13 14:11:14 2011 +0300

    Add Transifex config + adjust .gitignore to track it

commit 9df2b3c7241ae8bddd75716a7ab28e301298cbda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 13 14:07:29 2011 +0300

    Nuke ancient ChangeLog in po/

commit fafd67c390ab42ef071d189114f726da3b710b28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 13:26:42 2011 +0300

    Use POPT_BIT_SET for setting the scriptlet flags
    
    - No functional changes, just avoid doing extra work for what popt
      can already do for us.

commit 60745080a36bbd64b5194bd764cc38dd215dc56d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 13:02:13 2011 +0300

    Actually remember scriptlet flags in the rpmScript struct
    
    - Currently doesn't make any difference but since we actually
      have a flags member in the struct, might as well use it. Also
      we'll shortly be needing these during the actual execution too.

commit 5b9681afee60e3049306b5daa16924011bebed20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 12:54:48 2011 +0300

    Rename scriptlet flags from RPMSCRIPT_FOO to RPMSCRIPT_FLAG_FOO
    
    - No functional changes (and this is still internal-only API),
      just making more obvious what they are and clearing the
      RPMSCRIPT_FOO namespace for possible future use for the scriptlet
      types themselves.

commit 9e363dba038ee7b7c8fae330a6931211e61e8678
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 12:19:15 2011 +0300

    Show all interpreter arguments on --scripts query (ticket #847)
    
    - Previously any arguments to interpreter were invisible unless
      you happened to know that RPMTAG_FOOPROG are actually string
      arrays despite their type showing plain string, and queried
      as arrays. This makes all the arguments for all scriptlets
      supporting interpreter arguments visible on --scripts query
      and also serves as an example on how to properly query them.i
    - Perhaps worth noting is the exact formatting of the query:
      "(using[ %{PRETRANSPROG}]" instead of the more typical style of
      "(using [%{PRETRANSPROG} ]" to avoid extra trailing blanks.

commit 527fa4a730f7457456e381397e89feecbb2ae0af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 12:10:29 2011 +0300

    Show possible %verifyscript interpreter similarly to other scriptlets

commit 009c87cc7a38c456c1db8c9a5249080c4c7d5dec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 11:43:11 2011 +0300

    Scriptlet argument tags are really arrays
    
    - While the vast majority of scriptlet interpreters only consist
      of the interpreter name itself, they all can consist of arbitrary
      number of extra arguments. Rpm itself doesn't really care whether
      the tags are strings or string arrays but the scalar definition
      causes the rest of arguments to be invisible from eg python.
      Also having the type shown as string array hints at the proper
      query format when accessing these (and rpm itself is doing it
      wrong too in --scripts alias). Related to ticket #847.

commit a431f42e9e20e3bb89b65bf5c861129868bb6c50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 12 11:36:27 2011 +0300

    Sanity check trigger scriptlet arguments on build
    
    - Trigger scriptlets differ from other types in that additional
      arguments to scriptlet interpreter are not supported due to the
      way trigger data is stored in the header. Until now any extra
      arguments have just been quietly discarded, make it an hard
      error to avoid surprises.

commit 547badd6ce70d6acb1cd299f881922b68316cd70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 6 22:37:42 2011 +0300

    Fix brp-python-bytecompile breakage from the recent whitespace patch

commit d0198dac5a5a75963ddbefcd0819de0ad968bd3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 6 16:12:15 2011 +0300

    Use the new FOO_NEVRS extensions for --requires etc popt aliases
    
    - Makes the popt foobar somewhat saner and fixes RhBug:717534 and
      RhBug:735801 while at it.

commit 628ad2fae22cd29786c1f36f97e68142fe8f5ec7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 6 15:58:35 2011 +0300

    Add four new extension tags for pretty-formatting dependencies
    
    - The current method that --requires and friends use is kinda
      cumbersome and outputs extra whitespace for dependencies which
      dont have flags+version attached. Adding extensions for this
      is likely to be easier than teaching query formatting to
      permit conditionalizing on current value instead of just tag existence.

commit 31d807ffa8cdf91addf7c39fdf9abf6c61d77944
Author: Jeff Tickle <jeff@jefftickle.com>
Date:   Tue Sep 6 09:52:19 2011 +0300

    $RPM_BUILD_ROOT breaks brp-* scripts if it contains spaces (ticket #843)
    
    - This patch adds quotes around $RPM_BUILD_ROOT in places that I noticed
      they were missing, and attempts to handle some of the problems that can
      occur when looping over the output of find.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4fbf565ac0a603e204d79c0c8b19a96dc781f844
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Aug 29 21:35:30 2011 +0300

    Manual typo fix.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit d4bd169e83576298d6b128ce06c04a9d5c34dfda
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Aug 29 21:34:02 2011 +0300

    Sync autoconf macro defaults in manual with the macros file.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 75cea7a534ebe97d1c8d7345d469112f891bb7e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 5 08:38:31 2011 +0300

    Make --pipe command failures reflect our exit codes (RhBug:735481)

commit 0b57571990817fa9872b9adfb000930bb09d58c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 2 12:56:55 2011 +0300

    Make rpmScript opaque
    
    - Add accessor for fetching the script tag, the final piece that
      psm needs (and will continue to do so) from script internals.
      This allows the script type to become opaque for real.

commit ecaf972db05f6b23514a747c4a503268658ac98d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 2 12:43:53 2011 +0300

    Add an API for creating real rpmScript items out of triggers, use it
    
    - Bury rpmScriptNew() into being internal helper in rpmscript -
      triggers and other scripts differ quite a bit in how their data
      is laid out in the header, especially args need "special attention".
    - Besides cleaning up things in the psm side, this technically makes
      trigger scripts runnable without having a header at hand. Of course
      currently trigger scripts are currently created and destroyed
      on the spot from headers so this is of academic interest...

commit 49089b2649918872efe05ed0d37d55a22c7c2136
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 2 10:54:00 2011 +0300

    First step towards unifying triggers into rpmScript API
    
    - Add a lower level script creation function to deal with the
      body expansions and such, use it for triggers as well.
    - This is still fairly ugly but its something that can be reasonably
      backported to 4.9.x which needs this too, as currently triggers
      are forgetting to set script->descr, causing "(null) failure" messages
      on glibc and on others, in would just crash on trigger failure
      and/or in debug verbosity level.

commit 52e0467126942d67e971f2ee09e4d7d7ddb275c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 20:29:30 2011 +0300

    Fix up one strict-prototype warning that has crept in meantime

commit dbea7fa32e1eb0b69a24a10d6edc4265861e083d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 20:26:13 2011 +0300

    GCC warning option tweaks
    
    - WTH are we compiling with -Wno-char-subscripts? This appears to have
      been there since the dawn of times, and at least nowadays removing
      it causes no new warnings.
    - Re-enable -Wstrict-prototypes, either NSS headers have gotten fixed
      or GCC has gotten smarter and no longer whines about broken
      system headers.

commit fe444003ec23d7e9a7c57b7cbdef71dbaf12e34d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 14:23:28 2011 +0300

    Oops, RPMSENSE_PRETRANS and _POSTTRANS missing from python bindings

commit ff280b693e13f524af51f11a356c2b087ef7956b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 13:50:55 2011 +0300

    Don't add config() provides if config install is disabled
    
    - Similarly to commit 40ee8e7427ace319687dd36bd5f745d1ef2f2236,
      take --noconfigs into account for the virtual config() provides too

commit 40ee8e7427ace319687dd36bd5f745d1ef2f2236
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 13:40:50 2011 +0300

    Don't add file provides for doc/config files if they wont be installed
    
    - Files which dont get installed cannot very well satisfy dependencies,
      take this into account for docs and configs when --nodocs & --noconfigs
      flags are used.

commit a4dbd775513912413f099f5a9ce91b7349a6063a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 13:19:18 2011 +0300

    Pass tsflags to rpmal and remember them
    
    - No functional changes here, but we'll need to know some of these
      bits for accurately calculating various dependency bits later on.

commit 9dcc7374320ddfd00d3c91261edc3a6e15b43c15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 12:55:30 2011 +0300

    Source formatting cosmetics: function blocks start on the next line

commit 535679d862092c29e00c9a6562148645acc02bae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 12:39:06 2011 +0300

    Only consider installed files when looking at removed dependencies
    
    - Non-installed files cannot very well have dependencies, this
      eliminates some bogosities from those cases.

commit 3a309d8f1ba80d1b2f1859d188c6639e0d81696b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 12:11:13 2011 +0300

    Add RPMTAG_INSTFILENAMES tag extension for state-aware file lists
    
    - For a more consistent experience wrt all the state-awareness stuff,
      this needs to be easily querifiable too.
    - Also makes the tagnames kludgery from commit
      cac8c389607d7a5735b2905035fdfe4404670d06 unnecessary

commit 172af97d77fc5a3f3dd265b65c96e3d66bf47adb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 12:07:30 2011 +0300

    Add + use helper macro for testing for installed file state

commit 41d5d9b6d90698212034e81bbb16ed1b77e525a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 11:20:54 2011 +0300

    Oops, missing include for rpmFreeMacros() in python module
    
    - This should've been in commit f07ab5c1afa9b0b7105082a8617ec6a7657fc27e

commit 8fb5d95eda38c282a03eb1db891de695e51cb67b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 09:40:52 2011 +0300

    Avoid SystemError on inserting an empty list insert to header from python

commit f07ab5c1afa9b0b7105082a8617ec6a7657fc27e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 1 08:31:04 2011 +0300

    Add method to reset + reload rpm configuration to python bindings

commit cab09c6c36ddeec4da6f0f557afcd2028b38fa03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 31 11:09:03 2011 +0300

    Remember ds color (if set) through rpmdsCurrent()
    
    - Currently only dependency sets coming from transaction elements
      get colored, only bother allocating memory for non-zero color.

commit cac8c389607d7a5735b2905035fdfe4404670d06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 31 11:07:32 2011 +0300

    Oops, forgot to add the instfilenames pseudo index to tag lookup code
    
    - DBI tags dont really belong there to begin with but changing this
      would be more painful than its worth...

commit 9ad57bda4a82b9847826daa766b4421d877bb3d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 29 16:19:32 2011 +0300

    Use RPMDBI_INSTFILENAMES on file queries as well
    
    - This changes query behavior quite a bit as files with non-installed
      status are no longer returned as matches. The rationale is that
      it makes figuring out dependency issues with the "new" behavior
      more obvious (but perhaps we should have a switch to enable
      former behavior). Besides not satisfying dependencies, files with
      non-installed status are not really owned by the package, as they
      would not be removed on package removal.

commit 95dae810c0ce437bb2a7f205d3c399c304e3b792
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 29 15:49:08 2011 +0300

    Take advantage on RPMDBI_INSTFILENAMES in rpmdbProvides()
    
    - No functional changes, we did the same thing "manually" here already.
      Only now the data is more conveniently available through API to
      other callers who might care (yum & friends)

commit 0e01c697dcb4cf327130e24d9d1bf534707081d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 29 15:43:15 2011 +0300

    Add a new pseudo index for actually installed files
    
    - RPMDBI_BASENAMES (ugh) returns all headers with matching filenames,
      whether the files are actually installed or not, which can be
      rather misleading when dealing with file dependencies. The new
      RPMDBI_INSTFILENAMES only returns headers with matching filenames
      whose state indicates they are actually present on the system.

commit 47799e84c9877239f17b5c8f11166ca8c29ed44a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 29 15:23:02 2011 +0300

    Generalize pseudo tag handling in rpmdbInitIterator()
    
    - No functional changes, just makes the case where a pseudo index
      uses a differently numbered underlying physical db index more generic.

commit 25e68ab6e28ba3a167ea77924c8c752564d79fab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 29 14:04:28 2011 +0300

    Use correct file state for colored file replacements
    
    - On colored file conflict resolution, the non-preferred colored
      file state would depend on installation order: if non-preferred
      arch is installed first, and the preferred arch in another
      transaction, the non-preferred color would get marked "replaced"
      indicating a forced install when none was used. This fixes
      the file state in such cases to "wrong color" to be consistent
      of the other installation scenarios.

commit 5ee6b23f573bfeafbc56f78c698622b35932b2c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 25 12:29:48 2011 +0300

    Add test for ts.clear() as a side-effect of add to ts test

commit 93639ec8e679e32890ab6f80b5be7913a651634b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 25 12:02:48 2011 +0300

    Export rpmtsEmpty() to python as ts.clear()
    
    - Why the heck hasn't this been exported before, duh?
    - Method name clear() chosen as this appears to be emerging as a
      standard of sorts for this kind of operation: dictionaries and
      sets have it and list will get it in some python 3.x version.
      Additionally foo.empty() could easily be mistaken for "test whether
      container foo is empty or not" (especially those with c++ background...)

commit b37b4fbd48cd78a7749c1b098425db19cf1b8ded
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 19 10:19:58 2011 +0300

    Remove support for ancient bzip2 library versions
    
    - bzip2 1.0 is over ten years old by now, anybody still using versions
      older than that get what they deserve...

commit 124c5d772aa6fe2515547ae6f8833c15dbf46d69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 19 10:00:32 2011 +0300

    Remove unused FDFOO macros

commit 1f1e5e88a1f6c60cf2d11014d809000e97a63aad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 17 10:59:49 2011 +0300

    Handle query format field width centrally in formatValue()
    
    - Eliminate the quirky formatPrefix buffer argument to formatter functions,
      deal with the width at formatValue() if specified.
    - This not only simplifies things a great deal, removes a nasty
      unbounded buffer writing from formatter functions and speeds things
      up somewhat by removing extra rasprintf()'s in many cases, it also
      gives us width formatting of everything including "error messages"
      like "(none)" and "(not a number)" which previously got dumped without
      any formatting.
    - The cost of this is the loss of zero padding support for numeric
      data but that's hardly a big deal.

commit 4387be59b3a541a3bf91546fdf396fdc76cc7a24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 17 09:03:44 2011 +0300

    Take length of format width specifier into account for format string buffer
    
    - Prevents buffer overflow in case of ridiculous field width specifiers
      like --qf "%100000000000000000000000000{name}". There's another similar
      static-sized buffer in rpmtdFormat() but there we're not dealing
      with user-speficied format strings so its okay even if ugly.
    - The format string handling wants a bigger overhaul but this makes
      for a nice little backportable patch for starters.

commit df603a246850aa2b912547ba8f20f34ba1cc3626
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 17 08:17:13 2011 +0300

    Validate query format field width specifier is sane
    
    - Only allow [[-]<number>] in the format field, users have no business
      telling which format conversion sprintf() should use for tag data.
      Fixes embarrassing segfaults from things like %s{size} which rpm
      has merrily passed on to sprintf() as-is.

commit 1a02428e99f357ec2e972253b4518e47e8d071d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 2 12:39:51 2011 +0300

    Strip trailing slash from paths at addFile()
    
    - Fixes regression from commit 23167c3ea459405c98d8e759993efb6d9b1ea7f3
      which causes all %dir entries to have a trailing slash, breaking
      at least dependencies on such directories and probably something
      else as well.

commit 217a996f25a8d3931c97be631a64625b6dd10fe0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 2 12:22:52 2011 +0300

    pgpVerifySig() check of NULL hash is the wrong way around
    
    - NULL hash is pretty much a can't happen-case here but lets be
      sane if it happens afterall - NULL hash would be an error and
      we dont want to process the rest if that happened.

commit fa660524026ecef686bb317cdc937008ae729de4
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Aug 2 12:20:35 2011 +0300

    Restore %defattr() behavior on special %doc
    
    - With the change in the defattr handling (commit 09efbe96), you also
      need to save the current defattr setting when processing %doc.
      Otherwise doc files will just get the value from the latest defattr line.

commit c6d6543ec262608c215a70084de82137f3c5062d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Aug 1 13:54:43 2011 +0200

    Fix misleading error message when gpg key is expired (RhBug:672727)

commit c07efb9fec3d8d7216e15609e3acf7d107cbe2ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 14 14:05:32 2011 +0300

    Sanity check signatures even if we dont have a key
    
    - Fixes a regression originating all the way back from commit
      c7fc09d585ff3831924f72f61d990aa791f2c3f2 (ie rpm >= 4.8.0)
      where a package with a bogus signature can slip through undetected
      if we dont have a key for it.
    - This additional sanity check on the signature prevents is enough
      to prevent the fuzzed package in RhBug:721225 from crashing us
      by stopping the bad package at the front door. That we don't have
      proper tag data validation is another, much wider issue...

commit 5d58afc88215b4b9cdc2086c8b5c11941e62f369
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 13 16:19:01 2011 +0300

    Fix memleak on keys with more than one user id
    
    - This is not "correct", we should permit more than one user id.
      Leaking memory is still worse than not leaking, corrent behavior
      or not.

commit 3cad28715bcdcf1bc92171bc560cb24ea87d9d74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 13 16:05:34 2011 +0300

    Fix crash on PGP packets/armors with more than one key (RhBug:667582)
    
    - While OpenPGP permits arbitrary number of keys per packet/armor,
      we can't handle more than one, error out early.  The poor user
      wont get much of a clue as to what went wrong, but thats still
      better than crashing and burning.
    - Return NULL from pgpPrtPubkeyParams() on errors and pass it onwards
      from pgpPrtKey() which propagates it up to callers. Besides
      the crash, this also fixes the error path from pgpNewPublicKey()
      failures.

commit 612579c6f656f6f8268ed6a05dcdb151477ddaf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 13 15:46:21 2011 +0300

    Oops, rpmPubkeyDig() should return NULL if pgpPrtPkts() fails

commit f627135e9f55f4e65dc581145e98607cd044b381
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 13 14:03:32 2011 +0300

    Only increment number of query/verify sources when we encounter new types
    
    - This makes it legal to specify the same query/verify source more
      than once. Not that it makes a whole lot of sense to do so, but
      complaining "only one type of query/verify permitted at a time" seems
      silly as well if you're just (accidentally) specifying the same
      source twice. Besides, this makes the code a bit cleaner.
    - Kinda related to RhBug:691930.

commit 306c23ee49c0e385a830d206389c5e36128b9916
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 13 13:56:15 2011 +0300

    Fix the sanity check on number of query/verify sources (RhBug:691930)
    
    - Prior to commit 2e672f3fae9d8ff7ee64ae13cfa2fe65272c2ede, the
      callback would get called twice for every option so the expected
      number of query/verify sources was doubled. Now the numbers
      match with reality, adjust the check.

commit bbf85d4d4fe692030de0b39f4c289da0434a9890
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 12 10:51:07 2011 +0300

    Whoops, wrong variable passed to io debugging

commit acd04b1a66245e057a928156036fee55f28bb355
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 12:37:12 2011 +0300

    Cleanup fdRead(), fdWrite() and fdSeek() a bit
    
    - Remove unnecessary fluff, these are very simple operations
      and dont need any temporary variables, re-re-redundant NULL checking
      etc, its already done at the caller level.

commit 659abcfa15f2eb4b64c09a5ec0baec8b030f1a65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 12:33:31 2011 +0300

    Cosmetics: remove empty comments and such

commit 8846bf25aebfbdcd47fb654d68786aa14e23de4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 12:20:12 2011 +0300

    Dont bother checking for NULL fd on stats collection
    
    - All the places calling these are already checking for NULL fd,
      no point re-re-re-re-re-checking it

commit dad8e55ee59fe22e1ef5787b472309d94ca3a2ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 12:19:22 2011 +0300

    Centralize most of the debug goo as well

commit c2a0a817778a89b29a1898ca7d3bf6a78803cfc2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 12:05:58 2011 +0300

    Just pass fd pointers around instead of "cookies" cast to fd
    
    - There's not a whole lot of point passing our own data structure
      around in void pointers and re-re-re-re-re-recasting them to fd's
      again all over the place. Just pass the damn fd to begin with.

commit 276e6403d33af785b8a5c97ee8f34485ed422a89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 11:55:58 2011 +0300

    Centralize fd digests collection
    
    - Instead of requiring every io type to remember to update digests
      on their own, do it centrally on Fread() and Fwrite().
    - This changes the digest calculation on writes slightly: previously
      we calculated the digests regardless whether the actual write
      succeeded or not, now we do this similarly to reads and only
      update the digests on success.

commit ed4afc609eb781f6483f15dc0d9bc4ecaedf65e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 11:46:35 2011 +0300

    Centralize fd stats collection
    
    - Instead of requiring every io type to call stats on their own,
      simply call the stat updates from the main functions Fread() etc

commit 289ba88b304f854c7ebfcb3678aff8f517c66fa0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 11:33:15 2011 +0300

    Eliminate unused leftover bytesRemain member from FD_t
    
    - This used to be relevant for remote io but now its just unused.
    - Also remove the "simulate EOF" on NULL fd returns while at it,
      these seem simply wrong (considering Fread() and Fwrite() behave
      more like read() and write rather than fread() and fwrite())

commit 4ce6bf989aa06d4922036b1348975e9181e74bcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 11:12:36 2011 +0300

    Minor cosmetics cleanup to Fseek()

commit bd7fbba62855d8c12ad618cdfe12ac4f6199e045
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 11:03:16 2011 +0300

    Return an error on Fread() / Fwrite() on NULL fd
    
    - Merrily returning success on read/write on NULL fd just is not
      sane. If something breaks because of this then that something
      needs fixing instead...
    - Also return code type was mismatching in both, these return
      ssize_t not int.

commit 6c7cfdd8aec709113375e9017f32b83c9c50c624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 10:22:33 2011 +0300

    Implement Ftell() for zlib versions that support it

commit b4da788fd22d3bec5093e899d4c7eb76d952fed8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 10:13:00 2011 +0300

    Add basic test for Ftell() in python

commit 61f5838aa849b8a75f7f08a33c868b518e1ccd44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 10:12:14 2011 +0300

    Use a vector for Ftell() functionality too

commit 4e7a9af8b62dd99d88ed3d02a06a5cd1dbe75bfe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 11 09:19:55 2011 +0300

    Remove pointless fdSeekNot() "not implemented" function
    
    - Fseek() and friends already return -2 for not implemented functions,
      this is not needed at all

commit d230d86168437b870c86cd962d28ad5e4ead9dc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 14:54:42 2011 +0300

    Add a simple test for Fflush() functionality in python
    
    - Prior to previous patch this segfaulted and tracebacked...

commit 501c6c4b2003deaf286a6853b26c92193bb8f8ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 14:48:54 2011 +0300

    Fix totally broken Fflush() operation
    
    - This only ever worked for fpio, for all other types it returns
      bogons or crashes and burns.
    - Use the file op vectors to find our fflush function instead
      of #ifdef/#endif if/else/ifelse jungle.
    - Notably fdio and ufdio do not have a fflush() equivalent because
      they dont need one. Use a dummy function to always return success to
      differentiate from -2 aka "not supported by this io type"

commit 3208913bdb201ab791f6b2b589d3d2ae3c87a5ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 10:43:00 2011 +0300

    Axe the broken fpio support for good
    
    - The whole thing is extremely hacky and failing to properly take
      fundamental differences in eg fread() and read() semantics into
      account (the whole rpmio fd is confused over this: Fread() claims
      to be fread() clone but reads behave with read() semantics
      and we dont provide feof() equivalent etc), special cased all over
      the io code when vectors exist for this purpose etc (not that fpio
      is the only offender in that regard)... RIP. Nothing should miss
      this but if we'd ever want to add it back, it'd better be done
      right at least.
    - This COULD silently break somebody's code if they rely on the broken
      special case semantics of fpio mode, but most likely rpm itself
      was the only thing using fpio (and relying on the behavior) and
      even then, mostly only to get a FILE stream pointer out of it.
      Now we'll just silently return a fdio descriptor, as we do for any
      unrecognized io mode... (another sigh)

commit 4b7e6cb79f5073fc42ae98e153668e574ebe0388
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 10:31:34 2011 +0300

    zlib is mandatory, fail at configure if missing + remove conditionals
    
    - Unlike bz2 and xz/lz, zlib compression is not tracked by any rpmlib
      feature and is part of the original package format really, zlib
      simply must be always present.

commit 9958e535fff7bd5d65fd4b68fab3fc1d40158f56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 10:20:02 2011 +0300

    Eliminate the last two fpio uses in rpm codebase
    
    - Both relate to reading manifests and it doesn't make the damnest
      difference what io mode these use as rpmReadPackageManifest()
      opens its own stream on the fd with fdopen() which works on
      any io type, not just fpio..

commit aaa40355e95057350e9e28f8e70b0d9a720f1dff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 8 10:18:53 2011 +0300

    Eliminate the uuugly and stupid fdGetFILE() from the API

commit a2d68d1ea3afa974f7038ab1cc434fd9551d1334
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 22:51:29 2011 +0300

    If we need a FILE stream then get one...
    
    - Replace the hysterical "lets see if the temp creation gave an fpio
      fd (it didn't), if not open another fd and then get its private
      FILE pointer" fiddling: since we need a FILE stream then open one
      with fdopen(), duh. Grabbing a rpmio fd to begin with is stupid enough
      when all we want is a stream, but wanting to use rpmMkTempFile()
      functionality...
    - Also fixes an fd+mem leak in the unlikely but possible case that
      rpmMkTempFile() succeeds but fdopen() fails.

commit a12aa47808d15376b6571303906829abb3027bf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 17:26:56 2011 +0300

    Take advantage of Fdescr() in rpmReadPackageFile()
    
    - If fn to rpmReadPackageFile() is NULL, use Fdescr() value to give
      more meaningful errors
    - Change a couple of places where we haven't got a clue of the file
      name to take advantage of the above

commit eb94de639491d33aea0ad50bf8f58d99f220c544
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 16:27:03 2011 +0300

    Teach python rpmio bindings about Fdescr()
    
    - Similarly to python file object having o.name, export Fdescr()
      as fd.name. Python uses <foo> for non-paths but [foo] seems like
      a safer choice wrt accidental redirections.
    - Also add a basic testcase for fd.name

commit 63d4926bf601797cbcdf4d5d99e8db4d2530d5ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 15:47:47 2011 +0300

    Remember path (or other description) in fd's, add getter
    
    - If opened by path, we obviously want to use that. Otherwise
      generate a description lazily on first Fdescr() call: on Linux
      we can grab something relatively meaningful by looking up from /proc
      (this is why we want to be lazy here...). If that's not available
      or fails, just generate a string on the current fdno. Actual
      paths are returned as is, other descriptions are bracketed,
      (eg "[mumble 123]").
    - This makes it possible to give more meaningful error messages in
      places where we only get an fd from somebody (related to RhBug:522160)

commit 3688b39cab92af6840d541c60582bd327954ff50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 13:55:16 2011 +0300

    Eliminate fdNew() from the API
    
    - Nobody should be able to create file descriptors which are not
      attached to a file/descriptor of some kind, the only sane
      fd constructors are Fopen(), Fdopen() and fdDup().
    - The same applies to fdFree() but its a bit more complicated,
      punting that till later...

commit 78c95448a16f0c766e1fdd34db861b8150335484
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 11:55:28 2011 +0300

    Further streamline & sanitize lead handling
    
    - Never log anything from rpmLeadRead(), instead return an error message
      the callers can log if they see fit
    - Add a return value for the lead type (which is the only bit of
      info from the lead we sometimes resort to using)
    - Permit NULL pointers on all return values
    - Eliminate rpmLeadCheck() and rpmLeadType() from the internal API,
      these are now combined into rpmLeadRead().
    - Fix up the callers: only (re)signing needs the actual lead,
      signature verification only cares if its valid or not and
      package reading only wants the type from the lead (annoying but...)

commit e156eac1c8d1703d311277d177ddc0ebba9b187a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 7 11:17:29 2011 +0300

    Only bother mallocing lead for return if read actually succeeded
    
    - Doesn't make much of a difference now, just paving way for next steps

commit 645c09034ce774fce99926074fde74ff72f699c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 12:53:59 2011 +0300

    Eliminate remaining assert()'s in rpmlead.c
    
    - Blowing up with assert() on freeing NULL is just dumb...
    - rpmLeadWrite() can easily be made to handle NULL lead gracefully

commit da53e0d66e70dc20762ef00b360783f6e818ee19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 12:42:56 2011 +0300

    Make rpmLeadRead() return an allocated lead, fixup callers
    
    - Requiring callers to allocate a lead "buffer" for reading into
      is just DUMB (greetings to self back in 2008, sigh). This avoids
      having to deal with freeing the lead in case the read failed, and
      allows getting rid of rpmLeadNew() completely.

commit 2a2979db51959368e8aecd1beafcbb9370aac10a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 12:09:21 2011 +0300

    Start beating a little bit of sense into the braindamaged rpmlead API
    
    - rpmLeadNew() should not populate the struct, only allocate it
    - The only case where we're creating new lead data is
      rpmLeadFromHeader(), move all initialization there, and add a comment
      for RhBug:717898. Also eliminate the stupid assert, we can
      easily handle NULL header here.

commit 9feb035066e66a5859d5dad656e5a7b905ed90b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 11:20:44 2011 +0300

    Add tests for header getattr() behavior sanity

commit 9d30318c0ad42e6a6c895d5a62bb209344d4f2da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 11:05:42 2011 +0300

    Fix the broken python header  __getattr__() behavior, take 13 (or so)
    
    - Tags as header attributes seemed like a nice idea at the time... but
      has been a PITA due to side-effects it causes, such as breaking
      getattr() use for "capability testing", eg:
          >>> h2 = copy.deepcopy(h)
          Traceback (most recent call last):
            File "<stdin>", line 1, in <module>
            File "/usr/lib64/python2.7/copy.py", line 172, in deepcopy
              copier = getattr(x, "__deepcopy__", None)
          ValueError: unknown header tag
    - Since we can't really go removing the brainded feature (somebody might
      actually be using it) try harder to fix it: if its not an actual
      attribute, save the exception we got from PyObject_GenericGetAttr()
      and if its not a valid tag either, restore the original exception.
      This allows cases like the above __deepcopy__ to work properly.

commit d686c9b9b24ac93d2eb1098ad3f98e85f7810a28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 10:22:01 2011 +0300

    Add __reduce__() method to python header object
    
    - This allows header objects to be pickled and also copied correctly
      with python's copy.copy()
    - Split the header to string-conversion into a separate helper function,
      used by the now largely unnecessary unload() method and __reduce__().

commit a71a7981cc9f7c8f107e5a14c51e1963375da5b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 6 08:16:12 2011 +0300

    Revert the ds, ts, fi and spec python object creation commits
    
    - Hasty push-finger syndrom, while its not exactly plain wrong to
      do things this way, it doesn't really make sense for these types
      either. Python's own file object permits reinitialization though,
      so leaving rpm.fd() the way it is now.
    - This reverts the following commits:
      d056df28c38e602d82b4f9b527c686037074e660
      3f77c3146da46a49f44b17fa66139fbe2dd9e45c
      7214b2e0a271b7a7b3df312c58593878cbf56504
      dc50fb2863c81159fb4cc8b25ce3862720c0cce5

commit ba2401f74620618ee7d3161888be71328f6e3c4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 5 22:46:18 2011 +0300

    Bring back c++ "protection" to rpmsq, oops
    
    - The beginning of c++ extern block went with the dishwater in commit
      269df02ae1fc3955bee4e5f471b1172c04c714e2

commit d056df28c38e602d82b4f9b527c686037074e660
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 14:39:19 2011 +0300

    Fix/sanitize rpm.ds python object creation a bit
    
    - Move all actual initialization work into tp_init, permit
      reinitialization without leaking and use PyType_GenericNew for tp_new.

commit 3f77c3146da46a49f44b17fa66139fbe2dd9e45c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 14:25:47 2011 +0300

    Fix/sanitize rpm.ts python object creation a bit
    
    - Move all actual initialization work into tp_init, permit
      reinitialization without leaking and use PyType_GenericNew for tp_new.

commit 7214b2e0a271b7a7b3df312c58593878cbf56504
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 13:37:48 2011 +0300

    Fix/sanitize rpm.fi python object creation a bit
    
    - Move all actual initialization work into tp_init, permit
      reinitialization without leaking and use PyType_GenericNew for
      tp_new, eliminate internal rpmfi_Wrap() use.
      There's one user for rpmfi_Wrap() in rpmte-py.c which needs fixing
      later...
    - Remove unused fiFromFi() helper function

commit dc50fb2863c81159fb4cc8b25ce3862720c0cce5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 12:55:53 2011 +0300

    Fix/sanitize rpm.spec python object creation
    
    - Specs are not really immutable, move the initialization work into
      tp_init and use PyType_GenericNew for tp_new since we're not
      doing anything special there.
    - Eliminate the stupid spec_Wrap() thing and hide specPkg_Wrap()
      out of side (TODO later...)

commit 3464e60aa8635b63213e65724e19d263b9c6645d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 12:33:55 2011 +0300

    Add a simple and stupid test case for python spec parse

commit f4a07884848369513f8e258d32ce2bf4c229206e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 12:08:04 2011 +0300

    Fix/sanitize rpm.fd python object creation
    
    - FD's are not really immutable, move the initialization work into
      tp_init and use PyType_GenericNew for tp_new since we're not
      doing anything special there.
    - Remove half a dozen different unnecessary exit points

commit cb84c0db42db105116072cb71d89152e885e2e2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 11:19:02 2011 +0300

    Fix the totally broken rpm.fd() read method

commit 3c10bcbe72d12c4b9f12838c5ab09da539350855
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 1 11:14:26 2011 +0300

    Add basic test for rpmio python bindings

commit 09efbe9656bed123dcfb240a7d94906b981a65d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 28 13:01:59 2011 +0300

    Fix explicit directory %attr() when %defattr() is active (RhBug:481875)
    
    - parseForAttr() doesn't know whether it's dealing with a directory or
      a file, so it can't know which defaults it should use.
      Move all the decision making on which of the explicit/default/implicit
      attributes into addFile() where we do know what kind of entry we're
      dealing with, and only parse in parseForAttr().
    - Update the test-case status to expect success now.

commit b11647214853dbc877972a91ebee116aa32d5bfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 28 10:34:13 2011 +0300

    Add a test-case for various %attr and %defattr combinations
    
    - Currently this fails expectedly due to RhBug:681540 on the last
      directory of the test rpm.

commit 5cd1e56cd28ee18ab863951bc242e99e42d85a1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 28 08:37:41 2011 +0300

    Enable GLOB_ONLYDIR of the bundled glob() on platforms that support it

commit 23167c3ea459405c98d8e759993efb6d9b1ea7f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 27 14:52:22 2011 +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.

commit 65e88045ba80b175418b865fe4c4a88d48c00189
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 27 14:09:17 2011 +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...

commit aedbf1d63f94cee312b283503c8deb1ede1895a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 27 12:41:39 2011 +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.

commit 7cc0fc99c582f415da3380539fb620592bfc4b00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 23 09:47:10 2011 +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.

commit feb3f8d2376e94acf87f1c53df9b985ca7fad515
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 21 16:27:18 2011 +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...

commit 7b10f552dc83cf4350a54758ce4d1e5581759540
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 21 14:53:05 2011 +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.

commit a91dd90e6fce4745f164ad1feac6f1b4c929f657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 21 14:43:03 2011 +0300

    Eliminate redundant special docs tracking members in filelist

commit 2c7f83867cffcdc7d11a0fd60599f6153be829fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 21 14:33:48 2011 +0300

    Eliminate unused fileCount member from FileList struct

commit 9d440c488b27a112232ebf4d4ea2f3b4462a910c
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Jun 17 16:40:20 2011 +0300

    Add DWARF-4 support to debugedit (RhBug:707677)
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 1e1bd6709a675ab77b539d2260a8ccc2ec34bc43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 17 14:25:44 2011 +0300

    Avoid extra newlines in parsed spec output outside preamble

commit c881ee9e81c35f5a4733c5797e50aaabb1c7d1d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 17 13:53:43 2011 +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.

commit c38504c4ba539ccbfb37edccc0cc0ad3cdae58b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 17 13:44:39 2011 +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)

commit 7e067c3ed912b95109cdbe6b03648433edfc9e0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 19:21:54 2011 +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.

commit 01b9b4048180ce28ccfceca91a7e5682e0611846
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 12:26:42 2011 +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.

commit a324a53527e4ecacabc33a73cfcb4c572aaefa2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 16 08:48:57 2011 +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).

commit 2f6bfc99d01df941f6aaad8497150f82eeb75311
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 13 11:52:54 2011 +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.

commit db4905f51eb80b55c408e3a659bab6b4ec5d9e3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 10 12:08:45 2011 +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.

commit aa6fd62222ae13f84b65e919aa381a259244f0dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 15:13:46 2011 +0300

    Add bunch of further rpm-python tests for this and that

commit 9c5eab023a12f21a01fbe11e089c7eb8e9285a89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 14:25:37 2011 +0300

    Eww, python ds.Instance() doesn't take any arguments
    - ...means its been broken all along, sigh

commit 62bcf28ca442a77ec90a4fd13cf1280b4ab4d713
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 13:44:10 2011 +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...

commit 9ba42047d8a35c22c7f6e0d40ee6b468f17803c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 13:19:14 2011 +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

commit 211bc3d356ccbbc2b1026015d32e21986f6a95b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 12:45:42 2011 +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.

commit 087c995b76a48fc136a2e3b4f22bb63b7369125f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 12:38:53 2011 +0300

    Use dbiCursorGetToSet() for the non-keyed match-iterator case too

commit efe91c1c3799fc77b0747e84715eb784e2f4b80d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 11:33:38 2011 +0300

    Support set append in dbiCursorGetToSet()
    - If called with an existing set, results are appended. Otherwise
      return a newly allocated set.

commit e07c86c6292d7b490abe393c90714cacc833820f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 11:32:39 2011 +0300

    If key not specified, use DB_NEXT cursor mode (DB_SET wouldn't make sense)

commit f8c35a5768d6815a67d14bf0045ee0dd180a6798
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 11:26:32 2011 +0300

    Only honor keylen if keyp is also specified

commit 64cbf9dac92599aa967cdc34babf006644b29ef2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 9 11:07:21 2011 +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

commit fa8684da9200c6b1e2a1d3686f55de915fc9f545
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 19:01:13 2011 +0300

    Move the remaining DBT's in rpmdbInitIterator() to (more) local scope

commit 7e4415fcc5e11cfd4cd9d0dfe19568be73f15d74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 18:59:20 2011 +0300

    Error/notfound case is handled the same for both these cases

commit 2957dceff962728a87edc45b349e22be87ed2c74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 18:52:30 2011 +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.

commit 0d9fec8e6783006c0e62d31d4a28c4c6d35eca29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 18:46:45 2011 +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.

commit 01ca714f38e97ee36226630fd37c5cc0406acb0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 18:44:39 2011 +0300

    Add cursor method for retrieving the underlying db index handle

commit 04f92944130acfd4941129eb6b980c5aab99308a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 14:53:36 2011 +0300

    Add tests for the most common nvra query combinations

commit b25d341878bff1351d5f22cf6580554255e0dab2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 13:33:41 2011 +0300

    Use dbiGetToSet() in rpmdbFindByFile(), lose now unnecessary arguments

commit 563c53f96af0407b01e4bc5e73c2237f879bba6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 13:27:35 2011 +0300

    Use dbiGetToSet() for the common case in rpmdbInitIterator()

commit 224d1690e76724ba1fc4756aac23106dff90fab9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 13:15:02 2011 +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)

commit 81322e9742fc8b66fb23255ee35ca98e485ff3d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 13:02:28 2011 +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

commit c33ccb71c9226921c4732660e9b408e454c08a4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 12:52:12 2011 +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

commit 5922cc4a0a7e308bbe5e4721bac0383f4b08c8a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 12:32:48 2011 +0300

    Rename dbiFreeIndexSet() to dbiIndexSetFree() for naming style consistency

commit 014063bf3cc2b268292b50dfffc004683ae840fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 11:57:14 2011 +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

commit b09781f4b9f359b9e48dc816b22cf9c4f8e5681a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 11:48:37 2011 +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

commit 5de50d2e74dff1622eb426a0982b213abf46c883
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 11:00:40 2011 +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.

commit 2305f5cd58bb92f2fe6e1cabc1b1ef7e22f05dc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 10:06:15 2011 +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.

commit fb3412e80b52b19d51557b81b318b85f785acffd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 8 10:01:14 2011 +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.

commit bc059725442a69594878b8fa182c8495ca27df59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 6 13:10:32 2011 +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

commit 1bdfeb3fb5c4ecba448e238fce85c56a3d5f127a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 6 13:09:15 2011 +0300

    Cosmetics: function blocks start on a new line

commit e2f879fedc59b6b64d30cf8186a457521ead8e81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 13:29:03 2011 +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.

commit d6787a84894dbf359fd179b16e0302394203736d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 12:40:55 2011 +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)

commit 6acef96d9e1eddb588e24f924f6cf9d29ea48d64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 11:31:55 2011 +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

commit 030e54a666953ee7ba4fee210887d82eb21d4bcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 10:00:04 2011 +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"

commit caa23a97729e7a6e15f26c0722f9ba0e773d3b6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 09:35:47 2011 +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.

commit 24229947e8302c6243e6124808b418728094adb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 1 09:01:24 2011 +0300

    Reset cli configured flag on rpmcliFini() (RhBug:709421)

commit 2749a6b8926c4cfd57194df84122981d537d6d17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 15:32:44 2011 +0300

    Cleanup rpmpsmNew() and rpmpsmFree()
    - Remove redundant checks and other fluff, including dead
      NULL-assignments on free

commit 86b5c818e0f58d589d9e8955a2b34062abfb521a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 12:43:15 2011 +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.

commit c295b772f3c564e6b3d1d16ce7df39f6fc9e1198
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 12:35:18 2011 +0300

    Remove dead NULL-assignment before reassign

commit 5006b8fbce0e9286fd79b26889c64f0884f555d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 12:27:58 2011 +0300

    Remove superfluous localtime() call
    - The tm pointer is reset to localtime(&when) before accessed,
      this is nothing but a dead call and assignment

commit 59b934f425e651dc546530bd167dc1f50e3e9347
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 11:57:45 2011 +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.

commit bd4fc3088451b9aec63bfd75478ceb43ae80de59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 11:38:38 2011 +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

commit 6c391a88fa9914cdabef6f7b1ced63f23ab9ceca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 10:38:17 2011 +0300

    Use popMacro() when freeing the entire macro table
    - We already have a function to free macro entries, use it to
      remove code duplication

commit a5eefce1bfa098a7c6bd03f20c7d53e48a93e9e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 09:02:29 2011 +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

commit 695380d914e229c2bb7de00591027a0b2c30b18e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 08:59:21 2011 +0300

    Return an explicit NULL from dbiFree(), remove dead assignment

commit 31fabc4d035af1b230184e52276cb793ec92721c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 31 08:38:09 2011 +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

commit da642c3130aa6cc3c7edc92e7273dcfe3100b3eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 17:13:51 2011 +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.

commit 2a60e63cf00ff736324f5e0fcd5a27a9dfb29e68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 15:54:16 2011 +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()

commit f67c47b856b0861e47629b13fce58b38afcdcc7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 15:50:29 2011 +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.

commit e4203f1a63cc1757c5c3c9d4f63a45f098b29544
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 12:38:13 2011 +0300

    Eliminate dead assignment(s) on rpmfsFree(), memset() wipeout instead

commit 11a7d407954965a27223ecc0974d7eba59d524e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 12:37:06 2011 +0300

    rpmgiFree() cleanup to remove an exit point and dead assignment(s)

commit 77a7bfed02787873fba3a4b0a3c831353de3d6cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 12:25:04 2011 +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

commit 7c75179e46a77a3d5c662ea6a19644cc8d220588
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 12:12:24 2011 +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

commit 2d46bfbfd98a73073708db6068c77f31312e96d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 12:04:18 2011 +0300

    Return explicit NULL on sepoltransNew() failure

commit e996d917eec167d12f158af7156ebc8c40825a8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 11:45:41 2011 +0300

    Remove possibility of abusing freed iterator by moving to local scope
    - Eliminates another dead NULL-assignment + makes it "safer"

commit 50435cefaaaa2401fc4022292ffb98d9c1ef92fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 11:25:51 2011 +0300

    Eliminate obvious dead NULL-assignment at headerLoad() error exit

commit ecd49023baf820dc444e98cf9ff15e7c13f7e03e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 11:22:30 2011 +0300

    Eliminate dead NULL-assignment on lua scriptlet execution
    - alloc the luavar on entry, free on exit to remove any abuse
      possibilities

commit b296ddb8406e56adce0faa7003d3bddecddf7626
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 11:00:31 2011 +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...

commit a25c3c7bac95ab7eb55f0ecf0b8793d8da341611
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 10:44:43 2011 +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

commit 5b2c322887ee2309ce7bd7fe2c055e0968225eee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 30 09:36:03 2011 +0300

    Eliminate dead NULL-assignments at scope-end in main cli utils

commit 6bd2b43e9c90637380169992f48e278824139987
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun May 29 13:10:42 2011 +0300

    A few more dead NULL-assignment eliminations in low-level header code

commit a636095bedbe7b911a86f7ad60a99d418b7a3b89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun May 29 12:03:56 2011 +0300

    Move db cursor to local scopes, remove dead NULL-assignments

commit 2a9a150290c15f0788e484f3c8e87d3920d6cb4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun May 29 11:52:17 2011 +0300

    Eliminate dead NULL-assignments at scope-end in librpmsign

commit b1597da353522a0ba7581766f31d8fbd5272ac66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:30:41 2011 +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

commit 7c036b9ca33c67fa8530d886e2072e264fcba6df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:29:58 2011 +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

commit d26080fa88d695396068543c7be88c9ffbf2307c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:28:53 2011 +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

commit 9f72c7f2cda74172bfe5c6c558f4c20b783ad115
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:26:39 2011 +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

commit e7b55f61a984de68dbe67aad702b845ed4eeff15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:24:37 2011 +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

commit 738d05bb1b38a38adada959dbc1188bc673cb5f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 22:12:37 2011 +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.

commit 22a659b434fbc256591c0a5bac614a7460001c21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 19:45:07 2011 +0300

    Eliminate dead NULL-assignments from rpmio fd close functions

commit 182e9f8a64712b682db604e03aafa2ffe3c82e21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 19:43:52 2011 +0300

    Eliminate bunch of obvious dead NULL-assignments around librpmio

commit f1c46157fbca4d29639e8602b4e0de02e33489d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 19:42:54 2011 +0300

    Eliminate dead NULL-assignments on argvFree() and argiFree()

commit e9d966a868f5dedf96a3086e0566c83a6a3446f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 17:30:16 2011 +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

commit fb4995197074939403328418736130d5df377ea3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 11:34:51 2011 +0300

    Remove pointless variable and a dead assignment to it

commit 0101fed0a0b7aef92b8ff3393590a53f03e2facb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 28 11:30:55 2011 +0300

    Clean up checkFiles() a bit
    - Initialize variables on declaration, eliminate dead rc assignment

commit ad992243e4c75cfc8a70dde3955939575b1b297d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 16:46:23 2011 +0300

    Eliminate bunch of obvious dead NULL-assingments from misc build parts

commit 41a24d3522503052d38a22290e82a15616908f65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 16:27:34 2011 +0300

    Rip hysterical hoop-jumping on spec/pkg cpiolist freeing
    - Just call rpmfiFree() directly, wtf?

commit 7d3cebfb925d3c3b435c8fa868ad374c9b947450
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 16:20:45 2011 +0300

    Eliminate dead NULL-assignments on parsePolicies() exit

commit 786d7135dc48adca914c8eddcb2afd3bf8d68cf3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 15:49:09 2011 +0300

    Eliminate bunch of obvious dead NULL-assignments from build script code

commit cf75fec10b4fe9205e83a95bd923ec5348f6ea13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 15:38:54 2011 +0300

    Eliminate bunch of obvious dead NULL-assignments from rpm generation

commit 5d73bbbc3c673c11cda60098e1a3370b581cf704
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:44:03 2011 +0300

    Eliminate dead NULL-assignments in parseFiles()

commit c43cea23e03552feee8bb3a6330c8c9931afa1ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:37:44 2011 +0300

    Eliminate dead NULL-assignments from rpmSpecFree()

commit b07cfa33659047de8992c202d6b199e5625afbc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:35:14 2011 +0300

    Eliminate dead NULL-assignments on OFI frees on spec parsing

commit 45522ad7f0f22f0023f40cf4acabd4ab51011c47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:25:59 2011 +0300

    Move build restriction header copying to local scope
    - Eliminates accidental use of the variables, eliminating any
      need for NULL'ing the iterator

commit 36538f6228abc8cd76d76f3bc7bab9d224217e1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:12:55 2011 +0300

    Clean up + plug memleak in parseDescription()
    - Eliminate dead NULL-assignments of local variables on exit
    - Move stringbuf free to exit, previously error on readLine() leaked
      memory here

commit 8f5fad23d3c66e9c1ea4687265e64983fe87edd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 14:10:51 2011 +0300

    Eliminate dead NULL-assignments on exit from parseScript()

commit 9e014460598b10004ff7f9252411a804c32d6ccc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 13:59:05 2011 +0300

    Clean up + fix memleaks in readIcon()
    - Assume failure and use single point of exit where all allocations
      are freed without dumb dead-assignments. Also fixes a
      leak from icon allocation when Fread() fails.

commit 40f74c9a6d46d92a8c869a1ccd53a642382621ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 13:53:36 2011 +0300

    Eliminate bunch of obvious dead NULL assignments in preamble parsing

commit 4df6fb0e2448628d001a2634d7f8d5013fbd777c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 13:45:58 2011 +0300

    More dead NULL assignments of local variables in filelist processing

commit f67c08135711a92a3eebfe08eab00611ba9741d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 13:33:00 2011 +0300

    Eliminate dead NULL assignments on processMetadataFile() exit

commit 27bc43f53e87da853a006cfc8165b04b36160e56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 13:25:32 2011 +0300

    Minor cleanup to doUntar() to eliminate dead assignments on free()

commit c7cbbe45d38431651d4c3bbc4ba874b926b68259
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 12:50:54 2011 +0300

    Clean up rpmfcGenerateDependsHelper() (aka external depgen) a bit
    - Remove redundant NULL check, rpmfiNext() handles it
    - Move variables to local scope(s) from function scope where
      appropriate, remove dead NULL-assignments on free
    - Log the "Finding ..." messages /before/ executing the (possibly
      long-running) dependency generation helpers
    - rpmExpand() never returns NULL, don't bother testing for it

commit 9267bdb55844af8c896167cd8c370c2476e940a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 12:36:47 2011 +0300

    Eliminate a few more dead rpmdsFree() NULL assignments
    - No real chance of accidental misuse of freed data here...

commit fb50c97efa2db8a7d490cabf133cefb9698597a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 12:31:01 2011 +0300

    Don't bother NULL'ing everything on rpmfcFree()
    - Replace umphteen dead NULL-assignments with a trash-n-burn memset()
    - Since we're already testing for NULL, dont free NULL fc (not
      that it matters)

commit b407f544e2daa0b32db364abc9940af649268a94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 12:23:55 2011 +0300

    Minor cleanup to rpmfcExec()
    - remove redundant xav re-initialization
    - dont bother NULL'ing local variables on exit

commit 7ea68bfddedf31621458911f6ad377cbb79ceb4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 12:09:15 2011 +0300

    Minor cleanups to rpmfcGenerateDepends()
    - init genConfigDeps on declaration
    - remove redundant NULL-checks: rpmfiNext() and rpmdsNext() check
      for and handle NULL cleanly, no need to test here.
    - remove pointless local fileattr variable

commit e646a6908fd2f4b529108f60a9e80affb3b756d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 11:55:31 2011 +0300

    Eliminate some dead assignments on rpmdsFree()
    - Move ds declaration to local scope so there's no chance of
      accidental use of already freed data, ds is not needed at
      function scope.

commit f7694592e5afcb4ad362410318205b2f1c72c9f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 11:52:27 2011 +0300

    Add a helper function for creation namespaced dependency sets, use it

commit 74a40e4fa9f7f45781ab5abc5a9a9a4721b5abb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 11:23:37 2011 +0300

    Minor cleanups to rpmfcHelper()
    - If runCmd() returns NULL there's no point in further processing,
      rearrange things to avoid extra work in that case. As a side-effect
      this also silences a false-positive NULL-deference warning from clang.

commit c5c6cdfed79033cf20c4c67ee15a531ff1a04714
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 11:05:15 2011 +0300

    Eliminate dead assignment, early exit means failure already

commit e9d5e372cd5291f317331cbe6e4e68b18823538c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 10:59:44 2011 +0300

    Cosmetics: rewrap/indent to fit 80 columns

commit dafb0d7fb0dd3b0a1fe918fd65c24341e8bb7469
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 10:45:28 2011 +0300

    Sanitize handlePreambleTag() error returns
    - Single point of exit, assume failure. There are plenty of calls
      here which can fail, each with different int/rpmRC return code
      styles when we simply want an RPMRC_OK/RPMRC_FAIL for the return.
      Also eliminates some dead rc assignments.

commit 6123adcb45100cf6f4dbe88d8525c832747fda06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 09:59:55 2011 +0300

    Eliminate a couple more dead increments in spec parsing code

commit 692d7730d191c3c40d2dd98fb8a099bb674cced4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 09:47:38 2011 +0300

    Eliminate bunch of dead increments in spec filelist parsing

commit 9202f7daa6ba98b55fdd8478aa6e4680f8ab3e23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 09:40:23 2011 +0300

    Clean up rpmrc include processing a bit
    - Eliminate pointless switch-case when we only care about one
      possibility here. Also eliminate a dead-increment which becomes
      more obvious now with the surroundings unobfuscated.

commit e425e75311d0c6f6e12ea24d84d2f01759de46f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 09:35:22 2011 +0300

    Eliminate two dead increments in rpmrc platform processing

commit c499a0b912629eeeabc3554d3e3a95c088e96422
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 27 09:02:38 2011 +0300

    Handle readlink() failure in genCpioListAndHeader() correctly
    - It might be a rare condition but it /can/ happen, and previously
      that would cause '\0' written out of bounds (at negative array offset).
      Also leave room for the terminating '\0' at the end of buffer when
      calling readlink(), previously a link exactly the size of buffer
      would've been silently truncated.

commit a925a16f5b4206e8bef4b5f5e3742bf1d1f75809
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 26 14:24:46 2011 +0300

    Add test-cases for three RhBug:705115  scenarios

commit afe6aa0fd35e072289f5a04f71ddea58c6d34856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 26 14:01:34 2011 +0300

    Add tests for multilib file state dependencies
    - Testcase for the file state consideration implemented in commit
      566a15c9c08aa593d05e2f55f1c171a48bc1b1bc

commit b40fe69c3b15d24f1c18a5a2b9805e2d8ac27870
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 26 13:49:38 2011 +0300

    Add two basic multilib conflict resolution tests
    - Add colored binary packages (as there's no guarantee we can build
      them from test-suite), test that colored conflicts get resolved
      to preferred color.

commit 75a0d6dcf4a571ddea3857e9e24e3fecc136defd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 26 14:16:14 2011 +0300

    Colored conflict resolution part II
    - Same as commit 7bbc9b073d9204f6ffb8a1091c189b80029d27a9 but
      within the to-be-installed set

commit 7bbc9b073d9204f6ffb8a1091c189b80029d27a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 26 11:40:55 2011 +0300

    Both files must be colored for multilib conflict resolution (RhBug:705115)
    - File conflicts should only be resolved to preferred color when
      both files are colored. Prior to this we would happily overwrite
      scripts with a clearly conflicting ELF binary.

commit 40a7e19fbe3a7d040e8b13e6d6e9ac567c56cf04
Author: Mark Wielaard <mjw@redhat.com>
Date:   Wed May 25 15:44:42 2011 +0200

    Add -r flag to find-debuginfo.sh to invoke eu-strip --reloc-debug-sections.
    - This is a new option to eu-strip that strips out/resolves relocations
      between .debug_* elf sections in ET_REL files. This can save a lot of
      space for kernel module.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e040a126a01edb4950bc8ef6a93e5ca18070c194
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 25 14:52:39 2011 +0300

    Disable all scriptlets and collections centrally on --test and --justdb
    - These are already taken care of in other places but they're littered
      a little bit of here and there, eg in case of collections these
      modes are only skipped deep down in the plugin code. This should
      make the intended behavior more obvious upfront.

commit 563f7c0dad5a748e1861f92087044d780787c766
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 25 14:26:51 2011 +0300

    Permit %verifyscript from non-installed packages
    - Verification from non-installed packages can be useful sometimes:
      http://lists.rpm.org/pipermail/rpm-maint/2011-May/003015.html
    - %verifyscript is unlike all other scriptlets so might as well
      take some shortcuts and bypass rpmteProcess() & all, just
      create a lone rpmte, force the header we got and call rpmpsmRun()
      directly on it, bypassing rpmteProcess() which is only an
      unnecessary complication here (based on patch by Michael Schroeder)

commit 099f09de45cb7c241980da4e8cde7de61f5c1936
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 25 14:03:57 2011 +0300

    Don't run collections on script stages like %pre/posttrans, ugh.

commit d885361c84525c5af468204f936993763cca0e6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 25 10:20:45 2011 +0300

    Issue an error on failure to replace original package on signing
    - Previously any failure on replacing the original package with the
      newly signed one would silently fail, causing rather confusing
      behavior when eg attempting to (re)sign readable but not writable
      packages.

commit ecfece7ec0d0eb0485745568d10dabc428e92824
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 20:28:16 2011 +0300

    Add support for nested Lua macro expansion (RhBug:490740)
    - Lift the printbuffer accounting out of rpmlua into a struct of
      its own (Funny thing, this looks a whole lot like the macro
      expansion buffer and Good Ole StringBuf Brothers ... Boys ... Mam.
      Unify them one of these days maybe)
    - Replace the simplistic on/off printbuffer with a stack of buffers,
      fixup the lone caller to use the new internal push/pop API.

commit 48b5879931ef2ef3039b22123d6aaad17657618e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 19:59:36 2011 +0300

    Plug a memory leak on Lua rpm.expand()

commit fe2167ead95a394d97476baf1a35a4037d3ff202
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 17:23:37 2011 +0300

    Bail out of debuginfo if stabs format encountered (RhBug:453506)
    - The previous "silently ignore" policy produces bogus debuginfo
      packages on some architectures and fails with other mysterious
      errors on others, better just fail hard until (if ever) somebody adds
      stabs support.

commit fa053f4dd853a2f6e1451539c2d69e3e5c882553
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 16:55:31 2011 +0300

    Fix %prep parse error to abort build
    - Previously in some cases parse error in %prep could emit an error msg
      but still continue building due to error code bogosity. Clean up
      the mess a bit: assume failure and actually return the res(ult) we
      calculated instead of nextPart.

commit af0e201fbdfaebed4533b97624c506f54c949668
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 15:42:27 2011 +0300

    Cosmetics: remove redundant/empty doxygen markup, comments etc
    - No functional changes.

commit 9adb2d3fccc6a85eb37f7b9709ca4028fce636e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 15:38:33 2011 +0300

    Remove unused length return variables on doHeaderUnload()
    - doHeaderUnload() is safe to call with NULL lengthPtr, the length
      is only of interest to headerRead() and headerWrite()

commit b5d54b35d4bc2745b73f4b75bdebed36abce7ed1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 14:07:12 2011 +0300

    Handle HEADERFLAG_SORTED bit correctly in headerUnsort()
    - Within rpm there's exactly one caller of headerUnsort() which has
      kinda taken care of re-sorting the header on exit, but only if it
      returns successfully, meaning the header sort status could've been
      left in inconsistent state with implications on consequent
      operations on that header. Also this is part of the public API
      yet callers have no chance of adjusting the flag when they call it
      (and why should they).
    - Also dont bother sorting if the header is already in unsorted state.

commit f444e21be0bc644254c5f59310de3cbdbe924f1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 24 13:47:25 2011 +0300

    Return explicit NULL on errors + frees in header code

commit 78a6cf6fbf047c5bf0066df21792e4c9925d04a0
Author: Michael Schroeder <mls@suse.de>
Date:   Tue May 24 08:51:56 2011 +0300

    Do not die on empty changelog section
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 00a9450edb3853d438e2f4d462a3f6b42719cbc5
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 23 14:11:43 2011 +0200

    Distinguish between macro primitives with and w/o arguments
    - do argument presence checks only for those requiring arguments

commit 52fe6f978c7027a193c222e7b826b4a6bbab3fc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 23 13:40:39 2011 +0300

    Add support for fileattr dependency namespacing
    - This allows automatically wrapping generated dependencies into
      macro-expanded namespaces, eg foo(depname) by specifying
      __attr_namespace in the file attribute definition.
    - Current generator scripts hardcode their namespaces but doing this
      on rpm-level gives extra flexibility eg when building for alternative
      versions/environments and frees generators from having to take care of
      the formatting.

commit 15dc6ebc307fddb47fea6760fa36384ae47fc3c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 23 12:32:27 2011 +0300

    Whoops, flags needs to be sorted for argvSearch() to work correctly

commit c6e81eeff96666a6f4942b2dd97f83beb584a026
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 23 11:11:43 2011 +0300

    Unify fileattr include- and exclude-rule handling
    - Handling both rule-types identically not only makes things more
      consistent but also adds exclude_flags support practically for free:
      "exeonly" and "magic_and_path" are usable for excludes too now, ditto
      for any other flags that might be added in the future.

commit d9d1a1bdad3e6b746593c37121e62a0ddf1b4d8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 20 15:20:49 2011 +0300

    Don't fetch missing sources on spec query

commit 3a102207154bc9e695d8875d6f01fd98fc8783c7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri May 20 13:55:04 2011 +0200

    Unbreak %if, %if(n)arch, %if(n)os handling
    - having those expressions without argument is no more allowed
    - white space between expression and argument is mandatory
    - rpmbuild no more confuses %ifabcd macro with %if abcd
    - fix criptic message in case of invalid %if condition

commit 3d657d5cc22652c71bc15a56b6b4462e228526d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 20 10:05:02 2011 +0300

    -D is for --define, not --predefine (RhBug:706161)

commit f17e10f870aa9f2bf6b9e2408088dfd6b2372644
Author: Michael Schroeder <mls@suse.de>
Date:   Thu May 19 14:55:55 2011 +0300

    Support "magic_and_path" flag in fileattrs
    - Allow "magic_and_path" flag to configure that files must
      match both regexpes to be sent to the dependency generator.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e0213a13dff02f54e071d22b07356ee459bf1a27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 19 11:08:07 2011 +0300

    Remove redundant NULL checks
    - Fclose() handles NULL by itself, no need to check in callers.
      Also no need to NULL'ify the local variables here.

commit 63ee1e735aac4b8cc6e5c1e80c616215cd241bf3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 15:53:54 2011 +0300

    Fix error handling in payload copying
    - Lift the payload copy into a separate helper function to clean
      things up a bit
    - The code to handle read errors was unreachable before this,
      causing any read error (rare as they might be) to be silently
      ignored and package generation considered successful.
    - This could/should perhaps use ufdCopy() instead but that ha
      its own set of problems (not clean wrt large files, error reporting...)

commit ab3337e4f6a3e0f1c5587890520d0e5bb4ad9569
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 15:11:42 2011 +0300

    Eliminate dead cpio_copy() + related stuff
    - These code-paths cannot have been hit since readRPM() was
      killed, mop out the leftovers

commit 7c3148c539e8258141aec71ab9d0dca889955ff1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 13:37:18 2011 +0300

    Update translations to pick up changes from the script file cleanups

commit 96bfbe0486a2f488a6b44f396f8f812c330b1d91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 13:23:29 2011 +0300

    Further simplify & cleanup script file (error) handling
    - Simply always call addFileToFoo() and handle no scriptfile condition
      as early success case there (and allocate sb only if actually needed).
    - Consolidate error logging into addFileToTagAux(), removing the need
      for umphteen nearly identical rpmlog error messages + related logic.
    - Eliminate the now pointless addFileToFoo() wrapper functions
      and just call the main thing directly.

commit 4030d4b9d9160371f00a01971c61894eac2e18c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 12:47:50 2011 +0300

    Clean up addFileToTagFoo() helpers
    - Centralize the work into addFileToTagAux(), turning the other
      two helpers into dumb wrappers with the only difference being
      append or no append. This simplifies and clarifies the exit
      codes, stringbuf allocations etc a good deal.

commit 4cc33f06700f7048107256a05228e4f9d094bc64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 12:04:12 2011 +0300

    Minor cleanups to cpio_doio()
    - Remove redundant rpmtsEmpty(), this is done from rpmtsFree() anyway
    - Dont bother NULL'ing local variables at exit

commit 765cbedce448f0e65741de673ea1cd271b4f6011
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 11:55:59 2011 +0300

    Simplify rpmio flags handling in writeRPM() / cpio_doio()
    - The payload macros are already expanded in writeRPM(), no point
      re-expanding in cpio_doio() and handle fallback to default gzdio
      in writeRPM() already in case the payload is not set in config
      or is bogus. Also rpmExpand() cannot return NULL so there's no
      point in checking for that.

commit fc56d98f5d640295ff031ea1dcb368e2e3eaeece
Author: Tero Aho <ext-tero.aho@nokia.com>
Date:   Wed May 18 11:10:09 2011 +0300

    Plug a minor memleak on writeRPM() error paths
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 0b36a1f18eda7a076ad1cf4553f93fe8f683d70d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 10:59:54 2011 +0300

    Eliminate bogus ferror() checks
    - fopen() returns NULL on errors, never an opened stream with error
      flag set. These are leftovers from past where rpmio fd was used
      instead of FILE and probably the checks were bogus even back then too.

commit f4c79584d01c6394544c86c122d2f32f77a1d02d
Author: Michael Schroeder <mls@suse.de>
Date:   Wed May 18 09:04:40 2011 +0300

    Always copy macro source when expanding it
    - A macro can undefine itself, and unless we grab a copy of it we'll
      end up accessing already freed memory. Fixes a regression from
      commit ebc4ceaaeb8bb59019f4635471b28eb5f3eaaaa6 which assumed
      a copy is not always needed.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4f3aa7327083005ebc4fce90e517fc57cce5af3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 18 08:28:07 2011 +0300

    Empty transaction is not an error (RhBug:699929)
    - Empty transaction just means we have nothing at all to do,
      but it's not an actual error.

commit 09d554da62ce84823849138a55a2ba0e72dd17f0
Author: Michael Schroeder <mls@suse.de>
Date:   Tue May 17 15:46:54 2011 +0300

    Do not abort if chown/chmod fails but the file is already correct
    - This small patch makes rpm not abort the installation if
      chown()/chmod() failed but the files already have the correct
      ownership/mode. It also allows a failed mtime update on directories.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 39800e901e2258685d1fc34e1e9a7b8a058e11ce
Author: Michael Schroeder <mls@suse.de>
Date:   Mon May 16 11:57:44 2011 +0300

    Fix segfault on build with empty %prep section
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 4357fa98c92f123320421dba80dcd10379e98475
Author: Michael Schroeder <mls@suse.de>
Date:   Fri May 13 15:33:55 2011 +0300

    Fix "method not permitted before handle's open method" on --verifydb
    - In verify mode, the db is not really opened, thus it's an error
      to call dbiFlags() which calls db->get_open_flags().
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 469b10d1d2d9819e0793fac7f84ae2cfa75135d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 3 15:02:42 2011 +0300

    Clean up file type verification logic a bit
    - Non-regular files mostly share the same unverifiable properties,
      no point in listing all the cases separately. Links are a notable
      exception in that they're different from everything else, handle
      that separately.
    - Also clean up other formatting: wrap lines at a better point +
      avoid multiline-comments when single line suffices.

commit a039c48f95ebd30ab6674c47c2c96460a32774aa
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue May 3 10:42:53 2011 +0200

    Remove obsolete timedRead() from API

commit 269df02ae1fc3955bee4e5f471b1172c04c714e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 3 11:19:37 2011 +0300

    RIP rpmsqFork() + rpmsqWait() and the related bits
    - Also remove additional thread protection: we're not supporting
      threads anywhere else either. If/when thread-protection is added,
      this is ulikely to be the first place anyway...

commit 5c97ff7d90a2ce244741c3a148fd1dc1712e5480
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 2 13:00:53 2011 +0300

    Use good ol' fork() + waitpid() for running scriptlets
    - We have no need for anything fancier, this makes 80% of the
      overly complex & subtle semi-threaded and in places just broken
      code in rpmsq.[ch] unused and unnecessary.

commit 5d297141cd647c3cb0a8914e595c56d0ecc9447c
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 24 15:59:20 2011 +0300

    Remove unneeded regex grouping.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 2974af1466932b9e874c59e77907d9280e239352
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 24 15:58:40 2011 +0300

    Comment spelling fix.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit e254f9b9d4869ea9ee783d3c68a3d2e293e63345
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 24 15:57:23 2011 +0300

    Add lrzip support.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit bcad08867d9c9550d80f9ca8ba42c4e27d3c493b
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 24 15:56:11 2011 +0300

    Add lzip support.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit fe8d88872bc7109a8cc1b75bc8e4689ed2135bf4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 28 15:23:10 2011 +0300

    Remove duplicate fpLookup() doxygen annotation

commit 44ce440509e5277ce39dd0145b148f7a6661366f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 28 10:31:23 2011 +0300

    Remove redundant strlen()'s on sha1 digest verification
    - string comparison notices different length anyway, avoid going
      through the same data twice

commit 60bb36b90c55a34128fd6662ada1859aaa89f6b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 27 16:11:57 2011 +0300

    Avoid malloc() + redundant strlen() calls in dbiFindByLabel()

commit ffae32e4631de24a919bfc98c9787fbf39ddefc8
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 28 13:22:41 2011 +0200

    Simplify findTag()

commit b19a896ecd1ae45835bf2a74ed376de935c6486d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 27 10:28:43 2011 +0200

    Fix find-lang so that it finds *@*.qm QT i18n files (RhBug:699945)

commit 7b352a1de27ff11d4439ab9efdbb9d6074885353
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 26 06:33:19 2011 +0200

    Understand 'PK00' zip archives (RhBug:699529)
    - it is historically used by PKZIP when storing archive to removable
      media (floppy), some java apps still use it
    - thanks to Karel Klic

commit 756aea37fec22a4dd10b5b0b7967bcfc13a58a25
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 22 09:30:45 2011 +0200

    Do not compile unused functions when SELinux support is disabled

commit eada0e3e47b80da2dec8c11fefb5ad16e4d6faaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 21 11:09:28 2011 +0300

    Handle errors from moving target file into place in rpmSign()
    - Signing isn't successful unless we manage to replace the original
      file with the signed one, take the stat() etc returns into count.

commit e393393ff71e5d0a6dc1c4d316558e8396caf287
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 21 10:55:00 2011 +0300

    headerPut() and headerDel() returns aren't interesting here

commit c798aed743b4df9569475520ad0821d555b35c82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 21 10:47:31 2011 +0300

    Remove redundant indentation block from rpmSign()
    - No code changes, just formatting sanity/prettiness

commit 96c4f818a5676cb87c930fb15ad0a243ea3cbd80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 21 10:13:45 2011 +0300

    Just ignore miFreeHeader() return on rpmdbNextIterator() too
    - There's no meaningful way to return a write-error here,
      rpmdbNextIterator() caller wouldn't know whether NULL at termination
      is early due to error or not. So just ignore the return from
      miFreeHeader(), it can only fail on rewrite mode (ie markReplacedFiles())
      so impact is rather limited anyway.

commit 29fffe9aa5e91d21e06e00f338937359e683f6a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 21 10:03:11 2011 +0300

    Ignore dbiSync() return code everywhere
    - Since we're not checking the return then dont bother storing it either.
      The sync is fairly unlikely to fail if other operations succeed
      as sync failures generally revolve around invalid file descriptors etc.

commit 3336259e0fdecc46edeb800a39f634e273f7ee9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 16:11:41 2011 +0300

    Oops, thinko/typo in commit 8215e17c248f91f501bd8a2968dfadf896a350ce

commit 70ca20161bce3b44903d74fd91597109a3b9fb99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 15:50:24 2011 +0300

    Remove pointless xx tmp return code from dbiAppendSet() result

commit 909d3cdc928cf0cd6b9a19212d4971ab4a3eb232
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 15:41:53 2011 +0300

    Eliminate last three assert()'s from the backend
    - We can trivially handle these "can't happen" cases as EINVAL returns
      instead of blowing up, do so.

commit 7d7a9a24b6977476f7952fc0ad0ef6a5d5647571
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 15:38:40 2011 +0300

    And finally at six feet, the old cursor api is officially dead
    - Inline the last remains into the new api, handling NULL pointers
      more gracefully than the old version

commit e05e92d4ed7df7c60a422a7a3495b7f8cc0a1075
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 15:22:42 2011 +0300

    And another foot deeper...
    - Inline dbiGet(), dbiPut(), dbiDel() and dbiCount() implementations
      to the new interface

commit d8d63645a0307e05af1e11f98a3bc237d1561c77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 15:04:44 2011 +0300

    Bury the old cursor api one foot deeper
    - Make it static and move doxygen bits to the new API, adjust as necessary

commit 8215e17c248f91f501bd8a2968dfadf896a350ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 14:49:14 2011 +0300

    Convert the other (rpmdb iterators etc) uses to the new cursor api

commit 3d82d922ef30b0e341f4b149d490ac7be8f67ae1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 14:23:37 2011 +0300

    Convert local-only uses of DBC to dbiCursor interface

commit fb548c0612c40502f668eca7b70b8447afccf6f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 13:52:41 2011 +0300

    Add a db cursor abstraction and interfaces for using it
    - Callers are currently required to pass all sorts of unnecessary
      gunk to the cursor operations just for performance statistics
      etc, and the interface doesn't match the uses inside rpmdb.c
      very well. This adds a more "rpm-style" interface around the
      BDB API.
    - Cursor open + close can only fail on invalid arguments (which would
      be programmer errors), and various conditions on replication which
      we dont care about. So we essentially ignore the errors, except
      for cursor open which will return NULL to indicate an error.
    - As an intermediate step, these are just wrappers to the older
      dbiFoo interfaces to permit converting things to the new interfaces
      piece by piece.

commit 9ae37ce58ae68dc502b7f2d018df45dd9884c695
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 13:23:57 2011 +0300

    Rename _dbConfig and _dbiIndex structs to common foo_s style
    - No functional changes, just renaming to be in line with everything
      else (for better or worse)

commit 0f112aa9f9e13153703b43de935c7bb3c57b4a45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 20 13:18:54 2011 +0300

    Remove non-cursor support from dbiDel(), dbiPut() and dbiGet()
    - Previously these functions would silently fall back to non-cursor
      access when (accidentally) called with NULL cursor. This can lead
      to different results for cases where cursor is actually required,
      without any indication of it being an error. Make them fail
      with EINVAL for NULL cursors so it gets trapped in rpmdb.c uses.

commit be40e1fb9227a76a7086f4a7d707a750f3107eee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:46:41 2011 +0300

    Return explicit NULL's from db iterator free functions for clarity

commit 7ba2c62fb3b4d78bdd11591a009fdbd195d2761c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:42:46 2011 +0300

    Ignore error codes in rpmdbIndexIteratorFree()
    - Similarly to commit b35081600135b4a3d54fa7e832125a89d3bdee48,
      we can't do anything about dbiCclose() failure here, just ignore.

commit 149d9a84b30dd848e8156db98da733eb900479fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:34:02 2011 +0300

    Ignore error codes in rpmdbFreeIterator()
    - We can't do anything about miFreeHeader() or dbiClose() errors
      here, no point storing them to temp variable either. Error on
      miFreeHeader() will at least log something on header rewrite-failure.

commit e0c941ab51f1ec905003ccc0926216ab49f2d058
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 19 13:24:34 2011 +0200

    Attempt to fetch sources/patches when they are missing from %_sourcedir
    - use _default_source_url macro to specify default URL when it is
      missing from the spec Source/Patch line
    - this feature can be disabled by defining _disable_source_fetch to 1

commit 7ea4fcd87f9f313099f983380e9ece93149a0271
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:21:36 2011 +0300

    Give at least some indication of error from fchdir() failures
    - Failure to return to current dir is likely to be lethal, at least
      log an error and return a different code for it.

commit b2abe4957871bb07e3895c5331d667d843494737
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:08:28 2011 +0300

    Use rpmsqFork() return code instead of semi-private struct member for pid
    - rpmsqFork() behaves like regular fork() in this regard so this
      just makes the code more obvious and eliminates an set-but-unused
      warning while at it.

commit 6e731e283222135a25ad2b6bac6b8f02d4f2541a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 13:04:28 2011 +0300

    Fclose() and unlink() errors aren't fatal here, just ignore

commit 6f75f9e7640e2ef08ae65c9038fcedad2c96ae72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 12:59:07 2011 +0300

    Catch write errors when generating scriptlet temporary files
    - If the write fails scripts are likely to fail anyway, but executing
      partial scriptlets (unlikely as that might be) could have funny
      side-effects besides just failing.
    - Also cleans up runExtScript() a little bit by moving the
      tmp file creation to a separate function.

commit 3eb92ff6d3030de913f2f3a4926b71c2cac07763
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 11:37:11 2011 +0300

    Improve fsm error code handling in psm
    - Move the fsm execution to separate helper function, returning
      the most relevant exit code: if fsmSetup() failed then teardown
      return doesn't matter, but fsmTeardown() can report errors
      from missing hardlinks which we haven't checked until now.
    - This also fixes enum vs int abuse on the exit code: fsm return
      codes are cpio error codes whereas psm codes are simple ok/fails.

commit 643626a32e045b44b8a9a863f889f714af408cd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 10:32:31 2011 +0300

    Actually handle headerGet() / pgpPrtPkts() failure on signature verify
    - Failure to decode the hash algo here would probably trip up something
      later on in the verification but...

commit 92ccb5f822c6b8889dbb784182f5da82f88f6102
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 10:21:26 2011 +0300

    Eliminate unused variable in rpmpluginsAdd()
    - dlsym() can return NULL without it being an error, and since we
      use dlerror() for determining the error anyway, supportedHooks
      is simply unneeded here.

commit e4124b08060bc418ef5c332653aa9587d52c80fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 10:09:22 2011 +0300

    Restore previous vsflags on return from rpmInstall() and rpmErase()
    - Nobody is going to care really but since we bother remembering
      them we might as well restore them too, silencing another two
      set-but-unused warnings (this time semi-meaningful even)

commit b45622b5b974b428e425937a7337fc393074bfcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 19 10:02:23 2011 +0300

    Eliminate another set-but-unused xx warning
    - There's no meaningful way to return error from rpmdbExtendIterator()
      in rpmFindBaseNamesInDB() so dont bother collecting the result.
      At least there'll be rpmlog spew on errors so it wouldn't be
      silently failing.

commit f6579c0ac3af9d3f4ccdb087a671e06c85efd705
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 18 12:25:43 2011 +0300

    Reflect file classifier errors in rpmdeps exit code
    - rpmfcClassify() or rpmfcApply() failing is pretty fatal to rpmdeps,
      exit with error code
    - OTOH argvAdd() and argvSort() can't really fail, ignore their return
      codes, shutting up another set-but-not-used whine

commit a1ea30c5c703a24ad29d4c497021b993d0be8943
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 18 12:08:24 2011 +0300

    Remove yet another pointless tmp variable
    - Since we're not really interested in rpmdbClose() or
      rpmdbRemoveDatabase() error codes when rebuilding, just ignore
      their returns

commit b021491203fe6e036b5d1f13be368ae644f16312
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 18 12:04:34 2011 +0300

    Collect proper exit status from rpmdbRemoveDatabase()
    - The single caller doesn't actually care about its exit code
      as its not particularly important in that case but .. shrug,
      at least it silences a warning.

commit 0d0ccea1f342b465ee9e6a3da13ed06d4e03742c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 18 12:00:44 2011 +0300

    Ignore rpmdbClose() return on failed rpmdbOpen()
    - We can't do anything about it so just ignore and remove the
      unused variable

commit 1a89593cd04d464dc5f7306482c0bb5a0b71e819
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 18 10:13:24 2011 +0300

    Clean up urlGetFile() return values
    - Its callers only care about success vs failure, so only ever return
      0 or -1 and take waitpid() errors into account too. As a side effect
      shuts up a set-but-unused compiler warning too

commit ac524256f7d3f745a5c441e742ed93bc2c8047ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 15 10:35:34 2011 +0300

    Remember to free db index iterators too on forced termination

commit 3544062a6ed8f165eb773766ed5540b96f1bcc03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 15 10:11:41 2011 +0300

    Fix dangling databases from iterators (ticket #820)
    - Call rpmdbClose() instead of rpmdbUnlink() on iterator free to
      actually close the db when refcount goes to zero. This
      fixes the situation where a caller closes a database handle
      while iterators are active: the iterators stay usable and close
      the db when the last one exits.

commit dcf650f5a73846773c7b81de08e2608391f733b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 15 09:18:15 2011 +0300

    Only muck with signals on first and last db open/close
    - Signals are per-process global, as long as there are other
      databases open (or references to the same db) we shouldn't mess
      with them. Less important on open, but if somebody is changing
      rpmsq-handling we shouldn't override that either.

commit 2511b09679f97c1ab02967640397488d26a06b2d
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Apr 6 20:56:31 2011 +0300

    Extract perl dependecies from "use parent qw(Foo)".
    
    parent is a successor to base, with similar functionality.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 6331fec6e4be0c96517d37cbfbf8f2b1b2a8ad24
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Mar 1 17:23:17 2011 +0200

    Honor $TMPDIR in various scripts.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 76bc4429c2601d9525b7032fe7ff8f918a55caf8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 13 10:04:28 2011 +0300

    Unbreak obsoletes from commit b1a4b57315d31ba98bc0e5803db1ebc2517f6bb5
    - rpmdsMatchesDep() only works with RPMDBI_PROVIDES, not RPMDBI_NAME.
      Revert that part of the change.

commit 077d2c850cf0a719d7abacc3256168d60a4ec7bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 5 17:33:12 2011 +0300

    Dont reference transaction set from transaction elements
    - Elements referencing ts prevents rpmtsFree() from freeing anything
      unless the caller does rpmtsEmpty() first. Oops. Undo the braindamage
      from commit 8f7c2d7063df6d1057425d014ce4168d46c5e7d9.

commit 94fb6eed6a7a8957152035c3156974fc00bc4b42
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 4 16:03:11 2011 +0200

    Don't list packages which will not be created in spec query (RhBug:693338)
    - particularly, while doing "rpm -q --specfile <a spec file>"

commit 7e91fb7370433484b10e54790d97a731656b68ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 14:39:19 2011 +0300

    Update INSTALL a bit, include blurb about the test-suite + fakechroot

commit a81d933cc3b997c7f46acd4a3faff26ce2edc8b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 14:31:17 2011 +0300

    Only enable test-suite if fakechroot is available

commit aea6f0423fc3cf26a7e244e79b62c3b94c09d0c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 14:05:17 2011 +0300

    Execute all non-compilation rpmbuild tests in fakechroot
    - Except for four rpmbuild tests which rely on an actual compiler
      being available (faking *that* would get entertaining...), the entire
      test-suite is now executing everything in the fakechroot environment.

commit 8e34f32f9f2c27fff9b0c793f8332f091ba5cc79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 14:00:23 2011 +0300

    Add more stuff to test-suite root environment
    - Build needs a whole bunch of utilities there, including file + its
      magic database. The exact location of the magic db varies between
      systems but file -C lets us basically make a copy of the system magicdb
      into the fakechroot env and then we can override the location with MAGIC

commit cb4da93fdfa8418b4670f38ff61ddf9357ff30e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 12:13:56 2011 +0300

    Switch more test-suite builds to run under fakechroot
    - This leaves only the "real" builds where the packages contain files
      to be executed outside fakechroot

commit f439f4fc8a217a4088fc1249f1948de875426da3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 12:03:38 2011 +0300

    Run dependency tests entirely in fakechroot
    - All the packages here have no files making them "easy" to build
      inside the chroot

commit 086791164a31c3533b1dc4f145e87a7f7e81ca09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 12:01:43 2011 +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

commit 72b21d5ffc86b0091af93a5c3aaa378da3fb8f6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 11:39:25 2011 +0300

    Remove redundant data copying into test-suite root

commit 1743c9eba97b004b57adbe95d97b89d464c47377
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 4 11:27:03 2011 +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

commit 27e8417cf3fdf5dbe0d64316dbee9a82b5039a42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:48:07 2011 +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.

commit 500c6a13eafb5a3852fd91d9296ab4139a6f38d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:44:35 2011 +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

commit f5b288fef63f471a2b347698946547a08f277610
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:43:13 2011 +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

commit b96a9130acd0b0ee81073073d3edcedafc6ea6ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:18:46 2011 +0300

    Switch the two remaining rpm runs under fakechroot
    - Everything in the test-suite except rpmbuild execution is now
      performed in the fakechroot environment

commit ac99b7c7e8469c1129e7b9cb7a5a78df67cb1b4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:07:52 2011 +0300

    Run all rpmmacro tests under fakechroot

commit 9e4b0b3bfba6eb1c382369c42ef276159a9895e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 17:06:42 2011 +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...

commit 1f2dd7313ce4376d88d17075ddbbb4debb0508a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 16:20:48 2011 +0300

    Run most rpmi tests under fakechroot
    - one of the manifest tests is failing mysteriously in root mode though..

commit ce23b96ba7db63a4a85d0f739754553bf9287ec2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 16:18:26 2011 +0300

    Run testsuite rpmdb init helper with fakechroot

commit a3dc8a920947093adbb70941e750511f0dcf707e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 15:42:47 2011 +0300

    Make all query tests run under fakechroot

commit 0bc3ae3b7118e88ca35f4a30da03c45d79cd297d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 15:42:30 2011 +0300

    Make all generic tests run under fakechroot

commit a6ac17aec39ed216e31d8e94275a94e099eb6999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 15:39:21 2011 +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.

commit b2032ed776c489bda1e902061d2b2a9518235505
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 15:29:52 2011 +0300

    Make all test data available in the test-root

commit 75a9c49e642b315cfa5e6acdb62e89aa509abe4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 14:44:42 2011 +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

commit e11575180fb7af43211747aa0c855f131de255e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 1 08:17:21 2011 +0300

    Add a more useful example to rpm2cpio manpage
    - Based on suggestions from Masatake Yamato and others from rpm-list

commit d8b1d68ae5aee846ef12c26d35ce14ed549ff435
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 31 10:54:25 2011 +0200

    Remove rpm v3 code
    
    These cases are check for in rpmdsCompare() anyway. No need to "optimize" for a long dead rpm release.

commit b1a4b57315d31ba98bc0e5803db1ebc2517f6bb5
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Mar 29 16:31:46 2011 +0200

    Add rpmdsMatchesDep() as alternative to rpmdsAnyMatchesDep() to make use of the tag number (index) we get from the rpmdb on queries

commit 4720f9eef826733383aba794c067a762bf944e68
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 25 10:25:25 2011 +0100

    Simplify fsmMapFContext()

commit 37e84e00ea768f980898b466b91d0e5955a5edeb
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 25 10:25:03 2011 +0100

    Remove unused variables from db3.c

commit f825911b73db44d1b2455a0495d2450dd0865402
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 28 12:47:34 2011 +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

commit b098c173481e739b83b18900e241b6b467ed26cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 15:20:26 2011 +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...

commit 06f603849aaa0798d89d8ab265ae0f333ebeb3cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 14:56:16 2011 +0200

    Oops, lib/misc.c is no more, remove from POTFILES.in

commit d283046c0a7fc268631da53d4d5a51ea97d85de0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 14:45:11 2011 +0200

    Use canoncolor to determine lib vs lib64

commit 2a8d03669732f68f02fa7b21ec87ee3f65d11e5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 14:39:36 2011 +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

commit 07ec480c180e4005a629242b8f9f8ab640e3e950
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 14:03:23 2011 +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

commit ad0da75a0d6c0bd7f32133bc5cd05636ae470257
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 13:22:53 2011 +0200

    Simplify the hysterical per-platform vendor-sed thing

commit 6ee4b20959327725da2b17fd116ddcc5c8bdbf7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 13:16:32 2011 +0200

    Create platform specific config on all OS'es

commit 1ee7c1a68554746e531150a68f47255f889222ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 13:08:09 2011 +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

commit bd0173a0a5f5f519d5a40f5bf635840f1bf382f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 12:45:36 2011 +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..

commit 2b6486a69b54a5d2a3c56ec9489f25f5c7125b3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 25 11:25:47 2011 +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

commit a0d04112c014969e2bdf5f7f280e6635ceea40e8
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 21 14:39:10 2011 +0100

    Move find-provides and find-requires link to autodeps/
    Implement link reaction with less copied code

commit 609236f6d6fc1447a15ff039d0b994ebbb274796
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Mar 24 12:48:46 2011 +0100

    Clean up headerRead()

commit b159519d9dd18ad24fe427c8d4ac98e125342be6
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 23 13:37:44 2011 +0100

    Remove checks of unused things from configure.ac

commit b03685d320ce3484ee4163ebc3c04e8f84acc6fa
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 23 12:37:25 2011 +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

commit 3ab3a931b4dd84eedcb35229187e5be8d14f9418
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 23 11:18:08 2011 +0100

    Avoid timedRead() usage
    - it is to be removed in the next soname bump

commit c61391e647af31ef53ef20f6e05ff3a9ab044256
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 23 11:11:33 2011 +0100

    Remove libio support to suppress timedRead()

commit f0fa14db95b8eb465a1376b91ccc929100f0d0c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 12:15:50 2011 +0200

    Eliminate pointless isSource member from eiu struct, duh

commit 3e70d901e5a6971b41522d1cb5c3799a88fd7d77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 12:15:07 2011 +0200

    Eliminate header from eiu struct, its just a local temp variable really

commit 8b4e66d3576aefbcf74e760462979bea7942dafd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 12:14:23 2011 +0200

    Reduce vsflags flip-flop
    - Transaction set vsflags gets set early in rpmInstall(), remove
      redundant set + restore on tryReadHeader()

commit 850fe79da6bdaef7fd228d2b314d51ceea24aff1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 23 12:13:25 2011 +0200

    checkFreshenStatus() only needs a header, not the entire eiu struct

commit 6eba5dc468aa2d26ff80f9321e8d4d014279d506
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 22 08:36:35 2011 +0200

    Fix classification of ELF binaries with sticky bit (RhBug:689182)

commit f974288ea14d71bfa38c415745b723190c2aee15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 17 15:49:57 2011 +0200

    Fix a small memleak in rpmsign tool

commit 1817ac020ea58f03b038cf1bdca001d9683e2604
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 17 15:35:42 2011 +0200

    Plug memory leaks on macro definition error cases

commit 8ec147d3228df07b032df0a7081fdeb899394f13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 17 14:08:54 2011 +0200

    Fix couple of incorrect sizeof() uses

commit 5caa0a5191923602e4f4942a01daf6832ee0bb46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 17 13:24:47 2011 +0200

    Missing va_end() call

commit 88a3950fd8ccee544b23d0eb15d2f1a9faa1d2a3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 16 15:07:55 2011 +0100

    Avoid freeing an unallocated variable (RhBug:688091)

commit 9ba7b7a1780c9417dbd8004c46632f450f40b2b7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Mar 15 17:58:31 2011 +0100

    Fix cpio_doio()
    - do not propagate incompatible error codes to cpioStrerror()
    - plug possible memleak while creating transaction set
    - clean up

commit cc23fdcaaa2a04a534d4fa855758e91f51a4ae33
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Mar 14 15:37:00 2011 +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

commit 01fc1efc3ce2e806acf02814313d3535de7908b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 11 14:24:38 2011 +0200

    Update librpm doxygen module list
    - rpmgi is gone, rpmprob is a "new" item

commit 0eca826cb8307c3db0878a186b221ae1357a6a3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 10 13:36:51 2011 +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

commit eb7be49dfa9d03e16431dda8c643a5fa3e300cc2
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Mar 10 16:45:49 2011 +0100

    Clean up rpmfcApply() and rpmfcHelper()

commit e6d66aab71b0f9345a6ad49e6b522ac788fd6f28
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 7 20:53:15 2011 +0100

    Fix whitespace in Python doc string

commit 805f7fd5af6fb4527f8487049565437a4ab11ecd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 10 09:00:07 2011 +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 ;)

commit ba38b2551f51538885df60b849906de005fb78ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 16:13:34 2011 +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...

commit cb61d8a89c70c1771947c10984eeab2141133bd4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 16:08:59 2011 +0200

    Python 3 fixups
    - PyString is gone, use PyBytes instead
    - Add compatibility defines to paper over
      PyInt/PyLong_JustHowLongFunctionNamesYouCanComeUpWith()

commit 16aea81dc77fece89766065d70dcff3ce9a640a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:37:07 2011 +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)

commit 9aef00d3415dc3c588a4de3bc6a0f58e7473ded7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:31:25 2011 +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

commit 32ffdfae8fa340eeaed898af68bdcd24e6fcb28b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:28:48 2011 +0200

    Don't bother with the callback die-die-die error translation

commit f104306f5928bcea09f0ecc622243df9c42fc466
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:26:54 2011 +0200

    Eliminate unnecessary _free() usages in python

commit 99f9c67ad498a954c1d1d221d206ef2a4d794571
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 15:06:11 2011 +0200

    Python bindings dont need our debug.h for anything

commit ee0ae58b442c5f79967a0d0580144b5c84e0c888
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 10:25:29 2011 +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.

commit 566a15c9c08aa593d05e2f55f1c171a48bc1b1bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 9 09:39:32 2011 +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.

commit 842c987486ecd5a4eb12b15362b3262b8d4d007e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 9 08:16:46 2011 +0100

    Clean up rpmfcExec()

commit fa7b4dbb4eee39ca9cc06b22438efd41e243e72c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 8 16:20:20 2011 +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

commit 4a16d55f1f689ab06e8dd45c50b86e478a732367
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 8 13:28:32 2011 +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.

commit e0ddd282033b23fdcef47f8cbdfcae5c87892797
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 7 09:03:04 2011 +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

commit 584b9d4f5a5def7af56ba81899b23178cae0a913
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 18:34:01 2011 +0200

    Make peace with autoconf-2.68

commit 586a30c77a365f05c81f1b4a0558e9ca58196010
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 16:00:29 2011 +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.

commit 695342bb19fc805803cf6f4bffdd56c43c299e7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 15:51:16 2011 +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)

commit b925a084edff0133a80ff303723eb4b3fc19fc08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 14:50:30 2011 +0200

    Remove unused variable in debugedit

commit 10ed98db01bcf37bfeb2192f64dd0ae0ff4a9218
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 14:42:38 2011 +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

commit d69ebf18f100193305c5a49c7ac5c26978db67d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 14:33:35 2011 +0200

    Throw an exception from Fseek() errors in python rpmfd.seek()

commit a1da07e60d9a43fa7832eab0f4842fff465254e5
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 4 13:34:29 2011 +0100

    Yet remove some unused variables to suppress warnings

commit ecead75632fbce1f89fb740335d94fd4f2e00309
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:49:16 2011 +0200

    Remove unused return code variable
    - rpmdsRpmlib() can return errors but not really applicaple here

commit 3632294483dd1eb8f26ed390290cf39580bdffc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:46:06 2011 +0200

    Remove pointless return code from handleInstInstalledFiles()
    - There are no errors to return here... so it might as well be void

commit 9db2544707944d3a69c0f472bcf00be45edc33ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:38:34 2011 +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

commit 79a81f9bea4b0982e1966b47def92793ebddf10b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:27:15 2011 +0200

    Eliminate unused variable
    - We're not expecting anything in return from rpmtsNotify() in
      fsm either, so just ignore the returns...

commit 62369bf149c8759b80918db0be76fad11ad1c52e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:24:38 2011 +0200

    Eliminate unused variables
    - We're not expecting anything in return from rpmtsNotify() in psm,
      so just ignore the returns...

commit cf04f4400f960d425f9009b089a4b735b4e8e1a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:11:22 2011 +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.

commit ddc47f4cfe03b61f841f45d796cc800f51735ca6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 13:08:17 2011 +0200

    Return error codes from rpmdsRpmlib()
    - It can fail with eg NULL dsp passed, might as well return something
      which also silences gcc

commit 53f8ce9ff00cf8f7cf443108e3b40cdf615e813a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 12:51:32 2011 +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...

commit 84ee0a10ea3e9409c10ead76465d19e8d3f4c7ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 12:45:06 2011 +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...

commit 3baf0da79f32879a3a14d12091dcf52da3513ee4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 12:32:49 2011 +0200

    Remove unused nowtm variable

commit 320c150e6ffa55a7c5454331f89d2d366f76fe73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 4 11:33:24 2011 +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

commit dc3116a581462a927bd17136d5afd94fa5a110b8
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 4 05:38:32 2011 +0100

    Actually propagare failure when addOrAppendListEntry() fails,
    add missing headerGet() check.

commit a6026437f2c1986627b64390084b5281c2aeea43
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 4 04:56:26 2011 +0100

    Define variables in processBinaryPolicies() only if they are needed

commit 00274a017c43becb321fce3490fcc9b94ccee466
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 4 04:43:32 2011 +0100

    Add missing exit status check for waitpid() while executing scriptlets

commit 183c8fa64c846c5d8ad8fe1671c8812059f35434
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 18:50:52 2011 +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)

commit 68d94190ad97e538a5ce21adadd7d9292729f607
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 17:44:28 2011 +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

commit 1c34f81d31bf53157babebaba0dbbb91342e58d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 16:20:34 2011 +0200

    Eliminate useless 'I dont care about the return code' variables in tagnames

commit 8a95213b500cc3bd1e52e9b6a1c3430edbc4a552
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 3 15:32:24 2011 +0200

    Eliminate unused variable + calculations in pgpPubkeyFingerprint()

commit 04422e4ca85e1748e97cd7d49cad5e9c03f9e05f
Author: Tero Aho <ext-tero.aho@nokia.com>
Date:   Wed Mar 2 08:43:46 2011 +0200

    Fix uninitialized variable in fsm
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit cc85e646585be90d3b06c8de941d7e190e8fd538
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 2 08:28:35 2011 +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.

commit 115717d96fac59cbc020e2f82459b4b68cadac14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 1 12:10:23 2011 +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)

commit e967964811994f1386542d386de114ff7837c87a
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Feb 18 22:12:43 2011 +0200

    Mention %bcond_with* in conditional build doc.

commit f1c550f81dbad9312a51e2629dd5e14513d41dfb
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Feb 22 22:07:18 2011 +0200

    Man page syntax fixes.

commit 39627fa167815997dea3ca418f8e2ac377456665
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Feb 18 22:22:07 2011 +0200

    Documentation spelling fixes.

commit 4f7fe5e668e9cd8ba62e700f6f3fdaf2256306d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 21 10:55:02 2011 +0200

    Fix db cursor double-open, causing yum to hang on reinstall (RhBug:678644)
    - A refactoring error in commit 475391dc581bf5ba72b6d59d16d875505b45bd51
      causes us to open a double cursor on the Package db. This doesn't
      seem to affect much in rpm context, but Yum is being naughty and holding
      two different handles to the same db simultaneously, which causes
      to deadlock on trying to lock the same record twice from two different
      handles .. or something to that effect.

commit 771993d1fc6db95ae92ebe0200f7003554ea32da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 21 08:47:52 2011 +0200

    Fix braindamage in the depgen helper collector loop (RhBug:675002)
    - Read any remaining data before exiting on SIGCHLD
    - Only perform one read() per loop, otherwise it could block
    - Handle EINTR while read()'ing

commit 7786995cd1e539ac410aec1cd32fb99becc92deb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Feb 20 22:33:47 2011 +0200

    Allow both string + unicode in python addInstall() / addErase()

commit b9f5062c227f4a8feff83c0ee1cde2929da7cd3e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 15:07:02 2011 +0200

    Allow installation of self-conflicting packages (ticket #806, RhBug:651951)
    - Besides fixing the stupid situation where we happily create package(s)
      that can under no circumstances be installed, this makes it possible
      to create "singleton" packages which can be useful in some cases, eg
      http://lists.rpm.org/pipermail/rpm-maint/2010-April/002719.html

commit 82347dc881c68107dd81e1789761e7514b429000
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Feb 15 14:55:55 2011 +0200

    Fix corner-case behavior on dependency matching when release not present
    - The idea behind the patch is that a missing release is handled
      as "all/any release". Nothing changes for "foo < 1.2" or
      "foo > 1.2", it still just compares the version. But "foo = 1.2"
      means "everything with version 1.2". Thus, any match against
      a package with version "1.2" a any non-empty release must
      return true.
    - Update test-suite expectations to the new behavior.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 81acadbf1f55d128d733b5d9552276b4679ac682
Author: Michael Schroeder <mls@suse.de>
Date:   Tue Feb 15 14:39:29 2011 +0200

    Allow uncompressed payload in packages
    - An example of a package where uncompressed payload is useful is
      out "installation-images" package. It's a meta package that is
      not shipped to customers, but used for image creation purposes.
      Compression just slows down the build process.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 83f3b79ccaea675bd19d55eae711d5e1c8c4da7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 15 13:49:44 2011 +0200

    Import the C-level ts python object as TransactionSetCore
    - The previous _rpmts name suggests its some scary internal stuff
      that shouldn't be used when that's not the case, it's just a
      lower level interface to the same thing.

commit d3475ef4682e70e0d0e6fee1c42ac0e763fecd48
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Feb 12 12:24:50 2011 +0200

    Avoid emitting empty perl() module deps.
    
    Test case from DOM.pm (perl-CSS-DOM 0.13):
    
    use   # to keep CPANTS happy :-)
       strict;
    use   # same here
       warnings;
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit 8a6b6a86d9488fb53b9cbb40d75544add0093920
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 12:28:30 2011 +0200

    Callback argument mismatch from previous commit, meh

commit ece9fbf5be8d93d28dbb114832a531dde03cfed2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 10:43:03 2011 +0200

    Add + use a db error callback function
    - Commit 7309f7498134f7b62f27624a4cdb91e1c6b82578 caused loss of
      some BDB error messages due misreading the docs: we used to explicitly
      set errfile to stderr through some hoops, and errcall to what
      always was NULL. But calling set_errcall() disables any output to
      the db errfile, and since we're no longer calling errfile...
    - Removing the set_errcall() would restore output on stderr, but
      making it go through rpmlog() seems more consistent and lets
      API users catch it through rpmlog callback (in theory at least)

commit ec031020eb7ed9a0cc3d086bcd7ae7611eb308fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 7 09:15:29 2011 +0200

    Fix segfault when building more than one rpm (RhBug:675565)
    - Remember to set the static string cache pointer to NULL on free, duh

commit 9fa3a6c99d93c0eb9659f38a10eb43a0265cce4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Feb 6 09:57:03 2011 +0200

    Adjust OCaml detection rule for libmagic 5.04 -> 5.05 string change

commit 96e160d408d28db226ea57370e909484e1e2612f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 31 13:01:26 2011 +0200

    Mark the identical signature warning as translatable

commit e9cc4c0ba7be8d1c1551e221b593dd3767023405
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 31 10:14:57 2011 +0200

    Argh, yet more mono dependency generation braindamage
    - Unlike some other scripts, mono-find-foo do not have .sh suffix, meh

commit f0f5cb712773db06cedd34916519a4f097880bbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 31 09:21:32 2011 +0200

    Eww, mono rules both buggy AND missing from tarballs, doh.

commit 8125ca5b5dc89965a60740bf67448ad9ae3ad25c
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Jan 23 22:35:24 2011 +0200

    Comment spelling fix.
    
    Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

commit fbdfe8e5bf1ef7044de7a14cff9205c4d845f90b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 28 13:15:09 2011 +0200

    Add an error message + comments on open(".") behavior (RhBug:672576)
    - Bail out early and complain if current directory can't be open()'ed,
      as we'll need it for reliable cwd restoration after running Lua
      scripts.
    - Technically we'd only need open(".") succeeding for chroot operations
      and running Lua-scripts, but there's no easy way to determine whether
      a transaction will run Lua-scripts. They could be in-db triggers
      which will only be evaluated in the middle of transaction, better
      to fail early for consistent behavior.

commit d7e2a04d68dea4d1c7dbaf457b5b4210dfa452f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 25 15:27:28 2011 +0200

    Teach rpm about post-transaction dependencies
    - %posttrans dependencies have their own peculiar semantics, they're
      install-only dependencies which have no implications on ordering.

commit 88e63b050cfd3ba28cb44e75b3ac31fdf5fe9909
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 15:20:01 2011 +0200

    Don't try to remove existing environment when using private environment

commit bd96c179b79fce627403804ad6c236c783aca478
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 14:02:28 2011 +0200

    Plug potential division by zero in the rpmdb size calculation (RhBug:671056)
    - This smells like treating the symptom instead of the disease, add
      a reminder comment to figure out what's going on here...

commit a3ec6066af23e0c9e0de6160c14cb2a502e8fa89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 13:52:17 2011 +0200

    Fix rpmdb index match iteration termination with NULL keyp (#671149)
    - When iterating secondary indexes with NULL keyp, the last entry
      was being returned twice as dbiAppendSet() would get called
      even when dbiGet() returned non-zero.

commit 5ddb36d2739653ebe50dc39176a9ca43d0555676
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 13:43:12 2011 +0200

    Avoid automatic index generation on db rebuild
    - The rebuild walks through it all anyway, calling buildIndexes()
      while in middle of db rebuild ends up in first header added
      twice to indexes

commit 87e1bad90467668142f6a1ed03e610c9288212fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 13:41:02 2011 +0200

    Fix python documentation wrt dbIndex()

commit 6977e095566761bb50651119a17ea41f7de7b6ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 09:57:36 2011 +0200

    Restore default SIGPIPE handling for build scriptlets (RhBug:651463)

commit a429c99e13fbe9926243f29b78df8d64222c4469
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 21 09:32:58 2011 +0200

    Permit queries from rpmdb on read-only media (RhBug:671200)

commit fe68483d1b341416f28caa894d8392681d827868
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 13 10:14:25 2011 +0200

    Add switch to allow printing only soname dependencies to elfdeps helper

commit 9f3a0debb686485312d184d7a8c8aad49978629f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 10 14:09:57 2011 +0200

    Fix rpmsign --key-id popt alias typo

commit b4f4e2255f3bf5a9c738f6d9d67f477f208fe04b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 7 12:06:37 2011 +0200

    Honor --root in rpmkeys too

commit 599094e258fc69d76ef9291355850a10508acb3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 5 15:22:00 2011 +0200

    Hide --verifydb switch again
    - It got exposed in the rpmdb tool splitup, but the functionality in
      it's current form is still just as dubious as it always was, hide
      it out of sight again.

commit 5c4135654f9d35772bea8a51c98c8020a3d20396
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 5 13:26:11 2011 +0200

    Tweak up BDB flags to avoid breakage from --verifydb
    - db->verify() has semantics unlike anything else in BDB and does
      strange things to a shared environment (causes persistent ENOMEM
      failures in the environment after a couple of attemps). Use a private
      environment and no CDB when verifying.
    - The whole --verifydb is rather useless, perhaps the better option
      would be deleting the lot...

commit b52c2d7e6d4d271347f631950ce67aab8aa2a48c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 5 10:10:10 2011 +0200

    Update translations yet again to pick up string removals

commit c6d98322f1d30ca8028efb63bfde24b554abfda1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 5 10:05:33 2011 +0200

    A largish man-page update
    - Remove rpmquery and rpmverify manuals for now, the functionality
      didn't get split to separate binaries afterall and the manpages
      were in a rather bad shape afterall.
    - Add some missing options, remove no longer existing options
    - Remove rpmdb, rpmkeys, rpmsign and rpmspec related switches from
      man rpm manual, add them to the "see also"-section instead
    - Adjust database file list on main rpm manual, remove it from rpmbuild man.

commit 6b6310b152475793a1272d8829a9df89a6edaee6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 3 15:49:50 2011 +0200

    Bump up default BDB cache- and allowed mmap size considerably
    - The former defaults come from nearly a decade ago, things have
      changed a bit since then... Even BDB's own default cache size is
      much larger (8MB) now than what we've been setting.
    - Using 64MB cache improves cache hit rate (and performance) massively.
      Last-gasp default to roughly BDB's own current defaults, higher
      settings in the default macro setup.

commit b76fa1a7fdf738ccd45dd70a5489d5110a6d5534
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 23 09:24:25 2010 +0200

    Require %files section for package generation again
    - Turns out this change does more harm than good, people are actually
      relying on this behavior to avoid zillion conditionals in the spec.
      We'll want a saner way to conditionally disable/enable packages
      but until we have that, revert to the former longstanding behavior.
    - This effectively reverts commit d010ec1c9026b35f5b2521be965c03c826894ce8

commit 454859f3cbe6f59cbf6d5905fe469d3bf64adf4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 22 14:58:11 2010 +0200

    Only sepolicy-plugin needs linking to libsemanage

commit d10b40301188f1b00cbdaf49b1c09786d546ede0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 22 13:11:40 2010 +0200

    Make rpmplugins.h private for now
    - We'll probably want to make some changes to the plugin type system
      before considered "ready", the current plugin slots are limited
      to 32 and Meego folks apparently want to use a largish number
      of slots. So we might want something like separate plugin type
      (collection, security... etc) and then have 32 slots per each type.
      Making this private for now to avoid having to potentially break
      the API shortly after introduction.

commit 00463e2fe0d115d873f141995e7d8b3041de7d36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 21 11:01:22 2010 +0200

    Move rpmtsSELabelFoo() functions to an internal-only header
    - The sepolicy plugin needs them so the symbols can't be hidden, but
      these are not something external API-users should be messing with.
    - Ultimately we'll want to push the actual labeling from FSM to
      the plugin, insulating rpm from all SELinux specifics, this is
      just a band-aid temporary "solution" to keep this out of the API.

commit 247c5431776299196cf32e0a3980a4b9516379ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 12:10:21 2010 +0200

    Free up a bunch of bits from rpmtransFlags_e
    - With all this unused junk gone from the bitfield, we suddenly
      have plenty of bits to play with...
    - Preserving the symbols, just defined to 0, to avoid unnecessarily
      breaking compilation of stuff that refers to the old
      unused/unimplemented flags

commit c1d8fc34f9d36b3f47e30489caab848dae1f151a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 11:58:44 2010 +0200

    Mark two more unused rpmts flags as such

commit 3b07e36fc430ae15a34a6b4c3249460ddf120c01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 11:50:30 2010 +0200

    Rip the remains of --aid and --nosuggest, except for the callback
    - Only thing ever using RPMTRANS_FLAG_ADDINDEPS and _NOSUGGEST was
      rpm itself, and we haven't had an in-rpm implementation for this
      since the broken "rpmdb as repo format" was ripped out in 4.6.0.
      We dont need these special flags to support the operation anyway,
      IF somebody sets the solve callback, it will be used and the one
      implementing the callback gets to deal with whether those bits
      should be added to transaction or not.

commit 89c2fd9f512df1e673a073229914b5371e619ea4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 20 11:38:21 2010 +0200

    Rip the stillborn, broken apply/commit transaction goo
    - This was beginnings of something ten years ago, and that something
      was long since abandoned. These never did anything useful
      that --justdb/--noscripts wouldn't do.

commit c91e00e81eabe287e6d0786bdc8b0a4f10f19d73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 17 11:00:41 2010 +0200

    Yet another pile of depmatch tests + added commentary

commit 1f037a030a57f23e8305aa509987260644db74d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 17 09:19:48 2010 +0200

    Add pile of further dependency match testcases
    - Test for provide ranges, versionless dependencies and different names
    - Tabify the test-table for readability + editability

commit 2c4899c8d7346ae3a9dbd830939fda29efb7a6a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 17:39:00 2010 +0200

    Add a pile of dependency matching tests for "obvious" cases

commit 8acb7f7c1d8d7e93a04ca214f98660a40ee2b319
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 17:18:21 2010 +0200

    Move python test-suite macros to local.at, rename
    - We'll want to use these in other test parts than just python. Make
      available everywhere and use "namespace" to avoid potential future
      clashes.

commit bf37b06d19b769572c06a667b31164d6ed279155
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 14:11:25 2010 +0200

    Permit comparison operator strings (<, >= etc) in python ds constructor
    - Creating ('foo', '>=', '1.2') dependency is much nicer than
      or'ing rpm.RPMSENSE_FOO for flags. Allow (but validate) the string
      usage, ints get passed as is.

commit 50ab0945c5ddffd354692f8c31616c3575ebbd11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 09:35:08 2010 +0200

    Unbreak file user/groupname handling in build
    - Fixes regression from commit a2d002a34bc567e8ce88c9ed30270d55d7c904fd,
      the librpmbuild "name cache" was used for unique string storage too
      and not just user/group-info lookup cache, duh.
    - At least for now, making this separation explicit in the code
      by separating the "stash this string" operation from the actual
      user/group lookups.

commit 353a7a81257e2a2a322b211b6ebf11b750ca6e68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 09:31:20 2010 +0200

    Add a "unique string cache" to rpmug
    - Used for storing unique strings just once

commit 3296c651b90b1caed216a3c65f024ea741ea13f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 16 09:28:34 2010 +0200

    Support GetEntry() for hashes without datatype too

commit 69187d6bb04d36934a7f9f276d90164e842ef54c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 11:34:50 2010 +0200

    Eliminate ancient dependency loop whiteout mechanism
    - Nobody has been relying on this for ages, and with the new ordering
      code since rpm 4.8.x loops are handled much more gracefully than
      before. RIP.

commit 439439db5324ed5f0a7b3d7c42ced8b0fbc0ccf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 09:48:35 2010 +0200

    Update translations to pick up dropped messages

commit bc457015f6c2c82f84a2ba7e805883944a64f679
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 09:42:03 2010 +0200

    Remove the now unused user/group caching code

commit a2d002a34bc567e8ce88c9ed30270d55d7c904fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 15 09:30:56 2010 +0200

    Unify the user+group caching between librpm and librpmbuild
    - The build version has getUidS() and getGidS() for which there is
      no counterpart in the rpmug api but there's not much point to them:
      they check whether the user/groupname exists but return our own
      string back to us even if it doesn't.
    - The build version also caches more than current rpmug, but has an ugly
      hardwired limit causing (in theory) errors that can't be nicely
      handled, and is the last piece relying on RPMLOG_CRIT actually
      terminating the process. The librpm version doesn't fail, in the
      worst case its just a bit slower. And that can be fixed anytime by
      making it to use hash tables for caching.

commit 2a54555aa2144f56a2ba518c48830c60da78c4d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 14 11:34:34 2010 +0200

    Split user+group caching to separate source (again), rename
    - We'll want to unify this and the similar caching done in librpmbuild,
      so we need to expose these in the ABI at least, rename to get
      them namespaced and use a separate source module (again) as
      this is a pretty distinct functionality.
    - This would really belong to librpmio but leaving here for now...

commit a26848218cfdefd0f8ee538a14a57c9fea4e7b2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 14 12:51:12 2010 +0200

    Remove hardcoded lock and mail group id's
    - Rpm has no business making assumptions about arbitrary group id's,
      if these are not available through getgrname() when needed,
      that's a packaging problem.

commit e40a7c61c422e79838226c69cb84f7a624fa6127
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 14:53:35 2010 +0200

    Cut down the initial db checked hash allocation somewhat
    - The instance numbers are often much much bigger than the number
      of actual packages, and the hash table grows automatically as needed
      so there's no need to over-allocate at the start. Apply some
      (fairly arbitrary) heuristics to limit the initial allocation size.

commit 78097d55f446c32911f629d4ce3ef79fe3c5c898
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 14:23:02 2010 +0200

    Replace verified header tracking bitfield with a hash table
    - No functional changes, but allows getting rid of yet another custom
      (re)allocation scheme + ugly bitfield manipulation macros. Also the
      header instance numbers can be rather sparse, making hash a natural
      fit for the purpose.

commit 5c43095e1d78b3befe93c746fd182746c3b96c92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 13 12:03:18 2010 +0200

    Implement transaction ordering hinting
    - Add support for new "OrderWithRequires: foo" spec syntax
      which has "if and only if foo is present in transaction, order
      the transaction as if this package required foo" semantics.
      While it looks, and in some ways is, a soft dependency, this
      is not the same as recommends/suggests etc: those have unknown
      depsolver policy dependent semantics attached to them, whereas
      ordering hints have a clear definition and is only relevant for rpm
      itself, depsolvers should not even look at the data.
    - This allows packages to express correct ordering for optional
      functionality, such as
    
          %post
          if [ -x %{_bindir}/register-component ]; then
              %{_bindir}/register-component %{name}
          fi
    
      If the package containing %{_bindir}/register-component is included
      in the same transaction, it makes sense to have it installed before the
      package(s) that use it. But as it is fully optional, Requires would
      not be appropriate. Using OrderWithRequires allows this to be expressed
      without dragging in extraneous dependencies for optional functionality.

commit 185de185262b2772fa692efc69633f41afc5832a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 16:18:15 2010 +0200

    Implement filtering of autogenerated dependencies
    - This allows both excluding entire paths from dependency generation
      and also excluding individual generated dependencies by regexes
      settable from spec or other configuration.
    - %__(provides|requires)_exclude regex controls is matched against
      generated dependencies, %__(provides|requires)_exclude_from is
      matched against the currently processed path, with buildroot
      stripped out.
    - We'll probably want some "higher level" macros to go with this,
      but the mechanism is usable as-is already.

commit 27a17ec74a21eb5c8ca44972e15531244881cc07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 16:12:06 2010 +0200

    Some further preliminaries for next bits
    - Add a helper function for freeing regex pointers
    - Move regMatch() to top of rpmfc.c, we'll need it shortly

commit ca3089f8bc4de7e2426b129f998a3c59daeebfd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 14:14:44 2010 +0200

    Refactor the helper execution out of rpmfcHelper()
    - Split the macro name generation and grabbing of argv-style output
      into yet another helper to reduce the clutter in rpmfcHelper()
      before adding more stuff in there.

commit a9bc1f51ae6bb6e1df0a5de71ac2a27b0932f144
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 12:33:46 2010 +0200

    Rename pattern -> path for, duh, path patterns
    - 4.9 alpha used "pattern" but better fix the stupid name now than
      have to live with the non-obvious name forever

commit f5a657112a8f9a107314dcd02767146e64953abe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 11:53:45 2010 +0200

    Support excluding by path or magic in file classification
    - %__foo_exclude_pattern and %__foo_exclude_magic regex'es now allow
      excluding attributes that would otherwise match.

commit 17445a390a8686de6d1532b03cd4dc8314850dd3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 10 10:36:45 2010 +0200

    Remove broken versioned provides rpmlib() tracking
    - Every single package since rpm >= 3.0.4 or so has a versioned provide
      through the automatically added N = VR provide, which hasn't gotten
      tracked in all these years. Drop the useless dependency.

commit 2a37d9a4dcfd172db9a63584ec2267702153e00b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 9 16:32:56 2010 +0200

    Add beginnings of python bindings test-suite
    - Add some basic infrastructure: point PYTHONPATH to the testing
      directory, helper macros to allow use of in-line python in test-suite
    - Throw in a couple of simple tests for starters

commit f63e19d2986609193b409fea7a52e5eb41478a48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 15:55:02 2010 +0200

    Kick out some long since invalid comments

commit 626e78429ff6dd77de77abb9073c3defacdd5726
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 15:31:01 2010 +0200

    A bit of sanity checking in rpmtsRebuildDB()
    - Don't permit rebuilddb on populated transaction as rebuild can
      and usually does change header instance numbering.

commit 4a3d7f2c7390c1c0039d2e5dfd08c9287ac55d46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 14:11:48 2010 +0200

    Bump HEAD version at branch-point

commit ed950990c4fd1ea5c9fffdf8e8874bef2199d6cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 13:59:43 2010 +0200

    Bump library sonames
    - Lots and lots of API changes, including what amounts to
      rewriting of librpmbuild external API... The only exception is
      librpmsign which is new and starts with 0

commit a5c247c549cdce14f863580a8af132720e9e851e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 13:38:59 2010 +0200

    Internalize most direct rpmdb manipulation functions
    - Since rpm 4.1 times, callers are supposed to use the rpmtsFooDB()
      variants instead of the lower-level rpmdb functions, and mixing
      them is not safe. Enforce the use of ts-level versions by making
      rpmdbLink(), rpmdbOpen(), rpmdbInit(), rpmdbClose(),
      rpmdbSync(), rpmdbVerify() and rpmdbRebuild() internal-only.
    - Doing this now to eliminate a few needs for breaking API again
      in 4.10 (one can wish, right?)

commit 0cc5e818a9305e7443dd46252b9d4af6833b733e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 3 12:44:49 2010 +0200

    Require pkg-config 0.24 for creating pkgconfig() dependencies
    - The support for --print-requires|provides was only upstreamed in
      pkg-config 0.24, prior to that it relied on distros patching their
      pkg-config. Rpm relying on non-upstream stuff is not good...
      Now that it's upstream we can make a clean break and simply not
      even try to generate the dependencies with anything older.
    - The upstreamed version behaves slightly differently from what distros
      were patching with, for rpm's purposes we also want
      --print-requires-private now.

commit ccab61193ea6d3e46997f49f0333f93a04b04750
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 17:17:01 2010 +0200

    Update translations to pick up recent changes

commit 534f512002d0a0d1148cdb225e190da352f60ad7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 17:15:18 2010 +0200

    Fix bogus error reporting from autogenerated dependencies (ticket #181)
    - Automatically generated dependencies do not relate to spec lines,
      use different error reporting for manually vs automatically added
      dependencies.

commit 449f6c4bea509c2ce86761974053ca7e5571f980
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 11:55:46 2010 +0200

    Oops, mono dependency extractors need a bunch of arguments
    - Regression from the initial conversion to the new system in
      commit 8c7e53ec80e84f48bfc67181f3d5dd81ecdb7523
    - The buildroot doesn't need passing as arg anymore but for now,
      just keep it compatible

commit c77f1c6522e4b1fafab9bc0340c7dea40445894d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 11:22:32 2010 +0200

    Make rpmdeps honor RPM_BUILD_ROOT if set
    - rpmdeps calls the internal dependency generator as an external
      dependency generator (yes its more than a bit wacky), and the
      internal generator needs to know the buildroot as path patterns
      expect non-buildroot paths for accuracy.

commit 801a5790d15e46cc88855e23a78d830ea1f157ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 11:18:19 2010 +0200

    Pass RPM_BUILD_ROOT to helper scripts through environment always
    - Many of the scripts need to know the buildroot in order to figure
      out correct resulting paths. This permits unifying the current
      adhoc methods of passing the data to the scripts.

commit a66ca57369d355c4555a3d486f0d61185f56b4dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 11:09:02 2010 +0200

    Remember buildroot directory in rpmfc struct
    - New constructor rpmfcCreate() which takes buildroot as an argument,
      and "flags" argument for future use. Calculate brlen at initialization
      now that we can.
    - Preserve rpmfcNew() as a compatibility wrapper as it's something
      somebody could, in theory, have used legitimately.

commit ab68421992b1a9d03685a8288f6bef401335394d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 09:31:07 2010 +0200

    Eliminate unused dir argument to getOutputFrom()

commit 73dec03ac143e7fc7eba82b2fbb8876f1b5aea2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 1 09:06:05 2010 +0200

    Unbreak perl module dependency extraction
    - Dumb attribute vs macro name thinko/typo preventing it from working
      at all, duh.
    - At least for now, revert back to magic based pattern: we dont really
      know where all the perl modules might live. OTOH this relies on
      the ugly "all .pm files are perl modules for now" hack inside rpmfc.c.
      We could of course use a loose /.*\\.pm path rule too for the same
      effect and eliminate the hack, but that'd leave strange stuff into
      fileclass tags when libmagic fails to detect its actually perl.
      Need to figure out something better here... maybe allow overriding
      libmagic detected strings from foo.attr or such.

commit 9173e0f85972849df37dd6b5f3bb38c98730d4dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 29 15:56:55 2010 +0200

    Fix long-standing segfault on unknown tags on header iteration queries
    - The simple and stupid tag cache was a bit too simple, failing
      to deal with unknown tags larger than our own tag table correctly.
      Use a hash table instead which is a far better suited for the
      sparse tag numbers anyway.

commit 8c925108fb90ebb0394874adbc1078d213cc40cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 29 12:28:47 2010 +0200

    Eliminate dead RPMTAG_INSTALLPREFIX tag extension
    - This hasn't been functional since rpm 4.6 at least: the tag is marked
      internal so it's not recognized as a valid query tag, and there's
      no point supporting this anyway, it was already deprecated backwards
      compatibility hack in rpm 2.x in 1998 era.

commit 4ddd89ce6924d7b6a0988d93d2b6a8cbe9a30a60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 17:52:06 2010 +0200

    We're already considering <pthread.h> mandatory header elsewhere
    - ... so might as well do so here too

commit 1a50e4a30be76c328eb9aee647d98818c53bb519
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 17:49:16 2010 +0200

    Axe the rpmsq debug code which was never getting built anyway

commit 94ce07d12f9d8ef69c4dfe2a945d633b7266ce4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 17:43:45 2010 +0200

    Lose all the stillborn code in rpmsq.[ch]
    - rpmsqThread(), rpmsqJoin(), rpmsqThreadEqual() and rpmsqExecve()
      have never been used... get rid of them while we're bumping sonames
      anyway

commit 7796da46f5a0f36a3d5601cd6c2e44a75869d53b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 17:42:57 2010 +0200

    Oops, missing include in previous commit

commit 8093218e8ca543c3631a18032b4fff902a845c0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 23 12:30:38 2010 +0200

    Permit unicode paths in rpm.fd() (RhBug:654145)
    - Python 3 has fs-specific converter function, for Python 2 just
      assume utf-8 and hope the best.

commit 466cd4642ba71c9d836d5e60a606e8330fe81316
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 22 11:40:44 2010 +0200

    Add bunch of rpmvercmp() algorithm tests to the test-suite

commit 95a52a37e8e9001b6bbb6950215da0aa7db12d40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 22 10:36:54 2010 +0200

    Move the current "version compare" tests to rpm install tests
    - These are more about rpm install/upgrade behavior than pure
      version comparison, although obviously version comparison is involved

commit 080007c90f285a57e6ba76c8c5fcd0d516d24ccc
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sun Nov 21 14:43:11 2010 +0000

    l10n: Updated Ukrainian (uk) translation to 100%
    
    New status: 746 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit e4f3fbfc9433c744e27dbf7727dd335d800ed628
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Fri Nov 19 08:13:59 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 746 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit b6c3aec7ab7c0d3a5312540e03a921c1d7c8c3f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 13:20:42 2010 +0200

    Update translations to pick up recent changes

commit b270b38a70518ecb3f9d5a6ccb691fd619f53196
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 18 12:50:55 2010 +0200

    Only force default umask during transaction (RhBug:494440)
    - For rpm itself forging global umask on init is kinda convenient, but can
      be troublesome for API users. This is especially bad in python bindings
      where just importing the rpm module silently changes process umask with
      no good reason.
    - Instead of global setting on init, only change the umask to 022 default
      for the duration of rpmtsRun() where it's necessary for consistent
      transaction results on implicitly created directories and files created
      by scriptlets. This way we dont affect callers and provide better
      "protection" for ourselves too - we don't know if API users change
      umask again behind our back if we just set it on initialization.
    - To make matters more fun, Lua scripts can change our umask. Save
      and restore umask when running Lua scriptlets.

commit 4287e2e6dff59ee9850b974722db3f124d42b384
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 17 16:27:10 2010 +0200

    Always exit rpmtsRun() via rpmtsFinish()
    - Fixes a memory leak from rpmtsSELabelInit()
    - Ensures we get out of chroot() on the way out

commit 3f5c10e9f6eb91bdfb8909c0e5e75a019315ccbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 17 15:54:38 2010 +0200

    Plug a minor memory leak in librpmbuild doPatch()

commit 319a04d74ace9bffc0042e13497b257cfd7a5d46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 17 15:33:30 2010 +0200

    Revert rpmquery/rpmverify split, ain't gonna happen this time around
    - Dealing with the inevitable fallout and popt-foo needs more time
      to handle, revert to the rpm 4.6-4.8 setup where rpmquery and rpmverify
      are just symlinks to /bin/rpm, allowing especially query aliases
      to work. Releasing an intermediate version where 'rpmquery --requires'
      and the like dont work would do nothing but hurt the future intention
      of splitting these things up for real.
    - This effectively reverts commit 26125015e4321765582dce0b76f83530e7604d4e

commit c43440f16b83ef53c8f4adff44de70925c19d266
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 17 08:52:18 2010 +0200

    Yet another round of enum-as-function-argument elimination
    - Pass the yes/no magic argument to headerRead(), headerWrite() and
      headerSizeof() as int instead of enum.

commit 1537f7d97efbb04ec1d2a8500bfaaa0c1991cdf4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 17 08:46:21 2010 +0200

    Avoid enum as function argument for headerConvert()
    - While this /nearly/ qualifies for enum, places like python
      argument converting will not be able to produce "true enum" values.
      So dont even try.

commit dc2ee980bc2ace6803a39394e9bc5b7bb8c71a5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 11:06:44 2010 +0200

    Remove RPMTAG_FILESTATUS tag extension
    - This is a bad "API" for verification, it can't be controlled and
      causes heavy IO where one would not expect it. Getting rid of it now
      before anybody starts relying on it...
    - Leaving :fstatus format extension alone however, it's at least harmless
      and produces a more predictable output than :vflags extension so it
      might be actually useful in scripts.

commit 5bd382f3a32762cdc1b4ed08753aaba73197d5bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 10:48:33 2010 +0200

    Remove no longer relevant references to build from arg sanity checks

commit 90440e20365d95d98f630d0c1015f5426d4a71cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 10:21:23 2010 +0200

    Remove absolute paths from our popt exec aliases now that we can
    - poptExecPath() pointing to meaningful place allows removal of these.
    - Make test-suite rely on the --initdb exec alias so we catch out
     if anything here breaks

commit 638fb7ba841441fd6624426997d4a644185f183d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 10:18:49 2010 +0200

    Make our popt exec path more useful, permit environment override
    - In 4.4.x days, we used to have bunch of helper binaries in /usr/lib/rpm
      executed through popt ping-pong, but there's nothing now that we'd
      want to execute through aliases. Instead use bindir for the
      default path, and additionally permit overriding through
      RPM_POPTEXEC_PATH environment variable (mostly probably useful for
      the testsuite)

commit ac0c2cd71f7e0246eca2388adc79c5bfe2669f98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 10:05:18 2010 +0200

    Eliminate pointless argument sanity check
    - --root is valid for all the remaining modes, no point checking for it
    - MODES_FOR_DBPATH is completely unused (and dbpath is a common option
      to all anyway)

commit 2a807909d9fe903f020e2a772126ee8d431c4215
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 09:56:57 2010 +0200

    Hide obsolete --nomd5 switches from help output
    - We dont want new users to pick up using these old switches but
      preserving functionality for backwards compatibility for now

commit f8752d2ca3bdaa3162f681b5c6f7973c3e171171
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 09:36:17 2010 +0200

    Basic protection against Lua os.exit() and posix.exec() (ticket #167)
    - Track posix.fork() and only allow exit() and exec() if the script
      has forked. There are other questionable items in posix extensions
      too but these are the worst offenders.
    - Using Lua registry for tracking forked status might be more Lua-way
      option but this'll do for now.

commit 3ce48d03062843a68837917064d51ebdff834a4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 09:17:25 2010 +0200

    Remove unnecessary includes

commit 0600287d5d9cf1fd36ab5400d92be9c90b676e82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 09:07:10 2010 +0200

    Rearrange new cli utilities' popt tables for nicer output
    - Use a separate table for the tool-specific options, include that from
      the "master" option table to get option group summary in --help.

commit 949d16b6db0ac5498cb2d3715854ee3cee16fd3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 15 08:55:56 2010 +0200

    Oops, rpmspec.c missing from POTFILES.in

commit 60c0eb40f2a0949a7f7065a7f42a9f185b3ca0ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 12 11:59:17 2010 +0200

    Get rid of 'rpminstall' binary & manual afterall, flip flop
    - It's a bad name for something that can also erase packages, leave
      the install/upgrade/erase modes for /bin/rpm instead.

commit 9c095fa87846bc268142cbaed325098e12e027ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 11 14:33:01 2010 +0200

    Remove superfluous dbiSync() call (refactoring thinko or such)

commit 481caa8cf9c0d623e97b262916f2aae8fd1d7623
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 10 13:59:53 2010 +0100

    Switch fsync off while building indexes

commit 11351f82e95a8ce708a550b9580d0f47d02ab433
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 10 13:16:10 2010 +0100

    Fix index auto creation

commit 3ed0c5b1ede9d5ce5d078a327bfd05d36c3d9393
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 9 11:59:34 2010 +0100

    Rename rpm.ii.offsets() to .instances() to match name of mi.instance()

commit 78e062526c4e161b2cd3048d26bb5698c8b34510
Author: Guido Grazioli <guido.grazioli@gmail.com>
Date:   Wed Nov 10 15:21:02 2010 +0000

    l10n: Updated Italian (it) translation to 100%
    
    New status: 741 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 1ba00100204711ed0454746dd294002f97931226
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 10 13:44:02 2010 +0200

    Don't restore db file atime/mtime after rebuild
    - The files are regenerated from scratch, involving header record
      numbers moving around, possibly removing broken headers and all.
      Don't pretend nothing changed when some changes almost certainly,
      occurred, various API users rely on rpmdb mtime for determining
      whether the db has changed since they last accessed it.

commit ad0687bd5726092d822886fdbf8aa55a63b4c4b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 15:56:12 2010 +0200

    Kill broken --rebuilddbpath popt alias
    - It's been broken because of a typo for the last ten years and nobody
      noticed, doesn't seem like a particularly useful switch...

commit 8507bfc187fe9aa454b4f5e7752aad5ab18f783d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 12:04:06 2010 +0200

    Eliminate silly "I am about to create a directory now" debug logging

commit 2694a929c4f75ad582915d8dde6e8a0f9e02643a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 11:59:17 2010 +0200

    Simplify the dbpath shuffle in db rebuilds a bit
    - We already have the non-prefixed dbpath at hand, use that instead
      of recalculating the path from the prefixed version

commit b3769ec81795dda770c0e682e8981d5b59aebbc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 11:45:31 2010 +0200

    Dont bother NULL'ing local variables on exit

commit dd39136893a7715742146a1378b0bbd1e3250d12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 09:54:31 2010 +0200

    Eliminate pointless (and racy) test for rebuilddb directory existence
    - mkdir() will error out with a reasonable error message of its
      own, no point doing separate, buggy test with access()

commit e6c874368d654e4b3c3a76845f24ff5fb25ce6d1
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 9 09:52:33 2010 +0100

    Remove unused local variable

commit 9f89a023695f44373d2f9c82808bfdbe2e1e93f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 09:30:47 2010 +0200

    Hide --aid and --nosuggest switches for now
    - These have been no-ops since rpm 4.6, but might resurface one day so
      leaving them around but out of sight...

commit ce7fbea620e4a55a18c737390b30844cf5125145
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 09:27:55 2010 +0200

    Lose useless --fileconflicts cli-switch
    - We always detect file conflicts (duh!) unless forced, no need for this

commit 7bc9cc79d19f61121b443b8e0e73364db47209c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 09:18:10 2010 +0200

    Move --dbpath into common rpm popt options table
    - This ensures its available in all our executables without adding
      umphteen copies into rpmpopt (after the cli splits, this was missing
      in eg rpmdb executable...)

commit 90eb3bac07173d9b248369653c0f24af78384f34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 9 09:02:21 2010 +0200

    Eliminate stillborn code

commit c019a81465848ba5897298b615e38f8ba2470488
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 5 09:27:21 2010 +0100

    Fix IndexIterator to not open an private dbi that never gets closed

commit 53e3ca23ea34dbdf44fab2da46e3ac1b64d32190
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 5 10:18:41 2010 +0200

    Const-correctness: rpmdsRpmlib() doesn't (and must not) modify tblp

commit f9a32ac3de9ad00d5a48e1b4178049052d77513f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 15:55:19 2010 +0200

    Lose the remaining dbapi references in code + configuration
    - Changing db_api to db_ver to force breakage on anything using the
      value, db_ver containing the BDB major version just to put something
      in the error messages where the dbapi version used to be.

commit 6a9bd4e97f07dd686ab20652011585c7cb97de17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 15:45:27 2010 +0200

    Eliminate useless dbapi version to internal openDatabase()

commit 2af1d74dbdfd396a573d2b23d9336153dc496b1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 15:38:25 2010 +0200

    Eliminate useless dbapi argument to rpmdbRemoveDatabase()

commit bb44cbc30c199ceeea055cb36f7645ed3bd6cbc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 15:34:59 2010 +0200

    Start eliminating dbapi leftovers
    - We've only one dbapi and new ones are not around the corner. It
      doesn't get tested and is likely broken at this point anyway,
      better just kill it completely. We'll need a new mechanism
      one day but lets worry about it when the day actually comes.
    - Starting with eliminating dbapi arguments to the internal database
      move helper

commit 0f9cef69c0b7f8a7cc3b0bbbbe6595583f6ced33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 14:09:33 2010 +0200

    Eliminate unused strlen() calls 'n stuff from skipInstallFiles()
    - These were used by the netsharedpath calculations which used
      to be inline here, but that's now in a function of their own. Also
      move the temporary variables to the scope where they're actually used.

commit bed4ada5c10f2fcdb2e90fd5168a2462d0136f1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 4 13:49:07 2010 +0200

    Remove nicely misleading #ifndef NOTYET case from skipInstallFiles()
    - No point "documenting" with reverse ifdef's what somebody was
      considering to implement eight years ago, as it is directory and
      file iterations can't be mixed as they both mess with fi->j.
    - Also eliminate pointless "can't happen" check - this never gets
      called with NULL fi in an element (which is already a cant happen)

commit d45cfdfc50c6e3662bfe91e62d4d97d28de6bdf8
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Wed Nov 3 20:41:24 2010 +0000

    l10n: Updated Ukrainian (uk) translation to 100%
    
    New status: 741 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit caf595813c88d4457576109fa0194c165b6c70ac
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 3 10:58:41 2010 +0100

    Merge rpmdbIndexIteratorKey and rpmdbIndexIteratorKeySize into rpmdbIndexIteratorNext

commit 1be06ec0bda642d62329c9e14adc94b1a123a740
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 3 10:35:42 2010 +0100

    Make ints in IndexIterator API unsigned as the interal types are

commit 7f949110693a44d798374ae6453a1120b3b66d2f
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun Oct 24 19:39:42 2010 +0200

    Rename rpmdbKeyIterator to rpmdbIndexIterator

commit 2946c185fa03c4847b32d230b10b641b4baa7466
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun Oct 24 19:10:35 2010 +0200

    Give access to the pkg offset and tag num of the index entry the key iterator is pointing to

commit 968461689c6eecb85e5634ef72f503cef34572d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 30 11:37:06 2010 +0300

    Const-correctness: source is a pointer to fullSource and must not be freed

commit f2039adf6fb486dc04c9cebdebcb1360e3509138
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 20:30:07 2010 +0300

    Const-correctness: rpmCharCheck() doesn't modify field, make it const

commit 325a9b1ba5a8a964b4773538cf73d4504aba7c05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 15:14:01 2010 +0300

    Add rough-cut man-pages for our new executables
    - Chainsaw relevant information out of rpm.8 and tweak a little bit,
      adding cross-references etc. These will need a lot more love though...

commit 52724dd5ae4f1633aa49c7007f234887bfdee933
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 13:55:22 2010 +0300

    More ancient cruft removal from the repository

commit e9e42004e9a39006274573323970f4cd4806bd55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 10:40:25 2010 +0300

    Lose ancient lclint remnants from the repository

commit a2a6060a6cc55b040d500e94290009d9f76a220f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 10:21:45 2010 +0300

    Eliminate unused truncStringBuf() function
    - This has been unused at least as far back as rpm 4.4 actually...

commit b4bc5e778e14027dd6057276a353c32baa64bd97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 29 10:12:53 2010 +0300

    Eliminate unused spectag and speclines goo from spec
    - These were used, back in the day, to implement a hidden --specedit
      switch, which in all its glory did: print a copy of a spec file,
      with group, summary and description looked up from specspo.
      This huge pile of junk was left behind from kicking out the
      useless "feature" in commits 7b95061d3b77d8e6b3c80e856b66f49b393511ba and
      0f991a14209054da7c45c46e96750738fc62874d.

commit d874afb5cde620c6f409b0c1a0ee31ccf6f30ce8
Author: Alexey Gladkov <gladkov.alexey@gmail.com>
Date:   Thu Oct 28 01:11:38 2010 +0400

    elfdeps: Fix version definitions processing
    
    The elfdeps doesn't parse the whole .gnu.version_d section.
    For example:
    
    $ readelf -V /lib/libbz2.so.1 | grep -A3 .gnu.version_d
    Version definition section '.gnu.version_d' contains 2 entries:
      Addr: 0x0000000000000884  Offset: 0x000884  Link: 4 (.dynstr)
      000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: libbz2.so.1
      0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: BZLIB_1.0
    
    Before changes:
    
    $ echo /lib/libbz2.so.1.0.6 | /usr/lib/rpm/elfdeps -P
    libbz2.so.1
    
    After changes:
    
    $ echo /lib/libbz2.so.1.0.6 | /usr/lib/rpm/elfdeps -P
    libbz2.so.1(BZLIB_1.0)
    libbz2.so.1
    
    Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>

commit 94ea5ee25f0d341274d204907d35233117e0f671
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 12:01:42 2010 +0300

    Fix the remaining enum abuse over rpmParseState in librpmbuild
    - rpmParseState uses might actually qualify for a true enum here
      but changing it would require changing half of librpmbuild and
      many of them mix the parse states, other error codes and whatnot
      in their types... just not worth the trouble, so use an int.

commit b3c6d5a39522815f86441dcb2512e2561ecdc711
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 11:48:49 2010 +0300

    Now, make getStringBuf() return const char * for correctness sake

commit 3418a1078f6c43db393ce792969900331729bfad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 11:47:29 2010 +0300

    parseScript() const pedantry
    - The string from getStringBuf() is not modified, so use a const
      variable for it, and a separate variable for the temporary
      line splitting for triggers

commit 342189d479760ad886818aebc6b31b265b9335eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 11:39:28 2010 +0300

    Use ARGV_t instead of stringbuf in changelog parsing
    - addChangelog() is a bad boy and modifies the string it grabs
      from getStringBuf(), be clean about it and grab a copy through
      argvJoin() instead
    - addChangelog() would be better off walking and parsing over the
      argv directly instead of a joined string of it all, but leaving
      that exercise for some other rainy day

commit 4100680ec20bce51e50e0d87203d5386c736f31c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 11:01:39 2010 +0300

    Use ARGV_t for temporary line storage directly
    - Similar to commit 1e3db59b568b1ff7f7e1f3285fc9b18567f2f2d6,
      no point using temporary string buffer when only end up splitting
      it into an argv for processing. Incidently this would've been
      a much less intrusive fix to RhBug:573339 than introducing
      a whole new argvSplitString() function... oh well. Take care not
      to introduce extra newlines in the process as argvSplitString() was
      eating them before - need to use appendStringBuf() for spec->prep now.

commit 3b99c79ef92fbf63f6b9ede762b7cdff169086d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 10:51:00 2010 +0300

    Pass the script to doScript() as const char *
    - doScript() doesn't do anything special with the script buffer,
      this lets us use const for the argument.

commit 3f152a1312d10a90249169f6b978d96b84e5991b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 10:45:35 2010 +0300

    Argument passing hysteria in doScript()
    - Callers know perfectly well which part they're passing to doScript()
      so they can just as well pass in the name and the scriptlet to run,
      avoiding silly stuff in the switch-case

commit 98aff6e658a15202ebacd49c8a970be7affb6e5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 10:38:40 2010 +0300

    Handle NULL sb in getStringBuf() cleanly

commit a32705e737988512113bf21c7d067de6f49b4470
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 10:24:20 2010 +0300

    Use ARGV_t for package fileFile, fileList and policyList
    - Similar to commit 1e3db59b568b1ff7f7e1f3285fc9b18567f2f2d6,
      all these end up being passed to argvSplit() to process them line
      by line in the end, collect them in the argv to start with saving
      a whole lotta huffing and puffing in the process

commit 1e3db59b568b1ff7f7e1f3285fc9b18567f2f2d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 28 09:54:53 2010 +0300

    Eliminate splitString() leftover braindamage in processSourceFiles()
    - Collect the filenames directly into the ARGV_t files instead of
      putting them to a StringBuf first and then argvSplit()'ing the
      result, doh. Leftover stupidity from eliminating splitString()
      usage in commit 94ff22b129aeb31c38848231e40f87aa4a5613a1

commit 91171b8df0f0d590e330aebaa754d0ec386de7c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 23:39:14 2010 +0300

    Bury stripTrailingChar() inside the only remaining user
    - There used to be some other callers too but seems they've passed
      away, leaving just the relocation code in rpmte.c. Which  means we
      can get this ugly bit out of the API.

commit 21e0e5cd482620bc73ff221b7ce26b41f97d7cee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 23:36:46 2010 +0300

    Bury StringBuf inside librpmbuild internals

commit b2a688ee00922811b6e77852bd43b7d0f5b0e0c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 23:28:39 2010 +0300

    Make rpmfcExec() internal
    - Nobody in their right mind is likely to be calling what's really
      an internal helper function in the build code. Simply missed in
      the first round of librpmbuild API butchery.
    - This eliminates the last remaining exposure of StringBuf in the API

commit 5e13a1234ef363733744cbed58d44a6b97b2201f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 23:20:58 2010 +0300

    Eliminate the sole StringBuf user in librpm side
    - Using ARGV_t here might not be exactly optimal but then manifest
      parsing isn't exactly performance critical either.

commit 71c8f49ca4b86527bc43bbff64a44ef36f938687
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 11:29:17 2010 +0300

    Fix BDB version check in configure to work with >= 5 too

commit a40598b228e3e67f4e7b4ec9ce9de6dddce33735
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 26 09:54:55 2010 +0300

    Separate match iterator allocation vs initialization
    - There's exactly one spot within rpm which needs the former behavior
      of rpmdbInitIterator() on a secondary index with keyp of NULL:
      rpmFindBaseNamesInDB(): it wants an empty iterator on RPMDBI_BASENAMES,
      which is then extended as it progresses. Starting with commit
      c70e076e088589f65160c05ee7cc8db0b3db6d7e, rpmdbInitIterator()
      however returns the actual index in that case, which is not
      optimal for rpmFindBaseNamesInDB(). Handle the basenames in db
      as the special case it is, and have it explicitly create an
      empty iterator with the new call.

commit 0d4b7b8f3a0a2f0de7a30fd51c86be6849e54329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 25 15:03:56 2010 +0300

    Create less draconian loops for grouped collections
    - Instead of creating a completely unresolvable tangle of pre-requisites
      between all collection members and their requirements, just add
      a single relation loop of all the packages in a (grouped) collection,
      effectively turning it into a strongly connected component. The
      loop-cutting algorithm has slightly better chances of surviving this
      while still enforcing the collection members to be installed in one
      lump. Also only process each collection just once.

commit 6281e4a215313f74244a6e3b027061d64d65895e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 25 12:44:34 2010 +0300

    Only specific cases of collections need extra ordering
    - Add a crude flags system to allow selectively enabling the extra
      grouping during ordering: currently only sepolicy collection needs
      this, and its very harmful when applied to more regular collections
      as it creates truly gigantic dependency loops that rpm has no chance
      of sorting out sanely.

commit 0d36cc3359b873551accf143efd3f41799f3b544
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Oct 23 10:07:31 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 741 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit bf1b4dede614fba082ac8abdf6ff3bb9560060ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 18:28:08 2010 +0300

    Eek.. librpmsign sources went missing in the move
    - Re-adding the files that should've gotten moved (not removed) in
      commit 9f2c1bd9096cbf382c864737a6565e5487767ce2
    - Mild wtf ... probably user (not git) error though. Too bad the
      broken state got pushed already :-/

commit 1cb6b12fd2d0367861cb3d2d13fd74a1451831b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 15:51:36 2010 +0300

    Bah, couple of missed places for librpmsign moving

commit 0f4e1b07e625dfd4b407f6978f87795755b70000
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 15:45:58 2010 +0300

    Teach python about the new RPMDBI_* tags

commit f0a76d51db74133f91341297556a714b1bea6452
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 15:02:14 2010 +0300

    Update translations to pick recent changes + files moving about

commit 9f2c1bd9096cbf382c864737a6565e5487767ce2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 15:00:49 2010 +0300

    Move librpmsign to its own subdirectory in the sources

commit 7c44f5797766f07a917f710bee71dfc88c9cbc6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 13:46:14 2010 +0300

    Brute-force s/rpmTag/rpmTagVal/ in entire librpmbuild
    - Many of these cases would be true enums from preambleList & similar,
      except for the list terminating sentinel. Just switch all the
      remaining rpmTag's to rpmTagVals to bring our enum-whacking to
      a grande finale.

commit 07e68a5a775598ac3c98fcc11dcf102b7b280cc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 13:31:34 2010 +0300

    Fix invalid uses of rpmTag/rpmSigTag in pack.c

commit 65358a072f8642c83104410497404921e0b5667e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 13:23:09 2010 +0300

    Replace remaing rpmSigTag uses with rpmTagVal
    - Some of these might actually be "correct" but about one case from
      librpmbuild cascades down here ... just not worth the trouble to
      keep the as rpmSigTags.

commit ac2efca8142a5bcb6db64d4811def77f32e56bd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:59:53 2010 +0300

    Use header datatype for hash algo instead of pgpHashAlgo enum
    - The digest algo can come from macro numeric expansion which is
      not an enum. Just use uint32_t which is how it'll end up in the header

commit ea951fca341a4ad7898e7bb468d4639d0f3cca64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:58:09 2010 +0300

    Eliminate pgpHashAlgo uses in librpm side
    - In all these cases the value comes from a non-enum source so
      just use an int instead

commit 3d8ce8142382f8cf99100f5532abeb2b87744d55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:39:04 2010 +0300

    Fix (ie eliminate) rpmSigTag uses in rpmchecksig
    - The sigtags originating from headers are not enums but integers
    - 0 is not a valid rpmSigTag value while the other cases would be in
      bestSig() and friends

commit 41e311c91dbb20f7df3f7f04317c26c14ac05bbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:35:56 2010 +0300

    Meh, one missed rpmTag -> rpmTagVal change in query
    - While the initial assignment is to true rpmTag, rpmTagGetValue()
      returns rpmTagVal, not rpmTag.

commit fe8265751ed592cb53dc7c3a7ffd00bac8a19ef1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:31:08 2010 +0300

    Couple of enum craziness fixes to package.c
    - 0 is not a valid rpmSigTag, just use rpmTagVal instead
    - use int instead of pgpHashAlgo for temporary variables, the
      originating data is not "pure" enum

commit e104b67237843a0ab7b12b17aa5647ddd64330fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:22:44 2010 +0300

    Eliminate use of pgpHashAlgo in rpmio interface arguments
    - While its use would seem kinda obvious here, in rpm context this
      information often comes from header tags which are plain integers
      and would require conversion/casting to the enum. What matters is
      the integral value, not it being actual enum.

commit 08b56c5304c89e37147254f4f15bafcbc5eef2ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:13:49 2010 +0300

    Couple of previously missed type changes in rpmdb code

commit 89f09dd3b005826682b70003fad3baf84f832d2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 12:07:57 2010 +0300

    Switch lowelevel header internals to use rpm_tagtype_t for tag type data

commit e8f777b69dd34f887b7e9c2398ccddd61e8af265
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:57:38 2010 +0300

    Switch python bindings to use rpm(Dbi)TagVal as appropriate
    - None of these are true enum uses as the value typically originates
      from python integers etc.

commit 0715b04664ce348b73f6981dd07f0b464dddd049
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:49:52 2010 +0300

    Change all internal uses of rpmtsInitIterator() to use DBI tags

commit 327b9a38180ff21b06331a65f3efc8986f0394a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:43:10 2010 +0300

    Switch lone rpmTag use in query to rpmTagVal

commit 4171b24699075557d7d7ecf35f26fd454bc490f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:39:53 2010 +0300

    Switch psm and rpmscript to use rpmTagVal where appropriate
    - There are a few true rpmTag uses though, leaving them as they are...

commit 327ad093ef20d25de2ce65eaa0c79525f1b25219
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:33:32 2010 +0300

    Change rpmfiNew() tag argument to rpmTagVal
    - The argument is actually unused, but that only makes it even more
      stupid to require C++ callers to potentially having to cast.

commit f955db901b1a84b39906281a7e35d3147ef3df69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:31:36 2010 +0300

    Switch rpmte API and internals to use rpmTagVal instead of rpmTag
    - Except for rpmteColorDS(), these can get called with intergral
      value instead of the actual enumeration

commit 73c079735a2af231ff63e7150fdee3b33bacbae6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:27:01 2010 +0300

    Switch rpmds API and internals to use rpmTagVal instead of rpmTag
    - None of these require passing "true enum", the value is what counts.
      In general, enums as function argument types are just a royal PITA
      from C++, avoid when not strictly necessary.

commit a68f648cf1a1821924e08b8f99c14af9da216b10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 11:07:48 2010 +0300

    Change rpmdb internals and iterator APIs to use the appropriate tag types
    - The actual indexes are rpmDbiTags, and the tag passed to
      rpmtsInitIterator() and rpmdbInitIterator() always refers to a
      database index, not arbitrary header tag. The tag passed to
      rpmdbSetIteratorRE() however /does/ refer to a header tag. This rather
      important distinction can actually be expressed in the API.
    - As the indexes are generated from header tags of the same value,
      most of these need to use the TagVal types instead of actual enums
      to avoid mismatches - the value is what counts, not it being an enum.
    - Several places still have variables misleadingly named "rpmtag" when
      they refer to dbi tags, but leaving them for now to avoid excessive
      changes at once.

commit 61a764010089211209f78cf535685bc777cd3c25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 10:17:55 2010 +0300

    Document our supported rpmdb indexes in the API via an enum of their own
    - Now that our indexes are actually hardwired in the code we can
      properly separate rpmtag vs db index names.
    - Defined similarly to rpmTags, with rpmDbiTag being the "true enum"
      and rpmDbiTagVal the integral type they present. As many of the
      indexes are defined via RPMTAG values (and need to remain that
      way to avoid breaking every single API user) we need to have a
      compatible type with rpmTags.
    - These would logically belong to rpmdb.h but keeping in rpmtag.h
      to have them available "everywhere", we can't go including rpmdb.h
      from rpmtag.h so keeping them here avoids potential unnecessary breakage.

commit a4bca08ae1541c2b45faa09c313ec2ae0bfe875b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:55:49 2010 +0300

    Change all the legacy interfaces to use the "concrete" integer tag types
    - More compatible with the 4.4.x definitions (should've been this way
      all this time) and none of these are "true" enum uses anyway

commit 757d0b443b486b8745aabc61fb6809ae1ecf14be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:48:24 2010 +0300

    Switch header APIs to use rpmTagVal instead of rpmTag
    - The header getters are used for both signature header and the "normal"
      header, and even beyond that there's no requirement for a tag in
      the header to be part of rpmTag enum. The headerPutFoo() variants
      technically do require the tag to be found in the tag table (ie be
      an rpmTag) but they still operate on the integer value, they dont
      require it to be a "true" enum.
    - Inside tagexts.c there are a few "true" enum uses in the
      internal helper functions, leave them be.
    - While this technically changes some the most commonly used API's,
      this wont affect callers really: if the callers were using an enum
      before, enum can always be cast naturally to an integer. The other
      way around was the problematic part (ie the braindamage we're fixing
      here now...)

commit 935d0654a612c28494d104f168f00e18f411d247
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:40:43 2010 +0300

    rpmTagFoo() getters take arbitrary integers, not rpmTag enums
    - Another step to clean up the enum braindamage...
    - rpmTag values are the only values that will be found, but it doesn't
      mean the values passed are rpmTag enum members - eg anything from
      a header is not. rpmTagGetValue() does come close to returning true
      enums, but there's RPMDBI_PACKAGES and then RPMTAG_NOT_FOUND, neither
      of which are actually tags.
    - Introducing a new rpmTagVal typedef. It's just an alias for the
      "lowlevel" rpm_tag_t type but visually more in line with the other
      rpmTagFoo bits - to be used with the "higher level" tags whereas
      rpm_tag_t is the "physical" type. Not that it makes any difference...

commit 4b1e48298324cab35e5cac030dac06e7f37bf66b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:37:20 2010 +0300

    Use concrete integer types for entryInfo and rpmtd members
    - Start undoing self-introduced enum braindamage from 2007: the lowlevel
      tag data in header structures are NOT rpmTag/rpmTagType enums, but a
      32bit integer of any arbitrary value. While these can be legally mixed in
      C the same is not true of C++ and even in C using enum here is not "correct"

commit 475244d14ad0ecefe602ce3ef0d1c2376b2460d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:36:43 2010 +0300

    Couple of doxygen argument mismatch fixes

commit bcdb82d60e5e16993d1737ccbd41e64cf7dbc405
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:36:29 2010 +0300

    Eliminate silly cast

commit 22eb568fdbc5c28bff00b1ea063493a508c079c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:19:42 2010 +0300

    Drop unused pubkeys index too
    - This isn't expensive to create but unused is unused is useless junk.
      Rpm < 4.6.0 did use this a lot, but nowadays we preload the keyring
      and do key lookups from meory so this isn't needed for anything.
    - 'freedata' argument of td2key() is now unused, but leaving it there
      as we might need tag data -> index data transformations in the future.

commit ddebf8b79ae512b93993fcc7d0e6b4447f8ffd41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 09:02:43 2010 +0300

    Drop filedigests index
    - Now that the sole "user" is gone, kill the stupid index. Speeds
      things up considerably: eg on database rebuild, the file digests
      index generation amounts to roughly one third (!) of the entire time.

commit 534d0f77be4de6d7f423c519d7b7ec4f41c8f32a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 22 08:58:06 2010 +0300

    Eliminate useless --fileid query selector
    - Finding out which package provides a file with a given digest
      is just .. useless functionality. Being next to useless is one
      thing, but we pay a high price for this particular uselessness:
      the index needed for this is one of the biggest and most expensive
      indexes we have.

commit 5e007f2258b845cfbe0a66bc8bf09eb9bdc2c9bc
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 21 11:59:14 2010 +0200

    Fix Python bindings and raise KeyError when there is no index for the given tag

commit f1883045409930f186fd540f7df9688a4b5811b4
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 21 10:41:49 2010 +0200

    Fix typo / erroneously deleted line

commit 5914d0ec2995d4f4d128c3e96b79f22ec8f48d64
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Dec 15 13:15:10 2009 +0100

    rpmdbKeyIterator: loop over keys in the database indexes

commit a916e399ab0734816f1e4567b34db0b55e9f5c7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 16:38:46 2010 +0300

    Hardwire the fundamental BDB access method configuration inside rpm
    - The different access methods have different capabilities and are not
      interchangeable in all situations. Currently we can use either
      hash and btree but this might not be always the case for all indexes.
    - We'll eventually want to force-switch the index types to our liking,
      but for now follow these simple rules:
      1) For existing databases, we accept both btree and hash
      2) For newly created databases, the main Packages database remains
         a hash, all indexes are btrees.
    - Rip out nearly all the rest of the remaining macro configuration.

commit ca36c2a12bcde1340da0421a788863f83aaccd08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 15:23:54 2010 +0300

    Eliminate now unnecessary db rebuild macro goo and other leftovers
    - Rpm knows how to handle db rebuilds by itself, no need to expose
      these bits to configuration.
    - Also rip out a pile of other leftover "documentation" about BDB
      internal switches.

commit 2fa98b9e6ab00ee0e8200b405088130cbd626a32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 15:11:20 2010 +0300

    Lift fsync enable/disable configuration handling to rpmdb layer
    - Add a fsync disable/enable function in the backend, call from
      rpmdb layer: on initial database creation (including database
      rebuild), it's "safe enough" to disable fsync as there's no former
      data to protect. Considerably speeds up initial install to eg chroots.
    - Always re-enable fsync when closing a read-write database - at that
      point there /is/ data to protect.

commit 5da136fa1d4edf23b20d6d8d91bd14c7c15e62de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 14:16:29 2010 +0300

    Hardwire the fundamental BDB subsystem configuration inside rpm
    - BDB subsystems are not something that can be just switched on and
      off like that. If we want to support different configurations they
      need to be rpm-specific settings such as transactional/concurrent
      setting, not an arbitrary pile of flags that cause stuff to blow
      up when abused.
    - Eliminate dbi->dbi_eflags completely, the environment opening flags
      can be fetched from BDB where needed. Subsystem configuration from
      macros is no longer looked at or honored, but leaving the option
      table there for debugging output at least for now.

commit c155896b4b9ed548d1885d008e7ba5aea3fbef79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 12:46:37 2010 +0300

    Lift missing index detection to rpmdb layer
    - Avoids unnecessarily modifying the parent rpmdb from backend layer
      and since its the rpmdb layer that needs to deal with creating
      indexes anyway...
    - Also avoids bumping the counter in case of errors (eg permission denied)

commit 24c3da8da2cb34278caf6330a25f64c9ae11c635
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 12:36:38 2010 +0300

    Avoid umphteen unnecessary calls to rpmTagGetName()
    - These aren't exactly hotpaths, but since the dbi always knows
      its name already there's no point going through rpmTagGetName()
      bsearch()'es and all for these.

commit 00454b620862af9d5952f103b196aa916d133b6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 12:23:14 2010 +0300

    Add a getter for dbi name

commit bf8cfe884bf24f531f9b318bc8288951a07802c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 12:13:33 2010 +0300

    Clean up rpmdbOpenIndex() logic a bit, no functional changes
    - dbi is guaranteed to be NULL on non-zero return from dbiOpen(),
      dont bother triple-checking and freeing NULLs
    - rearrange the success case a bit to pave way for other things that
      we'll want to do here

commit 5fe4da6e40452304539bb1ecb2bb050717812593
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 11:12:08 2010 +0300

    Lose leftover, unwired pagesize db option
    - db->set_pagesize() got semi-accidentally nuked in commit
      f2957887fb7f80c2dbf6f0b4973c72ca66b0d2e8 but we really dont want
      folks to mess with this anyway - filesystem I/O block size is generally
      the best performing and safest option here.

commit 6173699a3a00ad0bbc0cf4051e8f737f543e681c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 10:57:53 2010 +0300

    Avoid directly accessing bdb-specific dbi members from rpmdb layer

commit 3714d9e22382b4db528ea97abc3d948f905d43df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 20 10:52:53 2010 +0300

    Add a backend-independent flags + getter for dbis
    - Keeping up pretense of being backend independent where its easy
      to do... and rdonly+created status are rather obviously universally
      mappable

commit a43ea6c54dd059e1a7eef8365d0674799f574764
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 17:27:31 2010 +0300

    Pass rpmdb, not dbi to db_init() and db_fini()
    - These are global operations and dont need the individual dbi for
      anything but finding the parent rpmdb. Another step closer to
      decoupling db environment from dbi's...

commit 3312b01fdcc554da30babb525f7fe383d48f86f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 17:04:20 2010 +0300

    Add a no-dbi version of the db error reporting function
    - cvtdberr() only needs the dbi for figuring out the rpmdb api level,
      split this part out to separate function so we dont need to carry
      dbi's around where they dont belong

commit f5808135b70be9ea742a2dce4e2ec87d8932b9de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 16:44:46 2010 +0300

    Move db environment-level configuration out of per-dbi structs
    - Carrying global configuration in all dbi's is just dumb. First
      step towards fixing the stupidity.

commit 738c6e0ca76665387ef817fe25ded4f9ead5060b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 16:14:24 2010 +0300

    Group the database options to per-dbi and per-environment groups
    - No other changes

commit 43942e79a1ea955b2b7ba3a635921f579455cb5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 15:40:22 2010 +0300

    Python dbMatch() doesn't take (or need) len argument, fix the docs

commit c24d1fb4efcc5f09d8f126824a3ed2fc771f5a1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 15:29:54 2010 +0300

    A few more rpmdb variable/argument renames, missed in previous round

commit 11f251dfa65afe1c52155713bcf61bd77e1410fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 14:37:40 2010 +0300

    Decouple dbiVerify() from dbiClose()
    - When RPMDB_FLAG_VERIFYONLY is set, dbiOpen() now only creates and
      returns the db handle without actually opening it. With this we
      can sanely implement dbiVerify() as its own separate functionality,
      also avoiding the need to have duplicate code for creating and
      tearing down the db environment (which in turn kills our ability
      to use DB_REGISTER if/when the day comes)

commit a58dc457275d506eb28197c4058337ff5ef8f76d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 14:13:58 2010 +0300

    Add flags argument to dbiOpen(), pass through from rpmdbIndexOpen()

commit b0433ea8deaf995a383cfb5e1324dddb9ee610e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 10:58:25 2010 +0300

    Oops, dumb copy-paste error causing --verifydb to --rebuilddb instead

commit 1eecd7b118d2b669f84885cd07cbb1f75c6d8dbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 19 10:41:07 2010 +0300

    Rename rpmdb variables in the backend to rdb to distinguish from its type

commit b810869a0aa7227b2faeb91b4a958b7215e94561
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 15:03:35 2010 +0300

    Generate missing database indexes automatically
    - Now that we know whether backing files were created on open, we can
      easily detect the need for index generation too. As index generation
      requires expensive plowing through the entire Packages database, we
      to create all missing indexes at once instead of risking several
      loops over Packages. So if we spot a missing index, we open all
      our indexes and generate all the missing bits in one go.
    - Berkeley DB does support on-demand index generation for secondary
      indexes created with db->associate(), but as rpm's indexes are in
      a slightly different format (they store tag index besides the
      header number), using it would require various other
      changes too. Also the BDB indexing callback recieves the data
      in serialized format, which in rpm's case would mean either
      headerLoad() for every single indexed bit, or passing the in-memory
      header through some other indirect means.

commit e8aa50d1881b5ab2ceeb63046fc2f5ede377f1bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 14:35:57 2010 +0300

    Create indexes too on rpmdbInit() (ticket #156)
    - Seems strange to have an initializer function which doesn't
      initialize
    - This leaves RPMDB_FLAG_JUSTCHECK unused...

commit 650c9e5e6b93f9d135bf46f33b69e68e822b2a1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 14:31:55 2010 +0300

    Avoid returning NULL from prDbiOpenFlags()
    - While glibc can turn NULL %s to "(nil)", this is not required in
      any standards. Avoid embarrassing segfault from a silly debug message.

commit c1620e511d0a8613b01bd3ba5b487c027572ce44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 13:18:19 2010 +0300

    Remember if we created the db backing file on open
    - Instead of trying to figure out suitable flags beforehand, try to
      open the db a couple of times with different flags. This way we know
      whether the backing file was created on open or not. Also simplifies
      the flag shuffling somewhat.
    - We also do this when O_CREAT db_mode, for the same reason: rpmdbInit()
      can be called on existing database too, and we want to know which
      of the files actually got created.

commit 7a9da58298ad4b1c1e21b01de97f6d7aba2ca543
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 18 12:09:28 2010 +0300

    Lift dbi fcntl() locking out of dbiOpen()
    - Just to make dbiOpen() shorter and easier to read, locking is
      different from opening...

commit 2139babf96daa90ad6834b6c04cf038152be8141
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 17 12:20:48 2010 +0300

    Lift secondary index updating out of rpmdbAdd()

commit c70e076e088589f65160c05ee7cc8db0b3db6d7e
Author: Florian Festi <ffesti@redhat.com>
Date:   Sat Oct 16 09:45:13 2010 +0200

    Support looping over indexes when giving keyp=NULL to rpmdbInitIterator()

commit d883d17410a6b87a6dcc0123d88d4e6edc006d72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 14:29:28 2010 +0300

    Add python bindings for librpmsign
    - Similarly to the build-bindings, permit import failures as librpmsign
      might not be installed and we dont want to force the dependencies
      into every single installation

commit 309b421cf74a079189f328271ce977e9f036d5a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 14:20:30 2010 +0300

    Oops, fixup rpmsign exit codes on success

commit 8186b59e684ba098da8005b10d7f427427f58f41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 13:37:42 2010 +0300

    Make rpmPkgSign() actually honor the signing arguments
    - For now just keyid string and hash algorithm supported. The
      macro fiddling should perhaps go deeper into the signing process
      but this'll do for now...

commit 6685af178691b6f2e44a54cd7c20ec2e3b657712
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 13:20:40 2010 +0300

    Nuke rpmcliSign() out of the orbit

commit f5e2b115db4db554cb05213535c5be4098f70bea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 13:19:35 2010 +0300

    Make rpmsign use the new signing interface (minimal conversion for now)

commit e4816d8819343677f810816ca1ef3ff66d8086e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 13 13:11:54 2010 +0300

    Add beginnings of a real API to librpmsign

commit ec6226dd17c674f174be8cfdecb07ac78e6019bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 16:58:09 2010 +0300

    Move plugins out of rpm config directory
    - Plugins are by their very nature arch specific, while /usr/lib/rpm
      is a hodgepodge of all sorts of ... stuff, most of which is
      arch-independent and all. Use %{_libdir}/rpm-plugins to cleanly
      differentiate 32 vs 64bit plugin paths

commit eea47aa9a7e7779cb35e8e6e690424427fe243c1
Author: Colin Walters <walters@verbum.org>
Date:   Tue Feb 23 11:02:46 2010 -0500

    Add 'VCS' key
    
    Spec files have a lot of metadata about a project.  However one of the
    most key components is the upstream version control system which was
    notably lacking.
    
    Resolve this by adding a "VCS" key.  There is no specification
    for contents of this key, given that the set of version control
    systems (and features thereof) are not well-defined.  However,
    recommendations are:
    
     * git: This URL should be in a form that can be passed to "git clone",
       with the additional feature that an optional fragment identifier "#foo"
       denotes a branch or tag.

commit 22053e0daecdb180f45a7c74cba04ab16825f262
Author: Colin Walters <walters@verbum.org>
Date:   Tue Feb 23 11:02:46 2010 -0500

    Add 'VCS' key
    
    Spec files have a lot of metadata about a project.  However one of the
    most key components is the upstream version control system which was
    notably lacking.
    
    Resolve this by adding a "VCS" key.  There is no specification
    for contents of this key, given that the set of version control
    systems (and features thereof) are not well-defined.  However,
    recommendations are:
    
     * git: This URL should be in a form that can be passed to "git clone",
       with the additional feature that an optional fragment identifier "#foo"
       denotes a branch or tag.

commit 73de3a22f06f5e7cd28b09318d7273b5e7b2e234
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 15:39:52 2010 +0300

    Add --requires etc popt aliases for rpmspec too
    - In addition to the regular dependencies, add --buildrequires
      and --buildconflicts which are just --srpm --requires and
      --srpm --conflicts in reality

commit b611e57e667455ede8706094ce1ff50f6b06a32f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 15:10:26 2010 +0300

    Rpm option descriptions begin with lowercase letters, follow suit in rpmspec

commit 6f8125c9fdcf852fb60e21d2cec54dedc62307c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 15:07:38 2010 +0300

    Only queryformat is relevant for specfiles
    - Instead of including the entire rpmQueryPoptTable in rpmspec and
      showing several bogus options, support --qf/--queryformat "manually"

commit 999431a4ab356c84c7488f6aff35b598b8a86586
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 14:56:18 2010 +0300

    Support overriding target for rpmspec queries too

commit fb369ee0cc4a2990d3d5569302386b70dfa6f096
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 14:44:56 2010 +0300

    Support both binary/source queries in rpmspec tool (RhBug:540807, ticket #89)

commit 190b58746c062994e8e533f299871910636a45ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 14:41:35 2010 +0300

    Add support for querying source rpm from spec too
    - Handle source rpm query as a new query source type RPMQV_SPECSRPM,
      rename the binary query to RPMQV_SPECRPMS, with RPMQV_SPECFILE
      as a backwards compatibility alias to RPMQV_SPECRPMS.

commit 4c155d9ca8db9e5672e1f278ef76b68dd828f863
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Sun Oct 10 07:36:34 2010 -0700

    Add a python accessor for the source header
    
    Make the source header visible to python code.

commit 7293d4aaf590d63d48cc707578008e7d1021b435
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Sun Oct 10 07:35:31 2010 -0700

    Add a getter for the source header.
    
    It appears the access to the source header has started to get buried
    into usability so add an getter so the implementation can change a
    little without breaking callers.

commit 0d70636c6dde2a5b40edb0ed22afaf311addf27c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 12 09:27:46 2010 +0300

    Fix misc/ include path
    - -I$(top_builddir)/include/rpm was never right, and now with fts
      moved into misc/ this shows as rpm/rpmutil.h not getting found.

commit 26125015e4321765582dce0b76f83530e7604d4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 8 11:59:51 2010 +0300

    Further split the cli-tools to rpminstall, rpmquery and rpmverify
    - Installing/erasing packages, querying and verifying require different
      amount of privileges on the system. Having separate binaries for
      these functionalities permits limiting the capabilities through
      SELinux and other similar security mechanisms: for example quering
      needs much less privileges than installing.
    - For now, leaving /bin/rpm to be the Swiss Army knife it
      always was: capable of install/erase, query and verify. Eventually
      it should be turned into just a dumb wrapper which just execs
      the per-functionality binaries, but leaving that for later stage,
      as popt exec/aliasing doesn't quite seem to up to par with the task.
      Having the separate binaries available at least makes it possible
      for callers to specify the amount of privileges they need.

commit 9138fec0f43610187df09ba87cd11cf6346ea3b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 6 12:53:34 2010 +0300

    Remove filesystem related leftover API definitions
    - This should've been in all the way back in
      commit 51c96db0464f86901b328899106dd8d4159dd878

commit 4846346c18067ab667d9c53113c7b3fe46be313f
Author: Aron Griffis <agriffis@gentoo.org>
Date:   Wed Oct 6 10:55:09 2010 +0300

    Use the right variable for absolute path (ticket #137)
    - Fix the problem where rpm attempts to use the tarball as the specfile

commit 8a9e1e34daa2524b8fb59041abcce615ae045d0e
Author: Michal Čihař <nijel@debian.org>
Date:   Wed Oct 6 10:26:23 2010 +0300

    Fix generating platform config for arm
    - We need to generate platform/arm-linux as well, not only all substitutes.

commit 4e8d7c1a46a53bd3422f94c82f7c3a36759aedd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 5 09:53:13 2010 +0300

    Require file attribute config to have .attr suffix
    - Allows for more precise globbing, avoiding potential issues from
      leftover / accidentally placed files in the fileattrs directory.

commit fb4bc9b7d758798ccca698a52f650cdeea7c7ff5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 5 09:35:45 2010 +0300

    Replace __foo_exeonly attribute with a more generic mechanism
    - Use a list of text keyword tokens to allow for more flags without
      requiring adding special processing for every new flag we make

commit 152d1f0bc4b3b99ca72d994f90fee0f91f627daf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 5 09:11:13 2010 +0300

    Tolerate NULL args in argvSplitString()

commit 0048c394797a903a693753e543337387db20e295
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 4 16:04:47 2010 +0300

    Add cli switches to override signing key and digest algorithm

commit 1325fea3109030a657340a907faf4c724155eb12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 4 14:35:08 2010 +0300

    Adjust rpm.pc private libraries
    - we no longer have sqlite3 lib ever, but we might have lzma/xz libs

commit 59b275ddc7346fd8f2f9a0267949c457f4297eee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 4 14:02:53 2010 +0300

    Further streamline rpmcliArgIter() and friends
    - Turn applyFilters() into match iterator initializer which optionally
      applies filters if present
    - Handle NULL iterator error codes centrally in rpmcliShowMatches()

commit e8a1f5da3e86a6c07f87c577ddfd2a1c2cc0b2aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 4 13:33:18 2010 +0300

    Lift specfile query out of main rpm(query) into separate binary
    - Avoids having to link /bin/rpm with librpmbuild and everything it
      might bring in (eg libmagic) which are not needed for core operation.
    - Minimally preserve backwards compatibility with popt exec alias

commit e188767e3ee75e9417e361e1d005195c3efa0b99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 4 12:51:32 2010 +0300

    Simplify queryformat popt callback handling
    - No need to separate single vs multiple queryformats,
      rstrcat() works for both cases. Whether catenating multiply specified
      queryformats make sense is another question though...
    - This can't get called with NULL arg (or then popt screwed up its
      argument checking), dont bother checking.

commit 8bc1c54bc90dc587be5ffc9efbe4cbf3188cc8d2
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Mon Oct 4 09:32:46 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 741 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit e72895693e6c1728b62f6b622909603bee12c6c3
Author: Guido Grazioli <guido.grazioli@gmail.com>
Date:   Sun Oct 3 20:05:32 2010 +0000

    l10n: Updated Italian (it) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 5f1235d3a86bb629af056cc7d10a603ccd0bfdbe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:30:31 2010 +0300

    And now python bindings are really free of librpmbuild internals
    - Just one leftover offender in the form of forgotten type rename
      from commit 675bfca5cc300105f7859f028cc00ea036e72966

commit 0334b82280de0f42dcca867397fb9e6bb72c3b30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:28:40 2010 +0300

    Kill spec.buildRoot from python
    - We /could/ of course add a getter for this but ... sorry folks, what
      rpm happens to use as buildroot internally isn't anybody elses
      business.

commit d081f19945d2feb3f74e9460e59f74fcc6ada438
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:23:27 2010 +0300

    Use the new spec section getter in python bindings
    - Whee, for a change more lines removed than added...

commit c8ddd0ca7f85085f1c73596d0921a25bb8b43c30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:14:34 2010 +0300

    Add getter for spec script sections too, bah...
    - Pretty dumb and all, but to avoid breaking some python users
      (some folks apparently have found /some/ use for these...)

commit 7f16947a0a16c1e6e2d38f5d3f5b20fa2f4ee4ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:05:35 2010 +0300

    Use the new spec src/pkg API in python instead of direct access to spec

commit f94d1507e5a3e82293061c9c3dc4d34008cee390
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 15:03:22 2010 +0300

    Add minimal API for spec packages and sources
    - Iterators for both (these could easily done as self-iteration over
      ->next but to keep the api similar to other rpm iterators...)
    - Minimal getters to satisfy python bindings needs

commit 675bfca5cc300105f7859f028cc00ea036e72966
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 13:32:28 2010 +0300

    Use namespaced names for spec pkg and source opaque typedefs
    - Leaving the painful and somewhat pointless exercise of changing
      all the Package and Source references for another rainy day

commit 1933cb5a9db89375fce7cfe5886b2873a4ffb438
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 13:25:38 2010 +0300

    Finish off our librpmbuild API mass-murder by turning everything opaque
    - These huge structs have no business being visible to the public.
      Just brute-force split all remaining spec internal structures into
      another internal header, including where needed.
    - The only thing accessing these structs outside of librpmbuild is
      the python spec bindings. Temporarily permit direct access to
      rpmspec_internal.h until we have the necessary API in place.

commit a0444009a17635ffa04e6fc747f6e6cbfd4d409d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 13:21:00 2010 +0300

    rpmfcGenerateDepends() is internal, move away from public header

commit 45a75f31f9bbcb6ddb627c9dcc2b61ced82f3380
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 11:46:00 2010 +0300

    A few missing internal markers on librpm side too

commit a462500b631bd0719fcddac31440394f77e62d5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 11:32:31 2010 +0300

    Whoops, missing RPM_GNUC_INTERNAL on stashSt()

commit 84747fb22e9ba75cc7c6aa2ad980ed3897f86772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 11:22:13 2010 +0300

    Stuff fts into a convenience library in misc/
    - This is not really native rpm code but a copy of (glibc?) FTS
      implementation, with slight modification to avoid symbol name
      collisions. Stick it where the sun don't shine, we'd eventually
      like to get rid of such bundled external code.

commit ecf7ce8b2b061a7b0b2cfa27183e7f64e8e3336b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 11:17:24 2010 +0300

    Lose rpmio-url leftovers from fts
    - We never pass url's here, just plain old local paths

commit bbeff03dc350a70d812ed634102c01e642db8882
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 11:05:45 2010 +0300

    Force shared build of python extension
    - Other than seeing "does it compile", statically linked python
      extensions make no sense as they're unusable to python.

commit a4adf99b0f81c2ab72ade92850cfb9b5cf8ffbca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 10:43:55 2010 +0300

    Add configure switch to disable plugins build
    - For now this is really just to allow building statically while
      hacking, for "real world" use this has implications on collections
      support etc which is not handled by this patch.

commit 8b4ccff2e36876dcfbdba9f38f4ec9dcdef2166e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 1 10:34:36 2010 +0300

    Handle enable/disable python to configure.ac more sanely
    - Conditionalize the python subdir on toplevel make instead of
      python subdir makefile.

commit 6059911eb827152e22a8f3bb061147734a0ab283
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 16:44:19 2010 +0300

    Remove configuration for no longer existing db indexes

commit 7d290779219f34dd53e11a2f2fa3b31b905c040c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 16:15:04 2010 +0300

    And now sighdrPut() can be buried back into signature.c

commit a6899e30d992ee8fbdf13bdd93688d95db210320
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 16:05:07 2010 +0300

    Eliminate some redundancy in signature sanity checking
    - Combine validation + actual insertion to header: rename validatePGPSig()
      to putSignature() and move the details of parsing gpg generated
      packet, validating them and finally inserting to header in there.
    - The signature generation code is mostly now in reasonably sized
      chunks, although there's room for further sanity here - the call
      chain is ridiculously long.

commit 1e63ce20bd9677f4a8f964364f9845ebff7b0c24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 15:39:10 2010 +0300

    Simplify the signature generation somewhat
    - makeGPGSignature() callers only used the numerous return values
      for passing them into headerPut() through sighdrPut(), might as
      well have makeGPGSignature() do that part. It can also decide
      the necessary tags by itself, it just needs to know whether its
      a header-only signature or legacy header+payload signature.

commit f386109bcef9acdcc2ba984148f1c9050108caa0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 15:07:21 2010 +0300

    Split the setup + running of gpg helper to a separate function
    - No functional changes (supposedly...), just refactoring
      makeGPGSignature() to smaller bits

commit 69dd394982167aee847e48ac36bcf69cf70fc665
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 13:37:26 2010 +0300

    Eliminate the pointless switch-case from makeHDRSignature()
    - If we can't trust our own code to supply appropriate tag here...

commit 64058fc03fc31838e9bc1974997dcd56f9e3ba74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 13:26:46 2010 +0300

    Start ripping through the hysterical signature generation tangle
    - rpmGenSignature() only ever gets called with RPMSIGTAG_GPG, eliminate
      the pointless argument.
    - Eliminate the useless switch-case in rpmGenSignature(), nothing
      ever directly called it with RPMSIGTAG_DSA/RSA, those got generated
      as a side-effect of the RPMSIGTAG_GPG/PGP. So we just need to generate
      the, duh, signature.

commit bf5da95131699a4d970f3f77888c36508b78e502
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 12:47:06 2010 +0300

    Clean up makeHDRDigest() a bit
    - No need to separately free this stuff (at least anymore), it
      gets done on exit anyway.

commit 9f79fc6e1a59990b5bfb42b7e2d96dfc6b3525ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 12:38:16 2010 +0300

    Make rpmGenSignature() static
    - Having it in signature.h is just wrong as it lives in a different
      library now, and nothing outside rpmgensig.c needs it anymore.
      Should've really been in commit 23a9d64ea40cfb526d0a12ba7350918dc335a305.

commit bbbd7a4255ad3f9b14b6705ecb4c79c93ebe4f08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 13:09:31 2010 +0300

    Whoops, couple of includes gone missing in the shuffle

commit 9fec43d62950d543e280635530ad0efed6be50e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 12:26:38 2010 +0300

    Update translations to pick up stuff moving about etc

commit 6d04be21eb6384bb56472fc774d9d6c4ba00b438
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 12:01:49 2010 +0300

    And finally split the signing support into a separate library
    - For a library with just one public function this might seem like
      a huge overkill but it permits cleanly separating dependencies:
      nothing but package signing requires GnuPG. This lets the signing
      support be stuffed into a separate package, avoiding having to
      drag gpg in on every installation (signing isn't something everybody
      does) and without having potentially broken interfaces in the API,
      essentially solving RhBug:624585.
    
      It also liberates signing to use libraries that might be off-limits
      for the core rpm, such as perhaps in the future doing signing
      by ourselves with the help of something like gpgme (which requires
      far too many things to drag into core rpm).

commit 23a9d64ea40cfb526d0a12ba7350918dc335a305
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 11:27:26 2010 +0300

    Lift the signature generation in all its g(l)ory to rpmgensig.c
    - signature.c is now entirely free of all actual signing activities,
      which requires stuff that like gpg that nothing else needs.

commit 9c254cd2251e799958158406d36bbe463b869650
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 11:21:07 2010 +0300

    Move sighdrPut() to inline function in signature.h
    - Avoids having to expose this in the ABI in the next steps

commit 8422a94ca990ccc3c60459687b3c3f25e43502b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 10:48:59 2010 +0300

    Split signature and digest generation to separate functions
    - Similar in spirit to commit 825691afb2a8e2c0b3c6a031950f3c7855dc4c6e,
      these have fairly little in common really.
    - Change the function names to force breakage on users (these are exported
      in ABI but not in public headers so "users" are internal uses in
      practise): the automatically generated bits in signature header are
      not signatures, but digests (even size is a checksum of sorts) ...
      and fix the couple of internal uses.

commit 825691afb2a8e2c0b3c6a031950f3c7855dc4c6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 10:29:18 2010 +0300

    Split internal header signature and digest generation to separate functions
    - These have fairly little in common in reality: one is always
      automatically created on package generation, the other is optional
      extra step requiring passphrases and all sorts of other things.
    - The switch-cases are now fairly hysterical but leaving them for
      later spring-clean to keep changes minimal for this step.
    - No functional changes (supposedly ;)

commit 17b433ce8c8613199e40b3b27e9ca5398a2027e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 29 09:36:08 2010 +0300

    Signer id is not sufficient measure for signature sameness (RhBug:608608)
    - We used to only check whether signer ID matches for determining whether
      a package needs resigning or can it be skipped, but this is nowhere
      near sufficient as the same ID can be used with different algorithms
      and even packet version etc. Compare all/most (?) relevant parameters
      for signature identicality.

commit adbd484372cb38aca5aca3c6dba3b2ca9cae93d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 23:06:29 2010 +0300

    Make RPMFILE_STATE_MISSING part of the rpmfileState enum
    - Shuts up couple of "not in enum" complaints from gcc, and actually
      "no state" is a perfectly valid state for one case: non-installed
      packages (so remove the "not valid" comment from formats.c)
    - OTOH, this created a new complaint for not handled case in a switch.
      Oh well, fix it up too...

commit ac1e1ff57256022b2e4ab091aa5743b92f0a6131
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 22:52:49 2010 +0300

    Fix a rpmTag/rpmSigTag mismatch by using the more appropriate type
    - This wouldn't make c++ any happier as the mismatch now occurs
      with headerGet() and friends instead of the comparison, but will do for now.

commit da2c5fd2cf3b357ba06e786e8aa96a2b67e52eb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 22:47:44 2010 +0300

    Eliminate silly leftover switch-case from _tagType()
    - Anybody calling rpmTagGetType() with RPMDBI_PACKAGES deserves to
      wait for the search to figure there's no such thing and return
      RPM_NULL_TYPE like with the switch case. Eliminates another
      enum comparison mismatch warning.

commit 8274b41ee6cc63ed7e67e242a266c5f1d2e8d44c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 22:35:10 2010 +0300

    Remove leftover trap for RPMRC_FAIL errors where none should be seen
    - Been 2.5 years now without seeing that trap trigger, should be safe
      to remove now ... to silence a warning about comparing to non-existent
      enumeration value.

commit 1b46014fd4e14f6ff52e3efe1a430ab4b4c7c880
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 22:16:33 2010 +0300

    Wrong enum type used for psm goal, gcc 4.5 complains (which is nice)

commit cc5959a57df96f2c51448b3970237918a6dd281c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 22:13:25 2010 +0300

    Whoops, wrong enum type used for pubkey algorithm
    - dumb thinko/typo from commit 0e143cfe9f11abc42733d2265dc6d61cb716e5a4

commit e237b2d6ef271bbdbc234aa7b62a3b1f28b6bb24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 16:33:17 2010 +0300

    Eliminate %_signature from man pages too

commit 8f14d6455a99802ae43e14a6820ebbc1e38aa46a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 16:28:21 2010 +0300

    Rip the useless %_signature macro and everything around it

commit c0aad81e9b17afcbea4008485d354673495eb148
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 16:09:30 2010 +0300

    Fix the broken existing signature checking on add/resign (RhBug:488953)
    - The previously used %_signature macro for determining the generated
      signature type is utterly useless as gpg can generate both DSA and RSA
      signatures just fine. Generate the new signature and compare with the
      previous one in the header (if any) for real results. This is ugly
      hackery around limitations in the lower level signature functions but
      to keep this remotely backportable for now...

commit e29313061313a9e29d38a005f1b5f5bdc47ccd84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 28 14:55:29 2010 +0300

    Decide header sigtag based on what was actually written
    - makeGPGSignature() figures the signature type by parsing the
      created signature, use that instead of the rather bogus tag
      based on %_signature macro value passed from the cli level.

commit 131d082aab5bac6ca07fe513df00314261248bae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 17:15:15 2010 +0300

    Handle non-terminated substrings centrally in expandMacro()
    - expandMacro() is big and ugly already, but handling the non-terminated
      substrings there once and for all avoids having to ping-pong recurse
      through couple of helpers to get there.

commit b1dbdf50af3172ad92ca33a4e6908b63158cba00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 16:32:15 2010 +0300

    Dynamic expansion buffer reallocation for lua macros too

commit 800a1daa2305c9df83bb1024c17dc674e8fd5d54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 16:22:38 2010 +0300

    Whoops, fix typo/thinko from commit dc258bac41e32e754b15a413d844160f34b6a12e

commit 46f32d25ce813ffd4df95605a3f745615ec90faa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 16:03:56 2010 +0300

    Eliminate the internal in-place-expansion buffer limitation
    - Return the dynamically allocated expansion buffer to callers from
      expandU(), except using a slightly less cryptic expandThis() name
      for it now. Also deal with non-terminated strings centrally in
      expandThis() instead of doing alloc + copy to terminate in every caller.

commit d8777387db3128ea5f4f5b211d2aa54736f7f717
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 14:22:56 2010 +0300

    Simplify / sanitize expandU() a bit
    - Instead of saving and restoring the bits we'll mess with, just
      make a temporary expansion state struct with non-buffer state
      copied from "parent".

commit 49f99b86566bf71e1ebd8be4da29953aaf042b79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 14:05:37 2010 +0300

    Dynamically reallocate macro expansion buffer (ticket #45)
    - Eliminate the underlying limitation of macro expansion limit by
      growing the buffer as needed when adding characters to it. This
      doesn't fix the entire issue yet however: expandU() and expandMacros()
      are still limited to caller-specified buffer size, and output
      from lua-macros isn't dynamically resized. One step at a time...

commit 61a3fc45234b532bf609be295c551b7bc3822e3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 13:05:37 2010 +0300

    Let expandMacro() allocate its own buffer
    - More pre-requisites for dynamic buffer resizing, callers have no
      clue how much expandMacro() is going to need.

commit dc258bac41e32e754b15a413d844160f34b6a12e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 12:19:13 2010 +0300

    Track current expansion point via distance to buffer start
    - Supposedly no functional changes, just paving way for dynamic
      buffer resizing which is impossible when accessing pointers directly.

commit 568ba0d2421f89f7f98531b81ba9fe783dbdc749
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 24 12:48:15 2010 +0300

    Push the macro buffer size limit down by one level
    - Turn expandMacros() into a wrapper around internal doExpandMacros()
      which returns the expanded string in a newly allocated buffer, use
      the internal version for rpmExpand() too.

commit a931202422b38cbac52aeb507572a597ddee9106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 10:02:17 2010 +0300

    Eliminate unused spec field from macro expansion state struct

commit 8082eb48dbb9ab39826b5e1be9b764b0940a9a79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 27 09:33:35 2010 +0300

    Avoid calloc() in macro findEntry()
    - It's just the macro name we're grabbing here, that ought to fit
      on stack comfortably enough.

commit ebc4ceaaeb8bb59019f4635471b28eb5f3eaaaa6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 24 10:49:19 2010 +0300

    Avoid unnecessary round-trip through expandT() where possible
    - In the cases where expandT() was called with strlen(source) we can
      now just bypass it and call expandMacro() directly, avoiding an
      unnecessary string copy.

commit ccba5236a05b5680b93e12f24c3d2e14c5385b7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 24 10:42:38 2010 +0300

    Use function arguments to pass, duh, arguments into functions. Duh.
    - No functional changes, just eliminating mindless save-and-restore
      ping-pong through macro expansion state struct.

commit 4c41013eeb43ccdcef1be37274d15721ec19799d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Sep 26 18:45:34 2010 +0200

    Fix segfault in rpmdeps (RhBug:637357)

commit f7e058a01ea288d1c6810562b1238c05bfaa30bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 16:37:12 2010 +0300

    Eliminate separate fileIndexEntry from rpmal
    - This is exactly the same structure as availableIndexEntry, no need
      for a different struct for it.

commit 447e80f96a26ee4e79cdca87daa38e93c655cc2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 14:28:32 2010 +0300

    Use headerNextTag() for header format iteration
    - Doesn't really win anything performance-wise but makes the code nicer

commit b4111d5123606b5999e932e57578bace37b4924a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 09:46:25 2010 +0300

    Use HEADER_MAGIC_FOO enums instead of 0/1 in python header code

commit 79301695cec6a2e98b42291c39904b721020a0e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 09:19:07 2010 +0300

    Remove double const in urlstring struct

commit 5d5cb6dce7cced15f01bc67948f7875c4dac7016
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 22 09:14:12 2010 +0300

    Make rpmsqAction compatible to sa_sigaction

commit 75a53aa616a3ec6d00a01186d266a4757e69f3c6
Author: Hajime Taira <htaira@redhat.com>
Date:   Tue Sep 21 22:27:34 2010 +0000

    l10n: Updated Japanese (ja) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 35a170629109568e6b4edcd5ab0b7a428a8be585
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:57:08 2010 +0300

    Remove double const on rpmrc tables

commit 072ea21699e7747974ee73f6cbc10b3e8f927a53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:43:46 2010 +0300

    Fix rpmRC/int return mismatch by counting errors from handleOneTrigger

commit 2425a002dc46ed3d510ff16ba3fcaa07dc8f8931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:39:59 2010 +0300

    Use rpmTag as psm scriptTag for type correctness

commit 2508fedea0167f582ce1b91b307621f997c981ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:35:10 2010 +0300

    Default to the common case wrt dir name/index tags, not relocation
    - Avoids an unnecessary extra initialization in the common case, and
      also avoids int/enum mismatch from initializing to 0.

commit b11c895bdd77ec87618079ea5037610e68599e07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:28:34 2010 +0300

    Move PTOK type enum out of the sprintfToken struct
    - While legal in C++, the enum and its values are only visible within
      the scope it was declared in, making it invisible to the rest of
      the program.

commit af57879ea050c7258c92a6aef840dd5da51ccbd3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 16:18:22 2010 +0300

    Remove bunch of double consts in librpmbuild

commit 312ceee39240c321a0cb8f1cc7aad939477b9699
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:55:02 2010 +0300

    Initialize nametag to RPMTAG_NOT_FOUND in parseRCPOT()
    - Doesn't matter what the value is, the switch (somewhat hysterically)
      makes it default to RPMTAG_REQUIRENAME in unknown cases anyway

commit add59e49eab87e98cf3ef6bedb8ce0c251199376
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:53:38 2010 +0300

    Const pedantry: taropts only ever points to string constants

commit 7723fef2646e0670fc782ee5248317bb6d8f9383
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:38:41 2010 +0300

    Move expression type enum out of the struct
    - While legal in C++, the enum and its values are only visible within
      the scope it was declared in, making it invisible to the rest of
      the program.

commit 4b06c4995d6acc8352224618361c4b773b3a70a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:25:53 2010 +0300

    Use actual  enum values in tag table sentinel to avoid int/enum mismatch
    - tagLoadIndex() looks for NULL in tag name, the other values aren't
      looked at so it doesn't matter...

commit 8b7ff12b4e7c3a6e824f6b4c5f5541eb572d9f39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:21:12 2010 +0300

    Add "c++ protection" to (hopefully) all of our internal headers

commit 662c09717ae35a6d41b0b2d7250e1d59670146de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:17:46 2010 +0300

    Missing c++ end marker in rpmdb_internal.h, oops

commit 7d0790d2fe926854080d26ff9fc72a16bdd44303
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:13:02 2010 +0300

    Add "C++ protection" to the public rpmutil.h header, oops...

commit df960a66cf67fc7ad98bac7859445b10d7a0f0d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:11:04 2010 +0300

    void stepping on toes of relatives, part 5
    - Eliminate remaining (hopefully) C++ reserved keywords in rpmbuild cli tool

commit 0e4d3de13191647c1dfb8f6608233a3feef437cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:08:08 2010 +0300

    Avoid stepping on toes of relatives, part 4
    - Eliminate remaining (hopefully) C++ reserved keywords in librpm

commit c60bf8f766e7c2f836ce18547486f8a624f7789b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:07:08 2010 +0300

    Avoid stepping on toes of relatives, part 3
    - Eliminate remaining (hopefully) C++ reserved keywords in librpmbuild

commit 7e53dc6ee11a2af50dc8d2c3cb132e7e69aaff18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 15:02:43 2010 +0300

    Avoid stepping on toes of relatives, part 2
    - Eliminate uses of "class" which is a reserved keyword in C++

commit b9cd5a5e746d1bb0da5d6ccef8d83e7867569168
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:55:03 2010 +0300

    Avoid stepping on toes of relatives, part 1
    - Eliminate uses of "this" which is a reserved keyword in C++

commit 5d79b79c1b2d33196073c9e7b841b52816d46532
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:50:40 2010 +0300

    Queryformat string sanity in queryArgCallback()
    - Use our string helper functions instead of manual length calculations
      and allocations

commit 6255825811f9a5ebdf4d7c835abaec12eef2555b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:49:36 2010 +0300

    Use rasprintf() instead of manual alloc + sprintf()

commit 45159a70605581a6f929c37aeb7a1a5640133484
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:47:46 2010 +0300

    Rename tagtbl.c -> tagtbl.C
    - This isn't a regular source file: its not compiled as such but only
      included from tagname.c. Rename to disambiguate, and make it similar
      to rpmhash.[CH]

commit 6ae1fae20fdeb1f1b967c6b4fa4d7c34d4ff4064
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:47:14 2010 +0300

    Use the macro allocator variants within librpm*

commit 67a3e424ed77d26fb511e4a8fc3770f270cb8f56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:33:57 2010 +0300

    Use _free() instead of rfree() where "return value" is assigned

commit e3e69b44e53c8631004a9624dc39748340316673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:26:29 2010 +0300

    Return explicit NULL from various fooFree() functions everywhere

commit a43c15eadfbf18dd4df8d21415f1ef1a7c11f432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:22:29 2010 +0300

    Return typed pointers from rpmluaFree() and rpmluavFree()

commit ee6c33c9c27406ae7fa90d7ea09b7bf1667c30db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:19:11 2010 +0300

    Return typed pointer from headerformat cacheFree()

commit 96f0bd8c5076a4bbc3732c2874fd57fd6d4474bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:16:23 2010 +0300

    Return typed pointer from freeHardLink()

commit dec8d8de3096bd549c5d4ce34cb8032bc1461c29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:14:29 2010 +0300

    Use typed instead of void pointer for fsm dnl iterator
    - Passing a void pointer for an internal helper function which
      casts to the destination is just ... pfff.

commit 2be8dd317c56620165249655d7a33d8b08f3851d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:12:55 2010 +0300

    Use typed instead of void pointer for fsm map iterator
    - Passing a void pointer for an internal helper function which
      casts to the destination is just ... pfff.

commit b50c537b5c7ce826fbbb8587c4031ed39bf10a29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:04:44 2010 +0300

    Adjust pgpMpiSet() dest type to match actual use

commit 0ebc7a4e394a2173bc9cdefe57a35e5de25a501e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 14:03:43 2010 +0300

    Error string is const char *, not void pointer

commit 0ccbd8fe6e20eb399a7c22d9560eac6e07f66957
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:43:48 2010 +0300

    Adjust internal io read, write and digest update to take buf as void pointer
    - This matches ffread() and read() much better, avoiding pile of casts.
    - By some stroke of genious, glibc cookie interfaces disagree with the
      other file stream protos by using char * for buf. Argh. Add explicit
      cast for the schizophrenia.

commit a82633c2a3dd15d00d4c076d6527581aa5dcf57d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:41:25 2010 +0300

    Avoid using void pointer when we have a real type for the memfail function

commit 892bf4eb8637fae5e2da2012f5257d836d7a61d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:39:25 2010 +0300

    Move the RPMVERSION constant among its friends in depends.c
    - Doesn't make any difference, just grouping similar goo in one spot.

commit 2f54c245dd6a206e3e1e26a408c5cfc4e543358f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:29:01 2010 +0300

    strrchr() family considered harmful, part 666
    - strrchr() was silently casting away a const on a string coming
      from rpmtdGetString(). Add an explicit cast and warning/fixme commentary
      to the compressFilelist() hack which modifies (and then restores) the
      const string.

commit 42a523a49190abb0ba48d7b24caf1037103408d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:14:20 2010 +0300

    strstr() considered harmful, part 541
    - buf isn't const here, it's modified through pointer acquired through
      strstr() which silently casts away the const.

commit 5eda18510905ebeb09f1126195d6bb563bd2483a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:11:56 2010 +0300

    Use RPMTAG_NOT_FOUND instead of for "invalid tag" value

commit cb13c4398609bb8e9d7a6750075d79d1662a26e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 13:02:53 2010 +0300

    Move RPMTAG_NOT_FOUND into rpmTag enumeration
    - Permits presenting "invalid tag" cleanly via the rpmTag enum type
      on function returns etc

commit e639f57d436f9f858dfdff79c2d8c868d935db79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:49:46 2010 +0300

    Move  rpmHeaderTagFunc() a bit to avoid unnecessary forward declaration

commit d4879f3e6e2ab65e1ad76869896cf407248bc993
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:45:53 2010 +0300

    Move format extension table a bit to avoid unnecessary forward declaration

commit be488096e0f011a42d4dd46fa7c3769054158383
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:40:33 2010 +0300

    Use the new tag type/return type getters everywhere
    - Instead of masking and bitfiddling all over the place, use the
      new getters to get the exact (enum) type directly. rpmTagGetType()
      is now unused within rpm but leaving around for backwards compatibility

commit bf4a383892acc8a5bb6bbf45e87ac96674a3ecd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:30:05 2010 +0300

    Add yet more rpmTagTagTagFoo() functions
    - Two stupid new getters: one for the real tag type, and another
      for the return type. rpmTagGetType() returns both requiring bitmasking
      all over the place

commit 6c02709c1d1de915a8faa67f0b0156757b5bbb3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:27:27 2010 +0300

    Split tag type and return type to separate fields in tag table
    - rpmTagType is a pure enum really, avoid mixing it up unnecessarily

commit 6402ce41b86eab1f2c1b2e09b24982e5d559b171
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:26:23 2010 +0300

    Use the enum name instead of value when generating the tagtable source
    - This makes the table populated with actual enums instead of the
      numbers they present

commit b0d62148a9090fb442fc7bf993f5ef3253c4b0fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:23:18 2010 +0300

    Use proper types for tag and format extension functions
    - Stuff the tag prototypes into misc.h in lack of better place
    - Actually use the headerTagFooFunction prototypes instead of void *

commit 147f41bcc150d674ad86c714208c9a1f82218683
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:15:44 2010 +0300

    Differentiate between the possible te types and iterator selector values
    - Transaction elements can only be of one type (hence the enum),
      but the transaction set iteration permits selecting more than
      one. Add a new typedef dummy for this purpose only.

commit d712fcb5c1d56b5bdf26f378ce6b3273a9ada779
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:07:27 2010 +0300

    Change fdstat functions to take fdOpx enum to fix int/enum mismatches

commit a9e039edb442eb4b0060df7ee533415735aa5069
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 12:06:24 2010 +0300

    Fix up silly int/enum and type vs variable name mixups in urlPath()

commit 99b44e35e5ed48783f8b3e2533b240192848d86c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 11:58:08 2010 +0300

    Use actual rpmTags in place of the old HEADER_FOO defines everywhere

commit 42bcdfd52788ee979bd0a0f7e137b6d85fc74fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 11:40:49 2010 +0300

    Rename specdFlags to remove unnecessary type vs variable name confusion

commit 8f7874c1933fc1dff36685d13abfedda56ca9ab7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 11:37:21 2010 +0300

    Fix up bunch of silly int vs rpmRC return code mismatches

commit 2fb15a5443c6a1461a53309d3d4ace598996d8b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 21 11:10:14 2010 +0300

    Stop abusing enum typedefs for bitfield types
    - Enums are fine for defining the bitfield flags, but the bitfield
      itself is not an enumeration. Add a separate typedef on "rpmFlags"
      type (presenting a bitfield of flags) for all of these. Compilers
      hardly care, but the typedefs give a nice visual clue for
      us humans using these flags far away from ho^H^H definitions.

commit b9168b67355d2da8f62f880adfce37c0e38720d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 17 09:03:34 2010 +0300

    Expel Tarjan from his nest
    - Nested functions are a gcc-extension and very non-portable. Refactor
      to eliminate the nesting by passing the "global" variables via
      a struct from detectSCCs().

commit 8abe568e0092bb6301baa5cb49a510a9fb4979ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 15 11:54:11 2010 +0300

    Dont check source packages against installed obsoletes
    - Regression originating from somewhere around commit
      781cfed0fd9c9651a2dd49175a85536f0b34b95b, obsoletes from installed
      packages were matched against the package being built.
      Building obsoleted packages needs to be possible, they could be for
      an older distro for example.

commit 3c6fed5347b2646743204c009603db98c333ea90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 14 09:44:06 2010 +0300

    Plug memleak from rpmSpecCheckDeps()
    - We need to call rpmtsEmpty(), not rpmtsClean() to purge the
      transaction elements in the set...

commit 8246557b1ea89c8d6237892c77b6b5cb637a1e2d
Author: Héctor Daniel Cabrera <logan@fedoraproject.org>
Date:   Mon Sep 13 15:33:00 2010 +0000

    l10n: Updated Spanish (Castilian) (es) translation to 100%
    
    New status: 744 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 54887fca04c350332578b673334f9df8fab02e38
Author: Taylon Silmer <taylon@taylon.eti.br>
Date:   Mon Sep 13 13:30:27 2010 +0000

    l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 272674bebea2022c6a91c85612b4e4db51737e25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 15:03:18 2010 +0300

    Replace dbi walking copy-slop with an internal helper function

commit b0338657a85ae9e1c77d58b42363d23dde012550
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 14:16:44 2010 +0300

    Rearrange newRpmdb() a bit for clarity
    - Avoid allocating the structure until we know its ok.

commit b6d8d0e7ed7989ce5e2d4d8133d81adc4072440c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 14:05:02 2010 +0300

    Eliminate broken "can't happen" early return
    - Opening RPMDBI_PACKAGES should indeed never fail, but if it does
      this would return way too early, leaking memory and references
      left and right. Also the dbi is rarely used for anything, only
      the rewrite mode used by markReplacedFiles() needs it, dbi
      is actually unused on dbiCclose()

commit 5573faf301bec875a7b2c9c706ebb2b15cfbde0a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 13:46:15 2010 +0300

    Rearrange rpmdbInitIterator() a bit for clarity
    - Avoid allocating the iterator until we know it's not an error.
      Doing the chaining earlier doesn't help anything here as the
      cursor used here wasn't linked to the mi at this point, and avoids
      having to free up partially initialized structure in case of errors.
    - Group the mi initialization to make the actual initialization
      stand out from the (unnecessary) zeroing of the calloc()'ed struct.

commit 92c12d1a8ef11106df69b07ca357c560e07e9efd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 13:08:33 2010 +0300

    Eliminate all fooUnlink() functions out of the API
    - These are internal helpers only, all refcount users need to use
      fooFree() or similar for correct operation. Add fwd declarations
      where necessary to avoid moving code around unnecessarily.
    - We could add these back later as aliases to fooFree() but for now,
      just get them out of the way.

commit e82ab8f81dcbfb94d94d4a5c8cb7813919d7f460
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 13:06:31 2010 +0300

    Unify header creation between headerNew() and headerLoad()
    - Use internal helper instead of copy-slop code to allocate + init
      the structure

commit 511beb375763f84b04ca555c3c9df4c67738aee2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 13:05:55 2010 +0300

    Fix some broken fooUnlink() usages
    - unreferencing should always go through fooFree() which does
      the real refcounting and frees when references go out

commit 6ad4cbdfb52c4ea1b9f30f9580084dc3c94c5b60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 11:25:24 2010 +0300

    Lift header verifying out of rpmdbNextIterator()
    - No functional changes, just splicing up the ugly function

commit 8e823cf7f35d6b5198c28099d36975c64bce9536
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 10:44:14 2010 +0300

    Minor optimizations on DBT initializations
    - Move the DBT key+data to local scope where possible, only bother
      zeroing them if they're actually going to be accessed.

commit d4f3ed7c8287eea54d568c32c1c223f84fe2a989
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 10:27:42 2010 +0300

    ...and now eliminate the unnecessary pointer variables
    - Also check for NULL keyp in rpmdbExtendIterator() early to
      avoid unnecessary zeroing + potential segfault from strlen(NULL)

commit 4b92856551c5cc0af6a285a5e7372e0de5311cd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 13 10:16:50 2010 +0300

    Eliminate mi_key and mi_data from match iterator structure
    - These are not used to hold iterator state but just for temporary
      storage. Temporary data belongs to temporary variables.
    - Assimilate rpmdbGrowIterator() into rpmdbExtendIterator() which
      was just (ab)using mi_key for passing arguments into rpmdbGrowIterator()
      and pass as argument instead.
    - Declare local structs + pointers to them for this step to keep changes
      minimal and "obvious"

commit 5a1d5ddc84fdfca1f2bbfa0bd52976d338882e42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 8 13:52:30 2010 +0300

    Add test for manifest query in testsuite

commit 18d1d9fc7adc98bd5429a9e11e53195eec9b52a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 8 13:41:03 2010 +0300

    Fix _USE_LIBIO test
    - Commit 05b2d979e8097d648f91c773f2535a1f6013cb79 caused the
      _USE_LIBIO test in rpmio.c to always fail as <stdio.h> wasn't included
      yet at the time of the check, causing silent fallback to not
      using libio even if actually available. Which in turn revealed
      funky other little bugs, addressed in commits
      d960e8c18764f7206ad723963f407e960dfb8ad9 and
      be3c34dd15814d70a410b6fd646a2be7de14a1b5. Ptooey.

commit d960e8c18764f7206ad723963f407e960dfb8ad9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 8 13:31:25 2010 +0300

    Differentiate between IO-errors and non-package "error" in rpmgi foo
    - rpmgiLoadReadHeader() tested errno, but this isn't realiable:
      rpmgiReadHeader() didn't differentiate between IO and other errors
      properly so errno would be tested even when no errors (other than
      not being a header) were present. This could be pretty much whatever
      when no IO errors occurred in rpmgiReadHeader() but the file just
      wasn't a header. With libio errno was typically EBADF, causing the
      remaining code to execute, but without libio this happened to be
      ENOENTRY, causing a silent failure on manifest query.
    - This junk needs to die, really.

commit be3c34dd15814d70a410b6fd646a2be7de14a1b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 8 13:01:57 2010 +0300

    Fix rpmReadPackageManifest() on non-fpio FD when libio isn't available
    - With libio, fdGetFILE() works on any io-type, but that's not the
      case when libio isn't available. Using fdopen() makes it work
      on both.

commit 1607bc390825d5b48f18aafceade7516a4106866
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 23:15:08 2010 +0300

    Turn rpmQueryVerify() into query iterator initializer
    - Eliminates quite a bunch of redundant error code return hoop-jumping
      and makes the iterator init + frees nicely paired all together
      inside rpmcliArgIter().

commit 33d79b470e456debc130230bc966b07d9713ad93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 23:04:12 2010 +0300

    Lift the remaining oddball case out of rpmQueryVerify()
    - specfile queries are handled differently from everything else,
      handle the special case in rpmcliArgIter()

commit d2eb366a9040690e95b632b9318d7b95788e31d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 22:52:26 2010 +0300

    Eliminate qva_mi and qva_gi from rpmQVKArguments
    - These are internal only stuff and have no business being exported
      in the API. Pass the iterators around in, duh, arguments as needed.

commit 50d70b056e5d97f17434d0456643d3c4ca34c4b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 22:39:14 2010 +0300

    Eliminate some dozen redundant rpmcliShowMatches() calls
    - Simply call it once at the end, its common for all the cases

commit 03bc9f0f323a1ef7e36d800c7756917203d26b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 22:22:25 2010 +0300

    Cut some extra twists from the query maze
    - RPMQV_ALL and RPMQV_RPM do nothing but call rpmcli/giShowMatches()
      in rpmQueryVerify(), call them directly from rpmcliArgIter() instead
    - Make iterator allocation + deallocation symmetric: both
      rpmcliArgIter() and rpmQueryVerify() now free what they alloced,
      rpmfooShowMatches() is a weird place for freeing

commit 029615e1f688854db7184ee690cae244f7cee8e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 22:02:53 2010 +0300

    Eliminate rpmQueryVerify() from librpm API
    - This is an inconsistent oddball interface which only works for
      limited query types, "cli" level API users are better off calling
      rpmcliQuery() / rpmcliArgIter() instead

commit b71818080b7481fbc4ca95bd95eb7d80c67a7cb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 8 07:48:04 2010 +0300

    Urk, mixed up in branches and wrong stuff getting pushed. Revert.
    - This reverts commits 9ac127c35272772e0fc862608f4bde9748862b3d and
      7abc26e300afd4da71f220db496f813571a37f5a

commit 7abc26e300afd4da71f220db496f813571a37f5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 21:32:17 2010 +0300

    Beat a little bit of sense into rpmQueryVerify()
    - Single point of exit, assume failure
    - Replace about a dozen rpmcliShowMatches() calls with one at the
      bottom.

commit 9ac127c35272772e0fc862608f4bde9748862b3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 21:13:34 2010 +0300

    Mark ts argument unused in bunch of query APIs
    - The ts argument used to be necessary and used for rpmfiNew() and spec
      query but not any more...

commit 339f31face44d877c3a6e2fc780e740e7e236eae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 20:44:59 2010 +0300

    Eliminate rpmcliShowMatches() from librpm API
    - This is really just an internal helper which only even works with
      limited set of queries.

commit 7562d2743baf27fda1b6dee22d0574cd265907b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 11:14:56 2010 +0300

    Add bunch of verification tests to the test suite
    - Basic tests for dependency, file and verifyscript error + success
      behavior.
    - Using lua for verifyscript to avoid issues with empty test-root

commit fbe701e7fe639da5a8b902cf4f358728db68cb3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 7 09:49:29 2010 +0300

    Fix error code on verify scriptlet failure
    - Verify scriptlet failures were only logged but didn't reflect error
      codes as they were considered "warn only" along with most others

commit 7defdceb1d320aad535654e8ba25b618d079451c
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Sep 4 06:49:44 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 744 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 890a4339f95734b6ffa02bda515a02104fd7e267
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 17:19:04 2010 +0300

    And yet another translation update to pick up stuff moving around

commit 9f68c7958f173a313d53abb4028164c37b6abf68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 16:57:50 2010 +0300

    Rip IAM_RPMDB, ie --initdb, --rebuilddb etc modes out of rpmqv.c and librpm
    - Add popt exec aliases to rpmdb for backwards compatibility
    - Change test-suite to use 'rpmdb --initdb' instead of 'rpm --initdb'
      as popt exec aliases with absolute paths dont play very well
      with the test-suite, duh...

commit ada4dd18d590dc8eff7eac1a3f0f57c7243da539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 16:48:21 2010 +0300

    Add a brand new rpmdb utility for rpmdb maintenance (dejavu again)
    - rpmdb maintenance only requires privileges on the rpmdb directory,
      not elsewhere on the system. Splitting to separate tool allows
      finer grained SELinux policies and makes adding new db-specific
      switches saner.

commit 3cbda9c03f1feb872397f4afe75988b20746f403
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 16:31:13 2010 +0300

    Rip IAM_RPMK, ie --import and --checksig modes out of rpmqv.c + librpm
    - Add popt exec aliases to rpmkeys for backwards compatibility

commit dfbaa77152ccf98524c4f27afe85d32e6f690522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 16:09:47 2010 +0300

    Add a brand new rpmkeys utility for keyring operations
    - Keyring operations (adding/viewing/removing keys and verifying
      packages against a given keyring) are different from main rpm operations
      in that they only need access to the rpm keyring, and no write access
      anywhere else in the system. At the moment the rpm keyring happens
      to be the rpmdb but that's just an implementation detail that is
      likely to change sooner or later. Besides paving way to separating
      the rpm keyring from the rpmdb, splitting this to a small, separate
      utility allows limiting its required access from SELinux POV etc.
    - For now, this only implements what's already in rpm: --import and
      --checksig, remaining operations like listing and manipulating
      keyring contents is left as an exercise for another day...

commit b195048bbb27a1aae4aa3938c3b1f79e0a26ae88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 15:57:14 2010 +0300

    Further simplify rpmcliVerifySignatures()
    - Since this is a rpmcliFoo() function, we can assume rpmcliInit()
      is used and the verify disabling bits are set through the common
      rpmcliQueryFlags set, making qva argument unnecessary.

commit 5b717266644f939aaa7ec2be7b2a6673df5556dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 15:18:17 2010 +0300

    Update translations again again to pick up changes from recent churn

commit 1b347d4261a20a72d34c8183c8f83330b7d8c174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 15:08:01 2010 +0300

    Put the rpmLookupSignature() and rpmGetPassPhrase() out of their misery

commit c382cd537364e8d82946709873c38a10252b8959
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 15:01:47 2010 +0300

    Rrrriiip the addsign/resign/delsign bits out of rpmqv.c + friends
    - Add popt exec aliases to rpmsign for backwards compatibility (dejavu...)

commit df0b760e7e54b6714d9a52abbd2e33a44cd42d41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 14:40:18 2010 +0300

    Add a brand new rpmsign utility for package signing
    - Signing (and deleting) are different from everything else in rpm
      in that it needs very little of rpm's facilities. For example access
      to the rpmdb is not needed at all. Splitting this to a separate,
      small utility allows various possibilities, like severely limiting
      its access from SELinux POV, control of signature generation with
      cli arguments (the main rpm executable is already overcrowded with
      options). It's also the first step to allow reasonably splitting
      rpm signing to a separate package; not everybody needs to sign
      packages, yet signing support needs to drag in GPG and whatnot.
    - Reimplement / refactor various librpm signature generation helpers
      into somewhat saner internal versions.

commit 8f75ac30fb11e41a3ffab93e139139bd84c2cf24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 14:03:48 2010 +0300

    Lookup signature type from cli utility already
    - Avoid relying on the murky rpmLookupSignatureType() foobar on
      low API level, pass the wanted tag explicitly from caller
    - rpmLookupSignature(), rpmGetPassPhrase() + the bits they rely on
      are now free of users within librpm itself

commit 00c72fda899cf98c32ec806230695d03943d370e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 12:02:17 2010 +0300

    rpmcliSign() only creates or deletes signatures
    - Lose the "this has got something to do with signatures and stuff"
      dispatcher mode, rpmcliSign() now only does what it says. It also
      doesn't need transaction set for anything. It doesn't need much
      else than files to operate on, what to do and possibly a passphrase.
      It probably will need more when rpmLookupSignatureType()
      is put out of its misery, but this'll do for now.
    - Lose the now unnecessary passPhrase member from QVA_t

commit 1306fc5ee5dbb665609934ed081afbc573c16d05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 11:35:35 2010 +0300

    Split argv loop out of the actual signing function, sanitize args
    - The signing monster is big enough without extra loops. Also
      signing as such doesn't need any of the QVA foo, just the package,
      whether its adding or deleting and passhprase. Make it so.
    - Remove some now unnecessary double cleanup of intermediate target

commit 44acff0fee69f960613ab26326004db68e195dd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 11:18:27 2010 +0300

    Signing doesn't need transaction set, eliminate the unused argument

commit ed3860b8efc0d8adaed9f8928140ac5e476925ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 11:11:55 2010 +0300

    Split package signing out of rpmchecksig.c
    - No functional changes, supposedly

commit e95e558ad24fed90230470b55b54cc9e12e703de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 10:54:09 2010 +0300

    Use rpmcliVerifySignatures() directly from rpmqv.c main

commit c814bb93281a7c77580a21cb56c407ce8f7f1a24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 10:38:38 2010 +0300

    Export the cli-level signature checking as rpmcliVerifySignatures()
    - Signature verification is completely different from package signing,
      another step towards making rpmcliSign() do what it's named after

commit fe57228ce11969b1652015ba0e66c0e559649d27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 10:08:49 2010 +0300

    Use rpmcliImportPubkeys() for importing instead of rpmcliSign()
    - Add some more IamYourDaddy modes to rpmqv.c for now. We'll need to
      add junk to get rid of others, sigh...

commit 3cd6e07b09733ed94d1e7216ea9f34970592e619
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 09:39:14 2010 +0300

    Export rpmcliImportPubkeys() (again) in the public API
    - Key import is completely different from package signing, first
      step in detaching key import from rpmcliSign()

commit 9d2ad1e4f4d6fb57678046e77852d9376ea9d8dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 09:28:57 2010 +0300

    Remove hysterically useless RPMSIGN_NONE + --sign popt leftovers

commit 202d56156be0d72fe1c08c1d6c97e5c05c621639
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 09:01:29 2010 +0300

    Eliminate unused rootdir member from rpmInstallArguments

commit 7a4b671b1b3483765fed9f76d35e74c6b017c64a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 08:59:39 2010 +0300

    Eliminate unused qva_prefix and qva_verbose from rpmQVKArguments

commit a68bcb383e6b8601a7e4ab8ae67407e59eee0f95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 08:17:57 2010 +0300

    Use the common rpmcliQueryFlags for signature verify options in rpm cli too
    - Technically this changes the rpmcliQuery() and rpmcliVerify() API
      in the sense that we no longer honor the qva->qva_flags for the
      --nosignature and others, but we assume anybody using these (as if
      anybody was using the "cli" API) uses rpmcliInit() which takes
      care of these common bits... shrug.
    - Ditch ancient and hidden --nopgp --nogpg switches along with the
      dishwater which are simply alias to --nosignature.
    - Eliminate now unused qva_flags from rpmInstallArguments (along with
      a double vsflags goo from rpmgraph)

commit 61432eb77184d9a2dc6da828a18f6d8f33f95812
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 3 07:49:37 2010 +0300

    Use the common rpmcliQueryFlags for signature verify options in rpmbuild
    - The various --nosignature etc verification switches are common to
      everything, and have been available through rpmcliQueryFlags via
      the common popt table since 2002. Might as well finally use it
      to limit the amount of duplicate popt goo.

commit e452178719feb9da80a6b6c056d95d562af11823
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 16:14:46 2010 +0300

    Permit passing spec parse flags in python too
    - The preferred flags default would be RPMSPEC_NONE, but it would break
      compatibility with older rpm versions where rpm.spec() doesn't accept
      flags.

commit 8f642cba13bf1e1e935a29a663b8ecb13ae6e7ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 15:21:20 2010 +0300

    Add an experimental low-level build method to python spec
    - This is mostly just a toy for now, but serves as a kind of yardstick
      for what is missing in librpmbuild to be generally useful for
      building stuff.

commit 4a374712c7d07143d30d1772657a476b3cfa5a75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:51:51 2010 +0300

    Add the various spec + build flags to python

commit 384362737f0939c14c7b6c08059caf9c1be31a99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:47:33 2010 +0300

    Cosmetics: use an enum instead of #defines for source type bits

commit 19368e8aa762b500280294f31180acbebe734e3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:44:02 2010 +0300

    Clarify RPMBUILD_STRINGBUF comment

commit 4505fb312dac0c1e186687a790a81a9c9285a7f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:39:11 2010 +0300

    Swap rpmSpecBuild() arguments for consistency with other APIs
    - What we're building comes first, /how/ we're building comes second
    - Update the sole caller, doesn't matter as this is a new interface...

commit 6fcc1adf9ed140eec75aeba2a72e0bcc5419b43b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:31:08 2010 +0300

    Update translations again to pick up strings moving around etc

commit c2496746ed92d1a18288a8f8cfd27ac6a44230cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:30:36 2010 +0300

    Oops, forgot to update POTFILES.in on poptBT.c removal

commit bbe310aaf8c97ef3534d827f2a996c7feec7ce47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:25:30 2010 +0300

    Add a new public function for retrieving build dependencies from spec
    - Not needed by rpmbuild itself currently, but permits retrieving the
      build dependency information in a format that's better suited for
      further processing than an rpm problem set.

commit 56bb5c89ef61c17e78fdb28e100aee52d49b98d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:13:28 2010 +0300

    Move build dependency checking from cli tool to librpmbuild
    - Add new public rpmSpecCheckDeps() function which can be used for
      checking build dependencies of a spec against a transaction set.
    - Change checkSpec() in rpmbuild cli to use the new interface
    - rpmbuild.c is now free of direct spec structure accesses

commit 9ee219093a4af23d491b6f2125baf78f16834bed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:12:42 2010 +0300

    Return NULL from rpmtsProblems() if no problems exist
    - Avoids callers having to separately test for number of problems
      and freeing when no problems exist

commit 6b2de7c10acf1f1b3b29a4148d80a0d9f9750e67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:12:25 2010 +0300

    Cosmetics: update comments + use a specific type for buildAmount

commit 65aa56b443e6ce07e9748705860448beee0a15a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 14:08:08 2010 +0300

    Eliminate specFlags from rpmBuildArguments
    - Spec parse flags are specific to parsing a spec, not building it.
      This could be relevant again if a higher level build API is added
      to the library but not ATM.

commit b7dae177471f317618c51d24f97631e9713e015c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 13:31:44 2010 +0300

    Eliminate targets from rpmBuildArguments
    - Targets are obviously relevant for building but not in the
      context of rpmSpecBuild which expects the environment to be set up
      already. If/when we add a higher level build interface to librpmbuild
      this comes relevant again, until then bury inside the cli-tool.
    - Simplify the target parsery by using argvSplit() and friends.

commit 9eb54732721d28b828d62c6da43c8522629387ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 13:07:01 2010 +0300

    Eliminate buildMode and buildChar from rpmBuildArguments
    - The mode letters are only relevant for the rpmbuild cli tool. If/when
      some of the related build logic is moved from the cli tool to the
      library, we'll need a better way of expressing these combinations
      than letters.

commit 746012eb74d8a93ab78ee39884fad05b1eed5f9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 12:52:56 2010 +0300

    Eliminate verify flags from rpmBuildArguments
    - Transaction set verification bits are not relevant to building,
      bury inside the rpmbuild cli utility.
    - Also the type was wrong, its rpmVerifyFlags, not rpmQueryFlags, duh

commit 6b0d371f4a73cadac129796b25f03a35a0533132
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 12:46:21 2010 +0300

    Eliminate noDeps and shortCircuit from rpmBuildArguments struct
    - Both of these are only relevant to the rpmbuild cli utility,
      eg checking for build-requires is up to caller, not librpmbuild.

commit 05547d1f30b529b82dba26655c68a451bafc3624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 12:26:23 2010 +0300

    Eliminate popt goo from librpmbuild
    - Move the cli-switch manouvering into rpmbuild.c cli utility where
      it belongs.

commit 53385ee67656692c811edd8b02b9cd2454e5fa89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 12:12:46 2010 +0300

    Eliminate _noDirTokens from librpmbuild API+ABI
    - Add another flag set to control package generation, passing around
      as necessary. Use this to implement --nodirtokens functionality
      in a cleaner manner.

commit fb81dee4c622298377e78270b839445df0144a73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 11:19:46 2010 +0300

    Eliminate freeNames() from librpmbuild ABI
    - Call freeNames() at end of buildSpec() instead of requiring API
      users to clean up after us. This does mean losing some of the
      supposed caching advantage when building on more than one spec,
      but hardly matters, one spec at a time is the typical build usage
      anyway.

commit 3c7d4f89bb68d68b9d775fc6623c3f1c342ac0bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 11:01:15 2010 +0300

    Detect short-circuited build based on executed build steps from buildSpec()
    - Avoids having to access rpmBTArgs from deep packageBinaries(),
      API changing is not an issue anymore...

commit 36f0c779d6770f5b3c8bdc72a562a4f7880ed4b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 2 10:23:57 2010 +0300

    Handle --nobuild as another buildAmount flag

commit ea9a016c0eac7efb75f5f7de8b3525549e7abab5
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Sep 1 20:07:32 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 754 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 8f65a6bd9aed82d821d7545d379ce049a9efb875
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 18:18:10 2010 +0300

    Handle spec flags parse option figuring in popt callback already

commit f9ae396a43e8aea22ca762b30c336850ba33f840
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 18:07:19 2010 +0300

    Handle --nolang as another spec parse flag

commit 1c00fe0b5fc38af379e0b300dda66f996eed6fc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 18:03:05 2010 +0300

    Combine spec parsing options into a common flag bitfield

commit 2c4976a5286a9e0692106965156492eeacbe0799
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 17:29:27 2010 +0300

    Rename freeSpec() -> rpmSpecFree() for namespacing
    - librpmbuild actually now has what remotely resembles an API, after
      we broke every single thing there was ;)

commit cf802b677e78f94718484da102cbf007982cb856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 17:20:22 2010 +0300

    ...and finally eliminate the spec crapola from transaction set for good

commit 305a47662416914461bfe0ad36f9ee99f90dafc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 17:18:11 2010 +0300

    Eliminate transaction set from spec parsing internals

commit 5ead64bcd08f857fbb023779ca901229261015f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 17:13:26 2010 +0300

    Pass flags directly to the lower level parseSpec() helper

commit f579dadf3a1ee0c80ddb14c99f69b0dc92ac0955
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 17:09:34 2010 +0300

    Eliminate parseSpec() from librpmbuild, trim unused arguments
    - We can't keep compatibility while eliminating goo like transaction set
      from the arguments so dont bother trying.

commit cbd5d98a8416a1f6c875cde82f3f1c3b02c120d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 16:59:22 2010 +0300

    Update callers to use the new rpmSpecParse() interface

commit c7ccdea6386b9f9cd8be5ff459be99955b56f2ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 16:49:43 2010 +0300

    A new saner interface for parsing spec files
    - For now just a wrapper around parseSpec() that returns *gasp*
      a pointer to a parsed spec structure.
    - Limit the amount of goo that needs passing - optimally we'd only need
      the spec + parsing flags, but due to %{buildroot} macro abuse in specs
      we'll need that for now too.

commit c22fff5b931ef553f29a5cbc1b2bb6e868a74659
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 16:47:43 2010 +0300

    Eliminate silly and unused timecheck feature from (lib)rpmbuild
    - This was broken for years without anybody complaining, should
      be safe to conclude nobody will miss it later either. And if
      somebody misses it, this is a job for rpmlint really.

commit f9740318a81bbb72cdd046a80a38116e2f7be8e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 14:31:49 2010 +0300

    Spec rootDir is only relevant for building, eliminate from parseSpec()
    - The whole rootDir seems dubious for build purposes, but in any case its
      only relevant during the actual build process, not for spec parsing.
      Set spec->rootDir from buildSpec() for the duration of the
      build to avoid having to refactor doScript() and all right now.

commit 4acb8866ef8b232b736b84a68b2701070439a6f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 14:00:54 2010 +0300

    Eliminate cookie from spec structure
    - Cookies are not a property of spec but a given build, handle this
      internally to buildSpec() except for --rebuild which passes the
      srpm identifier cookie through buildArgs

commit 628de71cdebf8ed8cb1574b39de6fe0150dd65fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 13:46:49 2010 +0300

    Sanitize buildSpec() arguments a bit

commit bd9e1b9d9bafe7246a43297d5d148838c873a21d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 13:37:37 2010 +0300

    Replace buildSpec() with a new interface in the API
    - Accept the entire build arguments structure along with a spec, these
      contain everything that we'll need
    - Just a convenience wrapper for buildSpec() for now, more things
      to follow...
    - Update the sole existing caller accordingly

commit 05dd62aba9c6bab44ba55ff1266ec9126b2f8874
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 12:26:26 2010 +0300

    Lift remaining build-related stuff out of librpm over to build-side
    - none of this belongs to librpm headers and ABI

commit 76600e53893b38e4441d98e3a24d3b55fefe2021
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 31 08:53:33 2010 +0300

    Eliminate useless hardwired build debug foo

commit 6cd0bb2b311db73198cff41a759d0174906c85ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 31 14:37:51 2010 +0300

    Passed-in values are const for every headerPutType() variant
    - Silly oversight back then, oh well... this shouldn't affect any callers,
      just avoids dumb warnings where none should be seen

commit 04fce4963c3d6708346a20addf00a28060c6df86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 10:25:06 2010 +0300

    Update translations to pick up new messages

commit 0f79048c664a9e560893ae5f1d0aac00ffa3b46f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 1 10:24:11 2010 +0300

    Add newly added files to POTFILES.in too

commit 7e7ca4b3667e538862900f335b41ce8dbce5cab3
Author: Anssi Hannula <anssi.hannula@iki.fi>
Date:   Tue Aug 17 02:29:14 2010 +0300

    debugedit: fix incorrect error messages regarding -b and -d

commit d06449dbaf40077c90c3e315e7036d8e781cf397
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:32 2010 -0400

    Add files for testing SELinux collection/plugin
    
    This adds two basic tarballs, one containing two minimal executables
    (foo & bar), and one contain a simple policy for the two executables.
    This also adds a new spec file with a policy subpackage, the new
    %sepolicy section, and the sepolicy collection.

commit 46cdd1b5073a6b7cdf0e23723f54958ec2f8c97e
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:31 2010 -0400

    Add SELinux policy plugin
    
    This adds a new plugin specifically for a collection to load SELinux
    policy. This implements the post_add and pre_remove plugin hooks. The
    only time anything happens during the pre_remove hook is if post_add was
    not called (i.e.  if the transaction only removes policies).
    
    This plugin extracts all the policy information from packages in the
    sepolicy collection during the open te hook. It then determines which
    policies should be installed/removed based on if the package is being
    installed/removed and the type of the policy and the system policy. It
    then executes semodule (or uses libsemanage if semodule cannot be
    executed or installing in a chroot) to remove and install the necessary
    policies. It then reloads the selinux state, reloads the file contexts,
    and if necessary, relabels the file system.

commit 34b5d67c2d3d68a48f0975dc6111a8c184d1c2dd
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:30 2010 -0400

    Use selabel interfaces instead of matchpathcon
    
    This replaces the old matchpathcon interfaces with the new selabel
    interfaces for relabeling files, storing an selabel handle in the
    transaction set.
    
    With this change, also comes an added distinction between --nocontexts
    being specified and a failure to read the load file contexts.
    Previously, there was no distinction, and both cases used the
    RPMTRANS_FLAG_NOCONTEXTS flag.
    
    However, with the new policy plugin, it is necessary to make such a
    distinction. This is because matchpathcon_init (now selabel interfaces)
    can fail at the beginning of the transaction, but succeed later after
    new policy is installed. Because of this, we may need to enable/disable
    RPMTRANS_FLAG_NOCONTEXTS multiple times. However, because this flag
    could also mean --nocontexts, we cannot do that. By storing the selabel
    handle in the rpmts, we can easily keep track if the handle has been
    successfully created, rather than overloading RPMTRANS_FLAG_NOCONTEXTS
    with two meanings.

commit 383e27564853fd4c387ca1d4a69f223140a0daca
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:29 2010 -0400

    Add new %sepolicy section to the spec file format
    
    The %sepolicy section is used to describe SELinux policy to be included
    in a package. It's syntax is similar to other sections (%files, %pre,
    %post, etc.) in that you can provide a string and -n after the
    declaration to specify policy should be added to a subpackage.
    
    For example:
    
    %sepolicy
     # policy in this section will be added to the main package
    
    %sepolicy foo
     # policy in this section will be added to the '<mainpackage>-foo' subpackage
    
    %sepolicy -n bar
     # policy in this section will be added to the 'bar' subpackage
    
    The %sepolicy section contains zero or more %semodule directives, with the
    following format:
    
    %semodule [OPTIONS] path/to/module.pp
    
    The available options are:
    
    -b, --base
            The module is a base module
    
    -n, --name=NAME
            The name of the module. If not given, assumes the name is the basename of
            the module file with file extensions removed.
    
    -t, --types=TYPES
            One or more comma-separated strings specifying which policy types the
            module can work with. To explicitly state that a module can work with any
            policy type, "default" can be specified as the value. If not specified,
            assumes the module can work with any policy type, and assigns the types as
            "default".
    
    Below is an example of this new format:
    
      %sepolicy
      %semodule -n foo -t mls policy/foo.pp
      %semodule -n bar -t strict,targeted,mls -b policy/bar.pp
    
    This also adds new header tags to store the new information:
     RPMTAG_POLICYNAMES        (string array)
     RPMTAG_POLICYTYPES        (string array)
     RPMTAG_POLICYTYPESINDEXES (uint32 array)
     RPMTAG_POLICYFLAGS        (uint32 array)
    
    The index of NAMES and FLAGS maps directly to the index of RPMTAG_POLICIES.
    However, because a single policy can have multiple types, the mapping for
    TYPES is not direct. For this, the index maps to TYPESINDEXES, which
    contains the index of the policy that the type maps to. This is similar to
    how DIRINDEXES is used to map DIRNAMES and BASENAMES. As an example, the
    previous %sepolicy section would have the following header tags:
    
    RPMTAG_POLICIES:
     0: <foo.pp data, base64 encoded>
     1: <bar.pp data, base64 encoded>
    
    RPMTAG_POLICYNAMES:
     0: foo
     1: bar
    
    RPMTAG_POLICYFLAGS:
     0: 0
     1: 1   # assumes flag 1 == BASE
    
    RPMTAG_POILCYTYPES:        RPMTAG_POLICYTYPESINDEXES:
     0: mls                     0: 0
     1: strict                  1: 1
     2: targeted                2: 1
     3: mls                     3: 1

commit 5779fb12e26ca1793df7ee50972de80dbf26992e
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:28 2010 -0400

    Remove the existing %policy directive
    
    Remove the existing %policy directive, to be replaced with a new
    %sepolicy section with more configurable options.

commit 883f13c8b735bda07b46ee8262cdba7d774322a4
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Aug 30 16:32:27 2010 -0400

    Update the plugin architecture to allow for remembering state
    
    This moves most of the plugin logic to a new rpmplugins file with a
    struct and functions for managing plugins, allowing for plugins to carry
    state. This also adds init and cleanup hooks for plugins to initialize
    and cleanup their state, and a new 'open te' hook allowing plugins to
    read and save information from transaction elements.
    
    This also generalizes the plugin architecture a bit so it isn't so
    specific to collections.

commit d010ec1c9026b35f5b2521be965c03c826894ce8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 26 12:21:33 2010 +0300

    Permit packages with no files to omit %files entirely
    - Fixes the long standing obscure behavior of missing %files
      section causes build to complete without errors but without producing
      any packages either. Packages without files in them are perfectly
      valid (eg metapackages), requiring empty %files section for those
      is just unnecessary spec noise.
    - Remove %files section on one of the test-suite specs to create
      a test-case for this as a side-effect.
    - This of course introduces a slight incompatibility with older rpm's,
      if compatibility is required then just add those empty %files in the
      spec, they dont hurt anything but the readers eyes.

commit e38efea49c23e55914dd306e27fc0320b174807c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 26 11:58:24 2010 +0300

    Clean up newPackage() a bit
    - No much point explicitly NULL'ing calloc()'ed memory, only initialize
      the values that are something else + other cosmetics.

commit a0950b6013b24750762fafcb8ffc0e6440147a81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 26 11:41:31 2010 +0300

    Split arch/os/platform adding out of parseSpec()
    - Combining description /checking/ and arch/os/platform /adding/
      into same for-loop (to save cycles or lines, dunno) makes no sense
      whatsoever. No functional changes.

commit 3b15d08cfff170700b6ec6eb50625e2216ddd917
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 15:51:45 2010 +0300

    Stuff the remaining truly internal structure defs out of sight
    - All these are internal implementation details that no callers
      should mess with. Bury inside rpmbuild_internal.h.
    - spec, package and source structures are tougher nuts as python
      bindings expect to expose some of the information, we'll need
      at least some api to cover walking over package headers etc before
      shutting the door completely.

commit 555f699f11774a2692518508fe14f3eed878b3d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 15:41:09 2010 +0300

    Mass eviction of remaining internal helpers in librpmbuild API
    - Yank everything qualifying as "internal helper function" into
      internal-only headers, loosely grouped as follows:
      1) Everything involving spec-manipulation goes into rpmbuild_internal.h
      2) All other miscellaneous helpers go into rpmbuild_misc.h
    - This leaves us a rather minimal, and nearly useful API into librpmbuild:
      Users need to be able to parse a spec, query or build (parts of) it
      and free up the spec structure when done. This is what we have now,
      various still exposed structures not counting.

commit 94a58d3864d080da7d2cb2ad4a87aaa2917facd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 15:06:47 2010 +0300

    Eliminate unused spec argument from addReqProv()
    - addReqProv() only operates on the header, not spec

commit 2a6efbca7ed753b6fac717976a14e24cf969db45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 14:52:58 2010 +0300

    Bury OpenFileInfo inside parseSpec.c
    - Nothing outside spec parsing machinery needs this nor should mess
      with it, enforce with opaque pointer.

commit 8d448745f053103ce3fbcf16f014cc376be8ddcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 14:13:10 2010 +0300

    Eliminate freePackage() from librpmbuild API
    - The only thing that should ever call this is freePackages() which
      was already made static. As newPackage() links the package structure
      with the spec, its not safe for others to call it.

commit e677ea1ea86cb3202256e7657066538d3b1b2705
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 14:04:52 2010 +0300

    Eliminate initSourceHeader() from librpmbuild API
    - This is a funky little implementation detail which no caller should
      have to bother with. Move it to parseSpec.c which is the only place
      needing it now and make static.

commit 68beb82e9f1c4e828c4af460e68513090a3cd171
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 13:39:04 2010 +0300

    Eliminate ancient leftover initSourceHeader() call
    - processSourceFiles() is only ever called through buildSpec(),
      and if you throw unparsed spec into that you're pretty much screwed
      anyway. rpmbuild always called initSourceHeader() anyway, and now
      its ensured for all successfully parsed specs.

commit aafd1d217d46848f1e19c9527e9e9f98bb30bda8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 13:33:15 2010 +0300

    Initialize source header from parseSpec() instead of caller(s)
    - This is where it logically seems to belong to, after all parseSpec()
      similarly populates all other metadata of the binaries etc too.
      No point requiring callers to do this obscure extra call.

commit b6eb24ebc12921abca74ebe007f4d31276c0cc38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 13:20:15 2010 +0300

    Move source+patch tag insertion into initSourceHeader()
    - processSourceFiles() is more about processing the physical files
      ending up in the srpm payload, source + patch tags are mostly just
      informational and can be added early

commit 7209fb6179e1379d96e4605d92604efdaa8cac28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 12:25:55 2010 +0300

    Eliminate an exit point from parseSpec()

commit 9ed9daf93e50464aabe92a87ba1a0199865288c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 11:04:51 2010 +0300

    Eliminate doRmSource() from librpmbuild API again
    - buildSpec() is sufficient interface for accomplishing the same,
      avoid exposing internal helpers

commit fd893bf69e67719f36195e0b96a8128ed83d3d2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 25 11:03:26 2010 +0300

    Fix RhBug:452477 differently to avoid doRmSource()

commit ddee17551f370ca502cff9ab707fad818beea31b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:56:29 2010 +0300

    Eliminate addChangelogEntry() from librpmbuild API
    - This is just an internal helper for parseChangelog(), no point
      exporting it

commit 692945f29e2f99baac2378adb542bf131d2ce4f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:54:04 2010 +0300

    Eliminate buildHost() and getBuildTime() from librpmbuild API
    - Neither is needed anywhere outside pack.c, bury there and make static

commit 64a1351844d527f7c9a43afaefc373c2d07b7152
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:39:42 2010 +0300

    Eliminate checkPackages() from librpmbuild API
    - No needs outside pack.c, make it static

commit 398df91274be4e6a9fae0cbbc59f95f6e490ed0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:37:16 2010 +0300

    Eliminate parseExpressionString() from librpmbuild
    - This has been unused since its introduction in 1998...

commit 0d50dde3d7ffaceb79407ecd3f0bf306fb258764
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:30:12 2010 +0300

    Eliminate freePackages() from librpmbuild API
    - This is a spec-internal cleanup task, no need outside spec.c

commit 3a765b98b6f63aeef2606322b0771679984446d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:23:51 2010 +0300

    Eliminate now unnecessary buildio.h
    - readRPM() is not used or needed by anything, shred it
    - make writeRPM() static inside the only place needing it: pack.c
    - move struct cpioSourceArchive_s inside pack.c

commit 1e1a56ee740e781ec85d3d14fddc357afff16536
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 13:14:48 2010 +0300

    Send the mostly broken rpminject and rpmsort "test programs" to shredder

commit 1719b2f3419bf5ff1f77350a3725ac0412f06fe2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 12:38:50 2010 +0300

    Eliminate newOpenFileInfo() from librpmbuild API
    - Nothing outside parseSpec.c needs, bury it there and make static

commit 5ed685425eb21ffb7609bd42dc87c8cdbcc0a725
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 12:35:59 2010 +0300

    Eliminate addSource() from librpmbuild API
    - Nothing outside parsePreamble.c needs, bury it there and make static

commit 38a8700db8797fbe2a02fb4727aeb9dccb42d06d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 24 12:31:13 2010 +0300

    Eliminate parseNoSource() from librpmbuild API
    - Nothing outside parsePreamble.c needs, bury it there and make static

commit 1d7f4dd6edf5983d32d312250568f8b5b9323e2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 23 13:08:23 2010 +0300

    Remove ancient autohelp-handling related leftovers

commit 3171179ea3ffb789825be0317a2c4cfbf078a074
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 23 09:51:52 2010 +0300

    Lose leftover variable, use const for s to clarify usage

commit ecd340547f504b2a48ee1da35c87951dde54d5f0
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Aug 22 20:29:46 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 729 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 51a05e7a9fbd5d066a57fa763b78ada01e36ae30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 17:50:51 2010 +0300

    Remove signing support from (lib)rpmbuild
    - Signing is better done in an environment completely separated from
      the process of actually building packages. This is how its generally
      done anyway by distros, this change just forces the issue.
    - While signing on build seems handy and saves some io-churn, this
      is very insecure as your precious secret passphrase remains unencrypted
      in memory for the entire duration of the build where it's accessible
      to whatever happens to be building. This change doesn't
      affect fix the issue of unencrypted passphrase residing in memory
      and potentially getting swapped out, it only limits the exposure
      to the actual signing process which isn't subject to unknown scripts
      poking around.
    - Minimally preserve rpmbuild's --sign functionality via popt --pipe hack
      to call rpm --addsign when build completes

commit d4d87cca0ee8d45e839099a216215414fabf35f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 16:00:38 2010 +0300

    Yet another unused copy of identifyDepend() hiding inline

commit 36e935a07330063321455ee31b663b890e49d063
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 15:33:59 2010 +0300

    Hack to get popt working when running from build tree
    - Dynamic linking with libtool causes binaries to appear as lt-foo,
      which confuses the heck out of popt aliasing. Add a dumb hack to
      rpmcliInit() to fixup the lt- out of popt context names.

commit fbd92df7544462a88cd8c752ffe07263dc8bb858
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 15:17:08 2010 +0300

    Argh. Realize we already have equivalents of initCli() and finishCli()
    - rpmcliInit() and rpmcliFini() do almost exactly the same as our
      newborn cli-helpers, but they've been almost unused until now.
      Use them and lose the new ones.. doh.
    - The downside is that popt aliases are now broken when running commands
      from the build tree due to lt-foo in argv[0], whereas initCli() took
      and explicit popt context name argument. Oh well...
    - rpmcliFini() was missing several necessary memory cleanup calls,
      add them there while at it.

commit e951c42146d89a5f4abdb02eaf9e44eead235e2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 14:48:44 2010 +0300

    Remove unused code, hidden away from compiler warnings via inlining

commit 3c5c19747b077597610dffc39118eb1316dfa3a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 14:31:16 2010 +0300

    Kludge to get rid of ugly lone --quiet on usage message

commit 119fb009226ffb25c899594127c1f7c500c51f06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 14:27:35 2010 +0300

    Update translations to pick up stuff moving around

commit 2c2faa299e6c1f2a9b6f8220c75cf878d4e005b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 13:47:05 2010 +0300

    Move --pipe handling to cliutils helpers

commit d391d5ec60c9fadb10236b8af236ac4b130cd2bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 13:42:00 2010 +0300

    Oops, fallout from commit 5fe63cd8e0b552a9687666e8b5f9454cf274d69d

commit 03a8511e3ba8b2c6cf3dc67fadaeca4aa9fb5221
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 13:16:48 2010 +0300

    Lump much of the common cli-init + finish tasks into cliutils helpers

commit b217529967f972225dc9b7d2e37860885fde1ee1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 12:08:10 2010 +0300

    Add a convenience library for stuff common cli-bits into

commit 04b1816f008d465ea5d7fa686e092280c3f104c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 11:35:44 2010 +0300

    If MiNT can't cope, frankly my dear, I dont give a damn

commit 910fc93842b766cbf211330191598f663be4f452
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 11:26:28 2010 +0300

    Merge build.[ch] into rpmbuild.c, doesn't make sense to separate anymore

commit 5ddfae716aeac7349485ecef3289d20071071dd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 11:16:17 2010 +0300

    Clean up rpmbuild's --quiet handling + honor it on --rebuild too

commit 7230aba539a61d07dd6398e981db4541ea4c8540
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 11:06:24 2010 +0300

    Cosmetics cleanup

commit f976dbd2f503fb4323415a58d65066703097e34d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 11:02:14 2010 +0300

    Eliminate unnecessary sanity checks wrt --sign and fix indentation

commit 8e9f4a9eeb024deac9106f49309c6dbb58561c6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 10:41:18 2010 +0300

    Test argument count early, avoiding the need to re-check over and over
    - Instead of bothering with different error messages for tar/spec/pkg
      messages, just dump usage when no arguments present.
    - Testing argument file existence for signing is meaningless on build
      as we're not signing the specs or tarballs present there but the
      build result.

commit af1fbfaca817c8b81dc81f1786cbaeae4c506493
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 10:24:53 2010 +0300

    Eliminate a bunch of now unnecessary cli-switch sanity checks

commit a3795d0dc22a3ee482d7a8aec74ea108225cb3b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 10:19:26 2010 +0300

    Simplify --root argument checking
    - We haven't accepted url's in as root since ages, wipe out the goo

commit 66ce5dc19c4662fb4e7870c5a55166435fbad083
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 09:26:10 2010 +0300

    Eliminate the IAM_RPMBT ifdef's from rpmbuild.c for real

commit 5fe63cd8e0b552a9687666e8b5f9454cf274d69d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 09:20:16 2010 +0300

    Chainsaw the now unused #ifdef'ed parts out of rpmqv.c and rpmbuild.c

commit f9cbeaca83f7586b1b05a19ad571fb68238c803e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 20 09:00:26 2010 +0300

    Begin splitting rpmbuild to separate sources
    - Make a copy of the entire rpmqv.c source to rpmbuild.c and switch
      make to use the new copy. No functional changes. Making a copy first
      means we get much easier to follow patch-series on the changes
      that will follow.

commit 6193eee71c37ffabcae399bdc2bc38fa55aa9b78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 18 12:32:23 2010 +0300

    Add a test-case for --specfile query

commit ab8ab164b95df8dc977e8650c671312ae534ca16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 18 11:55:19 2010 +0300

    Add %patch usage to hello.spec testcase

commit d3bebf2656554d39ab1e8f086244d75b4e2cbccd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 13 10:58:51 2010 +0300

    Lose the now unnecessary rpmtsSELinuxEnabled() function
    - it never was anything more than a cached value of is_selinux_enabled()
      and caching this fairly expensive result is no longer needed as
      scriptlet execution wrt selinux contexts is now conditionalized on
      RPMTRANS_FLAG_NOCONTEXTS instead

commit fb4644bdbd0181c1aeea88c692cb40eea5fbf178
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 13 10:52:40 2010 +0300

    Conditionalize rpm_execcon() usage on per-transaction flags
    - If we aren't laying down file contexts, executing scriptlets in
      contexts doesn't make much sense either as its just likely to fail.
    - System-wide settings, such as is_selinux_enabled() value, are
      very ambiguous when it comes to chroots, using per-transaction
      controllable flags instead lets callers decide.

commit c79542ee5abb17e5df0e15fced1a9e08a2ad1f29
Author: Giulio Eulisse <Giulio.Eulisse@cern.ch>
Date:   Tue Aug 10 11:50:48 2010 +0300

    Add missing libgen.h include

commit c72fc6adba1acb4fe49e31273c2437703b15afeb
Author: Roland McGrath <roland@redhat.com>
Date:   Mon Aug 9 15:27:03 2010 +0300

    Fix find-debuginfo.sh behavior on cross-directory hardlinks (RhBug:618426)
    - The find-debuginfo.sh script makes hard links of .debug files to
      correspond to hard links between install binaries.  It can fail to
      create one of these .debug hard links if it's in a directory that
      didn't exist at that point in the script run. How this happens
      depends on things like the order "find" lists files, so it can
      be hard to reproduce off hand.

commit 9570a7f6af152e2f1e63181ad8a20d12a10e3c5b
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Aug 9 15:22:51 2010 +0300

    Create GDB index from find-debuginfo if possible (RhBug:617166)
    - Details in https://fedoraproject.org/wiki/Features/GdbIndex

commit 7f220202f20c69d6f3fd957325cdbe692bbabedd
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 13 13:35:22 2010 +0200

    Redirect macro stack backtrace printing to debug log.

commit 60be56e317b1a18f0d71a2dc71c6fb18f26e19b9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 13 13:34:05 2010 +0200

    Fix cryptic macro evaluation error message (RhBug:613010)

commit 01fc4cfa93cba5e101549e515632f8ee63d006cd
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sat Jul 10 04:51:43 2010 +0000

    l10n: Updated Ukrainian (uk) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 1d0089a34f568e5dfb9988613daaf932c5b6667a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 9 12:32:24 2010 +0300

    Skip any initial comments when looking for pubkey start marker

commit 767c59b0527aeeb7e6bfc2c3048d5c2b73677438
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 8 14:29:36 2010 +0200

    Remove never used fsmRmdirs() function
    which should have removed implicitly created directories

commit 33f6c7f3beb8b538f9c20bbf280e53aeb2b655c0
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 8 14:25:48 2010 +0200

    Tidy up fsmMapPath a bit

commit 01aa203ae620b904f20be8c9946ce0a75f1a512b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 7 15:56:51 2010 +0200

    Make FSM_VERIFY a function

commit 0ef9b43f9bc9d37f88effec2627fbc31355b38ea
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Jun 7 12:10:08 2010 +0200

    Make FSM_CREATE a function

commit 6992a045d153aaa540d80be41413cdafe0b60865
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 4 17:03:59 2010 +0200

    Make FSM_READLINK a function

commit e3ed6eccee2c9afd4da4283702aca9e155cbfa81
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jun 4 14:30:16 2010 +0200

    Make FSM_LSTAT and FSM_STAT one function

commit 1abb4ec04804802c14dcd5fc17366cae8201c4b6
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 18 09:26:05 2009 +0100

    Move FSM_HREAD in place

commit 07f8fb1d99eeaa9f29199840f5be4771c521712a
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 18 09:24:25 2009 +0100

    Move FSM_HWRITE in place

commit 86f144d5558553a05ae0d805b9e8163579c4105e
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Dec 18 09:22:27 2009 +0100

    Move FSM_TRAILER in place

commit ebc75ef2082ed9a6e17a671ab39f48dfac09ffe2
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 15:12:32 2009 +0100

    Move FSM_MKNOD in place

commit 964e1add0d5f2971d6ee6adaed5bd536bac89a22
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 15:07:25 2009 +0100

    Move FSM_MKFIFO in place

commit d655dc9ecb9e92a84df3e647d46f679f795121ae
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 15:04:18 2009 +0100

    Move FSM_LINK in place

commit c9b78751747ce5bf4d9ddcecbdefa07e4547eb14
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 15:00:52 2009 +0100

    Move FSM_SYMLINK in place

commit b6ca2d5c3653bb4bfde1dcddbf616145b515b6f7
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 14:14:56 2009 +0100

    Make FSM_CHOWN, FSM_LCHOWN, FSM_CHMOD, FSM_UTIME and FSM_SETCAP functions

commit 10b3a34363408e6d3a3f7216d6a81e65bb2d4d72
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:40:55 2009 +0100

    Make FSM_LSETFCON a function

commit 37a4e8c200af87ee4643cbcf4af69435dd0bd112
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:26:21 2009 +0100

    Make FSM_RMDIR a function

commit f0fa864de7ef1d23b35d94bf2d527300734734a3
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:22:35 2009 +0100

    Make FSM_RENAME a function

commit f0b0ef96ef655653ec9c6d06499b131fd5a2d32c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:17:33 2009 +0100

    Make FSM_UNLINK a function

commit a23df654c658373e883f4f7c67991d0e27d2f917
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:06:59 2009 +0100

     remove no longer needed FSM states

commit 38967315c0a3e42e7e5cecfdd3b4f12cd699cd71
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 13:05:16 2009 +0100

    Make FSM_MKDIR a function

commit 80673746c9d6dba00482e7873ff3d29e65bd1a93
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 12:27:52 2009 +0100

    Use fsmRmdirs and fsmMkdirs directly

commit 16fc8739a895c861d69ea9c533ebd4f62a7cacd2
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 12:20:38 2009 +0100

    Use fsmMapPath directly instead of FSM_MAP
    Move fsmMapPath to better position in the file

commit a5ab0681ce1f7cbd2f51e367d0a05063f2826df5
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 17 12:17:58 2009 +0100

    Make FSM_INIT a function

commit 74c84ef9921e7662fdd363fcad293048db17ea5f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 3 07:16:22 2010 +0300

    Oops, dont hang in getOutputFrom() if we have nothing to write

commit d44d2ec6829a8eeca51f9fd2f4900d82f72770e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 2 13:23:11 2010 +0300

    Ugh, fix reversed condition on font-provide extractor
    - braindamage in commit 53045d5dcdce3988e2586cb315b35e6a675a8152

commit 375a6b5630b8e37e1d3f0c7ecbe10fe460c4d420
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 2 12:21:00 2010 +0300

    Rewrite getOutputFrom() in a race-free way (supposedly ;)
    - Use a self-pipe to handle signal race on select(). pselect() would work
      too but this is more portable and avoids other signal hassles.
    - Use non-blocking IO for communicating with the child to avoid spin-happy
      timeouts, just check all fd's properly before trying to use them
    - Avoid leaking memory from readBuff on errors

commit 8fe6438fdec279dbf6ea1a8346511f125c92ff3b
Author: Héctor Daniel Cabrera <logan@fedoraproject.org>
Date:   Wed Jun 30 23:23:19 2010 +0000

    l10n: Updated Spanish (Castilian) (es) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 5c2d5a19b9b621fc17de6338c848dc1e721b27ca
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Jun 30 09:38:22 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 732 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 5711982e27c70bea4017632255a94630ea10d1ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 30 12:27:56 2010 +0300

    Make the infamous getOutputFrom() error message more useful
    - ...like actually saying what was the failing script, doh
    - leaving the function name there for a googling hint

commit 53045d5dcdce3988e2586cb315b35e6a675a8152
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 30 11:57:17 2010 +0300

    Fix potential getOutputFrom() error on font provide extraction (RhBug:609117)
    - if fonts are detected in the package being built but fc-query isn't
      present, the script exited without consuming stdin which can break
      getOutputFrom()

commit 7caf820c778351baa237f04cb652d55f24811349
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun May 23 10:54:39 2010 +0300

    Extract dependencies from "use base qw"..."" and "use base qw'...'".

commit 6a37f166a81c302e18eb987ad6d42a7dd930ae9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 29 11:59:33 2010 +0300

    Update translations to pick up some recently added strings

commit 419bc7762dc2c9e35880b3ffc8058b8fbc33f62f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 29 11:34:32 2010 +0300

    Add --delsign to man page

commit 0e143cfe9f11abc42733d2265dc6d61cb716e5a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 29 10:47:18 2010 +0300

    Add some sanity checks for generated signatures (related to RhBug:608599)
    - GPG supports all sorts of algorithms NSS doesn't, do some basic tests
      to verify the generated signature is something we can actually use.

commit 20cfa7d2b4c927798ad38126821d194fafd93ffe
Author: Jiri Kastner <jkastner@redhat.com>
Date:   Tue Jun 29 09:46:22 2010 +0300

    Tell rpm about SHA-224 existence (RhBug:608599)
    - Fixes "Unknown hash algorithm" message but this is cosmetic only as
      NSS doesn't currently support SHA-224.

commit 85437f43ab3f87989dc9f5b85fec97549b344123
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 28 15:59:23 2010 +0300

    Use rpmdsThis() instead of doing the same manually

commit 122cf542d17d5041d44b15a7f02240ac7bffcdd1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 24 13:17:08 2010 +0300

    Move collections tag to "known free" number, document reserved tags
    - missed during review, oh well..

commit 520e9a17c5b72c78e08ebead278ba114a5340508
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 24 11:33:52 2010 +0300

    Err, remove /build/ from .gitignore

commit a8aa65840911b1daf3b54ce6a90770cfd9c4d273
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 23 16:11:10 2010 +0300

    Permit plugins to use rpmChrootDone() too

commit 26874707edfe73e153383284f9fe33cfd9879bb1
Author: Michal Schmidt <mschmidt@redhat.com>
Date:   Tue Jun 22 15:51:41 2010 +0200

    Revert "If there are no hardlinks, dont bother with s-bit and caps removal"
    
    Deciding whether it is necessary to remove the SUID bit based on
    the current link count creates an opportunity for a race condition.
    A hardlink could be created just between lstat() and chmod().
    
    This reverts commit 89be57ad9239c9ada0cba94a5003876b456d46bf.

commit 7583fcc3416e5e4accf1c52bc8903149b1314145
Author: Michal Schmidt <mschmidt@redhat.com>
Date:   Wed Jun 23 14:37:56 2010 +0200

    Allow '--short-circuit' for '-bb'
    
    This patch allows short-circuiting of building binary packages. To
    prevent accidental use of short-circuited rpms, they are marked with
    an unsatisfiable dependency "rpmlib(ShortCircuited)". A developer using
    this feature for local development and testing will use "--nodeps".
    Should such a rpm leak into the world, users will quickly notice
    it does not install by default.
    
    (v3: avoids API change, suggested by Panu Matilainen.
     v2: added poisoning with unsatisfiable dependency.)
    
    Michal

commit b6adef396b6278945ca97a552c8a6020d4a7b628
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 23 15:59:49 2010 +0300

    Add configure.ac check for need to -ldl
    - without this the build can barf on unresolved dl* symbols with a
      linker defaulting to --no-add-needed

commit a0e4220d3536e9a132daae3964f38a45422ada9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 23 15:54:48 2010 +0300

    Use rpmlog() instead of fprintf() for collection error messages

commit deb24a5698f7fc96c2b52b823ba8b107f378e865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 23 14:49:01 2010 +0300

    Make rpmChrootIn/Out() accessible to plugins
    - the exec plugin was using a private copy of rpmchroot.c to avoid
      RPM_GNUC_INTERNAL on the API, better let the plugins use librpm
      state instead
    - the chroot API really belongs to librpmio but for now...

commit 3aac9445db6672809324f31feac004dbe9b7f311
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 22 14:51:31 2010 +0300

    Fix python ts.check() dependency tuple munging
    - braindamage from commit fab2debfe440d677dbd072c3cd73d2c99876e7a5,
      causing list index out of range for any non-versioned dependency
      and bogus garbage for the rest, doh...

commit 6012c56c0bbf6af828d42cedc0b6e325f03efd7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 22 14:20:47 2010 +0300

    Fix breakage from commit ccb545f0e9b6cb10e9e7c20b55f77aab754eb9cb
    - file dependencies aren't necessarily on real files, they can be
      virtual provides too eg when alternatives is used
    - rc was being accessed unitialized
    - oh well, at least I said "supposedly"...

commit 4ee92967572da681aa2092d67dbb04e51d14c495
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 22 12:22:04 2010 +0300

    numAddedPackages is unused since rpm 4.8.0, eliminate

commit f3bcf9a18c967e9979b7933d3204300618ad3821
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Jun 21 17:04:40 2010 -0400

    Add a generic plugin for use by simple Collections
    
    This patch adds a generic plugin, exec.so, that should be sufficient for the
    majority of Collection actions. After all packages in a Collection have been
    installed/removed, this plugin executes the arguments by calling system(3),
    allowing for a very generic and powerful method to perform many actions.
    
    This also adds two sample macros as examples of the format, using the exec.so
    plugin.

commit 85d89bafdca5ec04866f9a7ecabb735d292c5a25
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Jun 21 17:04:37 2010 -0400

    Determine when to perform Collection actions
    
    There are three times during a transaction when Collection actions can be
    performed:
    
    1) After the last time a member of a collection is either installed or removed
    2) After the last time a member of a collection is installed only
    3) Before the first time a member of a collection is removed only
    
    This patch adds three lists to the rpmte structure to mark which transaction
    elements fall into each of these groups, and the collections that caused that.
    A new function is added to the TSM to scan through all the transaction elements
    and update these lists. When a collection is added to one of these lists, it
    signifies that when that transaction element is installed, the appropriate
    action should be performed for that collection.

commit 04bdec775ac56c7673f87257306b23536a954474
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Jun 21 17:04:39 2010 -0400

    Add plugin calling support
    
    This patch adds a simple plugin system that makes simple problems easy to
    solve, and difficult problems, such as SELinux, possible.
    
    When the transaction gets to the point where a collection action should occur,
    it expands a macro of the form %__collection_<collection name> to get the path
    to a plugin and any additional options. The plugin is dlopen'ed, and the
    appropriate function is called in the plugin, with the additional arguments
    passed in.
    
    This also adds a --nocollections option to disable performing Collection
    actions.

commit 2fd0913a6abd91389a3f1498ef9c4b2c6c72bff1
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Jun 21 17:04:38 2010 -0400

    Add common Collection requirements
    
    This patch adds the install-time feature that if a package requires a package
    in a collection, then it also requires all other packages in that collection.
    This has the effect that collections will be roughly grouped together during a
    transaction.
    
    Although this is not absolutely necessary for the majority of collections, it
    is required for the SELinux collection. This is because all SELinux policies
    must be installed before the applications they secure to ensure correct labels.
    This means we must ensure packages in the selinux collection are ordered
    earlier in the transaction than all applications they protect. Adding this
    implicit runtime requirements achieves this in a general manner, without major
    modifications to dependency ordering.
    
    To accomplish this, this patch splits the addRelation function into two parts:
    one that determines which relations to add, and one that actually adds them.
    After the usual relation is added between two packages, it then determines if
    the required package contains any collections. If so, it finds all other
    packages that are in the same collections and creates additional relations.

commit 015870830503700b1aa7921407752792a8388792
Author: Steve Lawrence <slawrence@tresys.com>
Date:   Mon Jun 21 17:04:36 2010 -0400

    Add new Collections preamble tag
    
    This adds a new Collections preamble tag, which contains a space separated list
    of collection names that the package belongs to.

commit d6795bee66be227895484a40b2d805cff1115734
Author: Héctor Daniel Cabrera <logan@fedoraproject.org>
Date:   Mon Jun 14 15:45:49 2010 +0000

    l10n: Updated Spanish (Castilian) (es) translation to 100%
    
    New status: 724 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 33197fd4b19eeed5e7623ec1af62595449fc710b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 11 08:19:08 2010 +0300

    Dont bother with selinux contexts in test transactions
    - initializing contexts isn't exactly cheap, and test transactions
      have no use for them

commit 89be57ad9239c9ada0cba94a5003876b456d46bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 11 08:17:12 2010 +0300

    If there are no hardlinks, dont bother with s-bit and caps removal

commit 0d61354b481dfa8d6ade49602948ffb6edc86cdd
Author: Tadashi Jokagi <elf@elf.no-ip.org>
Date:   Mon Jun 7 22:12:12 2010 +0000

    l10n: Updated Japanese (ja) translation to 97%
    
    New status: 707 messages complete with 9 fuzzies and 8 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 7b9d87a044455b0ef50f84446a744e928e1ac4fc
Author: Tadashi Jokagi <elf@elf.no-ip.org>
Date:   Mon Jun 7 22:10:29 2010 +0000

    l10n: Updated Japanese (ja) translation to 97%
    
    New status: 705 messages complete with 10 fuzzies and 9 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 61f5bea69e4a992c18e5590239cd5b153516a919
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 7 14:01:02 2010 +0300

    Oops, bad format spec in Finnish translation

commit 36e8e3d9fe7890249cfeab4ae72f85e19cc7b43a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 7 13:14:52 2010 +0300

    Eliminate fuzzies from Finnish translation

commit cbb37abb4f69160c867b53c300fd67d74a1e6574
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 7 12:51:09 2010 +0300

    Update .gitignore a bit

commit d8e99d20768358364029842c39c72ce1428348e9
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sun Jun 6 05:40:03 2010 +0000

    l10n: Updated Ukrainian (uk) translation to 100%
    
    New status: 724 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit c19d8461765aa92d0abe62296495feaf99b8946c
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Thu Jun 3 18:45:25 2010 +0000

    l10n: Updated Polish (pl) translation to 100%
    
    New status: 724 messages complete with 0 fuzzies and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit 15c0c4e7a1291915a4ea4115e94d2b747d5091ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 3 16:22:09 2010 +0300

    Fix "empty reply from server" curl-syndrome with url retrieval (RhBug:598988)
    - We were adding a trailing newline to urlhelper command line passed
      to execvp(), with the newline ending up in the URL passed to curl.
      Many servers dont seem to mind the extra newline, but some do. Oh well...

commit 4d172a194addc49851e558ea390d3045894e3230
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 3 11:04:12 2010 +0300

    Remove POSIX file capabilities from executables on erase/rename too
    - Just like suid/sgid bits, hardlinks to executables with capabilities
      set can "leak" permissions to old, potentially vulnerable versions
      of binaries. Related to RhBug:598775.

commit ca2d6b2b484f1501eafdde02e1688409340d2383
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 2 09:15:48 2010 +0300

    Strip s-bits on upgrade too (RhBug:598775)
    - Previously only actual package removal would clear s-bits from
      s[ug]id files. This needs to be done on upgrade too to prevent
      leaving vulnerable hardlinks of s[ug]id binaries around.

commit 49b4dea69d19794253f3dfb56fcd35cd9679fcc7
Author: Tadashi Jokagi <elf@elf.no-ip.org>
Date:   Wed Jun 2 00:01:13 2010 +0000

    l10n: Updates to Japanese (ja) translation
    
    New status: 664 messages complete with 47 fuzzies and 13 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit ccb545f0e9b6cb10e9e7c20b55f77aab754eb9cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 1 15:49:16 2010 +0300

    Refactor rpmdb lookups + caching to a helper function + cosmetics
    - no functional changes (supposedly ;) just cleaning things up a bit

commit 7a8b716187804cd6bbe113dab8c2ad5d9d5ef57c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 1 13:55:15 2010 +0300

    On colored transactions, require matching arch for freshen (RhBug:553108)
    - What we'd really want to compare here is the color or ISA of the packages
      but color isn't realiable as eg -devel packages often aren't correctly
      colored, and ISA isn't currently available in the header as a standalone
      entry. Comparing arch prevents otherwise reasoable i386 -> i686 type
      arch changes on freshen but at least it avoids the most pathological
      issues.

commit cadab3afa55388f3082a3468d582896caabfd55c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 1 11:58:42 2010 +0300

    Permit DOS line-endings in PGP armors (RhBug:532992)
    - RFC-4880 doesn't requires unix-style line-endings, we shouldn't either.
      This is probably still oversly strict as RFC-4880 appears to permit
      any whitespace to follow armor headers but ... shrug.

commit 84621fa7e1f5162acaa53f60039f46d1d87ef552
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 1 10:37:09 2010 +0300

    Support many pubkeys in a single file in --import (RhBug:586827)

commit ddec80b614567b9a6f0f784beb6ee45b145c6fd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 1 10:15:10 2010 +0300

    Don't return errors on trying to import duplicate keys
    - On the principle of "no news is good news", if we already have the
      keys to be imported, then everything is ok. The former behavior is
      just confusing as witnessed in RhBug:462979

commit 099a45a5b9e7051e4e4db0d0d0037751ea07405c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 31 18:00:33 2010 +0300

    Nuke leftover variable from the chroot workout

commit 8687f255a47dad4e42f9eab97eeded38cced7a91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 31 17:01:53 2010 +0300

    Update translations to pick up chroot-related string changes

commit f2bfa2edfc769a66c3ca789bbd681bd22483154b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 31 14:07:46 2010 +0300

    Use the new chroot API everywhere, eliminate old related goo

commit 90a37c2f5c848eaf37c9afeac1e85dfe11e1301a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 31 13:11:47 2010 +0300

    Add a simple API for dealing with chroot state changes
    - Chroot is a process global state so it needs to be tracked globally.
      A process can (in theory) have several transaction sets, each with
      different roots (although only one can be active at any time), so
      associating the chroot state with transaction set (as currently done)
      is not right.
    - "Reference count" chroot entering and exiting so callers dont need
      to track the state changes individually when they need to go
      in and out of chroot if not already done.
    - This should probably go to librpmio eventually but as there are no
      needs outside librpm currently, keeping this internal so we're free
      to fiddle with the api if necessary

commit a795c69c2097586bd04b816f252f1aebba655b73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 31 13:28:58 2010 +0300

    Eliminate unused no-op FSM_CHROOT stage
    - the fsm thingie doesn't need to deal with chroot issues: except for
      build where it doesn't matter, its only called from psm where the
      chroot is already taken care of

commit 1dd5b084bd86b0c18016eaa678ab83c447ec3c9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 12:57:59 2010 +0300

    Add internal helper for formatting file attribute strings
    - Eliminates some copy-paste slopping. Verify code traditionally only
      shows the first attribute, take care to keep that format to avoid
      breaking scripts unnecessarily

commit 00f1a6e0b1805c2c0f9ff314aabce8f9ca209f4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 12:21:34 2010 +0300

    Add header extension tag RPMTAG_FILESTATUS for file verification
    - Permits basic file verification with just a headerGet(), with some
      caveats: there's no way to control which attributes get verified,
      and there's no filtering of mtime differences of shared files. Those
      aside, rpm -q --qf "[%{filestates:vflags} %{filenames}\n] <args>" now
      performs the same as "rpm -V --nodeps --noscripts <args>"

commit ac0ab016a5ec31e65eb0c0910a5a6f1199aae3e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 12:18:26 2010 +0300

    Add internal helper for formatting verify flags

commit a6c8e490236bc373fcb565d30652f69218db2b84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 10:49:58 2010 +0300

    Move shared file timestamp filtering out of rpmVerifyFile()
    - rpmVerifyFile() reports things as they are in reality - if timestamps
      on disk differ to header then it reports it. Filtering on the result
      belongs to the code interpreting the results.

commit be1c4872c1fb3e196beddde2c415ed2a009dfe32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 10:27:01 2010 +0300

    Dont crash on NULL ts to rpmtsInitIterator()

commit 3f38850609abc97168fb2ba521d6e1923bf80900
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 09:57:09 2010 +0300

    Only pass the info we actually care about to verifyHeader()

commit f4bbfed8003ae7c3317a2353fcf36c2768ad6dda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 09:51:51 2010 +0300

    Eliminate unused argument to verifyDependencies()

commit 591c5c3fbb60b54094e7266976ff00aa936c7d3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 28 09:47:47 2010 +0300

    Clean up verify script handling a bit
    - test verifyscript existence in rpmVerifyScript() instead of caller,
      making it safe+correct for calling on any header
    - eliminate unused/unnecessary arguments, local variables and bogus leftover
      comments

commit 5c6795bf43acdcfcd6fea73f00eac50764530bc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 26 13:25:39 2010 +0300

    Handle test-transaction centrally on entry to psm
    - psm in test-mode is a no-op anyway, so dont bother at all with it
    - also removes the need to check for test mode on pre/posttrans scripts,
      these are now fully covered by psm too

commit 614c52090b1740b6f09863e56e4887c5b1af94ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 26 11:30:15 2010 +0300

    Eliminate rpmts from the scriptlet machinery
    - pass scriptFd and selinux enabled status as arguments from psm level
    - selinux status could be queried directly with is_selinux_enabled()
      but that's a fairly expensive call which does all sorts of funny
      things and probably doesn't work at all in the average chroot
    - Lua-scripts dont currently honor scriptFd and have no use for selinux
      but pass the info there too as an early step towards supporting
      scriptFd with Lua
    - makes rpmScriptRun() even more of an argument monster, some of this
      should probably go into rpmScript struct...

commit c9f74ddd0aef5aac33867908d7cc247064f085f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 26 10:15:06 2010 +0300

    Simplify chroot handling wrt scriptlets
    - switch root if necessary on entry and exit to psm already, nothing
      inside the psm needs access to outside chroot
    - eliminate chroot handling from scriptlet machinery, dealing with
      chroot is a job for higher levels
    - Lua scriptlets can change our cwd, always ensure we return to previous
      cwd after executing by saving and restoring the cwd

commit 2c54c6abbf4c6ee44d0693133a2f373621832ffb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 25 15:38:15 2010 +0300

    Move scriptlet statistics collection (back) inside psm
    - removes one rpmts dependency from scriptlets

commit a2b999df2e71dd7b595ad329e26efe80eabb9d1f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 24 09:39:54 2010 +0200

    Put the macro evaluation in spec comments back.
    - '#' at the beginning doesn't need to always represent comment in spec
      but can be part of the embedded bash script (RhBug:594672 - comment 6)

commit 0e04c09d4896fe6ba1431c5383bde24983ed1f1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 21 15:36:03 2010 +0300

    Move the lone hashFunctionString() into misc.[ch], eliminate rpmhash.[ch]
    - Besides there not being much point in having a separate source + header
      for a small single function, this fixes build on case-insensitive
      systems such as Mac OS X.

commit 8cb7b9085c58aff778ecda18d2073af2fa7082df
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri May 21 13:12:02 2010 +0200

    Do not evaluate macros in spec comments (RhBug:594672)

commit 2d468d2cd9d2a5e2f9adcdecdd9f017fe04eb77a
Author: Till Maas <opensource@till.name>
Date:   Thu May 20 11:35:16 2010 +0300

    Search all locale dirs in find-lang.sh, not just those under share/ (#159)

commit e63293b0ea1c6a3a4be6aca328ee9fae4c3bfcdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 19 15:33:52 2010 +0300

    Use pgpValString() for :pgpsig header formatting (RhBug:587755)
    - instead of copy-slopping (and forgetting to do so whenever something
      changes) just use the values we know from pgpVals..

commit 2be413810cd78b0a503699ceca3f8e1505f1b425
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 19 15:32:54 2010 +0300

    Add public pgpValString() function + enum for the various types
    - The equivalent used to be possible in 4.4.x era as the value tables
      were all exported, but this way we need to export far less
      and the implementation details stay internal.

commit 072815887faa202a60b5ca310e6e5cbfbfbeac5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 19 14:59:02 2010 +0300

    Bury struct pgpValTbl_s definition inside rpmpgp.c
    - as all the value tables are static inside rpmpgp.c, exposing this
      is pointless (should've been unexported long time ago)

commit 0e0e332b466a9784620c483faa374067381e96ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 19 10:12:43 2010 +0300

    Handle non-existent dependency sets in python (RhBug:593553)
    - rpmdsNew() returns NULL if the requested dependency type doesn't
      exist in the header. The C-side API can handle NULL to all rpmds
      "methods" and this is how librpm deals with non-existent sets rather
      than waste memory on for empty ds structures. However the python side
      wasn't expecting NULL for legal requests (but not setting error either)
      and thus blowing up with SystemError exception.
    - Raise TypeError on illegal arguments to rpm.ds constructor, and present
      non-existent dependency sets as empty rpm.ds objects to python. This
      lets python callers use iteration over ds items regardless of whether
      the dependency actually exists or not. The alternative of returning
      None (or raising exceptions) would break existing code for no
      particularly good reason.

commit 2b7884ce2914c48514023dbe61dc7a126964f438
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 18 10:39:22 2010 +0300

    Fix return from chroot() on verify (RhBug:590588)
    - a couple of important steps in chroot() in and out sequence missing,
      causing "No such file or directory" whining on return from chroot()
      unless cwd happened to be /

commit e6a0b0e5661f15fbb39f45f937aef4b0464be39c
Author: Roland McGrath <roland@redhat.com>
Date:   Mon May 10 20:05:48 2010 -0700

    Make debugedit -i recompute build ID only when any DWARF was actually changed.

commit c4b63623533d8b7fa7b89ea5fe33dd02663c99c5
Author: Roland McGrath <roland@redhat.com>
Date:   Mon May 10 17:53:07 2010 -0700

    Whitespace fixups for tools/debugedit.c

commit 1d7e1f66e1be40705b23e4a9a1c7be3d4ae611d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 20:24:01 2010 +0300

    Plug dumb memleak in rpmpsMerge()

commit 6fc3cbefee92520a842caa29cf0ae1cc6f238c98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 20:18:58 2010 +0300

    Fix breakage from removedPackages changing to hash
    - tsmem->delta is still needed for tsmem->order reallocation,
      zero delta causes funny effects on larger package sets (test suite
      doesnt trigger this)

commit 775cbf8bf28775f913ac40a79d95de714fff6d2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 15:25:38 2010 +0300

    Revert back to rpmdbRemove() taking instance number instead of actual header
    - On package reinstall (ie --replacepkgs) we only know the old header
      by the instance number, and grabbing the header from the db in
      psm as a special case for that is more trouble than just doing what
      we always did.
    - Reverts commit e16695e932e294ec600e673d38c41bde20931204 and unbreaks
      the --replacepkgs test case

commit f0518013733f4b2ac32ac15f1407c014ebc83e03
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 14:31:25 2010 +0300

    Convert rpmte internals to use the transaction pointer from element itself

commit 8f7c2d7063df6d1057425d014ce4168d46c5e7d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 7 14:07:39 2010 +0300

    Store pointer to transaction set in transaction elements
    - unused now but allows various new things and more element "independency"
    - eliminate the unused dboffset argument while at it

commit 0782ee6b71b2cdad2a6fb6ff2f90d506e3230eb2
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri May 7 13:06:40 2010 +0200

    Fix compiler warning in rpmhash Resize()

commit fe6967d5a33dbeb53a31068cd82b7599617870f7
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 6 16:31:53 2010 +0200

    Remove no longer needed function intcmp()

commit 70e9b035ff33d649adb32028258f9676fc12d126
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 5 12:49:16 2010 +0200

    Convert tsmem->removedPackages to a hash table and remove rpmdbPruneIterator from the API

commit 9fad36f0eddb5d2d63cba6656978c68d7b5b715d
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu May 6 15:30:01 2010 +0200

    rpmhash: new Empty() function to remove all entries

commit aafd8500d3235b1c8e54c838924c3f5b490c9148
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed May 5 12:48:41 2010 +0200

    rpmhash: Accessor functions for the size and usage

commit 030f7dde13118ae7a78c7008a745dc342ff9be4c
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 25 12:06:22 2010 +0100

    rpmhash: Grow when hash table gets too full
    
    Add some statistics to be able to find out how full the hash is

commit 869004e8fbc265d875d22713016fdb440950a556
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 15:12:41 2010 +0300

    Move header filecount retrieve from addTE() to rpmfsNew()

commit 27869a523327475a4f809415753e1ec091093d4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 14:55:38 2010 +0300

    Tolerate NULL in rpmfsFree() and rpmfsFC()
    - both are "can't happen" situations but easy to handle cleanly here...

commit 63dcd3d4973906eccd76129d194fabea34faece9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 14:51:48 2010 +0300

    Minor cleanup to rpmfsNew()
    - use xcalloc() to ensure clean state, no need to manually do it all
    - group non-conditional and conditional operations together

commit 118fba22950c35ef296c93b992746c9137a67f23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 14:14:16 2010 +0300

    Move delTE() inline to rpmteFree()
    - no point splitting this up, its just straightforward freeing of stuff
    - dont bother with tonne of assigning everything to NULL, it gets
      zeroed out by memset() anyway

commit a9cb04fe1c6650bf88271b904b9b76db8c6e7b98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 13:20:26 2010 +0300

    Unexport rpmteNew() and rpmteFree()
    - the only meaningful way to create transaction elements is by adding things
      to a transaction through rpmtsAddFooElement(), there's no need to
      expose these and restrict our ability to change the API when needed

commit d7c37d8a46b8374f1b0d96c0b2215f55a553d9c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 12:32:08 2010 +0300

    Minor cleanup to rpmReSign()
    - headerNew() cannot fail, dont bother checking
    - initialize variables on declaration

commit 834c8383476fe54c65fe07b69c01cd3d35f5a488
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 12:28:23 2010 +0300

    Fix minor header iterator leak in rpmReSign()
    - fix dumb double-initialization error introduced somewhere between
      4.4 and 4.6, also while-loop is more natural here than for-loop

commit a592b14fe28e4bf096d1623de13bc7cc5c528ec3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 6 12:16:20 2010 +0300

    Clean up rpmcliImportPubkeys() a bit, no functional changes
    - remove questionable rpmtsClean() call remnants from rpm 4.4.x days
      when it used to clean the signature/digest data in ts but also
      clean a pile of completely unrelated items
    - rearrange the error code handling so we can get by with single place
      of freeing the temp allocations
    - move local variables to the scope where needed and eliminate unnecessary
      ones
    - remove redundant NULL check on argv, this is already done by caller
    - remove unused qva argument (static function so no API implications)

commit 3b96dfb29ab75a4f7f37713a93ec39460c158ef0
Author: Pavol Rusnak <stick@gk2.sk>
Date:   Wed Mar 17 16:02:46 2010 +0100

    Don't process desktop files without Type=Application and Exec= line

commit ed74161b7e5b90ba886926ced14ba3aca018a4f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 4 09:05:23 2010 +0300

    Rename python module version symbol to __version__, add __version_info__
    - This seems to be a de-facto standard in python land, as rpm.version
      hasn't been in any released version we can still change this easily.
      Suggestion from James Antill.

commit f2c4eebae0c33c01274b2da1ecb19f62beecb21f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 29 15:47:59 2010 +0300

    Doh, dont shadow the rpmtsVerifyDB() return value

commit d131c3393a2a43d87047bffdd73cf9ae3c8146c2
Author: Giulio Eulisse <Giulio.Eulisse@cern.ch>
Date:   Tue Apr 20 11:42:10 2010 +0200

    Fixes missing __fxstat64 symbol on mac.

commit 40b275b4a7ff68a53f09da28958c132050cc674a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 28 12:31:14 2010 +0300

    Fix a few uninitialized variable cases found by clang-analyzer

commit 27086a30157d06c4d690d0f77e20eec17883aa00
Author: Taylon Silmer <taylon@taylon.eti.br>
Date:   Tue Apr 27 18:21:27 2010 +0000

    l10n: Updates to Portuguese (Brazilian) (pt_BR) translation
    
    New status: 721 messages complete with 1 fuzzy and 0 untranslated.
    
    Transmitted-via: Transifex (www.transifex.net).

commit efe0ebcbc14e43042083ce76043c69b8eb829280
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 13:48:58 2010 +0300

    Protect rpmtsVerifyDB() with transaction lock
    - BDB docs state that db->verify() doesn't perform any locking even
      when used within an environment, and should only be used on files
      that are not being modified by another thread of control. Grabbing
      the transaction lock while verifying mostly ensures nobodys writing
      to the db behind our back.

commit a5f17bac34fb3bf777126cf6f6d4e237a6db41a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 12:49:03 2010 +0300

    Ditch "fcntl_locking" bdb config option
    - This is an undocumented BDB interface (only documented in the db.h header),
      and its not something users should be messing around with

commit e7b0d96900fb16a707776f95052f924fc4241c17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 12:23:24 2010 +0300

    Make transaction lock path per-transaction
    - Although it doesn't really happen in practise, rpm's API permits several
      transactions with possibly differing roots within process lifetime.
      Previously the lock path was calculated just once globally so we could
      easily be locking in a completely wrong place (eg locking in a previously
      accessed chroot when system rpmdb should be transaction-locked)

commit 1f625e69e9609bedde9b071d87849ed518b43d22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 11:01:27 2010 +0300

    Further generalize the rpmlock interface
    - Move transaction lock path handling into rpmts.c, export new low
      level rpmlockAcquire() function to actually grab a lock
    - Rename rpmtsFreeLock() to rpmlockFree() and return NULL in the
      general rpm style

commit d2810bdc527a5dbe03c15291dd50a0cdfca79319
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 10:44:38 2010 +0300

    Generalize rpmlock_new() by moving transaction lock path calculation out

commit 35c563af8ce0b4a78096f2e5232d608630a0178e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 22 10:37:51 2010 +0300

    Make rpmlock type visible inside rpm, use instead of void*

commit fb772e2cad8ed79fb4d1b971bd10842381102ea7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 21 13:00:43 2010 +0300

    Lose the useless header refcounting debug junk
    - one more of these still left behind.. pff

commit 8cc740c43f28b43cd34894d7c0d47b48ce5f4f91
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Wed Apr 14 16:44:52 2010 +0530

    Eliminate unused "known problems" based filtering from rpmtsRun()
    - This mechanism has never been used by anything at all, which suggests
      its not a particularly useful feature
    - Removing unused rpmpsTrim() from rpmps
    - Marking okProbs parameter of rpmtsRun() function as unused to avoid
      unnecessary breakage

commit c0ab315e71c46e36de038dde4a32ebe6eba04c41
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   Wed Apr 21 11:10:15 2010 +0400

    rpmdb.c (dbiOpen): fix dbix condition
    
    In the loop, dbix is always initialized to 0, so checking (dbix < 0)
    is uselss.  Insetead, we sould check (dbix >= dbiTagsMax).

commit da6e66a9b28f21f81a5e9ce1ce760e26e2a5bdd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 15 10:24:03 2010 +0300

    Only check the type of dependency requested in checkInstDeps()
    - This gets called separately for requires, conflicts and obsoletes,
      wth should it loop over conflicts when looking for requires?

commit a0ed26b894e301d479c8092c9c7fa16f2d6c3c2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 14 12:24:37 2010 +0300

    Add a basic reinstall test to test-suite
    - this currently fails due to commit e16695e932e294ec600e673d38c41bde20931204,
      on reinstall element header vs db header mismatch, adding this as
      a reminder to fix it...

commit 97a85443223777bc9b8c62b962b5b4b1344e7086
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 14 09:22:07 2010 +0300

    ...but make sure the pre-requisite isn't also an erasure-dependency
    - fixes eg Requires(pre,postun) case which must not be filtered out here

commit 2e03c07db7e10725be9ccdc13daded2e4bf5b017
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 14 09:05:55 2010 +0300

    Pre-requisites of installed packages dont need to be verified (RhBug:223642)

commit dcaec34d3f07ff688ce16afa77734dd37889ce81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 13 08:50:08 2010 +0300

    Update a few tag descriptions + visibility
    - RPMTAG_CAPABILITY and RPMTAG_RHNPLATFORM are truly obsolete and
      should've been taken out a long time ago

commit a761daa2f8a0edb66733444f49f032f3a13035b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 13 08:35:45 2010 +0300

    Use correct tag for NOPATCH
    - dumb copy-paste error from commit a317eaadc3f7b9b4ec373719e7d60fb8b98e2c21

commit 538ddff69cacbd0db346cac3c10171424ae9b229
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 13 08:32:49 2010 +0300

    RPMTAG_NOSOURCE and NOPATCH aren't internal, they end up in nosrc headers

commit b2efc89d7db4f3a31dfd7f91028c5a9f9643334f
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:12:46 2010 +0200

    Gnu tar sometimes prints a "tar: Record size = 16" message, breaking
    rpmbuild -ta.

commit dfa98e7a064d9ea28b416b52f2673202799bcb9f
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:11:56 2010 +0200

    Adapt the Makefile as rpmdb_svc can no longer be built.

commit 18c3e1a37c482811b7b3af1415ef67aac527b869
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:11:05 2010 +0200

    New gcc versions comlpain about undefined behaviour...

commit daec6ebf58331776279f389738af4788b865033d
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:10:20 2010 +0200

    readLineFromOFI may modify the fileStack, thus we have to re-set
    ofi after calling it

commit cad147070e5513312d851f44998012e8f0cdf1e3
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:09:04 2010 +0200

    Do not load keyring if signature checking is disabled.

commit 64e7f2aeb4ce01fccacde021fb22c85083284efb
Author: Michael Schroeder <mls@suse.de>
Date:   Mon Apr 12 12:07:01 2010 +0200

    Seems like a change was made to make %attr(-) go back to the
    defattr setting. Unfortunatelly this broke %defattr(-).

commit 1b78a6974da7731060a1e87f837c449e07f08941
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 16:36:17 2010 +0300

    Clean up dbiOpen() a bit
    - eliminate now redundant rc-condition, move local variables to the
      scope their used in

commit 8591f205f02ca09f42c08f8c8ecac73e107485ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 15:52:29 2010 +0300

    Move environment open "refcounting" to db_init() / db_fini()

commit f2957887fb7f80c2dbf6f0b4973c72ca66b0d2e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 15:06:59 2010 +0300

    And now lose db_use_env from rpmdb struct
    - Environment is always used, shared if possible private otherwise

commit ba6b82d3faca3c5ee703ee16fe97b03892ee479a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 14:53:31 2010 +0300

    Simplify the dbenv->open() flags shuffle
    - We always create an environment. If we dont have permissions to create
      or join a shared environment, we use a private environment. Instead
      of trying to figure out what to do beforehand, retry dbenv->open()
      with different flags to see if it succeeds. This eliminates some
      potential races when others might create/remove the environment
      while we're pondering about appropriate flags.
    - Lose the "create" bdb config option, this is something we always
      want to decide internally.
    - Remove "force" bdb config option, DB_FORCE is dbenv->remove() option
      and its value clashes with DB_CREATE...

commit 72a36aed42ed1facc0ffaccb4f91d4ae30d7a33d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 11:16:37 2010 +0300

    Move dbi_use_dbenv from dbi to rpmdb, this is a per-rpmdb setting

commit 6a22fb6e3033468201ec405a482887581debea36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 9 10:50:32 2010 +0300

    Move dbhome directory create/verify to openDatabase()
    - all db opens must go through openDatabase(), no need to track this
      with a separate variable on each index open

commit 34b57de830dd5a600cefa1d2269626f744b642a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 16:15:16 2010 +0300

    Eliminate DB_JOINENV usage and config option
    - DB_JOINENV is a no-op since BDB >= 4.4

commit 4e51e58c2376e4f649db5118b137a77a71a0d8a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 16:07:58 2010 +0300

    Eliminate "thread" BDB option
    - this is not something that users should be tweaking
    - its never been enabled, leave it that way for now

commit 4f6281c2bb1292e646276bea5aafc08cae886ceb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 16:04:37 2010 +0300

    Lose redundant dbi_use_env check
    - its always enabled when we get here, but might get turned off
      in the initialization process (at least for now)

commit 8f03db2c7682f2564aaa54cc4151b090379bc99f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 16:01:20 2010 +0300

    A little bit of sanity to dbiNew()
    - lose the hysterical dbi_use_env condition and usedbenv option
      this is always enabled
    - ensure mpool is always initialized, lose the config option (this
      is a mandatory BDB subsystem, not a bleeping configurable)
    - let pagesize be what it is even when no configuration is present
    - avoid overriding dbi_mmapsize and dbi_cachesize if set in the configuratio
    - these are all per-environment, not per-dbi settings but for now...

commit 30068b52802fe3dbab709b596972be34fdb08ba1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 14:39:07 2010 +0300

    Eliminate exclusive and rdonly BDB configuration options
    - we never want DB_CREATE to cause failure - let BDB create the
      db if it needs to, otherwise DB_CREATE doesn't do anything
    - rdonly is decided elsewhere, not in bleeping configuration

commit eccf2b5f7e8256fff4bc8ac81c449c1ca89ed2c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 14:37:51 2010 +0300

    Mop up ancient BDB leftovers

commit 4b9bedce3151e198b2a9c2af1298864225cd4deb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 14:36:55 2010 +0300

    Eliminate BDB transaction tuning knobs from configuration
    - we dont support transactions yet, and this stuff doesn't
      belong to "user configuration" anyhow, these are just useless

commit 216ca35d62a73fda1d86bdd56cfe8b80c9d30d58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 13:59:05 2010 +0300

    db_env_create() doesn't take any flags currently

commit d9691e72570126316a161d63b2f6dc53d6c82d87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 13:46:13 2010 +0300

    Remove per-dbi perms and configuration
    - the file permissions are per-db global, no need to be able to
      speficy different modes for indexes

commit f70a4e6105cf0714daa69675a7086ed4f1067553
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 13:39:08 2010 +0300

    Remove per-dbi mode and configuration
    - read/write/create mode is global to the entire db, either its
      just readonly or its not
    - this doesn't belong to configuration

commit 72a472bdcd30aa3a76b7b2e4b46bdf0c748e0ffa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 12:33:19 2010 +0300

    Require BDB >= 4.5 for sanity's sake
    - replace unused feature tests in configure.ac with a simple version check

commit 946f17a9f8b21ffeda1af9b0925ba5c2752e052e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 10:53:08 2010 +0300

    Remove unused dbi_txnid member from dbiIndex
    - transactions aren't currently used, we'll need txnid handles eventually
      but the dbi is unlikely to be the right level to store this, add
      where actually needed when the time comes

commit 321925a18dd87b963bf16745a61751eeb8c2fa49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 10:31:00 2010 +0300

    db_create() doesn't take any flags currently

commit 02a13bf65e771d87e7600561f6a3f70587b64bdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 8 09:10:13 2010 +0300

    Eliminate dbiIndexNewItem()
    - this is just simple struct with no special allocation, and contents
      are memcpy()'ed so theres no need to malloc it

commit 2771913363f94e08c9afccff6c0c0ca32989cbca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 13:23:03 2010 +0300

    Change nextInstance() to permit retrieval too, use it for bitmap alloc
    - The "was this verified already" bitmap uses header instance numbers
      which are monotonically increasing and can be much much larger than
      the number of actually installed headers. Grab the current instance
      number for a better idea how much we'll at least need.
    - Throw out the db stats based dbiNumKeys(), this doesn't have the
      kind of performance penalty that stats have and suits our purposes
      better anyway

commit 81754356cd3b7118e32665b6306369ba2cdc1c35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 12:43:20 2010 +0300

    Make rpmdbAdd() and rpmdbRemove() internal-only
    - all additions and removals to the rpmdb need to go through the
      transaction machinery, these are very low-level functions that
      API users have no business messing with

commit e9c767a8d75ee1f2c159867d16e13b74a43da23e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 12:38:20 2010 +0300

    Stash rpmdb struct definition out of sight into dbi.h
    - not perhaps the ideal place for it but the backend level needs
      access to the main db in several places anyway, and this leaves
      rpmdb_internal.h clear for internal-only APIs

commit e16695e932e294ec600e673d38c41bde20931204
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 12:28:02 2010 +0300

    Unify rpmdbAdd/Remove() interfaces
    - rpmdbRemove() takes now a header as argument too - we need both
      the header number and the header itself there anyway, so might as
      well use the header we already have instead of flipping through backwards
      hoops to get to it

commit 037538f00f3801d1698a30d107cd6468d6009fde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 12:12:51 2010 +0300

    Eliminate the headerCheck() foo from rpmdbAdd/Remove()
    - for rpmdbRemove() these have been completely unused, and for rpmdbAdd()
      the higher levels have had more than one chance of verifying the
      header if checking is enabled in the transaction set

commit 475391dc581bf5ba72b6d59d16d875505b45bd51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 11:11:55 2010 +0300

    Lift RPMDBI_PACKAGES handling from db add/remove to separate helper
    - Remove vs add is rather similar, unify the copy-pasteish code
    - Be a bit more careful about error returns from the primary db functions

commit 0bb48a56b8ab0d95327e38a98f13246f388d2fd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 09:18:44 2010 +0300

    Lift header instance number figuring out of rpmdbAdd() to helper function

commit a5039afa3f974384cbd69530ec59449df3e1d445
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 08:58:23 2010 +0300

    Verify header sanity as the first thing in rpmdbAdd()
    - avoid allocating header instance for something that we'd fail to add
    - avoid possibly adding data to indexes even if adding the header
      itself fails, duh

commit f40ea7e359df44f3db24391f966abfa9bad556be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 08:35:14 2010 +0300

    Move header INSTALLTID manipulation out of rpmdbAdd()

commit e23a2bf0977fcd6380acc277c4edc9f0ee997600
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 07:48:33 2010 +0300

    Remove unused require- and provideversion indexes
    - For completely unused indexes, these are fairly expensive too

commit b3f5136cdfad37fb6ec89aa74e0c044894591e28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 7 06:55:15 2010 +0300

    Eliminate redundant/bogus temporary variable shuffling
    - This fetches the special key zero which is used for bookkeeping of
      header "instance" numbers, the actual header to be stored is NOT
      relevant here
    - keyp, keylen, datap and datalen are just redundant fluff, manipulate
      the key and data DBT directly

commit 2a52cc81f9456f933db945b99f67147b5b21ad01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 6 13:13:14 2010 +0300

    Remove unused _DBI defines

commit 3437ad49b934cbf6503129dfbb6effd0c6012221
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 6 13:09:34 2010 +0300

    Lose unused fluff from openDatabase()
    - As RPMDBI_PACKAGES is always the first index, the for-loop never
      did anything else than open the Packages db and exit with success/fail.
      For the same reason RPMDB_FLAG_MINIMAL didn't do anything at all here,
      lose the unnecessary flag..

commit 7b4da15c666d1d744b794a43098691900bcf0797
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 6 13:02:58 2010 +0300

    Eliminate static _rebuildinprogress hack, use per-db flag instead
    - replace unused RPMDB_FLAG_CHROOT with RPMDB_FLAG_REBUILD and pass
      around as necessary

commit cd12be9dbb7dbfc800412b8a1cf7a86a0a6d6462
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 6 12:59:06 2010 +0300

    Bury rpmdb flags inside rpmdb.c, not used by anything outside it

commit 46de075bfad4665e6a1b05323eb766edc32cb497
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 5 18:09:57 2010 +0300

    Unbreak --rebuilddb
    - managed to bust up the rebuilddb-path generation once again in commit
      890cea56c91ff6ff887a439c036d345715e6c5c2, doh
    - make the intended logic more obviours

commit fc46b4ecef7c5bfe18237156d9dcf22577a2f22f
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Mon Apr 5 07:22:31 2010 +0000

    l10n: Updates to Ukrainian (uk) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit b663b6b2efdb69c6bfbef6a96e781340e08331e3
Author: Misha Shnurapet <zayzayats@yandex.ru>
Date:   Fri Apr 2 12:55:37 2010 +0000

    l10n: Updates to Russian (ru) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 8e9d2aff44af79260c0adec976773dd78c4dc1b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 18:19:49 2010 +0300

    Nuke bogus comments + related NULL-checks
    - db->_dbi cannot be NULL if db is not NULL, it's allocated at
      newRpmDB() and freed in rpmdbClose() and nothing else touches it

commit ca2c8172d10d3257bb8b49bc008d65b7e874edcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 17:59:38 2010 +0300

    Clean up rpmdb struct initialization
    - lose the dumb template assignment and related defines

commit 2ba47e8e5b0d35132f98e67827d3fd9de853a8f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 17:49:07 2010 +0300

    Lose unused static initialization foo

commit 91953f1f9317891a6a283a779ba79d9429fd2973
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 16:58:12 2010 +0300

    Clean up formatting in rpmdbCountPackages() (just cosmetics)

commit 76b36936eaa30cf74a5d02f024fef1e1643f68e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 16:29:38 2010 +0300

    Remove unused rpmdbCloseDBI()
    - this was used by the Depends temporary db hack, forcing it
      to be exposed in the API... not anymore

commit fed962f059461f64b1017836599c9aa51285d026
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 15:28:45 2010 +0300

    Generate package database statistics on close & make use of it on open
    - Turn dbiStat() into more useful: return the number of keys in the
      index, hiding away the BDB internal access method stuff into the backend
    - Force statistics gathering at Packages db close, take advantage of
      that when its opened to get a fairly accurate count of packages for
      initial "header verified" bitmap allocation. Previously DB_FAST_STAT
      was used on open but it never returns anything when no stats have
      been previously collected, hence the need for the expensive slow stat.
    - The performance hit from stat generation is hardly worth it for
      the bitmap allocation alone, but lets see if there are other uses...
    - Also gets rid of dbi_stats member, this is not particularly useful

commit 86348031c259919bac5085708985cf55084670a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 13:54:39 2010 +0300

    Lose "support" for truly ancient BDB versions
    - BDB >= 4.3 is required now, and even thats several years old

commit 3bd1951bbd03d30f0ff83d1bd468d2c383c7807f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 12:48:17 2010 +0300

    Rename dbiOpen() + dbiOpenDB() to make their layer obvious from the name
    - dbiOpen() in rpmdb.c operates on "rpmdb layer" so calling it
      rpmdbOpenIndex(), dbiOpenDB() on the other hand is the lowest level
      backend thing, which is now called dbiOpen() to be in line with
      the other operations like dbiClose()

commit a7b08b448b73d95794f4f64111af8607ae239e13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 12:34:59 2010 +0300

    Pass rpmdb to dbiFindByLabel() / rpmdbiFindMatch() directly
    - avoids having to go backwards from the dbi to rpmdb when we very well
      have the rpmdb handle at hand here...

commit 298812d338d0175e997d4a7633f5899634239511
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 12:25:04 2010 +0300

    Eliminate dbi_rpmtag member from dbiIndex struct
    - the backend doesn't care about the tag beyond initialization,
      and the tag is only used for error messages from rpmdb layer which
      already knows what the tag is

commit c8cfbc941b625baebcdd8507ffe0d511f816f190
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 12:01:28 2010 +0300

    Define + use enum for primary/secondary index types + api to get it
    - no functional changes, making the type more obvious than
      "case 2*sizeof(int32_t):"

commit 7b666ce208f9a5bccfb22e11645bc6e3af884776
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 11:47:15 2010 +0300

    Rename the dbi access method member dbi_type -> dbi_dbtype
    - make it more obvious what it is

commit f30e6d409a19a943224d6697a06dd1996bc61d72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 11:13:37 2010 +0300

    Split dbiIndex out of rpmdb_internal.h into header of its own
    - the dbi presents an internal api of its own, and deserves a separate
      header (baby steps to making dbiIndex opaque outside the backend)
    - move dbiVerify() to the backend where it belongs
    - mark all the dbiFoo() functions as internal

commit 12236b58b62c0c21048aff843624d7623d43fda7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 10:25:55 2010 +0300

    Eliminate unnecessary argument to dbiCopen()
    - txnid (which is unused...) is stored in dbi so dbiCopen() can already
      get to it

commit e1d100df3a8ecb877ebbaead6ca33c1b635b71c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 10:18:05 2010 +0300

    Move dbi_no_dbsync logic to inside dbiSync()
    - avoids having to check for it in every single caller

commit c397a09be3efd087afeb25a5b01715eb8c889cdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 10:03:21 2010 +0300

    On header iteration format queries, dump the contents as-is
    - This makes eg --xml query of packages give out the true contents
      of the package, raw i18n strings and all, which is what you probably
      want when examining the contents on this level. Regular queries still
      run with all bells 'n whistless enabled.

commit 3ac99bd8c21436d8c70d462b64bf63453415a689
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 1 09:15:06 2010 +0300

    Disable header i18n lookup in headerCopyTags() (RhBug:578299)
    - without HEADERGET_RAW here, only one of the translations in header
      (whatever happens to be "current" locale) gets copied

commit ea6171dce2d184e20c1d84612576afdf4ddd1e7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 12:17:00 2010 +0300

    Remove BDB recno + queue access methods from configuration
    - these rather limited access methods have never been used for anything,
      rpm always used hash access and later btree to varying degree

commit 926a382ca6d5d501164d73fd3ed605369119413c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:51:39 2010 +0300

    Database metadata integer byte order is not user serviceable config

commit 305d2045a9dc2615aa61eb12b6a74d7d5b7e538f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:48:03 2010 +0300

    Lose dbi file configuration option
    - index names are rpm tag names, period
    - also we dont need to strdup() the tag name, rpmTagGetName() returns
      pointers to const strings these days

commit 5e6079eabcd6a4ed4d4d545143e2d4c3f06cc78e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:47:33 2010 +0300

    Make dbiVerify() and dbiOpen() static, not needed outside rpmdb.c

commit aa74bc4af0227c7b37f11bda371f2b7cb20e25ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:37:13 2010 +0300

    Bury dbiIndexItem and dbiIndexSet structs inside rpmdb.c

commit f4edb1b111efba6808eafc374af86af33ec96575
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:34:21 2010 +0300

    Make dbiIndexSet operations static inside rpmdb.c

commit 2f83ab90e666ed66413a0ea83b627348928a7e51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:16:54 2010 +0300

    Lose the BDB access method configuration options
    - In the ~10 years of their existance none of them have been used,
      and besides users have no business messing with fundamental database
      behavior such as whether duplicates are allowed or not

commit 19cae46ac447712e8ff7de733919aa5c32251a4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 02:04:21 2010 +0300

    We really dont care about macro expanded per-db error prefix

commit 9791cf2ab571ed0715795e5c0c82a3d87e87d1dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:59:27 2010 +0300

    Lose shmkey + shared BDB config options
    - we dont want anything to do with System V IPC, really... BDB uses
      file backed mmap when it needs, this suits us just fine

commit 08cdca32577a9521aa5e4f06bb6754d1840e9675
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:55:06 2010 +0300

    Remove "truncate" BDB config option
    - Truncate is so dangerous that dbiOpenDB() discarded it even if
      set in configuration. How useful is that?

commit 025886592e2660803b35054ab6aec293834d65d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:53:12 2010 +0300

    We dont want to use DB_HOME environment, ever
    - rpm has its own switches for overriding the db home when that's
      necessary, DB_HOME it should use not

commit 6a3464740a27488b3b03b0f0feb08c7937db3fef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:45:26 2010 +0300

    We dont have any temporary databases anymore, lose the config switches
    - The last temporary db was Depends which is now replaced with an
      in-memory hash, and the temporary dbs were troublesome with
      chroot operations anyway, good riddance

commit 7309f7498134f7b62f27624a4cdb91e1c6b82578
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:41:04 2010 +0300

    Lose pointless per-db and per-dbi errfile and errcall pointers
    - BDB uses stderr for errfile when not set, which is what we set it
      to through various hoops. Just leave it alone.
    - db_errcall has always been (intentionally) NULL to disable that output,
      the errors get logged though cvtdberr() with slight filtering

commit 5aa612da3f00149cee9ba631dd1a7f2e65b718e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:27:04 2010 +0300

    Shred a pile of BDB config goo that's never been actually implemented
    - with the exception subfile (used by now extinct sqlite backend)
      none of this was ever even connected to the bdb configuration...

commit fbc11b67656e93bccef495a09b1a59805c1dde3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:12:15 2010 +0300

    Shed the pointless per-dbi memory allocators
    - we want to use our own allocators for exit-on-enomem behavior but
      having per-index allocator configuration makes no sense whatsoever

commit c8591a822eb3c7499e5fcf3556c28aab591d2802
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:09:51 2010 +0300

    Eliminate now unnecessary db_ndbi field, number of indexes is constant

commit fb2a6cb031781bc23a5249febf1cf693e92a2403
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 01:05:03 2010 +0300

    Make rpmdb index list hard-wired
    - We dont grow new indexes every other day, and especially this
      is not activity that users need to be able to do
    - Gets rid of the hysterical initialization and million can't happen
      NULL-checks

commit 668a265e8c5b1d55e1e7a013e75fd3c115d431e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 00:43:34 2010 +0300

    Minor cleanup to rpmdbAdd()
    - move dbiOpen() + check to more sensible place, curing the
      busted indentation
    - initialize at declaration save a few unnecessary lines

commit 19c7dbcca8f635d9fedb15b52ef9131ef68c97d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 31 00:40:23 2010 +0300

    Add + use a helper function for retrieving single header at offset

commit 55bcfaef71727c966de494d0dd4ba0527b4ac0a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 30 23:23:53 2010 +0300

    Minor cleanups to rpmdbAdd() and rpmdbRemove()

commit 890cea56c91ff6ff887a439c036d345715e6c5c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 30 23:11:21 2010 +0300

    Minor cleanup to rpmdbRebuild(), use rstreq() instead of hand-comparing

commit 2275a2ef895e211115fc001d95e8676ecc5c9f40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 18:36:21 2010 +0300

    Hide rpmte open/close/error etc logic inside rpmteProcess()
    - make a bunch of helper functions static now that they're not needed
      elsewhere, rpmte is slowly becoming self-aware ;)

commit 7289fadea367e43a4ecf505877cb0a39afa34d60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 17:14:55 2010 +0300

    Move the little thats left of psm.h into rpmte_internal.h
    - no functional changes, just shuffling declares around

commit 2641de9d5ccbef1833c2939a4d7dd55afd5cba45
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Mon Mar 29 14:38:09 2010 +0000

    l10n: Updates to Polish (pl) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 001778e0741fb43be358801b8cea4989754b14a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 16:14:50 2010 +0300

    Oops, scriptlet related error messages had dropped out of potfiles

commit 3521e8fbcf8ba779900a4e05f85bc2eb5e94a90b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 16:11:08 2010 +0300

    Update translatios again to shed non-existent messages from recent churn

commit 2aac5c68ad895aa1085519b8de4d5077b8d94227
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 16:05:32 2010 +0300

    Lazy allocation of rpmds color array
    - only requires and provides in transaction elements get colored,
      dont allocate unused memory

commit cb5b70be4e51c71f32443b89904ea78041586487
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 15:33:03 2010 +0300

    Lose long since unused fdReadable() and fdWritable()
    - these have been unused since rpm 4.6.0, and can be implemented
      without access to rpmio internals too if somebody cares...

commit de5ec1af472d8af85b830c734170c3304b3df8a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 15:27:43 2010 +0300

    Lose long since unused url control structure and related functions
    - these have been unused since rpm 4.6.0, and rpm is not in the
      url business, rip.

commit 593902eee642912245ed669e265c07dbd51ccb45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 15:03:14 2010 +0300

    Remove unused dependency set file reference count
    - this has never been used for anything at all, there are better things
      to use our memory for than unused arrays

commit e18d9e68260aacde0d1fe1f0fdddb008357262fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 14:53:10 2010 +0300

    Remove unused and non-sensible depedency set build-time
    - Buildtime was never part of rpm version comparison nor should it be,
      on rpm level the only sensible differentiator between two identical
      dependencies is the dependency color if any. Other than that, random()
      just as "appropriate" as build time.

commit 6ba22ca0d9f9de9ee358111f457bdbe323e263b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 14:40:40 2010 +0300

    headerNextTag() fits the checkForDuplicates() use-case better
    - as we're only looking at tags, not their contents... avoid unnecessary
      data shuffling and the code is a little simpler too

commit 343d3a2cf7a3ad70ab0e056a156b03c4b1212c0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 10:59:58 2010 +0300

    Unbreak cpio archive path generation
    - fixes regression from commit 45e2d4e1d0260a9c07eb1daf0c68b82f602ad16f
    - striplen was never set on build at all, and the psm part was unused
      too - either unused since forever or possibly related to repackaging

commit dbec3664232852425d9e966058cb02e6c5f6689c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 09:35:25 2010 +0300

    Oops, being a bit too strict on dependency qualifiers
    - Forgot how nasty hack parseBits() was... its abusing multilang
      support and the multilang support passes "C" if no lang is specified,
      which certainly isn't a valid qualifier. Make multilang vs tag with
      optional qualifiers different types in PreambleRec, which allows
      handling this more sanely
    - Additionally build-dependencies dont take any qualifiers now

commit c0eb82dd1f2102f2b4899c1e7232086c41d2e805
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 08:58:27 2010 +0300

    Teach rpm about pre-transaction dependencies
    - A pre-transaction dependency is generally anything that must be
      available at the start of the transaction, and cannot be resolved
      by packages *in* the transaction. This lets %pretrans scriptlet
      dependencies be expressed correctly, and could be also used for
      other kinds of pre-conditions.
    - rpmlib() dependencies are a special case of pre-trans dependencies
      but leaving them handled separately as they cannot be provided by
      anything in rpmdb either, whereas pretrans dependencies can.

commit bf2bc18ebb325f081ade65adc2fbb6858f0b8396
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 08:30:18 2010 +0300

    Always fail build on unknown dependency qualifiers
    - previously unknown qualifiers would go unnoticed if they happened
      be last (including being the only qualifier), eg Requires(pre,junk)
      or Requires(junk) would be cheerfully accepted but Requires(junk,pre) not.

commit 1ab0222b032d510f331cefa83fb0172673f89083
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 08:27:35 2010 +0300

    Always initialize tagflags to RPMSENSE_ANY

commit 750b534942f0191f2d14d2974541ecaaa13820a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 07:20:33 2010 +0300

    Report all enabled dependency bits in deptype format extension
    - dont make assumptions about which bits can be enabled simultaneously,
      just dump 'em all

commit 09363b8c794c0f85d164a94f9fc7ff4d22ea6d6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 06:48:23 2010 +0300

    Dont bother translators with dependency lookup debug messages

commit 566d9ca99316ccc279b37295b71c62be110cd8bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 06:37:27 2010 +0300

    Lose unused RPMSENSE_PATCHES
    - this was never used by upstream at least, and the "patch rpms" this
      refers to was abandoned by Suse in favor of deltarpm a long time ago...

commit 130fddf015bcb4daa0a0cad3d40bcb752bebe7c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 06:29:19 2010 +0300

    Remove redundant assignments
    - everything but buildrequires goes to pkg->header, no point having
      this separately set in each case

commit 668f9582917a5b2ffeec7b91f785c6732891b320
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 06:27:44 2010 +0300

    Group the tag cases a bit more logically in parseRCPOT()

commit d160f45ab3ef5e78836ffb668c8c7887ae1081c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 06:17:30 2010 +0300

    Drop "support" for per-scriptlet build-requires
    - Rpm has never done anything useful with "BuildRequires(prep): foo"
      style dependencies other than recorded them in src.rpms, nor is there much
      point in properly supporting this in the future either
    - Frees up four more bits from rpmsenseFlags for better uses

commit 75cccc91f3e1e71bde95edf0047ca8c5e984a2fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 29 05:59:54 2010 +0300

    Free up three bits from rpmsenseFlags
    - pass the wanted dependency type to addReqProv() as tagN argument
      (previously unused, eh...) instead of taking up three precious bits
      for internal-only purposes from a constrained bitfield

commit 8d3cad1d618e7cbc45ed71b6d633914688d292aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 17:07:00 2010 +0200

    Add ds.Instance() method to python bindings
    - the naming between header/rpmte/rpmds "instance" is wonderfully
      inconsistent... oh well

commit 01b047e7591dcff0897865350476d773406da068
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 17:00:20 2010 +0200

    Take advantage of rpmdsCurrent() in python bindings

commit b88d5d3aaf4e5174a4683cef4d5d3ba0de28f3b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 16:54:16 2010 +0200

    Add public rpmdsCurrent() function for creating a single ds from iteration
    - Permits extracting single dependencies from a set with instance
      number inherited without exposing rpmdsSetInstance() kind of thing
    - Also faster than calling rpmdsSingle(rpmdsTagN(ds), rpmdsN(ds)....)
      where each call re-re-re-re-validates the indexes

commit 971348fd46037ed7bf2cb20fc29fefe0d86143cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 16:45:46 2010 +0200

    Split single ds generation into helper function, clean up a bit
    - allows nicer handling of ds instance without special cases

commit 98cfe652077e311d62c6f26fa3c5b6907f013ace
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 16:14:52 2010 +0200

    Simplify rpmcliTransaction() a bit
    - No need for separate the install and erase cases here for problem
      filter flags: we only check disk space for added packages so this
      is just a no-op anyway
    - Also no need to fiddle with eflags for ordering, we always want
      ordering unless --noorder specified

commit 42fa7b7d4f0521da4e4c09b7fdcc8789412ff164
Author: Héctor Daniel Cabrera <logan@fedoraproject.org>
Date:   Fri Mar 26 13:51:00 2010 +0000

    l10n: Updates to Spanish (Castilian) (es) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 94f94398dcbc3b95e049e9845d1d13ebe90baacd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 15:28:25 2010 +0200

    Oops, diskspace problem messed up from the argument shuffle
    - fixes regression from commit 12392d93e2006ac63f918a154f29283a14fb98cf

commit 0f93affa168962b4095349db4970b058f7d46da0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 15:22:13 2010 +0200

    Record originating header instance to all problems where relevant
    - currently unused but allows tracking things like file conflicts
      back to the originating header directly from the problem set

commit 8949e6a0fba0c29d2e44d91da63acaf5aa0eb68b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 15:11:57 2010 +0200

    Take advantage of rpmdsInstance() in dependency problem reporting
    - Other than having less arguments to pass here and there, doesn't
      give any immediate advantage, but with the origin of installed
      dependency stored in problem sets, it'd be possible to track back
      a dependency problem back to the originating header

commit eaff094c5756a15c5e4c70fcfacf63251b9f7691
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 14:56:14 2010 +0200

    Record header instance in dependency sets + add API for retrieving

commit 07e7c67fd0070255f8387e8e4e098cf1ba83a539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 14:18:45 2010 +0200

    Merge checkPackageSet() into checkInstDeps()
    - checkPackageSet() got refactored out of being useful standalone
      while I wasn't looking :)

commit e9aae5200d14ff33b635526c6353deea8231f527
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 13:36:36 2010 +0200

    Avoid unnecessary argument now that problem pkgNEVRA is always te NEVRA

commit 39ded460e62b38efa26ec665d48e661f7d425a80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 13:20:17 2010 +0200

    Change the problem data arrangement for dependency problems
    - pkgNEVR in problems is now always the NEVR of the transaction element
      triggering the problem, and altNEVR is the other affected package,
      dependency string is stored in the problem string attribute
    - no user visible changed, except for somebody crazy enough to try to
      do something other than print the problem message strings
    - we wouldn't really need to strdup() the pkgNEVR in problems now,
      but leaving that alone for the moment...

commit a6bf388ab32f388147084e0f9936ed6567ada776
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 12:23:47 2010 +0200

    Filter out duplicate problems when adding to element problem sets
    - Problems associated with a transaction element are necessarily unique
      to that element, so when filtered there we don't have to worry about
      skipping dupes elsewhere like in merged sets. This can actually lead
      to apparent duplicates in the current problem report output (eg in cases
      where multiple packages provide the same dependency which would be
      removed, like multilib packages), but this is only an artifact of
      they way the problems are currently printed out.
    - While this is still a dumb linear search, it can be several seconds
      faster than the previous filtering in rpmpsPrint(), which is now
      just a dumb convenience function.

commit 0aba719592a1dd6532a1e70e9defbad5e62fc1ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 11:22:18 2010 +0200

    Eliminate rpmpsAppend() from the API
    - This was only a convenience function that shouldn't really have been
      exported to begin with, and is not necessary at all - bury it
      inside rpmte.c for now to hide lazy problem set allocation
    - In the other news of the day... According to git, this happens to be
      the 10000th commit to the master branch of this codebase.
      Happy anniversary to rpm :P

commit 1102e35b20ebebb897785266bd6ba6b8a7aab323
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 10:41:10 2010 +0200

    Push problem creation argument sanitation to the level below
    - rpmpsAppend() and rpmProblemCreate() have no use for fn/dn either,
      its just stored in one string internally
    - this is kinda unnecessary API break but these aren't used outside
      rpm so it doesn't make much difference

commit 12392d93e2006ac63f918a154f29283a14fb98cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 10:27:39 2010 +0200

    Sanitize rpmteAddProblem() arguments
    - lump fn/dn into one, in no case both are needed
    - move altNEVR earlier to lump the generic attribute foo last

commit 0d68cbf48efe57c4adf57a409df4bd57acc1bebd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 09:31:00 2010 +0200

    Use the new problem set iterator where it makes more sense

commit 997954f793359d16af2d34ce9ca41d82a7acb0a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 09:21:06 2010 +0200

    Use rpmpsMerge() for collecting element problems in rpmtsProblems()

commit d9d59c89301de242a008a55d3ee93b0c710937eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 09:20:05 2010 +0200

    Add a simple and dumb rpmpsMerge() function to merge two problem sets

commit 96e07f34e48b33f0d1f4c9be9ed33fdddf0bd0cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 08:50:30 2010 +0200

    Add a saner rpmps iteration interface
    - simply return the actual problem objects from the iterator instead
      of "index" which is not usable for anything outside rpmps.c
    - implement rpmpsNexIterator() on top of the new rpmpsiNext() as
      backwards compatibility for now

commit 34ddaa716174e29c42f005e3546dbbeeb60c7057
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 26 07:09:47 2010 +0200

    Handle NULL and the same literal problem pointer in rpmProblemCompare()
    - if the pointers to compare are the same, the problem is the same
      (even if NULL for our purposes)
    - if they're not the same and either is NULL then they're not the same

commit 91cf9d8b7f75249d52a09bfbe80b84040431f0e5
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Fri Mar 26 01:01:37 2010 +0000

    l10n: Updates to Polish (pl) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 47edb58cb766580770652f0f6e4101d28e96ae79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 16:48:08 2010 +0200

    Update translations for the rpmps -> rpmprob split

commit 37ed237fbea3a8df3efab0e7c09331a63d733bce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 16:46:39 2010 +0200

    Split rpm problem type + its "methods" to separate source + header
    - rpmps is just something that stores rpm problems, problems themselves
      are individual and opaque "objects", deserving their own module

commit ae15f440b63daabe2c280086da69890b9f22bc69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 16:22:53 2010 +0200

    Add public function for testing problem equality
    - turn around sameProblem() return, pay more attention to details
      and make it public
    - use it in rpmpsTrim() too

commit 8360baf5d634deef842173abee2edb35ee9d5818
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 16:06:07 2010 +0200

    Lose unused ignoreProblem from rpmProblem struct
    - this is an artifact from rpm 4.4.x-times, and even back then
      nothing used it, the only api to set it was in python bindings and.. eww
    - also killing this makes rpmpsTrim() do something semi-useful again

commit 7dce058cb8da856a268e391e9beeaf3e097086a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 12:45:37 2010 +0200

    Minor cleanup to rpmpsGetProblem()
    - avoid dumb pointer fiddles, ps->probs is just a bleeping array

commit 0ad0e345502c4b261e0c3378fd0830f7eacab340
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 12:39:13 2010 +0200

    Minor cleanup to rpmpsAppendProblem()
    - dont bother adding NULL problems
    - avoid dumb pointer fiddles, ps->probs is just a bleeping array

commit 48d603e6258219caddc73ba72203596d9ac6bc77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 12:35:05 2010 +0200

    Minor cleanup to rpmpsFreeIterator()

commit 833ea26c4660889a614e0808b7b1e725d255aa7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 12:34:06 2010 +0200

    Dont bother allocating iterator if there's no data to iterate

commit ab890ee23f17836daacda810378207fce84753b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 11:34:24 2010 +0200

    Clean up verifyDependencies() a bit, no functional changes
    - only init problem iterator if there are problems
    - use problems and nevra from the faked up transaction element
    - the return code is the number of problems, no need to count separately

commit b88d70fd211d92a8a42e1c9d0ad9bd6c7c720fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 11:13:16 2010 +0200

    Sanitize verifyscript handling a bit
    - set the transaction scriptfd once in rpmcliVerify() instead of
      dupping and closing and dupping and closing for every verified package

commit 00754c65bb269e456f5c2ec79de458a749cbf0e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 25 10:31:47 2010 +0200

    Revert "Transaction element type is not a bitfield but a plain old enum"
    - Element types are not a bitfield but they're declared this way to
      permit easy filtering on iteration.
    - This reverts commit 6ed64c001f667ad8fb8bdec01f5ca54f57c44270.

commit 1610f79cefd4e34d89e1d1d857359231b2e28b54
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 24 21:12:27 2010 +0100

    Add Epoch, Architecture and BugURL to rpm -qi and fix alignment (RhBug:575499)

commit 7ced1208fb1a5458e227232d9918be6160b5bb03
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Mar 24 12:26:44 2010 +0000

    l10n: Updates to Polish (pl) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 02307471935b2b0fecc5bd210983dccc0daf93ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 24 11:04:31 2010 +0200

    Remove rpmteColorDS() from the API/ABI
    - this gets called on transaction element initialization anyway,
      there's no reason why anybody should need to call it from outside

commit e50e3d14e5149f5c7b30c8a0208e7e8bd80ee24a
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Mar 19 20:09:15 2010 +0200

    Document deprecation of mi.count() and ds.Count().

commit bacfca16c388c03c0bb4affbddcb712c408b7fa9
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Mar 3 20:49:42 2010 +0200

    More here-doc skipping fixes for perl.req (#128).

commit ee98a373cf79d3248122ae147d98ac461d59c9b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 24 10:24:55 2010 +0200

    Add RPMBUILD_ISFOO constants to python rpmb module (ticket #123)

commit 40f788a7bf3741f9c613ff302d4e1b0ceec2658c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 24 09:53:25 2010 +0200

    Add __bool__() / __nonzero__() method to python rpmmi objects (ticket #153)
    - Objects supporting __len__() use (len > 0) for boolean representation,
      which normally makes sense but as the match iterator count is often
      zero despite the iterator actually existing and returning something,
      and breaks existing code (rpmlint at least)
    - Adding a __bool__() (known as __nonzero__() in Python < 3) method
      returning true for non-NULL iterator fixes this and gives more
      meaningful answers than pre 4.8.0 which simply always returned True

commit 8c7e53ec80e84f48bfc67181f3d5dd81ecdb7523
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 23 16:21:27 2010 +0200

    First take at pluggable file attribute + dependency extraction system
    - move most of the hardwired classification logic from rpmfc C-code
      to macro-based configuration, supporting drop-in addition of arbitrary
      new attributes + dependency extractors based on regex matching of
      libmagic file types and paths
    - just the initial rough conversion of our built-in dependency types,
      various open questions + todo-items remain, plus likely fair amount
      of more-or-less subtle breakage

commit 7628c31bb9688c04561bd46c840ec9437fab4f67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 23 16:29:59 2010 +0200

    Fix fallout from rpmgi.h moving to internal path

commit 0c08a5adc55a1e1fd952e572571cd11102af595f
Author: Héctor Daniel Cabrera <logan@fedoraproject.org>
Date:   Mon Mar 22 17:02:19 2010 +0000

    l10n: Updates to Spanish (Castilian) (es) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit f46785b274c06981c553f32a627e8d59078a80e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 15:48:26 2010 +0200

    Lose leftover RPMDBI_ARGLIST rpmgi pseudo tag
    - should've really been in commit a2156379641e48fbad88d1088eb06d7bfa78927c

commit 714c22f24897375bf2dd32cde91ce4277265175b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 15:43:05 2010 +0200

    Mop up leftovers from past times

commit 69bfa74c7f671014d0bcda9344d1eb9be7c240a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 15:20:30 2010 +0200

    Update translations to shed non-existent messages from recent churn

commit 717a4266ac24e72d797852a4efc4cea35c55c04e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 15:14:39 2010 +0200

    Oops, remember to free transaction set in rpmgi
    - dumb regression from commit a0c2c6ed83a166d35ad3d3e8b22a08aae5420731

commit 1e2d188faecbdcc671f99d2d0cbd7b039cdea217
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 14:50:50 2010 +0200

    Lose completely unused rpmte_debug junk

commit 36e4ef1a0adab54a9a06e9b1d6beff80a049d892
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 14:45:49 2010 +0200

    Take a transaction set reference on verified db iteration
    - forward linking hasn't been an issue since >= 4.6.0...

commit c7f62698441b347920a3f9f7c9b53ed24bb89c25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 14:44:14 2010 +0200

    Document rpmteHeader() returning a new header reference

commit e1e323558c78a59d280b8cb741719bea909e93ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 14:23:05 2010 +0200

    Further rpmio NULL sanity checks
    - instead of blowing up with asserts, return error codes / NULLs

commit c0d4420f002e7da15a745d5710fd14bc2d1f9c47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 14:09:58 2010 +0200

    Lose FDSANE() macro, check in c2f() and callers instead

commit 00fb04f708d724eb46b8d54131d85f2679b92240
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 13:47:32 2010 +0200

    Change most of the FDSANE() asserts into good old NULL-checks
    - blowing up with an assert failure deep inside io "library" is not
      a very friendly thing to do...

commit d71964bda572f5fd141ddc35b506d4086e631264
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 13:25:57 2010 +0200

    Lose the useless rpmio refcounting debug junk
    - the rpmio API always had this goo, should've gotten rid of it
      back in commit dbdbe8010cd944f026a5a4e5d071eb31d29d81c4 but .. oh well

commit b02d4f20a0bf2b1cf96ace4dbcbfddd4a54f0a08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 13:05:38 2010 +0200

    Lose the useless rpmdb refcounting debug junk + switches
    - get the debug messages out of API, this is what should've been in commit
      dbdbe8010cd944f026a5a4e5d071eb31d29d81c4

commit 19498b426f102f589d2418f918533bc27254b267
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 13:04:26 2010 +0200

    Lose the useless rpmds refcounting debug junk + switches
    - get the debug messages out of API, this is what should've been in commit
      dbdbe8010cd944f026a5a4e5d071eb31d29d81c4

commit 9672e12a22a7942105804c974cbb62332c33814f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 12:54:44 2010 +0200

    Lose the useless rpmps refcounting debug junk
    - get the debug messages out of API, this is what should've been in commit
      dbdbe8010cd944f026a5a4e5d071eb31d29d81c4

commit c586c9955cb79a98345d44138904f3ee009d9314
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 12:49:45 2010 +0200

    Lose the useless rpmfi refcounting etc debug messages + debug switches
    - get the debug messages out of API, this is what should've been in commit
      dbdbe8010cd944f026a5a4e5d071eb31d29d81c4

commit e307f8df46870dc890bd65ef3ca0ad025f24375a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 12:40:27 2010 +0200

    Lose the useless rpmts refcounting debug messages + debug switches
    - get the debug messages out of API, this is what should've been in commit
      dbdbe8010cd944f026a5a4e5d071eb31d29d81c4 - just wtf have I been thinking?
    - also tolerate NULL passed to rpmtsLink() and rpmtsUnlink()

commit 7911e17982e1deb685163dc8294775466237db63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 11:05:17 2010 +0200

    Handle obsoletions within the added package set automatically
    - similarly to skipping/replacing different versions of a package
      getting added to transaction, detect obsoletion too and
      skip/replace to avoid installing packages obsoleted by something
      else in the set

commit 457e2912533375cf84c5ca5a4428fd61b9f77cff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 10:37:32 2010 +0200

    Use package NEVRA for replaced/skipped messages, simplify
    - dependency strings look funny when we're talking about packages,
      use the full NEVRA instead
    - unify the logging calls

commit 2f0a95bcc75fdbc7704680a36fbffa022227d422
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 10:02:49 2010 +0200

    Avoid redundant headerGet()'s on arch and os

commit 5dc0aefca771899e4693faaf1f09523fd9098d22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 09:46:51 2010 +0200

    Refactor duplicate checking out of rpmtsAddInstallElement()

commit 0d536aa594204cfd929995deff4a6dacc95677ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 22 08:42:35 2010 +0200

    Eliminate redundant if

commit c7c7c067c9b65a3bbce8efbb54fe6fb739ee3e15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:58:31 2010 +0200

    There's nothing to translate in fts.c, remove from POTFILES.in
    - should've been in commit ad43e72d70604eac223fd20c97ca990fa4936ac6, oh well

commit 7fd2e4c1a2827f793199d1ad20fece966c26c42b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:55:54 2010 +0200

    Dont bother hanging onto header in rpmgi
    - rpmgi has no use for the header and we dont really need it for iteration
      either, just return the header we opened and let caller free

commit cab00e78d151cc84e8468993ec1838d7f4b58e81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:35:19 2010 +0200

    Lose some unused leftover rpmgi goo

commit 606ceca33302751af140d8d9ebca598a6a06a39b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:25:23 2010 +0200

    Return headers from rpmgiNext() directly

commit af659c87ce93b3d1506d5fdf6bece4891758eea4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:15:44 2010 +0200

    Eliminate rpmgi from public API & ABI

commit a2156379641e48fbad88d1088eb06d7bfa78927c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 19:04:07 2010 +0200

    Pass args and flags to rpmgi constructor already, lose rpmgiSetArgs()
    - tags and the like to constructor make no sense anymore, rpmgi
      does nothing but walk manifests and files from argv
    - simplifies things further...

commit ad43e72d70604eac223fd20c97ca990fa4936ac6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 18:23:52 2010 +0200

    Bury FTS inside librpmbuild and eliminate from public ABI

commit a0c2c6ed83a166d35ad3d3e8b22a08aae5420731
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 17:56:53 2010 +0200

    Rip RPMDBI_PACKAGES iteration support out of rpmgi
    - lift the tag-filtering part into query code, that's at least somewhat
      useful
    - rpmgi is now just a glorified path argument iterator

commit 97b6c385898342958624c17c441c65d474cb7fcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:30:55 2010 +0200

    One helluva complicated way to pass our own arg back to us

commit 89b3b386123ae81b31a07400b02eae2e779985cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:55:27 2010 +0200

    Lose unused temporary/pseudo rpmdbi tags
    - we haven't had any temporary dbis since rpm 4.8.0 where Depends
      got axed, the rest were just nonexistent fluff anyway

commit 061d045d296ce6d02f5ee9b96a090ab1414826ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:55:01 2010 +0200

    Eliminate RPMDBI_ADDED iterator mode from rpmgi
    - there already exists a specialized iterator for this purpose for
      programmatic purposes and no cli-switches or the like to use this
      (as it would be meaningless really in rpm-cli context) so ... rip

commit 367c0d7014b769a5c12f83b525dddb0a7c76beef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:54:00 2010 +0200

    Eliminate hysterical --hdlist query option and everything implementing it
    - This hidden gem used "system hdlist", ie "/usr/share/comps/%{_arch}/hdlist
      as the source for queries. Such "system hdlist" hasn't existed anywhere
      since RHL 9/FC 1 times...

commit d87d831cdfd3a8b389dfc71d5b671c5e7dcf74d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:52:19 2010 +0200

    Eliminate --wtfwalk .. err, --ftswalk and everything implementing it
    - that's what find + xargs are for, this is just useless cruft

commit f510c8704cbd08719e5f868976cfd4242b6fca13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:51:32 2010 +0200

    Lose useless rpmgi reference counting
    - these dont get passed around in a manner where refcounting would
      make any difference

commit 6b1ce53ae108d6581861237864d74747099d5cb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:50:58 2010 +0200

    Lose the hidden and useless transaction add/order through rpmgi hackery

commit 047f4ea669d4565fc579075806cb194266b4d67b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:48:42 2010 +0200

    Lose unused rpmgiTs()

commit e0a1fb3bad4026cab25663bb4c4e1af392c17502
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 16:45:56 2010 +0200

    Lose unused qva_char and qva_rc fields from rpmQVKArguments struct
    - both are only ever assigned to with useless values and never read...

commit 09423eb47039a6f830592cc326d40bcd71650530
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 10:49:17 2010 +0200

    Verify the various version comparison results in testsuite

commit a63624198f51cec6d5ac00aef77f864e6906937c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 10:03:38 2010 +0200

    Split upgrade + obsolete erasure element addition to helper functions
    - just slicing up the biiig rpmtsAddInstallElement(), no functional changes

commit ffa0c402f7bc2443bc73be1e5db95f468b18e39e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 09:49:45 2010 +0200

    Lose unused/useless variable

commit e43d419303403433ad5fadb9ad0d5844d8fa8d91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 09:48:10 2010 +0200

    Use a macro for the common color skipping checks

commit 4b3f4bad3ff0048d684bfa7a668228927f698a2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 09:32:17 2010 +0200

    Dont bother taking ds reference on obsoletes, we dont do it elsewhere either

commit fafd80901c129659d4d0c1945f5922858f410ef7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 09:18:25 2010 +0200

    Dead code removal
    - this code has last been active sometime < 2004, nobody's been missing it
    - based on comments in https://bugzilla.redhat.com/show_bug.cgi?id=134497
      it was some highly specific kludge for somebody to begin with and
      shouldn't have been in rpm upstream ever but history is lost here...
    - move the removePackage() outside the debug goo so the actual action
      stands out

commit 359e2021e9a215467e79140d1b3e12047c5a266c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 19 09:04:12 2010 +0200

    Use the element color instead of header color
    - this is just the same thing, element color has been already calculated
      so no need to go through header extensions again

commit 03c035ec0ddd61fdb2e2526a15628d11f838d922
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 23:40:34 2010 +0200

    Oops, more leftovers from rpmal debug goo

commit 03576e6f9fd8614e630fc84bffe239b32eee7112
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 23:21:01 2010 +0200

    Lose leftovers from former rpmal implementation

commit 47810e5efa60fe3fabb1527d68e77fe704ca99b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 20:51:42 2010 +0200

    Helper function for pruned iterators used in dependency checking

commit acb603d01b9137769d966284808bc1a3b4dca1e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 20:32:13 2010 +0200

    Lose anaconda-specific check from 2000
    - the predates lazy rpmdb open through rpmtsInitIterator() from 2001, and
      rpmtsCheck() explicitly opens the db anyway so this is completely moot

commit e79cf036af10e3b4e85a130049e5936827c64104
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 20:06:18 2010 +0200

    rpmalAdd() prototype cosmetics

commit c1a677e839a7d3efae41f95c5e0d10a974b9db7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 19:55:57 2010 +0200

    Lazy rpmal hash creation on first lookup, make rpmalMakeIndex() static
    - the "new" hash-based rpmal only uses rpmalMakeIndex() for initial
      creation of the hash tables as late as possible for better estimate
      of needed hash size, but doesn't require any index regeneration if something
      is added
    - first call to rpmalSatisfiedDepend() now initializes the hashes, if
      significant amount of entries are added after the first call hash
      table might get full ... so dont do that ;) (this was already true
      with rpmalMakeIndex(), now its just hidden out of sight)

commit ec1e62230739735e314def0f494506ed08dd028e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 19:49:25 2010 +0200

    Make rpmalAllFileSatisfiesDepend() and rpmalAllSatisfiesDepend() static
    - rpmtsCheck() only wants yes/no answers from rpmal, and ordering
      wants the best provider, rpmalSatisfiesDepend() works for both
    - update comments

commit 4dfaaaa42d29900ccedaec5bcac08d8d46778b79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 17:33:05 2010 +0200

    Minor cleanups to rpmtsAddInstallElement()
    - combine some checks where it makes sense
    - initialize isSource at declaration
    - remove unnecessary NULL check on obsoletes, rpmdsNext() handles it

commit 81da222eae5036808ef52fa5d534838f19623901
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 17:12:39 2010 +0200

    Eww, we dont want obsoletion by file names
    - obsoletion is only for package names, anything else has way too
      funky side-effects

commit 781cfed0fd9c9651a2dd49175a85536f0b34b95b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 15:28:23 2010 +0200

    Refuse to install obsoleted packages (RhBug:486565)
    - Packages which are obsoleted by some installed package now behave
      much like conflicts, ie install is refused unless --nodeps is used
    - Unlike conflicts, obsoletes are only tested against installed package
      names and not provides. Otherwise it would be impossible to create
      compat-packages which provide something that is obsoleted.
    - Only check against installed obsoletes, as any obsoletes in the
      transaction could and should be handled automatically similarly to
      foo-1.0 and foo-2.0 in the same transaction set resulting only in foo-2.0
      getting installed.

commit f22e3c67e5fa56ab31a2ef21cbb80df02ef8615a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 15:24:08 2010 +0200

    Replace the checkPackageDeps() monster with per-ds problem check helper
    - just refactoring to avoid copy-pasteism, no functional changes

commit 76e4c869bc2700120c0e2b0df25225e3b27144c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 13:30:41 2010 +0200

    Lump the copy-paste checkDependentFoo() functions into one
    - just pass the dependency type from caller instead
    - clarify the comments a bit
    - no functional changes

commit fa4d3f9cc9412dee033a6f9925280ca8e078a92a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 13:15:30 2010 +0200

    Add a new problem type for obsoletes

commit e4f77b40107fde36d6cbbbfd3b547c9e3b853789
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 12:37:35 2010 +0200

    Lose deprecated rpmtsFindPubkey()
    - unused in rpm since 4.6.0, and even before that this wasn't really useful
      outside rpm internals

commit d2d7ca7d43be0491f2f43d4867d4adbefbf922de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 12:34:44 2010 +0200

    Add some basic dependency check tests to test-suite

commit a609aa7dbcf4738f3b47a63d3062dcadf58ef2fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 18 12:23:38 2010 +0200

    Differentiate between conflicts in db versus install set
    - this appears to have been broken since its introduction in 2002,
      commit d89ce5854d39a9e896759fb96e6e303c67573bb6...

commit 9151212fe3911cc6ec55b3bbf21e9b4bc94681fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 17 08:04:55 2010 +0200

    Use a switch-case when switch-case is called for

commit 3c7af7c9ff5ef2a186f36c6e068da64b02b48d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 12:37:16 2010 +0200

    Lose ancient and bitrotten rpmdiff scripts (ticket #148)
    - More modern tools for diffing rpms exist, ones that use librpm
      instead of trying to parse the lowlevel header structures and tags
      by themselves. Nobody appears to use these scripts as they've been
      dysfunctional since eons ago, might as well drop them off.

commit b5b6fae804b20a655f74d958544fbc8c884531b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 12:30:02 2010 +0200

    Lose useless xinetd service stub (ticket #149)
    - this never did anything to begin with, and BDB >= 4.8 doesn't support
      RPC at all so...

commit 12802c36c9a3b7260d9f788afc826b1cc5ee05e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 12:00:55 2010 +0200

    Avoid eating empty lines in spec %prep section (RhBug:573339)
    - In spec %prep context empty lines don't usually matter but they can
      be significant in eg here-documents.
    - Fixes regression from commit 94ff22b129aeb31c38848231e40f87aa4a5613a1

commit 35052b96232810cbf0d91a4f1d1d3ff25a142fd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 11:54:55 2010 +0200

    Add an enhanced argvSplitString() function for splitting strings to argv's
    - Returns the newly created argv instead of useless "this always returns 0"
    - By default make a "real" split, including empty strings
    - Flags argument allows controlling behavior, for now only flag is to
      preserve argvSplit() behavior but leaves room for future enhancements
      such as quoted splitting etc

commit 8c5332984e32d27d28f9a440947b070af0d14c45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 15 09:45:49 2010 +0200

    Tell python about RPMTRANS_FLAG_NOCONTEXTS

commit 69ac7f304af9d613ba72d84ccb6e8e69ed4a87dd
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sun Mar 14 14:56:27 2010 +0000

    l10n: Updates to Ukrainian (uk) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 9722257b24c8b42c35a005ab98400b7732e8c17d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 14 11:21:22 2010 +0200

    Default to "not found" for rpmtsSolve() + comment behavior
    - this fixes the behavior when (as normally is the case) there is no
      depsolve callback set

commit bfe41b2e5a30199ac57bf106c8a69339a87140df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 14 11:17:29 2010 +0200

    Revert "Unbreak conflicts from commit 1f46534b5444dda77e3a2c757f7c88c5ec93dba0"
    - This is completely broken and wrong, duh...
    - This reverts commit d91060373663d703457c6e1abf40b495ea372bf2.

commit 92d51e87afdb0eade6b298dfbe80ed04ef1462e7
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sat Mar 13 18:26:27 2010 +0000

    l10n: Updates to Ukrainian (uk) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit fe7c0baf03d3e6ae6b5a20dac73ffe5f193b239f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 13 12:32:45 2010 +0200

    Add Problems() method to python transaction element class

commit c4b4944e8f4633d564613d46c9b8b6f143b4b8f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 13 12:28:26 2010 +0200

    Add a helper function for turning rpm problem set into python list

commit d91060373663d703457c6e1abf40b495ea372bf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 13 09:29:30 2010 +0200

    Unbreak conflicts from commit 1f46534b5444dda77e3a2c757f7c88c5ec93dba0
    - only call solve callback on requires, conflicts have satisfied/unsatisfied
      status backwards here

commit 23ad4eee6af0dad922fc193309839c186d8056e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 20:48:45 2010 +0200

    Further minor cleanups to rpmtsCheck()
    - if we dont care about rpmtsCloseDB() we dont need a variable for its status
    - lose unnecessary rpmtsiFree(), there used to be exit jumps from middle
      of the loops but not anymore

commit d8cea8e9ffbf2d827ae323540670cffc2a931030
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 20:46:00 2010 +0200

    Lose unused iterator + its freeing

commit 5db726b9680b609b9d81c221f549812f9f9e86a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 20:43:02 2010 +0200

    Remove unnecessary rpmdsSetNoPromote() calls in checkPackageSet()
    - rpmdsNew() sets nopromote to the global default already

commit 1f46534b5444dda77e3a2c757f7c88c5ec93dba0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 20:40:05 2010 +0200

    Add internal API for depsolve callback
    - rpmts struct is now fully opaque within depends.c

commit e696b409fe836bf39cbf639bac4321d658d0952d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 19:41:10 2010 +0200

    Record problems into the transaction elements causing them
    - Any problem found in transaction processing is caused, or at least
      triggered by, some transaction element. Having the problems in
      elements lets API users easily determine which package caused which
      problem instead of having to parse problem strings in vain.
    - No problem set stored in transaction set itself now, rpmtsProblems() API p
      reserved by making it collect problems from our transaction elements
      into a new set. The problem set fiddling in rpmtsRun() wrt %pretrans
      and all is a bit crazy - always was, now its just more visible...
    - Make rpmtsCheck() pass the associated transaction elements into
      the lower level functions. rpmdsProblem() removed from API, it's
      not particularly useful outside rpmtsCheck() internals.
    - rpmts struct is now opaque within depends.c except for solve callback
    - This breaks --badreloc, need to figure out something saner for the
      problem filtering

commit 1d98830819727c385731ef6fafcaa6f3ba5cf216
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 16:18:16 2010 +0200

    Add a few API bits for problem sets in transaction elements
    - make rpmteProblems() public and refcount the returned sets
    - add public rpmteCleanProblems() to destroy the per-element problem sets
    - add internal rpmteAddDepProblem() for adding per-element dependency problems

commit ee24a8465648aad4929bdd3cd2f4d77667f319ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 16:11:15 2010 +0200

    Move rpmps typedef into rpmtypes.h, its common enuf

commit dd836598ee8a6a8673e090c2c809c77bb529c733
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 14:38:18 2010 +0200

    Free iterators in the function which initialized them (symmetry is good)

commit 63d891c3789bf42a1fb3a588c44129491918182b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 14:36:37 2010 +0200

    Eliminate a bunch of pointless "can't happen" checks
    - if these things actually happen, we're probably better of segfaulting...

commit d438ffbe6da48c86f8e7927377f7ea7ec2ee3deb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 14:27:52 2010 +0200

    Further cleanup the return code craziness in dependency checks
    - any problems found are added to the problem set, none of these
      return codes have been used since forever

commit 1d69823f368538307a1c855f42e4e51f46f2b7be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 13:53:01 2010 +0200

    Clean up dependency checking code
    - unsatisfiedDepend() only ever returns 0 or 1, lose the hysterical
      can't happen switch-cases and other bogus error code checking
    - also lose unnecessary and mis-indented NULL-tests,
      rpmdsInit() and rpmdsNext() handle NULL cleanly by themselves

commit 42d9a584f4710e1d62cc06996c1e296db307cacb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 11:44:47 2010 +0200

    Move rpmte-specific problem creation to a helper function

commit ffd5d96817b2ade7da3d26173f7dd447358965a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 10:20:25 2010 +0200

    Split transaction member information out of rpmts to separate struct
    - add internal rpmtsMembers() function to get the member structures
    - the main rpmts struct is now opaque within order.c, and much closer
      to being so for depends.c and transaction.c too
    - no functional changes

commit df9cdb1321ada8e3b120771f91a2eefab4ac2ad5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 09:01:25 2010 +0200

    Turn PSM into a complete blackbox
    - The psm structures aren't stored or passed around by any users,
      so there's no need for them to separately allocate and free the
      struct, bury this all inside rpmpsmRun() which takes care of
      initialization, actual actions and freeing.
    - There's also no need for refcounting now as allocations are completely
      contained within the rpmpsmRun() blackbox. Lose psm-debug foo which
      was only used for refcount debugging.
    - No functional changes

commit d221895352955d5ee0503855f71c4bc242019273
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 12 08:32:15 2010 +0200

    Split file state structures + routines out of rpmte to separate sources
    - no functional changes

commit 05aaf00538be2c561037a76b5a353d7ef8e8194b
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Thu Mar 11 17:56:24 2010 +0000

    l10n: Updates to Ukrainian (uk) translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit b5118bad05ba72f3ec179d955bffafb0ae3a106d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 11 13:38:52 2010 +0200

    Not all scriptlets have bodies (eg -p /sbin/ldconfig), dont expand NULLs

commit e34d752b92ebe648e3c926279867bd03b6f529cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 11 13:34:17 2010 +0200

    More dumb thinko/typo/braindamage in scriptlet expansion patches
    - qformat certainly shouldn't default to on, duh

commit 45c0619de92059814856e57d1bdfcdff463f0c2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 11 13:21:20 2010 +0200

    Dumb segfault on trigger scripts with no flags, doh

commit d370816ba508a33cc39252cbb9ba85dcd99504d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 11 12:06:49 2010 +0200

    Support run-time macro and queryformat expansion on scriptlets
    - Add per-scriptlet type flag tags to control special behavior.
    - Add rpmlib dependency on scriptlet expansion - if a package relies
      on scriptlet expansion it cannot be correctly installed with
      a version of rpm that doesn't support it.
    - Expansion is always an opt-in behavior, enabled with -q and/or -e argument
      in spec. We can't just blindly expand even macros as there's no telling
      %{} constructs might mean in whatever language is used for the script.
    - Queryformat expansion requires great care with strange and ugly escapes
      when writing scriptlets, but OTOH it permits access arbitrary header
      data at runtime, which has previously been completely impossible.
    - The handling of these expansions needs unifying for all scriptlet types,
      the trigger scriptlet handling is uuugly. Macro expansion could be
      transparently done from rpmScriptRun(), but because of their similar
      syntax, macro expansion needs to happen before query format expansion,
      and we dont have the header available in rpmScriptrun()

commit d0a959a571d7b34ea2263619b8cfba623a425c44
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Tue Mar 9 18:15:02 2010 +0000

    l10n: Initial Ukrainian translation
    
    Transmitted-via: Transifex (www.transifex.net)

commit 9720d7226d8d7a9e599b1bad974a641f43d60e9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 8 15:00:15 2010 +0200

    Updated Spanish translation (Héctor Daniel Cabrera through Transifex)

commit f078756f2175762eec6a74aeddb02a8edd86e508
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 7 12:43:25 2010 +0200

    Updated Polish translation from Piotr Drąg

commit e665e457b01d7fdf5814d44a143c2f8502946b0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 6 11:34:09 2010 +0200

    Minor cleanup to PSM_INIT stage, no functional changes
    - lose redundant RPMRC_OK assignment + cosmetics

commit dbf60a838b022057232f836810a923e89c982067
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 6 11:17:29 2010 +0200

    Update translations to shed non-existent messages from recent changes

commit 4878580634971b31befe1741ba83b5ffca0dcf15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 6 11:04:48 2010 +0200

    Lose a couple of leftover variables from times before headerPutString()

commit 1ab5fa94e30d0aa98c8482d9c19f11e759de2531
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 6 11:03:11 2010 +0200

    Dont bother translators with internal error debug foo

commit b1afaf74717dcdc7e8dbb60b31b34519b40fa92a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 6 11:01:08 2010 +0200

    rpmdsN() and rpmdsEVR() returning NULL here is a serious can't happen

commit 63fb29ea64846dfb6da35647325e2ca8ec92e222
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 16:32:54 2010 +0200

    Lose more ancient compatibility retrofit goo
    - FILEUIDS, FILEGIDS and DEFAULTPREFIX are all rpm 1.x - 2.x era,
      packages we can't even read anymore...

commit 45e2d4e1d0260a9c07eb1daf0c68b82f602ad16f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 16:13:52 2010 +0200

    Rip out more rpm 2.x era relocation leftovers
    - we can't even read packages from that timeframe, much less relocate them

commit c3c5eae10bd10ef00af18b721056682948c2fa2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 15:55:57 2010 +0200

    Remove now unused inFtw from file lists

commit d46f752c399730e3c75ecc6786c2599b8922031b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 15:52:46 2010 +0200

    Lose ancient prefix remnants from build code
    - since commit 840599e3d92e29e8e1c1cf7ecf4ad5c37d3bf021 in 1998, nothing
      has set RPMTAG_DEFAULTPREFIX meaning fl.prefix is always NULL...

commit da5b85fb2325db56c10fa1e57a7141ab0f08be45
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Fri Feb 26 19:25:04 2010 +0200

    Fix rpmfcAttrDeps() for perl modules (was broken in c03be327).

commit b8f47a77f5dca3fcd4acbb822dd4824b582341bf
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Thu Feb 25 19:51:25 2010 +0200

    Emit highest versions of perl module deps, not first versioned ones found.
    
    Requires the "version" module installed (perl >= 5.9 or separately), falls
    back to the previous "output first versioned one found" behavior if it is
    not available.

commit c4b4a7e712e36d5074679e413e14150031eed407
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Thu Feb 25 19:45:10 2010 +0200

    Fix open POD section leak across different files in perl.req.

commit 0ffc1e914359d9c22079c18b1f32ec7e310aa57b
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Thu Feb 25 19:37:55 2010 +0200

    Make perl.{req,prov} warn about unreadable files.

commit a1517d9c09798fac6e288140f1a892e4dde6456d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 1 11:48:28 2010 +0200

    Updated Spanish translation from Héctor Daniel Cabrera (ticket #141)

commit 81ad49ceec533f337379b75c77a9213b581d3d8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 26 13:45:47 2010 +0200

    Minor rpmtsCheckDSIProblems() cleanup

commit e5a32d7701e6fde45a0ae4a5e7d3d286b839518a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 26 09:36:42 2010 +0200

    Lose some unnecessary includes

commit 3a240cc1d6b77a41a7aa6d3ce9d704cfdac56f15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 26 09:17:03 2010 +0200

    Hide install/erase statistics collection inside psm

commit 22df735b5ae02395b21925da2eb040fe7f70a7de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 21:50:20 2010 +0200

    Lose fluff from ensureOlder()
    - p and h can't possibly be NULL in the place this gets called
    - the single caller doesn't care about return value

commit 04d07f836bf564a8138ee12385722e03da606e50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 21:35:56 2010 +0200

    Lose another pointless NULL-check on rpmfi iteration + an unused variable

commit ab61705262ca24cd3e1ff83b4badc4d8f67ca2d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 21:18:47 2010 +0200

    Remove unnecessary fiddling with ts element header
    - rpmteClose() takes care of freeing the header already

commit 31de39c93429d36ac63d8a6d1869c025063aa834
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 20:52:35 2010 +0200

    Lose some completely pointless "can't happen" checks
    - rpmfiFC() returns 0 if called with NULL, which is ok in these cases
    - rpmfiInit() and rpmfiNext() behave correctly when passed NULL, no need
      check separately
    - "dn" is already referenced before checking for NULL... it really
      cannot happen ;)

commit 91b3bc198acd0abc603544e1a9456f8498a28fca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 20:42:55 2010 +0200

    Tidy up checkProblems() a bit, no functional changes
    - avoid a million redundant calls to rpmtsFilterFlags()
    - turn osOkay() and archOkay() into macros, they're suitably dumb for that

commit 0ab18190d7789f3cd8329d5dcd28fb6c05e2beeb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 20:26:28 2010 +0200

    Lose some long since unnecessary includes

commit 6316a014709ab691c9e5d8552aadf886e8328550
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 20:18:48 2010 +0200

    Duh, yet more leftover io flag stuff in psm
    - should've been in commit 6193da9cad40dbbc1d7ce974ab9df96986a52183

commit 62a60d8716b7306cf29fa14298dd3c0263d81b07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 15:16:39 2010 +0200

    Gah, stupid thinko in elfdeps
    - for DSO's without a soname, we should be adding a *provide* of the
      basename, not require
    - dumb regression from commit 87c237bebfc792a8b439fa2c5a2b78328b139d50

commit cd3d8082e19f27dae2d6a786dbaa52afb809bc8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 14:22:34 2010 +0200

    Implement pretrans, posttrans and verifyscript as psm goals
    - Loose rpmpsmScriptStage() hack and bury the psm details inside
      the psm implementation
    - Map the script-only goal enums to the corresponding script tag
      to avoid having to re-re-re-map stuff unnecessarily
    - pretrans and posttrans should really be handled as a part of PKG_INSTALL
      process, but as these stages are disconnected from the main install
      part we can't remember the state in the psm - it would need to be
      stashed into transaction elements in the meanwhile

commit 384f7777053ae3da9b89a718b46a706f671bfb81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 13:54:51 2010 +0200

    Separate PSM goals from individual stages
    - no functional changes - supposedly
    - nothing outside the PSM should need to know anything about its
      internals, the general goals need to be sufficient (not the case yet)
    - define goals to match rpmteType so there's no need to re-re-re-map
      the operations
    - loose the big unused individual stage string switch

commit 6ed64c001f667ad8fb8bdec01f5ca54f57c44270
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 13:34:51 2010 +0200

    Transaction element type is not a bitfield but a plain old enum

commit 1b78ed281b71915f259b9dc79bbcb7790764510f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 12:36:09 2010 +0200

    Improve failed transaction element behavior + logging
    - handle failed element in rpmteOpen() already, avoiding need to check
      everywhere else
    - elements cancelled due to parent failure can further cancel their
      dependent elements
    - all failed, including skipped, elements are now logged

commit 8e20523b9d7ad373ded0810cede0ce0e99a5cede
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 12:32:57 2010 +0200

    Count the number of failures for transaction elements
    - this lets us track whether the package itself failed or if it
      was cancelled due to parent failure

commit d496d9e60fde3a06528152f98719d32f68c7cf9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 11:25:15 2010 +0200

    Yank out a bunch of unused defines

commit 924234e8b68a16ea97793706a51901bd3a52523e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 11:05:02 2010 +0200

    Lose now unnecessary progTag from psm
    - our scriptlet thingie knows which progtag to use for a given script tag
      already, no need to baby-feed the psm

commit 98fcb7566d16f248459d30f72f34b9c1e79f0b09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 10:58:51 2010 +0200

    First rough-cut version of scriptlet abstraction
    - Split the low-level scriptlet machinery out of psm
    - New struct to hold the necessary information about scriptlets so
      we can execute them without having a header at hand.
    - Trigger handling is hackish and needs more love...

commit fde84f901cd0b58e4313949bbfae4e6c35dacbbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 10:58:09 2010 +0200

    Log all install/erase failures in rpmtsProcess()

commit 010ec4c7fd94a80455f8df2c0dcbd807111497bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 10:36:15 2010 +0200

    Move rpmteTypeString() back to rpmte, internal only though

commit c7a21965e99f6b245111cf3fc12de2012f4ebc84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 25 08:28:34 2010 +0200

    Kick out stillborn code
    - psm aint the place to fiddle with db internals anyway

commit e2239a06c03b5efdadc0fbb7df1b4d35e018f24d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 24 16:53:52 2010 +0200

    Clean up handleOneTrigger() a bit
    - no functional changes (supposedly ;) - just shuffle things a bit
      to condense and make it friendlier on the eyes

commit 308632b85917e3706676a2a51dce72f2f8867890
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 24 15:02:42 2010 +0200

    Lose unused PSM_RPMIO_FLAGS state
    - should've been in commit 6193da9cad40dbbc1d7ce974ab9df96986a52183

commit ad6a694bcc15205e0084cc538d0a33852eca89d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 24 09:42:11 2010 +0200

    Permit simple strings to be returned argv-style from headers too

commit 8de071994d044158b73daf3f1f88fa970d90b28f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 23 15:11:21 2010 +0200

    The lower level script runners dont really need psm for anything now

commit ef2c96de084ad40c653100d3e772932573c1a9b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 24 16:35:45 2010 +0200

    Bury the signal queue stuff inside runExtScript()
    - lose psmWait() which is just a fancy wrapper for rpmsqWait(), instead
      collect scriptlet runtime stats for all scripts (previously lua wasn't
      counted)

commit 0a96b99c37c815b54a4282035d49037c7f7bcf76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 23 14:59:25 2010 +0200

    Lose psmWait(), instead collect scriptlet runtime stats for all scripts
    - psmWait() which was not much more than a fancy wrapper over
      rpmsqWait() predates lua scriptlets by far and no time got counted
      for them at all. Useless but everybody loves stats...

commit 01738194428bd67bdf454793fb93e5544b369a30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 24 16:33:21 2010 +0200

    Push prefix calculation higher in the psm foodchain
    - Header is no longer needed for the low-level scriptlet execution
    - Lose support for ancient RPMTAG_INSTALLPREFIX relocation, it was
      deprecated in 1998 already. Preserve $RPM_INSTALL_PREFIX behavior
      for scriptlets though.

commit f630758dccf462bfbdf8cc0672e4bf87859b50e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 22 11:45:28 2010 +0200

    Remove unused os and arch score from transaction elements

commit 912975695fcc9acc924301dc58965daf43121fcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 22 11:13:05 2010 +0200

    Handle NULL passed to rpmMachineScore()

commit e7f73133cbb35ed0f21938996018654391b0a7d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 15:23:02 2010 +0200

    Extract #!/usr/bin/env interpreter dependencies, part 1 (ticket #136)
    - With "#!/usr/bin/env <interpreter>" shebang directives, rpm previously
      only added a dependency for /usr/bin/env, completely missing the
      actual interpreter. If the interpreter happens to be an absolute path, we
      can just add it as is.
    - Patch originally from Ville Skyttä

commit 0e36eb1370e4e856a337460a2d69de4288aed77b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 13:23:18 2010 +0200

    Perform dependency extraction solely based on collected attributes
    - Yank out the now unnecessary apply table + related apply functions, simply
      collect dependencies for whatever attributes we found for a given file

commit f6534fa920521ac954cc4f23b4b7981dfc27d5f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 12:44:05 2010 +0200

    Classify .desktop files by just path
    - Previously we required a file to be classified as text and have
      .desktop suffix, for now replace that with just a regex. We'll eventually
      want/need some extra qualifying logic to handle cases like these,
      eg "only apply path attributes if condition X is also true"

commit e9e3b5eb6e7ebb9549d60bff4badf92a2cf9b201
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 12:31:34 2010 +0200

    fontconfig -> font dependency extractor rename
    - No functional changes, just clearing the naming conventions to avoid
      having to extra mapping for attribute -> extractor name. The current
      font provides are handled by fontconfig, but that's just an internal
      implementation detail.

commit 3d94b4f594eafcbb0d4394416ddd82e79de58551
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 12:26:03 2010 +0200

    Add debug output for file attributes

commit 3b40816421eb8fd69496f14f9cf7f2a829943798
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 12:25:04 2010 +0200

    Add path coloring for versioned python interpreter itself
    - pythondeps.sh knows how to figure python(abi) provide from
      /usr/bin/pythonN.N version but as that's an ELF file, pythondeps.sh
      never got a chance to run on that file

commit 759c03dac258121be2d3d1099c4b613f4c3c77f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 11:47:34 2010 +0200

    Replace python-specific path-coloring hack with a generic mechanism
    - Use a table of regex pattern - attribute list pairs to apply any
      additional path based attributes. While the fundamental type of a file
      certainly does not depend on its location on the filesystem, its
      location *does* have attached semantics and it'd be just silly to
      ignore that fact.
    - The current implementation is dumb as it ends up recompiling the regexes
      and splitting the attr strings a million times. OTOH compiling the
      regexes into the static rpmfcPathTable would be wrong as the patterns
      can contain macros and they can vary from package to package when building
      several packages on one invocation. The attribute split + regex compilation
      should be done once per rpmfc instanciation...

commit 11ed0f75feb790287fbf7013c80a526e38dbbfe4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 10:35:21 2010 +0200

    Script/interpreter terminology renaming
    - No functional changes, just making more obvious mapping between
      attributes and the dependency extractor names. This also leaves the
      term "interpreter" free for use for the actual interpreters, such
      as interpreter(python) provides if we go that way (ticket #136).

commit d72cc38d3063343e5fb7306b473861e0f008032a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 18 10:26:24 2010 +0200

    Eliminate silly redundancy
    - rpmfcSaveArg() and addAttr() were the very same thing, unify
    - turn hasAttr() into a macro, its just dumb enough for that

commit c315beb3193202ee2221d47c02955b786032f8ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 17 17:12:52 2010 +0200

    Only run dependency extractors on files with attached attributes
    - looking at file colors still works as every relevant type has
      RPMFC_INCLUDE set but this includes various things we might not have
      attributes for, just avoids unnecessary work and is more obvious this way
    - should really have been in commit ad2c8485ea109d37a2fb8ee9ed5f688eef282bf8

commit 76c2fd5a939b234a00e4e2208dcd17030968e00d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 17 17:03:19 2010 +0200

    Simplify rpmfcAddFileDep()
    - rpmfcHelper() already has the "deptype" character in the format
      we want for file deps, pass it as argument avoiding bunch of silliness

commit ad2c8485ea109d37a2fb8ee9ed5f688eef282bf8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 17 15:09:20 2010 +0200

    Use text token attributes instead of bitfield for file classification
    - 32 bits are nowhere near enough to meaningfully classify all the
      types of data we might want to extract dependencies for, the bitfield
      was already almost used up and twisty with embedded enumeration in the
      middle etc. With text-based tokens, there are no limits to the total
      number of known attributes or number of attributes that can be attached
      to a given file. This also paves way to moving the classification table
      out of librpmbuild into configuration file(s).
    - Remove most of the now unused RPMFC_FOO definitions from the FCOLOR enum,
      leaving just the more abstract INCLUDE, WHITE etc which control other
      aspects of the operation. Also ELF is special as the value ends up
      in headers, preserve it too.

commit f3ca4fb48171b4bd0549fe67f302517135c465ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 17 12:58:40 2010 +0200

    Plug a silly memleak in processPackageFiles()

commit 22392d2245df78ef13acd9f1a2d413c85c271432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 15 08:52:54 2010 +0200

    Skip over =for ... perlpod construct (RhBug:477516)
    - patch from Ville Skyttä

commit c2b1b54500bdbd1c252da210a05d989b877cb9c6
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Feb 13 12:02:20 2010 +0200

    Don't trump versioned module dependencies with unversioned ones.

commit a50c3e9d69868f6d8200044f26f01653b57ff5f5
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Feb 13 11:52:38 2010 +0200

    Extract dependencies from some usual syntaxes of "use base qw(Foo)".

commit 56e8074b47cdb8755aa66d65424af170ffdd35bb
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Feb 13 11:04:17 2010 +0200

    Trivial perl.req cleanups.
    
    Drop dead code, comment fixes, weed out duplicate dependencies to perl
    (done by rpm itself anyway, but does not hurt to do it already on this
    level for cleaner results when testing).

commit 38de3b54f8af1bf91eda2dfd840a36e0808307f1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Feb 10 21:58:43 2010 +0200

    Emit dependencies only to interpreters with absolute paths.

commit 06224459a52671e046e2d347ca887fa96a9228b4
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Feb 10 21:56:33 2010 +0200

    Allow whitespace between #! and the interpreter.

commit 398ae27985ff854c627353cbd578a21c1dff3dcd
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Feb 3 23:15:31 2010 +0200

    Avoid some unnecessary command invocations in scripts.

commit 4302a06700656da0d82a91964581e74f04bec9e4
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Feb 3 23:14:27 2010 +0200

    Avoid some stat() calls.

commit 0f743d36d6151948f3b5c186216d72d5c21660d3
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Feb 3 23:13:07 2010 +0200

    Fix reversed logic in getSystemBundles().

commit 33ea7cbd96432cbad5988da6ae87556d69faa798
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 11:12:54 2010 +0200

    Permit requires extraction too from fontconfig and desktop files
    - presently unused but...

commit 87c237bebfc792a8b439fa2c5a2b78328b139d50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 10:52:40 2010 +0200

    Split elf dependency extraction out of librpmbuild to external helper
    - Elf dependency extraction code code lifted from rpmfcELF() and refactored
      to saner pieces. Having it in separate executable also frees librpmbuild
      of libelf dependency, clean up the unnecessary linkage etc from
      autofoo
    - This lets internal dependency generator for elf files be
      overridden without losing file coloring (which is required for
      correct multilib handling). It also permits non-native elf files
      (eg when cross-building) to be handled by providing a custom
      elf dependency helper
    - On the flip side, this inevitably slows down builds somewhat as
      two fork-exec's are needed for every elf file, but unlike invoking
      something like the python interpreter, this is a slim helper...
    - All dependency extractors of the internal dependency generator are now
      external helpers (how twisted is that, huh? :) and thus can be customized
      and filtered through %__foo_provides|requires macros

commit a79822f382c2e9e5002e7b411fa556c999fdc331
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 11:19:49 2010 +0200

    Separate helper for script interpreters, split out of librpmbuild
    - permit overriding/customization of script interepreter dependencies
    - unlike the C-version, the interpreter.req only looks at the first line
      for shebang: libmagic only looks at the first line too, so anything
      else will never get classified as scripts in the first place

commit c03be327fe94d1436b00419e20946c6dc10a6743
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 10 09:24:21 2010 +0200

    Make rpmfcSCRIPT() a bit easier on the eyes...

commit a6c5d372af25043395a620d9c16652d1938d17ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 11:35:47 2010 +0200

    Move rpmVersionCompare() into a more logical place
    - it has nothing to do with psm so no point having it there

commit a1377fcc7544acba04e67f40f5a2307ab04694ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 11:21:29 2010 +0200

    Unify scriptlet execution calling conventions and error handling
    - Split external scriptlet execution to separate function, called
      identically with internal (ie lua) scriptlet run
    - runScript() is now just a dispatcher which calls the lower level script
      runner and decides whether the scriptlet failure is fatal or not.
    - Only %prein and %preun scriptlet failures are considered fatal
      regardless of the type of failure, as they prevent the install/erase
      from taking place at all. Other failures might or might not be fatal
      in terms of package functionality but rpm has no way of knowing whether
      that is the case, so we only report what we know for a fact:
      either the package was installed/erased or not, and either it had
      scriptlet failures (for which callbacks are issued) or it didn't.

commit d4d68037e167e1c593bc0a7eee5562b3e3280486
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 10:17:19 2010 +0200

    Lose unused stillborn psm threading stuff (didn't I already do this?)

commit a068a4dec140ff554fdfe73815e7f5efbccd0d0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 10:01:40 2010 +0200

    Use a more reasonable type for rpmteHeaderSize()
    - Headers must always fit into memory which is not true of rpm_loff_t,
      and the real size is arbitrarily capped far below even that limit.
      headerSizeof() uses unsigned int here, just use that...
    - Doesn't affect the calculations, just type pedantry...

commit 06bac8b9aac43e86cfe62fdd71dcdccdcc8b7874
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 09:47:35 2010 +0200

    Move tsortInfo typedef into internal-only header
    - this is not exposed outside librpm internals

commit 18f0d305f0a418984579c97731811bbe3ea974e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 09:45:58 2010 +0200

    Bah, missing include in commit 121f73bb4932d15e618e82d5c6d7b43280dc0f7d

commit 3a3152981c7f54c801240b34663f0afb16877bfd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 9 09:37:51 2010 +0200

    Unbreak python(abi) requires generation (RhBug:562906)
    - commit 426a7b6f44c6a0e1633693575c7bb6fcc76cf8a5 caused pythondeps.sh
      to match too much, undo the damage
    - patch from David Malcolm

commit 121f73bb4932d15e618e82d5c6d7b43280dc0f7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 8 10:01:19 2010 +0200

    Add macro expansion queryformat extension
    - unused at the moment but doesn't hurt anything either...

commit a5dbbd4065a34664c4701f246bd7d8d537346a33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 5 17:08:05 2010 +0200

    Remove unused mntctl & mount related header checks

commit 27b216694a9e19f932f24e6fceb6c114aeae5fb9
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Feb 5 12:43:21 2010 +0100

    Remove no longer neede rpmts->filesystemCount and->filesystems

commit cd3cff78bcdca7b976420faca8564931b0907ab2
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Feb 4 11:02:25 2010 +0100

    Clean up comments

commit b3ae65398e21a4fb4d07c3170b5909acb40d3be0
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 2 11:25:59 2010 +0100

    Consider rpmdb growing when doing space calculations
    Fix ticket #26

commit c3d610926f96da71ed5fa40e5d50a83b5aa8f93b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Feb 2 11:12:07 2010 +0100

    Add rpmteHeaderSize

commit 16b94706e0a2ebed728389d0166a910eea5a2b7c
Author: Richard Hughes <richard@hughsie.com>
Date:   Thu Feb 4 10:25:28 2010 +0000

    Fix compile when using a linker that defaults to --no-as-needed

commit 21962ab6142cd1e54f1087a545244de506d9abf1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 4 17:37:21 2010 +0200

    Make rpm version available to python

commit 4e4aec28c544f2884cb76be37d508f376db5cb7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 4 15:55:16 2010 +0200

    Handle erased packages wrt disk-space problem reporting (RhBug:561160)
    - erased packages in the transaction cause space needs to shrink, which
      commit 2222e81e1cf74bbf78acb9969592ab06e2289929 failed to take into
      account, causing false disk space errors from unaffected packages
    - adjust obneeded and oineeded when the requirements shrink
    - new disk space problems can only occur when the requirements grow,
      change the pmtsCheckDSIProblems() check to reflect that (although not
      strictly necessary)

commit 251deaeeb7c0c679a33b17527eaee27369a38cdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 3 17:37:58 2010 +0200

    Update translations for a change to kill the mntctl() strings there

commit 37daae03c16635dab108b68ca596aa36fdb063a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 3 17:36:45 2010 +0200

    Kill off couple of dangling lib/fs.c references

commit 51c96db0464f86901b328899106dd8d4159dd878
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 3 15:41:58 2010 +0100

    Kill RPMTAG_FSNAMES and RPMTAG_FSSIZES and everything implementing them

commit ee35635243f1e282d04066014af6349227cd6498
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 3 15:42:52 2010 +0100

    Fix stupid off by one error

commit 647a809641a15cf0fcbc02ada85adcd493f2dc3b
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Feb 3 11:45:21 2010 +0100

    Avoid loading information for all filesystems
    
    This patch is heavily based on the "lazystatfs" patch by Michael Schroeder from
    Novell/SUSE. Thanks!

commit 7617dfec85012a75bf15dec963f2f9a65e8550d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Feb 3 12:26:23 2010 +0200

    brp-python-bytecompile fixes + improvements (RhBug:558997)
    - fix incorrect paths (eg /site-packages/filename.py instead of
      /usr/lib/pythonX.Y/site-packages/filename.py) ending up in bytecode
    - add a "strict" mode where byte-compilation errors will abort the build
    - when in non-strict mode, byte-compile everything we can instead of
      bailing out at first error
    - patch originally from Toshio Kuratomi, slightly changed to preserve
      the original order of arguments to avoid unnecessary incompatibilities

commit 38291e191c9f6096c133c5904a7f2a9462ac52fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 1 13:22:36 2010 +0200

    Clean up rpmfcClassify() a bit more
    - push variables to the local blocks they're actually needed in, sanitize

commit a6a9d6386207eda0b5e015d9d6867af67442a1d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 1 13:22:26 2010 +0200

    Single point of exit for rpmfcClassify()
    - cleans up returns + avoids a possible memleak from fcav on failure

commit 79b169bdce0d430db081829a8e05386c443e0521
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 1 13:21:46 2010 +0200

    Clean up rpmfcHelper() a bit
    - push local variables to the scope where actually needed
    - use ARGV_t routines for creating av, makes allocations more obvious

commit fdf26eaba0528c7bc7e1a2d90e6fd31b39662c81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 1 13:20:26 2010 +0200

    rpmfc script coloring tweaks
    - loosen up the perl token to catch more things, such as
      "/usr/bin/perl -w script text"
    - remove unnecessary /usr/bin/python token, these get caught by "python "
      already
    - remove what now should be unnecessary coloring by interpreter name,
      both perl and python scripts should get colored by the tokens already

commit c18d9f962dc4e581a2d1b624ab9c16fa8fd6a2cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 1 13:19:54 2010 +0200

    Remove misleading leftover comments from ocaml-dep extractors
    - ocaml dependency extraction is fully automated, no need to override
      anything (except perhaps options but that's different)

commit 5864f68c10f5b45ca7c8cb7e1493a5429aa95b78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 29 16:45:53 2010 +0200

    Eliminate unnecessary processing on scripts/macros.*
    - these used to require processing for rpm config dir location
      but not anymore since %{_rpmconfigdir} addition

commit 95b177fcfb7e8939d2d056d29216273d20c6aed4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 28 15:15:12 2010 +0200

    Revert spec tag-macro concatenation changes
    - Concatenating to global, non-namespaced tag macros is fundamentally
      broken for specs with sub-packages, RhBug:555926 is not fixable with
      tag macros tweaks.
      Revert back to the old behavior where tag macros are simply "the last line
      seen wins." This might not be what one expects in many cases but it
      is at least consistent, and changing the behavior in any
      way (such as not adding the macros for multiline-items like requires)
      breaks existing packages without a good reason.
    - Correctly handling the expected %{obsoletes} etc behavior in RhBug:555926
      would require a new mechanism, such as permitting spec to access the
      (sub-)package headers. Probably doable, unlikely to be worth the
      effort as the issue can be easily avoided by writing the spec differently.
    - This reverts commits 3be37d9c78fd13424880fa1fe48f341103a51194 and
      e811ef56aa88588e16e0a80d48381a62631f8fc4

commit 426a7b6f44c6a0e1633693575c7bb6fcc76cf8a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 30 12:12:02 2010 +0200

    Support multiple parallel python versions in pythondeps.sh
    - dont make assumptions about /usr/bin/python, extract the ABI version
      from python libdir version
    - patch from David Malcolm

commit 53e3f65b8e2f3b8883a8410c7732062155b87957
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 27 15:06:05 2010 +0200

    Fix include path of luaext subdir

commit bd663944e5eca74af7855bbf6488ff7e6082a950
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 27 14:03:10 2010 +0200

    Add brp-python-hardlink script
    - hardlink identical .pyc and .pyo files to same some space
    - not enabled by default
    - originally from Ville Skyttä for redhat-rpm-config but the functionality
      is not specific to Fedora or derivates in any way

commit 79859ff04fc31a04fb8dfd61020bc5bca4408198
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 27 09:40:15 2010 +0200

    Pass %{__strip} and %{__objdump} to brp-strip* scripts
    - permits easy overriding of the used tools globally

commit 010b342d6229ae633c84282dbb6b9e5a9d2127b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 27 09:26:36 2010 +0200

    Make sure brp-compress doesn't go interactive in corner cases
    - add --force to uncompressing so in corner cases it'll just overwrite
      instead of stopping to ask interactively

commit fa462d69571cfe7321b2a5d8dcafa4db0a4831ae
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Jan 24 13:42:46 2010 +0200

    perl.{req,prov} whitespace, backslash and paren cleanups.

commit 7c8d054c1b596cd6fdfeec102516ead7b8fb3036
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Jan 24 13:28:44 2010 +0200

    Do not emit perl(#) dependencies for multiline use/require with comments.
    
    For example:
    
        use # comment goes here
            Foo::Bar;

commit cbb703f202f056baa616e3266482f69f5466b96a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 25 12:19:05 2010 +0200

    Updated Polish translation from Piotr Drąg

commit d390e2544660e028bf42441c8cec57b4b92c018e
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sat Jan 23 14:50:17 2010 +0200

    Document --conflicts in rpm(8).

commit 5f2d9d118744367e607e553181aa1f6300edd766
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 22 14:51:43 2010 +0200

    Use %{__make} macro instead of "make"
    - allows easy overriding of the used make version for %make_install and
      %makeinstall

commit 04ad4b1155ec4b082fbac425a575a0ba05337ab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 21 14:14:28 2010 +0200

    Really fix verification error code to not depend on verbosity (RhBug:557101)
    - earlier fix from commit 6649c23cac5823d0c7415df5cfd66e5aac5eebd2 was
      broken as it could reset return code to zero after detecting errors
      earlier

commit ce1d2e87157f4a7ebc4f4d6f26024ac597400367
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 21 13:45:34 2010 +0200

    Fix double-free segfault on url retrieve to read-only media (RhBug:557118)

commit 3be37d9c78fd13424880fa1fe48f341103a51194
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Jan 20 10:28:40 2010 +0100

    Concatenate multiline tags in macros only in case of
    Requires/Obsoletes/Conflicts and Provides. Preserve
    older behaviour for other tags.

commit e811ef56aa88588e16e0a80d48381a62631f8fc4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sat Jan 16 12:43:16 2010 +0100

    Correctly expand %{obsoletes}, %{requires}, etc. in spec (RhBug:555926)
    - tags declared multiple times in spec were simply overwritten so
      referencing it via %{} just showed contents of the last one

commit a9483191a55f43aacb983f8a6d3df2190b1a51dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 8 12:23:54 2010 +0200

    Bump version to appear newer than 4.8.0, update translations too

commit c16cde7a4df73af0ea2a5eda07a65d838833274b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 7 12:04:53 2010 +0200

    Revert "Always free locally defined macros when they go out of scope"
    - the "fix" breaks seemingly legitimate use in fedora font package
      macros, possibly some funky interaction with %{lua: } macros or something
    - this reverts commit f895acd285366cf58cc3c97b5f188fecbfd782a8.

commit 458c913e4616d619469bd09e901832348557d5c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 6 12:57:48 2010 +0200

    Add %{__id_u} back, duh
    - appears to be rather commonly used afterall
    - dont bother with the former id|sed foo though

commit 05b2d979e8097d648f91c773f2535a1f6013cb79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 16:06:02 2010 +0200

    Move <stdio.h> includes out of system.h to the places that need it

commit 71b7fb380be6da75bcef1ad68ceea249717158aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 16:01:46 2010 +0200

    Lose <sys/types.h> and <sys/stat.h> includes from system.h
    - these seem to be already included where needed through rpm's public
      header needs

commit 8fe27d49e175412623045bea8d629690be187d6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 15:33:47 2010 +0200

    Move <ctype.h> include out of system.h to the places that need it

commit dd58384ede23bcf9b4c13c5031fa93937093b994
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 15:25:31 2010 +0200

    Move <errno.h> include out of system.h to the places that need it

commit e3638c2c86fd10831136419db2601cb4daf3d3bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 15:17:34 2010 +0200

    Remove <string.h> include from system.h into the few places that still need
    - most of the places get it through <rpm/rpmstring.h> already

commit dab8a648dbc91b56c4b375cf2218a769856b8e34
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 15:09:08 2010 +0200

    Loose string header compatibility goo
    - <string.h> is required by C standard, we dont support ancient
      non-conformant compilers anyway

commit 0c15e5feb333b88b5a5a525d588601d381df654c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 15:04:20 2010 +0200

    Include <stdlib.h> as necessary instead of system.h
    - also loose the related ancient compatibility goo

commit 729aac4d7afb44c7c058c32d0fbc4956e029beab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 14:37:47 2010 +0200

    Shove the mount entry include voodoo where sun doesn't ... <cough> fs.c

commit 53ab5419843aab2ddda25bfa96e228af8beeead8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 14:28:47 2010 +0200

    Remove unnecessary NLS definitions from system.h
    - all uses of dgettext() and friends are already protected by
      appropriate ifdef's, no need to provide dummy defines here
    - setlocale() and <locale.h> are required by C89, C99 and POSIX .. assume
      its there and if not, one can disable the whole thing with --disable-nls

commit 78335417a01caa3c079afe24258efcf4875820ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 14:14:23 2010 +0200

    Sanitize i18nTag() when NLS disabled
    - if NLS is disabled, the whole thing becomes just a plain old headerGet()

commit 6109d6388e44fc5070b98c9bf2f74df84c3ec700
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 13:29:52 2010 +0200

    Remove libcap stuff out of system.h
    - just a few places need, avoid polluting everything with it
    - make fsm->fcaps void * to avoid having to deal with fcap_t not defined

commit 0ff81ace79432c9a3254722f734fa931bb8bff1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 13:09:38 2010 +0200

    fts.h requires <stdint.h>, include it there explicitly
    - this has been masked by system.h including <netdb.h> which apparently
      brought in <stdint.h> as a side-effect
    - commit 5c084f842ae21d861818a33922b5c77cb17ad8e4 broke compilation
      without capability support as <sys/capability.h> also happens to bring
      in <stdint.h>

commit c50b63ba025ff425a3406649ec50eba5c9836de9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 12:51:36 2010 +0200

    Remove unused selinux dummy defines

commit e10e807ce9b6f252450404e57093aeaa023150a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 12:36:37 2010 +0200

    Move <mcheck.h> include out of system.h to the couple of places that care
    - only two real users inside rpm
    - remove mcheck foo from rpminject and rpmsort, we're not interested...

commit 2c6120755c44dc68605e33f6f84aa9896af55d28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 12:35:54 2010 +0200

    Unconditionally include <sys/wait.h> where needed
    - no point conditionalizing what we cant live without

commit 5085ae9923d5995e5f285dc54f45b38cf3d09698
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 12:14:37 2010 +0200

    Move sys/mman.h include out of system.h to the places that care
    - just two places where needed, dont pollute system.h needlessly
    - include depending on HAVE_MMAP instead of separately checking for
      sys/mman.h, if sys/mman.h doesn't exist or is broken HAVE_MMAP wont be set

commit f978dc78b4092f3dd05255a5cd3e33d786aba359
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 11:52:56 2010 +0200

    Move libacl.h include out of system.h to the only place that cares

commit af3c8690d48a6d08eebb530a1d771169d380770d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 11:45:28 2010 +0200

    Eliminate SEEK_FOO and [RWXF]_OK definitions from system.h
    - systems not defining these constants are broken beyond our caring

commit cd174374ffd0ee1cf5bea77905db4dbbc962aeda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 11:33:51 2010 +0200

    Remove unnecessary and broken time.h related configure + system.h checks
    - the AC_HEADER_TIME check is unnecessary for any remotely recent systems,
      and the HAVE_SYS_TIME_H conditional in system.h is just broken as we
      dont even check for <sys/time.h> header in configure
    - dont include from system.h, the time.h and sys/time.h get already
      included through our public headers where necessary

commit 5c084f842ae21d861818a33922b5c77cb17ad8e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 11:26:14 2010 +0200

    Unconditionally include <netdb.h> where needed instead of system.h
    - there's no fallback for missing netdb.h so there's little point
      conditionalizing it
    - avoid yet more system.h pollution

commit e9df6383be6b95621250c7258909587098d70999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 10:56:56 2010 +0200

    Remove pointless & unused configure checks
    - vprintf(), vsnprintf() and snprintf() are in C99, no point checking
      especially as we dont have fallbacks for them
    - no point testing for inline capability as we dont try to work around

commit 0edc291e50f9b6023a3e8e560d590e1dd2149a7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 10:45:23 2010 +0200

    Sanitize signature checking formatResult() a bit
    - whole lotta unnecessary wankery here (what have I been thinking)
    - avoid using the non-standard strndup(), we checked for it in configure
      but didn't provide an alternative so checking was just bogus

commit 423a86361bb2aa558da659a939472477266493ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 5 10:19:52 2010 +0200

    Oops, ftok() is really optional

commit 834551d2469d72d2192d519e00525114e7d7a457
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 17:15:26 2010 +0200

    Clean up poll() vs select() tests
    - move the includes out of system.h, not commonly needed
    - <poll.h> is conditional as we actually provide a fallback through select(),
      but for <sys/select.h> missing there's no fallback so doesn't make
      much sense to test for (and both poll.h and sys/select.h are posix anyway...)

commit 554f3f0cfb10cc2494f4a232646dc8bdda7ea962
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:59:39 2010 +0200

    Remove unused header checks from configure
    - maybe these have been used at some point but not anymore...

commit 1da827724cfd6301c4e23ad1b7db52af3a359ff1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:31:10 2010 +0200

    Eliminate unused id -u tests
    - this was used by _fixowner and _fixgroup macros back in the day but they
      no longer exist as they're unusable without building as root

commit 8dfd8f2a829f3b4e47f8850060ce431bd3e84c1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:22:56 2010 +0200

    Use MAP_FAILED instead of hardwired (void *)-1

commit 4cb02aa928d3e41f636d0e01356c7a3cb51018ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:20:11 2010 +0200

    Re-enable mmap test in configure & fix the code build again
    - this stuff has been disabled for years, lets see what breaks...

commit 8dd92d661dd50b7af5563242c9ffe2ce418f0f15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:10:44 2010 +0200

    Remove unnecessary stdint check from configure
    - a leftover from pre-C99 requirement times

commit 190d2b4783a1486370e3d7ebe12278dede7e16bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 16:07:11 2010 +0200

    Remove S_IFSOCK and S_IFLNK kludgery for ancient unixes
    - these are specified by POSIX 2001, it's not really rpm's job to
      provide them if the system doesn't

commit 5f0c9a3882d2b482105711c0b74b5f8c1e9b48d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 15:58:55 2010 +0200

    Require lchown() and remove ancient broken chown kludgery
    - lchown() is POSIX 2001, we dont care about older / nonconformant stuff

commit 8ca9ce53beaa1e85ad64c70fab8cd99137005ddb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 14:58:51 2010 +0200

    Check for our POSIX 2001 requirements and abort if not found

commit 3125bac65f75e0e67258df6c5fc55d0752f245af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 14:44:26 2010 +0200

    Lose the hysterical fakefork hack
    - we're not particularly interested in AmigaOS quirks from 1996

commit 33404070cd4d150874881d7bb3dbbe56d8153f90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 15:27:05 2010 +0200

    Remove further replacement functions for POSIX 2001 required bits
    - getwd(), getcwd(), basename() and realpath() are all POSIX 2001
      defined, we dont care about older stuff

commit bb803d630c585f5be8ed446da76dadcf717af1d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 14:21:42 2010 +0200

    Remove unnecessary setenv() replacement function
    - setenv() and unsetenv() are required by POSIX 2001, we dont care about
      older systems

commit 580f9625e166be7771ead94f500e54a5b34d3196
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 14:15:20 2010 +0200

    Remove largely unnecessary putenv() replacement
    - only the lua posix extension "uses" this by providing putenv()
      to Lua, make it conditional and return error if not supported by
      the underlying operating system

commit 60dc809db136e8bba12a9d45e189248218e304cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 13:46:43 2010 +0200

    Eliminate myrealloc() replacement function
    - realloc(NULL, size) is defined as equal to malloc(size) in C99 and
      POSIX 2001, we dont care about anything older than that

commit 216cf2acb664e8d7f8a47857a942adba43d0fec2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 13:34:39 2010 +0200

    Remove unneeded strdup() replacement in misc/
    - rpmio's own version is always there and portable, this is not needed

commit 05dcdf44d03d6a953d1e5aa15de3269a582ff9f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 13:30:14 2010 +0200

    Use rpm's own strdup() clone everywhere

commit f895acd285366cf58cc3c97b5f188fecbfd782a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 12:20:09 2010 +0200

    Always free locally defined macros when they go out of scope
    - Prior to this, local defines in constructs like %{!?foo: %define foo bar}
      would remain defined until a parametrized macro gets called, causing
      obscure and confusing errors in specs such as RhBug:551971 and countless
      others. Use of %global is now always required for such constructs.

commit 2c5ea0b1889a86b8ec64e60c36ba42e909ebbdf7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 10:52:22 2010 +0200

    Remove -98 vintage ifdef'ed dead code

commit 5b12a3b519b3a4a462ec72a7530f1ee6f117471c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 4 09:12:19 2010 +0200

    error.c was getting translated too, duh
    - should've been in commit 5741334a857a783b033c647223f206a7ca43cef3

commit 8209448f2457c880c6fb3a5e97c8080ce41c4323
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 15:02:00 2009 +0200

    Oops, update stubs.c too for the removed replacements

commit 7c62eb237f38846890a94622b7c7556340d8ae5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 14:52:49 2009 +0200

    Remove replacements for C99 mandated functions
    - rpm requires C99 compiler anyway, no point in carrying these around

commit 5741334a857a783b033c647223f206a7ca43cef3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 14:36:36 2009 +0200

    Remove unneeded replacement error/warn functions

commit eaeadb40acc2592c33aeba912839db3caeb670d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 14:19:54 2009 +0200

    Include <utime.h> where needed instead of system.h
    - include unconditionally as we dont try to deal with utime() missing

commit 3786b6640e11482b4573dc0cf1ffabdf5f50cbbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 14:14:35 2009 +0200

    Move major, minor + makedev portability stuff out of system.h, simplify
    - only cpio.c needs, move it there
    - if none of the standard headers define these, its not our headache anymore

commit 2553ca2fe32f848c5a328ff996e627cc73249f18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 14:02:19 2009 +0200

    Move getopt() portability fiddles out of system.h
    - only macro.c needs, no point polluting includes everywhere

commit 2753a5e93441320a89b936a91a88a2576ae0db9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 13:40:10 2009 +0200

    Dont include <pwd.h> from system.h, dont bother checking for it either
    - no much point conditionalizing something we can't live without
    - just three places need, no point polluting include space everywhere

commit 68a5dd58034920ac776b8925cd3825f6981798c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 13:36:29 2009 +0200

    Dont bother including <sys/socket.h>, we dont use anything from there

commit df3e1ce0cdc426d12c17798ce1490f06a6809b74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 13:32:53 2009 +0200

    Dont bother including <err.h>, we dont use anything from there

commit f70b1c76d51dd2e32ff48ab75b1fa4b06d582f4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 13:31:57 2009 +0200

    Only rpmrc.c cares about utsname.h, move out of system.h

commit a39dc445fc0ccf03e22189699e4d6256658536f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 13:15:59 2009 +0200

    Dont include grp.h from system.h, dont bother checking in configure either
    - no much point conditionalizing something we can't live without
    - just two places need, no point polluting include space everywhere

commit 0fbf88d34c6d2ba03ebf011d05ada5244636ca02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:58:17 2009 +0200

    Dont bother checking and including a header we dont use or need

commit 162fc36e144707cd21e0063bcbbbb3f202bdc870
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:55:45 2009 +0200

    Move malloc portability tweaks out of system.h
    - only rpmmalloc.c needs, no need to pollute system.h

commit 4a1e75d1393b9aee7fc8b69a9debdf45aab3053a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:47:59 2009 +0200

    We dont use memchr() anywhere

commit 9f43fee26bc982945926d74d27844e5dbc829d70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:41:38 2009 +0200

    Move getpass() portability tweaks out of system.h
    - only signature.c needs, no need to pollute system.h

commit c47b96630c18143be25cc0a4c42c7f8005d18a5d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:37:37 2009 +0200

    Dont bother checking for a header we dont use

commit 5c31864598a169bbf0609635f162bc089ea3ccda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 12:25:32 2009 +0200

    Dont bother checking for functions we dont use
    - some of this stuff was used in 4.4.x but not anymore
    - additionally we dont even use getdomainnname(), check for gethostname()
      instead

commit 0de16638aadfc7fc093e69106e7f3a6b54a2ff28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 23 11:40:55 2009 +0200

    Use AC_PROG_MKDIR_P for testing mkdir -p capability
    - for rpmbuild's purposes MKDIR_P doesn't cut it though, we need to
      point it to something that exists on an installed system

commit 4d328c0b6982a5782bdd9dc4722ccc5119279b57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 15:32:17 2009 +0200

    Use %{__mkdir_p} macro in build instead of hardwired RPM_MKDIR_P

commit 67601222815391e7739fa8592d0d0de57f5fb316
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 14:55:54 2009 +0200

    Remove unused h_errno test from configure.ac

commit 33685ef74eaebabb2b6c609cc0313a540b9ba3ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 14:36:35 2009 +0200

    Kill off last remaining uses of _constfree()
    - practially all the data in rpmfi needs to be treated as const, these
      are just a funky special case which point to header memory for the
      couple of cases where KEEPHEADER is still used

commit cef9afbf2ab652e3a8d9f1aa96d517036408d81b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 13:25:48 2009 +0200

    Make header struct really opaque outside header.c
    - the low-level stuff in signature.c and package.c need entryInfo_s
      and indexEntry_s but not the header itself
    - also move the other defines which have no use outside header.c there

commit a14d06482a667441b47bdf4a6e76e751b99389ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 13:11:00 2009 +0200

    Remove redundant NULL-check

commit fe8bbc317752a8ad8f050e93e60bb044078f4c77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 13:01:36 2009 +0200

    Eliminate unnecessary url parsing from rpmtsRootDir()
    - url's in transaction root hasn't been permitted since rpm 4.6.0 days

commit 7e684c563014d71583b791bb0159e37592ca21b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 12:34:19 2009 +0200

    Lose the now empty header_internal.c source

commit 9c00937f119f67c44103eaf0edddebaf0c709e22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 12:33:16 2009 +0200

    Move htonll() into header.c and make static, not needed elsewhere

commit 854f7486149f2c0713b45dd29a650fb3e10a44e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 12:30:45 2009 +0200

    Move the legacy compatibility goo into legacy.c
    - no functional changes
    - headerGetRawEntry() hasn't had a public prototype since rpm 4.0 days
      but there are some 3rd party users still (sigh), leave it alone as
      exposing the proto now would only cause *more* trouble to the external
      users

commit 220adf02ded4c6b499d10a8d589df73424fc4931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 12:11:42 2009 +0200

    Move the higher level convenience functions out of header.c
    - header.c is big enough as it is, and none of these things needs
      header struct internals for anything
    - no functional changes, just moving stuff around

commit bb9878ed3094e14bf2751291e0288f78cb9b113e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 22 12:07:12 2009 +0200

    Rename hdrNVR.c to more obvious and generic headerutil.c
    - no functional changes
    - remove it from translation list, there's nothing here to translate...

commit 1daee9ebd03073696acc9d6f5968f8fa56cb16c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 15:01:27 2009 +0200

    Work on tsortinfo instead of ts elements when ordering everywhere
    - ...except addRelation() which still needs rpmteTSI() for grabbing
      tsort info from elements in rpmal

commit 0cc336b7a3a3ef6d9ca05490412bbac48e0186d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 14:13:35 2009 +0200

    Work on tsortInfo nodes directly when detecting SCC's
    - pass the local order info struct to detectSCC() and work on that
      instead of ping-ponging to the TSI's through transaction elements

commit e5ccace4fb25b9bb6537df5f56f542a1676d0760
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 12:59:38 2009 +0200

    Record relations to tsortInfos instead of transaction elements

commit 78a3f3065e93f742179233e139090b3e2c1114ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 12:30:04 2009 +0200

    Save pointer to ts element in the tsort info struct

commit 134c19d9fab97a7c03149893c356e6fa794c0318
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 12:18:22 2009 +0200

    Avoid a bunch of redundant rpmteTSI() calls

commit 9b12bc126763b4723be4c7c1e44406b2f00f5759
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 12:12:29 2009 +0200

    Eliminate unnecessary depth member from tsortinfo
    - its only used for debug log formatting and we can calculate it from
      the number of parents in the debug case

commit 60500572d89f47970d45061c533c4d05ccef3a99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 10:41:03 2009 +0200

    Eliminate unnecessary npreds member from tsort info
    - this is the same as tsi_count

commit 2268c738f10f40aeb2b7fcf61ae3978785eeca78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 10:37:48 2009 +0200

    Eliminate unused tree index and degree from ordering calculations

commit 42127383e2353920ee439cc65c716c84a36274dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 08:17:05 2009 +0200

    Avoid a few unnecessary rpmteTSI() calls in addRelation()

commit 88d56552d12c487bff85262bd0d430270619c9e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 15:28:36 2009 +0200

    Remove unused ordering related members from rpmts struct

commit 92884ca771905b4de2c2abc1fc5b144fecff8e55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 21 09:20:09 2009 +0200

    Bury ordering structures and their alloc+free inside order.c
    - nothing outside order.c needs this stuff, TSI alloc+free routines
      have no business being exported
    - for now we need to store a pointer to tsortInfo in the elements,
      its just an opaque pointer for ping-ponging the data through ts elements
    - all allocation + freeing is local to ordering code

commit ecf45122398c8f081f51b7574ec6cafb6ca2051d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 12:20:05 2009 +0200

    Eliminate the rpmte tsort info manipulation public API
    - its not useful outside the ordering internals and API users have no
      business messing with it

commit 6e28e8fdba7260b3a9dd2824ac2b44d1b658c876
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 12:16:25 2009 +0200

    Convert rpmtsOrder() to manipulate the tsort data from tsortInfo directly

commit a6b21c7bec3e6b44198ff779b13224155c8d0f20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 12:12:44 2009 +0200

    Convert addRelation() to manipulate the tsort data from tsortInfo directly

commit 95c14c7a8aa742ffcca47ab47f99e7b4878eb306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 12:10:01 2009 +0200

    Convert collectTE() to manipulate the tsort data from tsortInfo directly

commit 72e95c14f41d0a6cbfb7fc340b6cde774c1396bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 12:05:30 2009 +0200

    Avoid some unnecessary rpmteTSI() calls in collectTE()
    - we have q's TSI in local variable already, use it
    - also rename tsi -> q_tsi so it's obvious which one we're manipulating

commit 16726722c3c41e9a9f209b2b0a7ac3a0132d25ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 11:56:04 2009 +0200

    Move tsort data out of rpmte into, duh, tsortInfo

commit 4e20d4c49f1d623458a7fdc28214e6729c4e32d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 18 09:04:57 2009 +0200

    Move transaction element iterator into rpmts.c where it logically belongs
    - make rpmtsi_s really opaque, move rpmtsi typedef to rpmtypes.h
      along with all the other commonly used types

commit ccc69322626ed649d72248e23a2834a9860099fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 17:33:05 2009 +0200

    Eliminate unused and unnecessary rpmteBreadth() and rpmteSetBreadth()

commit 80853dbe99a772cdceb57c4b5f39e270c0319795
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 17:28:37 2009 +0200

    Eliminate unnecessary rpmtsiOc()
    - it used to be called from ordering code but now there's precisely
      one caller which used it as a fancy way to do increment an integer... rip

commit 24780b810eb94ee7e444da670eee3557d02ca3d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 16:47:12 2009 +0200

    Eliminate unused + unnecessary transaction element iterator mode

commit 640db40ac593a2d30f556e277164e980508ee9ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 16:17:45 2009 +0200

    Eliminate unnecessary ts ping-pong inside rpmte
    - rpmteNew() and the stuff it calls doesn't need the transaction set
      for anything since a long time
    - document ts argument to be unused

commit c2e1c048b3341824f9f0e50f2c9e2d8598891f9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 16:10:37 2009 +0200

    Fix ts element package file size on large packages
    - RPMTAG_SIGSIZE is limited to 4GB, grab RPMTAG_LONGSIGSIZE through
      headerGetNumber() grabs the correct tag automatically and simplifies
      the code a bit

commit e5f7b3264cb03d03ceb6e2100c117c7f37e01e9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 15:51:58 2009 +0200

    Eliminate now unnecessary rpmteFd()
    - ...which should've never been exported in the first place

commit 6193da9cad40dbbc1d7ce974ab9df96986a52183
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 15:50:09 2009 +0200

    Move payload open into rpmte (internal) method
    - the transaction element has all the necessary info to do this,
      having it in psm just requires exposing otherwise unnecessary methods

commit 0bac1d421ccdcc719e2e60bcfb4859d0f602510c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 11:35:11 2009 +0200

    Hardwire lead major version to 3 (RhBug:546663)
    - besides the logic being backwards wrt intended --nodirtokens linkage,
      LSB wants this to be 3 and .. it just makes no difference whatsover
      anyway

commit 79b0ebedc13185f2d85e688d8cd4e007ddea70e1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Dec 16 23:14:04 2009 +0200

    Use grep -E and grep -F instead of egrep and fgrep.
    
    egrep and fgrep are deprecated in GNU grep and "historical" in POSIX.

commit edac0476a8ea3fbd1d86df2667a1b62d831b2653
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 10:38:08 2009 +0200

    Move python ts element key refcounting back to C-side of things
    - it's really the C-side that needs this, doing it in C avoids nasty
      surprises when subclassing rpm.ts
    - partial revert of commit 92d18d1d7139b37065ea742cfe0e8cee5e9c3500

commit 507f21f6bb4bf7029a0bca255cfe4aae3361f358
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 17 08:43:31 2009 +0200

    Permit unexpanded macros to slip through spec tag sanity checks (RhBug:547997)
    - For now, let %{} characters through our valid character set checks
      on specs. This isn't right really, but unexpanded, unrelated macros
      in spec can now cause failure to parse out buildrequires which would
      allow those macros to be expanded. This needs a better fix.

commit 72f210f56abee3f704ba1a1b32c06e294473f9b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 10:30:17 2009 +0200

    Avoid mucking with fsm->rdbuf in fsmRmdirs() and fsmMkdirs()
    - we already calculate the string length, just use a variable local array

commit ee8d3dfa923536bbd559fefb3d3c137a16dcf764
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 10:09:26 2009 +0200

    Remove now unnecessary const-avoidance construct

commit b22c266003bdd4dd4067ea6ec77bec5cee24d12b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 09:52:59 2009 +0200

    Const-correctness on fsmRmdirs() and fsmMkdirs()
    - both functions need to copy the data anyway as they modify, just use
      a helper variable to cleanly avoid the const strings from iterator

commit 0d4a9d13cb8e600f193e9731744d0bdbff8a1956
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 09:43:55 2009 +0200

    Remove bogus const from fsm [o]path members and use of _constfree()
    - in reality the paths point to allocated memory at all times

commit 94d7b17c9e04c2e5ff887af916d66b7ee5194864
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 16 09:25:55 2009 +0200

    Simplify fsmFsPath()

commit fe1de3869e2a13bbefa020939e5ceffbb67e616f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 15 14:43:40 2009 +0200

    Kill of ancient unused kludgery over buggy packages

commit 86cfa3de9cb00e9559da3ceea638d690bcccaf75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 15 14:42:12 2009 +0200

    Kill off stillborn fsm threading stuff

commit 058aec9bdc3145d25faed62b89ae532aa0cd87d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 15 14:39:57 2009 +0200

    Kill off stillborn "not yet" code from 2001

commit 91eb212654b80d00202432da36e9746567d4f30b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 14 15:23:28 2009 +0200

    Eliminate transaction disk space checking functions from the API
    - The DSI stuff runs from deep inside rpmtsRun() with no chance for
      API users to do anything with it. Bury into transaction.c and
      make static to let us change the way it works without API constraints...

commit 17eb18d0b1b259dbeb269148e6571ae49df9259f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 9 15:11:39 2009 +0200

    Fix memleak in python ts.hdrFromFdno()
    - the python object holds reference to header here, decref the header
      so it gets freed eventually

commit 60b66dc7d9c728d6b779d3d772ac36b9134a2f56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 9 14:42:03 2009 +0200

    Fix a few list-related memleaks in python bindings
    - PyList_Append() bumps the object reference count, callers need to
      explicitly decref them... oops :)

commit a250601a8e7b31cba2565cfaf82dbfc3f6be7338
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 9 11:17:04 2009 +0200

    Kick out one remaining sqlite reference (in the translations)

commit 1ee991f2a5b83a0d84b80c0d7e7d38877df904e6
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Dec 9 09:50:58 2009 +0100

    Remove sqlite hacks from rpmdb.c

commit 50d1b52edb202fbf9329cea0ecec285c0a73414f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 8 16:22:42 2009 +0200

    Avoid exposing libmagic dependency in public headers

commit d6bda5a1665d8d04526aea299781570ee7486b2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 8 15:58:51 2009 +0200

    Avoid noise from python bytecompile on non-python pkgs (RhBug:539635)
    - If a pattern doesn't match, we'd prefer an empty list instead of
      unexpanded garbage thank you... nullglob shell option is just what the
      doctor ordered but unfortunately its a bash-specific thing. Otoh there
      are number of other bash-specific scripts in rpm so probably not
      much of an issue...

commit f671b529d1c45b1d1b39003ad4e2a2b646c9fa98
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 3 13:56:00 2009 +0100

    Removed obsolete "db3" entry in dbi_config_default

commit e2c217b4b76118e6dab9f8dfb3284bb4ddbe2b3e
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 3 13:50:37 2009 +0100

    Remove support for sqlite based rpm database
    Also remove abstraction layer between rpmdb.h and the back end
    in lib/backend/

commit 139c031d2c54fe9e692765dae05da89d7ecfa8cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 13:51:48 2009 +0200

    Preparing for 4.8.0-beta1

commit 7a2395941e3eb81740f6b7b5d417991ef9b42fa4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 13:35:53 2009 +0200

    Bump soname for all our libraries
    - while the "really public" API of librpmio has only been enhanced,
      librpm and librpmbuild use some supposedly internal bits which *have*
      changed considerably, so just to prevent anybody thinking they can
      combine librpmio from rpm 4.7 and librpm from this...
    - librpmbuild hasn't seen much real change but some (unfortunately)
      exposed struct members have changed so...
    - librpm is mostly compatible but as rpmal has become internal API,
      we need to bump (annoyingly, as nothing actually uses rpmal ... sigh)

commit 75c171f20891e58f1f14f37bba8e3e13b47bb783
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 12:38:39 2009 +0200

    ts.check() is supposed to return empty list when no problems

commit 9b94ae3dbc6d98f5c1929829735ff918aab5ef4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 11:32:51 2009 +0200

    Disable the entire rpm.td type for now
    - need to figure out saner semantics & stuff...

commit f859d8aa7742eae7b5d48409a26086c6f5d80343
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 11:21:14 2009 +0200

    Make python header iterator return keys, not values
    - this is how python built-in dictionary works, be consistent with that
    - also avoids having to decide what to do with rpm.td type right now...

commit 1567738feddc9202308bc6e0be9c60d3adf5d56f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 7 09:12:44 2009 +0200

    Always return malloced data from i18n extensions for consistency

commit 105518cf5766bba6647e26b96e31b5a2d8ba18c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 5 11:05:39 2009 +0200

    Bump up the python version requirement to match reality
    - Python >= 2.6 is known to work, 2.5 might be possible with __future__
      imports but until somebody tests it...

commit 46d1ba04483af09590ed070186a1be10b57c5977
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 2 15:30:27 2009 +0200

    Fix the posix chown test for selinux enabled systems (RhBug:543035)
    - on selinux enabled systems, 'ls -l' mode string is longer than
      expected here, just trim the ls output to our expected length

commit 1adb46a9f864a327c93496ee0f8a149bd1def175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 2 13:22:11 2009 +0200

    Back out overly strict file type check on %ghost files
    - we currently only support creating regular files for %ghosts which
      dont exist in the buildroot, but for files that do exist in the buildroot
      there's no reason to place such limits (eg its perfectly ok to have
      symlinks marked as %ghosts)

commit 480095ab2a319d29965ced868ecc8253b1ba7420
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 15:57:44 2009 +0200

    Use AS_HELP_STRING() for configure option output

commit f0f94cc9df146a016f1d3c3b2d508b3e7336efea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 15:12:52 2009 +0200

    Remove pointless message translation from check-buildroot
    - these scripts aren't processed for translation and unlikely to ever be...
    - fixes the remaining complaint from ticket #62

commit 45e4cca1ea3ed5073a54431dbf505e1e252fd678
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 15:10:57 2009 +0200

    Remove ancient broken scripts from the repository
    - also eliminates one more "bashism" complaint of ticket #62

commit 443d4f4d725a29d405b8c52e3a6ffbc1f514bd27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 14:55:12 2009 +0200

    Fiddling with ulimit settings does not belong to dep extractor scripts
    - fixes one of the bashisms in ticket #62

commit 8440195af4f1d578fa3c631df8ff186c6168e368
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 09:28:11 2009 +0200

    Correctly pass optional tag argument from hdr.dsFromHeader() (ticket #108)

commit 8ba98b21789e6e3525cf2fd47a3a473aa17a0f9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 27 09:15:56 2009 +0200

    Dont try to pass anything to rpm.fi() from hdr.fiFromHeader()
    - hdr.fiFromHeader() is just a deprecated backwards compatibility dummy
      and doesn't need to pass anything as there were no meaningful
      parameters in older versions

commit cfcd1f9bd98d5d0fc46a84931984efec3b9d47e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 26 10:22:41 2009 +0200

    Dont fail build on unrecognized non-executable files (ticket #105)
    - Generally only executable files are critical for dependency extraction,
      whereas oddball application data files can cause unnecessary build
      failure due to libmagic misdetections etc, so just let non-executables
      pass with a warning and mark them as unknown data

commit ae74744e65e4e3e83f51cfae5418e8d7e12b9857
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 26 09:46:48 2009 +0200

    Just use autoreconf in autogen.sh (ticket #109)
    - instead of doing stuff by "hand" and getting it wrong, let autoreconf
      worry about getting it right (if nothing else, we can then blame
      autoreconf instead of ourselves ;)

commit 2b41860984f0c4ebba5ebce93a18c9c0ca5e1065
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 25 16:42:43 2009 +0200

    Fix signature password checking result on abnormal conditions (RhBug:496754)
    - Execve() failure wasn't returning an error code, causing rpm to
      think the password was ok when we couldn't even try verifying
    - Stricter return code checking from the password checking child:
      the password can only be ok if the child exits with WIFEXITED() *and*
      WIFEXITCODE() of 0. Also WIFEXITCODE() should only be called if
      WIFEXITED() returns true.

commit 98213fc4192c7af07037a0f3e9cce9e3b8509c02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 25 15:07:17 2009 +0200

    We can't handle OpenPGP subkeys or secret keys, so dont even try
    - parsing subkeys ends up overwriting data in the main key, causing
      bogus signature checking failures
    - this is the final missing piece of RhBug:436812, short of adding
      proper support for subkeys (maybe someday...)

commit ded0c513836cee2f237edc2e28ee8aec261fd675
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 24 16:57:46 2009 +0200

    Dont blow up on headers without requireflags in rpmdsNew()

commit 649fc271d59eacbeeaacd3c24625ee95c884f0b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 24 14:36:03 2009 +0200

    Nuke leftover debug junk

commit 39e15e7a678dfcfc0c03449b2ebc327569933f31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 24 14:27:49 2009 +0200

    Support constructing header data from python
    - no proper i18n string support yet, just the basic types
    - basic data type validation only, no overflow checking for integer types
    - for lists, validate all items before trying to insert anything
    - duplicate tag creation not permitted
    - appending not permitted, only assignment (and deletion already)
    - there are probably bugs...
    - watch out for librpm bugs when passed incomplete headers, ugh

commit 897f06b9100437e6074ec5a816a83779662ddb4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 24 14:02:52 2009 +0200

    Disable rpm.td type for now
    - its not that clear that exporting the td type is really useful
      (certainly not in its current form), avoid exporting an interface we
      might not want to support

commit 15c806b8ae53753481d09c0e980d668b44817b95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 23 16:45:09 2009 +0200

    Fix hdrContains() return value on error

commit c225bb88cbe33d97ab9d7de20c4d6597b5394cc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 23 15:12:04 2009 +0200

    Remove bogus rpmpopt.pot file (ticket #77)
    - this is supposed to automatically generated on update-po time from
      toplevel rpmpopt file and merged into rpm.pot but has been broken for
      a long long time and also the $ translation marking has been deprecated
      for security reasons

commit 1e2f382ff7912f743d4c18d85386506048d0d29d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 21 11:31:50 2009 +0200

    Remove hdr.has_key() method, support 'key in h' style instead
    - Python 3 removed has_key() from dictionaries, as the 'in' way is the
      way of the future support that from the start (has_key() is not in
      any released rpm version so its safe to remove)

commit 6711bcc6b948f8f60373af42e232e160c8cb89ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 21 11:07:29 2009 +0200

    Remove unnecessary hdr.instance() method
    - this is available through tag extension now, no point having a
      separate method for it

commit 6834d35460466992cfe43ce908443fb61f49b94c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 21 10:55:24 2009 +0200

    Typos in exception messages

commit 5e26a8be7193a90612d800eadba46b417c1d4944
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 20 16:00:06 2009 +0200

    Error out early trying to install on readonly fs (ticket #99, RhBug:464750)
    - simply make readonly filesystems appear as full, preventing install
      early instead of failing with cpio errors in middle of transaction

commit 58bece68422ba6cf20a1fe4ac4816ecd811e384d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 20 11:49:05 2009 +0200

    Convert French man page to Unix line-endings

commit 50773c56482f3cd7d48cbcad477d1a48a0395c66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 20 11:12:39 2009 +0200

    Fix build with binutils-gold (ticket #107)
    - patch from Michal Čihař

commit d0eaa7c0485f670371fc6a99bf27021fdaa467e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 20 10:32:47 2009 +0200

    Add RPMTAG_EPOCHNUM tag extension
    - return RPMTAG_EPOCH but convert non-existent epoch to 0, as rpm internals
      treat it

commit 71eeeb8d5e18ac6f6b349b09fd22fe2c650f8beb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 19 10:51:23 2009 +0200

    Add spec package type with access to headers to python rpmb module
    - permits python to access parsed headers from spec files
    - ticket #14, RhBug:462726

commit 4beda5ab2676d6b007034b6f9906724c813fce68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 19 10:16:15 2009 +0200

    Permit header object generation from PyCObjects
    - needed for generating header objects from other extension modules &
      might be handy in some other cases too
    - patently type-unsafe but as long as python doesn't provide a better
      way, not really our headache

commit 2ba9153bfa8abd642c4529b454f65ed807f0afb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 17:41:39 2009 +0200

    Lose the silly specFromSpec()
    - its our own private data structure we're accessing here, no need
      for extra wrappers and nothing outside spec-py.c needs this

commit 0e77aba7fb9f3e5cd875acc124ea4de2dea3c247
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 17:28:13 2009 +0200

    Turn current python spec methods into read-only attributes via getseters
    - incompatible, but nobody is really using the spec bindings for
      anything as there's been very little you've been able do with them
    - having the stuff accessible as getseters means we dont need 50 different
      fooSet() methods if/when we permit modifying these from python

commit ecb0f7df9a273f89706a6a8b3129dfcae29536d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 17:16:45 2009 +0200

    Sanitize python spec.sources()
    - spec without sources is perfectly valid, just return an empty list
      instead of invalid NULL return without exception set and simplify

commit 8f056c7849944abdf2e5ee86e8668bc6c61834ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 17:03:32 2009 +0200

    Put a bit of sanity into python spec methods
    - prep, build etc missing from spec are not errors
    - instead of returning NULLs (with no exception set!), just return None
      for anything that doesn't exist
    - dont bother with NULL checks, if s->spec is NULL then something else
      has screwed up big time

commit 698c141fe3bfbc520a825e993a01a082cf80f69b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 12:21:41 2009 +0200

    Oops, tp_dealloc doesn't return anything

commit c6a2f7f3f293c0947ea015cea40618c78fc93de9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 11:33:57 2009 +0200

    Fix rpmProblem reference counting in python bindings

commit 67961448c192a932868efb6ee652bd228597d4dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 11:22:55 2009 +0200

    Declare a few python functions only taking one argument as such

commit f6b5a7f622c0b34fc261cc0c27b596730d9597dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 11:17:51 2009 +0200

    Rip python checkSignals() wtf'ery
    - since the function takes no arguments, declare it as such...

commit 841e0ad4ee360bf43acb1adb2b86977d7b74abe1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 10:54:58 2009 +0200

    Python archscore() only ever takes one argument, simplify

commit 66dd52d94c34b51eba9f0ef48bbe4df0e1b174ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 10:41:26 2009 +0200

    Make python ts.problems() return a python list, not rpm.ps object
    - rpm.ps object only supports iteration and subscript (with wonderfully
      wacko semantics), returning a regular list serves us better
    - rip the now useless rpm.ps object type

commit a237f1eee0b495691c2a9565ad2b0f5140c00298
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 09:40:30 2009 +0200

    Remove unused psFromPs()

commit a2a4599fc6947d30c5ecf42420528a91d1975093
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 18 09:35:41 2009 +0200

    Eliminate broken rpmps append() method from python bindings (RhBug:538218)
    - The code to insert new problems has been using invalid conversion code
      causing crashes since 2004 and nobody noticed, safe to say this is an
      unused interface. Additionally the method argument flags were wrong, it
      was declared as METH_VARARGS but actually expected METH_O semantics. RIP.

commit 2e76d0e6c83ca7bd08651c47fd1aee40f89333c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 30 13:31:01 2009 +0200

    Add in-memory hash for caching rpmdb dependency lookups
    - worst case behavior for uncached dependency lookups can be disastrous,
      eg > 35s vs < 1s on my laptop for trying to remove /bin/sh provider
    - we only bother caching rpmdb lookups, the other cases plenty fast already
    - using in-memory cache avoids nasty in vs out of chroot issues with
      temporary db files, which otherwise were about as fast

commit 77c25db03a55113a77d6a56c422615f9cd4ec435
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 30 09:37:36 2009 +0200

    Document our new format extensions

commit 0dcf65119a0f7f96e460eaf7ef6aa970e9ee2f14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 30 09:33:26 2009 +0200

    Add file verifyflags format extension

commit 491cf5e3442af05b79b33e346f60e565f343513f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 30 09:15:36 2009 +0200

    Add file state format extension

commit 18cc1d23120c5eadad251f0edde1697ed418a3e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 30 09:13:08 2009 +0200

    Update rpmtd formats comments to match reality
    - we dont require exact int32 etc types, any numeric type works

commit 7ae58177d051f5989974b58930980371388b9d6d
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Oct 15 15:14:58 2009 -0400

    Convert relative imports within rpm package to absolute imports

commit 91a83f5e76790e5248780fa604ad2ac0aa3a68a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 29 13:54:47 2009 +0200

    Permit any file-like object in rpm.setLogFile()
    - using PyObject_AsFileDescriptor() does away with another Python 3
      incompatibility and makes it more flexible.. but also more murky
      as rpmlogSetFile() only accepts FILE * streams...

commit 121b69b39529c2b5b9557eba96fd551e5295ccbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 29 12:56:18 2009 +0200

    Update module initialization to work with both Python 2.x and 3.x
    - split common initialization tasks to separate functions, so that only the
      details of initializing a python module object differ
    - patch from David Malcolm

commit 16f9d7f4dcce8edc6458cd94ee0c7afda2c5dece
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 16:35:32 2009 +0200

    Remove unnecessary (cmpfunc) casts from our type objects
    - cmpfunc is no more in Python 3 and casting NULL to anything makes
      little sense anyhow

commit 70bebfdd7eab41d7e0aecf569692aac113958a3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 16:27:15 2009 +0200

    Eliminate ambiguous tp_compare and tp_richcompare from rpm.ds
    - both comparison types are highly ambiguous, eg what on earth does
      "foo provides bar = 1" < "bar requires foo > 2" mean?
    - if straight ds1.evr vs ds2.evr comparison is needed, we'll be better
      off supporting that through rpm.versionCompare() which has clear semantics
    - avoids another Python 3 incompatibility too

commit 46b2df7c577b3f22a167bc46e655c9c008133a66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 16:25:46 2009 +0200

    Add ds.Compare() as a thin wrapper over rpmdsCompare()

commit 1ce136261da3bd39ee10e31ed02d11a37da19126
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 16:24:16 2009 +0200

    Type-check rpm.ds() comparison/search arguments everywhere
    - also make them only accept one argument, simplifying arg parsing

commit 615c45ec34dc5c5c00aa50854524cd428e70de50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 16:17:21 2009 +0200

    Rip out stillborn code

commit 3df9dc71118b498694437f083bb174d774cc6337
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 15:22:39 2009 +0200

    Eliminate the ambigious tp_compare from rpm.hdr
    - Avoids another Python 3 incompatibility as it doesn't have tp_compare
      anymore
    - We could add a compatible tp_richcompare, but comparisons like
      'if h1 < h2: do foo' are highly ambiguous, callers are better of
      using explicit rpm.versinCompare(h1, h2) instead

commit a5e123bc3e07fa6cc3fad13bc7f8a471ecb17d9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 15:55:35 2009 +0200

    Use PyObject_AsFileDescriptor() instead of object type comparison
    - this permits any file-like object implementing .fileno() method
      (including rpm.fd) to be dup'ed, not just PyFile subtypes
    - this also avoids yet another incompatibility with Python 3 which doesn't
      have PyFile_Check() and PyFile_AsFile() at all

commit 590914c32c1d514d1a4e5c2244e1e38548a2e87d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 28 10:05:39 2009 +0200

    Dont bother calculating hardlink counts when the value is not used
    - speeds up non-verbose --list queries by some ~50%

commit 5463570061a7ca9ed947885b516c2551778b636f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 16:07:43 2009 +0200

    Support multiple python versions in brp-python-bytecompile (RhBug:53117)
    - For *.py files in python library path, use matching python interpreter
      version for compiling, this is especially needed for Python 3 which
      is very different from Python 2 code. And even if the code compiled
      with a wrong version, it would be recompiled at run-time when invoked
      with the intended python version, causing verification errors etc.
    - For *.py files outside the library path, use "system python" which
      might not be always correct but we dont really know any better.
    - Patch from David Malcolm

commit 714ebe92a1052e67967221e73ac8b788140e684c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 15:15:20 2009 +0200

    Argh, typo in previous commit

commit 376b1bd8b79392a3d8a019c0409c05c13b55f2b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 14:52:08 2009 +0200

    Remove explicit Py_TPFLAGS_HAVE_RICHCOMPARE from ds type flags
    - HAVE_RICHCOMPARE is included in Py_TPFLAGS_DEFAULT since at least
      Python 2.3 which is as far back as we care, no need to explicitly
      set it. Eliminating the unnecessary flag removes another Python 3
      compatibility issue as the flag is gone there.

commit 2222e81e1cf74bbf78acb9969592ab06e2289929
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 10:57:35 2009 +0200

    Make disk space problem reporting slightly saner (RhBug:517418)
    - Only report disk space/inode issues for packages that are affected
      instead of piling up all the problems in all filesystems on all remaining
      packages
    - The messages are still ambiguous at best, need to figure out something
      better one of these days...

commit dcba14d575eb6396075e3976b898c98ddd17874f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 27 10:44:04 2009 +0200

    Let Python decide the "native" string type for tag names
    - Py_BuildValue("s", ...) returns unicode objects in Python 3, string
      objects in Python 2, this is what we want here

commit 490d79b976c2b52d838f72f553a20af0dcf81c1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 23 22:10:44 2009 +0300

    Permit unicode as ts.dbMatch() key argument

commit d728e466d2055432b874b4777b3ca07ef3260518
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 23 21:25:08 2009 +0300

    Allow unicode objects as tag name everywhere

commit e13a476fc94509cb6f3d159e6135b48fdafcdf78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 23 21:07:10 2009 +0300

    Add conversion function for handling python unicode -> string issues
    - In Python 3 everything is unicode, forcing each and every caller to
      convert manually is a bit much.

commit b457e2200bd41b0c7420e32d5c9ed5a10b082922
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 22 10:37:49 2009 +0300

    Make --httpproxy and friends work again (RhBug:529214)
    - macro fiddling to pass the macros set by --httpproxy etc popt aliases
      to the url helper
    - ftp proxy and http proxy control the same thing (http proxy) now to
      keep things simple
    - while at it, add %__urlhelper_localopts for local customization needs
      without having to override the entire __urlhelperopts macro

commit 4047397da1875b1e5b561e039ad6cd7d99206aa1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 21 13:21:01 2009 +0300

    On Python 3, use macros to alias all usage of PyInt_ to PyLong_ equivalents
    - Python 3 unified PyInt with PyLong, the former no longer exists
    - Based on a patch by David Malcolm

commit 1866fc41c8fdf5a82705cee7f1043d5fb634c3be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 21 13:15:44 2009 +0300

    Replace PyString usage with PyBytes everywhere
    - In Python 2.6 PyBytes is just an alias for PyString, Python 3.0
      removed PyString entirely
    - Add compatibility defines for Python < 2.6
    - Based on David Malcolm's Python 3.x efforts

commit 33c569ce6fd827ba039e36ffe0a77b0643d0ac70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 21 12:47:35 2009 +0300

    Ensure RPMSENSE_RPMLIB bit is always set on rpmlib() requires in rpmds flags
    - some packages in the wild have rpmlib() requires without the flag set
      due to older rpm not always setting it (for one, rpmdeps as external
      dependency  generator could cause such deps), causing bogus dependency
      failures on install
    - only fix up dependencies coming from a header, rpmdsSingle() correctness
      is up to the caller

commit 9fbaedd1ac655d978883d68a1f7d34df0d703363
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 21 12:23:50 2009 +0300

    Ensure rpmlib() dependency sanity on build
    - only requires on rpmlib(foo) are allowed
    - make sure any rpmlib() foo dependencies have RPMSENSE_RPMLIB bit set,
      rpmdeps as external dependency generator can create rpmlib() dependencies
      without the bit set, and also any manual rpmlib() deps wont have it

commit b6cfb4399ca4c5f2335c9351a7599ccfdf28add6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 21 12:22:33 2009 +0300

    Fix memory leaks on error exit from parseRCPOT()

commit cab7c23976fa83a57fcb63694748e0e40ca9fda4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 19 17:21:31 2009 +0300

    Remove leftovers from python header files
    - rpmSingleHeaderFromFD() and hdrLoad() are now implemented in python,
      declarations accidentally left here
    - make rpmMergeHeaders() static, nothing outside header-py.c needs

commit 72165c7717e26050c6785f8b103f69baaa06dd40
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Oct 15 15:14:59 2009 -0400

    Convert all usage of two-expression exception raising to modern syntax
    
    Replace all usage of the two-expression
        raise foo, 'bar'
    syntax with the long-equivalent
        raise foo('bar')
    as the old syntax was removed in Python 3 (PEP 3109), and the new syntax
    is supported in Python 2

commit a2999caaf4fb6a1d121b71d009d15a7a651d2bf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 19 11:06:07 2009 +0300

    PyVarObject_HEAD_INIT() compatibility macro for Python < 2.6

commit 4b8e0ebde64321a8dbcbdce9f44557185fde1719
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Oct 15 15:14:57 2009 -0400

    Generalize type object initialization to work with both Python 2.* and Python 3.*
    
    The layout of PyVarObject changed between python 2 and python 3, and this leads
    to the existing code for all of the various PyTypeObject initializers failing to
    compile with python 3
    
    Change the way we initialize these structs to use PyVarObject_HEAD_INIT directly,
    rather than merely PyObject_HEAD_INIT, so that it compiles cleanly with both major
    versions of Python

commit 2f5a5c44cf5cd5406b153ba9ba37a7a5a4f4c6db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 19 10:57:13 2009 +0300

    Py_TYPE() compatibility macro for Python < 2.6

commit 7b51c4a1eb8f14207f9a8d3e0be514a41c0e2197
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Thu Oct 15 15:14:56 2009 -0400

    Generalize access to ob_type so that they work with both Python 2.* and Python 3.*
    
    Python 2's various object structs use macros to implement common fields at the top of each
    struct.
    
    Python 3's objects instead embed a PyObject struct as the first member within the more refined
    object structs.
    
    Use the Py_TYPE() macro when accessing ob_type in order to encapsulate this difference.

commit 63175d4d31469816c575ddb4de9698fb5c053536
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 19 10:30:48 2009 +0300

    Avoid using python's print for Python 3.x compatibility
    - print chanced from statement to a function in python 3, for our
      purposes sys.stdout.write() is sufficient and avoids dealing with
      the incompatibilities between Python 2.x and 3.x
    - suggested by David Malcolm / Ville Skyttä

commit 9707b5478bbad7251810247b2383f91b5bbabc16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 17 12:15:29 2009 +0300

    Unbreak lzdio/xzdio
    - revert part of b0d1038190be5cb4b45e2c2c7c84ee7022164ba2 which broke
      the split-personality lzdio/xzdio

commit 98cd707af0f284eeb4cf5864fbb14445d529bf31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 17 11:25:53 2009 +0300

    Skip posttrans scripts of failed transaction elements

commit f677a821adf7d18f5e9a9b053d805052a1bf5a39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 16 13:36:39 2009 +0300

    Since we really want a FILE* then get one in the first place
    - this is visible in the librpmbuild exported goo, rename the member
      to force build-breakage on the poor souls trying to use librpmbuild API

commit b0d1038190be5cb4b45e2c2c7c84ee7022164ba2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 14:51:28 2009 +0300

    Use a helper function for finding fileno of specific io type
    - also differentiate between lzdio and xzdio here

commit 852398f8c6dcb4ad5ed0310e49e7d342a262be91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 14:33:45 2009 +0300

    Lose unnecessary url type checking from fdSize()
    - we're only dealing with local files once fd is opened

commit ec68fc79551b27821bb400eb0136f8416b9ccb2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 14:23:20 2009 +0300

    Lose unused leftover definitions

commit 2dc82d4e3e9c2959f4f731895993645761905073
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 16 12:49:08 2009 +0300

    Eliminate ufdio-specific read, write, seek and close
    - we dont do network IO anymore so ufdio only differs from fdio by
      downloading the file on open if necessary, after that it's just fdio

commit 7324a69d62f56faa9a621b0554723be85b6cac13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 11:36:46 2009 +0300

    Use fd.tell() instead of going around through os.lseek() with fdno

commit ed40ff253a88ab399c28cf22005193e7389d5e23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 11:34:26 2009 +0300

    Add tell() method to rpm.fd class

commit ed6ed5c1ce0854f1b8956a66e8a429c9d5ff3948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 11:33:18 2009 +0300

    Add ftell() clone to FD_t

commit aa2ae3803cc38db786a662d70826a0131293b674
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 11:01:00 2009 +0300

    Avoid unnecessary dup'ing of file descriptors on header list operations
    - convert to rpm.fd on python side already add use internal helper
      which only accepts rpm.fd type to avoid having to dup around on
      every item

commit 410bf68fd41a6b8c98e48ca77e093f2f6c6bda75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 15 10:11:37 2009 +0300

    Accept rpm.fd() types file objects everywhere in python bindings
    - turn rpmfdFromPyObject() into a python-level object converter, add
      a separate C-level getter for the fd pointer itself
    - take advantage of python refcounting to handle differences between
      native vs converted rpm.fd in callers so we can simply decref the
      rpmfdFromPyObject() result without having to worry whether it was
      converted or not (ie should we close it or not)

commit 50ad087c1030be242ab658c818ba2990dd33855e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 17:22:25 2009 +0300

    Make fdUpdateDigests() static now that its possible

commit efd874ae6a0ac17e269b1c5daed4f09939c94815
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 17:19:09 2009 +0300

    Make FD_t struct opaque, finally

commit e5be860abb675dff7f5488073f8f836cb5c908c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 17:14:38 2009 +0300

    Eliminate last remaining FD_t struct privacy violation
    - add getter for fd digest bundle, uninline the setter

commit bdfb54bd238ab2d09175d2b921435b7a059ac25c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 17:03:14 2009 +0300

    Remove cpio stuff from FD_t
    - only the FSM cares about cpio position, move it there - there's only
      ever one fd active inside FSM, no need to track it per-fd

commit 1ff10e3d68417ebdeac329c79299187710afb697
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 16:15:05 2009 +0300

    Move debug goo defs to rpmio.c

commit 63432905a413d33085061674e00d6c23c60056e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 16:10:08 2009 +0300

    Move pile of helpers from rpmio_internal.h to rpmio.c, remove unused stuff
    - nothing outside rpmio.c needs these, make 'em static there
    - uninlining reveals quite a few completely unused helpers...

commit f2e55c2ff8f6fba0cba61251027fe899ac2fdd1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 16:02:00 2009 +0300

    Move fd statistics foo inside rpmio.c now that it can

commit fa0337c9b64d69b3a4e50d810ec63c7798cad6c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 15:59:39 2009 +0300

    Move fdDigest*() to rpmio.c where they better belong

commit c716382ee899759b522b1b63e8a2acde9ca33f65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 15:12:43 2009 +0300

    Remove pointless inlining of stuff in rpmio

commit 7ebe3cffc5666ffc2e04ae4722e8eaa64c0d6769
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 14:45:54 2009 +0300

    Use common "not implemented" implementation of Fseek()

commit aac3cb417cfd802748437b7e6e8b4b2182bc41a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 14 14:14:51 2009 +0300

    Add first rough-cut python bindings for rpmio fd
    - attempt to mimic python file object where possible, but nowhere near
      all methods are supported, either just not yet done or due to
      underlying limitations

commit 181a3ac6a5b2d2017482da6327e0fc7a84e41c5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 15:15:39 2009 +0300

    Raise exception in the converter, not caller

commit 597973befe1587decf9e1a069653b87e05be1a01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 15:05:50 2009 +0300

    Permit changing rpm.td tag from python

commit c6649c55a89a9a6803c1640961de6c2412e9eeb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 14:43:44 2009 +0300

    Add limited support for modifying headers to python
    - for now we only support tag deletion and assigning rpmtd objects, limiting
      this to copying data from other headers

commit bc716457e042e12f4e90efdabafe2cd69d3bff52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 13:49:50 2009 +0300

    Fix format extension memleak on empty strings

commit 3ec070c5d8c16a593ab2573f0f63d58a748ba2c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 11:03:14 2009 +0300

    Output dependency type on --requires etc queries if verbose (RhBug:528342)

commit df61816c7588bd00f5d6bfdb99f7539eec8bd62b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 11:02:56 2009 +0300

    Add RPMTAG_VERBOSE extension
    - hack to permit different query formatting based on rpm's verbosity level

commit bb47ec2695c4c2bf16b8995c53d5f92bc51cf3e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 12 10:48:59 2009 +0300

    Permit conditional query formats on not yet cached data too

commit 856df71e8dc24219ec01619d2089a06e9ae36dfc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 10 12:36:38 2009 +0300

    Oops, configuring wrong ts in rpm.ts() initialization

commit ac3d091577096a75814419e057b5c7823d0d6eab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 15:44:06 2009 +0300

    Move further initialization from python ts tp_new to tp_init
    - lose the unnecessary rpmts_Wrap(), it's not needed and just gets
      in the way of things

commit dc6946e72eb69e67d1e00f741f5ba595fa740a18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 11:57:46 2009 +0300

    Revert explicit PyErr_NoMemory() returns to just returning NULL
    - tp_alloc failing is likely to be OOM but we dont know that for a fact,
      and the failing method is responsible for setting the exception

commit 4e5132e443a9f062bfad83f531b43a9d5d6df1da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 11:44:41 2009 +0300

    Handle NULL in ts get/setKeyring as python None

commit cbad134dd453a24d3e0e55ad81dff0e0baa2f7e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 09:35:42 2009 +0300

    Kill off _rpmb.error exception type
    - import of _rpmb messes up rpm.error to point to _rpmb.error which we
      do not want
    - use ValueError for unparsable spec for now, need to figure something
      saner there still

commit 121ea41e33d19e415302c66e842a228212d80c22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 09:30:37 2009 +0300

    Permit setting and getting ts keyring from python

commit 62888020f4ce618c447115e4b52015e4f7402f30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 09:02:19 2009 +0300

    Add bindings for rpm keyring and pubkey types

commit 4c8afeef14708b3c25ebd8606d90991faff0c2c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 9 08:48:13 2009 +0300

    Add an interface to parse armored OpenPGP from memory
    - refactor the decoding part out of pgpReadPkts() to separate helper,
      and add pgpParsePkts() around that

commit 0a2f3e12d25f0f71496cd2888b91b3399e23ca64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 7 12:09:00 2009 +0300

    Support passing extra options to dep generator scripts

commit 468d5ab6cc1bd83bdef08d34e34d0cafc0c1d33b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 6 15:05:06 2009 +0300

    Lose unused python/perl/java stringbuffers from rpmfc

commit 733032dd1a682789ade39cfc0ef630d5bc83f09b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 6 13:22:22 2009 +0300

    Bah, get the new ocaml-scripts into tarballs too
    - should've been in commit 82e7dd702013d3679fda438333de30afdec17a4f

commit 35b20e13aec01252c952b3fd79665b916f5d0430
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 6 13:13:23 2009 +0300

    Python namespace import fiddling
    - import rpm instead of _rpm for exception name compatibility
    - import the lowlevel transaction class as _rpmts, makes it slightly
      easier to see which is which

commit 15fb8ccb41ce4cc02c78508b936fb74f7165683c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 6 12:34:44 2009 +0300

    Teach the internal dep generator about OCaml
    - OCaml seems to have fairly well detectable magic in its files, nice
    - Dont call the regular find-requires from the scripts now that internal
      is working

commit 82e7dd702013d3679fda438333de30afdec17a4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 6 12:29:37 2009 +0300

    Add OCaml dependency generator scripts (Richard W.M. Jones)

commit 1c83af6e10302346a765e484d38cdac3ff619436
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Aug 4 00:48:32 2009 +0300

    Deprecate %__lzma, use %__xz in it.

commit 1892984f0216340f08e928d2bb74202cd8e87cbd
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Aug 3 21:08:55 2009 +0300

    Decompress lzma files with xz.

commit dab575b24498e2362845e7da6dc76015fa88b4a9
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Sep 22 21:11:20 2009 +0300

    Improve perl.req here-doc skipping.
    
    This version is stricter in finding the end identifier by using equality test
    instead of a regex (as a side effect, fixes rhbz#524929) as well as parsing
    quoted identifiers, and adds support for identifiers in backticks.

commit 562382ab180e2a4483485d165807f9de20fa5a1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 18:23:55 2009 +0300

    Delete ancient and defunc python test programs

commit 55e6a4b905c1cf680a1235085e268b04e1b5405a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 17:23:34 2009 +0300

    Dont leak memory from rpm.fi() methods
    - Py_BuildValue() always copies the data mallocing here is just wrong

commit 3d1169fe698910fc62dd1893c861963dedea2945
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 16:42:52 2009 +0300

    Handle all rpmds variants in its constructor
    - either it takes a header + tag, or (name, flags, version) tuple + tag
      to generate a single dep
    - push rpm.dsSingle() compatibility out to python side
    - hdr.dsFromHeader() and hdr.dsOfHeader() no longer need to be in rpmds-py.c

commit 0cddef5a4a2b279d0da39c765312cc2deaa7de07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 15:38:45 2009 +0300

    rpmdb open failing is certainly an rpm error, not TypeError

commit e3a1720f4e1f5ae972a8f56275113adca179c80e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 15:36:54 2009 +0300

    Dead code removal

commit a9958395c7000c73fe9275046f50f6b276642d48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 15:25:59 2009 +0300

    Permit threads during rpmReadPackageFile()

commit af00066294bb180b609d6f612237c14ad48f0dec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 15:22:12 2009 +0300

    Type mismatch is TypeError, not rpm.error

commit 564f1cb02b841f0b0b1c2b7fcafbb9a080233a46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 15:19:01 2009 +0300

    Push hdrFromFdno() error code handling over to python side
    - return (rpmrc, header) tuple from C to let python do whatever it
      wishes with the information
    - let python side worry about generating backwards compatible returns

commit 60ec5008bd6bc5f9cec43f64dd8129045080fa41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 14:55:37 2009 +0300

    Push hdrCheck() error code handling over to python side
    - return (rpmrc, message) tuple from C to let python do whatever it
      wishes with the information
    - let python side worry about generating backwards compatible returns

commit 0503d7f92e94a7986715756da5226fc18a1fba10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 14:30:27 2009 +0300

    Teach python about the lowlevel RPMRC codes

commit fab2debfe440d677dbd072c3cd73d2c99876e7a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 14:25:43 2009 +0300

    Push ts.check() return tuple-o-doom generation over to python side

commit 776f5b56ca51c7c5495f84d5823e5e646206e5d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 14:08:48 2009 +0300

    Teach python about RPMSENSE_ANY

commit 4e647fd7805e85374626dd8f439f3b059ea22409
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 13:12:05 2009 +0300

    Enable retrieving problem key from python too

commit 66589df18f7a54f724df5e859334418d9496e5ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 12:16:26 2009 +0300

    Push transaction problem filter to python side
    - make C-level ts.run() require ignoreSet just like the real one does
      and keep the value on python side of things

commit 44ee4e164e340c0d4e4725cc57811ce637deaef3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 12:09:26 2009 +0300

    Push the interpretation of ts.run() result code to python side
    - at least this lets sub-typers override the hysterical return values

commit a15bfa40adc826dfa91f9bdc24b3e680cd8aecb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 11:09:05 2009 +0300

    Add minimal python wrapping for rpmProblem objects
    - for now, only expose the basic attributes and return problem string
      representation on %s
    - return problem objects on rpmps iteration

commit 5b289d4491738eaa4f106eb69c70680406d63aa0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 5 09:26:43 2009 +0300

    Ugh, forgot to add the new _rpmb module to git
    - should've been in commit 8169bbde6934637ed7be58e18103330c1d5e4546

commit 9b20c706a4f93266450fae2f94007343b2e8fd9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 22:48:03 2009 +0300

    Push most work of ts.addErase() over to python
    - minimize the stuff done in C: rpmtsAddEraseElement() only cares about
      header, so that's what we accept on C-level bindings
    - on python side, handle db recno's and labels like we've always done,
      additionally accept match iterators and plain headers too

commit ab04cfb08c5fbdf4e9803b2d63352fee0527937e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 22:15:51 2009 +0300

    Return error code from rpmtsAddEraseElement() failure
    - trying to remove non-installed header counts as an error

commit a9b77304c3ad187e8982fd67d1a6406c93ab9e40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 21:41:41 2009 +0300

    Permit file objects and file names to ts.addInstall()
    - largely removes the need for the klunky ts.hdrFromFdno()

commit 92d18d1d7139b37065ea742cfe0e8cee5e9c3500
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 21:18:27 2009 +0300

    Push most work of ts.addInstall() over to python
    - minimize the stuff done in C: require all arguments in final format
      and report status back with a boolean, handle everything else including
      keylist refcounting hack over to python side

commit c7d62396bf3420a87ce0cd7c319d2566f9446ed3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 21:14:19 2009 +0300

    Oops, missing self in bunch of calls... been too long since writing Python ;)

commit 5ce5e8d75b1683fc4679037db833b55884ee1842
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 20:35:20 2009 +0300

    Push the rpmtsGetKeys() stuff over to python completely
    - trivially implemented in python by iterating over transaction element
      keys, we dont need no stinking extra librpm APIs for this

commit 07ad9dcf0a8eb98928178b774512bcad2bc6f169
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 19:19:31 2009 +0300

    Add rpmlog() wrapper to python bindings

commit bc39e17527920d47640ea35e42c961926e4e5125
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 18:55:16 2009 +0300

    Teach python about RPMDBI_LABEL

commit 8169bbde6934637ed7be58e18103330c1d5e4546
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 18:31:32 2009 +0300

    Split rpmbuild dependencies to separate _rpmb module
    - installers and the like dont need the pile of poo called librpmbuild for
      anything, avoid dragging it in needlessly
    - import _rpmb into rpm namespace if available but dont complain if
      its not there
    - arrange ts.parseSpec() compatibility on python side by dynamically
      importing _rpmb if possible

commit bc9b86ae5c14e093078506b533cede3c5f1f5ab9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 16:36:53 2009 +0300

    Move ts flag & color setting to python side

commit 305d634d27d8c480bc01250585d2a901e343851f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 2 16:18:59 2009 +0300

    Add a dummy python-level transaction set class, use it always
    - move the rpm.ts() vs rpm.TransactionSet() compatibility to python
    - this will enable doing only the lowest level stuff in C and rest
      in python

commit 1dffab5393fc8ed5cd81173be543db6b5c34785a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 15:25:01 2009 +0300

    Add python method for retrieving header "instance" (db recno) number

commit 9c88ea2c87b5d22026400fb19f064b7967aa4743
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 15:12:06 2009 +0300

    Deprecation tweaks
    - use PyErr_WarnEx() for better control and leave the tracking up to python
    - use PendingDeprecationWarning for now
    - document the replacing functionality in the deprecation messages
    - make hdr.sprintf() just an alias to hdr.format() without deprecating,
      at least for now it'd be only a gratuitous incompatible change on python side

commit 8b704a6bf8ae2c5a922b54ff35c65525e93f0f1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 14:55:55 2009 +0300

    Oops, these are mappings, not dicts...

commit 29eb2f35047363353c851e3f8920123ce0a42217
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 14:27:42 2009 +0300

    Generalize python ts flags and colors set/get foo
    - make flags, vsflags, color, prefcolor (previously not available)
      and probFilter appear as internal attributes of ts objects, each
      with their own setter/getter methods
    - make the old custom set/get methods access the internal attributes instead
    - keeping them "internal only" leaves room for adding further sanity
      checking and nicer interface on python side while giving direct access
      bits for those who want it
    - not deprecating the old get/set methods at least yet...

commit f819760dc37047d464afff8a91c746114c183a2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 14:06:41 2009 +0300

    Fix couple of recently introduced compiler warnings

commit b0d374528a367779e158a68a7b6a58ad929b85aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 13:21:44 2009 +0300

    Include structmembers.h centrally from rpmsystem-py.h
    - pretty much everything might need this...

commit 66c469759c497b72f24ebb6a69ca9a6333d1d600
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 11:37:45 2009 +0300

    Add API for setting preferred transaction file color
    - not strictly needed as it gets its default from a macro but .. shrug

commit 16e35ece9c28cfd0257102b1e1ca69746e2b4b6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 11:21:58 2009 +0300

    Make python ts rootDir appear as a read-only attribute
    - there's no need to change the rootdir after object creation, better
      not permit at all

commit 24135b8443d01af4ff0c23ec11794787b0feb673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 11:17:38 2009 +0300

    Add python getter for transaction id

commit eb419a86ac70aef55b8af3b964b62ada82944582
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 1 10:59:53 2009 +0300

    Eliminate python ts scriptFd kludgery
    - make the scriptFd appear as regular attribute by providing a setter
      method for it, permit any file object to be used and allow disabling too
    - readonly for now as we dont have rpmfd wrapped yet
    - remove now unnecessary custom get/setattr functions

commit 909982b1b5d2bccbf28ecfb38064ab86e09d4523
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 16:45:46 2009 +0300

    Deprecate custom foo.count() methods, support len() instead

commit 8cb920eb32f36297e2154b7ebcc25851d9a7b39d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 16:10:24 2009 +0300

    Eliminate unused python ts iterator filter stuff
    - iterators dont take arguments so there's no convenient way to filter
      while iterating, let python users filter themselves (like they've
      always been doing)

commit b8d3b273cbcc7a4130d6786ff157a87a4f383c30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 15:04:39 2009 +0300

    Take advantage of headerNextTag() in python hdr.keys()
    - avoids whole lotta unnecessary copying of data, we're only interested
      in tag numbers here
    - dont filter out stuff - python consumers can look at i18n data too

commit 32b0bba8a2fb5e534bddc9c02ff170726457bdcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 14:51:33 2009 +0300

    Add iterator support to python header objects

commit 3d5455d42d48740ff23899f00a903f49b73eff00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 14:48:19 2009 +0300

    Add alternative header iterator method
    - we dont always want the actual contents of the tag to be copied
      on iteration, so add an interface that returns the next tag in the
      header
    - this lets callers to decide what to do with the tag and how to
      retrieve it

commit d59e715c1b8e28206bfed45b6f4cf3c00322f95c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 13:05:24 2009 +0300

    Add some flags to rpmtd creation
    - permit disabling extension retrieval and "raw" (untranslated i18n) tags
    - always use HEADERGET_ALLOC for data availability sanity

commit 1ddee37628b8aac48a8f1fc51af4575b5570589b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 12:45:07 2009 +0300

    Add beginnings of rpmtd wrappings to python
    - unlike other types, store the C-level td structure directly in the
      python object, this lets us selectively expose some members directly,
      avoids having to deal with rpmtd allocation separately and as leaves
      the reference counting to python as rpmtd's aren't refcounted on C-level

commit b53f5995969554211dde0b235c648f8d2e1cb0a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 12:11:43 2009 +0300

    Turn hdrGetHeader() into argument parsing converter interface

commit 945bbf49f52c50b53f0d407e91ec46febd56d948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 30 10:33:52 2009 +0300

    Sanitize getattr behavior of header objects
    - when generic getattr fails, only try retrieving header tag as attribute
      if it's a valid tag
    - clear any python errors if generic getattr failed
    - split generating a python object from header + tag to an internal helper

commit 600ccbe9d43e5857eb9b9925975f63d0e40286d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 18:22:14 2009 +0300

    Require expected type in PyArg_ParseTupleAndKeywords() already

commit ac3f9f729b9a3b938d3344278c7e0564934f3871
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 17:23:28 2009 +0300

    Support numeric expansion in rpm.expandMacro()

commit f74def684253964fa03edb55f155dfbb5122b1bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 16:37:14 2009 +0300

    Push rpm.signalsCaught() to python level
    - only implement the bare minimum in C by adding a thin wrapper for
      rpmsqIsCaught(), the rest can easily be done in python

commit dca55d3781401eb0ddce2759770054db7629083a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 16:19:22 2009 +0300

    Implement rpm.readHeaderFromFD() in python instead of C

commit 07710f3033b277ccb46decd84f994e88d5e6869a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 16:07:09 2009 +0300

    Implement rpm.readHeaderListFromFD() in python instead of C

commit f0e9245660100d3ce41692889899844f42feb7a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 14:50:33 2009 +0300

    Implement rpmreadHeaderListFromFile() in python instead of C

commit 90042df3428414bf5f68cb6db7aed208d6455b96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 13:48:19 2009 +0300

    A few cases of Py_RETURN_NONE missed on the first round

commit 65a6afbbdaf1fc81304c66ffb1b024d63c4bbb5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 13:30:28 2009 +0300

    Arrange rpm.headerLoad() compatibility on python level

commit a22fda5b5add3b96ac68a39ab8a6c88b72285098
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 28 11:09:32 2009 +0300

    OSGi dependency generator fixes from Alphonse Van Assche (ticket #101)
    - This patch fix some minor bug, remove unused code and increase drastically
      the perf by threading execution of tasks and using zip command instead of
      jar to get meta-data

commit 2507ab6797926e9482ad5311697699f0a55f50e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 13:57:55 2009 +0300

    Enable subtyping on the rest of our type-objects
    - not very useful atm as various places return hard-wired built-in types

commit df40d9b27b1dc8bd82f8f1c8a17d357df3fae330
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 13:40:44 2009 +0300

    Eliminate all custom tp_free() type methods
    - tp_free()'s purpose is only to free up the memory used by the python
      object structure, cleaning up our own allocations belongs to tp_dealloc()

commit d5f5156bd09338eceba7eeb6c5122ecc58afb0a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 13:19:20 2009 +0300

    Enable subtyping on rpm.ts class

commit 374358d219b5fc35b43f929cb285c3d3d473ac89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 13:05:36 2009 +0300

    Call generic python setattr if not scriptFd
    - yet more preliminaries for subtyping

commit 27bb9c9402f38dd802d61a5945f6b019c8b8ed78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 13:04:34 2009 +0300

    tp_setattro() is supposed to return -1 on errors

commit 74c1040dbc4b4977045745f924ea0774c2e3ee53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 12:52:32 2009 +0300

    Call (sub)type tp_free from destructors
    - more preliminaries for subtyping
    - remove pointless NULL checks

commit 36ada6c116e123f5b5b739e12f256201e5cc6fa1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 24 11:42:17 2009 +0300

    Make object allocation type agnostic
    - pass (sub)type down to wrappers
    - call subtype tp_alloc() instead of PyObject_New()
    - preliminaries for allowing subtyping

commit ab66c9ff47664fcfae6eea2146be65ccbff43195
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 17:44:07 2009 +0300

    Remove unnecessary header type checking
    - the type is already validated by PyArg_ParseTupleAndKeywords(),
      no need to doublecheck

commit 693838658d0a1c94bc9efa31de700e2a9898c88c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 14:41:30 2009 +0300

    Remove the broken tp_print method from spec

commit d55c5f6c3005858903eca1a5e98915f0c27cfb8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 14:21:13 2009 +0300

    Decouple python spec objects from transaction objects
    - ts structure is only necessary for hysterically passing back the
      parse result from parseSpec(), hide this in the bindings
    - deprecate ts.parseSpec() for later ripping

commit 86527f0d45c033347880907cf7680230ecb9ecb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 13:12:43 2009 +0300

    Oops, binary data can and should be presented as python strings

commit 76d8d16de0c96f2b3e66eafe9f03127e96ad5804
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 12:49:15 2009 +0300

    Add rpmtd to python object converter, change header code to use that
    - vastly simpler than the former goo in hdr_subscribe

commit 282efb6d4c23848b2443ffd767fd4bccda209425
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 12:28:47 2009 +0300

    Turn tagNumFromPyObject() into an object converter interface
    - permits direct validation and conversion from arg parsing

commit ac219c129d04952fbd205c536533723d582d1ad2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 12:05:02 2009 +0300

    Turn rpmFdFromPyObject() into an object converter interface
    - permits direct validation and conversion from arg parsing

commit e72a51d081b192cbc35af47f8281e939370f8b55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:51:55 2009 +0300

    Permit any file object in rpm.readHeaderListFromFD()

commit 0913ff321b5a2034596e00c463a4888f96c19aca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:42:59 2009 +0300

    Permit file objects in python header constructor

commit 1d2d0456890be9341f031d854a7feb69c87b2419
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:41:20 2009 +0300

    Add write() method to python headers

commit b997746271d764bebc86f207871e5e0e57e7b720
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:10:38 2009 +0300

    Accept any file object in ts.hdrFromFdno()

commit 79e87e5ea16ed7118536b12e267d93db74e15265
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 11:09:19 2009 +0300

    Add helper to convert python file objects to rpmio FD_t type

commit 6b9adb71f9715de3648673ae6ca4475a9e98d141
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:49:47 2009 +0300

    Add te.NEVRA() method, adjust docs

commit c29492242c97ebed80bdf561c4a15acf9d7939ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:44:41 2009 +0300

    Remove tp_print methods from all rpm-python objects
    - these violate the intended use of tp_print, python docs state
      "A type should never implement tp_print in a way that produces
      different output than tp_repr or tp_str would."

commit 6bbc19fb228465215b59cd2c902564d7665ce554
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:39:40 2009 +0300

    Lose the debug junk from python bindings

commit 2ede83b6598a3026c1f016a109220929f62b0829
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:31:46 2009 +0300

    Add hdr.format(), deprecate hdr.sprintf()
    - sprintf() is a C'ism and format() is closer to current librpm anyway

commit f0c3985a773706d8dc268d143120142acfbfa822
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:19:46 2009 +0300

    Make fiFromHeader() static inside header-py, deprecate

commit c21a1ea23db40bd136a859eb171a49ae51e25c64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 10:11:45 2009 +0300

    Deprecate rpm.headerLoad()
    - this is not needed now, just call rpm.hdr(<blob) to load

commit d38f0eb5422252c4750eac421f0fb8c7c8d43a16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 09:56:08 2009 +0300

    Deprecate header filelist munging methods
    - hdr.convert() is the generic way, the old stuff is not needed anymore
    - macro to issue warnings just once

commit 66c0d4ee6b96190426d310e6b0be4c7ce3d7fe42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 09:27:47 2009 +0300

    Eliminate unnecessary function

commit e16815fc7bc40198b60f677ff7d80a84cb5356a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 09:24:23 2009 +0300

    Permit headerConvert() from python

commit 42810ceae18d920f40f5193cf900f1c96bca7186
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 09:03:25 2009 +0300

    Add has_key() method to header object

commit cfc341170cdd5b324a3b90eb1b13620fd39298b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 08:51:12 2009 +0300

    Add support for creating new header objects
    - without arguments, rpm.hdr() creates an empty header
    - with another header as argument, make a copy
    - string argument is considered an unloaded header blob and copy-loaded

commit 848de2dfec3f545801574a6219df8f081d66c5e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 08:41:03 2009 +0300

    Rpm's allocators dont return on OOM, remove unnecessary check

commit 2a8da8606fc169aa9929e9a1550c8e29c466880b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 23 00:06:13 2009 +0300

    Add type checking macros for all rpm python type objects

commit 39d79f91420ba7d9527e04d00b4b0dc2d6cad9ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 23:02:47 2009 +0300

    Rename python system.h for disambiguation

commit 14d5aaedcb355a724ba8869a29c8e4a35efdcac1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 22:42:06 2009 +0300

    Lose the empty doxygen markers
    - nothing wrong with comments but empty comment placeholders
      are not exactly useful

commit 864220c441704e3d61fa521c682a23874b41e4ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 21:53:21 2009 +0300

    Put some consistency to python object creation
    - all type object creation goes through foo_Wrap() which handle OOM
      and all type specific initialization

commit ed557bbcf065905beebb42d50048cecf04c3e441
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 21:24:55 2009 +0300

    Make all python object creation wrappers return PyObject pointers
    - this way the only place where casts are needed are in the wrapper itself

commit 4d6f8e46e03ccb81a0f50848e974884b7874912d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 21:01:01 2009 +0300

    Dont leak memory on rpm.ds iteration

commit 0cb5de3fc090cae426b812ad3e38e2be8b7e63ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 20:50:41 2009 +0300

    Lose unnecessary next() methods
    - python adds next() methods for objects supporting iterators

commit 0793b2cf23667f515c1675e9dbe37e634c4cd730
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 20:20:07 2009 +0300

    All rpm-python iterators are self-iterators, just use PyObject_SelfIter

commit d7134660ca4300058e579bed990ab7cf7e14a40f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 19:55:34 2009 +0300

    Dont leak memory from rpm.dsSingle()

commit 07adc4e0d1aa23a4d3e3a21e8f01f615233793ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 19:44:59 2009 +0300

    Simplify fiFromHeader()
    - just call the fi object, no need to manually redo all this stuff

commit 708d4d8f1bd215d1dffce3f8d5680d2c967145b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 19:42:53 2009 +0300

    Simplify dsFromHeader()
    - just call the ds object, no need to manually redo all this stuff

commit da74188fa654246ec74e0375440f326e5dc714f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 19:19:02 2009 +0300

    Sanitize python object -> tag number exception handling
    - raise exception in tagNumFromPyObject(), not in 12 different callers
    - check against RPMTAG_NOT_FOUND consistently instead of -1 and whatnot
    - unknown tags are value, not key or type errors

commit 00d683ce88748080ce78d1e2d802a401b2d30261
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 18:55:09 2009 +0300

    Move allocations out of rpmps object init method
    - tp_init can be called several times, allocating from there leaks memory
    - tp_init gets called automatically on object creation, dont call manually
    - nothing to initialize for rpmps...

commit 4c85c7e605ee0312e51c8614d98c4740041ec4e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 18:53:15 2009 +0300

    Move allocations out of rpmds object init method
    - tp_init can be called several times, allocating from there leaks memory
    - tp_init gets called automatically on object creation, dont call manually

commit fdc62b3decfe6a798284fc8c76372092b3ee1f00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 18:50:32 2009 +0300

    Move allocations out of rpmfi object init method
    - tp_init can be called several times, allocating from there leaks memory
    - tp_init gets called automatically on object creation, dont call manually

commit 337cb1bfea878931bf4bc410edeaec58a857b013
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 18:22:50 2009 +0300

    Remove useless rpmts python initialization

commit e2ba570ad793dcbfdf8a80b520a54995aa56195d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 18:17:49 2009 +0300

    Realize the remaining bits of direct rpmdb interface are dead too
    - the code hasn't been enabled in a long long time despite being built...

commit 96a1b0a6816f3df9b4ff5290520b72b904182f36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 17:49:53 2009 +0300

    Use Py_RETURN_NONE macro for returning None everywhere

commit 43f585fced06e10d4fad8208697cc323857ef535
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 17:33:07 2009 +0300

    Eliminate unnecessary custom object allocation functions
    - these are just calling python defaults, no point at all...

commit ca6591e86c201e54ae8ee876f12d5c0f0c835236
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 17:27:44 2009 +0300

    Use generic python get/set attribute functions directly where appropriate
    - no point in wrapping all this stuff in our own functions

commit 711ab9bab1596dc61825ec8c71d6bcd1f9a1917f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 17:12:22 2009 +0300

    Python initialization spring clean
    - split rpmtag enum additions to seprate function
    - PyModule_AddIntConstant() does exactly what we need for the rest

commit ae1fd3fa479bfafcc65b9ea532cafb401ed9a031
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:47:07 2009 +0300

    Make the python object structures opaque

commit 2b06ca079c90960242dfe173e0e8c2fbc39d7689
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:39:39 2009 +0300

    Lose the utterly broken rpmio FD_t wrappers

commit ae6ea9789ff395e2343d7c7a9eae551a64a74db5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:36:48 2009 +0300

    Lose the useless python debug stuff

commit ae1e7d83898e3c14138260ac9a8b53737da83c84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:28:58 2009 +0300

    We dont support ancient python versions...

commit dd5cfeec61eeddedc842aa11d7ba2376c0e9411e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:24:32 2009 +0300

    Kick out mummified rpmdb python interface remnants

commit 5db17ad1ba05d03d7d543b064ee8ebf21fe9118c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 16:02:39 2009 +0300

    Missing <string.h> include

commit 6f7120694bc7f3a1c56d4639ad345aaa024ba598
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 15:36:11 2009 +0300

    Clean up + fix bad recno erasure in python ts.addErase()
    - now that we can loop over RPMDBI_PACKAGES matches, the code can
      be simplified quite a bit
    - walk through the iterator always to get a reliable installed status,
      previously ts.addErase() with bad record number wouldn't raise exception

commit e95921e29bdaa15094499d9191cd6fbfd0b7e63a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 14:53:56 2009 +0300

    Remove no longer necessary RPMDBI_PACKAGES special casing

commit 21d527f6c7111c067fc88a6ef76d201c7a653936
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 14:52:57 2009 +0300

    Fix endless loop on RPMDBI_PACKAGES iteration when offset specified

commit eae127b7d835a2cdccd0abad75141efd8cb3a2bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 12:32:02 2009 +0300

    Unbreak --tid and --querybynumber
    - broken ages ago somewhere between 4.4.x and 4.6.x by typing changes
      presumably
    - C99 strtoul() can figure the base on its own, remove unnecessary work

commit a90f65f38b17b7ba993d9d4b7d1677ce0fd4417a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 10:21:47 2009 +0300

    DB_INCOMPLETE was removed in BDB 4.1 and we dont support older versions

commit dff73774ca68b1ab79534547fc744c510da8f0e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 22 09:26:39 2009 +0300

    Remove ancient, unused code to filter duplicates on rpmdb rebuild
    - enabling this as-is would be murderous to multilib systems
    - getting duplicates in the db would be a bug elsewhere

commit 6bc5d87007bfe2ecfe6738f0575b3646a71361fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 14:36:59 2009 +0300

    Rip out dependency caching
    - it doesn't speed up things that much, is broken in some chroot
      scenarios and is ugly ugly hardwired BDB hackery where it doesn't belong

commit 880f4cd41f8182c1c39f6678f79266932cccf082
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 14:04:34 2009 +0300

    Move rpmdb home creation from backends to one level higher
    - this is a common operation for any backends, avoid duplication
    - only try to create it once instead of every index open, and if it
      doesn't exist and cant be created, error out instead of trying to continue
      in vain

commit d3c75ad8eef518f413fb27184f9d81799a823e9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 14:00:46 2009 +0300

    Add an internal API for getting rpmdb home wrt chroot state, use it

commit af136766a85ca003fbe8332e6ec9c63eeb4d8cd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 11:59:25 2009 +0300

    Remove pointless per-index api version

commit bdea28b94511af2dee0e30635062024690e23f0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 11:36:16 2009 +0300

    DB config stuff not needed outside dbconfig.c, make them static
    - additionally make the popt struct const since it can...

commit 81714312e70835c2136372d40813bd4c8423d3e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 11:32:43 2009 +0300

    BDB is not optional at least currently, remove useless ifdefs

commit a232a259845adc620a187c54fb49ec91a3493e97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 11:29:27 2009 +0300

    Remove useless no-op "teardown" and "usecursors" config bits

commit baa1cf0e1bdb7260be1cb41dc5e6c3bad180a34e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 11:00:50 2009 +0300

    Remove BDB RPC "support"
    - it's insecure, used by nobody (its been rather broken for a long
      time) and all, but BDB 4.8.x removed RPC support from upstream so we
      cant very well support in the future even if we wanted to

commit 510c6763ef745b308abd1cc6cec2a62119e87c9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 21 10:29:38 2009 +0300

    Remove XA "support" from the backend
    - it's removed from BDB 4.8.x and this has hardly ever done anything anyway

commit a819de43ce019bc3dd305799d12c1169294c93a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 13:53:46 2009 +0300

    Remove unused db/dbenv methods "documentary" from the source

commit 4c12b61b34ad8da1927c25805277e8e2f90c1b80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 13:05:49 2009 +0300

    Use db3Free() for on sqlite backend close too

commit 37390dffe42360f5f34ef86bd7296d029c16adb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 13:13:59 2009 +0300

    Always populate dbi->dbi_file on db3New()
    - Only the actual db->open() wants NULL for temporary databases, everywhere
      else we want the tag name. Handle the temporary case where it counts
      instead of complicating things everywhere for the one special case.

commit b3ed4ec1b1943ffc74a5877cc6f8cb85c37da885
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 11:56:05 2009 +0300

    Mop up leftover root/home foobar

commit 26e36775157a53ee68eff33b4863bb0e8f60f5c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 11:51:21 2009 +0300

    Per-dbi root and home dont make sense, always use rpmdb paths

commit f3cab403d4b3a4351037e6eab3832e92b02ae8fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 18 09:49:28 2009 +0300

    Sigh.. when not using environment, absolute paths are required

commit c01766b3f60802f9d4b1aa56151f633323377915
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 17 16:28:09 2009 +0300

    Always open database files relative to database home
    - This allows the db to move freely wherever (such as across chroots,
      RhBug:507309 and pile of related issues) .. and is even recommended
      by BDB documentation. Well duh.

commit b3dcc48824c6ddefdfe784148f3a5da0bd60ed90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 17 12:51:28 2009 +0300

    EXIT_FAILURE being defined is already handled in system.h

commit b805731ce3d3cb9d79c224d936c41a10861baed5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 17 12:40:29 2009 +0300

    Compare pointers against NULL, not 0

commit 28919a1677f6f0e2741d9554c4bd30eb98825fb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 17 12:25:31 2009 +0300

    Have BDB use our allocation routines now that we can
    - rfree() prototype doesn't match free() but it doesn't matter in this
      case as it's just a convencience wrapper with no extra functionality
      and setting NULL is ok according to BDB docs
    - db->set_alloc() can't be used if environment is used, fix the condition

commit 5722f2d65cc4f1a1204f71edef311ce30cadda5c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 17 11:36:10 2009 +0300

    Add runtime settable custom memory allocation failure callback routine
    - lets API users perform theirn own cleanup / exit through their own
      routines in case of allocation failure, or even try to free up
      some memory and retry allocation

commit 14925811396c7f006b9b305cdce297366c648295
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 17:28:22 2009 +0300

    Always use build + use our own allocator functions
    - Consistent across platforms and will allow some things macros dont and
      memory checkers these days are smart enough to get decent output anyway
    - Minimal namespacing with r-prefix, add compatibility macros to system.h
      for now so we dont have to change the entire codebase for this
    - Also make rpmutil.h where the declarations and gcc __attribute__ macros
      are available everywhere

commit 3ef73d4d9df6666e5fa3ad772cb4c177f0fd3440
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 16:18:06 2009 +0300

    Eliminate unnecessary variable

commit 23dd010c57a3e25938a60984186fc3b2d1fc15ea
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Sep 16 14:59:48 2009 +0200

    Remove unused local variable

commit f3d2c4a9f92ffc399cf8ed5bebdac1531081ffd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 15:36:44 2009 +0300

    Remove db environment on close on chrooted operations
    - As we open the db from outside the chroot, the environment ends up
      containing paths that are not valid once we enter the chroot causing
      dumb issues like RhBug:513699 and RhBug:507309.
    - We'd be better off removing the environment always after access but
      limiting to chroots for now as the rpmdb open/close path is full of races
      when environment is not present. Chroots are somewhat special environemnts
      anyway and typically not concurrently accessed so it's less of an issue
      there.
    - While this still has all sorts of issues, it at least leaves the rpmdb
      in chroot in a functional state after initial install.

commit c339c3614484642b178716b0ccca88bb6ad3c20c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 15:12:28 2009 +0300

    Move the default transaction lock out of BDB environment namespace
    - We dont want the transaction lock to get mixed with the BDB environment,
      nor do we want it wiped out with it as the ts lock protects things
      *around* the environment. Unlike the environment, any fcntl locks on
      the file get released when process dies, so if there is a lock,
      there's a process alive holding it and you'd better not remove it.
    - Use the same lock path in macro configuration and built-in fallback
    - Make it a hidden file to avoid people confusing lock file existence
      with it actually being locked

commit 8b9d37302588d07e1a66f66c9b5dc84625aae061
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 14:08:28 2009 +0300

    There's a function to test string equivalence...

commit 6b11f58c764d2ec5edd13987bbb61d2a0c96c7ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 14:00:54 2009 +0300

    Throw out useless db statistics structs
    - besides being completely unused, these structs are defined by BDB
      public headers, no need to mirror them in rpm

commit ed8a4e20e55659593b2488df00143ff50c5829ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 13:57:01 2009 +0300

    Throw out pile of unused "stuff" from 2002

commit 4cfcdd661d398691163f27c0ad9744b33d2dfae9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 12:41:44 2009 +0300

    Minor cleanup to newRpmdb()
    - no need to free what hasn't been allocated yet

commit 90a0f752808d166e7d1640d60cd3a7d4cd26154e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 12:27:12 2009 +0300

    One complicated way to write xstrdup() .. pff
    - sqlite backend uses dbi subfile for table name, leave it alone although
      it is the same as the file name...
    - allocate + free both file and table name separately

commit 961ced7a611000b8a3d522ddc92c6230b4367e1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 12:08:58 2009 +0300

    Eliminate long since unused db subfile from bdb code

commit 2bfa9ca1470d6616a4fe282a18ae0be7be097854
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 16 11:56:12 2009 +0300

    Remove unnecessary arguments to db init and fini
    - bdb environments are per db_home, not per file so dbfile etc dont make
      sense here

commit cc1a7acef9aef29218f1671760be0ac06499268b
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Sep 14 16:19:33 2009 +0200

    Also skip to be erased files in "netsharedpath"
    fixes rhbz#494640

commit 63d37be6b4a854b9cbbd47306c5c383a2ad356c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 15 12:57:51 2009 +0300

    Initialize rpm earlier in rpm2cpio (RhBug:523260)
    - url retrieval requires macros to be loaded

commit eeceb428951fd33b9bedbd4adba9f08e46a47dcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 15 11:05:27 2009 +0300

    Take non-gi errors into account too (SuseBug:527191)
    - patch from OpenSUSE / Michael Schroeder

commit 4018bbd08e84fd0cc227dcb8d2dc20693ce2296a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 15 10:56:58 2009 +0300

    Allow absolute paths in file lists again (SuseBug:535594, RhBug:521760)
    - patch from OpenSUSE / Michael Schroeder
    - build-time generated file lists should be placed in the build directory,
      but at least one valid use case for this is things like %files -f %{SOURCE10}

commit b69c5cf90d74738214fa46c94f223ac9800487de
Author: Roland McGrath <roland@redhat.com>
Date:   Wed Sep 9 11:07:10 2009 -0700

    find-debuginfo.sh: use permissions 444 for all .debug files
    
    Signed-off-by: Roland McGrath <roland@redhat.com>

commit d846e6b0f829791e6ffce4fd496c9378bff19c43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 15 08:45:14 2009 +0300

    Don't add dependency type into file requires and provides (RhBug:523282)
    - unintended change in commit 3d8656f040d2c780c88d0cd63594898f0605a6fa

commit 7cd005ce7f5357e4905c920f0ddb576f055dae82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 14 13:23:34 2009 +0300

    Clean up rpmalAllFileSatisfiesDepend() a bit
    - avoid multiple strrchr() calls
    - avoid _constfree(), the string size is known from strrchr() so we dont
      need to allocate on heap at all

commit cb2bd766ded51790353ae667aedbfeee0e9494f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 14 09:48:49 2009 +0300

    Single point of exit for doSetupMacro() to clean up freeing allocations

commit 154462928eb6c391e2505ce7bc7354b1eb215f3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 17:16:12 2009 +0300

    Oops, accessing the wrong header in processBinaryFiles()
    - dumb mistakes from commit 4177fdffd6e7414123062e8716afb22596608531

commit cdb2cd545b7ba35fb641f165f2d1269d40fad690
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 15:03:13 2009 +0300

    Rip the broken asynchronous psm machinery
    - it was only "used" for the ldconfig optimization and actually been
      completely broken since the ordering rewrite

commit 0b2858d13e0af704c7ace8b95751cc2dd60acd7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 15:02:36 2009 +0300

    Rip the broken ldconfig optimization hack (RhBug:513224)
    - it doesn't optimize much and what's worse, it sometimes optimizes out
      calls that would've been necessary

commit 5327ac46e53205bf5f5adc83d2487e77d6e44851
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 14:14:49 2009 +0300

    Rip unnecessary headerDump() and the last ancient artifacts using it
    - xml format dump gives an output that can actually be further processed

commit ec8f057f64cc119ed57a1aad9dc72f56da313a07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 14:05:08 2009 +0300

    Rip unused and useless headerGetLangs()
    - nothing in the world uses it and the info is available through
      regular headerGet() anyway

commit c1fb691ef7c5a9550c38ec43da69df1cc94729b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 10 14:04:18 2009 +0300

    Rip unused and useless headerUsageCount()

commit 451bbb43a86cef57c7eb5a357ab817e9a44e6f74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 14:19:20 2009 +0300

    Eliminate unused goo from findEntry()

commit fc976d13b8ba5ee3cd44c5d32804c5a1c492494b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 12:17:10 2009 +0300

    Handle NULL header in doHeaderUnload()
    - avoids having to separately check elsewhere and avoids segfaulting
      on headerUnload() and headerReload() on NULL headers

commit cec00141387db0435a9d60912b7bd3482596eb7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:52:47 2009 +0300

    Eliminate pointless increment

commit 1bc60ab06ed761182c8c530c0e44bc46cf403f61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:47:59 2009 +0300

    Eliminate yet more unused calculations from header code...

commit 43dfc9e8d01ad840a0420bcbf037244dfd300caa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:42:18 2009 +0300

    Eliminate unused pad calculations from header code

commit 8dd2babb562aff4db947becdeeba3fd2fa1cca12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:38:28 2009 +0300

    Eliminate yet another unused variable in header code

commit 37f739c251055c87fbafead10b05fcba33145d7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:10:41 2009 +0300

    Eliminate last remaining leftovers from "8/98 bug" workaround
    - the ieprev calculations aren't used for anything, should've been in
      commit 4d0d54492c7d539cc806ca9e7fa59e919c28e45d really

commit 7e7c235b3438e0d147229eb14bce6f305f46bff1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 9 11:06:45 2009 +0300

    Eliminate unnecessary variable & related goo from regionSwab()

commit a2ba2b6ce0b1f924546619eb99ab60f758c07837
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 8 14:11:59 2009 +0300

    Initialize diff on declaration where it fits comfortably on one line

commit 5a13d2ed21da68b4d9f16c1266ab1250f646c9e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 8 14:10:34 2009 +0300

    Move variable to block local scope, not needed elsewhere

commit f3389c8794f99685eb9bd113b48dd844a93c57cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 8 14:07:52 2009 +0300

    Remove unnecessary assignment, diff is block local scope here

commit 1b617fd68b6250130bf8fb357df87a09c6691e59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 8 14:05:16 2009 +0300

    Reduce the number of exit points in parseFormat() to error and ok cases
    - avoid a dozen redundant freeFormat() calls and dont bother NULLing
      local variable at the end

commit 9f9ab48f719e9873f45e9c08d9f13030e98d057f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 18:41:32 2009 +0300

    Add -Wempty-body to default options if gcc supports it
    - ...to help protect against screwups like
      2ee45ef12aaa958b78c56b6d83bb18aa6a477d15

commit f634253b323933e0383ca9097a77fc0731ad766e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 17:50:43 2009 +0300

    Eliminate unused variable

commit c50851aa990aab57f9906d29555fb6443571a318
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 17:39:39 2009 +0300

    Eliminate unused variable

commit 0232226ab1a5be31a0fdb5e0cdeb65e2430404df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 17:10:12 2009 +0300

    Minor rpmfcGenerateDependsHelper() cleanups
    - initialize at declaration time, remove unnecessary variables etc

commit ec65f5e5f0a56b398878f5087685b71942db362a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 17:00:49 2009 +0300

    Move rl to the scope where its needed, dont bother assigning NULL

commit caa6dc91acd958928eeaf440ade7f01311bcf330
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 16:59:01 2009 +0300

    Single point of exit for doPatch() to clean up freeing

commit 23307f3823bc0457cabb19c4bf9bfac0cdde84e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 16:39:40 2009 +0300

    Eliminate bogus variable initialization
    - i isn't used outside the loop at the end, move it there...

commit ef0adf1da10146fe5ba166feeba11961478af819
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 16:34:20 2009 +0300

    Add noreturn annotations to javadeps

commit 6fb96f3847bed4c2aba52497eb26b0d2d52207f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 16:23:32 2009 +0300

    Help compilers/analyzers a bit with luaL_error()
    - luaL_error() never returns but as other tools dont know this it
      raises false alarms

commit 475ba2111f5c3e0eb755a954785e09d3a35dfabf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 15:52:36 2009 +0300

    Add noreturn annotations to argerror() helper functions

commit 59f791f591059ba44dcbbfe50fa20390e8565781
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 15:07:12 2009 +0300

    Add noreturn annotation to die() .. which itself should die

commit 2bdd1a5f5c4b23612a7d87992597b1cd39db86c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 15:04:01 2009 +0300

    Avoid theoretical NULL pointer dereference
    - if sbp ends up not set it's an "internal error" really, dont bother
      with error message

commit d510dfa538ed04b27bd3dc2fa75596f15bd4bee7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 14:54:45 2009 +0300

    Avoid couple of (theoretical) NULL pointer dereferences

commit 2b6b06eac19409c5835e8498121edbe38f66a7e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 14:42:04 2009 +0300

    Remove bogus non-null check
    - rpmdsInit() only returns NULL if passed NULL, which can't happen
      as ods is already verified to be non-NULL

commit e3d00e0b26c0d04f7b00be58effc36300485a88b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 14:15:56 2009 +0300

    Ugh, erroneously introduced ; busting the conditional
    - broken long time ago in commit 2ee45ef12aaa958b78c56b6d83bb18aa6a477d15

commit 429132522cbf52d4a062227eecc388854e253b94
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 14:03:47 2009 +0300

    Avoid potentially calling a NULL function pointer

commit 712ee07e6155d12736989876eb8078355065b522
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 13:19:23 2009 +0300

    Eliminate unused calculations

commit e16325d503cc7ba50f11fdebd77f9bae3bff0c8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 13:17:47 2009 +0300

    Eliminate unused variable

commit bd1507497a2601b9a054da567d7c4c82cf39008c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 12:23:21 2009 +0300

    Eliminate bunch of unused variables

commit 95d9c3c21e4d84cbd98a195f5ab7579e32e58d74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 12:17:07 2009 +0300

    Eliminate unused variable and pointless null-check

commit 54df179b10d4277a182f016f2c3faa8572209362
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 12:05:10 2009 +0300

    Fix dumb some dumb leaks in python spec code

commit 25d5968063683cb4f1059b23a83561e8dd399f9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 11:49:25 2009 +0300

    Eliminate unused counter variable

commit ba3a270fb5f830b75031652018cc7b4ffe26ed38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 11:44:44 2009 +0300

    Remove unused initialization

commit 90c60cc5bbf928824ab3a26b172e9432b8c93ef9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 11:42:28 2009 +0300

    Remove redundant reinitialization, cleanup

commit c51a167cb758aa378e27a9065b1641f758b11cac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 7 11:16:16 2009 +0300

    Add RPM_GNUC_NONNULL macro for portable use of gcc nonnull attribute
    - gcc itself can only warn on literal NULL's passed where nonnull is
      expected but static analyzers can make better use of the info

commit d8cffcff15cb74d4b2db124711a16afdfc079500
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 4 13:38:58 2009 +0300

    Fix memleak in headerGetDumber() .. err .. Number()

commit eabfd39c3b2fa3813d30bd9f1ba716c1fc88854f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 3 07:57:34 2009 +0200

    Handle .desktop files with spaces in filename (rhbz#520920)
    - thanks to Edward Sheldrake

commit 936e2570195d076ba36aa2bb93f04f395033945d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 15:34:35 2009 +0300

    Use %{nvra} as default query format, much simpler...

commit a912ca599ce959dd15dc33378b1686dfc7c3aca8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 14:43:00 2009 +0300

    Fix dumb thinko from commit 4177fdffd6e7414123062e8716afb22596608531

commit 8c04f809e5763475ae3f778fe2a195a4417013dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 14:08:57 2009 +0300

    Take advantage of headerGetNumber() to get buildtime..

commit 80d61d995f26fc17a901526ba56a465d0b69b588
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:53:27 2009 +0300

    Further simplify rpmVersionCompare()
    - headerGetNumber() side-effect of returning zero on errors fits this
      job perfectly, simplifying things somewhat

commit 9c7e4c70b9aaced9119150f7d60a1be17e4320ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:47:02 2009 +0300

    Deprecate headerGetColor(), implement using headerGetNumber()

commit e6b01b8f70b6bda85e83a5d50321e4745bad2b36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:46:23 2009 +0300

    Eliminate headerGetColor() uses everywhere

commit 3661e1d525f71c78b4a866380a934759ad215237
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:57:54 2009 +0300

    Add header color tag extension, ie headerGetColor()
    - use common numeric tag generation helper for header color
      and dbinstance tags

commit 1bf0d80281f93bf84155cd9a1c741f5e3e6f8b37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:27:18 2009 +0300

    Add convenience function for retrieving numeric header data

commit b949efaec09a40d71ef889c09e96e4ff31209174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:24:59 2009 +0300

    Oops, dont leak memory on invalid types to headerGet[As]String()

commit 4149dfa7fedf79b28293a2b62400094de646d95d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:06:25 2009 +0300

    Take advantage of new header string getters

commit e725cbe155f09c01ad2bc1dda64911ed81db6538
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 13:00:59 2009 +0300

    Clean up rpmtsAddInstallElement() a bit
    - only bother retrieving os, arch and colors if actually needed
    - obsoletes are never colored, remove the related cruft

commit edc5d15db4037b981021f5fac92774b291b800a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:43:24 2009 +0300

    Take advantage of new header string getters

commit 1d1b852ac9d9c327c6705cea7a7eead937d02e92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:39:06 2009 +0300

    Take advantage of new header string getters

commit 5deb850f37fa4092bee51a48719a237d36842b95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:38:20 2009 +0300

    Take advantage of new header string getters

commit 02a4806b4783ea5665a3010aca0ae05b9cf48024
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:34:21 2009 +0300

    Simplify rpmpsmStage() and srpm install a bit with the new getters

commit e5c02700ae97315da52b08f50c1ba5f51a7d82c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:24:01 2009 +0300

    Simplify rpmVersionCompare() a bit

commit 726c6be41ae0118c25f1606fe3daecab68fe34ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:19:15 2009 +0300

    Simplify headerCheckPayloadFormat() a bit

commit e0a4949bd41819431022fcd364817edd02cb0bef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:08:33 2009 +0300

    Deprecate headerNVR() and friends
    - reimplement using the new generic getters to simplify
    - mark as deprecated, no uses inside rpm remain

commit b5bc388ee38de77691b63aa7f48b4928fe60c4e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 12:06:34 2009 +0300

    Eliminate uses of headerNVR() and friends in librpm (and python) code

commit 4177fdffd6e7414123062e8716afb22596608531
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 11:55:42 2009 +0300

    Eliminate uses of headerNVR() and friends in librpmbuild code

commit a5a9208b696860982faad4881eeec8aa0eb19648
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 2 10:24:20 2009 +0300

    Add tag extensions for common name-[epoch:]version-release[.arch] combos
    - RPMTAG_NVRA same as rpm5.org, others are new tags

commit e2239d295e6163d4d067bc3a9391997fa0e27367
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 17:10:18 2009 +0300

    Add two new convenience functions for header string data
    - headerGetString() for retrieving const strings directly from header memory
    - headerGetAsString() for converting any non-array tag to string

commit 0fd95da2e7105f014475843f25f7e7270f4012d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 15:08:58 2009 +0300

    Add dbinstance tag extension (port from rpm5.org)

commit 7c15b12f02c0fb71f5058bdcc585a766fbf5945f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 13:31:20 2009 +0300

    Group tag inheritance doesn't need special treatment, just copy with others

commit a070010b7c27275dfec0e178c79a34b0ef109fa4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 11:38:06 2009 +0300

    Triggerprein has been implemented since January 2008, update comment

commit 75c0d816a8185177f7d69b68523a4e45b70e46f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 10:52:12 2009 +0300

    Add provide-extractors for fonts and desktop files
    - extract mime handler capabilities from application .desktop files
    - extract font family names and supported languages from font files
    - both are used by PackageKit for on-demand installing of fonts and
      applications, but are useful for other things too

commit 457606983f6053eb3c053ea564937f184d2b9154
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 10:40:50 2009 +0300

    Further file-classifier tweaks
    - disable "known tokens" lookups in ascii files, this is way too unreliable
      to do anything but cause pain
    - consider text files as RPMFC_TEXT consistently
    - font metrics files are not fonts

commit c3770c9404ffa2fcfbe0869dd7fbdb73466a637a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 1 10:31:44 2009 +0300

    Make internal file classifier look into compressed files
    - prerequisite for various things like font provide extraction
    - at least libmagic from file-5.00 leaked fd's with MAGIC_COMPRESS,
      this has been fixed as of file-5.03

commit 1eb9ae13f66435060f7f1a6d27fea6e6965782d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 13:00:18 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in python code

commit 555af4eadb5ecb16e101b35cb6e931d3ff502d22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:55:33 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in binaries

commit 0e8dd93796a8fdafcd0328f131c8f78f1b95a3cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 13:03:53 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in main ts code

commit 9ff1cf55f4214f582808a2ad91d68332e0c7a87c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:46:59 2009 +0300

    Use rpmFileHasSuffix() instead of doing the same manually

commit 746070ebe15022b482d6b3a5d54499ba09c5aa00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:43:02 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in header code

commit 4ef65c9a4218f9b354b00708ee2126fb1b7bec74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:29:56 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in misc helpers

commit 1cd1eba2ab619afd17228e326dda0a1b1b4c9a2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:22:53 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in fsm & psm

commit 6585c6485ab318c836d16edc069bc1be01e0e425
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 12:15:16 2009 +0300

    sameProblem() return value is illogical, reverse it

commit feece1341e32efeafa1fbdeb893e33629147603e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 11:30:53 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in rpmrc code

commit ecfe9a04f83999c75fcbc8b6d2d9c38e266765cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 11:22:47 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in backend code

commit 36f8bc0f8ebc6029e8edb9ab537dc75e4e0091d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 11:20:40 2009 +0300

    Ugh, fix brokenness from previous commit

commit f4b39519d32287b9f0ed8dc9ad93787ca6a63fcd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 11:15:16 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in io code

commit 0c4e48de7908823e19945887d5e7b6ee7fa6bedd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 11:08:05 2009 +0300

    Replace equal/not equal uses of str[n]cmp() with rstreq[n] in build code

commit 7e841570fc4950724fb1be93512632b3fee73abd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 10:44:35 2009 +0300

    Hum, rename rstrneq() to rstreqn() to avoid confusing neq with "not equal"

commit 8e9662bd4cedd1fc9e31ae18bc420bc2b24c7be1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 10:19:45 2009 +0300

    Eliminate now unnecessary compressor -> ioflags conversions

commit 5ca7197e33b0e02c42abc13ad953e5fa958f01f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 09:44:52 2009 +0300

    Accept direct compressor names as Fopen() modes too

commit f9de5ed43058c207e70c86cdd8fa34cbfeb545cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 09:39:16 2009 +0300

    Switch rpmio mode checking to use rstreq()

commit a5de0df0cd48f2ad3d55657d1c79c9e88dafa965
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 31 09:33:52 2009 +0300

    Add two helper functions for comparing string equality

commit 8f10f2362ec5820037591d01349e502868f89eb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 28 15:43:07 2009 +0300

    Eliminate unused result code from psm struct

commit 41eb3ac5817ca0a6672a528bdc083b632c11d0bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 28 15:36:07 2009 +0300

    Eliminate payload file handle from psm struct
    - it's only needed locally inside PSM_PROCESS on PSM_INSTALL

commit 96987afd73a68fd76b7135ea6b3a42733ecd2aae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 28 10:52:49 2009 +0300

    Don't try to incref NULL ds

commit a40e3556765b4d30642601c89319db4b03780323
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 14:10:41 2009 +0300

    Remove extra trailing } copy-paste error from python_foo macros, duh

commit 3ae20cd53dfdffbdc98cedc7a2d6fa5ccadb9ccd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 13:04:21 2009 +0300

    We always add EVR and Flags to dependencies, remove bogus condition

commit 10772ac7dfad60cb5a20681d22cf851468d0a8f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 20 13:02:05 2009 +0300

    Fix duplicate dependency checking on build
    - Broken by commit af8b41c64af39ce07d85fcd92fa78d566747d815 which
      simplified too much.
    - There's no guarantee that rpmdsNew() returns a sorted dependency set
      so rpmdsFind() doesn't work correctly here. Walk the ds manually instead.
    - With multiple triggers of same type, identical trigger conditions on
      different trigger script were seen as duplicates (RhBug:490378)
    - Split the duplicate checking to separate helper function for clarity

commit 634a67d055444593a47a21e9e9ea00df65e63d63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 18 11:46:12 2009 +0300

    Copy BUGURL to source rpm's too
    - should've been in commit 86032bfbb61f1bdee9ac42989a14ea40bed0deec, duh

commit 3e5097c97541fa0b8f289ef3b6011bdc3b4dc002
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 18 09:20:45 2009 +0300

    Add some commonly used python macros (ticket #83)
    - macros to determine python version and library paths

commit 4ced96c5f2469786f5d8f9b14583f191b15a302f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 17 15:06:39 2009 +0300

    Eliminate unused code (leftover from ordering rewrite)

commit 80a8a5b518c218287f2f2fd3d7d3b071efbb8ca1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 17 14:40:39 2009 +0300

    Don't bother relocating packages no files
    - fixes a small memleak

commit d8cde273e5523364df4f4f9ae7ad3374cf02e549
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 17 12:07:48 2009 +0300

    Avoid adding Lua sources and patches twice when recursing (ticket #82)
    - parseSpec() operates on newly created empty spec structures even when
      "recursing" but the lua variables are global and need recursion
      protection to avoid adding multiple times

commit 3fc58248d23d6f720942e5cbf4f92db246a802f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 17 11:22:16 2009 +0300

    Add default %clean section unless overridden in spec (ticket #81)
    - avoids silly clutter in every specfile in the regular case but permits
      overriding if needed for whatever reason
    - it's a spec behavior change but mostly backwards compatible:
      existing specs will do whatever the %clean does, and if you need to avoid
      calling %clean for whatever reason just keep an empty %clean in the spec

commit 859dd6d4d248a8277aad1bc72d1ab6b6fefa8e0d
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Jun 16 22:25:02 2009 +0300

    Add -d option to %patch.

commit 511d41abc5089884329a681935976c459b141af9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 14 11:30:07 2009 +0300

    Add isSource() method to python header object (ticket #32)

commit 883253ea6af71f8063d7a045841c35bad22147e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 14 11:27:57 2009 +0300

    Add %make_install macro that does the "right thing" wrt modern autotools
    - old %makeinstall for broken/ancient autotools left untouched for
      backwards compatibility

commit 7f7188a3962b676dfa8b8996c15ff8f48ff5694c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Aug 14 09:36:26 2009 +0200

    Add bug URL macro so that it could be set distro-wide (rhbz#512774)

commit 3f29577dd441c4e7383c8fadad1d5b12a5c13729
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 17:22:53 2009 +0300

    Update querytags test to match current output
    - should've been in commit 86032bfbb61f1bdee9ac42989a14ea40bed0deec, duh

commit 1d61f3e34b677c0b1f6d9f5de8f6996730a0261f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 17:11:47 2009 +0300

    Build script environment tweaks to improve reproducability
    - unset CDPATH (RhBug:426955) and DISPLAY environment variables
    - always run in C locale

commit de218d7069294c615dd45cf274dd109ebbdce335
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 16:46:18 2009 +0300

    Don't set --target in %configure (RhBug:458648)
    - --target is only ever useful for handful of compiler toolchain packages
      and cross-compiler packages are better off setting it themselves if
      necessary, rpm messing here only gets in the way

commit 91af91ef8e6b4b7314791948abd3ff4247739a44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 16:44:59 2009 +0300

    Nuke long since dead version of %configure macro + update commentary

commit 86032bfbb61f1bdee9ac42989a14ea40bed0deec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 15:45:56 2009 +0300

    Add an option bug reporting URL tag to packages (RhBug:512774)

commit 0466fd7f89d17c0a8190bd9d3d52bc4540c9f47d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 11:46:56 2009 +0300

    Add missing <pthread.h> include in rpmsq.h (ticket #87)
    - patch from Michal Čihař

commit db5ac1e44a7c6744abde6b92d2e1c17bd238739a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 13 10:35:01 2009 +0300

    Bump version to appear newer than 4.7.x branch

commit 241581a93ed0591bfae162089d9e61a606201fb4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Aug 12 16:06:08 2009 +0200

    rpmbuild won't segfault when %including spec with zero size

commit 3b7d3b0c19e2ea4f402bba8f014920eabe0415e0
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Aug 4 00:34:31 2009 +0300

    Add *.xz and *.lzma recompress support to brp-compress.

commit f6982a403b284012abc846d9f4e5155ad84fac35
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Aug 6 14:16:02 2009 +0200

    Correctly inherit default %attr(-,-,-) attributes from %defattr (rhbz#515685)

commit 69702c1de3e24bb44f741fbad6e961213f8db9e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 23 12:24:10 2009 +0300

    Kill off lclint remnants everywhere
    - remove ancient and likely irrelevant LCL comments and bogus NULL checks

commit 52e4b9bcaca60499e8bb7f23eb590ce01c89c574
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Tue Jun 23 00:49:17 2009 +0200

    Fix memory allocation for token array
    
    This fixes a memory corruption due to write access out of
    bounds of token array, whose size was computed incorrectly.
    It was assumed that only '%' characters separate tokens,
    which could lead to crashes on useless uses of '[' tokens,
    such as "rpm -qa --qf '[]lalala'".

commit d8071161f98ff703846281466cccf880e9dcb5c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 14 14:25:58 2009 +0300

    Log an error on short lead (RhBug:511101)
    - if lead read returns short without it being an IO error, treat it
      as a case of "not an rpm package"

commit 7baf3235d2263d456fd11b6fa3ad605d0d1d1136
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 14 13:56:27 2009 +0300

    Honor --nofiledigest on install too (RhBug:508021)
    - query and install options clash, use popt callback to enable processing

commit 16be29746ce4ecdedb2034c8d97b6455ba5ae620
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 14 11:54:43 2009 +0300

    Document --nodeps in rpmbuild manual (RhBug:482921)

commit b8102d8f6150b0438ba91cd53ff86a5391e8bdcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 14 11:24:02 2009 +0300

    Dont accept '-' in manifests (RhBug:461353)

commit 0114bb51dd85dc4a875d5b9f8f9775a05ecd4187
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 14 11:15:30 2009 +0300

    Dont treat filenames starting with - as stdin

commit 666e26bd7a229063e6cab068c94b56e1b35e7ddb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 15:07:38 2009 +0300

    Oops, missing include for dirname()

commit 17f9073278206a979829fa41ac496476dde1a3ef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 14:40:17 2009 +0300

    Create the directory used for transaction lock if necessary
    - otherwise at least rpm --initdb can fail due to transaction locking failing

commit bcb71f69d2524ee51535c50b51ae6b4aa133abc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 14:01:13 2009 +0300

    Fix package relocatability checking, broken since forever
    - at the time relocation problems are added, ts problem set is NULL
      and rpmtsCheck() wipes it out anyway so the problems from relocation
      are never seen anywhere
    - The header isn't available at transaction prepare stage where most
      problems are checked for, so we can't validate the prefixes at that
      point. Add a per-element problem set to carry the problem data and
      merge it to ts problem set when checking for other problem types.

commit 7c512db91281a53f1dc783732e310f311382ae8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 13:43:10 2009 +0300

    Make rpmpsUnlink() behave the other fooUnlink() functions
    - pretty much everything else in rpm returns NULL from unreference functions,
      make be more consistent here...
    - also tolerate NULL in both reference and unreference

commit 6ffeec9d7f57ebb520d15581d55555244c0f3058
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 13:39:55 2009 +0300

    Add reference counting to rpmProblems

commit cb8241dda783f7e8c143b08fecf57fe89a39c3a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 11:03:54 2009 +0300

    Unbreak --excludepath (RhBug:409637)
    - excluded paths aren't counted as actual relocations, dont bother
      checkig addPrefixes() return

commit 2db564a85a57db624cc73dd0bb7b2875cff44f3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 9 09:28:45 2009 +0300

    Fix compiler warning on const free
    - we dont need popt to set the file variable as we manually process

commit 6649c23cac5823d0c7415df5cfd66e5aac5eebd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 8 16:20:06 2009 +0300

    Make verify result not depend on verbosity level, uff... (RhBug:510213)

commit 33d829d362ef7d529268b99e2f943d2ecda07d59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 3 15:12:07 2009 +0300

    Add an index for obsoletes (RhBug:507702)

commit 683d30858610c548ae3a3999b458b438d7275546
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 3 14:46:06 2009 +0300

    Unify extension + header data getter calling conventions
    - simplifies headerGet() & friends a bit and reduces redundancy
    - also just return an error instead of dying with assert on NULL td argument

commit e18aedbf97d0948b9010877270d9559d8a64c861
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 3 14:21:01 2009 +0300

    Pass headerGet flags to extensions too (unused for now)

commit 4d0d54492c7d539cc806ca9e7fa59e919c28e45d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 3 13:11:35 2009 +0300

    Eliminate unused calculations originating from the "8/98 bug"
    - the tl calculation has been unused since commit
      5994a308bc062fff53ff0184b8dea15d19fcfb63 in 2001 and we dont even
      read rpm 2.x packages anyway...

commit 5dfb57ba3c65b4b3a383361950eec31865ebf75c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 3 12:13:54 2009 +0300

    Re-enable rdlen vs dl header check
    - we dont even read packages from the "8/98 bug" era anymore, hardly relevant

commit c685667475d70daabac9ae224979abbd1f86987a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 1 13:59:53 2009 +0300

    Band-aid to dependency caching misbehaving with chrooted verify (RhBug:508074)
    - disable dependency caching on chrooted verify to avoid ugly spew
      from paths containing outside paths while we're actually inside the
      root during verification
    - correct fix would be to fix the temporary db path calculation

commit d3956140c2757a5929d4517cf54e5d9c06e11355
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 26 16:24:55 2009 +0300

    Handle hook unregistering itself

commit d1b399761ffe554f3f3c4ced187c3b8ec58233fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 26 16:07:50 2009 +0300

    Fix rpm.unregister() Lua extension
    - hook data is userdata, not light userdata

commit 02f9f3fbdd5e0cc858ab46da9a11e04110f92462
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 26 15:39:20 2009 +0300

    Add base64 encode and decode extensions to the lua interface

commit edbc9ead961fcbeb1733b47405041b653b521bcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 26 12:31:57 2009 +0300

    Base64-encode %policy files to ensure it can be presented as strings
    - RPMTAG_POLICIES is a string array but there's no guarantee that
      something marked %policy is a plaintext file that can be represented
      as \0-terminated string, base64-encoding them fixes that. Baby steps
      towards making %policy remotely usable, related to RhBug:505066.
    - Also remove unnecessary failure code setting, processMetadataFile()
      assumes failure already, and dont try to insert NULL strings in case
      b64encode() or pgpArmorWrap() fails

commit 8c5437b37914bd098a9f13366e53aba5a1c9cf15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 25 17:17:16 2009 +0300

    Kick out silly constfree() use

commit 271069f90046994b005a469c80c2e150a41af9f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 24 15:16:25 2009 +0300

    Simplify logging a bit
    - precalculate the message length, relying on C99 vsnprintf() semantics
    - generate the log message and rest of the record in rpmlog() already,
      and just pass the record to lower level to do actual logging
    - also something was wrong in the old version as valgrind complained
      about illegal reads, that is also cured here

commit 51520de1d3dffedc0c047b6da3fa68e98c92acc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 17:50:08 2009 +0300

    Set HEADERFLAGS_ALLOCATED centrally from headerLoad()
    - requiring every caller to handle this separately, violating header type
      opaqueness in the process, doesn't seem that bright an idea
    - also fix a memleak on signature header read in case of failure

commit b02893092594b868296c5b3f58ab631e368bae1a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 23 11:05:06 2009 +0200

    Teach %files to accept multiple filelists (ticket #70, rhbz#475359)

commit 27263f94bd18ea0d86b1b85511ef10a7f573aa92
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 23 10:56:53 2009 +0200

    Allow ':' character in EVR, it's needed for Epoch separation

commit 194b6a5c2ab37753a143cd4d710bd09ccc0502e2
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 23 10:55:54 2009 +0200

    Check arg in argvJoin() before dereferencing

commit 215607caa52112bd8989ee1e6c58205c1881b6a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 10:03:58 2009 +0300

    Updated Polish translation (ticket #74)

commit 0975d1e2c04718e290f868c77613640c044ce4f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 23 09:56:04 2009 +0300

    Fix some typos in javadeps usage message (ticket #72)

commit 6b6e82f8e9c11aeecbd47038a0c637ff5c8f8a1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 14:52:45 2009 +0300

    Add -h/--help to rpm2cpio (ticket #63)
    - patch originally from Debian, with slight adjustments to indentation

commit 4abfb4c186e1c3ad72c0899048d306a35a43fe8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 14:19:59 2009 +0300

    Updated German translation from Micha Pietsch (RhBug:506607)

commit 31301b579faed5eb58ba648d74b0ad7c5fea66f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 14:16:46 2009 +0300

    Updated German translation from Micha Pietsch (RhBug:506607)

commit 7417cd283a3641ee62b282ae36c5d2d7df349d04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 18 13:06:42 2009 +0300

    Pile of OSGi dependency generator fixes from Alphonse Van Assche (ticket #39)
    - use Temp perl module to provide temp dir
    - re-enable deps solving in Require-Bundle, Import-Package, Export-Package
      OSGI properties
    - remove uses bundle of Export-Package OSGI property
    - use RPM '>=' as version operator to match OSGI '='
    - remove all .0 at the end of the version string
    - typo fixes

commit d5f6d1854094b659c4f02f86100c426e2279e642
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 17 15:06:06 2009 +0300

    Delay fingerprint cache init + lookup until we know there are some matches
    - no point going to fs if there are no matching files in the rpmdb
    - use allMatches count as size hint to fingerprint cache instead of
      arbitrary 20

commit 71475e314a6c7af0a3dc2cae7e846663f8f7f620
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 17 15:04:41 2009 +0300

    Permit NULL in fpCacheFree()

commit 0055fecfde5404c5106ac0fc58052e9264da8592
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 17 13:09:25 2009 +0300

    Fix invalid memory access from freeing dirName too early
    - if it doesn't crash, it can cause rpmdb provided file not seen in chroot,
      the other half of RhBug:506323
    - streamline exit points to enable freeing allocated resources sanely

commit 1b9e6d7f48a68fd677c70d04c9a6bb4274cf7b9f
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Jun 16 17:37:40 2009 +0200

    Fix Segfault for to be installed symlinks pointing to existing locations
    fixes rhbz#505777

commit 5f57e212516cc6ea5b9dd8276977d85a07eeec56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 18:19:40 2009 +0300

    Eliminate now unnecessary artifacts of rpmdsNext() side-effects

commit 7fd95d099f232a54d772379fc9769eb3c2453fed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 18:15:31 2009 +0300

    Generate DNEVR string lazily on rpmdsDNEVR() calls
    - avoids useless string churning on rpmdsNext() when most paths dont
      actually use the DNEVR string for anything
    - make sure DNEVR is freed whenever iterator index changes

commit 61acdba023167c73cf0db124f0ae8c09c8f387d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 17:49:44 2009 +0300

    Eliminate epoch promotion debug cruft
    - might've been useful back in the day but...

commit 90b70ebd3460ca39427e37da2115f48df00879d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 17:36:21 2009 +0300

    Determine rpmlib deps from flags instead of comparing strings

commit a4ac4e48ec5897e33f35c0242c4f0c79c2f9ce2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 17:23:17 2009 +0300

    Validate rpmlib dependencies on src.rpm install (RhBug:490613)
    - other src.rpm dependencies are only relevant for building, but rpmlib
      features can affect src.rpm "install" too, such as unsupported file
      digests, payload compressors etc

commit 8f44f9159cb1f522f20b88821bab38e4ee0ef565
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 16 13:53:42 2009 +0200

    Don't check Provides/Requires for bad characters, they could be UTF-8
    - don't check Name but EVR in parseRCPOT()
    - use rpm namespacing for charCheck()
    - remove unused variable

commit 71a7dd8b7a2df677214c18473eac661ea38fb649
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 16 13:52:43 2009 +0300

    Add debugedit support for DWARF-3 (RhBug:505774)
    - patch from Jakub Jelinek

commit 83513ded75c50be90d9b8c4c6c879f67fa1a47bb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 15 15:21:27 2009 +0300

    Rip hardcoded libgcc + glibc static helper kludges
    - shouldn't be needed anyway anymore as package of preferred color should get
      always installed first, and the issue is solvable in packaging anyway

commit ad53979f9ae024083b7f29fe7a914531e487be07
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jun 15 08:47:55 2009 +0200

    Check for valid chars in Requires/Provides as well

commit 8d79668a137e93b5b15613b6f8769d72df831fea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 08:52:38 2009 +0300

    Fix out of source directory build (ticket #65)

commit a86291ff774ff10277da4452fc47fc9870ccc991
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 08:33:29 2009 +0300

    Add parentheses (as kindly suggested by new gcc...)

commit 17d66c47b181d9300dfc3813e8dd86d31c7b99a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 12 08:29:02 2009 +0300

    Make peace with newer git

commit af0ea37a918690626c9385af5d22f7d007a285dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 17:22:59 2009 +0300

    Make rpmalSatisfiesDepend() smarter
    - Instead of blindly picking the first match, try to pick the best provider
      for the dependency: for colored dependencies, try to find a provider of
      matching color. For non-colored dependencies, prefer providers of
      transaction preferred color.
    - This avoids creating bogus and loopy relations between 32- and 64-bit packages
      where they dont exist, and makes behavior with things like /sbin/ldconfig
      consistent by returning the preferred colored element.

commit 31f0d94df1c50a7a2802c76f491620be22b9a8fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 11 17:16:03 2009 +0300

    Add preferred color to rpmal

commit 85f9df3c0d511cb1e84484c8d616b98e5e4a2123
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 10 17:22:03 2009 +0300

    Update translations for a change (due to depends.c -> order.c split)

commit 57884ba0d33482978a2f5f71a9cbad062354850d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 10 17:19:27 2009 +0300

    Split ordering code to separate source file

commit 4e331d1dbb526c0b80d9816ca4e47b21a91f17b7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Jun 10 11:52:53 2009 +0200

    Add new function to check valid characters in NVR (ticket #59)

commit 53e48bc469eb0dbea0629efa9abadad0d9b4bdea
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Jun 10 09:16:45 2009 +0200

    Nuke useless compatibility stuff and put V/R checking where it belongs

commit 7653f770130626dd42e57395d232696d47e66ca3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 9 10:29:01 2009 +0200

    Make whitelist of characters allowed in NVR (ticket #59, rhbz#493157)

commit dee5d0e2308092b45af17bbc2a4aff4089b8a56f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 8 14:48:36 2009 +0300

    rpmdsInit() and rpmdsNext() can handle NULL ds, no need to separately test

commit 9fe316637dfef728b5f1e337d2b84955db8376f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 8 14:43:45 2009 +0300

    Minor rpmtsOrder() cleanup
    - initialize on declaration
    - remove unused code

commit 05f44fd2647def8e08e199a7f5e492389ca66065
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 8 14:24:14 2009 +0300

    Clean up relation recording a bit
    - rpmdsInit() and rpmdsNext() can handle NULL ds correctly, dont bother
      separately checking here
    - te type doesn't change inside rpmdsNext() iteration
    - added vs installed difference is handled inside addRelation(), otherwise
      the cases here are identical except for the al

commit 7c14d1953b8d23d4cd809f896b761b607a77e483
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 8 14:13:58 2009 +0300

    Dont bother adding dependencies to self, ever

commit ace4cbf45e68d5418f4dd377c050b5b470e3b5eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 8 14:10:44 2009 +0300

    Determine rpmlib and config deps from flags instead of comparing strings

commit 085f75f68d19913cf3ef9650ce2a73b115409489
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 5 15:00:33 2009 +0300

    Map legacy PreReq into pre and preun scriptlet dependencies in ordering
    - this gives close enough semantics for packages that rely on old
      PreReq behavior (eg RHEL 4-5 package set ordering is completely broken
      without such mapping)

commit b22fa73fea6873dfc3816433e130820a5d9f33da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 5 14:56:49 2009 +0300

    Unbreak isLegacyPreReq()
    - long long time ago the PREREQ bit was also turned on for scriptlet
      dependencies etc, this is no longer the case so the old mask doesn't work
    - build part is not affected by the mask change as we never set
      PREREQ bit by ourselves

commit c33d80aae907726f49d9197e557cb8213bd85c13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 5 14:50:01 2009 +0300

    Use specific types for sense flags + te type instead of generic int

commit 50fe90eeb59d7b3dc0495bc719c5a84cddd8cbb3
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 14 10:54:58 2009 +0200

    Rewrite ordering
      - Detect strongly connected components (SCCs) using Tarjan's SCC algorithm
      - Use Dijkstra's algorithm to find the best relations to zap
      - Add forward relations for the Dijkstra's algorithm
      - Separate the per package ordering data and the relations

commit aefe94178709cd4c42fc87e2421106421d7f9bd4
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu May 28 12:21:08 2009 +0530

    Removing extra useless 'break' statement lines and unhandled FTS_FOO cases.

commit 0a48a2e2425fc15f124d3333daf3f5a5a5ece232
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu May 28 12:13:40 2009 +0530

    Removed 'xx' variable in rpminstall.c
    - in setNotifyFlag, rpmShowProgress and rpmInstall functions.

commit cff4eddfd2a619ae75383630442a6f3ac54245f3
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu May 28 12:11:03 2009 +0530

    Removed rpmEIU memeber 'fd' -and its usage in tryReadFoo functions.

commit 2d2aaebce79d0fd48b9fe82f61356f9e8190e915
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Tue Jun 2 10:43:59 2009 +0530

    Updated mailing list information.

commit 400bc0224d308b84ab0fde6157536ff67ea093da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 2 09:42:04 2009 +0300

    Remove toplevel TODO too, nobody updates it and we have Trac now

commit 27d1f56f2945c59b39668685090977c6c2635431
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 15:32:26 2009 +0300

    depMsg doesn't need _notpre() anymore

commit 4cf62df1081355c5d73078c128f8dbab57d12c64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 14:54:59 2009 +0300

    Remove leftover build/TODO file from 1998 / rpm 2.5 era...

commit 4913f48d08516aa9f369cec50376f2ec52afc1e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 14:48:58 2009 +0300

    Generate spec part string lengths at build time and make it const

commit 317533ce3134d05fc9f30fb29238d3fb2ed4bc6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 14:45:44 2009 +0300

    Generate preamble tag lengths at build time and make it const

commit 7c98cfb220e8265fc4f3530da2cd1cb95859fddc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 13:39:00 2009 +0300

    Issue deprecation warnings for PreReq and BuildPreReq

commit c0ed5b0a35d4819782a5f069a70893f19d3ded9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 13:37:20 2009 +0300

    Turn unused spec syntax obsoletion mechanism into deprecation warning

commit 95c9e817ef6ed2cda5629f0c5edb6f7b19c209cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 13:28:50 2009 +0300

    Map PreReq into Requires(pre,preun) at build
    - this gives a more reasonable mapping to former behavior of PreReq
      when cutting loops

commit 9c7bcba82ac3bbf792d6b86bcb45c60405b0db00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 12:53:08 2009 +0300

    Deal with multiple scriptlet dependency bits in deptype format extension
    - rpmbuild permits Requires(post,postun) style notation which gets lumped
      into single dependency, report them all

commit 67bd81fb25a2a57adc97172cf426c475aea41612
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 12:42:07 2009 +0300

    Bring back former value of RPMSENSE_PREREQ
    - packages using the legacy PreReq still widely exist distros having
      patched PREREQ back in, we'll want to be able to deal with the legacy
      packages best we can, and to do that we need to be able to test for
      the prereq bit
    - this also fixes ordering brokenness introduced by commit
      502f88e0e67bb1df91e09a32a370b04bda36259e all the way from 2004:
      with RPMSENSE_PREREQ equalling RPMSENSE_ANY, all co-requisites are seen
      as pre-requisites due to isLegacyPrefix() returning bogons (RhBug:502269)
    - previously RPMSENSE_SCRIPT_PRE etc were also marked RPMSENSE_PREREQ to
      permit legacy rpm versions to deal the fine grained scriptlet dependencies
      somehow, this we dont want anymore

commit f243eb7d004394176c64ff24b5a461deb54d866b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 1 10:39:07 2009 +0300

    Avoid filtering out erase pre-requisites on install
    - Requires(pre,preun) etc are recorded as a single dependency entry,
      so filter out dependencies that are only install pre-requisites

commit 03e456de4a0ea7d574a7aeb3aa41937e1b7d18ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 29 11:03:33 2009 +0300

    Build prereq is exactly the same as buildrequires

commit cdfd0934841d4eccc26d7da7c35b23e6e9f76a9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 29 09:02:44 2009 +0300

    Fix calculation of hardlinked files (RhBug:503020)
    - regression from commit 899dfb58927ec6e91014773430824462f4d0002e,
      size of hardlinked file set is the size of one file of the set
    - add isHardLink() internal helper to avoid a copy-paste code

commit 04ec8e9fca9c309367d497feef08e15e03bde120
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 22 13:54:08 2009 +0300

    Couple of documentation typos

commit 7ac37e98579ea0a870ddab0675d9bac59e107857
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 22 10:04:20 2009 +0300

    Clean platform files on uninstall

commit 03e36789b62010026f099e885546be005a62461a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 22 09:56:43 2009 +0300

    Include from src, not build dir

commit 1195233d39d327c88645eee0f7e279fd5b648ce8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:53:50 2009 +0300

    Remove unnecessary includes + other minor include corrections

commit 44cd276bc2bec0bbb3a177b845b3a02d00732506
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:22:51 2009 +0300

    Eliminate useless pgpDig nbytes counter
    - nothing at all uses this, dont bother
    - if plaintext size of digests is needed, the correct place to calculate
      it is in the digest routines, not manual beancounting all over the place

commit 9acfa19a0da514f64f17cb4e76603ed48ec8db1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:20:43 2009 +0300

    Remove size "signature" verification
    - rpm itself hasn't used this for anything in ages, its broken too for
      quite some time and nobody noticed -> nobody's going to miss this

commit 438d943e11f54a6c8b16a742ee27f48a925cd005
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:19:46 2009 +0300

    Refactor ts out of main read package function
    - Add a lower level rpmpkgRead() which just takes keyring and verify
      flags, rpmReadPackageFile() is just a wrapper around it now
    - Avoids several levels of unnecessary keyring references through
      rpmtsGetKeyring()
    - Pretty much loses package reading statistics but shrug...

commit ddb263adfccb42cedf762a65b800f2f938506fe8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:19:06 2009 +0300

    Refactor ts out of main header read function
    - Add a lower level rpmpkgReadHeader() which just takes keyring and
      verify flags, rpmReadHeader() is just a wrapper around it now

commit 072f6fd8805cf1083eabd435689b2e6668511b9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 20 17:00:12 2009 +0300

    Refactor ts out of main header verification routine
    - signature checking a header only needs a keyring + verify flags,
      add a lower level headerVerify() function (static only for now)
      for this and turn headerCheck() into a wrapper around it
    - some accuracy in statistics lost but shrug...

commit 9322f737819a3d81088699b1d7fa667259245411
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 19 10:26:50 2009 +0300

    Don't mess up problem altNEVR in python ts.check() (rhbz#501068)
    - the use of strrchr() silently casts away the const from the problem
      set altNEVR string, which we then happily modify..
    - similar to commit 62cc76e25cdfad78ac30bb28f626b474efdecddc

commit 2c495bd8c4cb3a28d7f359810d8e0ccacffdc153
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 12 10:30:10 2009 +0300

    Updated Spanish translation (Domingo Becker)

commit 409641c058546b9327afa0fa8417ddb88bdd4f5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 12 10:28:00 2009 +0300

    Updated Portugese Brazilian translation (Igor Pires Soares)

commit d295d14cd0fbce33ec778ef3b07a95269a4f8bfe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 8 15:22:25 2009 +0300

    Minor fix to Japanese translation (Masaki Furuta)

commit 5023d0a4e84e2877e3c715b57bd362f95f12ef06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 8 15:01:15 2009 +0300

    Fix parsing of pubkey signature packets. Ick.
    - busted all the way from commit bcb226480d0b60a8667eade77d81c29de4c3d6c9

commit acd93ee570990ba3f549947dfe67a7d362f7c70d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 7 14:31:57 2009 +0300

    Dont bother generation rpmds debug messages unless in debug mode
    - rpmdsNotify() which does nothing but generate RPMLOG_DEBUG messages
      gets called often enough that avoiding the unnecessary
      rpmlog() and strcmp() calls is easily visible in wallclock times

commit 5b91b31cc98de7750a9b688c38a9e7bae0e1f58e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 6 14:54:10 2009 +0300

    rpmdsThis() is really just a special case of rpmdsSingle()

commit 2ce7b56e621b097b76a2e5059def7d0e5a64d53b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 23 15:54:09 2009 +0300

    Hide NSS peculiarities from API
    - PKCS#11 standard requires modules to be re-initialized after fork(),
      arrange this to occur automatically.
    - Most of the time child processes will exec() something else so dont
      bother shutting down NSS for every child, only lazily re-initialize
      as needed.
    - This lets us initialize NSS early to force preloading of its dlopen()'ed
      libraries to avoid issues on chroot(), without causing problems to API
      users which fork() after initializing rpm (such as func, urpmi etc).

commit 4b523ac1b85b9d4f71cd024306f01c3fb2418c8f
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Sat Mar 14 18:38:53 2009 +0530

    - Removed unnecessary rpmdbFreeIterator call and moved them to enditer label.
    - Rearranged bit to keep the logic sane.

commit 5bb4b0928393a4534d9f76644f7b3d3c74ceb3f2
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Sat Mar 14 17:59:03 2009 +0530

    Cleanup: Move similar patterns in rpmcliArgIter to rpmcliArgIterHelper.

commit e77498808e58a8041d3a16450fab400116aca28d
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Sat Mar 14 17:32:59 2009 +0530

    - Moved code to check possibility of freshen operation to checkFreshenStatus.

commit 7cd942db0b5c09f71caeb9b732f69acb7703f4ef
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Sat Mar 14 16:38:10 2009 +0530

    - Move header reading part from rpminstall to tryReadHeader function.

commit 0766138ee96fd9c0db193907a0013aba5c3d18bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 17:12:37 2009 +0300

    Minor cleanups to installplatform script
    - eliminate unused target and target_platform variables
    - eliminate unnecessary temporary rpmrc (used to make a difference when
      macro path was in there, not anymore)

commit 4231321f0ccabd3f2b8b9d51f0dc8d39b34dee44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 16:22:54 2009 +0300

    Eliminate unnecessary rpmts_internal.h include

commit 8f755140c31fec7106b86a3aaeb550baf2535fae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 14:58:10 2009 +0300

    Refactor ts out of the main signature checking worker
    - Add lower level rpmpkgVerifySigs() function which does the real work,
      ts and full qva isn't needed there, just keyring and flags what to verify.
      Static only for now, but this is the kind of interface we'll want to
      export eventually.
    - rpmVerifySignatures() is now just a API-compatibility wrapper.
    - Use rpmpkgVerifySigs() instead of rpmVerifySignatures() in rpmcliSign()
      verify loop so we only retrieve keyring once.

commit 7f1f837877173552227a682e3ff63e9cce7b4166
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 22 14:01:40 2009 +0300

    Dont try to refcount NULL keyring

commit acfe923bf21a4402a48b6e357a53a398b107f0b3
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Sun Apr 12 21:39:50 2009 +0300

    Fix --with-kde with KDE3 (rhbz#466009).

commit c7523b4c52a4199b4aef31c8456285586bea313d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 20 13:23:30 2009 +0200

    Require file attributes in spec if %ghost files are missing from build root

commit 8a3e9a74e363f530ed2b7fee0672477f69c3c661
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 18 14:31:48 2009 +0300

    Fix a few file permissions from "make install"
    - macros.perl, logrotate examples etc aren't scripts and shouldn't be
      executable. Ditto for python __init__.py

commit e7ce53c3aea8d11d083e220bfb2e4c6b4ced9a5a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 16 14:13:34 2009 +0200

    Introduce changelog trimming in binary packages feature (ticket #47)

commit 3b9f0b817e635b4cf03e500d83bc3e9ba60ff9f9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 16 14:12:20 2009 +0200

    Introduce _changelog_trimtime and obsolete _instchangelog

commit 4c39a9df93c962c69e23ff48789cb950a105a44b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 16 11:03:29 2009 +0300

    Pad RSA signatures up to modulus size if necessary (rhbz#494049)
    - unfortunately can't be detected at initial allocation so extra
      copy is needed at verification time

commit fb19a98fa0ca1c152e1bd22322f5fd1350a48eb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 14 10:42:20 2009 +0300

    Check for termination signals during signing / signature checking loop

commit 1880778844ae92f56f7a329402efd29a24b819df
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Apr 14 10:57:46 2009 +0200

    Revert erase relations before checking whether we already added it

commit 0f967d157d3a02696898f848f4cd584e646b264f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 13 13:58:39 2009 +0300

    Error out at build on unsupported payload compressors (rhbz#495429)
    - only permit bzip2/lzma/xz payload compression if rpm built with the
      necessary libraries

commit 07524b67b6cfe501bdae3df45c212b7c1c129da4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 10 11:27:49 2009 +0200

    Don't require %ghost file presence in build root (rhbz#495040)

commit 2566a70b0ac8f18fbcb2c1c060465714d16982a4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 9 14:48:02 2009 +0200

    Remove file flags that have never been enabled

commit 0f29cc7f2781cdcedab9c8a03786d45f14fc316b
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Apr 6 23:08:15 2009 +0300

    Make it clearer that PACKAGE_FILE logic applies to all -F, -U, and -i.

commit 48580a70bc7372d1227f07f3377f9c253e492385
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Mon Apr 6 23:00:56 2009 +0300

    Remove obsolete info about --buildarch and --buildos.

commit 88e63e6460afc431133f8718acd95afd29033d8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 14:06:14 2009 +0300

    Updated Spanish translation (Oscar Bacho)

commit a45e6f03194c1a404bd1924d883981bb4bcf6a7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 14:04:46 2009 +0300

    Updated Serbian translations (Milos Komarcevic)

commit 01d5f668316066daaceb439eebebf8eb569c78b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 13:54:09 2009 +0300

    Updated Catalan translation (Xavier Conde)

commit 7a8aecbc8651cab2bd945db8ffd749f9a165bdf1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 9 13:05:00 2009 +0300

    Fix PGP v4 fingerprint calculation (rhbz#493777)
    - patch from openSUSE / Michael Schroeder

commit 37a35d07211b612429fef6614888f5fa099dd27b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 6 10:20:47 2009 +0200

    Don't allow '~',  '/' characters and ".." sequence in NVR (rhbz#493157)

commit 26ac9b3d9417fec67b49c4434c205f3232a36c1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 3 13:07:42 2009 +0300

    Make rpmal header & all internal
    - rpmal is hardly useful outside rpm itself, avoid exporting stuff
      unnecessarily

commit c40f6d5dcabfe0b68b830d96b01eaedac0b2d18d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 3 10:28:59 2009 +0300

    Make sure installed files have state (rhbz#492947)
    - rpmfsSetState() doesn't get called for skipped files like %ghost and
      %config(noreplace), causing incorrect file state ("no state") getting
      recorded in rpmdb, leading to inapproriate removal/rename on erase, ick
    - For TR_ADDED, always default file states to RPMFILE_STATE_NORMAL, fsm
      changes it as necessary for skipped colors and such. Lazy alloc on
      rpmfsSetState() is not correct as rpmfsSetState() might not get called
      at all.
    - originally broken by commit 8d6c4b8c95b59f5a71d90c582c2e98f5c7ed7b9d

commit 4c23ebdb81d8e8a00ccf7e92d7e3788081b2f57d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 2 20:49:48 2009 +0200

    Use -mtune instead of -mcpu (rhbz#493696)

commit 0b8ce16f257f82d30cadce5af96350a9d54cdc48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 1 12:17:45 2009 +0300

    Polish translation update (Piotr Drąg)

commit 7919fdb4804a6dced9cf16ccc408de8286d9987f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 31 13:14:53 2009 +0300

    Update translations for a change...

commit e38cbe5b4e7bfa9c7b10e3926093b6887d97d6a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 31 13:14:08 2009 +0300

    Prefer more specific types over generic "text" in classification (rhbz#491349)

commit 193e1c21e1db2fc5b1c3390a8ea16abfcf357e99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 31 13:00:59 2009 +0300

    Allocate ts->addedPackages lazily from rpmtsAddInstallElement()
    - at least verification calls rpmtsClean() which wipes out ts->addedPackages,
      make sure it's always alloced when needed

commit 312b4fcd30684793dac474abf2fa07991fa8be16
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 30 21:56:09 2009 +0200

    Erase relations are reversed, use requires of target

commit 569adfa17c2839280ee43f05c0c5928e50e5ae10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 16:15:00 2009 +0200

    Tidy up rpmfi struct definition a bit

commit 74a4f639e2c62109ad8e44fb608382241bdb1faa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 16:12:25 2009 +0200

    Lose unused/useless Type and tagN fields from rpmfi struct

commit 3d63df622037796279514a4da3ddc6807a102c1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 14:11:43 2009 +0200

    Handle XZ in %uncompress macro
    - should've been in commit 8078d0ba24662308b10d9eb0f0da978584b7e757

commit a3922760832ec4329f1426a54012b28cf387b5f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 14:08:56 2009 +0200

    Rip the macro default settings in rpmrc setDefaults()
    - these get nuked and not reloaded on package builds
    - rpm(build) needs a properly set up macros file in any case

commit 2d2bda29c159f16689c05fd4dda20a3f70597e1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 14:01:47 2009 +0200

    Add built-in %getconfdir macro for getting rpmConfigDir() value
    - define %_rpmconfigdir via %getconfdir in the main macro config, this
      avoids it getting lost on macro reloads as happens when building
      several packages at once

commit a5eeff6d42d6452a85942f89a6b3a1196ccc47bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 13:45:08 2009 +0200

    Plug minor memleak from default rc and macro file paths
    - build code can call these several times, only init once

commit b2e85dae836e9695e4ef3e83c819b3523ae81634
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 27 13:44:46 2009 +0200

    Plug minor memleak from rpmGetCwd() on build

commit a17b3b68f2c2320cd81e285e02c05ab881ad07fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 26 15:31:10 2009 +0200

    Eliminate pointless xstrdup()'s, the strings are never modified

commit 144830cf816c9189906b0ae826418dc079ec4348
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 26 13:53:26 2009 +0100

    Fix: use the file's color to decide whether to add it to the rpmal not the color of the rpmfi

commit 1ce328aa29a7f32dde2e831856bf46efb9e50df1
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Mar 26 11:48:09 2009 +0100

    Remove rpmal from the Python API
    as it changed and never was usable anyway

commit 3a6f3133a1f7acccb787992008927704c9eb1254
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Mar 20 08:22:41 2009 +0100

    Reimplement rpmal by using hashes and cleaning up the color handling

commit 3e37044eb970fc0f30942e744fb7558f4f23f528
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Mar 16 17:02:16 2009 +0100

    Make rpmal store rpmtes and kill rpmte->pkgKey

commit 85a84fdae728138c2c526b010417ffc72c382e06
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 11 14:15:56 2009 +0100

    Also order erases.
    
     - partially using code from rpm5.org

commit a1910f89e40ffe4c85c73bfb17deaac7419c4dc1
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Mar 25 16:29:09 2009 +0100

    Implement rpmteSetDependsOn and rpmteDependsOn using a rpmte

commit 64280efc1e5ba39ce05cb304e0fd1cf15843f94b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 26 09:59:01 2009 +0200

    Put the PGP foobar signature generation out of its misery
    - the last freeware PGP version (6.5.8) is from year 2000 and doesn't
      come close to compiling on modern distros, commercial versions we're
      not interested in
    - "PGP" signatures in rpm mean RSA, gpg can handle that just fine since
      forever
    - the code's been unused for years, unlikely to be functional anyway...

commit 4d31b0433f3f804f81955c32e63c93f31506e8ad
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 25 17:28:24 2009 +0100

    process the "./" in file paths correctly (rhbz#491388)

commit 5f445d7e8f14df6976b9fa19e9caf4a0dfbcbebb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 17:00:41 2009 +0200

    Make sure fd bundle is always NULLed on rpmVerifySignatures() exit
    - readFile() failure could crash on double-free otherwise

commit 678dceb2455537895e6562886d7887614d546e61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 16:48:24 2009 +0200

    Unify DSA/RSA/GPG/blaa signature verification, simplify
    - verifyRSA/DSA were just the same already, differences are in key/sig
      parameters which dont matter on this level
    - these dont need sigtd for anything, the data has been parsed into pgpDig
      before we get here
    - add extra flag for header-only vs header+payload signatures,
      we know which is it in rpmVerifySignature()

commit 0ce87a7494eadb6f355b561d4e47d2226931a3de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 16:35:41 2009 +0200

    Rename internal signature verification functions
    - size, md5 and sha1 aren't really signatures

commit 87b8402eaa9561fa4143c7ddb035c48a6b8d27bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 16:33:29 2009 +0200

    Reorder internal signature verification arguments
    - move retval msg last everywhere

commit bdd73e4180f6ec2abccfcacda14a0cc629918168
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 16:30:20 2009 +0200

    Push signature identification to librpmio / pgp handling
    - retrieve names from pgp tables instead of manually duplicated strings

commit b711341a616a801137d1126067b0c0c877b0b942
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 15:42:30 2009 +0200

    Remove redundant RSA/DSA parameter checks
    - if this stuff doesn't match, pgpVerifySig() will fail anyway, dont
      bother checking for same things over and over

commit d65c1787857b270ca258382581644f5cc50c3bad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 15:16:59 2009 +0200

    Push signature verification down to librpmio
    - new pgpVerifySig() call to perform the lowlevel verify, use for
      verifying DSA/RSA signatures
    - librpm is now free of NSS specifics (apart from what still leaks through
      including rpmio/digest.h), remove linkage

commit 19e142ee4e54ad7967f3a6dab9552450b0357e88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 14:39:29 2009 +0200

    These cases are identical now...

commit 127eddaa70c5679a7a2683f4574e1198f8e3dbeb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 14:37:43 2009 +0200

    Rename arguments, RSA keys are certainly not limited to md5 hashes

commit eb48cfaf6bf4cc8a5ae21aed2796ff7a6e2ef758
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 14:17:34 2009 +0200

    Use makeGPGSignature() for both DSA and RSA
    - in reality makePGPSignature() never gets called here due to other fun...

commit e3892e2c8de0640f3e527daf215bc9e03df1e32e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 14:09:42 2009 +0200

    Remove unnecessary {} block inflating indentation, streamline

commit a7051403f84887791a05eaa8e20d6782eb0147e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:51:47 2009 +0200

    Eliminate copy-paste digest calculation in rpmReadPackageFile()
    - for DSA and RSA we want to grab the hash algo from signature, other
      than that it's just the same for all header-only DSA/RSA/SHA1 sigs

commit 96e9d490a6ffc364ba9b2834bb778ec4c1411bbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:48:37 2009 +0200

    Eliminate copy-paste digest calculation in headerCheck()
    - for DSA and RSA we want to grab the hash algo from signature, other
      than that it's just the same for all DSA/RSA/SHA1 sigs

commit 14468255716a211064f7653e9f582f94f4c25f9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:23:19 2009 +0200

    Eliminate header/payload digests from pgpDig_s, they dont belong
    - allocate+free digests locally where needed, pass around in separate argument
    - use digest bundles to handle rpmVerifySignatures() needs
    - kill-kill-kill fdStealDigest(), dup the contexts from bundles as needed

commit 3f6b2f8c7b7b79a59664e16d6d350acb54802171
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:10:23 2009 +0200

    Implement fdUpdateDigests() and friends using digest bundle

commit c9146aa580ab87b93ba5d68cde5b606652c93cd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 25 13:08:09 2009 +0200

    Add a type + basic api for bundle of digests (on same data)
    - in various places we need to calculate different digests of the same
      data, having them stored in a single container makes managing easier
    - can hold as many digest types as we support
    - remembers how much input data it has handled

commit 2e672f3fae9d8ff7ee64ae13cfa2fe65272c2ede
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 19 16:07:18 2009 +0200

    Show query/verify selection options just once in --help

commit 46f1247a276a66561b49f97364558bf8f89d2354
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 19 14:56:45 2009 +0200

    Python doesn't need libelf, nss or popt directly

commit 1df4d34fb97cd25134a89c06386b55dc98aa92f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 19 14:41:43 2009 +0200

    librpmio doesn't need libmagic for anything

commit fd2658ec8434768f75a6b6d007f7df5415f44004
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 17 16:33:12 2009 +0200

    Move leftover signature stuff from rpmlib.h to signature.h
    - these aren't really usable or useful outside rpm, and even less so
      as all the rest of the signature stuff is in a private header too

commit 298c919c00ffbc6ea988545092b02af5384bd7a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 19 10:15:49 2009 +0200

    Revert couple of checksum -> digest renames
    - physical cpio header and elf header have checksums, not digests
      (from commit 7acdfded4a82e86a673418c3953aa6bf8106d313)
    - doesn't affect functionality though

commit 54b027535f95fea9088f2cd12ed765fddb20c5c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 18 14:53:34 2009 +0200

    Don't try to parse %patch on spec query (rhbz#487855)

commit b187977fee788888007409465c7efa644d20ddef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 18 11:57:16 2009 +0200

    Doxygen parameter name mismatch

commit fa0898552d3c52249bc41e8104eda02c1bbd3359
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 18 11:24:52 2009 +0200

    Add support for "lzma alone" compression format (lzdio)
    - "lzma alone" is superseeded by XZ but it's used by Suse and Mandriva
      distros so it's nice to have as it doesn't need much, only open differs
      from XZ
    - rpmlib() dependency versions are an uuuuuuuugly mess here: Suse used
      "PayloadIsLzma = 4.4.2-1" so that's what we provide to be most compatible
      (hopefully). Built packages require "PayloadIsLzma <= 4.4.6-1" however
      to be compatible with Mandriva 2008.0. Did I already say it's ugly?
    - Based on similar patch in Mandriva by Per Øyvind Karlsen, but avoiding
      unnecessary renames in rpmio

commit 8078d0ba24662308b10d9eb0f0da978584b7e757
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 18 09:42:23 2009 +0200

    LZMA -> XZ renaming
    - what we support now in payloads is XZ, not the former LZMA format, rename
      user- and header-visible parts to match this
    - rpmlib(PayloadIsXz) dependency versioned 5.2-1 to avoid unnecessary
      incompatibility with what rpm5 has and what Mandriva is already using
    - only provide the rpmlib dependency if actually built with xz support
    - rpmFileIsCompressed() attempts to guess the magicless old lzma format
      by file suffix, so it can handle both right now

commit ff920a9766ea1f3ef9670c8031ff473adb0b0adf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 16 14:19:30 2009 +0200

    Handle rpmDigestDup() failure in signature checking

commit 847c991b2bde08dce508152278f515ae5ff97fd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 16 14:13:00 2009 +0200

    Proper error handling in rpmDigestDup()
    - tolerate calling with NULL
    - avoid allocations in case of failure
    - return NULL instead of calling exit(), ick

commit ed342d7df6523ae2f7f06e5bb02f766a37614bb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 16 12:25:03 2009 +0200

    Eliminate unnecessary pgpNewPublicKey() wrappers

commit f79353ea74c3ab255f2f9ee4b117a1fd93bb517a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 16 12:18:01 2009 +0200

    Eliminate unnecessary field from pgpDig_s
    - key/signature can't be both DSA and RSA at the same time

commit c769eb0244294c0a9ac002bd7ecd06bddc4cd3ae
Author: Florian Festi <ffesti@redhat.com>
Date:   Sat Mar 14 19:12:43 2009 +0100

    Free all keys not only those on the first buckets
     - Thanks to Alexey Tourbin for pointing that out!

commit 5f82119a306cc1e647e45df52b93989120e52b5a
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Fri Mar 13 12:50:35 2009 +0530

    - Cleanup: removing unnecessary repeated code.

commit c6c8fab76ab014cf311cae6ce1529788cd0da1d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 13 09:26:04 2009 +0200

    rpm-python only accepts string objects, not unicode
    - Reverts broken commit 832fe4f01865cd17ab9393fc48b960206da223b0.
      Anything trying to pass in unicode objects is already broken as
      PyString_AsString() uses default encoding for unicode conversions, which
      by default is ascii (at least in python >= 2.5) so any non-ascii string
      will cause it to fail anyway.
    - Only accepting strings keeps encoding madness out of rpm, thank you Toshio.

commit 9317ebc83f611075874713a1099b1f5aa14c969c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 13 08:55:53 2009 +0200

    Catch exceptions from python conversions in dbMatch()
    - Prior to this, string conversion (eg on unicode object) could fall
      through to rpmtsInitIterator() with key of NULL, matching everything
      and only much later spitting out an obscure traceback. PyInt_FromLong()
      can fail too, causing us to look for bogons.

commit ffe2f39adaea9f113a73aea4537a930ba99e49ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 12 11:42:42 2009 +0200

    MD5 and SHA1 digests are handled just the same here...

commit 8eb80293d7edb3c4276730519b42ae567a7198ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 12 11:39:29 2009 +0200

    Rip all handling of broken md5 sums from 1997, rpm 2.x era
    - we dont even recognize rpm 2.x packages as rpms...

commit 12f516842161899cdd9aa7fb5f215f19c7b7dab4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 12 11:17:27 2009 +0200

    Eliminate can't happen code
    - sigtd.tag can't very well be something else than it's matching case
      in a switch, eh

commit c1180e3c4334b850d50f618f59de09a9ea06a025
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 12 09:54:31 2009 +0200

    Silence compiler whining on rpmsort and rpminject

commit 23d202e928d4af945765e501ee8fc7bd0614510e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 21:43:44 2009 +0200

    Plug a memleak in genCpioListAndHeader()

commit 4cf26d30f8a066f855117d1661b23521e6eed647
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 21:41:57 2009 +0200

    NSS supports MD2, we might as well handle it too
    - also getHashType() is a "pure" function, mark it as such

commit 15042bc9095964f9fc5f5ed046f9299fad7663c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 18:10:19 2009 +0200

    Eliminate now unnecessary FDDIGEST_t
    - contexts know their hash algorithm, this is not needed anymore

commit 7fc5e62eaaccd75c1ef27b1c3d21e7cefacf2772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 18:07:22 2009 +0200

    Remember hash algorithm in digest context
    - alternatively we could reverse map NSS hash types (HASHContext
      knows its type) but shrug...

commit d05e4438a9efa5ad2cf0ecfef1b4537c37e132d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 17:14:25 2009 +0200

    Streamline rpmDigestInit() a bit
    - single point of exit, rearrange to avoid having to free if stuff fails

commit 31288616ce442203df626ef0a49ebc3893258fc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 15:28:30 2009 +0200

    Move headerIsEntry() check of sigtag into _chk() macro
    - ...and reformat the if-elses now that they fit into single lines nicely

commit c7aad74879349dcb0a7b3fbdae9ba4fdc54adea4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 15:16:26 2009 +0200

    Size signature failures are always RPMRC_FAIL
    - these failures cannot be "fixed" by importing a key, RPMRC_NOKEY is wrong
    - streamline a bit by assuming failure

commit b8b970a94c310346666069c781dc185d6a54aff0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 15:07:06 2009 +0200

    Eliminate asserts() from rpmVerifySignature() paths
    - handle rpmVerifySignature() getting called with NULL result cleanly,
      the lower level code doesn't need to double-check

commit 827101840f7327c117467a5afe063b21cd105920
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 14:51:46 2009 +0200

    Minor cleanup + simplification of DSA and RSA sig checks
    - eliminate unnecessary local variables
    - initialize on declaration where reasonable

commit cf2637fbb96eb84d7c5a70df8179abc439359472
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 14:30:16 2009 +0200

    For RSA sigs, RPMRC_NOKEY is only sane for keyring lookup failure
    - non-keyring lookups fail with RPMRC_FAIL, streamline the code a bit
      by assuming failure

commit fc023a2885bb30ae65c5b56d687bfacaf6c62b77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 14:04:16 2009 +0200

    For DSA sigs, RPMRC_NOKEY is only sane for keyring lookup failure
    - assume failure and non-keyring lookups fail with RPMRC_FAIL

commit 73e0ee5df95ac22cbed73b18575d33c284f62975
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 14:01:11 2009 +0200

    We already assume failure, this is unnecessary

commit 32174fa9bf9fcb1f2655b46f04f6fbfc91704f06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 13:58:51 2009 +0200

    SHA1 and MD5 failures are always RPMRC_FAIL
    - these failures cannot be "fixed" by importing a key, RPMRC_NOKEY is wrong
    - streamline a bit by assuming failure

commit 8b771f6906d98563b9e1811482004c97d837d6e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 11 13:56:08 2009 +0200

    Use tag to distinguish header-only vs header+payload signatures

commit eab03f0e3b1d10e82ee20110bee8bc1d00ee991f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 14:27:08 2009 +0200

    Lift best signature detection out of rpmVerifySignatures()

commit 65f7f7c3ce1a9b5245bcd9deba0c6346cce9acd0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 13:52:41 2009 +0200

    Lift pgp parsing into separate function
    - similar to dc5fa254588be57a066ef4679c75e2bb3bda5fef

commit 33a6ed91e4a26201d2dec0bf04ab025642528b13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 13:45:12 2009 +0200

    Avoid rasprintf() on potentially NULL string

commit de00e073c83644976127ae271c476fba46e66596
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 13:38:26 2009 +0200

    Eliminate Yet Another temporary result variable

commit a526d10e4f84178a7a6fa6b8cbb384aa88c9b16f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 13:33:57 2009 +0200

    Further rpmVerifySignatures() cleanup
    - initialize variables at declaration time
    - split the formatting of the result spew into separate function
    - if multiple missing/bad keys, report them all

commit 24c14d0a2ee847b75cb3fe7a666b792ea303ef14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 12:10:49 2009 +0200

    Assume failure in rpmVerifySignatures()
    - simplifies the code a bit

commit 4ffdc83282e44d14115684d4349fc55506d3cbbe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 11:09:35 2009 +0200

    Use rstrcat() instead of rasprintf(), less fuss involved

commit 05e16d415492f4925782e3fcf6ef155cbdf124c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 11:03:08 2009 +0200

    Fix memleak on signature checking failure
    - early exit from header iteration loop could previously leak from unfreed
      buf and header iterator

commit 493913ed415acf8be26b13a785a9615ba5cb6981
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 11:01:32 2009 +0200

    Eliminate pointless {} block inflating indentation level
    - no functional changes

commit 65f3e55d3592da8fb482b5344a28013029199115
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 10 10:17:13 2009 +0200

    Don't return data from headerGet() on regionSwab() failure
    - callers dont expect to free data if headerGet() returns failure,
      leaking memory

commit 74c9a96c3c68de6376ee543d494a97c0f133bfaf
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Mar 9 20:19:37 2009 +0100

    Port XZ payload compression to xz-4.999.8 API
    - use SHA256 digests for archive error detection
    - use 100MiB peak memory usage for decoding
    - use better XZ detection in configure.ac

commit f70830356fd239d66e1aece81973ebc077acbe6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 9 16:44:47 2009 +0200

    Add test for _install_lang and status

commit cdcbd324fe41cd729434576200593c0fbda44a19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 9 14:57:46 2009 +0200

    Unbreak %_install_langs handling (rhbz#489235)
    - using rpmfiFLangs() in skipFiles() broke the %_install_langs logic,
      causing all files to be skipped if install langs, eek

commit 2b4507d852ac8469608bef2ce8e219d76b0c543e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 9 14:48:47 2009 +0200

    Fix RPMTAG_FILESTATES in rpmdb
    - sizeof(rpmfileState) != sizeof(char), and char is what goes to headers
      resulting in some pretty weird states despite being correct on disk
    - add rpm_fstate_t type for the header presentation of states and
      use where appropriate

commit 1c1faec7a30099f62c12ccef2f15e37a202e6518
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 8 17:38:49 2009 +0200

    Initialize on declaration, cosmetics only...

commit 37f85b81bbbd902f5c66a2cc539b97713d6e59ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 8 17:36:39 2009 +0200

    Dont bother retrieving colors unless actually needed

commit a526ff75f490b4f9a83909c856de2f21066a0f3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 8 17:28:17 2009 +0200

    Dont bother retrieving ts problem set unless actually needed

commit 90582c6103071cf73f79e7dcc2a260298aadf554
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 8 17:25:45 2009 +0200

    Dont bother retrieving altNEVR unless actually needed

commit ac7c3412278a03da6633758bca999827d4b59038
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Mar 8 11:33:22 2009 +0200

    Load macros before creating directories (rhbz#489104)
    - %_sourcedir and friends can have things like %{name}, load macros
      before trying to create any directories when installing src.rpms

commit e9cc481202429ed06b2b0b14cb1b1065df6c8ba7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 6 13:43:17 2009 +0200

    Document libcap, libacl in INSTALL

commit 095e1ba71d28300a31bf411f1e9045bbb539a130
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 15:12:02 2009 +0200

    Condense "shut up gcc" switch-cases to just default no action case

commit dc5fa254588be57a066ef4679c75e2bb3bda5fef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 2 13:23:35 2009 +0200

    Add internal helper to verify signature parse results
    - eliminates bunch of copy-paste variants of the same thing
    - additionally verify pgpPrtPkts() return code

commit c7fc09d585ff3831924f72f61d990aa791f2c3f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 14:40:21 2009 +0200

    Move the common part of DSA+RSA verification into helper function

commit 5cb107b843797307e2a0d21018707bd893222fe5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 13:41:27 2009 +0200

    Dont leak memory from hdrmd5ctx

commit d50db40ceed7083467f7b548da7b2fbe96aaec61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 13:08:30 2009 +0200

    Handle V4 signature trailer for RSA too (ticket #34)

commit 682b3d8aa9a0f0a777a3858887f09c1c098db649
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 12:20:44 2009 +0200

    verifySHA1Signature() doesn't need pgpDig at all

commit a54ab2c1b94416e4dbf36ecd26fe7885bcd19295
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 12:19:02 2009 +0200

    verifyMD5Signature() doesn't need pgpDig at all

commit baac9bd4f8e5f216729a5000429a4bda74aec01a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 12:17:21 2009 +0200

    verifySizeSignature() only needs size, not all of pgpDig

commit 30f60665bbbe2547551531a3da299ca8818e74bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 4 11:49:29 2009 +0200

    Eliminate unnecessary fields from pgpDig_s
    - sha1(len) and md5(len) are only needed and used locally in
      verify[DR]SASignature(), no point carrying them around in pgpDig
    - use wrapper function to hide type differences between rpm and NSS

commit d39a6c7de51c0d01ce69ee1f464b94ca70309751
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 3 08:48:12 2009 +0200

    Add ISA bits for alpha (Oliver Falk)

commit c45cfb9c047b05ca29acb8d42186e97e17204e27
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Mar 2 10:29:05 2009 +0100

    Fix documentation and help for the md5 -> filedigest move
    - add aliases for obsolete {RPM}VERIFY_MD5 flags to
      not to break API

commit 7acdfded4a82e86a673418c3953aa6bf8106d313
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Feb 27 14:34:39 2009 +0100

    Add md5->filedigest aliases (rhbz#487597)
    - add %verify(nofiledigest) as %verify(nomd5) file attribute alias
    - reference digests as digests not checksums
    - make old md5 related symbols obsolete and use newer reference
    - update man page accordingly

commit 299a7af7a8acc0fa4979d71dfaebe87658ee0c1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 26 21:48:06 2009 +0200

    Missing test material to tarballs, oops

commit fca96226f99c67b70854a66bf6eb8648497d9e23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 26 17:07:39 2009 +0200

    Permit python bytecompile to fail for now
    - various things like python templates in packages, jython code etc
      blow up on the syntax checking, only warn instead of failing the build
      until parametrized with a spec override possibility

commit 0e6c5e890460224f455c0ef9e516ea675b00208d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 26 16:38:10 2009 +0200

    Honor --nomanifest on install too
    - bit of a kludge but works.. and fixes test case 39

commit caf759f8ca53fc45f49f4bc07dbf1724ec9d5b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 26 16:09:51 2009 +0200

    Switch to libtool versioning, starting at 0:0:0

commit 3448b552964a526641d2e85b4ed27ebe3465f100
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 26 10:49:38 2009 +0200

    Handle empty argv passed to rpmdsDupArgv()
    - same as 94552b96256c3620b4be407c501d0d926c081963, apt-rpm expects to
      pass empty version as NULL to rpmdsSingle()

commit f6985705749403735207dee509b1a3e88a6df1ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 14:24:40 2009 +0200

    Clean up runTransScripts() a bit
    - move progtag figuring out of the loop, and return with error code
      instead of asserting on invalid tag

commit 493275977c5c3bf152d783a850eb5a45b2ade040
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 13:55:27 2009 +0200

    Single point of exit from rpmtsRun()

commit 8fd5ed25b4ae44b726894389927ca7cbfb691f55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 13:41:18 2009 +0200

    Split initialization of flags etc out of rpmtsRun()

commit 8dff47155ab8fa90fd2d219e68d0a8371902a4d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 12:35:21 2009 +0200

    Formatting cosmetics only

commit 690a297ec0974c28312ba73bf0cee2624527b8b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 12:31:22 2009 +0200

    Calculate need to chroot just once

commit 750a8e656252413b3290497444f2d403890ad8a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 12:22:21 2009 +0200

    Eliminate unnecessary variable
    - per-fi filecount only used once per loop for stats

commit 720a8ebe3183ec067aed1c55bf77ded8f57569f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 12:13:26 2009 +0200

    Push fingerprinting chroot in+out into rpmtsPrepare() too
    - rpmtsPrepare() can now fail (for chroot), handle exit

commit a309664ba3fd87b5fa7ce8ccd6b60a7a53754ae7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 11:50:23 2009 +0200

    Push the rest of the prepare-calculations down to rpmtsPrepare()
    - total file count only needed during prepare, pass around as necessary
    - all fingerprinting related activity (skipping files, memory allocations
      etc) are now handled locally from rpmtsPrepare()
    - throw out some ancient no longer relevant comments

commit 924a5d82f60a964b4fab7f173a3c86d94c831921
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 11:23:25 2009 +0200

    Eliminate fingerprint hash from ts struct
    - only prepare stage needs, alloc+free locally and pass around to
      helpers as necessary

commit 9e9060269386c76701358a9840a743008e0e37e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 11:15:53 2009 +0200

    Split fingerprinting stuff out of rpmtsRun()
    - only prepare stage needs fingerprint associated caches and hashes,
      push the allocations where needed
    - do fingerprint additions in separate function

commit 15f17c4b48ff75673acda7bb074ae5eea9a1787b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 10:40:43 2009 +0200

    Split prepare phase out of rpmtsRun()

commit ddf1df4abf7b6d810064de7e4a1c500ccda805c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 10:28:27 2009 +0200

    File skipping only done for added packages, simplify

commit 3bf701761e2ec16317d51835ac4c3e7f3f60e8b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 10:24:10 2009 +0200

    Eliminate unused variables
    - numAdded and numRemoved not used for anything at all

commit 68995d52386e7bd1512b9d8e9250ee8de833f21d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 10:13:43 2009 +0200

    Split sanity checking out of rpmtsRun() to helper function
    - with file counting done elsewhere, this becomes a clean and obvious split
    - ensureOlder() doesn't need ts, just needs the problem set, simplifies
      the problem set refcounting a bit

commit 1cce1b2444bd3f8c56dca01701b062f054f2832c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 10:10:38 2009 +0200

    Fix memory leak from unused problem set
    - checkInstalledFiles() doesn't need ps for anything, this just caused
      a memleak due to refcount

commit 62d27e0bd56b765bd32c22f4062e5b864fcf29c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 24 09:21:20 2009 +0200

    Calculate files in transaction just once
    - move file counting from rpmtsRun() and rpmFindBaseNamesInDB() to single
      helper, store result in rpmts struct

commit 7770aaea226b9a5fbb5296654eed8572f16e8e0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 23 14:39:48 2009 +0200

    Fix busted up Korean tranlations of manuals (rhbz#466597)
    - previous conversion to utf-8 (from 2003!) was busted, wrong encoding
      or something

commit 58e92b976aebe43ebddbe2d2ec41bff0dd46b6fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Feb 21 12:11:54 2009 +0200

    Loosen up restrictions on dependency token names (rhbz#455119)
    - Package names aren't restricted to ascii, no point restricting
      dependency names either.
    - This lets UTF-8 to go through but also all sorts of other junk but
      as we haven't got a clue about the specs encoding, no can do. So we
      only check for bad characters from plain ascii.

commit b86d6a76d71c037727b20172299d418c6bc4ae11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 20 22:02:49 2009 +0200

    Only run script dependency extraction once per file, duh...

commit 89a7b15c22df2c36d4fe85a5e08240a6044ef505
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 20 21:44:13 2009 +0200

    Check for errors from python bytecompile (Tim Waugh)
    - since we're byte-compiling all python pieces, might as well use the
      opportunity to catch syntax errors while at it

commit 519f8fce17fa9fbfabc5673bee1f5b3c23147306
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Feb 18 08:11:18 2009 +0100

    Revert fix for rhbz#442105, it has unwanted side effects
    - mainly RPMTAG_BUILDARCHS missing from SRPM in case of BuildArch: noarch

commit 73d7e90f5e074f8cf03dafa8a4493ca7cbd66848
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 17:57:35 2009 +0530

    -Moved maifest checking from rpmInstall to rpmCheckManifest.

commit 1fbdab96551c55e55fd6d9ebcf7b6a824e594816
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 17:30:21 2009 +0530

    -Move notify flag settings from rpmInstall and rpmErase to setNotifyFlag.

commit 182e2fdfd456257ce369e51c078dda914da42a57
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 17:25:09 2009 +0530

    -Move vsflags calculation from rpmInstall and rpmErase to setvsFlags.

commit 359e16d75f31a046d73e7e931743f94a43b502c9
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 17:13:20 2009 +0530

    -Remove stopinstall variable and moved rpmcliPackagesTotal to correct place. -Changes in rpmInstallSource for getting reused in install mode and removed.

commit 430b8cc3770413bc5b29688ce0823d15bb7de12b
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 15:54:31 2009 +0530

    -Use installInterfaceFlags in place of eraseInterfaceFlags. -Moved transaction part from rpmInstall and rpmErase to rpmcliTransaction.

commit 61a5043d7d04e2ba330a0441cbc1de5f9ea801cc
Author: Rakesh Pandit <rakesh@fedoraproject.org>
Date:   Thu Feb 12 15:49:28 2009 +0530

    -Merge rpmInstallInterfaceFlags_e and rpmEraseInterfaceFlags_e to rpmInstallFlags_e.

commit 51157419623f025149d154c8eb6a0874f1bc23f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 12 14:11:22 2009 +0200

    Only initialize file capability cache if actually needed
    - very few packages are going to have RPMTAG_FILECAPS at all

commit b9b8af5c4b9518fc36d6ab30b1e6124deb78dc8f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Feb 11 13:19:22 2009 +0100

    Fix output of pkgconfigdeps.sh so that rpmfc parses it correctly

commit d0595eaa8ad8a9155a0fa4b0b6f4b3d5ed08b2e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 10 14:11:28 2009 +0200

    Be more careful about errors in lua rpm vercmp()

commit 67d6e7549720551f4750ac303c50e6c7e6ca00f5
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Feb 11 10:03:16 2009 +0100

    Handle broken pkgconfig files better, rhbz#484970 (Lubomir Rintel)

commit 750802fd5f1accd5eacf54e3676f656019a24d1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 6 09:10:23 2009 +0200

    Bump FileDigests rpmlib dependency version
    - should've really been in commit 1f6ad324dbf4bebec905ddbb76d274345673a5b3,
      the tag adjustment is an incompatible change from what was in
      rpm 4.6.0-rc's, ugh

commit 3d314301ca11b10d2fed8f7a48acb735847d78b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 22:37:27 2009 +0200

    Use per-rpmfi string cache for file capability strings
    - most packages wont have file capabilities attached at all, and even
      where present, the files with capabilities are likely to be few and
      far in between, avoid wasting memory

commit b04c67136f6e980f7eeabd5708e37ac078b0275c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 17:22:00 2009 +0200

    rpmfi is only needed by verifyHeader(), push it there
    - no functional changes, just slight reorganization

commit 990bdf1683c6aec9caeadeeb959029dc411935f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 12:34:07 2009 +0200

    Fix typo in python bindings documentation (Masatake YAMATO)

commit 1c3bd7c7ca56acfc4611fb8535acd453c159dc20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 12:20:20 2009 +0200

    Exclude bin and sbin directories from python bytecompile (rhbz#182498)

commit f456b6feb12e84379e9b3f4c44c71b1260947de2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 11:36:58 2009 +0200

    Updated Brazilian Portugese translation (Igor Pires Soares)

commit 62091898aeae70f71d13923f18855174a7a65251
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 5 11:32:18 2009 +0200

    --requires lists required capabilities, not packages (rhbz#483253)
    - also fix a minor typo in --whatrequires description

commit 5e71c9bd7635aff9630f74f1b19fabb81ff798de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 2 14:24:33 2009 +0200

    OSGi dep extractor update (rhbz#466111):
    - From Alphonse Van Assche: "This patch fix some parsing bugs and add some
      new functionality (disable for now)"

commit 6ce7def270994a675836e2b945a7f70eb2b03c2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 2 14:17:27 2009 +0200

    Prepend PKG_CONFIG_PATH on pkgconfig requires extraction too (rhbz#473814)
    - similar to ab02fb183a441b6a30c863aebf49be992cd431fe but for requires

commit 1f6ad324dbf4bebec905ddbb76d274345673a5b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 30 13:53:18 2009 +0200

    Undo tag clash on RPMTAG_FILEDIGESTALGO[S] with rpm5.org
    - no rpm.org distro uses non-md5 digests yet for anything real, revert this
      unnecessary clash while we still can

commit 64335052e35836168f18e190da464b8c2abe0373
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 30 08:28:57 2009 +0200

    Try to play nice with OpenPKG (rpm5.org) packages (rhbz#478907)
    - rpm5.org writes populates lead with partially bogus data, but
      does have explicit RPMTAG_SOURCEPACKAGE for srpms, dont think of them
      as binaries
    - switches around the lead check in 50a4ed783c300a92948f7933a3c726d4bd2d643d
      to look at source type explicitly and retrofit RPMTAG_SOURCEPACKAGE
      for srpms early, this lets binaries without RPMTAG_SOURCERPM
      (which is documented as "information only") and with explicit
      RPMTAG_SOURCEPACKAGE be identified correctly

commit 81afe5e6a210171f58c989bc43bab1881821ddad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 30 08:18:58 2009 +0200

    Updated Swedish translation (Göran Uddeborg)

commit fe720f6c3c0657d0ed4fc3855ac85a727dac47ce
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Thu Jan 29 20:42:43 2009 +0200

    Improve Qt translation support, particularly --all-name.

commit dbc1f4ccf66451568a0a6b6ffd4252475a30b341
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 28 16:34:06 2009 +0200

    Don't throw away modified config files on cross-hash upgrades (rhbz#479869)
    - different digest types can't be compared, take a backup to avoid
      data loss
    - Patch from Miloslav Trmac

commit 381605a9bb32cf88209a2dbb72f58c31167779e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 28 13:21:39 2009 +0200

    Honor rpmtd type, not tag type, in rpmtdClass() (ticket #25)

commit 216eb1c7e02b4bfb9a1d301538b41533db489b55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 28 13:17:17 2009 +0200

    Add API for getting the class of tag type directly
    - no point requiring going through rpmTagGetType() if we already have
      the type at hand, and in some nutty cases (wrt extensions) these dont
      even always  match
    - rpmTagGetClass() is now just a convenience wrapper around
      rpmTagTypeGetClass()

commit fe846402a45dc1ceadf3a7538071b40b0fd70a60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 27 14:21:40 2009 +0200

    Add RPMTAG_SOURCERPM to gpg-pubkeys in rpmdb
    - ptooey, but otherwise gpg-pubkey "packages" are considered source packages,
      thanks to Ville Skyttä for pointing this out

commit d55660aaf0dbf86a73e58479a47055c9e6e8bbab
Author: Alexandr D. Kanevskiy <kad@kad.name>
Date:   Sat Jan 24 00:18:34 2009 +0200

    Added ARMv7 architecture support

commit 0611b59a4a408579db66f0742a7df5ca6c001fec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 23 14:34:08 2009 +0200

    Check for binaries in noarch packages at build-time
    - this will only catch elf files for now, but better than nothing
    - default to terminating build (as binaries in noarch package is pretty
      nasty thing to do), permit macro override just in case though
    - only works for internal dep generator

commit abe5f4abac7a282a15de5325954c3a09893769c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 23 10:08:53 2009 +0200

    Update dbi tag names for Filemd5s -> Filedigests change, oops..

commit 111efde99a42c8841fa50d682fd340c73c00268b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 22 12:09:45 2009 +0200

    Return NULL instead of blowing up on invalid rpmpsGetProblem()
    - thanks to Pixel for spotting

commit f128fea076b510bbe934579d9821eff5f9dff802
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 20 14:48:05 2009 +0200

    Add a bit of documentation for headerGet() flags

commit 9f755c72c7390304e8799edae3afbf872ad4cff9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 20 14:16:58 2009 +0200

    Grab dependency name & version strings as argv-style arrays
    - Related to ticket #22, this fixes rpmdsMerge() on data grabbed from
      header. Prior to this, the following would blow up with memory corruption
      as headerGet() string array wasn't NULL-terminated
            rpmds d1 = rpmdsNew(h, RPMTAG_REQUIRENAME, 0);
            rpmds d2 = rpmdsSingle(RPMTAG_REQUIRENAME, "foo", "1", 0);
            rpmdsMerge(&d1, d2);

commit 05f5c353242d0dfa70ef49918c73c92dec923920
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 20 14:15:24 2009 +0200

    Add headerGet() flag to request argv-style NULL-terminated string arrays
    - easy to do and some places would like the data this way so why not...
    - also add corresponding rpmtd flag so caller can verify he got what
      was requested

commit a46dd884ec348b3ce23b9f53302e6626a90ae631
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jan 20 12:55:35 2009 +0200

    rpmdsMerge() expects ds->N and ds->EVR as argv-style arrays (ticket #22)
    - use rpmdsDupArgv() instead of cloning headerGet() behavior to fix this for
      rpmdsSingle() and rpmdsThis() generated dependency sets
    - this is a regression from rpm 4.4.x, but for rpmdsNew() created sets
      rpmdsMerge() has never worked as headerGet() doesn't return NULL
      terminated arrays

commit 6bd713ab319514d655d0466330a246703a7c16ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:50:18 2009 +0200

    Update / clarify documentation on building API/hacking docs

commit 479a4a9d75a1973247f1a937228ec96479f88c31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:37:09 2009 +0200

    Don't segfault on "" rcfiles argument (spotted by Pixel)

commit 2084762882240f9a5b5bc27c4623291e745611a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:29:48 2009 +0200

    Missing space in Russian translation (patch from Mandriva)

commit b4bb89603844699754695e9f1484779e758060f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:27:39 2009 +0200

    Use temporary table for Depends DB in sqlite too (Olivier Thauvin)

commit 2a20195616ad366f060bea772342a99b96735205
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:25:55 2009 +0200

    Fix segfault if ts rootdir is NULL (Pixel)

commit ffcd6a60fc38dfe0d10f22c6023df3e932996310
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 19 14:21:45 2009 +0200

    Fix memleak from i18n strings if retrieved with HEADERGET_ALLOC

commit 0b2d7775c5e828652e45829f551352b93890bbc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 17 14:15:50 2009 +0200

    Make it possible to disable %pre- and %posttrans scriptlets (rhbz#475582)
    - rpmtransFlags_e is overcrowded, map to "regular" %pre and %post
      scriptlet behavior for now
    - split up the transaction flags at some point to permit more precise
      control

commit 947ad7acb3e237446f0e20c0009e9ae07e0f26dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 16 09:09:40 2009 +0200

    Add getenv macro, use instead of $(echo $HOME) for defauls
    - inspired by http://lists.rpm.org/pipermail/rpm-maint/2009-January/002332.html

commit 91e0004f0bb772e7e6f9f84b8a476b5e5783d97e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Jan 15 13:25:08 2009 +0100

    Update Brazilian Portuguese translation (rhbz#480040)

commit af9801a162ef41ca85ca62a30b17f745d2ac855a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 15 10:28:13 2009 +0200

    Add extra parameter to rpmteClose() to control fi behavior
    - pre/posttrans scripts should leave te->fi alone, now it was getting
      nuked, oops..

commit 6d26397a616586999f93fc4de30203db267a28f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 15 09:22:58 2009 +0200

    Make sure global state gets NULLed on free
    - otherwise repeated read config -> free config like rpmbuild does
      will crash and burn
    - somewhat kludgy, figure a better way to do this

commit 267e77f1c1ef007138610a8812a7ca1e3b632eca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 14 15:18:25 2009 +0200

    Add central Lua shutdown function and use it
    - makes sure lua garbage collect runs
    - memory used by lua gets freed

commit 6be1bdf1252c42a1b7329185b0c6e589b47ca948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 14 15:09:25 2009 +0200

    Add librpm level lua extension stub
    - inspired by rpm5.org, details differ
    - just rpm.vercmp() for now
    - push all Lua initialization to rpmLuaInit()

commit 2e0d5ef2d0b90fc43ac015396e78cd15225bb86e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 14 14:39:55 2009 +0200

    Add rpmluaGetGlobalState() to internal lua api
    - retrieve global state, init if needed
    - inspired by rpm5.org, details differ
    - use it for initialisation in rpmrc instead of abusing rpmluaGetPrintBuffer

commit 11c6c2b00454c68dba6cd17600bb7f8e1acada99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 14 10:52:41 2009 +0200

    Actually check for dbenv->failchk() exit code
    - failchk() can't resolve all cases, we shouldn't try to continue if it fails

commit 2f239d1dfa47da51ebc002f1229eecf3c71b3271
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jan 13 19:28:47 2009 +0100

    Remove redundant anyarch check

commit f4c997cac8a9205067a584f03ed7039cd0877b4e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jan 13 19:26:35 2009 +0100

    Simplify group tag inheritance for a bit

commit cc38c36a3163f17110d8005bf5069465b27cdc6c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jan 13 09:20:00 2009 +0100

    Inherit group tag from the main package if unspecified (rhbz#470714)

commit 744846875b198558c904fa9fca3c55bfcfb647cb
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jan 12 16:15:27 2009 +0100

    Ignore BuildArch tags for anyarch actions (rhbz#442105)

commit 0ba387b45b71096a75eb66bb38805af99d0c70b8
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 9 17:27:35 2009 +0100

    Make the data array part of the hash bucket to save one pointer per bucket

commit a7716784f26c11efe00cc737246f63e29a1aac71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 12 12:57:03 2009 +0200

    Updated German translation (Fabian Affolter)

commit e58db2eda1609a8b48d8248390a2d87ff99fdd6d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Jan 11 16:54:07 2009 +0100

    Don't check package BuildRequires when doing --rmsource (rhbz#452477)
    - export doRmSource() and make it more consistent with the API

commit 1909784075c064ec8102b785415e6e7b832df3c3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Jan 11 15:23:59 2009 +0100

    Don't fail because of missing sources when only spec
    removal is requested (rhbz #472427)

commit 83e5726aadf1ca9111f3cf61130b2be9e3ea4c29
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 9 17:13:19 2009 +0200

    javadeps format string fix from Pixel

commit e1474f4b1d71a0021ca359dbdd60a17984eb0ff2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 9 17:05:40 2009 +0200

    Don't bother calculating string sizes manually
    - ...and one less strcpy() to grep for

commit 00d48deffecb109c1dcfff2ee9c9a27ca412a16f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 9 16:59:43 2009 +0200

    Fix buffer overflow on oversized filelist entries (susebz#397006)
    - original fix by Dirk Mueller

commit fcbe5a6e01661e0ffc75a95252789f6309373edf
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 9 15:36:36 2009 +0100

    Implement dbiGet and dbiPut as normal function

commit a3d682200bd0a74f2c05f9f618700ebcbc00e0c7
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jan 9 15:25:56 2009 +0100

    Remove unused database intex functions: dbiCdup, dbiAssociate, dbiPget, dbiJoin
    and their implementations in the backends

commit 6e816c44dc70197477845de924b9d58f35d01e6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 9 15:05:40 2009 +0200

    Don't try to create "" directories

commit b7ba50c3a5ab54a142d6616f1f4029c475f23cf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 15:04:58 2009 +0200

    Update docs wrt gpg path macro (rhbz#476201)

commit 685361038e87d321bd0f0d1451471df923ce667b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 13:57:59 2009 +0200

    Don't bother translators with messages from unused utilities (rhbz#466834)
    - these things dont even get built normally, translations hardly needed

commit 5ff05aec30ddceb0fc8f2ecd7797aa7bdc9bc96d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 13:17:22 2009 +0200

    Delay NSS initialization until actually used
    - since NSS is allergic (ie becomes non-functional) after forking, delay
      it's initialization until really needed, ie lazy init in rpmDigestInit()
    - however as NSS init can fail if attempted in completely empty chroot,
      we force crypto init to happen at transaction set create time, forking
      past that is pretty much doomed anyway
    - this is the other half of the fix for rhbz#476737, and similar case
      noticed by Pixel in Mandriva (due to urpm forking)

commit c895fb1541f5edbdc53eb6d70eb6157566e6e528
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 13:03:55 2009 +0200

    Only touch _crypto_initialized if we actually change it

commit fa299eec0cca00e87a826e2c487705cb6c80c217
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 12:24:50 2009 +0200

    Cast to intptr_t instead of int to kick out the final warning

commit bb45458b6eb11149011a88d12b38f05569571c6a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 12:07:54 2009 +0200

    Include isaname support for arm (Kedar Sovani)

commit 4516645506211e32f64b1cffc20d1a93d7e47f4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 11:47:31 2009 +0200

    Make rpm_tid_t unsigned type to shut up remaining compiler warnings

commit 882e8df3d0b0d1f88db7550fcc83b821dc0ba93a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 8 10:38:29 2009 +0200

    Don't segfault in pgpPubkeyFingerprint() if rpmDigest* fails
    - this can happen if NSS is not properly initialized, such as after
      forking
    - partial fix to rhbz#476737 (as in "doesn't crash"), deeper issue is
      that NSS init needs to be done later than we do now

commit 4bf615989c2c7519abab043f4a152f594d8b7a69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 7 15:54:06 2009 +0200

    rpmRelocateFileList() doesn't need rpmte for anything, just file states

commit 54cabb77124e633e7c60b6293869bf72665abb32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 17:43:37 2009 +0200

    Validate + sort relocations in rpmte at create time
    - instead of storing "raw" relocations in rpmte to be passed down to
      rpmRelocateFileList() for copying over and sorting etc, do the work
      just once at rpmteNew() time
    - much of the real work to relocate header contents still needs to be done
      twice as the header gets thrown and needs to be reconstructed in
      rpmtsProcess()

commit c115ea730ff7ac078f4269328b4b558f08911d25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 20 09:41:04 2008 +0200

    Split saving relocations to header out of relocateFileList()
    - also realizing we can just headerMod() the td's we originally got,
      they contain the modified data now... duh :)

commit 0d472e2574009a895ff2bb7f7f36bf99847e2778
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 20 00:43:51 2008 +0200

    Split sorting out of relocateFileList()

commit 0b8f01c19a4ad1ca8957e9c3c78e79f7ee442905
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 20:05:55 2008 +0200

    Split RPMTAG_INSTPREFIXES addition out of relocateFileList()
    - just splicing up the monster function...

commit 36541e3b99afefa86ee6cd285aa2927be26e7d0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 15:02:34 2009 +0200

    Relocation needs to be called even if no relocs specified
    - relocatable packages expect RPM_INSTALL_PREFIX in scriptlets even
      default prefix is used, relocation adds RPMTAG_INSTPREFIXES

commit 0ab10fbf3f9e3432f180f1033b4900e2d0521657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 11:25:03 2009 +0200

    Lose deprecated DETAILS_AT_TOP doxygen setting

commit 122e2d204e0bdcf081bf1bd05f410a6040a110bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 11:18:46 2009 +0200

    Eliminate header magic duplication all over the place, export it
    - avoid several copies of the same thing...
    - there are valid reasons for wanting to know header magic outside librpm,
      export it as rpm_header_magic

commit b0a4ff421bec790eaa3c16684e7ffcc49ac92314
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 10:42:54 2009 +0200

    Use enumeration for header flags

commit 3de166775cac39a3fc34f225ef4859517040b328
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 5 10:39:15 2009 +0200

    Remove unnecessary HEADER_FOOTAG definitions
    - header.c can include rpmtag.h these days

commit abaa8d12b777d03fb9800953ad6a3c9997fdcc40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 2 12:27:32 2009 +0200

    rpmte struct is now fully opaque throughout rpm

commit 54e77ab1e3f0773527ab06294792af23b3b6d780
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 2 12:25:02 2009 +0200

    Use rpmteSetFd() instead of direct access to rpmte structure

commit 7d80218f391cf2d6902eb6c031d117956f05e8e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 2 12:21:52 2009 +0200

    Add rpmteSetFd() (internal) function
    - this is dumb as only rpmInstallSourcePackage() needs, figure out something
      better eventually

commit c9e46a798598e30e152338c95225a25072264022
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Dec 23 09:48:16 2008 +0100

    Increase XZ decompression memlimit

commit 64c16c1fa88b35f95726203d23a26de0002f1b85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 22 15:30:23 2008 +0200

    Eliminate silly and now unnecessary rpmts(Set)RelocateElement() stuff

commit 16987711822e1443792ab5dd09666a7acff93095
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 22 15:29:52 2008 +0200

    Perform relocations from rpmte instead of rpmfi
    - rpmte has all the necessary bits at hand, rpmfi does not
    - avoids silly ping-pong through transaction set to get to the ts element
    - avoids recalculating number of relocations
    - avoids accessing rpmte struct outside rpmte.c

commit dd91ff060c2053a482fd540afa8e30c1f874f3ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 18:59:38 2008 +0200

    Perform relocations *before* filling out rpmfi structure
    - no need to fuss about recreating bits and pieces of rpmfi after the fact

commit 107d941650eb34197d52404859da9ddf4bf02bc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 18:49:09 2008 +0200

    Avoid a whole lotta shuffling wrt file info header
    - We're not making copies of header or anything here, all this linking
      and unlinking is unnecessary. Just have relocateFileList() modify the
      header we pass to it, as that's what it's doing *anyway*

commit 41b1fe84cc1bb66a9ea4f8e704b3c671a71e2607
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 17:46:16 2008 +0200

    Ignore rpmfi flags for basenames + dirnames
    - we make a copy if we modify, doesn't make a difference

commit 31a2eac384b7527471d25f1f93be017882c98aea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 17:44:33 2008 +0200

    Sanitize file modes handling in relocation
    - we dont modify fi->fmodes so fi->scareFlags is irrelevant, just use minmem
      always
    - use rpmtd accessors instead of direct access

commit 1c20dc3aa1de5c2f73a49ed0a2d40b1ef5c005af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 17:34:40 2008 +0200

    Remove unused file/dir color calculations

commit 881a0034f7a93dd19de5fd90c5ad46edc2936c10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 17:27:28 2008 +0200

    Save some trouble by grabbing malloced copy of dir indexes

commit 8becdbfd73d49ca353254d4e40687a9399e240ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 16:19:32 2008 +0200

    Remove couple of leftover, unused local variables
    - one more fi-> access still lurking...

commit 8db2c32a74cb667051b2b824e434b1e13da6511d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 15:05:54 2008 +0200

    Eliminate last remaining fi-internals use from transaction.c

commit 897bbbd7086ef90840a89d7d0bf39721dd698b24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 15:04:51 2008 +0200

    Add internal rpmfi apis to deal with fingerprints, use them

commit fe5e906ab2cfe9ed82ba7fa63277d5ce41451b87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 14:57:37 2008 +0200

    Eliminate file info set argument to rpmpsmNew()
    - ts element carries the info already, no need for separate argument

commit cbcff3bd99f11ad2e8ff8e37ebd32993f25d9a2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 14:34:45 2008 +0200

    Optionally reload ts element file info in rpmteOpen(), free in close
    - avoids having to muck with te internals here and there...

commit 87cf7db1edb922587dd26bb19abada7c4fba51c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 14:13:48 2008 +0200

    Use rpmteSetFI() to clear memory instead of direct access
    - also fixes memleak in case rpmfi has no files

commit de383d126a9e2789afbda412bb8e8d6d02462fee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 14:04:18 2008 +0200

    Add rpmteSetFI() ts element method

commit 4d1826f63fc022456f083076c27313e52a57d24b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 19 13:18:31 2008 +0200

    Free rpmfi fingerprints in rpmfiFree()

commit 83f02cbb74d150cc1c05d73286a4be803f1d5316
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 18 11:57:02 2008 +0100

    Reduce the hash size of the fingerPrintCache by factor 4

commit feaad9829a264e2dff3549c165278a8629b32c59
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 18 11:54:45 2008 +0100

    Do only add symlinks the the first rpmFpHash as these are the only one we really need in there.
    Also reduce the hash size.

commit e6f1c592fb7db65d3fd5756d202ec9c4a75ec34b
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Dec 18 09:41:12 2008 +0100

    Reduce the size of the FpHashes by factor 4.
    It turns out that large hashes leave a lot of buckets
    empty without really reducing the maximum of collisions
    a lot. Tests show that the collision lists are only 2.3
    items on average and the maximum is only about 1.5 worse
    than with a big hash table (~12 for large hashes).

commit b2496694fac38f07d1be61abceaacc46db12ab1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 18 11:48:09 2008 +0200

    Oops, rpmfiFInode() gone missing...
    - forgotten from commit 9c15574bae8b11a7381c01a1af39e0d59558bad5

commit 465841e8501762b36899b6f31b47968efbe74538
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 18 10:01:01 2008 +0200

    Check chroot() result in psm too (Pixel)
    - bail out early if it fails instead of blindly continuing and potentially
      messing in real root (chroot can fail for priviledged user too)

commit e0f57801c0cb035814509bdae13c3e859d471d59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 18 09:51:37 2008 +0200

    Permit --noscripts on verify (to disable %verifyscript execution)
    - this used to work but got broken by the rpmi/rpmq/... unification

commit 766821b8a30bc962c8c3b1e5542882110c197d68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 15 10:26:45 2008 +0200

    Check for termination signals during query loops

commit 7d371fdaa3a796fd23d18ffc80785637262c7434
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 10:17:48 2008 +0200

    Add public rpmfi function for retrieving digest algorithm of the set
    - the information is already available through rpmfiFDigest() but that
      requires valid iteration index to be active, whereas the digest algo
      is per info set, not per file

commit 5e23e148aab02a37e0f64c1987aaaf0c80963845
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 10:11:59 2008 +0200

    Avoid direct access to rpmfi directory indexes

commit 3c22ec586f58e210331988b56873a109f74ca182
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 10:07:41 2008 +0200

    Add (internal) rpmfi accessor for dir indexes
    - except for dnli->active setting in dnlInitIterator(), "give me
      directory matching this basename index" would be sufficient

commit f19c89778520b8c9e61db8744cb45abf489c6132
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 10:01:10 2008 +0200

    More rpmfi direct access avoidance in fsm
    - the remaining bits need further accessors / refactoring

commit f32e6c9d05db10122166d15694ad91a68268a9d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 09:54:29 2008 +0200

    Avoid most of direct rpmfi accesses in dnlInitIterator()
    - need to add an accessor function for fi->dil info

commit 284de053fdbc7cd9de2614dc4af042d29abfd190
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 09:52:31 2008 +0200

    Avoid bunch of now unnecessary direct accesses to rpmfi struct in fsm

commit f7275ffa1321e6d123ff434e00e4c39b302f83f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 09:23:40 2008 +0200

    Use indexed accessors instead of direct rpmfi struct access in fsmMapFCaps()
    - also rpmts is unused here, remove

commit b24b9ab7ffffda9841a031d75ce444a223d3cb07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 11:19:24 2008 +0200

    Avoid bunch of unnecessary direct fi-> accesses for file and dir count

commit 42df29f4e45ed5cc1e990637ca555b954b980673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 09:15:27 2008 +0200

    Use indexed rpmfi accessors instead of fiddling with iterator index
    - saving and restoring rpmfi iterator index has unwanted side-effects
    - reverts brokenness from 6fd987b7291fb1306297c193f4ab01bf6cd02618

commit 9c15574bae8b11a7381c01a1af39e0d59558bad5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 11 08:57:16 2008 +0200

    Add indexed accessors for rpmfi data, internal only for now
    - fsm in particular wants random access to rpmfi data and there's little
      reason to deny it, file info data is not going to move to linked lists
      or anything like that anytime soon, permitting indexed access allows
      eliminating direct accesses to rpmfi struct

commit ac9c8dc48a8f3efb662b7d615c6a0c94fbe42018
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 8 17:46:36 2008 +0100

    use RPMFI_KEEPHEADER instead of numerical constant

commit 6e7b664e81b37be79d3dfdda4c7a72c4b7fdc760
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Dec 3 10:59:05 2008 +0100

    Kill rpmfiUpdateState and free all the rpmfis as soon as file conflict check is done

commit 395b5cffd5a64cdd2a4c2ade06a1a0b8b38d59eb
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Dec 3 10:39:48 2008 +0100

    Move ->actions from rpmfi to rpmfs
    and adjust all code using it
    also "revert" a4e345455d817ce6c56940600d652ee3ae0aa5d5
     "Move file action calculations to rpmfiNew() where possible"

commit 9c9410dc7afb3bfa9b47d2d4691fabd8f067c86b
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Dec 2 10:11:44 2008 +0100

    Move the run time part of fstates from rpmfi to rpmfs. Keep fstates in rpmfi as long as it is a real tag read from the rpmdb.

commit 8fa80b0f35574683beb19930264fa3b572c5ed24
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Dec 1 21:34:59 2008 +0100

    Create a new datastructure rpmfs aka File States that contains the information what to do with the files of an transaction element.
    This patch moves rpmfi->replaced over to rpmfs. Move struct members to follow.

commit 196cc2ad71a6af90961ab62f9f32fc14f7c61878
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Dec 9 16:24:16 2008 +0100

    Nuke the useless bits of rpmsort.c declared in global scope

commit 95b8a910893bba3ad66507975cd96f1c082004e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 14:58:43 2008 +0200

    Update testsuite expectations as per array format change, add another test

commit b838d10e0cf3d747ac0ce5b756688e6677dbc513
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 14:52:12 2008 +0200

    Return nothing at all on empty array queryformats
    - (none) might make some sense on non-existent tags elsewhere but
      it's plain annoying on arrays

commit babf17a17dbad3593fe23a407932ba703b5d6d76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 14:15:45 2008 +0200

    Throw out ancient python/ChangeLog

commit 2ba56c673bf1c168cccb827938c09f5ff2a3beda
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Dec 9 12:47:50 2008 +0100

    Move declarations of local variables for parsing functions
    from global scope. Compilers aren't that stupid these days

commit 0643dd44e6e243870868b0fb8196adad1632dfbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 13:23:00 2008 +0200

    Test for fakechroot in configure
    - only needed by the testsuite
    - optimally testsuite should skip parts needing fakechroot if it's not
      there but at least this'll leave a trace into rpmtests.log...

commit 7115b8257edc2374b4833e7c4d23ae94a24f52ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 10:06:39 2008 +0200

    Add "deptype" format extension

commit bafed0d85c12a2e709dd1a50c817361659bfbd11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 9 09:51:17 2008 +0200

    Oops, missing wrappers for C++ in headers (ticket #12)

commit 50a4ed783c300a92948f7933a3c726d4bd2d643d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 8 19:51:10 2008 +0200

    Work around broken packages which dont have RPMTAG_SOURCERPM
    - check the lead type and headerIsSource() agree on the type and if not,
      fix it up based on the information in lead

commit 826969f2c7307e7292f192fd10625d863d656723
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 8 19:50:07 2008 +0200

    Add function to retrieve type from rpmlead
    - for some messed up packages there's no other reliable way to determine
      source vs binary than looking at the lead :-/

commit 0eb0e79a80e20723d0ebe58996bc3f30a3feabe7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 8 18:46:02 2008 +0200

    Fix segfault on packages without separate scriptlet program tags (rhbz#475214)

commit ab02fb183a441b6a30c863aebf49be992cd431fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 5 21:44:43 2008 +0200

    Fix pkg-config provide generation on interdependent .pc's (rhbz#473814)
    - based on Arjan van de Ven's and Dan Nicholson's suggestions

commit 9799e69263d94ba1aca61795645c750bcd497ee5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 5 21:17:16 2008 +0200

    Avoid "template" which is a reserved word in C++

commit cc74d50a6dadfa30914844e6c4c0513287bf7f68
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 5 13:38:30 2008 +0200

    Tighten up setting and checking of buildroot (ticket #10)
    - expand, set and verify buildroot just once for after main package preamble
      is parsed to avoid sub-packages from overriding it
    - spec can still mess with %buildroot by defining it to something else
      after preamble but that's another issue...

commit 23c55fa997b66f39a50c34512fb07c78343f1062
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 22:30:35 2008 +0200

    Adjust test result to meet current expectation

commit e232344a496798e4ca143630a127d8ead086eb7c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 21:55:52 2008 +0200

    Pay more attention to tag extension return codes
    - behave like headerGet() does and return failure if there's no data
      to return
    - some cases where we used to return nothing previously now return (none)
      in query, but the former behavior was inconsistent between tags
    - not sure if (none) is really wanted for a return of no value always,
      but at least it's consistent now

commit 1f61d628fdd07a11aa7a84dc15a74150865e575f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 19:10:41 2008 +0200

    Fix triggerconds return when no data is there (rhbz#474550)

commit 144463a82d493981281dda24cdbb4b785f7bbab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 19:04:14 2008 +0200

    Avoid rpmtd abuse to report "(none)" when no data is found
    - simplifies things quite a bit and avoids having to deal with
      numeric data suddenly appearing as string elsewhere

commit d9082ba95ccb911a452803078eece0140097e78c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 21:25:12 2008 +0200

    Comment out rpmbuild --root tests
    - no point testing what's not really ever been implemented

commit c0e6b4579fa0e392dd2de1d4aa0245983c58ae06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 21:23:06 2008 +0200

    Add a pile of queryformat tests
    - a few fail, and for a reason (rhbz#474550 and breakage from
      tag class changes)

commit ba87a938b77c7ab9ffa4cca1255a877600ba2305
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 4 10:23:40 2008 +0200

    Fix python header retrieval return type for non-existent tags (rhbz#473239)
    - array / not array return needs to be honored even when tag doesn't exist,
      wtf have I been thinking, duh!

commit 5e5aa256d70987dca7af5e6cbeb9269ead0e3011
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 3 14:56:52 2008 +0200

    Add tests to verify on-disk status after install+erase

commit 34159ad112684156aac6e91364c7c7bce1f1df14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 3 14:17:25 2008 +0200

    Add test to verify status of installed files

commit d54e0e899f02b3e492e7f8e73c10f9c3a8f53034
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 3 11:29:19 2008 +0200

    Remove unnecessary fiddling with rpmte internals
    - rpmtsClean() will free the transaction element we added and rpmteFree()
      will in turn close the file descriptor, free headers etc

commit 0b80d38f32b438d81d47fc61074b1f163518d68f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Dec 1 12:16:56 2008 +0100

    Include rpmfileutil.h from rpmmacro.h so that
    prototype for rpmGenPath() is included (rhbz#473420)
    - unbreaks net-snmp

commit 7ea78b4927bdf86bc09f2dee025cb43c44609099
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 1 13:03:05 2008 +0200

    Retrieve header from rpmdb on rpmteOpen() if possible, even for TR_ADDED
    - as rpmte now knows if it was already installed and the exact rpmdb
      record, we can avoid having to re-re-re-open the package in %posttrans,
      this means yum & the like can throw away package immediately after
      it was processed (rhbz#457126)
    - rearrange rpmteOpen() code a bit, split the actual header retrievals
      from fd/rpmdb to separate static helper functions

commit c99197616491693fa0fec5ff39ac4c2cd336f65b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 17:36:46 2008 +0200

    Set/clear rpmte db instance on RPMDB_ADD / REMOVE from psm
    - transaction elements now know their real status all the time now

commit 31f0e1db5897d127cc772e775d522ff551b36cc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 17:28:11 2008 +0200

    Record header instance on rpmdbAdd() on success

commit 5d1791e32aa8d4b7baef2639a097af7a6efb665e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 17:22:24 2008 +0200

    Add and use (internal) method for setting header instance
    - avoid mucking with header internals directly...

commit dc818e63544f8cdd53bb6e1f2a6fba70f6aea437
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 14:07:03 2008 +0200

    Move install langs to per-transaction level
    - install langs is clearly a per-transaction thing, avoid checking
      and splitting etc over and over for every package
    - also if any of the %{_install_lang} is "all", disable all language
      processing as we'll be installing every language anyway

commit 5dfc982dda733dbf06128358816bf6d91cd18c2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 13:51:32 2008 +0200

    Move netsharedpaths to per-transaction level
    - netsharedpaths is clearly a per-transaction thing, avoid checking
      and splitting etc over and over for every package

commit 26da2e12d7b11d967656a19300ed871f21bfed63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Nov 30 13:02:34 2008 +0200

    Eliminate unused filename field in rpmts_s

commit 0372f7d8b4ea14f8248fa287fe43eaf04e93a638
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 29 14:34:01 2008 +0200

    Read default popt aliases again (rhbz#473167)
    - makes testsuite depend on local aliases but using default popt config
      is widely documented and needs to work, testsuite needs a better method
      of disabling it if necessary

commit 604a54277ed21f1fd983c205ad7d36feb3950ce1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 29 13:52:32 2008 +0200

    Unify dbiIndexSet allocations, allocate in power-of-two sizes
    - allocating in even sized chunks helps avoiding crazy memory fragmentation
      when resizing a lot (rhbz#472507)
    - HEAD doesn't really need, rpm 4.6.x does, but doesn't hurt either...

commit 881f14d277eefc70d65bf48b1837f0219572f397
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 29 12:04:46 2008 +0200

    Use proper type (unsigned) for index set offset/count

commit 2d918b5aa0a4afec407937bb6e1d4b7ae6ba4be3
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 28 12:16:00 2008 +0100

    Delete _dbiIndexItem.fpNum as it is no longer used and also does not really fit in there

commit 17f2cbe6e617dff5516498dd3b4cf15da6d0e747
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 28 11:14:41 2008 +0100

    Delete rpmdbFindFpList and skipDir
    as those are replaced by rpmFindBaseNamesInDB
    and parts of checkInstalledFiles

commit b12afb1a40d0acdfa9fee058c9c0ef2c5891690d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 11:35:56 2008 +0200

    Oops, it wasn't unnecessary include afterall..

commit 0b5e0fb58c0577af6824d313c2a06045e94da70f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:59:14 2008 +0200

    Remove unnecessary rpmfi_internal.h include

commit b76b945b2dc3aee2db429f5bc422780c71b802f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:48:22 2008 +0200

    Add + use internal rpmteHaveTransScript() function
    - struct rpmte_s is now fully opaque within transaction.c

commit 8b7cb846d4e466461e9faa34d354cef986ed4472
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:28:10 2008 +0200

    Eliminate the now unused ts element field of file info sets

commit 2654bc49ab3ac604a3ecd0a39c5815927bbe112d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:25:47 2008 +0200

    Eliminate rpmtsiFi(), use rpmteFI() instead
    - rpmtsiFi() is only used within iteration, so we already have the
      element, no point in recalculating it
    - also eliminates the sneaky side-effect of setting fi->te which otherwise
      wouldn't exit

commit 9a155dd3505aa4e708c0ad9e0da747626a93c6f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:22:45 2008 +0200

    Avoid unnecessary use of file info sets transaction element
    - ts element is available, no need to go backwards

commit 48cefd2d785d3ba70eb5636789d63dd14c229e7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 10:02:00 2008 +0200

    Drop the useless "tag" argument from rpmteFI()
    - only RPMTAG_BASENAMES was ever allowed as the tag, makes no sense
    - API change but AFAIK nothing outside rpm itself uses it anyway

commit 01739ef5d6a56cea818f88a693a21359e3badca3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 27 09:39:40 2008 +0200

    Eliminate silly rpmfiTypeString()
    - Transaction elements are install/erase type, not file info sets,
      rename to rpmteTypeString(). It's only "useful" for fsm internal
      debugging messages, hide it there.

commit c2bde085f546efe016419ee286b2448f63c3a0e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 16:14:29 2008 +0200

    Eliminate fi->te use in fsm

commit 610347de6e07e7cd4ff13cfa9467280ed5e8c175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 16:08:04 2008 +0200

    Pass rpmte to fsmSetup()
    - fsm needs the transaction element for progress notification and
      element type anyway

commit 54b683d2f395998178b760257f1145c246f9e09f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 16:01:40 2008 +0200

    Remove bogus consts from fsmSetup() args
    - rpmfi is messed with (at least file actions)
    - const on typedef'ed type doesn't mean a thing anyhow

commit 5bfe30320102e54a0428eb500fe19ec8f7adb5e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 19:04:02 2008 +0200

    Use rpmteNEVRA() for scriptlet messages now that it's possible

commit e56768c279b7214300bade2e82ab90e4d1afe7ff
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Nov 26 16:43:49 2008 +0100

    Increase memory limit for LZMA compression
    so that everything up to level 9 gets safely
    expanded

commit d6f6d2b565f8ccb005b3230fa987a9d961c64533
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Nov 26 16:35:07 2008 +0100

    Initialize the LZMA encoder/decoder on demand, not both

commit 2494b26f01ae7447365fd3b62d028e4402f9cff5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 17:41:22 2008 +0200

    Fix up couple of missed pieces rpmffi_s fi->te switchover

commit 7ef6ab6bcf220ca411f764d18ee2b7efef9b81d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 17:05:26 2008 +0200

    runTransScripts() don't need no steenking rpmfi's now

commit 2fb2614c38cd6b7be7ce5698aef03876074eb790
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 16:35:21 2008 +0200

    Lose unnecessary and silly rpmpsmGetTs() internal func

commit 26faceebed701d23e775f68d3b10b3ec93cac3ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 16:32:36 2008 +0200

    Resurrect rpmVerifyScript()
    - fake up a transction element set that we can use to convince psm to
      execute the script
    - a bit hacky but by no means worse than the former fi->h abuse with
      scaremem and all

commit 30d15deedf6b4fc7cfb7d3c252f9d838445979af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 14:01:38 2008 +0200

    Rip the remains of fi->h in psm
    - erasure doesn't need the special casing anymore
    - remove useless comments

commit e939e16364fa4a42880e2b15727c8aa68b83b257
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 13:44:51 2008 +0200

    Use ts element, not fi header for PSM_PKGINSTALL (PSM_POST + PSM_INIT)

commit af4d4ed806347acd3cb58d9885191b6a9444233a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 12:53:46 2008 +0200

    Use ts element, not fi header in PSM_RPMIO_FLAGS and PSM_RPMDB_ADD

commit 25a02d47bc766386e526c38c9db03a1fbbc4f5f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 12:39:37 2008 +0200

    Make psm scriptlet operations use ts element header instead of fi
    - this breaks %verifyscript operation (temporarily)

commit 440e843f87d190bc197c398510b89d8225a38bce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 12:22:10 2008 +0200

    Lose now unnecessary PSM_RPMDB_LOAD stage and rpmpsmSetFI()

commit 801a36d69beffc383b5cf4fbb63534ead9dfe84a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 12:17:47 2008 +0200

    Rework rpmtsProcess() to use rpmteOpen+Close for both install and erase
    - both cases behave fairly symmetrically now
    - helps streamlining the process, we get the transaction element and
      file info for it before creating the package state machine so we dont'
      need to fuss around with updated file info etc

commit 8690479c3c4a1434624341db8b5a1f3914b26911
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 11:51:30 2008 +0200

    Teach rpmteOpen() and rpmteClose() about TR_REMOVED type
    - for open, fetch the header from rpmdb, closing is nearly a no-op
    - allows install and erase behave more symmetrically, and also paving way
      for better erase callback notifications and other things
    - watch out for them refcounts...

commit 1cbb50c7b99803613b3dea967bc51b3e2687ffe5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 11:46:20 2008 +0200

    Record failure of install/erase into transaction elements
    - add rpmteMarkFailed() (internal) and rpmteFailed() methods to rpmte
    - skip any elements marked as failed in rpmtsProcess()
    - this is fairly close to the previous "now mostly broken" hack, except
      we remember more than one failure so it's slightly better and it's
      possible to do much better by making rpmteMarkFailed() smarter

commit 504b2cf8a74962910502d9389d8e175cedd8fc93
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 26 16:29:55 2008 +0100

    Change rpmffi_s to contain a rpmte instead of rpmfi to be able to get rid of fi->te

commit a3c316bbcb77849258474242ee862426f521a3f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 26 08:58:35 2008 +0200

    Don't bother zeroing rpmte twice on free
    - delTE() already zeroes it out

commit 4e4a7a2d8cd9aa99d6767e90a45c9c8940e07bff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 25 18:06:31 2008 +0200

    Add rpmhash.[CH] to EXTRA_DIST so they get included in tarballs

commit ca8c7dcaef9ed791563d38bfa24c65fcc0edcbd6
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 25 16:05:00 2008 +0100

    Switch rpmfiUpdateState to the new ->replaced API
    and free the additional allocated but unused memory

commit 028030350a623e4c00c8ecb3c39e09fbb73d1ce1
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Nov 25 14:33:11 2008 +0100

    Kill handleRmvdInstalledFile by moving remaining code to checkInstalledFiles
    Switch to strict use of rpmtd accessor functions

commit 93ca811b4ff30659c67aa2c54957abe6cafe5acb
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Nov 25 14:12:50 2008 +0100

    Port LZMA (XZ) support to the new API
    - get rid of the obsolete "alone" LZMA file format
      and hacks around it

commit 5dfa17a77c4335dadc652d6c93df2a8bb30c3393
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Nov 25 14:11:08 2008 +0100

    Use the new LZMA (XZ) magic

commit c8d0ea1c7203070fb4553a243418be9608912f25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 24 16:45:22 2008 +0200

    Move transscripts stuff from rpmfi to rpmte
    - transaction scripts have zero to do with files...

commit dc8f991671b7e0171b6052bc11021e48b16bedf3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 24 15:39:17 2008 +0200

    Unify statistics timer calls for install+erase

commit bc5c667d4f95a6d277860f22889e0be98404f8d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 24 15:33:23 2008 +0200

    Unify install+remove logging, unnecessary code duplication..

commit 5e4d353d7924dd63d36e5bc20ec37a2303966216
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 24 15:31:31 2008 +0200

    Lift the main install+remove loop out of rpmtsRun()
    - no functional changes

commit 9c66a6daa71bf34dbdf3e8b5f4e7a4fc63d0b322
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 24 14:34:59 2008 +0100

    Fix timings and no longer pass the file count more than once.

commit 024e370ae700640bfdd9a0d77cb927ed14a1cd01
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 24 14:10:11 2008 +0100

    Remove check that is commented out since ages

commit c849fac52da4aec3ed133ca65885d8fd2e29416b
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 21 15:00:36 2008 +0100

    Remove no longer needed sharedCmp

commit 490a0e4affd79908f54f21a5c4c4f5d94521b9d3
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 24 13:36:28 2008 +0100

    fix statistics for looking up symlinks

commit 95de4c8fef3ad2a5db1d818e4149568e0b9d476b
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 7 10:58:25 2008 +0100

    Reimplement the check of the files in the transaction against the files in the rpmdb.
    Use a global list of packages/files from the rpmdb that may conflict with files in the transaction to avoid loading packages from the rpmdb over and over again.

commit 35f0d2d3bc1d95993f25b8318d8fb9e33d02360f
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 19 17:11:59 2008 +0100

    switch to new rpmfiReplaced API

commit 2f58ae809f18aa9fa5ce76900f298ad17ea24283
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 19 17:09:57 2008 +0100

    API for accessing and creating fi->replaced
     - new API is not compatible with accessing fi->replaced directly!

commit d0651021fd0f8edc31332f9f440ce8b51d9b1b2e
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun Nov 9 18:02:20 2008 +0100

    Expose rpmdbSortIterator in rpmdb_internal.h

commit 69b4090f81c06f12bfd4a9003020f540aebb6442
Author: Florian Festi <ffesti@redhat.com>
Date:   Sun Nov 9 17:54:47 2008 +0100

    Add rpmdbExtendIterator to do repeated searches

commit 88db14fc6e116c67c42c9b56122e2163399994d2
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 5 15:11:55 2008 +0100

    Support leaving HTDATATYPE undefined to use hash as key only hash (set)

commit 4662e50781d6cef4761bd34bbee7312b3012dd10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 24 13:33:41 2008 +0200

    Add couple of tests for symlink <-> directory behavior

commit f0d61e42cf69164dca0d20e48caf1643616db2f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 18:00:10 2008 +0200

    Remove RPMCONFIGDIR sedding from Makefiles where no longer necessary

commit a15a475a409e4f929736d28af10bb55b5dfee17c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 17:51:42 2008 +0200

    Don't bother setting rpmrc specifically in tests
    - RPM_CONFIGDIR environment is used

commit a0d1153085ed74f758b5f104eef3be1e73506973
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 17:47:44 2008 +0200

    Remove -DRPMCONFIG from CPPFLAGS where unnecessary

commit 68230da9cea19ea989c94f4872289e9b5cb2d736
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 17:36:05 2008 +0200

    Use %{_rpmconfigdir} throughout configuration macros and such

commit eac0666a1f53ac1192f6962c94274c7c845fd236
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 17:21:33 2008 +0200

    Set _rpmconfigdir macro on initialization

commit 59d5892627638ed9f04fab74cb13592cd4b34e1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 17:12:54 2008 +0200

    Use rpmConfigDir() instead of hardwired path for rpmrc + macro locations

commit a8abeef91f0669e726e0b9ab398d56cc38efa3c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 16:44:33 2008 +0200

    Use rpmConfigDir() instead of hardwired value in Lua initialization
    - userconfig is actually unused

commit 43b08986a8aa0464566716f6fe0d510e96cd77bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 18:08:40 2008 +0200

    Use rpmConfigDir() for finding our popt alias file
    - this allows popt aliases to be reliably available in tests
    - why do we have the popt initialization done twice?

commit da83a562e1fd81402a39b7c3edfdc413fa860d8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 18:06:31 2008 +0200

    Add function to retrieve rpm config base directory
    - one-shot to determine configuration base directory path from
      RPM_CONFIGDIR environement or build-time default
    - rpmfileutil is a bit strange place, this would really belong to librpm
      but Lua initialization needs the path so...

commit 86645ffd4f45a799bc904df56ca9b2f48641d245
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 15:37:00 2008 +0200

    Nuke leftover reference to brp-sparc64-linux
    - missed from commit cbbb03e3a34d492a7163f5a02f77b7e806702b41

commit 53b14ecfea90116ce4fc1182cc645f77c4f49527
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 14:07:34 2008 +0200

    Add keywords to all tests
    - just initial groupings to have something there..

commit d3d3454a47da54991262b8a93711de56ed2fdffc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 13:45:17 2008 +0200

    Add basic tests for Lua's rpm and posix extensions

commit 4ba4e709efd8f88a7bb5a0db8121f57c937615d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 13:26:43 2008 +0200

    Add banners for nicer test output

commit 19a41acb84dcb3c5e6381199f8385bfa4e48e803
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 13:20:33 2008 +0200

    A few more basic macro functionality tests

commit d6ea0224cc7a3e0c7dec7edfa8ba210ada9e6167
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 11:45:55 2008 +0200

    Add couple of tar build tests + another version of hello tarball

commit 1c57e1d337c00b475253c522461f689e911bc426
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 11:22:01 2008 +0200

    Add some (trivial) macro evaluation tests

commit a5ff12cc192f7a2a4bf0506006b50f7452be4cab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 10:28:59 2008 +0200

    Add a couple of tests for installing non-existent files and such

commit 0bcdd93151c21b78ff64d05c05711b0bf79966c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 22 01:15:20 2008 +0200

    Add some basic tests for config file behavior

commit 9844bfc9b776b00c56dd389bfe5fb4807b189d59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 23:59:25 2008 +0200

    Add some basic tests for file conflict behavior

commit ab3e32ad97e1c2143560ceb1aafb7c7bb85cfdcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 23:29:54 2008 +0200

    Add basic version comparison testing for install/upgrade

commit 357a7170fa04b5e28c75f4669689cd727b1cfd20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 23:28:21 2008 +0200

    Simplify the run functions, fix --define behavior

commit 08c81de2ee753778763810add5221e9162d925cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 17:48:27 2008 +0200

    Hackery to get rpm install tests to "work" with fakechroot
    - fakechroot throws it's own curveballs into the already mixed up thing,
      copy things to the test dir and set chroot base to that to avoid
      confusion with cwd and such
    - klunky and ugly but at least the tests pass now when running non-root

commit db6c332c49885163de3b83e200e0b40dcac05dc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 17:39:39 2008 +0200

    Add + use wrapper function for calling rpm commands in tests
    - avoids having to define --rcfile etc over and over again

commit ddf59da4183f578cf1b7238892776bd64340282f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 16:13:03 2008 +0200

    Kill the last remaining varprefix
    - we're just mangling varprefix to localstatedir anyway, might as well
      just avoid that little extra trouble...

commit 3a03a2fc4617efd8fb9f90d5279a10f0d4df1ef3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 13:28:35 2008 +0200

    Define TOPDIR once in atlocal.in

commit 50e59e92dccdb246e07860bf20e38c5a586b67ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 12:02:17 2008 +0200

    These tests are expected to succeed

commit 31475056f8f03ff983ad4f640330865d7d9ef701
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 17:59:03 2008 +0200

    Rpm is supposed to create build tree by itself, don't help it

commit 217e5700c0cd76cfce32a50a11d7cb8b719dd446
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 10:04:41 2008 +0200

    Fix build tree creation with relative paths for %_topdir and friends
    - rpmtsRootDir() gives "/" even if root not actually set which makes sense
      for most operations but not when we're creating build directories

commit 5e58eeb2d7d0fa301785e5299b3f92da9aa64dc2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 09:50:53 2008 +0200

    Permit relative paths in rpmioMkpath() and rpmMkdirs()

commit 19c5eb1ed89a103f9b16e04bf9adbf2f747d6146
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 21 08:57:12 2008 +0200

    Update --querytags test vrt FILECAPS

commit f9ed52c0c7a29aa64bc44f94f7b102775ce4be44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 11:47:52 2008 +0200

    fpCacheCreate() already doubles the size-hint, dont do it twice

commit 2a1e88d27e8c1cecfe4fadff15f04c87c31c689a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 10:26:22 2008 +0200

    Use per-rpmfi string cache for symlink targets
    - few files are actually symlinks so this is very sparse data
    - per-rpmfi instead of global as link target names are not that likely
      to be shared across packages
    - another few megs saved...

commit 5487213d18c356512655e93b7ee246d2895198c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 10:15:08 2008 +0200

    Add functions to create and free string cache(s)

commit 325198377df0be04a801d4f4c10dc698ce9d6c38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 09:53:27 2008 +0200

    Use global cache for file languages too
    - there's only a very limited number of language names ever present,
      and most files don't have languages attached at all
    - another few megs saved on memory

commit e5d97430b62ed01bc3311de83eccdf48bb20a8cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 09:40:46 2008 +0200

    Use rpmfiFLangs() instead of direct access to structure in skipFiles()

commit 0c4aa20a0a2ed4e8316a7f468da4e249a19aed41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 09:36:47 2008 +0200

    Add rpmfiFLang() method for retrieving file language(s)
    - hardly anything needs outside install internals but it's harmless too...

commit 3bdac8f451062b5bd7a68205feae0dd0c71a336d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 20 09:26:12 2008 +0200

    Generalize the user+group string cache + helpers

commit f90f2f10155ebb010b3ff3119be31fd8600c1cb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 18:17:56 2008 +0200

    Be more intelligent about storing file user and group names
    - User and group names contain an enormous amount of redundancy: typically
      most files and directories are owned by root:root. Store the each unique
      name just once into global cache and store indexes to the cache into
      rpmfi user + group arrays. This saves several megabytes of memory on
      a transaction of non-trivial size...
    - The cache implementation is dumb, but it's not noticeably slower than
      uncached version, copying megs of strings around is not cheap either.
      Easy enough to replace with a hash-table or such if performace becomes
      and issue...

commit 6fd987b7291fb1306297c193f4ab01bf6cd02618
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 16:07:15 2008 +0200

    Make fsmMapAttrs() use rpmfi methods instead of directly accessing
    - Save rpmfi iteration index on entry, restore on exit to avoid clashing
      with other users of the given file info set. For now...
    - Remove unnecessary re-initialization of uid and gid in case not found

commit 3b8ebf377bcab9a796304056a24cd3155fa23938
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 15:52:03 2008 +0200

    Oops, file modes are needed on erase too to avoid suffixes on directories

commit 36d4908efe80c72a48bdce31132c4b6331c9c094
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 15:46:02 2008 +0200

    Use matching type for fsm->digest to avoid unnecessary cast

commit 3eed102f115bac5dbf37b4866b3d2deaf5760ec8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 14:06:37 2008 +0200

    Erm erm, really use the rpmfi creation flags in rpmteNew()
    - this part was missing from 763cbf05b57da940d2972e0b448548481be400c6

commit 2a50bb83889aab7a2c65402fb7eabb548594cd0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 13:04:07 2008 +0200

    Erm, really do lazy allocation of fi->replacedSizes
    - this part was missing from 9bde09b59969088c06eb6f5b8a2597b2e04bd306

commit 9bde09b59969088c06eb6f5b8a2597b2e04bd306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 12:00:10 2008 +0200

    Add + use internal helper function for getting+setting rpmfi replaced sizes
    - lazy allocation on set, otherwise there's no replaced size - the getter
      deals with this transparently
    - saves a fair bit of memory, by no means everything has replaced files...

commit d0b088328549c6693b127decbc1b0b8c0513a539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 11:59:53 2008 +0200

    Eliminate unnecessary fi->record field
    - transaction elements carry the db instance already and is available
      where needed

commit e3370d3b470cb19773d69c1fac5cf2a5766a0857
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 10:02:16 2008 +0200

    Avoid unnecessary mucking with rpmfi internals

commit 30fb610125d57bfdeab38a1811bf563bf264180e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 09:45:05 2008 +0200

    Refer to psm->te instead of fi->te in rpmpsmStage()
    - transaction element is passed to psm, might as well use it

commit 140f0c8c8339524968e9ca595fabe9a28b38f49f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 08:16:03 2008 +0200

    Restore SIGPIPE to default action for scriptlets (rhbz#471591)

commit 2ca4430dd7d9c295b97cd2362a91dfe3f8819ab3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 19 08:10:21 2008 +0200

    Updated Brazilian Portugese translation from Igor Pires Soares

commit 763cbf05b57da940d2972e0b448548481be400c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 18:54:26 2008 +0200

    Use finer grained rpmfi creation flags for in rpmteNew()
    - also call the erase flags erase, not remove...

commit 78e8e7c02cefc2643159f333c3067fa77108ccf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 18:36:45 2008 +0200

    Limit the data rpmfi loads in query
    - makes queries a little bit faster, hardly makes a difference on
      modern hardware but loading unused data seems silly anyhow...

commit 0e65e6e92cd3c0e6e796b6595bbf1ff709d54375
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 18:32:58 2008 +0200

    Add preliminary rpmfi flag groupings for base operations
    - just a start and probably not 100% accurate..

commit 219ba347365e226f87d2d489e105a52a798c0284
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 17:38:53 2008 +0200

    Add control bits for all (relevant) parts of rpmfi data
    - permit fine grained control over what's loaded into fi for what operations,
      non-trivial memory savings are possible
    - future possibilities - these reflect closely to rpm verify control
      bits, all we need is RPMFI_DISK or similar operation to pull the
      information from disk instead of header and then verify can simply
      compare two rpmfi's

commit 9444f2d7f5bf0ffcd81fac0e04f0e831ac276306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 17:12:55 2008 +0200

    Remove useless default flags and action fields from rpmfi
    - fi->actions is always allocated so fi->action is never used for anything
    - fi->flags is just as unused and unnecessary

commit f41bd90c2ac156e459e7af368481471b701ed887
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 16:33:07 2008 +0200

    Nuke useless rpmfiFContext()
    - it only ever returns NULLs because there are no security contexts in
      headers (and having them in headers make no sense as the context varies
      based on whatever selinux policy happens to be active on the target
      system)

commit 937d814328caba4383b8c3c71265268bb9797840
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Nov 17 13:44:06 2008 +0100

    Fix indentiation

commit 73c17671de0bf017c9600504f11a1cdf79d0ce26
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Nov 18 11:23:26 2008 +0100

    Add AC_CONFIG_MACRO_DIR for the new libtool

commit dbad382930c65934dcd204212c373e7ac20ebd09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 11:30:43 2008 +0200

    Don't bother loading FILELANGS for installed packages
    - only useful for anything when installing packages

commit 03d0f43f0bf4d2883a822277c7a9ae2936b3a699
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 06:58:13 2008 +0200

    Lazy allocation of FSM for file info sets
    - new more or less internal rpmfiFSM() to create FSM on demand, move
      mapflags calculation there

commit 61794cf2c0575de8d557b06df7e94865d7afe592
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 06:28:23 2008 +0200

    Remove now unnecessary fi->keep_header

commit 341aaa65150049ba88308ff692eafcd9834997f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 06:26:02 2008 +0200

    Remember rpmfi creation flags

commit ff9733b6fd8cb7dc8afccf38833d26d0363aeef7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 18 11:22:26 2008 +0200

    Generate and insert SOURCERPM tag earlier
    - needed to make checking for source/binary package in rpmfiNew() reliable
      at build time

commit 8d6c4b8c95b59f5a71d90c582c2e98f5c7ed7b9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 17:29:31 2008 +0200

    Add + use internal helper function for setting rpmfi file states
    - instead of directly accessing the array from fsm, use a helper function
      which lazily allocates the state array as needed and sets state
    - also fixes the silly case of non-installed packages showing their files
      as "normal", ie installed (now it shows "no state" as it's not relevant)

commit 4927190cf1d0a2ac902bdf5d7fe5742539c4bb37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 16:12:04 2008 +0200

    Simplify rpmInstallLoadMacros()
    - fi argument unused, remove
    - no relevant return value, make it void
    - handle any proper data type for per-header macros

commit 936fc19176c7baec9871bf8fd5aa6a1d56e02d00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 16:04:48 2008 +0200

    Avoid reconstructing half of rpmfi manually in rpmInstallSourcePackage()
    - similarly to commit 53ee682a491ceee4392815075cabbe58d0cc0c22, arrange
      the header to contain necessary paths before calling rpmfiNew()
    - avoid unnecessary accesses to rpmfi internals otherwise too

commit a919e1d631f50b29c5d917d9bfb65f7413a59782
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 14:21:38 2008 +0200

    Unnecessary local variable, result only needed once

commit 4181d7adadecf64102e620a23a697c756e3602c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 18:44:00 2008 +0200

    Assume failure in rpmInstallSourcePackage()
    - avoids bunch of redundant assignments

commit 899dfb58927ec6e91014773430824462f4d0002e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 13:39:22 2008 +0200

    Calculate total file size correctly in build (mdvbz#45820, rhbz#247374)
    - delay total size calculation until the real file list is known, ie
      in genCpioListAndHeaders() where duplicates and excludes have been
      weeded out

commit 74ed5372f681a31987ba931d72ed5d8ae96f52d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:44:57 2008 +0200

    Make depflagsFormat() accept any numeric type

commit 05a3d00162fe343002e378e42f6458139093ba52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:42:53 2008 +0200

    Simplify xmlFormat() by taking advantage of rpmtdClass()

commit 8ef09ba46c4698ac5a00b496c9ab4a9596bfa31e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:41:24 2008 +0200

    Make fflagsFormat() accept any numeric type

commit 53dcad2f9d5e13e246775c3b052c025406100a0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:39:13 2008 +0200

    Make permsFormat() work with any numeric type

commit 5580fe23d50b82971c3f0fb12bc613ac64fcdfb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:37:42 2008 +0200

    Make triggertypeFormat() work for any numeric type

commit f31b790c31d017b9fbe75d1af822c8b438c0cd84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:34:22 2008 +0200

    Make shescapeFormat() to accept any numeric type

commit 2b3380aa3455cd6aa3a86491c33c15648360f6fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:29:01 2008 +0200

    Take advantage of rpmtdGetNumber() for date format specifiers
    - dateFormat() and dayFormat() now work for any numeric type

commit ee6c147a239feb6a5587758b19192f274bd0a529
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:23:19 2008 +0200

    Take advantage of rpmtdGetNumber() for numeric format specifiers
    - octalFormat() and hexFormat() now work for any number, not just int32,
      fixing rhbz#471820
    - use a common helper-function for both formats, they only differ by o/x

commit d97e357560ad9111b95da9bf2126a7bde3b4bac1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:16:51 2008 +0200

    Simplify stringFormat() by using rpmtdGetNumber()

commit 2db2c376b322bd2940b15600357e9f22d8a55e0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 12:04:08 2008 +0200

    Add rpmtdGetNumber() for getting numeric values from tag container
    - returns the value (as opposed to pointer to, like the rpmtdGetUint32()
      and the like do) of any numeric type as uint64_t (largest supported
      integer type so everything can be converted to it)
    - handy when you don't really care what the internal presentation is
    - there's no rpmtdGetNextNumber() as there's no meaningful way to return
      end-of-iteration here

commit ed5306b0be4b8b0df205b066d2646b4e1dd93545
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 17 11:31:00 2008 +0200

    Introduce rpm tag "classes"
    - rpm tag data can be either numeric, strings or binary data, each with
      their own "subclasses" (different sized integers etc), add new
      enumeration for these
    - add rpmTagGetClass(), rpmtdClass() public functions for retrieving the
      base class of tag and container
    - useful for getting a basic idea how to handle tag/container data

commit 4fa662abd1d1f5b5f155a734d0e87aa7e7894ae3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 17:55:47 2008 +0200

    Use rpmpsmNew() + rpmpsmFree() instead of manually doing the same

commit 170f5bf7d6ce45142cb750d732a625c168c3f524
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 17:20:13 2008 +0200

    Eliminate bogus const from fi->apath

commit 32b347aa1f909618d739d611b6bb52cde12c3b30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 16:00:36 2008 +0200

    Eliminate match iterator from psm struct
    - it's only needed in local scope anywhere, no point having it psm global

commit 53ee682a491ceee4392815075cabbe58d0cc0c22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 14:22:47 2008 +0200

    Avoid having to reconstruct half of rpmfi manually in genCpioListAndHeader()
    - We need the on-disk paths for the cpio list in here, so instead of
      creating an rpmfi with wrong paths (for build purposes) and then
      painfully reconstructing half the fileinfo structures by hand, pass
      the on-disk path into rpmfiNew() to begin with and then switch the
      intended cpio path back into header.
    - Duplicates and excludes are already filtered out from the header filelist
      so walk that instead of spec filelist to avoid having to filter out
      duplicates and excludes, again.

commit 2d5b4e3bace86d9eea9024ca55de941fec2acc6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 13:22:19 2008 +0200

    Lose useless fsm/rpmfi astriplen field
    - only "used" for debugging output, duh...

commit 21c34a30eb1d8de4a66a9b4d0ec5e1b38cac4568
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 12:07:44 2008 +0200

    Don't bother creating a dummy transaction element for rpmfi in build
    - nothing in the build path requires fi->te to be present, so don't
      muck with rpmte internals needlessly

commit 3632ad454b4415a0f73abdad920cfe2ed79d023c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Nov 15 11:50:09 2008 +0200

    Minor genCpioListAndHeader() cleanups
    - rpmfiNew() only cares about ts for install-time relocations, nothing
      to "fix" wrt that
    - we know fip is never NULL (this is a static function with whopping two
      callers), don't try to cover up for potential programmer errors

commit 2eb2569d4662a3f0f391da9f0b50641495d9f6db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 14 22:45:42 2008 +0200

    Don't have to free what's not allocated to begin with...

commit 79225b74872717613c39ca23fbe48f521e4323a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 14 22:44:07 2008 +0200

    Add more flags to control rpmfi creation
    - RPMFI_NOFILELANGS to avoid loading lang data (only useful on install)
    - RPMFI_NOFILEOWNER to avoid loading of user+group data

commit 2835e091ae72ba53b3fac478a1e7d080affa4cfe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 14 17:16:42 2008 +0200

    Yank rpmfi state update out of rpmtsRun()
    - stuff it into internal rpmfiUpdateState() function to get it out of
      sight for now, the mechanism needs some...

commit ee59836299c5e1c293b64a826552cbfba5dcec12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 14 13:05:41 2008 +0200

    Move open + close of files during install to separate functions
    - internal rpmteOpen() and rpmteClose() functions replacing copy-paste
      slop between rpmtsRun() and runTransScripts()
    - eliminates bunch of rpmte privacy violations
    - rpmtsRun() doesn't need the file descriptor for anything, might as well
      keep it hidden

commit 0b0fe33d3c086e9bc3d7caa351a8304a64f724f1
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Nov 14 15:16:08 2008 +0100

    Allow setting custom parameters to patch (rhbz#471006)
    - added new _default_patch_flags macro with the rpm default
      "-s" parameter

commit e0e0a5e0352fcc8aebe5a4752d672399151aee3f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 14 09:47:43 2008 +0200

    Fix capability verification
    - the previous implementation was pretty busted up, cap_size() is the
      size of external representation, not sizeof(*cap_t) as pointed out by
      Andrew Morgan
    - check for cap_compare() in configure and use it if available (it's
      a Linux-specific extension to the posix draft and only very recent
      libcap has it)
    - if cap_compare() isn't available, use internal variant that does it
      the hard way by converting the capabilities to external presentation
      and comparing those

commit 9646a117c916022067fd07e4f6a7e25c5c9814de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 13 13:22:03 2008 +0200

    Filter out mtime difference of shared files on verify (rhbz#426672, #444661)
    - Since we permit shared files to differ by mtime on installation, it makes
      no sense to consider them as verification failure either. This has been
      especially bad on multilib where timestamp differences make verify warning
      lights look like Las Vegas at night. If file mtime on disk and header
      differs, check if it's owned by more than one package and if so, ignore
      the timestamp difference.

commit ed8b3fb2c54aab97b616e83a24a3f65a36f9c0f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 13 09:56:52 2008 +0200

    Move ts and preferred color fetching out of the loop
    - neither ts or preferred color changes per-file

commit ed9836dfba18ac021d8c083679db8d2a9e7c38a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 21:58:56 2008 +0200

    Remove unused fsm subbuf field

commit 526c052dd28e8c8ff68c15c752f7349e721b9f01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 19:36:58 2008 +0200

    Don't bother retrieving db offset for erase elements
    - not needed anymore, use -1 to mean "unused" and document dboffset
      to rpmtsAddEraseElement() as unused

commit c11c97b67cda698486cee26f0621231731c6ebcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 19:33:12 2008 +0200

    Take advantage of headerGetInstance() in removePackage()
    - avoids an extra argument, making dboffset argument to
      rpmtsAddEraseElement() unused

commit 3cfac308be04a96a192afa8be8f6a7c08bfbdfba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 19:24:58 2008 +0200

    Take advantage of headerGetInstance() in rpmte
    - rpmte db_instance and dboffset are exactly the same thing, unify
    - pull rpmte->db_instance from header directly, ignore dboffset argument
      to rpmteNew() (removing the arg would just break api needlessly, otoh
      it's unlikely that anything outside rpm actually uses rpmteNew())
    - eliminate the now unnecessary added/removed union from te struct
    - rpmteDBOffset() is now just an alias for rpmteDBInstance(), deprecate?

commit 0c707fe3707aae08ce6b00393ff625cf80547074
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 18:29:51 2008 +0200

    Grab rpmfi record from header on rpmfiNew()
    - avoids having to muck with it from rpmtsRun()

commit b9010a3510033bfd83f07b47eda1cfa269b38429
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 12 17:58:37 2008 +0200

    Add rpmdb record number to headers retrieved from rpmdb
    - set "instance" number on retrieval from rpmdb
    - add public headerGetInstance() function for retrieving the value
    - ported from rpm5.org, useful for number of things

commit 90cb50ff7abab62d99cfcda1f64f451aa2fe41cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:37:12 2008 +0200

    Convert obvious bits of rpmtsRun() to use rpmfiFAction()
    - remaining access to fi->actions is the nasty part of copying things
      around to transfer state

commit 2f6e1bbb809c7e15b30b909db1a810087c7f94a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:35:45 2008 +0200

    Convert skipFiles() to rpmfi(Set)FAction()

commit 2ee45ef12aaa958b78c56b6d83bb18aa6a477d15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:32:23 2008 +0200

    Convert handleOverlappedFiles() to rpmfi(Set)Faction()

commit 715917ba3754833031b605ec5b8d1c220774dc76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:19:29 2008 +0200

    Convert handleRmvdInstalledFiles() to rpmfiSetFAction()

commit ac2eb4f66d954fd9ae7f5b49e3dbc28b348d3657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:17:10 2008 +0200

    Convert handleInstInstalledFiles() to rpmfi(Set)Faction()

commit 78df12924875d332a0f0f647ebc075929287c940
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 22:09:48 2008 +0200

    Add rpmfi get + set methods for file actions

commit 23ce4966bbfab43974e874d20adb260bfb634ec9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 21:06:32 2008 +0200

    Remove unnecessary initialization
    - rpmfiNew() zeroes out everything, including striplen + astriplen

commit a4e345455d817ce6c56940600d652ee3ae0aa5d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 21:01:02 2008 +0200

    Move file action calculations to rpmfiNew() where possible
    - for build operations and src.rpm install this is known

commit fbc06059cbf7e3f7c6330e46b38bf68850ff1e26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 20:48:35 2008 +0200

    Cpio flags are only relevant for fsm, get them out of rpmfi

commit 0d168d173a4c361cc1f548304743cb63bdc5946d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 14:50:53 2008 +0200

    Figure out cpio mapflags in rpmfiNew()
    - all the necessary info is there, no need to litter the logic all over
      the place

commit 8e3b5bfc894c5e5b0e3dd41d49fc62db3eaef7aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 13:53:31 2008 +0200

    Push archivePos from rpmfi to fsm
    - archive position is only meaningful in fsm context anyway

commit f553d2f0cd99678528ac73d1258cacb9c8dc3bf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 11 17:35:42 2008 +0200

    Adjust rpmfi directory count while messing with it in build
    - otherwise we can miss some entries in rpmfiFN() max calculation and
      blow up in entertaining ways

commit d535818f425ae7ef0fd53203a18751cb19367e1c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Nov 10 15:52:29 2008 +0100

    Add the post-build package checker feature in rpmbuild (upstream ticket #2)
    - allow to run helper programs to check:
      - generated SRPM
      - each generated RPM after it is successfully written
      - whole successfully written binary package set
    - it is possible to use it for sanity checks

commit 34cda292e3523d3ca2d5fee7c71cce813f886357
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Nov 10 15:46:43 2008 +0100

    Add macros for the post-build package checkers feature (upstream ticket #2)
    - _build_pkgcheck: helper that is ran for every binary RPM successfully
      written
    - _build_pkgcheck_set: helper ran for the whole binary package set
    - _build_pkgcheck_srpm: helper ran for SRPM
    - _nonzero_exit_pkgcheck_terminate_build: indicates whether the build
      should fail if helper returns non-zero exit status

commit 6404a00063bb3865f2332990fc88b90107d41306
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 7 12:03:54 2008 +0200

    Reset return values to zero + NULL's on not found in hash GetEntry()
    - avoids having to separately check for return value in some cases and
      accidents from not resetting the values in caller
    - in line with headerGet() behavior

commit 844cec311f3690b51033dd25d10d9ade22e2e7f2
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Nov 5 15:23:19 2008 +0100

    Rename doLookup to fpLookup to get rid of one function just calling the other

commit 5f01f7e02bb99be176add41488a6943dc17d6df4
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Nov 7 10:53:55 2008 +0100

    cleanup fpLookupSubdir
     * rename end -> endsubdir
     * fix assignment mess
     * fix memory leak (no longer free current_fp.subDir which may be NULL)
     * set endsubdir to NULL while not valid

commit e542ec8682f2929f31efb85d04ac4667d6a85ff0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 7 11:52:24 2008 +0200

    Reverse hash GetEntry() return code vs found/not found
    - be in line with hash HasEntry() and other similar functions
    - internal-only function with just one place actually checking the return

commit e30ad6d1af8d425fd8390d67965a136e50f3ff8b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 6 10:03:10 2008 +0200

    rpmsqAction() proto needs SA_SIGINFO conditionals too (ticket #4)

commit f2a7667482475bbb9bf3acbcf57b755fee987a83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 20:37:48 2008 +0200

    Nuke the ugly hardwired "known arch" list from label parsing
    - we have list of known archs in rpmrc, might as well use it
    - avoids having to patch & recompile rpm just to have rpmtsInitIterator()
      recognize new archs when it's runtime configurable otherwise
    - checking against compatible arch would be saner except then people could
      get into even more trouble using --ignorearch...

commit a9169c46abddfe620c6ae83f3064b50c8bb35852
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 15:44:35 2008 +0200

    Calculate filename buffer len lazily in rpmfiFN() as needed
    - avoids having to separately calculate in genCpioListAndHeader()
    - avoids unnecessary fnlen field in rpmfi struct
    - avoids having to calculate it at all if rpmfiFN() is never called

commit 6bd6677f86ba130cd4bc952c37fa848450f1920a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 15:24:08 2008 +0200

    Remove yet more unused fields from rpmfi struct

commit b43998c374abae3b689a3698a2006fdafac1146a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 15:18:43 2008 +0200

    Remove fperms and dperms from rpmfi struct
    - only fsm internals need and just use straightforward defaults, move
      the defaults there...

commit 52d53b8bf91c8a9ed28257ec9ed1b65fd5b98fbc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 14:30:01 2008 +0200

    Use cpioMapFlags type consistently for map flags

commit c0a6f7b14169adb0f3961f6ccda8ca49eb87fead
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 14:10:16 2008 +0200

    Stop messing with fi->fstates allocations in psm
    - it's alloced and freed by rpmfiNew()/Free() always anyway

commit ed412a0e2f8538ab952908b06f24d769f1fd1fb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 13:17:50 2008 +0200

    Kill off per-file cpio map flags
    - nothing uses/needs them, one less murky fi->foo allocation less
    - apparently a leftover from initial multilib attempts long long ago

commit cbbae4cdb102ac9de4023e6e35ddc668eae09ca9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 12:45:03 2008 +0200

    Remove unused variable

commit 455a4cd65269272a8e11a50d1242b36b2163e2de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 12:38:16 2008 +0200

    Remove useless rpmfi->gid and uid "defaults"
    - they were only ever set on src.rpm installation yet overridden by
      package contents unless src.rpm didn't contain RPMTAG_FILEUSERNAME
      (and GROUP). Which would mean rpm 1.0 packages or thereabouts, or a
      malformed package. In that case we just fall back to root uid,
      it hardly matters

commit 1f5d9dff73cd8ea0ee0c6ff1e843c99c78f9c38d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 11:49:33 2008 +0200

    fi->actions is already initialized earlier in rpmfiNew()

commit 4d786000b3d92548eb1822221271d7e02ca93a1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 11:47:29 2008 +0200

    fi->actions cannot be non-NULL in rpmfiNew()

commit 2102efa0b1136c5c19da75f670c9c0436a187754
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 5 09:36:20 2008 +0200

    Dead code removal

commit 4f7f014537d0b4e20a63785de68dd74bdbcd2446
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 4 14:53:11 2008 +0200

    Stop messing around with rpmfi user+group names from psm
    - these are loaded and freed by rpmfiNew/Free() as necessary

commit e07d37aebc1ab6213507375b8916f5259cf4dc0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 4 13:33:27 2008 +0200

    Fix segfault on relocation (rhbz#468319)
    - a bogus free() / thinko

commit 9a509e9f1acc27fdce547a47513e9d083a17b6d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 4 11:36:01 2008 +0200

    Avoid leaking C99 options into stock %{__cc} macro

commit faaa0305f5593bd3165e444d4ec4516490b4610e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Nov 4 10:09:31 2008 +0100

    Return proper exit code when exec*() functions fail
    - the correct exit code should be 127 accoring to bash(1),
      we want to keep the same exit code behaviour as bash for rpm

commit 73f61ecf05ff1679219e49bfd029a69da66bf35e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 4 10:28:20 2008 +0200

    Fix building on systems where SA_SIGINFO isn't available (ticket #4)
    - patch from Adam Tkac

commit dc06dca3b99f809f826f25565ace384b54f3b488
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 4 09:52:19 2008 +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

commit 759b73a4293e56209e922bf58d7028234e854338
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 3 14:13:45 2008 +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

commit b7678c0a40898debdf7396c84967411efbfaf345
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 31 17:45:43 2008 +0200

    Drop unnecessary trailing slash in pkgconfig includedir

commit 81660b26bc8e2c03f55cf928955f7ed84e00785a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 31 10:17:07 2008 +0200

    Adjust for file output change (rhbz#468129)
    - file util used reported file details along with mime type, newer ones don't

commit 05c547a30d966d03b9bda37343c7dcc3638b6be0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 14:12:18 2008 +0200

    Kill of scareMem / keep header flag from rpmds
    - unnecessary complication which doesn't benefit anything (anymore)

commit ce33decefa68cdde3ed332c629dc661defc963d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 14:07:29 2008 +0200

    Change all in-tree rpmdsNew() uses to non-scaremem
    - shouldn't affect anything at all

commit 6c91bf043776319bc0b78852ecf65a56501c60e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 14:03:34 2008 +0200

    Remove unnecessary scaremem flags, hardwired to no scaremem anyway
    - no functional changes

commit a19cc0d1fe7a5113d550d07ba70501658034f161
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 13:46:26 2008 +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

commit 0cf0a7bb68d6f455a2e1bc4918a7a2509eb0055a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 30 13:43:44 2008 +0200

    Add couple of new rpmfi flags for file classes and file depends

commit aabdfb8866a1e3a86fa91efffe2c170d6e808570
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 15:23:49 2008 +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()

commit eef41b6dff424992785ff67a22244d62454d796f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 15:06:37 2008 +0200

    Remove unused package color calculations from 2003

commit cff6230a8c55b6cf925b7e33fb04f26a7d284d82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 14:34:36 2008 +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

commit f01ed5459deb3b3cf5c1bd4077f89b02533071f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 14:09:27 2008 +0200

    Convert in-tree users of rpmfiNew() to use flag names
    - easier to grep for than scareMem, preparing for further flags

commit 8f41e940abe6950c807f530468adeb24049271ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 14:08:12 2008 +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

commit b24dc850a50585efa5c6c4cef245f95cb568dd8d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Oct 29 13:38:16 2008 +0100

    Set timezone to UTC every time to avoid local timezone confusion

commit e7c604daddacf5f5ba3a25f7639eca9d7b0f5eb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 12:09:27 2008 +0200

    Add --filecaps popt alias for looking at file capabilities
    - doesn't need much as the capabilities are stored in human readable format

commit db1f9af5e2a4443e64ce10112a9553204bab7f4e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 11:53:31 2008 +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

commit 97ab15cc9eadc1aab563b87a0c92d559cd9e9a41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 11:49:38 2008 +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

commit a792c55ffae23f483121401fe4ca6724abc57bb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 10:49:25 2008 +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...

commit daf28d3bf452a1d8daa8f5a70b860ce91b76fffd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 29 10:39:00 2008 +0200

    Don't try to verify capabilities of directories and non-regular files

commit 5d7cd0ab2d814e5d2a0803bede9c2d0bb09f2709
Author: Florian Festi <ffesti@redhat.com>
Date:   Mon Oct 27 13:08:39 2008 +0100

    fix compiler warning
    by removing unnesseccary return address for the hash key

commit f4b5bd55db623f83d75d0d60432f48cf0a7d2ef5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 26 14:18:17 2008 +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 :-/

commit 770a0f34c90b59460372da181895b3a2802113f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 26 14:17:16 2008 +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

commit ca40fafedb504ff0195e347886e96a0268b3f5db
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Oct 24 12:32:31 2008 +0200

    Remove timezone autoconf checks and system.h reference
    - timezone is no more used so it's no more needed

commit aeb672ca42cf0cce6d9f3d302f4d04513fc673c3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Oct 24 12:31:02 2008 +0200

    Fix "timewarp" bug while listing changelog via "rpm -q --changelog"
    - date is no more one day in advance than written in changelog

commit ccbb618bfc2bb2a74674b9e49c5637abb34515d9
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 16 12:13:13 2008 +0200

    Use better cache sizes

commit 48554042f434fd75452e752f1156a652ffe71c8b
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 16 12:07:44 2008 +0200

    Improve finger print hash function to avoid degeneration of hash tables

commit ecc8ff93740f1cc733350016b9b4304c4f14e9d6
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Oct 16 09:59:54 2008 +0200

    Switch to a better hash functions for strings: Jenkins One-at-a-time hash

commit af80c3de47278c0631f1add3da56758343fafe44
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Aug 28 16:06:36 2008 +0200

    Use only one, global fingerPrintCache to save a lot of stat calls

commit af3464a053ecb0b56cc5af494ea22955fb350757
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 22 15:17:49 2008 +0200

    symlinks

commit c6ccc90d7fef0f1b65e4bf5b77d5b800d4b53ffd
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 22 14:08:49 2008 +0200

    Detect to be installed symlinks for file fingerprinting (file conflicts)

commit 9766e4492cb7d90f0c60804f3bbbbc7f8ef01a7e
Author: Florian Festi <ffesti@redhat.com>
Date:   Wed Oct 22 14:03:52 2008 +0200

    Fix path problem in doLookup

commit eecfbcbeb0b102c4518c5576e88d48c039ac635f
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Aug 12 21:19:11 2008 +0200

    Delete findFps foobar
    including fpsCompare and the fpsdebug opt

commit c65019affca0988705ea4b8b9b38adbeca6ac98f
Author: Florian Festi <ffesti@redhat.com>
Date:   Tue Oct 21 15:45:09 2008 +0200

    Change both hashes to a typed version

commit 832909b4a7f093f6ab223850dad892223a71ff80
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Oct 17 16:18:45 2008 +0200

    Make rpmhash a generic datatype using macros and includes

commit 6a8c221ce6a890d6b23daed92669eb90e80ec2af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 24 08:05:00 2008 +0300

    Updated Serbian translations from Miloš Komarčević

commit a4825e488d44e01803c377ebc4fc054adcf42b3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 23 07:47:25 2008 +0300

    Make noarch subpackages actually work
    - noarch subpackages get their arch tag from parsePreamble() already,
      don't stomp over it later in parseSpec()

commit be651d98769ec95c0fcc2dee015a40c68b83271a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Oct 22 09:28:38 2008 +0200

    Increase IEEE-compliance of floating point code for SH platform
    - thanks to CHIKAMA Masaki

commit 02274eecfc98a83b53b091d2fd889cf7f9393b29
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Oct 22 09:22:05 2008 +0200

    Apply patch for sh arch from CHIKAMA Masaki

commit bb74348bfb7ddfd333d94f855eabcc8658f0e9e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 22 09:58:10 2008 +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...

commit cf89739282feadb36ef50d0b8d8c4e293cd0c24c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 22 09:25:30 2008 +0300

    Fix memleak in rpmtsAddInstallElement()
    - previously any of the "skipping/replacing already added" checks matching
      would leak memory due to early jump to exit

commit a8ba86f05bfdff3eda650d49a4aaab7bf0b4abf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 20 11:46:42 2008 +0300

    setenv() + unsetenv() are always available in rpm

commit f7707ad3ff279fe09e8885b3a2ea2b01f629950b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 20 11:32:43 2008 +0300

    Add posix.mkstemp() to Lua posix lib
    - lifted from apt-rpm

commit d34646ab10a992092c9d2662cbbe573945c22332
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 19 20:08:35 2008 +0300

    Trash more unused junk from installplatform

commit b4d6e18a9837144864fb608356acab38930a675a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 19 19:59:57 2008 +0300

    Trash unused MULTILIBNO hackery in installplatform

commit 49c515179ac0d34c2bb43bf242b8eb27ff6c11b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 19 01:53:03 2008 +0300

    Permit tab as whitespace between macro arguments (rhbz#467567)
    - another dumb regression from macro handling cleanups

commit df080a1f6f313f83e41a94ff4deba1216f196a01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 18 19:23:56 2008 +0300

    Clean up hg leftovers

commit cbbb03e3a34d492a7163f5a02f77b7e806702b41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 17 15:00:01 2008 +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

commit 927f384a9bc058eb6f954e93cc515cc1293fd2a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 17 08:11:10 2008 +0300

    Kick out the dumb defaultdocdir logic from installplatform
    - defaultdocdir is simply %{_datadir}/doc

commit df8b431be808b73b92cab5fd62637be6dcd72991
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 16 17:09:28 2008 +0300

    Bump version

commit c3c8dc476e68e385c9ac599f8651959a4fdb41d0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 16 16:11:15 2008 +0300

    Updated German translation from Fabian Affolter

commit c00bd2d29c223c832bfca68411b8fdbafee15371
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 16 16:08:18 2008 +0300

    Updated Polish translation from Piotr Drąg

commit 0b31ec61cc9b53eaf56d3f51058805be8b0b214a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 16:32:58 2008 +0300

    Add configure detection for SuSE too
    - distro detection in configure is pretty futile but while we still have it...

commit 085dcab72fc44cab5b1a7d810071bb8c0ea0afc2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 15:49:57 2008 +0300

    Move luaext include fiddling out of toplevel configure

commit bedeef1edaa4f2af99fbaecc6adfab75de1cd03a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 15:44:22 2008 +0300

    Add lua to pkgconfig private libs

commit fc9723a64c10e2212b1b296c2c94a0ff83e3cf05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 15:41:56 2008 +0300

    Reuse toplevel WITH_LUA_LIB setting instead of manual setting

commit a1b05720b0e8219b26a81b8e2429226f094075cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 15:36:23 2008 +0300

    Sanitize libluaext linkage

commit b6a0fca64d1d3b5331dffd78b7e75b4d5d86dfe4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 15:31:24 2008 +0300

    Fix build without Lua

commit b03953e551e4e3597b22cca71bfb583162187e9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 14:46:33 2008 +0300

    Tweak autogen a bit more
    - lose hardcoded paths based on platform
    - add --rpmconfigure that can be used if rpm is already present

commit 9fe51e6e2844a5b1d7d4d4116f15449d0f327b35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 14:24:30 2008 +0300

    Rip silly "usage" message from autogen

commit 9397bb61baeebcafda97c61c81dfbc1c4af96c17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 14:17:14 2008 +0300

    Kick out ancient and unused LDFLAGS_STATIC configure.ac-hackery

commit 3cc7a1ef99d5832b35239afca0c3a978d1984ae5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 13:34:14 2008 +0300

    Yank out ancient convertdb1

commit c8ce024aa88a150ded321de8844049341d6ed04c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 12:46:55 2008 +0300

    Fix up some fuzz in finnish translation

commit 195f50d3cdf611f24d40c6a63b5f928d791570dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 12:39:25 2008 +0300

    Adjust translations wrt the rpmps format changes

commit e2749795c3ae35f99092634fd859cba93f23156d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 12:25:01 2008 +0300

    Use PRIu64 for 64bit value formatting instead of casting

commit 19027cb53f3e559cca3d0ddc4e193fab37840d96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 12:17:01 2008 +0300

    Avoid overflow on memcpy()

commit ef9744ff76f1ceed7645731bb6c102845eb48b79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 11:56:15 2008 +0300

    Need to mask the return type from rpmTagGetType() return value

commit 055893bb4c638be34c3f6d98f6a6086718465a61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 11:55:05 2008 +0300

    Error out on unknown data types in sqlite backend too

commit dcfe216da88af522ba5af55c4855dc8473c640cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 09:44:58 2008 +0300

    Update translations for a change...

commit b7492daf836d1d61dd65ea586e3b1615da4c9c8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 14 09:44:32 2008 +0300

    Add a few missing files to POTFILES.in (rhbz#466834)

commit 43a8cc7e102c97afd61a55e252ecce5a59f643da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 13 14:45:45 2008 +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

commit d28c8fdfb82e45e63a82df7a0e6bc74af4a3cd87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 13 13:25:17 2008 +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()...

commit 504e8231cbb379a0b3f41d7bcfb0bd4e3ff16f50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 15:59:38 2008 +0300

    Yank out legacy.h, make the conversion functions static

commit 54f8c5891f92573ebd0ec5f478c6be25b6c4349d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 15:54:53 2008 +0300

    Convert in-tree users to headerConvert()

commit 56f3545c68796b1d1fb95ae4609395bc269e242a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 15:53:12 2008 +0300

    Add headerConvert() "proxy" for performing various conversions on header data

commit 83c4098e4f8affdb7f52aa5ed14ac15d7785f5b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 14:43:39 2008 +0300

    And out goes rpmMkdirPath()

commit aa509e3c5e68ed905a80743bd3e8f3e26aa67590
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 14:42:34 2008 +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

commit c17dffb6fbf8c123516ed1ca06a35beca1c7d8c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 14:37:57 2008 +0300

    Use rpmMkdirs() instead of rpmMkdirPath() in rpmInstallSourcePackage()

commit a7ece3bc4ac90b7bc68522aa748e138b78ce4179
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 10 14:28:41 2008 +0300

    Add rpmMkdirs() to librpmio
    - allows creating bunch of directories including parents at once

commit 1566caf0674b372a7b9ea481a90df0f2e8e7aec9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 19:53:05 2008 +0300

    Get db vectors out of exported ABI

commit bd70d0e36c620a086af56d78cefdf7577a3457ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 16:17:53 2008 +0300

    rstrcasecmp() and rstrncasecmp() are "pure" functions

commit eb9649dfa9676fcf8117f799db8578b72c805673
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 16:14:23 2008 +0300

    Mark risalpha() and friends as "const functions"
    - they only process integers that are fed to them and no outside data

commit 505aea7fb178a174217181e02d765f41d3dc377a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:59:26 2008 +0300

    Remove silly double definition of headerGetLangs()

commit 5a76671724e989f9b841211c038272288825ce2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:57:30 2008 +0300

    Mark htonll() as internal

commit 65c85b38e882e25aaca542f353e75334f8580280
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:52:34 2008 +0300

    Mark cpio functions internal
    - cpioStrerror() is used by build code so that remains visible, ugh

commit 0d48ac0aaa7cfda5b9e6cb1915a8588e410f2175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:48:46 2008 +0300

    Mark fingerprinting stuff internal

commit 5589c3a81f56bbe27e0bff5eb27206e4a3aa1eee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:47:09 2008 +0300

    Mark hash table functions as internal
    - we're not a hash-library afterall..

commit 2ec41237f8c809c9780474f28e59fbacb70d27e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:43:00 2008 +0300

    Mark rpmdb internals as internals, including the "mergesort" gem

commit 550e156c62ff3dc397bfc167908fcbd1e523d922
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:37:59 2008 +0300

    Mark psm functions as internal

commit 7681f80e2512d60cd0b057a136fe38a3fb6575e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:35:36 2008 +0300

    Mark various fsm* bits internal
    - build code uses fsmSetup() and fsmTearDown(), those need to remain
      visible for now

commit fb992745595893789a02a465833299493313c0a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:32:04 2008 +0300

    Mark uidToUname() and friends as internal

commit be50cb5bf796719f23a446c807d2a79dbc8588a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 9 15:21:15 2008 +0300

    Add RPM_GNUC_INTERNAL macro
    - allows portable use of __attribute__((visibility("hidden")))

commit c7bee0c3e6576fc78d7ab3ff64eeef3dda91bf02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 8 18:26:58 2008 +0300

    Unknown tag is an error

commit 9e89ea52f5b3ac84bd7e63a20dba004a7ddd8acc
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Oct 7 22:06:28 2008 +0200

    make %find_lang --with-kde work (rhbz#466009)
    - patch from Rex Dieter

commit 30a975b9839b3cb15a8cd9c1ead454464523028a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 6 18:50:30 2008 +0300

    Malformed query query items (pkid's and such) are errors

commit bcda17901e38adacad42226164057f4b357ce9a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 6 18:49:33 2008 +0300

    Make "not an rpm or manifest" message an error, not just notice

commit 9c51c44577ddee0c4d822d12b79b29f5a9bcdb21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 6 18:41:09 2008 +0300

    Consistent log level for "unverifiable signature" message
    - all the other ones in package are RPMLOG_ERR

commit 377239b7dfa3e228748ef33c0bcec4213ac16f7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 4 15:16:38 2008 +0300

    Failure to rebuild database is worth at least a warning

commit bc1ac82d8d59f29561fe25e50292d8f0f8950817
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Oct 4 11:19:26 2008 +0300

    Restore permissions of a signed rpm to that of the original (rhbz#465586)

commit ffb886048c55b3a668d873bde7054571763c1058
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 13:00:33 2008 +0300

    Similar semantics for <lua> scriptlets
    - missing <lua> support is always an error
    - otherwise permit non-pre scriptlets to fail

commit 3e687d09717ee8408a781d221f0ce4506b3cef1b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 12:49:29 2008 +0300

    Always perform callback notify of lua scriptlet errors too

commit 17df5ad61397fb12bb2cc9a94798de97266afd9e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 12:13:21 2008 +0300

    Remove unnecessary {} block + indentation, no functional changes

commit 9cfb380cc4529ea6b9314cc67819069c8e9c1a23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 12:04:19 2008 +0300

    Filter out error exit codes from non-pre scriptlets (rhbz#216221, #rhbz465409)
    - typos and thinkos in scriptlets often cause duplicates to be left around
      for no good reason
    - treat non-zero exit codes from scriptlets as just warnings instead of
      errors
    - ... except that %pre and %preun are sometimes used for preventing
      install/uninstall of a package, preserve the traditional behavior for them
    - abuse rpmtsNotify() "total" value for signaling warning/error to callback

commit 6f3f5a36a3938fd13b44246f8484c35ba1cc5ac3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 11:41:41 2008 +0300

    Emit RPMCALLBACK_SCRIPT_ERROR notification on all scriptlet failures
    - previously the fork() failures and such would not be notified at all
    - discard the not-so-useful differing exit codes (signal, exit status and
      whatnot) from commit 179ebc1745b51eb9821dd783c9df475ac539532d

commit e241f3d3ed5a12ca870ad69f7ae3240acfaa13a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 11:38:08 2008 +0300

    Assume failure in psm runScript()

commit e2b89abff7f6592bb2c2f2bda996d89df1960282
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 3 11:34:41 2008 +0300

    Log message on all scriptlet failures.

commit b520b61387757e0ceb907d41cb0d0a5f6478bdbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 2 12:43:02 2008 +0300

    Updated German translation (Fabian Affolter)

commit fca9b72432f8151427d83a2de01066e138fb2e14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 17:05:35 2008 +0300

    Kick out yet another ancient artifact
    - --usecatalog hasn't done anything in 10 years if ever afaict...

commit e358af91668bb24ae93dbab99cc3acbc429e8aa1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 16:28:47 2008 +0300

    We have easier ways to catenate strings...

commit 65e06b20130da895fda8e3698a7ebe18e14d13ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 1 10:06:27 2008 +0300

    Tweaks to how ISA-macros are generated (rhbz#464754)
    - for ppc and sparc, move the check for 64bit version first and use a
      wildcards to cover more field automatically

commit aadc1a314640e5eaf31c7f76f9062b1e4e7d1772
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 25 19:44:29 2008 +0200

    Use safer xrealloc() instead of realloc()

commit 1dd1d68afe6dc55c37f1292250f1c26a5196ea0a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 25 19:32:27 2008 +0200

    Avoid segfault in rpmLeadNew() if calloc() fails

commit 50ef054902618edec7a29f5b3b5cb4ae2e12a20f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 25 19:30:47 2008 +0200

    Use safer xstrdup() instead of strdup() wherever possible

commit 008280006d5f6bf3696adffb431e968faabc594e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 25 19:16:14 2008 +0300

    Fix up fuzz in Finnish translation

commit 6c4e6f4fa883628c9a31a6536d8f76dbacf5639c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 25 19:10:02 2008 +0300

    Extra ')' in error message

commit 09d43dcbdff4a450a72178d695db553c2f33ef27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 25 14:58:05 2008 +0300

    Don't go onto wild zombie rampage if python callback tracebacks (rhbz#463447)
    - If a callback tracebacks, the python program that called us in the first
      place is as good as dead already. Clean up what we can, throw an error
      message and just die, no good is going to come out of blindly continuing.

commit fe51be67e4955fd9dbc71d9fdc16231cc32b045d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Sep 24 19:49:09 2008 +0200

    Update Brasilian Portuguese translation (rhbz#463748)

commit c4fa73c573f63d2e2b53e75d25feafbf65ebf671
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Sep 24 18:39:43 2008 +0200

    Don't treat %patch numberless if -P parameter is present

commit ea9ef92189517164cd68d80c2dd46d8c945ef6fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 22 14:30:37 2008 +0300

    Kick out useless and ancient junk genCpioListAndHeader()
    - scareMem is not used for anything here
    - xmalloc() + xcalloc() cannot return NULL, don't bother checking

commit ef539ed4dcf5afaf55a45d339ad29c0a930a832a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 22 12:10:36 2008 +0200

    Fix error messages in processScriptFiles()

commit 9d436590568c657a475e7871d4e13021984633cc
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 18 15:18:53 2008 +0200

    Drop rpmfcFileDep() to simplify things

commit 5225a86631eaf463eb3b822dc9632820960a7bd3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 18 14:57:52 2008 +0200

    Move type regression test back to asserts
    - no need to bother with message translations in this case

commit 74677caa5a6ad36c1836412cd5af378d71dd863f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 18 14:56:15 2008 +0200

    Use proper codes for logging via rpmlog().

commit 10908577285571966f79c61df1acbd3913f24760
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 14:31:47 2008 +0300

    Force error return if headerLoad() fails

commit acb135c28bd9c637e4db722495a5c890d5593a46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 13:24:25 2008 +0300

    Document manifest behavior for install options too (rhbz#461354)

commit 06fb56e64f9198f50c3f91a9ce1f2c82ea9ea790
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 13:05:19 2008 +0300

    Kick out references to "Red Hat Linux" out of the manpages, duh :)
    - RHL hasn't existed in years and rpm isn't specific to RH anyway...

commit 0ba35c7e5c7430bbc72200eda80395c8ede7c5b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 12:38:04 2008 +0300

    Update man-page wrt supported query formatter types

commit 9a9f3c3abbab8981cd1397ddee5a16b4ce65e353
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 12:36:31 2008 +0300

    Don't segfault on unknown format specifiers

commit 9da6dce0e68cfe1290e4001def4e5adebb8bf37b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 12:15:43 2008 +0300

    Add error message on query of unsupported files (rhbz#461362)

commit a486bcc79329dd48db0c0c50391a940abbb9e75f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 11:39:42 2008 +0300

    Remove pointless non-NULL check
    - rpmfiNew() cannot return NULL, and even if it did, we'd be out of here
      by the way of rpmfiFC(fi) returning zero before this...

commit e69e4ebb7ad146eaf716cf0a127da89840fc9bc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 11:29:58 2008 +0300

    Save some screen estate by initializing on declaration..

commit 04386244b9dfc4d9d16217ce4795236284f56d37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 10:26:39 2008 +0300

    More informative output on ambiguous erase (rhbz#164743)

commit bb4d56a96d33b849dcfaf4851f6f79c5cd65f060
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 18 10:04:51 2008 +0300

    Fix rpmErase() exit code when arch is specified (rhbz#462631)
    - essentially the same bug as rhbz#124016 but for erase code
    - rpmdbIteratorCount() isn't realiable on RPMDBI_LABEL, we need to walk
      the iterator to know if there were actual matches

commit 137acc7355ae94959b241674e26006df07a2d84c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 16 12:08:18 2008 +0300

    Kick out double definitions of --(no)dirtokens options
    - mistakenly added in commit 2f7c913723baa8135201fa930678d9e3d4138f2c

commit 0eb396d2ffa5bf89fcf76a50a2080be1c85e7ded
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 16 12:03:26 2008 +0300

    Resurrect --nodirtokens build option
    - this gets somewhat hysterical: we create the filelist as uncompressed,
      then compress it for rpmfi which only understands compressed filelist,
      and if nodirtokens is used, expand the list again after initializing
      rpmfi for cpio/fsm...

commit 55fa1442f85628e75bcb21226949d8940a38b708
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 15 16:42:01 2008 +0200

    Avoid asserts and output error instead (rhbz#448939, rhbz#456100)

commit 320c11f6537d6c898226f7e072497c4af253c5b1
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 15 16:37:32 2008 +0200

    Use proper return codes in rpmfc.c

commit b08d25d841024a45e16c9e7a6797f995da2501f0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 15 16:35:30 2008 +0200

    Use proper return codes in files.c
    - don't go on if processPackageFiles() or rpmfcGenerateDepends() fails

commit 5e7ca9eac40f7fce940acd8b1c23e2af847478d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 12 15:22:02 2008 +0300

    headerAddEntry() is deprecated, use headerPutString() instead

commit c094de4d1017af3ffbe89fdbb1db5bb821467c73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 12 14:56:41 2008 +0300

    Make sure RPMTAG_GROUP is always present in packages
    - Many things (including LSB and various 3rd party applications) expect
      group tag to be present even if they don't actually use it for anything.
      rpmbuild doesn't consider it mandatory in specs anymore though, so stick
      "Unspecified" in there to avoid breaking things in case spec didn't set it.

commit 1327278138c7f24b11b8ea231331991eb20385ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 12 11:38:07 2008 +0300

    Fix indentation

commit 9f857078253981e02575bd8f097e50d925476d3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 11 16:56:50 2008 +0300

    Macro argument handling regression regression (rhbz#461180)
    - commit f366011c42e4cf13d3acdd1af45127f0a1baec3a is too simplistic and
      broke other stuff in turn...

commit 5c71ced2da7d99b870a07a83dd8f7e8d1f1b7e4b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Sep 10 15:04:57 2008 +0200

    Don't generate broken cpio in case of hardlink pointing on softlink
    - thanks to Pixel

commit ce1db5af7036df54a21abab9a5d70b06a821fff4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sat Sep 6 15:30:40 2008 +0200

    Fail hard if patch isn't found (rhbz#461347)

commit f15b7e099682605994b4e7d23cb03018e72abb5e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 4 06:34:47 2008 +0200

    Add Dutch translation to LINGUAS

commit 18aab133cdb0f1c67c624d51ce8e72855eb42046
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Sep 4 06:34:11 2008 +0200

    Add initial Dutch translation (rhbz#461060)

commit a424702c226d6b5cf9bc7e08d97819902286d9ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 2 15:25:17 2008 +0300

    Updated German translation from Fabian Affolter

commit 4ff3b1166463d1173e4fff89d910b01d01357230
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 2 14:33:55 2008 +0300

    --repackage is gone, remove references from French manual too

commit 991600462bb7ccbda4d6b85031e44aff01a217d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 2 14:28:35 2008 +0300

    Updated French translation from man-pages-fr

commit 073b1ac2a88451cc248c4b01825edd01162ffe36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 2 10:18:41 2008 +0300

    Fix --dump usage description in Japanese manpage translation.
    Patch from Masahiro Matsuya.

commit b53ecfb11de5ab10a40c787028d793d536d64da7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 20 12:01:38 2008 +0300

    Avoid dumb casts
    - switch-case on rpmTag enum makes gcc go crazy without a default case

commit ff7bfd9a32d672f8582ea334ee351af8c32229ad
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 1 14:35:34 2008 +0200

    Create directory structure for rpmbuild prior to build if it doesn't exist
    - creates all needed directories that rpmbuild uses for input and output

commit b16df5b3089e36cf0bd697177983dcae11b849ec
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Sep 1 14:31:33 2008 +0200

    Create _topdir if it doesn't exist when installing SRPM
    - otherwise creating _sourcedir and _specdir fails

commit 436aab02e7f9870835d7c992734fcb2922e273c3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Aug 26 19:03:25 2008 +0200

    Fix type in format string to avoid segfault (rhbz#460146)

commit 1d6ab4edccf75d1d663ab24938d34e9cc9af3d71
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Aug 26 13:25:21 2008 +0200

    Allow noarch subpackages
    - inspired by patch from Altlinux

commit 743415bb78a773e99e76205b3b435b77bd9ff3e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 19 13:45:20 2008 +0300

    Improve INSTALL documentation wrt NSRP/NSS requirements

commit 79fe0e0e3bd375c02a6f182508a6feea85379e3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 19 13:33:21 2008 +0300

    Use standard auto*foo checks for NSS
    - upstream NSPR/NSS doesn't ship pkg-config files (unfortunately)
    - hardcoded guesses are always wrong for somebody, expect builder to
      pass in appropriate CPPFLAGS etc

commit 77ecf321bfb1a2024cb5f6bc231a6b97c56373c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 14 15:02:52 2008 +0300

    Fix segfault on zero-length %policy file

commit 44263ec047b82f0989b6d9cb89393ee0ebe07f99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 14 14:28:12 2008 +0300

    Fix segfault on zero-length rpmrc

commit 3b9636cd69b81b6e23331bb797c0fdde79e97316
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Aug 14 13:08:09 2008 +0200

    Accept numerical characters in macro expansion (related to rhbz#456103)

commit be02cdfa87f593bee96554d0fc5ae4ab1eb04f05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 14 09:57:03 2008 +0300

    Don't fail build on too large but excluded files

commit 9068da47a912a6983a12d1024a118c16bcb2a057
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 13 09:43:41 2008 +0300

    Unbreak payload size tag generation on ppc (rhbz#458817)

commit fefae4d68e25b69301e9cee12bc54b52fbd11403
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 11 15:39:47 2008 +0300

    Macroize configure command/path in %configure (rhbz#458644)
    - add + use %{_configure} macro defaulting to ./configure, can be overridden
      for VPATH builds etc

commit be56a4a888f60e461154f88843d3a57eeb991d9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 13:53:57 2008 +0300

    Add parenthesis to make gcc happy

commit 17b4187204af7147869d8bcf05f9f9c3c0e0a3d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 13:53:39 2008 +0300

    Missing include

commit 645184ac397a9e62ed3076648505b76b4551e794
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 13:06:28 2008 +0300

    Remember to free up resources from matchpathcon_init()

commit dccb80ea38b99e94de84139cb854488e160be38c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 13:04:10 2008 +0300

    Fix check for nocontext flag

commit 4537bc35fdc268b31d208e31a7db5729f09345fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 12:49:41 2008 +0300

    Plug memleak from %pretrans
    - te->fi needs to be freed if we replace it...

commit 99eb5361591f9e1a29cc73ccbd696382a4b16d2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 09:57:41 2008 +0300

    Add key to transaction keyring on rpmtsImportPubkey() (rhbz#457360)
    - still not 100% identical to pre-keyring behavior but enough for the
      common case
    - only add keys we don't already have (rhbz#68290)

commit ff1a549fedfe9d564791545b433887283f595ce3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 09:32:05 2008 +0300

    Use rpmPubkey + methods for pubkey header generation
    - moves some of the lowlevel pubkey fiddling into rpmio where it belongs

commit 3897bdc37d7667ffb5414dcea91802de3342b9e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 09:26:30 2008 +0300

    Add couple of new rpmPubkey() methods
    - rpmPubkeyDig() to retrieve parsed OpenPGP parameters of key
    - rpmPubkeyBase64() to return base64 encoding of the key

commit 60e5ff80f7d5e19a5ca32cb95e2d2ea535733d6c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 8 09:14:53 2008 +0300

    Split gpg-pubkey header generation out of rpmtsImportPubkey()

commit 4b61c45dbb9965c90ddc1da6c3b8d77959bf682a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 7 18:44:03 2008 +0300

    Permit i18nstring in headerPutString()

commit a366612ec3fde6b2506072fa2288454118fda29d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Aug 7 14:50:49 2008 +0200

    Don't allow multiple definition of PatchX or SourceX (rhbz#458261, rhbz#458260)

commit 95925ab512c441d568e76219f006f8de3dc741b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 6 12:27:25 2008 +0300

    Clarify %buildroot in macros
    - it's no longer really optional..

commit 6c0651926aedc302816a0b61e1f1a8ef568be539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 6 12:24:34 2008 +0300

    Simplify spec buildroot hysteria
    - BuildRoot: in spec is now really ignored
    - parseSpec() uses default %{buildroot} unless overridden
    - BuildRoot is forced for all builds

commit edf4e046ec5a1c7e07ad390f806fdca2a758f0d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 6 08:38:57 2008 +0300

    Add %sparc macro for supported Sparc architectures (rhbz#455972)

commit 5a89833b93b3ceb5063c984578f355416eb409e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 5 15:32:49 2008 +0300

    Increment exit code on file not found errors too (#446202)

commit 58986581b1a4fd256bfdcbfd60bf98cb1786491f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 4 15:46:18 2008 +0300

    Bunch of keyring / pubkey refcounting fixes

commit b5b9329bfa4cd357ce3cac53568aaed7d70383c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 26 11:14:45 2008 +0300

    Updated Italian translation from Francesco Tombolini (rhbz#453364)

commit 35a08d1df2cb607db8d638d6d43c6125d5688860
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 26 10:56:02 2008 +0300

    Revert "plug memory leak in spec parsing code"
    
    This reverts commit ac3bd07ef2a11cbe9e7f7031786eebc8851c863b.
    - It's not a leak, valueMakeString() doesn't make a copy of the argument
      string and the free() causes invalid memory access

commit 7c4798116adb2b050016b8751b4b236efc4098a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 26 09:57:09 2008 +0300

    Fix typo in buildroot dir definition (rhbz#456708)
    - it's _buildrootdir, not buildrootdir... this caused user overridden _topdir
      not getting honored by buildroot

commit ac3bd07ef2a11cbe9e7f7031786eebc8851c863b
Author: Florian Festi <ffesti@redhat.com>
Date:   Fri Jul 25 12:28:46 2008 +0200

    plug memory leak in spec parsing code

commit 1d666839ba37da9280df8b463eed86b630a55a76
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 24 17:38:11 2008 +0200

    fix parsing of empty doublequoted strings in spec file (rhbz#456103)
    off-by-one error

commit 2a44df64cf4c4d04394d1b0894b21e35736a3f49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 24 11:17:50 2008 +0300

    Dumb thinko breaking tar builds from relative paths (rhbz#456321)

commit 6df78d16a68ff508a965ba2166f3b376e850b138
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 19 15:27:42 2008 +0300

    Fix regression in %patch handling (rhbz#455872)
    - popt doesn't think of "008" as an integer, let popt think it's a string
      as we do our own conversion to number anyway

commit ba644ed5aa949f6583ad5e011369527241b62a3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 17 15:50:35 2008 +0300

    Add (and use) refcounting for rpmKeyring and rpmPubkey

commit d422e661c1790db2d6a1e6fe36eff5eb4506ad5b
Author: Florian Festi <ffesti@redhat.com>
Date:   Thu Jul 17 10:37:03 2008 +0200

    Added .gitignore file to get sane git status reports

commit 78ccd971f2cb0dde427ba697282711e3245d0d7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 16 12:07:03 2008 +0300

    Make sure there's room for \0 (packages with no files)

commit 1d9b4d00d7f1a0ca396624411b53d4fb714ccdf8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 16 10:52:33 2008 +0300

    Make rpmExpand() smarter wrt memory allocations
    - precalculate unexpanded size and allocate enough for that plus MACROBUFSIZ
      for expansion
    - typical allocation is way smaller than what gets allocated "just in case",
      calculate expanded size and realloc to actual size to avoid wasting
      memory

commit 889f9f5b41d3819c52aad568e75bd0ec5568c0f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 16 10:33:57 2008 +0300

    Eliminate another unnecessary temp variable
    - do all the copying inside a loop

commit 1b19676027fd19369f49629945debcefeeae48df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 16 10:24:05 2008 +0300

    Eliminate unnecessary variable
    - leftover from static buffer times..

commit f366011c42e4cf13d3acdd1af45127f0a1baec3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 16 09:40:10 2008 +0300

    Macro argument handling regression (rhbz#455333)
    - expandMacro() wants the next \0 character to be returned, which might
      or might not be the same as lastc passed to grabArgs()
    - use memcpy() instead of memmove() for the copy, the areas can't overlap

commit e9cae5eecfab5694be7dddc3fde75f1669e6c240
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 14 16:23:02 2008 +0300

    Adjust querytags expected results for autotests

commit 649ed675167835796bdf97c48880d56d76bf8629
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 14 16:21:15 2008 +0300

    Don't put unimplemented tags into tagtable
    - no point in exposing unimplemnted (ours or somebody elses) tags to users

commit 90c8e0ea0858ec12ddabf3f9732ab9532cd5d334
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 14 16:16:41 2008 +0300

    Mark unimplemented tags as such in tag table

commit b3bd21e9f07272a37c2259070f95b167e6301c79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 14 11:53:10 2008 +0300

    Fix mono dependency extraction
    - use "Mono/.Net assembly" instead of "PE executable" for detection,
      later file reports bitness (eg "PE32 executable"), we just care if its
      mono or not. This is compatible with older libmagic too.

commit b256dc9e25dc7e9f9886edab0f3c8ceef8a4b27c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 12 17:57:51 2008 +0300

    NSS uses unsigned int, not size_t for hash lengths
    - broke ppc64 in entertaining ways...

commit 6cf51345a40d6c0eb84d5d3c590d72fa48090ced
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 11 13:37:38 2008 +0300

    Updated Polish translation (Piotr Drąg)

commit 6b3a81c5ddcd5a3f55af984cd33b7280f31e3c1f
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Tue Jul 1 20:22:02 2008 +0300

    Decompressor clarifications.
    
    Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>

commit 78d829a3011c07f03e1e4db4b3ba128f88591c9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 9 11:56:22 2008 +0300

    Include rpmlib.h from rpmcli.h, legacy stuff expects it there..

commit 5e7ea3212a93eb1dcc1d4dbebcddd9daa4c0522b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 9 11:55:57 2008 +0300

    Check for _RPM_4_4_COMPAT in rpmlib.h too
    - limits the chances of compat includes not working due to include order
      a bit

commit c56ca35a5315054c044f7aee03618f93af58978f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 18:35:56 2008 +0300

    Include legacy compat from rpmlib.h to cover maximum ground
    - rpmlib.h is the first thing any old rpm api user includes so this should
      cover most cases (only if enabled)

commit f1b25fc2576e30fd7604e2b4a6f30aa0738b224c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 18:35:07 2008 +0300

    Add compat definitions for renamed string functions too

commit 7a6ef7ceeccb4994f57a87333806d31934a926d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 18:13:42 2008 +0300

    Missing cplusplus-wrappers in rpmtd

commit 1d0cbf396215a0167b112a80796d51a50718eab2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 18:11:28 2008 +0300

    Bunch of dumb macros to make up for renamed functions
    - should arrange deprecation warnings on them too...

commit d8bdf1ef85dbde77fd5f7d5bd5db6c09650580ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:49:54 2008 +0300

    Add deprecation markers for hge etc vector prototypes

commit 425d43a8a056685432c9f80b12b1ec8920950408
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:45:44 2008 +0300

    Add deprecation warnings to all legacy types

commit 1cab53124a70691519c751def7c75740a24484bc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:43:46 2008 +0300

    Compat typedef for Spec -> rpmSpec rename

commit 65077f4d5b5ea218082c757c79ae28d07717b0b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:42:32 2008 +0300

    Add mappings from hTAG_t and friends to legacy interfaces

commit 9e586c62b18905691817587353e434eb03b4e7d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:41:24 2008 +0300

    Limit the exposure of rpmlegacy.h stuff to bare minimum

commit 6ea17f9ca4f1434510be658fc048de21ec3b2109
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:37:23 2008 +0300

    Shove header legacy interfaces into rpmlegacy.h
    - get them out of sight from main header.h
    - turn headerSprintf() into macro around headerFormat(), that way
      rpmTagTable and rpmHeaderFormats lossage can be hidden away as far
      as headerSprintf() use is concerned

commit 27a6edd36d39e296e6b13e24974989ad5954abb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 16:23:22 2008 +0300

    Add a new legacy compatibility header, kill rpmints.h
    - build-time generated rpmints.h causes issues with distcheck and is
      not really worth the trouble
    - we have all sorts of legacy junk to deal with, sticking them all into
      rpmints.h would be just wrong...

commit 6778dc94ce0a9234ed74cf094d98e219a295070f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 8 17:46:54 2008 +0200

    Initialize optCon
    - one could easily segfault the doPatchMacro() code without
      the optCon initialization (particularly with jump to "exit" label)

commit 096d1af159718bc8d6cea7355fa9f59bc4bd9f10
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 8 17:45:12 2008 +0200

    Make the default fuzz for %patch is now configurable via macro
    - the macro is _default_patch_fuzz

commit 831c5c5460b3ae2ee25d3033db6f18f33e1fc873
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 13:00:20 2008 +0300

    Update translations

commit 97fe9f138ee4602cb642137b70e9b5a47da32d23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 8 12:59:51 2008 +0300

    Add ISA-stuff for ia64

commit e5d4fc50c2286f34d0154d915c1b73927e5f7b89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 18:11:59 2008 +0300

    Missing const in parseUnsignedNum()

commit b215f1145e59356c48f1dcefdfcd7bd4fd843ab5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 18:09:49 2008 +0300

    Teach Fflush() about lzdio

commit 1a173c486dd1d83f22f8123317303fc1fb880f54
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jul 7 14:49:33 2008 +0200

    Make Source0: equal to Source: again

commit ff23d0a2cf9d9b9fac3e2818fd1f067e79ab70a1
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jul 7 12:59:03 2008 +0200

    Use proper type in format

commit c69f826ade69a753da062872fe1110574277413f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jul 7 10:21:30 2008 +0200

    Remove useless argument to format, d'oh

commit e8cef9b4f0242b593b8541ba5a22ed6d249a0260
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 13:28:04 2008 +0300

    Eliminate couple of timedRead() uses where we control how fd is opened

commit 32d69b7adc78f1707f6f11268b68841c0b235dc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 10:52:33 2008 +0300

    Make verifyAttrs and virtualFileAttributes static
    - nothing outside files.c needs

commit 811436ec92fa874585552204fc9e4136e0b406c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 10:48:06 2008 +0300

    Kick out ftpStrerror() and related error code defines
    - our url-retrieval error codes depend on the helper used which is
      configurable via macros so hardcoding eg curl codes wont work either
    - need to figure out something better, pass helper error messages through
      FD_t or something...

commit 7b95061d3b77d8e6b3c80e856b66f49b393511ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 10:42:55 2008 +0300

    Kick out now unused printNewSpecfile()

commit 0f991a14209054da7c45c46e96750738fc62874d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 7 10:17:21 2008 +0300

    Kick out ancient, useless and hidden --specedit option

commit 5129c291bde8b7785fa70fb42b2844e962369ace
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 18:18:55 2008 +0300

    Remember to remove ugid.c from POTFILES

commit 9e7cfa4d5ba64baf63c604426805a71671c58544
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 16:09:42 2008 +0300

    Stuff rpmio/ugid.[ch] contents to lib/misc.[ch]
    - no uses outside librpm itself, and there they can be hidden away from
      exported ABI whereas in librpmio they cant

commit 104bc6a883cb59ce5f7de966fc6d8d11dc4ed247
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 15:02:30 2008 +0300

    Make ufdClose() static, nothing outside rpmio.c needs directly

commit ebdfd2887fcb6ebccd153f78b5b775495903e6b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 15:00:48 2008 +0300

    Remove unused ufdGetFile() from librpmio

commit bd078a5811fb6405f9aa94177f8f0cc47eafee39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 14:53:02 2008 +0300

    Remove unused _url_debug

commit 7985d6afb5c1f290c4c60b4b1c74e55c0353cacd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 14:52:47 2008 +0300

    Bump version to resemble library versioning

commit 3b57a00f063640a46f291f88acbbad966000e249
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jul 4 15:00:09 2008 +0200

    Really make fuzz=0 default for patches
    - and finish the Patch and Source fixup

commit 724b07bba5e802998b1b79b408c2401d2a238a3b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jul 4 14:58:38 2008 +0200

    Don't treat Patch and Source as Patch0 and Source0

commit 6c1103fc80bd0f063338c7147e2e9fac10b3a32c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 14:33:23 2008 +0300

    Remove rpmcache from repository
    - next to nobody even knew about it, much less used it...
    - hardly useful now that solvedb is gone

commit d902040e1484f1352dafc96c77678da0ebf44035
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 14:22:06 2008 +0300

    Remove solvedb API and other related stuff
    - nobody has used the solvedb for anything in years
    - the mechanism + rpmcache are horribly broken on multilib
    - solvedb is way too heavyweight to be really usable as a general mechanism
    - solver callback hook left in place as that could in theory be usable still
    - we need something better to replace this all, getting rid of it now
      so we're not stuck with the API forever

commit d0fbf7b246d4232a3a833753d488646e0636de2a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 14:11:47 2008 +0300

    Kill of rpmtsAvailable()
    - long since deprecated and nothing uses it, might as well go

commit 47c85270631de173d873b98bc79727e2db203007
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 13:01:39 2008 +0300

    Enforce conflicts on colorless files always
    - silently swallowing conflicting files when they happen to be in the
      same (suitable colored) transaction but conflicting when installed
      separately is nothing but inconsistent
    - partial fix for rhbz#190209

commit 46592cde0dc41cf6ab26af0579fec8044502a98b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 09:17:33 2008 +0300

    rpmfiFNlink() returns unsigned int

commit ee2b26644174e1ae93ac979050e7acccc369ae88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 09:11:20 2008 +0300

    Couple of type corrections
    - use rpmTag, rpmsenseFlags instead of int32_t

commit 6c8b729ac4df24f407f6d36fade22a7c44ab71d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 4 09:07:19 2008 +0300

    Use unsigned integer for epoch, remove unnecessary static

commit 5a4807c81c0a06646ae2a9b52c310ac605590db9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 17:44:43 2008 +0300

    Parameter name + doc mismatch on rpmVerifySignature()

commit 78040394a29b3960cd6adaf8bd626936093008a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 17:44:13 2008 +0300

    Change headerPutString() arg name to match the others
    - doxygen whines a bit less..

commit 2093f7ccebc1fd66c9ecec7d1f61eb5642070654
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 17:14:45 2008 +0300

    Plug leaks in selinux context handling in fsm

commit 03b2c395b2abaf726b6c63e06f2c6c795a2d83d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 17:01:52 2008 +0300

    Plug a memleak on erasure
    - on erasure the order of things in ts->order is reverse from that of
      rpmtsi-iteration, causing rpmtsiNext() to abort earlier than it should
      when things are removed underneath it
    - just walk the ts->order table without iteration, it doesn't make any
      difference here

commit 1de6c1eb12e0c2d05a342649f73befc00d6de0cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 15:30:04 2008 +0300

    Make all transaction callback notifications go through rpmtsNotify()
    - single point to control how callbacks are made

commit 9d200565744d3023053d64f627c82cf2451fa701
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 3 09:11:55 2008 +0300

    Only try to pubkeys from rpmdb if we non-db keys didn't exist
    - try to avoid opening the db unnecessarily, if the keys have been migrated
      out of the db, the db probably only has duplicates (right? :)

commit 0e1e131e1adf15dbce5a1fcdc197b029f3e283fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 19:07:06 2008 +0300

    Don't leak memory on duplicate pubkeys

commit ef17f6bcfc564c6cb132e5e4013b971819ebe66c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 19:00:56 2008 +0300

    Don't leak memory on python expandMacro()

commit 20ee2a2df04f4667609b1d98bd798692bd14ecf5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 18:49:05 2008 +0300

    Plug a dumb memleak that has crept into rpmReadPackageFile()
    - jumps to exit from very early on, make sure sigtd is reset early so
      calling rpmtdFreeData() is safe

commit 83e894db7841dd4e751d785a88e49e4ae5894624
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 15:08:51 2008 +0300

    Change rpmts keyring get/set interface to more transparent handling
    - add extra parameter to rpmtsGetKeyring() to automatically load up default
      keyring if not already set
    - rpmtsSetKeyring() with NULL keyring just frees up current keyring
    - adjust callers wrt the change
    - allows more transparent action for various "legacy" code-paths

commit 43a05ea36331a3463efd33e3a6cbbc3d723f36e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 14:24:20 2008 +0300

    Add documentation for keyring

commit 710750ebff4ded200a71107b6dba8f5daf573101
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 14:23:30 2008 +0300

    Make rpmkeyring.h public header

commit 152a6e84aa0fa801ad2ac063570119df698d8b93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 13:55:50 2008 +0300

    Add docs for the new rpmts methods, deprecate rpmtsFindPubkey()

commit fe09759eefbe34833a39f696517e558fa429a075
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 13:48:00 2008 +0300

    Load pubkeys from both files and rpmdb for now
    - easy enough and doesn't cost really anything
    - at some point, start warning about legacy gpg-keys in rpmdb, suggest
      conversion method / do it automatically & such...

commit cea83865c944d378d3aa8632c81a68c3d669b4db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 2 13:31:12 2008 +0300

    Some keyring improvements
    - keep keyring sorted by keyid, use bsearch for key lookups
    - check for key in keyring before adding it to avoid dupes
    - actually check that pubkey parameters match the signature on keyring
      lookup like was done in rpmtsFindPubkey()

commit 396ca4694710ca5a1e4ac799f1c68bb0c788b7d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 17:35:21 2008 +0300

    Eliminate remaining signature checking bits from rpmts
    - rpmdb-specific rpmtsFindPubkey() no longer needed for anything, and
      neither are the cached packets and stuff

commit e0e4d1c17c873e02e0482207250369d1b27b2782
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 17:32:11 2008 +0300

    Use keyring even when using pubkeys from rpmdb
    - build-time switchable, could easily be run-time too

commit b10bc97b30e459b865a81fcbe4dab8eef84a0485
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 17:00:04 2008 +0300

    Pass keyring, not the full ts to lowlevel signature routines
    - lazy loading of default keyring on ts iteration works nicely for
      everything but package signature verification which doesn't access the
      db now that the keys are not in the db anymore
    - make rpmtsSetKeyring(NULL) load the default keyring, a bit ugly but
      it'll have to do for now

commit ca52a32bbc30ea5dbcf206e6c8023f71e02f6540
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 15:50:05 2008 +0300

    Eliminate digest calculation statistics from signature code
    - if we want them back, they just need to be detached from the ts...

commit 3c3fe4388fd42e177171582d03f59aea6babb324
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 15:46:18 2008 +0300

    Add methods for getting and setting the keyring used by a transaction
    - semantics of exactly when and how this is permitted needs more thought...

commit caf362cff8d1967bd3d9360c117beacc93470343
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 15:38:32 2008 +0300

    Move keyring related typedefs to rpmtypes.h

commit 0b385002cc04254ce9f994efe1c2400edd9d1516
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 15:25:06 2008 +0300

    Proof of concept rpmtsFindPubkey() implementation with the new keyring
    - ifdeffed out for now, needs a bit more flesh and a working
      import routine

commit 685877f2a0ec949186bbcad1f18ee7895e0da15b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 15:24:04 2008 +0300

    Beginnings of an abstract keyring
    - in librpmio to avoid dependencies on higher level stuff
    - for now it's just an in-memory structure that needs to be populated
      by someone simply by feeding in GPG public keys

commit e435dde712e390f1bdc729b8c792da9bd0633e16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 14:35:44 2008 +0300

    Create ascii armor that rpm itself accepts

commit 0e9f7e2d62c1dec40742c25593aed7eaa436e092
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:52:16 2008 +0200

    Update parseNoSource() and addSource() to accept only unsigned SourceXX numbers

commit ad60332e0494e4da632fb3ed5345bb94d607d3da
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:51:08 2008 +0200

    findSource() eats only unsigned SourceXX numbers

commit 301ef0b5e66a129f952fdb410fe889940106ca69
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:49:19 2008 +0200

    doPatchMacro() now uses parseUnsignedNum()

commit 7f9befa4c34dc6edace37d9961086c67d2c256ec
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:48:50 2008 +0200

    doSetupMacro() now uses parseUnsignedNum()

commit e9e77e64636f4a8e7f066776e3556a8e2de2e51c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:47:36 2008 +0200

    doUntar() accepts only unsigned SourceXX numbers

commit afc392537ffb84396dedfe2cb4270e7dfa6ccd3f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:46:16 2008 +0200

    Convert doPatch() to use parseUnsignedNum()

commit e831de1040243bd33163a930137f1318ece4d61c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:43:47 2008 +0200

    Use the same number types for SourceXX tags as returned by parseUnsignedNum()

commit 206fd12122b7c2e0cf07768f639d78b5f1e4bd5e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:42:12 2008 +0200

    Convert Epoch parsing to use parseUnsignedNum()

commit 0f8102c1edc8ba7bb1b42fed1a9b59a797648ca9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jul 1 12:41:35 2008 +0200

    Avoid reading negative constants from SourceXX, PatchXX tags
    - convert parseNum() to parseUnsignedNum()
    - don't misleadingly declare it to return int, when the result is
      always unsigned due to strtoul() call

commit bcb226480d0b60a8667eade77d81c29de4c3d6c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 1 11:22:40 2008 +0300

    Eliminate the nasty global _dig and _digp variables from rpmpgp
    - pass the digest + parameters around as arguments instead

commit 9594f656d49e1a43e2ffea94c21ffc8f3c4373f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 17:49:02 2008 +0300

    Unexport all the umphteen pgp related tables
    - nothing outside rpmpgp.c needs

commit c2efff14861624a7c8d4d32ef6b681f642804e13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 17:01:29 2008 +0300

    Make every pgp function not needed by other parts of rpm static

commit 1f425eb2908a293f19cdad92f81ce5b74ab520c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 11:12:15 2008 +0300

    We don't need ts to stash the keyid locally now

commit 8e5b817e3cc4f1a272d3ad20807212d27174a208
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 10:59:23 2008 +0300

    headerCheck() does not recurse
    - it can be re-entered by the way of rpmtsFindPubkey() but that doesn't
      matter now as dig etc are local variables

commit 38b401a98986b8f627a9b0b9c3ca94b403e962b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 11:17:17 2008 +0300

    Detach pgp digest from transaction set
    - pass the pgp container around as argument as needed
    - eliminate the related API from rpmts

commit 884714d326af946a06c1e690afe55e95fb351fff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 14:48:53 2008 +0300

    Pass pgpDig around from rpmVerifySignature()
    - get the digest once in rpmVerifySignature() and pass to verification
      functions, signature is part of the digest so no need for separate call..

commit 5c08f55432f9fdc5df7b7bc6ca52b02c68e69dc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 17:09:50 2008 +0300

    Detach signature tag data from transaction set
    - pass signature tag data around as argument to rpmVerifySignature() as
      needed
    - eliminate the related API from rpmts

commit d51023569e2595cfcc76204b4e2a2cb6ba56b4f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 14:03:11 2008 +0300

    Actually use the sigtd passed to verifier functions

commit fcc1dc3369d5821b9780ece8cfeb1fe2bca6a15b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 13:49:37 2008 +0300

    Start getting signature tag out of transaction set
    - collect various signature items into rpmtd and pass around to
      verifyFooSignature() checkers

commit a89c861a3de113ebce481eb2e337e71dfb9e2c21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 30 15:13:54 2008 +0300

    (char)NULL doesn't make much sense, use \0 instead
    - shuts up another gcc warning

commit 19d3b1c8203208954e8d1511bdd5d5cf064548dd
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Jun 30 12:23:42 2008 +0200

    Fix missspelling in macro name (_initddir -> _initrddir), thanks to
    - Ville Skyttä
    - old macro with typo is kept for compatiblity

commit 669a169adea04a2b2019b498fc045fce8349a3dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 30 11:28:32 2008 +0300

    size_t for "left" is wrong, use rpm_loff_t instead

commit 4cdc43c6c2b68883d603c3363472014c7163a34d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 30 11:24:34 2008 +0300

    strntoul() is supposed to return unsigned long, not int
    - the type mismatch busts up handling on largish files...

commit c1a5eb371270c2dee3e335ab3589e90fdc0195c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 15:15:46 2008 +0300

    debugedit: Include empty CU current directories (rhbz#444310)
    - patch from Jan Kratochvil

commit b55b066e9c30ec4962434fa73d701083fb4d5364
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 14:39:39 2008 +0300

    Use correct formatters for debug-printing in rpmtsInitDSI()

commit 5f42506680ce69837d4708d38b27a7cfe346b024
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 13:49:48 2008 +0300

    Use correct formatters for debug-printing sizes in printSize()
    - on x86_64 size_t happens to be 64bit, not so on x86...

commit 8b6f82feecf0b5206eff998b07e8958962190513
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 27 13:02:23 2008 +0300

    Adjust python callback for amount+total type change

commit 636311912b9426b5bc1da2d256ec4b97b92f1686
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 17:52:31 2008 +0300

    Argh, the tag is LONGSIZE, not LARGESIZE

commit a9d58acedc555d38228486863f72510293f3c626
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Jun 26 15:58:40 2008 +0200

    Take new directory into account in rpmbuild test

commit 65110dfa7dba070cf0ec2467d1f4ddae458640c9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Jun 26 15:56:55 2008 +0200

    Add new BUILDROOT directory to default rpm build dirs.

commit d562af843e60c4c7dc27e3086130c6bcd560e74c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Jun 26 15:56:11 2008 +0200

    Add new macros for enabling default build root

commit 5c46ebb7a95f3076ef4ba38a30d4998057c03258
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 16:37:06 2008 +0300

    Make --info work on large packages too

commit 219917989ab737b145324cea1ee760bc0203426f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 16:34:32 2008 +0300

    Teach build about 64bit payload etc size tags
    - only use 64bit variants for packages that actually need it to avoid
      breaking compatibility when not needed
    - old rpm will bail out "cleanly" (with an obscure error message) if
      the 32bit size tags are missing but at least it doesn't crash...

commit 5831f37b215be053096ee38b090bddba2e7cdad6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 16:28:17 2008 +0300

    Teach rpmAddSignature() and rpmReadSignature() about 64bit tags
    - use 64bit size if it exists, otherwise quietly fall back to 32bit one
    - can't use tag extensions to convert there as legacy sigtags conflict
      with things like RPMTAG_NAME

commit 09ca0902dfacd6de00237235717af3d9162a76e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 16:23:56 2008 +0300

    RPMTAG_LONGSIGSIZE and RPMTAG_LONGARCHIVESIZE are signature tags
    - move them from regular tag space to sigtag space, fortunately these
      don't require special conversion

commit e84165833f26c2cbfd32abb50439a3ab34be8767
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 16:10:49 2008 +0300

    Only insert 64bit filesizes on build if required
    - older rpm's get pretty upset on encounter with 64bit integers, avoid
      unnecessary breakage as very few packages actually need large file sizes
    - Add per-filelist flag for large files, enabled from addFile() as we
      check sizes. It's basically a no-op for now as we error out if any
      single file exceeds cpio per file limit.

commit a930e73ef733210df9be7e142ec81d206fbd9f70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 13:59:06 2008 +0300

    Unbreak compressFilelist()
    - well and truly broken by yours truly by a Monday morning commit
      efe1665024e374a8f8704d229b1d306af232c396, blush...
    - can't use headerIsSource() here, as build calls compressFilelist()
      before RPMTAG_SOURCERPM is added to the header, revert to earlier hack
      and check filename beginning with / or not
    - dncmp() expects address of a string, not the string itself, this was
      masked by the above bug

commit ef34894567a3ecd82035fc3b82ca06a3773d9ac3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 11:38:28 2008 +0300

    Add a bit of protection against oversized files
    - max size of individual files in cpio new ascii format is well known,
      check we don't try to stuff in larger than what fits and abort cleanly
    - this should do as long as we only support new ascii format cpio payloads

commit 6985cd23724b8cde7f7a73507d8130be18c270af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 26 10:50:01 2008 +0300

    Type corrections
    - Fread() and Fwrite() return ssize_t, not int32_t
    - sigtag is rpmSigTag, not int32_t

commit ae177457c8d23584f45b5f36866ce4ed20509e1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 10:59:20 2008 +0300

    Fix handling of "%posttrans -p /xxx" with no body (Pascal Rigaux)

commit 1ba0513f7f68690339147a56de29883f24591952
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:56:12 2008 +0300

    Adjust autotest querytag expectations to match current tags

commit c26161d0ab973e99f065fd3ee578461175ee1211
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:53:21 2008 +0300

    Adjust autotests for rpmi etc removal

commit 997f5a24c5420676e8a3e29845902dca7f98a44e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:33:50 2008 +0300

    Force "rpm" popt context for everything but build
    - we want the same set of aliases to be seen no matter what name we're
      invoked with, except for build which has it's own set of aliases
    - this has a nice little side-effect of permitting popt aliases to work
      from source tree on non-static builds despite libtool calling executables
      lt-something instead of their real names

commit 7a02b41365399f665f0ff097f05583ae537ac6ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:20:27 2008 +0300

    --buildpolicy is rpmbuild, not rpm, alias

commit 52bea969c7404f646050844f8a5576d60032aaeb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:19:13 2008 +0300

    Kill the million duplicate aliases in rpmpopt

commit cb17fb722c9576502378cd79e21517819db2cdc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 25 09:18:51 2008 +0300

    Eliminate rpmd, rpmi, rpmk, rpmq "helper binaries"
    - it's all rolled into "rpm" itself, these are just clutter and complicate
      things needlessly
    - leave symlinks to rpmquery, rpmverify, rpmsign and rpmdb -> rpm to
      preserve some compatibility (at least rpmquery is known to be used
      in scripts)

commit 600c98615426cf2e5a606e51b447250cd3be9c71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 16:07:05 2008 +0300

    Update rpm manpage wrt build modes
    - the build modes have been removed ages ago, just point to rpmbuild manual

commit 30be238164bebe44b00202a7a2ee37bbd5b6bf75
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 15:23:30 2008 +0300

    Eliminate build-related aliases on "rpm"
    - "rpm" for building packages hasn't worked in ~six years, time to clean
      up the junk from rpmpopt

commit 94df5d41dee6dc5fc73d2e9c02e7bf9153eb6a87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 11:11:38 2008 +0300

    Eliminate already commented out build mode aliases for rpm
    - these haven't been enabled in six years and not coming back...

commit 70282af4b3b5d5911ffe1dabd04ee79c64045150
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 11:09:00 2008 +0300

    Eliminate rpmb aliases from rpmpopt

commit 6f06fff34884e334cd5eab3b371481b4e1039876
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 11:08:05 2008 +0300

    Eliminate the pointless rpmb + rpmt symlinkery
    - just build "rpmbuild" executable and install to bindir instead of
      mucking with several different names

commit aa9a791d808f504781d0b75255df3387383a1809
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 24 10:08:37 2008 +0300

    Force FD_CLOEXEC on all potentially open descriptors
    - instead of just "100 should be large enough", use sysconf() to grab
      number of max open files and do them all. If sysconf() fails,
      use 1024 as "should be enough for everybody"

commit f39d2432f74bdc328ceafa8abc6cac517e02c73b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 23 16:57:51 2008 +0300

    Remove artificial limit in dependency loop elimination attempts
    - continue processing as long as progress can be made instead of artificial
      hardcoded magic "try ten times"

commit 9fb0258e04d70608982f3f65a881b053a4e19645
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 23 15:02:10 2008 +0300

    Avoid silly deprecation warning on headerFreeData()

commit 6c7f2262f3b8a1399c6ed130ff0e388236507d2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 23 14:37:54 2008 +0300

    Simplify requires and provides addition in rpmfcGenerateDepends()
    - just feed (name, evr and flags) one by one into header instead of
      constructing arrays of them

commit f23f0a8d62aeeab6f41667c53f7bb12f1817cc83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 23 14:31:54 2008 +0300

    Oops, provideflags were being inserted as requireflags

commit 2ed85a4ff9cc25800f607cd0450b02fde97cf3b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 23 08:46:51 2008 +0300

    Add Malay translation from Sharuzzaman Ahmat Raslan

commit 880a28f2ff45da7d7003db9c270d1ed173cb90f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 16:08:00 2008 +0300

    Dumb, dumb thinko/leftover from earlier prototype...

commit 1c445fcd974eedd0e533487a40214b328b1eaadf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:52:54 2008 +0300

    Use type-specific headerPuts() for rpmcache
    - ...to finish of undoing yesterdays damage, sigh ;)

commit 0199599a0d2bd049b54b7977b27f182bd8a23663
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:52:19 2008 +0300

    Use type-specific headerPut() for the case where it makes sense in relocs

commit 3782d652156dd3067c09f0441bc087d2b4b790ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:51:07 2008 +0300

    Use type-specific headerPut() in rpmpsmStage()

commit c7d0e4ada36a40e6dd77a80f7db570a22f603862
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:50:32 2008 +0300

    Use type-specific headerPut() for installtid stuff in rpmdbAdd()

commit 17cbd0f9725c3e08524b7a29c89b4574c9862710
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:49:09 2008 +0300

    Use type-specific headerPut()'s for rpmtsImportPubkey()

commit 6d7b5c0a7aa80ba2adf9892c941536acaaf78b85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:48:31 2008 +0300

    Use type-specific headerPut()'s for legacy retrofitting stuff

commit f754ad8aa640b7a72936a19dabca64bacdbb5e63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:47:04 2008 +0300

    Use type-specific headerPut() where makes sense in build/parseScript

commit e940b206b95f78063902518e7dd1151bd278b46f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:46:34 2008 +0300

    Use type-specific headerPut() where makes sense in build/rpmfc.c

commit 6844c194ccd7ccebd48719600b5e32f14a620f0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:45:57 2008 +0300

    use type-specific headerPut() on all of build/reqprov.c

commit cd4c3c0cd26a2977fa4b62363b72fa3930457625
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:45:37 2008 +0300

    Use type-specific headerPut() on all of build/parseSpec.c

commit e79b9743b12438de490879fe6d5cc674b3ba6118
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:45:06 2008 +0300

    Use type-specific headerPut() for all of build/parsePreamble.c

commit e663f0bef2c6af9f773e8dccb7e3e1af43afc5c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:44:29 2008 +0300

    Use type-specific headerPut() for all of build/parseChangelog.c

commit 683b2e5b72d36e38b9a09f9153427fe5b2d0616b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:43:45 2008 +0300

    Use type specific headerPut() for all of build/pack.c

commit a317eaadc3f7b9b4ec373719e7d60fb8b98e2c21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:43:14 2008 +0300

    Use type specific headerPut() for all of build/files.c

commit 62d7b0c98d30c70613319e6af742827a67d9c732
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 19 15:41:58 2008 +0300

    Add type-safe headerPutFoo() methods for supported tag data types
    - requiring all access through rpmtdFromFoo() just adds unnecessary
      indirection and pain for little gain, the header is fairly intelligent
      when it comes to inserting data
    - this gives us various benefits over the old headerAddEntry() interface too:
      + basic type checking done by compiler
      + extra sanity checking (ie you can't add string data to integer tags,
        don't permit adding more than one entry to non-array data etc)
      + "do the right thing" approach - add / append as needed and supported
        by various types
      + headerPutString() can now be used on both single strings and string
        arrays making the interface much nicer for the rather common case of
        appending strings one by one to string array tags

commit a10f770ccaed6e722a0065a59887d6fc133cc86a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 16:14:36 2008 +0300

    Dumb thinko breaking scriptlet interpreter

commit 0d1cdd4a965cee9fac416341d3566c3d06a8b305
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 15:39:59 2008 +0300

    Group legacy interfaces at the end of header.h
    - out of sight, out of mind ;)
    - add deprecation warnings where missing
    - move to header_legacy doxygen group to avoid littering main documentation

commit 96470400712b6f8d68c906751f2d8df934c34bba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 15:22:46 2008 +0300

    Convert headerAddI18NString() to use headerPut()

commit efe4e4c9461ef3a1b253a5bcb628882bc0b21ee3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 15:16:05 2008 +0300

    Switch around headerAdd*Entry() family vs headerPut()
    - make internal header add + append take rpmtd as argument, legacy
      interfaces are just wrappers around them
    - add deprecation markers

commit b6577f0e6de7f7888823eeaa396c6d2bae369f20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 14:59:13 2008 +0300

    Switch around headerMod() and headerModifyEntry()
    - headerModifyEntry() is the legacy interface going away, make it
      use headerMod() and deprecate it

commit a8f23a461958479a773c482260899522b76efa81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 14:54:41 2008 +0300

    Stuff legacy compat wrappers out of sight into header_internal.c
    - probably need to carry the compat stuff around for a while but get
      them out of the way...
    - headerFreeTag() and headerFreeData() are just the same thing, with
      headerFreeTag() supposedly being the "new" interface which never was
      used, duh :)

commit 9bbfae241a67ecb15889f7e100f6c5111486255b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 14:35:56 2008 +0300

    Start shredding legacy cruft out of header code
    - headerGetRaw() can now be done with just a flag to headerGet()

commit 335363733e79c80f3ce211bad7290f1b897e7dc5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 13:15:46 2008 +0300

    Convert signature code to use headerPut()
    - tags in signature header overlap with those in "regular" header,
      can't use rpmtdFromFoo() as that would give totally bogus types and errors
    - just add a wrapper around headerPut() that behaves like headerAddEntry()

commit 9432e7a9bc2478edca78ba1ac3f855e2f2dda7db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 13:13:22 2008 +0300

    Convert parseScript() to headerPut()
    - AFAIR the only place in rpm where the type of a tag varies like this, ugh
    - any modern rpm can handle the type being either string or string array,
      but preserving legacy behavior for now...

commit 005c5663e3f9eac1c6af835dcec7d8074783be31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 12:57:36 2008 +0300

    Convert rpmpsmStage() to use headerPut()

commit ddd39615fd1bb0603be5626f1441dafc99c7055d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 12:55:02 2008 +0300

    Convert rpmdbAdd() to use headerPut()

commit d6735b669ef412d6be9b5d129436f98a3a0f0c10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 12:52:28 2008 +0300

    Convert rpmtsImportPubkey() to use headerPut()

commit d68f236bba1c72fd667a7c128ad1cba98180b177
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 12:37:42 2008 +0300

    Convert RPM_BIN_TYPE uses in build to headerPut()

commit 9b162540e17fbe09f8de7d9bed09295e8c2219e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 12:36:20 2008 +0300

    Add rpmtdFromUint8()
    - handles CHAR, INT8 and BIN types

commit 7e8142f3cf7b3818b2d9a3a86ae0cd62eb25f772
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 11:32:59 2008 +0300

    Convert legacy retrofits & friends to headerPut()

commit feb037946435a82c80d9332bfbd2b3b530cd39e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 11:16:04 2008 +0300

    Lose the remaining hae and hme vectors from rpmfi

commit 53edb2a11c9f96654218cbe9c395dcf1f866f478
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 11:13:58 2008 +0300

    Convert file relocation to use headerPut/Mod

commit 312ab62fe10b05874b107084c26e9110dd13e84f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 10:59:45 2008 +0300

    Add headerMod() to headerPut() etc family
    - just a dumb wrapper around old headerModifyEntry() for now

commit 19415eaf046cb8f1a96f0d8bee5ae2433dc1b707
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 18 10:15:37 2008 +0300

    Convert rpmcache to headerGet+Put

commit 513e86a7b552d1db9cea3772829d723228175008
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 16:11:49 2008 +0300

    Number of sources can't very well be negative...
    - also happens to avoid compiler whining about differing signedness

commit 61aa9083544315f76d049f36794cc0bf6e5eb9fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 16:07:55 2008 +0300

    Shut up incompatible pointer warnings from rpmtdFromStringArray()
    - it'd be far nicer to be able to append single strings to string arrays
      through rpmtdFromString() but it'll require some interesting hackery
      in header.c
    - use temporary const char* pointer where necessary to convert to
      const char ** compatible type before passing to rpmtdFromStringArray()

commit 2f55856c85d02a81318065dbb1dd06ff92c9004c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 16:04:12 2008 +0300

    Make rpmtdFromStringArray() data argument const afterall
    - produces somewhat less warnings as is, a bit surprisingly

commit 05540d121b2555a79877fe013689ce0a6ecea258
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 15:36:33 2008 +0300

    Oops, RPMTAG_FILEMODES is INT16, not 32 type

commit d6aded3128ae82bbea3c8701f3be4326c71767db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 14:54:44 2008 +0300

    Convert rest of writeRPM() to headerPut()
    - can't use rpmtdFromFoo() on signature header tags so need to construct
      them manually

commit 15cc52e514deedb403cbe1d516b8ffa09c8edba0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 14:45:14 2008 +0300

    Convert the final pieces of rpmfc to headerPut()
    - more const-impedance here.. need to do something about it

commit 36a187ec3308276b52ccf4a5858c0f5273bcef1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 14:37:55 2008 +0300

    Convert the rest of genCpioListAndHeader() to headerPut()
    - explicitly cast all platform dependent data like time_t, mode_t etc
      to the type used in headers always instead of having everything doubled

commit f4cdf53a7616f541d6f8e3523bb18b50d2063d5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 14:24:16 2008 +0300

    Add rpmtdFrom() methods for 16 and 64 bit types

commit 457a3110708e9d6c3e06441a5900b722c4c874a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 13:30:08 2008 +0300

    Convert the straightforward bits of build/files.c to headerPut()

commit a48e97b5f00ca2ae366d3fa5af3656aed4a19b1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:57:59 2008 +0300

    Convert most of parsePreamble to headerPut()

commit f6a8d969de0a05f78bc32a4f27f5017c348a67ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:56:53 2008 +0300

    Convert build reqprov to headerPut()
    - also changes index type to uint32_t instead of signed

commit 85f0bbe8abedbc8c2f316f5680055cf700ca4f25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:55:33 2008 +0300

    Convert parseSpec to headerPut()

commit a61a1785a66a908af1c4d91b428af9c7ddfced08
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:55:01 2008 +0300

    Convert parseChangelog to headerPut()

commit 2b6f72a7ee51e6a38b845ade303897e4f9194a2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:10:01 2008 +0300

    Convert most of build/pack.c to use rpmtdFromFoo() and headerPut()
    - heavy on asserts() for now to catch out any problems
    - sigtags can't use rpmtdFromFoo() as the tag numbers collide with the
      regular tag table and would cause failures if we tried

commit 61f096c11ee62c423c72957373a9b7d38557d5fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 12:07:19 2008 +0300

    Add some new rpmtd creation methods
    - rpmtdFromString(), rpmtdFromStringArray() and rpmtdFromUint32() permit
      populating tag containers of compatible datatypes that can be used for
      headerPut() with some extra type-safety and sanity checks on the types

commit 8687797c1ce3d43181d1991e6413098b3dd95a17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 09:07:37 2008 +0300

    Replace headerRemoveEntry() with headerDel() everywhere
    - this is a no-brainer s/headerRemoveEntry/headerDel/g operation as the
      interface didn't actually change at all

commit b6c2fd31d8f6b28ace55d1656d19eed3cd6f70f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 09:02:41 2008 +0300

    Rename headerRemoveEntry() to headerDel(), add compat wrapper
    - no differences here except headerDel is a nice short name (lifted from
      rpm5.org) to go with the new headerGet() etc family
    - deprecate headerRemoveEntry()

commit fd3d65cd5bdccf20f98762d84fe65bbb1c72b8b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 17 08:49:19 2008 +0300

    Eliminate last headerFreeData() in rpmfi

commit bb81679aa5296b18856f1672ae85b6c7ab627e97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 14:43:15 2008 +0300

    Preserve headerNext() allocation behavior
    - commit bca23d19af0a6d7371d18f6fd763e37e03f6e21a accidentally changed
      it to MINMEM which breaks signature checking, lovely...

commit 541cc0447af97f8193eb5d8e9f1c6a4c71b61ffc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 14 11:31:15 2008 +0300

    Lose the useless tag data type fields from rpmds
    - we know names and evrs are string arrays, if they're not we're screwed
      anyway, and flags need to be freed if header is not around
    - there goes hfd() too...

commit 92f6c2d3bd87d9dd67678ea61bca9a8158ed4ade
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 09:24:46 2008 +0300

    Use PRIu64 for file size formatter in queries

commit 3b75f9d589bd732dfac142266cbdd785a4bbefb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 16 09:06:15 2008 +0300

    Doxygen parameter name mismatch

commit d8b28213ae4f9927e4f82e131aaad1dbcd5e7dd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 16:55:12 2008 +0300

    Deprecate headerGetEntry() and headerGetEntryMinMemory()

commit fb618299bb0709941b2a1ee0ac23f8e50b492c7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 16:52:39 2008 +0300

    Convert rpmtsSolve() to new headerGet()

commit 7b8fc75dea12884d51e41e9298d575910b0d072c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 16:44:35 2008 +0300

    Kill off hge() and hfd() vectors in rpmfi_s
    - hfd() with FORCEFREE or STRING_ARRAY is just regular free()
    - hge() no longer needed...

commit 30ebb0ba57056bd2a45aa36929c8c250afc35ed1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 16:38:10 2008 +0300

    Lose the remaining hge() uses in rpmfi relocation
    - ugly hackery for now, otoh it wasn't pretty to start with...
    - always make a "sparse" dupe of directory names so we know how to free
      it even if just some of the directories were relocated (this was broken
      from the previous round of relocation alloca removal hackery)
    - take advantage of RPMTD_PTR_ALLOCED to correctly free in all cases

commit 2f00f421ee3f1b945d228f7ca5175597ebc2ee43
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 14:17:08 2008 +0300

    RPMTAG_FILEFLAGS is not used for anything in relocations

commit 1091951365d28cabb8c7188738602975a6fdc7db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 13:59:04 2008 +0300

    Convert validRelocation parts of relocateFileList() to new headerGet()
    - one piece at a time, this baby breaks easily ;)
    - take advantage of iterating over td as possible..

commit 911b3151ae1819d18a19b8d032e81aac25249036
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 13:52:32 2008 +0300

    Unbreak relocations broken by 621e7518418a0e031d302e8681fe0bf81d0c4b72
    - stick scareFlags into rpmfi_s for now so they're available everywhere
    - subtle games with how fi->dil is alloced on scareMem behavior, don't
      blow up and don't leak memory either
    - stuff scareFlags into rpmfi struct for now

commit f32ad12ea8391fd892d696987157ba59a0028b8a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 13 12:51:01 2008 +0200

    Use 64bit sizes by default in rpmcache

commit d6026decfb6b85ff04521c37dfcd7e9b1482cf0e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 13 12:31:26 2008 +0200

    Allow spaces in Source/Patch URLs and filenames

commit c071f46c85c2a0ad93e6d7c272f593b1303efc2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 12:23:46 2008 +0300

    Simplify providePackageNVR()
    - convert providePackageNVR() to new headerGet()
    - use rpmds to figure if we already have the provide instead of manually
      doing it

commit 973cff0efcd62856505ad123ac63bd693a1fd261
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 11:42:46 2008 +0300

    hfd with FORCEFREE is just _free()

commit d23f3a67c73ff7789c4b6dea6f05f8b394abe3c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 11:42:06 2008 +0300

    Convert rpmpsmStage() to new headerGet()
    - grabbing fi->fuser and fi->fgroup there seem completely unnecessary,
      they're always populated from rpmfiNew() afaict...
    - hfd() with FORCEFREE is just the same as _free()...

commit fe87b4a5cf101919ad8d3aa16fb1561fe0b5e4d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 11:27:13 2008 +0300

    Convert runImmedTriggers() to use new headerGet()

commit 1910af96d9695f3ad654d393ca03c2d2f237f268
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 11:17:00 2008 +0300

    Minimally convert handleOneTrigger() to use new headerGet()

commit 615fff42f78201f673c064096d83691c663dff2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 10:27:46 2008 +0300

    Convert legacyRetrofit() to new headerGet()

commit 669af8b842a075878f5d654e89e98c338de8d212
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 10:21:40 2008 +0300

    Minimally convert handleInstInstalledFiles() to new headerGet()
    - fi->hge style doesn't matter as otherStates is just local temp variable,
      use MINMEM always to avoid unnecessary copy (DEFAULT wouldn't copy either
      atm but..)

commit a82694308c93e40461b10a8a9572349232c0a067
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 10:16:24 2008 +0300

    Minimally convert rpmdbFindFpList() to use new headerGet()

commit 39b71970952e5190b76f1ba5f4e5967a38318b19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 13 10:09:20 2008 +0300

    Minimally convert rpmdsNew() to use new headerGet()
    - take advantage of HEADERGET_ALLOC to avoid manually duplicating Flags
    - otherwise just dumb minimal conversion for now, rpmds could make use
      of rpmtd iteration etc but leaving that for later...

commit 7f8485a61cc7863d0047f0828f66a0579aa2b768
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 17:37:33 2008 +0300

    Convert a few hge()'s in relocation code to new headerGet() & friends

commit 9879f8440d8bebd8890cac95602dc06c158e516d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 17:09:35 2008 +0300

    Make fssizes tag extension 64bit
    - type changing doesn't matter much as this is just runtime generated data,
      not from headers
    - also gets rid of the remaining old hge() use in tagexts

commit 7ddf1722a8a66c5197f68655e8859f88585ece86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 17:03:04 2008 +0300

    Change rpmGetFilesystemUsage() size args to rpm_loff_t

commit 7dc709b51751c065ff9df8098a13f04a7c6fea52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 16:41:31 2008 +0300

    Make rpmfiFSize() return rpm_loff_t type, fixup callers
    - Internally file sizes are still stored as 32bit, going to 64bit wouldn't
      make much sense (would only waste memory for nothing) as long as we're
      bound by cpio's 32bit per-file limit. Being "64bit ready" for filesizes
      doesn't hurt anything though...

commit ec378955f15325db5cfa826746ca9ff60c011bfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 15:31:27 2008 +0300

    rpmfiNew() doesn't use old hge() anymore

commit 4a680922c08653b0a9d56146404fb8b6f8fececb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 15:29:40 2008 +0300

    Use long archive size always in rpmfi

commit 4c6f6d88b86839557066672ae9ab33f2a53f6ecc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 15:05:43 2008 +0300

    Add more 64bit size tags + tag extensions for converting from old values

commit 3c5a8a7046cb6437f7a94742f5531a64165db684
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 15:01:58 2008 +0300

    Move 32 to 64 bit tag conversion to helper function

commit 5f361fe6a184b4d3772e234043a4f7dd647e41c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 14:16:28 2008 +0300

    Use HEADERGET_ALLOC instead of manual copy in longfilesizesTag()

commit 621e7518418a0e031d302e8681fe0bf81d0c4b72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 13:35:09 2008 +0300

    Use HEADERGET_ALLOC instead of manually copying the data in rpmfiNew()
    - headerGet() knows better how to create a copy of the data, let it...

commit ebcdb5c57a1e1d570c53927901e45d5c8f8c178d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 12 11:04:33 2008 +0300

    Dumb thinko in header data allocation

commit 7705737c4731f9b7164c91b150e2a94053bd07ff
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Jun 11 16:13:18 2008 +0200

    Use rpm_loff_t in printFileInfo()
    - and use snprintf

commit bca23d19af0a6d7371d18f6fd763e37e03f6e21a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 11 12:26:52 2008 +0300

    Add headerGet() flag to force allocation of returned data
    - earlier there was no way for caller to know if returned data or parts
      of it pointed to header memory (other than "know" how rpm behaves on
      given types), this allows consistent behavior for callers (ie you
      always "own" the returned data, not depending on header) when needed
    - if HEADERGET_ALLOC flag is set, all returned data is malloced, instead
      of possibly pointing to header memory depending on type
    - HEADERGET_ALLOC overrides HEADERGET_MINMEM if both specified
    - adjust various header internal callers to accept flags instead of just
      minmem argument
    - TODO: make sure tag extensions honor this too (all but fsnamesTag
      currently allocate anyway)

commit 1ae76f69df0eacf8f7fc7aab6b920010a5dde25f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 11 10:31:14 2008 +0300

    Make rpmps generic number field 64bit, rename getter method
    - rename the parameters + internal use to more generic "number"
    - rename ugly and dumb rpmProblemGetLong() to rpmProblemGetDiskNeed()
      and return rpm_loff_t
    - the number field is used for some other purposes too (whether dep problem
      is for installed package), work around this for now by just defining
      rpmProblemGetDiskNeed() result value as undefined on non-disk related
      problems ;)

commit 55d3bbd4b87ea7eec48cfa573bdac9001a8cc4da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 11 09:25:02 2008 +0300

    Enable rpmDoDigest() to pass large file sizes
    - should probably be off_t instead of rpm_loff_t as this is lowlevel io
      business and only verification code cares about the size reported by
      it, otoh forcing 64bit always avoids having to deal with variable
      off_t type on printing.. shrug

commit 6c4772537d39f413cf62b1eefdcc151ae3a4b056
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 18:11:32 2008 +0300

    Add new tag extension to retrieve filesizes as 64bit types
    - convert old 32bit sizes to 64bit if large sizes aren't present in header
    - if large sizes are present, we malloc + copy the result to have consistent
      behavior for rpmfi

commit 9130995df6d2c6461042f3470499b933c10e0211
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 16:00:33 2008 +0300

    Minimally convert rpmfiBuildFNames() to new headerGet()

commit b0885bd0f20362bd2a30f59659ce1b61735b074d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 15:05:31 2008 +0300

    Callers are now well known, require non-NULL arguments

commit 8f12edb8f8ac6b3e30c9680562ebf9b4ed8a00d9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 10 15:33:24 2008 +0200

    Add 64bit filesizes to header on build

commit ac7f7121eba87fa2717e82d5b27ef335e3486517
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 10 14:42:50 2008 +0200

    rpmtsUpdateDSI now uses rpm_loff_t for fileSize

commit 96d9edabb3c97d14438cb7c705caf0b04c72eac7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 10 14:41:10 2008 +0200

    Use 64bit data types in diskspaceInfo_s

commit cb4bce5e24e736c2b7e3dc28d2e475077d286ef3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Jun 10 14:37:52 2008 +0200

    Create RPMTAG_LONGFILESIZES to hold 64bit filesizes

commit 6b3e0cc97bad88009ea84d7951cede53b7f20dc8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 14:36:12 2008 +0300

    Eliminate rpmfiBuildFNames() from the API
    - headerGet() with extensions enabled provides a nicer interface to
      the data, no need to expose it

commit dd46457ab5bedcaad7f83782dc6057d97372ec50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 14:31:43 2008 +0300

    Eliminate rpmfiBuildFNames() use in psm

commit a2df078607de4cb7fe34164f0f1806a84120eddf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 14:29:30 2008 +0300

    Add RPMTAG_ORIGFILENAMES tag extension

commit d6641e87c5f28b3fbfa7566a583f6bc9f3523865
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 14:24:57 2008 +0300

    Eliminate rpmfiBuildFNames() use in python

commit 00a9e06618a09d057fdf08d2608536da75e741db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 13:40:51 2008 +0300

    Use rpmFileHasSuffix() instead of doing it manually

commit 54f40c0faf2fc203447dc1533a2e3a3456551567
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 13:35:20 2008 +0300

    Convert psm rpmInstallSourcePackage() to new headerGet()

commit 779c05972673122d5a34f76e42932af3ab9f2a84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 13:08:11 2008 +0300

    Convert psm markReplacedFiles() to new headerGet() interface

commit b4b6e53183ffe928932a11bf30de0c186510e7b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 10:04:52 2008 +0300

    fwrite() returns size_t, use correct type

commit af9518dce2d483efe3d9f7191f583662dae276e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 10:02:52 2008 +0300

    Use correct type for strlen()

commit 4ffee98a652dbc4fcfeb04076111bedf043a7956
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 09:59:09 2008 +0300

    Silly signedness mismatch in pgpMpiSet()

commit ae2cd002e679c9fffb7ac8d21380e91408532339
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 10 09:54:51 2008 +0300

    Use nlink_t for hardlink count types
    - avoids some signed vs unsigned comparisons

commit 46d4daee4560da3499b4be5ce71ad6994fb279ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 19:00:37 2008 +0300

    Change tag extension returns codes to match headerGet()

commit e08c4251a5e0fac04f86c0b03de5766d5c0cbf42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 15:42:24 2008 +0300

    FD_t contentLength field is useless for us too...

commit f2bdbe3d7df24e874bb9713354a5bad4a7b7c349
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 15:38:28 2008 +0300

    Lose bunch of unused fields from FD_t
    - leftovers from times of internal http/dav etc transports..

commit 45ac934fdcf0efc14147051d37bab789b00b41da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 15:33:27 2008 +0300

    Use 64bit type for fdSet/GetCpioPos() in rpmio

commit 243218b9cdfe43a878677d1abd530df0ee9986da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 12:58:43 2008 +0300

    Use 64bit type internally for printing size when reading sig header

commit 522c6d074ef9f8ddb54feeaf40f28a846f2ec840
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 12:48:34 2008 +0300

    Use 64bit type for rpmte package size reporting
    - RPMTAG_SIGSIZE limits to 32bit in practise currently

commit c5119e79005fb6097c7bc420f045ba2fc1ba5bea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 12:36:19 2008 +0300

    Use 64bit type internally for total file size counting in build
    - ensure we don't overflow RPMTAG_SIZE which is 32bit for now

commit 161395648f72bd27d18fcf96bdea38d24c74b437
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 12:29:07 2008 +0300

    Use 64bit type internally for package archive size & offset
    - cpio "new" ascii format limits individual files to UINT32_MAX, no such
      limit on the entire archive though
    - RPMSIGTAG_PAYLOADSIZE is 32bit type atm, assert that the archive size
      fits to UINT32_MAX despite internal presentation being larger
    - FD_t limits the real archive to rpm_off_t still

commit a45f4a18038cd8f4f3f7f7a7a2ea54e7ad5fde93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 12:00:12 2008 +0300

    Use rpm_loff_t for transaction callback amount+total arguments
    - ought to be safe as data is only ever automatically converted to larger
      type on notify calls

commit 94552b96256c3620b4be407c501d0d926c081963
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 9 09:31:00 2008 +0300

    Handle NULL in str2hge()
    - at least apt-rpm expects to pass empty version as NULL to rpmdsSingle(),
      don't blow up...

commit d4c04512a15733ebfababd42b67d957744e613b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 13:17:52 2008 +0300

    rpmtdCount() knows how to handle BIN types, use it..

commit 5e40a2eb7723e0f812f25dc2d8bcdab845ade391
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 11:43:54 2008 +0300

    Couple of more 64bit format types

commit db964ebf78a0f6a5434631ff2715517934e243ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 11:32:02 2008 +0300

    Remove unused variable

commit 5c9c0c5353ba125a075441964738ac9fcabfdc84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 11:31:32 2008 +0300

    Handle 64bit type in headerMergeLegacySigs()
    - not that any legacy tags have 64bit type but shuts up gcc..

commit be712bc960fe8a75fc55e724b1e7d4980281eeb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 11:29:16 2008 +0300

    Use inttypes.h formats in stringFormat()
    - add 64bit type while at it

commit 3d8e8c5e53ca60817395164b1e08593da82cd2da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jun 7 10:51:53 2008 +0300

    Teach rpmdb about 64bit types

commit 05db695ee6cec89b98db87e7b00ecbffb65eb634
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 6 23:47:37 2008 +0300

    Add access methods for 64bit integer types to rpmtd

commit d1c9e039a4a245edf470d78dd465f55388cd916c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 6 18:53:44 2008 +0300

    Fix typo in sqlite backend preventing it from building

commit 90c18fbeced891129828c15e67bb22c3b25b7726
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 6 15:15:01 2008 +0200

    Introduce 64bit rpm_loff_t

commit 18def173765c3b820e99fd502e4d42853746823e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 6 15:10:57 2008 +0200

    Teach sqlite backend 64bit handling

commit e2427595aac7f3d121324d67c474b27d4c549edd
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 6 15:04:25 2008 +0200

    Handle RPM_INT64_TYPE in header functions

commit 49dfc587d5b356551d646e40d575378a737c331f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 6 15:03:19 2008 +0200

    Introduce htonll()

commit 56a8f9d90811cf6afc5a2cbbfff561d572f44307
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Jun 6 14:57:05 2008 +0200

    Introduce RPM_INT64_TYPE

commit 09d8cbafff94cde37accd9c43fcd8087457925cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 14:26:34 2008 +0300

    Unexport file state machine internals
    - fsmGetTs(), fsmGetFi(), fileStageString(), fileActionString(),
      fsmMapPath(), fsmMapAttrs() and fsmStage() aren't needed outside fsm,
      make 'em static to avoid leaking to symbol space

commit 50f34a622edc4d737d671622401f7dad44a10d62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 13:51:57 2008 +0300

    Rip doputenv() for good

commit ed859877a5bcaff3ff3ac40ed39a48d1149471a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 13:48:57 2008 +0300

    Use setenv() for preparing scriptlet environ
    - setenv() allocates memory as needed, no need to leak it
    - setenv() is nicer interface for the purpose anyway

commit a7a9595d9b1885fb57a27b76f15bb9ce09203949
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 13:39:07 2008 +0300

    Rip dosetenv()
    - just use regular setenv() instead
    - we already carry setenv() in misc/ for platforms that don't have it

commit 6f010ec18d7f48b123b96bce77be43f84c8328e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 12:11:05 2008 +0300

    Unexport rpmsqCaught now that nothing needs it

commit 0863a4420ba0569da1edb0dd8018ce7f62c25a28
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 12:10:02 2008 +0300

    Use rpmsqIsCaught() instead of directly accessing rpmsqCaught sigset

commit cd040ba59b00ce709fa97016df9eaf733adc1ccf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 12:04:57 2008 +0300

    Add rpmsqIsCaught() for testing if a signal has been caught

commit df206dbaaf59af1c4879ecd3739f2cf9a46e48af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 11:44:20 2008 +0300

    Unexpose signal queue and direct manipulation functions
    - nothing outside rpmsq needs to fiddle with the queue directly

commit fe5ff47868f2b6349bc14fa5bb5484d54110e6a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 3 09:09:00 2008 +0300

    Don't leak memory on python fi.Digest() calls

commit d6380f029cfa6b39eb036fe1818737296737f6fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 16:10:19 2008 +0300

    Change rpmTagGetNames() interface to more like that of headerGet()
    - instead of returning a newly allocated rpmtd, take container to use
      as argument
    - return number of tags found, 0 on error (pretty arbitrary, just to
      return something...)

commit 6962b29bd9e8e67134aa43a163dab29bb7650426
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 13:05:46 2008 +0300

    Remove bogus comment on rpmDoDigest() ignoring algorithm

commit 4dee28ba4c01f105ec3c55ea5a4d3540357b0b42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 13:02:54 2008 +0300

    Permit non-md5 digests on --fileid queries
    - the used algorithm is not known at this point so we can only do some
      "seems to be in the ballbark" checks on the digest
    - dynamically allocate memory for binary conversion as needed

commit 26dbd57da584e422649184f751ebbf850f01e64b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 12:20:22 2008 +0300

    Check that digest type is actually supported before enabling it
    - we don't necessarily support all types listed in pgpHashAlgo_e, it
      depends on what NSS happens to support

commit a8d8d5a4f4b77316292b8a2276bb74886945b6c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 12:18:23 2008 +0300

    Enable build-time configuration of non-MD5 file checksum digest algorithms
    - if not specified (or 0), quietly assume MD5
    - otherwise check for supported digest type, complain and fall back to
      md5 on invalid
    - if non-md5 algorithm is used, add rpmlib() feature dependency to package

commit 2cbe2c3f5a31262fe4ccfb43234392ff95712e59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 11:48:22 2008 +0300

    Document rpmDigestLength() error behavior

commit acab1c3999a4205ed43344c89c11818d9ba5093e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 10:53:38 2008 +0300

    Eliminate ugly static conversion buffer on rpmdbAdd/Remove
    - dynamically allocate on heap when hex to binary conversion is done,
      add new parameter to td2key() to communicate this back to caller
    - adjust rpmdbAdd+Remove to free key data if signalled by td2key()

commit b8dea7798888cf79ef2a5f5558f974482e5f740d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 14:45:13 2008 +0300

    Make rpmfiNew() use header specified file digest algo if present
    - if not present or unknown algorithm specified, fall back to md5

commit a98970a41be2be86bf4265450072daa03ce48eef
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 14:14:17 2008 +0300

    Use RPMTAG_FILEDIGESTS instead of MD5S internally
    - no functional changes

commit f788ab42eb141a7dc3cb289fad0e6dcfa2c95434
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 13:57:47 2008 +0300

    Bring back RPMTAG_FILEDIGESTS now that we're a bit more ready for it
    - this reverts commit 6db2a8ec03c057850a0349537c705556068b9d32.

commit 05be2a2fdb44558d2b6bc1b785128c1decae2aae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 13:16:23 2008 +0300

    We don't want per-file digest algorithms, just per package...
    - rename RPMTAG_FILEDIGESTALGOS to RPMTAG_FILEDIGESTALGO
    - change type from integer array to single integer value

commit b9c69d1bab3c5b932664a7d071aaf11ef1d48483
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 12:28:29 2008 +0300

    rpmfiFDigestHex() instead of manual hex conversion
    - showQueryPackage() and python rpmfi_Digest() at least..

commit 29bdb49f16361548d53de75b827a2c926d4d292a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 12:21:48 2008 +0300

    Add rpmfiFDigestHex() for converting the binary digest to hex
    - conversion (back to) hex presentation is done manually in several places,
      might as well have a function to do it...

commit db573c81ed17f6852221fab05799382d4fa6cb89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 12:11:16 2008 +0300

    Mark rpmfiMD5() deprecated

commit e1724c3d4ac040cd3bb6124df94e764338557475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 12:06:40 2008 +0300

    On a second thought, rename rpmfiDigest() to rpmfiFDigest() for consistency
    - it operates on current file of the set, not on the entire set so while
      changing API, name it similarly to other things that operate on current file

commit fad3c10b90cc547f4149dd5db70874a2ea1ea992
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 12:02:21 2008 +0300

    Add fi.Digest() method to python bindings
    - use same code for creating the digest object on iteration and method call
    - fi.MD5() left around as alias for fi.Digest(), dunno if that's the best
      thing to do but it's just a python string so returned size isn't that
      critical..

commit 55d5c497363d3b8892979c16259ca6d54a6bde01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 30 09:22:21 2008 +0300

    Convert showQueryPackage() to use rpmfiDigest()

commit 7b696eb1a92769d807aa68c6fbe56535b427d595
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 20:41:21 2008 +0300

    Make rpmVerifyFile() honor rpmfi digest algorithm

commit a1e49ce26be58043c913d69547afa3632386e7a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 16:39:11 2008 +0300

    Use new style headerGet() + rpmtd iteration for rpmfi digest population

commit ae5667cf06d882e2760b924585a8900dcdfcfe19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 16:26:21 2008 +0300

    Lose unused fdigests array from rpmfi struct
    - only used in rpmfiNew() where it's converted to binary from the header
      hex presentation and free'd immediately, a local variable will do just as
      well
    - some useless references in fsm and psm, kill'em too

commit ea134adf81d22b26807d2c71895b0c23a7804d33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:48:40 2008 +0300

    Make handleOverlappedFiles() honor rpmfi digest algorithm

commit 4aa7ab642237180fb5ab7cf0547425ae1c311d3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:33:44 2008 +0300

    Teach fsm internals to honor rpmfi digest type

commit b851f93fc630ea5f16fada8e0ffce9ae8f1515df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:26:12 2008 +0300

    Make rpmfiDecideFate() honor rpmfi digest algorithms
    - this gets into trouble if digest algorithm differs between packages,
      can't be helped (same is true of rpmfiCompare() too)

commit 5046e63f279b4be78279abcc327606b894dcb8c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:20:05 2008 +0300

    Make rpmfiConfigConflict() honor fi digest algorithm

commit db4d3ea25558a26f560615d1df3d12d5286e036d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:16:45 2008 +0300

    Make rpmfiCompare() use rpmfiDigest() instead of rpmfiMD5()

commit 4c4c6d0423c182189fe65177554ad9179c786200
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:09:58 2008 +0300

    Make rpmfi initialization honor used digest length

commit 95e65d98ead5c354a0d257b9112a5cb14c88ebb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 15:04:46 2008 +0300

    More preliminaries for non-md5 file checksums
    - add rpmfiDigest() method (similar to one in rpm5.org) for retrieving
      file digest, algorithm and digest size
    - make rpmfiMD5() just a special case of rpmfiDigest()

commit 479b74bebe1caf2c785d4e9ac5a5974904c05f3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 12:29:23 2008 +0300

    Rename rpmfi internals to talk about digest rather than md5
    - no functional changes

commit f771b641d33f9388c952d3fc7ad4daba9d789543
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 29 11:48:00 2008 +0300

    Rename rpmfi and fsm checksum md5-sum fields to refer to digest
    - no functional changes
    - groundwork for supporting other than md5 checksums

commit beb573c2a02c20d593577c7b358d722ed1c021c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 2 09:48:41 2008 +0300

    Unbreak handling of packages without epoch
    - rpmtdToString() returned NULL on empty data, rpmtdFormat() returns
      (unknown type) which isn't exactly appropriate value for epoch...

commit 27855634e99f66eef2fbe4ca8837a00b46964cc2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 31 13:28:05 2008 +0300

    More generic iterators replaced with safer string iterators
    - additionally ensure rasprintf() will never get passed NULL where string
      is expected in doScriptExec()

commit c275732c75e23501fb66fa30ee025c2a1a50a736
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 31 13:20:21 2008 +0300

    Use safer per-datatype iterator instead of generic one

commit 4bf224c0c99ba20440444660f9767190c62176d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 31 13:18:19 2008 +0300

    Replace couple of generic td iterators with safer string iteration

commit 784fe494b772bcb54b23fdc6d017f301c606d0fd
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu May 29 09:48:16 2008 +0200

    Make Group: tag not mandatory in spec

commit 903c5d9fec67bc15695807fb507912206e039d40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 09:53:30 2008 +0300

    Move key size fixups from rpmdbAdd & Remove to td2key()

commit c96d78d9727b1f5c8c473ab83d0d7d8d3a162027
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 09:42:31 2008 +0300

    Don't bother with rpmtdInit(), headerGet() resets index anyway

commit 827a800687140df56e446b4752ac9c7bd5613d0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 09:41:34 2008 +0300

    Eliminate ill-indented block obfuscating the code

commit 63f24f2307426106a0bccde91c1b8cfa8bc5da36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 09:35:13 2008 +0300

    Unify rpmdbAdd() and rpmdbRemove() debug logging
    - move the debugging out of the loop, we only print once for a given tag
      anyway
    - dumb helper function for prepping the actual output

commit 2a1c813d495c5b05576f2feff6679aed20e587d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 09:04:31 2008 +0300

    Unify rpmdbAdd() and rpmdbRemove() tag data to key "conversion"
    - the tag container contains everything needed for converting
    - ugly static buffer for holding data from binary conversions needed,
      figure a better way...

commit 0f123cbfd951b6bca0bf5da104ae45e9a3746f83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 08:20:19 2008 +0300

    dbi->dbi_rpmtag had better be the same as rpmtag here...

commit 1f32f4aa7773e247f55cb05e9b86f4d3e5009d02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 28 07:52:19 2008 +0300

    Convert rpmdbAdd() to new headerGet() + friends

commit e4f021461d22880794c69e2974173ad03f640d5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 27 21:49:02 2008 +0300

    Remove RPMTAG_BASENAMES special casing from rpmdbAdd()
    - no longer needed as we don't support uncompressed filelists in the db
      anyway (commit 30bb2ba4c8e481dd1c18e6ce8cd6c563fb42e23b)

commit 27557a00d57974a17b8af933ce8c6f1ebfeb76b5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 27 21:33:28 2008 +0300

    Eliminate ill-indented block obfuscating the code

commit f55661ff4d89ab46c1bfb332a3c8f29b548a0688
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 27 21:27:20 2008 +0300

    Convert rpmdbRemoev() to take advantage of new interfaces
    - use headerGet() and rpmtd iterator on the result
    - eliminates breaking out of loop kludgery
    - allows all filemd5s fiddling to be done in one spot

commit b10e0cc5ee430c77738f07509b1372c1c146cd2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 27 20:16:17 2008 +0300

    Turn silly one-case switches into if's

commit 432eba406defa8cc0ecec85750450a9d891d4555
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 27 14:26:54 2008 +0300

    Minimally convert rpmdbFindbyFile() to new headerGet()

commit 0520845553cf949a384cfa05c84a8bd0c9c47da6
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 26 16:14:25 2008 +0200

    Remove unused pointer

commit cbf71aaf9d8abee453dacd28a325d73d2acae7f1
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 26 16:09:46 2008 +0200

    Remove legacy RPMSENSE_SERIAL.

commit f3703cbaf0e58c0c6eb567465284efbf1df6fe9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 17:23:36 2008 +0300

    Similar payload compressor headerGet() conversion for rpmpsmStage()

commit d7b6c49df211eb775265c79922d608fb285c088f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 17:19:07 2008 +0300

    Convert rpm2cpio to new headerGet()

commit a9d7285cb0c984e42e0358a3e0d305ecb7d22333
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 17:07:00 2008 +0300

    Oops, don't free data we're supposed to pass around...

commit af8b41c64af39ce07d85fcd92fa78d566747d815
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 16:24:07 2008 +0300

    Use rpmds methods to check for duplicates in addReqProv()
    - simplifies things quite a bit...

commit 5267010b65524d697a93042b21cff33416c35417
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 15:28:03 2008 +0300

    Convert addPackageProvides() to new headerGet()

commit c4082255fd1db46fb720dbe48f57413784718e56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 15:27:33 2008 +0300

    Leftover debug junk removal

commit 1814782eef6bc94300cb351111e08872442f1b49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 15:25:11 2008 +0300

    Convert writeRPM() to use new headerGet()

commit 1315d9f498a38916a128ef95d3bbd7557fc1ebc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 15:16:39 2008 +0300

    Convert processPackageFiles() to new headerGet() interface

commit 0537efeb77531d2db84deee1c0c872617f00caab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 14:45:00 2008 +0300

    Convert addFileToTag() to new headerGet()

commit 5c2acdcdfb756192feeb0f98cc3772484af7ddfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 14:31:54 2008 +0300

    Convert timeCheck() to new headerGet() & resurrect functionality
    - it's been broken since forever as it used RPMTAG_OLDFILENAMES but by the
      time it got called, the filenames had already been compressed so it didn't
      find anything to check
    - largely useless but easy to fix, shrug..

commit 059de6fa03f8c2113ce60d6857a5bf0746c43e0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 13:17:07 2008 +0300

    Convert rpmInstall() to new headerGet()

commit 3a32216d0299c6aa771ae849749c3f590db82a0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 13:14:53 2008 +0300

    Convert rpmVersionComprare() to new headerGet()

commit 77c25969a97cc3fc31e7c8bdbc27a99481ae828a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 12:40:43 2008 +0300

    Convert triggertypeTag() to new headerGet()

commit efe1665024e374a8f8704d229b1d306af232c396
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 11:42:57 2008 +0300

    Convert compressFilelist() to new headerGet()

commit b5efc4ce63f3c166d551a8710ac1c6696f5adf49
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 11:13:30 2008 +0300

    Convert expandFilelist() to new interfaces
    - use headerGet() with extensions enabled instead of directly calling
      rpmfiBuildFNames() and flip the tag to OLDFILENAMES

commit c9f4cb186e2bfd66154e358fbff2abccb6e654dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 11:01:25 2008 +0300

    Convert headerGetNEVRA() and headerNEVRA() to new headerGet()

commit 965f806bcee5ce615033d41a35ea8a29f3b7be71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 11:00:06 2008 +0300

    Treat epoch as unsigned integer

commit 94d3103d7bd299f2dee31e3002cfb7c0ca030389
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 10:29:30 2008 +0300

    Kick out fpLookupHeader(), it's been unused since 1999...

commit ec3ab45ad2b867d27af5e5fc5e13a955933675e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 09:32:57 2008 +0300

    Deprecate headerNextIterator()

commit bc84f12def0fba3ba4e7d3963a1de16a32c3b6da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 09:27:02 2008 +0300

    Convert hsaNext() to new header iterator interface

commit 775f4217560ac2d136b5c53b6c691771af058244
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 09:22:17 2008 +0300

    Convert python rpmMergeHeaders to new interfaces

commit 276994ca46697f5660ff92a3b4329b2bc3c83eb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 09:15:54 2008 +0300

    Convert python hdrKeyList() to new header iterator interface

commit 1071f0150253b38d1406b8a85a4f06d77de4ec5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 26 09:04:28 2008 +0300

    Minimally convert rpmVerifySignatures() to new interfaces

commit 5f061ca214578f41dc93aa6c75a78cb4006f7e33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 16:59:04 2008 +0300

    Unbreak DSA signature trailer handling
    - RFC 4880 states the following:
            V4 signatures also hash in a final trailer of six octets: the
            version of the Signature packet, i.e., 0x04; 0xFF; and a four-octet,
            big-endian number that is the length of the hashed data from the
            Signature packet (note that this number does not include these final
            six octets).
      ... but we were using size_t, whose size is  platform dependent, oops :)

commit 071692bb84ca70667f1b3d756145087baac7245c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 13:47:54 2008 +0300

    Convert rpmResign() to new header iterator/get interfaces

commit 7c0cea411a1f8889c58b1a0ed59b3a9984c1fbfe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 13:46:21 2008 +0300

    Don't crash on package without RPMTAG_OS
    - damn pubkey "packages"

commit f00a37f33877c9cf59f1b0a90f3851eb4ffdd1e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 13:11:13 2008 +0300

    Convert readFile() to new headerGet()...

commit 1e4e1a4bee41dee73b72ff93c2b7e9a5513bd030
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 13:01:47 2008 +0300

    Convert getSignid() to new headerGet()

commit e31d9e9e9449a31d96e98a8eb39304710e7c649e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 12:49:04 2008 +0300

    Convert the rest of rpmReadPackageFile() to new headerGet()

commit 2110a17195a51fdb95212d603a8fc47d63c47041
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 12:37:00 2008 +0300

    Start converting rpmReadPackageFile() to new headerGet()

commit a4ea9a0e83ce62f00e61015f312c219fee36ca7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 12:25:51 2008 +0300

    Convert headerCheckPayloadFormat() to new headerGet() interface
    - otoh the function is just dumb and should die but...

commit 16c23df21b4879665d1733ed13a9a4e9344369c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 12:19:16 2008 +0300

    Convert rpmReadSignature() to new headerGet() interface

commit 3eee3e56eca3058abe88e2e213d37a889af38db5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 12:10:14 2008 +0300

    Convert makeHDRSignature() to new headerGet() interface

commit 3a9ff8fc41dcf3fc5b4ca3eff42d389ec35c1089
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 11:54:08 2008 +0300

    Convert rpmtsFindPubkey() to new headerGet() interface

commit 9c209c8a2de5adb741f90c37a59c99d3578f4bdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 11:49:56 2008 +0300

    Add rpmtdGetIndex() + rpmtdSetIndex() methods

commit 9979407567cb42df9873f83a4dca779073759296
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 23 10:31:45 2008 +0300

    Add rpmtdSetTag() method for setting (or changing) container tag + type
    - permit change on non-empty container to compatible type to allow things like
        headerGet(h, RPMTAG_FILENAMES, td, HEADERGET_EXT);
        rpmtdSetTag(td, RPMTAG_OLDFILENAMES);
        headerPut(h, td, HEADERPUT_DEFAULT);
    - empty container can be set to any valid type

commit 3249b289e8d9f6bcebf38e451e25b4540da3c63e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri May 23 07:49:43 2008 +0200

    fix handling of omf dirs (rhbz#448033), thanks to Matthias Clasen

commit c227b9ebf9c942aea232d209dbb4d276227c7341
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 22 11:25:15 2008 +0300

    Remove some leftover doxygen @todo markers

commit c08dd6b7c0be0062a262d575c0643cab7dafcf5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 22 10:14:40 2008 +0300

    Fix printing of patch numbers, doh :)

commit 973ffa42db3cc68ec1a5cd4d8e64b8f0e95e68cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 22 10:03:04 2008 +0300

    Include tagexts in potfiles
    - nothing to translate there at the moment but..

commit f81f3f0fc5a95d8fcd6e7b1ca2a05f81a2ae4065
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 22 10:01:23 2008 +0300

    Add tag data container api to librpm + hacking docs

commit c4614940c04c6ce88dd4d5a3959ec1175a91fe0e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 22 09:18:48 2008 +0300

    Oops, rpmTagGetValue() expects tagname without RPMTAG_ prefix

commit d1ad87a7f868eec726c8fb2214090e783e171380
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 17:59:05 2008 +0300

    Eliminate rpmTagTable internals from API/ABI completely
    - everything is now accessible through other methods, no need to expose
      our internals
    - tagtbl.c is now included from tagname.c instead and not separately built

commit 058e94ec41130fa675aabd97088d9f286148286d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 17:26:52 2008 +0300

    Ditch the tagtable argument of (internal) headerDump() function
    - might as well ditch the function too I guess...

commit c06d688a3929742691eae2eb49643b2bd1d013c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 17:13:51 2008 +0300

    Don't muck with rpmTagTable internals in python initialization

commit 2525d192304246d366e08974ccfabb6bfdfc5ff4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 17:03:15 2008 +0300

    Dom't muck with rpmTagTable internals in rpmDisplayQueryTags()

commit 82a7df65b5f173693a9be140704e75cc94a77b25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 16:34:27 2008 +0300

    Remove double doxygen documentation

commit c62b69b4fa71416510aad06314eb29cf811abf02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 16:32:37 2008 +0300

    Add rpmTagGetNames() public function for retrieving known tag names
    - use rpmtd as container to avoid inventing yet more datastructures and
      iterators

commit b6d8ac89b8018e8942fb63a8e6c73f9e3f817ef0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 16:05:29 2008 +0300

    Include stdlib.h for free()

commit a63c97eb123b54786c7b964906f7b034985ef100
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 16:02:10 2008 +0300

    Slight tweak to rpmvercmp() docs as suggested by Pixel

commit d2ef49038a12adb33329c5784b76d6b20e2e3ce0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 15:59:39 2008 +0300

    Include rpmtypes.h first instead of rpmtag.h everywhere

commit 3b59f236b333c171b8497363309daffea165878c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 14:51:25 2008 +0300

    Convert headerGetColor() to use per-datatype iterator

commit 35c0252857822faac53b7df9c9632d21bed926d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 14:49:12 2008 +0300

    Add per-datatype iterators to rpmtd
    - just uint32 and string iterators for now, those are the most common ones
    - allows somewhat more convenient code constructs when type is known,
      eg no need to separately check for non-null inside loops

commit 3d8656f040d2c780c88d0cd63594898f0605a6fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 13:37:32 2008 +0300

    Convert rpmfiBuildFDeps() into fooTag() style interface
    - fileprovideTag() and filerequireTag() are just thin wrappers around
      filedepTag()
    - simplify things a good bit by not bothering to create a single allocation
      blob for the return

commit 0021f8a18fe941aaca56aeb0efa01f387ab9a42d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 12:45:34 2008 +0300

    Lose rpmfiBuildFClasses() completely
    - only fileclassTag() needs it, move it inline there
    - simplify a lot: as we now can deallocate regular string arrays too,
      don't bother creating a single allocation blob for the classes

commit 1c80801ab60e4f67b7b201dd983ed33d4297db38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 12:41:31 2008 +0300

    Misplaced assert
    - we only care about non-NULL data if we're supposed to free the contents

commit 82b89c3b0c78b0df871879d6c9bfe4af1b5e3b9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 11:50:27 2008 +0300

    Eliminate rpmfiBuildFClasses() and rpmfiBuildFDepts() from the API+ABI
    - both are only needed by tag extensions, move them there
    - headerGet() with extensions enabled provides a nicer API for accessing
      the data anyway

commit 7d38c6e2d80492ba32814e4ad1175247fab3d931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 11:45:46 2008 +0300

    Split tag extensions out of formats.c
    - they have practically nothing in common now..

commit a668b84c95d04dc0c6cd70b93a58938e8e798b7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 11:04:59 2008 +0300

    Minor fixes to triggercondsTag()
    - lose unused variable
    - remember to reset versions iterator too

commit bda56cc4376c34a87ac96df06be72d64e04d03ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 10:40:50 2008 +0300

    Resurrect triggercondsTag()
    - convert to use new interfaces and simplify

commit ce70ac871764ec835d5c83b3115d3a7236196838
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 09:22:38 2008 +0300

    Add rpmtdDup() method for deep copying of tag containers

commit 34151a9e35122d90bdc1863dc5dc5e1fec786afe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 21 09:02:10 2008 +0300

    Turn rpmtd freeData into flag bitfield, allowing more precise control
    - headerGet() returns even array data in a single allocation block, but
      regular (string) arrays need to have the pointers in array freed too
    - set immutable flag on header data

commit 3a12552a3a9d1389bab08d3ee1161b5d1c654565
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 16:21:34 2008 +0300

    Convert mireSkip() to use new interfaces
    - let rpmtdFormat() figure conversion to string, simplifies things a lot

commit 7c3d5dc15d66367fc5fbf89815f514d381e3d16f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 12:38:40 2008 +0300

    Add arraysize format
    - it's a bit silly but avoids ugly special casing in formatting

commit a9920b929913ccd627b817476dddd45aea1fd6b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 12:18:14 2008 +0300

    Fix up for RPM_BIN_TYPE td->count abuse just once, in rpmtdCount()

commit 5d10e43f8f8a1cb8041326bae8251f8e0ba311f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 12:09:14 2008 +0300

    Drop unused variables from formatValues()

commit fc38b84c010fa8c4f2617b1351ceaccec9f5da60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 12:07:38 2008 +0300

    Lose the useless rpmtdToString()
    - either use rpmtdFormat() or xstrdup() on rpmtdGetString() as appropriate

commit fae1edeb939e761a7fd070081d378a2a67a485f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 11:57:30 2008 +0300

    Lose padding argument from formatters
    - formatPrefix already contains the padding, just use rasprintf() on that
      to get properly allocated buffer without messing with it manually
    - xml format doesn't honor padding anyway so don't bother with it

commit 845eb8fc70493da08e9cf31749796dbb976aa657
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 11:56:47 2008 +0300

    Avoid leaking memory on legacy header interface emulation

commit 86bd819cee03899bb35b5edc99ccc0831755f388
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 10:16:52 2008 +0300

    Treat all integer types as unsigned in formatting

commit efa130cee8c209ecd6bdf8ad51c3ad26579cf37e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 10:10:18 2008 +0300

    Simplify xmlFormat()
    - use rpmtdFormat() to convert all data, xmlFormat() only adds the
      xml markup now

commit 9b32e58e173799b750a12c1bac51a7d49aadd4d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 09:40:24 2008 +0300

    Add rpmtdFormat() method and enumeration of supported formats
    - permits formatting any rpmtd data to our supported formats over
      iteration

commit d5381c16a794e03c0e4f202daa3c882dc1876f41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 20 08:53:05 2008 +0300

    Handle RPM_CHAR_TYPE too in stringFormat()
    - used by filestates and nothing else apparently, duh..

commit 2bfc0fad3876bcee0143664cae9f0f0107a86a33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 17:51:42 2008 +0300

    Add stringFormat() for barebones string representation
    - use for everything not specifically overridden
    - pushes practically all formatting out of formatValue() into formats.c

commit f12983793ec4683e5083917f97169d23292c7ef7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 16:54:29 2008 +0300

    Make formatter functions operate on rpmtd current item
    - avoids extra abuse of the element field and simplifies things a bit
      (eventually, not really yet)

commit a40e3266836131ba5213d3b97d0f7ae93dedb755
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 15:56:34 2008 +0300

    Push rpmtd a bit deeper into formatting
    - use rpmtd methods for pulling current integer/string values
    - allows collapsing string and string array handling into one case
    - CHAR/INT8 type aren't handled atm, but then nothing at all uses them...

commit 91c13fbf4f5a3dcdd19be82698157d08f522a11a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 15:24:24 2008 +0300

    Minimally convert formatting to pass around rpmtd

commit 246c2e2be254bc2f1014e55ccab91066b90aabea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 08:38:53 2008 +0300

    Remove unused datafree handling from formatValue()
    - the data is always cached and cleared elsewhere..

commit 1a11aa66407ac40325d50e6a138c7f36672cc2ae
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue May 20 14:07:10 2008 +0200

    Ignore quotes in expression

commit 75f62d7c5fddf9d7e0cb588ac59d899aa426b60c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 19 08:27:10 2008 +0300

    Teach rpmtd about the raw i18n string (array) type

commit 405bbc571ff5273c5bebdec088631c4ac2c1b32b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 17 20:15:53 2008 +0300

    Move all i18n string munging into separate function

commit 7fedc2057030e46e1421fa5d14278c2d7bc49a87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 17 09:50:39 2008 +0300

    Add HEADERGET_RAW flag to disable i18n lookups

commit 89b8f53621f0dcb9954bd167aa83fd60a95836a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 17 09:37:32 2008 +0300

    Push header getter flags down to internal helpers

commit ea0cdcc0dd4ffa17e7f0675b9a4eaf542e2de46c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 17 09:28:32 2008 +0300

    Oops, thinko/typo in headerGetFlags

commit 0c75369d4681150d986df24e3414b86ccf1f4fb1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 17 09:25:04 2008 +0300

    Add typedefs for header get/put flags, use instead of int

commit 7be1b1bafcf1dd6a8464240d5fefa00cfd78c084
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 18:17:53 2008 +0300

    Remove unused hRET_s and HE_s definitions for good

commit 72e4b1ae7e5dfb67aec9c4dafb0e5bc9413d7c84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 18:15:08 2008 +0300

    Use rpmTag enumeration for finding tag format func instead of names
    - comparing strings when we only care about the tag number is waste of time

commit 019ee37f6279cc6e114359224ace85cb2260f6e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 17:46:49 2008 +0300

    Eliminate rpmHeaderFormats and rpmHeaderTagExtensions from the API

commit cbf1a479ee62a5538065b92dcd8d9eb8e842bdda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 16:56:32 2008 +0300

    Push finding of formatter and tag extension functions down to formats.c

commit eef5417deabb40304cc225ded2ebc7bf48dc2c46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 16:26:19 2008 +0300

    Make extension formatter functions opaque
    - tag extensions are only needed by headerGet(), formats only by headerFormat()

commit 696184533aa34b7ae29c5567e1255f00505d884f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 16:07:41 2008 +0300

    Eliminate the now unnecessary extension type fields

commit 44bdb776b7d557941d377d0adfdedd2940546164
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 16 15:55:44 2008 +0300

    Split format and tag extensions to separate tables

commit a81863d443f3916d9562009fb5374e20b7fbc70e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri May 16 06:05:25 2008 +0200

    Update Portugese/Brasilian RPM translation (rhbz#446795)
    - thanks to Igor Pires Soares

commit 62f53dbc66fd4accb0fd1be1245f197ccfe52c2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 18:52:18 2008 +0300

    Dumb segfault in %posttrans

commit 504ff9ce0677143a586c4e2baef5cff7d8bf81f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 18:28:50 2008 +0300

    Unbreak conditional formatting

commit 7df706ac167907559bb3acf7ac8223534a2e3f05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 17:17:45 2008 +0300

    Let rpmtdFreeData() do it's job...

commit aaa93e9008d56e14eae78b882c1396a117184995
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 15:24:16 2008 +0300

    Don't look into extensions when adding tags to python
    - tagtable knows all our extensions too, there's no need to

commit a06b172d8d76c16011ba74ec9b60640ff07439da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 15:13:03 2008 +0300

    Change headerTagTagFunction() to take tag container as arg
    - minimal, crude conversion of all formatTag() functions for now

commit 25edcbcf4b5a420ef101c9622d0c4bcb6bcfd464
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 14:55:59 2008 +0300

    Minimal conversion of in-rpm python bindings to new headerGet()
    - hopefully preserving legacy quirks and all...

commit 5198c91280ba07959b3efe5605a1e1a697c17d40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 13:42:12 2008 +0300

    Eliminate unnecessary extension fields
    - push default extensions yet deeper into format parsing
    - single bounds-checked function to retrieve from cache

commit 6f18834d4ebbea4af8c2b3be12f25d28fe4f4450
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 12:27:20 2008 +0300

    Permit tags down to HEADER_IMAGE in queries to match previous behavior

commit 445671ee82d95b7465663152a633c38bd3300d5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 12:04:17 2008 +0300

    Unify header and extension tag handling of headerFormat()
    - retrieve both header and extension tag data through headerGet,
    - cache the return data for both types for an enormous speedup especially
      for array types

commit 91540f53598a1d53448c56b7153634d9c961f630
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 15 08:01:45 2008 +0300

    Convert rpmtsAddInstallElement() to new headerGet()

commit bbb566a261ae5fbafe770beabf9a0bcc5487e5ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 15:08:40 2008 +0300

    Commentary fixes
    - "return" is not our registered trademark :)
    - document the intent to make rpmtd opaque

commit 65100c8e1d8c4eea4c0b410a9427d1bb76cba8fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 14:36:36 2008 +0300

    Teach headerGet() to retrieve extension tags if enabled with flags
    - bit of a kludgery until fooTag() formatters have been converted
      to take rpmtd struct as argument
    - idea lifted from rpm5.org, implemented independently (and probably quite
      differently)

commit b94a187adcdb7c32983f5c6a5718fb4fa2f87bc5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 13:26:58 2008 +0300

    Simplify rpmDisplayQueryTags()
    - all relevant tags are now visible in tagtable, don't bother looking up
      extensions separately

commit 7bb210e0af1570d05eaa267b3b96344df45a4871
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 13:20:46 2008 +0300

    Teach rpm tag table about extensions
    - add rpmTag_e enumerations for all extension tags
    - add extension field to headerTagTableEntry_s for things that are "pure"
      extensions (instead of just extension overrides) so we have a chance to
      catch out anybody trying to insert such tags to headers

commit c0bdbb0946203ec2f53c6eff3f64558a2876e6a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 10:29:07 2008 +0300

    Convert headerRegenSigHeader() to new header iterator interface

commit df23089b1f0e15e4e0adc4a97c143b7cf9680127
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 10:20:56 2008 +0300

    Convert headerMergeLegacySigs() to new header iterator interface

commit c66f0b5008ab0088e83a4ca69ddbe7d3ef9def55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 09:46:04 2008 +0300

    Convert file color calculation in rpmfcGenerateDepends() to new interface

commit b31eef9e9b22a3842b8937f17aa2aae6a6e50dad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 09:31:24 2008 +0300

    Convert headerGetColor() to use new headerGet() interface

commit 7e0f6408bac7ae3eac004c8224c97fd83cb021a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 09:20:51 2008 +0300

    Convert addTE() to new headerGet() interface
    - streamline things a bit while at it...

commit 49a892fae1df0f7abdcffa387aa347c9e8b4a299
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 14 09:12:40 2008 +0300

    Convert rpmteNew() to use new headerGet() interface

commit abbf9a2c8d9504d917da2c7d53da5758cd55e4e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 18:12:13 2008 +0300

    Simplify rpmInstallLoadMacros() a bit
    - use new style headerGet() and let rpmtd work out the string presentation

commit 30c4e29d33b9f7c4ef2011a1d84bbf7b3b156ea6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 18:09:35 2008 +0300

    Add some more rpmtd access methods
    - rpmtdGetUint() for 16 and 32 bit integer types, similar to
      rpmtdGetString() (equally usable with scalar types and arrays)
    - rpmtdToString() which converts "any" header data into string presentation

commit e7ec2339b42b9be6bad373d7ced4d351ce0db08a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 17:35:32 2008 +0300

    Convert runInstScript() to use new style headerGet()
    - simplifies things quite a bit when we can just iterate over the
      prog arg container, no matter if it's string or string array

commit 2d0a4329bddd8a644e87d8b00399096423cef2f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 17:10:42 2008 +0300

    Simplify prefix shuffling in psm runScript()
    - use new style headerGet() and pass the entire tag container down to
      doScriptExec(), removing need for big bunch of local variables
    - use rpmtd (iterator) methods for processing the prefixes in doScriptExec(),
      it does the right thing for legacy non-array RPMTAG_INSTALLPREFIX too

commit 56878483b7814ef4ef544783dbea2d833af6758c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 16:12:56 2008 +0300

    Convert a few cases in rpmfc to use the new rpmtdFromArg() methods
    - safety asserts for the expected type for now...

commit 11980a42f28feddf33c0b2c74b6424b217404263
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 16:11:28 2008 +0300

    Add methods to construct tag containers from argv and argi arrays
    - basic type checking done based on tag (return) type

commit ae218d25aee90d967b3b928b332cb759f27cc22e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 15:05:22 2008 +0300

    Convert couple of headerGetEntry() uses to new interface in parsePreamble

commit bf84c980ed948f16a55ecd9469d8c579667ff3a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 14:42:32 2008 +0300

    Use tag container iterator for ismemberInEntry()

commit 9de4354a1258abf81963f450a654275cfbc08c33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 14:40:55 2008 +0300

    Add support for iterating over tag data container
    - rpmtd iterator init + next methods
    - string accessor method for RPM_STRING_TYPE and RPM_STRING_ARRAY_TYPE

commit 7c4cae7030d13ec43d1d31d16e598cd994410516
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 14:03:08 2008 +0300

    Convert checkForDuplicates() to use new interfaces
    - doesn't gain anything but ...

commit 223da12f24cc0e1e0a878ab7dc420df468d9578b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 14:02:40 2008 +0300

    Add rpmtdTag() method

commit 362f46a05a5a4a285d764f64dce05bd93eb6f537
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 13:44:04 2008 +0300

    Simplify initSourceHeader()
    - use headerCopyTags() instead of manually doing it for the main tags
    - use the new rpmtd interfaces for build restriction copying

commit ed23d35805cb42099ab22b6525bc6ad08e9a5967
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 13:29:07 2008 +0300

    Convert headerCopyTags() to use rpmtd internally

commit e2ea6a35bacad840c5455bd7c3e91f45dcbf2cde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 13:25:14 2008 +0300

    Convert headerCopy() to use the new interfaces internally

commit 0ee2364ae2a06b6c176414f13f1297e9eec32cb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 12:32:25 2008 +0300

    Add headerPut() for adding data to headers through tag container
    - tag container isn't that big a win on add/append operations as it is on
      retrieval, just use the existing headerAddEntry() family to do the
      actual work
    - headerPut() is a nice and short name, lifted from rpm5.org, API might
      differ
    - flags to control operation, just whether append is permitted or not for now

commit 29087b08a6cd4d6591ee238e0b650f6d41f6eddc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 11:59:19 2008 +0300

    Use a macro for copying td entries in compat wrappers
    - just to avoid tedious umphteen copies of if (c) *c = ...

commit 09807fed0353fe67cb7df4db4b21e544ebc118cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 11:46:33 2008 +0300

    Convert header tag iterator to use rpmtd
    - new API function headerNext() for the new interface
    - headerNextIterator() is just a compat wrapper

commit 8cd92950bda4658c8d376c5c381237301013edfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 11:38:38 2008 +0300

    Convert headerGetEntry() internals to use rpmtd for data
    - new public API function headerGet() that returns data in rpmtd, with
      flags to control operation (just minmem or no for now)
    - headerGet() is nice and short name, lifted from rpm5.org but our API
      differs as this takes a separate arg for the tag to get instead of
      (ab)using the container to pass data back and forth
    - internal compatibility wrapper to keep headerGetEntry() and -MinMem
      version working

commit 752343c2b7798b1fa225abc9ade94529a6175ad7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 11:14:50 2008 +0300

    Start converting header internals to use the rpmtd struct
    - turn copyEntry() into a wrapper around copyTdEntry() to avoid having
      to convert everything at once
    - copyTdEntry() takes rpmtd and populates with data and whether memory
      was allocated or not

commit a83cfce188a4545756a8fa5791f3b9cbe20190ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 13 11:02:45 2008 +0300

    New "tag data" container struct + some basic methods to deal with it
    - to be used for passing around header and extension data
    - inspired by similar changes in rpm5.org, details and implementation differ

commit 6fd646f238b402d2e47c8af8520d3ffa48ebd91e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 18:32:11 2008 +0300

    Remove tags from headerSprintfArguments
    - its always rpmTagTable so no point carrying it around

commit a670a393cadca5df927afda6e1543030a1990fc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 18:27:36 2008 +0300

    Update translations again for headerfmt.c split

commit e89d20336111c4ae2089d0af4eb5a651bed3aca8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 18:26:11 2008 +0300

    headerfmt.c has translatable strings, add to POTFILES

commit e02523286c03fdad3b5f8df4639cfd0317e496a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 18:03:47 2008 +0300

    Use rpmTagGetFoo() instead of local myTagFoo() versions
    - hsa tags will always be our default rpmTagTable so we can use the
      somewhat optimized rpmTagGet() versions instead of dumb linear searchs

commit 95386fe3318cc8cbd0dc240570dfae226afd6501
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 17:25:54 2008 +0300

    Push extension defaults one level deeper into headerFormat()

commit fe3ba9991019dcf5de7f92577cfd04872fe7584d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 17:08:12 2008 +0300

    Simplify header extension handling
    - remove the now unnecessary chaining to different extension tables

commit ecd8c6c44149b880e672accc416d593c551de72e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 16:53:26 2008 +0300

    Move headerVerifyInfo() to header.[ch] where it logically belongs
    - removes the need for copy-paste typeAlign array in package.c

commit f081d3da6658f7ea4ea7c3ba4355d2dcd34721fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 16:31:27 2008 +0300

    Eliminate copy-paste versions of hdrchkFoo() macros
    - just stick 'em into header_internal.h, both header.c and package.c
      need it anyway

commit ea9b00dab87a5d44730e6b51f72a9ed3a5432164
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 16:20:13 2008 +0300

    Convert internal uses of headerSprintf() to headerFormat()

commit 67b4f3a13de4012eaf0caf4b62c93cf001d9cdc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 16:16:37 2008 +0300

    Add simpler headerFormat() function, deprecate headerSprintf()
    - headerSprintf() is just a dumb wrapper around headerFormat() now,
      tbltags and extensions are not used at all
    - baby steps towards eliminating the the tag and extension tables from
      the API/ABI...

commit 05b70ba53c12ee70975586e1ed0368cd3442d05c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 15:48:31 2008 +0300

    Split header sprintf formatting to separate source
    - header.c is now just low level header handling, headerfmt.c is the
      formatting engine and formats.c has the actual formats
    - also move bunch of formatting-related stuff from header_internal.h to
      headerfmt.c, nothing else needs it

commit 0ea9805e2dd21a1b05343f8aa81ab91232ceda48
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 12 12:46:37 2008 +0200

    fully translate to CZ after latest po files regeneration

commit 5dcb97da2bfcee68108824a37c7a788193e3004d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 12:54:36 2008 +0300

    Move header "default" formats to formats.c along with the rest of 'em

commit 32bf84651419d071ec1d940dac1dfd3f9c807422
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 12:31:54 2008 +0300

    Update translations after the big shuffle

commit c57c62b94aaf8032b144a3766f311d3893d7bc8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 12:30:00 2008 +0300

    Adjust pkg-config now that librpmdb is gone

commit 90e10708f824ff8e86b0f030d12e14329b1cf2c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 12:28:12 2008 +0300

    Fixup paths and Makefiles for rpmdb/ elimination

commit a68a5a049e98bc8406c0e7015ad5dadbed39972d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 12:17:01 2008 +0300

    Start (re-)joining librpmdb and librpm
    - the split is largely arbitrary and mostly just causes, well, arbitrary
      issues and limitations
    - just move content from rpmdb/ to lib/ for now

commit 962c7b49d2c290678afad9a9893f76450e655108
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 10:45:33 2008 +0300

    Rip old, bit-rotten librpm test programs

commit 84b29174e6a8da103e8afbffa48dc10958cc2e62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 10:44:07 2008 +0300

    Rip old, bit-rotten librpmio test programs

commit 2f890bda8b8685167433bf04c515d488555b1436
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 10:40:14 2008 +0300

    Rip old, bit-rotten librpmdb test programs

commit e13edf837af856a76aa6e7ea7171a2c86546e39f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 12 09:14:09 2008 +0300

    Remove internal copy of Lua for good
    - we can do just fine with externally linked lua, no need to carry
      this around

commit 88e2895bec3be69772ca79c30bd417cd59cbe668
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sat May 10 08:55:04 2008 +0200

    Fully transale RPM to Czech
    - convert the po file to UTF-8
    - translate all strings

commit 06a0d228d2c190a8bc59fe897ca980e5f98ef8bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 19:03:12 2008 +0300

    Caught pants down with strlcpy() vs strncpy() semantics
    - rstrlcpy() calculates source string size regardless of length limit,
      but cpio fields are fixed length character arrays, not strings -> kaboom
    - wondering if zero-terminating strncpy() variant might be more fit to our
      purposes than strlcpy()-clone

commit 6a8ddd9bc22cd8bf7d5100da9915cdae91549a3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 17:10:10 2008 +0300

    Eliminate static print buffer from prDbiOpenFlags()
    - unlikely to actually overflow but it'd be all the more embarrasing
      as it's just diagnostics/debug code...

commit aa3ab021a8b7c633ddacca71adc1b86038bff3ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 15:24:46 2008 +0300

    Avoid entirely unnecessary static temp string buffer

commit 4ad7f40395be970b7d84cb9782ce6c7717db9d37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 14:37:29 2008 +0300

    Rip useless ROOT_GROUP checking from configure
    - it was only used for an ancient RH-specific %_fixgroup anyway which
      in turn only ever did anything when building as root - bad bad...

commit c9b6fc7e2d3d7395346acf3e3092d22474d82d55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 14:36:08 2008 +0300

    Don't run fixowner and fixgroup at end of %prep
    - they'd only work for root, and we don't want to encourage people to build
      as root...

commit c5696f60193c31d98f1e313145b3611de3d34906
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 13:40:26 2008 +0300

    Oops, matchpathcon() wants st_mode, not the entire struct stat

commit 8ecf69ed6236c308f183125301fa571c4e21491f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 13:35:27 2008 +0300

    Block signals while moving the rpmdb to final location after rebuild
    - interrupt there would be pretty disastrous..

commit 0af31c915e01b08f6efb044ac24a799c6b375410
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 13:30:16 2008 +0300

    Lose the silly db argument from block/unblockSignals()
    - unused, and unusable anyway as signals are global, not per db thing...

commit 485ee9bbb4ff3e9c3b4cb65052055d4e8d47e78f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 13:06:34 2008 +0300

    Restore rpmdb selinux contexts to default after rebuild (rhbz#442149)

commit 461fd000d22d76d97ad0ac76263477d364691d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 12:40:37 2008 +0300

    is_selinux_enabled() returns 0 if not enabled, not -1

commit 6ca5373aa1f58ccc60e844bd8fd006a738670883
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 11:53:42 2008 +0300

    Check for transaction root sanity in rpmtsSetRootDir()
    - only regular paths starting with / permitted
    - change prototype to permit return codes

commit 6006265faf97316d9685b0dc958770f50b954a3e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 11:38:52 2008 +0300

    Set ts rootdir to /, not empty if rootDir arg is NULL
    - lets see what break... ;)

commit 42d0c3bd685ddbc093c3e9c8449c4cb015923f25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 11:27:58 2008 +0300

    Only append trailing slash to ts rootdir if rootdir != "/"

commit 8a024c20e79c76bcf02f6af3f6348cc25e62b646
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 10:20:39 2008 +0300

    Fix up some fuzz in Finnish translation

commit b5a6e815863a10d953ad3e857dc495d51334cc47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 10:07:31 2008 +0300

    Fix up / remove some fuzzy German translations

commit 2c15e8409325f9179a68f7cc0da3668eee093198
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 10:00:04 2008 +0300

    Updated Serbian translations from Igor Miletic (rhbz#441101)

commit 93208f1552bea2a5802ec4b3b03c4014ab680da4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 09:56:54 2008 +0300

    Updated Polish translation from Piotr Drąg

commit 41a7b93e6b764e9b2966ee61cb9802b6fd7064af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 09:53:36 2008 +0300

    Updated German translation from Fabian Affolter (rhbz#438178)

commit cb36d48351ea944d445db29635750042f445ec3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 8 07:48:51 2008 +0300

    Check rpmAddSignature() return codes (rhbz#442761)
    - headerGetEntry() on RPMTAG_HEADERIMMUTABLE already caught the corrupted
      package, we just didn't paying attention
    - make the hge failed error message a bit more meaningful

commit 79dd50f94d94158e03fd57a72a896f8fc20f61ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 12:15:22 2008 +0300

    Oops, don't access variable after freeing

commit 31724be2f63b286d8684d72d62a7a19d1233143b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 11:33:33 2008 +0300

    Oops, plug leak introduced by previous commit

commit 15e9e1ff64aaf986ab0dd97b9b12c3d4fb22a484
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 11:12:17 2008 +0300

    Simplify doPatch()
    - use %{uncompress} macro to pass files to patch always
    - gains support for lzma patches for free

commit fc36f322e123a7421b798f12358cc701e28afbe0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 09:48:39 2008 +0300

    Plug another memleak from genCpioListAndHeader()
    - free fuser + fgroup info instead of NULLing, add comment on side-effects

commit 16d0a2fa29df88689fc56ef271a2538a5ca1cba6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 7 08:32:36 2008 +0300

    rpmfi actions is already alloced by rpmfiNew(), don't leak memory

commit e907b912f9e237bc840d714e4e03f4d26deafe0c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 6 12:48:09 2008 +0300

    Eliminate nasty hackery with "special" doc + docdir format
    - figure out docdir early on in spec parsing, store in package struct
      instead of abusing parse buffer
    - fixes memleaks from docdir_fmt and headerSprintf too

commit 41147e5b18ad09b04697c3aa729539689547281c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 6 10:00:07 2008 +0300

    Eliminate static buffer in lua findkey()

commit e5df40e683552c4f5b36f029ff5bced39058452b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue May 6 08:47:18 2008 +0200

    Nuke EXPRBUFSIZ, it is now useless

commit 90eec724a834c26131be11145a62084efe3bafb8
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue May 6 08:46:50 2008 +0200

    Don't use static buffer for parsing an expression

commit 697f27bbbab27a2f353803bf765f334b8668b59d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 13:52:19 2008 +0300

    Indentation fixes

commit 3e991bc40c4f7818d720649901993cec95056540
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:53:48 2008 +0300

    Eliminate static sized string buffer in parseScript()

commit 39168e47aba5c953ecd3bde7134c577b31871bf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:37:08 2008 +0300

    Trap RPMRC_FAIL returns from spec parse with abort() for now

commit d0ea38a4cae75a6c69536e3949e230f3999ae7d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:31:09 2008 +0300

    Make readLine() return PART_ERROR on errors

commit 557c2673f7e7ff222f8abcc35ecd601007374b6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:27:49 2008 +0300

    Fix (hopefully ;) signaling for line continuations on spec parsing

commit 3c5f581df6be0776b1d49e94d518c58e93a886c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:20:13 2008 +0300

    Indentation fixes

commit 7b80971078c7c278d80243bfde3afaa7ce540eb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:15:12 2008 +0300

    Make parseSpec() return PART_ERROR on all errors
    - also fix memleak from buildroot errors

commit 2ecee0c334d95fafb9ad423e998482cd1209d0e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 11:00:45 2008 +0300

    Make parseFiles() return PART_ERROR on failure
    - streamline exits by assuming failure

commit d1e30d48756f3cbbc8cd4d6470880b3c089eab00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:56:55 2008 +0300

    Make parseScript() return PART_ERROR on errors
    - streamline exists by assuming failure

commit 64527b4dafec9064f2964dbef949a5af3854636d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:46:43 2008 +0300

    Make parseDescription() return PART_ERROR on errors

commit 6e0450da248157ae0c88fbd6ffba842cd461c9f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:42:41 2008 +0300

    Make parseChangeLog() return PART_ERROR on errors
    - streamline exits, fixing memleak from stringbuf on various paths

commit 4e1e3b4aa9e2a3c29d67d889461284994feceffa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:34:33 2008 +0300

    Make parseBuildInstallClean() return PART_ERROR on errors, streamline exits

commit 6e1e700a251cd91b1177b56ae74fc52ea18b0432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:24:22 2008 +0300

    Make parsePrep() return PART_ERROR on errors

commit e0787e828b0a73b96d8928586d5a15d30a3c61cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 10:08:33 2008 +0300

    Streamline parsePreamble() exists
    - assume failure, single point of exit
    - fixes memleak from NVR
    - use PART_ERROR for error exits

commit dc61ca3b65f74e850184ead6e6985842ae7b767b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 09:51:14 2008 +0300

    Start cleaning up the rpmerr removal mess of build/ return codes
    - define PART_ERROR for error returns from various parse bits,
      teach parseSpec() about it
    - streamline parseSpec() exists

commit fc728e489f707ad1823e55b311944f1dff8ec65e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 5 08:12:04 2008 +0200

    Remove obsolete parseForRegexLang()
    - no use for it since _langpatt is now gone

commit 25de12b124120748c832e5167f6d2551a26937e3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon May 5 08:05:50 2008 +0200

    macros.in cleanup
    - really deprecate _langpatt
    - obsolete _package_version
    - use paths more conforming to FHS
    - fix typos

commit 8e1cb253db82d4f26eb0455f985771924eb5ecca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 08:38:57 2008 +0300

    Use fprintf() for writing PGP passphrase (like we do for GPG)
    - avoids having two separate write()'s to check
    - ...if we actually checked the result, gcc doesn't whine about
      unchecked fprintf() return...

commit f78fa317377e889ac59635abc556a92828b5c794
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 08:27:07 2008 +0300

    Check for pipe() returns on GPG and PGP signature creation

commit 12bb7024fd900ef5fc4468293a41b5cf163b8cdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 08:23:24 2008 +0300

    Check for pipe() returns in rpmfc helper output reading

commit b15e3e3ca1f09163fcb392a15fefb36581b101e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 08:15:17 2008 +0300

    Silence bogus warning on memset()
    - gcc doesn't realize shrank == 0 would terminate the process via error()
      before reaching memset(), work around...

commit 961b6c4b2f9c2cd4663f85fdb38906765e3640aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 5 07:37:50 2008 +0300

    Check for pipe() return code on --pipe

commit 25136233dbd286c23b21689b9300001a3137f378
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 12:44:16 2008 +0300

    Add missing include

commit 015d99725f98e0bcce86faf20309a167689ac0e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 12:43:37 2008 +0300

    Initialize nb before use

commit 8c1038edc355f63e89588424bf23b9cee8a26a4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 12:38:02 2008 +0300

    Create signature target rpm in same directory as original
    - rename() doesn't work across devices, oops...

commit 0ee67fede81600dad90da5139f6109399d6926e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 12:34:19 2008 +0300

    Temp file handling tweaks
    - rename rpmMkTemp() (back) to rpmMkTempFile()
    - rpmMkTemp() is now a lower level thin wrapper around mkstemp()

commit 87ea239ffc5763b1d85ce1b0d35759d9bafe1cb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 10:36:00 2008 +0300

    rpmReSign() doesn't return rpmRC codes, make it more obvious
    - cleanup "rc = RPMRC_FAIL" copy-paste leftovers

commit 5f607d565d583b26347d3560e15ab3258596220a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat May 3 10:27:16 2008 +0300

    Eliminate static sized string buffer frpm rpmReSign()
    - use rpmMkTemp() for creating the temp file instead of insecure
      close(mkstemp())

commit e5972a715ad84a71b372e167fe0dadb74e6d9ab6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 2 11:48:27 2008 +0300

    Check for arch compatibility on multilib too

commit 3e6009a7440ea5fc3edc21bfe299288018e4e3ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 2 11:40:29 2008 +0300

    Ensure default SIGPIPE handler for --pipe (rhbz#444389)

commit a306a04a895a1632ad80753c61e57864f0019441
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 14:38:09 2008 +0300

    RIP alloca()

commit c089a45bf6100b9df9cf0452759c7c46ea3bbc5b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 30 13:24:51 2008 +0200

    Rewrite xmlFormat() and remove useless xmlstrlen() and xmlstrcpy()

commit 995ebf4b588e092ed008c2757ed84713d9e1e61a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 13:34:28 2008 +0300

    Kill of alloca() from tufdio tests
    - yes it leaks, who cares

commit d6964535c9647ee74972e053b9d0607f9b4b0693
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 13:30:54 2008 +0300

    Lazily copy basenames in relocation if needed
    - couple of tiny array helper funcs to push stuff out of relocateFileList()
      instead of adding yet more gunk
    - use the helpers for dirnames too

commit b7aab95d58110fcab8dc9fe34d36be0f86b8398f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 12:45:16 2008 +0300

    Simplify relocation directory name manipulation

commit e454180a3f6bc16431ba710f5a16aca83f1c5396
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 30 11:39:49 2008 +0200

    Don't use alloca in rpmal.c

commit 355c673016632c1218860b5df82c689ec535cf9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 12:29:40 2008 +0300

    Allocate relocation dirnames on heap, not stack

commit b28bea588b533d310b877f641e0fd9ae6ca143d4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 30 10:32:33 2008 +0200

    Don't use alloca() in fpsCompare()

commit d4d4a29f8dd2497607fd375f4966abb48a1c522c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 10:32:57 2008 +0300

    Begin untangling relocation alloca()'s
    - allocate rpmRelocation paths on heap, not stack

commit 657dc38ec051d3333dad5cb15c6cb7a884c151e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 10:05:48 2008 +0300

    Kill the remaining alloca in fp doLookup()

commit 782c4335c350d96695b1193a9fa1bb394c155037
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 30 09:47:25 2008 +0300

    One alloca() down in fp doLookup()
    - single point of exit from the point where buf gets allocated

commit 2bd9d3401efca50e1ff99f694c6beaa57504b71b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 17:38:21 2008 +0300

    Plug a memleak in lzclose()

commit aaa7fa0f943817d344fab0a95340744f6acebf9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 17:09:07 2008 +0300

    Plug memleak in parseSimplePart()

commit 485d19548834a68db3c57082b6bdc57fa58cf5f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 17:04:08 2008 +0300

    Plug memleak in macro doFoo()

commit 586268cc94edf8dd8af5668f3c9000d02facf57b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 29 16:08:19 2008 +0200

    Don't use alloca in rpmGenPath()

commit f05198ca5ec06fe48805b55ec51ef600612804cf
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 29 15:40:20 2008 +0200

    Calm down compiler warnings due to fsm->patch being const

commit 67f9ca7e1404fc85ad367d5eb9b90f8c5501ebad
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 29 15:01:05 2008 +0200

    Avoid general ETXBSY and allow it for HP-UX exclusively
    - for more info: http://www.uwsg.iu.edu/hypermail/linux/kernel/9808.3/0883.html
    - remove the rest of alloca()s

commit 498677dad2abb860ca6acd5aaa7aa0ef6d288267
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 29 14:59:18 2008 +0200

    Remove useless alloca_strdup()
    - and yet more alloca usage in writeFile()

commit 4bb802d6aedef83a0d356d522e107697fed1c369
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 15:50:43 2008 +0300

    Remove unused alloca_strdup() define

commit 010706ecbd4bdabc954fd9f4499a99772b92fea7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 15:08:47 2008 +0300

    Allocate directory names on heap in compressFilelist()

commit ba763344d4116912e616337f7a8c305a29c48c36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 14:44:28 2008 +0300

    Use rpmGetPath() to construct full dbpath in db3open()
    - another alloca() bites the dust...

commit bd9e4ed8d7dec6ab7a247298fa8ce5be67e98f58
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 14:17:09 2008 +0300

    Oops, one more alloca() in rpmtsOrder()

commit 4fc15424d815bc9dc22644d16ea00db06136b8b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 14:13:59 2008 +0300

    Remove alloca() from rpmtsOrder()

commit 08314921ea4ba4c333838da8682f01c846ff744b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 14:02:06 2008 +0300

    Dead code elimination

commit 2cef5b46458f2d19825cdc40b21bb591b69f87f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 13:49:53 2008 +0300

    Remove alloca() from rpmvercmp()
    - use variable array instead, versions had better be short enough to fit
      on stack safely

commit b5568386c2a16a56a5b290a4e6f498229d7e695f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 13:33:09 2008 +0300

    Avoid alloca() in headerLoad()
    - REGION_TAG_COUNT is a constant so local array would do even without
      C99..

commit 3be356cb0f583c68069150421a7bdd5a8f65d555
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 13:17:33 2008 +0300

    Avoid alloca() in findTag()
    - instead of putting RPMTAG_ into strings where it's not present,
      do it the other way around
    - avoids a string copy and redundant string comparisons on the RPMTAG_ part

commit 69e3540ed0c875221147d9af5ab90089d55e5fa5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 12:59:20 2008 +0300

    Avoid alloca() in shescapeFormat()

commit 226c4d16279702593ff814b1573e79e33e17fd72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 12:45:51 2008 +0300

    Avoid alloca() in headerAddI18NString()

commit cde5bfe5180906783ca26257e05349d82f8d9272
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 12:40:03 2008 +0300

    This code has been commented out since -99, time to let go...

commit b2e875be7822947a5a9db063a234e67fd5f2261c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:54:44 2008 +0300

    Eliminate remaining alloca() in rpmAddSignature()

commit 5e775226b6d11fc81022971c06d14ffda3b2e6cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:53:13 2008 +0300

    Plug memleaks in signature generation

commit 059719a8fe75ade2d4c12f880cc5d9fb3a1cd140
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:35:30 2008 +0300

    Avoid alloca() in rpmtsSetRootDir()

commit 4114a51af8e2bbdbe0a243639be1bd496c469885
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:26:00 2008 +0300

    Avoid alloca() in rpmDetectPGPVersion()
    - the whole detection is hysterical and could/should probably be killed
      but what the heck...

commit e80494b132dfd3c48bff1e03ad5b2f0f8900274c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:24:25 2008 +0300

    Avoid alloca() in makeGPGSignature()

commit f438a06cb286fe36ce7cd5887fe49271134b10cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:16:46 2008 +0300

    Avoid unchecked stpcpy() to static sized buf from alloca()

commit cdcda7408ab9f56bfc0d39cf553f92a92390a83a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:12:15 2008 +0300

    Avoid alloca() in rpmtsInitIterator()

commit dee823bf5022bde263da195458f7670581aefef5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 11:02:41 2008 +0300

    Read "canonvendor" macros by default again
    - the whole vendor etc stuff needs rethinking etc, but for now this "works"

commit ad9d933514a6ab5015bccf7a7022f0d2319deab7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 10:40:56 2008 +0300

    Avoid alloca() in legacyRetrofit()

commit 2c12725620193da7078693cb893c3dab152a0dfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 10:34:54 2008 +0300

    Use rpmioSlurp() for reading in rpmrc's
    - have doReadRC() do the opening of files instead of caller
    - always expand rc filename on entry, simplifies includes too
    - streamline exit paths

commit 10b2d1300b25e47a525666fb2fc4564fa4cfe13e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 29 09:59:56 2008 +0300

    Use rpmGlob() for expanding rcfiles globs
    - avoids static filename buffer and simplifies things quite a bit

commit eff99d08ac16fd37d53bb1baf808aadaa1e99743
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 17:30:25 2008 +0200

    Rewrite rpmioMkpath()

commit b1c39e29cf1a1ad464a349aeb93b2e5d6ca2b89f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 22:25:47 2008 +0300

    genCpioListAndHeader() indentation fixes, no other changes

commit 4201d351b44deea108bffa74ca61d4aa4c0a611e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 21:58:26 2008 +0300

    Allocate buffer for %doc filenames dynamically

commit a0797f0237e42556400f7107108f1687bcf097e2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 21:37:47 2008 +0300

    Remove unnecessary block which just messes up indentation

commit e3a2ab3269706336b4a5692ccd4563a4bc32a730
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 21:35:26 2008 +0300

    Set processingFailed just once

commit bae8f0ba0558436ea3bcc7a4f646204333e619ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 21:18:00 2008 +0300

    Don't leak memory on failure in checkForValidArchitectures()

commit 04d0b1857ce2f15490938bb8608ecc0d6b6472f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 20:05:07 2008 +0300

    Remove unused alloca_strdup() macro

commit b22712816cff6ee572056cb55c5d256a33ae1778
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 19:10:25 2008 +0300

    Remove alloca() from strntoul() helper in cpio
    - only small (< 10 chars) buffers from struct cpioCrcPhysicalHeader are
      ever passed in, tmp buffer on stack is safe

commit bbc89fbd350a27e296171f6eb973143662c88214
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 15:59:46 2008 +0200

    Get rid of string hackery in rpmdb-py.c

commit e22ee464765a40549e35fa754f1c4b018b5901b2
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 15:42:04 2008 +0200

    Remove alloca() from argv.c

commit 476d19ca290d04c05a454873d67f45a8f498e98b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 16:22:33 2008 +0300

    Oops...

commit e1a99d0e12003705376d065d1e471b5221d231de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 16:03:44 2008 +0300

    ..and for parseForLang()
    - return rpmRC like the others
    - avoid alloca()
    - streamline exit paths

commit c310e2b6a6cdd57b2ce83b197f2d93a5562e147b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 16:00:16 2008 +0300

    ..and the same for parseForConfig()
    - streamline exists, avoid alloca()

commit 1b61e468ad75e86bf75d34e78d7f59ca1b5e26a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 15:57:32 2008 +0300

    parseForAttr() tweaks
    - streamline exit paths a bit
    - replace alloca() with xmalloc()
    - avoid messing q value while checking for white space
    - return rpmRC like the others

commit ea60f8ccb7de9302b84f2e8578ece00570756553
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 15:50:15 2008 +0300

    Avoid alloca() in parseForVerify(), streamline exit paths a bit

commit 27ad1cfe07206b4bd7fed3631571ed7ef6d8fdd2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 15:41:55 2008 +0300

    Avoid alloca() in parseForDev()

commit 18bf8b8b8e246f2612ec16f56defbdbe21a45404
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 14:08:35 2008 +0200

    Oops, simplified it a little bit much, fixing

commit 98259f8edbe3997f4153cecb4ce681bb64ef71d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 14:47:12 2008 +0300

    Avoid alloca() in rpmGetFilesystemUsage()

commit 61f144522e830ac714679f2ed860d91ea387c3ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 14:42:10 2008 +0300

    Avoid alloca() in getFilesystemList()

commit 75a21293916e7b93b5059045a254ab8bb3ecc96f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 13:41:45 2008 +0200

    Remove remaining alloca() from rpmdb.c

commit c729f98edf54306501096b7f45c55ca1f96373f0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 13:40:56 2008 +0200

    Simplify dirName handling in rpmdbFindByFile()

commit 811e7be604bc5f557ed5f3b7c711cc2322438761
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 13:56:31 2008 +0300

    Drop va_copy check, it's already done by C99 checks

commit 48f19e86b56be0ae220ff1114711684dd04480bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 13:53:35 2008 +0300

    Require C99 capable compiler in configure
    - also enable C99 mode if not on by default

commit cf767c71c57491e3fb159762da9ae86ebb828ef0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 12:50:24 2008 +0200

    Remove alloca() ussage from rpmcache.c

commit 39dcd57e7fbcc56baed1ac40f518f510b3ca7c32
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 12:50:01 2008 +0200

    Remove unused alloca'd variable

commit 324eb182d71af8195df6a2dc52f39f4e1b62db55
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 28 12:38:32 2008 +0200

    Remove alloca() from build()

commit dbaa9393a20cbbba39f7fa6ee47d375f4ef8862f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 12:31:51 2008 +0300

    Eliminate pointless alloca() of hsa struct

commit 4b737f54118a0cae4cea75b667c568a8d24c2c33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 12:25:25 2008 +0300

    Remove bogus/misleading return value of hsaInit() and hsaFini()
    - they don't (de)allocate anything, just modify contents of hsa arg

commit 2e833ba2c1eeb2113264c056435ae906a8c05a3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 12:22:33 2008 +0300

    Remove useless hsa != NULL checks
    - hsa has been already dereferenced before it's even checked for NULL in
      both hsaInit() and hsaNext()
    - they're just internal interfaces with limited number of callers, we know
      hsa can't be NULL

commit 4727c2a0aa9b489d187ce9ad3e035bf460071b59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 28 10:59:42 2008 +0300

    Remove unused variable

commit 80cb43fbec02340ec6a56e5a6a2c2a273aea9898
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 14:41:58 2008 +0300

    Eliminate pointless alloca() of entryInfo and indexEntry structs

commit 4d0345558534bbeda0b6e3ed960192e0b9bd11e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 15:05:50 2008 +0300

    Eliminate pointless alloca() of local DBT structs

commit 64b573d16682e61b134e287d74a18b22a669419b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 15:02:33 2008 +0300

    Eliminate pointless alloca() of struct fileIndexEntry struct

commit 46409035b658d22baa01456a227ee9839d06a1da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 14:59:09 2008 +0300

    Eliminate pointless alloca() of availableIndexEntry struct.

commit 88c06ccbf7ea2544ea38675646626532e6547f17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 14:51:20 2008 +0300

    Eliminate pointless alloca()'s of local dirInfo struct

commit 2a51abedaf8cc83fee37dccdf28888cc9baae1fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 14:27:30 2008 +0300

    Eliminate pointless alloca() of entryInfo and indexEntry structs

commit 7ee6ca9761b417e87f97cc8b4c20a3b4de1a5ef7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 26 14:21:22 2008 +0300

    Eliminate pointless alloca() of local DBT structs.

commit e96d841a591356dd8fc76c75b87684a1c2e69d18
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 20:29:14 2008 +0300

    Revert bunch of alloca() -> xcalloc() changes in rpmdb routines
    - reverts the following commits:
      0b0dcd114028e1e2a00870917cf07a27858a30b1
      71018d6d2d67b0e17c737e7a90cc6bb704e224ba
      f6134083c29c6cbb3be255fadae47a03d35b09f1

commit f3ead2bb94d4d1451d35f52c4dede180f9895019
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 15:39:04 2008 +0300

    Replace alloca() + memset() with xcalloc() in runImmedTriggers()

commit 8e4a5f88cecb6c9f577cff91317851bc94abd8e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 15:37:09 2008 +0300

    Avoid alloca() in markReplacedFiles()

commit 8660bd61f6bbfa20635ef74827b36864d9ec0e7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 14:52:03 2008 +0300

    Reduce alloca() use in relocateFileList()
    - dirindexes and filelists can be *huge*
    - filenames and such still allocated on stack, fix later...

commit d49aaeb3b94a7e2e53137e09a517534b080ac444
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 14:34:36 2008 +0300

    Replace alloca() + memset() with xcalloc() in skipFiles()

commit ccb9647d4b5c6255ff1b734d565b4873c67e0445
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 14:07:31 2008 +0300

    Avoid alloca() on links in printFileInfo()
    - also avoid unnecessary nulling of perms, no point ..

commit b046a85409cecc5d7efdb75185fe155e0e3e4293
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 13:54:59 2008 +0300

    Avoid alloca() in rpmInstall()

commit 12ad8a5194168cf5213dc359283a8997c5501999
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 13:39:44 2008 +0300

    Simplify setPathDefault()
    - use rpmGetPath() to get sanitized path, avoid alloca()

commit a2addde0f041531a47dbb20ba8d8cc5a5de1488f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 13:28:51 2008 +0300

    Avoid alloca() in rpmteColorDS()

commit eabf5f3583f10bd0f52c15ecedefec88efd2c670
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 11:55:14 2008 +0300

    Single point of exit for dateToTimet(), avoid alloca()

commit f9a95483bb09672c9efdeba82c015c12dd6c7291
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 25 11:45:35 2008 +0300

    Simplify lookupPackage(), avoid alloca()

commit c636733f3628ebf2e10cbf10dfbe7a52cc5e3fea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 17:36:31 2008 +0300

    Remove outdated comment, add a todo reminder
    - callbacks for pkgs without files have been faked for some time now..

commit c55f6b0a939cb63a07cc9bf227b5b25372dee59e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 16:48:32 2008 +0300

    Might as well compare against tag shortname now that we have it

commit d97ba0bcdc77c304726b96e9faa86b7c319e8346
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 15:40:36 2008 +0300

    Update translations for a change

commit 14f39232e6c995b51e5d1b1e946306cbb3e63a5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 15:38:45 2008 +0300

    Remove bogus const from rpmfi pre- and posttrans members
    - they're always duped, scaremem or not

commit 16a5cd02fd99cd2f6c82c550fae3afec769c217d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 15:23:35 2008 +0300

    Eliminate rpmtsi refcount debug junk from the API

commit 3a74895f03e9fb0c217813aaec8e3b4c1e04a0b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 15:16:03 2008 +0300

    Update doxygen docs for rpmteNEVR() and friends

commit 365ffe20a4f7a3bc3a25f313075f70233f854b6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 15:08:09 2008 +0300

    Remove meaningless extern on function declarations in headers

commit f4d12868e2a45b20fe9b3f763ce35a30623f3633
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 14:56:27 2008 +0300

    Add rpmteEVR() function
    - seems like a useful thing to have
    - use in ensureOlder()

commit 4d35eeca1a1f203b404e5878d6ae6a4bec35966f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 14:51:58 2008 +0300

    I'm out of words for this one.

commit 90ca5e5989ec289a51d2e1c7c8caa59063a6fb70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 13:23:22 2008 +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)

commit 0ec3352e8b1b1f622e1577c67d0a3303422d4b77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 12:49:58 2008 +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

commit 39b75d24cfe50e65ca940cc5466beb03c801d033
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 24 12:03:45 2008 +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

commit ae929240b7643927bc8a317e7992272f69a00fe0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 16:08:43 2008 +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

commit 6e090dc5c5bdfad6f8a38d2a1efb47b361d98c7e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 15:23:38 2008 +0300

    Simplify rebuild path generation

commit 338c9be61eef414ea361ac849bc1f926429957f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 13:55:41 2008 +0300

    More path manipulation craziness eliminated in rpmdbRemoveDatabase()

commit 542cfb834305208beeb26e817de62ce26de9103a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 13:44:10 2008 +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.

commit dfa18246308ca5c84fd642a8a3f4a6a0cf252cce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 13:32:52 2008 +0300

    Don't use alloca for struct stat, there's no need to.

commit 045cef3286f164e47bcb38e6518861b07222ee9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 22 13:30:52 2008 +0300

    Add rpmdb internal helper for cleaning up db4 environment, use it

commit edc5c0ef84a93d19acecaaf9a07f4ea3e9d8fe39
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:41:08 2008 +0200

    Recognize lzma payload from its magic
    - old lzma formats without magic aren't supported

commit fa5c3f2e1025d1d1d34f3f09879a6dec75d2325e
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:39:55 2008 +0200

    Prefer lzma's default -7 compression

commit 94958a3bfb89393179b7af19ea62d4b1d25d32d2
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:38:51 2008 +0200

    Main lzma rpmio part based on SuSE patches, thanks for them!

commit 3626f25462e1e63c226134dec254a19799dfced7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:37:18 2008 +0200

    Handle lzma payload

commit 3d8e0ef13a389c263e3867c20ce32ae088332c7b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:36:27 2008 +0200

    Check for lzma library in configure.ac and reference it in Makefile.am

commit 341266ae26e6685d1d870b28533469c653355bb7
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 22 12:32:59 2008 +0200

    Allow lzma payload in writeRPM()

commit 91123cd04354afadcf62ecf2b6aa069c8bee86d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 21 12:39:18 2008 +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)

commit 4fc06030b80f3b7c2f6d5dd80d65091c19b70b22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 21 11:13:13 2008 +0300

    Avoid %patch0 getting applied twice

commit b80340761ff064469fa099a541e2f2128ca482c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 21 10:59:31 2008 +0300

    Retrofit RPMTAG_SOURCEPACKAGE to source rpms.

commit d2406a7e1754e7a7dc8136d9132929df36e5f230
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 21 10:33:02 2008 +0300

    Use argvAppend() instead of manual reallocs, plug a leak from rpmGlob()

commit fe42db7ab8647b534cd9d080e72944ba7e1fb938
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 21 10:18:14 2008 +0300

    Use argvNew() instead of manual xcalloc()

commit 29faf5715517090a36e6597c4a4c3a12f0d2df9f
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 21 08:19:23 2008 +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

commit 3dad7b6f0f463d23518f01543da9b958c6fc12f0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Apr 20 12:17:37 2008 +0200

    Don't use static buffers

commit cee73cdc0b165a4044795accde68bf37a7684125
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 18 20:46:56 2008 +0200

    Fail if it is impossible to chdir to directory to run helper script in

commit 12d3a07710543a72cdc1d46a287051dda53f38a3
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 18 19:45:10 2008 +0200

    Fix find-requires (rhbz#443015), thanks to Bill Nottingham

commit 3d7db31479c1cf72fdec31bffe207b2a82068210
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Apr 20 22:07:53 2008 +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)

commit d35cec6ab24b1d52bfaf953e3174b53f3d1170de
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Apr 20 16:38:29 2008 +0300

    Single exit point for doPatchMacro()
    - assuming failure avoids several redundant free() + return RPMRC_FAILS

commit 36cfff298b22ea852f379766dd7cf92ede486e3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 18:56:38 2008 +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)

commit 099d00de3b59052800b4e78665ccafc896d7cbc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 17:09:43 2008 +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

commit 1b972af8a6698b62a0c0d0818c6798aaad386b70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 16:58:55 2008 +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

commit 2072bd1334846e4d005c2e07949439f391ea6173
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 16:53:29 2008 +0300

    Use argvFree() instead of manual free in loop

commit 9ae911eefedf9618202b6a76d670914119784464
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 16:42:56 2008 +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.

commit e336146a9ed6b28016e0dff68ea6979c3c9e5866
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 16:04:11 2008 +0300

    Use argvFree() to free, well, an argv, instead of manual freeing

commit 5ad7fbda008cba771e09fe305a9b9db3dc5c6f06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 15:58:47 2008 +0300

    Simplify rpmGlob() a bit
    - use argv*() routines instead of manual argv manipulation

commit cebd0812bc5b1a6d13a6e0937081f728750d016c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Apr 19 13:42:04 2008 +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

commit 601b4d0e6aff2630fa17269d063106d8d921d4b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 18 16:14:15 2008 +0300

    Avoid entirely silly rpmio FD_t use
    - rdcl() converts to FILE internally anyway, might as well use fopen()
      to begin with...

commit 38a975b157b504f1234b37c17bc072dd1eb291f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 18 15:39:07 2008 +0300

    Remove unnecessary xstrdup() of dynamically allocated buffer
    - leftover from when target buffer was static...

commit 94e64fec18f874383f9cbc8eda568664899d658f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 18 15:15:05 2008 +0300

    Cosmetics: group operations more logically...

commit 2d8a27ed1677da5c6a633a4fb757fc43bef4aeb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 18 14:54:58 2008 +0300

    Simplify macro option + argument processing
    - eliminate ninja-voodoo pointer-hackery parsing, replace argvSplit() +
      argvJoin() and friends
    - eliminate static sized buffers from the processing

commit 2c0f7b54ad8e820ec357c2cad08b8d31fa601ead
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 18 12:36:02 2008 +0300

    Add argvJoin() for combining an argv array into a string

commit 8058de50b24f548df74df0943cb3a29c77fbde61
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 18 08:53:43 2008 +0200

    Put '\0' to the end of xmalloc'd string to avoid surprises

commit 94ff22b129aeb31c38848231e40f87aa4a5613a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 21:56:54 2008 +0300

    Eliminate splitString() and freeSplitString()
    - use ARGV_t instead, it does the same and more...

commit 7800911bb0281ab568af767c74a664b9c1215464
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 19:21:00 2008 +0300

    Accidental typo introduced to rpmrc.c
    - seems to be one of those days, sigh

commit 9cf9ad7bc919451f65881c2dd8bc772ba722d7fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 19:19:07 2008 +0300

    Fix dumb off-by-one errors introduced by rstrlcpy() changes

commit d4247aadff9dba401dd00f0e4e06969323b9b6f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 18:41:53 2008 +0300

    Bunch of strncpy/strcpy -> rstrlcpy() converts in rpmrc

commit 834d2d2691fa3b645902bbcd1db9310c14778a69
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 18:15:34 2008 +0300

    Add missing include

commit 85c6b8e5f9007e1cdf77e043079c774792d8aa52
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 18:13:52 2008 +0300

    Use rstrlcpy() for various parseForFoo() functions in build
    - just avoids manual termination, no new fixes here..

commit 567c0abc7eb558318077feed34a1edde9fafcaf0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 18:04:28 2008 +0300

    Use rstrlcpy() for parseRCPOT() version + release
    - just avoids manual zero-termination

commit ba85f103e59db924f4dfba7de56bcba8ae311e3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 17:39:08 2008 +0300

    Use rstrlcpy() for printFileInfo() username + group fields
    - just avoids having to manually ensure zero-termination

commit 805e294fd638bd3585400e317be81207e4a04388
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 17:35:57 2008 +0300

    Make sure lead->name is zero-terminated

commit 119b912773e3c41a95f31656ccbd59bbc307c915
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 17:33:57 2008 +0300

    Add rstrlcpy() string helper function
    - adopted from strlcpy() function of OpenBSD originally developed by
      Todd C. Miller <Todd.Miller@courtesan.com>

commit 02939c15fa5441aff46c5f2cbf28086fe67d4d24
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 17:33:30 2008 +0300

    More accurate filtering of .rpmnew etc when reading macros
    - strstr() can give false positives, use rpmFileHasSuffix() instead

commit 64e0af29bd38a1f8ca6573ec9734ae475ed8909b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 17 11:09:03 2008 +0300

    Have gcc check for NULL terminated arglist in rstrscat

commit 9a6be3e53feb1a32e446419c6fef910eeca74f01
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 17 09:20:20 2008 +0200

    Use sizeof() instead of direct element count in rpmluaGetVar()

commit bf3a8e6cd9253d2321a5d8c3665fa591eca3aae8
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 17 09:01:28 2008 +0200

    Don't copy unknown number of args to buffer of fixed size in initGlobs()

commit ea8029e4e95e4106ccb6f9b6407c3856a281f312
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 17 08:57:43 2008 +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

commit f829c42f075bfac82b08859a476579446d594518
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 15:54:40 2008 +0300

    Fixup leftovers from lua/local -> luaext/ move

commit 2eb20ad3596131420a1f90695f4bedf73067816b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 15:52:06 2008 +0300

    Document external Lua requirement

commit 2ecd8fc22d897cffe433820205036b493fd012f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 15:35:09 2008 +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

commit 1c979525dc1341c7fb812bf84d167467094de1ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 15:25:26 2008 +0300

    Add modemuncher + lua init stuff to extra dist
    - modemuncher.c gets included from lposix.c, urks

commit d48e6c8380ebd1f8d4d4f2c80237dc1488da4721
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 15:13:25 2008 +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

commit 23f6917b10b6579f39199e4cf831bb13fc596824
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 13:40:05 2008 +0200

    Don't use mktemp(), we are sure mkstemp() is available now

commit 58fdb16e75b2200ba509f726f938493eb43d54ea
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 13:01:06 2008 +0200

    Require mkstemp()
    - mktemp() and tempnam() are dangerous

commit 0662b2f5127df7c07e379c117085236f90f49b42
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 11:16:31 2008 +0200

    Kill queryHeader(), it is not used and buggy

commit 004c0e50b42ba10141f20eb3bf2756fd70282f2c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 10:24:02 2008 +0200

    Kill useless initialization to "(unkown error)"

commit 9e7d602e85440dd79054dfc440aa14bba841a830
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 11:20:03 2008 +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

commit 36cbcd454eed7a4158f49cfa55e2f817d5e22bd9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 10:11:37 2008 +0200

    Don't try to print buf if it's empty

commit ce12b9a112ea067d8fb2e3960d95a4468555e33b
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 09:37:55 2008 +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

commit e50ff40c22e5cc4e7cdfecbb9808ad5ce3d6b77c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 16 08:28:11 2008 +0200

    Remove useless statements from showQueryPackage()

commit 9a2b4cba0501235345ea42e068bff86bd17d15d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 10:17:19 2008 +0300

    Make headerNVR() just a special case of headerNEVRA()

commit 72b200fe591bf13ecd238c1b3bae785a2907a0fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 10:10:25 2008 +0300

    Oops, only free if allocated ;)

commit 9ebe81639ab6f5449ad88818fdd111c68245a101
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 16 10:06:56 2008 +0300

    Plug a memory leak in armorFormat()

commit 3ffbbeba1977caec65a826e408a433dddb7d2fbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 15 18:52:42 2008 +0300

    Doxygen parameter name mismatch

commit ecaa34a9dc564848f4f1bf3cd413b27da2b9c9ff
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 15 17:35:13 2008 +0200

    Get rid of string hackery and overflows while rpm -V

commit 0097e6fe952a6f39b99e4761ab613f99d34c142c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 15 17:26:15 2008 +0300

    Plug a memleak in pgpArmorWrap()

commit d43ee53dff96926d3ac61c9a3cdc9251326e2790
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 15 16:30:58 2008 +0200

    Introduce rstrcat()

commit f68f58975b27b724f363c86e11699af9fc05bee7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 15 13:27:43 2008 +0300

    Make find-lang.sh --with-man brp-compress friendly (rhbz#440994)
    
    Patch from Ville Skyttä

commit 21b6c0af17bf95cd00b63b2a935eb3bdf848ff7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 15 13:13:40 2008 +0300

    Don't exempt *.jar.so.debug from buildroot checks (rhbz#442264)
    - jar-kludge no longer necessary...
    
    Patch from Ville Skyttä

commit 627384f9e1e5342d09e1b06b9ac1822f76972d80
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 15 09:47:38 2008 +0200

    Remove rhnplatform, cvsid/svnid, serial and copyright tag from rpmbuild

commit 55ebf2c079aa992f891ecc87d3f7aba0a844650d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 15 09:16:05 2008 +0300

    Abort build on unknown payload compressor
    - explicitly check for supported rpmio names, bail if not supported

commit a2bb439b3ca2789f21b1e6efcbe0ffbaad8aca48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 19:32:51 2008 +0300

    Avoid unnecessary rpmio_flags alloc+free in psm

commit 180a34737203f0cc1e0d843915387ce9ffeb894c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 18:15:39 2008 +0300

    Fix indentation, no functional changes

commit 9309a4bd097971fe68b6bfa50d73614baa4844fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 18:13:06 2008 +0300

    Remove glibc upgrade-helper kludge, only necessary for some ancient RHEL

commit a4bbf08f4d365f2d5ff746917cb8cfa66c1d3c51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 18:12:18 2008 +0300

    Lose useless variable

commit 7401ab6a7b0de775e16b371a1c98989cd3eb2cd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 17:45:09 2008 +0300

    Split scriptlet execv() preparations to separate function
    - runScript() is way too big and still is, but this helps a bit...

commit d6de2803fc0a2be2da06e1f6f0c2b197510a8a1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 16:22:28 2008 +0300

    Use argvAddNum() for passing package count numbers for scriptlets

commit 900cbb7d79a18fdf48964c395e038eabc38db43e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 16:21:40 2008 +0300

    Add argvAddNum() for adding integers to ARGV_t arrays

commit d858e4ffa5937aed5bbccf0d4667e1eebd55c218
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 16:01:06 2008 +0300

    Use ARGV_t for passing around scriptlet args psm internally
    - simplifies allocation and freeing while getting rid of alloca()'s
    - runScript() needs to add arguments anyway, might as well pass in something
      that *can* be modified without having play games with partial const,
      partial alloca() contents in the argv
    - removes the need for passing argc around
    - (unrelated) move fi->h NULL check in runScript() to beginning *before*
      we trie to access it, duh...

commit 08375fa2bce124043954feb8c9cc8023004586bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 15:58:10 2008 +0300

    Add argvNew() to create an empty argv array
    - yes it's silly ;)

commit 4e34fcc2bda4b6d18287981c1a053e9e4380caba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 14:35:34 2008 +0300

    Avoid redundant script name formatting
    - remove two points of return to simplify allocations..

commit 8444c6f997dd0eb2a26b6870768b5bd049247db9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 14:33:23 2008 +0300

    Reduce #ifdef clutter

commit 647ff16b50dab2172d25b62dedb7db15a38811ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 14:31:51 2008 +0300

    Streamline lua scriptlet name formatting - just do it once

commit 1eb29bc44d01192dc050fa9bc4a4b0a6a25726d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 14:29:07 2008 +0300

    Move legacy prefix compat thing out of the loop
    - additionally fix indentation, move block local variable def there...

commit 25f15fca9e1c25bbceee362be7016108a26eeaeb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 14 14:27:29 2008 +0300

    Don't bother calculating max prefix lengths
    - no longer needed, prefixBuf is dynamically allocated as needed

commit 2c2d98a08dc3a9e21014b3173102f73064fc39ae
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Apr 14 13:07:58 2008 +0200

    Prevent buffer overflow in readKeys()

commit 641046e4da826b5845703cdee23227dc344b0c7a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 11 15:52:56 2008 +0200

    Use dynamic allocation in rpmlibNeedsFeature()

commit 3928bbc25bfe554767590abe009bc40b4776d49d
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 11 15:44:04 2008 +0200

    Don't warn about BuildRoot being "/" while it is actually empty

commit 674194a9e7f7e0430f73f438f42472b6983afe83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 11 11:45:35 2008 +0300

    Simplify url retrieval in rpmInstall()
    - use rpmMkTemp() instead of manual kludgery to static buffer

commit 769bc86d6d9372c1b3e804309227a0e8554d72d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 11 11:18:25 2008 +0300

    Simplify url io a lot
    - move urlhelper call to urlGetFile()
    - have urlOpen() call urlGetFile() instead of going the other way around
      and causing local copies and all sorts of craziness in the process

commit 78f38f9be08270170bf58e066db263bdde54f5da
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 11 09:38:44 2008 +0300

    Remove #ifdef NOTYET junk

commit fde961e25b09806e501dd214059ced1b07c1b49c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 11 09:05:05 2008 +0300

    Rewrite rpmMkTempFile() for sanity
    - Actually use mkstemp() for creating the temp file and return a FD_t
      dupped from the file descriptor returned by mkstemp().
    - Simplify the interface while at it.
    - Change callers for the new interface.
    - Yes we now require mkstemp() to work, mkstemp() is in POSIX.1-2001 and
      this is year 2008...

commit 48ff62a5291458ed1181cd6c31dcadb193ad2f8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 19:36:03 2008 +0300

    First crack at adding ISA provides to packages (rhbz#235755)
    
    - Horrible kludgery to get the isa names and bits into platform specific
      macros from installplatform script. That beast needs to die. I mean really
    
    - In build, add provides: name(isa) = evr automatically when it makes
      sense (similarly to name = evr provides). ISA consists of ISA name and
      bitness (or wordsize). This can be used to correctly
      express multilib dependencies without resorting to (expensive!) file
      dependency kludges, eg for dlopen()'ed libraries where automatic
      dep extraction doesn't force dependency on 32bit vs 64bit version, you
      can now use:
          Requires: foo-plugin%{?_isa}
      This expands to foo-plugin(x86-32) for i?86 packages, foo-plugin(x86-64)
      to x86_64 etc, and permits spec to be shared with older distros which
      don't have ISA provides.
    
    - The same could be expressed with "canon arch" just as well, but
      using the ISA to differentiate from %_arch and the like:
      eg i386 could be used instead of x86-32 but it's overloaded with meanings
      (the actual i386 processor vs i386 compatible cpu family etc)

commit af4eea99e311171e3dd771c9b2ff59faa964d208
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 16:07:47 2008 +0300

    Avoid exporting providePackageNVR() in the library

commit d39cc1dfda9a18a3f3254e8d9ce240ace48c6856
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 16:04:12 2008 +0300

    Just call legacyRetrofit() instead of combined compress + provide retrofits

commit c01ef8228d373f9232b47ac0915bb5786e5266cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 15:52:36 2008 +0300

    Add a static, far simpler addPackageProvides() to build
    - use instead of providePackageNVR() which needs to deal with all sorts
      of hysteric "rpm 3.0.2 did this but 3.0.5 didn't" issues

commit 61dff28fa4d9169fd71ccd7a9f83c1186037c3db
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 10 14:42:50 2008 +0200

    Call rpmReadConfigFiles() in rpm2cpio so that rpm2cpio won't complain like:
    warning: Unknown system: (null)
    warning: Please contact rpm-maint@lists.rpm.org

commit f350b07096e872eb135df68f2906eae2aa306726
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 11:25:59 2008 +0300

    Remove unnecessary providePackageNVR() from writeRPM()
    - packageBinaries() already calls providePackageNVR(), no need to do it twice

commit de8250d2dfe74cdd0637dda3000b0ff6d7e730be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 10 11:19:40 2008 +0300

    Unbreak srpm generation broken by 6c4b0cbd93709a0fa18af1ef07af44da585bb5f6
    - cpio path in source packages is the basename of the file, make this
      obvious by using basename() instead of pointer games

commit 61b008b5662652ac8ea05ea76611b73efe9cf656
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 9 13:05:45 2008 +0200

    Don't use stack allocations in rpm2cpio when not needed

commit 0b0dcd114028e1e2a00870917cf07a27858a30b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:54:39 2008 +0300

    Replace alloca+memset with xcalloc() in rpmdbRemove()
    - return value is suspect: should return "ret" instead of 0 at exit
      depending on what happened in removal but preserving previous behavior
      for now...

commit 71018d6d2d67b0e17c737e7a90cc6bb704e224ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:48:00 2008 +0300

    Replace alloca+memset with xcalloc() in rpmdbAdd()

commit f6134083c29c6cbb3be255fadae47a03d35b09f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:47:29 2008 +0300

    Replace alloca+memset with xcalloc() in rpmdbCountPackages()

commit 2dad3ee0a9ff1ad4a247d863e82c12cd66df3d89
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:33:23 2008 +0300

    Tonne of indentation + other formatting corrections to rpmdb.c
    - no functional changes

commit b54d8bc2432d2fb85fe5c768df4f2cdcbe22b73e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:19:26 2008 +0300

    Remove dead code

commit 3a5a6ef0fa1577ca9147a846982cd9f48eb52a82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 13:17:01 2008 +0300

    Report full nevra in rpmdb remove debug message

commit 2191e9fe72d18202a8a9e28c818b25f10ed635ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 12:47:03 2008 +0300

    Plug memleak from signature verification now returning malloced msg

commit 03c6b4e934600fbe488c12d9271b72f676a4803a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 12:36:38 2008 +0300

    Simplify addTE()
    - eliminate wtf parsing of NEVR string which doesn't actually handle epoch
    - use NEVR and NEVRA formatting from headerGetN*() instead of doubling the
      work here

commit aa04d0cef3854ddc3d2f6eb316c1b7780dc1b53a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 12:17:36 2008 +0300

    Make headerGetNEVRA() return "src" as the arch of source packages

commit e7ed105c6723d7820ffd9fa917de1fdac47590a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 11:17:43 2008 +0300

    Initialize pointers, lowercase local variable

commit 994ccffd9dee5d25da4fe4be1fa4d4b9baeea990
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 11:16:24 2008 +0300

    Rewrite headerGetN*() for simplicity
    - eliminate stpcpy() games
    - reuse evr formatting from headerGetEVR() instead of doing it over and
      over again everywhere

commit 7a64fb564a7c79e47a3ad86d17b5c671a64e44c4
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 9 10:10:17 2008 +0200

    Fix buffer overflow in verifyDSASignature()
    - caused by assumption that sizeof(size_t) is always 4 (credited to jbj)

commit 3d717d5c45ac17dcd3e0ae82f8f7d9846b1a5d97
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 10:37:34 2008 +0300

    Replace bunch of wtf evr formatters with headerGetNVR()

commit f380230a0316c02fd6864b6bba688e2e340b1d7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 10:36:29 2008 +0300

    Add headerGetEVR() convenience function
    - return formatted evr string + optionally pointer to name

commit 99322592d79cda46ad4e8f62d9613e2e588dc523
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 10:32:44 2008 +0300

    Make headerNEVRA() actually return epoch too
    - ...but epoch is an integer type in headers, change proto to match that

commit 2cfe2d3a3b73889584a0b165b07e8088a312e5c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 09:00:44 2008 +0300

    And one more url->path rename for local variable...

commit 6c4b0cbd93709a0fa18af1ef07af44da585bb5f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 08:58:46 2008 +0300

    Rip the last remaining disk/file URL stuff in processSourceFiles()

commit 7c0b42146764c9ece60039de9cc1be36adb0f71c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 08:56:27 2008 +0300

    And more url ripping in build internals... (addFile)

commit e92d22e279fe01d84e339a45755eb9e8d989388d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 08:37:15 2008 +0300

    URL -> path renames continued... (build internal)

commit e89e7ba72fa9e710cef780ed5931ed2c2d0603a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 08:25:46 2008 +0300

    Rename FileListRec_s disk + cpio path variables
    - on-disk is diskPath, rename previous fileURL to cpioPath to make it
      more obvious it's the path in the package cpio
    - neither is an URL

commit 29674e476a9477cdf8c7c38743b6441eacb5f011
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 20:37:48 2008 +0300

    Yet more url ripping - buildroot is never an url
    - this is a bit nasty as it changes public interfaces but rename to make
      it explicit they're just plain paths, not urls

commit ddf46496b38cd30df54950816f6379239259d2b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 9 08:17:48 2008 +0300

    Remove remote host stuff from build doScript()

commit 0e74fc55c7202eb975a8de878c4731b587d7a994
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 19:53:40 2008 +0300

    More url-path ripping in build/
    - processBinaryFile() and processMetadataFile() don't need steenking urls

commit d121a41db20392f24f85126a99f7736f614a660b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 17:15:32 2008 +0300

    Whoops.. gpg-pubkey "release" on import got busted accidentally

commit b2cfc89de58d856c4c1c26a3a24b91610b38b243
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 15:36:46 2008 +0300

    Simplify rpmtsImportPubkey() a bit

commit 1721614d96499d0cf7bc1a31a133fa1c777aa841
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 8 13:48:39 2008 +0200

    Rewrite pgpArmorWrap(), the former one was insecure/hackish

commit 090782c3c73f1b95fa6a033f73ce3cb4de38b539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 14:11:47 2008 +0300

    Collapse unknown / unsupport RSA sigtypes into one fallthrough

commit 45f5e135aee276185eda68642406ec6917315006
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 14:06:07 2008 +0300

    verifyRSASignature() buffer & other fixes
    - avoid stpcpy() into static sized buffer
    - avoid potential sigp NULL-dereferences

commit 08b4a09eef6da8f11f992f2461e67fdc8f256fc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 13:27:59 2008 +0300

    verifyDSASignature() buffer & other fixes
    - avoid stpcpy() into static sized buffer
    - avoid potential sigp NULL-dereference

commit 7fe19f0a2a1a8bc6e2940d042b0478282b4887ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 13:23:01 2008 +0300

    verifyDSASignature() buffer & other fixes
    - avoid stpcpy() into static sized buffer
    - avoid potential sigp NULL-dereference

commit 2bb4618fa107dc6b02a4eb64e42d0021eca2a9e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 8 12:35:36 2008 +0300

    Eliminate four copy-paste versions of nibble(), stick to rpmstring.h
    - the one in signature.c wasn't even used...

commit 6f619206fd13c6f0d90f143ec829312da4f81c48
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 16:13:29 2008 +0300

    Eep, fix bunch of segfaults and other fun from previous commits
    - leftover stpcpy()'s to non-malloced addresses and other "minor"
      issues in verify*Signature() stpcpy() elimination ;)

commit 69c71c2f61a487f3350afb7190dad5df01280eda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 15:07:08 2008 +0300

    Avoid stpcpy() to static sized buffer in verifySizeSignature()

commit 4441084171df6a70e27321e9b371cd8f662a67ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 15:01:49 2008 +0300

    Avoid stpcpy() to static sized buffer in verifyMD5Signature()

commit 5a0880a5de5f9c00447d200846cf887d32755df5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 14:55:36 2008 +0300

    Avoid stpcpy() to static sized buffer in verifySHA1Signature()

commit 5ef8b53108f41220602febbd2e10f3b76ab32b82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 14:04:00 2008 +0300

    Eliminate several copy-paste hex converters, use pgpHexStr() instead

commit a41079c692aa75e5e995aaf1e5c355edad5552d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:51:20 2008 +0300

    Uh, return allocated pointer, not the end of string...

commit 9bb88f4088de792c2844357ad447470e76a7281a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:37:56 2008 +0300

    Remove static print buffer from pgpMpiStr(), return malloc'd data instead
    - convert callers
    - only rpmpgp.c internal needs, move it there and make static?

commit 41a32765bde2cc346bba93da364e7bdeb985fcf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:29:48 2008 +0300

    Merge pgpHexCvt() into pgpHexPrt(), removing it from public headers

commit 8909c054344834eb45f2b09c0abfcfa1be214ec4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:26:46 2008 +0300

    Minimally convert all pgpHexCvt() users to use pgpHexStr() instead

commit a3a1a45c5131fd1dd885cd73bb9f6a7ac1ddbfba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 13:02:18 2008 +0300

    Remove static print buffer from pgpHexStr, return malloc'ed memory instead
    - inlined to get xmalloc() from system.h for consistent malloc fail behavior
    - convert callers for new behavior, apart from some debug fprintf()'s

commit a70823b99814cbef36ccb1a056f9ef1e97bd7ae2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 12:35:37 2008 +0300

    argvPrint() doesn't modify argv, make it const

commit 4e0ab74d8d7a1ee976b7010bd80135cf4a1c7d7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 12:34:07 2008 +0300

    Add ARGI_const_t, use where appropriate

commit c29adcee80825d79e7b522ee651360d1b9542539
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 12:11:16 2008 +0300

    ARGV_t const pendantry
    - const on typedef'ed ARGV_t doesn't mean a thing, add a new,
      (exec* compatible) ARGV_const_t and use where appropriate consistently in
      argv.h, rpmcli.h etc
    - popt's argv const is the wrong way around for exec() family, add explicit
      ARGV_t casts on popGetArgs() uses where needed
    - compiler silence, aaahh...

commit d728ec28dcb51a139859e4fed48da894a8363a51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 09:31:21 2008 +0300

    Remove ARGstr_t typedef, it serves no purpose
    - argv strings are just regular strings, the structure is what's special

commit a5533d9604770d16942e44d8c68cd28228bc3d2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 09:29:06 2008 +0300

    Remove bogus const from ARGV_t

commit 4a466050480fb3a83712270e2f2a46ea912fc440
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Apr 7 08:25:17 2008 +0300

    Missing rpmstring.h include

commit b05c0ebdf8ccd647df14538f6d8980c797344daf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Apr 6 19:34:59 2008 +0300

    Eliminate the uuuuugly and unsafe static tagname buffer
    - generate the "human friendly" strings at build time, store into the tag
      table structure
    - also avoids copying of strings and lowercasing strings at runtime

commit a413ad7de22601e59e7a89f19e4986eaf70c8fbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Apr 6 19:18:44 2008 +0300

    Move the tagtbl.c generator monster awk out of Makefile.am
    - stick it into a separate script, reformat so it's possible to actually
      read it...

commit 14dcc3034d3d252d20f80daa9b708f88cc45dbaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 17:00:38 2008 +0300

    Oops, no newline at end of filename please...

commit 52788e096d89c340efc359c3b9dc52e1ff05fb95
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 16:26:55 2008 +0300

    %{_builddir} is not an url, ever

commit 0787a058f11fade66fad8d78186ae2b533e20f45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 16:23:56 2008 +0300

    We only ever deal with local, regular files in doUntar()

commit c9bc7c32e0f260312f74b448c859c3acb9aab0b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 16:21:58 2008 +0300

    We only ever deal with local, regular files in doPatch()

commit ed3eb18dc26f87d8bffdd1a05d26dd962b7f6f2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 16:08:37 2008 +0300

    Rip the url-craziness in rpmMkdirPath()

commit bde22653bc7ef058933af9e814d9644fcf28abb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 16:03:59 2008 +0300

    Get rid of the horrid zcmd hackery in build
    - rpmExpand() with %uncompress macro etc simplifies things a lot

commit 3c1126b2a550e2d9f51f46e0948ab5925fe07089
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 15:52:52 2008 +0300

    Missing decompression arguments for bzip in uncompress macro

commit d3f73d3ba08da6fa2906764f9a7504385801816b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 15:19:28 2008 +0300

    getcwd(NULL,0) has undefined behavior, use rpmGetCwd() instead

commit febc6c0db9b39b7ec5e588f2ff9ebf7d48529c61
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 14:59:55 2008 +0300

    Stop pretending spec can be an URL or stdin, neither works
    - simplifies buildForTarget() somewhat
    - while at it, eliminate remaining unsafe string operations

commit 384a31b4a355719d88d0472c0fd451874be1a4e9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 4 13:48:02 2008 +0200

    Escape '%' in format

commit 6a766c00bfd488bb2c703910efc386bf95e6af05
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 14:33:45 2008 +0300

    Wait for popen() to finish before passing to isSpecFile()

commit 61c0a71059d5e5a5782018505c70d88299ac3ede
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 13:52:59 2008 +0300

    Move spec extraction from tarball out of buildForTarget(), simplify
    - use basename() and dirname() instead of manual pointer manipulation games
    - static buffer only used for reading tar output, sizes checked

commit a375e78dc61ccf171188db58f2acfb6224d553dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 12:12:29 2008 +0300

    Oops, add --wildcards back to spec extraction
    - shouldn't really have to hardcode such stuff but...

commit f548819c94d9049a7dd850546286f8583e5a47e0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 4 13:17:53 2008 +0200

    Simplify formatting

commit f6b0cf178a74f193677bbf9b2b345fea6ab0fff9
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Apr 4 13:01:50 2008 +0200

    Simplify package comparison and format creation.
    - also avoid static buffer usage

commit baf9e88fc341d6b7bac32fb8e22768791bd596af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 12:06:06 2008 +0300

    Assume failure in buildForTarget() to remove redundancy

commit 50a020acca37f48a074f5e2a5e09f6dcb16ec387
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 11:54:21 2008 +0300

    Refactor spec extraction on tar build to address several issues
    - simplify the code
    - use %{__tar} instead of tar as the extraction command
    - avoid sprintf to "big enough" buffer
    - basic spec sanity check while extracting, fixes rhbz#281391

commit 8aa121da832c1f66b1900f9568955ce4e32e49f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 11:53:07 2008 +0300

    Spec of size zero cannot be a valid spec file

commit 02de5d75af66f9d27edd8e12cc6004b15b22ce55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 09:55:30 2008 +0300

    Remove copy-paste currentDirectory() from sqlite, use rpmGetCwd()

commit a5a3cfc3ed67083eaca0af0ffa48565a3e99bf57
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Apr 4 09:53:17 2008 +0300

    Rename currentDirectory() to rpmGetCwd() and move to librpmio

commit 0bd84c940930b3752eedf967f8c842c270cb33f9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 20:48:17 2008 +0300

    We don't support url's in db paths, rip.
    - file:// vs / is silly and anything else wont work, so pretending
      url support just plain bogus

commit 110d354c726ca5e4a66ccbf185334514d452abf2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 19:44:49 2008 +0300

    Replace silly static rpmioFileExists() in rpmdb.c with plain old access()
    - accepting url's there is not only useless but just plain bogus

commit c7b5cb2dc4a884aa080a23e1ba0772047ca566e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 19:28:37 2008 +0300

    Remove ancient db1->db3 conversion cruft

commit 1a269ccd3cc3be1bb5763f23621c63b5ac199c92
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Thu Apr 3 13:47:05 2008 +0200

    Don't use static buffers in parseForRegexLang()
    - use dynamic allocation instead to avoid overflows
    - also update addFile(), which is actually the only function
      that calls parseForRegexLang()

commit 58b9fb501d09ade85eae216d26cf51e31bb71e9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 13:17:57 2008 +0300

    Lose the remaining static buffer from rpmVerifySignatures()
    - Simple and stupid: catenate previous buffer + latest message
      with rasprintf() over and over again. Not the most efficient way but hardly
      matters here...

commit 2dc456a10c0dab0d0a00afb0a1d15bf96b74a0d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 12:53:11 2008 +0300

    Typo...

commit ef8669e5bed26597fb2200af54ef93abb6fe138b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 12:46:33 2008 +0300

    Refactor signature check results formatting
    - Document what it's supposed to do, should be more obvious from the
      code too now.
    - Remove one level of stpcpy's to static buffer.
    - Simplify the theoretical case where many missing/untrusted keys are
      found (this shouldn't happen in practise ever) by only showing last of them

commit babade159482170bbcb710970277a90e994695fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 09:59:46 2008 +0300

    Enable stack protector by default if gcc supports it

commit 85571b25e97eed423a9931377aa40bb3fc42fb76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 08:37:20 2008 +0300

    Remove unnecessary check for "keyid:" in result
    - nothing in signature.c emits such string

commit 40686de0a9de6751443f608d77260cbf071c5ff2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 08:07:00 2008 +0300

    Start eliminating static buffers from header/signature checks
    - Push msg buffer allocations down to the lowlevel rpmVerifySignature() and
      internal verify*Signature functions, nothing above them knows how much
      memory they need for messages.  Use rasprintf() where obvious,
      stupid malloc(bigenuf) for now otherwise.
    - Changes public API but can't be helped, printing to an unchecked buffer(s)
      of unknown size from one of the more security sensitive pieces is just
      .. not ok
    - Minimally convert callers to the new allocation scheme

commit a0f0da6858782f6a4980437ec05ca37e244ee578
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Apr 2 18:14:47 2008 +0200

    Simplify message key creation in i18nTag()

commit 999248ab03133f3a2b92b64885e691d133a38b36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Apr 3 08:04:22 2008 +0300

    Shut up a few silly compiler warnings that have crept in
    - missing cast in python header subscript
    - (false) warning about uninitialized variable, unused variable in rpmfc
    - missing include in rpmio

commit 62b46347770c31c6702983777b47d986c1db756b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 16:52:44 2008 +0300

    Further streamline / simplify rpmVerifySignatures()
    - Use more meaningful variable names than res2 and res3
    - In verbose mode we just dump whatever rpmVerifySignature() returns,
      error or not. Otherwise the output depends on the result. Make this
      obvious in the code.

commit 8229aa671d972a465440c16647d04664b5265707
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 16:30:21 2008 +0300

    Make signature verification result not depend on rpm verbosity level, ick

commit aa3c11428c71a5737dc6ac0cd67d6238cee74645
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 15:42:21 2008 +0300

    Further redundancy / copy-paste coding elimination

commit 30d094653ea1834a90f6a74d9b43863b0364c475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 15:36:00 2008 +0300

    Collapse the huge sigtag switch in rpmVerifySignatures() a bit
    - move the tag names from a helper functions
    - collapse similar cases to just one

commit e04c47822773b36d30487c7075880e0dfa7794b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 15:02:31 2008 +0300

    Simplify missing/untrusted keys logging

commit d3c3d4b902cee9cbdcf59aa96848063cc571a2f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Apr 2 14:25:51 2008 +0300

    Revert "Disable signature and digest checks on query modes (rhbz#438625)"
    
    This reverts commit 5a684f5527bc7f32fca9ba7878802519bb515e93.
    
    All the sigchecking on database queries is mostly waste of time, but
    this disables signature checks on queries of non-installed, untrusted
    packages too. Separate vsflags for db / non-db operations or such needed
    before this can change.

commit 38b81493b044565271a277aa2c7a56408d3c8565
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Apr 1 16:37:42 2008 +0200

    Fix off-by one in urlOpen()
    - the former implementation didn't take the ending '\0' into account

commit aabf8d59854c43f6bf1a11fee2b5100a0917b90c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 1 15:40:07 2008 +0300

    Updated German translation from Fabian Affolter

commit eca89ea370d2c52442d2817a13bc50023f3294f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 1 13:35:16 2008 +0300

    Enhance error message on failed ts lock acquire (rhbz#427064)
    - adds strerror() output to the failure log message, this should give
      sufficient hint as to what's wrong (eg "permission denied")

commit d1839289023dd4b7cd66f43f8d83b39bb5243ee3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Apr 1 13:32:57 2008 +0300

    Convert rpmlock.c to general rpm indentation style

commit b8c440deade99bee36ba7f2475b85703d896925c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 17:06:47 2008 +0300

    Avoid entirely unnecessary static buffer + string copy.

commit 3e4b229e7188a5ee42770089bb9a78dc158b5302
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Mon Mar 31 14:13:59 2008 +0200

    Make ExcludeArch/ExclusiveArch/ExcludeOS/ExclusiveOS actually work

commit e36758060cbdbf463ded17b9b0143b719575244a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 13:31:03 2008 +0300

    Avoid static sprintf buffer in rpmReadHeader()

commit 560ee3c8db839495dcbae124f7d08ba77badcc47
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 13:12:29 2008 +0300

    Avoid static buffer for error messages in rpmReadSignature()

commit dccc08ab66c044beaba806006302c88c42ad458e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 12:07:37 2008 +0300

    Make rpmLeadCheck() return error msg instead of direct logging
    - allows silent checking of lead and differentiating between
      non-rpm files and incompatible rpms, avoiding bogus "not an rpm package"
      message on manifests

commit 7ddab3ab8d55a6d763c823d4b3c090ccf53eb5a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 10:44:23 2008 +0300

    Dead code removal (macro stuff)

commit 802900a230322b8b0c7c9af320dc83a9f6355c6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 10:41:07 2008 +0300

    Dead code removal (popt switches)

commit 33b3da3ec1fb05588a9e7fc54c06c49196867244
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 09:56:24 2008 +0300

    Simplify rpmdsThis() code
    - use rasprintf() to construct [e:]v-r string instead of stpcpy games
    - use str2hge() for N + EVR

commit 58afc25abb0ebb7826c00b688fb1825d5b0087c0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 09:25:18 2008 +0300

    Copy N + EVR into ds in rpmdsSingle() instead of just referring
    - previously a ds created by rpmdsSingle() would turn invalid as soon as
      the N and EVR strings were freed by caller (or went out of scope), ick
    - convert the N + EVR strings passed to rpmdsSingle() to similar construct
      as is returned by headerGetEntry so headerFreeData will free both the
      pointers + contents.

commit ed07bf20d3bffaa4d99b4b6db2460b1046d7ead3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 31 08:42:33 2008 +0300

    Bunch of formatting & indentation fixes to rpmds

commit de4c3a999fcfa2bcf6772b4165b7e0ff1c8edb54
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Mar 29 15:22:45 2008 +0200

    Fixup for rpmfcSaveArg() no longer freeing key

commit 6cdf14e01d74fd0a65cd3c37ebc805bf43c3740a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sat Mar 29 11:18:30 2008 +0100

    Don't use static buffer ptr as return value in doUntar()

commit 6dfb63cd599145e9c720708041d617187ab18091
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 28 17:49:56 2008 +0100

    Don't use static buffer in rpmfcELF(), make code more comprehensive

commit 7ff4c18275ab6f5d9e2c88825e13d437fc6f4b91
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 28 17:21:47 2008 +0100

    Remove unneeded buffer operations

commit 813ab8ca8eb4e39d3fa457755256d42f84edcc59
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Fri Mar 28 16:15:48 2008 +0100

    Add rpmfcAddFileDep() to handle file dependencies securely

commit 21fee2eb610c0daec72cfdcf12c9bcdcce428431
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 26 16:32:30 2008 +0200

    Simplify changelog entry additions

commit 9c05a57f236ed445fa2dcb5af2b722d8ea45bfec
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 26 11:52:07 2008 +0100

    Remove unneeded free()

commit e27f6c2bfc05dc80168c5426dac87b297dce2167
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Wed Mar 26 09:21:30 2008 +0100

    Use rasprintf() in rpmfcHelper() and rpmfcGenerateDepends()

commit 6a7ef512e26c28f28673930649084e7144c4c2a0
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Mar 25 15:21:47 2008 +0100

    Don't use static buffers to communicate between funcs, avoid buffer overflows.

commit 087c90bfe6b12bebeb17ba2e15a39d5fcc58417a
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Mar 25 14:57:37 2008 +0100

    Use rasprintf() for NVR construction to remove BUFSIZ limit.

commit 721933384e3e82dc409bbc27d3534543bb10da12
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Tue Mar 25 13:54:36 2008 +0100

    Avoid artificial limits on tag name.

commit 5a684f5527bc7f32fca9ba7878802519bb515e93
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 25 07:49:47 2008 +0200

    Disable signature and digest checks on query modes (rhbz#438625)

commit 3e76c5767afb48fd81a743bd0bc102eba0b2b611
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 23:58:43 2008 +0200

    Avoid couple of static buffers in psm script functions

commit 2a909bdd028ddc2c46c00ddaa3b06003b0329ce9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 23:47:41 2008 +0200

    Avoid static buffer for sql commands

commit e501ac2e77ab4f145c75558aa456b7f5f481d254
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 22:42:34 2008 +0200

    Remove bogus const from rpmRelocation struct

commit 3e57c865c5d3b65fea8bcddb376e0bc859b598e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 22:25:26 2008 +0200

    Remove bogus consts from rpmte_s

commit a600230b7d614ba8a012bc35a9502949c1722944
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 22:23:01 2008 +0200

    Revert rpmhash changes from previous commit
    - rpmhash key + data actually sometimes point to const data.. pff

commit b43b6d6df1027cccdb39d23d2742c66eaafb65c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 22:13:45 2008 +0200

    Remove bogus consts from rpmdb and dbi structs

commit 9a4a5c9ef8f03aca05f7eeed3e7afb297ac72a6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 21:05:05 2008 +0200

    Remove bogus consts from pgpDigParams_s structure

commit e1e66978a1c5871614091d15dfb84439ba90a09e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 20:44:48 2008 +0200

    Remove bogus consts from urlinfo_s structure

commit c4659498e3d5833de32c494d83567c9c15e13700
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:03:20 2008 +0200

    Eliminate bogus const's from spec structure

commit 2cf64e95f2dc2ecac05be776e1e5e3a232d56948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:03:00 2008 +0200

    Eliminate bogus const's from OFI_t and spectags structs

commit 4110664044beec1278b512e73f377d4b06f05b90
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:02:44 2008 +0200

    Eliminate bogus const from expression value

commit fa7e15c2abeaa5a0832a21c75084d2f406fd93ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:01:29 2008 +0200

    Use regular stream functions instead of rpmio in spec sanity check

commit f35277c8a7443d96ae2708abbf1ad74110b5cf8a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:01:12 2008 +0200

    Eliminate wtf pointer games with rpmGetPath result.

commit 7ae38cdd44f599cd64890580d65d25bffcb543d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 24 19:00:48 2008 +0200

    Avoid entirely silly rpmio use in addFileToTagAux()

commit 3531bc5d8c356c56cc40b2a82b7a323981537995
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Mar 23 13:51:53 2008 +0100

    Fix buffer overflow while creating patch script, avoid fixed sized buffers.

commit a3ceec504b4af47b96f90d18dce9df861e0cb93c
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Mar 23 13:50:07 2008 +0100

    Use rasprintf() to prevent overflows and remove BUFSIZ buffer limit.

commit ca6f318f7a692a8d9f7f404fd6b138e040e1a2b2
Author: Jindrich Novy <jnovy@dhcp-lab-186.brq.redhat.com>
Date:   Sun Mar 23 13:48:49 2008 +0100

    Fix writeRPM, use dynamic allocation, remove bogus const.

commit f779b62276205a116814bde15613fa7383063967
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 20 10:59:17 2008 +0200

    Adjust maintainer makefile for hg -> git switchover

commit 53bc909971af88b463ce39f4b30244ceb36e0c3e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 19 09:30:33 2008 +0200

    Remove bunch of double consts. What have I've been thinking?

commit 5c7cccd3b6631009060fae1511b5de2ae987daa0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 13:22:15 2008 +0200

    Erm, off-by-one in rasprintf()
    - should probably change the comment to "simple, stupid and buggy" ;)

commit d07bcfece15f9e8352ea077e1a7fe8a082bc2eab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 10:28:57 2008 +0200

    Bump up sonames, we're not exactly ABI compatible with 4.4 anymore..

commit 5c48f597c82c92a02f573056e26bd21fe17aeda3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 10:18:08 2008 +0200

    Use rasprintf() in rpmps to properly fix mdvbz#31680

commit 053cf9a25e341dec8e1beb4811ecb1e9b11715fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 10:17:03 2008 +0200

    Add custom asprintf() clone to rpmstring

commit c908277be21c27a0894404821605134958521fd6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 09:10:13 2008 +0200

    Minimal namespacing for locale-insensitive x*() string functions

commit 9df54a8622b6640e54288835e62c6c0d0b23c748
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 18 08:55:05 2008 +0200

    More xstr[n]casecmp to rpmstring along the other string-stuff...

commit 5cde7cac9619c90a83d2f63f9d3760d0a352226e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 16:03:51 2008 +0200

    Refactor running of pre/post scriptlets out of rpmtsRun()

commit 5dca5fac8fa29d50d92a5939fe60cbdcc34c0cf4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 15:48:25 2008 +0200

    Add missing popt include

commit d9c780d19edeaf81427411205a9620c9516902c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 14:36:43 2008 +0200

    Remove rollback and repackage from documentation

commit db37b74a2bfebf067f421b891d3837baaca7fc6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 14:27:03 2008 +0200

    Nuke leftover rollback test program, update translations

commit d89482a7c7777d379ab415ebba747b6af19babdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 14:10:11 2008 +0200

    Remove repackage support to finish off with rollback
    
    The two main classes of rollback/repackage need are
    1) Gimme back the previous version, this broke XYZ on my system.
       This is better handled by downgrading to the previous version of original
       package instead of repackaged garbage. We should maintain real package
       (version) history somewhere.
    
    2) Upgrade messed up my configuration.
       Instead of repackaging everything we could be far more intelligent
       wrt config files, stick them into real version control or at least have
       hooks to do so.
    
    RPMCALLBACK_REPACKAGE_* and RPMTRANS_FLAG_REPACKAGE definitions left around
    to avoid needlessly breaking everybodys callbacks (for now)

commit 37543ee0405c38a9d54a12bf0d54698773a3933c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 11:53:27 2008 +0200

    Remove rollback support
    - not possible to do reliably within rpm
    - effort is better wasted on investigating fs-level snapshots, which
      is way beyond rpm scope except for hooks to interact with the snapshot
      mechanism to communicate beginning/end of transaction and such

commit ed78cef2c3e14df29d95b476f00d51203fbe098e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Mar 17 12:04:39 2008 +0200

    Remove support for automatic rollback on failure
    - doing this reliably from rpm is simply not possible as there's no way
      to undo script actions, might as well not pretend we can
    - for a feature that's not generally usable it complicates mainline code
      way too much

commit 874f6849d9f5f71b3815e358c6c5a049f6a4fa66
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 14 14:55:44 2008 +0200

    Make arch conditional in default queryformat
    - gpg-pubkey's dont have arch, argh...

commit 6db2a8ec03c057850a0349537c705556068b9d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 14 14:27:01 2008 +0200

    Revert RPMTAG_FILEDIGESTS -> FILEMD5's for now

commit edec73e2128976c344d31953a3d2de698ff7de33
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 14 14:18:43 2008 +0200

    Type missing for RPMTAG_HEADERI18NTABLE

commit 8e64df0e83029d08dfbd9a09ef76bed817d1ccf3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 13 09:20:24 2008 +0200

    Don't process objdump sections after "Version References"
    
    autodeps/linux.req expects the 'Version References' section to be
    the very last section in objdump -p output and nothing else to follow
    it, but at least on Linux/ARM, you can get output a la:
    
            Version References:
              required from ld-linux.so.3:
                0x0d696914 0x00 06 GLIBC_2.4
              required from libacl.so.1:
                0x05822450 0x00 05 ACL_1.0
              required from libgcc_s.so.1:
                0x0b792655 0x00 04 GCC_3.5
              required from librt.so.1:
                0x0d696914 0x00 03 GLIBC_2.4
              required from libc.so.6:
                0x0d696914 0x00 02 GLIBC_2.4
            private flags = 4000002: [Version4 EABI] [has entry point]
    
    This causes the built package (if the external dep generator is
    used) to end up with bogus dependencies.
    
    Issue found by Rabeeh Khoury <rabeeh@marvell.com>
    
    Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>

commit f1f6510ceecc99fb4d3fc0c840e5b87232566174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 12 15:34:49 2008 +0200

    Remove rpmio internal copy of poptParseArgvString() & friends
    - the old included version segfaults with funky input and whatnot...
    - link rpmio to real popt instead

commit ef84de8868a6547ecb8e668d035d4f47bc8cd4af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Mar 12 13:20:47 2008 +0200

    Refcount dbiTags on db open+close, automatically free
    - avoids rpmdb_internal include in rpmqv.c and memleak in API clients
    - avoids having to export dbiTags(Max) at all

commit dd2f0eb3c8a94485098cfd4412a1a14f28335d02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 11 11:33:04 2008 +0200

    Update translations

commit e9d194444eee9e533c722a6e67ccb100ad99e868
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 11 11:32:37 2008 +0200

    Dust off Finnish translation

commit bbeb5148f2d8d6b9a401ef7c375638a69b60f59e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 11 08:42:34 2008 +0200

    Updated Polish translation (Piotr Drąg)

commit 35c7ef6d6bc776977248958dee052812841c4a5b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 15:07:06 2008 +0200

    Remove support for automatically importing pubkeys from keyservers
    - causes hideous load on keyservers and autoimporting without user approval
      isn't a very good idea, especially as long as imported == trusted
    - nothing wrong with supporting hkp lookups on manual --import though...
    - curl doesn't know about hkp:// but http on appropriate port works just
      fine, lets re-enable it

commit 2414d522bcfbd0ba9e6115eb7e2a3ba056ac2795
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 14:05:28 2008 +0200

    Remove BDB copy from the repository, it doesn't belong there

commit 501197e5ef5ce8687aaf8bd4352f296bb7a5c0e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 13:34:20 2008 +0200

    Stop insecurely covering up for lack of snprintf and vsnprintf
    - we require C99 anyway
    - snprintf is used unconditionally all around the tree
    - if absolutely needed for portability, having insecure wrappers littered
      over the source is not the best way

commit de4085814e7bf93042f2fba06ca24a4e63a4b27a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 13:04:46 2008 +0200

    Drop librpmbuild from rpm.pc
    - next to nothing actually uses librpmbuild, avoid dragging it in needlessly
    - if needed, add a separate .pc for rpmbuild later

commit 0c0d812b0da674f237ad5932383a44befcf7f3a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 12:36:22 2008 +0200

    Remove unused RPMUSER, GROUP etc from configure.ac

commit a08ececd832de2fb4de426d8894abccd45a7c3df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 09:47:51 2008 +0200

    Log message adjustments
    - dont waste translator time by having them translate obscure debug messages
    - adjust some suspect looking logging levels
    - mark some non-debug messages for translation where missing..

commit e97e5619e9ddaf8b0e78568ca8848e2c2840dd00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 08:29:03 2008 +0200

    Further constants made readonly...

commit f686d184df613c74df678cbf3a878c25ccd4fec8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 08:21:55 2008 +0200

    Make _cacheDependsRC static, not needed outside depends.c

commit 3be0a4b2f863e213af45b0495254108c13415a1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 08:20:03 2008 +0200

    Another pile of read-only constants marked as such..

commit 2e3972aebf3db7a6fce83619ea106b80145ed923
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Mar 7 08:15:03 2008 +0200

    Mark another pile of header_magic duplicates as read-only

commit 8e7bc88eda21acdee7552980738cbded4831f950
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 20:47:17 2008 +0200

    Make yet more build tables readonly
    - preambleList and partList are modified runtime for silly reasons,
      reminders to fix later..

commit ba16c1bf2fdd1d70b5c8fed1ba88d967f941aa50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 20:25:43 2008 +0200

    Make headerCopyTags() tag list const, the list isn't modified..

commit 82a6fac62cf4dbc9f131d80271fab01cc55fd700
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 20:17:20 2008 +0200

    Mark bunch of static build-related tables as read-only

commit 16686e9663d9538abb720db955e559f2b35da7b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:57:01 2008 +0200

    Make rpmfc token and apply tables readonly

commit 403dae827c313760cb1968556c1aeaf395236e98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:51:06 2008 +0200

    Mark rpm tag tables read-only as far as we can..

commit 146f12c05beff77c5e1a19989448ca3d12446a06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:50:41 2008 +0200

    Mark various header tables and definitions as read-only

commit 27f5763cfeb155450b6edf9a3e5dafce07024b99
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:49:08 2008 +0200

    Make the rpmdb vectors readonly

commit 8fde231cac3a597a9199fd36c5c597555895644c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:27:19 2008 +0200

    Mark bunch of misc. tables & such read-only in librpmio

commit 17fc6663ef4bd647934876638f3aa2edf34d3ce4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:25:46 2008 +0200

    Make rpmio vectors read-only

commit 5b32005575079da789d49869870066e8784e6924
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 19:24:56 2008 +0200

    Further read-only tables in rpmpgp..

commit 84ff15177d91f8d06615edccb851ff40f0eddb12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Mar 6 18:56:38 2008 +0200

    Mark various pgp value tables read-only as they should be

commit 2f833b0a05b5823edeb935196bbcc3faf5d68228
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 09:26:27 2008 +0200

    PreReq -> Requires in ordering debug output (Pascal Rigaux)

commit 61189cb868c508c143a0a6c4f1a73de2bf0aeb30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Mar 4 08:16:02 2008 +0200

    Add super-H arch support (rhbz#432496)
    
    Patch from Masaki Chikama

commit 28cba016c813a50b913a6ec484d4a428026c96a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 28 12:46:45 2008 +0200

    Add missing leading underscores to names passed to rpmMkdirPath()
    - mostly cosmetical, leading to slightly misleading error messages

commit 18d01d8f905178c79aae028e92ee5d8433ac857c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 22:42:46 2008 +0200

    Another unnecessarily exported internal variable..

commit 05129f83dc4d07c4bc507f66496ac3fc068deeb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 22:24:28 2008 +0200

    Make bunch of macro internal variables static

commit b010266b0ea24ddbdb087d37db9d7ee7d2a34e83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 22:04:17 2008 +0200

    Remove hidden --nolibio cli switch, avoid exporting noLibio

commit 2579e086c2be79d2d3f7e0e8ee3c25c25edd9a7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 21:46:38 2008 +0200

    Un-inline fd*Digest()
    - avoid leaking nss + digest internals all over the place

commit 47a1e0515012d4aaf4f95fd71c4bc6de526e8d86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 21:02:21 2008 +0200

    Make the rest of rpmio vectors static inside rpmio
    - no external needs, gets them out of exported library symbols

commit edc6b13d19d832ec56b63007ccc84a0f43cf2629
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 26 20:53:38 2008 +0200

    Remove the last remains of unused and unnecesary rpmio rpc vectors

commit 41ebd1cd50c780c247877bf9174aacdd55ca4923
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 20:16:43 2008 +0200

    Eliminate rpmdb refcount debug junk from the API

commit 89f59abcd306aa7cff9b48936469d7e46bb655e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 12:33:19 2008 +0200

    Remove some ancient dead code

commit 98c5039009406609f661f98623776d6c18a04c2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 12:24:22 2008 +0200

    Add %{sources} and %{patches} macros to build
    - push full patch + source paths to global lua tables
    - %{sources} and %{patches} are just easy-access wrappers to accessing
      the lua tables
    - "git-am -p1 %{patches}" and enjoy...

commit 2b39ddc25d9773c793c4ceaef01de0b9df0c06ad
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 11:03:38 2008 +0200

    Enable variadic checks for rpmExpand(), rpmlog() and rpmGetPath()
    Suggested by Michal Marek

commit c46876daa4358849de73a059d944f753a7584013
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 25 11:02:07 2008 +0200

    Add new header for collecting utility macros
    - atm consists of portability wrappers to various gcc extensions like
      __attribute__() to provide additional warnings and checks
    - copied from glib to avoid an extra build dependency just for the silly
      macros, renamed to avoid namespace clashing

commit fe35727d3f55f830d21b71b183ea24974a02696f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:39:24 2008 +0200

    Remove ancient commentary from header.h
    - history is interesting but public headers aren't the place for it
    - "implemented soon after" from 2001 comments are hardly useful :)

commit e59b3817bbbd530b4d6a003bc02a7ee8166eaa72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:37:16 2008 +0200

    Remove useless ifdeffed typedefs
    - rpmdb & iterator are typedeffed in rpmtypes.h already..

commit 03dcaf61eb48b12bc65322b40b30dc06e8a2ccc0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:30:51 2008 +0200

    Rip ancient, unused setperms + unsetgit make targets

commit d0feb99eac9404648a9bde49f09042ade7fcdfbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:29:04 2008 +0200

    Use %__tar instead of hardcoded tar in build prep

commit 4dcc991ecc30e33f6f468885d8e92479d6dd3143
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:08:41 2008 +0200

    Don't use legacy gzipbin etc macros in build

commit 3b7c968326190d2997ff3866f592b7003e889b3a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 22 15:05:16 2008 +0200

    Make %patch use %__patch instead of hardcoded patch.. patchy huh?

commit 82f39bc8888a765dd4efb1b3539cc2bbac684ed9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 15 15:21:22 2008 +0200

    Shut up another case of FUSE mount stat whining (rhbz#432907)

commit e93d76665d1ca0f7388ce22f1da1c38ce0900dac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 14 15:02:18 2008 +0200

    Improve header i18n locale matching
    - Get best lang from rpm HEADERI18NTABLE, instead of getting first fuzzy match
      (eg: zh_TW matches zh_CN whereas zh_TW entry is available)
    
    Patch from Pascal Rigaux

commit 9f8aa63490ac5091e77b9f2b7427f58a299a0eb4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Feb 14 13:10:51 2008 +0200

    Fix a bunch of string format mismatches found by gcc's variadic checks
    
    Patch from Michal Marek

commit 7585967f4707f4540517fca498b9c8683cf683cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 11 20:45:15 2008 +0200

    Play nice with xargs
    - xargs considers exit status 255 special, avoid it. The exit status is
      unrealiable anyway so 254 vs 255 shouldn't matter
    
    Patch from Michal Marek

commit 9dc19803d5495b598db0edb4b650d672c2a1f024
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 11 20:12:32 2008 +0200

    Updated sr translation + new sr@latin version from Miloš Komarčević

commit 36e6679eb09bd93782098f653771e75939313c72
Author: Peter Jones <pjones@redhat.com>
Date:   Fri Feb 8 14:58:26 2008 -0500

    Don't add syntax errors while I add sorting...

commit ee6b38a9d11b8737f692aa5f954ac198bf4c46f1
Author: Peter Jones <pjones@redhat.com>
Date:   Fri Feb 8 14:54:29 2008 -0500

    make gendiff sort the file list, so comparing the results is easier.

commit 82b547aa26aac6e0580dfaedbbc84b99c558f586
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 8 13:45:56 2008 +0200

    Oops, package type in lead was reversed...

commit d718b12f5bf5b94c418b8235e45625cbccca6220
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 17:42:19 2008 +0200

    Mass convert (back) to rpmTag as it's usable everywhere now
    - cast away a few cases where the enum usage causes ridiculous amount
      of compiler warnings from unhandled switch-cases

commit 53ca9c775f5f3954f140f462d22bb28cde02c6cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 16:35:44 2008 +0200

    Use rpmSigTag enum for signature tags everywhere, more or less..

commit 130118d594ef2dfb02e5a2938fe4e1da1b3e6955
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 16:14:34 2008 +0200

    Use rpmTagType always now that it's available everywhere
    - RPM_MASK_TYPE is not a datatype, move it out of the enum
    - add missing cases python header handling to shut up gcc

commit bbcf8f5ff09a11ba9dcf688c923afcfd62dd9d4d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 15:32:33 2008 +0200

    Couple of missed type abstractions

commit 36e9f885e161395e2dfb033dcd7db1667764f273
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 15:29:37 2008 +0200

    Yet another typedef for transaction ID, use where spotted
    - most remaining [u]int16|32 uses are indexes and such, ie actual numbers

commit ceb96638f6ceba45f353c132b104543404515fed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 15:15:41 2008 +0200

    Use rpm_flag_t for header generic bitfields (file flags etc)
    - additionally use rpmfileAtts / rpmVerifyFlags consistently where
      appropriate

commit bb72efaaaa6dad878877eeb12cbad67383a0cf35
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 14:50:42 2008 +0200

    rpm5.org: free 5 bits for rpmfc coloring expansion
    - also fixes an overlap between RPMFC_LIBTOOL and RPMFC_MONO which we
      had and were out of bits already

commit 455c428c066801431e98d70d5f57bf3ca3f37174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 14:28:06 2008 +0200

    Couple of int -> rpmVSFlags type corrections

commit 4391fce5e16459ce7bf52eb601c2518f3d456d41
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 14:25:16 2008 +0200

    Doxygen bits for rpmtypes, much to do still

commit 5d38313e7c26bf628389382b78ef8f0db138e787
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 13:53:19 2008 +0200

    Adjust potfiles from rpmlibprov removal, update...

commit 9849c79d8d9c26f52831fd361bc3569926605a92
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 13:52:30 2008 +0200

    A missed color type in rpmds header

commit 50e2d4c26f3534baa6ec9be354e710a6e0ad6d88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 13:49:13 2008 +0200

    Split non-cli verify bits from rpmcli to separate header

commit 9b0967588abde9599751a6ede176fa429202dd72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 13:09:13 2008 +0200

    More rpm-headerdata types: rpm_dev_t and rpm_ino_t, use where spotted
    - both hardwired to 32bit internally

commit e5116e43d753114f9966ff42f507310a61f620eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 12:58:05 2008 +0200

    Add rpm_rdev_t type for rdev entries
    - rdev is 16bit whereas dev is 32bit, eww...

commit e7ac5fb183c4c0e5762d7f18c1c19c03fcdc2b3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 12:31:32 2008 +0200

    Add rpm_mode_t type, use where spotted
    - bring the types under some sort of control, previously mixture of
      int16_t, uint16_t and unsigned short was used..

commit 630a5a4c1a34f12ae264cba870005de0858353e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 12:12:31 2008 +0200

    Add rpm_color_t type for rpm color bits, use where spotted

commit b12cb085232a586ebca8673ee766d9d6e826c8dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 11:43:38 2008 +0200

    Port some rpmds improvements from rpm5.org
    - rpmlib provides as rpmds, lose the special case hackery
    - new functions rpmdsRpmlib() and rpmdsSearch() + python bindings for them

commit e1ca3be052b4f0bbc417489c3f97a00323630469
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 10:08:44 2008 +0200

    Rip the horrible (ia64) autorelocate kludgery. RIP.
    - we don't support relocated x86 on ppc in qemu either...

commit 5786cf78db37d9b129470cefdce5c0faf2c5c183
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Feb 5 09:41:11 2008 +0200

    Use helper function to eliminate some copy-paste code

commit 21ff694d9ccacd86c1e570fdc3af030e98d6da10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 4 12:33:02 2008 +0200

    Remove double documention for exported header functions

commit df1467c357aa18b4bc6a43df4832460d302054a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 4 12:28:02 2008 +0200

    Rip the useless header method vectors

commit 1df890dd0230ffceba86832b320d377b4d505cfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 4 12:00:30 2008 +0200

    Make check-programs build again, assorted type-fiddlings..

commit aca6d4a2c4cb5ce76031884933661115c80ca6c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 4 11:50:39 2008 +0200

    Add rpm_time_t type for time types (in headers), use where spotted
    - easy to spot, easy to change...
    - time_t size can vary, header data needs fixed size

commit e886043a1027fabf975f5e6542437e412a137e67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Feb 4 11:27:00 2008 +0200

    Add rpm_off_t type for file size types, use where spotted
    - preliminaries for bumping up the max size, use rpm-specific type
      as off_t size varies, header data needs fixed size

commit f53c32337238b84bb2c555ca12cdc07f6a963361
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Feb 3 16:24:07 2008 +0200

    Make rpmtag.h standalone, include from rpmtypes.h
    - permits header.h to use the tag types
    - revert other includes back to header.h, more crazy #include churn...
    - rpmTagTable etc in header.h for now, don't really belong there but...

commit abce05919d417b026bedd81d3a08f91625392530
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Feb 3 16:09:20 2008 +0200

    Use rpmTag etc enums for rpmTagGet*() functions

commit cf34aa5a37eedb79af6ab0f0cbf86a15c56dcb86
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Feb 3 15:41:52 2008 +0200

    Stuff signature tags to rpmtag.h along with other tags, add enum typedef

commit db3f67ed5b53452a749427a16254a2d231522063
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 20:28:31 2008 +0200

    Fix platform dir creation, doh

commit 7ffa128552d62cab163b534d1c7a8408b2baf6c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 20:23:25 2008 +0200

    Update translations for a change..

commit 7a77e1fd9fcd657fec32704628b77f6104cf5103
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 20:18:23 2008 +0200

    Move platform specific macros under RPMCONFIGDIR/platform/
    - reduce the clutter in RPMCONFIGDIR, nicer for packaging too..

commit 15f33b33e62a703105671dff675689265da88b16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 19:53:04 2008 +0200

    Ditch the "system" %_topdir, default to ~/rpmbuild instead
    - building as root should be discouraged and /usr/src for building stuff
      is horribly wrong anyway

commit cc9880edc2ddf4d390f59b8b111222d42f73a816
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 17:27:22 2008 +0200

    Don't close GPG/PGP stdin to avoid harmless warning (rhbz#197602)
    - patch from rpm5.org

commit a23502798fb1091b5ede3f1886c2dc8ed3e9e8cf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 13:25:18 2008 +0200

    Avoid silly fixed size buffer in urlhelper

commit cc69dd20b8d0afdc09957c84eae0957ab1552618
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 13:00:40 2008 +0200

    Allocate macro buffers dynamically
    - avoids some entirely needless overflow cases
    - somewhat similarly to rpm5.org but use heap instead of stack

commit 56405587f4b3890b34243904629cfa55cb345ce6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 12:11:03 2008 +0200

    Allocate various macro buffers from heap not stack

commit 54ab76019e8656950c9f9bf144edd549805dee0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 11:36:13 2008 +0200

    Define + use MACROBUFSIZ for macro expansion buffer size
    - double the buffer size while at it...

commit d3d60512bd1df6ed5027a9dedf1d1ab97f969ad6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Feb 1 11:09:13 2008 +0200

    Macro shell expansion fixes (rhbz#431009)

commit fbc9b689fb7c30cabe51ec7b18bd692451249df1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 17:20:09 2008 +0200

    Add rpmtypes to doxygen, with todo reminders..

commit eb5dc35c196c2b18e934a046627ee59d54e175d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 17:05:29 2008 +0200

    Include spring-cleaning
    - put some consistency into include ordering
    - everything (apart from bits missed ;) is now ordered like this
      1. "system.h"
      2. other system includes
      3. rpm public headers
      4. rpm private headers
      5. "debug.h"

commit d2efb5d77c0a3a2f5919d40efe5e163254422b6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 16:04:40 2008 +0200

    Use rpmsenseFlags type for dependency flags everywhere (hopefully)

commit 87e01f336262f3738211c0426304590ed16284f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 14:27:41 2008 +0200

    Use headerIsSource() instead of doing it manually

commit 99faa2735b4b52104a724c6a2f8a7a806bc9c7e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 13:53:51 2008 +0200

    rpmlib.h mass eviction
    - explicitly include what's really needed instead
    - document remaining uses

commit 7751f84bf03076eb6ad90ad0d10144846726bdfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 13:03:54 2008 +0200

    Move HGE and related prototypes to header.h

commit ecabf137102a980528f166b9690efb8adbcef95f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 13:00:26 2008 +0200

    Move rpmTagType stuff to rpmtag.h now that they can move

commit 6af8116e7268eb20d5127796d61e55d96360171a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 12:59:38 2008 +0200

    Stick rpmCallbackType to rpmtypes too..

commit 118db841210eb3809b6640a95b03214b0f3bc648
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 12:51:09 2008 +0200

    Add missing system includes

commit c482427fbfd604d665e7fd28d77cd58a22b089ae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 12:42:07 2008 +0200

    Uninline headerFreeData()

commit 78f1f6378e3d18c1b46dc22125c6d3e0808f26af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 12:21:59 2008 +0200

    Stick relocation struct to rpmfi, typedef to rpmtypes...

commit 90fbda71036fe0614558750fb4fa862c3b8f1413
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 12:20:59 2008 +0200

    Move FD_t to rpmtypes.h, used all over ..

commit e97aefc89bdd10616a8bd0fce642a93148ab357a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 11:55:06 2008 +0200

    Move rpmRC definition to rpmtypes
    - lot of places drag in rpmlib.h just for that...

commit 73ebfe9ad49e56230393ff2ffa818436b40fdedd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 11:51:28 2008 +0200

    rpmgi.h doesn't need rpmte and rpmts headers, implementation does

commit 458bf3b208e3efdd880db42c62f3b12b4eed4da0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 11:49:25 2008 +0200

    Remove bunch of unnecessary rpmlib.h includes
    - replace with rpmtypes.h where needed

commit e4d43147ee34310a7753383ffde0e24737fddc1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 11:02:39 2008 +0200

    Move header and -iterator to rpmtypes

commit 8f4000b00b9e1a4c7db2eeca71fec1b47e3e0b63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:57:15 2008 +0200

    Move rpmalKey and rpmal to rpmtypes

commit ebbcd155e71ef8ccfe4d3a4f6b6f00f67f089cda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:54:04 2008 +0200

    Move fnpyKey typedef to rpmtypes, its widely used...

commit 3952ef87858c56094d8287d542f3aedd4cef6987
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:33:32 2008 +0200

    Move rpmts and other major data typedefs to rpmtypes from rpmlib

commit 3564b3a5ed2f2a6fe42fcab5af96f3cbc244fe96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:23:47 2008 +0200

    Add missing c++ ifdefs to rpmtag and rpmtypes headers

commit 66345bfc5a141f30625746d087ce9d721746c8b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:16:14 2008 +0200

    Move header tagdata types from header.h to rpmtypes.h

commit 0760e7389fc6c574cbaabb5788e29a69d3fa9dfb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 10:13:09 2008 +0200

    Add stub rpmtypes.h header stub
    - place to stick in common typedefs to untangle header cross-include jungle

commit 2adf19b3d3910b9ed579f89144dba0263e277c60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 09:36:02 2008 +0200

    Remove fts flag API symbols from help messages
    - a --help message isn't an API reference...

commit 265b1f017fa7bbe7c6e2f92c910465c38eba8aa6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 30 09:24:43 2008 +0200

    Updated Polish translation (Piotr Drąg)

commit 87458bd399a8696cd0b6e981bb60a2f4de1c48d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 15:10:14 2008 +0200

    Make rpmbuild -bs and -ts imply --nodeps (rhbz#235507)
    - better fix might be creating srpm header early but until then...

commit e39b131750525e0f5a172ebee55154db6b71be7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 13:43:32 2008 +0200

    More missing system includes for size_t & friends

commit 80ca9f368f5ed417c57f524e88fa75f2b2ccc991
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 11:45:38 2008 +0200

    Add missing system includes to rpmmacro.h

commit 339f85db55c08d6cc28ec0076d4e8680813f15fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 28 09:20:33 2008 +0200

    Fix printing of filenames with whitespace in check-files (rhbz#430428)

commit f2c6bef540faf4ba9b7a15b284a5d64f9c8b00fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 17:33:35 2008 +0200

    Urgh, add geode to x86_64 secondary arch subst-crack...

commit 43636bc513cc6f2a5ebf92015e1d74be981a2225
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 17:28:32 2008 +0200

    Document libmagic requirement

commit 95b03441ccd5483503d9f5455655c256d0932007
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 16:39:40 2008 +0200

    Rename isCompressed() -> rpmFileIsCompressed() for namespacing

commit 8e2965886f6347850b6e769cb27f4fb3ada7677d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 16:13:47 2008 +0200

    Couple of missing doxygen groupings

commit a0a972702a940175b3c3ca2491c6e4d0a9461e63
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 16:11:46 2008 +0200

    Detect lzma magic if it exists, otherwise dumb check for .lzma filename
    - Newer lzma-utils make a magic header in archives, current stable versions
      don't. Guessing based on common compression flags used by current lzma
      versions is feeble and futile...

commit c693169deeabf8f9a65a824699cc0c98cedd491f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 16:00:40 2008 +0200

    Use the suffix checker in rpmfc instead of inline defined version

commit f0f392cce6c07fd4a41a392bc912a76238ee14eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Jan 27 16:00:06 2008 +0200

    Helper function for checking given suffix on path

commit c63f859b78b7465aed64a85635a3d1d5e0f7b9d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 13:54:39 2008 +0200

    Quote find-debuginfo builddir to avoid whitespace issues

commit 70e793db8944a9db0e6f49ce012c28dbda973369
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 12:24:55 2008 +0200

    Don't reset target when reading included rpmrc's.
    Doesn't seem to break anything and fixes rhbz#232429 AFAICT...

commit acf2fef3084c23e13751c39f3eb48dca12af947a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 12:20:56 2008 +0200

    Hackery to get secondary arch macros included on x86_64 (rhbz#194123)

commit 0d7bf59ad10cffb3d99fb309fd23083721ade106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 12:14:23 2008 +0200

    Bandaid patch for truncated error message in russian (mdvbz#31680)
    
    Just up the stupid static reservation "high enuff" for now.
    asprintf() would be nice here but it's not at all portable, revisit later.

commit ee655d91a2dfd5e8863dca582077d1bd65cb240b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 12:01:16 2008 +0200

    Permit conflicting ghost files
    Patch from Pascal Rigaux

commit 86c2aa8cd638be53d35a22b4fc1302be434b8851
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 25 08:30:32 2008 +0200

    Print regular provides on build too (mdvbz#36672)
    
    Patch ported from rpm5.org by Pascal Rigaux

commit f62311615186365733b37681a8c010f12bea79f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 24 09:34:33 2008 +0200

    Missing space in russian translation (mdvbz#36974)
    Patch originally from Andrey Borzenkov

commit eec03952be8cea647d1e4a2147f49e41a3051983
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 23 07:56:51 2008 +0200

    Make uncompress macros match reality (_ vs __ prefix)

commit 240b2d3441ce0711b0eacdc5345b3a4d9b77a716
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jan 19 11:40:59 2008 +0200

    Add support for Geode CPU (rhbz#428979)
    
    Patch from Dennis Gilmore

commit 735c83ad5291858cc981f739c3db5165d50598d5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 10 13:39:00 2008 +0200

    Define and use UGIDMAX instead of hardcoded 1024 all over

commit 76d8c768363731b89da2c5db7625d2369adc5175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 10 13:35:03 2008 +0200

    pgpHexStr() returns pointer to static buffer, return const char *

commit 6243ccd1e67f23e3ff07438c34ce18d5893b51df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 10 11:48:31 2008 +0200

    And *really* skip the leading % in --define, double duh :)

commit 9672ca6925f51d4c6dc623ad1d6eda83a20d5461
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 10 08:44:21 2008 +0200

    Fix thinko in macroname underscore conversion, duh

commit 927865ad4a370f316b58c6322e7e9bfc8a64553d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 18:56:34 2008 +0200

    Document internal vs external BDB usage in INSTALL

commit 924007789d9ae450610cb839eb3f244580105d36
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 19:07:20 2008 +0200

    Drop internal db from dist tarballs
    - tarball down to almost 1/4 of earlier size
    - check if internal db is present in configure, point to INSTALL if not
    - distcheck needs --with-external-db now to have any chance at working
    - leaving to hg for now for easy reversal if getting second thoughts ;)

commit d4ec2ad87f544e18be164964ab8b04cb5ed3ad0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 17:50:25 2008 +0200

    Dirty hack to determine BDB .la name automatically

commit b28ad6b47bda0c0ac49fdd10bf5f4f0c5e09964f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 11:11:49 2008 +0200

    Implementation of triggerprein scriptlets.
    Ported from rpm5.org work of Jeff Johnson to 4.4.x by Pascal Rigaux,
    further adopted to fit HEAD...

commit 478ec787f36ddac045dceb5727a699b7359bbbe7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 10:39:55 2008 +0200

    Permit files with glob characters in *.rpm packages (#147383)
    Patch from Alexander Suvorov

commit 88c020f771f477aa70b7251dde762cd8fb6fbf0d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 10:34:08 2008 +0200

    Avoid access(2) quirks querying symlinks, lstat(2) instead (#60288)
    Ported from rpm5.org work of Jeff Johnson

commit a97100ba1dae7849571f30075d7564fb0124dc91
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 10:21:01 2008 +0200

    Handle spaces in file path arguments correctly (#217258)
    Ported from rpm5.org work of Jeff Johnson with some differences:
    - place into rpmfileutil instead of rpmgi as it's more generic than just rpmgi
    - rename rpmgiEscapeSpaces -> rpmEscapeSpaces
    - return char *, not const char * as the return string must be freed by caller

commit 4906b9c55e97a9db8f5db4691a09253ddfadd976
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 09:28:09 2008 +0200

    Convert '-' to '_' within --define macro names (#124995)
    Patch derived from rpm5.org of Jeff Johnson

commit ce9ba5a7da2a53795f7fa71a593c645debf8f74a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 9 09:22:31 2008 +0200

    Last 8 bytes of RSA modulus is keyid for V3 pubkeys (#205080)
    - ported from rpm5.org work of Jeff Johnson
    - minimal fix suitable for 4.4.2.x too, full rpm5.org changes require
      api changes which would be ok for HEAD but that's a bigger task...

commit 02824f0e9d9c818c46682c13502a7eab5a4ebb0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 16:09:20 2008 +0200

    Set a default 0022 umask value always (#83006)
    Patch derived from rpm5.org work of Jeff Johnson

commit c80bd01564129d531107f9f8458fc7c07e64bba5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 15:37:43 2008 +0200

    Print --usage to stderr instead of stdout (rhbz#164021)
    Patch derived from rpm5.org work of Jeff Johnson

commit fcf6b50378eaeac4c1f7ca215b33586b4d41072f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 14:48:57 2008 +0200

    Don't unlink non-temporary file in FSM_UNDO (rhbz#223931)
    Ported from rpm5.org work of Jeff Johnson.

commit 3f9cde75df2c4bf7c1de3dd309d3d43fe22d0df4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 14:25:24 2008 +0200

    Fix field-width specifiers when no space between (rhbz#323221)
    Ported from rpm5.org work of Jeff Johnson.

commit 37bff306ae3ca6e7402939748fc9b3ea062851fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jan 7 13:57:10 2008 +0200

    Handle "use vX.X.X" in perl dependency extraction (rhbz#140597)
    Patch by Steven Prichard

commit a93afe303547408a6a477c08e7e7b8e53b3f91d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 4 12:04:49 2008 +0200

    Saner RPM_FORCEFREE_TYPE definition

commit 243e97302da9e9029f417fa3c698a2973a4e65b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jan 4 12:00:51 2008 +0200

    Remove now useless nested function in debugedit

commit d50839b8b3c4793a5c98c36f6e487aa12b9be3ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jan 3 12:37:03 2008 +0200

    Lose unused pgpMpiHex()

commit 083fde4d7847e6d2fab3ef0978dc4458482c3633
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 17:47:30 2008 +0200

    Revert rpmfi bits from 01cd03ea8f8a
    - nasty breakage from new signedness mismatches..

commit 68e1d60be3e53c51d142dfca7b7a1501e867b681
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 17:02:06 2008 +0200

    Signedness consistency in rpmfi interface vs internal structures

commit bb70bbb7734a2a069bf97b08a354e04fb3debfdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 16:18:55 2008 +0200

    Avoid compressFilelist() stack overflow in pathological cases
    - allocate dirNames etc arrays on heap, not stack
    - the arrays can be rather large and alloca isn't very friendly when it
      fails...

commit 505e8c352cdcd389b014e2276df30fb06e5984cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 15:02:18 2008 +0200

    Teach (unused) headerFreeTag about RPM_FORCEFREE_TYPE

commit a9490bf57a52818fd67437d8389804641d8f875a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 14:44:58 2008 +0200

    Gah, nss doesn't use size_t for lengths...

commit 84386510030999daa5416eb17816bec9f2aa384b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 14:37:16 2008 +0200

    Assorted int -> size_t string size fixes in build code

commit 2a27a8fcdb33c69ead5df3701239c8d97c8c6e70
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 14:10:25 2008 +0200

    More assorted int -> size_t uses

commit 519eaaf236866602e1f05cf138ebb263b465f2b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 13:55:16 2008 +0200

    Assorted int -> size_t corrections for string lengths

commit d772111b9131a9fc7ad4da1008ba6fb202344a2f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jan 2 13:22:26 2008 +0200

    Use size_t, not int for header format padding args

commit addac6a86be1a6c7a668f97c9d7a0d85277f6779
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 12:05:56 2007 +0200

    Add rpm_data_t (and _constdata_t) for header data, use everywhere
    - consistent, easy to grep for and change...
    - bogus consts removed where spotted

commit 44c90ce3f0c5f4686338b4b746b9bece8510d757
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 14:13:34 2007 +0200

    Const-pedantry here and there...

commit 5bd20cf9db51053ff8d72a306e6296c8c744856f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 13:19:55 2007 +0200

    Const pedantry

commit 8e00018c88f1467eb1c1e2760a4de96bcdbae68a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 12:49:52 2007 +0200

    Fix some const issues in macros

commit 123beef21660b446c124acb7a9ed769c95844eed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 31 11:56:06 2007 +0200

    tgi doesnt need fts private include

commit 85b0dd95318af5d252f4e1064df2eacdddd627fe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 22 14:26:56 2007 +0200

    Fix multi-line macro expansion in last line of spec (mdvbz#27417)
    
    Patch from Pascal Rigaux:
    
    1. creating functions restoreFirstChar(), copyNextLineFromOFI() and
       copyNextLineFinish() out of copyNextLine()
    2. creating function readLineFromOFI() out of readLine()
    3. inline copyNextLine
    4. if we can restoreFirstChar, then use it, otherwise read from file
       (ie don't read from file when we have a remaining multiline macro in
       spec->nextline)

commit d4676384db65b0480af9dbbd488d43bd37b2080c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 18:53:14 2007 +0200

    Hum, NSS needs to be shut down too
    - some ~80 bytes are still leaked apparently from somewhere within nss/nspr

commit 19f943cc3673830a5b41daa8e295a94e5570af20
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 09:38:32 2007 +0200

    Add dumb maintainer snapshot generator make rule

commit 4d2151d160c34e7bfca0bae0f44c5eab21e6d401
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 09:12:59 2007 +0200

    Ordering fix (don't use RPMSENSE_PREREQ) from Pascal Rigaux

commit 20bfd34975b7c4af9cce95167a227e9f9fe58316
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 19 09:01:39 2007 +0200

    Drop duplicate locale.h check

commit 23b25e10c65216b6cb271e9ba43ad7bf8d53192e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 21:33:40 2007 +0200

    Avoid exiting too early due to nested rpmdbCheckSignals()

commit 38bb0b6c9b355915a69db476974bea1503fce147
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 13:42:42 2007 +0200

    Update translations

commit fd53dcf94d1836e5ba30b390f5289c6e29e7ff8c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 13:41:29 2007 +0200

    Todo-update...

commit 4f9b7814fa510b5197d5e423b48ad8aa304ce133
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 12:53:57 2007 +0200

    Drop bogus const from rpmReadPackageManifest argvptr
    - it's malloced and needs freeing by the caller..

commit 22d169c102c531aa2eca7d232818bfe38ca73f45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 12:53:16 2007 +0200

    Cast to silence gcc..

commit 6965fbd5c8c3d6228989fa89cc8e2c107965aba9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 12:29:46 2007 +0200

    One leftover reloc constfree..

commit 640b2e3e797f8b13c9fe3360b5c78300214e88b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 12:08:13 2007 +0200

    Remove bunch of bogus cli-related consts...

commit a631616ce168756f10e58863b053d630dd06a9b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 12:07:48 2007 +0200

    Use constfree on relocations for now
    - they're totally exposed all they way to rpmqv.c.. eww

commit bb61fa21e8d93f74a568aec7426e086330d276b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 11:56:54 2007 +0200

    Remove bogus const from rpmInstallSource*() parameters
    - spec and cookie are malloced and need to be freed by caller
    - unconst various other rpmQVK arguments & friends, no api exists to
      free them so caller needs to handle anyway

commit bed447552a88665c566a4b2760f89db03812c12d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:48:10 2007 +0200

    Use constfree for rpmts suggestions
    - goes down to rpmal returning fnpykey which is declared as const..
      check this later

commit f88fe168dde009f542f20fc151a595885801364f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:46:39 2007 +0200

    Stick constfree to extension cache cleanup
    - deal with the header mess later on

commit 083a82f7f159f8763b9904b32f08bfc58d0c7e40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:45:36 2007 +0200

    Drop bogus const from headerFreeTag() data pointer
    - no effect as it's hft is unused
    - mark headerFreeData(), the real problem case, with _constfree() for
      easy finding (inlined in header.h so can't use _constfree())

commit 75df2ea9ad1a44cc836e1c4f43a54ca679b03879
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:30:35 2007 +0200

    Drop bogus const from temp variable

commit 78ad426f040a85965ad33ab64f040012f1b2af39
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:17:18 2007 +0200

    Remove bogus const from rpmGlob argv return type
    - it's malloced and must be freed by caller

commit 8bdd462b50b7930c94cd7c59ac068934f60cffcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 10:10:03 2007 +0200

    Make fsm failedFile non-const like it really is
    - callers need to free it so const is wrong
    - cast away the hardlink-hackery in fsm instead

commit 28723cae06d49e4ba2401199da47763b1fc28ef8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:54:46 2007 +0200

    Drop bogus const from temp variable

commit 2b61b2199fa14b8e48eecda9731ab7ae30f7ee37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:49:03 2007 +0200

    Drop bogus const from zapRelation return
    - the retval is malloced from rpmdsNewDNEVR() and must be freed by the caller

commit addf724f1afa39d7ab0a781d012812cf02890e3d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:40:33 2007 +0200

    Drop bogus const from rpmts rootDir + curDir

commit a56a86a79247f18e79f1ecab90879c05e6df5f45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:30:40 2007 +0200

    Remove bogus const from rpmdb match iterator contents

commit fbd12ed8018a146ca339f684348302d1f85c277d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:27:42 2007 +0200

    Use constfree for rpmdb_s contents for now
    - rpmdb_internal is included from several places over the tree

commit e4c1bb5ac21983de746f5446b3ed564a210d55d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:19:22 2007 +0200

    Use constfree for rpmhash key + data for now
    - sometimes they point to real const data, sometimes not, eww

commit bf723ddc66d4eeef1e3d3d6d62381ef597df7d78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 09:08:04 2007 +0200

    Use constfree for fsm path, opath for now
    - neither should really be const but they sometimes point to real
      const variables, sometimes not.. needs careful review

commit d0a289256745887dd77c39411aaa9fd8d0b896e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 18 07:51:45 2007 +0200

    Drop const from fs mountpoint, contained within fs

commit 5c9ab2a393e1cb2e253015a46433c536fa11fad0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 21:45:56 2007 +0200

    Drop const from temporary variable

commit 132017fb8dc2f120885f16c84639527466e211ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 19:15:14 2007 +0200

    Use constfree for rpmte internals for now
    - the internals are exposed all over the tree...

commit cddbd0db316bfc0886609ac1a1e10fe6c10d11e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 19:11:33 2007 +0200

    Use constfree for rpmfi internals for now
    - the internals are exposed all over the tree...

commit aee47fd11270a5d5b3db4925e84864a728ae9475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 19:05:19 2007 +0200

    Remove const from rpmal dirInfo dirname
    - add comments wrt needle dirName - those are actual const pointers to
      within rpmfi, must not free

commit 04978c4eaec7c86be705177b53fadd80a459ba00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 16:10:32 2007 +0200

    Use constfree for psm failedFile for now
    - failedFile is malloced by fsm, but removing the const from fsm
      gets a bit hairy as failed it's not always malloced
      (see changeset 4062:02b0c237b675) so we'd have const-disabling casts instead
      of freeing consts...

commit 3ea6e70658c4554f7c1ed2bb2ccf5cdaef67b12a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 15:32:25 2007 +0200

    Include toplevel Makefile from Makefile.maint
    - allow "make dist" in one step with .maint..

commit 7460a8db5d22c736e99ff95d123d9518432637d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 15:30:01 2007 +0200

    Drop db3 from dist subdirs
    - db3/configure is covered by EXTRA_DIST already

commit cd760eaa96af8854a89fb61a7a859a45ee7654ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 15:07:41 2007 +0200

    Unconst psm pkgURL and rpmio_flags members
    - fully contained within psm

commit f1df7a59b86b7e40568885d0d51a9bd72453c964
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 14:58:02 2007 +0200

    Make psm opaque, add minimal methods to cover internal needs

commit bad888114da54dd7b7eaf36faa34f0dfd4139432
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 14:03:31 2007 +0200

    Drop bogus const from dnlFreeIterator() param

commit b9f2b0788a19f76e89d782a76bc3d784fe4307d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 14:01:23 2007 +0200

    Drop bogus const from fsmFsPath() return type
    - path is malloced and caller needs to free
    - additionally use size_t, not int for string size

commit 898d2cc867aef7a8637a2afcded0d24baf6d110e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 13:50:11 2007 +0200

    transaction.c doesn't need fsm.h, rpmfi_internal does

commit 6966c5d8ace09789a22d294e4204e918d91c43d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 13:39:14 2007 +0200

    Stick cpioMapFlags to fsm.h, they're only used by fsm.c
    - allows FSM* typedefs to move to where they belong

commit 8268570f48aab6bb2126af2754d1007c959f3da3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 13:20:05 2007 +0200

    Hide fsmIterator_s struct details, not needed outside fsm.c

commit c3353c2af418398fe92c0f4febca555ee035474e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 13:15:53 2007 +0200

    Stuff hardLink_s inside fsm.c, add pointer typedef to fsm.h
    - nothing outside fsm.c needs except for the declaration in fsm_s

commit 05a16276ba5c4337f7bd1e1d64957c3ce364c106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 13:01:50 2007 +0200

    badDeps is encapsulated within depends, doesn't need const
    - remove ancient reference code

commit 834a79e6158d9950f37cf66922875f2a10af4d21
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 12:37:01 2007 +0200

    Use constfree for cleaning up pgp digest contents
    - the contents are exposed within rpm (although not public interfaces)
      but pgpCleanDig() should be used to free the struct
    - pgpDig and pgpDigParams need encapsulation + api...

commit bef37587d3a0eb9a59661bd02c5e8b46a6c24e7a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 11:38:12 2007 +0200

    Don't bother configuring db3 directory if using external db

commit 2b50ad6fa4d936ef555235cb032cf7ed9e14ac67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 11:19:55 2007 +0200

    Make ChangeLog creation depend on .hg directory
    - .hg dir timestamp changes on commits, otherwise updating ChangeLog
      requires removing it

commit 68d4b87e8a71335f11ebab703effd972c36631a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 10:32:16 2007 +0200

    Unbreak internal dep generator
    - more signed -> unsigned count type breakage

commit 4671a35bbcac3097259657a1425ece1d3fe22ba1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 17 10:05:37 2007 +0200

    Unbreak array query formats
    - signed -> unsigned count type change broke it..

commit acdbac335e7a8e287afa68a1127501029a5a3bec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 23:05:21 2007 +0200

    pgpReadPkts returns malloced memory, unconstify

commit 7be0a763d282475763c11d7b05d1479d7f0a617e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 22:50:30 2007 +0200

    Lone module-private const .. remove

commit c41f61369ea55d0c998dfb733b2e74921bca63bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 21:28:37 2007 +0200

    Unconstify macro contents, fully contained within macro module

commit 506a8f5365c9cc044754b4365e75481cf26b1b5e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 21:24:44 2007 +0200

    Bogus const in temporary variables

commit 4a72c2a3f6b3fd712e8e1733be6761c89ec4e25c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 21:21:31 2007 +0200

    More const removals
    - both username cache and log records are fully contained within their
      modules...

commit 1f443958a9b0ce3b29db5faa77532a437c77e663
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 21:20:05 2007 +0200

    More constfree for spec exposed stuff for now
    - openfileinfo seems easily made opaque, revisit later

commit 598d6efc865d3c1ca03d52cc1987966d581de288
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 20:58:44 2007 +0200

    Much of spec internals is exposed, let them be const for now

commit baa659b24dc7098009a7351a4ee1ab921b4b05ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 20:46:56 2007 +0200

    Remove couple of bogus const uses in temp variables

commit 35d4663a0dae9abfc6a533bb00d1ee100f477beb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 20:39:46 2007 +0200

    Unconstify FileListRec and AttrRec contents
    - not exposed outside files.c

commit 4ab5affca9c78a8e7f3bfc4af738722db1b93bfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 20:04:30 2007 +0200

    Unconstify rpmrc internal tables
    - not exposed outside rpmrc, "protection" buys nothing

commit 98fdd1c0617be4182bc23d655ac7778c6f26a24e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 19:00:07 2007 +0200

    Fix default queryformat setting when _query_all_fmt not set
    - \n in the rpmExpand() causes the result to always be non-null...
    - also avoid unnecessary const free

commit 14284725e6ddca4a8cd8ce5b0a4ba1e1ee7cef73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 16:25:09 2007 +0200

    Remove const from rpmMkTempFile file name parameter
    - the temp name is malloced and needs to be freed by caller

commit 3ec48632b894c299c4c4455d4e12bbce0bd37f32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 15:58:40 2007 +0200

    Refactor rpmReSign() and associated file "management" a bit
    - remove unused + useless "rc" parameter from manageFile()
    - remove tempfile handling from manageFile(), create + open a tempfile
      explicitly in rpmReSign()
    - both copyFile() and manageFile() now require file names to be passed always
    - split file closing into separate closeFile() function

commit 3184b09c1bc87f495e45ea25664589ef805c433f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 15:51:09 2007 +0200

    Stupid reversed-logic thinko..

commit ca3ac216585253ddccaadcbcc65119cc4babed46
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 13:02:27 2007 +0200

    Remove const from bunch of error message return types
    - headerCheck(), rpmReadHeader() and rpmReadSignature() return malloced
      error messages the caller needs to free, shouldn't be const
    - adjust rpmdb hdrchk callbacks accordingly

commit 3c002a4c8b0fe71a4ae4685e0fa7f9ddad17fda5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 16 12:20:45 2007 +0200

    IDT* structures are exposed, let them use constfree for now..

commit fcf5efe3482a79281d4d4f2ea5f4146c8715f0e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 21:17:59 2007 +0200

    And yet more bogus const removals...

commit f013449361e92ea2a6ffaa1bf3e9d1939f18d8b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 21:14:44 2007 +0200

    Couple of bogus const removals from rpmgi and rpmds structs
    - in both cases the data is already directly inaccessible from outside,
      no further protection necessary

commit aa61b715e6639d6900ca66facb62d5f099dd11d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 18:33:28 2007 +0200

    Make bunch of build internal code take const parameters

commit e8ffcb26b5cb60d4ad6130b0010c40ffd8d83b81
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 17:15:39 2007 +0200

    Further bogus const removals...

commit 3b6a6c903092409256b81e840b9b0dd67be0f6f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 17:08:18 2007 +0200

    Fix incorrect rpmCleanPath() retval comment

commit dc9c504ae6de92c84e272f4a6e4f68c350236e23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 16:03:18 2007 +0200

    Another bunch of bogus const removals

commit bc93e6bc874a8a07e33f7e77a8f09bde5588eeaf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 15:59:07 2007 +0200

    Avoid mixing local malloc with const parameter pointer

commit 23777730c25e440a20b6a7b0ad7d3e348992e976
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 13:43:40 2007 +0200

    Use _constfree() for freeing urlinfo contents

commit 20f6d481aabb9dcd4f38e486c80677f5a0d23f67
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 13:41:58 2007 +0200

    Expose compiler warnings from freeing data declared as const
    - _free() is just a wrapper to free() which additionally returns NULL
    - add _constfree() for use in the cases where const is used to protect
      malloced "read-only" data in long-lived otherwise exposed structures etc

commit b4588a1202783dd9bbee594aa5aea022ccdd3fc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 11:47:47 2007 +0200

    Remove bogus const from rpmProblemString() return type
    - its malloced so it needs to be freed
    - fix all users to actually free

commit 1a0a12cf159a05471be62016a318d0653ae30ff5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 11:03:46 2007 +0200

    Remove bogus const from rpmGenPath() temporary targets

commit b6a663ec0a421d822578d831153bc0fbc2d6f410
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 10:39:15 2007 +0200

    Remove bogus const from rpmGetPath() temporary targets

commit dce66192f2f01817b3027c8c61c770abbfffd131
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 15 09:39:32 2007 +0200

    Remove bogus const from rpmGenPath and rpmGetPath return type
    - both return malloced strings you're supposed to free

commit 55cb2ff12836f124d5f8114a3c0d4246ec8fa7a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 19:52:11 2007 +0200

    Bogus const removal continued...

commit 61e35657a6e3ce33a44067e82bb382b8b3133c4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 17:55:31 2007 +0200

    Another bunch of bogus const removals

commit f5a712db5be29cf130a545af0645432713f6fa26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 15:50:17 2007 +0200

    Remove bogus consts..

commit 8d66d5fe4a9d7b7b015153edb8f204ac3b89c461
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 15:17:59 2007 +0200

    Bunch of const char* corrections
    - functions returning string constants as char * etc...

commit 7d817f06b14c221bf0fbf74610e4d85093e77fcc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 13:39:52 2007 +0200

    Bunch of silly ssize_t casts
    - cuts down the amount of spurious warnings from inlined code...

commit faa7e730f1ff0e2345d0413fa3bdf6d0fec2d8af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 13:38:58 2007 +0200

    Oops, major + minor are not dev_t...

commit 0c8401abff5eef9d94ae9f124a7ccf639b12acbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 12:54:35 2007 +0200

    Yet more type-pedantry...
    - use rpm_tag_t for signature tag types too
    - size_t, not rpm_count_t in signature generation
    - add couple of explicit casts to rpmpgp.h to avoid spurious noise from
      inlined functions

commit 8946859700432de2f8462b672a7d3d3790b09a76
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 11:38:20 2007 +0200

    More size_t type pedantry

commit 00eea2ffa02db546dac707f4f32595f915062a1d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 11:36:48 2007 +0200

    Oops, rpmpsi index needs to be signed type

commit 4c91a3b6ad0eca18c732117ca4adf09914b6a64c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 10:30:46 2007 +0200

    More misc size_t issues

commit 421da7c94a9a81a00de847de2ff7249c9909594a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 10:30:01 2007 +0200

    Use dev_t instead of ints..

commit 4714ced24c99460f3af63c140b73b2125eaafd31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 14 09:35:06 2007 +0200

    Couple of more size_t uses + related format string fixes

commit c76674a257dbdc5d4bae11f443d319f6f5ad042c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 21:18:37 2007 +0200

    Big bunch of int -> size_t corrections for various signature items

commit 1e96ead46670088e6b867cc989eadbef092d5864
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 20:35:33 2007 +0200

    Use rpm_tagtype_t everywhere for rpm (header) tagtype type
    - typedef'ed as uint32_t, doesn't matter much but negative types dont exist
    - easy to grep, easy to change...
    - define RPM_FORCEFREE_TYPE instead of -1 "magic" for forcing
      headerFreeData (ugh), easier to grep for and change than "-1"

commit 7e56c6355bea552d89e8d5d0a317763a8cee4a4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 19:32:37 2007 +0200

    Use rpm_tag_t everywhere for rpm (header) tag type
    - typedef'ed as int32_t for now, negative values used in some places for
      error cases
    - easy to grep, easy to change...
    - add RPMTAG_NOT_FOUND define, used in place of -1 "magic",

commit cbd7a684a4cd88bfa3383658790be3c37230707a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 18:16:39 2007 +0200

    Use rpm_count_t everywhere for header data count
    - typedef'ed as uint32_t as that's the key size limit imposed by BDB,
      relevant for RPM_BIN_TYPE
    - easy to change to whatever later on as it's now consistent everywhere
    - explicit casts where needed to avoid new warnings from signedness

commit c8f2927227471758abbdb36781d885b01798f0f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Dec 13 09:25:10 2007 +0200

    Use rpm_count_t everywhere for header data count
    - typedef'ed as uint32_t as that's the key size limit imposed by BDB,
      relevant for RPM_BIN_TYPE
    - easy to change to whatever later on as it's now consistent everywhere

commit 50f608b42f55e1d2c89dc22a01c58b7621b620a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 12 14:33:56 2007 +0200

    Install the new fancy perldep extractor

commit 4fbc35614992a1e4a62a926aff1f72d8af10729d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 11 14:18:50 2007 +0200

    Register the new SCRIPT_ERROR callback value to python

commit 6d1cb6a9da1bf92bac9b630a12df7b9aaafaa2cc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 11 13:50:20 2007 +0200

    Silly thinko/typo causing source rpms to provide their nvr..

commit f407b391c0df60186c301a255448eae89404d05e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Dec 11 09:12:12 2007 +0100

    test == is a bashism.

commit c68860f056ce6bb122b8fac469d07414e8caefdf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 11 08:51:54 2007 +0200

    OS X Leopard fixes from Giulio Eulisse

commit 6a779c394b9ed70f7d7b45716b207ebae170f732
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 10 16:06:22 2007 +0200

    Add python method for for retrieving (without setting) ts vsflags

commit 0c4fe4a0b092e2fb32d517f45513c1a44fb6ca55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 8 16:12:10 2007 +0200

    Drop non-existing librpmmisc from rpm.pc

commit 9ce13e09ef42ea4efca3c624054b0b719f06a43b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 8 14:02:32 2007 +0200

    Switch to <rpm/foo.h> style for public headers
    - adjust include paths accordingly

commit 179ebc1745b51eb9821dd783c9df475ac539532d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 16:19:21 2007 +0200

    Add RPMCALLBACK_SCRIPT_ERROR callback type
    - TS callback has a better chance at doing something semi-intelligent
      on scriptlet failure than rpmlog callback
    - Hijack "amount" for script tag that failed, "total" for exit code
      which might be pretty much anything: waitpid child, actual exit status or
      lua error... not probably very useful in the callback but...
    - Notify before logging so users can catch the actual error message
      on next rpmlog callback.. or something

commit b67d678e2af33ef9b2b43b7692322fd2898df1aa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 15:32:11 2007 +0200

    Scriptlet (name) handling tweaks
    - look up scriptlet names just once inside runScript()
    - map trigger types to their real names too

commit 80f76a471c1b91feb453dead5053bfcc60591ca1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 14:00:34 2007 +0200

    Add getter methods for rpmlogRec items (message + level)

commit 037ceff668aca5985870e4c6cf5250adbddc4dae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 13:31:31 2007 +0200

    Rename RPMLOG_CONT to RPMLOG_DEFAULT to make purpose clearer (hopefully ;)

commit a5f65886f897223fbb476c6ddb8c9f4b7d81d6a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 13:16:45 2007 +0200

    Logging enhancements
    - add parameters to rpmlogCallback: current log record pointer +
      optional user data
    - callback return flags to enable/disable default logging behavior and
      to perform exit() after cleaning up
    - add method for retrieving prefix string for a given message priority
    - move default logging behavior out of rpmlog() proper

commit ca9ff17a4d21ec6ba78a56a0f1ddae7e8e16682e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 11:43:06 2007 +0200

    Make rpmLogRec opaque

commit e98903dbb10d860f9eb2b5b315aab4b1fa9b4152
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 11:34:33 2007 +0200

    Fix misleading indentation

commit 8769e540f1d3c25ba05c5d24b69a8b71cfd8dc6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 11:33:18 2007 +0200

    Don't do tilde expansion if HOME not set
    - If you dont have a home, glob() will go out of its way to give you one,
      even a wrong one.  This isn't good when daemons etc have purposefully
      unset HOME...

commit 2cce0653a15f6a0bdcb4de8b7a5133e810744d32
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 10:57:39 2007 +0200

    More rpmerr.h removal fallout
    - use rpmRC types where appropriate

commit d4622b51354ac454f67d30baf9d3b7276672d3b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 10:43:53 2007 +0200

    Yet more rpmbuild fixups from rpmerr.h removal (partly from rpm5.org)
    - additionally use rpmRC return types instead of numbers where appropriate

commit 23bba68b56c590f2fdbb955c60e5dff0ceae5bb8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 09:53:53 2007 +0200

    rpm5.org: fixup spec parsing from rpmerr.h removal
    - renumber rpmParseState enums to leave room for error codes

commit 2a9c146f31f9695da5af489ff9d14540b10fcd13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 09:28:39 2007 +0200

    rpm5.org: fixup various places in rpmbuild from rpmerr.h elimination

commit 79fed162acf572d7c88fd6b08fae3ea088cf5fd3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Dec 7 09:01:25 2007 +0200

    rpm5.org: use pid_t, not int in build doScript

commit 9f34c3244316ee239739229bd3d1c89053d08179
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 15:56:18 2007 +0200

    Fix query return codes (rhbz#244236)
    - count + skip over errors in rpmgiNext() instead of stopping iteration
    - add rpmgiNumErrors() for retrieving errors, use it in query

commit c54001150fa2c1408759c81998f8a00e2a96c5c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 12:57:07 2007 +0200

    Only platform.in is to be included in dist, dont use wildcard

commit d4cc1de207c0cefa0331734aa412f0d65fdaf204
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 11:56:33 2007 +0200

    Rename apidocs to hackingdocs, only build on request

commit 882f3905859e85086dc8e95f36600fe1f0bab541
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 11:27:50 2007 +0200

    base64.h missing from librpmio sources

commit 8ddd81d0d4815cffa70a4cb0ba284bfec977fc7d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Dec 5 10:37:38 2007 +0200

    Update potfiles wrt recent changes, regenerate translations

commit 131cadaec4c78be4e462003fb49681c22f1dc392
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 4 11:28:16 2007 +0200

    Match filestage strings with the fact that we dont use "rpc" anymore

commit dbdbe8010cd944f026a5a4e5d071eb31d29d81c4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Dec 4 11:25:46 2007 +0200

    Eliminate debug junk from the API
    - add some helper macros to accomplish the same, easy to enable / disable
      as needed

commit 422fa0dbeab879d3510c879554c33e359e0ab7ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 18:47:40 2007 +0200

    Document rpmtsScoreGetEntry() parameter to please doxygen

commit 2db7896a3489f270a58adc06ae6854c1210f7338
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 18:44:48 2007 +0200

    Remove double documentation from header methods to make doxygen shut up

commit 6d37b9782dde11b25d22d5922b698b4ec8841eb0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 18:39:56 2007 +0200

    Fix couple of doxygen file paths, remove obsolete comment

commit ee9cd5176f308313fc0eae3c59119c454d58c9fa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 16:58:16 2007 +0200

    Rename _rpmdbMatchIterator -> rpmdbMatchIterator_s
    - consistency with other similar constructs

commit a96f817d50953f0fd48bd2a7bb983c82256bbc78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 10:47:25 2007 +0200

    Split RPMTAG_* and related functions out of rpmlib.h to rpmtag.h

commit 6bdbbefbecf06b75581b8dfbd4ea626c59ebe312
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 10:15:46 2007 +0200

    Split rpmte internals to separate header
    - avoid unnecessary include-order issues
    - stop define-games for internals access

commit 1929c68ea3e61007fb6388fd923e01a0e2dd8378
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 10:09:37 2007 +0200

    Duh, remember to add rpmfi_internal.h to sources..

commit 7b98c02efb519c6634ab27f0a774b01e99a7b40d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 23:02:33 2007 +0200

    Move rpmprobFilterFlag enums to rpmps where they logically belong

commit 249113b17a378e55532a1bd4b01c6954d56e59e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 22:59:38 2007 +0200

    Move rpmsenseFlag enums to rpmds where they logically belong

commit b2a11e03510dde4e805c388b24dcb41e5d1278ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 22:54:14 2007 +0200

    Move rpmtransFlags enums to rpmts.h where it logically belongs

commit 361a8e697b934789a8d5560ba42266c9a22a3a0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 22:50:55 2007 +0200

    Move file action enums to rpmfi where they logically belong

commit bb7e7862e5256874189a008a00cd3d420d8119c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 22:00:18 2007 +0200

    Move RPMFILE_* file attributes to rpmfi.h

commit 2c3ce0c8b04938b7b35483d27a4e87eda9afa3e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 09:46:51 2007 +0200

    Split rpmfi internals to separate header

commit 9ae6424a40cc8982bf9e46a0bb50dee6b49df782
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 12:19:24 2007 +0200

    Move file state defs to rpmfi where they logically belong

commit 432467a793333c88321fa1b1429673c29a92a25c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Dec 2 12:11:46 2007 +0200

    Move file type enums to rpmfi where it logically belongs

commit c36bef96bbe016a68007ef715f521a1bfb8f9de0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 16:35:33 2007 +0200

    Drop RPC from apidocs..

commit 9cbf0349b84fb19c6dddbe4f7a3246d4c949ad09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Dec 3 16:33:18 2007 +0200

    Use regular POSIX functions instead of "RPC" clones
    - we only care about local files

commit fb90b8b4eb46c4008326e07b4866f4bf0875df83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 21:06:00 2007 +0200

    More rpmlead exorcizing
    - remove unnecessary type parameter to writeRPM(), header knows what it is
    - remove unnecessary lead argument to readRPM(), it's unused anyway
    - drop lead from cpioSourceArchive struct

commit c4f116eec34eb283d37dca84b6a38c9fb38537e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 21:01:51 2007 +0200

    Erm, stuff headerIsSource() implementation to hdrNVR with other cruft
    - avoid dragging rpmlib for RPMTAG_* into header.h

commit 5219448fa1c27988e40450063db5fd49139faace
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 19:29:57 2007 +0200

    Use headerIsSource() everywhere for determining package type

commit 935df9b81e698d60181f7ca97730e22ac6b8b34e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 19:25:10 2007 +0200

    Silly helper method for determining if a header is source or binary

commit 3ec04bd5add043955a94d735330bf374fbe8a269
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 18:41:14 2007 +0200

    Lose leftover davRead() related hack

commit 92698df7236d0fc6c1d9c683210ddc12984764b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 18:31:09 2007 +0200

    Make rpmlead opaque, add methods to deal with it
    - rename methods to rpmLead*() for easy grepping
    - populate lead from header where necessary
    - add rpmLeadCheck() method for minimal compatibility checking to get
      rid of duplicate code in several places
    - conditionalize lead version on dirtokens

commit 89ecfb96d0ea48419ceecd0cd1527fd6a4d465d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 12:47:30 2007 +0200

    Include sanity
    - don't pull in rpmio into rpmpgp.h
    - make rpmpgp.h standalone (needs rpmints and stdio)
    - rpmfileutil needs rpmio (makes sense, huh...)

commit 656732848a942fd41cdb75b52820676cb15a6077
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 12:32:30 2007 +0200

    Make rpmDoDigest() honor algorithm parameter

commit 50b21a8a07934344178018c080d0e27f739538d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:42:22 2007 +0200

    Don't include idtx.h in rpmcli.h
    - nothing needs it there, include directly where needed instead

commit d7e484237a3dfeaa49b5366a9210a68492f43598
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:31:20 2007 +0200

    Move headerN(E)VR(A) declarations from rpmlib.h to header.h

commit 82a9632d4f71987cf106cbc04b2005015ba69988
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:29:44 2007 +0200

    Move hGet*() funcs from rpmts, rename to headerGet*()

commit 9169947ebd5d22bfb25e6dfa8cb0abea8390ea64
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:16:20 2007 +0200

    Add bunch of missing rpmts doxygen groupings

commit 2f7c913723baa8135201fa930678d9e3d4138f2c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:09:54 2007 +0200

    (no)dirtokens is just a build-time option now

commit fc53d307ad1a9c01ea622d53d93befdea472240b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 10:08:13 2007 +0200

    Add separate public header for callback declarations
    - rpmmessages is empty, lose it
    - adjust includes

commit 7fc7ac2161afd379ca8dda58de7eca98299e9ecf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Dec 1 09:38:33 2007 +0200

    Lose url callback mechanism
    - not used and cant support it with external helper anyhow

commit 89527785bbf5e6410cbb5303238fc4f45c8ab02e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 23:08:38 2007 +0200

    Move logging related macros rpmlog, adjust includes

commit 95953fe6101829efc8895193205b991c5faf7eb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 22:13:15 2007 +0200

    rpmurl and argv doxygen groupings

commit e01888a40376f47ac76a3c7060716a16d601ac62
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 21:58:18 2007 +0200

    rpmpgp doxygen tagging

commit 976f0f891c69268e8ddf7c04de6efdca307ecf30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 30 21:47:27 2007 +0200

    rpmrpc doxygen groupings..

commit fe086189b7bb836807dbc89ef707da678575f1f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 10:38:58 2007 +0200

    Export FTS_* options through rpmgi.h as RPMGI_*
    - permit full rpmgi use without exporting all of fts

commit bcbc8126093dc200fbdcbc37451ac5b59d559de9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 10:26:53 2007 +0200

    Lose python fts
    - nothing uses it
    - hardly "rpm" functionality

commit 47b6892500671b87aa3cb189b4fe4162771cce74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 10:09:43 2007 +0200

    Avoid building rpmdebug-py

commit 41fc048c9a1938dffae9660db1cc874125c878af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 10:06:57 2007 +0200

    Lose the useless rpmrc python stuff, group macro handling to rpmmacro-py

commit 44e1c051fcecc8db6033ed8a4d21c0d5cd1c8702
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 28 17:51:39 2007 +0200

    Lose rpmgi_internal.h, no longer needed

commit 6d2214791328708254279b872f53db5aca1d7095
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 28 17:47:58 2007 +0200

    Add rpmgiGetFlags() method to avoid rpmgi_internal.h in query

commit 9e098f531234cfe776aa63b86e8afafb11865c30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 29 09:42:56 2007 +0200

    Bunch of compiler warnings silenced
    - bunch of silly debug message casts to shut up whining
    - cpuid() arg signedness

commit 0728a2d5df68d2f11e44c2d7b05c49a036fdefda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 28 10:21:26 2007 +0200

    Remove code duplication

commit 1eb8b83dcaafdf81514ead25a605e8a4a7cd4350
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 22:47:19 2007 +0200

    Revert the buggy dbiFindByLabel() epoch handling for now
    - ':' is a valid character in version (ick), need to account for that too

commit f82d0d88a956b15cdac424c87b86bcfd36de2b6e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 22:44:54 2007 +0200

    Back out the epoch-in-queryformat changes, too much breaks

commit ca4497b51bb0e91f31218dc3b76bb03451cc887f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 13:38:18 2007 +0200

    Make epoch present in generated filenames too

commit 9699454ebc6c69251cc30cc8667ed3756e162bda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 13:27:15 2007 +0200

    Comment out hRET_s and HE_s for now...

commit d3fc506c2bc2b38b306162c9beefcc45c3a7063b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 13:00:47 2007 +0200

    Make default queryformat show epoch if present

commit 6cfe6e2f10d5c68a2ac037d5ae63be81abb9d09e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 12:42:12 2007 +0200

    Remove unneeded includes

commit 5c6f56af8f41a1ddeaf066d45a9559d143ac04d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 11:58:17 2007 +0200

    One missed legacy include

commit b97705e0182aee1e05b2b546530f0d3daf0f1586
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 11:56:05 2007 +0200

    Drop extra include paths from python too

commit 5fa08529cb805bb36a8b9a1d7300cade13d05e4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 11:52:55 2007 +0200

    Move rpmfiBuildFNames() to rpmfi now that it's possible

commit fbf0cb4441816b70a6a8e5ecef37d54b152b9db0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 11:34:23 2007 +0200

    Move legacy%#¤%#¤ to librpm now that it can move..

commit 30bb2ba4c8e481dd1c18e6ce8cd6c563fb42e23b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 11:24:45 2007 +0200

    Drop support for old style file tags in rpmdb

commit eacfabfe70595aa54e23b3c0b0803b4ccc97c805
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 10:13:16 2007 +0200

    Remove long since dead fields from python header objects

commit 2380dc146e7b8e08fd92f1f870a62536d62307bd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 09:55:40 2007 +0200

    Remove debug junk

commit 2a228d767cb903889c96507aadd919ef610b33ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 27 09:52:44 2007 +0200

    Teach dbiFindByLabel() to grok epochs

commit 333f10c56ecc693c272b5ba74b190549d76b8c12
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 15:41:24 2007 +0100

    Adjust comment.

commit 8f82c7309eb62e42a2e53d56af591374668afa49
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 15:38:20 2007 +0100

    s/build_os/host_os/

commit 0169e936799d0ccd6061ae949359faed5dd75673
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 15:37:30 2007 +0100

    Remove #include "lib/signature.h" (unused)

commit f33505085a9893847a2eb299024db35556d9f44d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 15:18:02 2007 +0100

    Regenerate.

commit 3f4a332f955ffd5193b4a7f4507125a201b19e5f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 15:17:52 2007 +0100

    Fix quoting bug in preinstall.am generation.

commit 7ab750975b08680f1c003f9c66031464f72eded0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 14:48:29 2007 +0200

    One more pgpKeyID_t use

commit a798f725eb7f54bccde6fce47ad2b41eaeb65041
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 14:42:14 2007 +0200

    Define and use pgpTime_t for pgp creation time(s)

commit 399dca5c05440350c39008b9e682b95945bc35ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 14:19:38 2007 +0200

    Define and use pgpKeyID_t for pgp key id's

commit 7ac39db1f4117442b49e4717c79f04295886d9be
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 26 13:51:44 2007 +0200

    Fix "byte" usage in test programs too

commit 95c55a1af9fa4be56737eefa0e709ce5abe47deb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 10:53:47 2007 +0100

    Type pedantery.

commit 96e7f513cde29bbcec1d21f62d23b74cd1b26ed7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Nov 26 10:42:39 2007 +0100

    Eliminate type "byte"

commit ffd534e4b8893c13b4368b7c80bea873ffdadc67
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Nov 25 05:43:52 2007 +0100

    Remove unnecessary deps on NSS.

commit 0fc2acbe28328d1a999993ff1da2c7694df70f50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:58:17 2007 +0200

    Add a bunch of missing groupings to rpmlib.h items

commit 266cea562f99d7ec1b96eae1f829111088b3a163
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:57:51 2007 +0200

    Add a few missing rpmcli doxygen groupings

commit ba1915ecb9a68033e68d9e78666049d9c8ed05e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:47:34 2007 +0200

    Doxygen cosmetics..

commit 3053a2d8d013070d3ff6a2c0c44591ba84bbe8fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:44:32 2007 +0200

    Add rpmtag + tag api doxygen group to librpm + hacking docs

commit 59ac81ac386601cee4f3b68e97d05f4c5b0befa5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:26:58 2007 +0200

    Remove non-public stuff from librpm doxygen groups

commit e6b0dfd1555cf423c649ddd295f22357bbfbebaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:20:46 2007 +0200

    Add doxygen group for rpmstring, include in librpm + hacking docs

commit 31ad46a64b50caae0f023393c6182b8ded1fba25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 15:11:21 2007 +0200

    Add doxygen group for rpmfileutil, include in librpm + hacking docs

commit 1a0968f31f18c627982b857fe717b54d691f0c78
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:57:18 2007 +0200

    Add doxygen group for rpmfc, include in librpm + hacking docs

commit 43d1baef0f8e95e9340802faebc7ffffe3421b2d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:51:30 2007 +0200

    doxygen groupings for rpmsw, add to librpm + hacking dox

commit bdce039f8567890296ef80cc80574dd9947ab571
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:48:13 2007 +0200

    Bunch of rpmio doxygen groupings

commit bd01557f273fec707a5b626838defc848be856e5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:45:16 2007 +0200

    Add doxygen group for rpmsq, include in librpm + hacking docs

commit 7bba4e7cb11244e75b95526f3c0619836ed55584
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:43:01 2007 +0200

    Add doxygen group for rpmlog, include in librpm + hacking docs

commit a1cab56e703bb1dcab70384631dd081070194db4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:39:51 2007 +0200

    Add doxygen group for macros, include in librpm + hacking docs

commit 975aa86c3709c61dd452b3c2930500b839f55f17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:33:34 2007 +0200

    Add rpmps to doxygen modules page

commit 2d396ce001ff48c1f644bcd8e2bb6d5a3cc4d297
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:32:45 2007 +0200

    Add doxygen grouping to rpmps methods

commit 31cbde7d3cf9156aefb65bc642eb2fa195606f09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:19:15 2007 +0200

    Add doxygen grouping to rpmgi methods

commit b2a9283a18519397bee5ce7ac51680169ef46da0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:17:33 2007 +0200

    Add doxygen grouping to rpmfi methods

commit 9938bb48f5f4b1202d25bee842e402d4c257717d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:15:20 2007 +0200

    Add doxygen grouping to rpmds methods

commit 73bcaf56359cf5d106288f2a4e066730858adde8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 14:12:43 2007 +0200

    Add doxygen grouping to rpmte methods

commit c78e4767c217c20ac2b9895cad4aa918160179cf
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:48:18 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit 38560be92b1a8b5782d5637cede4a74ddec35dc6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:47:48 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit 71aabbde880f6c0895e4a45c2650839bd4973a71
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:44:04 2007 +0100

    Reflect changes to include files.

commit f103adbb269ff7b69b2bedca0e7ec6476ab42d82
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:43:51 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit b1c0f900aa6879b6f337bd26b2fe425741f3548c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:41:38 2007 +0100

    Reflect changes to include files.

commit 8ef0ca213fa5e668508f6cbb601b2c2a73e89997
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:41:29 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit 79599bafb42c673cc7b9be9a5d3589b5891df0d5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:39:40 2007 +0100

    Reflect changes to include files.

commit 60939d6985e007d55a81b12f98173b5bbe4d31e8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:39:29 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit e8aa138e987e5989d6b22696ebd7d37e2d76c63a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:38:17 2007 +0100

    Reflect changes to include files.

commit 4d49dfcf414c1d886f5dac9b746cdc80bd41c192
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 11:37:54 2007 +0100

    Expand private include file names to be relative to $(top_srcdir)

commit dae44a0f38913fc34f55bb345c84d7cc3f6be722
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 12:00:22 2007 +0200

    Export FD statistics enums + fdOp() method

commit c10e5da8a0a724cb3cc9ed23124d83f44d384ac8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 10:32:10 2007 +0200

    librpmio needs elf include+lib now, librpmdb doesn't

commit 7b2a9b3c24ccb445a332ba57f42d526a32567644
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 10:27:29 2007 +0200

    Move rpmGlob() from macros to rpmfileutil.h
    - macros is all just macros now
    - internal copy of popt stuff needs to go...

commit 2c6905dd9f10589e80eb9292992510a1e070cfe4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 10:20:19 2007 +0200

    Move rpmGetPath and rpmGenPath to rpmfileutil.h

commit 178e32a0baf9759035e6f4b633b0396623eba80b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 10:10:19 2007 +0200

    Move rpmCleanPath from macros to rpmfileutil.h

commit ff77bfa2a1951473edab1db8e3bd29be5d69443b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 10:05:49 2007 +0200

    Move file compression stuff from rpmmacro.h to rpmfileutil.h

commit c1bcd633010cce22919dbc5c347fa401971d39a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 09:58:02 2007 +0200

    Move rpmioMkpath from rpmio.h to rpmfileutil.h

commit 2068f4611220bbe90c98b65c58dd1b6c62858152
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 09:13:18 2007 +0200

    Remove unnecessary paths from python includepath
    - no private includes from lib and build are needed
    - document rpmdb and rpmio private needs

commit eb72616113a82daf76fecc8ed1da6a0d16f65cb5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 09:06:45 2007 +0200

    Regenerate preinstall.am

commit d10acc7c2a280bd8e0aea3610d9a8767521a5f40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 22 16:28:30 2007 +0200

    Move makeTempFile() from misc.h to rpmfileutil.h
    - probably not very useful outside rpm but used all over the tree,
    - rename to rpmMkTempFile() for namespacing since we're exporting it now

commit d8cd2b6b1139a81b819e66817e22d814fe25a9e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 08:45:59 2007 +0200

    librpmdb doesn't need rpmio private headers anymore

commit e063854e118b92af3072e888e0887b2943187895
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 22 16:06:11 2007 +0200

    Calculating file checksums aint legacy activity
    - move the checksumming into librpmio
    - rename domd5() to rpmDoDigest() with future expansion for specifying
      digest algorithm type (ignored for now)
    - rearrange parameters to leave return types last
    - one less rpmio_internal outside rpmio/, whee...
    - used all over the rpm tree, and it knows about handling prelinked files
      so potentially useful for outside users, might as well export it
    - new public header rpmfilutil.h for collecting this sort of stuff

commit b32cca34808e46bb5ce6972c99d95b3e53f555ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 22 14:48:07 2007 +0200

    Move pgpDig typedefs to a more obvious place..

commit 4ad615daf5a650359d4be4d7b317d0678040cd37
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 08:32:08 2007 +0200

    Move the xstr*() string variants from rpmio.h to rpmstring.h

commit 115d698252464f907a4932b4bfeb63d72a3098a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 08:21:23 2007 +0200

    Move string helpers from lib/misc.h to rpmio/rpmstring.h
    - splitString, freeSplitString, stripTrailingChar

commit d6990c3ab1095e0637a5113fe062b9eb6e1a2238
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 23 08:11:42 2007 +0200

    Move stringbuf into librpmio, rename header
    - rename header to more generic rpmstring.h for collecting misc string
      helper functions

commit abeea80a38682069fe97e69c0c8ca71475497ba0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 06:46:19 2007 +0100

    Use #include <x.h> syntax to include public headers.

commit 7fb2899b84ec829cb72a059e7ae32b23a7c80669
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Nov 23 06:28:09 2007 +0100

    Fix typo in preinstall.am generation.

commit fb370262070657ea317309885b84defe73b520da
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 18:13:53 2007 +0100

    Remove AM_CPPFLAGS += -I$(top_srcdir)/build.
    Remove AM_CPPFLAGS += -I$(top_srcdir)/lib.
    Let librpmdb only depend on librpmio.

commit 32f29c4cbf44fb16e8a915ecff30289fb4065e21
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 17:22:22 2007 +0100

    Regenerate.

commit 575a851fb79d693a96d36e6091051ab34a4f781a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 17:19:38 2007 +0100

    Fix preinstall.am handling for VPATH builds.

commit d9c9a980699dfe792f6f4de947ccdc600ce52886
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 16:45:25 2007 +0100

    Add -I$(top_builddir)/include/rpm to AM_CPPFLAGS.

commit 94d2343931fba7efbffdbd598625fe48b525de58
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 16:17:20 2007 +0100

    Add -I$(top_builddir)/include/rpm to AM_CPPFLAGS.

commit 583140460100ea99553d883174065ca22a3099b2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 15:54:42 2007 +0100

    Add header preinstallation.

commit 3553b86aff3e77ac57a3103d9e84f21ac43f5c14
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 13:41:06 2007 +0100

    Include system.h

commit 5787b3f7c12fd7d3a67663a8b1c85789a968ccf3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Nov 22 09:43:40 2007 +0100

    Eliminate egrep (Abandoned by POSIX many years ago).

commit d58b2666e3f80aac47130e4157ab0be16dc847dc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Nov 21 16:51:57 2007 +0100

    Add AC_USE_SYSTEM_EXTENSIONS.
    Remove AC_AIX, AC_MINIX.
    Do not add -D_GNU_SOURCE to CFLAGS.

commit 4990a44984437320a0e39ce19e4f045235756b6b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Nov 21 11:34:30 2007 +0100

    s/build_cpu/host_cpu/

commit 17ef8a3082a7c9e2c2defd9f516923afca67e027
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 19 16:32:15 2007 +0200

    Lose rpmerr.h for good

commit 43c5de66fb90cbc59dc23eb0774d66c66d34b37d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Nov 19 16:25:24 2007 +0200

    Replace all RPMERR_* etc uses with corresponding RPMLOG_* levels

commit db4e34966ed9d52a920ab1b135309e6e21f12473
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 16 17:37:54 2007 +0200

    Split digest-stuff out of rpmio_internal to separate header

commit 3587db8c4e5f72cf00d2722d06f9d7face2d072a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 16 17:18:55 2007 +0200

    Eliminate copy-paste fd digest stealing, stuff into rpmio_internal

commit 157759299d796bad84a58b5a50586883e086b1ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 16 14:16:56 2007 +0200

    Eliminate need for rpmio_internal.h in rpmdb.c
    - adds new pgpExtractPubkeyFingerprint() API function
    
    Ported from rpm5.org work of Jeff Johnson

commit f38eeadf415acff83a04e723db0f0b3575f8369e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 15 15:16:10 2007 +0200

    Debugedit needs crypto initialization too..

commit 3a168d6927ec8c647b06b3f437c1503305141eb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 15 14:03:19 2007 +0200

    Remember to initialize crypto in various test programs..

commit 589b54af909b5ee8e98818291b955b0951b1c26c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 15 11:08:53 2007 +0200

    Initialize NSS early (rhbz#382091)
    - add new rpmInitCrypto() API for directly initializing any crypto
    - call it from rpmReadConfig() to ensure it's always initialized early on

commit 905ea76db4153b3e82eaac3c0291b4c7e4c597c5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 14 21:52:42 2007 +0200

    Fix base64 decoder related crash (rhbz#380911)
    
    The base64 decoder code incorrectly assumed that char is a signed type.
    Patch from Tomas Mraz

commit 9ee49db5a4a63f3ba400ca431083159ea4c275ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 13:11:54 2007 +0200

    Fix rpm -K segfaulting on corrupted header
    (http://qa.mandriva.com/show_bug.cgi?id=#33735)
    
    Patch from Pascal Rigaux

commit b6a1ee9bb75b3f11bbab035137f37ccfd0db1cc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 13:09:01 2007 +0200

    Make "rpmbuild -bb --quiet" quiet as should be
    (without this patch, the option is simply ignored in rpmcliAllPoptTable)
    
    Also rhbz#124300
    
    Patch from Pascal Rigaux

commit b3591654458361becb2db7c36594469b89a3bf6a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 13:03:38 2007 +0200

    Fix build without O2
    
    HAVE_LOCALE_H is used by system.h, ensure it is defined properly
    (the issue only occurs when compiling without __OPTIMIZE__ (ie -O2)
     otherwise libintl.h do include locale.h)
    
    Patch from Pascal Rigaux

commit ec8761f231c345d7a6f07ad8bafeff2cc8c69e83
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 13:00:52 2007 +0200

    Align rpm -V output
    Patch from Pascal Rigaux

commit 142b5e5301940ebb3be8e31da5cf11fe64ef1f7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 12:57:49 2007 +0200

    Use dgettext() instead of just gettext()
    Patch from Pascal Rigaux

commit 827399cda09b7271b735a6c502e9a58597117bd7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Nov 13 12:47:22 2007 +0200

    Fix free on invalid pointer after displaying "Unable to open temp file"
    Patch from Pascal Rigaux

commit 7d032c35059210b81ac8054a81ea1270837fadc3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 15:59:45 2007 +0200

    Minimal protection for rpmsqElem internals

commit 262f2d63b1789cd832db37037e7988306db524a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 15:56:11 2007 +0200

    Remove unnecessary psm.h include

commit 751bba091b495f081a8966992b64c86023a82c30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 14:17:17 2007 +0200

    Dead code removal

commit 49cd2645747b393cfacaa5ca2308e676f6e0879e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 14:09:31 2007 +0200

    Use _target_* macros for build restriction checking
    - avoid using deprecated rpmrc rpmGet*Info()
    - plug a small memory leak (remember to free the values too)
    - potential linux vs Linux as the os name implications but as isMemberInEntry()
      ignores case anyway, shouldn't matter

commit df84cabff6804650532763563f996127fef6bac3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:57:02 2007 +0200

    Disable -Wstrict-prototypes for now due to noise from NSPR headers

commit af0fe8255c46f3826f4a69b0006b02d62f640b88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:54:05 2007 +0200

    Kludge around mktemp() uses to shut up build warnings

commit 5320dcba034996397a7e9aa5efe04671109ce8fc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:34:53 2007 +0200

    Remove dead & unused RPMTAG_ARCHIVESIZE addition code
    - rpm >= 4.1 uses RPMTAG_PAYLOADSIZE and translates RPMTAG_ARCHIVESIZE to
      it automatically

commit 77d3ce054980b0bc88207c4468dc11ca8620fc72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:26:46 2007 +0200

    Kill off deprecated and unused rpmGetMachine() entirely

commit de7a247133fd618aa9438b70646cc30d1577d0f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:22:14 2007 +0200

    Remove rpmSetMachine() from API

commit f81c916aeff8015221de568998649d1555d890c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 12:16:48 2007 +0200

    Remove dead rpmrc-related code from spec parsing

commit e6f7c3c84846e1aa4f772694f7bbf29ce6a2c5ed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 10:33:47 2007 +0200

    Remove useless "var" parameter from setup helpers
    Additionally rename setVarDefault to addMacroDefault which it really is

commit cc465dd6233990630a064b6a1634be61c9f845a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 10:32:10 2007 +0200

    Kill off unused rpmSetVar() and freeRpmVar()

commit f7604b1a0eb6ec1bc436a2c137ae4fbc4cb1e165
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 8 10:24:58 2007 +0200

    Remove rpmGetVar, rpmSetVar from API

commit 2967cb5ffa616566e7daf0487b80c335e03b2250
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 13:47:42 2007 +0200

    Eliminate dead code

commit 1688cc62bf51ccb611e4c3403c24d93e72fb270f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 13:21:06 2007 +0200

    Eliminate rpmlead use from legacy retrofitting.

commit b497a4f05fe04e86a120851830f578211fd5ddc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 13:12:20 2007 +0200

    Only do legacy retrofitting on packages that need it.
    
    Packages not having RPMTAG_DIRNAMES (ie compressed filenames) is
    used for checking, packages not having it are either built with rpm <= 3.x
    or with --nodirtokens, retrofitting in the latter case doesn't really
    hurt that much for the obscure case...

commit 8f97ae9d265bcdc542055320b1a2bd346eb63475
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 11:57:12 2007 +0200

    Document rpmio_internal.h uses outside rpmio/

commit 4471d9c371400141896fc9d838408b086af232ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 11:41:06 2007 +0200

    Move tufdio under rpmio/ where it belongs..

commit c5588096d37f6747ab6da075a2cd8e5e8d909430
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 11:02:41 2007 +0200

    Silence bogus gcc warning

commit 85a1226e8ca7324e070977fd2c32f897c1418931
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 11:01:40 2007 +0200

    Remove unused variable

commit d8741ebc13c4981b0df788c7a481396b79213a01
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 11:00:51 2007 +0200

    Silence bunch of compiler warnings from test programs

commit 8239d0b74b6363fa38576d40a3ab4531a047f028
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 10:17:10 2007 +0200

    Remove bunch of unnecessary misc.h includes, document others

commit d8babb5a863011d4a384c8f77ca4aefa07805bbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Nov 7 09:01:38 2007 +0200

    Remove .splintrc's in the tree

commit 51f5b6caa8c432d04cb1d33d525495f2d6820b6e
Author: Peter Jones <pjones@redhat.com>
Date:   Fri Nov 2 09:23:05 2007 -0400

    - Fix segfault in %{lua:...}'s rpm_print
    - Don't automatically print a newline in rpm_print

commit 43b1952dc66f264cadb02cc09abce5d7b0b8a8ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 12:11:33 2007 +0200

    Eliminate rpmfcToken struct internals from the API

commit 0781adb1cb4fbe63b83303527ce1aa4dc35bb319
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:40:45 2007 +0200

    Eliminate macro struct internals from the API

commit cefa324b3af8512b9d993ae45f8fbf56eceaf45b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:24:42 2007 +0200

    Meh, actually add the base64 files..

commit 1a32f9959ea4daf8e3b2ae1e099a73f871900ff9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:18:23 2007 +0200

    Remove tinv

commit 1a2a82d38972e7f24f014ea9533c162d7de98ebc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:16:16 2007 +0200

    Document NSS requirement, revise obsolete comment in macros.in

commit 524262f6f83cc98407597b35924aff7eba3a754c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:11:54 2007 +0200

    Resurrect tax from NSS switchover

commit 8afe81c21445f96e4f5430b05304242c958a9ad0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Nov 2 10:02:40 2007 +0200

    Use NSS instead of beecrypt for encryption (Tomas Mraz)

commit e7fd0807d3b0a024634bc62a3bf2571a1bd6098d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 1 12:26:05 2007 +0200

    Include "legacy.h" not <rpmdb/legacy.h>

commit 02fb3b030d61c187a9563cd3003c5609559e2310
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Nov 1 12:25:41 2007 +0200

    Remove two unnecessary legacy.h includes

commit e1cc5871a0cd351276035d501a0e8b617b0716b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 12:48:43 2007 +0200

    Document RPMFI_INTERNAL uses

commit bb976c2f57310cb293df642ab4b8c36e2c022c44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 12:39:23 2007 +0200

    Document _RPMTE_INTERNAL needs

commit 05fcdb49f1d366b65a72b1a22f299fa5be41f4e3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 12:08:01 2007 +0200

    Split out rpmts_internal.h from rpmts.h

commit a3bbfc98eefa6cf272ed8f391c8efc6af995bd53
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 11:57:04 2007 +0200

    Disable python available package mechanism for now at least.
    - need saner available mechanism to resurrect, OTOH nothing appears to
      use it anymore
    - last remaining RPMTS_INTERNAL offender...

commit c13ab3401614249d8321b9e920a479602dc8291d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 10:37:18 2007 +0200

    Add rpmtsPrintSuggests() method for now, use instead of ts internals mucking
    - temporary measure to get rid of silly RPMTS_INTERNAL uses, the whole
      solve/suggestion thingie needs love or ripping...
    - clean up the suggestions in rpmtsClean() instead of while printing

commit 68dcdd5dad79481bd5561ba6b0556bdb84b66c15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 31 10:15:05 2007 +0200

    Kill ts->goal, instead set NOSUGGEST flag on erase
    - it aint quite the same thing but will suffice for now...

commit a100133e561488ac02c0286aa34c36fcae5ac5af
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 15:51:53 2007 +0100

    Replace AC_CHECK_FUNCS by AC_REPLACE_FUNCS for basename, getcwd, getwd, putenv, realpath, setenv, stpcpy, stpncpy, strcspn, strdup, strtol, strtoul, strspn, strstr.

commit 3f5d1e332e56b7011c47df48c1c5a333b2f35912
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 16:48:38 2007 +0200

    Add rpmtsCleanProblems() method for rpmgi needs

commit e898dde44d34ce7e937acbefb530287e718d36bf
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 15:24:10 2007 +0100

    Remove memcmp.c.

commit bb19662ebdd821047b7c3c61356198c0040e6175
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 15:53:44 2007 +0200

    Erm... rpmdsFlags are int32_t type, not char*

commit 41cd82aa7c6a0b9115d776a387b3177664075d44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 15:50:35 2007 +0200

    Split transaction score stuff to separate private header

commit 6abf077d7096e2f48bf1316e37ee6651c78b536e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 15:15:19 2007 +0200

    No callback, no repackaging info - tough...

commit 51c91957ae7378547604f1e008fabab28145d7b8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 14:31:42 2007 +0200

    Use rpmtsRootDir() instead of ts->rootDir + url guess-games in psm

commit 41d0a9fd3e8615efbb333746dfd2ea1ad9e285e3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 12:16:21 2007 +0100

    Don't build stubs.c.
    Link against ../misc/libmisc.la.

commit d57d7105502758114110f0c2f7877c129274a776
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 12:15:34 2007 +0100

    Build libmisc.la.
    Use @LTLIBOBJS@.

commit fa1b02934ae53f2924398da78b69ab3b8e603f8f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 12:14:23 2007 +0100

    Add -I$(top_builddir)/rpmdb to AM_CPPFLAGS.

commit 591cd9852badfcbed43737deeb60ea8f4ae9c10e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 13:11:13 2007 +0200

    rpmds is now fully opaque, eliminate _RPMDS_INTERNAL games

commit 798323c39f3a6e67e145a95f46b13ec40b2f330b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 13:07:59 2007 +0200

    Whole lotta trouble to avoid rpmds internals access in rpmfc

commit 80ab4ab3f6f6853736f47ee7214a9fbd24f9510b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 12:25:15 2007 +0200

    Avoid rpmte internals access in rpmtsNotify()

commit 9482ab214144679f2736598e784f9fc59e3dbf4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 12:12:54 2007 +0200

    Use rpmteKey() instead of te internals

commit be83036b2a9231b6ee496f7fea78124f1b53fea5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 30 11:54:22 2007 +0200

    Remove unnecessary rpmShowProgress duplicate prototype

commit ae0e274e3511f6fe821adbf3f9769a311c5b3c89
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 04:06:24 2007 +0100

    Remove rpmdb/tsql.c.

commit 002b3ca2f933fe33ca41e76e29c264345c77db09
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 03:27:07 2007 +0100

    Include <assert.h>.

commit 88b0c2bbb5b82efcbe557176077c5edbd7b1c5be
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 02:57:14 2007 +0100

    Remove URLMAGIC, URLSANE.
    Remove include <assert.h>.

commit d2384456f71b47793d8f7fd67211f74a4b5b4269
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 30 02:56:34 2007 +0100

    Add URLMAGIC, URLSANE.
    Remove URLDBG (unused).
    Include <assert.h>.

commit 7208dc82beb8e9668bd980d5104eb0a7aa11fdbc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 13:37:50 2007 +0100

    Fix typo.

commit 69f402c32073126b16a994d7536a76cb537801c7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 13:34:53 2007 +0100

    Split out rpmgi_internal.h from rpmgi.h

commit 9a628446ce33c31895c5f58cdfb5c288139be253
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 12:24:15 2007 +0100

    Add SKIPSPACE, SKIPNONSPACE.

commit f7a062a74c8d507acec1bfbdbcb2bcf1f4939c66
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 12:24:00 2007 +0100

    Add SKIPSPACE.

commit 7d75c393a5a1d5328d6a5376fec685a1b08f72e2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 12:22:59 2007 +0100

    Remove SKIPSPACE, SKIPNONSPACE.

commit bdd3cd3ed6806466b4891db49098970fe335fb84
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 12:55:43 2007 +0200

    Macros don't need rpmio_internal

commit 6713c1e8078facbdc97a3e0073fa39a79dafa841
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 11:45:20 2007 +0100

    Don't include <ctype.h>.
    Include "rpmio.h".

commit 3d74c511ff497ce11ec22d0b1a5296eac5733f58
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 11:43:51 2007 +0100

    Move typedef into extern "C".

commit b8b986dd20a4ebbd8f2d297f3b02b424734abf71
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 11:40:51 2007 +0200

    Remove unnecessary includes

commit bf106534a4b56f4a54d4e5bdb9e3e8212a5fd266
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 11:39:40 2007 +0200

    Remove unused variable

commit 00c6f2540654037067d52cbc0932b64b121ce965
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 11:38:52 2007 +0200

    Hum, files.c needs rpmio_internal afterall for rpmioSlurp

commit ebd3578be8c68673c66bcc039d74815762fba06a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 11:32:51 2007 +0200

    Include rpmlib.h instead of lib/rpmlib.h

commit a82d639d7288cd088f539371b5e710311451c3cc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 10:21:32 2007 +0100

    Use size_t for sizes.

commit 546867c2b5d2ccade4ade4f399eab8a2c180cdec
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 10:20:41 2007 +0100

    Move typedef into extern "C" {.

commit acb80574504f39011875012c5253edda1169c7ea
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 09:58:15 2007 +0100

    Don't include <assert.h>.

commit b818f44da21cbe7660dafbd9938ca9e34834bf32
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 09:55:53 2007 +0100

    Don't include <assert.h>.

commit 3b9fd01a9aa03dc8d6dc1b9b6cbed6c2b4104628
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 10:32:38 2007 +0200

    Remove couple of useless rpmio_internal includes

commit 35bcc3dc3061bf0c15a9ce16ff84b35e7f7076f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 10:32:20 2007 +0200

    Include rpmpgp.h instead of rpmio_internal.h

commit cebb292fd362475929fe35b74933140389c7eefb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 10:10:17 2007 +0200

    Avoid need for header_internal.h
    - headerCopyLoad() achieves the same thing..

commit 1fe38d71cc4049175b1a0ba7c493e20665880692
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 09:42:21 2007 +0200

    Use fdGetFILE() instead of rpmio internal fdGetFp() everywhere

commit 46e669f06e9a66f1833d19481c8f2d1adc041645
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 09:30:45 2007 +0200

    Remove bunch of long-dead macro debug stuff

commit 57a5a2b3db28faf7c7d54e955593caf88beaba74
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 08:22:15 2007 +0100

    Remove local def of uint32_t, uint16_t.
    Include <stdint.h>.
    Use size_t for sizes.

commit 3357b1fc76b4fbf118017fbb6f6e69207612690a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 09:20:59 2007 +0200

    Export rpmio fdGetFILE()

commit da6a613eb321917045d61cf9b59deada4bd67d6b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 29 09:11:37 2007 +0200

    Remove leftover comment

commit d255841988e7ef4bd02f83a9079d3a1c31d9f3a0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 29 07:28:15 2007 +0100

    Remove AM_C_PROTOTYPES.

commit 7134487e2887a31cb0cdcb3711050e8bbbf17657
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 09:53:01 2007 +0100

    Eliminate BSD-types.

commit 6a10fc88147ad7f55dab51565abe216852f8bd5c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 07:30:58 2007 +0100

    Eliminate u_short, USHRT_MAX.

commit a02ad3f220decc6a8e54fbf8e436f64ee0c07243
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 07:20:59 2007 +0100

    Remove unnecessary includes.

commit bb3c8db9a5428f1cab562ea205e6b1305822fe5d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:57:08 2007 +0100

    Include "config.h" instead of <config.h>.

commit a241ba959f4b47a9631995cb3991e61ee70fb6a4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:49:57 2007 +0100

    Include "rpmfc.h" instead of <rpmfc.h>.

commit 14d434925b894dff35f5a53e25ba651218a86634
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:49:54 2007 +0100

    Include "rpmbuild.h" instead of <rpmbuild.h>.

commit 64b30f9a12a18e30ca52512e41e977e009e8e14e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:46 2007 +0100

    Include "rpmts.h" instead of <rpmts.h>.

commit a59c95205cc4ae3406f4f994fa615b11a1efb0e8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:42 2007 +0100

    Include "rpmte.h" instead of <rpmte.h>.

commit f25c04c1e45c3c579fa182b5345409bde87a3da1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:31 2007 +0100

    Include "rpmlib.h" instead of <rpmlib.h>.

commit 226e626dae6e2f55351b4616620ac616eaaea698
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:23 2007 +0100

    Include "rpmgi.h" instead of <rpmgi.h>.

commit 8f3334f5f73c80ee6ea9dd9d272ac757abeebd6d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:20 2007 +0100

    Include "rpmfi.h" instead of <rpmfi.h>.

commit f15b940aa03ec7c1b4054991e1764bbf7ea1177c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:17 2007 +0100

    Include "rpmds.h" instead of <rpmds.h>.

commit cff3ba0882e30dc6accaeba2b811c18afa78c203
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:47:14 2007 +0100

    Include "rpmcli.h" instead of <rpmcli.h>.

commit 9735f83012e8b5652284c62cf0c376e1e46a32fe
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:19 2007 +0100

    Include "rpmio_internal.h" instead of <rpmio_internal.h>.

commit 227633a3e0e54212568b6809a833f9e8c71461ba
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:16 2007 +0100

    Include "rpmio.h" instead of <rpmio.h>.

commit 2e1f554c2a2fc8910e8c17a43098c3e8b6ef4669
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:13 2007 +0100

    Include "rpmhook.h" instead of <rpmhook.h>.

commit d7c7203182670ed977ed7dd0b4644ae3d74e89b0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:10 2007 +0100

    Include "rpmerr.h" instead of <rpmerr.h>.

commit 12ef6e8d3a139de1509a41c79c443815e5a8d35b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:07 2007 +0100

    Include "fts.h" instead of <fts.h>.

commit f507baed1fb7d0129c21000b396a56e9bb776857
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:43:04 2007 +0100

    Include "argv.h" instead of <argv.h>.

commit 3e194cf5fe7aa53b6cec5d911e6eabfa6bc8b643
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:42:58 2007 +0100

    Include "rpmdb_internal.h" instead of <rpmdb_internal.h>.

commit 759e91bf4a2ce1770b17d9e176869f8998f45a3c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:42:55 2007 +0100

    Include "rpmdb.h" instead of <rpmdb.h>.

commit 979907ae8bd2f9fd5878ed057d16837bd6f064dc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:42:46 2007 +0100

    Include "header_internal.h" instead of <header_internal.h>.

commit 2c4e4c0ccbeac09dbfb6cbaa3ae1ef2c6e4a149d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:42:44 2007 +0100

    Include "header.h" instead of <header.h>.

commit b1f8da9252c68b57389cf4ae990385060e8f23ac
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:36:11 2007 +0100

    Include "rpmlua.h" instead of <rpmlua.h>.

commit e36a2ac8da29f324bb93e2e99898ef0f0b9e1e16
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:32:05 2007 +0100

    Include "rpmmacro.h" instead of <rpmmacro.h>.

commit 942da0293731a75e3f8c40467f079b863d36ea30
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:17:49 2007 +0100

    Include "rpmmessages.h" instead of <rpmmessages.h>.

commit 454f5ddff8cc114c0ff0b0dc13d6570276ce715d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:14:27 2007 +0100

    Include "rpmpgp.h" instead of <rpmpgp.h>.

commit 7075f640502b781b4428e412556231029550c087
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:11:57 2007 +0100

    Include "rpmsq.h" instead of <rpmsq.h>.

commit 562c47ce8b65a1eb1c56c1d246beac5fc24f5fa8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:08:20 2007 +0100

    Include "rpmsw.h" instead of <rpmsw.h>.

commit 26a9e836085475ac57f22828864f846c5e03e1bd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 06:05:12 2007 +0100

    Include "rpmurl.h" instead of <rpmurl.h>.

commit 2259b9e2d2685401cd19b27e6918ae60312f5faa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 28 05:02:00 2007 +0100

    Add @cond NODOXYGEN to hide away __RPM_USES_STDINT_H__ from docs.

commit b85e0d00ca79dfa50677b05964708d2f2b5cd32d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 06:38:35 2007 +0200

    Abandon addlib().
    Stop messing around with /usr/ucblib.

commit bfb5e17e77d329b629281a6a909206131489b1a8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 06:28:06 2007 +0200

    Eliminate AC_TRY_COMPILE (Obsolete).

commit 519977112e83b1265bd277a5f3835671ab26921a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 06:19:26 2007 +0200

    Stop messing around with triple-arg'ed main.

commit 6765e53464a432a2931cbdd4bf72cff0e610223d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 06:13:03 2007 +0200

    Remove AC_PROG_GCC_TRADITIONAL (Obsolete).

commit d4988efe1b41bef82810dbfb1c7aa52ec68678a3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 06:10:13 2007 +0200

    Remove AC_ISC_POSIX (Obsolete).

commit 2d78c0a51a2b8f069b6e68ba1fc14e5bc76f9348
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 05:50:32 2007 +0200

    Add deprecation notices.
    Depend upon C99-fixed-size types.

commit a468d3004d15e7b14268b64b5b168e04130f97d8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 05:48:53 2007 +0200

    Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER.

commit 4275322229d82f8137627c26c5080fdc40aaa372
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 04:13:07 2007 +0200

    Remove HAVE_VA_LIST_AS_ARRAY.

commit 6d13cf177dbf989d9201ff58315682535e071982
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 27 04:12:19 2007 +0200

    Check for stdarg.h.
    Check for va_copy.

commit bebeb89735f4927d33233d2c49e91919187f1c91
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 26 13:24:14 2007 +0200

    Eliminate [u|]int_[8|16|32]. Use c99 stdint.h types instead.

commit bbce1581029dddbdcdd76a0b969fd8a8fe5614bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 26 12:08:34 2007 +0300

    Fix invalid ifdef-outed code breaking syntax highlighting :)

commit 7964312e1a52de4dfb10bea47cd6ff2a295f6b02
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 26 11:21:31 2007 +0300

    Remove dead rpmal code

commit eabf92f842039af35d1da0e0271e84483959a7e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 26 10:21:12 2007 +0300

    Rename rpmcliImportPubkey() -> rpmtsImportPubkey()
    - it's not a cli function in any way
    - move to rpmts group

commit 4b185fc48d9e1206624002618ff661bc1770356c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 18:38:18 2007 +0200

    Add rpmdb/rpmints.h.in.

commit 7445f99b38d134ac5965ffab52ff55e611b2c28e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 18:36:19 2007 +0200

    Pass HEADERS to doxygen instead of pkginclude_HEADERS.

commit d46dd7352f673643396c060d49af055af7592a0a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 18:26:07 2007 +0200

    Minor fixes to generation of hacking

commit 462b0dbca01836d9a6f7112a014f0e16c54e7ad0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 15:59:28 2007 +0300

    Regenerate translations

commit 44b1137f099406028999c34064e1a82679c24b85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 15:58:19 2007 +0300

    Fix a format specification error in the Catalan translation

commit c00f5828e552d87c73f3c780e3ee8c8bcc93418a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 15:56:48 2007 +0300

    Add Catalan translation (rhbz#350401)
    From Xavier Conde & others

commit b2e90be34639db2fd39b00305ae6e60aac8b6329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 10:31:42 2007 +0300

    Use NEVRA, not NEVR everywhere for rpmProblems

commit 19330086994ef02b8dcc18e71087b5c34110801d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 09:48:02 2007 +0300

    Remove dead code

commit 62cc76e25cdfad78ac30bb28f626b474efdecddc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 24 09:47:22 2007 +0300

    Don't mess up problem pkgNEVR in python ts.check() (rhbz#349091)

commit dd8bbe42a3e357cccf6c0d3e7d63cfd76ae4bfa6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 03:11:19 2007 +0200

    Remove AC_CHECK_FUNC(fchmod).

commit b990c6737a92af63d537b4b071f44721401802a3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 03:10:57 2007 +0200

    Remove dead and unused, ifdef'ed HAVE_FCHMOD block of code.

commit 0034893b789590e49aebc09127ae90c6170cc148
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 24 03:04:01 2007 +0200

    doScript: Change 'what' to rpmBuildFlags.

commit f5a2728aa1d31185949cf31cb5baa4de4da68804
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 23 13:21:52 2007 +0200

    Pass -1 to setVarDefault for optflags.

commit 4c647570dcc4d56a84b8adf12bd0ad61dc4c974c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 23 13:20:19 2007 +0200

    Eliminate dead code in setPathDefault, setVarDefault.

commit 2f40e205403bf39549b3406836b0bde981096904
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 23 11:04:31 2007 +0300

    Remove unused python header stubs

commit 9832bc53308ed84b7cbcc4100ed13c345b0846ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 23 11:03:52 2007 +0300

    One more useless rpmio_internal include removal

commit fda6c48f004dace80d8a36c514f5d4bc04b9a74d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 23 09:50:23 2007 +0300

    Remove bunch of unnecessary rpmio_internal & related includes from python

commit 3b7a6a5a95e010ff1c9699342ce63520f35b4cb3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 16:51:41 2007 +0300

    Remove bunch of unnecessary rpmio_internal includes

commit c0e198bd624d3ae899194b18fec43cf065a484e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 16:32:58 2007 +0300

    Remove ancient test-stuff

commit 2c499d40dc0598fc726923215697db9aefac35f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 15:51:04 2007 +0300

    Fix rpmts.h internal includes instead of working around in rpminstall.c

commit 549fb4393ed4e95fa8fba16dfc1f00c8df64fbcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 13:37:02 2007 +0300

    Use rpmtsGet/SetDBMode() to eliminate needs for _RPMTS_INTERNAL

commit 8d70f186814c8dce2362a803d15bf5fc3149888c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 22 13:33:53 2007 +0300

    Add set + get methods from ts dbmode

commit b96a582dd46c6fe3e24998ad7e4af1384397dc6c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:22:08 2007 +0200

    Reflect changes to doxygen docs.

commit 25ffe1cef94c9753297567407174402f98a6ddef
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:21:36 2007 +0200

    Add Doxyheader.

commit ef6ea9b508a4309d069f25fe0871660cedae532e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:21:08 2007 +0200

    New (copied from Doxyheader).

commit 4a465aff3b1273f086b1b22639cb5d9a085ceb72
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:20:09 2007 +0200

    New (renamed from Doxyfile.in).

commit 7c517216e789c9c9e7b6d319eb3746eb290a1c20
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:19:20 2007 +0200

    Remove.

commit afaba3f831dfe1e6e082a105d8f69011688648a3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 17:19:05 2007 +0200

    Remove.

commit 8e59724a585d8049c6a4569197e836ccaf4d717f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 13:25:08 2007 +0300

    Rename rpmpsProblem() -> rpmpsGetProblem() to make purpose clearer

commit 92919c2f73518a14e45c7586b5d2ef5f278255d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 13:01:58 2007 +0300

    Make rpmProblem standalone "object"
    - problem set contains array of pointers to problems, not problems themselves
    - add functions for creating and destroying problems
    - use iterators for freeing the problems in rpmpsFree()
    - new rpmpsAppendProblem() API for appending existing problem item to
      problem set
    - implement rpmpsAppend using the new methods

commit 63f94fb4a8c3ac52941b60cdde1332fb3db67716
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:30:26 2007 +0300

    Eliminate rpmps and rpmProblem structure details from the API

commit 1e74fccef78dd4f5ad80d853646af678d7f6390b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:28:30 2007 +0300

    Use rpmProblem access methods instead of direct access to the struct

commit 494c56e94ae9bbdcec46b746dc6837de42c890b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:27:41 2007 +0300

    Add methods for accessing rpmProblem data

commit dffede23507ece9740de2523171f021b6772fa4f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:15:35 2007 +0300

    Only permit appending to a problem set from python
    - remove subscript assignment (which mucks about rpmps internals way
      too deeply)
    - add append() method instead

commit 7f9678705457cb5c884fd1bc901ead9558a3a6eb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 18 16:09:05 2007 +0300

    Use iterators for rpmpsPrint()

commit b882a428bde280957844faebfc7bb90b0a847753
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:36:11 2007 +0300

    Implement python rpmps iteration with rpmlib level iterator

commit 36f1ac2c7b3a9030e3dfd59510fe285eac3dce88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Oct 19 12:35:20 2007 +0300

    Convert rpmts-py to use rpmps iterator

commit b1c64e37fd170d08896d4cb9209f5241be138b09
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 18 13:46:59 2007 +0300

    Make verifyDependencies() use rpmps iterator interface
    - use stock problem string for problem descriptions instead of handcrafted
      messages, changes output format quite a bit but OTOH reports conflicts
      and requires separately and more clearly
    - should perhaps filter out duplicates, otoh the old code didn't either...
    - return number of problems encountered instead of 0 vs 1

commit 96ad2a1fee7528e182f3923440f7b3038e996c8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 18 13:45:25 2007 +0300

    Add API for iterating over rpmps problems

commit 2240b4f8d67ab98de0f090ad146103f7a1984cfb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 07:04:15 2007 +0200

    Ship Doxyfile.in, doc/librpm.doxy.in.

commit 8059dfcdf000f234d93097cebb24ab0c8fa11e72
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 19 07:03:23 2007 +0200

    Regenerate.

commit 39454472fc4ca6f776b44edc742f0a307a28ab53
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 18:13:02 2007 +0200

    Reflect changes to apidocs generation.

commit 6f74ccbb75005643ee54216e449c8e2f7509270b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 18:12:29 2007 +0200

    Eliminate @WITH_APIDOCS_TARGET@.
    Add EXCLUDE.

commit b9d56b6dc93f301babdd3af113c8374636af25e9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 16:04:00 2007 +0200

    Remove WITH_APIDOCS, WITH_APIDOCS_TARGET.
    Add AM_CONDITIONALS DOXYGEN and APIDOCS. Don't generate Doxyfile.

commit 5c923b9b772a1c10021613f9a9cc80764edd9a79
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 16:02:14 2007 +0200

    Add stub doxygen @param to silence doxygen.

commit 4d02494caa4e02a7f0c7f6b4160c9dc076969b5b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 09:51:32 2007 +0200

    Remove doc/librpm during maintainer-clean.

commit 6e3017d0406a5490a802f7ebac7abfb3f1afa019
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 09:04:17 2007 +0200

    Use DOXYGEN instead of __DOXYGEN.
    Rework processing pkginclude_HEADERS for doc/librpm.doxy.

commit f110fe4b50376bfc530d47b33fe64479e4a56726
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 08:41:31 2007 +0200

    Use DOXYGEN instead of __DOXYGEN.

commit 0174c534875868fe95c06dd58704a532157aace7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 08:36:00 2007 +0200

    Use DOXYGEN instead of __DOXYGEN.
    Rework processing pkginclude_HEADERS for doc/librpm.doxy.

commit 8bcd871811ccea8b704264ce273843e7b1c508d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 18 09:34:54 2007 +0300

    debugedit mishandles empty DW_AT_comp_dir (Roland McGrath)
    - fpc seems to produce DW_AT_comp_dir with value "" (empty string).
      This is dubious, but debugedit makes it even worse by getting confused by it.

commit 0a7a4877245d5de1d74aec09245cb94b8181a642
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 18 08:34:37 2007 +0200

    Use DOXYGEN instead of __DOXYGEN.

commit abdc47d51cbd910f47d8415cadc93a5b94fcecf6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 18 09:33:56 2007 +0300

    debugedit mishandles DW_FORM_ref_addr (Roland McGrath)

commit a6c8f8086e263352afc16a76800966d9c3696f59
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 16:42:21 2007 +0200

    Add automake option nostdinc.

commit ea2968b6b3b2a79e40f986f148c77a1d15be3365
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 16:41:59 2007 +0200

    Cleanup CPPFLAGS.

commit cc113a1aad048c06d71a64516f83741902c65a45
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 15:38:33 2007 +0200

    Add find-provides, find-requires, db.h to DISTCLEANFILES.

commit 6e2f4d1351ce1f46c35acb5754f5c072744c59ff
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 15:23:15 2007 +0200

    Move db.h handling to toplevel Makefile.am

commit 8a4f77043520785a93a08f3df077ded30ea7cc25
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 15:08:01 2007 +0200

    Expand AM_CPPFLAGS.

commit ca1f17b9ff26b46ffbcbcdc66a90b2f3083fe315
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 15:07:13 2007 +0200

    More reversions.

commit 83b24d5f005b9cbb8403ef1b016454cf81ccc63d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 14:36:47 2007 +0200

    Add preliminary support for doc/librpm.

commit 9e826374baad5b040d9bd70932be3908a8402f91
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 14:35:54 2007 +0200

    #include <db.h>

commit 0f681e6625b13a75f5ea69bfa787f8e98f1c21d8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 14:31:06 2007 +0200

    Add tput.

commit 38fe2fd9731522bf4485c9734fcf645b8bf82329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 17 14:55:41 2007 +0300

    Use HAVE_DB_H for both internal and external BDB
    - rpmdb only cares whether we have BDB or no, internal vs external
      doesn't matter
    - makes external BDB actually work

commit 44768215d390b5e4f792c2a0c2e69c4476d26f9c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 12:13:14 2007 +0200

    Revert yesterday's patch (we're not ready for it).

commit 0e43d3b5705d8cb33cb74817d2808aa9996c0241
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 11:33:52 2007 +0200

    Set GENERATE_MAN=NO.

commit 0c1a781c29a83f977e93724c698fb1a5fb97210d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 11:30:59 2007 +0200

    New.

commit 2d0f3b069d3b22c7593379ec8c1b01eed79fe767
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 17 08:41:53 2007 +0200

    Remove refs to emacs.

commit 2200b96fe318d92398c57c5ccced7c16e30397e3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 18:32:24 2007 +0200

    Move tdbi, tjfn, tsql to toplevel Makefile.am.

commit ba6a27ce9bd86f34d5fc1199943d89f484da4764
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 18:22:23 2007 +0200

    Move ACLOCAL_AMFLAGS to the top.

commit 8ea05eb1dff52e93ea33433cc1efd274518ce167
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 18:21:27 2007 +0200

    Use \$(SED) instead of hard-coded sed.

commit 1a2234fe5429388b60e217b1608a6d5028a7d208
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 14:25:04 2007 +0200

    Fix broken doxygen comment.

commit a75b7cc5e912f1af4d63a90b483770059d60d61a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 16 13:40:45 2007 +0300

    Remove unimplemented, unused RPMPROB_BADPRETRANS
    - leftover from pretrans syscall hack before %pretrans script days

commit e4aeb6fac52b02068c15f3175a8818b11caf60d9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 12:28:09 2007 +0200

    s/dbiflags/flags/ in doxygen comment.

commit d1e24fa5867df035020eba8ce4ab59014b98a11a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 16 12:26:42 2007 +0200

    Don't include stdio.h.

commit 6f0dabbcdda98b95a30cc7073d2446b99ebd5840
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 16 11:51:57 2007 +0300

    Rename norwegian translation no -> nb (rhbz#332271)

commit b97951097805632470725ef162e6eb8dde250de2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 15 10:40:52 2007 +0200

    Add usrsrcdir.
    Reflect using $(usrsrcdir)/packages instead of $(usrsrcdir)/$(RPMCANONICALVENDOR).

commit 77c2edcb76cea4aecb7cdc3b2dbed6a8ad470b22
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 15 10:03:16 2007 +0200

    Regenerate.

commit e044dc0d5a1adf366650878e66dad2e0d9f0d491
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 14 12:49:18 2007 +0300

    match *.omf, not *omf in find-lang (Ville Skyttä)

commit c7b8053f463a6a6fdcc039908ff399f4c1f591d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 14 12:48:32 2007 +0300

    find-lang Qt translation support (Ville Skyttä)

commit 5656af9cf31c053ad97815692a0c0736c7e4bc42
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 14 12:42:47 2007 +0300

    find-lang localized man page support (Ville Skyttä)

commit 52de2160183593ae515f08eeed9d62d0b05a37d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 14 12:31:24 2007 +0300

    find-lang POSIX-compliant find(1) usage (Ville Skyttä)

commit aeeee26cbc5fad78d0b7bb902eb01c75d0c353b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Oct 14 12:30:31 2007 +0300

    find-lang spelling fixes (Ville Skyttä)

commit ce13d1b3180ca338ae6d48bfb54c9c716089d329
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 14:14:00 2007 +0300

    Clarify rpm manpage wrt rpmbuild binary vs package (rhbz#233232)

commit 9d614eba54a83adc07113a8e9c75ab3ce55af2f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 13:50:05 2007 +0300

    Clarify rpmtsCheck() documentation (rhbz#159638)

commit 37fd4820e587194375fbab9e8fd1ed642dc236db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Oct 11 11:17:48 2007 +0300

    Make default _topdir vendor agnostic
    - follow Suse behavior by using /usr/src/packages instead of /usr/src/redhat
    - the default should probably be %(echo $HOME)/rpmbuild instead for
      sane non-root behavior, revisit this later...

commit 9a555bf696eed5601bbead738a8ef366114c1670
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 14:37:18 2007 +0300

    header_method.h is now private

commit fc0463782edce3f3ed416b57435eb996fb8bb174
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 14:36:13 2007 +0300

    Remove now unneeded hdrinline

commit 9204c957881d960c179c6e96a21a8ea56f6cf0a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 14:35:14 2007 +0300

    Un-inline common header access functions
    - implementations in new header_common.c
    - definitions in main header.h

commit 8f9eea953f6e0d13cf622ce5ef5d958a55977282
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 14:25:29 2007 +0300

    Move per-header method typedefs etc out of main header.h
    - new header_method.h include

commit 67b68cbeb97831844dd06bc6e231a3d78f348bde
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 10 11:30:37 2007 +0300

    pkgconfig dependency script fixes
    - don't make assumptions about package names, requires pkg-config executable
      path instead
    - always create pkg-config dependency if *.pc files are included, not just
      in case the *.pc file requires other pkg-config modules

commit 5dd1a5baa571b994559579fb6ee6289f51257ee7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 10 10:08:26 2007 +0200

    Move pkginc_HEADERS to toplevel Makefile.am

commit ad40930a801e8b3e42bcdbbb33f759eb6f19e6f7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 10 09:54:39 2007 +0200

    Recursively pick up files.

commit 272d591973ce001d50c745f1796873e8ad1e8d77
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 10 08:39:01 2007 +0200

    Add support for lzma compressed "Sources".

commit 9f7a8dab5928a60ab641e480f921251a93ffa0be
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 10 08:37:35 2007 +0200

    Kick out polish comment.

commit fca4ed8d97cd98d1cb4a1d0e26339f3ff4171d3e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 10 07:14:47 2007 +0200

    Install libtooldeps.sh and pkgconfigdeps.sh (Used by lib/rpm/macros).

commit 1567d8baf485e7501c79d96f8231084dd0a8ecb7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:47:15 2007 +0300

    Permit src.rpm installation to be interrupted

commit 01d5c13a4299e6fb7357d14fee7c5a368ec3bbbd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:33:49 2007 +0300

    Make rpmerr.h private, include directly where needed.

commit 9fba2d43d162bc12e84a4e5120429609ff17fc72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:07:08 2007 +0300

    Let tufdio use rpmio_internal.. its for internal testing only anyway

commit 8b4b6eeb47c00d072b159e9dc84cd2a2a8f72868
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:06:39 2007 +0300

    Oops, one missed rpmError() user..

commit 275835643bf84cace7a8e506f6d3f76fd618c73c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:02:57 2007 +0300

    Remove rpmError() and rpmMessage() retrofitting

commit 6bdd2384c47637b0a054b98b2ce8aeec6d7930a7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 15:01:52 2007 +0300

    More RPMMESS -> RPMLOG verbosity fixes

commit 81c4b4ba27784047e78c83398f9ff925b26a632b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:58:13 2007 +0300

    Use RPMLOG_ levels instead of RPMMESS for verbosity setting

commit b21bf6018e915de2348e10d52c3576d1e4b5eae9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:54:28 2007 +0300

    Replace all uses of RPMMESS_FATALERROR with RPMLOG_CRIT

commit 832580670ac00f1de425960cf15261b784388077
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:53:09 2007 +0300

    Replace all uses of RPMMESS_VERBOSE with RPMLOG_INFO

commit 0eb7deabf2364e0c2671090a1f774c06a9217c1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:52:01 2007 +0300

    Replace all uses of RPMMESS_WARNING with RPMLOG_WARNING

commit 56366e3890a913c43642132340e2b7c6292e1227
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:50:42 2007 +0300

    Replace all uses of RPMMESS_NORMAL with RPMLOG_NOTICE

commit c52905d33460c020f8f1b33da47c06a8a2cb513f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:49:02 2007 +0300

    Replace all uses of RPMMESS_ERROR with RPMLOG_ERR

commit 9d9aa852ca724e4c7671cec249189f7dfef5ed8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:48:04 2007 +0300

    Replace all uses of RPMMESS_DEBUG with RPMLOG_DEBUG

commit 4ce9fc1a1725b883190de2c415842a342ed3dbe3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:14:30 2007 +0300

    Replace all rpmMessage() uses with rpmlog()

commit d709195c3a51522629443cddea042513f47c5ad3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 14:06:06 2007 +0300

    Replace all rpmError() uses with rpmlog()

commit 46921b2334ddde2cad8f3546c6f9b6124adbb3a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 13:41:59 2007 +0300

    Fix tufdio build after rpmio cleanups

commit 210e1ac82638d4ad9b802819ac615cbfed471813
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 13:33:39 2007 +0300

    Hide rpmio vectors from API, only internal needs

commit adb4ca9ecdca6b5e9542ea611fc3834b1dd530c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 13:27:47 2007 +0300

    Remove timedRead() define

commit 72d2b41cb6aaca54b1d641fc1d890248ac7ba184
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 12:52:09 2007 +0300

    Remember to remove fdFgets() definition too..

commit 2ad02a60b9ea9ba95bd5c2d5c9b947a7c30b4034
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 12:48:04 2007 +0300

    Rename __fd*() to fd*() for consistency now that the names are free

commit 0e8db956e39a0d95da7be7c9286d77dd1d9eed82
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 12:42:27 2007 +0300

    Remove unused legacy rpmio fd*() interfaces
    - fdFileno(), fdOpen(), fdRead(), fdWrite(), fdClose() gone...

commit 351c1f35f79da9f8c0cccf7c569a5b6ba2f896f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 12:28:59 2007 +0300

    Remove unused rpmio fdFdopen() function

commit c961e7a5f8f388a2e8608fecac575e2adecbd762
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 12:28:08 2007 +0300

    Remove unused rpmio fdFgets() function

commit cabd0b9ffd35e0a1f288f03f65a9b9360a6944cd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Oct 9 11:55:00 2007 +0300

    Remove bunch of deprecated and unused rpmlog functions

commit 6ea5c0023f6995cfd7104f8657c4fa35e77367c4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Oct 9 10:02:49 2007 +0200

    Use enums instead of ints for processing isCompressed ret-val.

commit 0f22ea8830574d936e38e84a3806af97c33e0530
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 17:12:10 2007 +0200

    Add __LZMA.

commit 58daebe1075f21e12fecdc1cf6ea878006cb8d6c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 16:53:52 2007 +0200

    Make hdrinline.h a private header.

commit 1788472d6223618ec3a16dc8ad2ef61115eb745d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 8 15:40:31 2007 +0300

    Fix up the download path in README

commit 722e03c1a85bd9ae5df0ef9fb4b94650b90f6917
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 8 15:37:38 2007 +0300

    Dust off INSTALL docs a bit

commit 36217918fc131c4f63f18793c6eb471f46e97945
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 13:14:10 2007 +0200

    Make headers self-contained.

commit 847e431706d1d1a5e7cfde12b2a027b77870aadd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 12:40:55 2007 +0200

    Make headers self-contained.

commit 619aa0e650a380f227a520549d367dd05dcc3df4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 12:32:41 2007 +0200

    Make headers self-contained.

commit 069a92e2cd2c2bb213e204e4a5c120c8d827876a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 12:29:02 2007 +0200

    Make headers self-contained.

commit 9e1a6a395f4785007e9e1e8935dfaae20f3afa8f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 11:03:57 2007 +0200

    Make headers self-contained.

commit 98dc9ce7bb6c9371bd5713b64d838dd2a1b10083
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 10:35:28 2007 +0200

    Make header files self-contained.

commit d6ffa9891fcd1e5e2b66d3dc543165fb475716c0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 10:05:06 2007 +0200

    'Adjust extern C {} blocks.'

commit c29845f5848cfdbab3e06dbcb27dccfc7b5a3ae0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 09:55:55 2007 +0200

    'Include <magic.h> instead of magic.h'

commit b97dbc7fd3a499c6d9d83439a0bd33edfab4f43a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 07:38:19 2007 +0200

    Use 'file' instead of '<file>' to work around include path issues.

commit 5b654b0086db80c884db4658a80621a21f5e7102
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 06:33:04 2007 +0200

    Do not include "system.h".

commit c68b8bcd8fc9f317f811e5e528d359b427874e21
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 8 06:32:24 2007 +0200

    Include "system.h"

commit b27dcbe5460c931ad174c6112d3266a425633a4f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Oct 7 18:15:20 2007 +0200

    Remove generation of ChangeLog to Makefile.maint.

commit 49382a79ca7e0bb2912c7653f423a3069e654863
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 08:54:44 2007 +0200

    const-ify second arg of strtokWithQuotes.

commit 144038e68277b58980453f1e2a5fe44a1b7e508d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 08:53:11 2007 +0200

    s,\\subsection,\\section,

commit 3df8f54ef5b95ca7b133404e8e003d65e900f81e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 05:56:57 2007 +0200

    Add description stub to strtokWithQuotes to silence doxygen.

commit fae3f7eb92436b838b720c0888df8927a49bf16b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 05:52:15 2007 +0200

    Rename static headerXXX functions into _headerXXX to avoid clashes with static headerXXX fintions in hdrinline.h.

commit acedc1b611ebb7fa287a0ea2eecb50273996e124
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:45:37 2007 +0200

    Add quotes in doxygen blocks.

commit 4770cb41c2f49fe86cef24dbabe27772f253fac5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:43:37 2007 +0200

    Add quotes to \# in doxygen blocks.

commit 391ed7bbad93f0500debb0019dbb45bdd3d311ab
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:42:47 2007 +0200

    Remove POPT.

commit 72e97bd3da9c926106cdf96e9a85dff96805cab1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:42:32 2007 +0200

    Add description-stubs to doxygen blocks to silence doxygen warnings.

commit 0d595e407a7588870f0e79da18eecb6600e7fc2a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:41:49 2007 +0200

    Add description-stubs to doxygen blocks to silence doxygen warnings.

commit 1cbede4fd20b87e5b97ee41b4750b52c4cf7b342
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:41:21 2007 +0200

    Add description-stubs to doxygen blocks to silence doxygen warnings.

commit be342ad3c5966a851d98cc8d40b6436f8c8cab36
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Oct 6 04:39:58 2007 +0200

    Add quotes to \# in doxygen blocks.

commit f109c7b830edcf44b87553840a7e5b7cce83715a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 17:45:33 2007 +0200

    Remove stray splint comment.

commit d9a6863e11932fff42e02d79df899e45ab4f70f7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 10:40:58 2007 +0200

    Support DOT.

commit cac07870f502a21ff539e9a9d255b92e75687bd0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 10:40:07 2007 +0200

    Use size_t for sizes.

commit 5a909969fd24315832487a5386e074e88031afcb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 10:38:36 2007 +0200

    Fix doxygen comments.

commit 4f7db64d7c1a2c0bfbe07a40925e9b76b3e9851c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 10:37:55 2007 +0200

    Add HAVE_DOT.

commit d14cb3bd16755d9e2545290aa87440c51c4cd7b4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 09:36:12 2007 +0200

    Fix doxygen commands.

commit cc4754e7641578c9bd970615695f9d15200aa1cb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 08:13:33 2007 +0200

    Adjust broken \file.

commit a3cf72167f9a59a09b0b5e6ee9ba81b1173017ba
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 08:03:37 2007 +0200

    Remove refs to tools/rpmxp.c, tools/rpmxml.c, tools/rpmtool.c.

commit 55ba0d5b84cf8c22df69e4d7b24addf1d423af4c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 08:02:53 2007 +0200

    Remove refs to lib/rpmsx.*

commit f7c95206fd6a051dd210af7a3a359df2e897f1f5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:48:56 2007 +0200

    Remove refs to "popt/".

commit 7d3b29301165ed57a85ce5a6e74d301328222f49
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:48:20 2007 +0200

    Remove refs to "file/src".

commit 5d45e150766c4f6103451392d0fed5e9d0e31e21
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:46:51 2007 +0200

    doxygen -u.

commit 32c98f766e3c4d98245679c94473a1cafed01f89
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:21:20 2007 +0200

    Fix minor typo.

commit 4d5be35b6a907c2c2523075165fb7e3eb96b53cd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:11:33 2007 +0200

    Add __fdFileno, fdFileno.

commit dfc6fae6be0ed51c49d694887e1acda8662307be
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:11:02 2007 +0200

    Remove fdFileno.

commit d4bea657c402a67a3ab2104c9ed1ae93314f3441
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Oct 5 07:10:36 2007 +0200

    Make fdFileno an external function.

commit 4fa0c255494a535780b98d7877657aa187080fde
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 4 09:23:50 2007 +0200

    Change strntoul to using size_t for sizes.

commit 6d77a00e54d32d3543f71df7d46408cd553cb4f5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 4 09:18:16 2007 +0200

    Include rpmts.h instead of depends.c.

commit 9cf8f9c31ad81d45cd206bad5df98fc8b75a5333
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Oct 4 08:55:07 2007 +0200

    Stop checking for machine/types.h (Private header of some OSes not supposed to be used).

commit 70ed33417d1d122bfc434d106824a9035dea9463
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Oct 3 08:57:54 2007 +0300

    Small cronjob fixes (rhbz#315271)
    - create cronjob temp file in target directory to ensure corrent
      selinux context (rhbz#315271)
    - dont leave empty files around in case of failure

commit 249dad1475e08ba86f911f722a0421771ceb30ce
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Oct 3 05:07:12 2007 +0200

    Remove $dirs (unused).

commit 67e8f946fef1be13dbfdf6040a9604baa6e8dd4f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 1 18:44:29 2007 +0200

    Fix minor typo.

commit 8c7b929a14cc7118b7eb046bc2b5bc184b7c2f06
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Oct 1 14:29:10 2007 +0300

    Never glob non-local paths in rpmGlob()

commit 343effc65f1b388abe4f3a68af10a27f34b4feb5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 1 13:17:15 2007 +0200

    Remove (unused).

commit 6e4e9c751635cac3f79f1bf873cd922d1f10d82a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Oct 1 12:58:32 2007 +0200

    Remove AC_CHECK_HEADERS(thread.h).
    Remove duplicate check for pthread.h.

commit ea2a8068cd8f974b10e8db56bdfd93b36dd199c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 14:11:00 2007 +0300

    Add %alpha arch macro for supported alpha cpus (rhbz#295941)

commit 4bef9fd8b3826551f06911c99abb0dfe5061806b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 12:28:30 2007 +0300

    Own omf directories found by find-lang (rhbz#296731)

commit c8e421400c007442646af2979a8d622319c5d30d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 27 10:37:19 2007 +0300

    Fix disk space checking when zero blocks / inodes are available (rhbz#308171)
    
    When installing a rpm that requires space on a filesystem with 0 blocks free,
    rpm will not detect that there is insufficient space on the filesystem.
    
    Patch from Patrick Bergamin

commit 7c1a960aaea9fcdf5346844069eee9daae66d58b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 11:29:53 2007 +0300

    Remove the deprecated rpmlead definitions from public headers

commit 39072f5ee4e2f8d1314fc7d9e81b01c88a263bf6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 10:40:02 2007 +0300

    Avoid unnecessary rpmps internals access

commit 610306fb528b48ce2077b85f0fe90512ef79cc55
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 09:57:26 2007 +0300

    Rename whatis() to rpmfiWhatis() for namespacing

commit 0ddf824afb647b620400dba8172fa4ca7ee1690b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 26 09:52:55 2007 +0300

    Eliminate some unnecessary rpmte-internal accesses in psm

commit d16bdb1550c3c3c13a40ad9cb6869564a6abbc38
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 25 22:46:02 2007 +0300

    Hide rpmfc structure internals from the API

commit b813710a4ca26743291cbdbbb3831d5a3e103356
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Sep 22 07:58:56 2007 +0200

    Take out __FILE__, __LINE__ from DBGREFS.

commit cb076959008f3b50abac3747b1b1bad2be2c8e6b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Sep 22 04:14:07 2007 +0200

    Add missing extern "C".

commit 07e383ce0d9a8beeec36e9aed66a2017e95dfcb6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 17:02:45 2007 +0200

    Add fdLink, fdFree, fdNew functions.

commit 0e3ce6c9a8f5d658ae5ef57e9aca1f3c0fc55b9f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 17:02:33 2007 +0200

    Remove fdLink, fdFree, fdNew defines.

commit 273ddaf0a95f01f68dd2d0df61ec1f466884d3d3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:51:15 2007 +0200

    Remove fdClose, fdOpen, fdRead, fdWrite defines.

commit 868ff87bc0ac8adbff6629e91111e79c49553c91
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:50:59 2007 +0200

    Add fdClose, fdOpen, fdRead, fdWrite functions.

commit e152864a768c7cd81479b43e15f4f2cb340e0910
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:22:23 2007 +0200

    Eliminate fdClose/__fdClose preprocessor games.

commit 14a28ee82db5ce0293519ed3a13627c560812aad
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:20:52 2007 +0200

    Eliminate fdWrite/__fdWrite preprocessor games.

commit 9b929ba2941d1f4849f9ec92f8acb877adf788ea
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:10:32 2007 +0200

    Eliminate fdRead/__fdRead preprocessor games.

commit 9ed70bbbc0315bb103c2c2fed6fa88a1d40dce3b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 16:08:39 2007 +0200

    Eliminate fdOpen/__fdOpen preprocessor games.

commit 9456c927a4fb4dca29fcbea84cb6727bf7b0bbb9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 16:11:48 2007 +0300

    Hide rpmtag index details from the api
    - move rpmTagGet*() out of line from rpmlib.h to tagnames.c
    - move headerTagIndices_s from header.h into tagnames.c

commit 3a26a31576ea482c6c6e06b6cc685c2e57d47177
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 15:58:50 2007 +0300

    Fixup after Spec -> rpmSpec

commit 2c2538d7260baf0eae36d5ee07ddbfffc20044d9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 15:23:02 2007 +0300

    Rename Spec -> rpmSpec for namespacing

commit 0a16dadffc398617de3f4d0b6d45e4f017e19b9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 15:19:47 2007 +0300

    Oops, remove, not ifdef out..

commit 7e5099e52fe90a054a6b1bdf45265e7185233a1e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 15:17:08 2007 +0300

    Rename alKey & alNum to rpmal* for namespacing
    Also move it out of rpmlib.h, nothing needs it there...

commit cd5956633eeaf6b27f026726991a9a20d28ad7ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 13:09:18 2007 +0300

    Silence compiler whining from bad popt argv definition

commit 1517b852b4ea8baca9d64f3d956f0fee5d0d93dc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 13:02:55 2007 +0300

    Unexport FSM(I) typedefs, only usable within rpm

commit bb5d450d229146026ebd7789d67d6ac8448201e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 12:47:45 2007 +0300

    Unexport rpmpms typedef, nothing outside rpm can use it anyway

commit 91a2f856c8c428993d80e1fe24ae9656dc5596a1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 21 09:58:46 2007 +0300

    Remove unused proof-of-concept arch-filtering of dependencies

commit 97f6e790bbea6154fda27fcd733f1e2c8812f0c5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 21 05:59:26 2007 +0200

    Add another HAVE_ZLIB_H conditional.

commit 81745883980a8089655e0b3f8503e82c94847d23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 17:37:39 2007 +0300

    Rip out unused anaconda-related hacks

commit c0149602a60e21d82b2564daee06a6b43b1f671a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 16:19:25 2007 +0300

    Rename public fileAction* type to rpmFileAction for namespacing

commit a5aa5ffce8ab5a5eb27f2f021b5affd60a2e518b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 16:12:46 2007 +0300

    TODO reminder about compat headers

commit e1b4af366ac5f71d1696615502013d028604755e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 14:57:04 2007 +0200

    Remove checks for synch.h, semaphore.h, aio.h (unused).

commit 83f09475869d7f86568b897719521be3a3b47365
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 15:52:03 2007 +0300

    Rename MacroContext and -Entry to rpmMacro* for namespacing

commit 48f4ff6583f09a12d539072e1337c40c92161ee3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 14:45:40 2007 +0200

    Make zlib conditional.

commit 154a7f7603dca24ee56d66f3ca6b2b2757f29cd9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 15:37:48 2007 +0300

    Move _free() into system.h for now
    - get rid of dozen _free() definitions
    - get _free() out of public headers

commit e53ceb6706125bead8630ba52f232c792ca1fdae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 15:27:07 2007 +0300

    Rename fileTypes(_e) to rpmFileTypes for namespacing

commit a6e75c7595b64736d2a449c6d0191439c13abc85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 15:22:59 2007 +0300

    Rename freeFilesystems() to rpmFreeFilesystems() for namespacing

commit 3b8da4ed118c6da6dab1cb7c0ecd0933c6d14f14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 15:09:52 2007 +0300

    Rename tagName/Value/Type() to rpmTagGet*()
    - namespacing
    - avoid collisions with tagtype definitions

commit bbf7574d7f368e8d11600b54dfd24a0dafd555fb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 14:39:24 2007 +0300

    Match hardcoded _query_all_fmt default with current macro default

commit 55b7c431c44ee968b502d80c20af0f9a602b8225
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 14:33:35 2007 +0300

    Move rpmInstall/EraseInterfaceFlags to rpmcli.h

commit f65d670f023616f472f4451c08f5e3ee298a9ddc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 13:23:58 2007 +0300

    Remove the "dressed" rpmHeaderGetEntry() from API
    - only used by the python bindings, move it there...

commit 4df06c5df7dadab2baa85d80522044da9dbe5733
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 12:19:34 2007 +0300

    Conditionalize rpmlib(PayloadIsBzip2) provide on HAVE_BZLIB_H

commit ae40a9001426e6f8fd17a0e00d1d63550dc7fca9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 20 12:18:22 2007 +0300

    Remove unnecessary include

commit 7cd1cf99412e76e10d072eae82bd608cc1e76c24
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 10:37:48 2007 +0200

    Conditionalize zlib conditional pieces of code on HAVE_ZLIB_H.

commit 8fa3c5becf6f417c1a01fe878f5548d7d3bf2292
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 07:36:41 2007 +0200

    Remove splint remnants.

commit 7871bb4547564297c26bd44a7a14759843d881c4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 06:53:59 2007 +0200

    Add dependency on libbz2.

commit 2d157c07f032b2ec97b26c919f1b182bd3123ec7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 20 06:53:19 2007 +0200

    Tighten check for libbz2.

commit f04137f591d7dae368c9a1280613aa941a66fbcf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 17:38:33 2007 +0300

    Dead code removal
    All packages have provide their own name = ver-rel, checking deps against
    provides is sufficient, name doesn't need separate handling.

commit d76bef815fce0d29024b9356ec3b615d2caae2f5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 17:32:29 2007 +0300

    Remove long since dead rpmrc provides code

commit 472167d7a89d32b576f434914e91ed6712708bae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 16:51:32 2007 +0300

    Remove ancient RH-comment

commit a9d59cc2adb5acc9b70b103f9a228a1a94560c9d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 16:49:41 2007 +0300

    Remove --redhatprovides / --redhatrequires popt aliases
    - highly vendor specific
    - not even RH uses them anymore..

commit 19f8c80d56e2fc3c999e4437294faba7a3cefd38
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 19 15:03:39 2007 +0200

    Adjust pktlen to pgpReadPkt's expectations.

commit 88b0e2c09334f32f869d86c5f8698668064f518a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 19 15:02:40 2007 +0200

    Cosmetics.

commit 4f222fef8fe09aacf8e87aaa36e50eb2becd94c8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 19 13:59:05 2007 +0300

    Remove db-internals from rpmts
    - api for getting db ops out of rpmdb
    - api for setting chrootdone of rpmdb
    - replace db internal accesses with api uses

commit fa1f65cef6f20ebe544306e8663dcb4a886168c9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 19 05:32:03 2007 +0200

    Rename --with-internal-db into --with-external-db.
    Add AC_ARG_WITH(external_db).

commit 211a30a615f4b3a85a70e30be401d0e60f61b94e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 19 05:15:57 2007 +0200

    Remove NPTL games.

commit 18e62fe8eb332b6febdca2296f7cff806b157e6e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 19 05:13:13 2007 +0200

    Move EXTRA_DIST out of PYTHON block.
    Move system.h into *_SOURCES.

commit 6503abadc9a50522a220d5ce340e3d523d356131
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 19:18:09 2007 +0200

    Add check for db_threadid_t in db.h.

commit 618333608f427980507db0e3eeb534e89754a964
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 19:04:34 2007 +0200

    Build db3isalive only if it is being used.

commit 5e1b759552716f6afb7819c7fd011d697f42f650
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 14:59:22 2007 +0200

    Rename BZIP2BIN->__BZIP2.
    Rename GZIPBIN->__GZIP.
    Rename UNZIPBIN->__UNZIP.

commit eacf1841db81c1e64577f66e3619daf0c4baadf7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 14:55:58 2007 +0200

    Rename BZIP2BIN->__BZIP2.
    Rename GZIPBIN->__GZIP.
    Rename UNZIPBIN->__UNZIP.

commit 4f250b5c36233fc3e598fa1e419f983a08d58de2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 12:44:29 2007 +0200

    Remove WITH_POPT (Unused).

commit c89c1481eb6f2fd045f98e09010635698225abcc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 12:41:47 2007 +0200

    s/libary/library/

commit a0558abcf2b07c0b46a9ab52bef047dd30209b69
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 10:49:20 2007 +0200

    Fix ancient typo.

commit b46e405e40d0dc110d670ba76aac63238fc656e0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 18 11:36:17 2007 +0300

    Use rpmquery instead of rpm for --querytags check to avoid popt aliasing issues

commit 2607d282e7cc90c2f0b1932cb3f940921ab13b5f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 08:09:43 2007 +0200

    Invert logic to setup WITH_INTERNAL_DB.

commit af4ba121d8457ac5282508ddec195ff3297fbeae
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 07:38:50 2007 +0200

    Fix typo in previous patch.

commit 1cf3cb513951105c5a4259c788f54644327c66da
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 06:40:16 2007 +0200

    Append @WITH_DB_LIB@ to Libs.private.

commit 01899614bdc055903e8c2a8cb07e2fdb94f9c9a0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 06:39:31 2007 +0200

    Reorganize *_DATA creation.

commit b9bd1303f6a5b3e3f6f6c8d2e5c0cf94b9625c2e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 06:19:57 2007 +0200

    Include fts.h.

commit 79abda764e23685c3e9b47643d3eafd3dc561aa3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 06:04:07 2007 +0200

    Remove.

commit 71f0cce9f9ffe70a849d9c0739c9632f8a90cd19
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 06:03:33 2007 +0200

    Remove.

commit 90688278db31b05a56ca1e7c29cc71d38ce28ff3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 05:53:37 2007 +0200

    Change main() to using char *argv[].

commit f2a250702a4d4f2735cacffef033ad8b6e3062d1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 05:01:45 2007 +0200

    Add preliminary --with/without-internal-db processing.

commit de4fc157baf037c091e7ff5a35ccd3339013c870
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 04:23:21 2007 +0200

    Conditionally build db3.
    Add DIST_SUBDIRS.

commit b5e01099e723f75f937605ccc928f1957301ba0d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 18 03:22:16 2007 +0200

    Regenerate.

commit 7bf56f58295b6ee19f3896b726f6a7e3435af446
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 17:58:29 2007 +0200

    Eliminate WITH_DB_SUBDIR.

commit 6394b2a2e9314af0909e49323fe0012b549be29d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 17:53:47 2007 +0200

    Add db.h to nodist_librpmdb_la_SOURCES.
    Eliminate WITH_DB_SUBDIR.

commit 5bb02c33a92956f695d8f4e5bd8271e825d2a531
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 17:54:51 2007 +0300

    Include rpmts.h, not depends.c (!)

commit 006f6c710bf084ad1080cbaac94c217d307d1a20
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 16:52:34 2007 +0200

    Don't install db.h.
    Move db.h to librpmdb_la_SOURCES.

commit a002ceebac6cd2642de6daf9d986efc179cb7f5a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 17:20:11 2007 +0300

    Make fts.h a private header

commit ed55d4e033f62157275daafb1ec1a7b6a39d5dfe
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 15:02:07 2007 +0200

    Remove db_emu.h.
    > Remove stray EXTRA_DIST.

commit 8e4f309c310aef69f128349a2d01749dc83c1f4d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 15:01:27 2007 +0200

    Remove (Unused).

commit 37e6caf2dc1023abcdfc781c2c72c4683e1512f3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 14:27:43 2007 +0200

    Add support for extern BDB.

commit 47257ec9e84106fb7132945aef614f6b4f54e1a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 15:15:03 2007 +0300

    misc.h is a private header
    - include it from build/*.c where needed
    - dont install

commit 8a055b3cb36f7aa682fe7c80f7b32c530dcf03ef
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 14:14:05 2007 +0200

    Reorganize.

commit adbab387377cdfba261229650cb6189fa5a257c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:50:25 2007 +0300

    ugid.h is private header really

commit d7838b77735fefb17a626f5b7f46c000122992a3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:43:32 2007 +0300

    More typos, doh...

commit 08a47f7472df4492f72b6a5a9d7b85b5e2beb868
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:42:18 2007 +0300

    Typo..

commit f35edd40321c2072ae5e4bcf81e6c63f1338e151
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 14:41:22 2007 +0300

    Use rpmtsGetRdb() instead of poking ts internals

commit f4296e723b14c6ed1831efddbf93204160dd80e7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 13:45:39 2007 +0300

    rpmhash is an internal header really

commit 174c83b4881ee5cea8862a549df5588b87abdea9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 13:31:11 2007 +0300

    Mergesort is internal details..

commit b390d800193f87c246475cfe5c427a142ac10532
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 13:26:22 2007 +0300

    Make sqlite backend build again.

commit 66dcee4a67caea7c1d144ffab1717efe90613c73
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 13:17:07 2007 +0300

    Hide db index handling and rpmdb details from the API to internal header

commit ae3127c0f2cc74f5b662ec8414c231662f0df592
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 11:33:18 2007 +0200

    Add with_internal_db.

commit 2975d9b63b650103f8994a5bd2e5ae00b6980314
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 11:29:52 2007 +0200

    Apply poptReadDefaultConfig iff RPM_USES_POPTREADDEFAULTCONFIG is set.

commit 7484efff8e9a338e6b662c4867a5093969c75892
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 11:28:27 2007 +0200

    Apply poptReadDefaultConfig iff RPM_USES_POPTREADDEFAULTCONFIG is set.

commit 53d8adadd34f94ff94121531ab8d720aac7aaa17
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 11:59:45 2007 +0300

    Oops, unbreak file opens..

commit b2517d99673d574ea75264b910571e9f7e6ce7c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 10:45:42 2007 +0300

    Remove unneeded socket/inet includes

commit cc68353128ea704bae581811583fe98969e1a0f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 10:31:18 2007 +0300

    Remove url caching, don't need it...

commit c07bda47cff8e854ca220d1d49d9ae28f83006a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 09:48:08 2007 +0300

    Remove url/transport items from rpmio file handle structs and uses

commit 94e953382dc4b470dbdfe8a3e847924a10d6b5ac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 17 09:32:25 2007 +0300

    Remove transport-related items from urlinfo and uses

commit be53bc654c0bec15da8f253ad3664285753807a4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 05:52:29 2007 +0200

    Remove (Dead, unused).

commit 68c30501ea89bdd7d015db85b9532c59e3818e8f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 05:51:34 2007 +0200

    Remove (Dead, unused).

commit 826e49f5d9a5095a53fc5216048983483b4be1e7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 04:32:23 2007 +0200

    Rename options into optionsTable for source-code consistency.

commit c72ad4dca58421486e1462b3b079dd55293dab6a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 04:31:28 2007 +0200

    Reformat call to poptGetContext for better source-code readability.

commit 0cde26ecde1e384d3c8c8c3ae3c7f764b52747e0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 04:11:59 2007 +0200

    Add if defined(ENABLE_NLS) guards around i18n-initialization.

commit 05088ee6db16aba98ca305eb034bb90be7348fca
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 17 04:11:39 2007 +0200

    Add if defined(ENABLE_NLS) guards around i18n-initialization.

commit fcbe2c86ef008ca58dbc0149f880b1e4a2eb7213
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Sep 15 08:07:15 2007 +0200

    Remove unused var "selected"

commit af121321501f917e1f2ae8c57fd95a9628859be8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 14 13:14:43 2007 +0200

    Kick unused defines.

commit ff599b55162d39c78cabac070f0f4cb6aaaad3c5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 14 13:14:09 2007 +0200

    Fix typo in doxy-comment.

commit 91a33fbdc56bca5330fc232a9bbda485f244746e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 14 05:21:39 2007 +0200

    Move generating rpmpopt-@VERSION@ from configure into Makefile.

commit ede9e902729b0ef56e853c63efa0c63c8c2f3458
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 14 05:09:17 2007 +0200

    Move generating rpm.pc from configure into Makefile.

commit 48fbe1b4c148bac646841de164a0d1c51f44dd0a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 14 04:55:19 2007 +0200

    Remove @WITH_NEON_LIB@.

commit df1b72d3af290d3d15d0501f2a116f685aee3c0c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 13 14:51:46 2007 +0200

    Process platform in Makefile instead of configure.

commit a019b8bf9670eb1d5b374defa646a32b47a0e097
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 13 14:49:35 2007 +0200

    Move handing scripts/gendiff from scripts/Makefile.am to Makefile.am

commit 0138937d1d06dba083ed47382d8ca1223a9d825b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 15:09:47 2007 +0300

    Remove support for BDB < 4.1

commit 305632b9574a6a4a56906cca4b588cc6d82cd5cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 14:50:45 2007 +0300

    Remove dead code

commit 6e14a001938d7245b1f288d183f51cefe18fdf9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 14:48:50 2007 +0300

    Stale lock removal on BDB >= 4.5.x

commit 26aa538d2600085680012538025ca6387964fde0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 13 12:47:43 2007 +0300

    Remove db3 "annotate me" comments

commit 36ec63896eba02fbed5e6882b7f3f592456b800b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 14:54:48 2007 +0200

    For the moment, allow the testsuite to fail.

commit c98e35c9767d32685484def02ae21c9d5fbdf0c9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 14:54:04 2007 +0200

    Rebuild with updated spec.

commit 8a81b4a9af27747cf8687dd5d336f0446fc33f53
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 14:52:40 2007 +0200

    Adjust BuildRoot.

commit d974ed0136e52ef4c4f7e1ed7fc312f8a2a2345d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 12:42:59 2007 +0200

    Add __CURL.

commit 0eb731f01b5e9dd9e5be42bac9d9c32ab255f1e2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 12:12:59 2007 +0200

    Update.

commit e1c33ad52fe25dc6b4a560ad84da1fd4accb9965
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 12:06:38 2007 +0200

    Remove rpmio/rpmdav.c

commit 07c9cac938a6b5e8c41bf8afa92180c9ffd5b90c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 11:31:17 2007 +0200

    Fix indentation of --enable-python.

commit f2541835c5343582ca7b5e163c367e529a5ae944
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 11:30:39 2007 +0200

    Adjust several *_LDADDs

commit 9f325855d74db499159773427a0965c93c822b72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 12:23:55 2007 +0300

    Rip out internal http and ftp transports.

commit fb7433b3648a82a4ef8229f6254dac3d5b95cce0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 10:56:37 2007 +0200

    Merge tools/Makefile.am into Makefile.am

commit 65012c42534f9dca99655f56c26c5ba34e0f32a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 11:51:52 2007 +0300

    Use configurable helper application to deal with urls.
    - hijack ufdOpen() operation to call an external helper (if configured)
      to fetch any remote url's, return fd to local temporary file

commit d36716c25cde44c3aa9d96e75424b1ae46e6608d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 10:55:55 2007 +0300

    Remove NEON and related hacks

commit d2d4dae1add3e5e48810baf2524f8bd01cb6e02c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 09:34:31 2007 +0200

    Formating cleanup.

commit 56fc5ee3406b110bdf9e041b8df37afc7716562d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 10:11:06 2007 +0300

    Remove now unused DAV RPC code.

commit 142cbc590662d3a90ab3ffc2a20cbc8f1e16dcf3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 09:10:06 2007 +0200

    Cleanup. Regenerate.

commit d70d21b878fc31a59c80ba2a3be4ed3fadda2ad9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 09:05:35 2007 +0200

    Remove splint annotation from getdate.c.

commit d7c9ba442581f3ee703928b018180c4b078b77a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 09:45:11 2007 +0300

    Remove now unused FTP RPC code.

commit cf9d90aedbdb1325aaa030f9fa62180f5d5f64a9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 12 09:38:04 2007 +0300

    Only deal with local files in "rpc"

commit cfe8875a0f9f15b8402eeaf71c54152d2766a075
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 08:23:51 2007 +0200

    Reduce minimum python version to 2.3.

commit 2ff6e07f502f44f46e506616145d9d975e3d2075
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 01:21:13 2007 +0200

    Reduce minimum python version to 2.4.

commit 37b193419c54124db9fb07d5b6efa5aa7938e914
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 12 01:18:29 2007 +0200

    locally define Py_ssize_t and lenfunc for python < 2.5

commit 65cbae7709bad0021182e2ba2b35c6c356e15ab5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 23:26:22 2007 +0200

    Remove splint tags.

commit 9f914c252453628999e72018354e95310f10f4a9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 23:22:45 2007 +0200

    Remove (Unused).

commit a1eb1f41d91572fc0ad4f8805d946c8bdbdb8d2a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 23:20:16 2007 +0200

    Remove splint tags.

commit 32419bbba54b1e3847d5890d990edf7012a7dada
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 23:03:27 2007 +0200

    Remove splint tags.

commit e9f3a5c89df5b5509ac520d03d516b9f33b270fd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 19:23:32 2007 +0200

    Remove splint tags.

commit ebef4f211c1f3b4392530eb1a5889aa13345893e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 19:07:39 2007 +0200

    Remove splint tags.

commit a5a65af57e0c21837c6c71b0979473c51c3a2202
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 19:04:11 2007 +0200

    Remove splint tags.

commit 1b00a42ee2b37a4a6fdbf038f2e40129d1ef0546
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 18:39:35 2007 +0200

    Remove splint tags in tagtbl.c generation magic.

commit 60ac36429557d14e0962e926efdc06b29dd9818a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 18:37:03 2007 +0200

    Remove splint tags.

commit bbf4703c5e7e3e98e92a2eb0960fc39a66c3b382
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 16:56:09 2007 +0200

    Remove splint tag magic.

commit f982bbaa79b0038bc1b4f9f9d419361a63c2b284
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 16:48:54 2007 +0200

    Remove splint tags.

commit 1a01bdd6c6785e3e3d99894bf4219a60b1fc8c9a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 16:17:16 2007 +0200

    Remove splint tags.

commit 3aad15624eeefcca56051a2d595f9924a15f80b2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 15:28:26 2007 +0200

    Remove split tags.

commit e08619c323915f7e22b8d3bb9c57606ce824d778
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 11:32:24 2007 +0200

    Remove rpmtool, rpmxml etc.

commit 22bafd7430674df63019663ef62762565efd7811
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 11:32:05 2007 +0200

    Remove libxml.

commit f1b020f8c43904040eab5a5a6d148b09e2b760d3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 11:29:10 2007 +0200

    Remove (Abandoned).

commit f69f0b7a8f9c3d47ce3787d2d28c9994107e7795
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 10:38:46 2007 +0200

    Add subdir-objects.

commit 8b96f09bb85ebef939fa0e67a438a3ca87ce3af3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 09:49:54 2007 +0200

    Move debugedit from tools/Makefile.am to Makefile.am.

commit 2ef2ca1f29b5e6a27b545142d8881f822efe02d9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 09:46:48 2007 +0200

    Move rpmgraph from tools/Makefile.am to Makefile.am.

commit 9eedec6036f6bd8219bc90aa71305a0127649c4c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 09:13:19 2007 +0300

    rpmtsAddInstallElement() consistency (rhbz#180996, rhbz#281611)
    Don't error out if the same (or older) package is attempted to add to the
    transaction, only warn (because we can handle it)

commit e1e43cefedad0f1aea0bc1476a891d72c4b2295c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 11 09:01:19 2007 +0300

    Fake callbacks on erasure for packages without files (rhbz#259961)

commit 39e601dac901f82c6ba5c2474bec7bbd3b69b3e4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 02:46:51 2007 +0200

    Use _LDADD instead of _LDFLAGS.
    Remove commented out _LDFLAGS.

commit b2578d6c8120114e0f2732317e06e9da5f3611fc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 02:33:56 2007 +0200

    Use _LDADD instead of _LDFLAGS.
    Remove commented out _LDFLAGS.

commit eb33fb5100c6370c3ec4a5f86277c2422b84968c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 01:00:04 2007 +0200

    Use _LDADD instead of _LDFLAGS.
    Remove unused *_LDFLAGS.

commit 798d7c681dce5b53aacea5380b8608e9720c0bc6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 11 00:55:05 2007 +0200

    Move scripts/find-debuginfo.sh to Makefile.am.

commit cf865f132791b97cd564828b23da8355bd4e6d66
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 22:24:25 2007 +0200

    Require python >= 2.5.

commit f7771b68e2bb206f7e3224b452cc5e3fd5f11978
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 16:05:48 2007 +0200

    Move db.h to nodist_pkginc_HEADERS.

commit d80d4dedf14c56c6a3c482ddedada2878b99922f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 12:51:09 2007 +0200

    Eliminate pyincdir, pylibdir, pyrpmdir.
    Install into pkgpyexecdir.

commit c5ffd9805e598d2e069adf196d4e9bb0ae5484a9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 12:49:51 2007 +0200

    Split host-python (__PYTHON), from build-python.
    Abandon --with-python.
    Add --enable-python.
    Rework python check to use AM_PATH_PYTHON.

commit 68ad53a8ff357ec5e62aa77be25b3d44d66a9bba
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 10:55:17 2007 +0200

    Include misc.h.

commit a5ce6c43c8922a53086313bf24834d06c73c117e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 10:45:44 2007 +0200

    Eliminate noinst_HEADERS. Cleanup

commit ea253c1e514c959fda1d04ed2229026bd1bc0634
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 10:31:37 2007 +0200

    Eliminate noinst_HEADERS.

commit b3f95ce02abdd489669006b4fbea87ed5d4eff03
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 10:29:55 2007 +0200

    Eliminate noinst_HEADERS.

commit 944a88df8103e259d586e8e269f687aa5c82351d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 10:28:38 2007 +0200

    Eliminate noinst_HEADERS.

commit 4d0051012437330f3a9807516cf2e71fe912b701
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 07:11:54 2007 +0200

    Add AC_DISABLE_STATIC.

commit c5b898889650df5fc82446396829d6a10350d95b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 10 05:43:57 2007 +0200

    Add missing backslash.

commit 6ea6e02bdfebe63be388b195a6e1fb1259ad0aae
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 12:09:11 2007 +0300

    Fix installplatform now that rpmrc no longer contains macrofiles

commit dc068759d67a5bfffc38ec81523916b06e03ef8b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 7 09:17:34 2007 +0200

    Uninstall the symlinks.

commit 3d64e6c805325217c751e46c4d562bc054549936
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 10:07:17 2007 +0300

    Erm, doh...
    
    Backed out changeset be79b0491693

commit 47122e9634fb09ff19efe319f6a3fbf64c8be630
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Sep 7 10:01:55 2007 +0300

    Handle no spec in tarball cleanly (rhbz#281391)

commit d26d1cf01b328ee6ec9c66554ef5b0bd65edabfa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Sep 7 02:20:37 2007 +0200

    Let $(pkgsrcdir)/{RPMS,SRPMS,SPECS,SOURCES,BUILD} be installed by automake rules.

commit 864638ed84e8f9e2932d73edb55744ffdf580be5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 19:18:09 2007 +0200

    Make ChangeLog a non-PHONY target.
    Don't remove ChangeLog in distclean.
    Remove ChangeLog in maintainer-clean.

commit 0f8bcbdf60594614c2709bd37a2016ce829a7e1a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 19:12:15 2007 +0200

    Regenerate. Cleanup.

commit b1c645c2c125e7f3c19da1203000aaeb8b33c304
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 19:06:26 2007 +0200

    Remove lib/rpmsx.c.

commit a892b302382b936f49dd780410906a87537ac735
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 18:50:00 2007 +0200

    Add missing backslash.

commit a22290f7460436b6f4dc3ff8d6408923a060a601
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 09:39:01 2007 +0200

    Split install-exec-hook out of install-data-local:-block.

commit 1fc165f79f36cffe28afbb47c435ee7a4526ef7f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 09:27:06 2007 +0200

    Fix typo in yesterday's patch.

commit 1bf45c5285c403d05f12c82d2aedc69ed3897f76
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Sep 6 09:03:54 2007 +0200

    Remove superfluous ";" breaking directory creation.

commit 2e9586ad93e717001e01ca9ad9477bf026bf3870
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Sep 6 08:19:03 2007 +0300

    Add OSGi dependency extractor script from Kyu Lee

commit 3448bd7328ad310f781f72c031dc1a92d0d8f31e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 17:21:11 2007 +0300

    Typo fix in file classification

commit 3ba25ca3991d480d845b0f36911e0ba4c6361edb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 16:11:04 2007 +0300

    Add Sparc Niagara support (rhbz#263521)
    Patch from Dennis Gilmore.

commit dc6d8119880e10631a5dba29019d036a146bfdcb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 15:21:43 2007 +0300

    Fix a bunch of whitespace-in-files issues in find-debuginfo

commit 06dad24cbada19fe5d6897d44ca3825ac894469a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 15:00:59 2007 +0300

    New find-debuginfo script from Roland McGrath
    - new options for using -g on DSO's
    - support for multiple output files (multiple debuginfo subpackages)
    - build ID support
    - symlink and hardlink support
    - new macro to optionally terminate build on missing build id's

commit 466df80338fdae61367369b45bea2b0d508261d3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 13:43:57 2007 +0300

    Handle mire matching against binary blobs (rhbz#277161)
    - convert blob to hex string, miregexec() against that
    - use tagType() to determine if header data needs freeing

commit c30b41cfe9475860db231c2a03fe2becaf90c4b2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 13:43:09 2007 +0300

    Make formatValue() use the bin2hex helper.

commit 1a2426fec6419856211d745ba167cea53befacfd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 13:42:25 2007 +0300

    Internal helper function for converting binary blobs to hex strings.

commit 58481133903041e14755434ad60260ed69bd0ad5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 13:41:13 2007 +0300

    Fix false mire matches on nonexistent headers.

commit 9987a145637d797da1e2f50ba0472212630e4fa3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Sep 5 13:40:49 2007 +0300

    Nuke RHL 5.2 specific hack.

commit 86f55ae4099744cbebb920586901af1351b9446b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 12:11:09 2007 +0200

    Fix indentation.

commit 38ec147d0ba7a8b80826214edb80b65ab7843944
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 12:09:45 2007 +0200

    Generate scripts/macros.perl, scripts/macros.php, scripts/macros.python from inside of scripts/Makefile.am.

commit f544c1b12bb5428300cd72b152f2ad5108a687bd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 11:47:40 2007 +0200

    Cleanup.

commit 9b2f6a58a6e23412ff6dfd1114bb36f2770abd74
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 11:45:21 2007 +0200

    Remove CVS-Id.

commit 946cd131a8db7072a65558b802dfa7bb51911ad9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 11:43:38 2007 +0200

    Include rpm.am.
    Reflect having introduced rpmconfigdir/rpmlibexecdir.

commit df00864451b32f8d13217b55b529d4ef2ca37dca
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 10:45:46 2007 +0200

    Install into rpmlibexecdir and rpmconfigdir.

commit 1d06ce6a844f38e03d040320263b4fd379a9ddef
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 10:41:55 2007 +0200

    Include rpm.am.

commit c544a9579a48d242ca937dff670e10fa467817e3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 10:39:57 2007 +0200

    New.

commit db5db696658cddce8c6d6025c91cc96198eb3083
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 09:57:12 2007 +0200

    Don't AC_DEFINE(RPMCONFIGDIR).

commit 15996b48e45fc91db8df21a6a80ecd0082b32092
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 09:45:31 2007 +0200

    Add convertdb1 to check_PROGRAMS.

commit 1ea9ec21b53e84330cd31f32e37aafd3c48e718a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 09:41:15 2007 +0200

    Remove compressFilelist, use version in librpmdb instead.
    Remove unused dncmp.

commit a6bfea129d499d857c033e6f013eeade4c3fede1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 09:30:32 2007 +0200

    Add RPMCONFIGDIR to lua_lua_CPPFLAGS.

commit 1a8008bcd936ceb9934f50a66b33e2ab72b0e45f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 07:52:26 2007 +0200

    Add datarootdir.

commit ca572a634c19e2436b943d0d3b83c9b836096f8d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 07:32:23 2007 +0200

    Install find-debuginfo.sh iff debugedit is being built.

commit f1d3c6e24b8d5e83796f78475bd50a71d4533088
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 07:19:03 2007 +0200

    Cleanup call to installplatform.

commit 277cf2f42044be3c3b81bd6d60cc18963e63b1a0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Sep 5 07:08:11 2007 +0200

    Remove little useful comments.

commit ef22a17b783f82cfba4cf1ef1a767675a1070026
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 16:33:47 2007 +0200

    Minor warning fixes.

commit 513b1bb590b310ed427e9cfca7f8e179a9c4a756
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 15:19:48 2007 +0200

    Eliminate VENDORRPMRC_FILENAME.

commit 2671d4cc05a699432b0c5bfd9ffd1eae557f8f68
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 15:19:29 2007 +0200

    AC_DEFINE(RPMCANONVENDOR).
    Remove VENDORRPMRC_FILENAME.

commit a079d14651bfb4e3adbe73f641af94c612cb6e18
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 14:30:01 2007 +0200

    #include <popt.h> instead of "popt.h".

commit 05f96178f1d824db383495c8a334440a2322919f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 14:19:18 2007 +0200

    Remove selinux autodetection.
    Rely on --with/--without-selinux.

commit 2dfdf33eef0efb35dfa773063d9863eb5e6cddf9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 13:58:11 2007 +0300

    Fix build and a few compiler warnings with --with-neon

commit 7d9e2c4f30b0247b1f18f6be8196612600f3bc49
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 12:03:18 2007 +0200

    Add httpTimeoutSecs for WITH_NEON.

commit a55cbae783e4413f10df04495668272126a1e6cc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 12:02:35 2007 +0200

    Add db.h to BUILT_SOURCES.

commit 00165b6ee8ce6064e55e15f0b08d7b465f3c5537
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 12:01:54 2007 +0200

    Make --with-neon more strict.

commit f07d1abc27666cc7299044745a151342d521e026
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 11:25:26 2007 +0300

    Backed out changeset 842b0b8f3f8d

commit b095e74fe48cfa06153f1cd3749b641856633a60
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 10:23:54 2007 +0300

    Fix error reporting on rpm --checksig (rhbz#155079)

commit c2f919af38143607cafd25aed248227bb23bc144
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Sep 4 09:09:39 2007 +0200

    Add --with-neon.

commit 33009e0b701cacf2a319f168a90d19a0a78f917d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 08:45:41 2007 +0300

    Updated Polish translation from Piotr Drag (rhbz#243569)

commit 283d4372ec4d3d651134a1dd6ec59d689ea27cd8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Sep 4 08:19:03 2007 +0300

    Debugedit fixes.
    
    This makes debugedit's -l file get files that already match the -d rewrite
    directory, not just those that match the -b build directory and get rewritten.
    
    Patch from Roland McGrath

commit ffea910c37f668de2e073bb57e656fe81a313586
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 22:39:26 2007 +0300

    Read vendor macros again.
    - replace VENDORRPMRC_FILENAME with VENDORCONFIGDIR
    - use it to locate both vendor rpmrc and macros

commit 1535dc8bb7b6228539942d7ea3f4b5179f4f6ed0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 21:55:26 2007 +0300

    Remove a couple remaing LCLINT ifdefs

commit cea607a62c578de65f8a0c232228748c592c0c00
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 21:34:33 2007 +0300

    Update --querytag test to expect success..

commit 1a1b50378ce0dc3774cab34225c05810a7149afc
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 21:30:44 2007 +0300

    Fix trailing whitespace in --querytags non-verbose mode

commit cec13226210a83fecdefbd21d0e81c640c23990c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 15:12:38 2007 +0200

    Remove FILE_RCSID.

commit 5287c034d837a5fada416ec0773c8d77585cefc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:35:17 2007 +0300

    Remove LCLINT hackery from system.h

commit 3acfe8f031654164c238cc70c5d9977932bf99a2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:23:08 2007 +0300

    Remove setfiles, it's not used nor useful within rpm

commit 0df97d170a34f9bb3b2904e23def83557dd75dc9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:20:31 2007 +0300

    RIP rpmsx and all its uses

commit c0bd72b026c871e672ff111d5b9827edc28aa106
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 15:15:50 2007 +0300

    Rip out unnecessary selinux babbage.
    - rpm doesn't manage selinux contexts so it doesn't need to know about them
      other than when creating files
    - implement --fscontext as popt alias since it's easy to do so...

commit 97cea31a8aa73995358d671ded2ace7878748382
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 14:42:42 2007 +0300

    Use direct selinux calls for context initialization and matching.

commit 5b786f94bcd9c89aae3b19e11782f5f4d811c359
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:31:28 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit f16b18234948782039b17f82f9dda9a52c267eec
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:30:35 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit 1f8c7ab9d8a433b34a507186be0e5e10432db831
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:29:48 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit bc5bbd543fe1e3e0cb3f8171541d1da392de3834
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:29:05 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit 9110874f1c558436c809d3c725244f56a5fa211f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:28:10 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit 0c0f71955c0ed1ab51e84a476a17686ce275a8fb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:26:54 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit 4157ef70fbb828aca1b2cc92010213f02069d74d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 13:25:23 2007 +0200

    Remove __LCLINT__-ifdef'ed blocks.

commit 2cadb6a1c5ec48a9a9ca3c57b9c04a729ba2c4c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 13:59:42 2007 +0300

    Add dummy macros for our needs when building without SELinux.

commit ba645b29c4cd86fa72308793aee02b101f9ad561
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 12:59:15 2007 +0200

    Remove CTAGS, CSCOPE.

commit 90ad59fb99672b0e645c3318feb7c024d886fd85
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 13:28:20 2007 +0300

    Kill remaining uses of selinux filecontexts in headers..

commit 7a50a54390a976104deaf29d32b426db719bc5b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 12:23:42 2007 +0300

    Sanitize SELinux file context initialization.
    - do it in a single spot inside tsRun()
    - automatically set RPMTRANS_FLAG_NOCONTEXTS if selinux is disabled

commit b977d7aa31f2104f17b8f4f52d824d6153471e0e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 10:17:40 2007 +0200

    Remove lint-support.

commit 408d3df3f1cb5ddc7b111da7147e679dd0278635
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 10:20:10 2007 +0300

    Rip out selinux file contexts from headers.
    The SELinux file contexts can and do change, and local policies might be
    in place, the contexts on the build system at build time have zero relevance
    to anything and are just header bloat.
    Remove --filecontexts alias while at it, not useful for anything anyway.

commit e27bbb931aae7457d1f02adddc6f4330db890845
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Sep 3 08:49:38 2007 +0300

    Don't show merges in dist tarball changelog.
    They're not interesting to somebody viewing what has changed...

commit 58f48ef1c6a32b47afd4d66133faec07e9ba777f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Sep 3 05:11:40 2007 +0200

    Eliminate mylibs.

commit 97f85a723e4ecc0d87e4fa7f9dc0f7bd92eeafdc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Sep 2 08:17:43 2007 +0200

    Add missing link libs.

commit d079327f0fb5c08da1707810184adfe7f439d96a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Sep 2 08:17:16 2007 +0200

    Add missing link libs.

commit e3805cd17de32f3b9f0896530f53f37fe6fd1c13
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Sep 2 08:16:30 2007 +0200

    Add missing link libs.

commit 3292d061a21507a74c5b33af89636e29de14f74d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Sep 2 05:37:31 2007 +0200

    Include rpmio_internal.h.
    Remove _rpmio_debug.
    Use "byte" instead of "char" in call to rpmioSlurp.

commit 15d8d05affb121d54c082680366016a1fa35c559
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 19:07:58 2007 +0200

    Remove ctags.

commit 0a8dbbb9c0bc7e654a49cac82c50adbe613bce29
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 18:54:57 2007 +0200

    Add LIBRPMALIAS_FILENAME to CPPFLAGS.

commit b2db269632792c8340655cfea1d82c4491972f8c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 18:54:13 2007 +0200

    Remove LIBRPMALIAS_FILENAME.

commit 9e3809e36efc326fd29b86f44e4f0704354fa5aa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 16:27:10 2007 +0200

    Eliminate clean-local:

commit 8b28fa70cc0cef4b411523f47edb7b9b4c11f88d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 14:38:41 2007 +0200

    Add RPMCONFIGDIR to CPPFLAGS.

commit 7d4840fd163c5b0a8c26d8f80d1622121ec1850b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 14:36:46 2007 +0200

    Set configdir=@RPMCONFIGDIR@

commit c84ed00486b64697573ae69c5afce65b63a4734a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 14:18:45 2007 +0300

    Remove dead code (hack from times before pre- and posttrans scripts)

commit 46a5c3466ad9ae73cafc1a1de2ec0cd1ad406439
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 13:52:40 2007 +0300

    Vastly updated/rewritten perldeps.pl (rhbz#204800) from Michael Jennings

commit b3255558f64e0e66578c12e20b6ce8c7513ed5a6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 13:41:14 2007 +0300

    Remove unused ancient trpm

commit 4e52d18de873a861447a589f52c85de2326cd863
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:35:51 2007 +0300

    More junk removal...
    - remove ancient orphan cross-build script
    - dont install vpkg* scripts

commit 37f33a0b8b1266fea9413d378637e2856922e7d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:34:07 2007 +0300

    Remember to update makefiles wrt latest script removals

commit faeabb1ce47939f2aee1dba80261db6919982d0f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:28:52 2007 +0300

    Remove magic.prov|req that were only used by the unused find-bla.pl

commit d6ac1a522259642fd1919aac77531824b226e60f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:27:25 2007 +0300

    Remove unused, ancient getpo.sh

commit 1846726e62d8f54ccaefbb79878e117205c33c10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:16:16 2007 +0300

    Remove print_deps, was only used by unused find-prov/req.pl

commit b780f5a8d636073d67dbcdfa3f8795f878b55218
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:15:16 2007 +0300

    Nuke more unused scripts...
    - http.req doesn't have anything to do with rpm really
    - find-prov, -req.pl and get_magic.pl are not used anyway

commit 0b450467e2dac481deee139b7bc831e19efb11a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:06:39 2007 +0300

    Remove unused ancient sql.prov|req

commit 693ba3084b95813bcc4eaefcfd29d32e6b44bca5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 11:05:44 2007 +0300

    Remove ancient and unused find-{provides|requires}.perl scripts

commit 4fed9927446082a78ad5ea9669219f2ca40677d6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:44:08 2007 +0300

    Remove ancient rpmrc -> macros converter, no longer useful

commit d977b13341ea1b0c0ad43da1f7d4d33ffcd44317
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:42:08 2007 +0300

    Remove dead cpan->spec scripts.
    These are better served by having a separate upstream from rpm itself...

commit fe1f22a75bed0c1e1b4f629ecd6bbdaf930bfadf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:32:50 2007 +0300

    Lose unused and obsolete libtool- and pkgconfig .prov, .req scripts
    libtooldeps and pkgconfigdeps are used instead.

commit 5dd1c2e3f13a90077a76d8b030684ff4629cb9d4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:30:06 2007 +0300

    Lose unnecessary freshen script.
    Only necessary with implicit obsoletes on provides which we dont (anymore) have.

commit 045b67d1f35fd883ba460ef72fbde3524cb8d5a5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:26:21 2007 +0300

    Lose ancient and unused perllocate* scripts

commit 31a693a7ebec6b833f75ad03222fda0221a83f30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 31 10:25:11 2007 +0300

    Lose ancient and unused brp-redhat

commit 1d4fbefcb89dc8c427beb13afbf17a5c74eaec2f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:59:17 2007 +0200

    Remove installprefix, all:

commit eac9291fdefab65d9e2b99959c8c787359ebf9ce
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:56:56 2007 +0200

    Eliminate tmpdir, varprefix.

commit e4e987be9fe77a11bd0f8d5d45041c72e2fa02b4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:56:21 2007 +0200

    Add LOCALSTATEDIR to AM_CPPFLAGS.

commit c4095e623388d170df6da5673683a5215588924a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:55:24 2007 +0200

    Use LOCALSTATEDIR instead of hard-coded /var.

commit 7b40f37483f8e3f2defa5f44aa819150f94597fb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:55:06 2007 +0200

    Use LOCALSTATEDIR instead of hard-coded /var.

commit c153627e370b21c5d2dc143b6dbc610bb7a01087
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:54:41 2007 +0200

    Use LOCALSTATEDIR instead of hard-coded /var.

commit 7e2924132655a0efbca983853b20418bc3c22240
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 08:53:03 2007 +0200

    Attempt to improve libdb_la handling.

commit 33ad0689f91b48e706b06648f1be774848526ec7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 05:58:43 2007 +0200

    Generate macros from Makefile.am.
    Replace varprefix with rpmvardir.

commit 0f5d8ca08f6cbdf3f39ee27f6c6861bf05e8fa2d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 05:58:04 2007 +0200

    Don't AC_SUBST varprefix.
    Generate macros from Makefile.am

commit be1752f08bb7da2a0f58f67d35189cf559021a66
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 05:23:25 2007 +0200

    Regenerate.

commit 794c4ca4e9a44c0cc57e5cb24c5f702b17188008
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 05:05:45 2007 +0200

    Remove CVSTAG.

commit dd296918e8b14fa1297de785a8955ba16c7c7b8e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 04:35:24 2007 +0200

    Remove make-target "noconfig"

commit 7c0bbcbc5e34d5c97fd2719f55c7a186a2ec2483
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 04:34:33 2007 +0200

    Remove make-target "tar"

commit 0e95c12b295c88778460ca9dcaad959352a66310
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 31 04:25:22 2007 +0200

    Remove AC_SUBST(RPM) (Unused).

commit 90c4d4e2d6f8d8e49eceb74b17e1097bdd99122f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 21:32:25 2007 +0300

    Drop macrosfiles from rpmrc.in, we don't read it anymore

commit 1fe306aa6711a916b963ec8ff56b3d868323345c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 18:35:14 2007 +0200

    Add check:

commit 431a6bc687af4daa00dec976659c68e0b2a7722c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 17:06:14 2007 +0300

    Get rpmcli.h includes out of python bindings

commit 278c26d5122ca1c9f43485de48fe6f9939344417
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 16:04:06 2007 +0200

    Attempt to make tests/Makefile.am more stabile.

commit 333fc3b70efdabd2d6928375ec0ce67ef29797fa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 15:33:15 2007 +0200

    Massive hacking on tests.

commit 1e27f6ec10605daf5fae46a159959706a3827ec4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 15:32:16 2007 +0200

    Add RPM_XFAIL.
    Try to set HOME to avoid ~/.popt interfering.

commit bc4e7adce61fd288ca38e0174825843cc77e0ab6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 14:54:15 2007 +0200

    Add package.m4 to EXTRA_DIST.

commit 0cdbf1e69be9a613db3b11d5ef79a04b28beec9f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 14:53:17 2007 +0200

    Add data/*/foo*

commit 5b11931a8f0cb615f3d3c3095ecb1f38b49e17ba
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 14:50:20 2007 +0200

    New.

commit 0ad1873796883c0f66b2ad8526766d68ed28dd0b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 15:49:31 2007 +0300

    Move rollback IDTX out of cli-stuff, its needed by core ts handling too.

commit 8d0ad625b9cdab9f551712bd6fd44d8dff49a16a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 13:02:12 2007 +0300

    Don't read *.rpmnew etc macro files

commit db6eb7df2a6c94ddf70440ffb190041410587f04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 12:22:01 2007 +0300

    Don't read macrosfiles: from rpmrc, use default paths instead.
    Also fixes --macros=<path> option.

commit 09bcd97b3a17609f97d82aed9f93b5c5c78bac1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 09:09:08 2007 +0300

    Remove unnecessary include

commit 4c735bc33fb94fa49c177670d867b50c2ede7d6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 09:07:11 2007 +0300

    Remove unused include.

commit 30e83839a6fb6ad531ded31f0647e7ccd34ac951
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 30 08:59:12 2007 +0300

    Remove unused lib/fileutil.c
    rpmSyscall() was a hack from times before pretrans and posttrans, code
    is dead since long ago..

commit 0916396cd3b6f0195db3dcfb29e2893f897665e2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 30 07:40:28 2007 +0200

    Use ${abs_builddir} instead of pwd.
    Use ${abs_builddir} in RPMRC.

commit 93b5033ee111cac7865e81caf4c397d810156a67
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 17:45:33 2007 +0200

    Remove (Merged into doc/Makefile.am).

commit 15fb33022747b9015a6238be86137106f1aee424
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 17:43:20 2007 +0200

    Remove doc/fr/Makefile doc/ja/Makefile doc/ko/Makefile doc/pl/Makefile doc/ru/Makefile doc/sk/Makefile.

commit 6e1f2575b1de2f5944483ed024eda1a75d7eefe9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 17:42:32 2007 +0200

    Merge-in fr/Makefile.am ja/Makefile.am pl/Makefile.am ru/Makefile.am sk/Makefile.am

commit a8e246e8f6bdd4679e10c3029a0faa9c25c4b7f1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 17:41:33 2007 +0200

    Remove (Merged into doc/Makefile.am).

commit 412f9fcb17f7d8080eb379e19f208bd1c863ce77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 29 15:39:55 2007 +0300

    Fix various cases of build failing due to whitespace in dir/filenames.

commit 29d53ac70f14750fbff1329c37c832e48f68254a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 13:06:05 2007 +0200

    Reflect having removed doc/manual/Makefile.am

commit 04f1d7c8f271360c43a80751af277893793d0d69
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 13:05:42 2007 +0200

    Merge-in manual/Makefile.am

commit a75eb83015ad9de122b631dbb29ebbd7daba9384
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 13:04:00 2007 +0200

    Remove (merged-in into doc/Makefile.am).

commit e6b6d15410089d222a8d1c3a275a5740a62db2eb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 13:01:29 2007 +0200

    Remove @SET_MAKE@ (anachronism).

commit 29b0557f578d700a12d1079cb90f08eea7adbe87
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 29 08:07:14 2007 +0200

    Remove broken translations.

commit 5b8a3cf39b723d792fcdc00999746a45e342325a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 18:22:11 2007 +0200

    Eliminate LIBRPMRC_FILENAME.

commit 1f89418506193f7a17e8f2ee56c64d9d6a344947
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 17:20:35 2007 +0200

    Use SYSCONFDIR "/rpm/platform" instead of hard-coded /etc/rpm/platform.

commit c3ea98f4c4819ca9731eb99e786c5ed0948518d7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 17:01:04 2007 +0200

    Use SYSCONFDIR "/rpmrc" instead of hard-coded /etc/rpmrc.

commit 604116eff7da7f84f6e294b0dd6e80c3f8155736
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 13:21:05 2007 +0200

    Rework rpmrc generation.

commit 5553568c626b5ddb78be1c39f7aa499b3cf1fd98
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 13:20:03 2007 +0200

    Remove SYSCONFIGDIR.

commit 092122ca8458f020fb20cf217efa67b1807ec8bb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 13:19:37 2007 +0200

    Create rpmrc from inside of Makefile.

commit 061ab8dddc2a80555528662fd73c294112e7b346
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 11:34:25 2007 +0200

    Sync macrofiles with macrofiles: in rpmrc.

commit 1d1e80120f15b02480ddf0dd4e86f5d20e51cad2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 11:33:39 2007 +0200

    Propagate SYSCONFDIR.

commit d846415f66da4ae6441ea7d9cd29f8e97aba0bb0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 11:33:07 2007 +0200

    Eliminate MACROFILES.

commit f13ab2f70138ac6ccf5574e44407152323e2c155
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 12:07:50 2007 +0300

    Support accessing header info in python by object attributes as well.

commit 5b4a0061a664ce40d5ab9cfbab906d3ce160c21c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 12:03:34 2007 +0300

    Add expandMacro() to python bindings.
    Patch by Jeremy Katz.

commit 7e87026e5c7098b6f019075ba11d39b62765cff2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 10:58:48 2007 +0200

    Check for locale.h.

commit f3b816c3095b3b0dbc10c89155d13b8927ddad6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 11:00:42 2007 +0300

    Install packages with preferred color first (rhbz#214737)
    
    Patch by Jeff Johnson.

commit 477205014975bfc953430c6c261ee635686cd176
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 10:11:06 2007 +0300

    Show pre- and posttrans scripts in rpm -q --scripts query (susebz#253620)
    Patch from Michal Marek.

commit 0d71bb125f1954a30f82bb5ec400e45b905cbd44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 09:10:11 2007 +0300

    Create x86_64 compat macros for ia32e and amd64 (rhbz#211119, 223355)

commit e64bf5b93ab689e6031fce4489e4ae38ebaebef1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 09:04:09 2007 +0300

    Avoid .rpmnew when the file hasn't changed in package (rhbz#194246)
    
    The current behavior of %config(noreplace) creates a .rpmnewfile iff the type
    of the current file has been changed wrto what was originally installed.
    
    The patch changes this behavior so when old and new (in db and in package) is
    identical -> not changed, the function returns FA_SKIP -> it won't clobber
    anything, it simply skips installation of the file from the package.
    This patch handles also the opposite case when old and new packages contain
    %config symlink and we have regular file on disk.
    
    Patch from Tomas Mraz.

commit 10d01f417760b655fec562234e09aee2f85c64f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 28 08:52:06 2007 +0300

    Fix perl version provide for packages defined in multiple blocks (#rhbz214496)
    
    Successive definitions of the same package shouldn't stomp on previously
    found $VERSION, this is how perl itself behaves.
    Patch from James Ralston.

commit 4d0283bb4dd4eecb424c7efe6e7d5a6f294b2113
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 06:46:20 2007 +0200

    Add -DLOCALEDIR="\"$(localedir)\""

commit 59441dc4d334091c72ef87ff7e9ec5e3f9ab7bf9
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 06:45:25 2007 +0200

    Remove LOCALEDIR.

commit 43ae6e6f57d959cad3e44473ffa280e3a4cd0d87
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 28 06:37:49 2007 +0200

    Remove stamp-h.

commit 310f1e524c720fec55339cb962a101e77045494d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 23:40:58 2007 +0200

    Make tjfn, tdbi check_PROGRAMS.

commit 7e4155a8d286c81cc2df678ac19a09bdf0bd7c93
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 23:38:23 2007 +0200

    Comment out tjfn_LDFLAGS.

commit 8d9081927b62d023b976081d8749d0ef4982cef2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 23:38:00 2007 +0200

    Remove sqlite.c from EXTRA_DIST.

commit 32b5a12b9b6f949fca414f83d0e37ab515ce86c5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 17:23:54 2007 +0200

    Convert EXTRA_PROGRAMS and noinst_PROGRAMS to check_PROGRAMS.

commit c32c9c010a2cd8fdffec266ef838aec1b9ebb80c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 17:18:04 2007 +0200

    Add tufdio.
    Convert EXTRA_PROGRAMS to check_PROGRAMS.

commit d702278169af2c69dabd783a5d6f18ecb18648ce
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:16:12 2007 +0200

    Use $GCC instead of undocumented autoconf internal $ac_cv_c_compiler_gnu

commit 903caf14d0f93f52a0635bbcb031131ea1cbe113
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:15:29 2007 +0200

    Remove config.site.

commit 323eb945cb287f4f5cb3a94f39e97085f7d45fd4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:11:11 2007 +0200

    Remove config.site (Not useful).

commit d805779faf581115b5a2dda701aece982b4305f5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:09:37 2007 +0200

    Remove (Not useful).

commit 3a35a549e541e253d38c82f63120dbc68f3ab6ed
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:06:05 2007 +0200

    Use check_PROGRAMS instead of EXTRA_PROGRAMS for t*programs.

commit 6749666f6106c0777f0075f544ccb7043cf7d736
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 16:03:46 2007 +0200

    Comment out Glob_error.

commit 2cb8ee9accb7fdb81190e715f56071a1e252994a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 15:59:39 2007 +0200

    Adjust paths to beecrypt headers.

commit 767742d6349915019b793cd1a04940c3a6ab4488
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 15:55:48 2007 +0200

    Adjust paths to beecrypt headers.

commit 0d81a291c164c18c1293582dc659d779986d847c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 15:08:43 2007 +0200

    Comment out setfiles_LDFLAGS.

commit 1cfcb427ff1eaa12b9f88c16ccd60a5487023a55
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 12:26:21 2007 +0200

    Eliminate noinst_HEADERS.

commit 646d09ef9b949d5cb03f9e844d9572823541e179
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 11:17:03 2007 +0300

    Use system magic file for file classification.
    - use whatever magic_load() uses by default
    - remove unused rpm.magic file

commit de9061b214a3b32aeb7ed5bd6374db0674fba578
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 11:01:39 2007 +0300

    Fix monday morning thinkos wrt macro buffer changes.
    The expanded size is of course not known beforehand.. check for size
    before copying instead.

commit 8347d40b040b163c3ed92de7accafddb53e10d27
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 10:19:43 2007 +0300

    Don't check for termination signals in middle of transaction (!)

commit 40d25ee3ea29768f828d71a99f845792c46a2be0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 09:55:42 2007 +0300

    Fix potential buffer overflow in macro primitive execution
    Use dynamic buffer, we know the needed size here...

commit ad7c8e98c9285fd100d0386e37ede8f2ba71f441
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 09:51:52 2007 +0300

    Fix potential buffer overflow in macro findEntry()
    Avoid static buffer, we know the size...

commit 0e74bc98bed27e78b73d6ca1123c63aee4c6335a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 09:48:00 2007 +0300

    Fix potential buffer overflow by using dynamic buffer size.

commit ca7b28eb352105797d33b011e0bb8d58ff010ed9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 27 09:45:53 2007 +0300

    Fix buffer overflow in macro shell escaping (#253971)
    We know the required buffer size here, no point in using static buffer.

commit e68817bd47f96dea5265748b45901f1acd94a816
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 08:17:43 2007 +0200

    Remove tdigest.

commit 02fe593950a5c1cfb470c943087c8f3c14228318
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 08:17:10 2007 +0200

    Remove (Unused junk).

commit d238b57898e78abc143c56485dfe97954c42f666
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 07:28:17 2007 +0200

    Remove (Unused, rotten junk).

commit b42cb997e3d4252670762b78928bf645f22eb967
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 27 05:58:57 2007 +0200

    Remove dependency on librpmbuild.

commit f77387df9ab84aae6d3fedb7ebfe0ed6ca1c0380
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 07:36:24 2007 +0200

    Add [rpm -q --scripts -p *.i386.rpm].

commit 749313a946f54fdcd9700b8da97758565355221e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 06:40:22 2007 +0200

    Remove FINDREQUIRES, FINDPROVIDES (Unused).

commit 9528926756f671b0c450fb9c25fab3db4b2fc23c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 06:24:52 2007 +0200

    s/-lselinux/@WITH_SELINUX_LIB@/

commit 752fea0aeef661ce5a9799fa0359f927d56b9441
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 06:05:45 2007 +0200

    Use with_dmalloc instead of withval.

commit b6abbcf059df2ec8adfb84aa9a742498e5f0dce1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 06:04:43 2007 +0200

    Use with_python instead of withval.

commit f45f78510bf07d2fd5aa5f728bd9b1eedefc5260
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 06:02:24 2007 +0200

    Don't reset LIBS=.

commit 5696bd01a95fd1f14a2a0eb79da9076c1ac4c7f6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 05:43:59 2007 +0200

    Eliminate localdone.

commit ca4dd3714a4168d668eefc62657ba95b3da57221
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 24 05:43:34 2007 +0200

    Eliminate INCPATH.

commit 435aa0c959c1598584e86815056c5935fb55187f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 23 16:41:44 2007 +0200

    Remove SYSCONFIGDIR, ~./rpmmacros from macros.in processing.

commit 87de0b28f58b2e8adcd1ca468c809c35dfc54e6e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 23 16:38:12 2007 +0200

    Create a customized rpmpopt-$(VERSION).

commit e0f6bee0852c8433aa0fe39a1c760e94a98f6177
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 23 15:56:08 2007 +0200

    Eliminate rpmpopt.
    Let rpmpopt-${VERSION} be generated by configure.ac directly.

commit a8997f47160741d2c8be553748791bc83a7b5db1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 23 10:09:13 2007 +0200

    Use (xxx->open)() to work-around glibc's open() behaving having changed.

commit 2a98ab385d543741a41642ebea5a7d3f763c23d1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 22 16:52:25 2007 +0200

    Remove AC_SUBST(INCPATH).

commit 3292a7bbb329a7cd56f582faa03839fffa3a29c1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 22 15:19:58 2007 +0200

    Remove INCPATH.

commit 0ce3b2b0e153b4b6cd268df076c0844ee44c3caa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 22 15:17:23 2007 +0200

    Use (xxx->open)() to work-around glibc's open() behaving having changed.

commit cb2c49bbc5038799bb084914a7ba7cbe8356b165
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 22 15:14:30 2007 +0200

    Remove INCPATH.

commit 75ae38e37c82aec827d884897ceabbcfb112f071
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 22 11:54:31 2007 +0200

    Remove INCPATH.

commit 9a56f09925152e9ca6afc9db82fb15698a6d2428
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 22 11:24:43 2007 +0300

    Use RPMCONFIGDIR for determining rpmrc path, usrlibdir is wrong on multilib.

commit 33b067521227a463fa95a60eb72cadc783fc9afc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 16:29:51 2007 +0200

    Add bzip'ed tarball.
    Remove tests/atlocal

commit 76cfd8f0cf6842bb4f5e977c8e47201d13a5937f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 16:28:55 2007 +0200

    Remove defs/defs.in.
    Cosmetics.

commit c76560f2bb2cb812dfcdc14f60b520c2c8cde163
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 16:28:27 2007 +0200

    Merge-in former defs.in.

commit a9959090216dd93a4b524f1b211657e7c49287e6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 16:27:58 2007 +0200

    Remove (merged into atlocal.in).

commit 145a53556a11345dcf3842e7eb65513620348dba
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 14:55:38 2007 +0200

    Regenerate.

commit 876ac792ec3f653556b77aa69377396418c7b1da
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 14:53:57 2007 +0200

    Update.

commit 7693860542ad623e9cce3711e459cb2bcbd7b6a8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 14:52:13 2007 +0200

    Add local.at

commit ceabc3ff98313614a22022f2358f7d61c129319f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 14:52:00 2007 +0200

    Cosmetics.

commit 8cfc7829cb478dab8d805fb3dfcb7e2019d4fe16
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 14:51:46 2007 +0200

    New.

commit 4c4a98921c8e2963d587fa21a6de3fd198efd75e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 11:26:03 2007 +0200

    Remove.

commit 5dcc2f5e0eb937f841bfaf0f74f77a81b8ae905a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 11:23:42 2007 +0200

    Remove.

commit 45e7dca5874e42b6ef2679631a56b3f97ce98cc8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 11:09:45 2007 +0200

    More checks.

commit 6922fc8882f8934320b625b52387de96d16d5320
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 11:09:35 2007 +0200

    More checks.

commit 67fdb8918bbcfe4c03c505a442a566bac51b1eb8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 11:08:43 2007 +0200

    New.

commit e290647874294d40e0e539a9b3d589f13f41165a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 10:37:27 2007 +0200

    Extensively extend.

commit ed488d4181cf9db03c99dfd94524f3c8faa45391
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 08:51:16 2007 +0200

    Add check for rpmquery -ql -p *.src.rpm.
    Add check for rpmquery -ql -p *.i386.rpm

commit a7fec3af93d19592dc6d99ddd335aff7ad40213a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 08:44:33 2007 +0200

    Remove (unused).

commit d10da3c6ae7a99c6cb73413f66458472b9bb6ea2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 08:43:59 2007 +0200

    Remove (unused).

commit 48ae0a34f95ffab6856d63fa295e145caabb2c13
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 08:40:49 2007 +0200

    Remove (unused).

commit 79e369146605112f4864e80f995bf3328cedc5ab
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:51:10 2007 +0200

    Add rpmi.at.

commit ab80d35b20657eb3ccfad47cf5f34fec57d555fd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:50:58 2007 +0200

    Add rpmi.at.

commit ca188224ec03b376f2d5f4ae5e20b47e431adba6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:50:40 2007 +0200

    New.

commit 5023b9fdaf4fce35b5dce3aa2daf2ac8e4e7e383
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:44:56 2007 +0200

    Extend rpm --querytags check.

commit bbd8d14bf2b8e8fec19c5d896e6b8615593e9be8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:40:55 2007 +0200

    Add check for rpmi --version.

commit fb5508b460bc7bb7ce0221aed95f4bd91b86c38a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 21 00:40:08 2007 +0200

    Fix typo in rpmquery --version check.

commit c3f7c061e125a404663f620a5646be9d03425bc6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 17:07:30 2007 +0200

    Fix typos.

commit 88fc7a04bc27fd14c08f2f95e15c3a6c50e4cd7b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 16:56:34 2007 +0200

    Add rpmbuild.at.

commit 89c7d93e608353a2b7f4925948e2b8ba4b2721cb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 16:07:52 2007 +0200

    Cosmetics.

commit 930fdff7afb6723046414830b95eeedf79d4202e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 16:07:02 2007 +0200

    Add rpmdb.at

commit 34827b33c0fa25a97cfb15d41f79664b715069ae
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 15:40:31 2007 +0200

    Generate customized macros.in.

commit 2413427ea1d03dc86f8b49f21b62291129964116
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 15:29:18 2007 +0200

    Cosmetics.

commit 9e161ad4250a609ad0e61ffe5a1388e821814262
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 15:28:20 2007 +0200

    Add rpmquery.at

commit 34565d2f8f3108e4c3edd82b63bcf5844c5756d0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 15:16:15 2007 +0200

    Activate the testsuite

commit d5d91e95f87ac67c172cc3612f25da502148272c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 15:15:35 2007 +0200

    export LD_LIBRARY_PATH and PATH

commit a6a590b83751007928ddc08acff639981e3a9e48
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:49:55 2007 +0200

    Create testing directory. Cosmetics.

commit c03ee493b704cdeae673d10ddcd3347a233cf125
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:48:56 2007 +0200

    Remove.

commit 14aa70f6955b343221fa8bd0fd47414d041c5e34
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:48:34 2007 +0200

    Remove.

commit 05cd65af4dab8966b3ae226bab1e7eb1bbe1e95e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:26:13 2007 +0200

    Add AUTOTEST

commit 9bb878ac30f1b49cc321ab552f2b5217b909df00
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:23:48 2007 +0200

    Add atconfig

commit 1efc58e2d68322d169fec19bd963c48a3808a749
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:22:33 2007 +0200

    Add rpmrc and rpmrc.in

commit 52ca662c90972e64ac008d014ab961d1f1a97266
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:21:09 2007 +0200

    Add defs and defs.in

commit bb0c33b377f49ceb4768b28bd342c6b3f95cb70e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:20:20 2007 +0200

    Add package.m4

commit 27394829726d858ed1695e54054739cae69168e1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 14:16:02 2007 +0200

    More autotest stuff.

commit a664f97fd1b7077baad120af95eca2aacba61439
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:51:48 2007 +0200

    Add data directory.

commit 58893c954e9ba237a20a80e10c1047535ea21982
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:45:50 2007 +0200

    Rebuilt on FC7.

commit efad0b8ebebf95cd2f48e74e770ec3102ead8862
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:45:43 2007 +0200

    Rebuilt on FC7.

commit 837abbd5cb9e56b9283aed5e356800bac1e0197c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:45:11 2007 +0200

    Extracted from hello-test.

commit c729338b66f4dd5cfbc5e5a6a1cf6c0906c57d95
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:43:52 2007 +0200

    Extracted from hello-test.

commit 505ae3d686e5e738eebe63070785329d484c018d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:37:21 2007 +0200

    autotest support files.

commit 02e42cbde4cc72d00e66ac3058b3c1124e7ffe39
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:34:49 2007 +0200

    autotest support files.

commit 8443c0e2bbce2f9443d884609fd5dd5629bd8454
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:33:19 2007 +0200

    autotest support files.

commit d09e67798b11b54941768323402aded821c6ae6d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 12:31:28 2007 +0200

    Preliminary preps for autotest.

commit a7817434a78e761b27931aed6a016396745782e3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 08:52:56 2007 +0200

    Remove (Unused).

commit 05ceaa5bdb8afd76e4d1e681043896327291205d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 05:15:13 2007 +0200

    Create $(varprefix)/lib/rpm by automake *dir rules.

commit 18ca3770038330726446045b53f97ce3135d8a82
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 05:07:55 2007 +0200

    Remove LDFLAGS from librpmio_la_LDFLAGS.

commit 5702f435edfc2be39bf3921f7285ef5ff3628e3d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:54:28 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit a44aa8e1696435edaa925381d3255fe317a91708
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:54:01 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit 21716999039af77489eccf53e2d150331ab324d0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:53:39 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit d2f9cf718b5474d20c2ddaf97c86a08c043656ee
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:53:12 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit f94e4ef7794e783592d752c7f3b510fd57fb0e20
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:52:50 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit 639d5cdbbb472baa2e56685be67d6cfb389540a6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:52:23 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit 414998339f7da27628c3f72e662ce3bef215e5d4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:51:46 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit 124f980d61edcbb459513b6384aadb8a415698a1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:49:58 2007 +0200

    Link against build/librpmbuild.la instead of build/.libs/librpmbuild.a.

commit 3dbd4dd329f2122441d4106d6b6587a8fbdd6ef6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:36:27 2007 +0200

    Revert previous change.

commit 3050b7d0b7466229687d5e51699790021e87e5f2
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:32:30 2007 +0200

    Convert from ISO-8859-2 to utf-8.

commit eeef2e92d9fd2d69b36971bc744ffbfeb5a06b10
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:32:08 2007 +0200

    Convert from ISO-8859-1 to utf-8.

commit 52a387c19e4c140b317e708fbd5e17f0caac0481
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 20 04:31:21 2007 +0200

    Remove LDFLAGS from librpmbuild_la_LDFLAGS.

commit 7d20478284778c3176fbf47f4df4d104a02a81e7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:45:47 2007 +0200

    Remove LDFLAGS from librpmbuild_la_LDFLAGS.

commit c28a0694cc65babccffe06d0803d96f0db51ac5a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:41:15 2007 +0200

    Remove tests/hello-test/Makefile.

commit 95178ed25fbcd6e438a265f307b8e4054e8a49ae
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:40:52 2007 +0200

    Remove RPM_BUILD_ROOT.

commit 8d226bf0498870f1f6749d18de3cc26026d832f3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:40:39 2007 +0200

    Remove RPM_BUILD_ROOT.

commit b9f223228f2679fed22f6fb69ddeeca91afd3bbb
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:40:18 2007 +0200

    Remove RPM_BUILD_ROOT.

commit 1c356f8acb71b21fa98d50ca3ff36fbed3f56ff5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 19 18:40:08 2007 +0200

    Remove RPM_BUILD_ROOT.

commit f427292f68500a96170673a5c48137b0dd34c590
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 18:54:36 2007 +0200

    Eliminate mylibpaths, mylibs.

commit bc5b9abcce9bc1d9deec5651dffd95b4bc2c63a7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 08:03:55 2007 +0200

    Eliminate myLDFLAGS.

commit dc9ce14e37e04307071720ffffcfa325c8d9a104
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 07:57:57 2007 +0200

    Untranslate Copyright messages.

commit 00e06a335da3854fe89b6fcfe97514b50e8e385d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 06:44:52 2007 +0200

    Remove LIBMISC (Unused).

commit db59225e3910790b88cf49edfb687eb6a2651010
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 06:23:50 2007 +0200

    (rpm2cpio_LDADD) Remove duplicate LIBMISC.

commit 1ea579c7e53884f4d3af4319da156bd954abcaef
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 06:16:58 2007 +0200

    Add tests to SUBDIRS.

commit 36a017415e68fcfac22c9395f46f51d5e5445031
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 05:58:28 2007 +0200

    Eliminate myLDADD.

commit a1cd8954a0e2d3580f892e4dfadfde1f9a2ed883
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 16 05:31:03 2007 +0200

    Add tests/Makefile tests/hello-test/Makefile.

commit 81b1baab5a842a7b9a753defdc6c796f662de3c5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 13:49:01 2007 +0200

    Replace MKDIR_P and MKDIR with RPM_MKDIR_P and RPM_MKDIR to avoid conflicts with automake's build-in MKDIR_P/MKDIR

commit 81aa8461627668493e6392782fc4e9ee37fea5b7
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 13:42:05 2007 +0200

    Build setfiles only if SELINUX is present.

commit cc71f47f188f71327c1c980448fc38bf791ea620
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 13:40:10 2007 +0200

    Add AM_CONDITIONAL(SELINUX).

commit fdaa6e3794e36e1614250548c3dd3d101c2e6d3b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 15 12:07:31 2007 +0300

    Make find-lang.sh --with-gnome pick up omf files (rhbz#251400)
    Patch from Matthias Clasen.

commit 848f955d1d4c0c7ce517a106ac7e206731e07cec
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 09:12:25 2007 +0200

    Use libxml2*.

commit bc1d56ab7b0c3492f494d016c444157dd42d2dbd
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 09:11:25 2007 +0200

    Rename XML2 into libxml2.

commit 13625ddb7f9e190e30fce0bdb490ee55689783fa
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 09:03:35 2007 +0200

    Add check for libxml2.

commit 4c73047556803838f3ca3c5fbd3496f0c26d146f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 09:02:34 2007 +0200

    Fix comment on bzip2 library.

commit c23d7b1cbe1bab3299d98bfda1b0f512da7c559c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 07:36:31 2007 +0200

    Fix broken error message.

commit 64b98ad378f47b5bb71bf07214cbb7697077e8d1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 15 07:34:50 2007 +0200

    Add Libs.private: @WITH_NEON_LIB@.

commit b9774ace0005b6ba4b3420bfa3bfc6f95354ab75
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 14 18:29:54 2007 +0200

    Add --enable-sqlite3.
    Rework WITH_SQLITE3* handling.

commit 5b9920f9003f6ca060aff8c2b228f468b17c8951
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 14 18:29:10 2007 +0200

    ADD @WITH_SQLITE3_LIB@ to Libs.private.

commit fc0a01b5a7755bef63f0b50f473b678d565b4f1d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 14 16:18:10 2007 +0200

    Eliminate DBLIBOBJS, DBLIBSRCS. Add AM_CONDITIONAL SQLITE3.

commit 218e5804fbc4ed926eb46ff9447d7a8e30fef748
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Tue Aug 14 16:16:14 2007 +0200

    Use AS_IF instead of []-if.

commit b023a940b4e4f5352d0e335f31609c8cc27c3d65
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Aug 14 09:00:54 2007 +0300

    Avoid python 2.5 requirement by using int instead of Py_ssize_t

commit 81b3cdd0ad2f30aab5ea925326aee6ee8316bd2d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 17:56:48 2007 +0200

    Remove --with-efence (Users should use LIBS=-lefence instead.

commit cb818ada209a21c117bd12ec1f166673a59bb412
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 15:38:27 2007 +0200

    Remove WITH_ZLIB_SUBDIR.

commit 7178c4a7ed8c590288cb64066c9b842f40199393
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 15:38:11 2007 +0200

    Remove WITH_ZLIB_SUBDIR, WITH_PYTHON_SUBDIR.

commit 4d3e0d23086d72c89cf12f1c68d2929cd8182646
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 15:15:14 2007 +0200

    s/-lselinux/@WITH_SELINUX_LIB@/

commit f3c879105ace5c19b765ae113867444e9feb3fda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 13 15:48:39 2007 +0300

    Fail build on find-provide / -require errors (#rhbz#226751)
    Patch from Jeff Johnson

commit 28bd93900b025ba7afddd351c2b5d70f8dc30778
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 13 14:41:01 2007 +0300

    Attempt to resurrect rpminject..

commit aa5826ea67494f25e81d9c3c4e78f5ebb4884ba6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 12:34:24 2007 +0200

    Use size_t for pktlen to reflect pgpReadPkts() parameters.

commit bff16e3474f6eb4ca0bef1d9290ea0d9a7b80684
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 12:30:58 2007 +0200

    Reformat.
    Comment out static ldflags.
    Replace refs to $(top_builddir)/popt/libpopt.la with @WITH_POPT_LIB@.

commit 8aeb0c33dd7c0964731e2bd9ce969a65c246ec70
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 09:48:56 2007 +0200

    Fix bugs in previous commit.

commit 94f8f21a9436087f19a64f14cf4c855c1e43c337
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 09:35:48 2007 +0200

    Rework check for selinux.

commit 9eded681b83850bc36ff3a11917ffee0178d76e0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 07:44:54 2007 +0200

    Use *_CPPFLAGS instead of *_CFLAGS.

commit ce32a7839acfed0a66a6bf78da6d4287673dec5e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 07:31:10 2007 +0200

    Remove -lncurses (unused).

commit 25cc40bfa55f876f8ebb0ddbcaf802648bdf8ae5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 07:30:28 2007 +0200

    Clean up --with-lua.

commit e0088ef0755aa9782c11adb3c9f73579a7920e5f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Mon Aug 13 06:42:49 2007 +0200

    Rework --with-apidocs handling.

commit 97b4430a4535ba6b661740dd2d982e001cda5546
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Aug 12 15:27:46 2007 +0300

    Fix debugedit buildid thinko.
    Patch from Roland McGrath

commit 6f411b45506d6fc5b523b32a963a28b28f8a898f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 12 08:07:11 2007 +0200

    Remove WITH_LUA_SUBDIR.

commit 19c75c9f4abb7959b596f88fc8854131bfd67d4e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 12 06:38:15 2007 +0200

    Remove -I$(includedir) from AM_CPPFLAGS (bogus).

commit f93d15859cb01ce00612443e3d757dd2ec6cebda
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sun Aug 12 06:12:21 2007 +0200

    Add tds to EXTRA_PROGRAMS.

commit 3df1e54331555bb6bc0bd95e2f6afe2e0cbdd713
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Sat Aug 11 08:02:50 2007 +0200

    Remove support for in-source-tree sqlite3.

commit 3ea0304adaba951818d7f8442a51412f7f891c4d
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 17:07:17 2007 +0200

    Rework check for libmagic.

commit 2eb2f975dac96dd6cbcfa9b9ac612d6e6cd62c0b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 16:09:25 2007 +0200

    Remove WITH_MAGIC_SUBDIR.

commit 0f99662fe3d03a552b4ba75040657f6babc694c4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 16:03:23 2007 +0200

    Remove WITH_RPMFILE (Unused).

commit 7031755b8237013cda533cca35955c5912744e41
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 15:48:19 2007 +0200

    Remove support of in-source-tree libneon.

commit e577c3923495d599c9cbb9523c3ca4f1fc32e12a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 15:29:53 2007 +0200

    Build debugedit only if LIBELF and LIBDWARF are present.

commit d1e0b73576ba80a8d1956365386d41539a60048a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 15:22:25 2007 +0200

    Use AC_CHECK_HEADERS(gelf.h).
    Add AM_CONDITIONAL(LIBELF).

commit 473ee0caa88defb6090bdfe7f8e2d5260ecf0f81
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 14:40:02 2007 +0200

    Use AC_CHECK_HEADERS to check for beecrypt headers.

commit be9839035b0f2129e59a104bf1bf26bea3ff88d3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 14:10:52 2007 +0200

    Merge noinst_HEADERS into librpm_la_SOURCES.
    Eliminate noinst_HEADERS.

commit 8288528eadb63761c5a8456d4c233468a94bf244
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 14:01:36 2007 +0200

    Remove WITH_LIBDWARF_INCLUDE, WITH_LIBDWARF_DEBUGEDIT.
    Add AM_CONDITIONAL(LIBDWARF).

commit fa6c15d39ad4de0bbe4dfdb1aa0c824e37b5255c
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 13:48:51 2007 +0200

    Drop supporting insource-tree libelf/libdwarf.

commit 7b282c989883b0d5ccbc82fda4071c0b574598df
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 10 14:32:25 2007 +0300

    Update default per-arch compiler flags for modern gcc (rhbz#212583)

commit 8fc069ce476e737c6d43d897d3c08ab5a19f3ad2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 10 12:09:36 2007 +0300

    Add comment about checking --help to manuals (rhbz#164281)
    As users + admins can tweak popt aliases to their liking, it's impossible
    to guarantee than man pages are in sync with what's available...

commit 9ef80f10ddbb379591ba8403da211fc10faeb954
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Aug 10 11:41:24 2007 +0300

    Cut down on false perl requires (rhbz#198033...)
    Patch from John Owens.

commit 65c3b9c4ab46008d9fdd283b63242771dd948985
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 10:02:25 2007 +0200

    Depend on external libbeecrypt

commit 5b21d43bf4aa5377f266e7a01a1c69b24041776e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Fri Aug 10 09:43:52 2007 +0200

    Depend on external libpopt

commit fdb199e5a13203bcaaf92af1dd93bc25c9dee0c1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 23:43:39 2007 +0300

    Add arch to default query output, finally... (rhbz#221148)

commit 4a70bc0eb12ac68698f0baab28d3efb0ce42eb8f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 22:34:49 2007 +0300

    Avoid truncating /var/log/rpmpkgs in case of errors (rhbz#232830)

commit a3c7fe2fab7da2671fc200041bb9618c29d825b3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 22:02:02 2007 +0300

    Clarify --initdb usage in manual (rhbz#218057)

commit 8afa0d14221a950ce85f3fcca226a9e6e570fdbb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 21:50:56 2007 +0300

    Skip stale and unaccessible (FUSE) mountpoints (rhbz#190496, 220991)
    Ported from rpm5.org work of Jeff Johnson.

commit 03a0e17d744c84ec7dd424cac72b4257159c2d6f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 18:03:59 2007 +0200

    Link rpminject against librpmbuild.

commit 82b91d79948c03303224d5eb472fa252c520f794
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 16:54:50 2007 +0200

    Update.

commit 2e76290a6d5a5ed4966d9bab204bd4ad898a9f82
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:45:48 2007 +0200

    Fix contact address.

commit 818fd1b7f4e56395b77829f1c9c8aa42bf0c09c1
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:42:41 2007 +0200

    Run update-po.

commit 0e037592af686431f495c0e401ff6ccee01c1e04
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:28:10 2007 +0200

    Convert to UTF-8.

commit 5d07280066012e871ff8e17176c050dc13bc3612
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:20:13 2007 +0200

    Remove ro.po (Unused).

commit 52ed1dbf1aab6c8199a68ea21c75271806a42c69
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:19:25 2007 +0200

    Remove (Unused).

commit 6e7ad57a06d7cc91d47cd9a9901ee281d68cbf1f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:11:59 2007 +0200

    Remove (Unused).

commit ddbef73ab4e3286087d04233f458aa04942eb1f6
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:09:57 2007 +0200

    Remove (Unused).

commit ad2c08036219ded749ac66cf444914721d55b21e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 15:04:18 2007 +0200

    Bring tdbi and tsql under automake control.

commit 2d34243d2c22930b51984ebfa6b1276d0cdb4f46
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:59:31 2007 +0200

    Remove (Unused).

commit cd0e6521a09b685291ecf5850d4fc5ebe3349327
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:58:33 2007 +0200

    Remove (Unused).

commit 9decc4889024b6e27b868a58d3f6e8035a33899b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:57:06 2007 +0200

    Remove gl.

commit 788dd93d93a786ba0155513dbd755bf2263b570a
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:56:54 2007 +0200

    Remove (Unused).

commit d85566acd100eb1a3a86f0a5869cd0d91dd0e6f0
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:46:11 2007 +0200

    Remove (Unused).

commit 48f15525f08a788ab5faa0940f2403fc13991806
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 14:45:20 2007 +0200

    Remove (Unused).

commit ebfbc82bb1cd01bb58c5263e2bb5cba478667be2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 15:15:24 2007 +0300

    Avoid unnecessary .rpmnew and .rpmsave files (rhbz#128622)
    Don't create .rpmnew and .rpmsave files when file/symlink on disk differs
    just by timestamp. Patch by Tomas Mraz.

commit 2c8d28ef6aca0007dc7c3b776d10205661647521
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 14:18:11 2007 +0300

    Include it and es in translations

commit 9a308817438e4d78a14a379bbcb307c605b4b8c2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 14:11:31 2007 +0300

    Updated Italian translation from RHEL 4

commit 87eae0411682b648ed7ca753719d1782443bbd13
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 14:09:29 2007 +0300

    Updated Spanish translation from RHEL 4.

commit cdb779d258aafed12733bdab25273307f8b15515
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 11:54:23 2007 +0200

    Bring tests under automake control.

commit fdff55eb8dfe5dffc285868a77cb131896415833
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Aug 9 11:22:40 2007 +0300

    Attempt to resurrect trb

commit 61f96e5b0fae706dc55a25e8addae69b340280c3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 09:19:29 2007 +0200

    Cleanup EXTRA_PROGRAMS.
    Remove MAGIC.

commit b0c22d1a6c2ea4f0446383c6d601358d451fb8c8
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 09:13:05 2007 +0200

    Bring test progs under automake control.

commit 3edd6f1a9d148acfdde3fa5b3f8440838142b5e3
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 09:03:13 2007 +0200

    Remove trhn (No sources).

commit 9ff27308e780b9bd06c3323fef5707ffa695376e
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 08:26:48 2007 +0200

    Add const char *__progname to make it buildable again.

commit 023d2681009865b34ad9c0b4ee4ce5cd87e8aee5
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 03:44:12 2007 +0200

    Remove $(PROGRAMS).

commit 06ce3de4b60204291842fa2db4760cfe359ee0af
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Thu Aug 9 03:43:41 2007 +0200

    Remove rpmqv.c from EXTRA_DIST.

commit 952bc81d443188e50a8823d802b5bf55a03addef
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 18:12:31 2007 +0200

    Eliminate mylibs.

commit ae6c6255659dace7ac904b2d039a5be74463cfbc
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 16:54:26 2007 +0200

    Bring the apps under automake control.

commit e5f7bcc6829c6de1812cf069f980c0ad9c5af82f
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 15:48:22 2007 +0200

    Fix a couple translations.

commit 14d292ae94bd6cf2a3c2b450d0d5afe500e25f1b
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 15:03:55 2007 +0200

    Remove WITH_PYTHON_SUBDIR.

commit 3a9d5dda6067ad037d11f47665bdb0fe13e8e743
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 15:02:56 2007 +0200

    Hard-code python subdir.

commit 9b91c4a2fcb71d800fd3d55d32128ef62b434e1c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Aug 8 15:18:52 2007 +0300

    Fix permissions

commit c7e5193b219b2d5e05a6606aff5d3f2a2e4f2db4
Author: Ralf Corsépius <corsepiu@fedoraproject.org>
Date:   Wed Aug 8 13:35:00 2007 +0200

    Remove BEECRYPTLOBJS, .created.

commit 8480c29b091b42acea2ee17b7c5ddfb86982f2cb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 23:09:02 2007 +0300

    Add a few missing files to POTFILES.in (rhbz#249608)

commit 21524dd9cf016bc4e4bdf88ee611579c71fe6ba8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 15:46:11 2007 +0300

    rpm is not a cross-tool...
    
    The patch below removes AC_CANONICAL_TARGET from configure.ac and
    changes $target to $host.
    
    Background: AC_CANONICAL_TARGET is supposed to take the target of a
    cross-tool, not the target of cross-compiling a package
    (== a configure script's --host).
    
    Patch from Ralf Corsepius

commit b0fcfbb19bc4dc5e4cf243664f0c87c008e5f065
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 14:47:43 2007 +0300

    Couple of ARM-related typo fixes from Lennert Buytenhek.

commit 439e3f82006a4de3cb3364853c2fe19c910d9920
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 14:47:10 2007 +0300

    Detect and use -gnueabi instead of -gnu on ARM as necessary.
    Patch from Lennert Buytenhek.

commit 480c7faa69c55fb01d2b9a4feb4e9cfdd90b1832
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 14:24:29 2007 +0300

    Use PACKAGE_BUGREPORT in rpmrc.c's error messages.
    
    Background: autoconf supplies a define (PACKAGE_BUGREPORT) which can be
    used to provide an email-address for bug reporting. So far, rpmrc.c
    sources used a hard-coded addresses instead.
    
    This had caused i18n'ed strings (po/*) to contain different email
    addresses for bug reporting. The patch changes this behavior into a the
    i18n'ed strings to use the address as a string.
    
    From Ralf Corsepius.

commit 37c6a80fd9ba9a49da5cc4ae3de33d70e92427ee
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 13:31:23 2007 +0300

    Remove dead tficl code..

commit 2b3802175e150f6c8543e949a6f843113ab9dae2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 12:58:45 2007 +0300

    Fix --dump usage description in the manpage.
    Patch from Yu Zhiguo.

commit aab16a0274277360816419a91cafcc837e00dd6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 12:04:05 2007 +0300

    Allow building without python-devel.
    
    The patch below adds a check for presence of Python.h to configure.ac
    and applies automake-conditionals to switch off building rpm's python
    bindings if Python.h can't be found.
    
    Patch from Ralf Corsepius.

commit 91dc76dab02f6b88eb52dd86136bade7abc767f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 12:02:54 2007 +0300

    Automake cleanups from Ralf Corsepius.
    
    * $(mkinstalldirs) in Makefile.ams is an anachronism.
    Modern Makefile.ams should use $(MKDIR_P) instead.
    
    * There is one direct call to "mkdir -p" inside of the toplevel
    Makefile.am - mkdir -p is non-portable. Portable Makefile.ams should use
    MKDIR_P instead.

commit c823d84c722c789fbd36f43f48a3943466369b74
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 12:01:31 2007 +0300

    Minor bug fixes to test programs to make them buildable again.
    Patch from Ralf Corsepius.

commit 65404e8850b446088fd5437ff4cb294c42ce4d1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Aug 6 11:46:51 2007 +0300

    Updated Brazilian Portugese translation from Igor Pires Soares.

commit 8d2b416782e35fc439401f35166091fe0f9de038
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sun Aug 5 11:30:55 2007 +0300

    Automake cleanups.
    
    - Replace INCLUDES with AM_CPPFLAGS
      (INCLUDES has been replaced by AM_CPPFLAGS and is deprecated in
      modern automakes for several years)
    - Require autoconf-2.61 and automake-1.10
      (already required by autogen.sh)
    - update mkinstalldirs with the version from automake-1.10
      (The version in rpm is ancient and known to be bugged)
    
    Patch from Ralf Corsepius

commit 6c4b0fc9e44ea3b9449e171404c1b2037d15d01e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 31 12:06:34 2007 +0300

    Extract pkgconfig and libtool dependencies automatically.
    Ported from rpm5.org work of Jeff Johnson.

commit 345d1189aef724e893f8beb4f57db5111ddd6166
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 13:43:22 2007 +0300

    Fixing fallout from MARK64 removal..

commit cab228435bde1b5496522c03a4ce9840f2ef3701
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 30 11:58:31 2007 +0300

    Update internal BDB to version 4.6.18.

commit 2d07882d45e9e575c00f8f402d4c7271bb65cfe9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 26 10:50:06 2007 +0300

    Get python to honor prefix on install

commit 4bcd08549d811907b52082ec531d6d20a21f9e56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 25 17:10:57 2007 +0300

    Set libdir /usr/lib vs lib64 directly, drop MARK64 stuff

commit 2e1a7ca2f782b664dbe226971f6c4aa8ffd39981
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 25 17:05:36 2007 +0300

    Rpm's "stuff" is in pkglibdir, not libdir, fix usage in install-data-local

commit 48524d3b3303717c7d0455d8d58dd291f793f627
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 25 17:04:15 2007 +0300

    Flatten python makefiles, path tweaks

commit f922a20f90726295efb4320b2611c14803fe966e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 25 15:36:58 2007 +0300

    Add initial rpm.pc pkg-config support.

commit 8eb84ab6c7867421acc5037d08f8c43463ef4c44
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 15:19:39 2007 +0300

    Update translations..

commit a71588e9bbf0701287944057705517cf746a8a11
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 15:18:17 2007 +0300

    Update TODO
    - popt and internal libmagic removed
    - gettext-system updated
    - bdb has already been updated (only not taken advantage of yet)
    - "make distcheck" actually works now

commit 129f42a6699c1110e1db9704443733d391487aa2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 15:17:04 2007 +0300

    Add linit.h to liblua sources (distcheck sanity)

commit f40d7401a5094cae2a72094cfe5fa46ada207e9c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 14:59:58 2007 +0300

    Further makefile cleanups.
    - don't use wildcards in EXTRA_DIST
    - additional -local uninstall and distclean targets to clean up what
      the make did

commit 7b6ef059a2ed56f8fe35542570d7a767daebf952
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 14:21:32 2007 +0300

    More gettext cleanups.
    - Use po/LINGUAS for language list instead of ALL_LINGUAS in configure.ac
    - replace obsolete INTLLIB with LIBINTL, gee..

commit ee5d67f1f029cb9b5bea5ea87e15229361edffb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 14:14:27 2007 +0300

    Fool bdb make system to "work" with distcheck

commit adff791d95d89ff5f314fd3b335840b424c7fc72
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 14:13:13 2007 +0300

    Run autopoint from autogen to generate necessary gettext-things.
    Remove automatically generated files.

commit a600b09a88360fa807a499ec98b5145f058d3a80
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 13:10:31 2007 +0300

    Python install path fiddling to appease with distcheck

commit f763a218799f3a50515ac2893dd6a12fd0b35a4a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 11:55:37 2007 +0300

    Use python distutils for determining include etc paths

commit 8a2706cd117f37262f59d6b45bb32af8978a19d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 10:19:55 2007 +0300

    Kill of one more rpmfile reference

commit ffa3122d5843fe931cbdb4346fd54c5d78b6a024
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 10:13:28 2007 +0300

    Expect neon headers to live in neon/ directory in include path

commit 70e1c373d1cbcafac350fe4d5d83d09f3f3df3f0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 10:07:23 2007 +0300

    Expect beecrypt headers to live in beecrypt/ directory in include path

commit 68fc61fe087f6f97695eb888ba342fc248cddab1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 24 09:59:33 2007 +0300

    Rip out internal libmagic, require external.
    This is going to need more sorting out...

commit 4cc65f782d828feb21a6b4bd43f57dd197ca0aed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 23 13:12:14 2007 +0300

    Always create ChangeLog from scratch on make dist.

commit 871c280b84a6840c000245d6bc5c653e4628a4e1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 23 10:43:47 2007 +0300

    Update scriptlet names to match current reality (rhbz#248128)

commit bd21dff1087c4583c122197583952de715a38ff2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 23 10:02:54 2007 +0300

    Avoid static buffer and extra copy in docdir checking.
    From rpm5.org / Ralf S. Engelschall.

commit 00b4b3a68a6e88f11b958c54101d2aea735645e4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 21 15:48:03 2007 +0300

    Support fully qualified $Foo::Bar::VERSION expressions (rhbz#249135).
    Patch from Ville Skyttä.

commit 0ef67980e8a428985886482f33ebf8cdce979f7b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Sat Jul 21 15:05:19 2007 +0300

    Make rpmdbCheckTerminate() non-terminating.
    This allows use in exit handler without affecting exit code, and permits
    caller to do its own cleanup if necessary.

commit 6fdd71bbeef3d1c1b731b9fbbbfad792715c3a1f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 20 11:23:11 2007 +0300

    Force rpmdb clean termination on exit from python.
    Python process tracebacking with active iterators can and will otherwise leave
    stale locks around (as is presumably the reason for rhbz#235389 and various
    other locking issues)

commit a9f84cb15e00decc28598dfded8b1c4867bd8a9a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 20 11:19:56 2007 +0300

    Support explicitly asking from rpmdb cleanup + termination.
    New rpmdbCheckTerminate() function which checks for termination signals
    and allows requesting termination via parameter as well. Make
    rpmdbCheckSignals() just a wrapper that calls it with terminate=0.

commit 17b615eeb63e76bf0ee0f5fe26ff9401892b9265
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 20 10:41:15 2007 +0300

    Add python methods for checking pending signals from rpmsqCaught.
    - a thin wrapper for rpmdbCheckSignals() from rpm5.org / Jeff Johnson
    - a function taking a list of signals to check and returning list caught
      signals (python doesn't know about signal sets so rpmsqCaught needs
      wrapping)

commit 3b3a700984c9f04e6dc5c9905b89d793d6ea5fda
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 18 16:05:56 2007 +0300

    Use type from headerGet*(), not tagType() for now
    Blows up with header extensions...

commit 2cfd3012bfcb5c5c61bbaf662ef084e0ab789d79
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 16:48:14 2007 +0300

    Update internal BDB to version 4.5.20

commit b754fe19fd387ca5fe8e7c00ddaa25c898fa192f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 16:20:51 2007 +0300

    Remove long unused rpm.c, also removals from EXTRA_DIST

commit a1ba6ca84a13cdc14dd290f84d1e3984d52941f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 16:18:47 2007 +0300

    Remove ancient, irrelevant README.amiga...

commit 0f879a48bd684fc4d3b35b53bfb3a03807aa46a4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 16:14:51 2007 +0300

    Use binary search for looking up tag values + types.
    Mostly derived from rpm5.org work of Jeff Johnsson, additionally
    - fix thinko in bsearch result stabilization logic
    - fix querytags in verbose mode to actually show the types as intended

commit 505cad15bf554a72061c53c6120f453f2b530ed6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 13:39:48 2007 +0300

    Full sync of RPMTAG_* definitions with rpm5.org.
    
    As promised on rpm-maint:
    https://lists.dulug.duke.edu/pipermail/rpm-maint/2007-June/000357.html
    Now that new tags don't cost anything in terms of python binding etc
    maintenance we can at least keep tags compatible so querying cross-rpm
    works (mostly - there are differences like md5 vs filedigests)

commit d406964cb1018403ab50337d02fd78b9bbd9052d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 13:21:41 2007 +0300

    Use tagType() for determining header data types (array or not etc)

commit 89b63475e2ea89f671c3e55aafc6010af3d402b4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 13:17:05 2007 +0300

    Duh, forgot to bring in RPM_MASK_TYPE definition

commit 6388d220bff107f26116345708e0aa69890bcd14
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 13:13:46 2007 +0300

    Use simple and stoopid linear tagType lookup for now.

commit 892e8fe2954f64c6d129c57f86d1d4348f2fe23e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 16 11:11:41 2007 +0300

    Automatic return types for header tags.
    Derived from rpm5.org work of Jeff Johnsson

commit c57831dc7d62ec3f2119bb955e3fb6ef7a205206
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 13 14:23:21 2007 +0300

    Use tagValue() for name->tag lookups instead of manually walking tagtable.

commit 8360b1147cb2ad146903ff0fafe1a1f5a5f38d6f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 13 14:18:00 2007 +0300

    Update tagtype definitions wrt rpm5.org

commit ba7c00097076b2a5ec42fde068ea88e0106590f2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 13 12:59:22 2007 +0300

    Kill RH-specific _vsflags_up2date, use generic __vsflags in bindings instead

commit 7ed32d335125cb406c6361167e10b095ab1e5a26
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 13 12:46:48 2007 +0300

    Clean up python ts object creation.
    - Remove code duplication by making rpmts_Create() just a wrapper that calls
      rpmtsObject to create the instance
    - Move the initialization from rpmts_init() to rpmts_new(), calling
      ts.__init__() multiple times isn't something we want to allow (setting
      vsflags multiple times is ok but there's a method to do that already)

commit 2404685050a3405602225274d09d02baeb28a547
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 16:10:46 2007 +0300

    Kill of RPMTAG_RHNPLATFORM: don't add to header, mark deprecated.

commit 5a3f376a2bba42855bd6a1b4002dd094293a19f1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 15:46:31 2007 +0300

    Rip out rhnLoad() and rhnUnload() from python bindings.
    Prehistoric, unused and vendor specific stuff... time to go.

commit 27e182d20cdaa3727837886ec2aea592d60918dd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 15:36:15 2007 +0300

    Remove references to internal zlib from internal libmagic

commit 77521a682d322cef9a468a565042e5ba651c1824
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 14:36:49 2007 +0300

    And one last debugedit fix...
    Modern gcc doesn't like arithmetics on void pointers, cast where needed.

commit bc983c5995ff19fdcbdd3351ffbcb03ff5e889f3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:53:23 2007 +0300

    Silence the rest of ptr signedness issues in debugedit

commit a0a1875130a7fd46574cafa61619f8ecf5cf9cf8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:47:51 2007 +0300

    comp_dir doesn't need to be unsigned

commit 1a86730b9ccb828d53cf92921bcc85ac6c88291b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:43:40 2007 +0300

    Remove unused variable (debugedit)

commit ba8d55161afae5ad2fdb859417eff6bf014ccdd5
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:43:01 2007 +0300

    Debugedit cleanup continued.
    Cast to expected type on all uses of strchr()

commit 3b8aa6423fdc23c709b8f133cbad9ec6038c4758
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:41:18 2007 +0300

    Debugedit cleanup continued.
    Cast to expected types on all uses of has_prefix() canonicalize_path()

commit e1e269c23cea39923d8e9fcce9028f9a583f9e8e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:37:32 2007 +0300

    debugedit signedness fixes wrt strlen()

commit 7e6084ad8293c2172362eac9e140a478f2883a9f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:27:07 2007 +0300

    One last fix for const qualifier discarding complaint in python.
    OTOH we need to call PyCObject_FromVoidPtr() with non-const cast..

commit 85e427b2ef85c474d85ab2e57b2244dfd96e4fe8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:23:33 2007 +0300

    int vs ptr sizes differ on some platforms, make alNum intptr_t to fix

commit 6f993fee6506639c6f3bb94bf98750d747891b31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 13:03:19 2007 +0300

    Pull in rpmfi int_32 -> uint_32 changes from rpm5.org.
    TODO reminder to audit all uses of those, plenty of places where signed
    doesn't make much sense, inconsistent use etc.

commit e12cf3d1cc653dfac7bb7fe3f9aa801ab0536c88
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 12:30:26 2007 +0300

    Use uint_32 for dirindexes everywhere

commit cce81e1fa00d98dc97b6a9daa6b8b55437933ff8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 11:55:45 2007 +0300

    rpmioSlurp() related cleanups.
    Derived from rpm5.org / Ralf S. Engelschall

commit d52a645802ea47b2a4a435d628dedc86b509df51
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 11:06:16 2007 +0300

    Fread() and Fwrite() can return negative values, change type to reflect that

commit cf85c830fb626a3cb6074ffad95eff3d0d18a408
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 10:10:25 2007 +0300

    Cast argv to rpm_execcon expected type

commit cd4fb0f9f4c583d60f4a86e62f0c8cc268af408d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 10:00:43 2007 +0300

    Silence yet another char ptr signedness warning

commit d0e8db7af4ca8d67f1d2047a966801ffc1165dfa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 09:22:38 2007 +0300

    parseSpec() cookie should be const, make it so...

commit 29dbb10c1f30b241486bcb60627283e8a87950ec
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 09:20:09 2007 +0300

    Some obvious "missing const" cases...

commit 495efd502db5e1d663e77cfb0a3c47dfacb7e018
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 09:18:00 2007 +0300

    Avoid discarding const

commit a0f532e2faa3fa7d0ffcfa337ab0922bdec4d4e9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 12 09:16:23 2007 +0300

    Fix yet-another-compiler-warning.
    tmpSpecFile gets passed to mkstemp() which expects to modify the template
    thus discarding const

commit 6e0ccfb0d524d875929e2ed5f89afef07373abac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 16:12:56 2007 +0300

    Cast to expected type.

commit 1f54d19e16bff4f423cf9b2dadcea061f622e7f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 16:12:29 2007 +0300

    Cast to fix size difference.
    Patch derived from rpm5.org / Jeff Johnsson

commit 22c0cab843bec0eb84f42952e97abf30ece8aaed
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 16:00:51 2007 +0300

    Cast to void** to silence hge() warning

commit 982660de766296d275b542a177822ea6642d904a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:56:12 2007 +0300

    b64decode() len paramenter is unsigned size type, use it...

commit ba63d405aee2b6f618c9bebf79af39d1b6ca6692
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:39:51 2007 +0300

    Turn rpmioSlurp() length argument to unsigned size_t, fix up uses.
    Derived from rpm5.org / Ralf S. Engelschall, I do agree length can't really
    be negative...

commit 29657cb81bd3fd3489b944ad4187007ea0ac7f8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:33:50 2007 +0300

    Use unsigned size type for pgpReadPkts().
    Derived from rpm5.org / Ralf S. Engelschall, I was too blind to see
    ssize_t vs size_t, duh :)

commit 4ec63d707bc53627717a0c4687b25c0a7106a0d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:29:30 2007 +0300

    Cast timedRead() buffers to expected type.
    Patch from rpm5.org / Jeff Johnsson

commit 4948a27bec2b228fe7322563c7e5f70ceaef6b87
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 15:13:47 2007 +0300

    Use correct formatting for scoreboard pointers

commit 9539d0a9ff3d963016984572fb6a6cca2d5f3bac
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:48:38 2007 +0300

    Cast to int to avoid gcc complaint from python enum registration.

commit fa262a27649a5908b3641e479bb4061b2b773d19
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:45:34 2007 +0300

    Add missing include for mergesort

commit 112a6db25d6047b7c83c968d894c4d58a4dcf849
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:31:54 2007 +0300

    Char ptr signedness fixes to python bindings.

commit ac2d3f8f4672b00be4b97d80c02beebcfa24ac40
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:27:48 2007 +0300

    Correct type for python rpmrc lenght function

commit cf646d480241567661307492a17e77a4788117d1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:23:07 2007 +0300

    getRepackageHeaderFromTE() expects const char * as 4th argument

commit 62f1ed90b8342224011eaef5b3369e436f60136f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 14:02:12 2007 +0300

    Ifdef unused http timeout setting to future..

commit 6a51e2f49f4f23d97363b081f1a56c2e08a49ec1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:52:22 2007 +0300

    One more domd5() buffer signedness fix.

commit b8da45aba1216b4da067cbccf865b3ef3557d948
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:50:54 2007 +0300

    Missing include for domd5

commit f0a178f1283caeaf88ee0c1b76f9acc63ff4d336
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:48:43 2007 +0300

    domd5() buffer signedness fixes.

commit 40e8f62678fcf2498108f2af683522301ed17b25
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:42:04 2007 +0300

    rpmteIsSource() doesn't return pointers

commit ed982f539c4d2f40df79c1ce73440878e63896c7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:36:03 2007 +0300

    Quiesce false gcc unused variable warning.

commit 33d9e08adf892263b9805311a0c8b223294288ff
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:33:32 2007 +0300

    Add missing includes to local lua sources.

commit d580a904031f6e9c2635dce2fcc984de0f7acf30
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:20:45 2007 +0300

    More ptr target signedness fixes...

commit ed3e713b17d36308f124b1697dca5e6aa5cf8cce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:13:35 2007 +0300

    Make offsets match what rpmdbAppendIterator() expects

commit 2e8356bda9919461a6ce84a172ad936f19869405
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:10:47 2007 +0300

    ...and more pointer signedness fixes...

commit e497e39d2ec7f66c46822a571af5a81c7c737e2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 13:00:45 2007 +0300

    More char ptr signedness fixes..

commit 3f92e558da363c78a525795307833578d5cc6ce6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 12:54:35 2007 +0300

    More char ptr signedness fixes.

commit 8b76976f6c09a92352bbdd817d4b6fe31659d277
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 12:44:45 2007 +0300

    Cast assignment to destination type to fix warnings.

commit c8b871d5496b4920ef234f049ae2bb1483702a56
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 12:34:46 2007 +0300

    Ifdef out currently unused rpm logging facility stuff.

commit e1508eff864621c9a91c9a4f016fda915ea28bb2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 11 12:32:17 2007 +0300

    Shut up fdUpdateDigest() differing signedness compiler warnings.
    Derived from rpm5.org.

commit 220c0fd514e9e1d4b38a77c22df8679ad52421ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 15:25:32 2007 +0300

    More python method pointer type fixes.

commit c12c54dca8ae655ebb068e6f5ee597b7cb75e2bf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 15:20:34 2007 +0300

    Cast to PyObject to avoid compiler whining

commit f91bb73993794e573ecc234106feca12739a4cea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 15:19:04 2007 +0300

    Fix bunch of compiler warnings from python bindings (method pointer types)

commit 075560d864115ae7aed0c461040a1e151ae05725
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 14:02:29 2007 +0300

    Add missing include to rpmcache

commit 52f208dca305cd52d9760f9814583c1e4de243e6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:52:49 2007 +0300

    Remove meaningles statement to avoid compiler warning.

commit fd187d8cf5e94a7ed442e50603f009508af0e41c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:46:32 2007 +0300

    Remove two useless rpmtsSELinuxEnabled() calls.

commit 0fdfaed857e6ad44c0b30ae0cf9b9aa0b9c4797b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:43:46 2007 +0300

    Bunch of variable initializations to avoid compiler warnings.

commit 896a10be647ae2c2c9fb80fdb1e6e5a5c343cdca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:36:47 2007 +0300

    Cast dbenv error call method set to void* to fix compiler warnings.

commit 2f340d4deea1626f3b7e5dac50a6c239d8e95d6d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:35:50 2007 +0300

    Cast glob_t *dir methods to void* to fix compiler warnings.

commit 31592ebc7f399bff9903c9b3134aabb351b102b6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:34:17 2007 +0300

    Cast signal handler pointers to void* to avoid compiler warnings.

commit 4a46e1fb4b4a931a6f88a095a847c386bc4dac31
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:32:45 2007 +0300

    Cast tid to time_t for ctime() to avoid compiler warning.

commit 773405eebb607277a6b1ab1a35feca06a4901346
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 13:23:56 2007 +0300

    Fix a couple of compiler warnings

commit 049674696d7f495ddf4faa4e0327712870f603ab
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 12:15:43 2007 +0300

    Remove const type-qualifiers from function return types everywhere.
    They're meaningless in C and cause tonne of build warnings.

commit f64a1a327bfb443fea6ed766be40547c855d27a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 11:39:40 2007 +0300

    Cast to strlen expected type to avoid warning.

commit a7458d9dd7587b9782305966c47e0f913c4a53db
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 11:39:11 2007 +0300

    Msg buffer signedness change to avoid several compiler warnings.

commit d2c56c404cdceda9ca3af82741d8185c8cd4fe22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 11:19:12 2007 +0300

    Use correct size type for getpeername()

commit c9ce3241df1bc64dc61299a0a4c213530c6cef1a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 11:00:04 2007 +0300

    Remove / #ifdef out unused variables as appropriate.

commit fbf324936b2fcc876da545720c7d1c2240c24f07
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 10:47:35 2007 +0300

    #ifdef out unused pgpSecret* definitions to shut up compiler warnings.

commit f1b4f7590b9170e04636a66b92888163fc7cac9b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 10 10:27:55 2007 +0300

    Fix bunch of string formatting warnings.

commit 7b7d879160bdf9288f0546203f015b2a8e639485
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 12:47:25 2007 +0300

    Avoid closing scriptlet stdout by mistake.

commit ac543bac0b243afafdb160e78010e2a03f0de452
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 12:39:43 2007 +0300

    Make docdir checking stricter (rhbz#246819)

commit d8c6119ae580a0e0977337fe1e82450d7732a451
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 12:31:32 2007 +0300

    Remove outdated comment in check-rpaths-worker

commit 3ad747cd55aa4ae0e6f773984573186d2891d91f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 11:47:48 2007 +0300

    Fix ordering with --nodeps.
    This adds unneeded second rpmalMakeIndex() call to normal path, the index
    creation needs some kind of tracking mechanism to avoid this...

commit a867e6786e66c623449f464b6c8c13900f0a7cdb
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 11:23:58 2007 +0300

    Permit packages with no payload format (rpm 3.x compat), ugh...

commit 03d95de7a0138354698772d9c393bcb4a71a4279
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 9 11:01:33 2007 +0300

    Fix include of misc.h, rpmpgp.h and rpmsq.h in C++.

commit 60194412dadd4a0184f5100b7c6fe7d84a566f98
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jul 6 15:16:09 2007 +0300

    Include symlinks in find-lang search (rhbz#246729)

commit 5275cce57b26482baa54ba9935a36d9c93aa4e23
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 5 16:59:34 2007 +0300

    Rip out popt.

commit 769ad04453840ad92cb2a438c6f0825a76cd01f7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jul 5 14:47:29 2007 +0300

    Tags fixup.
    - consistent tag naming
    - remove false 4.4.2.1-rc2 tag
    - use dots instead of underscores, hg has no silly limits wrt that...

commit 694a18cd7c1260cc359c64b5224654c67847cda7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:35:12 2007 +0300

    Added tag 4.4.2.1-rc2 for changeset da8803a1a1f0

commit 96a7eacd1c203bacc9e76bbf5f1493505b22e050
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:34:52 2007 +0300

    Duh, really kill the broken tests.

commit b1952ec5f97217850bad9cdce0ab119bb2225731
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:21:07 2007 +0300

    Added tag 4.4.2.1-rc2 for changeset 2aa6758ed8fb

commit a2c38fbcaf0558c8a151d66438efdf10673d0e04
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:18:43 2007 +0300

    Preparing for 4.4.2.1-rc2
    - update CHANGES and version
    - update translations

commit fc1646506bcf017a9cd8ed7fab9ab9537513a2c3
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:11:27 2007 +0300

    New debugedit option to recompute build ID (rhbz#246404)
    Patch from Roland McGrath.

commit b95a206f14bf76f817b845b4a9a1ab6b43c433d2
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jul 4 15:06:20 2007 +0300

    Include additional buildroot sanity check scripts (rhbz#245639)
    - check-buildroot for checing buildroot files for references to $RPM_BUILD_ROOT
    - check-rpaths* for checking buildroot files for broken rpaths
    
    Scripts by Enrico Scholz, Ville Skyttä.

commit d7d8c35e67d3dc79acc40dc4411a2f14c584bec9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 3 14:27:08 2007 +0300

    Fix segfault on errors if neon transport is used (rhbz#220392)
    Patch from rpm5.org / JBJ.

commit 39defaa877956e0719451f37d1eee81350a163ca
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 3 14:13:13 2007 +0300

    Pass --wildcards to tar on build (rhbz#206841)
    Tar no longer accepts globbing by default as it's incompatible with
    traditional implementations:
    http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00001.html
    
    Rpm needs to work with upstream tar really, the --wildcards option has been
    supported since 2001 so older versions shouldn't suffer either.

commit 6fcff4422a954ff9d44cbe23a16a15739c2e2729
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jul 3 11:51:51 2007 +0300

    Minor update to Polish translation (rhbz#243569)
    From Piotr Drąg.

commit de50397c711455d144efaf6709909423e7ef0f12
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jul 2 15:02:15 2007 +0300

    Plug some memory leaks.
    Patches from rpm5.org / JBJ.

commit 0195ea4a5ae0b04844e9a34cbb5839cb899dd792
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 29 14:12:44 2007 +0300

    TODO-update...

commit c00b3321a4b208b1fb3d447cdc118d379e5fe9f6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 29 14:11:10 2007 +0300

    Add /usr/share/gtk-doc/html/ to docDirs.
    Patch from Jeremy Katz

commit d9ea43262e26dbdd23bdb060704d21004055807e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 29 12:33:03 2007 +0300

    Disable totally broken tests, add fixing reminder to TODO.

commit 3b6acfff8d8e22c31287bb4d9a434b5da733032f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 28 14:44:48 2007 +0300

    Remember to free up match iterators (rhbz#246044)

commit 2738140221eafc47db72e353663bb916f544d60f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 16:29:16 2007 +0300

    Fix a warning from sparse in popt.h (rhbz#202005)
    Patch from Kjartan Maraas.

commit 52789915e5034cab9a720d5c8dd7afb8af0d9312
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 27 16:17:21 2007 +0300

    Updated Russian man pages.
    From Andrew Martynov, rhbz#185620.

commit b91128a0b841fec6517020f6b348923458e9cbe6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 26 20:46:51 2007 +0300

    Remove hardcoded libtermcap vs bash kludge.

commit fd1ea6a5e9ce474e840b58256f086936ef147247
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 26 09:38:21 2007 +0300

    Bump popt version to allow clean upgrades with the current bundled mess.

commit 7e9df78063312e6619cf78ed9568d19c3feee64a
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 17:14:39 2007 +0300

    Added tag 4.4.2.1-rc1 for changeset 89fa17e70ff2

commit 6ea7ff5cd74d6085b4099815e8e1bc47e37f7b2e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 13:29:09 2007 +0300

    Mark as 4.4.2.1-rc1

commit 278ce875a7d2aa9d01900d55b64a0d75b10521a0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 13:27:56 2007 +0300

    Update TODO + CHANGES..

commit 9b3c7b96c5f2ca1bc326df8385ed34c11c2ff6a8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 13:27:21 2007 +0300

    Pull full changelog from hg into dist tarball.

commit b4355dfb945cf121adcd0f4c95cca2ce4f2df715
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 13:12:13 2007 +0300

    Use ustar format for dist tarball.
    BDB has some very long paths that start getting stripped out when our
    version string is longer than just x.y.z.

commit 6e2f56fe25a9ee62af51e0408861a8a43c97a709
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 12:47:33 2007 +0300

    Remove ppc64 inline asm (rhbz#233145)
    
    Patch in both Fedora and Suse...

commit 66c2a1d82ac83436ce4ff3071d3a028e5ea51ba6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 12:37:29 2007 +0300

    Enable ts ordering for erasure mode.
    Same patch in Suse & Fedora...

commit aa467ebc5b03dbd837970abdfdc3329a3f62bb77
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 12:28:25 2007 +0300

    Transaction ordering fixes (rhbz#196590, 202540, 202542, 202543, 202544)
    Patch from Fedora / Paul Nasrat.

commit f49c8bc304c86c97864c60b70e3d420f7a04042e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 10:40:14 2007 +0300

    IPv4/6 and EPSV support by Arkadiusz Miskiewicz

commit ccd3a804e33fb149f6db5b4dc0a78697dfe074d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 10:37:37 2007 +0300

    Nuke ugly /var/log/lastlog kludgery.

commit 406a410bc3b4f245803dec59c1ee4a72aa10e313
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 10:31:37 2007 +0300

    Don't mmap large files (rhbz#139539, 177616)
    Patch from Thomas Woerner

commit 8b8e27ec5bd47c1dddbc197911e2168bedd71373
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 25 10:28:05 2007 +0300

    Detect and provide a requirement for DT_GNU_HASH.
    Patch from Fedora.

commit 82885665ce59795aceb439452cfd3bddbae04afe
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 21 15:13:04 2007 +0300

    ARM arch update.
    
    Adds more ARM sub-archs, and adds some bits to deal properly with the new
    ARM ABI (EABI). Patch from  Lennert Buytenhek.

commit 57f2cabf0f0915cbd4b1b86c247bad42e9a7d19b
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 21 12:28:13 2007 +0100

    Initialise replaced

commit 746d798d5dc05239c129beda98f04807a64040ad
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 21 09:57:19 2007 +0100

    Backed out changeset 99c5bd19ffc4bfbfa5601767cbc1338b5fa570e9

commit b363333f5d04cfd14b1b514a499cddf5a1aea6db
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 21 08:57:01 2007 +0100

    Initialise replaced on rpmfiNew

commit c44738eae897466e8496efd4b75b5116dd4e6a97
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 21 08:09:24 2007 +0100

    Fix thinko

commit e790bca3e99fa9609cf448234a9ca6c5ad6b860f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 13:25:27 2007 +0300

    Initial CHANGES update for 4.4.2.1

commit 51d4ac0ec415e126ef60c4718f7fd2d2ec841b7f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 12:09:51 2007 +0300

    TODO-update

commit de9baf46443953af69ebf7489a69aa460e964a16
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 12:06:36 2007 +0300

    Auto*foo to check if gcc supports -fno-strict-aliasing.

commit 2501a547b6809608ebb5f4c70f3ff39f7b104183
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 11:07:53 2007 +0300

    Duh, remember to initialize opt_F

commit a36fe663614c7047a5dcd893ea39d2115be2ecc4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 10:58:10 2007 +0300

    Add reminder about enabling mmap() use after 4.4.2.1.
    The code's been unused for years so too risky to enable right now but should
    offer good performance improvement. Fix the HAVE_MMAP checks.

commit 57a53d1080b91343e5420acce88e3eaae86483e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 10:26:14 2007 +0300

    Move SELinux specifics to the section of configure.ac where SELinux is already
    handled instead of mixing it into the 'static linking' section.
    Patch from rpm5.org.

commit fb93d8d34f80d01c754061ab8e32ef74c01ab339
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 10:23:38 2007 +0300

    More configure.ac cleanups.
    From rpm5.org

commit 54ac5046344030a70c37052996aa4a9c635dffbf
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 20 10:20:15 2007 +0300

    Throw out unused stuff from configure.ac
    Patch from rpm5.org

commit 866771356c0c4515b8ee84831584c3a27e5ce88f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 16:12:04 2007 +0300

    Rename headerCheckPayload() -> headerCheckPayloadFormat()
    to remove any potential confusion as to what it really does.

commit a4d336f0536154450d54ff7d350cc85a85511e96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 15:16:13 2007 +0300

    Update mailinglist address in error message, ugh..

commit 2cb4d412b1063a1f269a02b36f4e387003dbf989
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 15:10:25 2007 +0300

    Add support for specifying fuzz factor to %patch (rhbz#243720)
    
    Based on rpm5.org patch, additionally support both -F1 and -F 1 formats.
    Use stpcpy() instead of strcat() for doPatch() args processing.

commit ed8566798f91f82c37d4db8f85296534fe2f4b2b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 14:35:40 2007 +0300

    Update translations

commit 4f5217f70ae16ffe4fbe93f2b59c6f6208612609
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 14:29:10 2007 +0300

    Fix variable double definition.

commit 759ad2f36c91589665b4a67f1d00cfc58e6e5087
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 14:21:01 2007 +0300

    Fix CVE-2007-2799 integer overflow in internal libmagic. Patch from RHEL4.

commit 59920364efcc433d2d72d82cdc2b55758eba71b1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 14:19:36 2007 +0300

    Fix CVE-2007-1536 in internal libmagic, patch from RHEL4.

commit 036e9e6dcb8165bb5862b55c6e8825161d78775c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 13:45:42 2007 +0300

    Don't treat provides as implicit obsoletes (rhbz#111071 etc).
    This isn't really desired behavior by anybody.
    
    Patch from OpenSuSE / Michael Schroeder

commit 30234b37379ea53db1b1a5a2bc75d25a9cb6a2d7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 13:33:50 2007 +0300

    Open non-temporary db's before chroot (rhbz#103952, 173285)

commit f95946925cc0f63fc11ca925347e737a7e18a43f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 13:22:41 2007 +0300

    Don't open temporary databases at rpmdbOpenAll():
    Add a helper function for filtering out temp databases and use it in all
    the various places.

commit c7705557d9cff5fd56c96d0915148efd5fcb7e3c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 13:00:13 2007 +0300

    Remove rpm and popt specs, spec files are vendor specific anyway.

commit e752d9cf8521439544308f350d6f6e720c03782b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 12:49:07 2007 +0300

    Nuke antique "reference" baddeps list.

commit 1cfcfba438736d11d76f69bc24bf900b4d01f59f
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 12:47:21 2007 +0300

    Nuke all dependency whiteouts, very much vendor-specific...

commit 9d454b367b0153cd3738bf97b087f29d5c00b4b0
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 12:28:12 2007 +0300

    Nuke default skipDirs list (rhbz#140055 & others).
    The skipDir() mechanism left in place for now for vendors to tweak if
    they see necessary.

commit 34957f796c96c112603e3be66981da3dc304d0ba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 19 07:30:01 2007 +0300

    Make %_signature default to gpg.

commit 0cfdc4fa038f9f37c403c613bc8c4dab4f3bb68e
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Jun 18 14:31:13 2007 +0100

    Ensure the status of the file which be replaced by another rpm package is
    updated

commit 7b78d3932b613987ad3e97a0c85c1e9ee18ec587
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 18 12:48:07 2007 +0300

    Don't segfault on a header without RPMTAG_NAME (rhbz#239557).
    Patch from JBJ.

commit 6f69c70e76deb57f5af8ee316e116a0c3b4c1077
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 18 08:50:52 2007 +0300

    Check all header strings to resize buffer CVE-2006-5466 (#212833).
    Patch backported from rpm5.org / JBJ.

commit 900de8606fc2d40f38fc050de9211586fc343d22
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 18 08:29:01 2007 +0300

    Flush query format buffer before listing files (rhbz#212833).
    Patch from JBJ.

commit af26016f77ef0e9b450ade0e7e742da1c09d5867
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 15 10:33:36 2007 +0300

    Don't try to open nonexistent file twice.
    Patch from JBJ.

commit c8dbe9d10b621c46eac0565d515767c50597f4e8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 11:22:49 2007 +0300

    Skip packages/headers with non-verifiable signatures and treat
    them as errors (rhbz#239557)

commit f8c4fb6f16ab5aef4c26305cfc5dfb8433c76fc7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 12 09:38:35 2007 +0300

    Updated Polish popt translation (Piotr Drąg)

commit d5d686b3b6ae0757dfed5eff3db91275c4583956
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 11 21:08:28 2007 +0300

    Updated Polish translation from Piotr Drąg.

commit 05ef6555f5f563ae55689e0d06a27c337b5eb8ce
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 11 13:22:25 2007 +0300

    Fix query output when querying for non-installed <name>.<arch> (rhbz#124016)

commit dae15112df43f66055832f0c081c5d53c2bf222b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 11 11:59:09 2007 +0300

    Permit multiple versions of a package to be installed (-i)
    within a single transaction (rhbz#213399)

commit cb55ab4c3584422612e8586a9398dc5f9d6955ea
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 11 10:37:40 2007 +0300

    Treat null epoch equal to zero epoch in python labelCompare (rhbz#227860).
    Patch from JBJ.

commit 07b45099bbaf51d5a92516be06245be7e44972c9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon Jun 11 10:30:29 2007 +0300

    Treat null epoch equal to zero epoch in freshen (rhbz#143301). Patch from JBJ.

commit f32c97f621ae8726130c042db66481c1336cf620
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 8 16:07:05 2007 +0300

    Allow characters >127 that don't fit the current locale in the
    specfile (e.g. latin1 in utf-8 locale).
    
    Patch from OpenSuSE.

commit 2045bd1814b44536eb006a03e96ef167eb873a96
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 8 14:22:30 2007 +0300

    Fix a few format string errors in German translation.

commit 20b4dbe0ba0de9b4bdcc5054e61fc9ac2b59e514
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 8 14:18:53 2007 +0300

    Run msgfmt in check-mode to detect format string etc errors.

commit 42171378282f9f074f1038c65f4c0de4c7d55ede
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri Jun 8 13:57:08 2007 +0300

    Updated Finnish translation.
    
    Fix (by correcting or removing) tonne of dangerously incorrect fuzzy
    translations.

commit 48048a39309e180fa439b1b158a87c2081bafbaa
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 21:51:59 2007 +0300

    Ts/db reference counting for match-iterators in python (rhbz#241751)
    
    Adds additional refcounting to the python level ts/db object to avoid
    anonymous ts/db from getting deleted while still iterating over it.

commit 578e90f2f83ba1872890182902f0fd0de28db402
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 14:59:45 2007 +0300

    Ooops, rpmdbFindFpList() not finding anything is not an error...

commit 825191fe76b4b9be0062bb46be11bbd823256598
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 14:56:48 2007 +0300

    Return error codes from rpmdbFindFpList() on "can't happen" situations.
    rpmtsRun() already checks it, and those things can happen in some exotic
    cases like rhbz#106057 as non-root, unless the non-temporary db's are opened
    before chroot...

commit fe762d20a5d4d23899029cec6ec0280473283c13
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 7 11:49:48 2007 +0100

    Detect python2.5

commit f17f9a948aee4ba26511eabd255e55a22596e9b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 13:19:43 2007 +0300

    Add new srcdefattr macro (Michael Schroeder / OpenSuSE)
    
    Helps avoiding useless warnings when installing src.rpm's etc.
    (susebz#48870, rhbz#125515)

commit 22281cf90b1b684b765026bb817c4eb9edb87173
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 12:56:22 2007 +0300

    Another TODO-update.

commit 40f4ed1de86e76799ad6839ed01d2a2974e4edc1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 12:15:52 2007 +0300

    Remove old testing cruft.

commit 1c254443c7bbc6c68f4131ccd518caadb6af7211
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 10:29:54 2007 +0300

    Minor fix to zh_TW translation (Wei-Lun Chao)

commit b06dfb3870595721b41c03fe23e46ed5a90c8df1
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu Jun 7 09:09:49 2007 +0300

    Add zh_TW translation (Wei-Lun Chao). Remove empty zh and zh_CN.GB2312 po's.

commit 8ae7508882536b5b85f3b8f8ce204e0d6aa1d350
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 16:56:17 2007 +0300

    Disable strict aliasing to stop type-punning warning spew.

commit 0f18a279a8910d2a56e584318bd838599cc870fd
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 16:12:58 2007 +0300

    Add db3 back to AC_CONFIG_SUBDIRS. Oops...

commit 63548fdfa090782c2c804781891d1d7cfd507bba
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 14:46:47 2007 +0300

    Make po Makefiles honor datarootdir

commit e8c0fa24beeb46dde6f0f70f496ac7aa416c0903
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 14:42:19 2007 +0300

    More auto*foo cleanups:
    - move AIX and MINIX checks earlier to avoid complaints
    - use AC_PROG_LIBTOOL instead of -RANLIB to avoid obsoletion warning

commit 802add035e4afbc5909af2517e7a347dae8e715b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 14:40:54 2007 +0300

    autogen.sh tweaking:
    - generate config.rpath from autogen for now (kludge...)
    - update autogen "documented versions" to F7 level, remove double versions
      checks (and complaints) from file/autogen

commit 1371af04f4162dd25d58c4e984b0bbd1efc82917
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 13:37:18 2007 +0300

    Unbreak zlib configure check.

commit 98d634bc7f5b438b9707c78194cc548ccfce12b7
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 12:50:56 2007 +0300

    Make peace with auto*foo.
    
    - Remove checks for internal zlib
    - Don't try to auto*foo'ize nonexistent zlib, sqlite subdirs. Db3 subdir
      isn't auto*-enabled
    - Set AM_GNU_GETTEXT_VERSION to make auto"#¤"# to realize we're using gettext
    - Don't stomp into auto*** namespace with LUA_SPLINT stuff (from JBJ)

commit c7f7ebe61c1593049bc80651ce4db7fbbfb9a828
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 12:45:20 2007 +0300

    Remove popt internal gettext, make peace with auto*foo.
    
    Rpm internal gettext was already removed, but there was another copy in popt...
    Fiddle with auto*foo to quieten various warnings and actually pass
    make distcheck.

commit d25fe17c71f11f6c3019d80897784781f822cb45
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed Jun 6 12:01:24 2007 +0300

    Allow tests to pass in distcheck where builddir != srcdir.

commit c755a3820e6734cf94a92380aeaf5ed899757d50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 5 15:34:52 2007 +0300

    Force FILEVERIFYFLAGS to be a list in python bindings.

commit 504775bb6997ba05ce441b2c8a67b65c289639b9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 5 15:18:49 2007 +0300

    Python rpm.te Key() refcount fix (rhbz#182063) from JBJ.

commit 7ca13025364fd3320d658e8220346f2eb7e0a55e
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 5 15:16:37 2007 +0300

    Fix typo in check-prereq (rhbz#203182) by Steve Grubb.

commit 592a1e5998c9b3646987e494de481a413473dd10
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 5 12:43:53 2007 +0300

    Payload compatibility checking fixes.
    
    Only check for payload compatibility when dealing with packages (and not
    eg build headers). Don't crash if no payload format defined in header.

commit 086dac456e607d61d0c2e31f80d29797c7ec4e50
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 5 09:45:58 2007 +0300

    Add --dupes popt alias for detecting duplicate packages in rpmdb from JBJ.

commit 768b36f1cf27af7ca6f67fdbefa71ef4b3397e8d
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue May 29 13:43:06 2007 +0300

    Restore SIGILL handler in machine detection code.
    
    Patch from OpenSuSE.

commit 89e3d5c1aeadf65337615241b68f28f06f665e4b
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 25 12:57:10 2007 +0300

    Run filelist checks even if other errors are present.
    
    This causes the unpackaged files check to be run even if there are other
    errors in the file processing. This is rather handy in spotting spec typos
    and such.
    
    Patch from OpenSuSE, somewhat modified.

commit a3f86a1d3d5af61b0eb8ba16d6ae0c0de1517d36
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 24 14:40:54 2007 +0100

    Fail if no beecrypt found

commit c3ce7e90a5cd994f1f6be1d21d9470b8fe344bb6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Thu May 24 10:56:53 2007 +0300

    Check for supported payload format on package install. (rhbz#140052)
    
    Add a new API function to check for supported payload format from header, have
    rpmtsAddInstallElement() check and fail if not. Check for tsadd failure
    on src.rpm install as well.

commit 932673b78705548d823f3ce23def5d5f9ea712f4
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 23 12:12:07 2007 +0300

    Remove hardcoded RH GPG-keys from the source.

commit ff0620c3ea7caee6ed7a3d6420b932e546a0854c
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 23 10:27:15 2007 +0300

    Raise an exception if adding an install/upgrade element to transaction fails.

commit d9281caad55627c7e9c33fa6ccdfb88a44bf78c6
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 23 08:40:22 2007 +0300

    More informative error message when lstat() in verification fails.
    Eg when running verification as non-root, it can lead to confusing results
    until you realize you didn't have permission to verify the file.
    
    Patch originally from OpenSuSE, slightly modified.

commit b1c7f449f619d35b27abd2158812474af70e0f15
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Fri May 18 16:25:02 2007 +0300

    Small TODO-update.

commit b73bea14786fe8f6d7dc2457b51730d939e4eec4
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 17 11:06:55 2007 +0100

    Emit diff headers (#237561)
    Patch derived from Ville Skytta

commit de2e849ede59f1b3deec085676126d912011c052
Author: Peter Jones <pjones@redhat.com>
Date:   Wed May 16 10:59:15 2007 -0400

    - let diff arguments be specified in the environment

commit 832fe4f01865cd17ab9393fc48b960206da223b0
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed May 16 14:45:24 2007 +0100

    dbmatch keys can be unicode objects also (#219008)
    Jeremy Katz <katzj@redhat.com>

commit 485c8dac0dcce8db9be173692d2d34f4cf3efab9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 16:22:01 2007 +0300

    Do not run pre/posttrans scripts in test mode.
    
    Patch from OpenSuSE.

commit 9358ce594ff7e5c05b4a9df3155411d537c41de9
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 16:19:18 2007 +0300

    Deal with bad lines in --setperms and --setugids.
    Happens for example if a package is not installed (--pipe also captures stderr).
    
    Patch from OpenSuSE.

commit 2c080c11877fa083b6439b207368e05bb24e5b59
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 16:18:05 2007 +0300

    Make rebuilddb work with the --root option.
    
    Patch from OpenSuSE.

commit 7e796f6f52b175097914a0b7bfd5d104b0d60ade
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Wed May 16 16:16:45 2007 +0300

    Fix building without Lua support.
    
    Patch from OpenSuSE.

commit 9909fef073fdf033a6c2a8a8063398ed043797af
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Mon May 14 16:52:48 2007 +0300

    - initial TODO for collecting future ideas

commit 45d2eff6fdc7389fc426d1214f7d0397c523bdb0
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 10 13:20:11 2007 +0100

    Remove SELinux context verification (#193488)

commit a94e9ed5c5df62dc2f917b1a3d3bc69cd7678c9a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 10 13:15:34 2007 +0100

    Add mono req/provides support
    Alexander Larsson alexl@redhat.com

commit c3524d91c7d47088eaf05e792c766067a0550d15
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 10 13:08:38 2007 +0100

    Use older perl helper scripts by default

commit e07026a8eb49aef195fe030a710019d8f2baa11c
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 10 12:35:49 2007 +0100

    Add patch to treat changelog as list

commit 4da917bfef96aaaed02717a3a8952325086e7084
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue May 1 05:55:14 2007 +0100

    Enable configurable preferable elf colour policy (#235757)
    Patch from: dwmw2 at redhat.com

commit e0fe0e26eee361c20e960064162e3a7ad3bc63c9
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 23 10:49:31 2007 +0100

    Fix debugedit for relative paths (#232222)

commit 2b0bc853c3b6e575613e946c346d915fe289f811
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 16:13:27 2007 +0100

    Fix default verify flags for %doc rh#235353
    Patch from Michael Schroeder

commit 9bde9d187ca12ecb829f2b8831578f10dd7fdfae
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:31:37 2007 +0100

    Call Fflush at the end of writeing a signed package to catch out
    of disk space errors.
    Patch from OpenSuSE

commit 21818c6c8f3d4fe7836326d27f38421c29c22db7
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:31:04 2007 +0100

    Fix to handle oldpackages that use HEADERIMAGE

commit 0e863398d4c4f8b750b41e0eeeb643d3b9ebbf06
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:26:12 2007 +0100

    When deleting files, drop any s-bit first, so that a malicious
    user does not have access to old programs if he hard links them
    to some other directory. [#50376] rh#125517
    Patch from OpenSuSE

commit a6368d35530243b8d6bb0ca302a16c903f967921
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:23:58 2007 +0100

    Also decode early for PGP sigtags, which are actually header+payload
    RSA signatures. Without this patch, verification of a package
    that has just a header+payload RSA signature but no header-only RSA
    signature fails.
    Patch from OpenSuSE

commit a435fe4baec1f3217bc437996bcea75493186d1e
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:23:13 2007 +0100

    Make rpmdbSync obey the no_dbsync flag
    Patch from OpenSuSE

commit fd8b51eb5ee1024eb1fa702e9fe48826eeca264f
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:22:34 2007 +0100

    Build lua without readline support.
    Patch from OpenSuSE

commit e71dd23825fafd47e8a7e81cd0919c0bee9dd184
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:21:22 2007 +0100

    Check rpmtsInitDB return value. Also patches rpm.c, which
    actually is not used anymore.
    Patch from OpenSuSE

commit af236859a0375b1423845498b97a5dc7d7834bc1
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:20:30 2007 +0100

    Fix off-by-one error in glob call.
    Fix from OpenSuSE

commit 367d30909c9f8caf8882a665b3e4007c0b6ff9d0
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:19:39 2007 +0100

    Fix --noghost query option. rh#103207

commit d0c8cb4a15ce49f72b92f7eac5f429acca9cf24a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:18:19 2007 +0100

    Check getcwd return value, abort if rpm cannot determine current
    directory.
    Patch from OpenSuSE

commit 3c102d6404bdaa14c6553049f9cf1dcec127814a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:17:19 2007 +0100

    Return an error if Fileno is called with NULL instead of segfaulting.
    Patch from OpenSuSE

commit 9b0ef9f4f326c02906a4f9dd636b95fcf3d88553
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:16:35 2007 +0100

    Deal with a return value of "-2" when database locking failed.
    Patch from OpenSuSE

commit e2395df0e020476df61d12219140ecfaff2ed788
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:15:54 2007 +0100

    Do not call rpmtsRun with an empty transaction list, it returns -1
    which messes up the numFailed counter. [#43267]
    Patch from OpenSuSE

commit 332cb7d273746dd98fc9cfd12a9ca4475ef7b961
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:15:10 2007 +0100

    Allow "--ignoresize" for erase operations.
    Patch from OpenSuSE

commit 5fdd5efb26d67e89c5d1cda51435de2896348102
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:14:17 2007 +0100

    Fix segfault when rpmbuild stumbles over an empty file list.
    The "+ 1" is a remedy for xmalloc(0), which would return NULL.
    Patch from OpenSuSE

commit fd6e4142505093ca91aafcba1351bb33820ae39a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:12:32 2007 +0100

    Add support for a new macro, %{_docdir}. It can be used to specify
    the name of the directory for %doc files.
    Default is "%{NAME}-%{VERSION}", SUSE uses just "%{NAME}".
    rh#125514
    Patch from OpenSuSE

commit 026b82f53b8f19e2b3af1f4366de0de2554d2173
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:07:52 2007 +0100

    Fix uncompress waitpid logic to shut up the compiler [#160434]
    Patch from OpenSuSE

commit cc4d429e932cfc46fd75f09378858c4ba0fb8ab9
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:06:24 2007 +0100

    Fix a typo: the macro is currently called %{buildsubdir}
    Patch from OpenSuSE

commit 0707e98841652e99ab415e631b5df3b967b51c28
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 13:05:18 2007 +0100

    This fixes a typo that caused a compiler warning [#178055].
    Patch from OpenSuSE

commit 5521d1537087b2c9ac67ef513a88b532444df3b5
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 12:49:38 2007 +0100

    Fork failure patch from OpenSuSE

commit 1bb1b1e24dcb17cd9e1952b2f5bb41195ab904cf
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Apr 16 12:42:56 2007 +0100

    Allow customisable diff and use -p by default (#146981)

commit a7d07fd6df1e3a57de899af6bc6cc718ae38c064
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Mar 27 14:55:48 2007 +0100

    Ignore cscope/ctags output

commit a63c710e70d0aeb30b710d79102db543cf6e87ac
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 15 15:59:55 2007 +0000

    Fix for debugedit with ../../ in paths

commit 116899502943d6a1fddaf0b832838245c8e33c1e
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 15 15:59:22 2007 +0000

    Fix debugedit for O0

commit 060918ca2750edca3c21810d9d947ed7befd31ae
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 15 15:58:27 2007 +0000

    Fix up debuginfo for various issues - inc. libc-client debuginfo (rh#205339)

commit 32fd6b3a758388ac89ef4a2032198cbe83e740c6
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 15 15:57:30 2007 +0000

    Fix for thinko in debugedit on ppc

commit 160025c3b921831809f92b8aa51d2d4146d9ce5f
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:52:12 2007 +0000

    Cleanup: Remove old mpw references

commit 3397c5ef532f1277541cbbfe340a9399fe8066de
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:46:35 2007 +0000

    Cleanup: Remove dumpasn1 util

commit 11ecf683bb0335391bf61389f89b1da1ef4a6f85
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:46:17 2007 +0000

    Require external gettext

commit c9f0099bad9ca894cc4a071196e4b3da2cbc2b7c
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:08:28 2007 +0000

    Cleanup: remove internal gettext

commit f6c3bbd99a30d2be1b920c2c5c1e267b8953f627
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:05:00 2007 +0000

    Cleanup: remove vendor GPG/PGP keys

commit 8c75c212cddff80d9453dd68d2cec2a2c11f6790
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:03:21 2007 +0000

    Cleanup: remove old convertdb utility

commit 12be1601500b6fca4edbc639699b8a7c20eb40cd
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 15:02:32 2007 +0000

    Cleanup: remove oldrpmdb utility

commit fee3fd5e1559748a7e008b50edba6c56e1986036
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 14:54:26 2007 +0000

    Cleanup: remove xmlspec

commit 9981e8bb3ccec64b34b1fca201364196c6a66a43
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 14:47:08 2007 +0000

    Cleanup - move gendiff to scripts subdir

commit 82ec4b8dd75e534aa74ca3bd23a6202d64dae9fa
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 14 14:31:21 2007 +0000

    Remove rpm 4.0.4 examples

commit 6214fb8563464956b77464b6aca57400f8762e2b
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Mar 13 10:32:40 2007 +0000

    Fix potential segfault if no rpmlock_path defined (rh#231146)

commit 9621964a56f05b0368e2dc21d835fbbde232dca3
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 17:20:23 2007 +0000

    Remove unused library

commit de2d563c757c87836f3cac64bdbadcf1a45011c1
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 14:17:02 2007 +0000

    This fixes doxygen generation by removing a reference to a non-existent file
    (rh#187714).

commit 40d26f7bcb98b7d71b993cb9c3151db8855dc9ba
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 14:16:27 2007 +0000

    This patch from Peter Bowen fixes rpm version comparison for strings with
    trailing null segments (rh#178798).

commit a465e0637a2630c167d0e5338922f2a26a7edf01
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 14:15:30 2007 +0000

    Make fcntl lock sensitive to --root (#151255)

commit e315c18adc8ad05bfda164d481da08dbe33c9652
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:27:42 2007 +0000

    Fix netshared path comparison (rh#52725) fix by jbj.

commit 69927942b1be3f496a187e4dbd8acb2501a1ee5b
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:26:56 2007 +0000

    Fix from James Olin Oden for a scriptlet deadlock (#146549).

commit d9cd2282fd98995c6ae1d35d06dd0e810d18ee8f
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:26:10 2007 +0000

    Filter out incorrect perl(main) provides (rh#177960).

commit 152c452c108c0d6a2a591077352f9a61f20eaa9c
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:22:56 2007 +0000

    This patch synchronises the internal file sources.

commit df0ad26d266c3cbb966ade76b55936af704fe1bc
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:21:11 2007 +0000

    This patch ensures the rpm cronjob to record rpmpkgs uses the full path to
    prevent potential PATH issues (rh#174211).

commit f94c3f49cb8cb2268657947c802c4edab20bdbd5
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:19:49 2007 +0000

    This patch fixes up the calculation total install size when we have excluded
    files in the manifest (rh#89661).

commit 72a389737b9619b3aa01027fd96f647e3ec69ccb
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:17:26 2007 +0000

    Fix popt CHARSET for various languages (#172155)

commit 9de7baea6b2b9ade04e12b1e46fb20fa442c0b0a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:16:04 2007 +0000

    This fixes the db build to handle newer CFLAGS which can contain the long
    option --param.

commit c70602482da17345f54d2faa582e589ebf91c41b
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:14:43 2007 +0000

    This patch fixes how Requires(pre,postun) is handled to bring it in line with
    seperate Requires() lines (rh#155700).

commit be96c4edb3d436bb5891be7e39d936c2d68e59b1
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:09:46 2007 +0000

    This patch fixes an off-by-one error in rpmalAllFileSatisfiesDepend() which
    could lead to a segfault.

commit 4eee7e354b2372cdc4c85f56934dfed9cfbcebec
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 12:00:22 2007 +0000

    Re-enable fileconflicts
    This patch re-enables fileconflicts by default (rh#151609).

commit 2a3e33e962cccad1e46714479f17e7211270dd3a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 22 11:57:46 2007 +0000

    Disable hkp lookup by default
    This patch turns off RPM's hkp lookup by default.  Having this on by default
    caused heavy load on the keyservers.

commit 547b1b5d76a2dda015e7fdc60f027443149388a9
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:42:02 2007 +0000

    Ignore popt tarball

commit 3afd57b55d7ccd182e9752f5b25d74429eb2676a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:38:43 2007 +0000

    Remove cvs based archive target

commit 81841dc6ba6640f1e98d69eb312d17cdfd455fed
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:36:26 2007 +0000

    Remove some cvs targets

commit b6733cac778db11ed984ae1f6826221b22bcfdf2
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:33:43 2007 +0000

    Remove reference to sqlite

commit 73eb6058b860089e9a4e45e9921e6eb5d2e3091d
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:20:09 2007 +0000

    Remove wraptastic.org url from spec

commit 578e7591575246b6f97a710d9e4f35bc3e0a1654
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 17:18:50 2007 +0000

    Point to correct mailing list
    James Bowes <jbowes@redhat.com>

commit 3a3ad1591292b7ecde4b94bd8be214ce216f20d1
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:31:40 2007 +0000

    Add hgignore for clean hg status following build

commit a13bfd1be5fd07c9007369ebc0c8377dbd99ace9
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:27:54 2007 +0000

    Allow build without the neon library.
    Resurrects old httpOpen code from rpm-4.1.1.
    Building without neon means no webdav file uploads, though.
    Michael Schroeder <mls@suse.de>

commit 04019761ac96654bb517f2972a3240ad74c69d58
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:26:41 2007 +0000

    Don't exit on differing autotools.

commit 955ed0bace80c7ac4643b13fdc2d5e694472b1c7
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:25:20 2007 +0000

    Remove internal zlib

commit 5fde01b1e0e75d13515d1c3819cfe369903c20e5
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:25:10 2007 +0000

    Remove internal neon

commit 41fc8a0cdcc2589f12ec28e6d0cfbae0bfdfb41a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:24:52 2007 +0000

    Remove internal sqlite

commit 2225a3db62f3c334b3f73cd6d5c49685b0f52a30
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:24:26 2007 +0000

    Remove mvista dir from tree

commit 80700b231e87d353c01d91b8d8bf2ed656d09c3d
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:24:16 2007 +0000

    Remove lsbpkgchk from tree

commit d12a7441fc14b9b1802ca7b4e288a49f4484351d
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:23:54 2007 +0000

    Remove internal librsync

commit 564a43147481ab23087fd756dc67f0a38371da96
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:22:20 2007 +0000

    Remove internal libelf

commit 3c7ee3db5bb508e5d39974d65d13ca001f490186
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:21:18 2007 +0000

    Remove internal expat

commit 9dcf0798fd7bd90cd8349359e313d9d564639161
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:21:00 2007 +0000

    Remove internal elfutils

commit 1302fd60fc65fc3bd71c301c6d06e3505cdcf95e
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Feb 16 16:20:02 2007 +0000

    Remove internal beecrypt

commit 29f8a24e89a3daaa7b325faa5bcb44cd0c2cb9b8
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 15 11:37:17 2007 +0000

    Fix parsing for parenthesis
    Michael Schroeder <mls@suse.de>

commit 850fadec1773fd1ae853a046557240fc52a9ba83
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Feb 15 11:25:34 2007 +0000

    Remove autogenerated file from elfutils

commit c8d2911445537c3ef011be1856e81229dd897b0b
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jan 4 14:44:50 2007 +0000

    Remove autogenerated file

commit 71ddb958270c657d075c5838e82fd90c0f059a4a
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jan 4 14:41:34 2007 +0000

    Remove autogenerated file

commit ad9562edf95465d52a265f4bf44fdef7bfbfb7eb
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Dec 14 11:40:03 2006 -0500

    fix tags

commit 4a1bae5ebbdbf3c3fbf65dbb0008fb4fdc8757a7
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Dec 14 11:39:35 2006 -0500

    Add tags

commit 8cdc487c74fb99357cf8bc44d7a671f264b611db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 21 01:47:28 2005 +0000

    - release rpm-4.4.2.
    
    CVS patchset: 7919
    CVS date: 2005/07/21 01:47:28

commit 541b65137170d5ec746fd5271d7bbc83f9daf4b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 21 01:45:44 2005 +0000

    - fix: magic_file() closes stdin when given directory path.
    - use perldeps.pl, phase out perl.{req,prov} (again).
    - document __vsflags (#147489).
    
    CVS patchset: 7918
    CVS date: 2005/07/21 01:45:44

commit 24ad66e595161ad5d648a4c9e0a157fd848ff848
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 17 18:58:29 2005 +0000

    Revert to using perl.{req,prov} instead of perldeps.pl.
    
    CVS patchset: 7910
    CVS date: 2005/07/17 18:58:29

commit f772f6ff5ebbd331fba6e42d1d2d96dfd88ab24e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 17 18:34:44 2005 +0000

    Sanity.
    
    CVS patchset: 7909
    CVS date: 2005/07/17 18:34:44

commit 65a16730751e520c692fb5d13d911d89eed2a1e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 17 15:29:55 2005 +0000

    Don't bother packaging silly symlinks.
    
    CVS patchset: 7908
    CVS date: 2005/07/17 15:29:55

commit fe59a3bb4e3b96aed505c8d371b35a7ec7f430cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 17 14:58:08 2005 +0000

    Ooops.
    
    CVS patchset: 7907
    CVS date: 2005/07/17 14:58:08

commit cc74f6a27da156d3ef14aae70e7a6fecb05d9ceb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 17 14:55:56 2005 +0000

    - upgrade to file-4.14 internal.
    
    CVS patchset: 7906
    CVS date: 2005/07/17 14:55:56

commit ffe774c49327139c93031d0b11c0b69787f08868
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 16 16:37:06 2005 +0000

    - upgrade to zlib-1.2.2.4 internal.
    - macosx: avoid minigzip build failures.
    
    CVS patchset: 7894
    CVS date: 2005/07/16 16:37:06

commit c1afde7db586b58ad8e1ccf8d3825130f3babf14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 15 15:08:34 2005 +0000

    - permit scriptlet includes from builddir for spec files w/o %setup.
    
    CVS patchset: 7889
    CVS date: 2005/07/15 15:08:34

commit e7cb28cfe725d47aa64dcb6bf41b878b139dbd99
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 14 15:50:30 2005 +0000

    Typo.
    
    CVS patchset: 7888
    CVS date: 2005/07/14 15:50:30

commit b75e3e5f5100567c524c95ef8866795e6d798874
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 14 11:08:25 2005 +0000

    Typo.
    
    CVS patchset: 7887
    CVS date: 2005/07/14 11:08:25

commit 99b8ed77f5a91c86d5dabb1eae49c864fc0e7564
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 16:50:30 2005 +0000

    Typo's.
    
    CVS patchset: 7886
    CVS date: 2005/07/13 16:50:30

commit cb1d12af9057536c5d1625b3092abf4bbe1a8fb1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 12:11:00 2005 +0000

    Added from bugzilla #153935.
    
    CVS patchset: 7885
    CVS date: 2005/07/13 12:11:00

commit 54338346440f6b7552e232fa5179eb51b60a851a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 12:03:04 2005 +0000

    Added from bugzilla #153936.
    
    CVS patchset: 7884
    CVS date: 2005/07/13 12:03:04

commit 1f35cde9cadf21446f2fd2dc57ce7dbd2e942df1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 11:28:29 2005 +0000

    - avoid '?' for zero length file mmap failure doing md5 (#159405).
    
    CVS patchset: 7883
    CVS date: 2005/07/13 11:28:29

commit ab6ca22fcd881d96c78e79a43d067995caa31a10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 11:21:28 2005 +0000

    - permit zlib in rpm to be built with make -j (#159404).
    
    CVS patchset: 7882
    CVS date: 2005/07/13 11:21:28

commit 2a16343146d390ff3ee8f79c1e072f456cf5d70a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 11:15:16 2005 +0000

    - fix: initialize variables used in debug msg (#160458).
    
    CVS patchset: 7881
    CVS date: 2005/07/13 11:15:16

commit d66903fe9c842ec5cb6bb3cf8f27e39c40420309
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 11:09:39 2005 +0000

    - fix: find-debuginfo.sh kernel voo-doo tweaks (#159346).
    
    CVS patchset: 7880
    CVS date: 2005/07/13 11:09:39

commit 51b32ae1301f6b862fab83bfebb574a08defbc77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 10:47:56 2005 +0000

    Add porting sanity check (#159024).
    
    CVS patchset: 7879
    CVS date: 2005/07/13 10:47:56

commit 5d98fa4d18be7e2502d695da0c165e2ff605f2c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 10:40:08 2005 +0000

    - fix: permit sqlite3 rpmdb with chroot (#159424).
    
    CVS patchset: 7878
    CVS date: 2005/07/13 10:40:08

commit c9a99c833cd466f2bf8bb1be829d8add56667d11
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 10:34:15 2005 +0000

    - fix: make sqlite3 rpmdb endian-neutral (#159425).
    
    CVS patchset: 7877
    CVS date: 2005/07/13 10:34:15

commit f7de2d2424b38311ba7340b495db5e3b2670146b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 10:16:06 2005 +0000

    - use perldeps.pl, phase out perl.{req,prov} (#161921).
    
    CVS patchset: 7876
    CVS date: 2005/07/13 10:16:06

commit ae02fe2242a0f50262f435f41add7277fa5098b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 10:03:31 2005 +0000

    - *_terminate_build macros set per-pkg, not per-invocation (#161081).
    
    CVS patchset: 7875
    CVS date: 2005/07/13 10:03:31

commit 6aed9338a64e5b7904855ac88c8a43fda48b278f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 09:52:45 2005 +0000

    - fix: % at end-of-line overflow (#161091).
    
    CVS patchset: 7874
    CVS date: 2005/07/13 09:52:45

commit ae4725e37f5472c0610d9cfb85a1d916d89f164f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 13 09:23:07 2005 +0000

    - fix: java compiled with -O0 confuses debugedit (#161722).
    
    CVS patchset: 7873
    CVS date: 2005/07/13 09:23:07

commit 378fa2a5acc1acac4da88dacba76644ea331bad4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 12 11:29:05 2005 +0000

    - added brp-java-gcjcompile build helper.
    
    CVS patchset: 7872
    CVS date: 2005/07/12 11:29:05

commit a237ec26e0ac5e2442c96803c98f85bf7df33baf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 12 10:57:09 2005 +0000

    - added CVSId: tag and SVNId: alias (#162807).
    
    CVS patchset: 7871
    CVS date: 2005/07/12 10:57:09

commit 041411f15195b7331339b86f20c75c6514bcf458
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 12 10:32:16 2005 +0000

    - updated de.po (#162756).
    
    CVS patchset: 7869
    CVS date: 2005/07/12 10:32:16

commit c5fae2e870f71cd09716b945dcac58799707be30
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 12 09:53:31 2005 +0000

    - updated de.po (#162756).
    
    CVS patchset: 7868
    CVS date: 2005/07/12 09:53:31

commit ed528e79dc56a7d3fef4a61c5031b83caf3e6f6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 10 17:22:50 2005 +0000

    Don't crap out with missing dependencies.
    
    CVS patchset: 7867
    CVS date: 2005/07/10 17:22:50

commit 42ddc4777310e2353e447a38ef6c482baaec4772
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 4 20:10:07 2005 +0000

    Change file list to handle China's politics.
    
    CVS patchset: 7866
    CVS date: 2005/07/04 20:10:07

commit 2e857d1fc0456a06b440d4dfa1e0e6b00be43ae6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 4 19:02:58 2005 +0000

    - rebuild to start the rpm-4.4.2 release gears turning.
    
    CVS patchset: 7865
    CVS date: 2005/07/04 19:02:58

commit 0b42a940c169bdc449067b04162e77537031da9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 2 18:54:08 2005 +0000

    GCC fidgets, add parentheses around timedRead vector.
    
    CVS patchset: 7864
    CVS date: 2005/07/02 18:54:08

commit 441733afe1680fa3d53aae2c7050293b03e9643d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 2 18:53:12 2005 +0000

    Correct typo.
    
    CVS patchset: 7863
    CVS date: 2005/07/02 18:53:12

commit 7320bab1df56d88cb9deb267b1409a6c181aea12
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 6 23:35:24 2005 +0000

    XXX Really old packages have HEADER_IMAGE, not HEADER_SIGNATURES.
    
    CVS patchset: 7861
    CVS date: 2005/06/06 23:35:24

commit 6a72073729e292b15cb0b36b68696bb6219f380b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 30 06:40:54 2005 +0000

    Permit file names with spaces.
    
    CVS patchset: 7858
    CVS date: 2005/05/30 06:40:54

commit 48e63cdacf53807914bf8514a84fd2c8883a6c95
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue May 24 15:35:39 2005 +0000

    remove old trans
    
    CVS patchset: 7856
    CVS date: 2005/05/24 15:35:39

commit fb7f36eb3544d0964284443e02e4dc4e90aebc60
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue May 24 14:33:10 2005 +0000

    Update translations
    
    CVS patchset: 7855
    CVS date: 2005/05/24 14:33:10

commit 77ec466ecb3459d6888d366c0537b2b0b110ce20
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu May 19 17:26:53 2005 +0000

    fix buildarchtranslate for ppc64
    
    CVS patchset: 7854
    CVS date: 2005/05/19 17:26:53

commit 8a78376368a1f068755f85a7f1cd0ce829758a69
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon May 16 12:39:45 2005 +0000

    update po
    
    CVS patchset: 7852
    CVS date: 2005/05/16 12:39:45

commit d3afe2c94cc07162ce87a8bfe0dd1fa28287e7a0
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed May 11 16:11:27 2005 +0000

    scriptlet signal failure message
    
    CVS patchset: 7851
    CVS date: 2005/05/11 16:11:27

commit 48d3465bbac9fcaa2863206ae368e3d7183fc344
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 4 21:02:59 2005 +0000

    FAQ #24 conformant versions.
    
    CVS patchset: 7848
    CVS date: 2005/05/04 21:02:59

commit f01c74a5b4206804938171e09d8b9f4fc416851a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 11 11:43:25 2005 +0000

    Nuke _rpmdb.c.
    
    CVS patchset: 7846
    CVS date: 2005/04/11 11:43:25

commit 1c40b6d1bea019b9dd05a8f6ae86a331156b2108
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 27 21:55:32 2005 +0000

    Change allocTempBuffer() handling.
    
    CVS patchset: 7841
    CVS date: 2005/03/27 21:55:32

commit 634678115f0b30ee2ac869d3e9f4307137f813a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 27 18:42:26 2005 +0000

    Iterate over "select key from Packages" result.
    
    CVS patchset: 7840
    CVS date: 2005/03/27 18:42:26

commit 0a5677a0114c75405949f4046b66c18bc611681e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 26 21:07:30 2005 +0000

    Gather all keys for iterator.
    
    CVS patchset: 7839
    CVS date: 2005/03/26 21:07:30

commit d779a6a7f81214f516bc21ed5ab88c5fa5b330e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 25 17:30:00 2005 +0000

    MDK patch at #108778.
    
    CVS patchset: 7837
    CVS date: 2005/03/25 17:30:00

commit 71de90d88e9203f29f35002660f18158c58792a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 23 21:20:22 2005 +0000

    Handle int8 and int16 indices correctly.
    
    CVS patchset: 7836
    CVS date: 2005/03/23 21:20:22

commit fddaa8e68ba5618b612ea490026a919a5a065c3f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 23 18:19:35 2005 +0000

    rip out compile/bind/exec methods, wrong approach to speeding up sql.
    configure sqlite dbi in the usual way by calling dbiNew().
    
    CVS patchset: 7835
    CVS date: 2005/03/23 18:19:35

commit e2499f3cadd4e0e1438eefcd3827093e0107523f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 23 16:29:32 2005 +0000

    Refactor sql_step assertion.
    
    CVS patchset: 7834
    CVS date: 2005/03/23 16:29:32

commit 73bdcda3bd73d94e26c17fb40a0f36854f71d13b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 23 14:42:00 2005 +0000

    More fiddles.
    
    CVS patchset: 7833
    CVS date: 2005/03/23 14:42:00

commit 14badd0a70db4ed1442e72b4a22f4a9a9064be58
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 18:52:14 2005 +0000

    Simplify.
    
    CVS patchset: 7832
    CVS date: 2005/03/20 18:52:14

commit 48ddc57fe82c06c659edab2a7172fe7bf372e8ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 18:13:36 2005 +0000

    Make SQL_DB and DB identical structures in dbi->dbi_db.
    
    CVS patchset: 7831
    CVS date: 2005/03/20 18:13:36

commit 4b2c3b1ba50c9e5d9d89f24298e80369b4a7b5c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 17:53:17 2005 +0000

    Make SCP_t and DBC identical structures.
    
    CVS patchset: 7830
    CVS date: 2005/03/20 17:53:17

commit 0546898531ec5a5db4a198cb68f8b16debaeacc0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 17:37:47 2005 +0000

    Simplify db->app_private handling.
    
    CVS patchset: 7829
    CVS date: 2005/03/20 17:37:47

commit 06b322efe5f3b1f9e199b6ef48d1b497e0564ef0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 16:33:30 2005 +0000

    Remove sql cursor chaining.
    
    CVS patchset: 7828
    CVS date: 2005/03/20 16:33:30

commit 7154555008deb164c8a14ffe0573554dc2ecb25b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 20 15:53:26 2005 +0000

    Check that dbcursor is always non-null.
    
    CVS patchset: 7827
    CVS date: 2005/03/20 15:53:26

commit 0f21a8eda09b5ff120243f882b558327aaa2ef71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 19 20:07:12 2005 +0000

    Handle %dev markers more gracefully.
    
    CVS patchset: 7826
    CVS date: 2005/03/19 20:07:12

commit 59f63dfdccccb00b201c3c6b984120166233e80e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 19 15:17:29 2005 +0000

    Disable synchronous writes.
    
    CVS patchset: 7825
    CVS date: 2005/03/19 15:17:29

commit b17779435e6978c3870ad65142f8597203c13e27
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 18 22:47:40 2005 +0000

    fix: RPM_BIN_TYPE bound to wrong pos.
    Use SQLITE_STATIC rather than SQLITE_TRANSIENT.
    
    CVS patchset: 7824
    CVS date: 2005/03/18 22:47:40

commit 46617a98afdd2f238d2e93a4982db1611cbeac17
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 18 21:45:07 2005 +0000

    Repair -qa.
    
    CVS patchset: 7823
    CVS date: 2005/03/18 21:45:07

commit 6abb0b372c2cf8a08b1e0b7f97aa600c352da701
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 18 16:02:13 2005 +0000

    Sanity.
    
    CVS patchset: 7822
    CVS date: 2005/03/18 16:02:13

commit 097688c5f212abd3c7030fcfd119b991f56d7846
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 23:35:14 2005 +0000

    Another line of spew under if (_debug) test.
    
    CVS patchset: 7821
    CVS date: 2005/03/17 23:35:14

commit 51b429fd63401a51d7156b4fb71a018d049f8aa8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 23:16:30 2005 +0000

    FUnctiona --rebuilddb. Add if (_debug) to modulate the spew.
    
    CVS patchset: 7820
    CVS date: 2005/03/17 23:16:30

commit be4aa28834fc7f1b37d8f13437d5eaf469d438dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 19:54:37 2005 +0000

    Splint fiddles.
    
    CVS patchset: 7819
    CVS date: 2005/03/17 19:54:37

commit 4c63745fe818b616feb3395c953ac1833d65b551
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 17:12:26 2005 +0000

    Add tagType().
    
    CVS patchset: 7818
    CVS date: 2005/03/17 17:12:26

commit a839baba3fb30d3d37c25310358747319bd50692
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 16:51:02 2005 +0000

    Rip out encode/decode entirely. Almost certainly nothing works ...
    
    CVS patchset: 7817
    CVS date: 2005/03/17 16:51:02

commit dccc6cc43b47a1aeb06a66d9afd5e4576763c97d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 09:33:59 2005 +0000

    Consolidate elements into SCP_t (definite brokenness here).
    
    CVS patchset: 7816
    CVS date: 2005/03/17 09:33:59

commit ff58b52867943f6c7643b1f28f0dc207c720e7a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 17 02:44:51 2005 +0000

    Preliminary attempt at sql_get_table clone that understands blobs and sizes.
    
    CVS patchset: 7815
    CVS date: 2005/03/17 02:44:51

commit 931a32c210ee3ae49831de4e52088c68d9672db5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 16 22:42:08 2005 +0000

    First hacks at using sqlite3_step() instead of sqlite3_exec().
    RPMTAG_NAME uses unencoded blob for rpmdb join keys, but retrieval
    has hotwired length (and so broken).
    
    CVS patchset: 7814
    CVS date: 2005/03/16 22:42:08

commit 07dba5c4fe50804552839e1661f163350cc6d03e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 16 18:34:40 2005 +0000

    Change schema to get rid of most encode/decode operations. More to do ...
    
    CVS patchset: 7813
    CVS date: 2005/03/16 18:34:40

commit 1dc1276dba6738db124eb0aebdb24b35c1df7263
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 15 21:50:49 2005 +0000

    Start sqlite3 fixing.
    
    CVS patchset: 7812
    CVS date: 2005/03/15 21:50:49

commit 7cf8f9004cd831d70722cf8257ea4e81502aaf96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 15 18:30:38 2005 +0000

    Ancient history.
    
    CVS patchset: 7811
    CVS date: 2005/03/15 18:30:38

commit c79f0d930ee1949de9c56b3c5cde68c64d5e521a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 14 10:30:44 2005 +0000

    Sanity.
    
    CVS patchset: 7810
    CVS date: 2005/03/14 10:30:44

commit 9697810e39019e4929d742fc1d94e4e917dc6b7f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 13 22:13:25 2005 +0000

    Permit build with extternal file and libmagic.
    
    CVS patchset: 7808
    CVS date: 2005/03/13 22:13:25

commit 9be7cc33c1de67e8cf2a1f9897e876c3f25d023d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 13 02:11:38 2005 +0000

    Sanity.
    
    CVS patchset: 7806
    CVS date: 2005/03/13 02:11:38

commit 1a42537124a5e6804821ddb17a63a0ee86724b5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 13 01:56:50 2005 +0000

    - permit RSA/{sha1,sha256,sha384,sha512} signature verification.
    
    CVS patchset: 7805
    CVS date: 2005/03/13 01:56:50

commit 42981d3ccd4dba420beead451a658c7487066d18
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 13 01:39:19 2005 +0000

    Add support for RSA on sha1/sha256/sha384/sha512.
    
    CVS patchset: 7804
    CVS date: 2005/03/13 01:39:19

commit 48972a87c8ce5f87464e54379e56cf0fd9573dc7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 13 01:15:37 2005 +0000

    Add support for sha256/sha384/sha512 (if available.).
    Update beecrypt version.
    
    CVS patchset: 7803
    CVS date: 2005/03/13 01:15:37

commit d9499c8bdb77c101f9b127848111235a61f9a5ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 12 16:36:28 2005 +0000

    Don't dump pgp pkt spewage.
    
    CVS patchset: 7802
    CVS date: 2005/03/12 16:36:28

commit e1fbc0615bfad2e55b241d746dfb29e72cbf9a01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 12 16:00:15 2005 +0000

    Identify header RSA signatures correctly.
    
    CVS patchset: 7801
    CVS date: 2005/03/12 16:00:15

commit 63864b6a281f715df8f87da1f0d98746d0090ac9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 12 15:16:42 2005 +0000

    Add hdrmd5ctx for header-only md5 rsa/md5 signatures.
    
    CVS patchset: 7800
    CVS date: 2005/03/12 15:16:42

commit 0fd7021de91c63fba5ed1b81dde5ab22eb12a4c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 9 13:22:48 2005 +0000

    - permit gpg to be used for RSA/MD5 signatures.
    - permit RSA key sizes larger than 1024 bits.
    
    CVS patchset: 7799
    CVS date: 2005/03/09 13:22:48

commit 1166cecd963d3597bdc445e8d5c5e54bbb18b5a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 7 23:52:44 2005 +0000

    Start removing implied gpg==dsa, pgp==rsa.
    Add PKCS1 ASN prefixes for RSA other than MD5.
    
    CVS patchset: 7797
    CVS date: 2005/03/07 23:52:44

commit b809c5837e73ab1793ab381f9a984efd604274b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 7 22:51:18 2005 +0000

    fix: inverted RSA parameters on rsavrfy().
    
    CVS patchset: 7795
    CVS date: 2005/03/07 22:51:18

commit d7ba4879997c36403746f611c888bbfc428fa5ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 7 14:00:49 2005 +0000

    R++.
    
    CVS patchset: 7789
    CVS date: 2005/03/07 14:00:49

commit ffea31644e113d557c4ec012fc3117547074f3f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 7 14:00:18 2005 +0000

    Casts on lvalues are no longer permitted by gcc4.0.
    
    CVS patchset: 7788
    CVS date: 2005/03/07 14:00:18

commit 9dc1b3bb80c37d45d9235002b084be6743f1d774
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 7 13:57:25 2005 +0000

    Remove autocrap generated cruft.
    
    CVS patchset: 7787
    CVS date: 2005/03/07 13:57:25

commit 8a23189efa9af800490d59e3a582be785b85e129
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 3 11:47:52 2005 +0000

    Permit changelog timestamp back to 1990.
    
    CVS patchset: 7785
    CVS date: 2005/03/03 11:47:52

commit 9d946f4129982a54c480f6c47f883576ddf64704
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 20 14:20:11 2005 +0000

    - updated sv.po <goeran@uddrborg.se>.
    
    CVS patchset: 7778
    CVS date: 2005/02/20 14:20:11

commit 094e57ce7127374375533093b8b60764de8359a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 02:36:37 2005 +0000

    - rework configure.ac et al to lose internal library baggage flexibly.
    
    CVS patchset: 7775
    CVS date: 2005/02/17 02:36:37

commit ba7be476a7db37d1051aa7cb13da98b57f4fceab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 20:33:46 2005 +0000

    rpm-4.4.2-0.3.
    
    CVS patchset: 7774
    CVS date: 2005/02/16 20:33:46

commit f94168ba0ec1d74cfdb76c05ef8821fa0bc524b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 20:04:28 2005 +0000

    - remove remnant -I/opt/local hacks, --prefix=/usr is recommended.
    
    CVS patchset: 7773
    CVS date: 2005/02/16 20:04:28

commit d27e3e835d6f202c3e564603302d2881eb0c525b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 19:23:53 2005 +0000

    Bye-bye!
    
    CVS patchset: 7772
    CVS date: 2005/02/16 19:23:53

commit 055323fb1baf979295cb2b4c9687b85409466333
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 19:22:32 2005 +0000

    Remove rpmdb and poptmodule sources.
    
    CVS patchset: 7771
    CVS date: 2005/02/16 19:22:32

commit c94624a03cf7945ce5b20048b0cc751f654b9bc1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 19:05:36 2005 +0000

    - sqlite3: update encode/decode from sqlite-2.8.16.
    - add --xml popt alias for query modes.
    - remove _rpmdb now that python2.[34] are commonly available.
    
    CVS patchset: 7770
    CVS date: 2005/02/16 19:05:36

commit 4983ab74e734e93a20e05b0f785490f50d28fda3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 16:21:35 2005 +0000

    Update to sqlite-3.1.2.
    
    CVS patchset: 7769
    CVS date: 2005/02/16 16:21:35

commit ce642a9360c6798c9771c640c13250979ac0b02a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 03:45:54 2005 +0000

    fix: restore longer scope for sqlite3 data (which frees on cClose).
    
    CVS patchset: 7767
    CVS date: 2005/02/16 03:45:54

commit cfd6fb526d0bd5692309590a5b27cb5f36bd53ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 14 02:19:04 2005 +0000

    - start 4.4.2 devel.
    
    CVS patchset: 7765
    CVS date: 2005/02/14 02:19:04

commit 6bb128c5f41093b47d3409c065c0a562b343c198
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 14 01:34:12 2005 +0000

    - don't build with sqlite3 if <sqlite3.h> is missing.
    
    CVS patchset: 7764
    CVS date: 2005/02/14 01:34:12

commit 128ae6695d48ca3a919682233716267cb90d8dd1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 13 20:39:50 2005 +0000

    - don't classify files in /dev (#146623).
    
    CVS patchset: 7763
    CVS date: 2005/02/13 20:39:50

commit 5af47d7379257649bb7f7d2aeba6568122745cdb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 13 04:28:53 2005 +0000

    Build rpm-4.4.1-0.24.
    
    CVS patchset: 7762
    CVS date: 2005/02/13 04:28:53

commit d0615e9641047afab2706be1ce7537e35c3c6242
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 13 03:01:09 2005 +0000

    - macosx: change to --prefix=/usr rather than /opt/local.
    - use waitpid rather than SIGCHLD reaper.
    - rip out DB_PRIVATE revert if not NPTL, it's not the right thing to do.
    
    CVS patchset: 7761
    CVS date: 2005/02/13 03:01:09

commit 66a6ab533f9f0a293a049dd7f154cedfc614a331
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 12 19:03:32 2005 +0000

    - zlib: uniqify certain symbols to prevent name space pollution.
    - macosx: include <sys/types.h> so that python sees the u_char typedef.
    
    CVS patchset: 7760
    CVS date: 2005/02/12 19:03:32

commit 4bfb4d6f3fdeab36404947a2a63d88aa70f48760
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 12 14:12:33 2005 +0000

    - permit build scriptlet interpreters to be individually overridden.
    
    CVS patchset: 7759
    CVS date: 2005/02/12 14:12:33

commit 704d36f484c546eea1f0c72f7992db223a98ffc0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 10 09:04:05 2005 +0000

    - perform callbacks as always (#147537).
    
    CVS patchset: 7757
    CVS date: 2005/02/10 09:04:05

commit 85bdd0ae7c9f9ee420fa42541bd3a795b8184c76
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 8 17:15:10 2005 +0000

    Update bytesRemain iff R/W operation.
    
    CVS patchset: 7746
    CVS date: 2005/02/08 17:15:10

commit 2b6fc07fe7aed1c9452d41494994f8b35f44693a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 7 23:04:28 2005 +0000

    Build requires bzip2-devel, not bzip2 (#124925).
    
    CVS patchset: 7743
    CVS date: 2005/02/07 23:04:28

commit ecc7ba5ff1328d7b80fc4a481a74854cf6b3ae74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 5 23:53:12 2005 +0000

    rpm-4.4.1-0.18 sanity.
    
    CVS patchset: 7742
    CVS date: 2005/02/05 23:53:12

commit af7d1a9034ea08e9d730c066f92146468e07d980
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 3 23:05:59 2005 +0000

    - discover and use getmntinfo if present.
    
    CVS patchset: 7741
    CVS date: 2005/02/03 23:05:59

commit 087bd712534fc8055d8bbc2cdbafc3e5d4f85783
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 3 17:28:42 2005 +0000

    - run-time endian test rather than chasing <endian.h> (#146752).
    
    CVS patchset: 7740
    CVS date: 2005/02/03 17:28:42

commit 2a9a1c4cdb46e124a8d9c5994823ee3d87e5b749
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 3 17:28:04 2005 +0000

    Run-time endian test rather than chasing <endian.h> (#146752).
    
    CVS patchset: 7739
    CVS date: 2005/02/03 17:28:04

commit d32eae95624c06e0244275ef1b5461f90ea273c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 3 16:21:36 2005 +0000

    Orphans.
    
    CVS patchset: 7738
    CVS date: 2005/02/03 16:21:36

commit 0935020492e29e5b31bc6254db784e54ab5b4910
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 2 18:47:42 2005 +0000

    - fix: length of gpg V4 hash seed was incorrect (#146896).
    - add support for V4 rfc-2440 signatures.
    
    CVS patchset: 7737
    CVS date: 2005/02/02 18:47:42

commit 7d8671172e6a02522f67fabd1def80b176789102
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 29 16:05:03 2005 +0000

    Default MYPATH=":" instead when cros-compiling (#133573).
    
    CVS patchset: 7724
    CVS date: 2005/01/29 16:05:03

commit d9d8e5dddb838e37b3d5a55047a67581f9ff9621
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 28 20:25:01 2005 +0000

    - python: force dbMatch() h# key to be 32 bit integer (#146477).
    
    CVS patchset: 7720
    CVS date: 2005/01/28 20:25:01

commit fadd9c8edb96946cb1d1dcf172f4109e2c4bcd35
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 28 06:36:29 2005 +0000

    Revert glob/fnmatch/alloca uniqify on macosx for now.
    
    CVS patchset: 7717
    CVS date: 2005/01/28 06:36:29

commit ff752142178293a108f87559b770a101153a8cd1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 28 02:17:08 2005 +0000

    Remove unused _rpmlock_file.
    
    CVS patchset: 7716
    CVS date: 2005/01/28 02:17:08

commit cbf210254223680dbb0b10623fd6d3f91ca34a01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 26 04:50:03 2005 +0000

    - add missing #if defined(ENABLE_NLS) (#146184).
    
    CVS patchset: 7714
    CVS date: 2005/01/26 04:50:03

commit cd8de55c266c1b8f6cd213b5b4a4ad0041ffc73a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 26 04:05:34 2005 +0000

    - move global /var/lock/rpm/transaction to dbpath.
    - permit fcntl path to be configured through rpmlock_path macro.
    
    CVS patchset: 7712
    CVS date: 2005/01/26 04:05:34

commit 84d6a9cac5741df9043786bc5f951ad39794f51f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 25 05:24:40 2005 +0000

    macosx/opendarwin hackery, take 1.
    
    CVS patchset: 7710
    CVS date: 2005/01/25 05:24:40

commit 80f64337af4881c51d7c5dcde60ffc8171f79e01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 21:38:10 2005 +0000

    Add public keys, ignore compile (opendarwin).
    
    CVS patchset: 7709
    CVS date: 2005/01/23 21:38:10

commit a5ced6cf05b54f0e4d4195a035b54418dac80b98
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 21:37:03 2005 +0000

    Sanity.
    
    CVS patchset: 7708
    CVS date: 2005/01/23 21:37:03

commit 9e1bfe0af5fd0183f882f60ebbb670f867682425
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 20:44:57 2005 +0000

    - blueprint rpm-4_4 and HEAD to minimize diff spew.
    
    CVS patchset: 7706
    CVS date: 2005/01/23 20:44:57

commit 15d076fc8ff97ea14a78d78bf4ddab8939bf6a50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 20:30:39 2005 +0000

    Orphan.
    
    CVS patchset: 7705
    CVS date: 2005/01/23 20:30:39

commit 0ccd287fbe33c50e061204d2c375a4ff0337ad21
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 18:22:14 2005 +0000

    Configure zlib subdir automagically.
    
    CVS patchset: 7704
    CVS date: 2005/01/23 18:22:14

commit 8590097736398543e9c9bebd9c3cf3524fc19e2b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 18 00:30:20 2005 +0000

    - add https://svn.uhulinux.hu/packages/dev/zlib/patches/02-rsync.patch
    
    CVS patchset: 7703
    CVS date: 2005/01/18 00:30:20

commit bdec54d9745b04f60f38ef5c4131ff53f52fd19b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 18 00:10:04 2005 +0000

    Sanity.
    
    CVS patchset: 7702
    CVS date: 2005/01/18 00:10:04

commit 217c588baacf213a4570ee13e27477683baa3e88
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 23:58:09 2005 +0000

    Build on macosx.
    
    CVS patchset: 7701
    CVS date: 2005/01/17 23:58:09

commit cd3d87df20647dc49e9091115a4e78922387ceb0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 18:47:27 2005 +0000

    Remove generated files.
    
    CVS patchset: 7698
    CVS date: 2005/01/17 18:47:27

commit 5732d3daae06a8abc26bbdd03c14a99aca3261f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 9 17:48:19 2005 +0000

    - build against external/internal neon.
    
    CVS patchset: 7692
    CVS date: 2005/01/09 17:48:19

commit a35472d84950e3d2243c9a336351b27505932792
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 14:31:20 2005 +0000

    Sanity.
    
    CVS patchset: 7679
    CVS date: 2005/01/05 14:31:20

commit c2a0d5d163a23a823c3a106f904eb821151b2f07
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 13:46:28 2005 +0000

    Don't install man pages.
    
    CVS patchset: 7677
    CVS date: 2005/01/05 13:46:28

commit 82011226e266f55238fc7e3f7dbe776230b05c3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 13:33:55 2005 +0000

    Install /usr/lib/rpm/magic*.
    
    CVS patchset: 7676
    CVS date: 2005/01/05 13:33:55

commit c7510bceec93c47a9176f73eea0db7900ebb8208
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 04:46:01 2005 +0000

    build rpm-4.4.1-0.6.
    
    CVS patchset: 7674
    CVS date: 2005/01/05 04:46:01

commit 84ec406c35efeb8fb566ceab2fb1a4796cf7b447
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 4 19:31:31 2005 +0000

    - mac os x patches (#133611, #133612, #134637).
    
    CVS patchset: 7673
    CVS date: 2005/01/04 19:31:31

commit 6da6f7fc0a87818021bb07705450a29f46d7f14b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 4 17:46:10 2005 +0000

    - mac os x patches (#131943,#131944,#132924,#132926).
    
    CVS patchset: 7671
    CVS date: 2005/01/04 17:46:10

commit 228d0e350ac2f20ee7ca1f74c46620e219559542
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 4 17:11:00 2005 +0000

    Splint fiddles.
    
    CVS patchset: 7669
    CVS date: 2005/01/04 17:11:00

commit 34caf4357ac173eb273ec16611dc8da24fa75858
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 14:28:50 2005 +0000

    Wait for specific pid's.
    
    CVS patchset: 7664
    CVS date: 2005/01/03 14:28:50

commit f7348895a66e7e03b126bef8e3857bf4c89358d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 02:10:06 2005 +0000

    - upgrade to file-4.12 internal.
    
    CVS patchset: 7662
    CVS date: 2005/01/03 02:10:06

commit 751f7e3b54d87e054e5fc4cf547eb99d04087dd0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 02:02:54 2005 +0000

    Upgrade to file-4.12 (with RH patches).
    
    CVS patchset: 7661
    CVS date: 2005/01/03 02:02:54

commit 7793ec11ecf1d3024b7440b3e04bde57d3862b72
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 2 20:49:23 2005 +0000

    - revert MAGIC_COMPRESS, real fix is in libmagic (#143782).
    
    CVS patchset: 7657
    CVS date: 2005/01/02 20:49:23

commit 55e2652abbf89a9e1e35e547d8d7521389608508
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 2 19:40:49 2005 +0000

    Upgrade ro db-4.3.27.
    
    CVS patchset: 7655
    CVS date: 2005/01/02 19:40:49

commit c82ffb778ac8e17f804e08165a1375ca9230c7f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 2 19:01:06 2005 +0000

    Upgrade to db-4.3.27.
    
    CVS patchset: 7654
    CVS date: 2005/01/02 19:01:06

commit 50f13cec8f285b20e83789c2f98246b7e11f0767
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 2 18:30:11 2005 +0000

    Dead.
    
    CVS patchset: 7653
    CVS date: 2005/01/02 18:30:11

commit 5b38c248329af254a714380199f1828168e312be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 2 18:27:49 2005 +0000

    Orphan.
    
    CVS patchset: 7650
    CVS date: 2005/01/02 18:27:49

commit cf517f08bbfa7768f9421178c03a4357a34e8528
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 7 15:39:32 2004 +0000

    - use package color as Obsoletes: color.
    
    CVS patchset: 7639
    CVS date: 2004/12/07 15:39:32

commit fd0b82c71af015861a246541d7f8ed694dbad701
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 7 00:58:50 2004 +0000

    Redirect grep to /dev/null.
    
    CVS patchset: 7637
    CVS date: 2004/12/07 00:58:50

commit eb9c78fb09102564d29d32d8e8522110e4a6fd15
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 7 00:06:36 2004 +0000

    avoid md5 on sparse /var/log/lastlog file
    
    CVS patchset: 7633
    CVS date: 2004/12/07 00:06:36

commit 63377cb838839e519a81757698bbc380cca94b36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 6 15:47:27 2004 +0000

    - automagically detect and emit "python(abi) = 2.4" dependencies.
    - popt 1.10.1 to preserve newer.
    
    CVS patchset: 7631
    CVS date: 2004/12/06 15:47:27

commit cf8bf4efd96da10b33a2b556dc78015cefbcfc9c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 5 20:05:46 2004 +0000

    - force *.py->*.pyo byte code compilation with brp-python-bytecompile.
    - automagically detect and emit "python(abi) = 2.4" dependencies.
    
    CVS patchset: 7628
    CVS date: 2004/12/05 20:05:46

commit edc0ad3152685cdf284953c2618bc895e9025d01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 5 19:10:53 2004 +0000

    - rpm-4.4 final release.
    
    CVS patchset: 7627
    CVS date: 2004/12/05 19:10:53

commit d49ad2ca27a44c85ca1bf5f084b0d75274cb368b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 1 17:52:31 2004 +0000

    Deal with \r\n after "-----END PGP PBLIC KEY BLOCK-----" from hkp://sks.keyserver.penguin.de
    Add parser failure error codes.
    
    CVS patchset: 7622
    CVS date: 2004/12/01 17:52:31

commit 99e1763612f500a7779d7c56db1d9a8c45fa0b59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 29 14:32:14 2004 +0000

    Sanity.
    
    CVS patchset: 7620
    CVS date: 2004/11/29 14:32:14

commit 15204958aa03cc2c059fbe670c5d306534156a1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 29 14:29:22 2004 +0000

    - detect and return errors from neon through Ferror.
    
    CVS patchset: 7619
    CVS date: 2004/11/29 14:29:22

commit f5203aea8bd83dc18e48dda4a564429c0e48bab4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 28 21:14:41 2004 +0000

    - add support for automagic pubkey retrieval using HKP.
    
    CVS patchset: 7617
    CVS date: 2004/11/28 21:14:41

commit 88ace07349542e10a3834814372807e2eca30f42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 25 15:52:44 2004 +0000

    - python: bleeping keywords broke labelCompare.
    
    CVS patchset: 7601
    CVS date: 2004/11/25 15:52:44

commit 6a18dcbdf0c291f9a3615f4414477fbadb057b38
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 25 04:45:10 2004 +0000

    - fix: chunked davRead returns 0 is EOF.
    
    CVS patchset: 7600
    CVS date: 2004/11/25 04:45:10

commit 3f8541f639c6be4c060adf48fb5eff9696cb6725
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 22 21:46:14 2004 +0000

    Typo.
    
    CVS patchset: 7596
    CVS date: 2004/11/22 21:46:14

commit 70ffc09ac58b99626af566ae2a0f1ddd430697c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 22 21:45:34 2004 +0000

    - add Requires: neon-devel.
    
    CVS patchset: 7595
    CVS date: 2004/11/22 21:45:34

commit 43fc25d787d8edc1868e12069e075d01045199cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 22 21:41:28 2004 +0000

    - sparcv8: optflags changed to -mtune=ultrasparc (#140420).
    
    CVS patchset: 7593
    CVS date: 2004/11/22 21:41:28

commit 5c17470e1c6f977501ca1025a3578e53723387b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 18:01:30 2004 +0000

    Sanity.
    
    CVS patchset: 7591
    CVS date: 2004/11/19 18:01:30

commit 3ffb936701c4cb2907ec56c9737d2752a6533567
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 17:41:09 2004 +0000

    - bump soname into libfoo-4.4.so everywhere.
    
    CVS patchset: 7590
    CVS date: 2004/11/19 17:41:09

commit aba69f496375ef8368665a781805bda3be7c66b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 17:26:22 2004 +0000

    - remove noNeon runtime switch, http through neon only.
    - remove http put to be able to build against upstream neon.
    
    CVS patchset: 7589
    CVS date: 2004/11/19 17:26:22

commit 41c3c4df68ea311955fa4508db580fcdecd697d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 16:25:49 2004 +0000

    Builds with external libraries.
    
    CVS patchset: 7588
    CVS date: 2004/11/19 16:25:49

commit 989c9c34d293688809ff58ce5a7e7d2f1361a394
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 15:52:04 2004 +0000

    t on rpm-4_4.
    
    CVS patchset: 7587
    CVS date: 2004/11/19 15:52:04

commit 2daf3d2d0e7a17d663aef5bc798cd9f8a5dd7c6a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 15:48:28 2004 +0000

    Not on rpm-4_4.
    
    CVS patchset: 7586
    CVS date: 2004/11/19 15:48:28

commit c7c416edfab0d5c992a74371f4d824a7e3bcb76f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 15:47:20 2004 +0000

    Not on rpm-4_4 branch.
    
    CVS patchset: 7585
    CVS date: 2004/11/19 15:47:20

commit 6f22b87b7c83a79f47624725b9e1a65d3a35181d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 15:44:15 2004 +0000

    Not in rpm-4_4.
    
    CVS patchset: 7584
    CVS date: 2004/11/19 15:44:15

commit f331e9dc4a7bc7cd75a7299c61ea67aca60ff24e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 15:18:03 2004 +0000

    Sanity.
    
    CVS patchset: 7583
    CVS date: 2004/11/19 15:18:03

commit 24e6f8633e766bb8205a2ac55ad735a97b945f8c
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Nov 17 17:05:39 2004 +0000

    Add kwargs everywhere - courtesy of pjones@redhat.com
    
    CVS patchset: 7582
    CVS date: 2004/11/17 17:05:39

commit d7a0e859ba4842548bfe344f6408af80c10b1c50
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Nov 15 14:12:19 2004 +0000

    Re-export hidden VSF symbols 139221
    
    CVS patchset: 7581
    CVS date: 2004/11/15 14:12:19

commit 7be6851e3f7d88949419baaf9f0a05378084af96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 16:57:42 2004 +0000

    Re-add the rpc fixes from db-4.3.14.
    
    CVS patchset: 7580
    CVS date: 2004/11/11 16:57:42

commit fbbbddcd7e7b80152be34332e113c867e513673f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 16:25:25 2004 +0000

    Add new db-4.3.21 files.
    
    CVS patchset: 7579
    CVS date: 2004/11/11 16:25:25

commit acf19af1ab27ad071c1614f9610ae29eb5c902c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 15:58:46 2004 +0000

    Upgrade to db-4.3.21.
    
    CVS patchset: 7578
    CVS date: 2004/11/11 15:58:46

commit f9473219d523ace837a3ef5a1212bb6dcad2a690
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 06:11:37 2004 +0000

    - selinux: use rpm_execcon, not execv, to run scriptlets (#136848).
    - fix: segfault on --verifydb (#138589).
    
    CVS patchset: 7577
    CVS date: 2004/11/11 06:11:37

commit 8ce559b875c401630120a251cc73b23012f45080
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 03:58:46 2004 +0000

    Avoid unnecessary chroot("/") calls for certain Mac OSX kernels.
    Strip URL clutter from --root paths in rpmtsRootDir(ts) and newRpmdb().
    
    CVS patchset: 7574
    CVS date: 2004/11/11 03:58:46

commit 13b145b6af842a268d99a6a64fcf4e416ee4e681
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 02:29:51 2004 +0000

    Functional http remote globbing through WebDAV.
    BUG: Something goofy with Keepalive On still.
    
    CVS patchset: 7573
    CVS date: 2004/11/11 02:29:51

commit b1ac9a514607dd0d05fb9ad9a97c2e058e1f9328
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 01:04:59 2004 +0000

    Create.
    
    CVS patchset: 7572
    CVS date: 2004/11/11 01:04:59

commit 7008350f3ef19fe3ce5737cf84b9600481ba851c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 01:04:07 2004 +0000

    - make peace with libtool-1.5.10 and automake-1.9.3.
    
    CVS patchset: 7571
    CVS date: 2004/11/11 01:04:07

commit 103a5c0e4860837984060eeb2c3d6f366993d03d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 11 00:13:38 2004 +0000

    Wire HTTP PUT through libneon.
    
    CVS patchset: 7570
    CVS date: 2004/11/11 00:13:38

commit 910c42099e33c725937ec9c78460aa8bafb0ccd0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 10 00:50:41 2004 +0000

    - add --delsign to purge packages of digital signatures.
    
    CVS patchset: 7569
    CVS date: 2004/11/10 00:50:41

commit 20ed3220672daf608e930791a5ded2d3bf892269
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 10 00:49:04 2004 +0000

    Sanity.
    
    CVS patchset: 7568
    CVS date: 2004/11/10 00:49:04

commit 9b623629bdbf4766ac613aacd5ff24cddecaf34e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 9 19:40:10 2004 +0000

    - resurrect freshen.sh to, say, upgrade only kernel-bigmem packages.
    
    CVS patchset: 7565
    CVS date: 2004/11/09 19:40:10

commit 487c902d2fe8ee7010154963e357e624ce849c7d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 9 06:59:34 2004 +0000

    - python: add python 2.4 support.
    
    CVS patchset: 7562
    CVS date: 2004/11/09 06:59:34

commit e5e4a65519c5138f505b19659ae60f2eb489c706
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 22:49:00 2004 +0000

    Stub in rpmrpc primitives.
    
    CVS patchset: 7561
    CVS date: 2004/11/08 22:49:00

commit 2cecae5394694809fbcfd50dabb7e196141c8754
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 21:12:45 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7560
    CVS date: 2004/11/08 21:12:45

commit f38adb14040b297a257d6f2f3213d13ca9dcd3af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 20:56:18 2004 +0000

    Splint clean.
    
    CVS patchset: 7559
    CVS date: 2004/11/08 20:56:18

commit fffc17ec6d5429e84cc96b268a7e03c0560e65ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 18:38:42 2004 +0000

    Sanity.
    
    CVS patchset: 7558
    CVS date: 2004/11/08 18:38:42

commit fc4aad4c4c9d283135d67144030896c91bc7bbbc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 18:06:15 2004 +0000

    Typo.
    
    CVS patchset: 7557
    CVS date: 2004/11/08 18:06:15

commit 8f3b9ed6634cf571105d862613424a1ecdaf6ca6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 18:05:55 2004 +0000

    R++;
    
    CVS patchset: 7556
    CVS date: 2004/11/08 18:05:55

commit 1727acd62d0919858cb37282b2dd9879afa4865f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 18:00:00 2004 +0000

    - use external libneon for http/https transport.
    
    CVS patchset: 7555
    CVS date: 2004/11/08 18:00:00

commit 04a779db7250865087dad5108e2dff3103419e71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 17:10:36 2004 +0000

    Functional https:// with Keepalive on.
    
    CVS patchset: 7554
    CVS date: 2004/11/08 17:10:36

commit 42554d5d08e4f4d4252a54fe38ad5ad4e00d2493
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 8 01:54:12 2004 +0000

    Rebalance refcounts with keepalive.
    
    CVS patchset: 7553
    CVS date: 2004/11/08 01:54:12

commit e5370f96a4c4eaa3d054d8a0e60aa8f593f5373e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 7 18:49:08 2004 +0000

    Drill many neon hooks.
    
    CVS patchset: 7552
    CVS date: 2004/11/07 18:49:08

commit 351af63e8c87fc52f0e6eaf013f4df8dd372bf66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 21:02:15 2004 +0000

    Orphan.
    
    CVS patchset: 7551
    CVS date: 2004/11/06 21:02:15

commit d2d8ce7910cc12c902e4826289909afe754a9a50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 21:01:03 2004 +0000

    Remove dead code.
    
    CVS patchset: 7550
    CVS date: 2004/11/06 21:01:03

commit f790586b45bb1c6827426ed9e9d8a1451a2229e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 20:57:30 2004 +0000

    Add handlers for Content-Length: et al HTTP tags used by rpmio.
    
    CVS patchset: 7549
    CVS date: 2004/11/06 20:57:30

commit 7e731dd8ce07a68a6affdc24c561890f51fa4e03
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 19:26:52 2004 +0000

    Balance fd refcounts like http://. Much subtle hackery, sigh.
    
    CVS patchset: 7548
    CVS date: 2004/11/06 19:26:52

commit fa16f9dc94f11ad7bbcb767cb9ba85ed2b42eafa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 17:59:19 2004 +0000

    Implement davReq/davResp instead.
    
    CVS patchset: 7547
    CVS date: 2004/11/06 17:59:19

commit 0736ef114728337278343a92e0db6aeaec3f8ee2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 16:09:15 2004 +0000

    Update to HEAD.
    
    CVS patchset: 7546
    CVS date: 2004/11/06 16:09:15

commit 945b4f65ef02782ed93443751fe3d8f455cf25af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 20:43:10 2004 +0000

    w00t! rpm -q -W https://wellfleet.jbj.org/rawhide/test milestone!
    
    CVS patchset: 7545
    CVS date: 2004/11/05 20:43:10

commit 50596fe84b032b34dbc5c851eed2da67fc55d4fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 16:20:42 2004 +0000

    Stub in libio routines.
    
    CVS patchset: 7544
    CVS date: 2004/11/05 16:20:42

commit 368da1cf2677927f1d59b96a074b5cb6cffc04b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 16:00:31 2004 +0000

    Store server capabilities and lockstore in urlinfo.
    Attach urlinfo to fetch context prior to ripping ne_parse_uri.
    Substitute /u->service/u->scheme/ everywhere to conform with modern usage.
    Splint clean.
    
    CVS patchset: 7543
    CVS date: 2004/11/05 16:00:31

commit 04724d83c32a5cb9fe7ee4cd5411d60e768e26d3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 03:09:00 2004 +0000

    Eliminate global session and neon uri parsing, use the urlcache instead.
    
    CVS patchset: 7542
    CVS date: 2004/11/05 03:09:00

commit 8e7cbc84da14207e38143226fd144b9a5155df6d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 00:45:02 2004 +0000

    Implement davStat (and clone davLstat), sufficient for fts walk.
    
    CVS patchset: 7541
    CVS date: 2004/11/05 00:45:02

commit 9865db5f7ecce9116011e776be784e0b38fd25c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 20:15:17 2004 +0000

    Link librpmio with -lneon.
    Implement Opendir et al across https:// using neon.
    
    CVS patchset: 7540
    CVS date: 2004/11/04 20:15:17

commit 02eda2bcf8328cdfd3b1ec2b3c126da300851908
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 19:27:48 2004 +0000

    Splint fiddles from rpmdav.c take 0.
    
    CVS patchset: 7539
    CVS date: 2004/11/04 19:27:48

commit 80c888e0c7ead8f644baa607801fab0d45b56799
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 14:19:47 2004 +0000

    Typos.
    
    CVS patchset: 7538
    CVS date: 2004/11/04 14:19:47

commit f02d2a3449a6216056667ab919e827c177d397ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 14:16:30 2004 +0000

    Split out avOpendir/avReaddir/avClosedir to rpmdav.c.
    Stub in davOpen.
    
    CVS patchset: 7537
    CVS date: 2004/11/04 14:16:30

commit afeddbf68df1ebaa6069845fcfd773401c0ba849
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 13:29:11 2004 +0000

    Stub in URL_IS_HTTPS everywhere.
    
    CVS patchset: 7536
    CVS date: 2004/11/04 13:29:11

commit 99012f2fab4b449228bf06aa3a11d0a0798ffbed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 13:27:08 2004 +0000

    Annotations from cadaver checks.
    
    CVS patchset: 7535
    CVS date: 2004/11/04 13:27:08

commit af723bb9343f5a6b0392604efd281e7d3225b577
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 1 16:54:50 2004 +0000

    Annotate openssl too.
    
    CVS patchset: 7533
    CVS date: 2004/11/01 16:54:50

commit 85d28994b93ee020dae26193e81aacf4be90b3ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 31 20:22:01 2004 +0000

    - python: remove ".A" from creaky ts.check() tuple return (#135008).
    - python: fix RPMPROB_BADRELOCATE segfault return in ts.check (#137116).
    - revert selinux patch until fc3 release.
    - reprise file conflicts yet again, flip/flop/flip/flop ...
    - fix: buffer overrun displaying ko_KR (#135389).
    
    CVS patchset: 7532
    CVS date: 2004/10/31 20:22:01

commit 4ba9d376d97595752e19b1310f1eded58e414b38
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 31 09:24:19 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7530
    CVS date: 2004/10/31 09:24:19

commit ad4046da94b74e01b0336f1b86178f503866cbd8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 31 04:14:11 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7529
    CVS date: 2004/10/31 04:14:11

commit d294191632dfbe72fa01cb1c77a9b1f80ecfe058
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 22:51:26 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7527
    CVS date: 2004/10/30 22:51:26

commit 8a9422ca615265302a2fed9105b78c6505840a26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 20:29:18 2004 +0000

    Spint fiddles.
    
    CVS patchset: 7526
    CVS date: 2004/10/30 20:29:18

commit 6e8a0d22e2483dbdba690248ea4d6427e49eb1b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 00:45:18 2004 +0000

    Path to magic.h.
    
    CVS patchset: 7525
    CVS date: 2004/10/30 00:45:18

commit 69227ecd1bf64421da5ee99c14cf1613e1114787
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 29 13:57:41 2004 +0000

    Update to neon trunk.
    
    CVS patchset: 7523
    CVS date: 2004/10/29 13:57:41

commit e603ae4198c394996d56a34bc69c92a1b16dfddb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 29 13:34:35 2004 +0000

    Update to 0.24.7.
    
    CVS patchset: 7522
    CVS date: 2004/10/29 13:34:35

commit 0189ffbf596a81418b9740ee6d2455cb4a6c358f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 29 00:00:47 2004 +0000

    Ignore generated files.
    
    CVS patchset: 7521
    CVS date: 2004/10/29 00:00:47

commit c1e3a63771c3db1a1b01df3af7d58009207dcde3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 28 23:59:27 2004 +0000

    - attempt dependency tree breadth, take 1.
    
    CVS patchset: 7520
    CVS date: 2004/10/28 23:59:27

commit 37718380bf1a5503555b3ac7575570ad68fe2fa1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 28 23:57:36 2004 +0000

    - bump popt to version to 1.10.
    
    CVS patchset: 7519
    CVS date: 2004/10/28 23:57:36

commit e609515b336384c95b59e7f87c3059119fa0b543
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 27 22:57:14 2004 +0000

    Build rpm-4.4-0.1 packages.
    
    CVS patchset: 7518
    CVS date: 2004/10/27 22:57:14

commit 67b6b42557e4a4f78cb18dd6f2e912910967f57c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 27 04:55:11 2004 +0000

    Splint clean.
    
    CVS patchset: 7517
    CVS date: 2004/10/27 04:55:11

commit 194e3c10d3f3e76fa09410ceb578dfdff79fc517
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 27 02:17:58 2004 +0000

    - fix: handle non-unique dirnames in rpmalAdd().
    
    CVS patchset: 7516
    CVS date: 2004/10/27 02:17:58

commit b7896908db63e5dbe3dbc2152434d29dae8435b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 26 23:29:28 2004 +0000

    Getter/setter methods for isSource and Header from rpmte.
    Add RPMDB_ADDED transaction element iterator to rpmgi.
    Two iterations to load and then spew query in topologically sorted order.
    
    CVS patchset: 7515
    CVS date: 2004/10/26 23:29:28

commit 421dab010c0ba090b64a31a32278bfaae71ea561
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 26 17:42:55 2004 +0000

    Do a consolidated insertion, not a concatenation, in rpmReadManifest.
    
    CVS patchset: 7514
    CVS date: 2004/10/26 17:42:55

commit 959434ca80cdbb55e1372a338d25a27759e8f29a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 26 00:22:10 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7513
    CVS date: 2004/10/26 00:22:10

commit 0a68012b6f704ccf0964f0e4ea098b8d1f940c13
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 18:10:48 2004 +0000

    Add options to populate transaction set while iterating.
    Avoid mixed source/binary sanity check in rpmtsAddInstallElement.
    Turn off query spewage if/when populating while iterating.
    Display rpmtsCheck problems and suggestions after iterating.
    
    CVS patchset: 7512
    CVS date: 2004/10/25 18:10:48

commit 274d1d0d6d7a39fe13fcd2296a0cc818ae09278c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 15:35:10 2004 +0000

    Teach rpmcache to use globla ftsOpts.
    
    CVS patchset: 7511
    CVS date: 2004/10/25 15:35:10

commit 0f86e55aa4305dedfec636fb71bf3fce6bc23da0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 15:26:51 2004 +0000

    Wire ftsOpts globally.
    
    CVS patchset: 7510
    CVS date: 2004/10/25 15:26:51

commit 3eb61f7a4ab9263ac95096357236f3e814b83b65
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 14:20:55 2004 +0000

    Stub out rpmgiWalkPathFilter, prior to teaching rpmcache about rpmgi.
    
    CVS patchset: 7509
    CVS date: 2004/10/25 14:20:55

commit 7c25d1ffaed9ab2e626db874150d17bbc6424cee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 01:10:13 2004 +0000

    Add undocumented --hdlist and --ftswalk query/verify sources.
    Bugs:
     * @todo hdlist should use argv to open system hdlist path.
    
    CVS patchset: 7508
    CVS date: 2004/10/25 01:10:13

commit 7138fa3bed4ef36fe94e2f6bdbac071685cbe86d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 00:34:08 2004 +0000

    Use rpmgi glob and manifest load for --package.
    Bugs:
     * @todo An empty file read as manifest truncates argv returning RPMRC_NOTFOUND.
     * @todo Errors, e.g. non-existent path in manifest, will terminate iteration.
     * @todo Chained manifests lose an arg someplace.
    
    CVS patchset: 7507
    CVS date: 2004/10/25 00:34:08

commit f60aac8e5a0be5659388f1e0cf705fdde0b519aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 24 22:25:32 2004 +0000

    Iterate on RPMQV_ALL, adding filters to match iterator from argv.
    
    CVS patchset: 7506
    CVS date: 2004/10/24 22:25:32

commit 595a207f27c0ef38d6e604deda2ac9423a9b4421
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 24 20:35:41 2004 +0000

    Arg iteration for --query and --verify, everything but RPMQV_ALL.
    
    CVS patchset: 7505
    CVS date: 2004/10/24 20:35:41

commit 3691d13f0427ecee102acfc2a658c6c2a89227fb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 24 19:36:30 2004 +0000

    Explicit rpmgiFlags enum defined, add RPMGI_{NOGLOB,NOMANIFEST,NOHEADER}.
    Abstract arg iteration into rpmcliArgIter().
    Add undocumented --rpmgidebug.
    
    CVS patchset: 7504
    CVS date: 2004/10/24 19:36:30

commit 883580417100b31808d0ef8d69bcfdd510e85d0a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 21:18:35 2004 +0000

    Compile in the correct path to /usr/lib/rpm/magic.
    Add magic for rpm packages and headers.
    Add MAGIC_COMPRESS and MAGIC_CHECK to extract types from compressed files.
    Permit info and man pages into RPMTAG_FILECLASS.
    Package all the Berkeley DB utilities with rpm.
    
    CVS patchset: 7502
    CVS date: 2004/10/21 21:18:35

commit bc1ad5caaf0c827355f4254cb3b4e7f4e76a94b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 19:24:07 2004 +0000

    Install rpmfile and magic* into /usr/lib/rpm.
    
    CVS patchset: 7501
    CVS date: 2004/10/21 19:24:07

commit b7f251ae164590335bfca52c9dfce56a9e9c6512
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 18:40:56 2004 +0000

    - port to internal file-4.10 libmagic rather than libfmagic.
    
    CVS patchset: 7500
    CVS date: 2004/10/21 18:40:56

commit 2083dadd4c6e57010bb703da6699ebfd0bda85be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 16:13:21 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7499
    CVS date: 2004/10/21 16:13:21

commit a1bfe90ddc19fcce50b89471ebd77d9ea5e76270
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 13:26:05 2004 +0000

    DB_WRITECURSOR cannot be used with sunrpc dbenv.
    
    CVS patchset: 7498
    CVS date: 2004/10/21 13:26:05

commit b96dba474f64505fa9e21a84984b39ba42a49ba1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 00:24:38 2004 +0000

    Install all Berkeley DB utilities.
    Don't set DB_WRITECURSOR if using sunrpc.
    
    CVS patchset: 7497
    CVS date: 2004/10/21 00:24:38

commit 5e872f35ed574ec549155fd8a56828aed59aedfb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 10:31:47 2004 +0000

    Add lua to doxygen.
    
    CVS patchset: 7496
    CVS date: 2004/10/20 10:31:47

commit 8faa61c020369ecf850a823a505b946485fa1bea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 10:19:34 2004 +0000

    Doxygen fiddles.
    
    CVS patchset: 7495
    CVS date: 2004/10/20 10:19:34

commit 2c192f3e33ef5237c6b00a9962c112c2bd304464
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 09:20:43 2004 +0000

    Add #include "db_int_def.h" to generated db_server_svc.c (pnasrat).
    
    CVS patchset: 7494
    CVS date: 2004/10/20 09:20:43

commit 924df419119e16f1fe8833e8f804ba37b58c1981
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Oct 20 04:15:15 2004 +0000

    update to 0.68, make it compile again with rpm 4.0
    
    CVS patchset: 7493
    CVS date: 2004/10/20 04:15:15

commit e47ccc321adb157633bddb9b17c75deb6ee875d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 02:34:17 2004 +0000

    Add rpmtsCheck() and rpmtsOrder() to iterator.
    Add rpmgi.[ch] to Dpxyfiles.in and POTFOLES.in
    
    CVS patchset: 7492
    CVS date: 2004/10/20 02:34:17

commit 7a34fdc4a2b4fbfae85e4bc7e67f5da59ab7c732
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 19 22:52:33 2004 +0000

    Stare at a redhat-artwork problem in rpmal.c with multiple versions,
      punt for now.
    Add transaction elements to rpmgi ts.
    
    CVS patchset: 7491
    CVS date: 2004/10/19 22:52:33

commit ea8c710ac49f103a95cf42b291b5d54f98fc2eb1
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Oct 19 21:35:24 2004 +0000

    Build and changes for _rpm module
    
    CVS patchset: 7490
    CVS date: 2004/10/19 21:35:24

commit d96e690b8d0e5796d7954f02b56d4b3d0fe00410
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Oct 19 21:33:22 2004 +0000

    Initial python wrapped rpm module files
    
    CVS patchset: 7489
    CVS date: 2004/10/19 21:33:22

commit 4330e4eab5adcf65c895a318917a74aa535d9258
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Oct 19 21:31:03 2004 +0000

    ignore file for rpm-python rpm dir
    
    CVS patchset: 7488
    CVS date: 2004/10/19 21:31:03

commit b7dfb8ada08ccd92bcf9f3cd9ac4045b7bd1fed1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 19 16:39:36 2004 +0000

    Change options to specify type of iteration.
    
    CVS patchset: 7487
    CVS date: 2004/10/19 16:39:36

commit 343b3223e8d23b17809eb04db1d9826a8a709edb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 19 15:54:38 2004 +0000

    Merge iterator types into pseudo tags.
    Load argv and ftpopts through iterator modifier, not creator.
    
    CVS patchset: 7486
    CVS date: 2004/10/19 15:54:38

commit fb6dac4267136d0209ccdd5ddb13691c178f0ffe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 19 02:30:25 2004 +0000

    Store path to header in iterator.
    Iterator returns rpmRC rather than value, eliminate queryFormat methods.
    
    CVS patchset: 7485
    CVS date: 2004/10/19 02:30:25

commit 67ce81d2013ce58c55f65d151e0206d590a505bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 19 01:31:20 2004 +0000

    Attach header reference to the iterator.
    
    CVS patchset: 7484
    CVS date: 2004/10/19 01:31:20

commit ddfad5f8782002bc2679aa82b9e58b58efb1430b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 18 22:47:20 2004 +0000

    Isolate most state changes in rpmgiNext, with lazy open/close.
    Refactor some of the mess into subroutines.
    
    CVS patchset: 7483
    CVS date: 2004/10/18 22:47:20

commit e93a77c9b792b68c63ce7d3d360ab7f43d37feb6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 18 01:08:56 2004 +0000

    Add generalized iterator to rpmlib.
    
    CVS patchset: 7482
    CVS date: 2004/10/18 01:08:56

commit ed4688aca76a81449ac3debdd8ef60a7afd5c45d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 23:32:55 2004 +0000

    Glob ftswalk/arglist args always.
    
    CVS patchset: 7481
    CVS date: 2004/10/17 23:32:55

commit 8f1ca37afaf5d83b9be72eb3e2aa6e2ed587084a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 23:11:24 2004 +0000

    Add manifests to --arglist processing.
    
    CVS patchset: 7480
    CVS date: 2004/10/17 23:11:24

commit ed8a00518df4dd88d234c7ece4e6b481e21efbcc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 19:00:10 2004 +0000

    - free rpmrc when looping on --target arches (#127730).
    
    CVS patchset: 7479
    CVS date: 2004/10/17 19:00:10

commit 18f7b6bc0e5510192207766135aa4ef9fe4c3b8a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 18:49:52 2004 +0000

    - don't add time stamp to compressed man pages (#132526).
    
    CVS patchset: 7477
    CVS date: 2004/10/17 18:49:52

commit b4264419a8c36ff910d30b57b88cd59353ff02a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 18:44:15 2004 +0000

    - permit Conflicts: /path/to/file.
    
    CVS patchset: 7476
    CVS date: 2004/10/17 18:44:15

commit 8b3d9c1a128528f000a92075c68f46d2410673e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 18:25:44 2004 +0000

    Better error message.
    
    CVS patchset: 7475
    CVS date: 2004/10/17 18:25:44

commit 5a91608e9134873e5af65dc548f7552f12073d43
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 17 18:24:36 2004 +0000

    fix: legacy syntax not even close.
    - permit Obsoletes: /path/to/file.
    
    CVS patchset: 7474
    CVS date: 2004/10/17 18:24:36

commit dea95c48df9d7e9b54fbf2e54784938fdacbdde7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 16 12:50:52 2004 +0000

    Upgrade to db-4.3.14 internal.
    
    CVS patchset: 7473
    CVS date: 2004/10/16 12:50:52

commit a32e0850ed4599a9dce98819f4e22f944f3b2eac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 16 02:36:10 2004 +0000

    Orphan.
    
    CVS patchset: 7472
    CVS date: 2004/10/16 02:36:10

commit d03f220fde879509cab2ac1c73b71b7efb52b737
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 16 01:31:54 2004 +0000

    ... and in with the New ...
    
    CVS patchset: 7471
    CVS date: 2004/10/16 01:31:54

commit 2dc699bfe049b9319ea3719f604d25940ff52004
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 15 23:22:46 2004 +0000

    Out with the old ...
    
    CVS patchset: 7470
    CVS date: 2004/10/15 23:22:46

commit 85a380eeaf8472a4f4235e7f7b2e32d5f9bcaa24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 15 18:25:14 2004 +0000

    - obsolete Serial:, Copyright:, and RHNPlatform: syntax in spec files.
    
    CVS patchset: 7469
    CVS date: 2004/10/15 18:25:14

commit d57bc03f6567acf6d1631541b97ce7cdb1b262bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 15 00:14:29 2004 +0000

    - disable expensive header+payload verifies in default config.
    - adjust digest/signature stats to count #pkgs and bytes.
    
    CVS patchset: 7465
    CVS date: 2004/10/15 00:14:29

commit 44b6c334221653154fc75afd45115f530906f9e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 14 16:37:57 2004 +0000

    Open ftswalk/argv paths to permit --qf on header.
    
    CVS patchset: 7464
    CVS date: 2004/10/14 16:37:57

commit d5bce7dc38c78eba9bf2f9e67554b1f1a3ca19eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 14 15:45:41 2004 +0000

    Hack in hdlist queries.
    
    CVS patchset: 7463
    CVS date: 2004/10/14 15:45:41

commit 9e30825226d5b1613eb210094fde5f5488fb4725
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 14 15:09:07 2004 +0000

    - fix: don't set handler if SIG_IGN is already set (#134474).
    
    CVS patchset: 7462
    CVS date: 2004/10/14 15:09:07

commit 47ea5da7dd42de36b235b688205fb35f53e3cad6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 21:03:29 2004 +0000

    - silently add default %defattr(-,root,root) for all packages.
    
    CVS patchset: 7461
    CVS date: 2004/10/13 21:03:29

commit 5c095b4d656f6429700b1c585060b05308dd49e7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 19:03:45 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7460
    CVS date: 2004/10/13 19:03:45

commit 3027bc96de4ca46c42de6e7cf0b31feed64334bc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 18:40:33 2004 +0000

    Move rpm-python test scripts to test subdirectory.
    
    CVS patchset: 7459
    CVS date: 2004/10/13 18:40:33

commit c096a1d284fe9b4068af654d70b8bdf4a0f0cc81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 15:33:50 2004 +0000

    - python: add rpm.ps() object to carry problem set info.
    - python: permit rpm.ds() analogue to hdr.dsFromHeader() creator.
    - python: permit rpm.fi() analogue to hdr.fiFromHeader() creator.
    
    CVS patchset: 7458
    CVS date: 2004/10/13 15:33:50

commit f9dbc32cda89d152270557249004746ca4df975f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 15:28:19 2004 +0000

    Permit fi = rpm.fi(h, tagN, flags) creator, analogous to h.fiFromHeader().
    Add optional flags to hdr_fiFromHeader().
    
    CVS patchset: 7457
    CVS date: 2004/10/13 15:28:19

commit 8b2a6b9e8f3e4d39381900ae2c4a79ffb3ac0334
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 14:53:21 2004 +0000

    Permit ds = rpm.ds(h, tagN, flags) creator, analogous to h.dsFromHeader().
    Add optional flags to hdr_dsFromHeader().
    
    CVS patchset: 7456
    CVS date: 2004/10/13 14:53:21

commit 2f0f41425dae3d90f29c668983e2ff0bfb6c9a54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 06:26:16 2004 +0000

    Return current problem set form transaction.
    
    CVS patchset: 7455
    CVS date: 2004/10/13 06:26:16

commit 8ebeba69794be76533a1aad712b03a764e15800d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 13 05:47:55 2004 +0000

    Remove pugly extra newline from --changelog.
    
    CVS patchset: 7454
    CVS date: 2004/10/13 05:47:55

commit 628676b987963c910ca6272e940b7fa85a5edf08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 12 21:16:54 2004 +0000

    More cleanup.
    
    CVS patchset: 7453
    CVS date: 2004/10/12 21:16:54

commit 78c3de9ce3e76ddc3483ec3f32a9a60e3509fc6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 12 21:08:04 2004 +0000

    No need for ps.NumProblems() method.
    
    CVS patchset: 7452
    CVS date: 2004/10/12 21:08:04

commit 112846247dc0f6e0a70b368c0e2bdf77a9355b33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 12 20:26:05 2004 +0000

    Proof-of-concept rpmps object. Ick ...
    
    CVS patchset: 7451
    CVS date: 2004/10/12 20:26:05

commit b576fa4259ff43d09fb56a9bb78f81dd13b8e148
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 12 00:13:22 2004 +0000

    rpmps framework created.
    
    CVS patchset: 7450
    CVS date: 2004/10/12 00:13:22

commit 12ccd4fb2feb43f81ec6db27e38e8a04778f4c3f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 11 23:31:18 2004 +0000

    Add Find and Merge methods, Sort stub.
    
    CVS patchset: 7449
    CVS date: 2004/10/11 23:31:18

commit 771d9e1222a2d2fc0790c5b9ae769f494ac61725
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Oct 11 15:16:49 2004 +0000

    Don't include Arch in release for backwards compat (#135008)
    
    CVS patchset: 7447
    CVS date: 2004/10/11 15:16:49

commit a2fd0f887e7091e4b35450ad482a460e051bd79f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 10 20:55:11 2004 +0000

    Add --qf to rpmgi.
    
    CVS patchset: 7446
    CVS date: 2004/10/10 20:55:11

commit e7f1a0e59fcfd681ed6c7685777a3c94269c26dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 10 05:30:48 2004 +0000

    Create generic iterator (needs work).
    
    CVS patchset: 7445
    CVS date: 2004/10/10 05:30:48

commit fa313c61b0ced1bcdd26fabb934d195156fbc153
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 10 01:24:16 2004 +0000

    Typo.
    
    CVS patchset: 7444
    CVS date: 2004/10/10 01:24:16

commit d1a74696d65c7904c9b2a4b29e356ecf7947c067
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 21:58:33 2004 +0000

    Doxygen and cpp nit picks.
    
    CVS patchset: 7443
    CVS date: 2004/10/09 21:58:33

commit 3c792a32c1cc8547ea858613af64fde54cbdfc8b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 20:39:27 2004 +0000

    Changes from rpm-4_3 branch.
    
    CVS patchset: 7442
    CVS date: 2004/10/09 20:39:27

commit a36aa761ec0f525c0a206f0a46d404a3ccab5887
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 20:22:01 2004 +0000

    More changes from rpm-4_3 branch.
    
    CVS patchset: 7441
    CVS date: 2004/10/09 20:22:01

commit 24bb3c7ce2dafefb995ecc0fb0f1de3727b4aaee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 19:40:09 2004 +0000

    Flush changes from rpm-4_3 branch.
    
    CVS patchset: 7440
    CVS date: 2004/10/09 19:40:09

commit 90168175522d3133caa3c7da0454c43c23bb06a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 18:32:24 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7439
    CVS date: 2004/10/09 18:32:24

commit dfcc57328817fe35c3d23d10a0337e8c95bbe7a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 18:23:00 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7438
    CVS date: 2004/10/09 18:23:00

commit f4545b773ce594f3fdeaaf1c03685ecdeb669984
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 18:07:24 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7437
    CVS date: 2004/10/09 18:07:24

commit c15266f569c77cbddc9b72c0fb83befcf00a0ab6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 17:44:27 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7436
    CVS date: 2004/10/09 17:44:27

commit b831315e41173e27a4e402c65d318b43558c4fca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 17:29:22 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7435
    CVS date: 2004/10/09 17:29:22

commit d8822ba626caea60e6310157c1a180cde16bfe0a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 16:55:46 2004 +0000

    Enable prototypes with splint.
    
    CVS patchset: 7434
    CVS date: 2004/10/09 16:55:46

commit 41d1ebf4bdec32219afce270140979f4f92104f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 16:25:56 2004 +0000

    Upgrade to zlib-1.2.2.
    
    CVS patchset: 7433
    CVS date: 2004/10/09 16:25:56

commit 1f4f517ac07cce2edf9a7ac95dd9e4350bf1c99c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 9 16:12:14 2004 +0000

    Splint annotations.
    
    CVS patchset: 7432
    CVS date: 2004/10/09 16:12:14

commit 808e41afe3482f2f4a63e15900d01cd410d1bbc6
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Oct 4 15:03:43 2004 +0000

    Don't version compare obsolete with package header
    
    CVS patchset: 7427
    CVS date: 2004/10/04 15:03:43

commit 502f88e0e67bb1df91e09a32a370b04bda36259e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 21:45:27 2004 +0000

    - prevent RPMSENSE_PREREQ from being set or tested.
    
    CVS patchset: 7425
    CVS date: 2004/09/30 21:45:27

commit 10336f101cd2798c8eb64335f8cc57baadea6454
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 20:18:40 2004 +0000

    - add Disttag: syntax to spec file parser and header content.
    - define Suggests:/Enhances: and Priority: tag values.
    
    CVS patchset: 7424
    CVS date: 2004/09/30 20:18:40

commit 40409429140f8db038e62291ba92630f3928ca74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 19 16:14:54 2004 +0000

    - upgrade to pristine zlib-1.2.1.2.
    
    CVS patchset: 7420
    CVS date: 2004/09/19 16:14:54

commit 59293dd8928d6f0033a45fdef9e9f50a296a3a0b
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Sep 13 18:55:24 2004 +0000

    add call to get headerUnload
    
    CVS patchset: 7418
    CVS date: 2004/09/13 18:55:24

commit dd17e87985c3fd2e76fc122c9dc01159fc8f11b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 31 15:39:37 2004 +0000

    - ia64: auto-relocate entire, not partial, directory contents (#126905).
    - ia64: auto-relocate glibc.ix86 interpreter path (#100563).
    - shared libraries in separate rpm-libs package.
    - fix: defattr for rpm-libs (#130461).
    - fix: static glibc/libgcc helpers always installed (#127522).
    - ia64: make sure that autorelocated file dependencies are satisfied.
    - ia64: relocate all scriptlet interpreters.
    - ia64: don't bother trying to preload autorelocated modules.
    - fix: filesystem package needs mail/lock w/o getgrnam.
    - fix: do getpwnam/getgrnam to load correct modules before chroot.
    
    CVS patchset: 7415
    CVS date: 2004/08/31 15:39:37

commit ce2ad5848a52c6ea96e8a29fb8eb40e314b25ccf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 19 17:00:15 2004 +0000

    - avoid "can't happen" recursion while retrieving pubkeys.
    
    CVS patchset: 7401
    CVS date: 2004/08/19 17:00:15

commit 904e8dbf0d94fb93657f63cab6761565865d7f75
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 18 02:30:49 2004 +0000

    - Added support for $RPM_Requires and $RPM_Provides.
    - Added POD.
    
    CVS patchset: 7398
    CVS date: 2004/08/18 02:30:49

commit 52bd07cec8e3bfd8370139af7a236ab77ba0ed70
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 18 00:41:48 2004 +0000

    - Fixed duplicate requires bug.
    - Was not showing provides (not exists, shoudl have been exists on the ignore
      check).
    
    CVS patchset: 7397
    CVS date: 2004/08/18 00:41:48

commit 7646f288f47c171a0c0d3e69d88d74e989b5d5f5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 11 11:04:48 2004 +0000

    Second pass at edit to rpmtsRun doxygen.
    
    CVS patchset: 7396
    CVS date: 2004/08/11 11:04:48

commit 31b9e5419a824222880b4c85fab554e904ab90e0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 11 00:32:19 2004 +0000

    Add docs to rpmtsRun to explain what is required before a call
    to rpmtsRun can be successful.
    
    CVS patchset: 7395
    CVS date: 2004/08/11 00:32:19

commit e71a58fece93f6f25e8c2e1aafdc7b5ece3923f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 4 03:42:35 2004 +0000

    Spint fiddles.
    
    CVS patchset: 7394
    CVS date: 2004/08/04 03:42:35

commit 20c3ac1c5049690fff934d2c62ee9dc8ee215844
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 21:51:05 2004 +0000

    Install into /usr/lib64 where appropriate.
    
    CVS patchset: 7393
    CVS date: 2004/08/03 21:51:05

commit df56cd1e0d091e4db89a02ea531b6e4774ec244e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 21:16:26 2004 +0000

    Modern autocrap conventions, dump acconfig.h.
    
    CVS patchset: 7392
    CVS date: 2004/08/03 21:16:26

commit be851958f2063a2abdf7524c060b9e480cc11596
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 20:43:07 2004 +0000

    Remove more autocrap clinker.
    
    CVS patchset: 7391
    CVS date: 2004/08/03 20:43:07

commit 66bf198b5e347664b2bfbb8856058ae0219f483a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 20:37:14 2004 +0000

    Remove autocrap clinker.
    
    CVS patchset: 7390
    CVS date: 2004/08/03 20:37:14

commit 6a12bc63ae1524bc22c36a960560de0a8785aec2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 20:31:49 2004 +0000

    Upgrade to file-4.10.
    
    CVS patchset: 7389
    CVS date: 2004/08/03 20:31:49

commit 311c1c7274224f386e12f71d6b70460ffa1b1637
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 20:16:18 2004 +0000

    Upgrade to file-4.09.
    
    CVS patchset: 7388
    CVS date: 2004/08/03 20:16:18

commit 2b86cac35f6c633d500fda5c88262b93307c3093
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 06:32:42 2004 +0000

    Annotate minigzip.c too.
    
    CVS patchset: 7387
    CVS date: 2004/08/03 06:32:42

commit e5a9674ee310e6c36d253c4509221331af77acf4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 06:01:33 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7386
    CVS date: 2004/08/03 06:01:33

commit 8192896ba301cfa4a420a84b0ef9ccf097118dcf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 3 00:04:07 2004 +0000

    Convert args to ANSI C.
    Side effects annotated.
    
    CVS patchset: 7385
    CVS date: 2004/08/03 00:04:07

commit 83d6e589a5ac6b9a4ac001df05bb537ae5d97646
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 21:08:19 2004 +0000

    Start splint annotations.
    
    CVS patchset: 7384
    CVS date: 2004/08/02 21:08:19

commit f3d9d5e38e5d46cf5898c316a4947248289e5734
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 20:56:53 2004 +0000

    Retrofit auocrap.
    
    CVS patchset: 7383
    CVS date: 2004/08/02 20:56:53

commit 50d7519287bb97b6571d42333dd47c4953bcf2bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 20:19:49 2004 +0000

    Update to zlib-1.2.1.1.
    
    CVS patchset: 7382
    CVS date: 2004/08/02 20:19:49

commit 4214fd57d11e9bb57e72fcc61a2259ff172b12f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 19:32:37 2004 +0000

    Out with the old.
    
    CVS patchset: 7381
    CVS date: 2004/08/02 19:32:37

commit 43aa4c17b0c5558515e0e32d6f9e956b54ffd369
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 16:56:03 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7380
    CVS date: 2004/08/02 16:56:03

commit 90afeb87035da6b7603dd0360fae23b5f715b0bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 16:17:49 2004 +0000

    Annotate function args.
    
    CVS patchset: 7379
    CVS date: 2004/08/02 16:17:49

commit 21bd2977b7f2f6fb43fab81fade1777938eaed15
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 08:42:28 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7378
    CVS date: 2004/08/02 08:42:28

commit b01550d8fc5a716a6111312fe49226663a96d19e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 03:30:10 2004 +0000

    More #include fiddles.
    Add python/system.h to insure python included before any glibc includes.
    
    CVS patchset: 7377
    CVS date: 2004/08/02 03:30:10

commit 6626798a65dcf66c7268d4dca95a32e140b01c40
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 02:23:27 2004 +0000

    Add system.h and debug.h, remove internal include path structure.
    
    CVS patchset: 7376
    CVS date: 2004/08/02 02:23:27

commit 538aa3a481e0886ba1d255785ab38a720fc70c35
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 01:49:37 2004 +0000

    Ignore generated files.
    
    CVS patchset: 7375
    CVS date: 2004/08/02 01:49:37

commit 47158a39af48eeb8b3ea0d8ede1626b47776c6de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 01:40:39 2004 +0000

    Restore .cvsignores through out.
    
    CVS patchset: 7374
    CVS date: 2004/08/02 01:40:39

commit c0270060ca0f69d7edcbeadb84bec193526f3517
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 01:01:51 2004 +0000

    Get rid of extraneous Makefile.in.
    
    CVS patchset: 7373
    CVS date: 2004/08/02 01:01:51

commit 8931f04c4dcc79d665aa703594f93ada56b6e0b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 00:45:38 2004 +0000

    Upgrade to beecrypt-4.0.0.
    
    CVS patchset: 7372
    CVS date: 2004/08/02 00:45:38

commit 8462a31960e9cfd3274b83edd59f9cc3b74c40d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 1 19:05:02 2004 +0000

    Make peace with automake-1.9.
    
    CVS patchset: 7371
    CVS date: 2004/08/01 19:05:02

commit b789f02618b62309b9cffc185e140ddf6fa20b54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 1 16:33:55 2004 +0000

    Make peace with automake-1.9.
    
    CVS patchset: 7368
    CVS date: 2004/08/01 16:33:55

commit 66250307ba9b85f37cc7f6c58537f3d8bfc17479
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 31 17:48:11 2004 +0000

    Add support for beecrypt-4.0.0.
    
    CVS patchset: 7367
    CVS date: 2004/07/31 17:48:11

commit 316c323e09dde1e5685121c2d5c7f213681d85a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 5 20:14:28 2004 +0000

    - ia64: auto-relocate glibc.ix86 interpreter path (#100563).
    
    CVS patchset: 7360
    CVS date: 2004/07/05 20:14:28

commit a63e1592af0425001191106c5ed080ed3099dfaa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 5 19:21:18 2004 +0000

    - ia64: auto-relocate entire, not partial, directory contents (#126905).
    
    CVS patchset: 7357
    CVS date: 2004/07/05 19:21:18

commit 07444608bcf20037636a4811a47b87d66c05d942
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 5 15:24:17 2004 +0000

    - bump rpm and popt versions to insure "newer".
    - change default behavior to resolve file conflicts as LIFO.
    - add --fileconflicts to recover rpm traditional behavior.
    - prefer elf64 over elf32 files, everywhere and always (#126853).
    
    CVS patchset: 7354
    CVS date: 2004/07/05 15:24:17

commit bc600c50e38ad8b3ab4385c2c5bbb8073024fbd7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 29 01:05:27 2004 +0000

    Allowed for "our" in from front of $RPM_Provides.
    
    CVS patchset: 7351
    CVS date: 2004/06/29 01:05:27

commit db72fdae404aabe204830e38ad91c210563abaed
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 29 00:44:07 2004 +0000

    Changed spit() to split().
    Also, made the places where variables are grokked, allow for "our".
    
    CVS patchset: 7350
    CVS date: 2004/06/29 00:44:07

commit 7748d84d5cda2e1dc5844c1ddbdb58ac49ba0354
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jun 20 19:21:34 2004 +0000

    Updated.
    
    CVS patchset: 7349
    CVS date: 2004/06/20 19:21:34

commit 8fa4686e09a678ec75c8f1db38fef3592b31689d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jun 20 18:55:19 2004 +0000

    - find-lang.sh: implemented --with-kde (finds KDE help files);
      add --all-name option (finds every lang file); drop defattr()
      from *.lang files (arekm,mkochano,pascalek,wiget@PLD).
    
    CVS patchset: 7348
    CVS date: 2004/06/20 18:55:19

commit 5f27320366fc8963c8bd5568140039badda10b34
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 17 21:16:02 2004 +0000

    - update pld emails
    
    CVS patchset: 7347
    CVS date: 2004/06/17 21:16:02

commit a413bb610f3f6ffe616650206ce096f61260074c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 17 20:53:28 2004 +0000

    - fix: readelf.c breakage on some non x86 arches (qboosh@PLD).
    (on top of previous readelf.c commit)
    
    CVS patchset: 7346
    CVS date: 2004/06/17 20:53:28

commit 40100f75a42b1b07efeb2f9a357f1291a3873aa4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 17 20:52:03 2004 +0000

    - update to readelf.c from 4.07
    
    CVS patchset: 7345
    CVS date: 2004/06/17 20:52:03

commit a6e1622368cd564ea050a431e2146b28a306b81c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 17 20:18:34 2004 +0000

    - conditional build support/unification (jajcus,malekith,qboosh,wiget@PLD).
    (see macros.in for detailed explanation)
    
    CVS patchset: 7344
    CVS date: 2004/06/17 20:18:34

commit ee7456cc9f7100adea3d713b5fbc8b21e59012f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 16 17:48:07 2004 +0000

    - add ppc8[25]60 arches.
    
    CVS patchset: 7343
    CVS date: 2004/06/16 17:48:07

commit 3b8c7177a73048d133aa783e4f7b8db184c85f28
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 21:01:34 2004 +0000

    Achieve xml -> hdr -> xml idempotency.
    
    CVS patchset: 7341
    CVS date: 2004/06/15 21:01:34

commit a1af0d0f46bec874a50077c03c133f160203ad3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 21:00:14 2004 +0000

    Correct typos.
    
    CVS patchset: 7340
    CVS date: 2004/06/15 21:00:14

commit bb7ba371839408a7da6a14624cb29201598f05b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 20:16:22 2004 +0000

    Generate header from xml parse.
    
    CVS patchset: 7339
    CVS date: 2004/06/15 20:16:22

commit dfc183d5a79725a1bc23858313adb5a7003f756c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 20:04:54 2004 +0000

    Orphan.
    
    CVS patchset: 7338
    CVS date: 2004/06/15 20:04:54

commit 940d50af528b825a20a50177f542fa67b0e89db6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 18:08:05 2004 +0000

    - add type to tag array.
    
    CVS patchset: 7337
    CVS date: 2004/06/15 18:08:05

commit 64948579f6875faf51f0453ec8b85f329a5824a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 15:12:04 2004 +0000

    Common signature/header data spew.
    
    CVS patchset: 7336
    CVS date: 2004/06/15 15:12:04

commit 5c83007efe26c8b155a5b9967ff6fd11943935a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 06:41:05 2004 +0000

    Signature header dump and xml functional.
    
    CVS patchset: 7335
    CVS date: 2004/06/15 06:41:05

commit 8035f3bf5562158de092251d88c94430d3505ad8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 06:39:25 2004 +0000

    Use tag table passed to headerSprintf rather than tagName() for xml lookup.
    
    CVS patchset: 7334
    CVS date: 2004/06/15 06:39:25

commit 380a2a3d37203ca31546ece0800cc18c8f0821ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 18:20:41 2004 +0000

    - fix: disable fingerprint generation on kernel paths.
    
    CVS patchset: 7331
    CVS date: 2004/06/14 18:20:41

commit 32eace269f74b37e192091e228a3e086b03ba644
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 18:14:45 2004 +0000

    Add time package and time.xar archive.
    
    CVS patchset: 7329
    CVS date: 2004/06/14 18:14:45

commit 62599080b8e340816154b63801e026d32032378b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 18:01:25 2004 +0000

    ndle new-fangled empty tags.
    
    CVS patchset: 7328
    CVS date: 2004/06/14 18:01:25

commit 43c795b188af63fd2e98d6cb135f932e7d2ee6ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 17:54:06 2004 +0000

    Typo.
    
    CVS patchset: 7326
    CVS date: 2004/06/14 17:54:06

commit 06e0d71feb288f66aa851b79a66cfeb8ee229cbb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 17:46:45 2004 +0000

    - xml: <integer/> instead of <integer>0</integer> markup.
    
    CVS patchset: 7325
    CVS date: 2004/06/14 17:46:45

commit 0cfd37159a27802c8cc086dd182379bd4281c54b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 17:00:13 2004 +0000

    - xml: use <foo/> markup for empty tags.
    
    CVS patchset: 7324
    CVS date: 2004/06/14 17:00:13

commit 9c20832828e6d12375ddc9e691ace847a893b50f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 14 16:50:14 2004 +0000

    Do amd64-linux|ia32e-linux, too.
    
    CVS patchset: 7322
    CVS date: 2004/06/14 16:50:14

commit a2a13dcee9ea4f6b7fb9d0cbe953a3d3a754b1b8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 14 16:34:04 2004 +0000

    Use libtool magic to build python modules.
    
    CVS patchset: 7321
    CVS date: 2004/06/14 16:34:04

commit 123d6b033c0f85eec3b5de74a9d81fb2048417c2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 14 11:05:52 2004 +0000

    Fix po files so newer gettext won't fail.
    
    CVS patchset: 7320
    CVS date: 2004/06/14 11:05:52

commit 1075276ec83ecd848ed9587efd66b822471e1d8f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 07:01:11 2004 +0000

    Separate bit masks for input and output formats.
    
    CVS patchset: 7319
    CVS date: 2004/06/14 07:01:11

commit f8c9788c7e70517da8ce58671700bf74b71ada67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 03:23:12 2004 +0000

    Add rpmxp.c to rpmtool.
    
    CVS patchset: 7318
    CVS date: 2004/06/14 03:23:12

commit 7177fe1589cad14c70e39a95e078d09c7a96dc29
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 03:12:22 2004 +0000

    First crack at xml parser object.
    
    CVS patchset: 7317
    CVS date: 2004/06/14 03:12:22

commit 4d51df0eeb17c458c3bcd424a21842f05a8ed8b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 02:42:44 2004 +0000

    Add version and DTD to xml output spew.
    
    CVS patchset: 7316
    CVS date: 2004/06/14 02:42:44

commit 3397980c6153c8d63969a9a5c99ccc6dbadc5a8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 14 02:26:19 2004 +0000

    A libxml2 parser in C.
    
    CVS patchset: 7315
    CVS date: 2004/06/14 02:26:19

commit 0acd60292225044505bd0bbcc34693d5b7bc042f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 13 17:37:50 2004 +0000

    Follow python naming conventions more closely.
    Use XML_READER_FOO_TYPE rather than numbers.
    
    CVS patchset: 7314
    CVS date: 2004/06/13 17:37:50

commit d7de47c06770e55969fc6cfde6e3529b67021e02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 13 17:10:18 2004 +0000

    Add libxml2 handler.
    
    CVS patchset: 7313
    CVS date: 2004/06/13 17:10:18

commit f712c984b01e27148949a3bb3f0b068405da4153
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 12 12:12:25 2004 +0000

    A pyexpat parser for rpmHeader xml.
    
    CVS patchset: 7312
    CVS date: 2004/06/12 12:12:25

commit 9ef3e18d7fec70705c9f2925766aa6af0de8658a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 11 21:49:46 2004 +0000

    Splint.
    
    CVS patchset: 7311
    CVS date: 2004/06/11 21:49:46

commit 4bec6209478a73f34f0096ce0183d76f501da4e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 11 21:09:48 2004 +0000

    splint fiddles.
    
    CVS patchset: 7310
    CVS date: 2004/06/11 21:09:48

commit ff5c99445acab9ddb11bcd8ada8798da2dcd3825
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 11 19:26:54 2004 +0000

    - fix: malloc failure from dbus test suite (#124747).
    
    CVS patchset: 7309
    CVS date: 2004/06/11 19:26:54

commit 7bdc1f24fdb9c3468d76097ca757802cc5bac9fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 11 17:56:01 2004 +0000

    Sanity.
    
    CVS patchset: 7308
    CVS date: 2004/06/11 17:56:01

commit 99e34f26fb35e4dbaffa83d795ae2af1f500cb23
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 11 17:52:58 2004 +0000

    - python: permit integer keys to ts.dbMatch().
    
    CVS patchset: 7306
    CVS date: 2004/06/11 17:52:58

commit 3186a9ba73b093c3d77f6f041163c3bfc8ceabad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 10 16:33:16 2004 +0000

    - python: return ds, not tuple, for ds iteration.
    
    CVS patchset: 7305
    CVS date: 2004/06/10 16:33:16

commit b41bba2c1696a073e03b5e8db8947a860dfd8fdd
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jun 10 14:48:46 2004 +0000

    Return a single ds if you try and iterate over a single ds
    
    CVS patchset: 7301
    CVS date: 2004/06/10 14:48:46

commit 4b3532d3419b210582121089069cba228d0cf502
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 10 13:26:50 2004 +0000

    - add 'requires' and 'conflicts' tag aliases.
    
    CVS patchset: 7300
    CVS date: 2004/06/10 13:26:50

commit 08d0abf87895af248aaa61bbbb1da58a0e12bf41
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 8 15:26:20 2004 +0000

    Permit sanity check on immutable region tags too.
    
    CVS patchset: 7297
    CVS date: 2004/06/08 15:26:20

commit e672824ee3375c300c5bd18b164627d6ff15d05c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 8 15:22:57 2004 +0000

    Preserve allignment for missing files with --verify.
    
    CVS patchset: 7295
    CVS date: 2004/06/08 15:22:57

commit bf5333001a67bbda3877973c623e49f07b65ba4e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 1 16:37:33 2004 +0000

    - fix: dev package build on s390x hack around.
    
    CVS patchset: 7289
    CVS date: 2004/06/01 16:37:33

commit 9f035a4d8a924dad4a6e8306844d6831bf7676fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 1 13:58:57 2004 +0000

    - fix: "/path/foo.../bar" was losing a dot (#123844).
    
    CVS patchset: 7287
    CVS date: 2004/06/01 13:58:57

commit 5aed900edbabdb5600163786f9dbfea33e7351dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 31 22:02:27 2004 +0000

    Create output path for opath template.
    
    CVS patchset: 7285
    CVS date: 2004/05/31 22:02:27

commit f8b744a53c7785d7770e83ae2661443c4dd735da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 31 20:44:17 2004 +0000

    The death of rpmarchive.c.
    CVS ----------------------------------------------------------------------
    
    CVS patchset: 7284
    CVS date: 2004/05/31 20:44:17

commit 02eea0067fae78dea88acaa31749c4562b0f03ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 31 20:16:28 2004 +0000

    Create rpmtool to replace the toy example programs.
    
    CVS patchset: 7283
    CVS date: 2004/05/31 20:16:28

commit 6fc421d2352be905c44829a537c98119fa30d4f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 31 20:12:09 2004 +0000

    Typo.
    
    CVS patchset: 7282
    CVS date: 2004/05/31 20:12:09

commit d99838e608993ff6ae0e29f1d8b179b2db12e42a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 30 22:27:38 2004 +0000

    Upgrade to expat-1.9.7.
    
    CVS patchset: 7281
    CVS date: 2004/05/30 22:27:38

commit 99e2bddb673b2a8b2f4398b8cc1746cd1cfc2342
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 30 17:52:57 2004 +0000

    - use /etc/selinux/targeted/contexts/files/file_contexts for now.
    - disable file contexts into package metadata during build.
    
    CVS patchset: 7280
    CVS date: 2004/05/30 17:52:57

commit a29bd9bb89f277602edcf115b7a388f281a0e04b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 30 17:52:11 2004 +0000

    - fix: follow current is_selinux_enabled() return (#121004).
    
    CVS patchset: 7279
    CVS date: 2004/05/30 17:52:11

commit 401cd94fb94d6a940f17f4740f322476d0addc8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 30 17:46:39 2004 +0000

    Make peace with latest autofoo.
    
    CVS patchset: 7277
    CVS date: 2004/05/30 17:46:39

commit 42386beb8b189a1376cfc4a6e7a69b180a538a12
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 29 15:56:01 2004 +0000

    - use poll(2) if available, avoid borked aurora/sparc select (#124574).
    
    CVS patchset: 7276
    CVS date: 2004/05/29 15:56:01

commit aab51e6392d79b925dba37f198a36b18fefdbee8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 29 13:47:39 2004 +0000

    Identify caos distribution (#124746).
    
    CVS patchset: 7273
    CVS date: 2004/05/29 13:47:39

commit 1d7dfb26c721095d1086dea8eab4979064eb9cd7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 04:47:42 2004 +0000

    More cleanup, remove compile warnings.
    
    CVS patchset: 7270
    CVS date: 2004/05/28 04:47:42

commit 84aef46ba35a80454e71d860f488ef7357355d5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 04:34:21 2004 +0000

    Code cleanup.
    
    CVS patchset: 7269
    CVS date: 2004/05/28 04:34:21

commit d0df223d839dea8324bfb17f90308a93ffcbf796
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 03:12:43 2004 +0000

    Sanity clean-up.
    
    CVS patchset: 7268
    CVS date: 2004/05/28 03:12:43

commit 10dcc28d51a08e9b3a78690e9ac6a3c5ea31c41d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 03:02:02 2004 +0000

    Make sexpOutputStream entirely opaque.
    
    CVS patchset: 7267
    CVS date: 2004/05/28 03:02:02

commit 48a7ecb978f77409f0a45b247e399801fbd95bb7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 02:41:00 2004 +0000

    Make input stream entirely opaque.
    
    CVS patchset: 7266
    CVS date: 2004/05/28 02:41:00

commit beb0021a4c9933f04046a9e5457f09fd88259df3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 01:48:49 2004 +0000

    Make sexpString and sexpList opaque and abstract.
    
    CVS patchset: 7265
    CVS date: 2004/05/28 01:48:49

commit b45401eaff532bf58c300d697265449fcf88c447
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 01:18:36 2004 +0000

    Make sexpSimpleString and sexpObject opaque and abstract.
    
    CVS patchset: 7264
    CVS date: 2004/05/28 01:18:36

commit 75e1e268c3236ab5bfd6d891839260ca7f7b20be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 28 00:55:56 2004 +0000

    Continue making structures abstarct and opaque.
    
    CVS patchset: 7263
    CVS date: 2004/05/28 00:55:56

commit d95c3f7fa53835042958a9d4332c12d6c0025267
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 23:53:43 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7262
    CVS date: 2004/05/27 23:53:43

commit 38f19a18df9320b9bfc80464888fe4c2d106dced
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 23:07:01 2004 +0000

    Use popt instead.
    
    CVS patchset: 7261
    CVS date: 2004/05/27 23:07:01

commit bde534de89f018d9c6cd3f1e722734ec2ffd5798
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 21:35:37 2004 +0000

    Add no-brainer make check.
    
    CVS patchset: 7260
    CVS date: 2004/05/27 21:35:37

commit e2f84dd30882d16855eb2e693170c62d9eee76e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 20:57:47 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7259
    CVS date: 2004/05/27 20:57:47

commit a70db07ead554f0af9467a6a8f6eda95797e55b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 20:20:23 2004 +0000

    Zap trialing white space.
    
    CVS patchset: 7258
    CVS date: 2004/05/27 20:20:23

commit b1dc346f8ad221f282a51b10fd2f47a164026d71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 20:19:13 2004 +0000

    Zap ^M everywhere.
    
    CVS patchset: 7257
    CVS date: 2004/05/27 20:19:13

commit 8ef74a59838498443ae9fb28d0d14101bf771a27
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 20:16:55 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7256
    CVS date: 2004/05/27 20:16:55

commit 6aed2fa8ac85c8bc8f116309c2d96bd0e45263c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 19:00:51 2004 +0000

    ANSI C prototypes, no-brainer splint annotations.
    
    CVS patchset: 7255
    CVS date: 2004/05/27 19:00:51

commit 26371c10a6237a016419d22cc8d773e32cd587e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 18:10:44 2004 +0000

    No-brainer autocrap wrapper.
    
    CVS patchset: 7254
    CVS date: 2004/05/27 18:10:44

commit 0023779c86c940a9fe47d4b45195022f94538174
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 27 17:55:01 2004 +0000

    Creat from Rivest's sexp distribution.
    
    CVS patchset: 7253
    CVS date: 2004/05/27 17:55:01

commit 86700899e6a1c6816be064a66ef264db4c170f8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 26 21:10:07 2004 +0000

    - add aurora/sparc patches (#124469).
    
    CVS patchset: 7252
    CVS date: 2004/05/26 21:10:07

commit 8a960623dffee67386797e4ea4ac2fd3dc61de76
Author: Chip Turner <cturner@redhat.com>
Date:   Wed May 26 12:26:04 2004 +0000

    constants to help with dep resolution; from Daniel P. Berrange, berrange@redhat.com
    
    CVS patchset: 7250
    CVS date: 2004/05/26 12:26:04

commit 83a0eb0b3633cdec627971d84dbbbb801870999c
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri May 21 11:43:05 2004 +0000

    Fix to detect PIE executables and don't add as library provides
    
    CVS patchset: 7249
    CVS date: 2004/05/21 11:43:05

commit ae687a3144f83e88f45281461074a424c166700c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu May 20 21:30:00 2004 +0000

    Fix help for list-file option.
    
    CVS patchset: 7248
    CVS date: 2004/05/20 21:30:00

commit 96063191fc5d3902e0ef56781be34c2a454a1cbd
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Tue May 4 21:12:04 2004 +0000

    - Adding support for integer keys in ts.dbMatch().
    - Adding readHeaderFromFD().
    
    CVS patchset: 7247
    CVS date: 2004/05/04 21:12:04

commit bd7c49f4e0e6c58de08b8888043e2f6f7f151897
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 4 06:04:23 2004 +0000

    %postun failures are now propagated back to transaction state machine.
    ...james
    
    CVS patchset: 7246
    CVS date: 2004/05/04 06:04:23

commit ed47ca65b121a14efefa4718074402fb69fb173c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 3 17:29:16 2004 +0000

    Minor tweaks to comments in autorollback code, made removal of re-packaged
    package print to standard out in arb and rb code.
    ...james
    
    CVS patchset: 7245
    CVS date: 2004/05/03 17:29:16

commit f748bc43d91694a8ea7d4d4546bab2a635e1d79d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 19 12:12:12 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7242
    CVS date: 2004/04/19 12:12:12

commit b687c65d77a2efa630a46206682c7d5495549de3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 19 12:06:30 2004 +0000

    splint fiddles.
    
    CVS patchset: 7241
    CVS date: 2004/04/19 12:06:30

commit 2296caaece3b4b5f17f483c80655d354a5bdb1d2
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Sun Apr 18 23:47:29 2004 +0000

    Force global Lua state initialization during rpmReadConfigFiles().
    
    CVS patchset: 7240
    CVS date: 2004/04/18 23:47:29

commit a018c6e59c4abccce831ddb3a292198721b9a82a
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Sun Apr 18 20:47:29 2004 +0000

    Implemented Lua support for the hooking system.
    
    CVS patchset: 7239
    CVS date: 2004/04/18 20:47:29

commit a19d5569cdbeb72780e7ea694bbf7d31538aaa1c
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Sun Apr 18 18:30:21 2004 +0000

    Implemented external interface for the hooking system, and
    included in rpm context.
    
    CVS patchset: 7238
    CVS date: 2004/04/18 18:30:21

commit e0c6886a5478c9e1b1721312973c49758ad171b4
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Sun Apr 18 03:23:39 2004 +0000

    Adding in-development hooking system into the repository.
    
    CVS patchset: 7237
    CVS date: 2004/04/18 03:23:39

commit a7722ac9939189915d8863779af95d8a10c583f8
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Apr 14 12:46:13 2004 +0000

    prep for release
    
    CVS patchset: 7235
    CVS date: 2004/04/14 12:46:13

commit c37ab909a265d0560a8999da87507ba69ba101eb
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Apr 14 12:44:30 2004 +0000

    integrate test patch from ville
    
    CVS patchset: 7234
    CVS date: 2004/04/14 12:44:30

commit 005e4f513105bbf602bb2f04990f2c2b738d8ff6
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Tue Apr 13 16:34:40 2004 +0000

    Fixed bug in "rpm -qf": if a file in the current directory had the
    same name as a dependency provided by some package, "rpm -qf filename"
    would return the package owning that dependency.
    
    CVS patchset: 7233
    CVS date: 2004/04/13 16:34:40

commit 606192b963798c359deac6ff60e09ff9045c3b6b
Author: Chip Turner <cturner@redhat.com>
Date:   Fri Apr 9 13:20:57 2004 +0000

    patches from Ville to add changelog support
    
    CVS patchset: 7232
    CVS date: 2004/04/09 13:20:57

commit 70905ee4c6f5e0e7ce3a0c9c5cd297fbe99d0483
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Thu Apr 8 20:27:53 2004 +0000

    Implemented multiline macro support.
    
    CVS patchset: 7231
    CVS date: 2004/04/08 20:27:53

commit 66f860d94fa9b33f4abfcc41ea2267bd2660c613
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 00:12:01 2004 +0000

    - perl: use __perl for perl variable macros (#115156).
    
    CVS patchset: 7229
    CVS date: 2004/04/08 00:12:01

commit 2e491f5fcf77f7b61d2ab96e095bd72b95d544c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 00:07:13 2004 +0000

    Typos.
    
    CVS patchset: 7228
    CVS date: 2004/04/08 00:07:13

commit d10d7501ec2d5fe532bb6213899b2933e75fec10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 00:04:17 2004 +0000

    Add bug number.
    
    CVS patchset: 7225
    CVS date: 2004/04/08 00:04:17

commit ec32c2ab0da852fe0bf30aaf39429f964de9dc30
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 00:03:51 2004 +0000

    - perl: skip new-fangled head[34] while gerenerating deps (#118243).
    
    CVS patchset: 7224
    CVS date: 2004/04/08 00:03:51

commit 12d5c367af207a802583264dc70d986c19b02b09
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 23:50:35 2004 +0000

    - fix: no transaction lock if --test was specified (#119783).
    
    CVS patchset: 7222
    CVS date: 2004/04/07 23:50:35

commit dc885367f50e2d0669abd6308e1a09bb9aa9ae2d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 23:26:00 2004 +0000

    - fix: segfault on --recontext if file_contexts unreadable (#117374).
    - fix: /etc/security/selinux/file_contexts is default path.
    
    CVS patchset: 7220
    CVS date: 2004/04/07 23:26:00

commit 84573a3571e268dff5d103b47bf1ecb37127a13a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 18:07:08 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7219
    CVS date: 2004/04/07 18:07:08

commit e81af296a9961dc92dde4ac03353c858b944d8eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 17:31:29 2004 +0000

    Make peace with libtool-1.5.4.
    
    CVS patchset: 7218
    CVS date: 2004/04/07 17:31:29

commit f98e6cf1a20a9d22942b1bbe7a5b411bc1b8754d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 17:30:07 2004 +0000

    Make peace with libtool-1.5.3.
    
    CVS patchset: 7217
    CVS date: 2004/04/07 17:30:07

commit 0d73d4699b47f839db61580687fc972f48dd42d6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 1 12:56:54 2004 +0000

    revert buildtime tie breaking, not the right thing to do.
    splint fiddles.
    
    CVS patchset: 7216
    CVS date: 2004/04/01 12:56:54

commit 34daf7ced86d499d1b5fc08b0b0cc430fc8678e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 30 21:00:47 2004 +0000

    Start rpm-4.4 devel.
    
    CVS patchset: 7210
    CVS date: 2004/03/30 21:00:47

commit e757135378572360076a1086d0e6783bd6d65928
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Mar 30 18:13:11 2004 +0000

    Document last changes.
    
    CVS patchset: 7209
    CVS date: 2004/03/30 18:13:11

commit 4458dc3de868237a2fdf4b7f1ea57370b64b07f4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Mar 30 16:41:37 2004 +0000

    Simplify cpuid code; fix it for gcc 3.4; always push/pop ebx for PIC and non PIC. Patch by Pawe³ Sikora <pluto/at/pld-linux.org>.
    Modified Files: lib/rpmrc.c
    
    CVS patchset: 7208
    CVS date: 2004/03/30 16:41:37

commit f1dab7350d83b962264f7f39928c1d5c62d92088
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Mar 30 00:40:26 2004 +0000

    Make rpmGlob() locale independent to get stable behaviour whatever locale is used when building (Artur Frysiak <wiget/at/pld-linux.org>).
    Modified Files: rpmio/macro.c
    
    CVS patchset: 7207
    CVS date: 2004/03/30 00:40:26

commit 08c64490958627beb726eadf4ced1857ce7f75eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 29 07:43:42 2004 +0000

    Proof-of-concept for arch filtered dependencies.
    
    CVS patchset: 7206
    CVS date: 2004/03/29 07:43:42

commit 12e86b2c5f10e7853fca8bdc0007aeaeea6dcfb7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 28 20:10:54 2004 +0000

    buildarchtranslate p3/p4 to i386 as it's on other cases (athlon/i686/i586)
    
    CVS patchset: 7205
    CVS date: 2004/03/28 20:10:54

commit 0acbe9ea0cec65a66c9fb8f96d1d4e188c242451
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 16:24:02 2004 +0000

    Typo.
    
    CVS patchset: 7204
    CVS date: 2004/03/28 16:24:02

commit 68325b9175c8306bf80fc2031c59c519f8a0e17c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 16:07:26 2004 +0000

    - scareMem = 0 everywhere, document deprecation phase out.
    
    CVS patchset: 7203
    CVS date: 2004/03/28 16:07:26

commit 13ca035edbc9a954d57048391e725d546c6bafb0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 15:06:10 2004 +0000

    - fix: don't add leading space to %* argv expansion (#119059).
    
    CVS patchset: 7202
    CVS date: 2004/03/28 15:06:10

commit dff80a94cc80be4aa9e6a71ca271c8640fcea323
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 14:57:53 2004 +0000

    - use package build time as EVR comparison tie breaker.
    
    CVS patchset: 7201
    CVS date: 2004/03/28 14:57:53

commit 94c663d938df4c866bcb70ba5266d55d68a9bdc6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 13:49:19 2004 +0000

    Sanity.
    
    CVS patchset: 7200
    CVS date: 2004/03/28 13:49:19

commit 9673560957adfe65d8dc9129b0dbcea4451c0109
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 28 02:58:54 2004 +0000

    Polish translation update.
    
    CVS patchset: 7199
    CVS date: 2004/03/28 02:58:54

commit b07c0fbce4c6647cd8bb2dde7b3416d95dfdf986
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 28 02:41:32 2004 +0000

    pentium3/pentium4 support by Pawe³ Sikora <pluto/at/pld-linux.org>.
    Modified Files: installplatform macros.in rpmrc.in lib/rpmrc.c lib/rpmts.c
    
    CVS patchset: 7198
    CVS date: 2004/03/28 02:41:32

commit 1cdfdb8b6ca37e51631b1ca44cf43636929bfaa9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 28 00:49:54 2004 +0000

    When fixing permissions do u+w, too (fixes badly packaged tarballs)
    
    CVS patchset: 7197
    CVS date: 2004/03/28 00:49:54

commit a8b1e8604841890131b0c31554de89374de3a38e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Mar 27 11:34:14 2004 +0000

    Made it so %* does not evaluate with a leading space.  For instance:
            %define xxx() "%{*}"
            %xxx 1 2 3
    would evaluate to:
            " 1 2 3"
    and now evaluates to:
       "1 2 3"
    
    CVS patchset: 7196
    CVS date: 2004/03/27 11:34:14

commit 60057a2de1e72a8077afc926e40addc923695419
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 26 17:27:57 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7195
    CVS date: 2004/03/26 17:27:57

commit 18fe40be2d0c5a5b0d52e4cdccda909c812a9882
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 26 15:44:18 2004 +0000

    Typo.
    
    CVS patchset: 7194
    CVS date: 2004/03/26 15:44:18

commit f3fb31edbb7a1202c225da48cd14e2c69cbd3e56
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 26 15:42:45 2004 +0000

    splint fiddles.
    
    CVS patchset: 7193
    CVS date: 2004/03/26 15:42:45

commit 227d09b4ba879b63a4af3f0220011f3a182e4741
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 25 19:41:22 2004 +0000

    Endian neutral join keys for rpmdbAdd() and rpmdbRemove().
    
    CVS patchset: 7192
    CVS date: 2004/03/25 19:41:22

commit 951c816851735ebc4a3ee50d1b6950966785d1a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 25 18:14:03 2004 +0000

    - endian neutral rpmdb join keys (finally).
    
    CVS patchset: 7191
    CVS date: 2004/03/25 18:14:03

commit c096a690b819a14072d9465fe91cfe349a3e9214
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Wed Mar 24 19:47:11 2004 +0000

    - Now Lua interface is using a global state.
    - /usr/lib/rpm/init.lua is called during intialization.
    
    CVS patchset: 7188
    CVS date: 2004/03/24 19:47:11

commit 47d16168ca1f3793a0a0e822763992d3a0356418
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Tue Mar 23 23:52:45 2004 +0000

    Removing unwanted "static" attribute in "luaL_reg *lib". Using it
    removes the prectability of initalization order in relation to
    lualibs.
    
    CVS patchset: 7187
    CVS date: 2004/03/23 23:52:45

commit b0ccb6fc076aedd8c3ee8dd1eb67dbce92c84e83
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Tue Mar 23 18:38:19 2004 +0000

    Adding missing entries in EXTRA_DIST.
    
    CVS patchset: 7186
    CVS date: 2004/03/23 18:38:19

commit d843388f7eec3da4dfe0930b7c66497e38102baf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 23 14:49:38 2004 +0000

    Uniqify symbols to prevent name space pollution.
    
    CVS patchset: 7185
    CVS date: 2004/03/23 14:49:38

commit 58c9db0b19e1f61758e63516c3d99c60ed9b103a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 23 07:18:55 2004 +0000

    Spint fiddles.
    
    CVS patchset: 7184
    CVS date: 2004/03/23 07:18:55

commit bc35b858d6638674ed6e94af87137fbcbe3c826e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 23 05:52:59 2004 +0000

    Splint fiddles.
    
    CVS patchset: 7183
    CVS date: 2004/03/23 05:52:59

commit 7b5c3b42c9b847badc5c6f66f054ee536ce82edd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 23 05:09:13 2004 +0000

    Splint annotations.
    
    CVS patchset: 7182
    CVS date: 2004/03/23 05:09:13

commit 9ecefd3901e8d3dc5652247bb4ab02f73a949fb7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 23 02:27:55 2004 +0000

    Splint annotations.
    
    CVS patchset: 7181
    CVS date: 2004/03/23 02:27:55

commit 8255684ac781a966ea7835c1015411c0b0ee4f4d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 21 13:25:53 2004 +0000

    Automake 1.8.3.
    
    CVS patchset: 7180
    CVS date: 2004/03/21 13:25:53

commit fa111e33baa1443d7d84b0872234e60f46ab948f
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Fri Mar 19 21:14:32 2004 +0000

    Upgrading to Lua 5.0.2.
    
    CVS patchset: 7179
    CVS date: 2004/03/19 21:14:32

commit 635edd95230e17e8ada5793719d7e385e729df30
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Fri Mar 19 20:08:20 2004 +0000

    - New internal Lua support scheme, laying under rpmio.
    - New API abstracting access to Lua state (rpmlua is
      abstract to everyone but rpmlua.c).
    - New %{lua: ... } macro.
    Modified Files:
            lib/Makefile.am lib/psm.c lib/rpmts.c lua/local/linit.lch
            lua/local/linit.lua rpmio/Makefile.am rpmio/macro.c
    Added Files:
            rpmio/rpmlua.c rpmio/rpmlua.h
    Removed Files:
            lib/rpmlua.c lib/rpmlua.h
    
    CVS patchset: 7178
    CVS date: 2004/03/19 20:08:20

commit a1a283837a6b70c9ee4731f9172cfc614a1a7c6b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 18 15:29:23 2004 +0000

    Resurrect "other endian" rpmdb functionality.
    
    CVS patchset: 7177
    CVS date: 2004/03/18 15:29:23

commit 73260d956c54a3d95aa7d367c09ed3e2cb2a2a00
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Tue Mar 16 21:58:25 2004 +0000

    - Implemented support for internal Lua scripts.
    - Implemented %pretrans and %posttrans script slots.
    Changed files:
            Makefile.am configure.ac build/pack.c build/parseScript.c
            build/parseSpec.c build/rpmbuild.h build/rpmspec.h
            lib/Makefile.am lib/psm.c lib/rpmlib.h lib/rpmlibprov.c
            lib/rpmts.c lib/rpmts.h lib/transaction.c
    Added files:
            lib/rpmlua.c lib/rpmlua.h lua/*
    
    CVS patchset: 7175
    CVS date: 2004/03/16 21:58:25

commit 55f77d61d72a3993436db9a8eefec9eaa7fb61ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 16 17:13:25 2004 +0000

    - fix: grrr, skip notes on non-i386 entirely.
    
    CVS patchset: 7174
    CVS date: 2004/03/16 17:13:25

commit aac00c11d5865e36b054b1ac8a6f476517b7aca8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 15 14:40:01 2004 +0000

    re-add splint fiddles.
    
    CVS patchset: 7172
    CVS date: 2004/03/15 14:40:01

commit d440039375df3dab23c796005e14a64475b3946d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 13 13:34:44 2004 +0000

    - fix: handle elf64 note sections correctly.
    
    CVS patchset: 7171
    CVS date: 2004/03/13 13:34:44

commit dde3339464686204bc339007054214bf78f85fc2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 11 17:33:17 2004 +0000

    - fix: ENOTSUP filter from lsetfilecon borkage.
    
    CVS patchset: 7168
    CVS date: 2004/03/11 17:33:17

commit 5f12397f520f3a879ed82e73046cad62b9bec633
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 11 08:32:02 2004 +0000

    Make spec-py lint free.
    
    CVS patchset: 7166
    CVS date: 2004/03/11 08:32:02

commit da9a1be04c4225fd6855c900ff3c011ac2347b50
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 11 07:03:40 2004 +0000

    Begin lint fixes for spec-py
    
    CVS patchset: 7165
    CVS date: 2004/03/11 07:03:40

commit fcfdff02e8304b6ba36a0e8667c0172dec898444
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Mar 11 06:25:48 2004 +0000

    Fix splint warnings for spec
    
    CVS patchset: 7164
    CVS date: 2004/03/11 06:25:48

commit 1a9da41d89b455123e97c115429431b268041cb4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 11 03:06:38 2004 +0000

    substititute labelCompare into rpmds_compare; map rpmdsCompare onto '==' and '!='.
    
    CVS patchset: 7163
    CVS date: 2004/03/11 03:06:38

commit 11507f2cf4a8b2f62489c2ccfda4dfb816ad7799
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 10 23:01:46 2004 +0000

    - add sparcv8 and enable elf32/elf64 Zon sparc64 (#117302).
    - fix: --querybynumber looped.
    
    CVS patchset: 7161
    CVS date: 2004/03/10 23:01:46

commit aeab20571904cd350fdecfe2238a4ff617bdcacb
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Mar 10 22:44:29 2004 +0000

    Initial rpm.spec implementation
    
    CVS patchset: 7160
    CVS date: 2004/03/10 22:44:29

commit f557b1bda0f5a15d6030dd9464a6f352199da4f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 9 17:27:16 2004 +0000

    - fix: sq->reaped needs sighold(SIGCHLD)/sigrelease(SIGCHLD) (#117620).
    
    CVS patchset: 7155
    CVS date: 2004/03/09 17:27:16

commit 25e004f33d613ecc6ce43510c71d810d00a566f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 7 21:11:27 2004 +0000

    Add comments, minor performance improvement.
    
    CVS patchset: 7154
    CVS date: 2004/03/07 21:11:27

commit ccc7bf2fd9b68a81fb4a5b95ae9ade845abf6d36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 7 12:50:36 2004 +0000

    Protect sq->reaped with sighold and sigrelease.
    
    CVS patchset: 7153
    CVS date: 2004/03/07 12:50:36

commit 324746dc753372a3bca171a5046c290b1fd4fcd1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 6 17:59:22 2004 +0000

    Filter ENOTSUP lsetfilecon() to permit tmpfs mount on /dev/shm.
    
    CVS patchset: 7152
    CVS date: 2004/03/06 17:59:22

commit 5a457b0586fe135456ea8800f1ac48ba31588ffa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 5 23:11:51 2004 +0000

    Use /etc/security/selinux/file_contexts as default instead.
    
    CVS patchset: 7151
    CVS date: 2004/03/05 23:11:51

commit d7db215d7fdc442284f3522274f1c90d13de9fbe
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 5 18:22:25 2004 +0000

    initial autorollback feature.
    
    CVS patchset: 7149
    CVS date: 2004/03/05 18:22:25

commit 3341692cc2d64203514fe10af19f239146da070d
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Mar 5 18:00:55 2004 +0000

    Added todo for types for tagtbl
    
    CVS patchset: 7148
    CVS date: 2004/03/05 18:00:55

commit 21dd22e321f079ca33680eb1baa858dfb3851fad
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 5 02:23:14 2004 +0000

    Initial autorollback feature.
    
    CVS patchset: 7147
    CVS date: 2004/03/05 02:23:14

commit 42f592baf7be4bc8864ab1d7d9ca072ee56262a8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 5 02:21:48 2004 +0000

    initial autorollback feature.
    
    CVS patchset: 7146
    CVS date: 2004/03/05 02:21:48

commit 0e3c5edc64ad1c1fff3c66e2d907e58ba150f88f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 3 01:58:36 2004 +0000

    Typo.
    
    CVS patchset: 7145
    CVS date: 2004/03/03 01:58:36

commit 8fa552c691de8c202630a1eba78864eee5fb53c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 2 21:55:03 2004 +0000

    Change lock file location.
    Lock in outer, not in chroot, file tree for now.
    
    CVS patchset: 7142
    CVS date: 2004/03/02 21:55:03

commit 5ef0bf77c22339195fc0b746e8b4dfe03020d360
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 2 01:31:01 2004 +0000

    - permit globs in macrofiles: directive (#117217).
    
    CVS patchset: 7139
    CVS date: 2004/03/02 01:31:01

commit f3cd4db8ea843f622d4ff887c41af0d00ae3cef4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 26 01:23:48 2004 +0000

    use static variable, not define, for lock file path.
    
    CVS patchset: 7135
    CVS date: 2004/02/26 01:23:48

commit 99825287bd2f7c1bd663194cf67d639de6ca31ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 26 01:20:52 2004 +0000

    splint fiddles.
    
    CVS patchset: 7134
    CVS date: 2004/02/26 01:20:52

commit 55eec2cbdcbff3248cb8c6de9e2860820ab430a7
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Wed Feb 25 20:04:36 2004 +0000

    It was 2 bytes, not one. Amateurs.. humpf. ;-)
    
    CVS patchset: 7132
    CVS date: 2004/02/25 20:04:36

commit 037f02539c18072476245c2fb24220a8c620d5f3
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Wed Feb 25 20:02:23 2004 +0000

    Oops. "path" was being allocated with 1 byte less than necessary.
    
    CVS patchset: 7131
    CVS date: 2004/02/25 20:02:23

commit 0f828b95fce2b1f150748e37582dff1d767f6951
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Wed Feb 25 19:54:58 2004 +0000

    Creating transaction locking scheme based on fcntl file locking
    during writing operations. For now, this system will wait forever
    for the lock to be released. This will ensure that current
    applications will get the necessary protection without breaking
    unexpectedly.
    Modified Files:
            lib/Makefile.am lib/rpmts.c lib/transaction.c
    Added Files:
            lib/rpmlock.c lib/rpmlock.h
    
    CVS patchset: 7130
    CVS date: 2004/02/25 19:54:58

commit c5406814b8c821a715a391764e18a86d0d2aa300
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 23 00:43:45 2004 +0000

    - force FD_CLOEXEC on 1st 100 inherited fdno's.
    
    CVS patchset: 7125
    CVS date: 2004/02/23 00:43:45

commit 6e15023bd18dc9d36e05cec215a96ed18f520596
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 23 00:03:14 2004 +0000

    - set "rpm_script_t" exec type for scriptlets iff /bin/sh, else default.
    
    CVS patchset: 7123
    CVS date: 2004/02/23 00:03:14

commit 9c173cb51533e19cfadf335bdfe2232815eadc45
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 22 23:43:05 2004 +0000

    - stable sort for policy specifications, patterns before paths.
    
    CVS patchset: 7121
    CVS date: 2004/02/22 23:43:05

commit 4eea80d22ac4358591d1a055e0db7c695d91e843
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 22 20:24:13 2004 +0000

    - add ia32e arch.
    
    CVS patchset: 7116
    CVS date: 2004/02/22 20:24:13

commit 6ec3d6d4d18a4e83c644ea8c2c571bd7b6e13c30
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 21 18:37:56 2004 +0000

    Typo.
    
    CVS patchset: 7114
    CVS date: 2004/02/21 18:37:56

commit 7d3676c15898e31bec9573e86f57f02b6d303d55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 21 18:36:09 2004 +0000

    Fix typo.
    
    CVS patchset: 7112
    CVS date: 2004/02/21 18:36:09

commit fa18754507f0381b471041a0ed26133ddc79fae9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 20 20:18:20 2004 +0000

    another oops
    
    CVS patchset: 7108
    CVS date: 2004/02/20 20:18:20

commit 2a92438258b3150d94db9224e4e9578b1d6c931e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 20 20:06:31 2004 +0000

    oops
    
    CVS patchset: 7107
    CVS date: 2004/02/20 20:06:31

commit 0f7a21bdea4920c3e1bdfcae5d5f4781291846cc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 20 20:05:27 2004 +0000

    Further fixes related to 113661
    
    CVS patchset: 7105
    CVS date: 2004/02/20 20:05:27

commit 9322d0e8ea220f4ec4943d44729c64dac0e23ac9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 20 11:24:41 2004 +0000

    - fix: only first "mkdir -p" directory had context set.
    
    CVS patchset: 7102
    CVS date: 2004/02/20 11:24:41

commit ee64849ebf4800c1e351d2e35abff6482ebf9d18
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Tue Feb 17 14:29:42 2004 +0000

    Return 1 and -1 as we state we do - #113668
    
    CVS patchset: 7099
    CVS date: 2004/02/17 14:29:42

commit e0dc1382c615c6f4d343d0247a578d6d1c76be61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 16 04:57:25 2004 +0000

    - establish rpm_script_t before scriptlet exec.
    
    CVS patchset: 7098
    CVS date: 2004/02/16 04:57:25

commit 78a861c1ea0b2eca07a41b58bd7defb773c3de70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 16 03:07:48 2004 +0000

    - establish rpm_script_t before scriptlet exec, ignore errors for now.
    
    CVS patchset: 7095
    CVS date: 2004/02/16 03:07:48

commit 275746a36b3c637c5a3e097cba5996036cb66885
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 15 23:51:36 2004 +0000

    - fix: setfiles (aka rpmsx.c) dinna handle patterns correctly.
    
    CVS patchset: 7093
    CVS date: 2004/02/15 23:51:36

commit 64aca824816ab4019d55c0795332e48247768837
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 15 22:12:45 2004 +0000

    - fix: set fcontext for "mkdir -p" directories not in packages.
    
    CVS patchset: 7091
    CVS date: 2004/02/15 22:12:45

commit c37ae1046b5b1761294b5b378bc332a9910074a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 15 20:54:19 2004 +0000

    - fix: set fcontext from pkg when file_contexts doesn't exist (#114040).
    
    CVS patchset: 7088
    CVS date: 2004/02/15 20:54:19

commit 26f46dd3893c0b933911a0e28596dd9d3ea28d14
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Wed Jan 28 00:09:06 2004 +0000

    Enable selinux contexts in rpmtsRun - patch from Jeremy Katz
    
    CVS patchset: 7086
    CVS date: 2004/01/28 00:09:06

commit 7ab738b23df05fbf81eeaadc414b04af07ecd8c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 26 09:59:36 2004 +0000

    - python: throw exception on bad arg to labelCompare (#113661).
    
    CVS patchset: 7084
    CVS date: 2004/01/26 09:59:36

commit fc0bc5e2e469a6c97245487a7c7dec05ee446724
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 22 23:03:40 2004 +0000

    - other perl variables (#114121).
    
    CVS patchset: 7083
    CVS date: 2004/01/22 23:03:40

commit b8988af3c5664e539768f94e72718b64dc9da703
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 22 14:28:08 2004 +0000

    Build with gcc-2.95.3 and python-2.2, remove incompat CFLAGS and casts.
    
    CVS patchset: 7082
    CVS date: 2004/01/22 14:28:08

commit 5c2cdc17638b20ce25aa97deb40396a920c31f99
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 21 23:31:45 2004 +0000

    Sanity.
    
    CVS patchset: 7081
    CVS date: 2004/01/21 23:31:45

commit 46c795f21171aaa5cb606a82020bbc00009ca0c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 16 05:47:51 2004 +0000

    Quick fix for [] vs None retrun.
    
    CVS patchset: 7080
    CVS date: 2004/01/16 05:47:51

commit ac38a8072fbaad04e97cc9745a597bca58bd97c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 14 16:20:04 2004 +0000

    Return [] for tags with no contents.
    
    CVS patchset: 7078
    CVS date: 2004/01/14 16:20:04

commit 9dfb191cee4d579b7d899d751991dd4407dcfc5f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 14 14:41:57 2004 +0000

    Require beecrypt, not beecrypt-devel.
    
    CVS patchset: 7077
    CVS date: 2004/01/14 14:41:57

commit b41509cdb0411c05be60e8a8d2255af8a94e98ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 12 16:27:21 2004 +0000

    - fix: handle files w/o contexts correctly.
    
    CVS patchset: 7076
    CVS date: 2004/01/12 16:27:21

commit 14c4c71c6e2f71ac7b95a30b8c51f91606c2a7a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 11 15:24:19 2004 +0000

    rpm-nls-fixes.patch (from PLD).
    
    CVS patchset: 7074
    CVS date: 2004/01/11 15:24:19

commit 47ac30a7eb407dc9aca3274b9dae4e688c7d16ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 10 18:48:19 2004 +0000

    Avoid trying to set "<<none>>" file context.
    
    CVS patchset: 7073
    CVS date: 2004/01/10 18:48:19

commit 0de6405c250a63c340c27d69f8268bdbcce5138c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 9 23:20:07 2004 +0000

    Don't try to set empty file contexts.
    
    CVS patchset: 7072
    CVS date: 2004/01/09 23:20:07

commit 5c261bacdc416d8af44780c180028b93471bf507
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 9 23:17:33 2004 +0000

    Map "<<none>>" expressions to "".
    
    CVS patchset: 7071
    CVS date: 2004/01/09 23:17:33

commit ec590d0d692af370f7c7dea0aaa7b199b187d839
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 9 23:14:00 2004 +0000

    Use "", not NULL, for missing file contexts.
    
    CVS patchset: 7070
    CVS date: 2004/01/09 23:14:00

commit 40d5a86be045c851c74a9bc193e1b2f0c0d80453
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Fri Jan 9 13:53:38 2004 +0000

    Fix rpm-4.2/rpm-4.3 typo. As highlighted by Matthias
    
    CVS patchset: 7069
    CVS date: 2004/01/09 13:53:38

commit 13926965b51599a6759c0480a85f0dd514736863
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 19:04:59 2004 +0000

    More typos.
    
    CVS patchset: 7068
    CVS date: 2004/01/05 19:04:59

commit afaec3b8c2804f8a1aba28fbb1c32a0d03ad439a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 18:31:50 2004 +0000

    Typo.
    
    CVS patchset: 7067
    CVS date: 2004/01/05 18:31:50

commit 038c29640f32ca39949ace4e5be59e10689b0e91
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 17:38:18 2004 +0000

    - selinux phases 1 and 2 delivered.
    
    CVS patchset: 7066
    CVS date: 2004/01/05 17:38:18

commit 89897484c48492059733f003f6c037c3ad8e33c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 17:15:18 2004 +0000

    Typo.
    
    CVS patchset: 7065
    CVS date: 2004/01/05 17:15:18

commit 4c99a1c2da1e4bbde88f79456aad422c38d37f2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 17:00:40 2004 +0000

    - selinux phases 1 and 2 delivered.
    
    CVS patchset: 7064
    CVS date: 2004/01/05 17:00:40

commit cf60d725654c1d9bb354a0f71d274e60b781040c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 5 14:09:47 2004 +0000

    add --with-selinux, move selinux stubs to system.h.
    
    CVS patchset: 7063
    CVS date: 2004/01/05 14:09:47

commit c305927d5d7e7e4a4bb13e168c7888c6fa1d7e33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 3 21:43:10 2004 +0000

    Add %policy marker to suck *.te content into metadata.
    
    CVS patchset: 7062
    CVS date: 2004/01/03 21:43:10

commit 7989c8c4f5a76abe88ed633922ac40cadab674ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 1 17:49:17 2004 +0000

    - python: avoid invoking python to acquire ill-specified parameters.
    
    CVS patchset: 7060
    CVS date: 2004/01/01 17:49:17

commit f5d50a5c675f29af595f0d86c81948bc0774ea70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 1 16:50:31 2004 +0000

    - python: return [], not None, accessing header tags (#112794).
    
    CVS patchset: 7059
    CVS date: 2004/01/01 16:50:31

commit f9093cfebc7949e82c0bbd4b118500d54664bdcb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 1 16:41:24 2004 +0000

    - python: include Python.h before glibc features.h.
    
    CVS patchset: 7057
    CVS date: 2004/01/01 16:41:24

commit 0deeb05eed84b896be18c23bb2855222b1b0faf3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 1 16:34:10 2004 +0000

    - python: include Python.h before glibc features.h.
    
    CVS patchset: 7055
    CVS date: 2004/01/01 16:34:10

commit 355fc032c345d089362454b743cf8cbe6c81cd8d
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Thu Jan 1 12:14:25 2004 +0000

    Return [] for lists see #112794
    
    CVS patchset: 7054
    CVS date: 2004/01/01 12:14:25

commit 4a158e3aa04ac34e6d67ab25e9b89f4dc58685c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 30 20:31:05 2003 +0000

    - pad to display length, not strlen, for i18n popt args (#106240).
    
    CVS patchset: 7053
    CVS date: 2003/12/30 20:31:05

commit a3bf9b96f92fb7184d30d0ffedd6c37bbe57b6c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 30 15:12:50 2003 +0000

    - use -fPIC -DPIC on all platforms, not just mandatory (#112713).
    
    CVS patchset: 7051
    CVS date: 2003/12/30 15:12:50

commit 60a6f22facd168a8e428d39ede7ad730296bed4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 30 15:02:22 2003 +0000

    - use -fPIC -DPIC on all platforms, not just mandatory (#112713).
    
    CVS patchset: 7049
    CVS date: 2003/12/30 15:02:22

commit b1069869998cc7f4e0b4e50309fbe0482b638445
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 30 13:14:49 2003 +0000

    - spelling corrections (#112728).
    
    CVS patchset: 7047
    CVS date: 2003/12/30 13:14:49

commit af5973adad846302e85d717992910c2559dd09b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 30 13:14:49 2003 +0000

    - spelling corrections (#112728).
    
    CVS patchset: 7046
    CVS date: 2003/12/30 13:14:49

commit f5580509bf9a5d6df7afa6ea34a281f270d3a6be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 28 18:27:40 2003 +0000

    revert using perldeps.pl, not yet ready.
    
    CVS patchset: 7044
    CVS date: 2003/12/28 18:27:40

commit ae5e64ce0d32b6f933639991c77ad70d20d45c1c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 28 15:46:35 2003 +0000

    - missing build dependency (#111104).
    
    CVS patchset: 7042
    CVS date: 2003/12/28 15:46:35

commit b7a722971a8e78efe49aee6dc98185e8b1ae042b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 28 15:36:06 2003 +0000

    - find-debuginfo.sh: permit stripping unwritable by non-root (#112429).
    
    CVS patchset: 7040
    CVS date: 2003/12/28 15:36:06

commit 98b52012449200e9d0f6a1a1dd36824c95a13c61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 28 15:14:40 2003 +0000

    - perl.req: avoid regex misfire on '^use' in "= <<" assign (#109934).
    - use perldeps {--provides|--requires}.
    
    CVS patchset: 7037
    CVS date: 2003/12/28 15:14:40

commit 5618e713b8b73772ae332b8728401162eabd09a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 18:02:20 2003 +0000

    - flush pipe before exit 1 in check-files (#103867).
    
    CVS patchset: 7036
    CVS date: 2003/12/27 18:02:20

commit aef89a72025586ae62bd3ebefbaa810696ff0065
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 17:54:57 2003 +0000

    - mark _javadocdir as documentation (#102898).
    
    CVS patchset: 7033
    CVS date: 2003/12/27 17:54:57

commit 067fbd90e2ab33884c3d2131160a3fa7fd1a6009
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 16:02:18 2003 +0000

    Escaped tab for non-gnu sed (#104821).
    
    CVS patchset: 7032
    CVS date: 2003/12/27 16:02:18

commit 51ae7c0fb086b6467a55a40f3a30e6fb8621dbd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 02:40:25 2003 +0000

    splint fiddles.
    
    CVS patchset: 7030
    CVS date: 2003/12/27 02:40:25

commit 1aefecc638725d827eac1d1c5de8e0a36738638c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 01:54:01 2003 +0000

    Move #include "ugid.h" to fsm.c, nuke unused variable in psm.c.
    
    CVS patchset: 7028
    CVS date: 2003/12/27 01:54:01

commit 016206e42e864e761ea3c05c8f3c74d97bb9d2d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 01:50:30 2003 +0000

    Warn only if installing.
    
    CVS patchset: 7025
    CVS date: 2003/12/27 01:50:30

commit 59f6e1d78fd5eba67116d889c452fd2250b4c165
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 27 01:37:56 2003 +0000

    - fix: wrong package count for trigger scriptlet 1st arg (#100509).
    - fix: don't break header SHA1 if non-existent user/group (#97727).
    - remove fuids/fgids from rpmfi, easier to lookup fuser/fgroup instead.
    - merge sensible parts of openpkg rpm.patch.bugfix (#104780).
    
    CVS patchset: 7024
    CVS date: 2003/12/27 01:37:56

commit e21b054fbc14dc3be3b7946c7bc7ab9298aff5f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 19:02:01 2003 +0000

    - perl.req typo (#106672).
    
    CVS patchset: 7022
    CVS date: 2003/12/26 19:02:01

commit 19db4bb4a2bb033b8b5723872ab29cf375b519c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 18:56:21 2003 +0000

    - man page corrections (#106415).
    
    CVS patchset: 7019
    CVS date: 2003/12/26 18:56:21

commit ec1d257a369671436ae80b1c9449a58b638e4707
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 18:16:03 2003 +0000

    - convert ja and ko man pages to utf8 (#106050).
    
    CVS patchset: 7017
    CVS date: 2003/12/26 18:16:03

commit 60d50a708f2a953cb4338c05b2bd766feec11970
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 17:56:05 2003 +0000

    use '=' iff long option (#108924).
    
    CVS patchset: 7016
    CVS date: 2003/12/26 17:56:05

commit c419d9436ee8f2dff8d0647888f39029af6a9eb0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 17:45:18 2003 +0000

    Typo (#106565).
    
    CVS patchset: 7013
    CVS date: 2003/12/26 17:45:18

commit 5c747d9870d80aa0213f325bc03e22f081749b0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 17:36:38 2003 +0000

    - don't use mktemp if mkstemp is available (#103850).
    
    CVS patchset: 7012
    CVS date: 2003/12/26 17:36:38

commit 32c0cfd728a123e5c594e540d1a2aeef67895709
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 16:34:52 2003 +0000

    - fix: escape '+' in regex patterns through RPMMIRE_DEFAULT (#103851).
    - RPMMIRE_DEFAULT is overkill, use RPMMIRE_STRCMP instead (#103851).
    
    CVS patchset: 7011
    CVS date: 2003/12/26 16:34:52

commit 47abfc1242177db364b0bd78d5658ed35a0fe469
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 16:14:49 2003 +0000

    Make sure no. of added provides matches added list size if some
    dependencies are skipped due to coloring (#103865).
    
    CVS patchset: 7010
    CVS date: 2003/12/26 16:14:49

commit 23ddd50de97a301a7c7a402b8d3ee4b3cc26355b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 15:09:26 2003 +0000

    Sick hack to preserve the pretense that popt has an ABI.
    
    CVS patchset: 7008
    CVS date: 2003/12/26 15:09:26

commit a3a26eb6687879e42d061c91021180ad55a68925
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 26 03:36:25 2003 +0000

    fix: double free with sub-pkgs (#112643).
    
    CVS patchset: 7007
    CVS date: 2003/12/26 03:36:25

commit 210183cc698151d970684325b5ac3a0aa98d0136
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 25 23:00:44 2003 +0000

    Add lsetfilecon to install modes.
    
    CVS patchset: 7006
    CVS date: 2003/12/25 23:00:44

commit f09888fc1a1597023b0a29a34c3f4f81f694898d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 25 19:02:01 2003 +0000

    Verify file contexts from file security context patterns.
    
    CVS patchset: 7005
    CVS date: 2003/12/25 19:02:01

commit 41f5aa7c539e09f64426c6563c770553a5efc8aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 23 15:37:16 2003 +0000

    - plug some rpmbuild memory leaks.
    - file security contexts added to package header.
    
    CVS patchset: 7003
    CVS date: 2003/12/23 15:37:16

commit 3fa2603bfc3cc6332ac671e73f9d20bbef3acbd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 23 07:51:10 2003 +0000

    Add filecontexts tags to header if %_build_file_contexts_path is configured.
    
    CVS patchset: 7002
    CVS date: 2003/12/23 07:51:10

commit 2b989f11c76c875aa5b68e6db1b7240040f392ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 23 06:56:46 2003 +0000

    splint fiddle.
    
    CVS patchset: 7000
    CVS date: 2003/12/23 06:56:46

commit db03eb6a92629e7a707a79656b79efafff98de83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 23 06:25:04 2003 +0000

    - fix some small memory leaks (valgrind).
    
    CVS patchset: 6998
    CVS date: 2003/12/23 06:25:04

commit 945bc28d58f59e5816e10f3b7ae12f8ffe75c782
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 21:09:40 2003 +0000

    - test build with methods needed for selinux.
    
    CVS patchset: 6996
    CVS date: 2003/12/22 21:09:40

commit 9dcae00ef6357e34ceb94c63813c49d21b9f2602
Author: Paul Nasrat <pnasrat@redhat.com>
Date:   Mon Dec 22 14:38:13 2003 +0000

    Fix for lists in P/R/O/C see bug #110226
    
    CVS patchset: 6995
    CVS date: 2003/12/22 14:38:13

commit bea918bb7741d0e4b3f8ba134014bdfdd4214ce4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 07:47:45 2003 +0000

    Add --filecontext, --fscontext, --recontext for 3 sources of security contexts.
    
    CVS patchset: 6994
    CVS date: 2003/12/22 07:47:45

commit 3a3b74989a0e9986706f67a37dedbc725aa0f916
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 07:21:21 2003 +0000

    Doxygen typo.
    
    CVS patchset: 6993
    CVS date: 2003/12/22 07:21:21

commit a7ecbbf0a947a592756ceafda207d41e26144c04
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 07:15:04 2003 +0000

    Update to latest.
    
    CVS patchset: 6992
    CVS date: 2003/12/22 07:15:04

commit fe3f3a6567be0ac2677eae31a265da19b81004d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 03:27:38 2003 +0000

    Apply regex patterns to args.
    
    CVS patchset: 6991
    CVS date: 2003/12/22 03:27:38

commit 17bf716992d20285df89df043e560908b699e863
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 22 03:26:57 2003 +0000

    splint fiddles.
    
    CVS patchset: 6990
    CVS date: 2003/12/22 03:26:57

commit 04a45c2ae849fa917cba3a6051cf8b41c414f26d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 21 23:42:22 2003 +0000

    More getter methods, add stems to regex pattern match.
    
    CVS patchset: 6989
    CVS date: 2003/12/21 23:42:22

commit 3cd622588855dbf359b67b5532fd2629b0b6bb68
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 21 18:12:35 2003 +0000

    Add getters, permit revesed iteration.
    
    CVS patchset: 6988
    CVS date: 2003/12/21 18:12:35

commit 64e6dc0ae3e1347a4488d6c30597b4cee1f0de80
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 21 17:17:57 2003 +0000

    Parse selinux file_contexts patterns.
    
    CVS patchset: 6987
    CVS date: 2003/12/21 17:17:57

commit 7961bb65b63e82045f7fdafcedbf6340a470e17a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 21 15:21:41 2003 +0000

    Create file security context container.
    
    CVS patchset: 6986
    CVS date: 2003/12/21 15:21:41

commit 42f49f11fa06ec224a7dff91b51bc1ecb09a0515
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 20 22:44:31 2003 +0000

    Rewrite loop conditionals with continue, use pointers rather than array index.
    
    CVS patchset: 6985
    CVS date: 2003/12/20 22:44:31

commit e9b4b4d0e3f0ce128460a9e8d90036e40efb5066
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 20 20:38:27 2003 +0000

    Use popt for arg parsing.
    
    CVS patchset: 6984
    CVS date: 2003/12/20 20:38:27

commit 2ac9c8b279d097735e73274fb231dc31308d17d3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 20 17:59:30 2003 +0000

    split parsing into seperate routine.
    
    CVS patchset: 6983
    CVS date: 2003/12/20 17:59:30

commit 508c03a0427a6e20b73a3de902e7cd5326e680e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 20 16:41:26 2003 +0000

    Swallow setfiles.c from policycoreutils for hacking.
    
    CVS patchset: 6982
    CVS date: 2003/12/20 16:41:26

commit 4170ed78521c3dbb14891f6b3bb012e62fe11475
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 18 12:00:37 2003 +0000

    - fix: ds.Single() method needs malloc'd elements (#109919).
    
    CVS patchset: 6980
    CVS date: 2003/12/18 12:00:37

commit 6db41ea31cb7a9c3eda393088bfed0f1f143e9b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 18 03:36:21 2003 +0000

    Typo.
    
    CVS patchset: 6978
    CVS date: 2003/12/18 03:36:21

commit b0fc5b445f6a2c82fefb1706825ee6a6e9503661
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 18 03:14:08 2003 +0000

    - detect (and remove) dbenv files while upgrading to db-4.2.52.
    - fix: dangling pointer brain fart (#107835).
    
    CVS patchset: 6976
    CVS date: 2003/12/18 03:14:08

commit 60207c0346637a32b792e371436eeb731665409e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 16 03:41:35 2003 +0000

    - build with db-4.2.52 internal.
    - refresh bsddb.
    
    CVS patchset: 6973
    CVS date: 2003/12/16 03:41:35

commit 8960e3895f7af91126465368dff8fbb36ab4e853
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 15 21:42:09 2003 +0000

    - upgrade to db-4.2.52.
    
    CVS patchset: 6972
    CVS date: 2003/12/15 21:42:09

commit 752cac72e220dcad4e6fce39508e714e59e3e0a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 11 19:09:58 2003 +0000

    - only internal Berkeley db from now on.
    - revive "make dist".
    
    CVS patchset: 6971
    CVS date: 2003/12/11 19:09:58

commit 4c5d56d3bf4cded801abe8830350c5cf973e2bfc
Author: Gustavo Niemeyer <niemeyer@conectiva.com>
Date:   Wed Dec 10 20:36:33 2003 +0000

    Introduced -d option into diff being run in check-files. This will
    ensure that a minimum set of changes is computed, avoiding spurious
    errors about files that are actually being packaged.
    
    CVS patchset: 6970
    CVS date: 2003/12/10 20:36:33

commit 1e01bac6de16cec342c146a8aae1d7057c28867e
Author: Chip Turner <cturner@redhat.com>
Date:   Tue Dec 9 17:15:29 2003 +0000

    version bump
    
    CVS patchset: 6969
    CVS date: 2003/12/09 17:15:29

commit 1e1522762811804507926930bf9e715dd2554cdb
Author: Chip Turner <cturner@redhat.com>
Date:   Tue Dec 9 16:56:09 2003 +0000

    update changes
    
    CVS patchset: 6968
    CVS date: 2003/12/09 16:56:09

commit eb6546239a4319aac31e31e39acd3db0045a22d0
Author: Chip Turner <cturner@redhat.com>
Date:   Tue Dec 9 16:54:59 2003 +0000

    changes to make it compile once again on gcc 2.x; some naughtiness crept in
    
    CVS patchset: 6967
    CVS date: 2003/12/09 16:54:59

commit b2c8f0fa7eb2c794f04c4f3eb74160bd846f277f
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Dec 8 21:41:13 2003 +0000

    oops, need the test headerlist in the MANIFEST
    
    CVS patchset: 6966
    CVS date: 2003/12/08 21:41:13

commit 6517cd197971687e4e3ae0452b5da1d48772acbd
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Dec 8 21:36:50 2003 +0000

    add bindings and test case to load hdlist files like the python bindings
    
    CVS patchset: 6965
    CVS date: 2003/12/08 21:36:50

commit 5e20d90422cb49d77248a11711ada17f28bf32de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 1 19:15:38 2003 +0000

    splint fiddles, no warnings.
    
    CVS patchset: 6961
    CVS date: 2003/12/01 19:15:38

commit 3dcfeb3f9aaf003f29d2c8c0c3a545953f529c08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 23 19:50:52 2003 +0000

    Merge changes from rpm-4.2.1 development.
    
    CVS patchset: 6959
    CVS date: 2003/11/23 19:50:52

commit fda9ddca9bcd46cefc145c14cfd901906600c9d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 23 16:10:08 2003 +0000

    - changes for db-4.2.42.
    - splint fiddles.
    
    CVS patchset: 6957
    CVS date: 2003/11/23 16:10:08

commit 3f976dcda6980cf55461d11ec75eaf372a87cdbc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 31 16:09:53 2003 +0000

    Hi Mark!.
    
    CVS patchset: 6945
    CVS date: 2003/08/31 16:09:53

commit af6895764a3da75b876d74bab6c9fa766a4e57e4
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Jul 23 13:23:53 2003 +0000

    ... and a version bump
    
    CVS patchset: 6941
    CVS date: 2003/07/23 13:23:53

commit c46d7c71ea0bd2ad95842f4023680402a6570cd4
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Jul 23 13:23:34 2003 +0000

    incorporate install/remove, as well as sort fix, from James Olin Oden
    
    CVS patchset: 6940
    CVS date: 2003/07/23 13:23:34

commit cc54cba032c912cefcd3e6eca46ba7a87b2d7e9e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 10 12:43:51 2003 +0000

    - apply debugedit patch necessary to produce kernel -debuginfo files.
    
    CVS patchset: 6933
    CVS date: 2003/07/10 12:43:51

commit 03d806feaa49d2cb0cf5d677cffec5c8c62bde52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 9 20:18:54 2003 +0000

    - resolve elf32/elf64 file conflicts to prefer elf64.
    
    CVS patchset: 6931
    CVS date: 2003/07/09 20:18:54

commit dee9dcd3fc53a27c2edf6ebfda44a7bd9a5ad355
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 2 19:26:33 2003 +0000

    Orphan.
    
    CVS patchset: 6926
    CVS date: 2003/07/02 19:26:33

commit 3182fc3777e17e1ee37ef05b342710982de27d87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 2 19:26:04 2003 +0000

    - don't attempt to remove dbenv on --rebuilddb.
    - autorelocate ix86 package file paths on ia64.
    
    CVS patchset: 6925
    CVS date: 2003/07/02 19:26:04

commit d0594e1ce00578e3b2afad060076abd6c5fd9300
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 26 18:19:26 2003 +0000

    Update to 4.0.31.
    
    CVS patchset: 6919
    CVS date: 2003/06/26 18:19:26

commit 85a5a1cfe31c4c24fee48e6f9dbadb1de42745cc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 24 19:29:36 2003 +0000

    Sanity.
    
    CVS patchset: 6918
    CVS date: 2003/06/24 19:29:36

commit 86704da569d91112768240b28a05e77fc1ac2d13
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 20 19:04:15 2003 +0000

    Automagically byte compile python code.
    
    CVS patchset: 6913
    CVS date: 2003/06/20 19:04:15

commit 1f7f5254641744ee4e9edbfa3fce4a08acb591db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 19 14:52:20 2003 +0000

    - staylor wanted an easter egg.
    
    CVS patchset: 6911
    CVS date: 2003/06/19 14:52:20

commit e235ebcc4c3bf98876ad5e753afb2d17cc512111
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 16 16:05:42 2003 +0000

    Update from PLD.
    
    CVS patchset: 6909
    CVS date: 2003/06/16 16:05:42

commit 1851a170577d62fe8d64b4449e6edbbe86a810f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 16 15:02:35 2003 +0000

    Update from PLD.
    
    CVS patchset: 6904
    CVS date: 2003/06/16 15:02:35

commit ee7eded2f4674165cb5fda2bfe1f078854e1d46c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 16 13:26:03 2003 +0000

    Corrections from PLD.
    
    CVS patchset: 6903
    CVS date: 2003/06/16 13:26:03

commit 32897f1256a89b2814841a42ad3b61cab27b09b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 15 12:48:11 2003 +0000

    Typo.
    
    CVS patchset: 6902
    CVS date: 2003/06/15 12:48:11

commit cdc31c02f0b6c142508585b3752b37fb780cd9b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 13 18:51:55 2003 +0000

    Yet another merge from beecrypt-3.0.0.
    
    CVS patchset: 6901
    CVS date: 2003/06/13 18:51:55

commit 8e19d00216a6d200937fb9383f96f7a6dedd4abd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 13 17:04:02 2003 +0000

    Apply patch.4.1.25.1.
    
    CVS patchset: 6900
    CVS date: 2003/06/13 17:04:02

commit cecbf1bdb2c28210916ed4d917430980cc76e1ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 5 16:58:47 2003 +0000

    - toy method to enable --stats through bindings.
    
    CVS patchset: 6899
    CVS date: 2003/06/05 16:58:47

commit 611fcf0c780e94e14adcaf08e21994b37e65fc55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 5 11:48:23 2003 +0000

    - update ja man pages (#92261).
    
    CVS patchset: 6897
    CVS date: 2003/06/05 11:48:23

commit d9c593e6321ac854ba97470fab655c2704a2f9f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 4 19:28:27 2003 +0000

    Remove dead code.
    
    CVS patchset: 6894
    CVS date: 2003/06/04 19:28:27

commit d865a3cfe1e8cfea7cb4fc71c7258227573b4c08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 4 18:02:49 2003 +0000

    dump xml queryformat debugging code.
    
    CVS patchset: 6892
    CVS date: 2003/06/04 18:02:49

commit 563a233ece3000a410d899dff6931fae650df46c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 3 22:06:27 2003 +0000

    - treat missing epoch's exactly the same as Epoch: 0.
    
    CVS patchset: 6891
    CVS date: 2003/06/03 22:06:27

commit e052452f33b96a62109b8194fd4ed931e3b9d933
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 3 15:52:57 2003 +0000

    Remove debugging.
    
    CVS patchset: 6889
    CVS date: 2003/06/03 15:52:57

commit 92dc678a0e5e4449da71ef342512973b8b878b0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 3 15:48:50 2003 +0000

    Merge fix for DSA on 64bit platforms.
    
    CVS patchset: 6888
    CVS date: 2003/06/03 15:48:50

commit e1e73e64303396eaf199d312d5167f9ee5449c02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 22:35:03 2003 +0000

    Debugging for 64 bit platforms.
    
    CVS patchset: 6887
    CVS date: 2003/06/02 22:35:03

commit c06cf329eb1f4c6bc6c83f85846a078d2788382a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 21:12:27 2003 +0000

    Use automake-1.7.5.
    
    CVS patchset: 6886
    CVS date: 2003/06/02 21:12:27

commit 90a64fd85f2677a26a42fe7f76c1dd6e5503d960
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 21:06:33 2003 +0000

    Use %Zu for printing size_t.
    
    CVS patchset: 6885
    CVS date: 2003/06/02 21:06:33

commit 01ad499d33db1bed5bf5fb305a16645650de00c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 17:44:57 2003 +0000

    Retrofit providesNVR.
    
    CVS patchset: 6883
    CVS date: 2003/06/02 17:44:57

commit c3d235daaf15afad506160cade5e52ed6939b454
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 17:01:41 2003 +0000

    Yet another beecrypt-3.0.0 merge.
    
    CVS patchset: 6882
    CVS date: 2003/06/02 17:01:41

commit 3ea8d7b1979c3bb88bffece0087f858b7a4678a7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 2 15:58:04 2003 +0000

    Yet another merge to beecrypt-3.0.0..
    
    CVS patchset: 6881
    CVS date: 2003/06/02 15:58:04

commit f5c14e57bc86454af679c407e9799d51706bd833
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 30 16:58:13 2003 +0000

    Consolidate external beecrypt changes.
    
    CVS patchset: 6880
    CVS date: 2003/05/30 16:58:13

commit 1c5f871b492f0b28d053f45881faba2f24d9c077
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 29 16:07:35 2003 +0000

    Yet another beecrypt-3.0.0 merge.
    
    CVS patchset: 6878
    CVS date: 2003/05/29 16:07:35

commit b8772cff2dffaacf21fa91c07c1968f39bee3d59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 28 17:18:56 2003 +0000

    Spliddles and diddles.
    
    CVS patchset: 6877
    CVS date: 2003/05/28 17:18:56

commit a3a09742fe81e7875d9c3727c7fa3beaecec0ed7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 28 15:09:08 2003 +0000

    Another merge from beecrypt-3.0.0.
    
    CVS patchset: 6876
    CVS date: 2003/05/28 15:09:08

commit 0148a73a15ad36e9c6b17fa1cdfa345e9d648d47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 27 21:34:03 2003 +0000

    Another beecrypt-3.0.0 merge.
    
    CVS patchset: 6875
    CVS date: 2003/05/27 21:34:03

commit 9e1e00f00a8873c85f5583e4f68df86cfe3d6dc3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 23 17:34:22 2003 +0000

    Use mpextgcd, not mpbinv_w.
    
    CVS patchset: 6874
    CVS date: 2003/05/23 17:34:22

commit dfcd749bbb273c6638174cdf640216c56786a7e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 23 16:32:16 2003 +0000

    Spliddles.
    
    CVS patchset: 6873
    CVS date: 2003/05/23 16:32:16

commit 0baf05de865499764c4d9ff82c56679737432a0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 23 15:55:57 2003 +0000

    Another merge to beecrypt-3.0.0.
    
    CVS patchset: 6872
    CVS date: 2003/05/23 15:55:57

commit dac695e290b95514115d68dbfe21209eeb66ee82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 22 21:21:43 2003 +0000

    Prepare to build with external beecrypt-3.0.0.
    
    CVS patchset: 6871
    CVS date: 2003/05/22 21:21:43

commit 185ee2095cc22a9ab6d3f6e918a7577c7fd6e996
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 22 18:05:07 2003 +0000

    Spliddles.
    
    CVS patchset: 6870
    CVS date: 2003/05/22 18:05:07

commit f052bf8629523610f8061071ce7722b0a4ed706c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 22 17:53:03 2003 +0000

    Yet Another Merge with beecrypt-3.0.0.
    
    CVS patchset: 6869
    CVS date: 2003/05/22 17:53:03

commit 8d73a1c5ebc7b62b312465f3f89d7b1c93dd680a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 20 14:02:12 2003 +0000

    Resolve conflicts.
    
    CVS patchset: 6868
    CVS date: 2003/05/20 14:02:12

commit fea55d4139a791e915a3a5bf1214695479e429a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 20 13:51:54 2003 +0000

    Initial revision
    
    CVS patchset: 6867
    CVS date: 2003/05/20 13:51:54

commit 4ec7ad486eb4cde45127097b23db051f97bc6ecf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 18 18:33:39 2003 +0000

    Upgrade to zlib-1.2.0.1.
    
    CVS patchset: 6860
    CVS date: 2003/05/18 18:33:39

commit 128338204307e65672e4a6bea046e826152a5210
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 18 15:37:51 2003 +0000

    - use beecrypt-3.0.0 API with beecrypt.api.h et al, not types.h.
    
    CVS patchset: 6859
    CVS date: 2003/05/18 15:37:51

commit 1418ba4594520f9e164fee1b1acfc0da594c4212
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 18 15:25:28 2003 +0000

    Merge to latest beecrypt-3.0.0.
    
    CVS patchset: 6858
    CVS date: 2003/05/18 15:25:28

commit e5a47e5247135a70fa6c6ccd5b67a45458f5ac2d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 19:36:25 2003 +0000

    Fix "make dist"
    
    CVS patchset: 6857
    CVS date: 2003/05/17 19:36:25

commit bba59fdb64a0f2d628d3021fa6062d4543714759
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 19:27:47 2003 +0000

    Create python bindings.
    
    CVS patchset: 6856
    CVS date: 2003/05/17 19:27:47

commit fb3f3b2e978f4cd8035dc99475460fcbbbd0965e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 18:13:56 2003 +0000

    Spliddles and diddles.
    
    CVS patchset: 6855
    CVS date: 2003/05/17 18:13:56

commit ead95d01cd7fd24587e34adaf31d07363b52403c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 17:47:23 2003 +0000

    Merge with latest beecrypt-3.0.0, dump types.h.
    
    CVS patchset: 6854
    CVS date: 2003/05/17 17:47:23

commit c76d999142d8a318f0382f9ffb30416aacfcc287
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 03:19:55 2003 +0000

    Rounding for signed division cases.
    
    CVS patchset: 6853
    CVS date: 2003/05/17 03:19:55

commit 386487237fc75ae3e8bffef5dde692a971679477
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 02:54:40 2003 +0000

    SPecial cases for negatives to odd positive powers.
    
    CVS patchset: 6852
    CVS date: 2003/05/17 02:54:40

commit 7804d6920846be7f538c2e6ad29bdd1771db994d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 17 02:34:45 2003 +0000

    Finish signed magnitude tests.
    
    CVS patchset: 6851
    CVS date: 2003/05/17 02:34:45

commit e8f14c1c1ef2485c42d1bd5926553a85eb8c2d7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 16 21:17:31 2003 +0000

    Create.
    
    CVS patchset: 6850
    CVS date: 2003/05/16 21:17:31

commit 38004c8677c87c968fc1cf541bc49f08dcc4fc8a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 16 21:14:30 2003 +0000

    fix: do headerFree after headerRead.
    
    CVS patchset: 6849
    CVS date: 2003/05/16 21:14:30

commit 2dfc9f2eefc0302a8adb7f8a74bf5be21505e105
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 16 20:04:53 2003 +0000

    Fix x86_64 typo.
    
    CVS patchset: 6848
    CVS date: 2003/05/16 20:04:53

commit caee135c54ea54149775d61dc49d4bcf58ff2268
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 16 17:19:42 2003 +0000

    Merge to latest beecrypt-3.0.0.
    
    CVS patchset: 6847
    CVS date: 2003/05/16 17:19:42

commit 420be4069938be086e69834ee5df914d2eaf21f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 15 14:22:30 2003 +0000

    - add version check for package with provides and obsoletes.
    
    CVS patchset: 6846
    CVS date: 2003/05/15 14:22:30

commit cdb6cfe7f06f52c1285f1dca63f680d01a90dfc6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 15 13:53:41 2003 +0000

    - fix: nested %if handling, optind initialization posix vs. glibc.
    
    CVS patchset: 6843
    CVS date: 2003/05/15 13:53:41

commit bf8cae09c80ae3f6551e8247ed02ffd24636c296
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 15 13:44:18 2003 +0000

    - fix: nested %if handling, optind initialization posix vs. gloibc.
    
    CVS patchset: 6839
    CVS date: 2003/05/15 13:44:18

commit e5b645cfe4edc921fd5c7694beff84b27df988a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 12 22:28:28 2003 +0000

    Overloading methods of subtype example.
    
    CVS patchset: 6838
    CVS date: 2003/05/12 22:28:28

commit 03dc1c2738a211060a847f226fa24898c748ca82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 12 17:27:27 2003 +0000

    Typos.
    
    CVS patchset: 6837
    CVS date: 2003/05/12 17:27:27

commit 77c10c042f75fb1ec8bd373a20a9b60a91066c85
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 12 00:57:16 2003 +0000

    Oops, need _BEECRYPT_TYPES_H define after all, sigh.
    
    CVS patchset: 6836
    CVS date: 2003/05/12 00:57:16

commit e77ef01a5f41a71b9846985e588d21ba9b289679
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 12 00:36:05 2003 +0000

    Use bc_lock_t to hide type of locking.
    
    CVS patchset: 6835
    CVS date: 2003/05/12 00:36:05

commit d5ccace91a8abca1ee0123fcac7d6922b287baef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 12 00:07:54 2003 +0000

    Expand the correct "#include <stdint.h" into types.h.
    Add typedef for whatever lock structure that is used.
    
    CVS patchset: 6834
    CVS date: 2003/05/12 00:07:54

commit e433997769b20ae0420c146322598aaeda73580f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 11 21:21:58 2003 +0000

    Typo from merging.
    
    CVS patchset: 6833
    CVS date: 2003/05/11 21:21:58

commit 583e1e89eb365c516d28c1706e8aa8fb98aed1f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 11 21:20:18 2003 +0000

    Merge with latest beecrypt-3.0.0.
    
    CVS patchset: 6832
    CVS date: 2003/05/11 21:20:18

commit 17182c4ac1b01c63050a138abb7662ce731ec258
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 11 16:17:04 2003 +0000

    Add carry/borrow test with signed magnitude mpw's.
    
    CVS patchset: 6831
    CVS date: 2003/05/11 16:17:04

commit f1d3267c1545146aec53c87662204f7422f400a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 10 19:23:57 2003 +0000

    Add coercion-on-the-fly.
    Rename to python function, not tp_foo member, names.
    Tests for Knuth polynomial in base, iterativepowers.
    
    CVS patchset: 6830
    CVS date: 2003/05/10 19:23:57

commit 728df698b6de1fe03ce3f8925e53e5a91340d61f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 9 23:05:45 2003 +0000

    Sanity.
    
    CVS patchset: 6829
    CVS date: 2003/05/09 23:05:45

commit 9b1821f798cf273b1c5e0dd42f5bea68504232e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 9 22:01:59 2003 +0000

    Merge mpnumber malloc's into python mpw object malloc.
    
    CVS patchset: 6828
    CVS date: 2003/05/09 22:01:59

commit 4fee8b2420dffc35704f07c0659324548450296e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 9 16:13:34 2003 +0000

    Prepare to dump mpnumber from mpwObject.
    
    CVS patchset: 6827
    CVS date: 2003/05/09 16:13:34

commit 9c5529608e389271b80469054bfe80737521590a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 8 20:39:29 2003 +0000

    - don't use error string after gzclose (Dmitry V. Levin).
    Spliddles for rpmio, drill h_errno all the way through.
    
    CVS patchset: 6826
    CVS date: 2003/05/08 20:39:29

commit db7ab2f447ee6097b2e98a526f6383a5ca388718
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 8 15:52:36 2003 +0000

    - don't use error string after gzclose (Dmitry V. Levin).
    
    CVS patchset: 6825
    CVS date: 2003/05/08 15:52:36

commit 8fbd1290f661e6b0f6020b9de4b9cf900bcae2dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 7 23:20:31 2003 +0000

    Convert mpw to and from long.
    
    CVS patchset: 6824
    CVS date: 2003/05/07 23:20:31

commit 716074d0131800602361b6daf6bd6271885efbd5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 7 19:00:42 2003 +0000

    Blueprint mpw against mpz routines, abandon signed division fo now.
    
    CVS patchset: 6823
    CVS date: 2003/05/07 19:00:42

commit db263d446b72a55d69f357c83c1efd80c20d8225
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 6 23:11:46 2003 +0000

    - fix: cut-n-paste error setting nopromote for Conflicts: (#81965).
    
    CVS patchset: 6822
    CVS date: 2003/05/06 23:11:46

commit 5f26a13065d64ede572b33f00349af041309e74a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 6 22:54:03 2003 +0000

    *** empty log message ***
    
    CVS patchset: 6821
    CVS date: 2003/05/06 22:54:03

commit 19306b30aa76c22277607a59a2ba6a9ff5eaf7ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 6 21:53:02 2003 +0000

    Use single ndivmod, rather than nmod followed by ndivmod, in mpstr.
    
    CVS patchset: 6820
    CVS date: 2003/05/06 21:53:02

commit 3743a6283b6e644034ebacf0439a9eb468e25429
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 6 19:57:10 2003 +0000

    Fix s/bc/mpw/ typos in mpstr.
    Fix cut and paste booboo, s/rshift/lshift/ for when x << y.
    
    CVS patchset: 6819
    CVS date: 2003/05/06 19:57:10

commit 12a12cf3982e160c342e7f9ba714d5734b64aefa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 21:44:49 2003 +0000

    Sanity.
    
    CVS patchset: 6818
    CVS date: 2003/05/05 21:44:49

commit 3bb3246247fea289d3a2638fde2f3d0b191774fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 21:42:55 2003 +0000

    Add unit test {rpmdb,mpw}/test subdirs.
    
    CVS patchset: 6817
    CVS date: 2003/05/05 21:42:55

commit 704ce887bfe69799fff28882443025d59417f733
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 21:42:13 2003 +0000

    Move to rpmdb subdirectory.
    
    CVS patchset: 6816
    CVS date: 2003/05/05 21:42:13

commit 52b7a8e310e2f1d4289c8532fe0226b8b731903c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 19:33:46 2003 +0000

    Upgrade to bsddb from python-2.3.
    
    CVS patchset: 6815
    CVS date: 2003/05/05 19:33:46

commit c7b7ca5bbd5a2a166b9c47d2de3ee80786ce7730
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 16:07:50 2003 +0000

    Use new mpfpruntf now in beecrypt-3.0.0 API.
    
    CVS patchset: 6814
    CVS date: 2003/05/05 16:07:50

commit 5cd37687754d5ec15b8865d67ccad52de53a33a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 16:02:02 2003 +0000

    Merge in latest beecrypt-3.0.0 changes.
    
    CVS patchset: 6813
    CVS date: 2003/05/05 16:02:02

commit 4e1b7e82c001543adfa4ecbacccae61c93711f9a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 5 02:16:59 2003 +0000

    Back out Py_TPFLAGS_BASETYPE for now.
    
    CVS patchset: 6812
    CVS date: 2003/05/05 02:16:59

commit 3db8afedc08c3f7425438ff029b5413456e6969d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 4 17:34:53 2003 +0000

    Use getattro/setattro throughout.
    Convert to mpfprintlin from diddled mpprintln.
    
    CVS patchset: 6811
    CVS date: 2003/05/04 17:34:53

commit 66964f525cee898d418d6aa0da10a785b44f6692
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 4 16:44:00 2003 +0000

    Orphan.
    
    CVS patchset: 6810
    CVS date: 2003/05/04 16:44:00

commit f54e177d8a8ee61d2d07cbc36e20c33c630f5ccb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 4 16:00:18 2003 +0000

    Merge latest beecrypt-3.0.0 bits.
    Spliddles.
    
    CVS patchset: 6809
    CVS date: 2003/05/04 16:00:18

commit 6d64db3442af92c18847d75b473141fbd28a72b0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 21:50:23 2003 +0000

    Sanity.
    
    CVS patchset: 6808
    CVS date: 2003/05/02 21:50:23

commit 1b00e0031d5f85028300b1734418f43bf4584205
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 21:05:46 2003 +0000

    Generate random primes method.
    
    CVS patchset: 6807
    CVS date: 2003/05/02 21:05:46

commit 69eaee5148a660465f4cd7a4bca91305c1b76379
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 18:38:20 2003 +0000

    Spliddles.
    
    CVS patchset: 6806
    CVS date: 2003/05/02 18:38:20

commit 4b4cf3a0ebf421c4a950a2f2a48405fdad710911
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 17:58:41 2003 +0000

    Spliddles.
    
    CVS patchset: 6805
    CVS date: 2003/05/02 17:58:41

commit 6479a55c561f2fbd606b72f8721066acbd842041
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 17:47:41 2003 +0000

    spliddles for type checking.
    
    CVS patchset: 6804
    CVS date: 2003/05/02 17:47:41

commit f3de276031932be5311f97694c581d312393330e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 2 16:18:50 2003 +0000

    Import changes from latest beecrypt-3.0.0.
    
    CVS patchset: 6803
    CVS date: 2003/05/02 16:18:50

commit 366f697b6690d245319eb856985e84625c25236d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 1 23:28:46 2003 +0000

    Intergate beecrypt spliddles.
    
    CVS patchset: 6802
    CVS date: 2003/05/01 23:28:46

commit 0b64f73176d63b71b289b9946e3e77a135e79070
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 1 19:55:27 2003 +0000

    spliddles.
    
    CVS patchset: 6801
    CVS date: 2003/05/01 19:55:27

commit 31e269224f4a3beabbdac86182d6ed9a44657253
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 1 08:09:16 2003 +0000

    fix typo in system.h.
    python: bindings for returning mpw's from random number generator.
    
    CVS patchset: 6800
    CVS date: 2003/05/01 08:09:16

commit d13b4600f400d208873ac9c8c325ceebc2f3a257
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 21:35:20 2003 +0000

    Add mpw.rndm to return random in range 1 < r < b-1.
    
    CVS patchset: 6799
    CVS date: 2003/04/30 21:35:20

commit 44fd5be7f9107a77882afee663a1030e08077cc0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 21:05:20 2003 +0000

    Create rpmrng module.
    
    CVS patchset: 6798
    CVS date: 2003/04/30 21:05:20

commit 1359f248a342c67e364ab83000f83f0c513f4686
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 20:04:58 2003 +0000

    splint fiddles.
    
    CVS patchset: 6797
    CVS date: 2003/04/30 20:04:58

commit b1c4b8352440609c0c9c1a9a415d37a8e0c75439
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 18:16:10 2003 +0000

    Create rpm.mpw module from guts of rpm.bc.
    
    CVS patchset: 6796
    CVS date: 2003/04/30 18:16:10

commit e4aa414fe7eb95b08e8784b4bfb59ff7a8151a83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 17:46:38 2003 +0000

    Create.
    
    CVS patchset: 6795
    CVS date: 2003/04/30 17:46:38

commit ebb6a798bceec91ba01b18b8789688794641d5d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 17:45:30 2003 +0000

    Reorganize to streamline debugging.
    
    CVS patchset: 6794
    CVS date: 2003/04/30 17:45:30

commit b9ddecf2deada2d98aa3efff2db3eb9ee097de22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 03:25:19 2003 +0000

    Bindings for modular arithmetic.
    
    CVS patchset: 6793
    CVS date: 2003/04/30 03:25:19

commit dc60eb0074ed651ea687d190150e3037b9057349
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 01:03:33 2003 +0000

    beecrypt-3.0.0 merge: doxygen pass.
    
    CVS patchset: 6792
    CVS date: 2003/04/30 01:03:33

commit ac36dd47499046706dc9c464bc1df398fe6a578b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 30 00:11:40 2003 +0000

    beecrypt-3.0.0 merge: entropy_noise_gather converts bits-tp-bytes, not words.
    
    CVS patchset: 6791
    CVS date: 2003/04/30 00:11:40

commit d38e3db906459b7a2d9d2d8275d7d4fa8ae0a9e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 29 16:49:51 2003 +0000

    - fix: IDTXglob should return REMOVETID sorted headers (#89857).
    
    CVS patchset: 6790
    CVS date: 2003/04/29 16:49:51

commit f7b055f024141730443759d6511e18c4ba463212
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 29 11:32:25 2003 +0000

    Typo.
    
    CVS patchset: 6789
    CVS date: 2003/04/29 11:32:25

commit 01eb96d5995fc6ab49d3a0d06036797c953bb955
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 29 08:35:56 2003 +0000

    beecrypt-3.0.0 merge: expand MP_WBITS into types.h
    
    CVS patchset: 6788
    CVS date: 2003/04/29 08:35:56

commit a94207342d80a5ca6fc19e05de95ec346c937ccb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 29 08:15:16 2003 +0000

    beecrypt-3.0.0 merge: splint checks.
    
    CVS patchset: 6787
    CVS date: 2003/04/29 08:15:16

commit d4538f2d0da92317bbfeb37b1c7513350763b0f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 28 21:10:07 2003 +0000

    beecrypt-3.0.0 merge: DSA/SHA1 functional in rpm.
    
    CVS patchset: 6786
    CVS date: 2003/04/28 21:10:07

commit e1e5fa4343052fea261b2d611cd9592378e940f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 28 20:48:32 2003 +0000

    Orphans
    
    CVS patchset: 6785
    CVS date: 2003/04/28 20:48:32

commit e4474b56d620eda7c1f55b385aebac1731569a60
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 28 19:34:20 2003 +0000

    beecrypt-3.0.0 merge: uint32 excision.
    
    CVS patchset: 6784
    CVS date: 2003/04/28 19:34:20

commit a08149369a67ef068bd205164c941768a8e97937
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 28 15:06:30 2003 +0000

    beecrypt-3.0.0 merge: bring in latest asm code.
    
    CVS patchset: 6783
    CVS date: 2003/04/28 15:06:30

commit 6099f7ee0e858d8831726ff1e430e4f80d63ba62
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 27 23:06:37 2003 +0000

    beecrypt-3.0.0 merge: (mostly) grand renaming, mpw et al.
    
    CVS patchset: 6782
    CVS date: 2003/04/27 23:06:37

commit 18eea94d34737988ae6c8dfaa9aebd349236994c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 26 21:45:28 2003 +0000

    beecrypt-3.0.0 merge: (partial) grand renaming, uint32 et al.
    
    CVS patchset: 6781
    CVS date: 2003/04/26 21:45:28

commit a7467cba85c4e0ed6e28aa6f808083398f509974
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 20:46:38 2003 +0000

    beecrypt-3.0.0 merge: grand renaming, mp32barrett et al.
    
    CVS patchset: 6780
    CVS date: 2003/04/25 20:46:38

commit 68b7bd7ebafa868590effdcefa97e8be57d64b3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 20:36:06 2003 +0000

    beecrypt-3.0.0 merge: grand renaming, mp32barret et al.
    
    CVS patchset: 6779
    CVS date: 2003/04/25 20:36:06

commit 6718ac9b84f8c3ddad6e5bb7b9716ee4cb894594
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 19:45:10 2003 +0000

    beecrypt-3.0.0 merge: grand renaming, mp32number et al.
    
    CVS patchset: 6778
    CVS date: 2003/04/25 19:45:10

commit f589bf944ec8038f716840f66ef5c064f0645661
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 19:22:20 2003 +0000

    beecrypt-3.0.0 merge: file renaming.
    Sanity.
    
    CVS patchset: 6777
    CVS date: 2003/04/25 19:22:20

commit 6531425e337992aae37b5fd16021c6534ca230df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 19:19:48 2003 +0000

    beecrypt-3.0.0 merge: grand renaming, mp32number et al.
    
    CVS patchset: 6776
    CVS date: 2003/04/25 19:19:48

commit b52edfb1ed46c2eeb79c63dd9ceba158754257de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 18:02:45 2003 +0000

    beecrypt-3.0.0 merge: copyright messages, new primitive types merged.
    
    CVS patchset: 6775
    CVS date: 2003/04/25 18:02:45

commit 79d776ceb661deaf583f6ba4db182d1d7053edcc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 16:53:36 2003 +0000

    bc-3.0.0: rename mp32*.[ch] files.
    
    CVS patchset: 6774
    CVS date: 2003/04/25 16:53:36

commit fce07c707aed73ce92114d1ecb0cb825e230b9e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 12:26:38 2003 +0000

    Do signed scaling when dividing.
    
    CVS patchset: 6773
    CVS date: 2003/04/25 12:26:38

commit 7f77dc6110f123b3e1fccc337cb39040e12e0fc6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 25 03:01:58 2003 +0000

    Rework arithmetic.
    
    CVS patchset: 6772
    CVS date: 2003/04/25 03:01:58

commit d55b8e03bc4ae98674595bb5cac6804c358cb80f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 24 23:02:35 2003 +0000

    fix: 15^8 had sign problems in intermediate.
    
    CVS patchset: 6771
    CVS date: 2003/04/24 23:02:35

commit 740d48650b698234f8769c853285a6ac51853e66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 24 19:31:18 2003 +0000

    fix: mp32str difficulties with sign bit.
    
    CVS patchset: 6770
    CVS date: 2003/04/24 19:31:18

commit ec5c521b8347b988f9fab0dbed4ee21d82e767ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 24 19:29:52 2003 +0000

    Call romtsOrder() on erasures.
    
    CVS patchset: 6769
    CVS date: 2003/04/24 19:29:52

commit d2d3476ced6b79934f057a24ede10cada53a8e2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 24 16:59:05 2003 +0000

    Trim leading zero's.
    
    CVS patchset: 6768
    CVS date: 2003/04/24 16:59:05

commit de92f6ba0e709d3432bfdc21029676f702d2bfec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 24 12:23:30 2003 +0000

    Print positive numbers only.
    Add extra word for sign bit.
    
    CVS patchset: 6767
    CVS date: 2003/04/24 12:23:30

commit d832d12330ab9b9dcf28dc937eaf8d5e668001fc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 23 23:40:08 2003 +0000

    Mostly functional sliding window exponentiation bindings.
    
    CVS patchset: 6766
    CVS date: 2003/04/23 23:40:08

commit 3f50b8fe7e1f94b9fa8fbec915f74510841ddcd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 21 22:31:28 2003 +0000

    Don't segfault if given ascii armored rather than binary pubkey packets.
    
    CVS patchset: 6765
    CVS date: 2003/04/21 22:31:28

commit 96142f1201ecfd4b867a40b2ba733bdf7269ef79
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 21 14:30:19 2003 +0000

    Orphan.
    
    CVS patchset: 6764
    CVS date: 2003/04/21 14:30:19

commit 41cfdb404cbdd5c9cfeef99c5276e69d04c9b1d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 18 14:03:31 2003 +0000

    - python: missed tuple refcount in IDTXload/IDTXglob.
    
    CVS patchset: 6763
    CVS date: 2003/04/18 14:03:31

commit e95166341a539e5fda08e9dbc6eab8db452f5fb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 18 14:03:11 2003 +0000

    python: missed tuple refcount in IDTXload/IDTXglob.
    
    CVS patchset: 6762
    CVS date: 2003/04/18 14:03:11

commit 8490f11738a664e0d8c413b88fa3fe830facb573
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 22:14:15 2003 +0000

    Typos and transfer trash.
    
    CVS patchset: 6761
    CVS date: 2003/04/17 22:14:15

commit c6156e0abde993ecff24a265e40b4f270a9e0076
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 17:17:27 2003 +0000

    Doxygen doco markup.
    
    CVS patchset: 6760
    CVS date: 2003/04/17 17:17:27

commit 19dbe0729458b91be1f574c3504533031f1c936d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 15:57:42 2003 +0000

    Ignore .created too.
    
    CVS patchset: 6759
    CVS date: 2003/04/17 15:57:42

commit 7232f895edaddb02c7c3cda04eba56b6d48bb154
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 15:14:49 2003 +0000

    Don't overflow internal tables with unknown user/group (#85346).
    
    CVS patchset: 6758
    CVS date: 2003/04/17 15:14:49

commit 5f527ceb06dadf3c6febd710f2c5f8b027ab1cd7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 14:47:57 2003 +0000

    rpmbuild, not rpm, -ba.
    
    CVS patchset: 6757
    CVS date: 2003/04/17 14:47:57

commit 80aa2324955cdb73af81331dd47ac106e8ec831f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 14:47:19 2003 +0000

    rpmbuiod, not rpm, -ba.
    
    CVS patchset: 6756
    CVS date: 2003/04/17 14:47:19

commit 97eb9b42fd7643637f1d9b09212f1faf79656a1d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 17 14:44:07 2003 +0000

    rpm-build, not rpmbuild.
    
    CVS patchset: 6755
    CVS date: 2003/04/17 14:44:07

commit f7aaeb11df0bdbdffd6916ca083d0d8be4afb253
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 16 22:13:18 2003 +0000

    - permit secondary tag match patterns with RPMQV_ALL.
    
    CVS patchset: 6754
    CVS date: 2003/04/16 22:13:18

commit 27785211ad035c1f5e36628771ca4f4b8cd017f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 16 17:55:13 2003 +0000

    Orphan.
    
    CVS patchset: 6753
    CVS date: 2003/04/16 17:55:13

commit c243ab099b4429a20d1ac00baa3eeae206be4365
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 16 17:48:04 2003 +0000

    - resurrect manifests, RPMRC_NOTFOUND returned by readLead().
    
    CVS patchset: 6752
    CVS date: 2003/04/16 17:48:04

commit 14165bc5582af0306bff6bb42b7c76305bec5abf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 20:04:25 2003 +0000

    Merge file-4.02 changes.
    
    CVS patchset: 6751
    CVS date: 2003/04/15 20:04:25

commit 392e5feaca236adca8eb5097e3c1c849031aa30a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 18:50:00 2003 +0000

    Port -F and -N from file-4.02.
    
    CVS patchset: 6750
    CVS date: 2003/04/15 18:50:00

commit 81565202683f7b9d44a0d7dd66f0e610b29022c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 17:24:17 2003 +0000

    Move sources to src sub-directory.
    
    CVS patchset: 6749
    CVS date: 2003/04/15 17:24:17

commit 58886e8cbaf167cde1a8a9d0113ad836fad50d55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 17:01:30 2003 +0000

    Move magic generation to sub-directory.
    
    CVS patchset: 6748
    CVS date: 2003/04/15 17:01:30

commit a2ed3a1f3e9ed7e6bcde955147ab7703d2139d9a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 16:58:35 2003 +0000

    Move magic creation to sub-directory.
    
    CVS patchset: 6747
    CVS date: 2003/04/15 16:58:35

commit 20d11cf0f4b568eef0f66d2d606d103496948db0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 16:45:06 2003 +0000

    Move man pages to sub-directory.
    
    CVS patchset: 6746
    CVS date: 2003/04/15 16:45:06

commit 212ee02ec39b2a6d4b893d62addd9b99d4ae7a59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 16:43:03 2003 +0000

    Move man pages to sub directory.
    
    CVS patchset: 6745
    CVS date: 2003/04/15 16:43:03

commit 114be8061f77db28b1cfd4daf5dd38cfb10740c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 15:19:30 2003 +0000

    Gratuitous name changes from file-4.02.
    
    CVS patchset: 6744
    CVS date: 2003/04/15 15:19:30

commit 99837681b3ec1f79ae23c9a60fa7e9162926e858
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 15 15:03:49 2003 +0000

    Gratuitous name changes from file-4.02.
    
    CVS patchset: 6743
    CVS date: 2003/04/15 15:03:49

commit 1eef3a8561dbfa760f504ca9852cabdbc988a750
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 14 21:04:57 2003 +0000

    Create.
    
    CVS patchset: 6742
    CVS date: 2003/04/14 21:04:57

commit 748f965540b6133d588864de928e7485a7bf54e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 14 21:04:43 2003 +0000

    Typos.
    
    CVS patchset: 6741
    CVS date: 2003/04/14 21:04:43

commit 57b080d43fbc3095152e01f74d9a5b2342a400ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 14 20:54:50 2003 +0000

    Compiles with file.h changes from file-4.02.
    
    CVS patchset: 6740
    CVS date: 2003/04/14 20:54:50

commit b3d8f3155ed6fda819fd1d8df881bcb0a88f6717
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 14 19:24:29 2003 +0000

    Clone for file-4.02 merge.
    
    CVS patchset: 6739
    CVS date: 2003/04/14 19:24:29

commit 12b77c0582c21366e3479a05c844cae7aaf6f32c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 11 22:21:40 2003 +0000

    Beecrypt python bindings for arithmetic and radix conversion formatting.
    
    CVS patchset: 6738
    CVS date: 2003/04/11 22:21:40

commit 142d1ac037a2c8a6b8236b3fa70909565dffd71f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 11 00:52:17 2003 +0000

    Mostly complete beecrypt bindings.
    
    CVS patchset: 6737
    CVS date: 2003/04/11 00:52:17

commit 552d691608cf3bef7d95acea4e2310a437da2c54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 9 21:46:31 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6736
    CVS date: 2003/04/09 21:46:31

commit 783219a8325bca538d21c367f9c523a79dbcb011
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 8 21:42:55 2003 +0000

    fix: prevent segfault if malicious server sends 1 GB of data through ftpNLST.
    fix: rpmal could segfault under obscure conditions.
    Use array, not individual structures, for rpmsw{Enter,Exit} timestamps.
    
    CVS patchset: 6735
    CVS date: 2003/04/08 21:42:55

commit f60ec855de0d6bfd29325fcb73b2901780e72e3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 7 12:05:35 2003 +0000

    Calibrated stopwatch using rdtsc.
    Probes for digest/signature and rpmdb.
    
    CVS patchset: 6734
    CVS date: 2003/04/07 12:05:35

commit 0bb715a528359c01b6077f850ab0bc2e0f5e8c55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 4 22:15:58 2003 +0000

    Accumulate compress/uncompress times.
    
    CVS patchset: 6733
    CVS date: 2003/04/04 22:15:58

commit b18870666993f4f0e3679872bd0b168d6176320e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 4 16:22:44 2003 +0000

    Add cpuinfo() test program.
    
    CVS patchset: 6732
    CVS date: 2003/04/04 16:22:44

commit 126654591c74112bffcf98887bd9a0c654856bbd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 3 00:07:41 2003 +0000

    Gettextify output strftime(3) formats (#83611).
    
    CVS patchset: 6731
    CVS date: 2003/04/03 00:07:41

commit 598457907828b062cedc2cff252aeeab7b988fce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 2 23:26:06 2003 +0000

    Use rpmswEnter/rpmswExit throughout.
    
    CVS patchset: 6730
    CVS date: 2003/04/02 23:26:06

commit 95f01d39a57c3c3d8ebf80cfd78e67c550dc32e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 2 21:16:26 2003 +0000

    Splint clean.
    
    CVS patchset: 6729
    CVS date: 2003/04/02 21:16:26

commit 1f366d6a00d1cf8dc08a40fe789a1b68b4b80a5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 2 19:24:41 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6728
    CVS date: 2003/04/02 19:24:41

commit d96a0816260b82501945f1b8e015efcf0839705c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 1 22:30:04 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6727
    CVS date: 2003/04/01 22:30:04

commit b0ca58af8e9bca4c1c8d288c71c39d4b484102d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 1 22:27:39 2003 +0000

    Splint fiddles.
    Create struct rpmop_s from OPSTAT_t.
    
    CVS patchset: 6726
    CVS date: 2003/04/01 22:27:39

commit 4eb5fa7dc583f7c89d3a6118f73f581300a1375e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 1 22:26:09 2003 +0000

    Splint fiddles.
    Move OPSTAT_t to rpmsw.h.
    
    CVS patchset: 6725
    CVS date: 2003/04/01 22:26:09

commit cec67caee668e6f95b1f5163b04d034d8c52fe5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 1 22:20:45 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6724
    CVS date: 2003/04/01 22:20:45

commit 02bb493292857e493155e345ef5a766240b21e96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 28 22:47:18 2003 +0000

    fix: Pass FIPS-C character by character, not strlen(ifn).
    
    CVS patchset: 6723
    CVS date: 2003/03/28 22:47:18

commit 485f497e21a63a7d9dd75f2197b5223a5965959c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 28 22:11:06 2003 +0000

    Add gcrypt to tdigest.
    
    CVS patchset: 6722
    CVS date: 2003/03/28 22:11:06

commit 53f81816ea838ac251ea69b9b143f2ac764ec5b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 27 21:53:39 2003 +0000

    Sanity.
    
    CVS patchset: 6721
    CVS date: 2003/03/27 21:53:39

commit fc0a8f7bc95191481d9f3f7a97155af46d55013b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 25 23:51:24 2003 +0000

    Add transaction stop watch points.
    
    CVS patchset: 6718
    CVS date: 2003/03/25 23:51:24

commit d79b053df3bd0b0b08d52a3d09a667650b1c7028
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 25 00:22:23 2003 +0000

    Repair rdtsc stopwatch, use gettimeofday(3) for now.
    
    CVS patchset: 6716
    CVS date: 2003/03/25 00:22:23

commit 0b8c3f8319fb610f809f3276ae8001b67b85177d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 24 17:25:42 2003 +0000

    Add benchmark stopwatch, change precision from milli- to micro-secs.
    
    CVS patchset: 6715
    CVS date: 2003/03/24 17:25:42

commit 803528c258d2c14b820a9b2fb5bf2eba9a486133
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 23 00:36:13 2003 +0000

    Make peace with automake-1.7.3.
    Recheck thread safety markes with fsm synchronous threads.
    
    CVS patchset: 6714
    CVS date: 2003/03/23 00:36:13

commit 96cd0c2e288fa8ca561ad814265bc2138a80ddaa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 20 23:42:05 2003 +0000

    Make sure that $(RPM_BUILD_ROOT}/usr/lib is 1st libarry searched.
    Bump popt version.
    
    CVS patchset: 6710
    CVS date: 2003/03/20 23:42:05

commit 97ec1053c9290e6f43e661be733ba08e3b1175b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 19 16:05:49 2003 +0000

    - unify signal handling in librpmio, use condvar to deliver signal.
    
    CVS patchset: 6707
    CVS date: 2003/03/19 16:05:49

commit 099e6cd1ae88c97384ac085a8ceafdcf85a51ab6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 19 03:36:13 2003 +0000

    Sanity, take 2.
    
    CVS patchset: 6706
    CVS date: 2003/03/19 03:36:13

commit 6cb657b9d27bc6cd861a721d5284486a52993310
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 19 03:00:02 2003 +0000

    Sanity.
    
    CVS patchset: 6705
    CVS date: 2003/03/19 03:00:02

commit d2a425e0158a0dced5bf199f229924890067c563
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 18 17:48:19 2003 +0000

    - fix: short option help missing string terminator.
    
    CVS patchset: 6704
    CVS date: 2003/03/18 17:48:19

commit 5fe1914a155697b4f14483a394de9b25a4af5c19
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 18 02:41:33 2003 +0000

    Proof of concept scriptlet queue, single or multi threaded.
    
    CVS patchset: 6699
    CVS date: 2003/03/18 02:41:33

commit 1923ecbc300d330eae0cf898f9274d11d11df658
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 16 23:32:37 2003 +0000

    version bump
    
    CVS patchset: 6698
    CVS date: 2003/03/16 23:32:37

commit 935e813ccc5180d2cf186326c03928caf7f5f7a9
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 16 23:31:42 2003 +0000

    oops, make sure File::Spec is loaded
    
    CVS patchset: 6697
    CVS date: 2003/03/16 23:31:42

commit 423aba69efad7d971129932c0edc990b4a093d3e
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 16 23:31:08 2003 +0000

    fix rpmlib 4.0.x segfault that is a result of iterator freeing after the creating db is freed
    
    CVS patchset: 6696
    CVS date: 2003/03/16 23:31:08

commit cfa8f19149254733f1e066c6476c06dbe37d399d
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 16 23:16:46 2003 +0000

    fix problem in perl 5.6.x with basename/realpath/etc
    
    CVS patchset: 6695
    CVS date: 2003/03/16 23:16:46

commit 77b724ec9940a01f435cc20a2a5f0445a14ef276
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 16 22:36:52 2003 +0000

    Create rpmsq, combining rpmdb/psm signal handlers.
    
    CVS patchset: 6694
    CVS date: 2003/03/16 22:36:52

commit 04aa0e394ea53e1e87c547e2476c52dbf560fda1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 16 02:59:17 2003 +0000

    Start unifying signal handlers.
    
    CVS patchset: 6693
    CVS date: 2003/03/16 02:59:17

commit 0feab83bbe7f1d8a76e66cbfbe33f9459086cf93
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 15 21:51:11 2003 +0000

    Sanity.
    
    CVS patchset: 6692
    CVS date: 2003/03/15 21:51:11

commit 55b458f93376e2611566a369ce676a7893a6c52e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 15 16:56:46 2003 +0000

    Create.
    
    CVS patchset: 6691
    CVS date: 2003/03/15 16:56:46

commit 5def9fa5c68a8d6c36993ed85b4bd962b46974f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 14 23:37:42 2003 +0000

    Create.
    
    CVS patchset: 6690
    CVS date: 2003/03/14 23:37:42

commit d5be3140637989f5f37f9e9d5518285395477f02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 14 23:37:25 2003 +0000

    Sanity.
    
    CVS patchset: 6689
    CVS date: 2003/03/14 23:37:25

commit 2d999924a620080dc211c5458fde93440dbed22a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 14 21:43:16 2003 +0000

    Skip /usr/lib/debug when walking $RPM_BUILD_ROOT.
    
    CVS patchset: 6688
    CVS date: 2003/03/14 21:43:16

commit 97bed5159ebefd633bdd3c11a48b2deeef1424da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 14 18:11:09 2003 +0000

    Unchain iterator on NULL return.
    Don't segfault on --fileclass.
    
    CVS patchset: 6685
    CVS date: 2003/03/14 18:11:09

commit bcf3c3dde45feb07c8caa454ecf0ab27ca79b271
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 13 12:04:35 2003 +0000

    Close and free iterators/cursors on signal exit path.
    
    CVS patchset: 6681
    CVS date: 2003/03/13 12:04:35

commit ed1cc2fa039332bc35517c3c7b433150da419ef6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 12 21:57:50 2003 +0000

    Sanity.
    
    CVS patchset: 6680
    CVS date: 2003/03/12 21:57:50

commit 521861e7443971e712fd292c7ccfe7b1cfddf2e7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 12 13:31:13 2003 +0000

    Don't put newlines in base64 tag, add rpmHeader tag.
    
    CVS patchset: 6679
    CVS date: 2003/03/12 13:31:13

commit c3d4c061ac667e066ec39e131b803161f0a8e919
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 12 02:08:58 2003 +0000

    Orphan.
    
    CVS patchset: 6678
    CVS date: 2003/03/12 02:08:58

commit 06b2ab0587c24a880df54c03e5a640b5b2cd7a44
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 12 02:08:20 2003 +0000

    - --queryformat '[%{*:xml}\n]' to dump header content in XML.
    
    CVS patchset: 6677
    CVS date: 2003/03/12 02:08:20

commit fc24c6edb493a347add26341639d44bf3abeebe2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 11 00:51:26 2003 +0000

    Use an iterator to hide pattern matching on tag/ext names.
    
    CVS patchset: 6676
    CVS date: 2003/03/11 00:51:26

commit f9200584683e5bda36cc3cc66d66cb0d43c51305
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 10 23:28:24 2003 +0000

    - upgrade to zlib-1.2.beta7.
    - pass structure pointer, not args, through headerSprintf call chain.
    - add ":xml" header format modifier.
    
    CVS patchset: 6675
    CVS date: 2003/03/10 23:28:24

commit 205419460247f03ab62c2357f305e9931ecefe1e
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Mar 10 17:08:00 2003 +0000

    ugh, rpm 4.1isms snuck in
    
    CVS patchset: 6674
    CVS date: 2003/03/10 17:08:00

commit 91740bfd15c78e2b63a75495255a3b4727935bd8
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Mar 10 16:31:58 2003 +0000

    prep a 0.61 build
    
    CVS patchset: 6671
    CVS date: 2003/03/10 16:31:58

commit b58ca441e66148fa7f206729898943551c6c4c19
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 10 14:39:07 2003 +0000

    Minimize ars passed throuch headerSprintf call chain.
    
    CVS patchset: 6670
    CVS date: 2003/03/10 14:39:07

commit 57ba0c77a23c2f040d152ee5c0ff49262fbf8f26
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 9 18:34:27 2003 +0000

    beginnings of control over the verify flags for transactions
    
    CVS patchset: 6669
    CVS date: 2003/03/09 18:34:27

commit 477a3e0e3cc64d346c72a645828eda0dd75cf832
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 9 17:53:35 2003 +0000

    add expand_macro
    
    CVS patchset: 6668
    CVS date: 2003/03/09 17:53:35

commit 6da035db569794121d4311a34754fb268cf68702
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Mar 9 09:56:44 2003 +0000

    lot of changes to fix some fundamental refcount probs.  also add new header sprintf method from James Olin Oden
    
    CVS patchset: 6667
    CVS date: 2003/03/09 09:56:44

commit 680669383a5a35c4e8f7ff65799cac62edb5222c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 8 23:31:10 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6666
    CVS date: 2003/03/08 23:31:10

commit 946203d5d9aa29f5b59a94786d04e4a8e34f4832
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 8 23:18:09 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6665
    CVS date: 2003/03/08 23:18:09

commit 363bdbfa512829c536cad4dc10d2ad8b3c77772d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 8 21:47:46 2003 +0000

    Update to infnew-7 patch.
    
    CVS patchset: 6664
    CVS date: 2003/03/08 21:47:46

commit 1dac41397f9e8176d1b1afbb320af659ebefbf1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 8 18:30:38 2003 +0000

    Sanity.
    
    CVS patchset: 6663
    CVS date: 2003/03/08 18:30:38

commit f465bd6d99dfe0cabe2bfeffc6c41d01d2913d68
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 7 03:02:57 2003 +0000

    Sanity.
    
    CVS patchset: 6659
    CVS date: 2003/03/07 03:02:57

commit b178992ceb7ed12c31e5e9d7118af0a271c5f343
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 7 03:01:20 2003 +0000

    Fiddles to build on Red Hat 7.3.
    
    CVS patchset: 6657
    CVS date: 2003/03/07 03:01:20

commit 51e7f7a5e9f5e5c762e049a97309e32928dd5bcc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 6 22:50:04 2003 +0000

    - fix: memory leak (85522).
    
    CVS patchset: 6656
    CVS date: 2003/03/06 22:50:04

commit 29cffe52fca8d5480c333c557996d2bc0196a801
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 6 00:57:54 2003 +0000

    Revert c99 syntax in elfutils.
    Fiddles to build on Red Hat 7.3.
    
    CVS patchset: 6654
    CVS date: 2003/03/06 00:57:54

commit e8cf6cbb056a5b4517191b2a216d48a712993460
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 5 00:13:11 2003 +0000

    Sanity.
    
    CVS patchset: 6652
    CVS date: 2003/03/05 00:13:11

commit ef4490102a278a335d711dda2fc144a99f985a76
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 4 23:35:23 2003 +0000

    automake before autoconf.
    
    CVS patchset: 6651
    CVS date: 2003/03/04 23:35:23

commit 2d3e04467bc30b0a7091556c0877526020f0c8bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 4 22:59:11 2003 +0000

    Build with elfutils-0.76 internal, take 2.
    
    CVS patchset: 6648
    CVS date: 2003/03/04 22:59:11

commit dd3b88df4df7cb30c5685f011a80a125e0431482
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 4 22:03:25 2003 +0000

    Resolve conflicts.
    
    CVS patchset: 6647
    CVS date: 2003/03/04 22:03:25

commit c207ce7fd07e3d149bf6ac179d937a6f96ea9d24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 4 21:57:14 2003 +0000

    Initial revision
    
    CVS patchset: 6646
    CVS date: 2003/03/04 21:57:14

commit dd8e9be4ce4a9d98dea8df4eff7c1ccf1e038adf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 1 20:23:39 2003 +0000

    Sanity.
    
    CVS patchset: 6641
    CVS date: 2003/03/01 20:23:39

commit f8cf4fc4a9f675d2a2d742c481ac52065b3c58cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 28 19:42:36 2003 +0000

    Orphans.
    
    CVS patchset: 6639
    CVS date: 2003/02/28 19:42:36

commit 5a71684d622be1c74ff1e0454ca2cd6705711448
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 28 19:38:25 2003 +0000

    Orphan.
    
    CVS patchset: 6638
    CVS date: 2003/02/28 19:38:25

commit 7ac407a6df300fe3519fdce6e7c1bc206fb92169
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 28 19:32:06 2003 +0000

    Initial revision
    
    CVS patchset: 6472
    CVS date: 2003/02/28 19:32:06

commit 783533803f83ebae7ad9c0ac4db509308189aa65
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 28 19:23:24 2003 +0000

    Initial revision
    
    CVS patchset: 6073
    CVS date: 2003/02/28 19:23:24

commit ee64989f26334b937b430bb2e9fdc812d930ad74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 27 20:57:57 2003 +0000

    - file: check size read from elf header (#85297).
    
    CVS patchset: 6072
    CVS date: 2003/02/27 20:57:57

commit be0ee61ce94b8821b075d57caee261251f963aee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 27 20:30:53 2003 +0000

    - check size read from elf header (#85297).
    
    CVS patchset: 6071
    CVS date: 2003/02/27 20:30:53

commit 8f41770db22e211beb93c6be13072817d8d33e07
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 21 17:01:37 2003 +0000

    More picky splint fiddles.
    
    CVS patchset: 6070
    CVS date: 2003/02/21 17:01:37

commit 13a2b0b906b3c31365277a41f3fb00beae0dfc14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 21 05:13:48 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6069
    CVS date: 2003/02/21 05:13:48

commit c1c4bed30245ecc474d4d8ed72183d5e75eea500
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 21 04:19:07 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6068
    CVS date: 2003/02/21 04:19:07

commit 939bbface17bc1e87a64aa55ca6783c4be322e94
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 20 21:06:04 2003 +0000

    Ready for splint annotations.
    
    CVS patchset: 6067
    CVS date: 2003/02/20 21:06:04

commit 8940ecbe6285f120af403f255c52d11b58c06e21
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 20 20:58:11 2003 +0000

    Add versioning to library.
    Pick up remaining expat files.
    
    CVS patchset: 6066
    CVS date: 2003/02/20 20:58:11

commit 867c6144032a7b80b734ae084e035202272d7d5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 20 20:40:53 2003 +0000

    Automakify, getting rid of generated files.
    
    CVS patchset: 6065
    CVS date: 2003/02/20 20:40:53

commit a86d93be542c918a10630f6348c29b346c0274f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 20 18:55:53 2003 +0000

    Initial revision
    
    CVS patchset: 6041
    CVS date: 2003/02/20 18:55:53

commit 2c26d43b9898a3b5efb06b34946e7918384c1e55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 20 17:51:23 2003 +0000

    Sanity.
    
    CVS patchset: 6040
    CVS date: 2003/02/20 17:51:23

commit 3dade9b6af09b1f4e17229ff55f665dce1bdc815
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 14 23:03:35 2003 +0000

    - file: fix ogg/vorbis file classification problems.
    - skip fingerprints in /usr/share/doc and /usr/src/debug.
    - add file(1) as /usr/lib/rpm/rpmfile.
    - enable transaction coloring for s390x/ppc64.
    
    CVS patchset: 6039
    CVS date: 2003/02/14 23:03:35

commit dd4954229d327ae3524504d5c6b769cb877fb887
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 14 20:20:20 2003 +0000

    fix: ogg/vorbis file classification problems.
    
    CVS patchset: 6038
    CVS date: 2003/02/14 20:20:20

commit 82c4d0c0fb86fd56e46ea18509911a7097359ce8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 6 16:52:57 2003 +0000

    - popt: diddle doxygen/splint annotations, corrected doco.
    
    CVS patchset: 6037
    CVS date: 2003/02/06 16:52:57

commit e0e3dbeaec406fcb9674d674bf42ce09452cb2cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 5 15:35:57 2003 +0000

    Spelling correction.
    
    CVS patchset: 6036
    CVS date: 2003/02/05 15:35:57

commit 3b6005fbd9eb3d071674343db8defe3c3aabc74a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 3 11:46:52 2003 +0000

    oops, get rid of debugging printf's.
    destroy nptl functional test mutex/cond iff successful.
    initialize getcwd buffer to zero to keep valgrind happy.
    
    CVS patchset: 6035
    CVS date: 2003/02/03 11:46:52

commit 8b68faf981d02d50d1666f543c337bb72cd23def
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 31 22:55:28 2003 +0000

    - fix: trap SIGPIPE, close database(s).
    - configurable default query output format.
    
    CVS patchset: 6034
    CVS date: 2003/01/31 22:55:28

commit 80e703591701ddbd4616ea3b741ecbba389b42fb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 29 19:52:28 2003 +0000

    - pay attention to package color when upgrading identical packages.
    
    CVS patchset: 6033
    CVS date: 2003/01/29 19:52:28

commit e10b348c6a72689d2d6e68cdf69d829001d1c1c7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 29 18:53:01 2003 +0000

    Functional upgrade glibc*i386  on x86_64 platform
    
    CVS patchset: 6032
    CVS date: 2003/01/29 18:53:01

commit c63f257a7ebd1d41a3caf38172251bdb2e6c0b20
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 28 17:17:26 2003 +0000

    - fix: clean relocation path for --prefix=/.
    - python: permit stdout/stderr to be remapped to install.log.
    
    CVS patchset: 6031
    CVS date: 2003/01/28 17:17:26

commit b4352eaa31f458d0eee5bf9b319982ded7fb246f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 27 18:09:04 2003 +0000

    Update sv.po.
    
    CVS patchset: 6030
    CVS date: 2003/01/27 18:09:04

commit 4cab573997627bc9210a4c345da380a3ba83d2b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 27 17:45:53 2003 +0000

    - fix: more debugedit.c problems.
    
    CVS patchset: 6029
    CVS date: 2003/01/27 17:45:53

commit c87fa0b0298dda7ae49e3b079a7d464934188fe2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 25 20:59:52 2003 +0000

    - permit anaconda to choose "presentation order".
    
    CVS patchset: 6028
    CVS date: 2003/01/25 20:59:52

commit 8441baccd286b9693e74841946d338c3667f0bae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 25 18:10:30 2003 +0000

    Display statfs(2) returns for debugging.
    
    CVS patchset: 6027
    CVS date: 2003/01/25 18:10:30

commit 79365b0a0d558e40aea22d5c87a25b372f69accc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 24 21:01:50 2003 +0000

    Add file to the splint sources too.
    
    CVS patchset: 6026
    CVS date: 2003/01/24 21:01:50

commit 83037d78fecac9fd89db832b0040a17a93f5667a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 24 19:41:55 2003 +0000

    splint fiddles.
    
    CVS patchset: 6025
    CVS date: 2003/01/24 19:41:55

commit 19884892c015cd7371f0b2cee666484f159fbf43
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 24 17:11:36 2003 +0000

    Apply patches 9+10, equivalent to db-4.1.25 now.
    
    CVS patchset: 6024
    CVS date: 2003/01/24 17:11:36

commit 7e716b70fb68cbef5bd35e154a734269067f1e37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 23 20:23:24 2003 +0000

    splint fiddles.
    
    CVS patchset: 6023
    CVS date: 2003/01/23 20:23:24

commit ff140452c3620c5216778aa72505ada37f3407be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 22 19:21:23 2003 +0000

    - fix: debugedit.c problem.
    
    CVS patchset: 6022
    CVS date: 2003/01/22 19:21:23

commit de2448bccde0147dfa8cbbe8344691a7e0b118de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 22 12:28:41 2003 +0000

    Exit non-zero with bogus args.
    
    CVS patchset: 6021
    CVS date: 2003/01/22 12:28:41

commit ff2846d708c5bc2d0068a84f4c280c28e92a1319
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 22 12:06:15 2003 +0000

    Make robustly stand alone.
    
    CVS patchset: 6020
    CVS date: 2003/01/22 12:06:15

commit 2159f129703b200cf7aa81537a19d9148571b134
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 21 00:59:36 2003 +0000

    fix: check arch for null before appending.
    
    CVS patchset: 6019
    CVS date: 2003/01/21 00:59:36

commit d6ea2fbf22bd4828bf30e2fd3248d2a191ce27d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 20 23:52:04 2003 +0000

    Splint fiddles.
    
    CVS patchset: 6018
    CVS date: 2003/01/20 23:52:04

commit fc1b33b66f0502ad1d9ccf0e3a2112e7aeb8b478
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 20 16:12:12 2003 +0000

    Restore compiler warnings now tthat elfutil's -Werror is not there.
    
    CVS patchset: 6017
    CVS date: 2003/01/20 16:12:12

commit f49f99df008b7909d5f7bf01702d70d7b7475a59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 17 17:43:04 2003 +0000

    - duplicate package checks with arch/os checks if colored.
    - file conflict checks with colors.
    
    CVS patchset: 6013
    CVS date: 2003/01/17 17:43:04

commit e5c6b0d28d48fb35ff47c0c2d55021735ec7e88c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 16 16:59:47 2003 +0000

    Update to latest.
    
    CVS patchset: 6012
    CVS date: 2003/01/16 16:59:47

commit 6169570ccb926c3c449d99d06753a03233fbb1e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 16 16:34:02 2003 +0000

    Nitpicky fix.
    
    CVS patchset: 6011
    CVS date: 2003/01/16 16:34:02

commit e906131f952eff844d0b8c53b3152baef4475f8b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 14 22:08:35 2003 +0000

    Link /usr/lib/rpm/rpmi statically.
    
    CVS patchset: 6010
    CVS date: 2003/01/14 22:08:35

commit b11f8eeaf21f31177d4be2cfd6ad277aec60310c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 13 20:58:21 2003 +0000

    - teach rpmquery to return "owning" package(s) in spite of alternatives.
    
    CVS patchset: 6009
    CVS date: 2003/01/13 20:58:21

commit 52133f7a61c908af41dd0abef0a23db52cd25fd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 12 21:26:08 2003 +0000

    typo.
    
    CVS patchset: 6008
    CVS date: 2003/01/12 21:26:08

commit d23480d85dea973d9a03b6e2d51b71410dbd7b0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 12 21:23:49 2003 +0000

    - file: *really* read elf64 notes correctly.
    - python: restore thread context on errorCB (#80744).
    
    CVS patchset: 6007
    CVS date: 2003/01/12 21:23:49

commit 254626a18d8a54dfd3b09df5a1ed6027c9a83bf3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 12 18:39:01 2003 +0000

    Create.
    
    CVS patchset: 6006
    CVS date: 2003/01/12 18:39:01

commit 190a628644486b9c0ea6d3da44e808c21e72e3ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 10 20:37:45 2003 +0000

    Sanity.
    
    CVS patchset: 6005
    CVS date: 2003/01/10 20:37:45

commit b91db5522ba698a9b4743f3049adcae562b5d445
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 10 20:34:26 2003 +0000

    - fix: obscure corner case(s) with rpmvercmp (#50977).
    
    CVS patchset: 6004
    CVS date: 2003/01/10 20:34:26

commit 24e18d4b3f38d7f7c2c4564b4026290fe7318e70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 8 23:27:51 2003 +0000

    Teach python subdirs lib64 too.
    
    CVS patchset: 6003
    CVS date: 2003/01/08 23:27:51

commit 0635d0ad62a786cb357ae43e602d77cbfb03f59c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 8 22:36:23 2003 +0000

    Use $(shell ...) in Makefile.am, duh.
    
    CVS patchset: 6002
    CVS date: 2003/01/08 22:36:23

commit 050717618aade6df46f1302fd369ae96f9b9a48c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 8 21:37:01 2003 +0000

    - python: put rpmmodule.so where python expects to find.
    - add brp-strip-static-archive build root policy helper.
    - add -lelf to rpm LDFLAGS, not LDADD, since there is no libelf.la now.
    
    CVS patchset: 6001
    CVS date: 2003/01/08 21:37:01

commit a6b27ed8a2510f3b5fdd4fc5c4322c60ac73b621
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 7 23:13:52 2003 +0000

    - file: read elf64 notes correctly.
    
    CVS patchset: 6000
    CVS date: 2003/01/07 23:13:52

commit a585d154ac9b9b8d19bf28b2de56e98276ed990e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 7 00:49:55 2003 +0000

    - add perldeps.pl, start to replace perl.{prov,req}.
    
    CVS patchset: 5999
    CVS date: 2003/01/07 00:49:55

commit b4ca0ec8b20851e331578b7191d8562e3f0de17f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 6 23:55:44 2003 +0000

    - for DSO's, provide the file basename if DT_SONAME not found.
    
    CVS patchset: 5998
    CVS date: 2003/01/06 23:55:44

commit c4e0fdbf2120af5017e0c2c08ecdfa943e7c330d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 6 19:47:33 2003 +0000

    - portabilitly: solaris fixes.
    
    CVS patchset: 5997
    CVS date: 2003/01/06 19:47:33

commit 92676fe33232f6cac4847a6943f31bc303a54d26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 5 19:30:54 2003 +0000

    - file: avoid ogg/vorbis file classification problems.
    
    CVS patchset: 5996
    CVS date: 2003/01/05 19:30:54

commit 0fef0de4041cab4b97979c15d9da5ed445e8f53e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 3 21:30:33 2003 +0000

    fix: inverted logic in RPMPROB_FILTER_REPLACENEWFILES filtering.
    
    CVS patchset: 5995
    CVS date: 2003/01/03 21:30:33

commit ed806144245212853f1bd030981d967bfe77630e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 1 20:33:21 2003 +0000

    - fix: dependency helpers now rate limited at 10ms, not 1s.
    - add per-arch canonical color, only x86_64 enabled for now.
    
    CVS patchset: 5994
    CVS date: 2003/01/01 20:33:21

commit eb93e7599587e462128dc3217e95adf3f1cd361c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 1 17:32:51 2003 +0000

    Update CHANGES.
    
    CVS patchset: 5993
    CVS date: 2003/01/01 17:32:51

commit 49d9daa8d715550c1ed6c803d85cf5b273e06508
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 1 17:26:46 2003 +0000

    fix: file dependency dictionary has size other than #files.
    
    CVS patchset: 5992
    CVS date: 2003/01/01 17:26:46

commit 2ca7f5f3b779418788d08da42f43d157e0d3786e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 1 16:54:04 2003 +0000

    fix: restore upgrade functionality with colors.
    
    CVS patchset: 5991
    CVS date: 2003/01/01 16:54:04

commit 86f5190567b804dc82398802ca10a55322288df9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 31 02:12:02 2002 +0000

    Dump multilib code, colored depndencies instead.
    
    CVS patchset: 5990
    CVS date: 2002/12/31 02:12:02

commit 39cbc98d696209913e83cd2ddc5dd48fad8da687
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 31 01:23:03 2002 +0000

    1st crack at colored installs.
    
    CVS patchset: 5989
    CVS date: 2002/12/31 01:23:03

commit be48ddd9e2f81fa2a3d224d1d7de0c532abf6c9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 30 14:50:33 2002 +0000

    - fix: typo in assertion.
    
    CVS patchset: 5988
    CVS date: 2002/12/30 14:50:33

commit 24e9464d2e30b02b4178198947b45fb45c165cbb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 30 02:37:01 2002 +0000

    - use rpmfiFDepends() underneath --fileprovide and --filerequire.
    - python: add fi.FColor() and fi.FClass() methods.
    - calculate dependency color and refernces.
    - python: add ds.Color() and ds.Refs() methods.
    
    CVS patchset: 5987
    CVS date: 2002/12/30 02:37:01

commit 1b8508adc27371a944e730c218364eea110f8d9f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 30 00:03:53 2002 +0000

    - use rpmfiFDepends() underneath --fileprovide/--filerequire.
    
    CVS patchset: 5986
    CVS date: 2002/12/30 00:03:53

commit cb4b0b8ce12baa3ec035f91e4bd5ad4c0cfa1886
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 29 22:31:00 2002 +0000

    - fix :armor query extension, tgpg mktmp handling (#80684).
    - use rpmfiClass underneath --fileclass.
    
    CVS patchset: 5985
    CVS date: 2002/12/29 22:31:00

commit c67befa2833503c8864ec906a07ad8b4b617947c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 29 19:44:18 2002 +0000

    splint fiddles.
    
    CVS patchset: 5984
    CVS date: 2002/12/29 19:44:18

commit 98fc9d533c9d5698c558a54d47d7087bb8f25a96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 29 19:28:30 2002 +0000

    - python: eliminate hash.[ch] and upgrade.[ch], methods too.
    
    CVS patchset: 5983
    CVS date: 2002/12/29 19:28:30

commit e4cac6608a15d6fa9e1ee7895ba86efc9f2e9922
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 29 18:19:19 2002 +0000

    - don't segfault with packages produced by rpm-2.93 (#80618).
    
    CVS patchset: 5982
    CVS date: 2002/12/29 18:19:19

commit 817a6d983661b3d0ade1159238ea774f93cb7806
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 29 01:06:58 2002 +0000

    - add rpmfi methods to access color, class, and dependencies.
    
    CVS patchset: 5981
    CVS date: 2002/12/29 01:06:58

commit d7a0ee2ca85c99ee49cd2110c027e0f09ef1795e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 28 23:17:06 2002 +0000

    splint fiddles.
    
    CVS patchset: 5980
    CVS date: 2002/12/28 23:17:06

commit e65f6df21678082a8adc74d6eb30933fcaa70687
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 28 19:31:21 2002 +0000

    - error if querying with iterator on different sized arrays.
    
    CVS patchset: 5979
    CVS date: 2002/12/28 19:31:21

commit 2119e50b90f0b5f145778e5325188d1d4487378a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 28 00:24:14 2002 +0000

    - fix builddir relative inclusion, add %%pubkeys to rpm header.
    - fix: package relocations were broken (#75057).
    
    CVS patchset: 5978
    CVS date: 2002/12/28 00:24:14

commit 5e61b7cae81967b9bcc0700755336e5e42207b5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 27 19:42:22 2002 +0000

    - ignore ENOENT return from db->close (#80514,#79314).
    
    CVS patchset: 5977
    CVS date: 2002/12/27 19:42:22

commit c7975dbe480f9bb3d68e1075ba5fa967db8e3455
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 27 18:01:00 2002 +0000

    - disable perl module magic rule.
    
    CVS patchset: 5976
    CVS date: 2002/12/27 18:01:00

commit cad1c310aac361cb8f07ffaa77e8ce8a5d6dda98
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 27 16:12:09 2002 +0000

    - add BETA-GPG-KEY (but not in headers using %%pubkey yet).
    
    CVS patchset: 5975
    CVS date: 2002/12/27 16:12:09

commit be9a1f9007cbeb6955004c8309d1b9ebfb35d09a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 26 23:19:17 2002 +0000

    Don't fire helper for executable requires.
    
    CVS patchset: 5974
    CVS date: 2002/12/26 23:19:17

commit 1aa83a98fc49f0a4dc272f12d33f425b632b52dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 26 20:38:26 2002 +0000

    - resurrect automagic perl(foo) dependency generation.
    
    CVS patchset: 5973
    CVS date: 2002/12/26 20:38:26

commit 3300e2810e0f86dd54b87fc9a46f9672a478b87f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 26 17:18:01 2002 +0000

    Initialize differently if using rpc access.
    
    CVS patchset: 5972
    CVS date: 2002/12/26 17:18:01

commit ef982508f3e64b89be674038dc64c8300e670450
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 20:37:39 2002 +0000

    - add Red Hat pubkeys to rpm header.
    
    CVS patchset: 5971
    CVS date: 2002/12/24 20:37:39

commit 60b4c2293fc0840258fc7a785c71784b05017479
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 20:06:33 2002 +0000

    - permit both relative/absolute paths, display 'P' when verifying.
    
    CVS patchset: 5970
    CVS date: 2002/12/24 20:06:33

commit 6b0679df90d7c90aea308c2e5328aed401176790
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 19:49:06 2002 +0000

    - add %%pubkey attribute to read armored pubkey files into header.
    
    CVS patchset: 5969
    CVS date: 2002/12/24 19:49:06

commit 268376a208ce942e92088315d383a4e09974cbc2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 17:06:35 2002 +0000

    Rescusitate doxygen file manifest.
    
    CVS patchset: 5968
    CVS date: 2002/12/24 17:06:35

commit fec28fa0043b8071e0fa2cadd465eeb0c1cdbb81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 07:38:02 2002 +0000

    Keep message to 1 line.
    
    CVS patchset: 5967
    CVS date: 2002/12/24 07:38:02

commit e2c12fef0a6e599db54427aab03ecac7a01a1e37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 07:33:26 2002 +0000

    Check for unshared posix mutexes only on 1st open.
    
    CVS patchset: 5966
    CVS date: 2002/12/24 07:33:26

commit e5b828ce71266fc0bf667769e68b32425f31f1af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 07:28:01 2002 +0000

    Ignore rpmdeps executable.
    
    CVS patchset: 5965
    CVS date: 2002/12/24 07:28:01

commit bf9543cf81121ebe4a22fe52bb28ae4e412428d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 07:27:23 2002 +0000

    Remove unused Flags.
    
    CVS patchset: 5964
    CVS date: 2002/12/24 07:27:23

commit e788b7c1f347e1cf42109590247ba03f3ab50229
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 07:21:04 2002 +0000

    - fix: remove rpmfi scareMem so that headers can be reloaded on ia64.
    - fix: set DB_PRIVATE, not DB_ENV_PRIVATE, if unshared posix mutexes.
    - remove useless kernel/glibc dependencies (#79872).
    - add matching "config(N) = EVR"  dependencies iff %%config is found.
    
    CVS patchset: 5963
    CVS date: 2002/12/24 07:21:04

commit b7129ca89835ca7819b104f38d18970004fb0064
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 04:04:20 2002 +0000

    splint fiddles.
    
    CVS patchset: 5962
    CVS date: 2002/12/24 04:04:20

commit 415b3e6ff241d1c7120ee12ddb28bb1ad25c2e0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 24 02:41:45 2002 +0000

    fix: ia64 segfault on build.
    
    CVS patchset: 5961
    CVS date: 2002/12/24 02:41:45

commit e3c423226eb5dcf13d3ae5ffb5abb11900f061fb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 23 20:58:36 2002 +0000

    Sanity.
    
    CVS patchset: 5960
    CVS date: 2002/12/23 20:58:36

commit 34fd5ec8108c44927486b303622daa2d8af76e94
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 22 02:23:38 2002 +0000

    Typos.
    
    CVS patchset: 5959
    CVS date: 2002/12/22 02:23:38

commit b63b4a5d122e8dfb631c8fa75a9a7a92708080ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 22 02:11:05 2002 +0000

    - simplify specfile query linkage loop.
    - drill rpmts into parseSpec(), carrying Spec along.
    
    CVS patchset: 5958
    CVS date: 2002/12/22 02:11:05

commit 1f6cdca2d549e02f3e65afa27b80cb852e283cd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 21 20:37:37 2002 +0000

    - add --enable-posixmutexes when configuring on linux.
    - add rpmdb_{deadlock,dump,load,svc,stat,verify} utilities.
    - include srpm pkgid in binary headers (#71460).
    - add %check scriptlet to run after %install (#64137).
    
    CVS patchset: 5957
    CVS date: 2002/12/21 20:37:37

commit b2402702ae91a73f7e4a4787b6a170357e219533
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 21 01:31:24 2002 +0000

    splint fiddles.
    
    CVS patchset: 5956
    CVS date: 2002/12/21 01:31:24

commit ec22ac6d3cbfac0130049c816023b9766095353e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 21 01:05:44 2002 +0000

    Sanity.
    
    CVS patchset: 5955
    CVS date: 2002/12/21 01:05:44

commit e0a6204a4804ffc8bf1c4dd4165cf2c55838b0cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 20 18:36:23 2002 +0000

    - copy compressFilelist to convertdb1.c, remove internal legacy.h.
    
    CVS patchset: 5954
    CVS date: 2002/12/20 18:36:23

commit ec1cec87636c8c3b29b103ca034f445af83e4154
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 20 18:25:59 2002 +0000

    - error on exclusive Packages fcntl lock if DB_ENV_PRIVATE is set.
    
    CVS patchset: 5953
    CVS date: 2002/12/20 18:25:59

commit 1a49f5b1acf5a257631ae9e52519d71285b2239b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 20 16:09:15 2002 +0000

    - test pthread_{mutex,cond}attr_setpshared(), add DB_ENV_PRIVATE if not.
    
    CVS patchset: 5952
    CVS date: 2002/12/20 16:09:15

commit c346c3e69f15104de5b653b8d1657731bc6edc6c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 20 15:03:18 2002 +0000

    - dynamically link /bin/rpm, link against good old -lpthread.
    
    CVS patchset: 5951
    CVS date: 2002/12/20 15:03:18

commit e7f55c20f5c7ae0eac290dd7f9d3a948e1f6ab26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 19 23:41:52 2002 +0000

    - add -I/usr/include/nptl, Conflicts: kernel <= 2.4.19.
    
    CVS patchset: 5950
    CVS date: 2002/12/19 23:41:52

commit e7615329e96a64022f37885a0695ee9026c9d161
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 18 23:00:31 2002 +0000

    Sanity.
    
    CVS patchset: 5949
    CVS date: 2002/12/18 23:00:31

commit d2ee89c989f13c7c4cf725c063e428f553789744
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 18 22:59:03 2002 +0000

    Correct typo.
    
    CVS patchset: 5948
    CVS date: 2002/12/18 22:59:03

commit b3bc3cb19d15acc86df9400dc5e77adf8f6f1dd5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 18 22:54:00 2002 +0000

    - add --file{class,provide,require} popt aliases and header extensions
    
    CVS patchset: 5947
    CVS date: 2002/12/18 22:54:00

commit c10d7179bbead171e67e924538ad0f6751c8e961
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 18 16:18:33 2002 +0000

    - popt aliases for -U et al to achieve dynamic link with nptl.
    
    CVS patchset: 5946
    CVS date: 2002/12/18 16:18:33

commit ad8350c14945a91b8d6b054cb1d6b458460e3525
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 18 01:46:25 2002 +0000

    Add --dwim
    
    CVS patchset: 5945
    CVS date: 2002/12/18 01:46:25

commit d69ad2f4fa325d0231360923adfdb60bfb22c0e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 17 19:22:15 2002 +0000

    - rebuild against glibc with fcntl fixed in libpthread.
    - re-enable CDB locking, removing "private" from %%__dbi_cdb macro.
    
    CVS patchset: 5944
    CVS date: 2002/12/17 19:22:15

commit 1552eaba2eea4943e2234ffc1026ff08c18d8725
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 15 18:30:44 2002 +0000

    - disable fcntl(2) lock on Packages until glibc+nptl is fixed.
    - make cdb locks "private" for pthreads compatibility w/o NPTL.
    - add --enable-posixmutexes to use NPTL.
    - make dependency generation "opt-out" everywhere.
    
    CVS patchset: 5943
    CVS date: 2002/12/15 18:30:44

commit becf1f7abaaf5304384490f8ef256f744f0c8dfc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 14 22:03:14 2002 +0000

    - generate Elf provides even if file is not executable.
    
    CVS patchset: 5942
    CVS date: 2002/12/14 22:03:14

commit 96f4a259b507751db2d51b43978ba7b69a149c3a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 14 21:39:19 2002 +0000

    - fix: make sure each library has DT_NEEDED for all unresolved syms.
    
    CVS patchset: 5941
    CVS date: 2002/12/14 21:39:19

commit 23a39efab69f2b60624a7c112ba7eb1a939afff1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 13 23:34:40 2002 +0000

    - debug_packages "works", but non-noarch w/o %setup has empty payload.
    - make dependency generation "opt-in" in order to build in distro.
    - rebuild rpm with internal dependency generation enabled.
    
    CVS patchset: 5940
    CVS date: 2002/12/13 23:34:40

commit 06ace585a76d86c41f5d9efa0069aadc76bc0795
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 13 20:50:14 2002 +0000

    Bail on rpmfts_repr() for now.
    
    CVS patchset: 5939
    CVS date: 2002/12/13 20:50:14

commit 04a04dc62e6f2f94c0f88d2552db7e075d652ed1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 12 19:21:50 2002 +0000

    - fix: add %%ifnarch noarch to debug_package macro
    
    CVS patchset: 5938
    CVS date: 2002/12/12 19:21:50

commit d5a81771b690eca36a7b4efde27ef874204452c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 12 19:16:45 2002 +0000

    - fix: add rpmlib(VersionedDependencies) if versioned Provides: found.
    
    CVS patchset: 5937
    CVS date: 2002/12/12 19:16:45

commit 8681309f1a19ebe597464aa3d1304bef06d3790e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 12 17:46:22 2002 +0000

    Add
        PyObject *md_dict;          /*!< to look like PyModuleObject */
    to all rpmfoo_Type's.
    
    CVS patchset: 5936
    CVS date: 2002/12/12 17:46:22

commit 78ddb8c8761d21ad59f99404c1f077c1434e943a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 11 15:06:17 2002 +0000

    Sanity.
    
    CVS patchset: 5935
    CVS date: 2002/12/11 15:06:17

commit fb0d3c9741a83bc8267eeccd4a2e490f4129e38c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 11 14:24:46 2002 +0000

    - rebuild against glibc with TLS support.
    
    CVS patchset: 5934
    CVS date: 2002/12/11 14:24:46

commit 513fc078defe9b5893236002c9966e3cc7043ef1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 11 03:16:24 2002 +0000

    Add iterators to rpmfts-py.c.
    splint fiddles.
    
    CVS patchset: 5933
    CVS date: 2002/12/11 03:16:24

commit 2452c14619fd14c1b7eba69eec0c7d32dbf56d86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 11 00:12:17 2002 +0000

    Add rpmfts-py.[ch] bindings for fts(3) from rpmio.
    splint fiddles.
    
    CVS patchset: 5932
    CVS date: 2002/12/11 00:12:17

commit fe6043016c84107132bd0dc80ef454d2c81342b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 10 19:46:03 2002 +0000

    Add tp_{init,alloc,new,free} methods to rpmts.
    Use PyObject_{New,Del} consistently throughout.
    
    CVS patchset: 5931
    CVS date: 2002/12/10 19:46:03

commit d412f8be53602c3a06d3b7b05a2fdae1af8a2b01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 10 16:35:29 2002 +0000

    Sanity.
    
    CVS patchset: 5930
    CVS date: 2002/12/10 16:35:29

commit c663b52bda675da4156476aa6154b439d89d6d13
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 10 16:32:27 2002 +0000

    Repair fc->skipReq insertion typo.
    
    CVS patchset: 5929
    CVS date: 2002/12/10 16:32:27

commit c6dcee8ac6daa501de3ce727758d50b0807d868c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 10 16:31:39 2002 +0000

    Add coercions.
    
    CVS patchset: 5928
    CVS date: 2002/12/10 16:31:39

commit 76cf50aa5bc111fc23b2c4fa4702c915126a9f61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 9 17:59:03 2002 +0000

    Include rpmbc-py.h too.
    
    CVS patchset: 5927
    CVS date: 2002/12/09 17:59:03

commit 971303be3e56cd9123c2a4d0b8897052ad2a6658
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 9 17:22:55 2002 +0000

    - don't generate dependencies unless execute bit is set.
    - enable internal automagic dependency generation as default.
    
    CVS patchset: 5926
    CVS date: 2002/12/09 17:22:55

commit 1b650d04abfc1fc38ffb08121752b235ad8a4bd8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 8 21:50:36 2002 +0000

    Implement divide and divmod methods.
    
    CVS patchset: 5925
    CVS date: 2002/12/08 21:50:36

commit 0b6941dbb41bce6392086c73799afc9433fcaa2b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 8 20:57:34 2002 +0000

    Add Debug method, implement obvious functions.
    
    CVS patchset: 5924
    CVS date: 2002/12/08 20:57:34

commit 9e279581d8d0f513e07bb275972ed9cec3dc897c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 8 19:04:54 2002 +0000

    Stubs for beecrypt bindings.
    
    CVS patchset: 5923
    CVS date: 2002/12/08 19:04:54

commit 3d1f33d2706b276ce82ecdef36eacf69343389e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 7 22:45:11 2002 +0000

    Sanity.
    
    CVS patchset: 5922
    CVS date: 2002/12/07 22:45:11

commit 9e737c3f6d48a94140f64bcb8b108c6f98709005
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 7 22:29:21 2002 +0000

    Insturment auto request/provide disabling.
    
    CVS patchset: 5921
    CVS date: 2002/12/07 22:29:21

commit bb2c78fdba1cc6ea151936c5547e8cee92d02169
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 7 21:27:09 2002 +0000

    Splint fiddles.
    
    CVS patchset: 5920
    CVS date: 2002/12/07 21:27:09

commit 92dee513d21e94a3aa7ee455d12cffed82db2ff2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 7 19:00:57 2002 +0000

    Finish converting to .splintrc.
    
    CVS patchset: 5919
    CVS date: 2002/12/07 19:00:57

commit 704ad49b02dbe1fbb7fc2189900f26d5a0b15c3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 7 05:48:45 2002 +0000

    Handle (N,EVR,Flags) Provide:/Require: triple.
    
    CVS patchset: 5918
    CVS date: 2002/12/07 05:48:45

commit 95cbf4bfe8bc6a9abcbb19e1034bb65c891b4dd1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Dec 6 02:09:57 2002 +0000

    part two
    
    CVS patchset: 5917
    CVS date: 2002/12/06 02:09:57

commit cf6060f773898d579fb3443133e10cafcf57940e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Dec 6 02:04:31 2002 +0000

    Better detection of ppc64 et al
    
    CVS patchset: 5916
    CVS date: 2002/12/06 02:04:31

commit a2e69e76226fd29b6aeacc982b7acd62843e48ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 4 02:01:47 2002 +0000

    python: gilding lilies.
    
    CVS patchset: 5915
    CVS date: 2002/12/04 02:01:47

commit 0717d19bb11f312bfeba9a43651a72581dcd6a21
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 3 21:00:38 2002 +0000

    Add new rpmte methods.
    
    CVS patchset: 5914
    CVS date: 2002/12/03 21:00:38

commit c96202ddef5c4ffcc3da81e1915b84e8f2a6102c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 3 02:57:02 2002 +0000

    - internal automagic dependency generation (disabled for now).
    
    CVS patchset: 5913
    CVS date: 2002/12/03 02:57:02

commit c84e1589b098a29804a3c75c58c576aea305c06b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 2 15:04:16 2002 +0000

    - late rpmts reference causes premature free (#78862).
    
    CVS patchset: 5912
    CVS date: 2002/12/02 15:04:16

commit 80b23366e79f229831efb6a590c90e2724d37927
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 1 21:34:06 2002 +0000

    - use usrlib_LTLIBRARIES to install directly in /usr/lib64 instead.
    
    CVS patchset: 5911
    CVS date: 2002/12/01 21:34:06

commit 0efbbada0f3005d6f81a940ba7b06aef2703a50b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 1 18:03:22 2002 +0000

    - link rpm libraries together, use shared helpers with external -lelf.
    - move libfmagic to librpmio.
    - use libtool-1.4.3, autoconf-2.56.
    - add explicit -L/lib64 -L/usr/lib64 for libtool mode=relink on x86_64.
    
    CVS patchset: 5910
    CVS date: 2002/12/01 18:03:22

commit 5dfaaf855c2ee3164deacc7d720ec3c759bed8eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 22:49:10 2002 +0000

    Link rpmcache/rpmgraph statically for now.
    
    CVS patchset: 5909
    CVS date: 2002/11/30 22:49:10

commit 760d3a0c8b9c70b0fac0e6af49e683c9bf289d7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 22:15:29 2002 +0000

    More splint fiddles.
    
    CVS patchset: 5908
    CVS date: 2002/11/30 22:15:29

commit bd00220d417766369bb3e14193bbe7c2876a53e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 21:42:24 2002 +0000

    Splint fiddles.
    
    CVS patchset: 5907
    CVS date: 2002/11/30 21:42:24

commit 0046c56cf8dc3503bc6f93d7bfde34cb8a9ac5c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 21:07:08 2002 +0000

    - upgrade to elfutils-0.63.
    
    CVS patchset: 5906
    CVS date: 2002/11/30 21:07:08

commit b3c62fe13637ae987830f3a696e43b24c6caa55a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 19:23:16 2002 +0000

    Orphans.
    
    CVS patchset: 5905
    CVS date: 2002/11/30 19:23:16

commit e50b4bc9cff8e8699e1e882570fd2c9e8879b2b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 19:10:05 2002 +0000

    Conflicts.
    
    CVS patchset: 5904
    CVS date: 2002/11/30 19:10:05

commit 9b838f86043783a5b17b2a54a066fda56af5f9f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 30 18:41:53 2002 +0000

    Initial revision
    
    CVS patchset: 5903
    CVS date: 2002/11/30 18:41:53

commit fc990ef48b29b1b5995d9fe5ef229bb223ad5095
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 29 21:35:53 2002 +0000

    - build with external elfutils (preferred), if available.
    
    CVS patchset: 5900
    CVS date: 2002/11/29 21:35:53

commit a972f919a69bafb970237b102048699cfa81b3f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 27 01:28:55 2002 +0000

    - apply patches 7 and 8 to db-4.1.24.
    - upgrade to elfutils-0.59.
    - add -g to all platforms optflags.
    
    CVS patchset: 5899
    CVS date: 2002/11/27 01:28:55

commit 2d8de3930b869b574fa236241040f0950c7cb55b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 27 01:10:45 2002 +0000

    Resurrect configure and Makefile.in.
    
    CVS patchset: 5898
    CVS date: 2002/11/27 01:10:45

commit 35da88d5bbb143cd8f7878938fc186ad2ca0c94d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 27 01:01:37 2002 +0000

    OSI license.
    
    CVS patchset: 5897
    CVS date: 2002/11/27 01:01:37

commit cbcc6b8b7478d1cee9d1192e64a3fbb840da77c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 27 01:01:23 2002 +0000

    Sanity.
    
    CVS patchset: 5896
    CVS date: 2002/11/27 01:01:23

commit aadf64db75a2fe24ec67097ceff25638e5372eef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 27 00:21:10 2002 +0000

    OSI license.
    
    CVS patchset: 5895
    CVS date: 2002/11/27 00:21:10

commit 33d47ca99a4f1f23a215a053f8b55bcdd670ab74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 23:04:08 2002 +0000

    Don't bother with Makefile.in.
    
    CVS patchset: 5894
    CVS date: 2002/11/26 23:04:08

commit b7696c27a7a0e35fcbd92d5dcb60df636f8c8548
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 23:02:51 2002 +0000

    Don't bother with configure.
    
    CVS patchset: 5893
    CVS date: 2002/11/26 23:02:51

commit e1450d788f2f23c33c92016f511c73e2daa10245
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 23:00:35 2002 +0000

    Orphans.
    
    CVS patchset: 5892
    CVS date: 2002/11/26 23:00:35

commit 211e40766a5de1be22a7d7e5325a1dc1fc97c9a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:57:29 2002 +0000

    Conflicts.
    
    CVS patchset: 5891
    CVS date: 2002/11/26 22:57:29

commit 40e35cdce684eff593bd07fa5c44aac1497a1f36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:54:36 2002 +0000

    Conflicts.
    
    CVS patchset: 5890
    CVS date: 2002/11/26 22:54:36

commit c366b1cc14596b771a5d722c3fea9cec61f62f47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:53:44 2002 +0000

    Initial revision
    
    CVS patchset: 5889
    CVS date: 2002/11/26 22:53:44

commit 8ec359ea45cb587db1bedcbaf296e3a59031b9d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:53:11 2002 +0000

    Conflicts.
    
    CVS patchset: 5887
    CVS date: 2002/11/26 22:53:11

commit 83b2da2fa8be42498c210fa0ba46da15f6802b88
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:47:41 2002 +0000

    7.Fix a bug which kept the Berkeley DB XML release from building with the
      Berkeley DB 4.1.24 release. This bug only affects builds of the Berkeley
      DB XML release.
    8.Fix a bug which causes Berkeley DB to checkpoint quiescent database
      environments.
    
    CVS patchset: 5883
    CVS date: 2002/11/26 22:47:41

commit eb8d9ee37b8b285292baa8c0eca88d802891e295
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:45:05 2002 +0000

    Orphan.
    
    CVS patchset: 5882
    CVS date: 2002/11/26 22:45:05

commit cd993acac7d1791130b399add1c236f6d2bb91e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:44:47 2002 +0000

    - bundle libfmagic into librpmbuild for now.
    
    CVS patchset: 5881
    CVS date: 2002/11/26 22:44:47

commit a496b09106a0ba21cb5f5a24257879cc8fad201e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 26 22:34:21 2002 +0000

    Use glibc __progname convention (with retrofit) throughout.
    
    CVS patchset: 5880
    CVS date: 2002/11/26 22:34:21

commit 5b5c816a467e5826292e705893a8b3b15b7c23e3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 22 15:10:28 2002 +0000

    Add ppc64
    
    CVS patchset: 5879
    CVS date: 2002/11/22 15:10:28

commit 1b1882800cce7f271bebdb6d62a8b3f9c99baf26
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 22 14:58:21 2002 +0000

    Handle python disablement better by always passing --with-python/--without-python
    as appropriate.
    
    CVS patchset: 5878
    CVS date: 2002/11/22 14:58:21

commit 5d5c6b8f1ccf4fe46c6e4549f0fb3f30a2f79dec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 20 15:13:03 2002 +0000

    - use rpmdeps rather than find-{requires,provides}.
    
    CVS patchset: 5877
    CVS date: 2002/11/20 15:13:03

commit 22389abbd44af3376c4c86824a558eae412bc541
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 19 18:40:21 2002 +0000

    - add AC_SYS_LARGFILE throughout.
    - statically link rpmdeps against (internal) libfmagic.
    
    CVS patchset: 5876
    CVS date: 2002/11/19 18:40:21

commit 1c023424d7fb2de08293a5721e11ec4a909a04e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 19 15:07:08 2002 +0000

    Correct doxygen-1.2.18 warnings.
    
    CVS patchset: 5875
    CVS date: 2002/11/19 15:07:08

commit 47ce5c04fbafb31c46e8c4e59893c389bd6b6f3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 19 13:50:55 2002 +0000

    MOre annotations.
    
    CVS patchset: 5874
    CVS date: 2002/11/19 13:50:55

commit 78890a935a25bd98f7b9ebd70e1da8cd044c63cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 18 23:53:05 2002 +0000

    Print to private buffer, not stdout.
    Kill off ckfputs/ckfprintf.
    
    CVS patchset: 5873
    CVS date: 2002/11/18 23:53:05

commit a489262365e5b7b6af7ed1cbc191635a646d37ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 16 15:06:17 2002 +0000

    - fix: option conflict error message (#77373).
    
    CVS patchset: 5872
    CVS date: 2002/11/16 15:06:17

commit 362d1ae73fdfe76b07fba14a28b139048c8965e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 21:10:32 2002 +0000

    - resurrect availablePackages one more time.
    
    CVS patchset: 5871
    CVS date: 2002/11/15 21:10:32

commit 2dc6fe0505c2f8a5cbef51a32732b6f97dbfc898
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:34:44 2002 +0000

    Build -0.9.
    
    CVS patchset: 5870
    CVS date: 2002/11/15 18:34:44

commit fbd96006c48de87b8ae3194d10ffdf34bd3f9461
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:29:34 2002 +0000

    Apply patch.4.1.24.6:
    6.Fix a bug where Berkeley DB could overwrite incorrectly formatted files rather than returning an error to the application during open.
    
    CVS patchset: 5869
    CVS date: 2002/11/15 18:29:34

commit 0288c9fcfa151f293ff96ffe601aa04e3cb28d33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:28:43 2002 +0000

    Apply patch.4.1.24.5:
    5.Fix a bug where Hash databases could be corrupted on filesystems that do not zero-fill implicitly created blocks. This patch only needs to
         be applied for Berkeley DB applications running on such filesystems (for example, Windows/9X, QNX, VxWorks DosFS 1.0 and
         unpatched DosFS 2.2).
    
    CVS patchset: 5868
    CVS date: 2002/11/15 18:28:43

commit 0b18a15516f26eaab58c1d53abe0b4039e02dd6b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:28:01 2002 +0000

    Apply patch.4.1.24.4:
    4.Fix a bug where read-only databases were not mapped into memory but were instead read through the Berkeley DB buffer cache.
    
    CVS patchset: 5867
    CVS date: 2002/11/15 18:28:01

commit c0e27af8c5dc9d209854ca9170995622652fc30c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:27:07 2002 +0000

    Apply patch.4.1.24.3:
    3.Fix a link error ("GetLongPathNameA could not be located in the dynamic link library KERNEL32.dll") that prevented the Berkeley DB
         4.1.24 release from loading on some Windows/NT systems.
    
    CVS patchset: 5866
    CVS date: 2002/11/15 18:27:07

commit d3805810d30fb0a900ad73eb9104368ca2222641
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:26:16 2002 +0000

    Apply patch.4.1.24.2:
    2.Fix a bug where replicas could not remove log files because the checkpoint lsn was not being updated properly.
    
    CVS patchset: 5865
    CVS date: 2002/11/15 18:26:16

commit 94f365ca99d55f693e4a62437f71282cff08c60d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:25:24 2002 +0000

    Apply patch.4.1.24.1:
      1.Fix a bug which could cause database environment open to hang. This bug only affects encrypted Berkeley DB database environments,
         and the patch should only be applied to Berkeley DB releases including cryptographic support.
    
    CVS patchset: 5864
    CVS date: 2002/11/15 18:25:24

commit 5e12066479a49936f1a00a145c3262229a8cf8f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 15 18:01:47 2002 +0000

    - update to elfutils-0.56.
    - have debug sub-subpackage use external, not internal, elfutils.
    
    CVS patchset: 5863
    CVS date: 2002/11/15 18:01:47

commit 62d158f87b5fbae30a03c9594694b5fd52b3e21b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Nov 14 12:53:11 2002 +0000

    Patch from #77849
    
    CVS patchset: 5862
    CVS date: 2002/11/14 12:53:11

commit 15e18dcd5044086a4aee47a098ca6651b814f9b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 13 20:05:06 2002 +0000

    Initial revision
    
    CVS patchset: 5856
    CVS date: 2002/11/13 20:05:06

commit d0c70393b66be44289d235f4e3320e37e247908a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 13 19:57:19 2002 +0000

    Resolve conflicts.
    
    CVS patchset: 5855
    CVS date: 2002/11/13 19:57:19

commit 64b3c45688b005c01a0fe9b4e4edfa17addbc263
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 13 19:45:07 2002 +0000

    Initial revision
    
    CVS patchset: 5853
    CVS date: 2002/11/13 19:45:07

commit 8e53ee685acc6d2868c82279c427a58ea9dc5428
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 13 18:18:33 2002 +0000

    - fix: bash must have functional libtermcap.so.2.
    
    CVS patchset: 5850
    CVS date: 2002/11/13 18:18:33

commit 314d3fba1c40af3dc743f21ad3e85a5d5153e15b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 12 22:56:03 2002 +0000

    more debugging.
    
    CVS patchset: 5849
    CVS date: 2002/11/12 22:56:03

commit e87e61d32e06a03bc6db1d2be8f546f1791eb892
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 12 21:55:50 2002 +0000

    --rollback debugging (for now).
    
    CVS patchset: 5848
    CVS date: 2002/11/12 21:55:50

commit 937ba6c27ce37057fed550927e1f5c523475d33f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 12 20:09:04 2002 +0000

    Elfutils fiddles fo fix striptofile.
    
    CVS patchset: 5847
    CVS date: 2002/11/12 20:09:04

commit 4b68a64e6b866f54fd5f396605dc9a5ca63979bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 12 19:58:00 2002 +0000

    Sanity.
    
    CVS patchset: 5846
    CVS date: 2002/11/12 19:58:00

commit fd2febe30909b1919e7e8c5d7c2b5f9d3eae1c1e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 9 19:25:13 2002 +0000

    - add _javadir/_javadocdir/_javaclasspath macros.
    
    CVS patchset: 5845
    CVS date: 2002/11/09 19:25:13

commit 1d55aedd3f2f42b56fc2c1bb3880980f89181a89
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 8 22:48:30 2002 +0000

    Ignore generated files.
    
    CVS patchset: 5844
    CVS date: 2002/11/08 22:48:30

commit 0f9652535c818cd92489dbce3c44e777507b68bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 8 22:27:08 2002 +0000

    Sanity.
    
    CVS patchset: 5843
    CVS date: 2002/11/08 22:27:08

commit a83d336131ac2f993aacf6625bd2ded4775335fb
Author: Chip Turner <cturner@redhat.com>
Date:   Fri Nov 8 22:25:19 2002 +0000

    little bit closer to working on x86_64; allow -lbz2 to be forced on Makefile.PL
    
    CVS patchset: 5842
    CVS date: 2002/11/08 22:25:19

commit 3a6513ab13dad27e26d5b05707c2e1cd8bd6884a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 8 22:23:36 2002 +0000

    Regenerate libltdl autocrap.
    
    CVS patchset: 5841
    CVS date: 2002/11/08 22:23:36

commit b80cd0baa027dfc6a148e32ae918612e98b0aeb6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 16:00:54 2002 +0000

    Re-enable libcpu and libasm.
    
    CVS patchset: 5840
    CVS date: 2002/11/07 16:00:54

commit 8f9013cec58353997122b87df1931ddaf7fb1089
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 14:22:41 2002 +0000

    Revert x86_64 hacks.
    Update to latest config.{guess,sub}.
    
    CVS patchset: 5839
    CVS date: 2002/11/07 14:22:41

commit be3e76bc1dae0fe5a71502fd173b0ab07e343339
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 13:18:27 2002 +0000

    Resolve conflicts.
    
    CVS patchset: 5837
    CVS date: 2002/11/07 13:18:27

commit 9f5183ea6490c7859ecfb281af1097adad43fb48
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 13:18:27 2002 +0000

    Resolve conflicts.
    
    CVS patchset: 5836
    CVS date: 2002/11/07 13:18:27

commit d9fb627db673d01a4e3a483730fa60085df0c1d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 13:14:30 2002 +0000

    Initial revision
    
    CVS patchset: 5834
    CVS date: 2002/11/07 13:14:30

commit 6f04ed9f48258141f87dfa5e32884328107578ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 7 13:13:41 2002 +0000

    Libdwarf annotations.
    
    CVS patchset: 5832
    CVS date: 2002/11/07 13:13:41

commit cce908ec4ae567a93cb54bd605ba8c7d08382249
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 6 16:46:54 2002 +0000

    Upgrade to bsddb3 3.4.2, include db-4.1.17 fiddles.
    
    CVS patchset: 5829
    CVS date: 2002/11/06 16:46:54

commit 47b8b814681c26307b0599558634cadf96bcb5da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 5 23:08:19 2002 +0000

    splint fiddles.
    
    CVS patchset: 5828
    CVS date: 2002/11/05 23:08:19

commit 75d27753a7d589afce7bc4b3109fce96c30a09f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 5 23:00:34 2002 +0000

    Mostly tasteful/consistent splint annotations for libelf.
    
    CVS patchset: 5827
    CVS date: 2002/11/05 23:00:34

commit 10447b34d679a266a2e42e87776e4f41fcc936ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 5 22:49:32 2002 +0000

    Revert elf-knowledge.h hack.
    
    CVS patchset: 5826
    CVS date: 2002/11/05 22:49:32

commit 90d7f523997837adac14c77a9a61d405fcdf66e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 5 22:45:02 2002 +0000

    Remove multilib patch.
    splint fiddles.
    
    CVS patchset: 5825
    CVS date: 2002/11/05 22:45:02

commit e99358b753e1f8b12474e0b15097af79bf49cc8c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 26 14:43:43 2002 +0000

    - fix: permit build with --disable-nls (#76258).
    - add error message on glob failure (#76012).
    
    CVS patchset: 5821
    CVS date: 2002/10/26 14:43:43

commit 76cc00093491cab018afbdfe74cee7676159cd70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 25 16:46:37 2002 +0000

    Use internal elfutils, not libelf, includes.
    
    CVS patchset: 5819
    CVS date: 2002/10/25 16:46:37

commit 1cf7c12c53c65e1173e9ff4c48b5d9f74b8bb845
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 25 15:40:08 2002 +0000

    - rpm.8: gpg uses GNUPGHOME, not GPGPATH (#76691).
    
    CVS patchset: 5818
    CVS date: 2002/10/25 15:40:08

commit d65517beca09a6049052f82c7e55c63530489acc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 25 14:46:49 2002 +0000

    - fix: /dev/initctl has not MD5 segfault (#76718).
    
    CVS patchset: 5817
    CVS date: 2002/10/25 14:46:49

commit 6328dbbbf043ee08a7e5c1cbe880d03af60adca4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 24 21:42:57 2002 +0000

    Kill tfr.c, use rpmdeps.
    
    CVS patchset: 5816
    CVS date: 2002/10/24 21:42:57

commit 4cf0b35006a640b6d24284583aee283b0612121d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 24 21:41:24 2002 +0000

    Build 4.2-0.5.
    
    CVS patchset: 5815
    CVS date: 2002/10/24 21:41:24

commit e2b28faace3abc3f1962e6c54fdb5f4af797ebf1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 24 21:36:12 2002 +0000

    - add /usr/lib/rpm/rpmdeps.
    - add /usr/lib/rpm/magic.
    
    CVS patchset: 5814
    CVS date: 2002/10/24 21:36:12

commit dec92019981323fac040c4d73f553d9e6bd72dda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 24 18:33:09 2002 +0000

    Add stupid "()(64bit" markings.
    
    CVS patchset: 5813
    CVS date: 2002/10/24 18:33:09

commit acc814a6674319927a49d97e35925635fb4c7baa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 20:41:57 2002 +0000

    - elfutils: avoid gcc-3.2 ICE on x86_64 for now.
    
    CVS patchset: 5812
    CVS date: 2002/10/23 20:41:57

commit bd1235296294ef894ec7d4ddf3cb0407848a91d0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 20:34:52 2002 +0000

    - resurrect genhdlist "greased lightning" pathway for now.
    
    CVS patchset: 5811
    CVS date: 2002/10/23 20:34:52

commit d906129a9a26847f84c63724910b0e1a7f689df0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 16:28:08 2002 +0000

    Resolve conflicts.
    
    CVS patchset: 5810
    CVS date: 2002/10/23 16:28:08

commit 6aba3b12d016a37037164e4ee8152eed7412bf90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 16:20:17 2002 +0000

    Resolve conflict.
    
    CVS patchset: 5809
    CVS date: 2002/10/23 16:20:17

commit aecacb8eafa9d4958aa4251cc7f47597671e586c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 16:02:16 2002 +0000

    Initial revision
    
    CVS patchset: 5808
    CVS date: 2002/10/23 16:02:16

commit ad513051bd51228aa506e3d33adfff37d4d1eef7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 15:39:41 2002 +0000

    Initial revision
    
    CVS patchset: 5803
    CVS date: 2002/10/23 15:39:41

commit 30b650580233b357cc7e68e95accc9db4186e5b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 23 00:09:06 2002 +0000

    Upgrade to autoconf-2.54 and elfutils-0.51.
    
    CVS patchset: 5802
    CVS date: 2002/10/23 00:09:06

commit df88f7add5379ecd0482a7ea5b21d0b776d59fac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 22 23:54:26 2002 +0000

    Re-fiddle elfutils-0.51 autocrap for rpm.
    
    CVS patchset: 5801
    CVS date: 2002/10/22 23:54:26

commit 650e74822c968d7629a734ad18530e3fff97e81c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 22 23:43:54 2002 +0000

    Don't keep generated files.
    
    CVS patchset: 5800
    CVS date: 2002/10/22 23:43:54

commit 07e7163d3934ca6887758892671e2ec419a836d6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 22 23:01:12 2002 +0000

    Resolve conflicts.
    
    CVS patchset: 5799
    CVS date: 2002/10/22 23:01:12

commit 75ccbf4900b1dea10363e774337c522e45d01d2b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 22 22:52:08 2002 +0000

    Initial revision
    
    CVS patchset: 5798
    CVS date: 2002/10/22 22:52:08

commit f4890ceb80399e9400b801b7b7474be18ed38cd4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 21 23:25:02 2002 +0000

    Accurate dependencies generated, but perl deps are slow.
    
    CVS patchset: 5795
    CVS date: 2002/10/21 23:25:02

commit 1d123655af369d7b3f6a5d17606a04a8d2bd40b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 21 22:51:39 2002 +0000

    Attach per-interpreter namespace deps to files too.
    
    CVS patchset: 5794
    CVS date: 2002/10/21 22:51:39

commit a57d70b73526196d62300c7dacbd3106ecb2fa96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 21 21:07:58 2002 +0000

    Rationalize per-interpreter dependency generation.
    
    CVS patchset: 5793
    CVS date: 2002/10/21 21:07:58

commit 9f8af168ceda5737a8b6f83f7311d66e0ddcf21f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 21 19:29:23 2002 +0000

    Add per-interpreter perl dependencies.
    
    CVS patchset: 5792
    CVS date: 2002/10/21 19:29:23

commit 01360cd4be4bd9c467132ffe11719c8f81dd63e8
Author: Chip Turner <cturner@redhat.com>
Date:   Mon Oct 21 13:49:04 2002 +0000

    turn sigchecking off for now; bump version
    
    CVS patchset: 5791
    CVS date: 2002/10/21 13:49:04

commit e9e68be03a2965f0379e4eef1d60ff70eb2ef4a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 19 22:48:25 2002 +0000

    Functional ELF/SCRIPT dependency generation.
    
    CVS patchset: 5790
    CVS date: 2002/10/19 22:48:25

commit 4a77efce46d82f91c0539c3c012381ff20d0d2f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 18 18:45:47 2002 +0000

    - add debug sub-package patch.
    - re-add elfutils/libdwarf (for dwarf.h), eliminate tools/dwarf2.h.
    
    CVS patchset: 5789
    CVS date: 2002/10/18 18:45:47

commit 71f563826d0155b77165230cf90a2739d7d2f679
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 18 16:01:59 2002 +0000

    Debug package patch.
    
    CVS patchset: 5788
    CVS date: 2002/10/18 16:01:59

commit 81ff484d0ff37cc097d09540ea24e6577df92e41
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 18 14:57:10 2002 +0000

    Grab strings necessary for dependencies from ELF headers.
    
    CVS patchset: 5787
    CVS date: 2002/10/18 14:57:10

commit 5b92a57aa8f8a4aba49ba001ecce7cd117467af2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 17 19:33:37 2002 +0000

    First build of rpm-4.2.
    
    CVS patchset: 5786
    CVS date: 2002/10/17 19:33:37

commit 8bd4f7a79753e25140797d9f180f85cfb75072eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 17 19:26:43 2002 +0000

    Pare down to internal only libelf.
    
    CVS patchset: 5785
    CVS date: 2002/10/17 19:26:43

commit 8d3a42390ae9bbff92006fb473defb6b9f804006
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 16 20:37:01 2002 +0000

    print size_t appropriately.
    
    CVS patchset: 5784
    CVS date: 2002/10/16 20:37:01

commit 1cda81417cecea839fb6bf6778ec96ea8be88b0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 16 17:57:23 2002 +0000

    - dump libelf, gulp elfutils, for now.
    - python: permit headers to be hashed.
    - use %%{_lib} for libraries.
    - include file-3.39 (with homebrewed) libfmagic, for now.
    
    CVS patchset: 5783
    CVS date: 2002/10/16 17:57:23

commit 68568c5fe047c7eb767a3779436cee2775dde37a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 16 16:25:11 2002 +0000

    Include magic.mime.
    
    CVS patchset: 5782
    CVS date: 2002/10/16 16:25:11

commit 2782446f1e6e143beaf5df99ac635decb955b0d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 15 18:52:50 2002 +0000

    - python: permit headers to be hashed.
    
    CVS patchset: 5780
    CVS date: 2002/10/15 18:52:50

commit 538754111590cac7b699c19bca0da4953e2b7df4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 15 18:44:56 2002 +0000

    Create.
    
    CVS patchset: 5779
    CVS date: 2002/10/15 18:44:56

commit ada36102ab34ce7937dfddd49d2f60f4ccd9e3db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 15 18:44:16 2002 +0000

    Replace libelf with elfutils.
    
    CVS patchset: 5778
    CVS date: 2002/10/15 18:44:16

commit 8da8b70df8dbf3c83ae5c45c861f00856e35631a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 15 18:32:05 2002 +0000

    Clean up autocrud.
    
    CVS patchset: 5777
    CVS date: 2002/10/15 18:32:05

commit 4b652fc8259c1ab9d54e9a0d4348bbbdb5afca18
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 15 14:53:45 2002 +0000

    Initial revision
    
    CVS patchset: 5775
    CVS date: 2002/10/15 14:53:45

commit aab865e8473a06e0f9408daee27701931e896e50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 14 18:48:01 2002 +0000

    Classify images.
    
    CVS patchset: 5774
    CVS date: 2002/10/14 18:48:01

commit a0bdebee4dad4cae17a8585cf9be74fb7093a3c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 14 14:52:45 2002 +0000

    Spin mostly complete file classifier off to rpmfc.[ch].
    
    CVS patchset: 5773
    CVS date: 2002/10/14 14:52:45

commit 627873989525aa2c713a1a755d82b3ad79575d8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 13 14:39:21 2002 +0000

    Add argv.[ch].
    
    CVS patchset: 5772
    CVS date: 2002/10/13 14:39:21

commit 097ff145c9571f7ace5427f2409ef3804c95a131
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 13 13:53:07 2002 +0000

    Sanity.
    
    CVS patchset: 5771
    CVS date: 2002/10/13 13:53:07

commit 07a348e2e658be2a614b4f61bea916bde9c7564f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 12 18:35:29 2002 +0000

    anity.
    
    CVS patchset: 5770
    CVS date: 2002/10/12 18:35:29

commit d097ccae7c06bc351566b82be15998467d99f0de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 12 17:05:19 2002 +0000

    Remove CVS cruft.
    
    CVS patchset: 5769
    CVS date: 2002/10/12 17:05:19

commit 021532cd71ae0dad747f437563bd9f18a353c453
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 11 22:55:40 2002 +0000

    Cleanups.
    
    CVS patchset: 5768
    CVS date: 2002/10/11 22:55:40

commit c840ecba352f3149101d33a600b2c86eb15436a7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 11 21:35:37 2002 +0000

    Resurrect MULTILIB on the build side.
    
    CVS patchset: 5767
    CVS date: 2002/10/11 21:35:37

commit c176aaeca57a2d982619cc8e7fa8af6984dfb545
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 11 17:22:50 2002 +0000

    Fix s390 typo
    
    CVS patchset: 5765
    CVS date: 2002/10/11 17:22:50

commit 675393c450c3ff67aa6cdc63a5677047549c4393
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 10 22:48:21 2002 +0000

    Patch from 20021010.
    
    CVS patchset: 5764
    CVS date: 2002/10/10 22:48:21

commit 2cff374b93ee0c0ccf7a53b4394185ec4d8f9059
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 9 19:13:31 2002 +0000

    Add multilib platforms.
    
    CVS patchset: 5761
    CVS date: 2002/10/09 19:13:31

commit d0ccee051fd915b5ae34a9d8b31642255577bb2c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 9 19:07:43 2002 +0000

    - fix: use size_t consistently, avoid segfault on ia64.
    
    CVS patchset: 5760
    CVS date: 2002/10/09 19:07:43

commit e7c99cdec359357c3694bd12b9df6170a742be70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 7 10:26:43 2002 +0000

    Typos. pause with signals blocked ain't gonna work.
    
    CVS patchset: 5757
    CVS date: 2002/10/07 10:26:43

commit 868c27220d5ad94408829c36eff950fb46e898d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 7 09:05:06 2002 +0000

    lclint annotations.
    
    CVS patchset: 5756
    CVS date: 2002/10/07 09:05:06

commit 8e71e2cc310504228384d777607cb8fd9f6b76b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 6 05:55:24 2002 +0000

    db1 to db3 conversion program (Michael Schroeder <mls@suse.de>)
    
    CVS patchset: 5755
    CVS date: 2002/10/06 05:55:24

commit 9ff3ad0cae29caae061925192eedddfa0acf31b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 6 05:28:21 2002 +0000

    Add 64bit patch.
    
    CVS patchset: 5753
    CVS date: 2002/10/06 05:28:21

commit 00c78bd40c7328b315b68e777c259983a2ace16d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 4 21:52:11 2002 +0000

    Use error(3) if available, diddle up a replacement for those who have not.
    Hide stdout in fmagic, drill fmagic through the output routines.
    
    CVS patchset: 5752
    CVS date: 2002/10/04 21:52:11

commit b8751e90f613909e1da1c7909aa760699203b53a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 4 16:09:47 2002 +0000

    Make CFLAGS pickier.
    Eliminate is_tar() from the API by merging is_tar.c into ascmagic.c.
    Use buf/nb names consistently throughout.
    Carry mlist/fn/buf/nb/sb in fmagic (for now, a per-file structure is needed).
    
    CVS patchset: 5751
    CVS date: 2002/10/04 16:09:47

commit 3fec2112f7985602db97f6d156c334b84934ac2d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 3 22:07:30 2002 +0000

    Drill an opaque "fmagic" control structure through the API.
    Rename all functions to start with prefix "fmagic".
    
    CVS patchset: 5750
    CVS date: 2002/10/03 22:07:30

commit be3340d858f85c8e22260a1db0bd451c7e0e8ef4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 2 22:38:00 2002 +0000

    Collapse CLI flags into a single int.
    
    CVS patchset: 5749
    CVS date: 2002/10/02 22:38:00

commit 2dfa85a312b4dd70979f0cb9d559647db7a24426
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 2 19:00:31 2002 +0000

    Split CLI from libraries, create libfmagic.
    
    CVS patchset: 5748
    CVS date: 2002/10/02 19:00:31

commit 1c582f226dc0027f82fe76eff7da6771b54559aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 2 16:45:37 2002 +0000

    Add mcheck functionality throughout.
    
    CVS patchset: 5747
    CVS date: 2002/10/02 16:45:37

commit 74b6896952ae14dc3d46bcadeaf9290e7c6df951
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 2 13:47:39 2002 +0000

    Revert bogus ELF patch, enable automake dependencies.
    
    CVS patchset: 5746
    CVS date: 2002/10/02 13:47:39

commit 41f87d9dab616f18a072170e98ad2061bfa8b1df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 21:46:33 2002 +0000

    Sanity.
    
    CVS patchset: 5745
    CVS date: 2002/10/01 21:46:33

commit 6d294939a66d74418a36825f1936b4fe31f3a65e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 19:17:55 2002 +0000

    Apply patches from file-3.37-8.
    
    CVS patchset: 5744
    CVS date: 2002/10/01 19:17:55

commit 8a72493bda86309fb6590cafe6113fb4774f7f90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 19:03:37 2002 +0000

    dd system.h/debug.h, factor build conf into system.h.
    
    CVS patchset: 5743
    CVS date: 2002/10/01 19:03:37

commit bb6324de469b395a113cad0dcd0126af504c07dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 17:02:02 2002 +0000

    Reorder routines to eliminate static prototypes.
    
    CVS patchset: 5742
    CVS date: 2002/10/01 17:02:02

commit 69f31f57625896cad0bd54e5e35b53808d2c641c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 15:18:16 2002 +0000

    lclint fiddles.
    
    CVS patchset: 5741
    CVS date: 2002/10/01 15:18:16

commit 9e39ec258af280198beb131dc969b0386db536d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 1 11:16:54 2002 +0000

    lclint annotations.
    
    CVS patchset: 5740
    CVS date: 2002/10/01 11:16:54

commit 70a5bb4b789013428565c7722ae29bd4cb6ae490
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 30 23:37:47 2002 +0000

    Wrap in lclint.
    
    CVS patchset: 5739
    CVS date: 2002/09/30 23:37:47

commit 90f09149dbb0e7068cf37bf54f6ab401e018df3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 30 23:28:10 2002 +0000

    Update autocrap to latest.
    
    CVS patchset: 5738
    CVS date: 2002/09/30 23:28:10

commit 9fd8525a8b53609578216eec887c8876f36da236
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 30 21:45:34 2002 +0000

    Initial revision
    
    CVS patchset: 5732
    CVS date: 2002/09/30 21:45:34

commit 6d8b923dfb4182d49c74bae474fb1ff303a4bbd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 21 14:30:04 2002 +0000

    Convert to UTF-8.
    
    CVS patchset: 5731
    CVS date: 2002/09/21 14:30:04

commit 9e6dc0e00ec028a14812ba36fc781fb6e121bb3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 21:26:16 2002 +0000

    - eliminate myftw, use Fts(3) instead.
    
    CVS patchset: 5730
    CVS date: 2002/09/20 21:26:16

commit 56b4e83a2ee1ab40c7f92cfa4d962fcede4ef785
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 16:34:33 2002 +0000

    Add va_end to match va_copy (#74251).
    
    CVS patchset: 5729
    CVS date: 2002/09/20 16:34:33

commit 943bede39829b35cf4062bf86012141be64e7609
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 16:16:01 2002 +0000

    - update to db-4.1.24 final.
    
    CVS patchset: 5727
    CVS date: 2002/09/20 16:16:01

commit fbce9c0c31c4b3693baa43cc63b4585defa80fb4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 13:58:39 2002 +0000

    Orphans.
    
    CVS patchset: 5726
    CVS date: 2002/09/20 13:58:39

commit e07524eedbdf6fde6886c2258779582271187269
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 13:49:09 2002 +0000

    Orphans.
    
    CVS patchset: 5725
    CVS date: 2002/09/20 13:49:09

commit 728dd6394f7feda59405bd5255741b0e38d05d6d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 13:37:09 2002 +0000

    Orphans.
    
    CVS patchset: 5724
    CVS date: 2002/09/20 13:37:09

commit f15b4eca77a90fa3303955c386b5b6d134862ff8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 20 13:24:06 2002 +0000

    Create.
    
    CVS patchset: 5723
    CVS date: 2002/09/20 13:24:06

commit 2376437b8faec79eb8ccaa874f271d4ee69d276f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 19 21:06:40 2002 +0000

    Conflict resolved.
    
    CVS patchset: 5722
    CVS date: 2002/09/19 21:06:40

commit 4a15060bcbf38c550f7dcc86ceff277854f9eecf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 19 20:33:51 2002 +0000

    Initial revision
    
    CVS patchset: 5721
    CVS date: 2002/09/19 20:33:51

commit 0fd303f38a72c9a465081a7b1b9a77f7d181fd84
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 19 16:30:25 2002 +0000

    Check for orphan'ed chnages in rpm-4.1.
    
    CVS patchset: 5718
    CVS date: 2002/09/19 16:30:25

commit 3ea6dcbfe573ddbfad7a020f162c1dbc901564a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 17 18:52:26 2002 +0000

    Set %_arch to RPMCANONARCH.
    
    CVS patchset: 5716
    CVS date: 2002/09/17 18:52:26

commit 0ef682d77e28d4ab69e11b4c064acb195e061737
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 17 15:21:03 2002 +0000

    - lclint clean.
    
    CVS patchset: 5715
    CVS date: 2002/09/17 15:21:03

commit c1542ea2071d8c4086877587919eb7e4165c2b85
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 16 23:24:41 2002 +0000

    Another pgp parser fix.
    
    CVS patchset: 5713
    CVS date: 2002/09/16 23:24:41

commit 40726dd94f8d149a56b9ccf0ddf1615a710ed0ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 16 20:10:20 2002 +0000

    Sync with rpm-4.1 parsing changes.
    
    CVS patchset: 5711
    CVS date: 2002/09/16 20:10:20

commit d50a43910123440fafa18b3bd90952f4d312a215
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 16 13:17:30 2002 +0000

    The char array 'format' sometimes get 10 characters and when
    strcpy is done on it, strcpy tries to add a '/0' to it beyond
    the capacity. Not sure why, but, the const char *ch gets bad
    address. Anyway, format should be atleast 11 chars to accommodate
    strings like "%.34s\n%42s" and a terminating '\0'.
    
    CVS patchset: 5708
    CVS date: 2002/09/16 13:17:30

commit d63a81d8f060c7eb73f170cdb9a5e38549d957f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 4 18:14:08 2002 +0000

    Don't mess with uint32_t, breaks on 6.x.
    
    CVS patchset: 5706
    CVS date: 2002/09/04 18:14:08

commit 77ec71122fbacfc073c52196b953c69e26c37869
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 4 18:08:12 2002 +0000

    - fix: register SIGCHLD handler before forking (#73134).
    
    CVS patchset: 5704
    CVS date: 2002/09/04 18:08:12

commit dfdb8d487f84e43df3e18143e0ac13f70d742a25
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Sep 4 15:18:02 2002 +0000

    store the filename used to read the RPM into the header object
    
    CVS patchset: 5702
    CVS date: 2002/09/04 15:18:02

commit 0c09564b83f14b62ac73cbac18a218a7613aa33d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 4 01:52:26 2002 +0000

    - fix: parse header data more carefully.
    
    CVS patchset: 5701
    CVS date: 2002/09/04 01:52:26

commit 56b3772145de71568a14366f55ffa83a5b507dac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 3 20:15:20 2002 +0000

    - fix: parse pgp packets more carefully.
    
    CVS patchset: 5699
    CVS date: 2002/09/03 20:15:20

commit f19f373a59e4728fd7a3132eedd75973b99fe447
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 3 12:23:51 2002 +0000

    - fix: always do rpmalMakeIndex.
    - fix: resurrect --triggers (#73330).
    - python: typo in NOKEY exception string.
    
    CVS patchset: 5696
    CVS date: 2002/09/03 12:23:51

commit cc5d229b0e7a13f4d9efac2aed5926a0078df48c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 31 22:39:34 2002 +0000

    Sync with rpm-4.1.
    
    CVS patchset: 5695
    CVS date: 2002/08/31 22:39:34

commit 929d5d38346273dbdaf20e5ceb3b1687405676af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 27 22:19:44 2002 +0000

    - requirement on libelf >= 0.8.2 to work around incompatible soname (#72792).
    
    CVS patchset: 5686
    CVS date: 2002/08/27 22:19:44

commit 02f9006732201e863d51ce0c170c9c29edaaa364
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 27 20:50:21 2002 +0000

    - fix: segfault with --checksig, plug memory leak (#72455).
    - rpm-4.1 release candidate.
    
    CVS patchset: 5684
    CVS date: 2002/08/27 20:50:21

commit ab5c7289be52e7798ed0e7ed624dc25d22355641
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 27 13:52:23 2002 +0000

    xmlspec-20020827.diff
    
    CVS patchset: 5679
    CVS date: 2002/08/27 13:52:23

commit 8df2a575d6d514b796bd2c8c7b5ea1fa5147deb1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 19:11:56 2002 +0000

    ... in with the new C implementation.
    
    CVS patchset: 5676
    CVS date: 2002/08/26 19:11:56

commit b2483edf46d2a3f3f648bc08e428e93c6be5033a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 19:10:29 2002 +0000

    Out with the old C++ implementation ...
    
    CVS patchset: 5675
    CVS date: 2002/08/26 19:10:29

commit 0fae1010f0c9a563ea79a01d82eea80e7e8f7ece
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 18:56:11 2002 +0000

    - set cachesize without a dbenv, the default is far too small.
    - db: don't return EACCES on db->close w/o environment.
    - unify cachesize configuration, with (or without) a dbenv.
    - comments regarding unsupported (yet) db-4.1.17 functionality.
    
    CVS patchset: 5674
    CVS date: 2002/08/26 18:56:11

commit 85a70389f6797877fea23b2d2bfe1c0a8acbce6c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 17:56:32 2002 +0000

    - python: don't remap NOKEY/UNTRUSTED to OK.
    - beecrypt: change local absolute symbols to defines for prelinking.
    - update ru.po.
    
    CVS patchset: 5673
    CVS date: 2002/08/26 17:56:32

commit 224b8c70028460c0a3cc9be001171d3a89b1cb32
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 17:51:39 2002 +0000

    Update ru.po.
    
    CVS patchset: 5672
    CVS date: 2002/08/26 17:51:39

commit 4914b096245af88592888170a442c099c35d891f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 17:42:39 2002 +0000

    - python: don't remap NOKEY/UNTRUSTED to OK.
    
    CVS patchset: 5671
    CVS date: 2002/08/26 17:42:39

commit f267c44df61796a672a073deef85cfb1c907f72c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 26 17:41:55 2002 +0000

    - beecrypt: change local absolute symbols to defines for prelinking.
    
    CVS patchset: 5670
    CVS date: 2002/08/26 17:41:55

commit f5a546f5801067dd922aa83e7d78e8e59c84e738
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 23 21:01:59 2002 +0000

    - merge signature returns into rpmRC.
    - python: exceptions on NOKEY/NOTTRUSTED.
    
    CVS patchset: 5667
    CVS date: 2002/08/23 21:01:59

commit 4e245109ad54513ec5563b4292cce64f90482ed6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 23 17:27:14 2002 +0000

    Auto-update by eugene@ultra.net
    
    CVS patchset: 5665
    CVS date: 2002/08/23 17:27:14

commit 31257878fc63d2daab066a08bce46919bd4a5609
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 23 17:17:33 2002 +0000

    Auto-update by eugene@ultra.net
    
    CVS patchset: 5664
    CVS date: 2002/08/23 17:17:33

commit 90b34cd4e51de9b69a1a1e4bf58fcee31c2bf192
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 22 19:21:14 2002 +0000

    - add a macro to create a sub-package with debugging symbols.
    
    CVS patchset: 5662
    CVS date: 2002/08/22 19:21:14

commit 9db12e8040c6bc6700a9a1c88e7724c11c43f892
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 22 16:34:51 2002 +0000

    Update popt internal copyright messages.
    
    CVS patchset: 5659
    CVS date: 2002/08/22 16:34:51

commit 1467c44c734f7953213e5d3dbebf9b09c7f2d74d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 22 12:57:17 2002 +0000

    - fix: don't stop if db1 database is currently in /var/lib/rpm (#72224).
    
    CVS patchset: 5656
    CVS date: 2002/08/22 12:57:17

commit 9e06e3b8ca76ae55eaf2c4e37ba9cac729789014
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 22 00:37:21 2002 +0000

    - fix: region trailer offset sanity check wrong (#71996).
    
    CVS patchset: 5654
    CVS date: 2002/08/22 00:37:21

commit b6b6612cfa451a62839e45b69423eb1a16a03f57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 20 22:05:18 2002 +0000

    - check for interrupt during iteration.
    - python: add ts.setProbFilter() method, remove ts.run() argument.
    
    CVS patchset: 5652
    CVS date: 2002/08/20 22:05:18

commit 46d1fa7527073148293e8a49ed13c80043758dae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 20 14:56:37 2002 +0000

    - fix: add epoch to "already installed" check.
    
    CVS patchset: 5650
    CVS date: 2002/08/20 14:56:37

commit fb8ced897951d9376c10e2121eded06ec81e0599
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 20 13:39:31 2002 +0000

    - python: supid typo broke ts.check().
    
    CVS patchset: 5648
    CVS date: 2002/08/20 13:39:31

commit ae8428475cbfde3af746d51a056e0655fe6269d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 19 22:27:44 2002 +0000

    - add --with-efence to configure, check install/upgrade with efence.
    - beecrypt: short hex string conversion overflows target buffer.
    - mark "successors only" packages in transaction.
    - reap scriptlets with SIGCHLD handler.
    - rename PSM_t to rpmpsm, add methods and refcounts to manage.
    - remove %%configure/%%makeinstall from arch-os/macros, default is OK.
    - don't export MALLOC_CHECK_ to scriptlets.
    - squeaky clean memory leak checking.
    - always malloc rpmfi structure, refcounts are correct in rpmtsRun().
    - skip redundant /sbin/ldconfig scripts on upgrade (if possible).
    
    CVS patchset: 5645
    CVS date: 2002/08/19 22:27:44

commit 105f7a517cd13b7c40b359548a9c75cbd00ed9c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 15 22:25:33 2002 +0000

    hp-ux: ETXTBSY fiddles.
    
    CVS patchset: 5642
    CVS date: 2002/08/15 22:25:33

commit c7881d801745b4c156a8aa2afc17b95f97481e34
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 15 18:50:46 2002 +0000

    - python: explicit method to set transFlags.
    - python: stuff package name into a string for repackage callbacks.
    - rollback: re-create empty transaction set for multiple rollbacks.
    - fix: %%basename typo (Dmitry V. Levin<ldv@altlinux.org>).
    - fix: queryformat segfaults (Dmitry V. Levin<ldv@altlinux.org>).
    
    CVS patchset: 5639
    CVS date: 2002/08/15 18:50:46

commit 622e40678461d27bc8f8b45061bdc4d866a8bdf2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 21:35:35 2002 +0000

    Update to db-4.1.17.
    
    CVS patchset: 5636
    CVS date: 2002/08/14 21:35:35

commit 2a3235eb27dccdd51b6a4e113c22fe219edef0c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 19:38:59 2002 +0000

    db-4.1.17 orphans.
    
    CVS patchset: 5635
    CVS date: 2002/08/14 19:38:59

commit 41d4fce5c44bed0df416eac8f24f31240a391b22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 19:19:13 2002 +0000

    db-4.1.17 orphans.
    
    CVS patchset: 5634
    CVS date: 2002/08/14 19:19:13

commit 372fe8d762b5d501f546e37996d5e5e9185ba558
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 18:47:29 2002 +0000

    db-4.1.17 orphans.
    
    CVS patchset: 5633
    CVS date: 2002/08/14 18:47:29

commit 8faf9d1ea6d5743be84b20e509d52bab283ece71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 17:31:52 2002 +0000

    db-4.1.17 orphans.
    
    CVS patchset: 5632
    CVS date: 2002/08/14 17:31:52

commit 4aac97a69fb764add274089dbc7a1c5bd02c59c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 16:42:12 2002 +0000

    db-4.1.17 orphans.
    
    CVS patchset: 5631
    CVS date: 2002/08/14 16:42:12

commit d481ba55c02407124c499c7800ea556786137bc5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 16:31:49 2002 +0000

    Initial revision
    
    CVS patchset: 5630
    CVS date: 2002/08/14 16:31:49

commit 9114d6ffea4ee330874ebc8febe225ce0e891eac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 14 14:48:04 2002 +0000

    - fix: rebuilddb stat'ed target, not source, for rename sanity, take 2.
    
    CVS patchset: 5627
    CVS date: 2002/08/14 14:48:04

commit ee6c74d4c244b4d19372d119ad61a9116dcde07d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 13 21:30:18 2002 +0000

    Avoid DB_RECOVER deadlock (#70362).
    
    CVS patchset: 5626
    CVS date: 2002/08/13 21:30:18

commit 48a2529ce4b3ab1f677d3de9b70e8cbe14d910c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 13 20:40:32 2002 +0000

    - fix: rebuilddb stat'ed target, not source, for rename sanity.
    - create /var/lib/rpm if non-existent in, say, a chroot.
    - erased packages are now repackaged into /var/spool/repackage.
    
    CVS patchset: 5625
    CVS date: 2002/08/13 20:40:32

commit 9b29055f422cd5f2aeff27b6c80e7c83317920c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 13 16:36:44 2002 +0000

    - supply transitive closure for CLI packages from rpmdb-redhat database.
    
    CVS patchset: 5624
    CVS date: 2002/08/13 16:36:44

commit f34283307b084d1baf8ac598d2053f914fd0ce3f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 11 17:17:55 2002 +0000

    Re-add the POPT_ keywod to xgettext text extraction.
    
    CVS patchset: 5623
    CVS date: 2002/08/11 17:17:55

commit 398a66a90db88547613f6df9589e3d554aa4c470
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 10 17:51:29 2002 +0000

    Make rpmpopt text available for translation.
    
    CVS patchset: 5622
    CVS date: 2002/08/10 17:51:29

commit 644401875d02f4fad5e8e5a004aa9bd08153ba84
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 9 23:14:10 2002 +0000

    - python: include instance in IDTXload, filename in IDTXglob, return
    - python: argument to ts.addErase (if integer) deletes that instance.
    - python: rpmmi methods to return this instance, and number of members.
    
    CVS patchset: 5620
    CVS date: 2002/08/09 23:14:10

commit 7937158c01c71774eb5872f742a9d9c771df5b79
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 9 22:25:04 2002 +0000

    - python: add (optional) ts.check() callback.
    
    CVS patchset: 5619
    CVS date: 2002/08/09 22:25:04

commit c961f3f78e34e77989f603dcdd92e269bbe15546
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 8 22:20:26 2002 +0000

    - python: add return codes for rollbacks and fooDB methods.
    - avoid generating fingerprints for locale/zoneinfo sub-directories.
    
    CVS patchset: 5618
    CVS date: 2002/08/08 22:20:26

commit 4d8ebc7c664ff4bbc30d14c8a1350bf54e729ac7
Author: Chip Turner <cturner@redhat.com>
Date:   Thu Aug 8 21:38:59 2002 +0000

    fix doc typo
    
    CVS patchset: 5617
    CVS date: 2002/08/08 21:38:59

commit 8578aab9a720afac5a8c16750290f86babef6607
Author: Chip Turner <cturner@redhat.com>
Date:   Thu Aug 8 20:48:36 2002 +0000

    remove some spurious warnings, clean up some ambiguities
    
    CVS patchset: 5616
    CVS date: 2002/08/08 20:48:36

commit 6106bdb3594e9236854f09b25f2c88c868799fda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 8 16:06:13 2002 +0000

    lclint fiddles.
    
    CVS patchset: 5615
    CVS date: 2002/08/08 16:06:13

commit acfdb7fd57bea6322f922193faf04986e06c6d04
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 7 23:19:10 2002 +0000

    Remove hdrVerifyFile, unusable as was (#58576).
    
    CVS patchset: 5614
    CVS date: 2002/08/07 23:19:10

commit fc4fc1fe2762c24bb8e44374ccca5dd0260a4e89
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 7 21:55:43 2002 +0000

    Round correctly so that progress bars complete to 100%.
    
    CVS patchset: 5613
    CVS date: 2002/08/07 21:55:43

commit 926661cbc2c8a4ae75aadc6cce4fd01446339e1e
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Aug 7 17:05:35 2002 +0000

    return RPM 4.0 support... sort of
    
    CVS patchset: 5612
    CVS date: 2002/08/07 17:05:35

commit e98f4606b09742b6b23e3e863451d417d74f5219
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Aug 7 16:21:31 2002 +0000

    version bump
    
    CVS patchset: 5611
    CVS date: 2002/08/07 16:21:31

commit ddec1f33d559bad09493dfd24175e0f10ebd1a96
Author: Chip Turner <cturner@redhat.com>
Date:   Wed Aug 7 16:08:45 2002 +0000

    port 4.1 branch to this branch
    
    CVS patchset: 5610
    CVS date: 2002/08/07 16:08:45

commit d0f22dcaa2bf996bfb7c1ca06a7126fce2d43c36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 7 14:20:45 2002 +0000

    Teach unzip about %setup -q.
    
    CVS patchset: 5609
    CVS date: 2002/08/07 14:20:45

commit 9f11b31f6b92f04636ce1eaa8eef1e3624d854e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 7 13:47:59 2002 +0000

    - fix: src.rpm installs need fd pos at payload.
    
    CVS patchset: 5608
    CVS date: 2002/08/07 13:47:59

commit d0905ecafb429f32ec76b61617eb732027455c5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 6 19:07:37 2002 +0000

    - python: bindings to import pubkeys and display openpgp packets.
    
    CVS patchset: 5605
    CVS date: 2002/08/06 19:07:37

commit 035cf961d56c884708902652175070de31e45a57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 6 01:41:44 2002 +0000

    - add bitmask for precise control of signature/digest verification.
    
    CVS patchset: 5604
    CVS date: 2002/08/06 01:41:44

commit 5211039a20762b4a50c006ccf79666bff34967c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 5 21:46:50 2002 +0000

    - python: the death of rpmdb-py.[ch], use ts.fooDB() methods instead.
    - python: the death of rpm.headerFromPackage(), use ts.hdrFromFdno().
    - python: permit direct ts.dbMatch() python iterations.
    - python: the death of rpm.checksig(), use ts.hdrFromFdno() instead.
    
    CVS patchset: 5603
    CVS date: 2002/08/05 21:46:50

commit bd5ee7affaa5f350c03fba20952b7a16e1311c4e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 5 19:45:52 2002 +0000

    - fix: check for lead magic, better error message on failure (#69751).
    
    CVS patchset: 5602
    CVS date: 2002/08/05 19:45:52

commit b8656c52ed8d856e0b744f35488b3c5ec0b023e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 5 18:40:58 2002 +0000

    - python: enable threads on callbacks and longish rpmlib calls.
    - python: expose RPMTAG_SOURCEPACKAGE to identify source headers.
    - python: eliminate headerFromPackage() tuple return, deprecated.
    - python: add ts.hdrFromFdno(fdno) method.
    
    CVS patchset: 5601
    CVS date: 2002/08/05 18:40:58

commit 3a99677e951529022c50d866593035558e449825
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 5 16:25:39 2002 +0000

    - python: bare bones rollback bindings.
    
    CVS patchset: 5600
    CVS date: 2002/08/05 16:25:39

commit 71327238150d689f0b4cfe7be8cd8addb0ccc78a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 4 19:58:12 2002 +0000

    - add --predefine to define macros before reading macro configuration.
    
    CVS patchset: 5599
    CVS date: 2002/08/04 19:58:12

commit ae3511bfa5f33adcb37f32704c65d8c85e810dda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 4 19:04:16 2002 +0000

    - fix: don't repackage %%ghost files.
    
    CVS patchset: 5598
    CVS date: 2002/08/04 19:04:16

commit de0ff3b553d9f1b44c73b378637544ed6092df1e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 4 16:55:55 2002 +0000

    - resurrect --rollback.
    - renumber the callback types to be an orthogonal bit mask.
    - provide repackage progress callbacks, compression is slow.
    
    CVS patchset: 5597
    CVS date: 2002/08/04 16:55:55

commit 00375ca2bf6017f6fb652558776fb588e9df142f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 3 22:31:39 2002 +0000

    Remove dbi_tear_down, now that rpmdb's are closed on signals.
    lclint fiddles.
    
    CVS patchset: 5596
    CVS date: 2002/08/03 22:31:39

commit f5c9fd111bf2d68bff373738310bfc355577233b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 2 21:52:01 2002 +0000

    - check header blobs on export (i.e. rpmdbAdd())..
    - enable iterator header blob checks for install/erase modes.
    - python: _vsflags_up2date macro to configure verify signature flags.
    
    CVS patchset: 5595
    CVS date: 2002/08/02 21:52:01

commit 78fafefc38e1176e747c3453393bffa3f7f5c551
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 2 16:46:02 2002 +0000

    Sanity.
    
    CVS patchset: 5594
    CVS date: 2002/08/02 16:46:02

commit 31e9a0f278402dd5243bbb6c38d03080073836b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 2 16:39:55 2002 +0000

    - fix: signed pubkeys were imported incorrectly (#68291).
    - include tgpg script to verify signatures using only gpg.
    
    CVS patchset: 5593
    CVS date: 2002/08/02 16:39:55

commit 4a58c73baa5212da005a5192f60a77fdfa8601ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 2 14:10:33 2002 +0000

    - fix: repair --root with --verify (#70527).
    
    CVS patchset: 5592
    CVS date: 2002/08/02 14:10:33

commit b2480c3ded1975563f793a846919f3078098d764
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 2 12:49:27 2002 +0000

    - fix: identify athlon with 3DNOWEXT as "athlon", not "i786" (#70539).
    
    CVS patchset: 5591
    CVS date: 2002/08/02 12:49:27

commit d8eaee30df6d1e4f53dfa34ec11bafeccfc27642
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 1 21:20:26 2002 +0000

    - preserve rpmdb file attributes across --rebuilddb (#70367).
    
    CVS patchset: 5590
    CVS date: 2002/08/01 21:20:26

commit 77dadc40f449c789c53ebd7a23cb34db7c54c94a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 1 20:21:40 2002 +0000

    Sanity.
    
    CVS patchset: 5589
    CVS date: 2002/08/01 20:21:40

commit 4605223103a20504192cefad16a6cb11e1decce7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 1 18:37:17 2002 +0000

    - python: methods to disable all new features for benchmarking.
    
    CVS patchset: 5588
    CVS date: 2002/08/01 18:37:17

commit 1d1b33527129384685997c1ad5954d61988d42ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 31 19:41:32 2002 +0000

    - change from default off to default on.
    
    CVS patchset: 5587
    CVS date: 2002/07/31 19:41:32

commit b297e9e63c2790f11b8a4ca0bd4225d896fca1be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 31 18:27:53 2002 +0000

    - configurable (default off) build failure iff unpackaged files (PLD).
    
    CVS patchset: 5586
    CVS date: 2002/07/31 18:27:53

commit bcacb6d74552ba608320a444974508794ac3ca4e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 31 15:13:46 2002 +0000

    Carry PLD scripts/configuration for perl/python/php in rpm sources.
    
    CVS patchset: 5585
    CVS date: 2002/07/31 15:13:46

commit 8ab4727f8cc8806021377729383652c31808f215
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 31 13:11:25 2002 +0000

    - make --querytags a common option, fix errant regex (#70135).
    - db3: increase mpool and cachesize, compile w/o --enable-debug.
    
    CVS patchset: 5584
    CVS date: 2002/07/31 13:11:25

commit 33e9f2c0d285bb854c6c7ce8842063485878342f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 30 21:37:10 2002 +0000

    - prevent stale locks in __db files by closing databases on signals.
    
    CVS patchset: 5583
    CVS date: 2002/07/30 21:37:10

commit 06b3f0c2061b989347240cd6644206c5b429b190
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 30 17:07:39 2002 +0000

    installplatform clean up, add athlon (PLD).
    
    CVS patchset: 5582
    CVS date: 2002/07/30 17:07:39

commit f32db08a31ae8925fd6f05354e598635a978c171
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 30 16:39:08 2002 +0000

    - detect athlon/duron with CMOV (PLD).
    
    CVS patchset: 5581
    CVS date: 2002/07/30 16:39:08

commit f0ba06b85a4875254f6f4abda86e2310de93a0e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 29 23:13:54 2002 +0000

    Remove debugging printf.
    
    CVS patchset: 5580
    CVS date: 2002/07/29 23:13:54

commit c27ac5773527e6bdf58606313130fbd454915a57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 29 23:08:02 2002 +0000

    Orphans.
    
    CVS patchset: 5579
    CVS date: 2002/07/29 23:08:02

commit c8502fbab503982d95f49141c0a7fa305c750e90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 29 23:06:06 2002 +0000

    - update trpm.
    - factor all mode-specific options into mode-specific tables.
    - treat an unspecified epoch as Epoch: 0 everywhere.
    
    CVS patchset: 5578
    CVS date: 2002/07/29 23:06:06

commit 5a1ebaccd57b157b70bcd1277f66c5d97e94edf1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 28 14:52:33 2002 +0000

    - python: don't segfault in ts.GetKeys() on erased packages.
    resurrect build modes.
    add undocumented debugging options.
    
    CVS patchset: 5577
    CVS date: 2002/07/28 14:52:33

commit 670ab1c845c0f5f9d252b4599186b4934d20c4b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 28 00:41:15 2002 +0000

    - popt: display sub-table options only once on --usage.
    - wire --nosignatures et al as common options, rework CLI options.
    
    CVS patchset: 5575
    CVS date: 2002/07/28 00:41:15

commit c33342be5f9bcf69e6967db5c196b6ba32326694
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 25 23:36:32 2002 +0000

    - fix: --repackage repaired (#67217).
    - fix: rpm2cpio disables signature checks (i.e. same behavior).
    
    CVS patchset: 5574
    CVS date: 2002/07/25 23:36:32

commit e03b4bf8602b591e75c9d85fda69c49ba89c9ffb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 25 18:50:08 2002 +0000

    - popt: fix --usage (#62234).
    
    CVS patchset: 5573
    CVS date: 2002/07/25 18:50:08

commit e5761bc7250ea40c2e439b481ee1edcb5630a0a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 25 17:26:12 2002 +0000

    Orphan.
    
    CVS patchset: 5572
    CVS date: 2002/07/25 17:26:12

commit 2881b1bb53f7bec6bfdd84d22b99ac2c1fe58902
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 25 17:03:11 2002 +0000

    - python: remove the old initdb/rebuilddb methods, use ts.fooDB().
    - python: 1st crack at backport to 1.5.2.
    
    CVS patchset: 5571
    CVS date: 2002/07/25 17:03:11

commit 81fef9848051e5068694cde9b3c2be743d5a93e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 25 00:13:25 2002 +0000

    - python: add ts.hdrCheck(), ts.rebuildDB() methods.
    - python: iterating on an ts object returns transaction elements now.
    - add yellowdog as vendor.
    
    CVS patchset: 5570
    CVS date: 2002/07/25 00:13:25

commit c4f6f42f9458f0b20f16138ddc6f91f201c6ef03
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 24 18:52:22 2002 +0000

    - fix: segfault if given a text file as 2nd arg to -Uvh (#69508).
    
    CVS patchset: 5569
    CVS date: 2002/07/24 18:52:22

commit ede1f445e09895daee8bce8a2ddc9200839ee5de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 24 16:21:23 2002 +0000

    - verify signatures/digests retrieved through rpmdbNextIterator().
    - imbue %ghost with missingok attribute with --verify (#68933).
    
    CVS patchset: 5568
    CVS date: 2002/07/24 16:21:23

commit 6540da425629bf45020047214b81e156c62c7d7b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 22:37:14 2002 +0000

    fix: Header SHA1 was giving false positive.
    
    CVS patchset: 5567
    CVS date: 2002/07/21 22:37:14

commit 6af194ed8eae2111a296a7b400a229f0df336a2b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 22:06:19 2002 +0000

    - add methods to make signature handling opaque wrto rpmts.
    
    CVS patchset: 5566
    CVS date: 2002/07/21 22:06:19

commit c2ffec4c6ff43026abea088a36360fbacfc80282
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 14:23:20 2002 +0000

    Remove obsolete files.
    
    CVS patchset: 5565
    CVS date: 2002/07/21 14:23:20

commit 6eecde7ae6ef5e39945054716e4d69e77378ff8d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 14:20:41 2002 +0000

    Update to gettext-0.11.2-3 intl contents.
    
    CVS patchset: 5564
    CVS date: 2002/07/21 14:20:41

commit 22016eccf09b1b396a3c536afc8c0b9e1afe1c62
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 14:18:04 2002 +0000

    Update to gettext COPY.LIB-2.1
    
    CVS patchset: 5563
    CVS date: 2002/07/21 14:18:04

commit 6bb9e27c57b31bc4634c15ddaa118e2202248e51
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 21 14:17:23 2002 +0000

    Update to gettext/intl license.
    
    CVS patchset: 5562
    CVS date: 2002/07/21 14:17:23

commit 293a81e2590888951a1341341eb3ff034b8a0406
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 20 21:07:31 2002 +0000

    - version added to *.la dependency libraries (#69063).
    - expose digests in rpmio API, but hide internal beecrypt API (#68999).
    
    CVS patchset: 5561
    CVS date: 2002/07/20 21:07:31

commit bfb8488c10a5dfccbcb7c556408b300f8901cd88
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 20 19:02:40 2002 +0000

    - popt: parse file into string of options (#56860).
    
    CVS patchset: 5560
    CVS date: 2002/07/20 19:02:40

commit c499cd119c15536c0d4742077fa8c73fa92dace6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 19 20:26:38 2002 +0000

    Remove foo.iter() method, use tp_iter mechanism, for rpmmi/rpmds/rpmfi.
    
    CVS patchset: 5559
    CVS date: 2002/07/19 20:26:38

commit 6c4025a55b46c33c8eaffe21b942aeb83fe08a3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 18 21:42:18 2002 +0000

    up2date functional on rpm-python-4.1 bindings.
    
    CVS patchset: 5558
    CVS date: 2002/07/18 21:42:18

commit 1adc12b6875596843ec98d3849206aefdc4d5679
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 15 21:15:22 2002 +0000

    Clarify intl licensing.
    
    CVS patchset: 5555
    CVS date: 2002/07/15 21:15:22

commit 3ea74aa3c7203c10ad97326778e22b1e654eefc7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 14 21:23:29 2002 +0000

    - python: sanity check fixes on rpmts/rpmte methods.
    
    CVS patchset: 5554
    CVS date: 2002/07/14 21:23:29

commit 8caf68303188699c1a1d9499c53a43794a86d922
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 13 19:54:36 2002 +0000

    - teach gendiff about unreadable files (#42666).
    
    CVS patchset: 5553
    CVS date: 2002/07/13 19:54:36

commit fa1098b41069d66a3c7b6ba2bc07dba945ebc850
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 13 19:32:42 2002 +0000

    Use ${MAKE}, not make, for portability.
    
    CVS patchset: 5552
    CVS date: 2002/07/13 19:32:42

commit 425a2d3783c62095bfa76f1b3d901b42069b1ab6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 13 19:18:43 2002 +0000

    - popt: mingw32 portability configure check (#67911).
    
    CVS patchset: 5551
    CVS date: 2002/07/13 19:18:43

commit 261b4a2ecbc7b4ccef094490c74e90f8cfdacfff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 13 19:08:51 2002 +0000

    - install rpmal.h and rpmhash.h, implicit rpmps.hinclude, for now.
    - revert headerFree/headerLink/headerUnlink debugging.
    
    CVS patchset: 5550
    CVS date: 2002/07/13 19:08:51

commit b9df0c51e490b2a2e158a8525d7753cb1fe1bc6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 12 21:59:20 2002 +0000

    - skip signing packages already signed with same key (#62118).
    
    CVS patchset: 5549
    CVS date: 2002/07/12 21:59:20

commit 4f819b92d4d81d8d14fd0027bdf7486acff8fe23
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 12 20:29:35 2002 +0000

    Fix format translations (#68708).
    
    CVS patchset: 5548
    CVS date: 2002/07/12 20:29:35

commit d132234000940b4c7b0f1d91ec8f8c27f184914c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 12 19:09:09 2002 +0000

    - display signature details using rpm -qi
    
    CVS patchset: 5547
    CVS date: 2002/07/12 19:09:09

commit 1bf723fca490b598fa289ddcd437bc61c87d4ef4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 11 21:47:51 2002 +0000

    - update for sv.po.
    
    CVS patchset: 5545
    CVS date: 2002/07/11 21:47:51

commit 1bbc4b2c373811287f7f199f38485eb9e394939f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 11 16:44:55 2002 +0000

    - fix: repair 2ndary match criteria with rpmdb iterators.
    
    CVS patchset: 5544
    CVS date: 2002/07/11 16:44:55

commit f0ad50e2669da6cedcec2c193cc9783cf63091a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 9 15:35:57 2002 +0000

    - placeholders for manifest constants for SuSE patch packages.
    
    CVS patchset: 5543
    CVS date: 2002/07/09 15:35:57

commit 241fad12870c58bd76468267f2816d409dbc7e57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 8 14:21:26 2002 +0000

    Propagate splint-3.0.1.7 close(2) internalState annotation throughout.
    
    CVS patchset: 5542
    CVS date: 2002/07/08 14:21:26

commit a273ea6a095daa16e663d96e474c75115c3c2bdc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 6 18:48:09 2002 +0000

    - fix: permit deletions of added packages (#67108).
    
    CVS patchset: 5541
    CVS date: 2002/07/06 18:48:09

commit 68b42bb762d650fe68d4bcc8827051e08a69201c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 5 16:51:57 2002 +0000

    - update rpmcache.8.
    
    CVS patchset: 5540
    CVS date: 2002/07/05 16:51:57

commit 6dca216517ffb04f30d84ce1d1335efc37e7736d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 4 21:08:05 2002 +0000

    - fix: forgot lazy open of database on --freshen path (#67907).
    - proof-of-concept rpmcache functionality.
    
    CVS patchset: 5539
    CVS date: 2002/07/04 21:08:05

commit af3c677f06687e5ad1e33eb24f984c7ac5ff2a33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 3 14:01:49 2002 +0000

    - use rpmfi in showQueryPackage(), eliminating headerGetEntry().
    
    CVS patchset: 5538
    CVS date: 2002/07/03 14:01:49

commit e5fb770e7d9aac53a513965c0f2bcf360934794b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 2 23:54:35 2002 +0000

    Add boundsread annotations throughout, enable +bounds checking.
    Start narrowing the scope of bounds annotations by adding more annotations.
    
    CVS patchset: 5537
    CVS date: 2002/07/02 23:54:35

commit 77076c7c8d83f8b783634c7328b132b938389987
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 2 13:16:50 2002 +0000

    add (disabled for now) dependency check to rpmgraph.
    splint and gettext fiddles.
    
    CVS patchset: 5536
    CVS date: 2002/07/02 13:16:50

commit 8c4991e9d533de552b957ea445d65f6834205f29
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 30 22:47:32 2002 +0000

    - warn only once for each NOKEY/UNTRUSTED key id.
    - factor common options into table, add rpmcliInit() and rpmcliFini().
    - add preliminary rpmgraph(8) and rpmcache(8) executables to rpm-devel.
    
    CVS patchset: 5535
    CVS date: 2002/06/30 22:47:32

commit 10e3aaa69f3d7f74958e3dd0d0b471b296a1bb23
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 29 03:16:34 2002 +0000

    - open rpmdb early RDONLY, reopen later RDWR, avoid signed srpm noise.
    
    CVS patchset: 5534
    CVS date: 2002/06/29 03:16:34

commit 3a76f46b137107eb66f15f390959e985ce2028d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 23:58:34 2002 +0000

    - rescusitate remote ftp globs (#67678).
    
    CVS patchset: 5533
    CVS date: 2002/06/28 23:58:34

commit d89ce5854d39a9e896759fb96e6e303c67573bb6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 21:54:24 2002 +0000

    - disambiguate added/installed dependency failures (#50388).
    
    CVS patchset: 5532
    CVS date: 2002/06/28 21:54:24

commit f5fc8957b433616cf5010e26866205985c385479
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 14:55:04 2002 +0000

    New fangled head syntax.
    
    CVS patchset: 5531
    CVS date: 2002/06/28 14:55:04

commit 12191c8ea08e7fbd3468b33d41da97b5bfa2cad7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 14:51:17 2002 +0000

    - find-lang.sh: make sure that mo pattern matches leading '/' (#67368).
    
    CVS patchset: 5530
    CVS date: 2002/06/28 14:51:17

commit ef1b1d0d2f30f69aac9288820b84322ddda3d265
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 13:04:38 2002 +0000

    - fix: multiple relocations (#67596).
    - add --build/--program-prefix, delete libtoolize, from %configure.
    
    CVS patchset: 5529
    CVS date: 2002/06/28 13:04:38

commit 4252cddc29cd3e60bdc6a0791c6d2dd58fcb3c2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 28 00:35:57 2002 +0000

    Establish mechanism for up2date to reconfigure rpmlib.
    Disambiguate failures to import with error messages.
    
    CVS patchset: 5528
    CVS date: 2002/06/28 00:35:57

commit 446dfecf4305808f80cae52b8432f1434d6bb4f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 27 17:04:27 2002 +0000

    Add requirement on patch.
    
    CVS patchset: 5527
    CVS date: 2002/06/27 17:04:27

commit 37a10dd3bc862a2d69945e3a90fc581f49ee574a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 27 16:37:15 2002 +0000

    - use rpmdb-redhat for suggestions if/when configured (#67430).
    
    CVS patchset: 5526
    CVS date: 2002/06/27 16:37:15

commit 5d1dadc96ee51d9d8aa6b5a43363773d2f601fd4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 25 18:43:40 2002 +0000

    - python: link internal libelf (if used) directly into rpmmodule.so.
    
    CVS patchset: 5525
    CVS date: 2002/06/25 18:43:40

commit 4826782959c1ba99bea48f231678ffee3b990377
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 24 15:55:30 2002 +0000

    Reenable "make install".
    
    CVS patchset: 5524
    CVS date: 2002/06/24 15:55:30

commit 937fa6e4ea08e001473e4345b966ce2c64ddf0be
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Jun 23 20:04:46 2002 +0000

    bump version for release to CPAN
    
    CVS patchset: 5523
    CVS date: 2002/06/23 20:04:46

commit 13d177beb233e111b3ede3edc1340747433a7556
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 23 19:47:08 2002 +0000

    Add boundswrite annotations everywhere.
    
    CVS patchset: 5522
    CVS date: 2002/06/23 19:47:08

commit 05cb73a7ee762065339393057d421613866e0418
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 22 18:51:56 2002 +0000

    Factor bounds checking annotations into source code.
    
    CVS patchset: 5521
    CVS date: 2002/06/22 18:51:56

commit ba41c1ccb13a7a27466470e501a0d4f30fddec40
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 21 18:14:03 2002 +0000

    Check S_ISREG explicitly to avoid '?' in ls(1)-like displays.
    
    CVS patchset: 5520
    CVS date: 2002/06/21 18:14:03

commit 2933d0ec0cca4b2dadb1c3e8427b49b8ae262272
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 21 18:00:50 2002 +0000

    - fix: reading macro files can corrupt memory if BUFSIZ is teensy.
    - fix: assertion failure iff incomplete package install (#66837).
    
    CVS patchset: 5519
    CVS date: 2002/06/21 18:00:50

commit a6827b5a8043f87b59ade4fd02ae256a3937b9f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 23:08:34 2002 +0000

    - resurrect libelf with Elf64, prelink verify should work everywhere.
    
    CVS patchset: 5518
    CVS date: 2002/06/20 23:08:34

commit f96fc8d89419570a3fbf6b198d5d35ecee2ed6a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 21:53:31 2002 +0000

    - resurrect libelf with Elf64, prelink verify should work everywhere.
    autostuff fiddles.
    
    CVS patchset: 5517
    CVS date: 2002/06/20 21:53:31

commit e96eefbe680b180d854eaea2e5023e088745ed7f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 21:49:33 2002 +0000

    Remove autogenerated file.
    
    CVS patchset: 5516
    CVS date: 2002/06/20 21:49:33

commit 71077a3682137681055e588cd3e4d85fc14dff4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 20:39:35 2002 +0000

    Remove autogenerated files from CVS.
    
    CVS patchset: 5515
    CVS date: 2002/06/20 20:39:35

commit 110df96c22325d96559d5d66a89308c1fc708f9c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 17:17:23 2002 +0000

    - add translated man pages from PLD.
    
    CVS patchset: 5514
    CVS date: 2002/06/20 17:17:23

commit be2a538537041702617102a5a26cf00f1fcf9578
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 14:50:02 2002 +0000

    Merge in PLD non-english man pages.
    
    CVS patchset: 5513
    CVS date: 2002/06/20 14:50:02

commit 0a7481d0f777a6fc0e578b31d08312f5376cb125
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 20 02:19:21 2002 +0000

    - make sure that rpm can verify prelinked shared libraries.
    - don't install /usr/lib/rpm/redhat per-vendor configuration anymore.
    
    CVS patchset: 5512
    CVS date: 2002/06/20 02:19:21

commit 3255a1e854607cd1f39e3f0688f63eb790387f87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 19 19:27:20 2002 +0000

    Annotate incondefs in source code.
    
    CVS patchset: 5511
    CVS date: 2002/06/19 19:27:20

commit edd89aa67e871430b73d103ca92b9baa0432f18b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 19 18:56:15 2002 +0000

    splint fiddles.
    
    CVS patchset: 5510
    CVS date: 2002/06/19 18:56:15

commit 49658e0fffae92961788e6067fa37d8065a0b695
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 19 18:52:46 2002 +0000

    Annotate incondefs in source code.
    
    CVS patchset: 5509
    CVS date: 2002/06/19 18:52:46

commit 448e44da6c79f1eb6789d6922e05a4b15e66c96a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 18 17:52:02 2002 +0000

    Add a couple of toy programs.
    
    CVS patchset: 5508
    CVS date: 2002/06/18 17:52:02

commit 7de7470228c6d8adc42872554b5de7b8dee3f261
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 18 17:00:30 2002 +0000

    Splint annotations and spec file.
    
    CVS patchset: 5507
    CVS date: 2002/06/18 17:00:30

commit cd8a7dcf4e0b6a45fcb06ce1555504f3bcd4f6ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 17 16:38:22 2002 +0000

    Initial revision
    
    CVS patchset: 5498
    CVS date: 2002/06/17 16:38:22

commit dd5ee218a552c5ffe33325ba6eddf3ebc681475f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 19:53:27 2002 +0000

    beecrypt.gas.h needs to be carried into the tarball.
    
    CVS patchset: 5496
    CVS date: 2002/06/15 19:53:27

commit 20901c1a62c2ec5bdff92bf2881ec51cb5ce7656
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 19:43:41 2002 +0000

    - beecrypt: merge changes from beecrypt-2.3.0.
    - beecrypt: merge doxygen markup with rpmapi doco.
    - beecrypt: revert cpu/arch compile option mixup (#66752).
    
    CVS patchset: 5495
    CVS date: 2002/06/15 19:43:41

commit 8336b090a9996532e63e32cd8c483a9128be2dc9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 19:00:35 2002 +0000

    Ignore generated files.
    
    CVS patchset: 5494
    CVS date: 2002/06/15 19:00:35

commit 73554c7eb5879d0fbac43e65be35840fd20c374a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 18:58:33 2002 +0000

    Remove all generated files from CVS.
    
    CVS patchset: 5493
    CVS date: 2002/06/15 18:58:33

commit 83b4afa7a8ec57dc4f824b7d52b1a37e15c8d7a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 18:55:26 2002 +0000

    DOn't need generated config.h.in in CVS.
    
    CVS patchset: 5492
    CVS date: 2002/06/15 18:55:26

commit 94250cf3b4a69997befaf5129ee23db4dcd54284
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 18:52:02 2002 +0000

    Don't need Makefile.in files, they're generated.
    
    CVS patchset: 5491
    CVS date: 2002/06/15 18:52:02

commit 1412d46c3c97f5fb6d8dcf46a827529800a33a96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 18:49:02 2002 +0000

    Make check and splint clean.
    Don't install fooopt files, they are merely ASM_FOO switches.
    Don't install beecrypt.{api,win}.h
    Get rid of autocruft files in CVS.
    
    CVS patchset: 5490
    CVS date: 2002/06/15 18:49:02

commit ba1865e6077d3cbc1d877e1c711bd27503c4a5bc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 18:11:05 2002 +0000

    Sanity.
    
    CVS patchset: 5489
    CVS date: 2002/06/15 18:11:05

commit 2acd2c7654396467c2a87f64825300a1348b1ec9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 14:28:29 2002 +0000

    Before merging new-fangled configure.ac
    
    CVS patchset: 5488
    CVS date: 2002/06/15 14:28:29

commit 4d5f1d55b940b2120643eb3c84ef2186b1c2edf0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 14:19:38 2002 +0000

    Make sure that "make dist" is functional.
    Rename fips180opt -> sha1opt platform specific asm files.
    
    CVS patchset: 5487
    CVS date: 2002/06/15 14:19:38

commit 3b9d647cc134a1ffbc32bda018b298de48d2cfc6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 15 13:24:42 2002 +0000

    Expose aes constant tables, needed by the asm voodoo.
    
    CVS patchset: 5486
    CVS date: 2002/06/15 13:24:42

commit 82e03255833e87efe6e38a2c2c04539d610303d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 14 21:05:36 2002 +0000

    Doxygen and splint fiddles.
    
    CVS patchset: 5485
    CVS date: 2002/06/14 21:05:36

commit 609f6ba9c8c281275fbe8948318050c172e46462
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 14 20:31:05 2002 +0000

    First crack at merging beecrypt-2.3.0 changes.
    
    CVS patchset: 5484
    CVS date: 2002/06/14 20:31:05

commit 243ff70d72f270941de5ac0122b8a72eb46a65f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 12 14:58:58 2002 +0000

    Add bugzilla # to cheangelog.
    
    CVS patchset: 5483
    CVS date: 2002/06/12 14:58:58

commit 93e968c51534a33f75eaa0459edd8afa1008744a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 12 14:54:06 2002 +0000

    Orphan.
    
    CVS patchset: 5482
    CVS date: 2002/06/12 14:54:06

commit 93ae345321b41b7e964fc5f31c95a62039e2afbe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 12 14:52:59 2002 +0000

    - fix: separate existence and number checks for problems found.
    
    CVS patchset: 5481
    CVS date: 2002/06/12 14:52:59

commit d523f4266d6860ed099bae737076d6fc971b3a45
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 10 16:07:12 2002 +0000

    - document digital signature verification in rpm.8.
    
    CVS patchset: 5480
    CVS date: 2002/06/10 16:07:12

commit bafe5279493a2295d161b35ccbbcea785cfe2089
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 10 13:07:32 2002 +0000

    Document file attribute opt outs in verify mode.
    Document --nodigest/--nosignature/--nosuggest.
    
    CVS patchset: 5479
    CVS date: 2002/06/10 13:07:32

commit db4e72211ef17d0bd061d3881ee5dc661289fb90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 9 22:15:16 2002 +0000

    Sanity.
    
    CVS patchset: 5477
    CVS date: 2002/06/09 22:15:16

commit d29a60e1f20312a0067fe3a1336a1faaf69f420e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 9 17:12:35 2002 +0000

    Update rpm.8 and rpmbuild.8 from docbook in max-rpm CVS.
    
    CVS patchset: 5475
    CVS date: 2002/06/09 17:12:35

commit 2d531597319a7daf6ad126ac0f93096d3180af83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 7 13:26:07 2002 +0000

    Orphans.
    
    CVS patchset: 5472
    CVS date: 2002/06/07 13:26:07

commit 128357ffba2916f1e5e322a28361b8eaa9a5b494
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 7 13:12:34 2002 +0000

    Changes from bsddb3-3.3.4.
    
    CVS patchset: 5471
    CVS date: 2002/06/07 13:12:34

commit 8d1ff9feac92bae03417280eebae5c19a1e7661a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 5 22:07:55 2002 +0000

    Lclint fiddles.
    
    CVS patchset: 5468
    CVS date: 2002/06/05 22:07:55

commit e8f1e413309a4df972a029c82f469b4b5b74e3a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 5 21:04:32 2002 +0000

    Add xmlspec-20020605.diff orphans.
    
    CVS patchset: 5467
    CVS date: 2002/06/05 21:04:32

commit 8780c9932c35ce442f2cde96724d9a86e6f8f65a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 5 21:02:39 2002 +0000

    Add xmlspec-20020605.diff changes.
    
    CVS patchset: 5466
    CVS date: 2002/06/05 21:02:39

commit 2395582ab025e75aae8f51c8787d34c5c961f88c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 5 20:26:57 2002 +0000

    - python: portability fiddles (#54350).
    - check inodes (but not blocks) on FAT file systems (#64256).
    
    CVS patchset: 5465
    CVS date: 2002/06/05 20:26:57

commit 14d95f25f736587e23b5aa8a2302eb5f3b168df9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 4 22:02:15 2002 +0000

    - use /etc/rpm/platform (if it exists), rather than uname(2), for arch.
    
    CVS patchset: 5464
    CVS date: 2002/06/04 22:02:15

commit dd50743445cb505bb67d5d43d566b51409b8df0e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 4 15:09:19 2002 +0000

    Add -I../rpmdb.
    
    CVS patchset: 5463
    CVS date: 2002/06/04 15:09:19

commit 9d880e91429b66f64f4d162a7b50ef5c4c5ac7f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 4 15:06:36 2002 +0000

    Update from "Jaco Greeff" <jaco@puxedo.org>.
    
    CVS patchset: 5462
    CVS date: 2002/06/04 15:06:36

commit bf7fc63baa6fe063bc159011e796d88117723bcd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 3 23:27:05 2002 +0000

    Teach doxygen about python/*-py.c files.
    Make sure that automake includes the python/test/* files.
    
    CVS patchset: 5461
    CVS date: 2002/06/03 23:27:05

commit 37426c66d793a8a287a506f49e2df2a753210254
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 3 20:56:33 2002 +0000

    - python: include rpmdb module, renamed from bsddb3.
    
    CVS patchset: 5460
    CVS date: 2002/06/03 20:56:33

commit 9b2ac14866c7740e67e17d37392f2397cd1dcdd3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 3 20:44:08 2002 +0000

    Functional unit tests after renaming bsdddb3 -> rpmdb, _db -> _rpmdb.
    
    CVS patchset: 5459
    CVS date: 2002/06/03 20:44:08

commit b3308c5f878ec970f48c7559bb62646b182c3128
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 2 20:50:48 2002 +0000

    Clone an rpmdb module from bsddb3 (rpmdb/*.py need work).
    
    CVS patchset: 5458
    CVS date: 2002/06/02 20:50:48

commit 26db42d8cc86e054e6ed8a1a12a3d06083c933be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 1 15:48:00 2002 +0000

    - fix: use getgrnam, not getpwnam, to convert gid -> group.
    - fix: avoid sign extension, use only 16 bits, when verifying rdev.
    - python: separate {add,del}Macro methods, prepare for macro dictionary.
    - i18n: copy current production PO files to top-of-stack.
    
    CVS patchset: 5457
    CVS date: 2002/06/01 15:48:00

commit 3c1ca5b1aabc175d4e7948e6e0f8eb90315495ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 30 15:08:46 2002 +0000

    Add -I../rpmdb and -I../popt
    
    CVS patchset: 5456
    CVS date: 2002/05/30 15:08:46

commit b2048a714003e34bb415c991c8c082dde4db8280
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 30 15:03:17 2002 +0000

    Initial revision
    
    CVS patchset: 5454
    CVS date: 2002/05/30 15:03:17

commit c3ed66c29857b6eb86f5c4eda555e797adf64199
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 28 23:06:44 2002 +0000

    - eliminate legacy db methods, add ts.dbMatch method.
    
    CVS patchset: 5453
    CVS date: 2002/05/28 23:06:44

commit 3b633106748d2677dc129e732b150054b5bb91fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 28 16:22:42 2002 +0000

    - add rpmal/rpmte/rpmfd methods to bindings.
    - drop cpanflute and cpanflute2, will be in Chip's CPAN package now.
    
    CVS patchset: 5452
    CVS date: 2002/05/28 16:22:42

commit 23bbe266cc1856fbbb29d8b8ea1cc52d7372f9e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 27 21:40:08 2002 +0000

    Add bindings for rpmte and FD_t.
    
    CVS patchset: 5451
    CVS date: 2002/05/27 21:40:08

commit 259bb824ccefadfc9a53f8307b3fc01f5324b5fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 27 18:12:12 2002 +0000

    Add rpmal bindings, Grand Renaming to rpmalFoo().
    
    CVS patchset: 5450
    CVS date: 2002/05/27 18:12:12

commit ca60c30e3a048234fa3e6736d3145af6128b6f8c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 26 18:40:25 2002 +0000

    - fix: un-resurrect "()(64bit)" markings using objdump on i386.
    
    CVS patchset: 5449
    CVS date: 2002/05/26 18:40:25

commit 3067a2c91dc0e85acab883e3fccc5caf15247d89
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 25 17:15:20 2002 +0000

    - re-enable rpm-python sub-package.
    - fix: resurrect "()(64bit)" markings using objdump.
    
    CVS patchset: 5448
    CVS date: 2002/05/25 17:15:20

commit 4f1bba10aa4a9463b068aff002e7c8ffd36f21c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 23 21:06:42 2002 +0000

    - add rpmds/rpmfi/rpmts methods to bindings.
    
    CVS patchset: 5447
    CVS date: 2002/05/23 21:06:42

commit aeb8ed2318f0a486ee258cc39f9546981386b957
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 23 19:42:23 2002 +0000

    Create rpmts-py.c.
    
    CVS patchset: 5446
    CVS date: 2002/05/23 19:42:23

commit ed2765de234f2cbcedc363981e852056c9b02315
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 23 17:29:21 2002 +0000

    rpmds and rpmfi iterators, take 0.
    
    CVS patchset: 5445
    CVS date: 2002/05/23 17:29:21

commit 0f0184d17f13b9cb17d6b0ba4aefb29d0ad53e10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 23 00:49:19 2002 +0000

    Bind rpmds as class derived from header.
    
    CVS patchset: 5444
    CVS date: 2002/05/23 00:49:19

commit 4008c689df96417da550fb8006055e04f553aaf2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 21 16:33:33 2002 +0000

    Enable CDB access as default.
    Remove unused int from dbiIndexSet.
    
    CVS patchset: 5443
    CVS date: 2002/05/21 16:33:33

commit db4f917fa91434a46fedb55abd1f0723f58f15ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 21 14:56:05 2002 +0000

    Make sure that db.h symlink is created.
    
    CVS patchset: 5442
    CVS date: 2002/05/21 14:56:05

commit 0b61bf14759ea3c8f8ff1442ddad8bd309906e4e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 21 00:00:39 2002 +0000

    Always use cursors.
    Use DB_KEYLAST with db->c_put for now, just like rpm-4.0.x.
    Make sure that db->c_get is done before doing db->c_del.
    Check that CDB access is still functional.
    
    CVS patchset: 5441
    CVS date: 2002/05/21 00:00:39

commit 386882db7a38f24e0222a2ae94d4c93a34af0d37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 19 23:37:24 2002 +0000

    - fix: synthesize unpacking progress callbacks for packages w/o files.
    
    CVS patchset: 5440
    CVS date: 2002/05/19 23:37:24

commit 2126e4ad09e175a4356a29ab03756dbbeb8c976f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 19 18:42:25 2002 +0000

    - Grand Renaming of rpm data types.
    
    CVS patchset: 5439
    CVS date: 2002/05/19 18:42:25

commit 38385c8d6323e3695e0b267ab7b2fcffff9f72b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 17 21:08:39 2002 +0000

    Transactions made increasingly opaque.
    
    CVS patchset: 5438
    CVS date: 2002/05/17 21:08:39

commit 076a6e29c5c8a35a5f78ae2a15339d030cfe2fdf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 16 16:55:21 2002 +0000

    - opaque (well mostly) rpmTransactionSet using methods.
    
    CVS patchset: 5437
    CVS date: 2002/05/16 16:55:21

commit bc9d22eeb9034966654091306e3e3fc9a9dd7c71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 13 22:45:30 2002 +0000

    AIX fiddles (Albert Chin <rpm-list@thewrittenword.com>).
    
    CVS patchset: 5434
    CVS date: 2002/05/13 22:45:30

commit f9f1064dc0681321e13d240b193895ecc7d6d5cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 13 22:34:25 2002 +0000

    Eliminate bogus strerror message for manifests.
    
    CVS patchset: 5433
    CVS date: 2002/05/13 22:34:25

commit 5a51033929040439103c27d9cf070079c756d8f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 08:09:51 2002 +0000

    Changes for 0.40, and they are many.
    
    CVS patchset: 5432
    CVS date: 2002/05/10 08:09:51

commit 9d37ae1efe6157bb49c4872eadce5b30db67952d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 08:04:55 2002 +0000

    RPM generation now works, mostly due to backing out the changes after
    discussing release and distribution plans with the rpm maintainer.
    
    CVS patchset: 5431
    CVS date: 2002/05/10 08:04:55

commit f76caca7d74805d2514af20c0b1a6313f3d5251b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 07:38:58 2002 +0000

    Allow new() to take options like TIEHASH does. Also documents new.
    
    CVS patchset: 5430
    CVS date: 2002/05/10 07:38:58

commit 76c37b4c7634a086e152c4cb155e2a563fc2b74b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 07:38:21 2002 +0000

    Some casts to reduce compiler warnings on some systems.
    
    CVS patchset: 5429
    CVS date: 2002/05/10 07:38:21

commit 5a5b62e9c14f51d430c11642e05d77052c223ee8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 07:37:08 2002 +0000

    Changed some safemalloc calls to New/Newz. Put a fix in FIRSTKEY to avoid
    getting a null back from the initial tag look-up. Cause DESTROY to free some
    memory that was being forgotten. Pulled out all the 3.0 and pre-4.0.3 support
    code.
    
    CVS patchset: 5428
    CVS date: 2002/05/10 07:37:08

commit 97aaa7f141caf7f1a00808cac245ce93c7cbc365
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 05:53:48 2002 +0000

    Turned a macro call that was using safemalloc into a direct call to
    Newz. Turned some calls to safefree into Safefree.
    
    CVS patchset: 5427
    CVS date: 2002/05/10 05:53:48

commit e17659692997068b4cd5ee4a91f2aa9ee093b89a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 10 05:50:19 2002 +0000

    Removed uneeded #define
    
    CVS patchset: 5426
    CVS date: 2002/05/10 05:50:19

commit 4749da2d88ec35d6dc13a72a02affad56747f723
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 7 14:26:39 2002 +0000

    Sanity.
    
    CVS patchset: 5425
    CVS date: 2002/05/07 14:26:39

commit b4c604e75c8550c5e63d5a6781e03ef40b78cca4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 7 01:07:41 2002 +0000

    - plug most install mode leaks.
    
    CVS patchset: 5424
    CVS date: 2002/05/07 01:07:41

commit e6ba507f771047db75773b166dc137b0a3e46ef7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 6 19:48:14 2002 +0000

    - rework most of rpmdb.c prepatory to implementing duplicates.
    - fix: 2 memory leaks in headerSprintf.
    - fix: db mire's access out-of-bounds memory.
    
    CVS patchset: 5423
    CVS date: 2002/05/06 19:48:14

commit 287934f4aabcaf6455a40754b0fca83492b5f825
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 5 21:49:45 2002 +0000

    Add mi_key and mi_data to db match iterator.
    
    CVS patchset: 5422
    CVS date: 2002/05/05 21:49:45

commit 81c2a9d267450f62264576199aa5b607391ac3f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 4 20:13:14 2002 +0000

    Add toy db->associate, db->join, dbcursor->c_pget wrappers.
    
    CVS patchset: 5421
    CVS date: 2002/05/04 20:13:14

commit 40aceb784a9421b0410210187668522525594b7d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 4 16:41:01 2002 +0000

    Pass dbiGet() flags from application.
    
    CVS patchset: 5420
    CVS date: 2002/05/04 16:41:01

commit d30a242160781822b0d6f5bfd40a2c7aca923f46
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 4 12:55:03 2002 +0000

    Eliminate another layer of db abstraction, continue eradicating db1.
    
    CVS patchset: 5419
    CVS date: 2002/05/04 12:55:03

commit 3abd712fc3a4ba9c485283d601989ee7de1c21b0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 4 00:02:37 2002 +0000

    Wire key DBT through the API.
    
    CVS patchset: 5418
    CVS date: 2002/05/04 00:02:37

commit 48cd520355559a518f5332a01d2869d4f9dbf605
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 3 23:26:25 2002 +0000

    - use DBT_DB_MALLOC to eliminate re-malloc'ing header blobs.
    
    CVS patchset: 5417
    CVS date: 2002/05/03 23:26:25

commit 06b247567ef73e1cb5368ba50549689609a7590a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 3 19:06:03 2002 +0000

    Sanity.
    
    CVS patchset: 5416
    CVS date: 2002/05/03 19:06:03

commit 7b2717efe2916fd714eb2c55ebe1ac754e7c65fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 2 23:34:20 2002 +0000

    - eliminate db1 support.
    - enable CDB by default.
    
    CVS patchset: 5415
    CVS date: 2002/05/02 23:34:20

commit 2b83d36c089f9e27e43e776d08e79d58ec2e6ba8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 2 22:16:30 2002 +0000

    - eliminate db1 support.
    - fix: rpmdb iterator memory leak in python bindings.
    - fix: include <sys/time.h> for 6.2 python modules.
    - remove vestiges of mipseb arch (#62408).
    
    CVS patchset: 5414
    CVS date: 2002/05/02 22:16:30

commit cf2484ce1f2225e01b61dabb18a4d54e8fd6e375
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 1 22:13:00 2002 +0000

    - attempt to make peace with automake-1.6.1, autoconf-2.53.
    - rip out two layers of dbN gook, internal Berkeley db is here to stay.
    
    CVS patchset: 5412
    CVS date: 2002/05/01 22:13:00

commit 9ecc4d884f3765c4bb19fefff70cbd7d7b1db794
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 15 13:59:22 2002 +0000

    Typo.
    
    CVS patchset: 5407
    CVS date: 2002/04/15 13:59:22

commit b463db44dced1a5dd6bab2cb04e8f1a55aa72c67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 14 21:48:44 2002 +0000

    - use build time to choose one of  multiple alternative suggestions.
    - add --nosuggests to disable suggested resolutions.
    - splint fiddles.
    
    CVS patchset: 5406
    CVS date: 2002/04/14 21:48:44

commit e6ebdb1d9fe1fb6077dacd6be378bab982ddcd34
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Apr 14 05:13:23 2002 +0000

    vastly improve test suite; add some new methods; add some documentation; use librpm.la to help determine linker parameters
    
    CVS patchset: 5405
    CVS date: 2002/04/14 05:13:23

commit 4fffd96bd361ba9692ebe67d63c978725d9f86d9
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Apr 14 03:12:14 2002 +0000

    be smarter about extracting LIBS linker entries
    
    CVS patchset: 5404
    CVS date: 2002/04/14 03:12:14

commit 2b9c26d7b479553827cf77cecf3367cfd297f479
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 13 19:01:32 2002 +0000

    Sanity.
    
    CVS patchset: 5403
    CVS date: 2002/04/13 19:01:32

commit e3c57cf71efb077e28106cdaeb6ecc7910ca7aae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 13 18:52:18 2002 +0000

    - merge conflicts into problems, handle as transaction set variable.
    
    CVS patchset: 5402
    CVS date: 2002/04/13 18:52:18

commit 46bbc20b324f456a9ff104f5e7300215950fb6c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 13 01:28:20 2002 +0000

    - use rpmdb-redhat to suggest dependency resolution(s).
    
    CVS patchset: 5401
    CVS date: 2002/04/13 01:28:20

commit 8edea74bb45267034d2e4eb3e39e2883824e03ce
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 12 22:40:11 2002 +0000

    Added a command-line option to the "perl Makefile.PL" invocation used for
    building the Perl-RPM sub-component. This interacts with changes already made
    to Perl-RPM/Makefile.PL.
    
    CVS patchset: 5400
    CVS date: 2002/04/12 22:40:11

commit ffe1809d31f18e43be123073afc7314a1652e196
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 12 22:37:34 2002 +0000

    This change is not 100% complete, as the Makefile is still unable to create a
    working rpm specfile on its own. However, it works to allow seamless building
    of the extension outside of a full rpm build, and will recognize the
    command-line argument that ../rpm.spec will pass to signal a build in the
    larger context.
    
    CVS patchset: 5399
    CVS date: 2002/04/12 22:37:34

commit aaca0fed295459215eb41e40bedbc3fa25fefc5c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 12 00:16:33 2002 +0000

    First of two efforts at redefining how multiple packages for one name are
    handled. This applies the patch from Gerald Teschl <gt@esi.ac.at> that makes a
    multiple match yield the newest, rather than the first one encountered. After
    this, I'll try to handle list-context.
    
    CVS patchset: 5398
    CVS date: 2002/04/12 00:16:33

commit 2f1222755ba4574ef358779b53a950bc5bdff1d0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 23:07:01 2002 +0000

    Now that rpm 3.0 is no longer supported, the ERR_CHAR_CONST macro is no longer
    needed.
    
    CVS patchset: 5397
    CVS date: 2002/04/11 23:07:01

commit 18f406d5e418289151e5c45419b157166a402f5a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 23:06:01 2002 +0000

    Now that rpm 3.0 is no longer supported, the HDR_ITER_CONST macro is no longer
    needed.
    
    CVS patchset: 5396
    CVS date: 2002/04/11 23:06:01

commit a1062052bce4c47b67a158690665263c086f5384
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 22:42:08 2002 +0000

    Removed all the rpm 3.0 support logic #if/#endif blocks. rpm 3.0 is no longer
    supported.
    
    CVS patchset: 5395
    CVS date: 2002/04/11 22:42:08

commit ce0282868bc66e9da507cf34d84de92bd988ab76
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 22:41:15 2002 +0000

    Removed all the #if/#endif conditionals for rpm 3.0 compatibility. The rpm 3.0
    line is no longer supported.
    
    CVS patchset: 5394
    CVS date: 2002/04/11 22:41:15

commit 86997fb34278445752c67829474437eeca915307
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 22:40:20 2002 +0000

    Removed all the #if/#endif blocks that were for distinguishing 3.0 and 4.0 rpm
    lineage. rpm 3.0 is no longer going to be supported.
    
    CVS patchset: 5393
    CVS date: 2002/04/11 22:40:20

commit ef7f4a88db5e38d5a9832cd5d52e9d5ff126ce7d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 11 22:38:07 2002 +0000

    Switched the order of preference in choosing a package to use as a control for
    testing. The kernel package might have more than one instance on the system,
    which breaks some of the tests. The rpm package should be OK.
    
    CVS patchset: 5392
    CVS date: 2002/04/11 22:38:07

commit 8a44e3aba9d7c316bcf3f37646e25ab9ab9c3b76
Author: Chip Turner <cturner@redhat.com>
Date:   Thu Apr 11 17:10:12 2002 +0000

    silly test
    
    CVS patchset: 5390
    CVS date: 2002/04/11 17:10:12

commit 2404e8d91895eae6913b9181094e6ef1f3c47ed0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 11 16:55:19 2002 +0000

    - rescusitate --rebuild.
    
    CVS patchset: 5389
    CVS date: 2002/04/11 16:55:19

commit bd2f1e9543e175e9b1c07e308da38d39807ccabd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 10 22:10:13 2002 +0000

    Fix: source package already part of the transaction.
    
    CVS patchset: 5388
    CVS date: 2002/04/10 22:10:13

commit e5a632b26dc0f8df7f552dcf0a07f703db9fd329
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 10 20:00:40 2002 +0000

    - beecrypt: add types.h, eliminate need for config.gnu.h.
    
    CVS patchset: 5386
    CVS date: 2002/04/10 20:00:40

commit fa1361480f0b9a1154579a21668a249d0bce6126
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 9 21:36:47 2002 +0000

    Use NEEDED from objdump, not ldd, to auto-generate Requires:.
    
    CVS patchset: 5385
    CVS date: 2002/04/09 21:36:47

commit 39d9e33336dfed1a63aa4db86d194da51de66422
Author: Chip Turner <cturner@redhat.com>
Date:   Tue Apr 9 09:38:12 2002 +0000

    more churn.  more stable.  a hint of documentation, but only a hint.
    
    CVS patchset: 5383
    CVS date: 2002/04/09 09:38:12

commit 721d88ed7f53a607108dd78dc82d3da83ea05ee2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 8 22:52:45 2002 +0000

    Sanity.
    
    CVS patchset: 5382
    CVS date: 2002/04/08 22:52:45

commit 5c1ca96c965d07c8efe9c47081a9aaf6a6e03e7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 8 20:09:40 2002 +0000

    Check {fsm,psm} for orphans.
    
    CVS patchset: 5381
    CVS date: 2002/04/08 20:09:40

commit b5f320dfacdfb56ed2b84e845d515715ccb53e05
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 8 19:13:35 2002 +0000

    Check rpm-4.0.4 for orpahns.
    
    CVS patchset: 5380
    CVS date: 2002/04/08 19:13:35

commit b45c27e2ab0ba5c0d3bd3385ef561943d4cc57f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 8 18:56:01 2002 +0000

    doxygen cleanup.
    
    CVS patchset: 5379
    CVS date: 2002/04/08 18:56:01

commit ffdfd1056e25d18f95776fbff43fceca864be95f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 7 19:52:42 2002 +0000

    - speedup large queries by ~50%.
    - revert to presentation ordering Yet Again (#62158).
    - non-glibc: on upgrade, mergesort is much faster than quicksort.
    
    CVS patchset: 5377
    CVS date: 2002/04/07 19:52:42

commit 6e2d56377d4ac91f44918e58918d777540f6565c
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Apr 7 07:22:29 2002 +0000

    cleanup some memory issues; fix iteration over DB and proper freeing of headers; fix silly refcount trick of db and iterators to be more like the simpler python system
    
    CVS patchset: 5376
    CVS date: 2002/04/07 07:22:29

commit f5f18ee2a856e8e17ac9261f36cea95de7d34aa0
Author: Chip Turner <cturner@redhat.com>
Date:   Sun Apr 7 06:45:24 2002 +0000

    initial import of perl-RPM2
    
    CVS patchset: 5375
    CVS date: 2002/04/07 06:45:24

commit e7b38bbd0c52cea744bbecb72e38f0f7e7faccfa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 17 21:13:43 2002 +0000

    Test program for file name join.
    
    CVS patchset: 5363
    CVS date: 2002/03/17 21:13:43

commit c1d98e55b215aa262a01b7df8ef3083fe53a99e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 17 15:49:09 2002 +0000

    - *really* dump signature header immutable region.
    
    CVS patchset: 5362
    CVS date: 2002/03/17 15:49:09

commit a7266b73948b535e38fe0ba29e05912209a45ff9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 17 15:46:23 2002 +0000

    Bail on mmap/rsync fiddles for now.
    
    CVS patchset: 5361
    CVS date: 2002/03/17 15:46:23

commit 3212547cb597483f131e7f53204d87fe3a9f72f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 17 01:23:32 2002 +0000

    Conflicts.
    
    CVS patchset: 5360
    CVS date: 2002/03/17 01:23:32

commit 3b6077c0bd89b73b163c9bd29516536577e121c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 16 19:56:27 2002 +0000

    Initial revision
    
    CVS patchset: 5359
    CVS date: 2002/03/16 19:56:27

commit 54945a10c1659c6204410476534babc36e6cf180
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 13 20:01:50 2002 +0000

    Factor notify callback function/arg onto per-ts method.
    
    CVS patchset: 5357
    CVS date: 2002/03/13 20:01:50

commit fb845b7ee7e65bb0523efc6effbb9dd01f5c699e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 13 17:59:49 2002 +0000

    Split transaction set handling into separate file, prepatory to
    devising some toy access methods.
    
    CVS patchset: 5356
    CVS date: 2002/03/13 17:59:49

commit 976cf8dec79b51102ed51cb72681bbac0abf3f5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 13 15:06:07 2002 +0000

    Pass ts and args to rpmInstall() and rpmErase().
    
    CVS patchset: 5355
    CVS date: 2002/03/13 15:06:07

commit 2c45013b703f6f976bc8a64a38fcae56f0ffb156
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 12 21:01:58 2002 +0000

    Sanity.
    
    CVS patchset: 5354
    CVS date: 2002/03/12 21:01:58

commit 865ec50f9462126bf3bdddc236cad7df282e20af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 12 20:28:30 2002 +0000

    - permit --dbpath and --root with signature (i.e. --import) modes.
    
    CVS patchset: 5353
    CVS date: 2002/03/12 20:28:30

commit d18bbd9bdcfaf031e5ca7b6acd5bcc4d2532d3e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 12 16:56:17 2002 +0000

    - drill ts/fi through verify mode, add methods to keep fi abstract.
    - use mmap when calculating file digests on verify, ~20% faster.
    
    CVS patchset: 5352
    CVS date: 2002/03/12 16:56:17

commit 0a71efcfc06c380feb5558aaf5de6773229894da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 10 19:00:31 2002 +0000

    - splint annotationsm, signature cleanup.
    
    CVS patchset: 5351
    CVS date: 2002/03/10 19:00:31

commit f5dbab424baea97859d250d5d33d435ddf6ae73e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 10 15:16:57 2002 +0000

    - make --addsign and --resign behave exactly the same.
    
    CVS patchset: 5350
    CVS date: 2002/03/10 15:16:57

commit f0907e2f267a05348e4f0a6bbe2afde5d4a49c07
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 9 19:02:59 2002 +0000

    Strip CFLAGS passed as argument to db configure.
    
    CVS patchset: 5349
    CVS date: 2002/03/09 19:02:59

commit 14ec54e33b72fe073251479f101c1d610e7009ca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 8 22:24:58 2002 +0000

    - wire --nodigest/--nosignature options to checksig/query/verify modes.
    
    CVS patchset: 5348
    CVS date: 2002/03/08 22:24:58

commit 441764ef45b668d6a573934a6e267c76bd2f7dc0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 7 22:54:43 2002 +0000

    - add header RSA signature (untested, disabled for now).
    - don't bother with signing check if 16 bits of hash don't match.
    - only V3 signatures for now.
    
    CVS patchset: 5347
    CVS date: 2002/03/07 22:54:43

commit 52864ffa4d78d6880130613a0ac4f1656b883a41
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 7 02:17:59 2002 +0000

    - add header RSA signature (untested).
    
    CVS patchset: 5346
    CVS date: 2002/03/07 02:17:59

commit c6449e9c4439b7f2cf6c620a78d464b10a6c75b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 6 23:17:31 2002 +0000

    - add header DSA signature.
    
    CVS patchset: 5345
    CVS date: 2002/03/06 23:17:31

commit 2e2d1cad39b9bf8af73ec7b2c584236aabcdad14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 3 23:09:49 2002 +0000

    - add payload uncompressed size to signature to avoid rewriting header.
    - drill header sha1 into signature parallel to header+payload md5.
    - mandatory "most effective" signature check on query/verify/install.
    - don't bother adding empty filemd's to index.
    - add Pubkey index, using signer id as binary key.
    - display pubkeys in hex when debugging db access.
    - retrieve pubkey(s) from rpmdb, not from detached signature file.
    - reapply Berkeley DB patch #4491.
    
    CVS patchset: 5341
    CVS date: 2002/03/03 23:09:49

commit 48b19eaedae1d80691073730628c3ef806d6322d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 28 22:08:55 2002 +0000

    Speed up "w = iv(s) mod q" by eliminating the unnecessary {u,v,t}2
    computation.
    
    CVS patchset: 5340
    CVS date: 2002/02/28 22:08:55

commit 9aa5bedac729594138d9320ee291f3dce5f5b6b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 28 15:48:39 2002 +0000

    Use Knuth algorithm Y for computing DSA "w = inv(s) mod q".
    
    CVS patchset: 5339
    CVS date: 2002/02/28 15:48:39

commit 87a411ddf244ef13225ccb42c0bbc4fe191ab146
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 27 21:38:51 2002 +0000

    Sanity.
    
    CVS patchset: 5338
    CVS date: 2002/02/27 21:38:51

commit 845f038002384bcb32bde513734ccfbb1d2830d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 27 14:26:29 2002 +0000

    Create.
    
    CVS patchset: 5337
    CVS date: 2002/02/27 14:26:29

commit 5c2e4bdc1e189f2038e315dbd09a6b504a71ec57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 25 15:29:22 2002 +0000

    Annotation fiddles.
    
    CVS patchset: 5336
    CVS date: 2002/02/25 15:29:22

commit ec53bfce3db7d7a0802cae1ff5143f9e6beaf040
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 24 20:44:36 2002 +0000

    Synthesize a st_ino field for fts(3) use across FTP.
    
    CVS patchset: 5335
    CVS date: 2002/02/24 20:44:36

commit 02893e232d2dcb8bf70a7b7244e792f2f27b9d32
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 24 17:14:33 2002 +0000

    Auto-detect lvr vendor if /etc/lvr-release (#59897).
    
    CVS patchset: 5334
    CVS date: 2002/02/24 17:14:33

commit 6df10492d972520c7be51ae7ccf9b02780e5693b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 23 21:24:37 2002 +0000

    fix: opendir(3) et al functional with FTP.
    Use GNU extensions to apply glob(3) to ftp:// URL's.
    
    CVS patchset: 5333
    CVS date: 2002/02/23 21:24:37

commit 4e34d9ebf749b0db380380b0de7b3f82b4c151bc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 22 22:52:26 2002 +0000

    Make peace with lclint for fts.[ch].
    
    CVS patchset: 5332
    CVS date: 2002/02/22 22:52:26

commit 0108a7b8cbcfeb1ed6a97e8841d234616e91de5b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 22 17:12:15 2002 +0000

    tpkgid cleanup.
    Recognize GNU extensions in myGlobPatternP(), flag in misc/fnmatch.h, as well.
    
    CVS patchset: 5331
    CVS date: 2002/02/22 17:12:15

commit 66477dc13d82817781de9e3d08db5d1d052ebf28
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 21 22:53:30 2002 +0000

    Add tpkgid.c.
    
    CVS patchset: 5330
    CVS date: 2002/02/21 22:53:30

commit b41f855114c36c620da4a8949ea8ee7531c05f7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 21 00:30:49 2002 +0000

    Add pkgid db builder pre-cursor.
    
    CVS patchset: 5329
    CVS date: 2002/02/21 00:30:49

commit 70e1c2a7c0c3dbe35009f52338f9efedbf7baa5f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 20 22:57:06 2002 +0000

    Include fts.[ch] in rpmio, APi renamed to Fts_foo.
    
    CVS patchset: 5328
    CVS date: 2002/02/20 22:57:06

commit d947e66128088105fed98d8e6a6e3038225bbd7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 20 22:28:00 2002 +0000

    Add (for portability) copies of fts.{c,h} from glibc-2.2.90-6.
    
    CVS patchset: 5327
    CVS date: 2002/02/20 22:28:00

commit 5547ba7557cd7025be9dfdb6002aaa2841d85977
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 20 22:09:28 2002 +0000

    Sanity.
    
    CVS patchset: 5326
    CVS date: 2002/02/20 22:09:28

commit 6ed5e192438ef5d99aeeedfd2f06ac0b341ab30b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 20 21:00:15 2002 +0000

    - make peace with automake et al in 8.0, ugh.
    - auto-configure with gcj, build javaglue.c.
    
    CVS patchset: 5325
    CVS date: 2002/02/20 21:00:15

commit cde71600d4e34b64176f1d7c1f60eaab9d7ed20a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 20 20:51:20 2002 +0000

    Autogenerated.
    
    CVS patchset: 5324
    CVS date: 2002/02/20 20:51:20

commit 09f274515f9876569ea165e09257eaeee5959d5b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 10 21:13:52 2002 +0000

    - make peace with automake et al in 8.0, ugh.
    
    CVS patchset: 5314
    CVS date: 2002/02/10 21:13:52

commit 30b9428ce07b2fc3df44742dc58673cb1fb102ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 10 19:00:16 2002 +0000

    - make peace with gcc-3.1, remove compiler cruft.
    
    CVS patchset: 5313
    CVS date: 2002/02/10 19:00:16

commit 08e032599414865cb4482eb427d9a4e4caf004be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 10 17:19:28 2002 +0000

    Sanity.
    
    CVS patchset: 5312
    CVS date: 2002/02/10 17:19:28

commit be0595b4b5eeb1dcc74cbe33a341c2da6dfe9d89
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 10 16:50:06 2002 +0000

    Flip 4.0.4 devel changes back here.
    More splint fiddles.
    
    CVS patchset: 5311
    CVS date: 2002/02/10 16:50:06

commit f9f29be96a5ad8774294ffe50d2d243009fa91c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 9 22:40:52 2002 +0000

    Don't bother with man page.
    
    CVS patchset: 5310
    CVS date: 2002/02/09 22:40:52

commit d83891c743e83ced7e6773f37d5e524840702835
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 9 22:39:29 2002 +0000

    Sync with 4.0.4, splint clean.
    
    CVS patchset: 5309
    CVS date: 2002/02/09 22:39:29

commit 1cf6127e8194d154f1e7e28c40761901531c2229
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 9 20:09:59 2002 +0000

    Ignore built files.
    
    CVS patchset: 5308
    CVS date: 2002/02/09 20:09:59

commit 65d033ec86e8b0322f7016dd7a1cc91aa4ec32f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 9 20:08:32 2002 +0000

    Update to rpm-4.0.x API.
    
    CVS patchset: 5307
    CVS date: 2002/02/09 20:08:32

commit 8ddeef05cd90c5b381d2ebea6b6b35a3000b553c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 9 19:21:34 2002 +0000

    Capture rpm-3.0.3 examples from "Maximum RPM".
    
    CVS patchset: 5306
    CVS date: 2002/02/09 19:21:34

commit 380b21d69e86fc34f9785369043b3933ec0df645
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 7 16:55:01 2002 +0000

    Sync with rpm-4.0.4.
    
    CVS patchset: 5303
    CVS date: 2002/02/07 16:55:01

commit 56de656223afce0b119f4c44addaaa5642f3ed52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 4 23:29:59 2002 +0000

    - generate index for pkgid (aka Sigmd5) tag, query/verify by pkgid.
    - generate index for hdrid (aka Sha1header) tag, query/verify by hdrid.
    - generate index for fileid (aka Filemd5s) tag, query/verify by fileid.
    - query/verify by install transaction id.
    
    CVS patchset: 5300
    CVS date: 2002/02/04 23:29:59

commit 14bdb24e993893d0a65cf14956c00eb7d1edb02b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 4 18:07:52 2002 +0000

    1) added sprintf method to headers
    2) added setVerbosity()
    
    CVS patchset: 5298
    CVS date: 2002/02/04 18:07:52

commit 696c5d9d67e4bde344b921c94ffad5a8ad075ce8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 4 16:53:51 2002 +0000

    rollback changes from 4.0.4.
    
    CVS patchset: 5297
    CVS date: 2002/02/04 16:53:51

commit 81d60b470679acaab73d37f6a2f3f2dc6b3cba60
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 2 22:45:41 2002 +0000

    Sync with rpm-4.0.4 rollbacks.
    
    CVS patchset: 5293
    CVS date: 2002/02/02 22:45:41

commit ff7a19b2bd00ef66ee702136f2365fae8f713966
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 1 15:19:44 2002 +0000

    - permit args to be hidden within %%__find_{requires,provides}.
    - a couple more perl.{prov,req} fiddles.
    
    CVS patchset: 5289
    CVS date: 2002/02/01 15:19:44

commit d52d65e9f2d9087b9db306315c217d52e085a77f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 30 22:19:56 2002 +0000

    - legacy: configurable whiteout for known Red Hat dependency loops.
    - perl.req: don't mis-generate dependencies like perl(::path/to/foo.pl).
    
    CVS patchset: 5286
    CVS date: 2002/01/30 22:19:56

commit 64e5b924aaa72ac46440f9bb3fc27db118cff671
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 28 16:16:27 2002 +0000

    popt PAIN, sigh.
    
    CVS patchset: 5283
    CVS date: 2002/01/28 16:16:27

commit e1a7a8a081480bb938fa94118d2686f657516f87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 28 15:51:06 2002 +0000

    Transaction rollbacks from rpm-4.04, (sanity flush).
    
    CVS patchset: 5281
    CVS date: 2002/01/28 15:51:06

commit 6ab55413243ab347f4c3cc09c33ce329bc058b08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 28 15:18:18 2002 +0000

    Avoid accidental collisions with POPT_BIT_SET for flags in popt tables.
    
    CVS patchset: 5277
    CVS date: 2002/01/28 15:18:18

commit 9b1df115e358f4925015f8ca4742cb7aa3fcffb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 28 15:08:56 2002 +0000

    Teach autogen.sh about beecrypt.
    Use rpm optflags when compiling beecrypt.
    
    CVS patchset: 5275
    CVS date: 2002/01/28 15:08:56

commit 69e97f28a018b37580e1d6daad02a38875592f92
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 27 16:49:06 2002 +0000

    Merge from rpm-4.0.4.
    - trap SIGILL for ppc64 inline asm voodoo fix from cross-dressed ppc32.
    - fix: fancy hash fiddles if not a tty.
    - fix: handle /.../ correctly in rpmCleanPath().
    
    CVS patchset: 5274
    CVS date: 2002/01/27 16:49:06

commit 0bbb7bb94e340b22f584c9ebd8a1f667d68217bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 23 00:58:47 2002 +0000

    - turn on auto-generated perl requirements (#58519, #58536, #58537).
    Sanity.
    
    CVS patchset: 5265
    CVS date: 2002/01/23 00:58:47

commit c74fa2496545a34868e93ab830b304033781cde3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 18 22:51:30 2002 +0000

    - missing key(s) on keyring when verifying a signature is now an error.
    - remove dependency whiteout.
    - splint fiddles.
    
    CVS patchset: 5255
    CVS date: 2002/01/18 22:51:30

commit 3ef59667d3d4c6e2c4a64d53dc60472abb607e26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 17 20:11:42 2002 +0000

    Resync with db-4.0.14 (and what's on the rpm-4_0 branch).
    
    CVS patchset: 5254
    CVS date: 2002/01/17 20:11:42

commit 3e0d0877ffe376e5187a173441a5f2a9ad68de49
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 11 23:03:22 2002 +0000

    - permit subset installs for %lang colored hardlink file sets.
    
    CVS patchset: 5252
    CVS date: 2002/01/11 23:03:22

commit cbcc2cc4676f33b926f93cd0f89350c8d50062b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 10 19:16:54 2002 +0000

    - fix: signing multiple times dinna work, discard immutable region.
    - remove poptmodule.so for separate packaging.
    
    CVS patchset: 5250
    CVS date: 2002/01/10 19:16:54

commit 0776a0c42584f85620e0ed12521d2acb1ef4ceef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 7 20:01:00 2002 +0000

    - autodetect python 1.5/2.2.
    
    CVS patchset: 5242
    CVS date: 2002/01/07 20:01:00

commit a6faa04f39519b65f122883de1673824e5c9105f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 7 18:36:23 2002 +0000

    - Depends should use CDB if configured.
    
    CVS patchset: 5241
    CVS date: 2002/01/07 18:36:23

commit ce922f5bdf08eb9058c7ba60c551df2704ae4c26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 6 22:12:44 2002 +0000

    - handle lazy db open's in chroot with absolute path, not prefix strip.
    
    CVS patchset: 5239
    CVS date: 2002/01/06 22:12:44

commit 350d7592de623c3c236e45c103981d1e55f5e5d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 6 02:23:33 2002 +0000

    - sparc: make dbenv per-rpmdb, not per-dbi.
    
    CVS patchset: 5237
    CVS date: 2002/01/06 02:23:33

commit cd622ba0de30cdd85658bb2fe007c5ed02e89e23
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 5 18:41:05 2002 +0000

    Spelling error.
    
    CVS patchset: 5234
    CVS date: 2002/01/05 18:41:05

commit f345a8f37f08153af3c787e48d2c215f17b26f77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 5 03:23:42 2002 +0000

    Compute parent and no. of children for each package.
    Use rpmsort to display equivalence tree using graphwiz.
    
    CVS patchset: 5232
    CVS date: 2002/01/05 03:23:42

commit a6bf63789aceb747d6de0aadd15795ba98ef48cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 4 18:34:04 2002 +0000

    Use rpmsort to display dependencies for dotty from graphviz.
    Build rpmsort by default.
    
    CVS patchset: 5231
    CVS date: 2002/01/04 18:34:04

commit 6ac07ef3742ae462999ae839adcfe908eb8824b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 27 21:04:37 2001 +0000

    - simple automake wrapper for zlib.
    
    CVS patchset: 5230
    CVS date: 2001/12/27 21:04:37

commit 0e58e87c7af3427ffe9252ac9ce2e652160299bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 27 21:00:17 2001 +0000

    - simple automake wrappers for zlib.
    - expose various comments for doxygen digestification.
    
    CVS patchset: 5229
    CVS date: 2001/12/27 21:00:17

commit a3b362c466a12488fffe2f6dd4fffb728da2b0c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 20 16:28:46 2001 +0000

    - solaris: translate i86pc to i386 (#57182).
    - fix: %GNUconfigure breaks with single quotes (#57264).
    - fix: typo in find-requires.
    - tru64 compiler message cleanup.
    - add buildarch lines for hppa (#57728).
    
    CVS patchset: 5228
    CVS date: 2001/12/20 16:28:46

commit 7940b1b4a5eb6a0371651904095e9c6b06206de1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 19 19:39:35 2001 +0000

    Do "strip -g".
    
    CVS patchset: 5226
    CVS date: 2001/12/19 19:39:35

commit c4a7546f0739524cb0d2a71f2d1d2e5f074e91ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 19 19:35:11 2001 +0000

    - add getmntent define, don't expand fnmatch.
    
    CVS patchset: 5224
    CVS date: 2001/12/19 19:35:11

commit 53ce5564b5301c79af54c933d092524e946102fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 9 20:17:38 2001 +0000

    - solaris: translate i86pc to i386 (#57182).
    
    CVS patchset: 5218
    CVS date: 2001/12/09 20:17:38

commit 85f676ed6637f2ff677d6b32c0e1f547df7fe9ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 8 17:21:36 2001 +0000

    - lclint-3.0.0.19 fiddles.
    
    CVS patchset: 5217
    CVS date: 2001/12/08 17:21:36

commit 58f451f3c3240f76874e27bff8325dea88134e7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 8 17:12:12 2001 +0000

    - 1st crack at making zlib rsync friendly.
    
    CVS patchset: 5216
    CVS date: 2001/12/08 17:12:12

commit 5a0508d51fcf84412a8f6a88a09d6dd63a16e47e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 6 18:34:49 2001 +0000

    - 3 madvise calls and a 16Mb mmapped buffer == ~5% install speedup. Wow.
    - use db-4.0.14 final internally.
    
    CVS patchset: 5215
    CVS date: 2001/12/06 18:34:49

commit d7e49147a28f795312b330cbfe68e60798212a93
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 6 15:08:48 2001 +0000

    Merge in orphans from db-4.0.14.
    
    CVS patchset: 5214
    CVS date: 2001/12/06 15:08:48

commit ebaa5e2c5402e0cb586cea44d470aafe59adbbd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 6 00:07:07 2001 +0000

    Initial revision
    
    CVS patchset: 5213
    CVS date: 2001/12/06 00:07:07

commit 82a945940d6ab360f5d6f7e7c80e145a08e8a0a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 24 15:36:50 2001 +0000

    - protect brp-compress against /bin/ls output ambiguity (#56656,#56336).
    
    CVS patchset: 5208
    CVS date: 2001/11/24 15:36:50

commit e98018b4d8730a80b2d320e6393f9129b2d13770
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 23 15:49:11 2001 +0000

    - fix a couple dinky memory leaks.
    - build with an internal zlib for now.
    
    CVS patchset: 5207
    CVS date: 2001/11/23 15:49:11

commit 9d66753a5b99ecd9ae022c5ff42eec58b57d8c13
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 22 21:12:46 2001 +0000

    More annotations.
    
    CVS patchset: 5206
    CVS date: 2001/11/22 21:12:46

commit d77eeb993d5f2f63facad07452169f547f614503
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 22:01:55 2001 +0000

    Annotations, pass 0.
    
    CVS patchset: 5205
    CVS date: 2001/11/21 22:01:55

commit 2b8138a6fe8dbc9a031f7a2553652fb24d1120e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 21:06:35 2001 +0000

    Orphan.
    
    CVS patchset: 5204
    CVS date: 2001/11/21 21:06:35

commit a3a4ece5a61f258cb5c74085ef4d65be3750b7b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 21:06:17 2001 +0000

    Sanitize the speedup patch a bit.
    
    CVS patchset: 5203
    CVS date: 2001/11/21 21:06:17

commit b20a562f23b0969b6c7e7679a6c82fc801fbbd22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 20:47:36 2001 +0000

    Apply speedup patch from Ben LaHaise <bcrl@redhat.com> from
        http://touchme.toronto.redhat.com/~bcrl/zlib-x86-opt-20010103C.diff
    
    CVS patchset: 5202
    CVS date: 2001/11/21 20:47:36

commit a758bedad830501ddc8d7c277f6f92645c1a7e18
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 20:36:10 2001 +0000

    Painless lclint configuration.
    
    CVS patchset: 5201
    CVS date: 2001/11/21 20:36:10

commit 28818cf7c860de7858e490b5e2c59b1e752abf47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 19:49:47 2001 +0000

    Patches from Red Hat 7.2 zlib-1.1.3-24 package.
    
    CVS patchset: 5200
    CVS date: 2001/11/21 19:49:47

commit d17885422f51f54f78426e112ae08b5934ff52a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 21 19:43:12 2001 +0000

    Initial revision
    
    CVS patchset: 5197
    CVS date: 2001/11/21 19:43:12

commit a224782884d6ab6f147033277a93e6a4f06fd6a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 19 22:45:35 2001 +0000

    - header handling moved to librpmdb to avoid linkage loops.
    
    CVS patchset: 5193
    CVS date: 2001/11/19 22:45:35

commit ceed8357c7f11f2b04c491011244feba416e9fa7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 18 17:49:21 2001 +0000

    - convert file md5sum's to binary on the fly, reducing memory footprint.
    
    CVS patchset: 5192
    CVS date: 2001/11/18 17:49:21

commit 06522b9c1e615d3c7e37ceb5ac89b518b6ec3a80
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 18 11:46:22 2001 +0000

    1st element in tsort candidate queue was not marked.
    
    CVS patchset: 5191
    CVS date: 2001/11/18 11:46:22

commit aaaf5f8e316069cc613b80cc0be8e46267e3cd65
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 17 20:44:16 2001 +0000

    - use TR_REMOVED relations as well as TR_ADDED for ordering.
    - drop requirement that removed packages immediately follow added.
    - hybrid chainsaw/presentation ordering algorithm.
    
    CVS patchset: 5190
    CVS date: 2001/11/17 20:44:16

commit 945d5a740cf8d933aec5f89169715ba2e79ca2e7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 17 08:02:17 2001 +0000

    - methods to complete making transactionElement opaque.
    
    CVS patchset: 5189
    CVS date: 2001/11/17 08:02:17

commit 6a4d22da653a584fc06790b9846e7ab754ac43ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 17 00:52:45 2001 +0000

    Continue making transactionElement opaque.
    
    CVS patchset: 5188
    CVS date: 2001/11/17 00:52:45

commit c2b98f0e2c02bc17590bcafd6ab1938af0d9c550
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 23:22:24 2001 +0000

    Move addTE/delTE to rpmte.c.
    
    CVS patchset: 5187
    CVS date: 2001/11/16 23:22:24

commit 7d44f133958d5e4d8a6e1bd5e4b925be3bbdad48
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 22:42:19 2001 +0000

    - use array of pointers rather than contiguous array for ts->order.
    
    CVS patchset: 5186
    CVS date: 2001/11/16 22:42:19

commit bf2a991c6721bd498c18b4f64362e5475c31c529
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 20:26:01 2001 +0000

    Create rpmte.[ch].
    
    CVS patchset: 5185
    CVS date: 2001/11/16 20:26:01

commit 2bc33264387266c1a1ac2b9f6958e96a268d8b15
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 19:26:33 2001 +0000

    - annotations to make a transactionElement opaque.
    
    CVS patchset: 5184
    CVS date: 2001/11/16 19:26:33

commit eda96fd190ca2f6b43bf1e29887dbdbf8ceebaf0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 13:58:21 2001 +0000

    Eliminate dead code.
    
    CVS patchset: 5183
    CVS date: 2001/11/16 13:58:21

commit 7f1fd8aabc3fc022bb8332a500165e4e21c3534c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 16 00:26:30 2001 +0000

    - transaction.c: use wrappers/iterators to access TFI_t.
    
    CVS patchset: 5182
    CVS date: 2001/11/16 00:26:30

commit 846ed75f9b1b0c4c916787aa79477e98be02d30e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 15 18:22:33 2001 +0000

    - tweak overlapped file fingerprint retrieval for speed.
    
    CVS patchset: 5181
    CVS date: 2001/11/15 18:22:33

commit f50fc15ba017e156b11d94ea18c7373b370dc5e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 14 00:14:01 2001 +0000

    depends.c and rpmal.c have opaque TFI_t.
    
    CVS patchset: 5180
    CVS date: 2001/11/14 00:14:01

commit b1c03797ebf5646187b13fd73a57f8e8571674d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 13 19:04:33 2001 +0000

    - split file info tag sets into rpmfi.c.
    - create toy TFI_t iterators.
    
    CVS patchset: 5179
    CVS date: 2001/11/13 19:04:33

commit 49f98b8daed5ea05f585495d2df856a56b0567fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 12 22:54:39 2001 +0000

    transaction.c: lclint cleanups.
    
    CVS patchset: 5178
    CVS date: 2001/11/12 22:54:39

commit 21a35690b3d6e79206ae62724cb8fbd538be57cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 12 20:51:05 2001 +0000

    - commit to using rpmDepSet and TFI_t, not header.
    - lclint rpmio fiddles.
    
    CVS patchset: 5177
    CVS date: 2001/11/12 20:51:05

commit 55ffccbddecade7b99992900cec5dd2aef3b059c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 22:51:00 2001 +0000

    - unify rpmFNSet into TFI_t.
    - eliminate header reference in rpmtransAddPackage, use TFI_t data.
    
    CVS patchset: 5176
    CVS date: 2001/11/11 22:51:00

commit 1eb0503123bfd829d5122e54353a000d89333a10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 20:45:20 2001 +0000

    Replace loadFi with fiNew, freeFi with fiFree.
    
    CVS patchset: 5175
    CVS date: 2001/11/11 20:45:20

commit ac9f0fea036a08c071d28d2056fc9646ec7e679c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 16:17:57 2001 +0000

    - factor per-transactionElement data out of TFI_t through pointer ref.
    
    CVS patchset: 5174
    CVS date: 2001/11/11 16:17:57

commit b97f1cf32b47de9019f93e229207f1619b93fd49
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 12:47:08 2001 +0000

    - common structure elements for unification of TFI_t and rpmFNSet.
    
    CVS patchset: 5173
    CVS date: 2001/11/11 12:47:08

commit 2928a5b00d55c07df73971f7d2f845bc0618380f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 03:15:47 2001 +0000

    Discard ts->addedPackages at end of rpmdepOrder() for now.
    
    CVS patchset: 5172
    CVS date: 2001/11/11 03:15:47

commit 7ea494327675e59d4f0998233698602312075dee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 02:50:31 2001 +0000

    Iterate over TR_REMOVED transactionElement stripped data, don't hit rpmdb.
    
    CVS patchset: 5171
    CVS date: 2001/11/11 02:50:31

commit 8d08d4a43b277f8684ebbad723c9fcbe9054be72
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 01:46:43 2001 +0000

    Rip headers out of addedPackages.
    
    CVS patchset: 5170
    CVS date: 2001/11/11 01:46:43

commit 0abf36fd4d042c1ee93aa0bdd23b96999952868b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 11 00:11:33 2001 +0000

    Rip alGetHeader() out of depends.c.
    
    CVS patchset: 5169
    CVS date: 2001/11/11 00:11:33

commit a086ad7dd1cb93321faa1b863622123edd2287b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 10 19:24:19 2001 +0000

    Start removing alGetHeader.
    
    CVS patchset: 5168
    CVS date: 2001/11/10 19:24:19

commit 431499aecadbc9effe9559fb09ba9e77aca8865c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 10 01:39:50 2001 +0000

    - strip header tags for erased as well as installed transactionElements.
    
    CVS patchset: 5167
    CVS date: 2001/11/10 01:39:50

commit eb1789dad7eec05197ba2a7f838d8587814d8526
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 9 23:13:50 2001 +0000

    - no-brainer refcounts for rpmDepSet and rpmFNSet objects.
    
    CVS patchset: 5166
    CVS date: 2001/11/09 23:13:50

commit 56a319f1aa4d8965a3ecd0681a76f0adb9e04311
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 9 20:41:18 2001 +0000

    - header tag sets are per-transactionElement, not per-availablePackage.
    
    CVS patchset: 5165
    CVS date: 2001/11/09 20:41:18

commit 978a87ed82871b869addf3cd0e8e3fd43546f65b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 9 19:22:29 2001 +0000

    Start deconstructing TFI_t in favor of a per-transactionElement rpmFNSet.
    
    CVS patchset: 5164
    CVS date: 2001/11/09 19:22:29

commit ac15c68ca55ee520177bfb0e1576b1069d9fbccf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 9 17:22:08 2001 +0000

    - no-brainer refcounts for rpmProblemSet object.
    
    CVS patchset: 5163
    CVS date: 2001/11/09 17:22:08

commit eb10f05b8587e931bd261e99241cac2b8649d4dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 8 22:04:35 2001 +0000

    - rip out rpmDependencyConflict, replace with rpmProblem instead.
    
    CVS patchset: 5162
    CVS date: 2001/11/08 22:04:35

commit 0467af9ab587ca2f8bcb376d53a30d7857d7809a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 8 16:28:35 2001 +0000

    Remove dead code.
    
    CVS patchset: 5161
    CVS date: 2001/11/08 16:28:35

commit ae2e9b1bad7d82c423fc5a2192e05ca4f0f6d9fb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 8 00:12:49 2001 +0000

    - linear search on added package provides is dumb.
    - discarding entire signature header when using --addsign is dumb.
    - typedef the fuile name/python object "key" throughout as fnpyKey.
    - start ripping rpmDependencyConflict out of the API.
    
    CVS patchset: 5160
    CVS date: 2001/11/08 00:12:49

commit e680cce3e8a80425586c6e2448f57a48606d220b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 6 22:46:26 2001 +0000

    - fix: harmless typo in db3 chroot hack.
    - fix: big-endian's with sizeof(time_t) != sizeof(int_32) mtime broken.
    - fix: add Korean message catalogs (#54473).
    - add RPHNPLATFORM and PLATFORM tags.
    - linear search on added package provides is dumb.
    - discarding entire signature header when using --addsign is dumb.
    
    CVS patchset: 5159
    CVS date: 2001/11/06 22:46:26

commit 0724785fb3a9b4d4fc1d10c6e6238b70f9752c56
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 5 14:09:22 2001 +0000

    Start merging file info into dependency set.
    
    CVS patchset: 5157
    CVS date: 2001/11/05 14:09:22

commit a5a5eed7c46d5f54e443b9ea0556710055cfb07b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 5 03:44:05 2001 +0000

    Start deconstructing availablePackage list.
    
    CVS patchset: 5156
    CVS date: 2001/11/05 03:44:05

commit 37a303a3a7d48d84c6750b51f8f5f2a62aaf659d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 4 22:00:11 2001 +0000

    - rpmal: availablePackage is totally opaque, alKey with index replaces.
    
    CVS patchset: 5155
    CVS date: 2001/11/04 22:00:11

commit 4c422570c0ac7bc059349eba1774d5bff347515f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 4 17:00:00 2001 +0000

    - rpmds: move trigger dependencies into a rpmDepSet as well.
    
    CVS patchset: 5154
    CVS date: 2001/11/04 17:00:00

commit bab3637c98da3722bab8598233113cb5c8f763cc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 4 15:43:26 2001 +0000

    - rpmds: create dsProblem(), dsiGetDNEVR() retrieved DNEVR, not N.
    - depends.h: hack around teIterator() et al from include for now.
    
    CVS patchset: 5153
    CVS date: 2001/11/04 15:43:26

commit 358848088d23d8c1389ed75f3cf9a8804c6baa43
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 3 02:34:15 2001 +0000

    - depends.c: rpmDepSet is (almost) opaque, move to rpmds.[ch].
    
    CVS patchset: 5152
    CVS date: 2001/11/03 02:34:15

commit 95555cf3d4c02f8649a271d0c1f6699f56c9c9f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 2 23:17:54 2001 +0000

    - rpmRangesOverlap renamed to dsCompare, add dsNotify method as well.
    
    CVS patchset: 5151
    CVS date: 2001/11/02 23:17:54

commit b9520f3a9420c1738eb1691406b141029ac959ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 2 21:01:25 2001 +0000

    - create toy rpmDepSet iterators.
    
    CVS patchset: 5150
    CVS date: 2001/11/02 21:01:25

commit 973638fdc2ea244084ff39d6544aeccf85501812
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 2 05:36:48 2001 +0000

    - create rpmDepSet constructors/destructors.
    
    CVS patchset: 5149
    CVS date: 2001/11/02 05:36:48

commit 86fee1906066b9bac00449acdce05f845a0c89db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 2 03:13:35 2001 +0000

    - invent some toy transactionElement iterators.
    
    CVS patchset: 5148
    CVS date: 2001/11/02 03:13:35

commit b0e16172c3b42c758fd411650a8c2bbbf791a507
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 1 23:18:15 2001 +0000

    - depends.c: availablePackage is (almost) opaque.
    
    CVS patchset: 5147
    CVS date: 2001/11/01 23:18:15

commit fe68f3c0cd84698d54764fd24a1b91a28e8703f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 1 20:15:10 2001 +0000

    - add header refcount annotations throughout.
    
    CVS patchset: 5146
    CVS date: 2001/11/01 20:15:10

commit df89c3d2009d13e32b0aec7ccda28219d92d2c33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 31 22:19:42 2001 +0000

    Do tsort on transactionElement's, not availaiblePackage's.
    
    CVS patchset: 5145
    CVS date: 2001/10/31 22:19:42

commit a15e74ecd67b7df026ce9bdb1204ef19ce5d4fde
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 31 04:00:58 2001 +0000

    More unraveling of availablePackage from depends.c.
    
    CVS patchset: 5144
    CVS date: 2001/10/31 04:00:58

commit 93ab09b3d9cc6187466456457e8c102c1e6bec0e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 30 18:55:39 2001 +0000

    Create rpmDepSet.
    
    CVS patchset: 5143
    CVS date: 2001/10/30 18:55:39

commit 9ea554f799af5914cee5c34c82750a7f0918d30a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 30 18:00:21 2001 +0000

    - transaction.c: cleanly uncouple availablePackage from TFI_t.
    
    CVS patchset: 5142
    CVS date: 2001/10/30 18:00:21

commit bdae587b2ea0dc058d178cfb6a4f102fa541a0ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 29 23:39:51 2001 +0000

    - add some dinky availablePackage methods.
    
    CVS patchset: 5141
    CVS date: 2001/10/29 23:39:51

commit e62f50c8a585566d68bbfdbaf1eead46630e3ca9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 29 20:12:35 2001 +0000

    - start hiding availablePackage data/methods in rpmal.c/rpmal.h.
    
    CVS patchset: 5140
    CVS date: 2001/10/29 20:12:35

commit 89c1ce1325ed7391e3253aab3eb8c176af38781d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 29 16:39:13 2001 +0000

    Remove DYING code.
    
    CVS patchset: 5139
    CVS date: 2001/10/29 16:39:13

commit 87b17923e66310483ce1ed2cf5f54adcb80e9e23
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 29 16:35:01 2001 +0000

    Gather all problem handling routines in one place.
    
    CVS patchset: 5138
    CVS date: 2001/10/29 16:35:01

commit 966fabbc441b5d859ecda64fe926be3912603fe5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 28 22:17:47 2001 +0000

    - memory indices for dependency check are typedef'd and abstract'd.
    - no-brainer refcounts for fi object, debug the mess.
    - dump the header early in transaction, recreate fi before installing.
    
    CVS patchset: 5137
    CVS date: 2001/10/28 22:17:47

commit c1d367a0941b3778a84252691bbd294a0a8be4b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 27 22:31:10 2001 +0000

    - transaction sets cerated in cli main.
    - no-brainer refcounts for ts object.
    
    CVS patchset: 5136
    CVS date: 2001/10/27 22:31:10

commit 7402ce15464cc59617177a2af2799c36c8ef60fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 27 20:09:20 2001 +0000

    - legacy signatures always checked where possible on package read.
    - wire transactions through rpmcli build modes.
    - lazy rpmdb open/close through transaction methods (mostly anyways).
    - no-brainer refcounts for rpmdb object.
    - check added header against transaction set, replace if newer.
    
    CVS patchset: 5135
    CVS date: 2001/10/27 20:09:20

commit 4a1a5e81483a2f81b22c3a0d2cb054d93055998e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 26 04:16:19 2001 +0000

    - wire transactions through rpmcli install/erase modes.
    - legacy signatures always checked on package read.
    
    CVS patchset: 5134
    CVS date: 2001/10/26 04:16:19

commit f03b462b1ef0ad128b7732c0492eefeff9c2248e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 25 01:36:32 2001 +0000

    - legacy signatures always checked on -qp and -Vp.
    
    CVS patchset: 5133
    CVS date: 2001/10/25 01:36:32

commit cdeb78fb1a97bee2778e873725fe452ba5d79786
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 24 13:48:55 2001 +0000

    - wire transactions through rpmcli query/verify modes.
    
    CVS patchset: 5132
    CVS date: 2001/10/24 13:48:55

commit 72f92dd7448cfb1394a40a0fc5c302cdd31753f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 23 20:52:51 2001 +0000

    - wire transactions through rpmcli signature modes.
    
    CVS patchset: 5131
    CVS date: 2001/10/23 20:52:51

commit 3b820b2d5354fffc824218ee3750a1a9435f0a8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 23 16:48:20 2001 +0000

    - generate an rpm header on the fly for imported pubkeys.
    
    CVS patchset: 5130
    CVS date: 2001/10/23 16:48:20

commit 01baa77546d1efce05edecfabef82c5610ed559e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 21 21:48:23 2001 +0000

    Orphans.
    
    CVS patchset: 5129
    CVS date: 2001/10/21 21:48:23

commit 1ad22a0bc4efaad2113975267bf5bf0708cb870e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 21 21:43:32 2001 +0000

    - all symbols but hdrVec are now forward references in linkage.
    
    CVS patchset: 5128
    CVS date: 2001/10/21 21:43:32

commit d5dd3dfbc6f0e9128e055eaf84635c85de7b8139
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 20 22:31:09 2001 +0000

    - stupid macros to configure public key file paths.
    
    CVS patchset: 5127
    CVS date: 2001/10/20 22:31:09

commit 00a348f332021405f90b86748fe209bf1e820830
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 20 20:28:56 2001 +0000

    - add :base64 and :armor format extensions, dump binary tags in hex.
    - proof-of-concept pubkey retrieval from RPM-{PGP,GPG}-KEY.
    
    CVS patchset: 5126
    CVS date: 2001/10/20 20:28:56

commit d589b29c7fd3fa9c77f4ba6810fe8654cf67e2a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 22:47:40 2001 +0000

    Permit multiple, simultaneous, digests on a single FD_t.
    
    CVS patchset: 5125
    CVS date: 2001/10/19 22:47:40

commit e2dfa4f2d4f643ff2c47adfc8ae6b4b700c62b8b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 19:51:18 2001 +0000

    - beecrypt is at least as good as pgp/gpg on verify, pull the plug.
    
    CVS patchset: 5124
    CVS date: 2001/10/19 19:51:18

commit e2a842407516209b3447997d19879848d074c3d6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 13:51:20 2001 +0000

    Start ripping gpg/pgp on signature verify paths.
    
    CVS patchset: 5123
    CVS date: 2001/10/19 13:51:20

commit ca1d809cb1d9125b7029e2d5d378d2a04955f178
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 01:35:57 2001 +0000

    Rewire digests, step 2.
    
    CVS patchset: 5122
    CVS date: 2001/10/19 01:35:57

commit aaaaf45ba6713203598c5f0c1373bdb11f5e41fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 01:34:52 2001 +0000

    New file from db-4.0.7 to be ignored.
    
    CVS patchset: 5121
    CVS date: 2001/10/19 01:34:52

commit 308f022df4ceee11a0cae80521ff1ddbcbfadcee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 19 01:24:21 2001 +0000

    Rewire digests, step 1.
    
    CVS patchset: 5120
    CVS date: 2001/10/19 01:24:21

commit 73df151e8fb2df5b6a57eaf944fabebad0fd47d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 18 16:39:54 2001 +0000

    Scaffholding for dumping full headers carried through transaction.
    
    CVS patchset: 5119
    CVS date: 2001/10/18 16:39:54

commit d57a29baac08c4cc929c9755cfbc5c93d56a0f4d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 17 16:43:36 2001 +0000

    Converging on lclint-3.0.17 strict level.
    
    CVS patchset: 5118
    CVS date: 2001/10/17 16:43:36

commit 96a3f7a55d444296f97c3e28c8d810e220e1cb9f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 16 17:42:18 2001 +0000

    Factor -type problems into explicit code annotations.
    
    CVS patchset: 5117
    CVS date: 2001/10/16 17:42:18

commit 9f45bcd3ecf3f3548ed7a8490b882a6ca9ffeb94
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 16 14:58:57 2001 +0000

    More lclint annotations.
    
    CVS patchset: 5116
    CVS date: 2001/10/16 14:58:57

commit cafccc00586497bdc9c5a4c12b19709fbd417976
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 21:07:08 2001 +0000

    - use only header methods, routines are now static.
    
    CVS patchset: 5115
    CVS date: 2001/10/15 21:07:08

commit 14c1b443f6697a32c672b3a7e48ded98929431f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 19:27:13 2001 +0000

    More branchstate lclint annotations.
    
    CVS patchset: 5114
    CVS date: 2001/10/15 19:27:13

commit 72471f2e54686202a9862a3fd3bd6d0135d81d2a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 17:53:34 2001 +0000

    Explicit branchstate annotations.
    
    CVS patchset: 5113
    CVS date: 2001/10/15 17:53:34

commit 3f462f318fd2f602fddb1a95e5d652e67aafa49e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 04:22:09 2001 +0000

    - upgrade to db-4.0.7.
    
    CVS patchset: 5112
    CVS date: 2001/10/15 04:22:09

commit 4d30baadae68f6454ca01d11903225450e98d88f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 03:54:05 2001 +0000

    Resolve conflicts.
    
    CVS patchset: 5111
    CVS date: 2001/10/15 03:54:05

commit db7110722d3317cc81dd11c104dd45ac8c328e20
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 03:47:21 2001 +0000

    Initial revision
    
    CVS patchset: 5110
    CVS date: 2001/10/15 03:47:21

commit 033e2a186a797374caeb2295a00dee5eef202ffc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 03:28:09 2001 +0000

    Typo.
    
    CVS patchset: 5107
    CVS date: 2001/10/15 03:28:09

commit d8dc44f36377c59164d19106f0f93843ea5b3a09
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 15 03:22:10 2001 +0000

    lclint fiddles to annotate globals.
    
    CVS patchset: 5106
    CVS date: 2001/10/15 03:22:10

commit 4b67d7621c20e1f2c5aa1ebdf7bb26eb3a6ae0d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 13 22:01:38 2001 +0000

    More lclint annotations.
    
    CVS patchset: 5105
    CVS date: 2001/10/13 22:01:38

commit 525f4cb8b1317120c36a75f47f796d285f69078c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 13 19:35:58 2001 +0000

    - ratchet up to lclint "strict" level.
    
    CVS patchset: 5104
    CVS date: 2001/10/13 19:35:58

commit 2d312d19c14300224ea85ea4fd62a0844d1af573
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 11 21:31:56 2001 +0000

    - proof-of-concept PGP/RSA verification for legacy signatures.
    
    CVS patchset: 5103
    CVS date: 2001/10/11 21:31:56

commit 61b8964fb92c2b9fd55652e11decabd53df89813
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 8 16:12:33 2001 +0000

    - upgrade to beecrypt-2.2.0pre.
    
    CVS patchset: 5102
    CVS date: 2001/10/08 16:12:33

commit 49fb1d34f1cad5cc4360d120aa3034bf8b0f8f68
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 8 15:48:30 2001 +0000

    Lclint clean.
    
    CVS patchset: 5101
    CVS date: 2001/10/08 15:48:30

commit 4c15c4d2740d44d437648b17ef89a34b366bc654
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 8 14:48:22 2001 +0000

    Resolve conflicts.
    
    CVS patchset: 5100
    CVS date: 2001/10/08 14:48:22

commit d14c5439529865c90d2a7e31c0dba5f5c9ff1765
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 8 13:31:57 2001 +0000

    Initial revision
    
    CVS patchset: 5099
    CVS date: 2001/10/08 13:31:57

commit 71dff1a731923b405a9a189cb087f7fe5e013290
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 5 20:39:50 2001 +0000

    - proof-of-concept GPG/DSA verification for legacy signatures.
    
    CVS patchset: 5097
    CVS date: 2001/10/05 20:39:50

commit 726fff1bd1dc3f74a1f4b7f900c1075b6f32ca31
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 5 05:10:12 2001 +0000

    Test vectors for GPG V3 DSA signature of "abc".
    
    CVS patchset: 5096
    CVS date: 2001/10/05 05:10:12

commit 5d3d83bffd8ad028b278038c372e124efd65d905
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 5 05:05:28 2001 +0000

    Remove swab'ed versions of sethex routines, not yet needed.
    
    CVS patchset: 5095
    CVS date: 2001/10/05 05:05:28

commit 186fe8da935aa3e257677d156063d5703786b2a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 3 16:11:27 2001 +0000

    Fix segfault with "rpm --rebuild foo.spec".
    
    CVS patchset: 5094
    CVS date: 2001/10/03 16:11:27

commit 105dbc3c83dc569cc46f5ff76bc154cda9e6e015
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 2 18:29:43 2001 +0000

    Add b32bswabhex/mp32nswabhex.
    
    CVS patchset: 5092
    CVS date: 2001/10/02 18:29:43

commit c91fc958592f719722f116883f24613cc090a2f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 1 17:40:12 2001 +0000

    Display signature and public key internals, calculate SHA1 digest as well.
    Display private signature internals in tkey.
    Add dumpasn to rpmio jfor reference.
    
    CVS patchset: 5091
    CVS date: 2001/10/01 17:40:12

commit b7c25b0befd789b6bb1bc1393a04c8e70c36dfba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 29 17:44:45 2001 +0000

    - create RFC-2440 OpenPGP API in rpmio.
    - display signature packets before exec'ing gpg/pgp when verifying.
    
    CVS patchset: 5090
    CVS date: 2001/09/29 17:44:45

commit 9390fb8bff283960b6b0fb675007cd3d0fc9f20a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 29 13:42:58 2001 +0000

    Sanity.
    
    CVS patchset: 5089
    CVS date: 2001/09/29 13:42:58

commit 690d53d79ec6947a0730cb8ff65b360a8995c293
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 29 01:27:22 2001 +0000

    Move OpenPGP constants to rpmio/rpmpgp.h.
    
    CVS patchset: 5088
    CVS date: 2001/09/29 01:27:22

commit e8b918d801e75cb6b580bafa423a720c01c5a9c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 28 00:48:29 2001 +0000

    Bug fixxed, remove the example.
    
    CVS patchset: 5087
    CVS date: 2001/09/28 00:48:29

commit 367788b45e31e08cc493e5d1fa828c6d370f0427
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 28 00:35:50 2001 +0000

    Remove broken asm mp32{even,odd} for now.
    Add the RSA test(s) to beetest.
    
    CVS patchset: 5086
    CVS date: 2001/09/28 00:35:50

commit aeb07623428910e8811818209cc4389cd4296d58
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 27 16:54:57 2001 +0000

    Remove lclint warnings from dsa.[ch].
    
    CVS patchset: 5085
    CVS date: 2001/09/27 16:54:57

commit 524652214da6ed0c6578e3c7ea2f989ee8c99b52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 27 14:40:14 2001 +0000

    Add DSA routines.
    
    CVS patchset: 5084
    CVS date: 2001/09/27 14:40:14

commit 90fb17b3568ef80f14ccb58764c3e7898096dcb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 26 14:45:50 2001 +0000

    - bind beecrypt md5/sha1 underneath rpmio.
    
    CVS patchset: 5083
    CVS date: 2001/09/26 14:45:50

commit 92556605afa18d27318aa526985e231e60ea70d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 25 20:51:34 2001 +0000

    - legacy: drop brokenMD5 support (rrpm-2.3.3 to rpm-2.3.8 on sparc).
    - eliminate DYING code.
    
    CVS patchset: 5082
    CVS date: 2001/09/25 20:51:34

commit cb216009409823affa8e24c880b910fdd9531fb0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 25 16:21:44 2001 +0000

    - drop rpmio/base64.[ch] in favor of beecrypt.
    - drop lib/md5*.[ch] files in favor of beecrypt.
    
    CVS patchset: 5081
    CVS date: 2001/09/25 16:21:44

commit a2830a271c2486a266dfc18490989f0e41cf9d10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 25 16:21:29 2001 +0000

    More lclint fiddles.
    
    CVS patchset: 5080
    CVS date: 2001/09/25 16:21:29

commit 2a420b223d46c4cbc33623e9ce6f08f6e63a67c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 25 14:03:27 2001 +0000

    - drop rpmio/base64.[ch] in favor of beecrypt versions.
    
    CVS patchset: 5079
    CVS date: 2001/09/25 14:03:27

commit 85d220be2365d60bbb0eb56306a794e55c754161
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 25 03:03:23 2001 +0000

    - Start rpm-4.1.
    - Loosely wire beecrypt library into rpm.
    
    CVS patchset: 5078
    CVS date: 2001/09/25 03:03:23

commit 9d555b6216692deeb97eb821e42716a7cd529ae0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 21:53:14 2001 +0000

    Move to lclint-3.0.0.15, revisit and clean up annotations.
    intl/: Add gettext orphans.
    popt/intl/: Add gettext orphans.
    beecrypt: Add beecrypt repository.
    rpmio/tdigest.c: Add beecrypt digest checks.
    
    CVS patchset: 5077
    CVS date: 2001/09/24 21:53:14

commit 76b20cd2f4ebd499766aec27f62089690ac1d073
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 19:17:45 2001 +0000

    Remove dead code.
    Display both GPG/PGP decodes in openpgp.
    
    CVS patchset: 5076
    CVS date: 2001/09/24 19:17:45

commit 9db80726185159ff58598c6be52ca192602323c7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 19:02:24 2001 +0000

    Handle white space in b64{dec,enc}.
    
    CVS patchset: 5075
    CVS date: 2001/09/24 19:02:24

commit 3e3ac9b75fadfd6e79bb7463af51ba94349eafca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 16:52:17 2001 +0000

    Replace b64{enc,dec}.
    
    CVS patchset: 5074
    CVS date: 2001/09/24 16:52:17

commit cd5831cddd9c308aa67ee0cb014c7f2da39326c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 14:56:45 2001 +0000

    Add tests/openpgp and tests/base64bug.
    
    CVS patchset: 5073
    CVS date: 2001/09/24 14:56:45

commit e71e5d2619b0179f2110cd5c6d37e470d9c92a0b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 24 13:03:50 2001 +0000

    Annotate aio_foo routines, clean up mess of workarounds.
    
    CVS patchset: 5072
    CVS date: 2001/09/24 13:03:50

commit e653dd8e8180498a77f0e9371d10d7e90727c2e3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 23 21:06:52 2001 +0000

    annotations for audio/dsp entropy sources.
    
    CVS patchset: 5071
    CVS date: 2001/09/23 21:06:52

commit 039162ac61254a49feffa577e2dccafe4d75707c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 23 15:47:37 2001 +0000

    More lclint fiddles.
    
    CVS patchset: 5070
    CVS date: 2001/09/23 15:47:37

commit 0f7777894493527a5672d0ce09c4855e2b69495f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 23 12:09:48 2001 +0000

    More lclint annotations, now at the strict level with a complete program.
    
    CVS patchset: 5069
    CVS date: 2001/09/23 12:09:48

commit 1eef0782f60f9d8d80be273ace982ad4c2a56d98
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 21 15:07:11 2001 +0000

    - lclint-3.0.0.15 fiddles.
    
    CVS patchset: 5067
    CVS date: 2001/09/21 15:07:11

commit 59a045374df64f3bc62eb200f7d11338ea2787a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 20 20:17:13 2001 +0000

    Orphans
    
    CVS patchset: 5066
    CVS date: 2001/09/20 20:17:13

commit 127af901c36a384da5bd12536fcc3c03d7cb5ef8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 20 20:16:11 2001 +0000

    Doxygen fiddles.
    
    CVS patchset: 5065
    CVS date: 2001/09/20 20:16:11

commit fcc1f6571c7d61b839e3d092b29940bf739c4f4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 19 21:30:01 2001 +0000

    Wire in doxygen doco.
    
    CVS patchset: 5064
    CVS date: 2001/09/19 21:30:01

commit 3f2193ff8fd567ec5bbfcf6d430d371ee9637e5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 19 18:05:47 2001 +0000

    lclint fiddles.
    
    CVS patchset: 5063
    CVS date: 2001/09/19 18:05:47

commit 02c1189d5951c70f632482fc0a674af35e9ea15d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 19 16:16:15 2001 +0000

    Add autogen.sh et al to build from CVS.
    First pass at lclint annotations.
    
    CVS patchset: 5062
    CVS date: 2001/09/19 16:16:15

commit 7aea4d1e958c385d5ecd01638a3f295426ccf15c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 18 19:28:21 2001 +0000

    Create.
    
    CVS patchset: 5061
    CVS date: 2001/09/18 19:28:21

commit 78de87f74cc1a9cfffb9a198509f2e6697b8bca8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 18 19:23:46 2001 +0000

    Initial revision
    
    CVS patchset: 5051
    CVS date: 2001/09/18 19:23:46

commit 38edc494525ccdf25f11ed2288378ba640928900
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 15 21:21:31 2001 +0000

    - close/discard Depends index after rpmdepCheck() use.
    
    CVS patchset: 5049
    CVS date: 2001/09/15 21:21:31

commit da9b21485cd9400883de08b2754bd103f25144da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 15 13:49:11 2001 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 5048
    CVS date: 2001/09/15 13:49:11

commit 2b23209fceb4377bd4c4b5230c580122ffa81b41
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 31 14:02:13 2001 +0000

    - fix: Provides: /path did not work with added packages (#52183).
    - fix: progress bar scaling did not include source rpm count.
    
    CVS patchset: 5038
    CVS date: 2001/08/31 14:02:13

commit 46713343fb02fe669de4ff879e1e3477746c05d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 28 20:33:06 2001 +0000

    - dependency whiteout for libgnomeprint -> gnome-print (ordering only).
    - dependency whiteout for nautilus -> nautilus-mozilla (ordering only).
    
    CVS patchset: 5035
    CVS date: 2001/08/28 20:33:06

commit 64a1d1afdcfce7b401f02eb19e268cd3562ef1ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 27 18:39:17 2001 +0000

    - fix: error message on failed package installs resurrected.
    - python: memory leaks in headerLoad/headerunload bindings.
    - python: retrofit sha1 digest using RPMTAG_SHA1RHN.
    - python: change rhnUnload bindings.
    
    CVS patchset: 5032
    CVS date: 2001/08/27 18:39:17

commit f847cb330c61b74a376df1f4ddb1e89251327e6f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 26 17:22:33 2001 +0000

    Mark bugzilla #52183 change.
    
    CVS patchset: 5030
    CVS date: 2001/08/26 17:22:33

commit 5994a308bc062fff53ff0184b8dea15d19fcfb63
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 25 01:54:58 2001 +0000

    - within a region, entries sort by address; added drips sort by tag.
    
    CVS patchset: 5028
    CVS date: 2001/08/25 01:54:58

commit a0ebbe5925f63d9a802c50bba8e9298cea21f1f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 24 17:55:08 2001 +0000

    - headers without RPMTAG_NAME are skipped when retrieved.
    
    CVS patchset: 5025
    CVS date: 2001/08/24 17:55:08

commit 507f3400be2592b030f76ca144980635cce8d25b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 17 19:38:06 2001 +0000

    - verify perms (but not mode) on %ghost files.
    
    CVS patchset: 5019
    CVS date: 2001/08/17 19:38:06

commit 3b6b341a44b635e979434572eaf74986385319f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 16 18:49:07 2001 +0000

    - python: add exception to detect bad data in hdrUnload.
    - change dir creation message from warning to debug for now.
    
    CVS patchset: 5017
    CVS date: 2001/08/16 18:49:07

commit e42f1fd9675c52de900356a73777ec482e285591
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 15 14:03:03 2001 +0000

    - always use dl size in regionSwab() return.
    - ppc: revert ppcmac to ppc.
    - ppc: autoconf test for va_copy.
    
    CVS patchset: 5015
    CVS date: 2001/08/15 14:03:03

commit a36acaf3b8f2a1417c65ab9f68e3a868045a12d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 13 16:39:14 2001 +0000

    - fix: segfault on headerFree given malicious data.
    - fix: don't verify hash page nelem.
    - better error messages for verification failures.
    - include directory /usr/lib/rpm in rpm package.
    
    CVS patchset: 5013
    CVS date: 2001/08/13 16:39:14

commit 8f2315934d44214c4c446d077c8122c4dea6381f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 9 02:53:26 2001 +0000

    - add -D_REENTRANT (note rpmlib is still not thread safe).
    
    CVS patchset: 5009
    CVS date: 2001/08/09 02:53:26

commit 46cc804f36f076882932b2301fe25aabea11b983
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 8 18:13:06 2001 +0000

    - add legacy (compile only) wrappers for fdFileno et al.
    
    CVS patchset: 5007
    CVS date: 2001/08/08 18:13:06

commit e699b8fab3f25912141fd1cefc1cc0375b3dd9be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 6 11:27:27 2001 +0000

    - portability: some compilers squawk at return ((void) foo()) (#50419).
    - remove fdFileno() from librpmio, use inline version instead (#50420).
    - fix: linux find-requires needs quotes around [:blank:].
    - remove /var/lib/rpm/__db* cache files if %__dbi_cdb is not configured.
    - python: add hiesenbug patch.
    
    CVS patchset: 5005
    CVS date: 2001/08/06 11:27:27

commit 682c9534adb618becfa7565a4f45eea5e8f2bb2a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 4 16:18:58 2001 +0000

    - fix: autoconf glob tests (#50845).
    
    CVS patchset: 5003
    CVS date: 2001/08/04 16:18:58

commit dce5aa0ebd1a784ad8db04e07c7c2347e450160e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 3 15:17:55 2001 +0000

    lclint clean again.
    
    CVS patchset: 5001
    CVS date: 2001/08/03 15:17:55

commit 46d2e8bbd870dce29f43af7c67f50c97754975bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 3 05:04:13 2001 +0000

    - fix: i18n tags not terminated correctly with NUL (#50304).
    - add explicit casts to work around a s390 compiler problem.
    
    CVS patchset: 4998
    CVS date: 2001/08/03 05:04:13

commit 1a5a027bcc8071a3b50f726bf8a3e93cd770ef1d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 31 18:13:22 2001 +0000

    - add support for mips (#49283).
    - add __as, _build_arch, and __cxx macros (#36662, #36663, #49280).
    - detailed build package error messages.
    
    CVS patchset: 4996
    CVS date: 2001/07/31 18:13:22

commit c6fba63aca2cbee02848e5913cddc730e43cee8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 28 00:33:07 2001 +0000

    - fix: --noscripts is another multimode option.
    - add tmpdir to configure db3 tmpdir into chroot tree.
    - permit lazy db opens within chroot.
    - fix: diddle dbenv path to accomodate backing store reopen in chroot.
    
    CVS patchset: 4990
    CVS date: 2001/07/28 00:33:07

commit 03e498c64e1cca77b862f0b37549cd7c4a598149
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 24 20:39:19 2001 +0000

    - fix: don't segfault when presented with rpm-2.4.10 packaging (#49688).
    
    CVS patchset: 4987
    CVS date: 2001/07/24 20:39:19

commit 085e3275d2e1a90db7abd816a7fce31685b58fc7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 24 02:52:52 2001 +0000

    - rename pmac to ppcmac.
    - ia64: revert -O0 compilation.
    - upgrade to db-3.3.11 final.
    
    CVS patchset: 4984
    CVS date: 2001/07/24 02:52:52

commit 3a17cb851b4e65d4c6b5f1ad1b59afdccfabc743
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 23 20:15:24 2001 +0000

    Orphans.
    
    CVS patchset: 4977
    CVS date: 2001/07/23 20:15:24

commit d91a331d0c88bef042117c4a20b597aede61cb77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 23 20:09:04 2001 +0000

    Initial revision
    
    CVS patchset: 4976
    CVS date: 2001/07/23 20:09:04

commit 2aec992c9d5db8cdf706fb3dcd8cdfa642ca84d3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 23 16:02:27 2001 +0000

    - add pmac/ppciseries/ppcpseries varieties to ppc arch family.
    - include tdigest.c tkey.c and trpmio.c to "make dist".
    - re-enable dependency resolution source from package NVR.
    
    CVS patchset: 4973
    CVS date: 2001/07/23 16:02:27

commit a66e1f6a9271f5e61f369ad844ad73b93a8a1f3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 22 12:38:28 2001 +0000

    - enable rpm-perl subpackage.
    
    CVS patchset: 4971
    CVS date: 2001/07/22 12:38:28

commit 7723beeaf4948e03de652d30a5a38d77670bc623
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 21 19:44:22 2001 +0000

    - add sha1 test vectors, verify on ix86/alpha/sparc.
    - add (but disable for now) rpm-perl subpackage from Perl-RPM.
    - python: parameterize with PYVER to handle 1.5 and/or 2.1 builds.
    - add build dependency on zlib-devel (#49575).
    
    CVS patchset: 4969
    CVS date: 2001/07/21 19:44:22

commit 74ce2b5c67fc4c4b6eb36825ea09860c3c8fd7fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 20 17:09:08 2001 +0000

    Patch from <misa@redhat.com>.
    
    CVS patchset: 4965
    CVS date: 2001/07/20 17:09:08

commit 46ded4611836f6191cf18ee525e62f26282c11a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 20 16:41:09 2001 +0000

    - fix: yet another segfault from bad metadata prevented.
    
    CVS patchset: 4962
    CVS date: 2001/07/20 16:41:09

commit 3a2ddf155134e02f5aa421f739cb1ca3f034421c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 19 21:14:05 2001 +0000

    - fix: 4 memory leaks eliminated.
    
    CVS patchset: 4960
    CVS date: 2001/07/19 21:14:05

commit 7bfb0979b655aefaf148534a722356cc92c272f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 18 23:03:27 2001 +0000

    - resurrect --specedit for i18n.
    
    CVS patchset: 4957
    CVS date: 2001/07/18 23:03:27

commit 2225886928ab5e2784cf782f36355753236a1097
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 18 10:49:09 2001 +0000

    - fix: %dev(...) needs to map rdev and mtime from metadata.
    
    CVS patchset: 4953
    CVS date: 2001/07/18 10:49:09

commit fe5362ef809874996febb2eb0aa89877ee1f74fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 17 20:01:46 2001 +0000

    - python: "seal" immutable region for legacy headers in rhnUnload() .
    - python: add poptmodule.so bindings.
    
    CVS patchset: 4951
    CVS date: 2001/07/17 20:01:46

commit bad8c7a9b243a1f72338dc04daba56a944149716
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 17 03:03:14 2001 +0000

    - fix: _smp_flags macro broken.
    - python: bind rhnUnload differently.
    - fix: rescusitate --querytags.
    - fix: short aliases broken (#49213).
    
    CVS patchset: 4949
    CVS date: 2001/07/17 03:03:14

commit ecfb46adaaeff044c1a44602b141ca885d351c06
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 16 14:48:07 2001 +0000

    - fix: don't total hard linked file size multiple times (#46286).
    - add %dev(type,major,minor) directive to permit non-root dev build.
    
    CVS patchset: 4944
    CVS date: 2001/07/16 14:48:07

commit 77d49ea5a28862a3c9a014b7636b0c57a2c439e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 14 20:09:56 2001 +0000

    - isolate cdb access configuration (experimental, use at your own risk).
    - fix: hard fail on locked dbopen if CDB locking not in use.
    - fix: dbconfig with mp_mmapsize=16Mb/mp_size=1Mb for
      "everything ENOSPC" failure check.
    
    CVS patchset: 4942
    CVS date: 2001/07/14 20:09:56

commit cfa46ad5cb7ecc5de6bdbea733fd454749ed15bc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 13 13:44:26 2001 +0000

    - fix: scope multi-mode options like --nodeps correctly (#48825).
    
    CVS patchset: 4940
    CVS date: 2001/07/13 13:44:26

commit 81de17180f1b870e2bc4ade50814f46ae9d6bf9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 11 14:23:01 2001 +0000

    - fix: adjust arg count for --POPTdesc/--POPTargs deletion.
    - add linux per-platform macro %_smp_mflags <sopwith@redhat.com>.
    - document more popt aliases for --help usage.
    - remove --tarbuild from man page(s), use -t[abpcils] instead (#48666).
    
    CVS patchset: 4936
    CVS date: 2001/07/11 14:23:01

commit be9867aa181d83f73cdc9e2acc5f790c4cfc8637
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 11 02:16:16 2001 +0000

    - python bindings should not segfault when fed bad data.
    
    CVS patchset: 4934
    CVS date: 2001/07/11 02:16:16

commit 3bbe7a7fc4111c050eb21eeb9867a17ba46d9796
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 11 00:07:46 2001 +0000

    - unlink all __db.nnn files before 1st db open.
    
    CVS patchset: 4932
    CVS date: 2001/07/11 00:07:46

commit e15b4593ebd2f2f147a8c86511aec1b0decb34ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 10 17:59:11 2001 +0000

    - package version now configureable, default v3.
    - rename rpm libraries to have version with libtool -release.
    - fix: -i CLI context broken Yet Again.
    
    CVS patchset: 4930
    CVS date: 2001/07/10 17:59:11

commit f440f450d9648f06ed8589adf7d4c1d6a286550b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 8 21:30:35 2001 +0000

    - python: rhnLoad/rhnUnload to check header digest.
    
    CVS patchset: 4928
    CVS date: 2001/07/08 21:30:35

commit 34f1d5125146c995c49f39a41c8799c5cc3201c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 7 19:37:52 2001 +0000

    Orphans.
    
    CVS patchset: 4925
    CVS date: 2001/07/07 19:37:52

commit 134a8a85c2873b24bb3a4a15b0a9dae1662bc875
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 7 19:15:17 2001 +0000

    - popthelp.c: don't use stpcpy to avoid portability grief (#47500).
    - permit alias/exec description/arg text to be set from popt config.
    - use rpmqv.c, not rpm.c, as rpm's main() routine.
    
    CVS patchset: 4923
    CVS date: 2001/07/07 19:15:17

commit 9df3fc957f97511ce04123f3cbebdf9dc543cebb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 6 20:37:42 2001 +0000

    - expose rpmShowProgress() and rpmVerifyDigest() in rpmcli.h.
    - portability: avoid st_mtime, gendiff uses basename, etc (#47497).
    - glibc-2.0.x has not __va_copy().
    - popthelp.c: static copy of stpcpy/stpncpy for the deprived (#47500).
    
    CVS patchset: 4921
    CVS date: 2001/07/06 20:37:42

commit 20c2a42d4f18fe324c3bc06cc106136130f44c9b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 3 19:26:58 2001 +0000

    - fix: redundant entries in file manifests handled correctly (#46914).
    - map uid/gid from metadata into payload headers.
    
    CVS patchset: 4915
    CVS date: 2001/07/03 19:26:58

commit c33e408649c342e000edce34ca122058a9050cdd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 30 18:32:28 2001 +0000

    - update intl dirs to gettext-0.10.38.
    - fix: sanity check for header size added in headerCopyLoad() (#46469).
    
    CVS patchset: 4913
    CVS date: 2001/06/30 18:32:28

commit 5177464972a45db08785964718215c2a9ddd7179
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 29 22:38:13 2001 +0000

    Update included gettext routines to 0.10.38.
    
    CVS patchset: 4911
    CVS date: 2001/06/29 22:38:13

commit 3e219ad91a7ccc6632b948c5bab03694f3f6b25d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 28 22:19:08 2001 +0000

    - fix: sanity checks on #tags (<65K) and offset (<16Mb) in header.
    - fix: add -r to useradd to prevent /etc/skel glop (#46215).
    - fix: disambiguate typedef and struct name(s) for kpackage.
    
    CVS patchset: 4908
    CVS date: 2001/06/28 22:19:08

commit b533de2b2722679b3e1bc486467310bd8c61f806
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 25 20:01:42 2001 +0000

    Yet another patial harlink set fix.
    
    CVS patchset: 4903
    CVS date: 2001/06/25 20:01:42

commit 3bb77854aa61ac18b672df8baf34f32537cf6604
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 25 17:49:42 2001 +0000

    - fix: permit partially enumerated hardlink file sets during build.
    - fix: resurrect rpm signature modes.
    
    CVS patchset: 4902
    CVS date: 2001/06/25 17:49:42

commit f40a045acb3de64dce15019ed5f1da4612a817f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 21 03:51:34 2001 +0000

    - add %{_gnu} macro to append "-gnu" to %{_target_platform} to
      support --target/--host flavored %configure. Legacy behavior
      available by undefining %{_gnu}.
    
    CVS patchset: 4899
    CVS date: 2001/06/21 03:51:34

commit 60977b6c27aca83d1c15deef2e4f759268308075
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 20 21:20:16 2001 +0000

    - fix: rpm -qlv link count for directories dinna include '..'.
    - fix: rpm -qlv size for directories should be zero.
    - add --noghost to filter non-payload files from rpm -qlv output.
    
    CVS patchset: 4897
    CVS date: 2001/06/20 21:20:16

commit 6f88379b75dd5a0f029e709d29a3c10f40b76102
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 20 16:45:33 2001 +0000

    Typo.
    
    CVS patchset: 4894
    CVS date: 2001/06/20 16:45:33

commit 512b5ce682beae889b6d32b011771f1b63e36329
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 20 16:42:19 2001 +0000

    - fix: partial sets of hardlinked files permitted in payload (yes, changed).
    - work around a (possible) compiler problem on ia64.
    
    CVS patchset: 4893
    CVS date: 2001/06/20 16:42:19

commit 5f2d9ab25b9339314ac318cf0f968fe03c31be97
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 20 06:29:20 2001 +0000

    - fix: partial sets of hardlinked files forbidden in payload.
    - fix: mark rpmdb files with %config to prevent erasure on downgrade.
    
    CVS patchset: 4891
    CVS date: 2001/06/20 06:29:20

commit 24245d28f88728b3ba40d305d857c74e394846c9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 20 05:15:46 2001 +0000

    These are adjustments made on the rpm-4_0 branch by Jeff. I've built and tested
    them again my 3.0.5 test platform with no errors. Thus, they are being merged
    onto the trunk.
    
    CVS patchset: 4889
    CVS date: 2001/06/20 05:15:46

commit c23977f8bf6478d5f050a0e02093a73ee58e9d08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 20 01:28:15 2001 +0000

    Add /usr/lib/rpm/noarch* symlinks to package.
    
    CVS patchset: 4888
    CVS date: 2001/06/20 01:28:15

commit efc5280a47fd738eb3207153e7642d9e379e1ae6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 19 23:33:35 2001 +0000

    Remove, changes now merged into linux.{prov,req}.
    
    CVS patchset: 4885
    CVS date: 2001/06/19 23:33:35

commit 8cd30c7190a630809a54f259718576d29bde80da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 19 20:03:13 2001 +0000

    - make package ordering loop messages debug, not warning.
    
    CVS patchset: 4883
    CVS date: 2001/06/19 20:03:13

commit eb8db3316d3a125c8974436112829d56aa63b21f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 19 16:59:23 2001 +0000

    - finalize per-header methods, accessing headerFoo through vector.
    
    CVS patchset: 4880
    CVS date: 2001/06/19 16:59:23

commit c6bd3de937ce3d40daa228e237c52527b9cdb8e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 19 11:38:51 2001 +0000

    - preliminary abstraction to support per-header methods.
    
    CVS patchset: 4878
    CVS date: 2001/06/19 11:38:51

commit 29ea1567e7eafc457aed5529b240161cf8d4657f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 17 22:18:03 2001 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 4876
    CVS date: 2001/06/17 22:18:03

commit c32276cdf5c28d7d701d7211e55f28ebc6f097d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 17 15:19:26 2001 +0000

    - popt: add POPT_CONTEXT_ARG_OPTS for all opts to return 1 (#30912).
    - fix: fsm reads/writes now return error on partial I/O.
    - fix: Ferror returned spurious error for gzdio/bzdio.
    
    CVS patchset: 4874
    CVS date: 2001/06/17 15:19:26

commit 6f3943da6c5a26d2bf52cd7c47352bf785e9c8e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 17 00:36:01 2001 +0000

    - popt: add POPT_ARGFLAG_SHOW_DEFAULT to display initial values (#32558).
    
    CVS patchset: 4872
    CVS date: 2001/06/17 00:36:01

commit 1ed6bde25a2d8c1878ed3b52298848d09a50bd3c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 16 01:49:10 2001 +0000

    linux.req now verified functional on ia64-linux.
    
    CVS patchset: 4870
    CVS date: 2001/06/16 01:49:10

commit c0ef3c810f0cb08f0dc65ebe83921d24ce2d13b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 15 21:52:47 2001 +0000

    - linux.req needs exit 0
    
    CVS patchset: 4868
    CVS date: 2001/06/15 21:52:47

commit 6afa016e86bc87b7ac7d2a90db00df7b35cc99a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 15 18:53:06 2001 +0000

    - ia64/sparc: <arch>.{req,prov} identical to linux.{req,prov}.
    - add "rpmlib(ScriptletInterpreterArgs)" to track
            %post -p "/sbin/ldconfig -n /usr/lib"
      incompatibilities.
    
    CVS patchset: 4866
    CVS date: 2001/06/15 18:53:06

commit c097611c41b8480734a47547018dd0e0e61efcbb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 15 16:01:59 2001 +0000

    Orphans.
    
    CVS patchset: 4864
    CVS date: 2001/06/15 16:01:59

commit 58b120d8785b7622a3c5c603f109a1fc2f085f68
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 15 16:01:10 2001 +0000

    - alpha: don't add "()(64bit)" dependency markers.
    
    CVS patchset: 4863
    CVS date: 2001/06/15 16:01:10

commit f0d2abd2bcb74ab18645355ba45189abe77f38bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 15 04:56:33 2001 +0000

    - fix: db1 end-of-file not detected in legacy compatible way.
    - fix: remove (harmless) chown error message from %post.
    - add --target/--host to %configure, add example cross-build/config.site
      scripts to /usr/lib/rpm <arjanv@redhat.com> (#44581).
    - rpmdb iterator selectors permit default/strcmp/regex/glob matching.
    - rpmdb iterator selectors permit negative matches.
    
    CVS patchset: 4861
    CVS date: 2001/06/15 04:56:33

commit 22b9de5f331285fef6b353b9441d121dcc639ea2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 13 20:57:06 2001 +0000

    - add rpmdbSetIteratorRE() for regex matching in database iterators.
    - permit rpm -qa to take RE args applied to name tag.
    - permit dbiFindMatches() to use version/release patterns.
    - eliminate all uses of rpmdbSetIterator{Version,Release}.
    
    CVS patchset: 4859
    CVS date: 2001/06/13 20:57:06

commit 7233e3ad7373eec14ca47dc292806deb986519b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 12 17:06:47 2001 +0000

    - remove rpmrc Provides: Yet Again, use virtual packages.
    - dump cursor debugging wrappers.
    - rpm --verify can disable rpmFileAttr checks.
    
    CVS patchset: 4856
    CVS date: 2001/06/12 17:06:47

commit 1b87bd9ef75810794edede55d94c25c5d1e94d41
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 12 04:10:21 2001 +0000

    - remove dead code frpm popt table reorg.
    - more CLI typedefs/prototypes moved from rpmlib.h to rpmcli.h.
    - rpm --verify skips files in non-installed states.
    - rpm --verify skips content checks for %ghost files.
    - rpm --verify displays config/doc/gnost/license/readme atrrs for files.
    - rpm --verify checks immutable header region digest if available.
    - rpmbuild adds header region digest (SHA1 as string).
    - use rpmTag* typedefs in new hge/hae/hme/hre header vectors.
    
    CVS patchset: 4854
    CVS date: 2001/06/12 04:10:21

commit 03f527390168680d98f13ada0dbf6be4cd17dc9c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 8 20:45:59 2001 +0000

    - fix: QUERY_FOR_LIST file count clobbered.
    - create top level rpmcli API, factor top level modes into popt tables.
    - popt: add POPT_BIT_SET/POPT_BIT_CLR to API.
    - autogen.sh checks for latest libtool-1.4 and automake-1.4-p2.
    - rpm --verify reports failure(s) if corresponding tag is not in header.
    - rpm --verify honors %config(missingok), add -v for legacy behavior.
    
    CVS patchset: 4852
    CVS date: 2001/06/08 20:45:59

commit 7bf9296288c38f3bf82ec38481738101bf063981
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 6 19:57:12 2001 +0000

    - default to dbenv with mpool, --rebuilddb with nofsync is much faster.
    
    CVS patchset: 4849
    CVS date: 2001/06/06 19:57:12

commit 16d8c9e229508e4fcd3f03ac491c0c366c9172ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 6 16:18:03 2001 +0000

    - document build modes in rpmbuild.8, rpmbuild is born.
    
    CVS patchset: 4846
    CVS date: 2001/06/06 16:18:03

commit f0a67ca8b05a635340213158e9086b3bdf5443fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 6 12:36:31 2001 +0000

    - permit duplicates for btree indices.
    
    CVS patchset: 4843
    CVS date: 2001/06/06 12:36:31

commit c635bbf0aedc73aa138078ffe1c761507de9d91a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 5 22:01:13 2001 +0000

    fix: increment pointer in funky header ext while loop.
    
    CVS patchset: 4841
    CVS date: 2001/06/05 22:01:13

commit 8959a0de7070e4a3886ede3f1703ac6098b5a6eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 5 20:39:35 2001 +0000

    Typos.
    
    CVS patchset: 4837
    CVS date: 2001/06/05 20:39:35

commit 4ae69250a2595531743074d81aec5804a1b5573f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 5 19:26:22 2001 +0000

    - fix typos in linux.{req,prov}.
    
    CVS patchset: 4834
    CVS date: 2001/06/05 19:26:22

commit 750d54d8a33e67d8f89ed95a785c0f025c833aa8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 4 13:55:58 2001 +0000

    lclint fiddles.
    
    CVS patchset: 4833
    CVS date: 2001/06/04 13:55:58

commit 9e1929c9bb268faad7c8f140161504dbaf7f00f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 1 22:00:07 2001 +0000

    - fix: lclint fiddles broke uCache initialization (#43139).
    
    CVS patchset: 4829
    CVS date: 2001/06/01 22:00:07

commit 3720e702daeefc4fbb8ce0665b8e6019c6e8b216
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 1 20:26:24 2001 +0000

    perl.prov patch (#43081).
    
    CVS patchset: 4827
    CVS date: 2001/06/01 20:26:24

commit 25f341822c555005b79494b1a02e0c3b4d1f8f8d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 1 19:27:33 2001 +0000

    - merge sparc64/ia64 fiddles back into linux.{req,prov}.
    - automagically generate perl module dependencies always.
    
    CVS patchset: 4825
    CVS date: 2001/06/01 19:27:33

commit f5ebe3fb424b215dbd455cabd37f5ea56bd5dbff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 31 22:31:14 2001 +0000

    - return multiple suggested packages (Pawel Kolodziej <pawelk@pld.org.pl>).
    - fix: return suggested packages when using Depends cache.
    
    CVS patchset: 4823
    CVS date: 2001/05/31 22:31:14

commit f8b347a38aeb9a8c90739f3cd2cd2d5c5e46fcce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 31 19:02:55 2001 +0000

    lclint annotations.
    
    CVS patchset: 4821
    CVS date: 2001/05/31 19:02:55

commit cc54f00167e420f4e2bc4094e76c604da3c540a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 30 22:42:43 2001 +0000

    - fix: for busted db1, attempt chain reconnection to following record.
    
    CVS patchset: 4819
    CVS date: 2001/05/30 22:42:43

commit 2a4452a1f91b1fc11ce13092980b83092357cf1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 29 20:01:28 2001 +0000

    - fix: popt exec doesn't add '--', --target et al no longer need '='.
    - fix: popt consume-next-arg "!#:+" w/o side effect (#41956).
    
    CVS patchset: 4817
    CVS date: 2001/05/29 20:01:28

commit 61cd63ab8e816d46e81b3df2bb8cfe9b2267f85d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 29 15:03:35 2001 +0000

    - eliminate db-1.85 and db-2.x configuration.
    - fix: popt arg sanity checks broken, optarg != optArg.
    - fix: popt range checks on floats/doubles broken.
    - popt: return POPT_ERROR_ERRNO on config open/read/close failure.
    
    CVS patchset: 4815
    CVS date: 2001/05/29 15:03:35

commit e6c22123bc088afd6f0f564b8f5224af3cf2d2e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 25 19:51:53 2001 +0000

    - perform db->verify when closing db files.
    
    CVS patchset: 4813
    CVS date: 2001/05/25 19:51:53

commit 4d76eb6dee47bbb119846428af238727d7cd5b61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 23 17:53:30 2001 +0000

    RPMTAG_BUILDROOT is internal tag.
    
    CVS patchset: 4810
    CVS date: 2001/05/23 17:53:30

commit 23783af2276940639be72ca2ae4599f387beb899
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 23 16:38:52 2001 +0000

    - remove all header region assertion failures, return NULL instead.
    
    CVS patchset: 4809
    CVS date: 2001/05/23 16:38:52

commit 71f818828ed608b895896670f15437ffc491b785
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 23 14:25:19 2001 +0000

    - headerFree() returns NULL, _free is C++ safe.
    
    CVS patchset: 4807
    CVS date: 2001/05/23 14:25:19

commit 0112602155b5500ba63e9874072c89d5241aec7a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 22 18:09:30 2001 +0000

    - refuse to install on systems using db1.
    
    CVS patchset: 4805
    CVS date: 2001/05/22 18:09:30

commit f67a2912d291a14eaf05b8de14922c0f34ddce62
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 22 16:05:47 2001 +0000

    Change contact email address.
    
    CVS patchset: 4803
    CVS date: 2001/05/22 16:05:47

commit aed337b31d60115102d32c0532a327f0d173d1db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 21 16:00:45 2001 +0000

    - fix: skip %ghost files when building packages (#38218).
    
    CVS patchset: 4801
    CVS date: 2001/05/21 16:00:45

commit 8cc9d509e4e0009e16c7228bdf5d65a069054142
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 20 18:33:23 2001 +0000

    - fix: i18n strings need 1 on sucess return code (#41313).
    
    CVS patchset: 4799
    CVS date: 2001/05/20 18:33:23

commit 2622029162ad26cf8463ac7026db9d85ca254cf9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 16 20:02:08 2001 +0000

    fix: rpmtransAddPackage assumed removed packages were sorted (#35827).
    
    CVS patchset: 4797
    CVS date: 2001/05/16 20:02:08

commit cec2fe637a8b872282e7029867a253384ed1d553
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 16 19:19:15 2001 +0000

    - fix: filter duplicate package removals (#35828).
    - add armv3l arch.
    
    CVS patchset: 4795
    CVS date: 2001/05/16 19:19:15

commit 56510bc6e99ed2bde5cb8e9845031c26b42a406e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 15 07:57:34 2001 +0000

    Update for 0.32 release
    
    CVS patchset: 4793
    CVS date: 2001/05/15 07:57:34

commit 1be201a2eadf9f25e7c39a2e2a33706de63795ae
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 15 07:49:56 2001 +0000

    Significant speed-ups gained by breaking down the constants into fewer,
    shorter string compares. This is most notable under the 'R' constants in the
    outermost switch-block inside of the routine constant(). The test time for the
    full suite on the main dev box dropped over 25%.
    
    CVS patchset: 4792
    CVS date: 2001/05/15 07:49:56

commit 00956b95c5177b52c745558b4918f7a231749248
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 15 06:22:36 2001 +0000

    Fixing more of the "attempt to free unreferenced scalar" messages
    
    CVS patchset: 4791
    CVS date: 2001/05/15 06:22:36

commit 7ebaafac6a3fa3f9de36ba24718589f2db4b981a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 14 21:19:34 2001 +0000

    Grrr, hacks to the hacks to get db3 to configure.
    
    CVS patchset: 4790
    CVS date: 2001/05/14 21:19:34

commit 3c563d21182b97271411e6b3209a07b6f78b94db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 14 20:12:10 2001 +0000

    - upgrade to db-3.3.4.
    
    CVS patchset: 4787
    CVS date: 2001/05/14 20:12:10

commit a9184b73ecb9bcb5dedb503529a0696cdb5b008a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 13 20:03:09 2001 +0000

    Resolve conflicts.
    
    CVS patchset: 4783
    CVS date: 2001/05/13 20:03:09

commit 2af040895b279eca8fb5a44240da7e42c8b4ac66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 13 19:58:25 2001 +0000

    Initial revision
    
    CVS patchset: 4782
    CVS date: 2001/05/13 19:58:25

commit 9b44f1b7168b70652f7fad2e0da6fdade4b965d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 13 18:03:34 2001 +0000

    - add cron/logrotate scripts to save installed package filenames.
    
    CVS patchset: 4779
    CVS date: 2001/05/13 18:03:34

commit 87c15895a05f100b8a6eb26c17f8742f2b1b3df2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 13 17:55:58 2001 +0000

    - add cron/logrotate scripts to save installed package filenames.
    
    CVS patchset: 4777
    CVS date: 2001/05/13 17:55:58

commit 1da20d37d8db366a0607614a2a030dc408f97b91
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 12 11:40:27 2001 +0000

    Various debugging
    
    CVS patchset: 4775
    CVS date: 2001/05/12 11:40:27

commit 27009dd00b9789c90c71190cd0c93c721fc83611
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 23:25:46 2001 +0000

    - harden rpmdb iterators from damaged header instance segfaults.
    
    CVS patchset: 4774
    CVS date: 2001/05/11 23:25:46

commit b589c5c97d348437ebf67429eb93674baf769b81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 17:18:16 2001 +0000

    Path is /etc/rpmrc, not /etc/rpm/rpmc, in comment (#40163).
    
    CVS patchset: 4771
    CVS date: 2001/05/11 17:18:16

commit 39c24d294e8e3ca2b2b32bd8e4e45a38a62951ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 16:45:06 2001 +0000

    Remove typos and stray debugging fprintf's.
    
    CVS patchset: 4770
    CVS date: 2001/05/11 16:45:06

commit 0f30480a8925f3651a364ab2ec7fe88e2b2e2ff2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 14:52:28 2001 +0000

    Generate manifest for rpmdb.
    
    CVS patchset: 4768
    CVS date: 2001/05/11 14:52:28

commit f5d0541223f386cc3d97b6323ce83d996fa46fe4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 04:06:12 2001 +0000

    - rpm database has rpm.rpm g+w permissions to share db3 mutexes.
    - expose more db3 macro configuration tokens.
    - move fprint.[ch] and hash.[ch] to rpmdb directory.
    - detect and fiddle incompatible mixtures of db3 env/open flags.
    - add DBI_WRITECURSOR to map to db3 flags with CDB database model.
    - add rpmdbSetIteratorRewrite to warn of pending lazy (re-)writes.
    
    CVS patchset: 4766
    CVS date: 2001/05/11 04:06:12

commit c7ee57336766b4411f3aeaaa78dd3778cfea3244
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 04:01:04 2001 +0000

    - rpm database has rpm.rpm g+w permissions to share db3 mutexes.
    - expose more db3 macro configuration tokens.
    - move fprint.[ch] and hash.[ch] to rpmdb directory.
    - detect and fiddle incompatible mixtures of db3 env/open flags.
    - add DBI_WRITECURSOR to map to db3 flags with CDB database model.
    - add rpmdbSetIteratorRewrite to warn of pending lazy (re-)writes.
    
    CVS patchset: 4765
    CVS date: 2001/05/11 04:01:04

commit dda243d6621372bf8c10bc04643e730d9e388091
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 11 02:43:07 2001 +0000

    Ignore "stuff".
    
    CVS patchset: 4762
    CVS date: 2001/05/11 02:43:07

commit d026618b6b046bd0f3a6110eafd1bf1bd4e8aead
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 9 22:58:56 2001 +0000

    - rpm executables now setuid rpm to share write locks.
    - expose more db3 macro configuration tokens.
    
    CVS patchset: 4756
    CVS date: 2001/05/09 22:58:56

commit 47a7f6e9177a12ba07bed42bca2a230c48eaa6a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 8 13:59:47 2001 +0000

    Create db2 file manifest, as alpha is different.
    
    CVS patchset: 4755
    CVS date: 2001/05/08 13:59:47

commit 9c636fed5b7e038315b77114b1ba9e46051351f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 8 00:03:14 2001 +0000

    - create rpmdb.la so that linkage against rpm's db-3.2.9 is possible.
    
    CVS patchset: 4752
    CVS date: 2001/05/08 00:03:14

commit d9e5d40dd5b8be2e1304452e61a797f66b5c0a1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 7 19:21:16 2001 +0000

    - use internal db-3.2.9 sources to build by default.
    - don't build db1 by default.
    
    CVS patchset: 4750
    CVS date: 2001/05/07 19:21:16

commit cb55d5c6cd129c37b25670c77704c396307ffb15
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 7 01:54:56 2001 +0000

    - fix: debugging message displays header keys (#38454).
    
    CVS patchset: 4747
    CVS date: 2001/05/07 01:54:56

commit c3835f5ca0e3ea856213a22367233e148ea26550
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 6 19:17:14 2001 +0000

    - fix: specfile queries with BuildArch: (#27589).
    
    CVS patchset: 4746
    CVS date: 2001/05/06 19:17:14

commit 6f5615eab6821743c73c278030e01d117a5ee163
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 6 13:39:22 2001 +0000

    Change URL.
    
    CVS patchset: 4743
    CVS date: 2001/05/06 13:39:22

commit 8f75bbc17dab6c334583f33c7b912fb16d2ddc4b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 5 19:28:32 2001 +0000

    - enough lclint annotations and fiddles already.
    
    CVS patchset: 4741
    CVS date: 2001/05/05 19:28:32

commit d78e027808deb6aef4e65338d160986d7e576a90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 3 21:00:18 2001 +0000

    - still more boring lclint annotations and fiddles.
    
    CVS patchset: 4738
    CVS date: 2001/05/03 21:00:18

commit 0ecdbba93587408c670124e88d39451c681a77eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 30 22:32:22 2001 +0000

    - yet more boring lclint annotations and fiddles.
    
    CVS patchset: 4732
    CVS date: 2001/04/30 22:32:22

commit a57a13b1350ff1a094c202c90391f8676f487582
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Apr 29 22:44:54 2001 +0000

    These are mostly further clean-up of the 4.0.2-compatibility effort.
    
    CVS patchset: 4727
    CVS date: 2001/04/29 22:44:54

commit b4056f2affde298b4940054cc569534ac54a4624
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Apr 29 22:44:13 2001 +0000

    Made some changes to how rpm version is represented, added a new -Ddefine to
    the c-flags.
    
    CVS patchset: 4726
    CVS date: 2001/04/29 22:44:13

commit 81ac89f4e6f176f9095e73b34d94d4ccf12da237
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 29 22:43:01 2001 +0000

    - more boring lclint annotations and fiddles.
    
    CVS patchset: 4725
    CVS date: 2001/04/29 22:43:01

commit c83cfd5ed5b9637a090e57bef5aca5d5b96d00f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 29 16:08:55 2001 +0000

    - transaction iterator(s) need to run in reverse order on pure erasures.
    - erasures not yet strict, warn & chug on unlink(2)/rmdir(2) failure.
    
    CVS patchset: 4723
    CVS date: 2001/04/29 16:08:55

commit 3b5820c4205e440d9aad5c5d626721ee30b12292
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 29 01:05:43 2001 +0000

    - globalize _free(3) wrapper in rpmlib.h, consistent usage throughout.
    - internalize locale insensitive ctype(3) in rpmio.h
    - boring lclint annotations and fiddles.
    
    CVS patchset: 4721
    CVS date: 2001/04/29 01:05:43

commit 6a0524ed57548de92daa4b6cf8ee9d2ab39d7a42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 28 11:33:59 2001 +0000

    Patch 3.2.9.2 from www.sleepycat.com.
    
    CVS patchset: 4718
    CVS date: 2001/04/28 11:33:59

commit 0c919b0df21f108a34e0cc9f91d304856738e08f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 28 11:32:45 2001 +0000

    Patch 3.2.9.1 from www.sleepycat.com.
    
    CVS patchset: 4716
    CVS date: 2001/04/28 11:32:45

commit 16eaf800759c4e5975645c7d909e82f51351ca7b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 27 09:07:08 2001 +0000

    Disable the version-checking on XS code for now, until I can figure out how
    to do it correctly.
    
    CVS patchset: 4715
    CVS date: 2001/04/27 09:07:08

commit ca82f7d8d847f45717ff689f9e919bb15bc0dd7e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 27 09:05:55 2001 +0000

    Updated for 0.31
    
    CVS patchset: 4714
    CVS date: 2001/04/27 09:05:55

commit b264f286be77b518db765cb8ce354e7b17742de5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 27 09:05:21 2001 +0000

    Changed the way $VERSION is set
    
    CVS patchset: 4713
    CVS date: 2001/04/27 09:05:21

commit d6dad290930651d1cb727e98b5fb2ab78f0ee8e2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 27 08:43:23 2001 +0000

    Trimmed another one out.
    
    CVS patchset: 4712
    CVS date: 2001/04/27 08:43:23

commit f16a0d9cae2a26d912b503d72d6af66d017d9504
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 27 08:41:56 2001 +0000

    The 4.0.2 rpm release changed all #define constants to enum sets, which pretty
    much hosed this file as it stood. Now, there's no "not_here" hook, and we will
    have to accept that if a name changes or gets dropped in the future, the
    compile will break. Which is probably a good thing, since that happens on
    occasion, too.
    
    CVS patchset: 4711
    CVS date: 2001/04/27 08:41:56

commit a9a1fd866c573f41287e6ad256ce64b3970a1eaa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 26 20:39:52 2001 +0000

    - fix: ineeded count wrong for overlapped, created files.
    
    CVS patchset: 4709
    CVS date: 2001/04/26 20:39:52

commit bab8d207cea4bc12502852a8b4566c79b45d66ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 25 15:07:53 2001 +0000

    - fix: readlink return value clobbered by header write.
    
    CVS patchset: 4707
    CVS date: 2001/04/25 15:07:53

commit a71985e5be5051164d089b1424130d0f303ff3c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 23 20:56:59 2001 +0000

    - regenerate rpm.8 man page from docbook glop (in max-rpm).
    - lib/depends.c: diddle debugging messages.
    
    CVS patchset: 4703
    CVS date: 2001/04/23 20:56:59

commit 1aaf1b9b5d3777a36f9cfff600912a7f468dc732
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 22 08:58:22 2001 +0000

    - cpanflute perl dependency needs explicit epoch (#37034).
    
    CVS patchset: 4702
    CVS date: 2001/04/22 08:58:22

commit 389d253e6236173e05b488d8f77ebe3b785f84a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 21 06:02:09 2001 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 4700
    CVS date: 2001/04/21 06:02:09

commit 84329c6779c60c57f75ae66b92f6fb9f37c3b4f6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 17 19:34:58 2001 +0000

    Remove blank line to avoid irix lossage (#34656).
    
    CVS patchset: 4688
    CVS date: 2001/04/17 19:34:58

commit 8b20f15fbf2b7c1fed46b228dca2fc8358414903
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 17 19:29:12 2001 +0000

    - portability: vsnprintf/snprintf wrappers for those without (#34657).
    
    CVS patchset: 4686
    CVS date: 2001/04/17 19:29:12

commit 63db1277013da1355d86ef5f3faf5dff26581c17
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 17 18:30:23 2001 +0000

    - fix: Fwrite's are optimized out by aggressive compiler(irix) (#34711).
    
    CVS patchset: 4684
    CVS date: 2001/04/17 18:30:23

commit c360a8907b132495e411824c92dfe4189e76ac3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 17 18:23:58 2001 +0000

    - fix: s390 (and ppc?) could return CPIOERR_BAD_HEADER (#28645).
    
    CVS patchset: 4682
    CVS date: 2001/04/17 18:23:58

commit 1ea9d2cf9d4a58f2c5cf0489a326dbb495e613a0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Apr 14 09:25:38 2001 +0000

    typo
    
    CVS patchset: 4679
    CVS date: 2001/04/14 09:25:38

commit 033f860f68e7cd6bc2ae3f194415b372e8bb69a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 13 19:24:16 2001 +0000

    Create.
    
    CVS patchset: 4678
    CVS date: 2001/04/13 19:24:16

commit f75a3f71ab5b584af5a4d3b168064968fd400c48
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 10 12:36:45 2001 +0000

    Doxygen annotations for config files.
    Doxygen annotations for rpmdep section.
    Add manifests for install modes.
    
    CVS patchset: 4675
    CVS date: 2001/04/10 12:36:45

commit 999f9b1654a3546b2c7e42fe3b3b224ec2781b1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 3 20:41:09 2001 +0000

    - fix: %_netsharedpath needs to look at basenames (#26561).
    - fix: --excludepath was broken (#24434).
    
    CVS patchset: 4669
    CVS date: 2001/04/03 20:41:09

commit f0205431eff36c80a3e3e918ccd7ad4b66d6fd08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 3 14:43:32 2001 +0000

    Don't compile rpmsort by default (#29907).
    
    CVS patchset: 4666
    CVS date: 2001/04/03 14:43:32

commit 3ee7efc408c5eae30e0e08e647ffad480ded575f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 3 14:22:52 2001 +0000

    casts to keep picky compilers happy (#29992).
    
    CVS patchset: 4665
    CVS date: 2001/04/03 14:22:52

commit 9e6924a604e9e5a3135ce102d064450072f61f38
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 3 13:41:56 2001 +0000

    - fix: --relocate missing trailing slash (#28874,#25876).
    - fix: --excludedoc shouldn't create empty doc dir (#14531).
    
    CVS patchset: 4663
    CVS date: 2001/04/03 13:41:56

commit 9f7e40a27c98c651170b28512dce3fb5c6d6e6cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 28 16:00:11 2001 +0000

    - fix: AIX has sizeof(uint_16) != sizeof(mode_t) verify cast needed.
    
    CVS patchset: 4657
    CVS date: 2001/03/28 16:00:11

commit 879d15a9548bf7e6fbd22ebe1974bc63974ef53f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 28 14:59:23 2001 +0000

    - fix: i18n tags in rpm-2.5.x had wrong offset/length (#33478).
    
    CVS patchset: 4655
    CVS date: 2001/03/28 14:59:23

commit 075607676dee5f7d2006ba6f561b15d2e505e10a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 23 20:27:48 2001 +0000

    - fix: parameterized macro segfault (Jakub Bogusz <qboosh@pld.org.pl>).
    fix: off by 1 with rpmGlob when presented with multiple non-globbed items.
    fix: rpmReadPackageManifest actually works now.
    
    CVS patchset: 4653
    CVS date: 2001/03/23 20:27:48

commit 1975b49aa7167e7694da5659e29660aca44d02fc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 22 23:39:01 2001 +0000

    - python: strip header regions during unload.
    - add -g to optflags in per-platform config.
    - permit confgure/compile with db3-3.2.9.
    - permit manifest files as args to query/verify modes.
    
    CVS patchset: 4649
    CVS date: 2001/03/22 23:39:01

commit 731946f4b90eb1173452dd30f1296dd825155d82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 21 18:33:35 2001 +0000

    Initial revision
    
    CVS patchset: 4644
    CVS date: 2001/03/21 18:33:35

commit 7ed904da030dc4640ff9bce8458ba07cc09d830d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 20 15:00:07 2001 +0000

    Strip header regions during unload.
    
    CVS patchset: 4643
    CVS date: 2001/03/20 15:00:07

commit 63890e6a4ab13e7ccafbd7643095539f832743fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 17 19:55:09 2001 +0000

    Doco updates.
    
    CVS patchset: 4641
    CVS date: 2001/03/17 19:55:09

commit 54704b3b838fefd7547df94a6a9042e6ca84446a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 16 20:23:49 2001 +0000

    - add --with/--without popt glue for conditional builds(Tomasz Kloczko).
    
    CVS patchset: 4639
    CVS date: 2001/03/16 20:23:49

commit 84705dbb7660d4b1ea4b8429d84b154d2a283093
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 16 16:33:25 2001 +0000

    - add %exclude support (i.e. "everything but") to %files.
            (Michael (Micksa) Slade" <micksa@knobbits.org>)
    
    CVS patchset: 4637
    CVS date: 2001/03/16 16:33:25

commit b787b643938baac16cad931d7a8c9394ef9703c7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 18:55:06 2001 +0000

    - add cpuid asm voodoo to detect athlon processors.
    
    CVS patchset: 4634
    CVS date: 2001/03/15 18:55:06

commit 99b6c6fa03ab9d854f5b1967432b17d65a817ebc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 17:54:55 2001 +0000

    Bump version to 4.1.
    Invert logic for db1, don't build by default.
    
    CVS patchset: 4629
    CVS date: 2001/03/15 17:54:55

commit 93e502737ad7e072e8f1e43173204566539b8221
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 14:48:52 2001 +0000

    Correct --verify modifiers.
    
    CVS patchset: 4628
    CVS date: 2001/03/15 14:48:52

commit db68dedc824de4cfddb37f3b576c9894011f9c5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 14:44:08 2001 +0000

    - update per-interpreter dependency scripts, add sql/tcl (#20295).
    - fix: rpmvercmp("1.a", "1.") returned -1, not +1 (#21392).
    
    CVS patchset: 4627
    CVS date: 2001/03/15 14:44:08

commit c19f6836770882a60fb6ceef5f9eaa153515979c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 14:14:22 2001 +0000

    Fix rpmvercmp for case (should return +1, #21392)
            rpmvercmp("1.a", "1.")
    
    CVS patchset: 4626
    CVS date: 2001/03/15 14:14:22

commit bd80ac253d70e8da19e5634f0ab6f3e8aedf8eb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 15 13:58:16 2001 +0000

    Updated dependency scripts (#20295).
    
    CVS patchset: 4625
    CVS date: 2001/03/15 13:58:16

commit fc920e3ac326473d884ffc6cfc86225d98442ea0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 14 23:09:09 2001 +0000

    Update to doxygen-1.2.6 configuration.
    Add manual files to Doxfile.in.
    lclint annotations.
    
    CVS patchset: 4624
    CVS date: 2001/03/14 23:09:09

commit a40655424d818053ccddde39ec62e1ebd0983ed2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 14 23:06:36 2001 +0000

    Remove compiler warnings.
    
    CVS patchset: 4623
    CVS date: 2001/03/14 23:06:36

commit 9c044153231edc7318b488348a2918af049f4240
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 14 23:04:43 2001 +0000

    Update from Ken Estes (#31699).
    
    CVS patchset: 4622
    CVS date: 2001/03/14 23:04:43

commit 59b4f98dc51b2c332da428117105f6780ab5714f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 14 18:07:47 2001 +0000

    Sync with rpm-4.0.2 final.
    
    CVS patchset: 4621
    CVS date: 2001/03/14 18:07:47

commit 9b59a8f22a7b26f7fa936175c392225d68ff5a2c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 11 08:55:55 2001 +0000

    Makefile.PL
    
    CVS patchset: 4615
    CVS date: 2001/03/11 08:55:55

commit 0102f1b568b067f9bde7a9e7f6c162d6104de5cc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Mar 8 06:37:55 2001 +0000

    Release 0.30
    
    CVS patchset: 4614
    CVS date: 2001/03/08 06:37:55

commit 5da6e5c09a744affd3340956bdad1bc178293b52
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Mar 8 06:12:32 2001 +0000

    Various tweaks
    
    CVS patchset: 4613
    CVS date: 2001/03/08 06:12:32

commit dbf468af61aeff91f88b9da98ee6e4bb8027f166
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Mar 8 06:11:20 2001 +0000

    Fixed rpm 4.0 issue
    
    CVS patchset: 4612
    CVS date: 2001/03/08 06:11:20

commit 487fac0d286bf572ebca0541ba9d673fde01b739
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Mar 7 19:17:24 2001 +0000

    prep for 0.30
    
    CVS patchset: 4610
    CVS date: 2001/03/07 19:17:24

commit 302144c26ccc2d29afe71cd64cd96805bdbcf454
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 4 17:31:48 2001 +0000

    Re-yacc getdate.c.
    
    CVS patchset: 4608
    CVS date: 2001/03/04 17:31:48

commit 918ec7bea067c2836c320d4ee52fe3d6395e4dbe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 4 17:26:37 2001 +0000

    Swipe from cvs sources.
    
    CVS patchset: 4607
    CVS date: 2001/03/04 17:26:37

commit 2ad94143e2a609c6449d29664645f4c3a462d519
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 4 17:15:56 2001 +0000

    Eliminate setFileOwners() and installSources().
    Resurrect source installs.
    
    CVS patchset: 4606
    CVS date: 2001/03/04 17:15:56

commit a77bec0d7e7722e27104d61bd9e8ba6d3de69769
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 4 15:34:53 2001 +0000

    - Add btree indexes for Dirnames, Requireversion, Provideversion, Insttaltid,
      and Removetid.
    - Add per-script and per-trigger control options and flags.
    - Add --apply option and flags.
    
    CVS patchset: 4605
    CVS date: 2001/03/04 15:34:53

commit 1a93da4accc11e0064f9c0c848d537e00abbde3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 3 21:35:41 2001 +0000

    Implement PSM_NOTIFY.
    
    CVS patchset: 4604
    CVS date: 2001/03/03 21:35:41

commit df79f7143e4444987c47e17a743eb96ccb5c760b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 3 20:45:47 2001 +0000

    Remove dead code.
    
    CVS patchset: 4603
    CVS date: 2001/03/03 20:45:47

commit acbbbb19f712e0fc00976e45247c5a5608a59fd8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 3 20:41:37 2001 +0000

    Move fileActionString to fsm.c where it belongs.
    Open repackage output fd in PSM_INIT, not PSM_PROCESS.
    Factor common chroot calls to beginning of PSM_PRE and end of PSM_POST.
    Factor common rpmdbCountPackages to top of PSM_INIT.
    
    CVS patchset: 4602
    CVS date: 2001/03/03 20:41:37

commit 597bf30f9ff72dc93b17d10901467336aa724ef6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 3 18:49:09 2001 +0000

    find-{provies,requires} with AIX5 support.
    
    CVS patchset: 4601
    CVS date: 2001/03/03 18:49:09

commit 665c365a12630dc0e2a9a5f6f005bc8b84b6868b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 2 19:47:45 2001 +0000

    Add top level, external enties to psmStage().
    
    CVS patchset: 4596
    CVS date: 2001/03/02 19:47:45

commit e403840dbac865e660698f9528ded42adaa5e823
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 2 17:27:30 2001 +0000

    Still more functionality into psmStage().
    
    CVS patchset: 4595
    CVS date: 2001/03/02 17:27:30

commit 9e4608369ad651f5e05d95a38d948a9f4aac58ce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 2 16:17:03 2001 +0000

    More functionality into psmStage.
    
    CVS patchset: 4594
    CVS date: 2001/03/02 16:17:03

commit b7bbb4018acecb03b8f593852bb534cf80e0721e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 2 15:03:29 2001 +0000

    More functionality in psmStage.
    
    CVS patchset: 4593
    CVS date: 2001/03/02 15:03:29

commit 3e63d3b76801048ab26c6314d67aa213474b86a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 2 08:28:18 2001 +0000

    Flesh out init/pre/process/post/fini PSM stages.
    
    CVS patchset: 4592
    CVS date: 2001/03/02 08:28:18

commit d955c25e489d9cc84fcd0fe5b597d7caacd8afaf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 1 18:28:11 2001 +0000

    More functionality in psmStage.
    
    CVS patchset: 4591
    CVS date: 2001/03/01 18:28:11

commit d69ac19b05107c991fb63deacd3d7a56c23d6847
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 1 17:04:27 2001 +0000

    Move more functionality into psmStage.
    
    CVS patchset: 4590
    CVS date: 2001/03/01 17:04:27

commit 83cb34ccab962eddc8dd103d05788043b152fdd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 1 16:01:16 2001 +0000

    More data merged into PSM_t.
    
    CVS patchset: 4589
    CVS date: 2001/03/01 16:01:16

commit 6b5f9032a45b519ac40d53b08bb77318ad146d87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 28 16:41:19 2001 +0000

    Add trigggers to psm.
    
    CVS patchset: 4588
    CVS date: 2001/02/28 16:41:19

commit cc646a80a15a62355ef29d157cfc782573aac935
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 28 15:49:23 2001 +0000

    Merge scriptlet handling into psm.c, remove from API.
    
    CVS patchset: 4587
    CVS date: 2001/02/28 15:49:23

commit 15941e5fea63d566111ac57e94886b1ea761b110
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 28 13:59:29 2001 +0000

    Move more args into PSM_t.
    
    CVS patchset: 4586
    CVS date: 2001/02/28 13:59:29

commit 770f01d2d4f5783a60e7854e2c4f5918520c2f2d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 27 23:12:30 2001 +0000

    Start wiring PSM_t throughout.
    
    CVS patchset: 4585
    CVS date: 2001/02/27 23:12:30

commit 56bea19bfc794370c8b18de5becfdfefd560e98b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 27 22:08:53 2001 +0000

    Sketch out PSM_t for package state machine.
    
    CVS patchset: 4584
    CVS date: 2001/02/27 22:08:53

commit 74f16c53a389ed68ee93d6eccc31e0f9236ef8c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 27 21:30:27 2001 +0000

    Handle non-string tag indices correctly.
    Sync with rpm-4.0.2.
    
    CVS patchset: 4583
    CVS date: 2001/02/27 21:30:27

commit 84ab8a1f64c1ebb8e98cca47adf2be414ed15daf
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 27 07:37:01 2001 +0000

    Doc fix
    
    CVS patchset: 4580
    CVS date: 2001/02/27 07:37:01

commit 8737af8adcb7003e0f78c2c62b799fde17a9cd55
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 27 07:36:29 2001 +0000

    *** empty log message ***
    
    CVS patchset: 4579
    CVS date: 2001/02/27 07:36:29

commit cf7b6002da860e3de697bac21e31e21e26acb9d9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 27 07:35:32 2001 +0000

    Removed a redundancy
    
    CVS patchset: 4578
    CVS date: 2001/02/27 07:35:32

commit 6783b510aacca09bd52c6e4adfa530adbf1b0e1c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 27 07:34:44 2001 +0000

    Changes mostly to the handling of RPM::Header objects within the RPM::Database
    class. Also some other memory-related fixes in RPM::Header.
    
    CVS patchset: 4577
    CVS date: 2001/02/27 07:34:44

commit 08285d5eff167a475fd918c263841f761f4cfbab
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 27 07:34:00 2001 +0000

    Changed in prototype for one of the rpmdb_* routines.
    
    CVS patchset: 4576
    CVS date: 2001/02/27 07:34:00

commit f64f273405156545b1492bfe93966b2154b7c3b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 21 19:14:35 2001 +0000

    Add fflush (#24319).
    
    CVS patchset: 4565
    CVS date: 2001/02/21 19:14:35

commit 547ddc6d8a56b58c82e388c1007ca6ff785b2530
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 21 18:14:16 2001 +0000

    Add Requires: rpm = %{version} to rpm-python.
    
    CVS patchset: 4563
    CVS date: 2001/02/21 18:14:16

commit c56c829d2898cfbe88a7660e319fa858f3dddeaf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 19 17:12:21 2001 +0000

    1st crack at --repackage.
    
    CVS patchset: 4557
    CVS date: 2001/02/19 17:12:21

commit 8f99e61fc799c32282fc93d5783e7fd4f84779c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 17 17:53:21 2001 +0000

    Merge changes from rpm-4.0.2.
    Add iterators and reverse flag so that erase transactions can run backwards.
    
    CVS patchset: 4556
    CVS date: 2001/02/17 17:53:21

commit e89f3d17910f91811bcb7a87378dc0f413ab6e66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 17 16:05:13 2001 +0000

    Add missing tokens.
    
    CVS patchset: 4555
    CVS date: 2001/02/17 16:05:13

commit 85a84a6826f982160c31286fb23be771d69eb5ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 12 19:02:15 2001 +0000

    Add rpmRC return code type for the usual 0/1/2 codes.
    Add RPMRC_BADSIZE to deal with packages changing size after repackaging.
    
    CVS patchset: 4550
    CVS date: 2001/02/12 19:02:15

commit bc348ac49cddff43f7aed6d0d17531a8482d0e47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 12 16:33:08 2001 +0000

    Rename RPMSIG_* signature types to RPMSIGTYPE_* to avoid confusion.
    Remove dead code.
    
    CVS patchset: 4549
    CVS date: 2001/02/12 16:33:08

commit 2be9ecf0eb0f5f4afe10d0cb2b096d7442d5f2f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 11 22:02:29 2001 +0000

    1st stab at --repackage.
    
    CVS patchset: 4545
    CVS date: 2001/02/11 22:02:29

commit eccb6f66fc6cc5ecdebf40a6a8150a804f870fe5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 10 16:47:40 2001 +0000

    Reorganize sources before implementing --repackage.
    
    CVS patchset: 4543
    CVS date: 2001/02/10 16:47:40

commit d304bac9be5dfaefab20c0a953ee1f5197422b45
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 10 14:35:55 2001 +0000

    - fix: diddle exit code for attempted installs of non-packages (#26850).
    - python binding diddles to reduce installer memory footprint by
      delayed loading of file info.
    
    CVS patchset: 4542
    CVS date: 2001/02/10 14:35:55

commit c7cbf952abe353d8a06387726426ae50448b6e0a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 9 20:59:08 2001 +0000

    Orphans.
    
    CVS patchset: 4538
    CVS date: 2001/02/09 20:59:08

commit d991f23281c6e80b323f762c0138689679bbb32b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 9 20:58:37 2001 +0000

    fix: make a copy of retrieved header before loading.
    handle out-of-sync hardlinks as sub-state, don't save the file name.
    fix: on build, was broke, add --fsmdebug as well.
    
    CVS patchset: 4537
    CVS date: 2001/02/09 20:58:37

commit 2f9fa168c803e4ddbb20021a128f759da553bd06
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 8 23:05:05 2001 +0000

    Remove DEAD code.
    
    CVS patchset: 4531
    CVS date: 2001/02/08 23:05:05

commit cc3e5fd3dbcbb94928c5fc88d4257ca3514c7805
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 8 21:50:38 2001 +0000

    Move state machine drivers into fsmStage.
    Off to fix build's yet again.
    
    CVS patchset: 4530
    CVS date: 2001/02/08 21:50:38

commit 485f508bb1a7f60fcbd7757be4acdfedb51b17ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 7 17:57:10 2001 +0000

    Update location of sources.
    
    CVS patchset: 4524
    CVS date: 2001/02/07 17:57:10

commit 2f2295bf07847e72f7f7fee5aa52607fec9fed14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 6 22:39:56 2001 +0000

    Asynchronous commit of installed files.
    fix: set file mtimes from package.
    fix: insure that notify is not called at start of commit.
    
    CVS patchset: 4523
    CVS date: 2001/02/06 22:39:56

commit 29045caf73b54f5a72b93e41010a263a2d7e3cdb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 5 22:22:43 2001 +0000

    fix: links weren't renamed correctly.
    Use hge/hfd vectors most everywhere.
    
    CVS patchset: 4522
    CVS date: 2001/02/05 22:22:43

commit 62ff3348fdfe8712cf49efd52476670bf5245b6b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 5 17:55:34 2001 +0000

    Remove XFA_SKIPPING from iterator.
    Make sure that external stages are properly postponed.
    
    CVS patchset: 4521
    CVS date: 2001/02/05 17:55:34

commit 1b9cbfcc5e6b6971acf99b8d65e84fb6764c2de3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 4 22:15:30 2001 +0000

    revert speedup on commit if same perms, there's more to do.
    lclint annotations.
    
    CVS patchset: 4520
    CVS date: 2001/02/04 22:15:30

commit a0a2c1d83cc45c575f53989cb72d5bd2aed40014
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 4 18:15:21 2001 +0000

    Rip out remnants of cpio file mapping.
    
    CVS patchset: 4519
    CVS date: 2001/02/04 18:15:21

commit b9726c19b2e5901b4bec4f640b05747ca52e29ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 4 02:04:09 2001 +0000

    Merged build/install in file state machine.
    
    CVS patchset: 4518
    CVS date: 2001/02/04 02:04:09

commit 53279c4ac34621cebd36fa940e24374c4451d4aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 3 20:07:39 2001 +0000

    fix: db1 dbopen() check found in libc not auto-configuring forrectly.
    Add fsm->goal to start unifying install/erase/build state machines.
    Use rpmio syscall rpc where available.
    FSM_BUILD has explicit init/fini stages.
    FSM_LSTAT done once in init.
    FSM_MKDIRS done in init.
    
    CVS patchset: 4517
    CVS date: 2001/02/03 20:07:39

commit 2816871692ceb70eb1feb75314acbc98c20369dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Feb 3 14:30:57 2001 +0000

    Add I/O to file state machine.
    
    CVS patchset: 4516
    CVS date: 2001/02/03 14:30:57

commit e3d524717407f943594d41429988b61561e36549
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 2 15:04:44 2001 +0000

    Use fsm for building.
    
    CVS patchset: 4514
    CVS date: 2001/02/02 15:04:44

commit 1363a3339deb73cbbfe38b432a1af51640c0cb6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 2 00:07:49 2001 +0000

    fix: grrr, post increment off by 1 iterator.
    
    CVS patchset: 4513
    CVS date: 2001/02/02 00:07:49

commit ac1a303d16136b4f1312ba4c1b6a1c5cba6c87f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 1 20:19:17 2001 +0000

    Handle links correctly, wotta PITA. Now to clean up and find the double free ...
    
    CVS patchset: 4512
    CVS date: 2001/02/01 20:19:17

commit 618184c4bf450b09f0fa82ac5b57460289b24cf6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 30 23:38:39 2001 +0000

    Simple install file state machine.
    
    CVS patchset: 4510
    CVS date: 2001/01/30 23:38:39

commit d8b44a5d651e009760ed47f5802aeb3e325552cc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 29 22:53:48 2001 +0000

    Commit to install file state machine.
    
    CVS patchset: 4509
    CVS date: 2001/01/29 22:53:48

commit f684f63a728fb00af75c3122d2e4f808737459f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 28 19:12:04 2001 +0000

    Apply suffixes only to files.
    Bundle dev/symlink/fifo/sock into hdr state machine.
    
    CVS patchset: 4505
    CVS date: 2001/01/28 19:12:04

commit c225a48edf44d64e72ba4ac4822005ff49a57862
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 28 02:14:29 2001 +0000

    Orphan.
    
    CVS patchset: 4504
    CVS date: 2001/01/28 02:14:29

commit 3aeae6be321dbe150a574ac0a97d3598d3f1091b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 28 02:13:48 2001 +0000

    Payload state machine, with commit and undo.
    
    CVS patchset: 4503
    CVS date: 2001/01/28 02:13:48

commit 971e0ea6fcc306d297f16211938cfbd7cc765dbc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 27 17:42:24 2001 +0000

    1st crack at a payload unpack state machine.
    
    CVS patchset: 4502
    CVS date: 2001/01/27 17:42:24

commit c825d02369a2b0bc9d26e0f07b6f9a6a288587ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 26 17:06:09 2001 +0000

    lclint annotations.
    
    CVS patchset: 4500
    CVS date: 2001/01/26 17:06:09

commit 3039fe0cca283fd8d7fd1a08bdbb73e00c2499f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 25 20:26:47 2001 +0000

    Orphan.
    
    CVS patchset: 4499
    CVS date: 2001/01/25 20:26:47

commit dd94329f0c3d6fc592a88c68d7df833f88435f09
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 25 20:26:35 2001 +0000

    - remove support for v1 src rpm's.
    - reposition callbacks with ts/fi in cpio payload layer.
    
    CVS patchset: 4498
    CVS date: 2001/01/25 20:26:35

commit 5ae2e10e9eaef7c0ca0104c0294f16eb66c9958e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 25 12:58:03 2001 +0000

    Isolate install/erase actions.
    Start wrapping src rpm installs in a transaction.
    
    CVS patchset: 4497
    CVS date: 2001/01/25 12:58:03

commit f0853f68436ca65cc891d32719fc74c98bbf4ce5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 24 21:35:52 2001 +0000

    Add rollback.h, 1st attempt to rationalize TFI_t.
    
    CVS patchset: 4496
    CVS date: 2001/01/24 21:35:52

commit de35e20bf1b423e7c5279ca6ea5a4807df2c4673
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 24 15:58:35 2001 +0000

    Rip XFI_t from install.
    
    CVS patchset: 4495
    CVS date: 2001/01/24 15:58:35

commit 8b7b911a17f187822f6e72b162ef3bea39366176
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 23 23:03:28 2001 +0000

    Rip out cpioFileMap.
    
    CVS patchset: 4493
    CVS date: 2001/01/23 23:03:28

commit 7eb91a51526e6d85cbcec1760d7a18144b1aa9b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 23 16:07:28 2001 +0000

    Expose loadFi/freeFi.
    Add elements to TFI_t that will be needed by install/remove.
    
    CVS patchset: 4489
    CVS date: 2001/01/23 16:07:28

commit 15439b46c01fdc961d078e776d1f6b7b01c29b6a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 22 19:11:19 2001 +0000

    Make cpio maps totally opaque.
    
    CVS patchset: 4487
    CVS date: 2001/01/22 19:11:19

commit 4a0c7b16a8a2f62ee449a248911abc99ddcd7e46
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 21 23:48:56 2001 +0000

    Create.
    
    CVS patchset: 4480
    CVS date: 2001/01/21 23:48:56

commit ccdf2e17d8502607a21caa52efaf0ed98a0dee5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 21 23:48:09 2001 +0000

    Make cpio mappings opaque.
    
    CVS patchset: 4479
    CVS date: 2001/01/21 23:48:09

commit d07437babbde795e5f58fa6b6092c2867a1781f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 21 15:43:32 2001 +0000

    - cpio mappings carry dirname/basename, not absolute path.
    
    CVS patchset: 4474
    CVS date: 2001/01/21 15:43:32

commit b8694daf7caeab685bb5e86d1c5909174f519e81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 19 19:31:11 2001 +0000

    ewt's cpio hack reverted.
    
    CVS patchset: 4470
    CVS date: 2001/01/19 19:31:11

commit ab794ac6f7466258f7cef1f922e657da310521d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 19 17:21:55 2001 +0000

    Typo.
    
    CVS patchset: 4469
    CVS date: 2001/01/19 17:21:55

commit 8b64adc8121936aa516662193ab8e75432069164
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 19 16:49:14 2001 +0000

    ewt's cpio hack.
    
    CVS patchset: 4468
    CVS date: 2001/01/19 16:49:14

commit 7922ac38468e4296b4839d9876d2003d4278fbea
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 19 04:27:24 2001 +0000

    exit 0 if not in the if clause
    
    CVS patchset: 4466
    CVS date: 2001/01/19 04:27:24

commit 1f44236f648737316b55b43c97ab941d33ec20ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 19 01:38:55 2001 +0000

    - fix: insure that %lang scopes over hard links correctly.
    - fix: rpmCleanPath was nibbling at .. in macrofiles incorrectly.
    
    CVS patchset: 4464
    CVS date: 2001/01/19 01:38:55

commit 4688ffcfa3cd07c5aa190282219a2a6cf3a70e58
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 17 16:03:50 2001 +0000

    Orphans.
    
    CVS patchset: 4460
    CVS date: 2001/01/17 16:03:50

commit bfa1698ec347d71bb6f0a43baec16dcc29fb0860
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 17 16:00:36 2001 +0000

    - 1st crack at Mandrake specific per-platform macros.
    
    CVS patchset: 4459
    CVS date: 2001/01/17 16:00:36

commit 45f7994691135302d6365239c4da7756bc689980
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 21:54:59 2001 +0000

    Re-add successor line.
    
    CVS patchset: 4457
    CVS date: 2001/01/16 21:54:59

commit 0eb282dc4ea02b14351278ebd578a8ab99237d1d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 17:33:59 2001 +0000

    - tsort prefers presentation order.
    
    CVS patchset: 4456
    CVS date: 2001/01/16 17:33:59

commit 888f65b07da0715694f0fcf3e2afa6ee16076296
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 14:10:21 2001 +0000

    fix: segfault through python bindings with fd to non-package (#24089).
    
    CVS patchset: 4453
    CVS date: 2001/01/16 14:10:21

commit ef0d093f14a37803174e776f3241474020b7586f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 13:39:50 2001 +0000

    Increase size of help format buffer (#24093).
    
    CVS patchset: 4450
    CVS date: 2001/01/16 13:39:50

commit 3e85ac2cd2eab018c0bb3190677314afaa9c7d54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 13:09:35 2001 +0000

    dropped piece of patch.
    
    CVS patchset: 4448
    CVS date: 2001/01/16 13:09:35

commit e4ae142a225585ccf03276fc607ba40edb10cf75
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 16 12:54:00 2001 +0000

    Typo.
    
    CVS patchset: 4446
    CVS date: 2001/01/16 12:54:00

commit c74cc1df1c51f0c2a99de94cb0a0b1e9448499f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 15 23:09:42 2001 +0000

    - fix: extra newline in many error messages (#23947).
    - fix: rpm -Va with db1 needs per-iterator, not per-index, offset.
    - add install/remove transaction id tags.
    
    CVS patchset: 4441
    CVS date: 2001/01/15 23:09:42

commit 082ccecf35f3fb73c2a58b9052f102e5d9386fc4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 15 22:55:49 2001 +0000

    Add missing keyword=POPT_ line to xgettext extraction.
    
    CVS patchset: 4440
    CVS date: 2001/01/15 22:55:49

commit d229ea2db02fc71295836f5a37dce924a871f3b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 13 17:39:54 2001 +0000

    - fix the hack.
    
    CVS patchset: 4436
    CVS date: 2001/01/13 17:39:54

commit 5b06c479a5ee7c545e105c0a9ac55daa31fc4836
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 12 21:47:49 2001 +0000

    - hack: permit installer to determine package ordering using 1000003 tag.
    
    CVS patchset: 4435
    CVS date: 2001/01/12 21:47:49

commit 31a589ae49d9f711792a9bb24f5c0b8b1b3cd965
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 12 18:22:27 2001 +0000

    doxygen annotations for python bindings.
    
    CVS patchset: 4433
    CVS date: 2001/01/12 18:22:27

commit fd0c1a672de734f768ad6fc6d0751b5c6710bc86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 12 16:34:16 2001 +0000

    Remove bash syntax.
    
    CVS patchset: 4431
    CVS date: 2001/01/12 16:34:16

commit abcf8c192ad26630b8820b881ff30822c28ce5ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 11 17:18:10 2001 +0000

    rpm2cpio(8) typos (#23662).
    
    CVS patchset: 4428
    CVS date: 2001/01/11 17:18:10

commit 2e137679467f975e486879f672969375fc9fcf70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 11 14:13:04 2001 +0000

    doxygen annotations for build/*.
    - fix: don't hang on build error.
    - fix: remove "error: " prefix from signature verification message.
    
    CVS patchset: 4426
    CVS date: 2001/01/11 14:13:04

commit 67aa2355659586f88f8481778bf46e8d44f59788
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 10 22:19:55 2001 +0000

    - fix: find-requires.perl needed update (#23450).
    
    CVS patchset: 4424
    CVS date: 2001/01/10 22:19:55

commit dcbf7492f21b41ed552317e576609712e356f735
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 10 20:42:32 2001 +0000

    - successors from tsort are processed in presentation order.
    
    CVS patchset: 4423
    CVS date: 2001/01/10 20:42:32

commit 862f4b1af9801265872d53d2dfff623b3b558788
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 9 23:13:04 2001 +0000

    register more enums
    
    CVS patchset: 4422
    CVS date: 2001/01/09 23:13:04

commit 903a070e8de00c6cf6a1479994c70027eccdfd78
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 9 21:46:11 2001 +0000

    - fix: digests on input FD_t dinna work.
    - fix: remove rebuilddb debugging leakage.
    
    CVS patchset: 4421
    CVS date: 2001/01/09 21:46:11

commit 424793073c381d75d75bd1b4787d153ba16fd4b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 9 04:07:49 2001 +0000

    - tsorted packages processed in successor count order.
    - fix: resurrect --excludepath (#19666).
    
    CVS patchset: 4418
    CVS date: 2001/01/09 04:07:49

commit 330737d2fca4f68061e481c25b7793d309e98fb0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 8 17:20:32 2001 +0000

    configure.in: Typo in --with-puthon.
    Add eu_ES (Basque).
    
    CVS patchset: 4416
    CVS date: 2001/01/08 17:20:32

commit 8f18329bf9ed6d4e043df9b6affa86209332a47b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 5 21:04:45 2001 +0000

    - fix: 3 packages from Red Hat 5.2 had bogus %verifyscript tag.
    
    CVS patchset: 4413
    CVS date: 2001/01/05 21:04:45

commit 9bf42922ebe56ef1799d0be4628a90f95367acdd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 4 02:24:14 2001 +0000

    - fix: pass scriptlet args, as in %post -p "/sbin/ldconfig -n /lib".
            (Rodrigo Barbosa)
    
    CVS patchset: 4411
    CVS date: 2001/01/04 02:24:14

commit 520800b61de36ffe27723d7d9ecae748faa314f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 4 00:53:41 2001 +0000

    Duh, conversion to lower is " ... | 0.20".
    
    CVS patchset: 4409
    CVS date: 2001/01/04 00:53:41

commit e8d41399496f62196613412687c3e14442222ee7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 3 20:28:29 2001 +0000

    solaris awk hase not (foo ? ... : ...) construct.
    
    CVS patchset: 4407
    CVS date: 2001/01/03 20:28:29

commit 23fcf67cb51b54c4c1f23188ee355dbcbfba0a28
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 3 20:19:27 2001 +0000

    - fix: avoid locale issues with strcasecmp/strncasecmp (#23199).
    - remove almost all explicit uses of stderr in rpmlib using rpmError().
    
    CVS patchset: 4406
    CVS date: 2001/01/03 20:19:27

commit fd2c1d927f4a13e0507ab929a009decdbb90c01e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 2 17:27:18 2001 +0000

    Sanity (make dist).
    
    CVS patchset: 4402
    CVS date: 2001/01/02 17:27:18

commit 6aafc439daffd1232b410346abb2307cef0a2d4d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 2 17:19:34 2001 +0000

    doxygen annotations for popt.
    
    CVS patchset: 4401
    CVS date: 2001/01/02 17:19:34

commit 25d8bdb6c44745b67129440bac510cb779ebfd42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 2 00:12:03 2001 +0000

    Sanity (make dist).
    
    CVS patchset: 4399
    CVS date: 2001/01/02 00:12:03

commit 836b60f018634944eb61315bad54d644960e71a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 2 00:10:45 2001 +0000

    fix: qva->qva_sourceCnt check now 2 rather than 1 with nested tables.
    
    CVS patchset: 4398
    CVS date: 2001/01/02 00:10:45

commit fa3e119a8350665f9c8d98929e4ceed041c4c3f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 1 23:14:47 2001 +0000

    - use popt autohelp for rpm helper binaries.
    
    CVS patchset: 4396
    CVS date: 2001/01/01 23:14:47

commit f2f0eb928e912e49baec2970529f74980d16aab1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 31 20:46:18 2000 +0000

    Don't want -pg flags.
    
    CVS patchset: 4395
    CVS date: 2000/12/31 20:46:18

commit 37a87e6f14cc9f4e81779c4777454e331934bb96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 31 20:30:37 2000 +0000

    - (popt): add POPT_ARGFLAG_OPTIONAL for long options with optional arg.
    - (popt): diddle auto-help to include type of arg expected.
    
    CVS patchset: 4394
    CVS date: 2000/12/31 20:30:37

commit b9145eabe09db09a56c9daf3006426b08182d848
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 30 19:59:37 2000 +0000

    - (popt): fix float/double handling (#19701).
    - (popt): non-linux needs <float.h> (#22732).
    
    CVS patchset: 4390
    CVS date: 2000/12/30 19:59:37

commit e5899585adb06bc6d934b6a571c6778710a334a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 30 19:01:23 2000 +0000

    - (non-linux): move stubs.c to rpmio (#21132).
    - (python): bind initdb (#20988).
    
    CVS patchset: 4389
    CVS date: 2000/12/30 19:01:23

commit 23f9e46a3394fbe6687a1c0446c9a2ae393cc515
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 30 18:26:10 2000 +0000

    Typo.
    
    CVS patchset: 4387
    CVS date: 2000/12/30 18:26:10

commit 06e45e2923af6c68c85d90a27c523987740f6036
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 29 21:44:37 2000 +0000

    - fix: avoid FAT and other brain-dead file systems that have not inodes.
    - fix: hack around alpha mis-compilation signature problems.
    - rpmmodule.c(handleDbResult): return empty list when nothing matches.
    
    CVS patchset: 4385
    CVS date: 2000/12/29 21:44:37

commit aff441656cc10f1326a3d65c96051f8096880de1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Dec 29 19:25:38 2000 +0000

    fix handleDbResult so that it will return an empty list when nothing matches instead of delivering an exception
    
    CVS patchset: 4382
    CVS date: 2000/12/29 19:25:38

commit bc5ea0ac35691a2400767c661fd204e54d614c3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 27 21:22:17 2000 +0000

    Bump release.
    
    CVS patchset: 4378
    CVS date: 2000/12/27 21:22:17

commit f84fd1900d2c478ad645b9d8b12557bc4e7825ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 27 21:19:53 2000 +0000

    - use malloc'ed buffer for large queries.
    
    CVS patchset: 4377
    CVS date: 2000/12/27 21:19:53

commit 6fca2e5c39f9251ce799724052470c96edfc0383
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 26 19:06:54 2000 +0000

    Fix --queryformat.
    
    CVS patchset: 4374
    CVS date: 2000/12/26 19:06:54

commit 190b5df3693c0368d8a2483626f20c19919130d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 26 13:10:18 2000 +0000

    - send query/verify output through rpmlog().
    - resurrect rpmErrorSetCallback() and rpmErrorString().
    
    CVS patchset: 4372
    CVS date: 2000/12/26 13:10:18

commit fdd2f17c5647079fa042ddb8660233a6b32c7075
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 21 21:07:41 2000 +0000

    - fix: removed headers from db need a headerCopy().
    
    CVS patchset: 4368
    CVS date: 2000/12/21 21:07:41

commit 8e1c9c413bec997990e3c9f9ab72dae50914d6a7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 21 17:20:19 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 4367
    CVS date: 2000/12/21 17:20:19

commit c339c239b9aadeaa228377c3f812db81e9d3c083
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 21 17:14:53 2000 +0000

    - immutable headers, once installed by rpm3, need to lose immutablity.
    
    CVS patchset: 4365
    CVS date: 2000/12/21 17:14:53

commit b874299aab3b048055c63036b650e5352f39c574
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 20 21:08:18 2000 +0000

    - whiteout mozilla loop for 7.1.
    fix the auto %_tmppath creation.
    
    CVS patchset: 4363
    CVS date: 2000/12/20 21:08:18

commit e6161a7cb3a21c1a6dbac2aee3e0627a6852fc25
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 19 23:22:00 2000 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 4361
    CVS date: 2000/12/19 23:22:00

commit 22be517f73d31bc1eb80f8a69bb8211670cd16fc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 19 17:43:56 2000 +0000

    - identify install scriptlet failures with the name of the scriptlet.
    - handle install chroot's identically throughout the install process.
    - add rpmlib(HeaderLoadSortsTags) for tracking header regions "just in case".
    - create _tmppath on the fly if not present.
    
    CVS patchset: 4355
    CVS date: 2000/12/19 17:43:56

commit 73ee3b2e8657ea8367a34e683bb7a3fc73af8494
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 17 19:55:31 2000 +0000

    Move assertion to avoid false failure.
    
    CVS patchset: 4352
    CVS date: 2000/12/17 19:55:31

commit c52fc1329b320bfb4a1c20d99b104abe558dee16
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 17 01:16:14 2000 +0000

    Spelling correction.
    
    CVS patchset: 4349
    CVS date: 2000/12/17 01:16:14

commit f7c8cb86898a47f396a7f3ee0d5fcba1de328a56
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 16 19:00:30 2000 +0000

    - gendiff: generate ChangeLog patches more intelligently (#22356).
    
    CVS patchset: 4348
    CVS date: 2000/12/16 19:00:30

commit 92c9e1fc77e3b8dd523bc34323bf377b719e94b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 14 22:14:29 2000 +0000

    - fix: segfault on build path, ignore deleted drips.
    - fix: synthesized callbacks for removed packages have not a pkgkey.
    
    CVS patchset: 4346
    CVS date: 2000/12/14 22:14:29

commit 66671b9701767918dfc0541f15aca2e6abd0ac85
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 13 22:00:33 2000 +0000

    - fix: (transaction.c) assume file state normal if tag is missing.
    - fix: failed signature read headerFree segfault.
    - fix: revert ALPHA_LOSSAGE, breaks 6.2/i386.
    
    CVS patchset: 4343
    CVS date: 2000/12/13 22:00:33

commit 9ead48e86bb92aa19ba3159a3fd123f978c3b8a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 12 21:45:18 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 4340
    CVS date: 2000/12/12 21:45:18

commit c7248553bebb427efa2ad1059ddd7c77b4d062d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 12 21:05:49 2000 +0000

    - fix: headerLoad segfault in python bindings.
    
    CVS patchset: 4339
    CVS date: 2000/12/12 21:05:49

commit db32ab6bea1b635129820d6b628e6156c61b5385
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 12 20:03:45 2000 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 4338
    CVS date: 2000/12/12 20:03:45

commit 2e9d2616969433851a1c883c900d6ea5acde67b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 4 02:13:11 2000 +0000

    - use package version 3 if --nodirtokens is specified.
    
    CVS patchset: 4317
    CVS date: 2000/12/04 02:13:11

commit 0d5ea219853edb5872fff3b5145ccd1c5783df14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 4 00:55:17 2000 +0000

    Sync with rpm-4_0 branch.
    
    CVS patchset: 4315
    CVS date: 2000/12/04 00:55:17

commit 780c0c2987c4b66bcad29b7cb2c1eb46bdd0b0c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 3 17:47:49 2000 +0000

    - python: bind package removal (#21274).
    
    CVS patchset: 4307
    CVS date: 2000/12/03 17:47:49

commit 2885f536b6e314734c0c04245d77b9f7bdc76d42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 2 21:53:44 2000 +0000

    Bring header reggions mods back to top of stack.
    
    CVS patchset: 4305
    CVS date: 2000/12/02 21:53:44

commit d7a40e754dc6b0ac07d2185bb5723384065feab5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 2 16:52:14 2000 +0000

    - improved find-{requires,provides} for aix4/hpux/irix6/osf.
            Tim Mooney<mooney@dogbert.cc.ndsu.NoDak.edu>
    
    CVS patchset: 4300
    CVS date: 2000/12/02 16:52:14

commit 28625265e4cb2653f8994cebae1da6fce6919d9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 22 20:05:51 2000 +0000

    FILENAMES -> OLDFILENAMES, tags have changed <chmouel@mandrakesoft.com>.
    
    CVS patchset: 4291
    CVS date: 2000/11/22 20:05:51

commit 339e76efe045148c013b1e2e5d4a09f892dcdcda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 16 22:55:10 2000 +0000

    - md5 sums are little endian (no swap) so big endian needs the swap.
    
    CVS patchset: 4285
    CVS date: 2000/11/16 22:55:10

commit 72887bda14d22d91807850aa8550a07953596129
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Nov 16 08:06:35 2000 +0000

    minor nits
    
    CVS patchset: 4282
    CVS date: 2000/11/16 08:06:35

commit 5241ae65819f65820f335f7c5adc94bf33fe01c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 20:44:57 2000 +0000

    Annotations.
    
    CVS patchset: 4279
    CVS date: 2000/11/15 20:44:57

commit fa7f37728fa08ff9ce066ed2928b646b0b8dcf1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 20:44:06 2000 +0000

    Avoid gcc enum warnings, remove ugly braces.
    
    CVS patchset: 4278
    CVS date: 2000/11/15 20:44:06

commit 045d275d4977f339bdfe5080ee6c78155af2aa67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 20:42:25 2000 +0000

    Add const's.
    
    CVS patchset: 4277
    CVS date: 2000/11/15 20:42:25

commit 2d09e6c9da6ff24bcffb837ea2f88e92f75d63d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 20:38:58 2000 +0000

    Sanity.
    
    CVS patchset: 4276
    CVS date: 2000/11/15 20:38:58

commit 4718cca58c9befe4041c054e819ec917592d40ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 16:09:47 2000 +0000

    Add arm per-platform config directories.
    
    CVS patchset: 4275
    CVS date: 2000/11/15 16:09:47

commit a17b1cd86cd3e7f76a178111c591404cf9f63fd5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 16:00:42 2000 +0000

    - hpux w/o -D_OPEN_SOURCE has not h_errno.
    
    CVS patchset: 4271
    CVS date: 2000/11/15 16:00:42

commit 5a3203d4851f69e47be2797ffa98fe97085ed6e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 15 15:28:46 2000 +0000

    - fix: segfault on exit of "rpm -qp --qf '%{#fsnames}' pkg" (#20595).
    
    CVS patchset: 4268
    CVS date: 2000/11/15 15:28:46

commit 98d922e42d9e7d98d2b6628cd5af9f081dc3451c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Nov 14 06:43:53 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4266
    CVS date: 2000/11/14 06:43:53

commit f34af1ea587faf2141060c6400f88080377ffd00
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Nov 14 06:19:10 2000 +0000

    Fixing scalar mortality issues
    
    CVS patchset: 4265
    CVS date: 2000/11/14 06:19:10

commit 0f33f87d1ce6fb5d6e7023e2da4c3339d2e3d74c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 12 19:33:07 2000 +0000

    - fix: duplicate headerFree() on installBinaryPackage() error return.
    
    CVS patchset: 4263
    CVS date: 2000/11/12 19:33:07

commit 44e5913dae80f1040748441af35fb02b840c397a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 12 11:11:49 2000 +0000

    - fine-grained Requires, remove install PreReq's from Requires db.
    
    CVS patchset: 4258
    CVS date: 2000/11/12 11:11:49

commit 97e479677f998ed02643804b37bf89e40a56a0cf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 12 10:02:54 2000 +0000

    Sanity.
    
    CVS patchset: 4257
    CVS date: 2000/11/12 10:02:54

commit e94ee3fa1b5714e6eeed381912d8263cc560875a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Nov 11 09:24:32 2000 +0000

    All changes in before 0.292 release
    
    CVS patchset: 4253
    CVS date: 2000/11/11 09:24:32

commit f7db7be14f8b08f1c949da3a7d891cc2d6ec6036
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 10 09:55:50 2000 +0000

    Bumped version number in preparation for next release
    
    CVS patchset: 4251
    CVS date: 2000/11/10 09:55:50

commit 187174dc4b51b1b78d02e1c3f37f653de478cd66
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 10 09:41:50 2000 +0000

    More tests.
    
    CVS patchset: 4250
    CVS date: 2000/11/10 09:41:50

commit 011f727bbff26c84a2044c6458e3d06f972c486b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 10 08:49:57 2000 +0000

    Wide-range changes and bugfixing. Commit to sync w/ desktop
    
    CVS patchset: 4249
    CVS date: 2000/11/10 08:49:57

commit 843e9e77638ee94fbce8b4f5a623c4610b5854d0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 10 08:49:11 2000 +0000

    sync w/ desktop
    
    CVS patchset: 4248
    CVS date: 2000/11/10 08:49:11

commit 80450e23a63a38d0fae18a2d7110ca82d2184fa4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 10 08:48:39 2000 +0000

    Added .gdbinit
    
    CVS patchset: 4247
    CVS date: 2000/11/10 08:48:39

commit 38b66577e62875adac4542b7923d614f65cf4239
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 8 17:07:01 2000 +0000

    - add region marker as RPM_BIN_TYPE in packages and database.
    - fix: don't headerCopy() relocateable packages if not relocating.
    
    CVS patchset: 4246
    CVS date: 2000/11/08 17:07:01

commit 387de4bd656512e840108ca8a79c3b972eb133c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 7 13:16:56 2000 +0000

    Orphan.
    
    CVS patchset: 4245
    CVS date: 2000/11/07 13:16:56

commit 636e4b37718ea8f87fcf29f934aa0a03e9bfcc69
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 7 13:16:43 2000 +0000

    - load headers as single contiguous region.
    
    CVS patchset: 4244
    CVS date: 2000/11/07 13:16:43

commit 62c5a919309223a72c05bbcd2e26559bce67def1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 2 17:57:25 2000 +0000

    - add support for unzip rodrigob@conectiva.com.br>
    
    CVS patchset: 4243
    CVS date: 2000/11/02 17:57:25

commit 5f541ebafd9a1ef35d01f5f169a15533f0396d1c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 2 14:48:43 2000 +0000

    Document that --target needs equal sign.
    
    CVS patchset: 4242
    CVS date: 2000/11/02 14:48:43

commit 6a0534e5d909191f33b835b15f981bfc282a29db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 31 18:24:05 2000 +0000

    Return unsatisfied immediately if "rpmlib(" dependency fails to match.
    
    CVS patchset: 4241
    CVS date: 2000/10/31 18:24:05

commit 865ba80f1eebe26aa8e81634d643d6ec95faf5fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 31 16:53:14 2000 +0000

    - add rpmGetRpmlibProvides() to retrieve rpmlib(...) provides
            "Pawel A. Gajda" <mis@k2.net.pl>.
    
    CVS patchset: 4236
    CVS date: 2000/10/31 16:53:14

commit edfbc6958ac14d095801ced4abf585aa74b2ad67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 31 16:22:43 2000 +0000

    Document that --target needs equal sign.
    
    CVS patchset: 4235
    CVS date: 2000/10/31 16:22:43

commit ce1e8d26ec5c76550c59fa30b6e6787e21f866e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 31 16:18:34 2000 +0000

    - add support for SHA1 as well as MD5 message digests.
    lclint annotations.
    
    CVS patchset: 4234
    CVS date: 2000/10/31 16:18:34

commit d69a6f7c1c4901dd48ca730937ce67886fbf2c61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 31 16:10:49 2000 +0000

    Eliminate.
    
    CVS patchset: 4233
    CVS date: 2000/10/31 16:10:49

commit 95acf8ebaff1197dcb24df29bef7a8150035d2e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 28 18:45:58 2000 +0000

    - better item/task progress bars <rodrigob@conectiva.com.br>.
    
    CVS patchset: 4232
    CVS date: 2000/10/28 18:45:58

commit e407eeefe7afcbfbfb11d213ac08f102c8200db7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 28 17:30:58 2000 +0000

    - add brp-strip-shared script <rodrigob@conectiva.com.br>.
    
    CVS patchset: 4231
    CVS date: 2000/10/28 17:30:58

commit 3ad99fcba52fcc5e8ab636d2f1760c945cdfbf19
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 28 17:16:25 2000 +0000

    - add cscope/ctags (Rodrigo Barbosa<rodrigob@conectiva.com.br>).
    - remove getMacroBody() from rpmio API.
    - hide libio lossage in prototype, not API.
    lclint annotations.
    
    CVS patchset: 4230
    CVS date: 2000/10/28 17:16:25

commit b8f90f10cbb592d7ac15dccae503767f262cd719
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 27 21:45:14 2000 +0000

    -  fix: runTriggers was not adding countCorrection.
    
    CVS patchset: 4229
    CVS date: 2000/10/27 21:45:14

commit 12dd80dc37fef861ada690fa0c7ffcc8a47d4fa4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 26 15:32:03 2000 +0000

    Add base64 fiddles to get at signature contents to librpmio.a.
    parsePrep.c: fix typo's.
    
    CVS patchset: 4227
    CVS date: 2000/10/26 15:32:03

commit f104a06fb09a071d9abae455b6d44473ef4be4f1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 24 14:09:41 2000 +0000

    @todo FIXME: Option -q broken when not immediately after %setup.
    
    CVS patchset: 4226
    CVS date: 2000/10/24 14:09:41

commit 3e1e23bf0630949e1ae6d9c9adb4bc606056c75d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 24 13:46:51 2000 +0000

    - verify MD5 sums of payload files when unpacking archive.
    
    CVS patchset: 4225
    CVS date: 2000/10/24 13:46:51

commit 5a35ed816dc9ef10c3c0951f676779a9e4381207
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 22 07:51:45 2000 +0000

    add arch_compat: i686 for ia64
    
    CVS patchset: 4223
    CVS date: 2000/10/22 07:51:45

commit 03efb685f124339951146926d00f204feabca001
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 20 22:04:27 2000 +0000

    - pass rpmTransactionSet, not elements, to installBinaryPackage et al.
    
    CVS patchset: 4221
    CVS date: 2000/10/20 22:04:27

commit 8699b8a12376ab718d09f9f215a40940567556dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 20 16:47:00 2000 +0000

    - detect rdonly linux file systems.
    - check available inodes as well as blocks on mounted file systems.
    
    CVS patchset: 4220
    CVS date: 2000/10/20 16:47:00

commit ec4738cfff4bf79d9a0fb972f6ed7f4ce72cbf08
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 09:24:05 2000 +0000

    Removed references to Package
    
    CVS patchset: 4217
    CVS date: 2000/10/13 09:24:05

commit fb6fce2b529e30881d1aff84c0e6706f9f9d1de7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 09:23:55 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4216
    CVS date: 2000/10/13 09:23:55

commit 88908907dce477c5b611dadef91a2c726e39fb3e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 08:47:26 2000 +0000

    Bumped VERSION up to 0.291
    
    CVS patchset: 4215
    CVS date: 2000/10/13 08:47:26

commit 1947c4fcca4a808d33f751954364ef38da0429a7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 08:44:31 2000 +0000

    Removed package stuff for 0.291
    
    CVS patchset: 4214
    CVS date: 2000/10/13 08:44:31

commit bc2bf1f5c4c4b2167140d338e835837113f48368
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 08:43:39 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4213
    CVS date: 2000/10/13 08:43:39

commit 60fe55269a19a1a491ef5c7f8d8c1755ddfb9290
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 13 08:42:32 2000 +0000

    Tweaked the spec file, removed Package stuff for 0.291.
    
    CVS patchset: 4212
    CVS date: 2000/10/13 08:42:32

commit b310c36245ded46ac107b8be78552a4eb10818f7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 12 05:10:40 2000 +0000

    Added RPM::Package stuff
    
    CVS patchset: 4211
    CVS date: 2000/10/12 05:10:40

commit 021e5e38a3ea47964458662a9564f265520894cc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 12 05:09:45 2000 +0000

    Checkpoint. Currently loads and does minimal operations.
    
    CVS patchset: 4210
    CVS date: 2000/10/12 05:09:45

commit ead6af89ab9be825ecdfe034115b14e93e2292a1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 12 05:09:16 2000 +0000

    Added a bug fix, removed an unused var, and added a constant() with AUTOLOAD
    
    CVS patchset: 4209
    CVS date: 2000/10/12 05:09:16

commit 8d85374707430b2a50388d886b6c6ef1c74abf79
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 12 05:08:08 2000 +0000

    RPM packaging support, including make rules and a spec file.
    
    CVS patchset: 4208
    CVS date: 2000/10/12 05:08:08

commit 090b045e04f46bab0f36632ae1f06b34115d9447
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 12 05:07:09 2000 +0000

    Merged into Makefile.PL
    
    CVS patchset: 4207
    CVS date: 2000/10/12 05:07:09

commit 88290004866aed2cc5e6b2b8c6c4c3428b39d87d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 10 21:17:53 2000 +0000

    Man page and help message correction (#18759).
    
    CVS patchset: 4203
    CVS date: 2000/10/10 21:17:53

commit 5583a45ff0b492e359fd912f8675d16ade0d519b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:37:45 2000 +0000

    Baseline file, tests to be added
    
    CVS patchset: 4202
    CVS date: 2000/10/10 08:37:45

commit d20550b5a6097edbbdec2fffd83c3f0c1a70ca7e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:37:20 2000 +0000

    Added another value for RPM_PACKAGE_*
    
    CVS patchset: 4201
    CVS date: 2000/10/10 08:37:20

commit ab501927a673bd28a4108f8b791321b6274d5eb3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:36:40 2000 +0000

    This is the spec file per cpanflute and Jeff. This will be enhanced
    
    CVS patchset: 4200
    CVS date: 2000/10/10 08:36:40

commit 7da9566b9ed77de5c5dadb5a3627a36d7fd4174e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:28:10 2000 +0000

    The rpm-version defines should have been put in for versions older
    than 4.0.
    
    CVS patchset: 4199
    CVS date: 2000/10/10 08:28:10

commit aff9958bb64619b234c176c298dfee8753d04e06
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:22:21 2000 +0000

    Cleanup on the AUTOLOAD function.
    
    CVS patchset: 4198
    CVS date: 2000/10/10 08:22:21

commit 9dd3fe65529f2abb88d4a381ed00e59a1ceda631
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 10 08:21:56 2000 +0000

    Added loading-tests for RPM::Error and RPM::Package
    
    CVS patchset: 4197
    CVS date: 2000/10/10 08:21:56

commit 7edce976fc9d827d8ac4efcf126f4674ac473c18
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:09:26 2000 +0000

    The start of Package functionality (CVS checkpoint to tremere)
    
    CVS patchset: 4196
    CVS date: 2000/10/08 10:09:26

commit f53b8cb1c2c5c80fb945af8421c62282327c6582
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:08:58 2000 +0000

    Changes related to start of Package integration
    
    CVS patchset: 4195
    CVS date: 2000/10/08 10:08:58

commit 8bc42f9c4df2eb167acc9ff1849551326cce76a8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:07:49 2000 +0000

    Added a fail-clause for O_RPM_Blessed
    
    CVS patchset: 4194
    CVS date: 2000/10/08 10:07:49

commit d25ad49c138cf9a5f3b0aa65897544746951ce32
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:06:58 2000 +0000

    Removed unused var
    
    CVS patchset: 4193
    CVS date: 2000/10/08 10:06:58

commit 396beef3985e62a92812926035b62b7eb4117488
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:06:37 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4192
    CVS date: 2000/10/08 10:06:37

commit feaffd1820e9e5fdf3b2514f9a0da45a6b21bab4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:06:04 2000 +0000

    Added Package to bootstrap list
    
    CVS patchset: 4191
    CVS date: 2000/10/08 10:06:04

commit a9a33f8b735f528ceac6d5f44907ead6b3710cc1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Oct 8 10:05:36 2000 +0000

    Added Package to build list
    
    CVS patchset: 4190
    CVS date: 2000/10/08 10:05:36

commit 987f5e818c431d00dca41f9d56678b32aefa3909
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 5 05:33:59 2000 +0000

    changed for 0.29
    
    CVS patchset: 4189
    CVS date: 2000/10/05 05:33:59

commit 4be4eb099b874138f9452829797ea01e1792d97a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 5 04:48:59 2000 +0000

    Various updates in prelude to 0.29, mainly rpm 4.0 compatibility
    
    CVS patchset: 4188
    CVS date: 2000/10/05 04:48:59

commit 68ff87361d8a715509da5d57077af50bb8e9edd4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 29 19:50:29 2000 +0000

    doxygen annotations.
    - fix: more (possible) xstrdup side effects.
    
    CVS patchset: 4186
    CVS date: 2000/09/29 19:50:29

commit 17993c73cae2e6674c732d685ffa5093a95cf2bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 29 00:51:41 2000 +0000

    manpage fix (johnsonm@redhat.com)
    
    CVS patchset: 4184
    CVS date: 2000/09/29 00:51:41

commit 88579dc7a79ab1e26fc38301683d0dc7ce29382a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 28 22:58:40 2000 +0000

    - handle possible db3 dependency on -lpthread more gracefully.
    
    CVS patchset: 4181
    CVS date: 2000/09/28 22:58:40

commit 4893fba6f059d6eae5a209b9883a452bd0cb3e22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 22:28:09 2000 +0000

    - fix: avoid calling getpass twice as side effect of xstrdup macro (#17672).
    
    CVS patchset: 4179
    CVS date: 2000/09/26 22:28:09

commit 39b81b51744f848298c994611869acbfc993d545
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 18:04:12 2000 +0000

    - order packages using tsort, clipping PreReq:'s in dependency loops.
    
    CVS patchset: 4177
    CVS date: 2000/09/26 18:04:12

commit e1d18f949b67a0aac82ffaa12d4d18c23d8c99c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:43:56 2000 +0000

    Remove bash2 dependency.
    
    CVS patchset: 4176
    CVS date: 2000/09/26 17:43:56

commit d3a569263a19604c9088ed0a85c69b12bed635db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:42:39 2000 +0000

    Add rpmsort.
    
    CVS patchset: 4175
    CVS date: 2000/09/26 17:42:39

commit 1bf24642f706123f7997b27270eaeb89bf3e582e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:42:00 2000 +0000

    rpminject.c: add mtrace prologue.
    
    CVS patchset: 4174
    CVS date: 2000/09/26 17:42:00

commit 750614f58fffbd1fca8279ab30a21354990f1072
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:21:51 2000 +0000

    doxygen annotations.
    
    CVS patchset: 4173
    CVS date: 2000/09/26 17:21:51

commit 6a2f555121f950f2854e0180c6177c2ffba63ed8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:21:12 2000 +0000

    rpmdb.c: Mark dead code, replaced with per-iterator cursors.
    
    CVS patchset: 4172
    CVS date: 2000/09/26 17:21:12

commit 6bcb79bc9bdcdb162a75655a0e07de023a3b7b27
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 26 17:19:32 2000 +0000

    Add @todo Should directories have %doc/%config attributes? (#14531).
    
    CVS patchset: 4171
    CVS date: 2000/09/26 17:19:32

commit 4920a3b122ef190eac016bdf2955df9cdbfef2c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 16 14:05:26 2000 +0000

    - don't trim leading ./ in rpmCleanPath() (#14961).
    
    CVS patchset: 4169
    CVS date: 2000/09/16 14:05:26

commit 81cf1461aa5850cd068a185aff6ae1f155506747
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Sep 14 23:05:30 2000 +0000

    fix 64bit lib stuff
    
    CVS patchset: 4166
    CVS date: 2000/09/14 23:05:30

commit 2108d886ba66b90f75a9daa75f8b0a74090e999c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 14 11:42:48 2000 +0000

    Revert rpmrc excision for now.
    rpmio: add rpmlog.c/rpmlog.h.
    
    CVS patchset: 4163
    CVS date: 2000/09/14 11:42:48

commit 581d3c0324099d067e33cf1a53b2e9eb7478a534
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 13 17:26:54 2000 +0000

    - fix: honor --test when doing --freshen.
    
    CVS patchset: 4158
    CVS date: 2000/09/13 17:26:54

commit 5d6496b6276163a077316c8a57e57e032cebdbba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 11 17:09:32 2000 +0000

    - popt: support for float/double args.
    
    CVS patchset: 4155
    CVS date: 2000/09/11 17:09:32

commit 1466d06e7464af0e720d64396c83bbbb7e492329
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Sep 7 20:47:18 2000 +0000

    add (lib64) stuff on ia64 as well
    
    CVS patchset: 4151
    CVS date: 2000/09/07 20:47:18

commit f2efc7263e952cef24f2196f92d02ee0b3b9aa1e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 1 21:15:40 2000 +0000

    - unify rpmError and rpmMessge interfaces through rpmlog.
    - collect and display rpm build error messages at end of build.
    
    CVS patchset: 4149
    CVS date: 2000/09/01 21:15:40

commit 4f0179f7ee468c3876ee823a69d89c236784372f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 31 02:38:57 2000 +0000

    Unify rpmError() and rpmMessage() on top of rpmlog().
    
    CVS patchset: 4148
    CVS date: 2000/08/31 02:38:57

commit 679aca04c8ffd077d3cd8e2ab3279899ee239b9a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 30 17:47:53 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4147
    CVS date: 2000/08/30 17:47:53

commit c7b24dad58de9de732247194935112066908ff4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 29 22:04:33 2000 +0000

    - translate rpm.8 man page (Peter Ivanyi <ivanyi@internet.sk>).
    Doxygen annotations.
    
    CVS patchset: 4146
    CVS date: 2000/08/29 22:04:33

commit 17c5c7e645fd412f8105bccf201f69674737b551
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 28 15:25:04 2000 +0000

    Document global/system/user configuration hierarchy in rpmrc/macros (#17038).
    
    CVS patchset: 4142
    CVS date: 2000/08/28 15:25:04

commit c0424122dd154d712a01a0126762252519283fb6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 28 01:50:45 2000 +0000

    - rip out rpm{get,put}text, use getpo.sh and specspo instead.
    
    CVS patchset: 4139
    CVS date: 2000/08/28 01:50:45

commit 8c10883fdd434363e6cc48125337b5f305cc5534
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 28 01:08:57 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4138
    CVS date: 2000/08/28 01:08:57

commit af938797acd2a1fc33c2e83aac0f006973d5c3c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 21:35:14 2000 +0000

    - consistent return for all signature verification.
    - use enum for signature header tags.
    
    CVS patchset: 4137
    CVS date: 2000/08/27 21:35:14

commit e3ce4c85e1669dc7112e65f28fc6c450741a4263
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 21:32:23 2000 +0000

    Add todo note.
    
    CVS patchset: 4136
    CVS date: 2000/08/27 21:32:23

commit e355e21aaed46371b9074d603e760a35112b288f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 20:03:44 2000 +0000

    Eliminate.
    
    CVS patchset: 4135
    CVS date: 2000/08/27 20:03:44

commit d83648fc60c69113f80765908430b2eac8c3dba1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 19:43:51 2000 +0000

    Rip out rpmrc configuration.
    
    CVS patchset: 4134
    CVS date: 2000/08/27 19:43:51

commit 9866d30b0d4a494f33dd3f30074eff6c0dea90b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 19:40:35 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4133
    CVS date: 2000/08/27 19:40:35

commit f8b364d7a88e346412bd2f458b25d1728abaaf5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 19:27:03 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4132
    CVS date: 2000/08/27 19:27:03

commit bb6d8f7278f902223a1b5bd7a4b89bd604d642c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 19:19:44 2000 +0000

    Eliminate rpm_malloc.h.
    
    CVS patchset: 4131
    CVS date: 2000/08/27 19:19:44

commit a131131381d03cd76c1e6d15ab5b3486ed6f17b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 19:18:25 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4130
    CVS date: 2000/08/27 19:18:25

commit 918188a90c4911652bbcbe1f20a09b3123d2b5fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 27 18:34:02 2000 +0000

    Doxygen annotations.
    
    CVS patchset: 4129
    CVS date: 2000/08/27 18:34:02

commit 325519f9332cb7c7d36b6bda2f350aa572ad208a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 25 15:21:34 2000 +0000

    doc fixes
    
    CVS patchset: 4128
    CVS date: 2000/08/25 15:21:34

commit 1834248adbd92628b84e3cc9954b514f11c7dab7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 25 15:21:11 2000 +0000

    fixes to rpmhdr_STORE
    
    CVS patchset: 4127
    CVS date: 2000/08/25 15:21:11

commit ca22ac99c14be4b531f369889ba1708233c4f666
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 25 15:20:26 2000 +0000

    code and doc for vercmp()
    
    CVS patchset: 4126
    CVS date: 2000/08/25 15:20:26

commit bd3f3a317c5a8ce8d21fa8dbe394effff729a5e5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 25 15:18:58 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4125
    CVS date: 2000/08/25 15:18:58

commit 7f6eae072772a54345e03b6fc604c58925541720
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 24 17:31:01 2000 +0000

    Update from Ken Estes.
    
    CVS patchset: 4121
    CVS date: 2000/08/24 17:31:01

commit c12ee61e0e91918c5e6fbc5a0668e5385c344c4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 24 15:56:51 2000 +0000

    Consistent example for gendiff (#16669).
    
    CVS patchset: 4120
    CVS date: 2000/08/24 15:56:51

commit f463e1253d69b02f60aaa8c31ac3bb9542d037b1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 24 06:21:08 2000 +0000

    merge
    
    CVS patchset: 4118
    CVS date: 2000/08/24 06:21:08

commit 8433a7c14278535b9ec868482e90aa630333dbb4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 24 06:16:44 2000 +0000

    fixed
    
    CVS patchset: 4115
    CVS date: 2000/08/24 06:16:44

commit cd05426202e9348de5ba3490991688a7f0abc81a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 23 22:53:05 2000 +0000

    added a hack to get the header that was passed to the transaction callback marshaller but not passed as arguments to the python callback
    
    CVS patchset: 4112
    CVS date: 2000/08/23 22:53:05

commit e3e8daa4315b6e280c840eca029872034037c4e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 13:49:07 2000 +0000

    lclint annotations.
    
    CVS patchset: 4109
    CVS date: 2000/08/23 13:49:07

commit 94b157906c46dd9bf20de6a21d45bb4d94601c6a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 13:46:36 2000 +0000

    comments only.
    
    CVS patchset: 4108
    CVS date: 2000/08/23 13:46:36

commit 60938f2a87994c321eb3aecd855c680b738376c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 13:11:53 2000 +0000

    doxygen/lclint annotations.
    
    CVS patchset: 4107
    CVS date: 2000/08/23 13:11:53

commit 5f308b88fdd39a6f656f0e25501c8d565e087e53
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 13:05:01 2000 +0000

    doxygen/lclint annotations.
    
    CVS patchset: 4106
    CVS date: 2000/08/23 13:05:01

commit d919e56b452414ed7923b901d8bfa9fa5d123e2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 13:02:13 2000 +0000

    doxygen annotations.
    
    CVS patchset: 4105
    CVS date: 2000/08/23 13:02:13

commit e62a4131e48b004d15964fb642f72cbf05c7f7ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 12:59:48 2000 +0000

    lclint annotations.
    
    CVS patchset: 4104
    CVS date: 2000/08/23 12:59:48

commit bb4c04321a7b800192f6634ec8cb44a5d5a3425c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 12:58:25 2000 +0000

    doxygen additions.
    
    CVS patchset: 4103
    CVS date: 2000/08/23 12:58:25

commit 9e06f7ae66bfa89570a9ee5c9af815abf294e54c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 12:40:12 2000 +0000

    lclint additions.
    
    CVS patchset: 4102
    CVS date: 2000/08/23 12:40:12

commit fca172125bad0b4384499c4bfb80d224ed7bb26e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 23 12:39:49 2000 +0000

    lclint/doxygen additions.
    
    CVS patchset: 4101
    CVS date: 2000/08/23 12:39:49

commit d0581d13d46920e263b6dfc30b5035259553ad0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 20 21:39:13 2000 +0000

    - add callbacks on package erasure.
    - fix: preserve cpio errno when using Fclose with libio.
    - fix: initialize sigs everywhere in python header object.
    
    CVS patchset: 4097
    CVS date: 2000/08/20 21:39:13

commit e372c808d2acdb101de76f025b7047fe94a9a582
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 20 21:30:32 2000 +0000

    - fix: preserve cpio errno when using Fclose with libio.
    
    CVS patchset: 4096
    CVS date: 2000/08/20 21:30:32

commit ca3e81798fb4c5a175d722ee1039ccfcb2752cce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 19 13:41:42 2000 +0000

    Identify signature bindings in version 3.0.6.
    
    CVS patchset: 4089
    CVS date: 2000/08/19 13:41:42

commit ea1956063d11e39f9bd26ca7b8875befee607e56
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 19 13:37:41 2000 +0000

    Remove fprintf.
    
    CVS patchset: 4086
    CVS date: 2000/08/19 13:37:41

commit d0e98332d4115aa087e1e1f8e39b80c02c406f10
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 19 13:10:34 2000 +0000

    - python bindings to query and verify signatures.
    
    CVS patchset: 4085
    CVS date: 2000/08/19 13:10:34

commit c96e7513f8dd3ebd4030946720e2dff96a5c3cd2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 18 08:29:07 2000 +0000

    Updated for 0.28
    
    CVS patchset: 4082
    CVS date: 2000/08/18 08:29:07

commit a58cf01cb9b07d501e31aaf7ff3549579e8b1dc6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 18 08:25:39 2000 +0000

    Some error-fixing around reading header data from files, and some additional
    fixing when reading from an ftp source. Also added a source_name() method
    to access the struct element that remembers the source when the header data
    comes from a file, ftp or http.
    
    CVS patchset: 4081
    CVS date: 2000/08/18 08:25:39

commit a54be2690ab06b9897d81dcb20cd636930b9b1d2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 18 08:24:22 2000 +0000

    Support and docs for the source_name() class method.
    
    CVS patchset: 4080
    CVS date: 2000/08/18 08:24:22

commit acfd3ffe5cab382e6f600edc1b082cb6845a75ef
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 18 08:23:43 2000 +0000

    Yet more docs.
    
    CVS patchset: 4079
    CVS date: 2000/08/18 08:23:43

commit b7e4f83858f100e4c1d26420b889df06fed0fdd7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 18 08:23:25 2000 +0000

    Added a field to the RPM_Header struct.
    
    CVS patchset: 4078
    CVS date: 2000/08/18 08:23:25

commit 9b6f934309708042a29afc7dc71d5fb6b90258e0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 17 09:23:44 2000 +0000

    Reinstated some tags, now that they are better-documented.
    
    CVS patchset: 4075
    CVS date: 2000/08/17 09:23:44

commit 54e75815aa29b74953e8eecc85f2f1a314e93d1d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 17 09:23:19 2000 +0000

    Removed RPMTAG_SOURCE from the list of scalars; it's actually a
    list. Changed the open in new_from_fname() to be "r" instead of "r+"
    because of assertions in the rpmio code when the input source is
    stdin.
    
    CVS patchset: 4074
    CVS date: 2000/08/17 09:23:19

commit 564a1d1c008ee03b69dfa5e7524db8c10e89373b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 17 09:22:10 2000 +0000

    More documentation, including several corrections.
    
    CVS patchset: 4073
    CVS date: 2000/08/17 09:22:10

commit 1e087bdb41721981576258b39e3fbf16e357375b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 16 13:37:08 2000 +0000

    - fix: rebuild db1 -> db3 ate 1st header (#16263).
    
    CVS patchset: 4072
    CVS date: 2000/08/16 13:37:08

commit b6c0e1126efd8fbbeb54624d6c3b13d95a70bc96
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 16 09:38:05 2000 +0000

    Bumped version number
    
    CVS patchset: 4069
    CVS date: 2000/08/16 09:38:05

commit 8f6305aedfc490435335e4eb01b40a1baff55af5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 16 09:31:58 2000 +0000

    Lots more documentation
    
    CVS patchset: 4068
    CVS date: 2000/08/16 09:31:58

commit bdcae97fe111f145f5aed177bc6568d6bdaabce3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 16 09:31:46 2000 +0000

    Some clean-up, re-instated a deleted tag.
    
    CVS patchset: 4067
    CVS date: 2000/08/16 09:31:46

commit 9f9b055b09056dd000478aa90eb9e384bb59c489
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 16 09:31:04 2000 +0000

    rpmprune is no longer managed as a *.PL file.
    
    CVS patchset: 4066
    CVS date: 2000/08/16 09:31:04

commit 6907b0b3544b54684215052701578cc642b7e00a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 15 07:59:24 2000 +0000

    Renamed rpmprune.PL to rpmprune (MakeMaker now handles fixing up #! line).
    
    CVS patchset: 4065
    CVS date: 2000/08/15 07:59:24

commit 32bff1c05bdbae02760382db3828379af6372825
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 14 19:27:20 2000 +0000

    Ignore rpmpopt-4.x.
    
    CVS patchset: 4064
    CVS date: 2000/08/14 19:27:20

commit 4851add979b4aef1d34fdb6ec621a7df1776a631
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 14 19:26:47 2000 +0000

    Update versions, rpm -> 4.1, popt -> 1.7.
    
    CVS patchset: 4063
    CVS date: 2000/08/14 19:26:47

commit 349c7a49c2cf376668f34d9fb6e404c24740a4b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 14 18:18:54 2000 +0000

    - disable rpmlib(VersionedDependencies) by defining _noVersionedDependencies.
    - man page fixes.
    
    CVS patchset: 4062
    CVS date: 2000/08/14 18:18:54

commit 92d83fc9356f149a58db8bd3f0ed5fb7331c97e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 14 13:25:09 2000 +0000

    - disable rpmlib(VersionedDependencies) by defining _noVersionedDependencies.
    - typo in configure.in (#16096).
    
    CVS patchset: 4060
    CVS date: 2000/08/14 13:25:09

commit c181d853c6d42f8d477267c23c221743178d7a8c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 13 19:29:11 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4059
    CVS date: 2000/08/13 19:29:11

commit 44874e4aa7fd513334a8f01a3fd3063f7fbb9dcd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 13 18:47:06 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4058
    CVS date: 2000/08/13 18:47:06

commit 65dfd2d73ab8fd5e45e58471d61075f1f93ea8d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 13 18:36:34 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4057
    CVS date: 2000/08/13 18:36:34

commit 5d5fbd6387f887a1db67d439d84601feb414b57e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 13 17:40:22 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4056
    CVS date: 2000/08/13 17:40:22

commit 85054e48a778171490654a0c6b180420914ceada
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 11 15:25:44 2000 +0000

    Simplify environment setting for braindead (i.e. solaris) shells.
    
    CVS patchset: 4055
    CVS date: 2000/08/11 15:25:44

commit f796e164d4258ae117f772d5dc9e0ad0af23d738
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 11 08:17:42 2000 +0000

    Fixes related to possible bad return values in error conditions.
    
    CVS patchset: 4054
    CVS date: 2000/08/11 08:17:42

commit 5aa8137a94ac44eabc2a71964761231e3d436400
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 11 00:13:51 2000 +0000

    Auto-update by kmaraas@online.no
    
    CVS patchset: 4053
    CVS date: 2000/08/11 00:13:51

commit a54ccb6dc03f0b2e22576bc6b22eb08a6a8032f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 10 16:29:06 2000 +0000

    Add refresh-po.
    
    CVS patchset: 4051
    CVS date: 2000/08/10 16:29:06

commit 1068f1d715bd39b6e009d30bd32f7941084148f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 10 15:34:37 2000 +0000

    Recognize embedded quotes in description/summary/group header text.
    
    CVS patchset: 4050
    CVS date: 2000/08/10 15:34:37

commit 41cb8868ee9d479e4618b30dde6a65d5e86312e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 10 06:05:50 2000 +0000

    Document --noscripts when verifying (#7905).
    
    CVS patchset: 4049
    CVS date: 2000/08/10 06:05:50

commit 60ae47c6180db17180814c5354560297eb8764b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 10 05:55:20 2000 +0000

    Document "?" output with -Va (#8113).
    
    CVS patchset: 4048
    CVS date: 2000/08/10 05:55:20

commit 88fe538074a81c5bcc4e6cd48c2579ad99d507a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 9 16:49:10 2000 +0000

    Free fn after error message, not before.
    
    CVS patchset: 4047
    CVS date: 2000/08/09 16:49:10

commit 559b59e36aa9bb3fd80b026494846687dfc7a6ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 9 15:33:22 2000 +0000

    Auto-update by kmaraas@online.no
    
    CVS patchset: 4046
    CVS date: 2000/08/09 15:33:22

commit 557abbea24a29178bdb4fda5b89dadde48e11de7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 8 20:38:46 2000 +0000

    Auto-update by milan.kerslager@spsselib.hiedu.cz
    
    CVS patchset: 4045
    CVS date: 2000/08/08 20:38:46

commit e23ee83a85774417c83cd82f73731b9c4ab4334b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 8 13:37:28 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4044
    CVS date: 2000/08/08 13:37:28

commit 9d503d826458d9bd3f05ac67d37681e2d6fe30fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 8 13:34:20 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4043
    CVS date: 2000/08/08 13:34:20

commit 701eb02ba26f4a0cb9292b3c02c367968730ec0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 8 13:20:07 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4042
    CVS date: 2000/08/08 13:20:07

commit cf852a6c37abac546a2cf1fc07805eeb5228ae26
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 8 07:19:18 2000 +0000

    Changes for 0.27 release
    
    CVS patchset: 4041
    CVS date: 2000/08/08 07:19:18

commit 4e248a0e08eb7ac629e6f37e8e639ee87205e869
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 8 07:18:47 2000 +0000

    Minor changes to reflect new RPM::Database and RPM::Header interfaces.
    
    CVS patchset: 4040
    CVS date: 2000/08/08 07:18:47

commit 7d7f80782c6f068d941379c8c0b808647e63ef9b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 8 07:05:13 2000 +0000

    Corrected small oversight that would have prevented exporting both $RPM
    and %RPM at the same time.
    
    CVS patchset: 4039
    CVS date: 2000/08/08 07:05:13

commit c0deb8c50868dadfcbffa77b9a04dac2f494a9c9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 8 07:02:06 2000 +0000

    Covered some changes not yet reflected in the documentation.
    
    CVS patchset: 4038
    CVS date: 2000/08/08 07:02:06

commit a99d4311e49d61af23d3fd2b28ae4ad5697c18bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 7 23:20:43 2000 +0000

    Auto-update by leon@geon.donetsk.ua
    
    CVS patchset: 4037
    CVS date: 2000/08/07 23:20:43

commit c283e789b72a69f1e0051cce19aaf171d9ad7980
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 7 19:38:19 2000 +0000

    - fix: segfault when globbing on "" (#15593).
    
    CVS patchset: 4036
    CVS date: 2000/08/07 19:38:19

commit 54a0015cfa499f885bc85a45ec4db334187ca33d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 7 15:09:45 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 4035
    CVS date: 2000/08/07 15:09:45

commit 15c9864b5f74474b2741a37d75e86f9fff557a3f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 7 13:56:22 2000 +0000

    Sanity.
    
    CVS patchset: 4034
    CVS date: 2000/08/07 13:56:22

commit 584eb24f5c0f62640df2ecaf6f9db41d6791e8bf
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 09:33:08 2000 +0000

    More documentation.
    
    CVS patchset: 4033
    CVS date: 2000/08/07 09:33:08

commit 4bdab8790468ef6d267e8914c70d14dd29f38c38
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 09:31:23 2000 +0000

    Took out a few more.
    
    CVS patchset: 4032
    CVS date: 2000/08/07 09:31:23

commit fb10254a4150db668e95a1ef2869b9b86a0111b4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 09:28:39 2000 +0000

    Added RPM/Error.xs
    
    CVS patchset: 4031
    CVS date: 2000/08/07 09:28:39

commit 144ad516873be653cd2e450ffb7b0de19faba674
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 09:28:14 2000 +0000

    Extended the import to include $RPM as a possible object, and added mention
    of these to the manpage.
    
    CVS patchset: 4030
    CVS date: 2000/08/07 09:28:14

commit 7382c79fde5138912f462af3a717f2efd42d11c6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 09:17:37 2000 +0000

    Last effort created some -w noise.
    
    CVS patchset: 4029
    CVS date: 2000/08/07 09:17:37

commit f53263d6442d694f0d2b4db54b92a94b30d910c6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Aug 7 08:46:05 2000 +0000

    Added an export of %RPM, which if requested is a pre-tied hash connected
    to the RPM database.
    
    CVS patchset: 4028
    CVS date: 2000/08/07 08:46:05

commit 727057b831c2cf7b4860232bbf70f66e56b69a9e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Very thorough re-write of how values are returned from FETCH. See docs.
    
    CVS patchset: 4027
    CVS date: 2000/08/06 08:57:09

commit df88ea39941f4c350c8ea5baedbc7d6d84855a29
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Various changes, partial support for RPM::Package, changes to prototypes.
    
    CVS patchset: 4026
    CVS date: 2000/08/06 08:57:09

commit 15872dcc17fef99facdc874a4e2a52a244c9a837
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    The start of the XS half of RPM::Package support
    
    CVS patchset: 4025
    CVS date: 2000/08/06 08:57:09

commit 89328ef3d43b4069dbe6ba003ae0176182452945
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    The start of the Perl half of RPM::Package support.
    
    CVS patchset: 4024
    CVS date: 2000/08/06 08:57:09

commit 54a8027df984fcea4a897d0678ec505c08aecf8d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Start of the XS half of RPM::Transaction class.
    
    CVS patchset: 4023
    CVS date: 2000/08/06 08:57:09

commit ed096373b620800a83cb4e5cb4105317e834a958
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Start of the Perl half of RPM::Transaction class.
    
    CVS patchset: 4022
    CVS date: 2000/08/06 08:57:09

commit 0a5b09770be3f58cf2405ea707324756a1d4c5f7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Start of support for RPM::Package and RPM::Transaction classes.
    
    CVS patchset: 4021
    CVS date: 2000/08/06 08:57:09

commit c9d8746a4ee8372e6cbd60cd9d473c70ca6037e8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    More documentation added. More yet to do, still.
    
    CVS patchset: 4020
    CVS date: 2000/08/06 08:57:09

commit f6e18a08667532448cd4320ea6697c93ec77c7c1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Changes to manage the new FETCH-return behavior of the RPM::Header class.
    
    CVS patchset: 4019
    CVS date: 2000/08/06 08:57:09

commit b7c004278e74ff1e4903d2c0c643629c0394e8d6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Changed to reflect new RPM::Header behavior, added tests for new features.
    
    CVS patchset: 4018
    CVS date: 2000/08/06 08:57:09

commit 6d00e4754013dfcae066a729b8843ec970119c11
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Changed some tests to fit new RPM::Header behavior.
    
    CVS patchset: 4017
    CVS date: 2000/08/06 08:57:09

commit 965e6616c39ec56b2d0401db060edcd4ef145747
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:09 2000 +0000

    Added use of RPM/Error.xs in the build, improved dependancy checking.
    
    CVS patchset: 4016
    CVS date: 2000/08/06 08:57:09

commit 33a8b7e0848fa2bf24cb4d6d9b84419814f0a445
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 6 08:57:08 2000 +0000

    Most (not all) of the changes made leading up to 0.27.
    
    CVS patchset: 4015
    CVS date: 2000/08/06 08:57:08

commit 180355d08e1eae948f5332662f22d8b5d49d455f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 4 19:52:54 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 4014
    CVS date: 2000/08/04 19:52:54

commit 517da861a993ecd48ed3df6f4f389e4a402d02dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 4 19:48:28 2000 +0000

    - fix: -Va broken, make db cursors per-iterator, not per-dbi.
    
    CVS patchset: 4013
    CVS date: 2000/08/04 19:48:28

commit ed5a2c61abec313a9effc2a2cd22df4cb06d7769
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 4 19:47:22 2000 +0000

    - fix: popt POST callbacks typo.
    
    CVS patchset: 4012
    CVS date: 2000/08/04 19:47:22

commit 65c116ec44028ebfcacc631a5f6478a8190f504f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 3 21:48:27 2000 +0000

    Auto-update by nemeth@qwertynet.hu
    
    CVS patchset: 4011
    CVS date: 2000/08/03 21:48:27

commit 65ccfaee782075ab1063c458145435c8e803f48c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 3 16:55:05 2000 +0000

    ia64 is different.
    
    CVS patchset: 4010
    CVS date: 2000/08/03 16:55:05

commit 71a49b1bb8136829a58f5a3316a0af1443c5465d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 3 16:10:56 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 4009
    CVS date: 2000/08/03 16:10:56

commit 4249774cfe355373adf99784a4daa167851fbb52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 2 17:50:12 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 4008
    CVS date: 2000/08/02 17:50:12

commit 0974df316309385d6857f5df82457bdfce74f604
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 2 16:50:42 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 4007
    CVS date: 2000/08/02 16:50:42

commit b1c1744043eb5d6c8581ac9ff5330142087ef9ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 2 13:00:50 2000 +0000

    Auto-update by ra@xo.hp.is
    
    CVS patchset: 4006
    CVS date: 2000/08/02 13:00:50

commit 5a9048e6a23bb64642645427e9c5cc4b58f06b96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 2 12:53:07 2000 +0000

    Auto-update by ra@xo.hp.is
    
    CVS patchset: 4005
    CVS date: 2000/08/02 12:53:07

commit 04117490d8e3a75366379623dce1023e2c9771a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 2 12:46:41 2000 +0000

    Auto-update by ra@xo.hp.is
    
    CVS patchset: 4004
    CVS date: 2000/08/02 12:46:41

commit ff104c53286422b730610463e7921c63e1b059db
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:45:16 2000 +0000

    All functionality of the RPM::Error class moved from RPM.xs to RPM/Error.xs
    
    CVS patchset: 4003
    CVS date: 2000/08/02 08:45:16

commit bc3ea50dd55ec5e347139ba156e319fd39c26c41
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:44:23 2000 +0000

    Initial structure for RPM::Package and prototype re-arranging for Error.xs
    
    CVS patchset: 4002
    CVS date: 2000/08/02 08:44:23

commit a1d2ce1360416535161e70e30aa62f21cfe98ee7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:43:42 2000 +0000

    *** empty log message ***
    
    CVS patchset: 4001
    CVS date: 2000/08/02 08:43:42

commit 53ec0d37fc7bacbb94e3ad76affd11b28c4a31a2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:23:55 2000 +0000

    Tests for the new functionality in RPM::Header
    
    CVS patchset: 4000
    CVS date: 2000/08/02 08:23:55

commit b272589f374192cdbd830ce6a4094a8195c9640d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:05:00 2000 +0000

    Added and documented two new methods: filenames and scalar_tag
    
    CVS patchset: 3999
    CVS date: 2000/08/02 08:05:00

commit e51a34f4965929ad4e60d9437793c3e0254e31dc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Aug 2 08:04:31 2000 +0000

    Start using an explicit value for $VERSION
    
    CVS patchset: 3998
    CVS date: 2000/08/02 08:04:31

commit df59ae51d489eafd7d9fa025382f49fb31e52255
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 1 23:05:02 2000 +0000

    Auto-update by pmmm@rnl.ist.utl.pt
    
    CVS patchset: 3997
    CVS date: 2000/08/01 23:05:02

commit 199f3a0028cd33c43f42d08ac2b5f2f1a4fb96ce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 1 22:31:40 2000 +0000

    Sanity.
    
    CVS patchset: 3996
    CVS date: 2000/08/01 22:31:40

commit b41b30411afffc3c928687f4da1b5e4ac9d11fb0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 1 07:59:47 2000 +0000

    Added the filenames() method and documented it. This method re-assembles
    the file fully-qualified names from the three header tags.
    
    CVS patchset: 3995
    CVS date: 2000/08/01 07:59:47

commit 11fa17601b6caec51119c7b744e840c9bd24521c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 31 21:27:20 2000 +0000

    - fix: segfault on erase if filestates is missing in header (#14679).
    
    CVS patchset: 3994
    CVS date: 2000/07/31 21:27:20

commit 79f6c8be8708941355e6408ad8ce527bc8af4d92
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 31 15:04:20 2000 +0000

    - fix: uniqify dependency problems when printing (#14034).
    - popt: add ability to perform callbacks for every, not just first, match.
    
    CVS patchset: 3993
    CVS date: 2000/07/31 15:04:20

commit 6040ca6f5333229b24e9bc319e87ba797601dbc3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 29 20:31:56 2000 +0000

    - re-resurrect firstkey/nextkey python bindings for up2date compatibility.
    
    CVS patchset: 3992
    CVS date: 2000/07/29 20:31:56

commit 61cabed3ed4bfb065664d65fbd897e1a03be141f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 29 17:30:18 2000 +0000

    - link rpm2cpio dynamically since cpio is linked dynamically.
    
    CVS patchset: 3991
    CVS date: 2000/07/29 17:30:18

commit 972f0d31032cecc00dc9f779b400c3021c8fe621
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 29 13:16:45 2000 +0000

    - bail on firstkey/nextkey, there's a better way.
    
    CVS patchset: 3990
    CVS date: 2000/07/29 13:16:45

commit 71e3aaa18c5a51f2f576290a752a67167296617e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 28 23:07:50 2000 +0000

    properly reference the db
    
    CVS patchset: 3989
    CVS date: 2000/07/28 23:07:50

commit 41667f92cf216fa32dd1d0dfbb206ef39026cd92
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 28 17:58:58 2000 +0000

    - resurrect firstkey/nextkey python bindings.
    
    CVS patchset: 3988
    CVS date: 2000/07/28 17:58:58

commit 94a3bfbb8b3fbf895e22fccc4bc4039b19573515
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 27 15:29:24 2000 +0000

    Run "make refresh" and "make *.report".
    
    CVS patchset: 3987
    CVS date: 2000/07/27 15:29:24

commit 6656937639d47f79268ec472846f907b5be47fde
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 27 14:00:26 2000 +0000

    Auto-update by milan.kerslager@spsselib.hiedu.cz
    
    CVS patchset: 3986
    CVS date: 2000/07/27 14:00:26

commit 31b4e91a0fc575748d0dfd80b2fb7684b2ea4d1a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 26 21:10:11 2000 +0000

    Auto-update by milan.kerslager@spsselib.hiedu.cz
    
    CVS patchset: 3985
    CVS date: 2000/07/26 21:10:11

commit aae8aa89e7832eaf4ae5db77d582e308d7b52454
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 26 21:07:14 2000 +0000

    Auto-update by milan.kerslager@spsselib.hiedu.cz
    
    CVS patchset: 3984
    CVS date: 2000/07/26 21:07:14

commit 6769a82ac99ba355ea1004c991b44616026c80da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 26 16:38:14 2000 +0000

    Typo.
    
    CVS patchset: 3983
    CVS date: 2000/07/26 16:38:14

commit e3003878fad130784d89e10a1dd13eea5b5b7b4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 26 16:24:07 2000 +0000

    - fix: look for any/all dbapi when rebuilding.
    
    CVS patchset: 3982
    CVS date: 2000/07/26 16:24:07

commit df541a5be316e20ea60fb429893908ab543c8361
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 25 19:05:30 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3981
    CVS date: 2000/07/25 19:05:30

commit 1bfc24d0b71d11750e32258602a40611b02e6383
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 25 18:37:21 2000 +0000

    - create rpmbuild/rpmquery/rpmverify/rpmsign symlinks.
    
    CVS patchset: 3980
    CVS date: 2000/07/25 18:37:21

commit 21a0dc3ffedaf5cae3843b3a2a995195393849b0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 25 14:04:24 2000 +0000

    New file
    
    CVS patchset: 3979
    CVS date: 2000/07/25 14:04:24

commit 7b13205bb10aa390354ba517a409c86260947ae9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 24 21:38:42 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3978
    CVS date: 2000/07/24 21:38:42

commit 3092074460c6caca7139a16dbbc2b528f4eedb98
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 24 21:32:01 2000 +0000

    Cosmetic.
    
    CVS patchset: 3977
    CVS date: 2000/07/24 21:32:01

commit 945c179d1fc158f5508910012d013349fd799300
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 24 20:51:31 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 3976
    CVS date: 2000/07/24 20:51:31

commit fc8db65c94be42ae0a8b4beca559e3b3d146a655
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 24 19:09:53 2000 +0000

    don't blow our foot off by calling rpmReadConfigFiles on the find upgrade packages case
    
    CVS patchset: 3975
    CVS date: 2000/07/24 19:09:53

commit 2dbe09091b86efa2f2b1102e728323b74851b3bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 22 14:14:07 2000 +0000

    Add ./usr/lib/*/man/man*.
    
    CVS patchset: 3974
    CVS date: 2000/07/22 14:14:07

commit 646ced58119d80f675c5ac4dd5bdc41f9cc1e756
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 22 14:06:32 2000 +0000

    Add ./usr/share/doc/*/man/man*
    
    CVS patchset: 3973
    CVS date: 2000/07/22 14:06:32

commit cf0e8e43d2823c27cc1c417c002f49ac1aef96b1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 21 17:02:33 2000 +0000

    Changes (mostly documentation) made while at TPC4
    
    CVS patchset: 3969
    CVS date: 2000/07/21 17:02:33

commit e5cdedfe18c645790e0a21bcf74be04bafcaf3d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 18 17:01:11 2000 +0000

    - rebuild against glibc-2.1.91-14.
    +- add /usr/kerberos/man to brp-compress.
    
    CVS patchset: 3962
    CVS date: 2000/07/18 17:01:11

commit 38c2c2a87aa31be29dd70f221b67e3f9de87677b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 18 15:31:26 2000 +0000

    Add /usr/kerberos/man.
    
    CVS patchset: 3961
    CVS date: 2000/07/18 15:31:26

commit b6f8886ab8cda0a3cb1631e5226a864c2cef5384
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 17 15:41:48 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3959
    CVS date: 2000/07/17 15:41:48

commit 721e696edd3d93a287be84d8be3192278600793f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 17 00:40:17 2000 +0000

    Sync with rpm-3.0.5 chnages.
    
    CVS patchset: 3958
    CVS date: 2000/07/17 00:40:17

commit e533c29d5e9e66a783a78418c2dd1c49a718404d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 16 19:23:09 2000 +0000

    Eliminate conflicts.
    
    CVS patchset: 3956
    CVS date: 2000/07/16 19:23:09

commit 5b7d286d960a2bd139e10aa13392f46dc0c26d5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 18:30:45 2000 +0000

    Remove oldrpmdb.c as well.
    
    CVS patchset: 3955
    CVS date: 2000/07/15 18:30:45

commit 4fb053be5106a915877b54fbca4c126ebac9fbc1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 18:22:24 2000 +0000

    Eliminate convertdb.c.
    
    CVS patchset: 3954
    CVS date: 2000/07/15 18:22:24

commit 600dfddcfbd0a4a105c3f9bee94fe2a78b437fe7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 18:15:23 2000 +0000

    markReplacedFiles: don't bother if nothing to do.
    
    CVS patchset: 3953
    CVS date: 2000/07/15 18:15:23

commit 4a160b6a1496a977c57d03f9e424044c793f8a9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 16:00:14 2000 +0000

    - fix: make set of replaced file headers unique.
    - fix: don't attempt dbiOpen with anything but requested dbN.
    
    CVS patchset: 3952
    CVS date: 2000/07/15 16:00:14

commit 64ad51587fa7d089a8e4effc2402eda84f0b0724
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 14:57:26 2000 +0000

    Remove IET_NAME.
    
    CVS patchset: 3951
    CVS date: 2000/07/15 14:57:26

commit 77ea46f6a0f1a0d1240ab76ead01d7e4ffb9e62d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 15 14:53:54 2000 +0000

    - rip out pre-transaction syscalls, more design is needed.
    - display rpmlib provides when invoked with --showrc.
    - remove (dead) dependency checks on implicitly provided package names.
    - remove (dead) rpmdb API code in python bindings.
    - remove (legacy) support for version 1 packaging.
    - remove (legacy) support for converting gdbm databases.
    
    CVS patchset: 3950
    CVS date: 2000/07/15 14:53:54

commit cee37252ba056685c9c2ff23757460e31159c812
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 15 08:19:20 2000 +0000

    For 0.26
    
    CVS patchset: 3949
    CVS date: 2000/07/15 08:19:20

commit 17706c9d5aac630fa4ca933c05601d55331845ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 14 16:53:19 2000 +0000

    Typo.
    
    CVS patchset: 3948
    CVS date: 2000/07/14 16:53:19

commit 43f319d5881fbd8be7fd61e8d0b1654c1ab71fb3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 14 08:03:28 2000 +0000

    For 0.26
    
    CVS patchset: 3947
    CVS date: 2000/07/14 08:03:28

commit a5b9c1343abbd452c9f7e1367f1b103acc4af29b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 14 08:01:02 2000 +0000

    Updated version number
    
    CVS patchset: 3946
    CVS date: 2000/07/14 08:01:02

commit 8fe5d3fd8d3f4a4bfe8a7887005972999e02725a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 14 08:00:40 2000 +0000

    Sped up the dependancy checks
    
    CVS patchset: 3945
    CVS date: 2000/07/14 08:00:40

commit 587db3f1802efb56fc9d7867e80b917ca37895eb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 14 07:57:52 2000 +0000

    *** empty log message ***
    
    CVS patchset: 3944
    CVS date: 2000/07/14 07:57:52

commit beb694da1482b8b5e5ca8fa16008cb310a59ca50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 13 23:30:41 2000 +0000

    - fix: initialize pretransaction argv (segfault).
    - fix: check rpmlib features w/o database (and check earlier as well).
    
    CVS patchset: 3943
    CVS date: 2000/07/13 23:30:41

commit 3cd0284d6c269c0d528e861ef2bffa1d884f8795
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 12 23:19:08 2000 +0000

    - add S_ISLNK pre-transaction syscall test.
    
    CVS patchset: 3942
    CVS date: 2000/07/12 23:19:08

commit 6e2db4d82bffa37427480ecf543d110051d94f17
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 12 22:10:26 2000 +0000

    - add S_ISLNK pre-transaction syscall test.
    
    CVS patchset: 3941
    CVS date: 2000/07/12 22:10:26

commit 10c07affc9209b3eef6599c3f2ce0c58dcd05216
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 12 04:02:35 2000 +0000

    - compare versions if doing --freshen.
    
    CVS patchset: 3940
    CVS date: 2000/07/12 04:02:35

commit a964fee9fa20d79f5d704c40ce2f3cdae66a6fc8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 22:30:18 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3939
    CVS date: 2000/07/11 22:30:18

commit 45c996bc4d7bb5b43588eab1497ff2ab3416e22d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 22:23:16 2000 +0000

    - fix: legacy requires './' payload prefix to be omitted for rpm itself.
    - fix: remove verbose database +++/--- messages to conform to doco.
    
    CVS patchset: 3938
    CVS date: 2000/07/11 22:23:16

commit 253ff2ea313820a0babbca65820d82a1b2047c8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 16:16:03 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3937
    CVS date: 2000/07/11 16:16:03

commit 5ce53ccb60268737fd23bd43dc9649c1221cf48c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 16:12:47 2000 +0000

    - fix: set multilibno on sparc per-platform config.
    
    CVS patchset: 3936
    CVS date: 2000/07/11 16:12:47

commit 2380ca4893a57e8f9af1073c3ed7d3c326f7382e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 03:46:56 2000 +0000

    fix: source rpm's need to do compressFilelist to get filenames.
    fix: python should use RPMTAG_OBSOLETESNAME, not RPMTAG_OBSOLETES.
    
    CVS patchset: 3934
    CVS date: 2000/07/11 03:46:56

commit 7344a127255792114d649bc3f0d1fab6b517605e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 11 02:12:49 2000 +0000

    - remove build mode help from rpm.c, use rpmb instead.
    - support for rpmlib(...) internal feature dependencies.
    
    CVS patchset: 3933
    CVS date: 2000/07/11 02:12:49

commit dbb584f43a96c5ee8aefda1e8b83adebbfa4830f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 9 23:22:58 2000 +0000

    Sanoty (make dist).
    
    CVS patchset: 3931
    CVS date: 2000/07/09 23:22:58

commit db3190176b4615621024fdf2cfaad406ba11aa83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 9 23:10:25 2000 +0000

    - prefix payload paths with "./", otherwise "/" can't be represented.
    - fix: compressFilelist broke when fed '/'.
    - fix: typo in --last popt alias (#12690).
    - fix: clean file paths before performing -qf (#12493).
    
    CVS patchset: 3930
    CVS date: 2000/07/09 23:10:25

commit 10eb9f2c5d4736cd0ca71e5e25c0f3e97de3a4e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 9 15:50:39 2000 +0000

    Help message field alignment.
    
    CVS patchset: 3928
    CVS date: 2000/07/09 15:50:39

commit c956f0437ab76bf1ea79a684de8e6921c3368777
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 9 15:17:11 2000 +0000

    fix: do chroot around pre-transaction syscalls.
    
    CVS patchset: 3927
    CVS date: 2000/07/09 15:17:11

commit 913d116d71f5c2cb47c35944b8c1fcd9795fd6e3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 9 04:42:12 2000 +0000

    - add pre-transaction syscall's to handle /etc/init.d change.
    - don't bother saving '/' as fingerprint subdir.
    
    CVS patchset: 3926
    CVS date: 2000/07/09 04:42:12

commit 6f562fce82cce2963cf8287fd57aa1ed29c95adc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 8 19:37:54 2000 +0000

    Typo.
    
    CVS patchset: 3925
    CVS date: 2000/07/08 19:37:54

commit ef01bed0d5688faf6ec389beecf47e2bee7a6a11
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 7 21:19:21 2000 +0000

    Update i18n from gnome version.
    
    CVS patchset: 3924
    CVS date: 2000/07/07 21:19:21

commit 95c0edf74b8427821e068f30ccbbe3a0099f6766
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 7 20:36:19 2000 +0000

    Turn on Depends return cache (again).
    
    CVS patchset: 3923
    CVS date: 2000/07/07 20:36:19

commit 625d765b6e9ee0d6683625f6e57eee8378c9af7d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 7 20:06:41 2000 +0000

    lclint fiddles.
    avoid pathological buffer overflow in lib/rpmrc.c
    
    CVS patchset: 3922
    CVS date: 2000/07/07 20:06:41

commit dc421620ffedebd5d0f9cb24790d72610c0c09b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 7 19:46:05 2000 +0000

    lclint fiddles.
    
    CVS patchset: 3921
    CVS date: 2000/07/07 19:46:05

commit a463744b6d4e6e5c0f05730cc77039f4a2e17fd7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 5 20:39:15 2000 +0000

    - change optflags for i386.
    - multilib patch, take 1.
    
    CVS patchset: 3920
    CVS date: 2000/07/05 20:39:15

commit 0c6891dc9760a7e4de4844abf09bb474643f25c7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 5 11:45:07 2000 +0000

    Option --ftpport misdocumented as --ftpuseport.
    
    CVS patchset: 3917
    CVS date: 2000/07/05 11:45:07

commit 621d05b229914a709492d137fa013e2e0a754161
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 28 16:24:30 2000 +0000

    Auto-update by jba@pobox.com
    
    CVS patchset: 3916
    CVS date: 2000/06/28 16:24:30

commit d9439e2ae48df538412d302bd5897a63dd9f082e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 14:18:13 2000 +0000

    i486 optflags typo fixed.
    
    CVS patchset: 3915
    CVS date: 2000/06/23 14:18:13

commit bd6170f2e2ba013db0f65351502bb64843f27ca7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 13:29:55 2000 +0000

    Typo.
    
    CVS patchset: 3913
    CVS date: 2000/06/23 13:29:55

commit a79f1235619b8dacb99107eaf410e42e6e7bfac3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 12:56:46 2000 +0000

    Include ppc, not powerpc, in package.
    
    CVS patchset: 3911
    CVS date: 2000/06/23 12:56:46

commit 91aece18bcbf737b2b2d7ae5fd8fcf955d249ba6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 01:44:36 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3910
    CVS date: 2000/06/23 01:44:36

commit 5df134128b2c4cd6549b7e4c978ae0e88c0651ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 01:19:45 2000 +0000

     - support for separate source/binary compression policy.
    - support for bzip payloads.
    
    CVS patchset: 3908
    CVS date: 2000/06/23 01:19:45

commit 4d888092960c6160f86dff474b2bf9e89f106d5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 23 00:49:43 2000 +0000

    - python: initdb binding (Dan Burcaw <dburcaw@terraplex.com>).
    - internalize --freshen (Gordon Messmer <yinyang@eburg.com>).
    
    CVS patchset: 3905
    CVS date: 2000/06/23 00:49:43

commit 4cd7474f6e3bb9937c3a884ad010dbc1413bc00d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 21:59:02 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 3902
    CVS date: 2000/06/22 21:59:02

commit c30d074add226d820801735dd2e89d255c07d30a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 20:24:49 2000 +0000

    Auto-update by kmaraas@online.no
    
    CVS patchset: 3901
    CVS date: 2000/06/22 20:24:49

commit cf36c64d5ed27dd329700a606f7b38253d44a550
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 16:37:14 2000 +0000

    - python: initdb binding (Dan Burcaw <dburcaw@terraplex.com>).
    
    CVS patchset: 3900
    CVS date: 2000/06/22 16:37:14

commit 308fcc70c74b615eefef3df8899c625be9195d8c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 14:03:36 2000 +0000

    - put version on rpmpopt filename to avoid legacy filename collision.
    
    CVS patchset: 3898
    CVS date: 2000/06/22 14:03:36

commit e04385f3d9446c95c6a43abf214126d60668da5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 13:39:44 2000 +0000

    - put version on rpmpopt filename to avoid legacy filename collision.
    
    CVS patchset: 3897
    CVS date: 2000/06/22 13:39:44

commit b7f2d98443ed1b31794e89cf79975bb910301d3f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:43:45 2000 +0000

    Added logic for delivery of scripts, as well as definition of first
    sample script.
    
    CVS patchset: 3896
    CVS date: 2000/06/22 08:43:45

commit 55b1c375351cf1b241bf274c2f5e47e21e7f0147
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:43:12 2000 +0000

    Stupidity. Left a commented-out debug line in the code.
    
    CVS patchset: 3895
    CVS date: 2000/06/22 08:43:12

commit 3cd625281f775310f717148bb71aba38234daa4a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:42:00 2000 +0000

    Corrected copyright line.
    
    CVS patchset: 3894
    CVS date: 2000/06/22 08:42:00

commit e0629ae58ffd5a344fd9d5754c8ac038db478357
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:35:13 2000 +0000

    More verbosity in comments
    
    CVS patchset: 3893
    CVS date: 2000/06/22 08:35:13

commit 11e9ee9dc716f2c81e28502a410d120548d222ce
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:33:23 2000 +0000

    added utils/rpmprune.PL
    
    CVS patchset: 3892
    CVS date: 2000/06/22 08:33:23

commit 7ba502455d44c76841fc1c55a2538991740aeffc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:32:06 2000 +0000

    Covered some missing docs, added $VERSION and $revision.
    
    CVS patchset: 3891
    CVS date: 2000/06/22 08:32:06

commit c8d8f037ec09d88bbc83af6e96da3ccb96131e99
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 22 08:21:37 2000 +0000

    The first example script. Read the man page.
    
    CVS patchset: 3890
    CVS date: 2000/06/22 08:21:37

commit df56a91d88a9fe4faecc7cf9c40a239be06020f7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 22 00:07:10 2000 +0000

    Auto-update by pmmm@rnl.ist.utl.pt
    
    CVS patchset: 3889
    CVS date: 2000/06/22 00:07:10

commit 8393e93bc833a2b0f14691f67896646f53bd9965
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 23:48:05 2000 +0000

    - uname on i370 has s390 as arch (#11456).
    
    CVS patchset: 3888
    CVS date: 2000/06/21 23:48:05

commit fab0493dbe64fd7448dd8f269acf7b07f8136f94
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 23:28:50 2000 +0000

    - fix: don't expand macros in false branch of %if (kasal@suse.cz).
    - fix: macro expansion problem and clean up (#11484) (kasal@suse.cz).
    
    CVS patchset: 3885
    CVS date: 2000/06/21 23:28:50

commit f80675128ca91bf23a233004389bec4ac0b7d037
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 23:25:39 2000 +0000

    Auto-update by kenneth@gnu.org
    
    CVS patchset: 3884
    CVS date: 2000/06/21 23:25:39

commit 20c0250a55d4e09a893f4d2aa2719460c68d2df0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 22:05:30 2000 +0000

    Don't try to i18n untranslatable strings ("Göran Uddeborg" <goeran@uddeborg.pp.se>).
    
    CVS patchset: 3883
    CVS date: 2000/06/21 22:05:30

commit d0bc6370e4098f576ba70290d0bad49062f2f346
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 21:52:04 2000 +0000

    Auto-update by goeran@uddeborg.pp.se
    
    CVS patchset: 3882
    CVS date: 2000/06/21 21:52:04

commit e923c00c9431c420afc8c5165970fbd112ee2554
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 21:47:34 2000 +0000

    Auto-update by kenneth@gnu.org
    
    CVS patchset: 3881
    CVS date: 2000/06/21 21:47:34

commit b4cd9c2d085175fc0070db5f3788ea5cb7baf522
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 14:27:52 2000 +0000

    Auto-update by kmaraas@online.no
    
    CVS patchset: 3880
    CVS date: 2000/06/21 14:27:52

commit 7898e0f1c997a72a975506989aca3535b77234e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 21 14:25:06 2000 +0000

    Auto-update by kmaraas@online.no
    
    CVS patchset: 3879
    CVS date: 2000/06/21 14:25:06

commit 18a1a352b4684710f0153ccab53822c7c78e8497
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 20 21:45:50 2000 +0000

    - add RPMTAG_OPTFLAGS, configured optflags when package was built.
    - add RPMTAG_DISTURL for rpmfind-like tools (content unknown yet).
    - teach brp-compress about /usr/info and /usr/share/info as well.
    - update macros.in from rpm-4.0 (w/o dbi configuration).
    
    CVS patchset: 3878
    CVS date: 2000/06/20 21:45:50

commit 593b0c78746229347e1638ef789f3c2291c20df5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 20 16:29:22 2000 +0000

    - update brp-* scripts from rpm-4.0, enable in per-platform config.
    - alpha: add -mieee to default optflags.
    
    CVS patchset: 3876
    CVS date: 2000/06/20 16:29:22

commit 4272f490caa3921b46fef03d7f2820c9da2bb6f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 20 15:54:48 2000 +0000

    - API: uncouple fadio from rest of rpmio.
    - API: externalize legacy fdOpen interface for rpmfind et al.
    
    CVS patchset: 3873
    CVS date: 2000/06/20 15:54:48

commit f365ff702280b8256a10e5cc9dad17be638ef947
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 20 14:20:06 2000 +0000

    fix: typo in brp-compress caused i18n man pages not to compress.
    
    CVS patchset: 3870
    CVS date: 2000/06/20 14:20:06

commit 4bfa50e50b107fb8d2825b9196aa06aff802552f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 19 22:49:48 2000 +0000

    Auto-update by menthos@menthos.com
    
    CVS patchset: 3869
    CVS date: 2000/06/19 22:49:48

commit 99e915cbab3a8a33b9189891b86500e9da8a6330
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 19 11:35:29 2000 +0000

    fix: open all db indices before performing chroot.
    
    CVS patchset: 3868
    CVS date: 2000/06/19 11:35:29

commit d793b76868bd76bf11e13346ddfea2abeaf3c24f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 18 23:26:50 2000 +0000

    Include libpopt as well.
    
    CVS patchset: 3865
    CVS date: 2000/06/18 23:26:50

commit 2dd80c4f8b267a6894c712043290e11036cd595e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 18 22:38:37 2000 +0000

    require --rebuilddb to convert db1 -> db3, better messages.
    
    CVS patchset: 3864
    CVS date: 2000/06/18 22:38:37

commit 60189386b5509816d86dc8181298cdaf2b7c5d1c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jun 17 08:39:32 2000 +0000

    Fixed minor oops in cmpver.
    
    CVS patchset: 3863
    CVS date: 2000/06/17 08:39:32

commit a92c28e43a4cb8b963d79b2ce0e7f00b716f5299
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jun 17 08:11:25 2000 +0000

    Added rpmhdr_cmpver, which compares two headers against their versions and
    (if necessary) releases. Also made small change to header_from_object() macro.
    
    CVS patchset: 3862
    CVS date: 2000/06/17 08:11:25

commit 1b8f626dbf111f7263d1d770b3ff714f7bf26d13
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jun 17 08:10:05 2000 +0000

    Removed the half-done Perl implementation of the version-compare. Added
    docs for the new one, which is XS code calling an undocumented routine from
    the API.
    
    CVS patchset: 3861
    CVS date: 2000/06/17 08:10:05

commit 549e0f67d1732e98ffa91c16fdf78282b489ff58
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 17 04:36:15 2000 +0000

    - fix: broken glob test with empty build directory (Geoff Keating).
    
    CVS patchset: 3860
    CVS date: 2000/06/17 04:36:15

commit 9fb2e0a01bf9965b21dc0e3594c6476d15dd7202
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 16 19:12:09 2000 +0000

    - fix: resurrect symlink unique'ifying property of finger prints.
    
    CVS patchset: 3856
    CVS date: 2000/06/16 19:12:09

commit bd9f4474d04cae5915f82ee690b62726bd527ba8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 16 19:08:41 2000 +0000

    Create.
    
    CVS patchset: 3855
    CVS date: 2000/06/16 19:08:41

commit 3722086565dc016476954f2b53a9b390f162e291
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 16 02:25:40 2000 +0000

    Auto-update by ra@xo.hp.is
    
    CVS patchset: 3853
    CVS date: 2000/06/16 02:25:40

commit 3e67c922e57b8fb3b6f6e994c97f7a6aff12b592
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 16 02:17:41 2000 +0000

    Auto-update by ra@xo.hp.is
    
    CVS patchset: 3852
    CVS date: 2000/06/16 02:17:41

commit fd865f604b16759fa1398efba85ebbc6d6adfc79
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 16 00:03:50 2000 +0000

    New file
    
    CVS patchset: 3851
    CVS date: 2000/06/16 00:03:50

commit 5fd7db4160520cfc7c7f85c1f9a7d64ca1fdb378
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 15 23:50:22 2000 +0000

    New file
    
    CVS patchset: 3850
    CVS date: 2000/06/15 23:50:22

commit df21bd3fe026b0e30c4da987e68b67093273e555
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 15 10:11:50 2000 +0000

    Remove leading comments.
    
    CVS patchset: 3849
    CVS date: 2000/06/15 10:11:50

commit 5a4c90ff29051e84583cd587ab5fea84cdd4d8b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 14 14:21:06 2000 +0000

    - fix: don't count removed files if removed packages is empty set.
    - fix: permit '\0' as special case key (e.g. "/" in Basenames).
    
    CVS patchset: 3848
    CVS date: 2000/06/14 14:21:06

commit 9667ef4db6f7e0144de5e76959853dd1a39ca219
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 14 09:28:38 2000 +0000

    INCOMPLETE: More-specific lib importing, start of a cmpver method (not done).
    
    CVS patchset: 3847
    CVS date: 2000/06/14 09:28:38

commit b7fdb73eff87a1d7047151ec1251b22ff5eb1337
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 14 09:27:39 2000 +0000

    Code clean-up and removal of some croak() calls.
    
    CVS patchset: 3846
    CVS date: 2000/06/14 09:27:39

commit b5f2ee2f01619f870544ab0738286cd8a6e6921b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 14 09:27:01 2000 +0000

    Removed last "croak" calls.
    
    CVS patchset: 3845
    CVS date: 2000/06/14 09:27:01

commit eeb38b3f62b7e115c08e0ba5d9bd844f55511d32
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 14 09:26:22 2000 +0000

    thread-safing the Perl-visible routines
    
    CVS patchset: 3844
    CVS date: 2000/06/14 09:26:22

commit aeb26aa094b408982eb080ba4354f6cc1802f56e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 14 09:25:51 2000 +0000

    changes thus far (checkpoint)
    
    CVS patchset: 3843
    CVS date: 2000/06/14 09:25:51

commit e8ea93373b11fae48a875f4bb06e2105a53e441f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 13 20:15:35 2000 +0000

    link against rpmio, disable Fopen
    
    CVS patchset: 3842
    CVS date: 2000/06/13 20:15:35

commit c61fac02fcc0a9d5ecf446e993f972026d5efb27
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 13 19:00:40 2000 +0000

    Avoid "Target buffer overflow" with larger macro expansions.
    
    CVS patchset: 3841
    CVS date: 2000/06/13 19:00:40

commit ecde0bb1ad67866af4a03f44b085940e5a07d140
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 13 15:31:00 2000 +0000

    Look for -ldb-3.0 before -ldb.
    
    CVS patchset: 3840
    CVS date: 2000/06/13 15:31:00

commit 89d947e4497801223a1c2fd9470537297de45927
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 13 10:00:08 2000 +0000

    - remove incremental link.
    - portability: sparc-sun-solaris2.5.1.
    
    CVS patchset: 3839
    CVS date: 2000/06/13 10:00:08

commit d545b4c07b2cf8590f7d51409a6796d4f8d9db9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 13 09:12:39 2000 +0000

    Solaris per-platform macros.
    
    CVS patchset: 3838
    CVS date: 2000/06/13 09:12:39

commit db41d9d8b4afe403966c056ce360d20fda4d7d34
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 13 07:15:15 2000 +0000

    More libtool fiddles.
    
    CVS patchset: 3837
    CVS date: 2000/06/13 07:15:15

commit 29e3cfc24a9cfec05cffbd98c1cbddc3acb84f7c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:34:00 2000 +0000

    - fix: avoid clobbering db cursor in removeBinaryPackage.
    - expose cursors in dbi interfaces, remove internal cursors.
    
    CVS patchset: 3836
    CVS date: 2000/06/12 22:34:00

commit b95e4e43c30deb19e981c9095fe060f1d50cc130
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:15:04 2000 +0000

    Ignore *.mo as well.
    
    CVS patchset: 3835
    CVS date: 2000/06/12 22:15:04

commit a6a2d216f2ca9d9301b5ffdd357a135bbf24454e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:14:17 2000 +0000

    solaris2.5.1: libtool cannot LIBADD non-libtool libs.
    
    CVS patchset: 3834
    CVS date: 2000/06/12 22:14:17

commit f5e02c8d7a4bcba11154e6d84411ee0037ad3f85
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:13:10 2000 +0000

    Solaris2.5.1 has not EXIT_FAILURE.
    
    CVS patchset: 3833
    CVS date: 2000/06/12 22:13:10

commit 1d0544854e923f670b2607c43bfb09aa5cac0440
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:12:28 2000 +0000

    Don't use BSDish typedefs.
    
    CVS patchset: 3832
    CVS date: 2000/06/12 22:12:28

commit 17ee7fe3e93bcd9bc9ea4a0599cf3f45dbba1df5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:11:51 2000 +0000

    Ignoe *.mo as well.
    
    CVS patchset: 3831
    CVS date: 2000/06/12 22:11:51

commit 2063e9bd5373dd18a18fda9419e4560420ca9e45
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 12 22:07:13 2000 +0000

    Add dbcursor to dbi interface.
    
    CVS patchset: 3830
    CVS date: 2000/06/12 22:07:13

commit bed61632d7a89025e5854810e768d5c4e4e4996d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jun 11 19:15:27 2000 +0000

    Fix db return code handling, majorly horked.
    Autoconf detection of db-3.1.
    Move --all to query/verify popt table.
    
    CVS patchset: 3829
    CVS date: 2000/06/11 19:15:27

commit 812fe275491c81cf4f9532d223fc5ed7a6b48e28
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jun 11 11:24:23 2000 +0000

    Replaced warn() calls with calls to rpm_error().
    
    CVS patchset: 3828
    CVS date: 2000/06/11 11:24:23

commit 9b7f41cae3d630e9d43456a1f6a314f66c2ceec0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jun 11 11:23:26 2000 +0000

    Made errSV usable across the dl, plus renamed it rpm_errSV to avoid conflicts.
    
    CVS patchset: 3827
    CVS date: 2000/06/11 11:23:26

commit 66c9e61522bb5c653efc4f60843231167aa95895
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jun 10 22:27:30 2000 +0000

    Adding the NVR method, tests, and docs
    
    CVS patchset: 3826
    CVS date: 2000/06/10 22:27:30

commit 9c177b5c623e578faafb709b5eda4f0bbaba0432
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 9 21:26:11 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3825
    CVS date: 2000/06/09 21:26:11

commit 4afe94756b1d4960b946c88912b458c04c856e9e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 9 21:24:37 2000 +0000

    - make librpmio standalone.
    
    CVS patchset: 3824
    CVS date: 2000/06/09 21:24:37

commit 685d3e79b097371c7c222a224716e88d38fe30bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 9 19:33:52 2000 +0000

    Remove dead code.
    
    CVS patchset: 3823
    CVS date: 2000/06/09 19:33:52

commit c38a7cdcfbf8140bb1fa39a29a8b6aaaa168e037
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 9 18:57:23 2000 +0000

    Move low level support routines to librpmio.
    
    CVS patchset: 3822
    CVS date: 2000/06/09 18:57:23

commit 1ab33a5491c15c3f996d5d1e36387de849704305
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 7 23:55:10 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3821
    CVS date: 2000/06/07 23:55:10

commit 6665bbbfc21a6e974486650fd314cfff579ddb83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 7 23:25:41 2000 +0000

    - create rpmio directory for librpmio.
    
    CVS patchset: 3820
    CVS date: 2000/06/07 23:25:41

commit d307058775a45e1e1f8127fbecec69403d44187d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 6 23:32:34 2000 +0000

    Escape % in changelog.
    
    CVS patchset: 3819
    CVS date: 2000/06/06 23:32:34

commit eba909558689931e02bb4df2aa24a0ab0fccd360
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 6 20:06:09 2000 +0000

    Repair db1 functionality.
    Require db3 in default configuration.
    
    CVS patchset: 3818
    CVS date: 2000/06/06 20:06:09

commit efcc0a3985cecea25d5ae566495e8242ecc6265c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 6 09:01:06 2000 +0000

    Use libtool-1.3.5.
    Sanity (make dist).
    
    CVS patchset: 3817
    CVS date: 2000/06/06 09:01:06

commit f187aa785763b9880b3073b2f0a9d168e61e960a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 5 16:40:04 2000 +0000

    Add triply escaped newlines to %makeinfo.
    
    CVS patchset: 3816
    CVS date: 2000/06/05 16:40:04

commit 22b3a309e1dcebc4b8ac717ad39c6d162928194e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 5 15:21:19 2000 +0000

    Remove curly braces from makeinstall.
    
    CVS patchset: 3815
    CVS date: 2000/06/05 15:21:19

commit b856c8b2079c1aad7ec52ce4d3709513d91f8474
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 5 14:18:40 2000 +0000

    - add optflags for i486 and i586.
    - fix: segfault with legacy packages missing RPMTAG_FILEINODES.
    
    CVS patchset: 3814
    CVS date: 2000/06/05 14:18:40

commit 12113fad01ebb45b0e156921518720d04c5ebeb4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:14:32 2000 +0000

    Found and fixed a segfault-causing bug. Added a method called is_source()
    to ID whether the header is from a SRPM.
    
    CVS patchset: 3813
    CVS date: 2000/06/05 08:14:32

commit 4ed61bac9c44ab6c02f6fc8f94ef831a8c9a619e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:11:43 2000 +0000

    Added documentation for the is_source() method
    
    CVS patchset: 3812
    CVS date: 2000/06/05 08:11:43

commit 858f92b7f344ec141d6f2f4ae1f9302318ee30c0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:10:32 2000 +0000

    Removed more inapplicable constants, and documented some others
    
    CVS patchset: 3811
    CVS date: 2000/06/05 08:10:32

commit 5155aef4fb905f213f7acd9a3caa6d34cfe9a2a8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:06:09 2000 +0000

    Removed two of the opts keys in rpmdb_TIEHASH
    
    CVS patchset: 3810
    CVS date: 2000/06/05 08:06:09

commit 3f0318301cfdd5694e036747515929acb7c10d28
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:04:16 2000 +0000

    changed $VERSION to 0.25
    
    CVS patchset: 3809
    CVS date: 2000/06/05 08:04:16

commit a3e317557251240d4d0d58a176a4cce1a2b8166e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:02:58 2000 +0000

    added IMPORTANT.perl
    
    CVS patchset: 3808
    CVS date: 2000/06/05 08:02:58

commit 63c3be40e9de2ab463a1cc7fb09d2d436045eea9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 5 08:02:24 2000 +0000

    updates for 0.25 version
    
    CVS patchset: 3807
    CVS date: 2000/06/05 08:02:24

commit 89a54dc7a0472180db46ad0c9eca8f1c6b586068
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 3 20:26:00 2000 +0000

    Add i390 noarch entry.
    Make sure count is good when finding by label.
    
    CVS patchset: 3806
    CVS date: 2000/06/03 20:26:00

commit c115c2d279b86fe42e6611a81e58a7bed2b690b7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jun 3 08:23:26 2000 +0000

    notes regarding database-linkage issues
    
    CVS patchset: 3805
    CVS date: 2000/06/03 08:23:26

commit 74d8ff03916f10886af4dc18669e1338a3bc219b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 2 19:46:53 2000 +0000

    Update flags for i486/i586.
    
    CVS patchset: 3804
    CVS date: 2000/06/02 19:46:53

commit d784a11d3fc9ebf0c9579dbfd9cc08137348a5b9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:54:49 2000 +0000

    Thread-clean-related fixes, and comments changed to C-style
    
    CVS patchset: 3803
    CVS date: 2000/06/02 07:54:49

commit 37f5db0733b8ad84e762812a8b0a397eba9188a4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:54:24 2000 +0000

    *** empty log message ***
    
    CVS patchset: 3802
    CVS date: 2000/06/02 07:54:24

commit 631e0079b8473f017670a2cff5f60d9ba90d42a4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:54:07 2000 +0000

    moved tie until after the test-range print, in case of tie-failure
    
    CVS patchset: 3801
    CVS date: 2000/06/02 07:54:07

commit 03d43275660f66d88a21258c9ec6ff77651b3751
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:53:39 2000 +0000

    Added exit on failure to tie
    
    CVS patchset: 3800
    CVS date: 2000/06/02 07:53:39

commit 14698620a5724f33c94640afa5c11403027c22e5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:52:39 2000 +0000

    cleaner handling of error return vals on database and header typemaps
    
    CVS patchset: 3799
    CVS date: 2000/06/02 07:52:39

commit 10a6795c834379656cdf21ed6a28e0028ffe57ef
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:51:51 2000 +0000

    Thread-clean-related fixes, changed comments to C-style
    
    CVS patchset: 3798
    CVS date: 2000/06/02 07:51:51

commit ddb6383e928048e047d33ed2ca23e14d9193e539
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:51:21 2000 +0000

    checkpoint
    
    CVS patchset: 3797
    CVS date: 2000/06/02 07:51:21

commit a9fa8c89d4b1abe420f03c2711ae1ca80a4cc8e9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:51:01 2000 +0000

    Many changes-- changed all comments to C-style, removed all the header-datum
    stuff (that wouldn't solve the problem anyway), added more thread-related
    default defines.
    
    CVS patchset: 3796
    CVS date: 2000/06/02 07:51:01

commit 3266cc8fb7a0a00c7068a2b8f228522a349417ab
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:49:49 2000 +0000

    add dependant-package checking
    
    CVS patchset: 3795
    CVS date: 2000/06/02 07:49:49

commit f5891874339fc420cd2317f70865b79a8d767e0f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 2 07:48:40 2000 +0000

    *** empty log message ***
    
    CVS patchset: 3794
    CVS date: 2000/06/02 07:48:40

commit 1f297b1c9801b541203a7fbeb47761564edd33e3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 15:40:30 2000 +0000

    Build with autogen same as rpm.spec.
    
    CVS patchset: 3793
    CVS date: 2000/06/01 15:40:30

commit cf4c7a1fc6a125ba9584dffd6529f3539ee0c630
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 14:16:58 2000 +0000

    Add optflags for i486/i586, delete the silly i[789]86 entries.
    
    CVS patchset: 3792
    CVS date: 2000/06/01 14:16:58

commit bd18564430d84bd6417744e7b1769f06629c8ed9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 13:43:05 2000 +0000

    Use %{_usr} not %{_prefix} for %_defaultdocdir path.
    
    CVS patchset: 3791
    CVS date: 2000/06/01 13:43:05

commit a12bee781a73992dc79af4283369c260e98e2f92
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 12:54:06 2000 +0000

    Get per-platform optflags correct.
    
    CVS patchset: 3790
    CVS date: 2000/06/01 12:54:06

commit 8e228337f379e1044c93d6572fc0cd765491430d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 06:26:09 2000 +0000

    Restore value of %_arch in per-platform macros.
    
    CVS patchset: 3789
    CVS date: 2000/06/01 06:26:09

commit ef6736bd90a6d314aa789d4542175537e7ff2366
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 05:36:14 2000 +0000

    Move noLang to rpmlib.
    Add defaultdocdir to per-platform macros.
    
    CVS patchset: 3788
    CVS date: 2000/06/01 05:36:14

commit dcbbd4721720c4cd0514326d572c359b2976a497
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 04:47:42 2000 +0000

    Split popt glue into lib/popt{BT,QV}.c.
    Add dependencies to *.la.
    
    CVS patchset: 3787
    CVS date: 2000/06/01 04:47:42

commit 9b910f6c5478707623cb37ab20497041124baeba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 02:01:02 2000 +0000

    Create vendor-less noarch link as well.
    
    CVS patchset: 3786
    CVS date: 2000/06/01 02:01:02

commit 18742142a96bb5ee49a08e1999fb92e96b3bdb34
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 02:00:12 2000 +0000

    Hack to pass build args correctly.
    Create noarch symlink to canonical arch directory.
    
    CVS patchset: 3785
    CVS date: 2000/06/01 02:00:12

commit df6f361f16c1b9d365a35b43a6c560a297643d82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 1 00:54:36 2000 +0000

    Add athlon rpmrc config.
    Add sparcv9 per-platform config.
    
    CVS patchset: 3784
    CVS date: 2000/06/01 00:54:36

commit 50a8f3b0a3fc8a1c8a684b9144850bd7bca6416b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 17:45:43 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3783
    CVS date: 2000/05/31 17:45:43

commit 8e0b5929ee6c07b31deb7510b57b4c05c1adf9b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 17:39:01 2000 +0000

    Duplicate query aliases onto rpmq.
    
    CVS patchset: 3782
    CVS date: 2000/05/31 17:39:01

commit a09a109f60030873c7e61c13685361381d2e9812
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 15:57:22 2000 +0000

    Typo.
    
    CVS patchset: 3781
    CVS date: 2000/05/31 15:57:22

commit 2cfe19084858ec55e2cd9db5a7b5c4e7dbdbb44c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 15:53:53 2000 +0000

    Add noarch as well.
    
    CVS patchset: 3780
    CVS date: 2000/05/31 15:53:53

commit 59673372bd0801aaf770a95e8fda54a824da406a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 15:45:35 2000 +0000

    Create i[3456]86 platform directories.
    
    CVS patchset: 3779
    CVS date: 2000/05/31 15:45:35

commit 98f19479817c3f82f91383d65b32679249c1c71a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 13:19:37 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3776
    CVS date: 2000/05/31 13:19:37

commit ff0fe552993b8bc148e77d1397ffdbfb58c1c3d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 09:07:05 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3775
    CVS date: 2000/05/31 09:07:05

commit b8a4fafb6184cbc2bafbdb090e1306575cb9a7b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 31 09:04:55 2000 +0000

    installplatform: quote ars passed to sed.
    
    CVS patchset: 3774
    CVS date: 2000/05/31 09:04:55

commit 0a5dc40698a0e3f220a88ebb68f9c68c1aa3b6e4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 31 05:30:15 2000 +0000

    add --short-circuit
    
    CVS patchset: 3773
    CVS date: 2000/05/31 05:30:15

commit c9ca61e094bdbd2ea1e552a2a4757fee458b71b7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 31 04:57:13 2000 +0000

    oops, revert this part
    
    CVS patchset: 3772
    CVS date: 2000/05/31 04:57:13

commit 1ea450eb3afb646f6a753822192b19b4a22551ba
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 31 04:53:53 2000 +0000

    pass --target
    
    CVS patchset: 3771
    CVS date: 2000/05/31 04:53:53

commit c2751355b6627ace2192d7d8cdc7cd5ef121e66b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 31 03:36:25 2000 +0000

    updated
    
    CVS patchset: 3770
    CVS date: 2000/05/31 03:36:25

commit eed2d042ff62d12c3eb20d99361059cfce95c279
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 31 03:35:51 2000 +0000

    include an escaped '\' as well as continuation for these macros that span shell lines
    
    CVS patchset: 3769
    CVS date: 2000/05/31 03:35:51

commit 0afc1fa3c973b4c2d91dbbecb007593929f48d59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 30 23:04:09 2000 +0000

    Add popt glue for --clean, --rmsource, --rmspec.
    Teach rpmb about --nodeps.
    
    CVS patchset: 3768
    CVS date: 2000/05/30 23:04:09

commit 73d9a67dca7b0355bfd3682b237d3e111a1927a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 30 20:02:54 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3767
    CVS date: 2000/05/30 20:02:54

commit 835c1caaf3b7a8edba8f04ea3f4973fd341b296e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 30 19:30:28 2000 +0000

    - mark packaging with version 4 to reflect filename/provide changes.
    - change next version from 3.1 to 4.0 to reflect package format change.
    
    CVS patchset: 3766
    CVS date: 2000/05/30 19:30:28

commit f5faf376691c17a964c8c7e7decf4ea3ad265f1a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 30 16:52:31 2000 +0000

    - turn on new, more complete version of %%configure.
    - add %%makeinstall analogue of new %%configure for autoconf packages.
    
    CVS patchset: 3765
    CVS date: 2000/05/30 16:52:31

commit 81c22296d07b22db81bba9af308f3b04b409aa89
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 30 01:03:13 2000 +0000

    checkpoint for second alpha (0.2) release
    
    CVS patchset: 3764
    CVS date: 2000/05/30 01:03:13

commit 3b00918ccb698b4e50661ceee3e8254609d1a4e7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 08:35:35 2000 +0000

    *** empty log message ***
    
    CVS patchset: 3763
    CVS date: 2000/05/27 08:35:35

commit e0accf5fba53431b44733d7d17c89cb539b045f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 05:22:51 2000 +0000

    checkpointing laptop to repository
    
    CVS patchset: 3762
    CVS date: 2000/05/27 05:22:51

commit 240b0d9d340f2fe83aa965b9a680c58282a05747
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:59:26 2000 +0000

    added new files, changed some paths
    
    CVS patchset: 3761
    CVS date: 2000/05/27 03:59:26

commit 7b8b4dc22cb9c2fe106705e37b83d5838dcb62fe
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:58:51 2000 +0000

    Modified/fixed some tests.
    
    CVS patchset: 3760
    CVS date: 2000/05/27 03:58:51

commit 0b06485803a9d3c6a993ff3830970278795fd695
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:56:38 2000 +0000

    test suite for the utils in RPM.pm
    
    CVS patchset: 3759
    CVS date: 2000/05/27 03:56:38

commit ccd9711a024fa725e24e42de5e3becada817f908
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:55:58 2000 +0000

    test suite for error package
    
    CVS patchset: 3758
    CVS date: 2000/05/27 03:55:58

commit b040c6b8b73fe32d637132e76386bfd2e8a11340
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:54:14 2000 +0000

    merged here from individual dirs
    
    CVS patchset: 3757
    CVS date: 2000/05/27 03:54:14

commit d8b0bb0bb10bcd821256967e78738f8d20ea6bb2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat May 27 03:53:56 2000 +0000

    Perl side of the error management module
    
    CVS patchset: 3756
    CVS date: 2000/05/27 03:53:56

commit d42614ac1650f88c5a141c431548277af9388241
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 26 18:59:08 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3755
    CVS date: 2000/05/26 18:59:08

commit 5807d4262ea2783d1a69becefeaf7d294d1d27b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 26 18:51:11 2000 +0000

    Remove build modes from rpm, use rpmb and/or popt glue instead.
    
    CVS patchset: 3754
    CVS date: 2000/05/26 18:51:11

commit f0ee44c4417b7e449d698dc74d76e102950eadd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 26 13:58:11 2000 +0000

    Honor POPT_ARGFLAG_ONEDASH when dup'ing args for popt exec.
    
    CVS patchset: 3753
    CVS date: 2000/05/26 13:58:11

commit 08ce5a09e037daabdb1a493a8cb26a61a0cc8e39
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 24 18:28:36 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3752
    CVS date: 2000/05/24 18:28:36

commit 9f3668324f5d7d98f218fb53d95b101eb93874df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 24 18:09:06 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3751
    CVS date: 2000/05/24 18:09:06

commit c7273eb0bca1a7b4d7ccfea11fe9562b88034c53
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 24 17:53:35 2000 +0000

    - change popt exec alias in oreder to exec rpm children.
    - split rpm into 5 pieces along major mode fault lines with popt glue.
    
    CVS patchset: 3750
    CVS date: 2000/05/24 17:53:35

commit 0d1548767532377b8e0fcce719e9a42f567da5c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 22 17:33:32 2000 +0000

    Add /usr/share compression as well.
    
    CVS patchset: 3749
    CVS date: 2000/05/22 17:33:32

commit b75f1f2f81bafe06633a421aa116f5a280f928e1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:38:05 2000 +0000

    test suites
    
    CVS patchset: 3748
    CVS date: 2000/05/22 08:38:05

commit dafd4d5fb105bfbe2ff958b01455f5dce1044a14
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:37:45 2000 +0000

    Main class defines and code
    
    CVS patchset: 3747
    CVS date: 2000/05/22 08:37:45

commit 01b0ea4852b1eb3f108719e0ba490d64cad67d1e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:37:23 2000 +0000

    Various includes and typedefs
    
    CVS patchset: 3746
    CVS date: 2000/05/22 08:37:23

commit 14bb8abeb2b4659418b58b29fd8f4a9316b8b228
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:37:02 2000 +0000

    C type to Perl type mappings
    
    CVS patchset: 3745
    CVS date: 2000/05/22 08:37:02

commit c1b186dee0b9d32be73df3e9f2bd114189f43daa
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:36:41 2000 +0000

    MakeMaker file
    
    CVS patchset: 3744
    CVS date: 2000/05/22 08:36:41

commit df654c37b83e0346bab0aec4d4235bdd17d70234
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 22 08:36:20 2000 +0000

    Basic doc-related files
    
    CVS patchset: 3743
    CVS date: 2000/05/22 08:36:20

commit adb00c4337424e65ef1f72a5a3555a07a3d0c750
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 18 21:03:14 2000 +0000

    Create from rpm.c.
    
    CVS patchset: 3742
    CVS date: 2000/05/18 21:03:14

commit 7f1e954024b68736c826d571b26a0c91a038b4fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 18 14:06:48 2000 +0000

    Casts for debugging messages.
    
    CVS patchset: 3741
    CVS date: 2000/05/18 14:06:48

commit 3d8229ebfc33db9e1fdc83df6039b5030c710eb9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 18 13:00:51 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3740
    CVS date: 2000/05/18 13:00:51

commit de1a875b623594c947742135851bfa79cc65a5be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 18 12:58:27 2000 +0000

    2nd try at db1 -> db3 stable functionality.
    
    CVS patchset: 3739
    CVS date: 2000/05/18 12:58:27

commit 1b0ce7471b2a36a959b7f5d18a60367cd99acab0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 18 12:11:51 2000 +0000

    fix: don't change hardlink st_size.
    
    CVS patchset: 3738
    CVS date: 2000/05/18 12:11:51

commit 3eeb37f5f647dbb6a457086e0476cfc51d303270
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 05:35:18 2000 +0000

    fixup headers when loading them
    
    CVS patchset: 3737
    CVS date: 2000/05/17 05:35:18

commit a71ac24efb57d2fe9c69f41c6ba25d6f5fdaac68
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 03:12:10 2000 +0000

    fix prototypes
    
    CVS patchset: 3736
    CVS date: 2000/05/17 03:12:10

commit e25b52d41e1f14725eb5df68615adf86d4d48281
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 02:43:01 2000 +0000

    fix prototypes
    
    CVS patchset: 3735
    CVS date: 2000/05/17 02:43:01

commit 2ce2b30e439ddc15e3525267ab1c1ba903bd9981
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 02:37:59 2000 +0000

    updated
    
    CVS patchset: 3734
    CVS date: 2000/05/17 02:37:59

commit cc52ab848a8677c8f8141e2dd58cf8cab23e2f11
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 02:35:09 2000 +0000

    build against glibc 2.2
    
    CVS patchset: 3733
    CVS date: 2000/05/17 02:35:09

commit 8dfba973c9ae091e27f23f29448a83bd0e9c827a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 17 02:34:42 2000 +0000

    rpmio madness
    
    CVS patchset: 3732
    CVS date: 2000/05/17 02:34:42

commit e6a8d2f8dea6261d2655a3a1ae05210c81d65e9a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 16 20:22:59 2000 +0000

    bzip2 1.0
    
    CVS patchset: 3731
    CVS date: 2000/05/16 20:22:59

commit 23ce7cf4cd6b3a70b0404fb9e31b6f3130538d0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 16 18:32:49 2000 +0000

    add calculated nlink field to -qlv output (like ls -al).
    
    CVS patchset: 3730
    CVS date: 2000/05/16 18:32:49

commit 2cf5b85fa1c5c4147a104af83bc00b712c1f0fd3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 16 17:10:13 2000 +0000

    fix: (segfault) verify needs rpmdb while query does not.
    
    CVS patchset: 3729
    CVS date: 2000/05/16 17:10:13

commit 3065159ad31105e0f61791e8c071938021cb00c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 13 19:06:41 2000 +0000

    Add builddependenciees.
    
    CVS patchset: 3728
    CVS date: 2000/05/13 19:06:41

commit fa4fe81cb961e2258ad834f49d88f1549dc61145
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 13 15:52:38 2000 +0000

    fix: sparc64 per-platform directory shouldn't be sparc64linux.
    
    CVS patchset: 3727
    CVS date: 2000/05/13 15:52:38

commit ac47974f082896f8f23a4287e0b7e591aed9cff8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 12 23:30:28 2000 +0000

    fix stupid mistakes (alpha segfaults).
    
    CVS patchset: 3726
    CVS date: 2000/05/12 23:30:28

commit 4c63d48ebeb2c1bcf788f6943ab5c7649a4956ca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 12 23:12:15 2000 +0000

    Remiver compiler warnings on alpha.
    
    CVS patchset: 3725
    CVS date: 2000/05/12 23:12:15

commit 9733e2e589c60f2f0112b00ac6575e97e9628671
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 12 23:10:43 2000 +0000

    fix: define/eval options assumed sizeof(int) == sizeof(void *).
    
    CVS patchset: 3724
    CVS date: 2000/05/12 23:10:43

commit 4a4704f98f9ebf216652caa01994895005bc1994
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 10 15:36:29 2000 +0000

    - include RPM-GPG-KEY in file manifest.
    - simplify --last popt alias, date like -qi (bjerrick@easystreet.com).
    - fix: alloca'd memory used outside of scope (alpha segfault).
    
    CVS patchset: 3723
    CVS date: 2000/05/10 15:36:29

commit 46fe7a531a15fd20c3ff1c4b46a8e731246460c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 8 13:00:41 2000 +0000

    Orphans.
    
    CVS patchset: 3722
    CVS date: 2000/05/08 13:00:41

commit 26bfb9e0783b7b83429d0f99e8b3178f903799d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 8 12:24:23 2000 +0000

    here's a patch to make rpm (3.1-0.14) work on current FreeBSD versions
    (tried 4.0-RELEASE and 5.0-CURRENT).
    It adds freebsdelf.prov and freebsdelf.req in autodeps, modifies brp-strip
    and brp-strip-comment-note to work with find versions that don't support
    -perm +something and strip versions that fail with an error when they
    can't strip a file, and modifies the configure check for GNU glob to check
    for GLOB_PERIOD additionally.
    This is required because FreeBSD's glob has some (but not all) of the GNU
    extensions, but doesn't work the way rpm assumes (segfault as soon as
    globbing is used in %files); GLOB_PERIOD can be used to tell the BSD
    version apart from the GNU one.
    
    CVS patchset: 3721
    CVS date: 2000/05/08 12:24:23

commit 764e820f16757eb563b4f3ff24506a3983efd088
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun May 7 00:53:11 2000 +0000

    Repair rebuilddb lossage, removing debug messages and final copy on user msgs.
    Initialize dbN vector from dbNopen.
    Use db3 return convention for dbNopen.
    Always save tag index in join key.
    Rename rpmdbAppendIteratorMatches -> rpmdbAppendIterator.
    Remove tolerant from rpmdbRemove API.
    Use hdrNum rather than offset, tagNum rather than fileNumber most everywhere.
    rpmdb.c: Create rpmdbPruneIterator to exclude items from set.
    rpmdb.c: Remove legacy code from rpmdbAdd/rpmdbRemove.
    rpmdb.c: Rename (shorten) many routines.
    tagName.c: prepare for ADDED/REMOVED/AVAILABLE temorary databases.
    depends.c: use rpmdbPruneIterator.
    depends.c: don't check ranges unless provides names match.
    depends.c: Depends now works (watch out for data values of 0).
    rpmpopt.in: Add --dbapi and --rebuilddbapi options.
    
    CVS patchset: 3720
    CVS date: 2000/05/07 00:53:11

commit b5bd7abfd1136292a14af5085ca4c84b9e156a26
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 19:37:01 2000 +0000

    Don't do initdb, as we don't know what dbapi to use.
    Remove -lpthread, new glibc has problems.
    
    CVS patchset: 3719
    CVS date: 2000/05/02 19:37:01

commit 191af9ebb542214b294aca29aa17bc5cad3b7393
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 2 18:56:17 2000 +0000

    don't call these header munges on null headers
    
    CVS patchset: 3718
    CVS date: 2000/05/02 18:56:17

commit a2891ff2c64d639f8f70798abcc365df7ad724c4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 2 18:07:59 2000 +0000

    compress filelist, fixup provides
    
    CVS patchset: 3717
    CVS date: 2000/05/02 18:07:59

commit f5848782698ffc0082ded9fa8fa3e2ac880a0914
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 17:30:49 2000 +0000

    installplatform: typo.
    
    CVS patchset: 3716
    CVS date: 2000/05/02 17:30:49

commit 0430a166f532ebb3883ec963237ac4f75b523bb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 16:09:15 2000 +0000

    fix: don't generate sparc6464 names when creating platform directories.
    
    CVS patchset: 3715
    CVS date: 2000/05/02 16:09:15

commit 66f6c0c16bea886b91eff2c163dd4726d4707f3a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 08:54:01 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3714
    CVS date: 2000/05/02 08:54:01

commit ba0b5f506714062208e091816ecff827d5f36572
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 08:45:07 2000 +0000

    Remove debugging messages.
    
    CVS patchset: 3713
    CVS date: 2000/05/02 08:45:07

commit c19f4c1c317aab49e57f2f9c81b4c031e99f0734
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 2 08:30:31 2000 +0000

    Add usedbenv (disabled) to use db3 as db1 was used.
    Configure to accept any db api (but rebuild will switch to db3).
    Rename *_major to *_api throughout.
    Always open Depends with O_CREAT|O_RDWR.
    db1.c: use good ol' requredby.rpm name, not requiredbyindex.rpm.
    db1.c: hide pkgs FD_t in dbi_db, eliminate dbi_pkgs.
    depends.c: Skip Depends caching on dbiPut failure (e.g. perms).
    rpmdb.c: remove _useDbiMajor, pass dbapi on call.
    rpmdb.c: repair rot in rpmdbRemoveDatabase()/rpmdbMoveDatabase().
    rpmdb.c: disable ^C hack in signal block/unblock.
    
    CVS patchset: 3712
    CVS date: 2000/05/02 08:30:31

commit 73f95c99cea1308e32ccdbfe90dcc8ccd585d9d6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 1 17:50:35 2000 +0000

    Rename db0.c to db1.c, resurrect db2.c (from db3.c).
    Add ia64 and sparc64 changes.
    rpm.spec: add per-platform sub-directories.
    Add rpmdbSync to API.
    installplatform: pass LIB=lib64 on sparc64.
    db3.c: Add nodbsync, lockdbfd, debug dbi configuration.
    db3.c: don't check dbi_mode when deciding on DB_WRITECURSOR.
    
    CVS patchset: 3711
    CVS date: 2000/05/01 17:50:35

commit 5197d92f13815b602983cf9c032591f6001b03d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 28 15:14:47 2000 +0000

    Don't incrementally link pthreads, causes segfault on (at least) alpha.
    db0.c: Simulate db->sync on falloc.
    db0.c: Use RPMDBI_PACKAGES for rpmtag comparisons.
    db0.c: Add debug for dbi open/close like db3.
    db0.c: Remove dbi if temporary (i.e. Depends).
    db3.c: Filter DB_INCOMPLETE from db->sync return, it's usually harmless.
    depends.c: Free Depends iterator, pass keylen, and use cursors.
    depends.c: Free iterator *after* loop, not at end of 1st pass.
    rpmdb.c: Fine grained cursor locks to avoid "crossed cursors" deadlocks.
    rpmdb.c: Lazy open/close during rpmdbAdd/rpmdbRemove/openDatabase.
    rpmdb.c: Remove last remnants of dbix, do dynamic lookup instead.
    rpmdb.c: Resurrect rpmdbUpdateRecord in iterator loop.
    macros.in: Add Depends dbi to config.
    macros.in: Configure "nommap:mp_size=2Mb:pagesize=16Kb".
    
    CVS patchset: 3707
    CVS date: 2000/04/28 15:14:47

commit e1b556f8d022cd5d7f3fc0599c2e14091c8464f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 27 12:50:54 2000 +0000

    - API: replace rpmdbUpdateRecord with rpmdbSetIteratorModified.
    
    CVS patchset: 3706
    CVS date: 2000/04/27 12:50:54

commit 113948c75c111b27d168719573d5c29c92e7dc0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 27 01:11:48 2000 +0000

    Sanity and API clean up. (make dist)
    
    CVS patchset: 3705
    CVS date: 2000/04/27 01:11:48

commit 24a64f27394fcf24e3e3f3d9d2f7b321f603a6a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 27 00:10:28 2000 +0000

    - API: replace rpmdbUpdateRecord with rpmdbRemove/rpmdbAdd.
    - API: replace rpmdbFindByLabel with RPMDBI_LABEL iteration.
    - API: replace rpmdbGetRecord with iterators.
    - API: replace findMatches with iterators.
    
    CVS patchset: 3704
    CVS date: 2000/04/27 00:10:28

commit b24f837828e451a5ddf371038a2f2f0ed64580a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 26 14:06:16 2000 +0000

    Rip out remaining legacy dbi interfaces.
    Add flags to all calls.
    Create dbi interface wrapper to vectors.
    
    CVS patchset: 3701
    CVS date: 2000/04/26 14:06:16

commit 106e94001192f3d702c35341645fcaa1add94cec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 25 20:14:21 2000 +0000

    Fix popt/po/tr.po addition.
    
    CVS patchset: 3700
    CVS date: 2000/04/25 20:14:21

commit 69b1adb5b0b4da803f91e6362964320873a37410
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 25 19:57:26 2000 +0000

    Sanity (rebuild to check autoconf configuration in dist-7.0).
    
    CVS patchset: 3699
    CVS date: 2000/04/25 19:57:26

commit 61e10b58994e5f5f7331ac387d395ceb0bf010db
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Apr 25 19:50:02 2000 +0000

    fix configure check
    
    CVS patchset: 3698
    CVS date: 2000/04/25 19:50:02

commit 9c0c7e9fbd7a4cd1a0383334e7255f53d4c08fa3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 25 19:41:37 2000 +0000

    Sanity.
    
    CVS patchset: 3697
    CVS date: 2000/04/25 19:41:37

commit 76e42fa65b0f9aa133d7c0f7cae2e8a35462789c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Apr 25 15:26:18 2000 +0000

     a little more work on the rpm module
    
    CVS patchset: 3696
    CVS date: 2000/04/25 15:26:18

commit 4b44030f25892213ba5d30d8d4949db4cafe3c78
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 24 16:57:40 2000 +0000

    Add Turkish translation (Fatih Demir <kabalak@gmx.net>)
    
    CVS patchset: 3695
    CVS date: 2000/04/24 16:57:40

commit b5cadb90d6c875740946b7bbdb00a59b6b2c4319
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 23 20:37:57 2000 +0000

    make db indices as lightweight as possible, with per-dbi config.
    db1.c will never be needed, eliminate.
    API: merge rebuilddb.c into rpmdb.c.
    
    CVS patchset: 3694
    CVS date: 2000/04/23 20:37:57

commit ab3e4a08a7985f9ccb8bd8611adecec5567e6e18
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 21 00:27:45 2000 +0000

    Typo.
    
    CVS patchset: 3693
    CVS date: 2000/04/21 00:27:45

commit 4da5ec06876561b74ce246d710d88cf5806d5a00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 21 00:23:18 2000 +0000

    Sanity.
    
    CVS patchset: 3692
    CVS date: 2000/04/21 00:23:18

commit ac6c6b770402ad1800e255df280458e39d0fc1a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 21 00:21:15 2000 +0000

    fix: legacy packages required provides EVR/Flags to be added.
    fix: generating provides EVER was broke with epoch.
    db3 tuned for installer speed (i.e. no locking, create/remove on fly).
    add new_db_api and old_db_api macros to control precisely for db version used.
    
    CVS patchset: 3691
    CVS date: 2000/04/21 00:21:15

commit eca43c56fb5c29ec13f3bea77b9ea4d76c9ec9e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 20 12:46:38 2000 +0000

    Sanity (build 0.8).
    
    CVS patchset: 3690
    CVS date: 2000/04/20 12:46:38

commit a2665e12c6d16245c2783c4ea3a85fd9bf16174e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 20 11:54:03 2000 +0000

    Sanity (re-adding rpm-python).
    
    CVS patchset: 3689
    CVS date: 2000/04/20 11:54:03

commit 2126a23ce91a1cc93e6b0d7c3b39c59b0faf877d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 20 00:21:31 2000 +0000

    match iterator support
    
    CVS patchset: 3688
    CVS date: 2000/04/20 00:21:31

commit f75d794af48cf4c1f24cbbd972bed3fc7153e610
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 19 22:15:02 2000 +0000

    Change iterator interface to use RPMTAG_FOO rather than RPMDBI_FOO.
    
    CVS patchset: 3687
    CVS date: 2000/04/19 22:15:02

commit dce2eccbd5b7a01605988df46580ec1ce2580f37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 19 16:59:02 2000 +0000

    Sanity.
    
    CVS patchset: 3686
    CVS date: 2000/04/19 16:59:02

commit c89b7ff341c504ce2f684149d46b2e6939faed31
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 19 16:03:49 2000 +0000

    Hi!
    I'd like to start building sparc64 packages (eventhough the install rule
    details are yet to be designed - IMHO if 64bit SPARC userland is going into
    7.0 we should rebuild all packages into 64bit in the next months or so to
    have time to chase bugs etc.), and this is about what I need.
    Basically I'd like to have %{_lib} to stand for the last part (normally
    "lib") of dirname for directories like /lib, /usr/lib, /usr/X11R6/lib
    because on sparc64-linux they are /lib64, /usr/lib64, /usr/X11R6/lib64 (and
    on Solaris /lib/sparcv9, /usr/lib/sparcv9 etc.), so that one can use things
    like
    /usr/%{_lib} in the spec files.
    Another thing which I need is an arch specific build root policy.
    This patch does a few things:
    1) add installplatform into EXTRA_DIST files, so that it is actually invoked
       during rpm build not from CVS
    2) Define %_lib lib and let target specific macros override it
    3) Split __spec_install_post into __arch_install_post and __os_install_post,
       --buildpolicy now specifies the __os_install_post part only. spec files
       can still override the __arch_install_post if the want to.
       brp-sparc64-linux is used to move 64bit libraries to */lib64 directories
       from */lib directories if make install of some package left them there.
    4) Change installplatform so that on sparc* it creates both sparc and
       sparc64 target macro dirs (/usr/lib/rpm/sparc{,64}-redhat-linux in
       sparc*-redhat-linux case).
    
    CVS patchset: 3685
    CVS date: 2000/04/19 16:03:49

commit bb4eafd53dc21710f0618499cba70bc4d046aa00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 19 15:26:10 2000 +0000

    Data size of index databases now per-index (was always 8 bytes).
    Global rpm data base parameterization used per-index.
    
    CVS patchset: 3684
    CVS date: 2000/04/19 15:26:10

commit 588daae4b40313b05247e3bf4fcc2b675ec04317
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 18 18:11:43 2000 +0000

    Consolidate changes into rpmdb.c.
    
    CVS patchset: 3683
    CVS date: 2000/04/18 18:11:43

commit 24f68f3a0df0004f7f3e623147474fb5632e29be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 18 17:23:21 2000 +0000

    Eliminate, contents moved to rpmdb.c/rpmdb.h.
    
    CVS patchset: 3682
    CVS date: 2000/04/18 17:23:21

commit a7b421a7f027bd2497a057651fc393aa64497a6c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 18 17:22:37 2000 +0000

    Prepare to move contents to rpmdb.c/rpmdb.h
    
    CVS patchset: 3681
    CVS date: 2000/04/18 17:22:37

commit 29fa01b329203018067a9f90fc859c05e406cc47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 17 12:28:58 2000 +0000

    Start composting db interfaces.
    
    CVS patchset: 3680
    CVS date: 2000/04/17 12:28:58

commit 3a7e311add683b212665084eb5e62a2a566fefc5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 15 20:21:15 2000 +0000

    fix: cpio.c: pre-, not post-, decrement the link count.
            (from Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>)
    
    CVS patchset: 3679
    CVS date: 2000/04/15 20:21:15

commit a6fc8ecb52d57acc8a4c601d49b019a6ae9eac91
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 17:59:10 2000 +0000

    add explcit "Provides: name = [epoch:]version-release" to headers.
    
    CVS patchset: 3678
    CVS date: 2000/04/13 17:59:10

commit 0c83ea489f9d5f36d3d2e1af06f77396a3f733cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 16:00:34 2000 +0000

    Sanity (bump release).
    
    CVS patchset: 3677
    CVS date: 2000/04/13 16:00:34

commit bd4ce434867c61fb80976f05b6556e48391b1864
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 12:43:49 2000 +0000

    Remove rpmdbFindByFile from API (and fix RPMDBI_FILE iterator).
    
    CVS patchset: 3676
    CVS date: 2000/04/13 12:43:49

commit 7fd28d7bf20d37d360011b1a6957d35b99bf8098
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 10:41:31 2000 +0000

    Insure that EXIT_FAILURE is defined (irix6.5).
    
    CVS patchset: 3675
    CVS date: 2000/04/13 10:41:31

commit 41db4a0210a45057741ef4d69fa6703924ed0d2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 10:11:32 2000 +0000

    The death of rpmdbFindBy{Provides,RequiredBy,Conflicts}.
    
    CVS patchset: 3674
    CVS date: 2000/04/13 10:11:32

commit 48e8650520c78c81f67164da89f1bb6143022ad8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 13 09:07:08 2000 +0000

    The death of rpmdbFindBy{Group,TriggeredBy,Header}.
    
    CVS patchset: 3673
    CVS date: 2000/04/13 09:07:08

commit bb472e02e1bde04b02702cf72473f9a5dbcb983d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 12 18:21:40 2000 +0000

    Convert to rpm-3.1 API.
    
    CVS patchset: 3672
    CVS date: 2000/04/12 18:21:40

commit a4a828e3a5ff469d0695028d8b11ca67210da100
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 12 16:31:51 2000 +0000

    Make sure that match iterators can be called with mi = NULL.
    Remove DYING code.
    
    CVS patchset: 3671
    CVS date: 2000/04/12 16:31:51

commit db11adf6e8a725d8ed2d316215e782cc6c40c231
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 12 16:30:46 2000 +0000

    Remove DYING code.
    
    CVS patchset: 3670
    CVS date: 2000/04/12 16:30:46

commit b33d2bf2454263b6743d19db8328a61b5cb0b69d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 12 16:29:03 2000 +0000

    Pass key as void *, not char *.
    
    CVS patchset: 3669
    CVS date: 2000/04/12 16:29:03

commit f3571adf59bc99f660fae74353fcd8b6b9da2882
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 12 13:42:57 2000 +0000

    API: pass *SearchIndex() length of key (0 will use strlen(key)).
    API: remove rpmdb{First,Next}RecNum routines.
    db3.c: remove cursor DB_RMW implementation, something else is needed.
    rpmdb.c: first crack at rpmdb match iterator.
    query.c: ditto.
    rebuilddb.c: ditto.
    dumpdb.c: ditto.
    
    CVS patchset: 3668
    CVS date: 2000/04/12 13:42:57

commit 3cbb3be0452b4eddfec2dfc8ca1da2ede59eb9b0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 11 16:15:54 2000 +0000

    - treat legacy falloc.c as "special" db[01] index for package headers.
    
    CVS patchset: 3667
    CVS date: 2000/04/11 16:15:54

commit fc40e956bf541a91629f42d62f6f6c6bed3507a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 11 15:28:07 2000 +0000

    make header db a "special" type of index database in db0, hiding falloc.c.
    header retrieval from db does not guarantee any alignment.
    eliminate dbiGetFirstKey method in db vectors.
    add db{copen,cclose,cget,join} methods in db vectors.
    clean up __db.NNN files from failed db3 open.
    
    CVS patchset: 3666
    CVS date: 2000/04/11 15:28:07

commit d91a22b16557c4681e0141edfb5f3627ee39f81f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 8 21:36:02 2000 +0000

    fix: dbiCloseIndex not called (typo).
    dump db1 and db2 for now.
    
    CVS patchset: 3665
    CVS date: 2000/04/08 21:36:02

commit df023d73e8ea4a282e382977a482a28cacdd5d93
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 8 19:28:08 2000 +0000

    Hash package headers using simple counter.
    
    CVS patchset: 3664
    CVS date: 2000/04/08 19:28:08

commit 48a4968d366ef9114822ee26fec08c9cf934b1ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 7 16:24:43 2000 +0000

    fix: rpmdbCountPackages should pass by reference, not value.
    
    CVS patchset: 3663
    CVS date: 2000/04/07 16:24:43

commit eb75d9280bdf6ce203c6ba12615e8a6f821a0d42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 7 16:09:25 2000 +0000

    use "rpmdb db" consistently throughout, add doxygen tags.
    db3.c: save join keys in endian neutral binary format.
    rpmdb.c: create rpmdbCountPackages().
    install.c: use rpmdbCountPackages().
    uninstall.c: Ditto.
    
    CVS patchset: 3662
    CVS date: 2000/04/07 16:09:25

commit d2d06f6b3e943614357fb87ee4cab459e1fd634d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 7 13:10:37 2000 +0000

    solaris2.6: avoid bsearch with empty dir list (Ric Klaren - klaren@cs.utwente.nl)
    
    CVS patchset: 3661
    CVS date: 2000/04/07 13:10:37

commit 97639028476fe63a5b40b98aa60a3bfb8b147ca2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 6 15:20:29 2000 +0000

    use hashed access for package headers.
    
    CVS patchset: 3660
    CVS date: 2000/04/06 15:20:29

commit 18a1e73ac671294487ebff8644b688a8821dc7b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 4 10:10:47 2000 +0000

    Sanity.
    
    CVS patchset: 3659
    CVS date: 2000/04/04 10:10:47

commit c2ced005591fa9fd11d25883223476bbae2133f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 4 09:27:48 2000 +0000

    Permit dboffsets in hex and octal.
    
    CVS patchset: 3658
    CVS date: 2000/04/04 09:27:48

commit 9965b2d482d3592b447cc6d7919dab9b6c406e52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:36:39 2000 +0000

    Sanity.
    
    CVS patchset: 3657
    CVS date: 2000/04/03 14:36:39

commit f211e85a5e4af143179757be9bf6159ecbcb2698
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:31:12 2000 +0000

    Add variable to control dbenv teardown on close.
    
    CVS patchset: 3656
    CVS date: 2000/04/03 14:31:12

commit a8f6f02bc145fa8fbe4587b6ade51bb7b99d1a6b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:30:24 2000 +0000

    Permit db3 paramaters from macro.
    Permit private dbcursor (but this will go away soon).
    
    CVS patchset: 3655
    CVS date: 2000/04/03 14:30:24

commit 6c203a39e5226be62a2c3b8404ffb8750238ea82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:27:21 2000 +0000

    Indicate that dbenv should be trashed after a rebuild.
    
    CVS patchset: 3654
    CVS date: 2000/04/03 14:27:21

commit 9ee04f850d5cde98d0a3541930bb5654c0fa1e37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:26:46 2000 +0000

    Replace individual dbi pointers with an array.
    
    CVS patchset: 3653
    CVS date: 2000/04/03 14:26:46

commit 6b89dea994e17db67444da86414d64a7b7d2c27f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:24:55 2000 +0000

    Prefer db3.
    
    CVS patchset: 3652
    CVS date: 2000/04/03 14:24:55

commit c87582cbf21ebeab827269b94e81f1adda09b656
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 3 14:24:30 2000 +0000

    Bump popt sub-package version.
    
    CVS patchset: 3651
    CVS date: 2000/04/03 14:24:30

commit d01b8832553b6576b2c9ae31fadb5f3bf850f210
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 31 17:23:13 2000 +0000

    Get the database permissions right.
    
    CVS patchset: 3650
    CVS date: 2000/03/31 17:23:13

commit 0833c5686ab2aa82a2afeb295adca3d60af6612e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 31 17:16:36 2000 +0000

    As erik mentioned, here is a patch. It makes it so packages don't get searched
    to find directories which were improperly assigned in broken spec file file
    +lists,
    causing, for example, KDE to be installed on an upgrade from 6.1 to 6.2 when
    KDE was not previously installed...
    
    CVS patchset: 3649
    CVS date: 2000/03/31 17:16:36

commit 91a44edf36c4bb668ad8d3ce451ed31632eaf54c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 31 14:55:23 2000 +0000

    - try for db3 DB_INIT_CDB model.
    
    CVS patchset: 3648
    CVS date: 2000/03/31 14:55:23

commit 24fbbd3954aee785dac7f6f3e26721944549cff4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 31 14:33:40 2000 +0000

    db3 configured for testing with (DB_INIT_MPOOL|DB_INIT_CDB|DB_SYSTEM_MEM).
    
    CVS patchset: 3647
    CVS date: 2000/03/31 14:33:40

commit 920d26a5150cbfb9ed9c8e547470d4b02c9a267b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 31 09:33:17 2000 +0000

    fix: duplicate free in db3.
    Use Berkeley "home" db directory with relative rather than absolute paths.
    
    CVS patchset: 3646
    CVS date: 2000/03/31 09:33:17

commit 00914dd961fb8e5cf25e555964a68debbd70679e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 30 19:22:46 2000 +0000

    Mostly functional db2 interface, db3 still has problems.
    
    CVS patchset: 3645
    CVS date: 2000/03/30 19:22:46

commit f4606533e43ba1c153133096fee26b16e0360631
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 30 19:21:09 2000 +0000

    fix: move free after error message that needs data.
    
    CVS patchset: 3644
    CVS date: 2000/03/30 19:21:09

commit 353a2811a4173728aae666217dde44880654531d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 27 15:55:07 2000 +0000

    add db3 to the pile, isolate all with incremental link and vectors.
    
    CVS patchset: 3643
    CVS date: 2000/03/27 15:55:07

commit 62381feb62bc1980a24069386060bad917baf901
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 27 11:13:25 2000 +0000

    Compilation with db3.
    
    CVS patchset: 3642
    CVS date: 2000/03/27 11:13:25

commit 22a911a3b36c9cde5159e0343632246ba9fa007c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 26 22:45:02 2000 +0000

    Add --preferdb for now to permit testing db0/db1/db2.
    
    CVS patchset: 3641
    CVS date: 2000/03/26 22:45:02

commit c47d8f3f6311435f60402a6230429a89bb7e23a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 24 22:12:59 2000 +0000

    Bump version to next release.
    
    CVS patchset: 3640
    CVS date: 2000/03/24 22:12:59

commit 7ae0e5d6059aeda81bd9233e7e6515e058eb6bb8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 24 17:20:17 2000 +0000

    Sanity.
    
    CVS patchset: 3639
    CVS date: 2000/03/24 17:20:17

commit adf70c073e0d4e08cde84659d3abe6ff640b4666
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 24 08:00:12 2000 +0000

    Sanity.
    
    CVS patchset: 3638
    CVS date: 2000/03/24 08:00:12

commit ea8051c29adcce7688286c3c7c620b46d6dad5b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 23 20:58:01 2000 +0000

    convert db1 -> db2 on-disk format using --rebuilddb.
    
    CVS patchset: 3637
    CVS date: 2000/03/23 20:58:01

commit cab176172b8ef247f24e5aa0928c3aa0b8adabd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 23 15:49:50 2000 +0000

    - API: change dbi to pass by reference, not value.
    - cram all of db1, db_185, and db2 interfaces into rpmlib.
    
    CVS patchset: 3636
    CVS date: 2000/03/23 15:49:50

commit 46e17d7a2d27cb91d1c930de46c0a8026410b0d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 18 14:24:21 2000 +0000

    Typo.
    
    CVS patchset: 3634
    CVS date: 2000/03/18 14:24:21

commit 80d940387d4e79ada2f4f25f29c6f3849dbb6d5b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 17 21:04:50 2000 +0000

    configure noarch compatibility in rpmrc for ia64.
    
    CVS patchset: 3633
    CVS date: 2000/03/17 21:04:50

commit e745a2dd07345b508c0365a04e8c389978ff4262
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 16 14:27:04 2000 +0000

    configure.in fiddles for BSD systems (Patrick Schoo).
    
    CVS patchset: 3631
    CVS date: 2000/03/16 14:27:04

commit cf68a32ca6fca6aa2118683bd2c7c0cf83bba91c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 15 19:50:57 2000 +0000

    - fix: noLibio = 0 on Red Hat 4.x and 5.x.
    - fix: typo in autodeps/linux.req.
    
    CVS patchset: 3630
    CVS date: 2000/03/15 19:50:57

commit e806f1865e28bbfd5001bc702214e7081f05a649
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 14 15:24:25 2000 +0000

    Add note that -L paths may have to be used.
    
    CVS patchset: 3627
    CVS date: 2000/03/14 15:24:25

commit 3e7f416a741e65be1eb72e99c700cd3dacbd72fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 13 15:17:12 2000 +0000

    use DIRNAMES/BASENAMES/DIRINDICES not FILENAMES in packages and db.
    
    CVS patchset: 3626
    CVS date: 2000/03/13 15:17:12

commit 853af666a2af62b5779a5f6f7f0f6244b865df4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 13 15:13:53 2000 +0000

    Start rpm-3.1 development.
    
    CVS patchset: 3625
    CVS date: 2000/03/13 15:13:53

commit 3d5d32e294aae5115dd6f2989f4b88e3c589634f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 11 21:13:18 2000 +0000

    Red Hat 4.2 has not __set_errno.
    
    CVS patchset: 3624
    CVS date: 2000/03/11 21:13:18

commit 15432f908996c74cebb6d9e0409f922794528950
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 11 20:59:30 2000 +0000

    Red Hat 5.2 has not __PMT.
    
    CVS patchset: 3623
    CVS date: 2000/03/11 20:59:30

commit ef56b9257c56f7e43bbc82fd577f589a767a247a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 11 20:35:03 2000 +0000

    Sanity (penultimate rpm-3.0.4).
    
    CVS patchset: 3622
    CVS date: 2000/03/11 20:35:03

commit bed2a465fe49ce05f9678e619d016a2d26649c98
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 11 20:14:07 2000 +0000

    fix: use glibc 2.1 glob/fnmatch everywhere.
    
    CVS patchset: 3621
    CVS date: 2000/03/11 20:14:07

commit 5d662d2e9c0b18a1ddfb8ad929bf6edf3586fa3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 22:02:29 2000 +0000

    Update portability routines from glibc-2.1.
    
    CVS patchset: 3620
    CVS date: 2000/03/10 22:02:29

commit f4885d95eeb329676d0e8c05e379ff6315bcf60b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 20:49:09 2000 +0000

    Portability.
    
    CVS patchset: 3619
    CVS date: 2000/03/10 20:49:09

commit 94e1c52e5e977e0c4421a590fecd258eb06d0421
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 20:47:57 2000 +0000

    Can't include system.h w/o mishap.
    
    CVS patchset: 3618
    CVS date: 2000/03/10 20:47:57

commit afb7d4bc0ef1627539d9dcba0093622ed8ce2ed8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 17:51:43 2000 +0000

    Use /usr/lib paths.
    
    CVS patchset: 3617
    CVS date: 2000/03/10 17:51:43

commit cb608da54243a2e56fbfb2e5258681a0f1faa9f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 17:50:53 2000 +0000

    Get config.h by includeing "system.h"
    
    CVS patchset: 3616
    CVS date: 2000/03/10 17:50:53

commit ac8637bd5275962c11f89fb9a802626a21bf0592
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 17:49:09 2000 +0000

    Update to glibc-2.1 version with GNU extensions.
    
    CVS patchset: 3615
    CVS date: 2000/03/10 17:49:09

commit 3af1f7d94ed7454c025a520c05a8084117131582
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 10 16:53:08 2000 +0000

    fix: better filter in linux.req to avoid ARM specific objdump output.
    
    CVS patchset: 3614
    CVS date: 2000/03/10 16:53:08

commit 8d3c1b2ba0884aca1c0ffcaf913480ecea321fd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 9 20:52:56 2000 +0000

    Sanity (penultimate rpm-3.0.4 release candidate).
    
    CVS patchset: 3613
    CVS date: 2000/03/09 20:52:56

commit f3989411406eb991f5a3eb78e3ad09cd3d509068
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 9 20:48:15 2000 +0000

    Get the escapes correct for "id -u" fidget.
    
    CVS patchset: 3612
    CVS date: 2000/03/09 20:48:15

commit de046f790738795acff4b7f52f030d96ae8ddcca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 9 18:13:19 2000 +0000

    Orphan.
    
    CVS patchset: 3611
    CVS date: 2000/03/09 18:13:19

commit e93943f1e01bb8898e8445fb3ab1a648d1be7b68
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 9 18:13:02 2000 +0000

    - portability: skip bzip2 if not available.
    - portability: skip gzseek if not available (zlib-1.0.4).
    - portability: skip personality if not available (linux).
    - portability: always include arpa/inet.h (HP-UX).
    - portability: don't use id -u (Brandon Allbery).
    - portability: don't chown/chgrp -h w/o lchown.
    - portability: splats in rpm.spec to find /usr/{share,local}/locale/*
    
    CVS patchset: 3610
    CVS date: 2000/03/09 18:13:02

commit acdafeca5ca650d1944e45b94bc6a60ff3fb67a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 7 15:37:17 2000 +0000

    portability: zlib-1.0.4 has not gzseek
    portability: Red Hat 4.x has not personality
    
    CVS patchset: 3609
    CVS date: 2000/03/07 15:37:17

commit 8787c03f2d0872a24cdd23efaba5aa744ddea481
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 7 14:40:48 2000 +0000

    Avoid libio on Red Hat 5.2 with libc5.
    
    CVS patchset: 3608
    CVS date: 2000/03/07 14:40:48

commit c0650f0a1974590831e9c76650ba5d2007478b37
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 3 23:44:13 2000 +0000

    Correct attribution.
    
    CVS patchset: 3607
    CVS date: 2000/03/03 23:44:13

commit 5c1b6d0ba65278ffe440bd2ce4b4213e9e2d3f32
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 2 20:21:10 2000 +0000

    simpler hpux.prov script (Tim Mooney).
    
    CVS patchset: 3606
    CVS date: 2000/03/02 20:21:10

commit bda1f6866a7a313c9dfebf0137360b347e903fc3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 1 17:28:32 2000 +0000

    Bump release (0.48).
    
    CVS patchset: 3605
    CVS date: 2000/03/01 17:28:32

commit d19dc8f760b75d2df40168edace51be9251f267d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 1 17:16:47 2000 +0000

    Typo.
    
    CVS patchset: 3604
    CVS date: 2000/03/01 17:16:47

commit 81af2158e2bfd78b4364653ed5acd31be0f808f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 1 15:34:53 2000 +0000

    Add %changelog.
    
    CVS patchset: 3603
    CVS date: 2000/03/01 15:34:53

commit 2b30bc3b2ddb6a61801bcdecbb22a1c673913e0d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 1 15:28:30 2000 +0000

    Bump release.
    
    CVS patchset: 3602
    CVS date: 2000/03/01 15:28:30

commit 584a5265756f74d67e34c959ce4d0271a0abd7bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 1 00:22:47 2000 +0000

    Add changelog.
    
    CVS patchset: 3601
    CVS date: 2000/03/01 00:22:47

commit 8aceebd817c77792eea840ec5585264e023b13f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 29 23:22:44 2000 +0000

    Portability fiddles.
    Rebuild with latest rpmmodule.so code.
    
    CVS patchset: 3600
    CVS date: 2000/02/29 23:22:44

commit 968b07939a883a54b17cc35702e93a0191bfb374
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 29 01:57:37 2000 +0000

    Can't print a NULL on non-GNU systems.
    
    CVS patchset: 3599
    CVS date: 2000/02/29 01:57:37

commit 39d03aa29e19bcb01471de836c5d0793ab8d9e5c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 28 20:00:31 2000 +0000

    i18nation
    
    CVS patchset: 3598
    CVS date: 2000/02/28 20:00:31

commit 19e47314eaaae3e46760207ea434448fce11ba11
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 28 00:08:24 2000 +0000

    More typos.
    
    CVS patchset: 3597
    CVS date: 2000/02/28 00:08:24

commit 8853928d695ea1c27a4ebcf5351c455e9ab8b481
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 23:57:14 2000 +0000

    Typos.
    
    CVS patchset: 3596
    CVS date: 2000/02/27 23:57:14

commit a217056e70d56a4eb666bda599d89ba2a4e0a014
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 23:40:36 2000 +0000

    Permit building w/o libbz2.a.
    In popt, check for building within the rpm tree before requiring GNU gettext.
    
    CVS patchset: 3595
    CVS date: 2000/02/27 23:40:36

commit 2fdcb4810f0edef7fbb11eb60e7c7336982419c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 22:45:47 2000 +0000

    Typo.
    
    CVS patchset: 3594
    CVS date: 2000/02/27 22:45:47

commit 795a3ac5948f4942e40d9311777ccd679825413e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 20:50:52 2000 +0000

    Diminish solaris2.6 gcc noise.
    
    CVS patchset: 3593
    CVS date: 2000/02/27 20:50:52

commit 945d2cd8af0d5057c0a26d31c196e36a685e0572
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 20:17:21 2000 +0000

    i18n install is in /usr/lib not /usr/share for solaris2.6.
    
    CVS patchset: 3592
    CVS date: 2000/02/27 20:17:21

commit 742a513e5f4eeb92648bb29247793735dfe88ac7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 27 18:52:30 2000 +0000

    Solaris2.6 portability.
    
    CVS patchset: 3591
    CVS date: 2000/02/27 18:52:30

commit 79940584c97aa8f3f7c8ff027ad79ed8fc7c3ff5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 25 17:30:28 2000 +0000

    Create symlink to platform configuration directory too.
    
    CVS patchset: 3590
    CVS date: 2000/02/25 17:30:28

commit 9e75d5397f5a3d22d3ea884f0a859ddf8e2b13d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 25 16:49:05 2000 +0000

    - sparc-sun-solaris2.6 portability check.
    
    CVS patchset: 3589
    CVS date: 2000/02/25 16:49:05

commit 601d666d4825619b9ecd12b839efbe6b0ebe4516
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 25 16:29:44 2000 +0000

    - fix: filter excluded paths before adding install prefixes (#8709).
    - add i18n lookaside to PO catalogue(s) for i18n strings.
    - try for /etc/rpm/macros.specspo so that specspo autoconfigures rpm.
    - per-platform configuration factored into /usr/lib/rpm subdir.
    
    CVS patchset: 3588
    CVS date: 2000/02/25 16:29:44

commit 18edb9da1a3b658208492fb9934c1a82a639014b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 24 23:33:58 2000 +0000

    (solaris 2.6): portability requires setenv.c.
    
    CVS patchset: 3587
    CVS date: 2000/02/24 23:33:58

commit 466f98a9fb5d0609afa370462e415d4fdead07c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 24 22:28:31 2000 +0000

    Automake portability diddles.
    
    CVS patchset: 3586
    CVS date: 2000/02/24 22:28:31

commit fc45026a9e1bd32ef8dec83f2e3bdac3262820b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 24 05:41:47 2000 +0000

    Make sure that IPPORT_FTP is defined.
    
    CVS patchset: 3585
    CVS date: 2000/02/24 05:41:47

commit 1cd98cb04c9eccd7cf8b7a09824086a954406036
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 22:43:27 2000 +0000

    Sanity (0.44 release).
    
    CVS patchset: 3584
    CVS date: 2000/02/23 22:43:27

commit ace35961e8653796e75f6c5ac0e709a849de8f87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 22:40:53 2000 +0000

    Add %_i18ndomains configuration.
    
    CVS patchset: 3583
    CVS date: 2000/02/23 22:40:53

commit fba7de185d1ce4583275871dcd44bcf483235ff5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 19:20:20 2000 +0000

    First attempt at rpmHeaderGetEntry().
    
    CVS patchset: 3582
    CVS date: 2000/02/23 19:20:20

commit becec721d0a3e2f927b1abed7ef792724f9a642d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 17:34:41 2000 +0000

    i18n lookaside.
    
    CVS patchset: 3581
    CVS date: 2000/02/23 17:34:41

commit 6e545408441c511267b1252e29ea0668f3cc37ce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 17:20:20 2000 +0000

    ANSIfcation.
    
    CVS patchset: 3580
    CVS date: 2000/02/23 17:20:20

commit f880c9a8d6fdd6c39dc524a2740eb3911e81bae3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 23 01:48:51 2000 +0000

    fix: missed level of indirection in i18nTag().
    
    CVS patchset: 3579
    CVS date: 2000/02/23 01:48:51

commit 6ad3b578cb736f70c0a774166ba71f126f67fff1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 21:19:33 2000 +0000

    Another attempt to get i18n lookaside functional.
    
    CVS patchset: 3578
    CVS date: 2000/02/22 21:19:33

commit 9126b5c2c020ac51e87302bef5bee45f3d81e6b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 13:08:35 2000 +0000

    sparc: 64bit find-{provides,requires}.
    
    CVS patchset: 3577
    CVS date: 2000/02/22 13:08:35

commit 3e1e638ba2d642de1902e0438b40764560ae844f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 13:04:06 2000 +0000

    Sanity-0.43.
    
    CVS patchset: 3576
    CVS date: 2000/02/22 13:04:06

commit 1484d82ecd03fa2bb0e7e798eb0bdc391775040f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 12:05:13 2000 +0000

    fix: filter excluded paths before adding install prefixes (#8709).
    
    CVS patchset: 3575
    CVS date: 2000/02/22 12:05:13

commit 0cb75458e015ead284e14c8ed3075cb25e97e21f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 03:11:30 2000 +0000

    permit cli setting of build root policies.
    
    CVS patchset: 3574
    CVS date: 2000/02/22 03:11:30

commit c39e2a9ea09b9c57cd611a603af31c86f460519a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 03:09:53 2000 +0000

    macro expansion (and absolute path) in %files -f arg (#9508,#9091).
    
    CVS patchset: 3573
    CVS date: 2000/02/22 03:09:53

commit 76b9a27eecd2b4f8e1af29d9b67ad9c0e079d3d3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 22 01:09:16 2000 +0000

    updated sv.po from <goeran@uddeborg.pp.se>.
    
    CVS patchset: 3572
    CVS date: 2000/02/22 01:09:16

commit 7b1e9c5a02c1640cce5f15d5f1ff4e8d3ac68542
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 21 10:32:01 2000 +0000

    Avoid segfault on malformed %{!?FOO:} expansion (#9581).
    
    CVS patchset: 3571
    CVS date: 2000/02/21 10:32:01

commit 8feebaf1105ed6ff22702b5117522eb321a7bccc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 21:49:52 2000 +0000

    Remove fuzzies.
    
    CVS patchset: 3570
    CVS date: 2000/02/17 21:49:52

commit bbcdd265694c3ea39517a96c56f4259648e062d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 21:00:06 2000 +0000

    add sl.po from Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si>.
    
    CVS patchset: 3569
    CVS date: 2000/02/17 21:00:06

commit 685f9f501b1b07b24a7f6bdac535b256b5f5f8d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 16:34:25 2000 +0000

    Sanity (bump release).
    
    CVS patchset: 3568
    CVS date: 2000/02/17 16:34:25

commit 8439e6da013eff04ed49b8d55eb3689953e972ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 16:29:28 2000 +0000

    ENABLE_I18N_LOOKASIDE, take two.
    
    CVS patchset: 3567
    CVS date: 2000/02/17 16:29:28

commit 3a092572e8155e342920b403d4a2b8512bc6d868
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 17 16:26:52 2000 +0000

    Use better RE and grep for exelist and liblist.
    
    CVS patchset: 3566
    CVS date: 2000/02/17 16:26:52

commit 015dd4088541a5656974eeea16aa15616e6a1576
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Feb 17 03:32:20 2000 +0000

    Include shlib files.
    
    CVS patchset: 3565
    CVS date: 2000/02/17 03:32:20

commit b89ccd9be6122713f0aa10c20ccaaad94a487c75
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 19:10:42 2000 +0000

    Disable i18n lookaside for now.
    
    CVS patchset: 3564
    CVS date: 2000/02/16 19:10:42

commit d7167e5b06411343310a06b70a4a73902182cd77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 03:02:44 2000 +0000

    Compress man pages early.
    
    CVS patchset: 3563
    CVS date: 2000/02/16 03:02:44

commit 8355c12f1f74c655908834f4fbec8ad083f3d76f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 00:36:55 2000 +0000

    Improved cpanflute (Tim Powers).
    
    CVS patchset: 3562
    CVS date: 2000/02/16 00:36:55

commit 7c659d5969594ee3b02165826bb064271b2f1a3e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 16 00:33:16 2000 +0000

    Improvements from Tim Powers.
    
    CVS patchset: 3561
    CVS date: 2000/02/16 00:33:16

commit 9358ab55e92d266900ea21d170adcd98fa721a4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 15 22:17:43 2000 +0000

    add scripts for autogenerating CPAN dependencies.
    
    CVS patchset: 3560
    CVS date: 2000/02/15 22:17:43

commit 0433f0617364374db62721413e9a1c3622fa4f91
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 15 16:43:30 2000 +0000

    Sanity (make release).
    
    CVS patchset: 3559
    CVS date: 2000/02/15 16:43:30

commit 38e3c32e92f90cc3c62245b72c2ea287ab07f3d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 15 16:40:28 2000 +0000

    new rpm-build package to isolate rpm dependencies on perl/bash2.
    always remove duplicate identical package entries on --rebuilddb.
    
    CVS patchset: 3558
    CVS date: 2000/02/15 16:40:28

commit 6b70a982bc5ea599d32650a6b8ed45dac23cf8f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 15 16:00:00 2000 +0000

    Fix inverted test on headerGetEntry return.
    
    CVS patchset: 3557
    CVS date: 2000/02/15 16:00:00

commit d932818c2369e9d39c2da0b8605a0f702a38ffde
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 13 19:24:19 2000 +0000

    Patches from PLD.
    
    CVS patchset: 3556
    CVS date: 2000/02/13 19:24:19

commit 277645f5b0d9aea985e1f266ed7bbcf0483abb6a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 13 19:23:55 2000 +0000

    Implementation of i18n look-aside, no-op'ed for now.
    
    CVS patchset: 3555
    CVS date: 2000/02/13 19:23:55

commit 077cd4165f3e1ee97e16762ed30df1feb46bb2c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 11 23:16:47 2000 +0000

    Report actual file name that failed to open.
    
    CVS patchset: 3554
    CVS date: 2000/02/11 23:16:47

commit eebe8047cced799ccff013be9318756349777ad0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 11 21:06:10 2000 +0000

    add a method to fill the filelist fully
    
    CVS patchset: 3553
    CVS date: 2000/02/11 21:06:10

commit d54a9c27932856619af3dc87fef98d9af0b62df2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 11 20:29:22 2000 +0000

    add compress/uncompress filelist
    
    CVS patchset: 3552
    CVS date: 2000/02/11 20:29:22

commit f35fa76d2d73af0d33289b463328391333b64114
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 11 19:20:51 2000 +0000

    Typo.
    
    CVS patchset: 3551
    CVS date: 2000/02/11 19:20:51

commit 147c6789a9f198b77cbeff9aebe89ec0dbe70554
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 11 04:44:14 2000 +0000

    Makefile.am: Distribute test-poptrc, don't try to wildcard .po files.
    testit.sh: Work with srcdir != builddir.
    
    CVS patchset: 3550
    CVS date: 2000/02/11 04:44:14

commit f7b80eb2113be009143e14c8cc526b30f97bc1f6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 10 22:13:48 2000 +0000

    Commit broken perl binding changes.
    
    CVS patchset: 3549
    CVS date: 2000/02/10 22:13:48

commit da3765de28bcafdaf705282e33543479b0d0014e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 10 00:27:21 2000 +0000

    brp-compress deals with hard links correctly.
    patch for ja.po.
    
    CVS patchset: 3548
    CVS date: 2000/02/10 00:27:21

commit 967484b1df58ed3870039547f1167350314dc9d1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 8 20:18:38 2000 +0000

    nuke const warning
    
    CVS patchset: 3547
    CVS date: 2000/02/08 20:18:38

commit 2be6cc688dcbaf1f9312785433efd1b15318182d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 8 20:01:30 2000 +0000

    handle header format extensions
    
    CVS patchset: 3546
    CVS date: 2000/02/08 20:01:30

commit 855721fd090371d7ed57bf3507fda10f80fbb9c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 7 19:28:44 2000 +0000

    Sanity (bump release).
    
    CVS patchset: 3545
    CVS date: 2000/02/07 19:28:44

commit f6e3e14f10af301a2ff4c9ecc02b9e3e4086ac95
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 6 19:07:13 2000 +0000

    {Free,Open}BSD find-{provides,requires} (suzukis@file.phys.tohoku.ac.jp).
    
    CVS patchset: 3544
    CVS date: 2000/02/06 19:07:13

commit f7b7154b57dd4ae628c4eac68bc62a9cca8c37de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 6 19:05:36 2000 +0000

    (From suzukis@file.phys.tohoku.ac.jp)
    It seems that current rpm can work on FreeBSD, on OpenBSD,
    and possibly on NetBSD (myself have not checked yet), but
    find-provides and find-requires scripts are not provided
    in rpm tarball. And, taking a glance on the "port"ed version
    of rpm by FreeBSD people, they didn't write their own scripts.
    Here's find-provides and find-requires for FreeBSD & OpenBSD.
    I checked on FreeBSD-2.2.8 and OpenBSD-2.5 (possibly works on 2.6 too)
    both a.out executable format. One of the known problem is
    that following script cannot check the inter-library dependency.
    On both systems, objdump is not bundled in default installation,
    and even if you install objdump of GNU binutils,
    it cannot check the inter-library dependency.
    The recent FreeBSD and NetBSD are in ELF format, so should
    be modified... I will send a version for FreeBSD-3.4 sooner
    or later, but if anybody is interested in, please write.
    I wish these scripts will be included in future version of rpm.
    suzuki
    
    CVS patchset: 3543
    CVS date: 2000/02/06 19:05:36

commit 016eacb22a8decd8f37473c8559949c93135650e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 6 18:07:12 2000 +0000

    Insure compression with -9 and handle symlinks correctly.
    
    CVS patchset: 3542
    CVS date: 2000/02/06 18:07:12

commit def2638570a88d6491d3e62365998228ec3ad75d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 31 21:55:23 2000 +0000

    merge from anaconda
    
    CVS patchset: 3541
    CVS date: 2000/01/31 21:55:23

commit 128700d1d69d74bc8ce760e503d398cd5f1c7087
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 31 16:42:12 2000 +0000

    updated upgrade code to handle new format file lists
    
    CVS patchset: 3540
    CVS date: 2000/01/31 16:42:12

commit 6a63a1472b653b85843b10809a1218edd5bd30fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 28 22:55:42 2000 +0000

    Doxygen.
    
    CVS patchset: 3539
    CVS date: 2000/01/28 22:55:42

commit ef9f2f731f2f1803d5d0c533f5d55690b09f403c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 27 22:38:41 2000 +0000

    Permit rpmrc/macros file as args to convetrpmrc.sh.
    
    CVS patchset: 3538
    CVS date: 2000/01/27 22:38:41

commit 64f2549d63dbd2dad25257fb221470c20da6e083
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 22:13:45 2000 +0000

    Documentation comments.
    
    CVS patchset: 3537
    CVS date: 2000/01/24 22:13:45

commit 47ed2d60efb56b54b1a99ebb90941afd1a6619b1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 22:08:58 2000 +0000

    Sanity (bump release).
    
    CVS patchset: 3536
    CVS date: 2000/01/24 22:08:58

commit 4e095c79a7bdbcf7ca9b028053d92b404d540a14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 22:03:52 2000 +0000

    Args reversed generating untar command.
    
    CVS patchset: 3535
    CVS date: 2000/01/24 22:03:52

commit 3f679aa4d7633a9fa1529d8e1f715487d0a5b9f6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 20:44:29 2000 +0000

    explicitly expand file lists in writeRPM for rpmputtext.
    
    CVS patchset: 3534
    CVS date: 2000/01/24 20:44:29

commit dd35cf769bc4e3f46fd65c13bb2cccb64f074fcf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 20:02:32 2000 +0000

    Documentation sugar.
    
    CVS patchset: 3533
    CVS date: 2000/01/24 20:02:32

commit 103b41c1d11b3b925dc253bf6372af5dd28e313f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 16:11:16 2000 +0000

    fix: on --erase, segfault caused by "" prefix.
    
    CVS patchset: 3532
    CVS date: 2000/01/24 16:11:16

commit 9e9b42aa070906d26c32822642a61001d780e4ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 14:34:14 2000 +0000

    Pass size(...)-1 to avoid buffer overflow on links that are 1024b long.
    
    CVS patchset: 3531
    CVS date: 2000/01/24 14:34:14

commit 38b3bd8554506717d025b394285afc8c18bbd269
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 24 13:26:26 2000 +0000

    fix: on --rebuilddb, make sure new/old paths are not the same (#8752).
    
    CVS patchset: 3530
    CVS date: 2000/01/24 13:26:26

commit 84d4aa7c11e71fc9ee6469683faf78b3a46f0387
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 23 23:27:29 2000 +0000

    Exit if new db directory already exists when doing --rebuilddb.
    
    CVS patchset: 3529
    CVS date: 2000/01/23 23:27:29

commit 00304183a4e4a493fcecf89e2b8b95ba66c28cc4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 19 22:51:39 2000 +0000

    Doxygen fiddles.
    
    CVS patchset: 3528
    CVS date: 2000/01/19 22:51:39

commit 9a4edb2c30b0729d839cc19d1261afcd8597f47e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 19 20:54:53 2000 +0000

    Preliminary support for doxygen generated API doco.
    
    CVS patchset: 3527
    CVS date: 2000/01/19 20:54:53

commit 9acd405dec10d71ad9c59c583eef1f5eb7eae78b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 19 19:54:08 2000 +0000

    Doxygen fiddles.
    
    CVS patchset: 3526
    CVS date: 2000/01/19 19:54:08

commit 99c1eec9bf19b3af693343ed4df74d14cecf53fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 19 19:20:56 2000 +0000

    Preliminary support for doxygen generated API doco.
    
    CVS patchset: 3525
    CVS date: 2000/01/19 19:20:56

commit 9db5309a4568f08c1099de40e00a42b53cede293
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 18:58:36 2000 +0000

    updated perl scripts (Ken Estes).
    
    CVS patchset: 3524
    CVS date: 2000/01/17 18:58:36

commit c3a725717a2418b4b446440807764c217e7677fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 18:32:44 2000 +0000

    Updated msgid's.
    
    CVS patchset: 3523
    CVS date: 2000/01/17 18:32:44

commit 9416c8bfd12321109f8e1ac4f824bcb05115474c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 18:12:32 2000 +0000

    add %_rebuilddbpath macro to permit rebuilding db in new location.
    
    CVS patchset: 3522
    CVS date: 2000/01/17 18:12:32

commit ddaf37928146cd692ddd2125547073ab974fb9f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 17 14:03:44 2000 +0000

    Typo.
    
    CVS patchset: 3521
    CVS date: 2000/01/17 14:03:44

commit 96c29a1ac76e5aa09e9cd7e8c2a44e0c66bc4554
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 15 14:17:07 2000 +0000

    extract spec files from bzip'ped tarballs too on tar builds.
    
    CVS patchset: 3520
    CVS date: 2000/01/15 14:17:07

commit 5081e778c494ede6bb019b9b28b8c8fd5288e3f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 12 22:06:20 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3519
    CVS date: 2000/01/12 22:06:20

commit 0d185e8fb5eca20fccb5fd57645eed6f32d6db86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 12 21:48:58 2000 +0000

    fix: resurrect relative path's in fprint lookup queries.
    
    CVS patchset: 3518
    CVS date: 2000/01/12 21:48:58

commit ea3ab95e1768ecf47248180c87a97640010322e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 11 19:12:34 2000 +0000

    default value for %_install_langs is all.
    
    CVS patchset: 3517
    CVS date: 2000/01/11 19:12:34

commit 483793a8776118bc968485f83a880e0cedb0fe24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 11 16:13:16 2000 +0000

    configurable compression type/level for package payloads.
    
    CVS patchset: 3516
    CVS date: 2000/01/11 16:13:16

commit 2e2da920eaf13d75d4694cfe12a5b324871d13bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 11 15:40:11 2000 +0000

    Orphan.
    
    CVS patchset: 3515
    CVS date: 2000/01/11 15:40:11

commit 9f35fb43733452c2e979dec182347e0b250567ea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 11 15:22:35 2000 +0000

    configurable PATH for install %pre/%post et al scriptlets.
    use only %_install_langs, not LINGUAS/LANG when deciding to install.
    
    CVS patchset: 3514
    CVS date: 2000/01/11 15:22:35

commit 8685f7a0deb76e24a40700da0208128b60de16d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 11 13:06:12 2000 +0000

    updated sv.po (goeran@uddeborg.pp.se) (#8349).
    
    CVS patchset: 3513
    CVS date: 2000/01/11 13:06:12

commit 091acab1c8243a2db3f8fdf4c9326ff42af0c712
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 10 15:50:47 2000 +0000

    add manpage for gendiff (pbrown@redhat.com).
    
    CVS patchset: 3512
    CVS date: 2000/01/10 15:50:47

commit 65e8fdb8f9bf5857e1c4ebf8adbefc566126037c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 7 17:32:27 2000 +0000

    add several BuildRoot FTW policies.
    
    CVS patchset: 3511
    CVS date: 2000/01/07 17:32:27

commit ba46bbb4feb8c4fab914cfc835e953d8d94485a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 19:48:31 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3510
    CVS date: 2000/01/05 19:48:31

commit 98dd6f2c02a0c7d4d56b7793324fb41bad295946
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 5 19:46:45 2000 +0000

    resurrect failed glob error message during build
    
    CVS patchset: 3509
    CVS date: 2000/01/05 19:46:45

commit 8d76e5e019c15c43c91e23fe5e878dcce7ff0ada
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 4 13:12:07 2000 +0000

    Correct open flags for signing packages.
    Sanity (make dist).
    
    CVS patchset: 3508
    CVS date: 2000/01/04 13:12:07

commit a9327e66a6ce615b65d8d2c77e371384d92478f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 19:40:13 2000 +0000

    Orphan.
    
    CVS patchset: 3507
    CVS date: 2000/01/03 19:40:13

commit 3a8b22e36a1c5e3e0aace0e7f032a43db5d5934e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 19:39:22 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3506
    CVS date: 2000/01/03 19:39:22

commit dccf7cc466e54d27776c334cf1bc4d71437a01fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 19:37:56 2000 +0000

    fix: manageFile needs to and with O_WRONLY(=1), not O_RDONLY(=0).
    
    CVS patchset: 3505
    CVS date: 2000/01/03 19:37:56

commit 24c9e3d63a7f1aa62e00e095a06964c9030f2e29
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 18:35:40 2000 +0000

    Sanity (make dist).
    
    CVS patchset: 3504
    CVS date: 2000/01/03 18:35:40

commit 540413b30c1e27ac0e5d861c87dac49669b24aca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 3 18:32:49 2000 +0000

    fix: fp.subDir was incorrectly set to NULL in sparse chroot's.
    
    CVS patchset: 3503
    CVS date: 2000/01/03 18:32:49

commit e0beefa28944f291392988a41db5604e487e4be8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 30 19:17:03 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3502
    CVS date: 1999/12/30 19:17:03

commit f84337efb646ae318e36e433472d62240caf94a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 30 18:29:50 1999 +0000

    Orphan.
    
    CVS patchset: 3501
    CVS date: 1999/12/30 18:29:50

commit 171f602c2728999ad459b045f64f502b8274f05e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 30 18:26:13 1999 +0000

    add ja translation and man pages (Kanda Mitsuru kanda@nn.iij4u.or.jp).
    
    CVS patchset: 3500
    CVS date: 1999/12/30 18:26:13

commit f7833b54abc2f86bcb6bcf3dc29957269c851660
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 30 17:08:38 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3499
    CVS date: 1999/12/30 17:08:38

commit a718761d7ec7ffc9e136c1372e8139beb910c616
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 30 17:06:53 1999 +0000

    Force python arrays for DIRNAMES/BASENAMES/DIRINDEXES.
    
    CVS patchset: 3498
    CVS date: 1999/12/30 17:06:53

commit b325535ff19dbc77a43e42808ffeb31c794e76bd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 24 14:54:34 1999 +0000

    split python bindings into a separate sub-package of rpm.
    
    CVS patchset: 3497
    CVS date: 1999/12/24 14:54:34

commit 7007cb8ae4cdf69bdd9de43d29eb4dd73fd3c311
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 22 21:31:39 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3496
    CVS date: 1999/12/22 21:31:39

commit f74f748dcfd846b45715a4ba3e26907ec1073a7b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 22 21:30:28 1999 +0000

    duplicate popt routine so that librpm.so needs not libpopt.so.
    
    CVS patchset: 3495
    CVS date: 1999/12/22 21:30:28

commit d2fb5c2be0e812fc3c767f885a2c68de31776683
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 21 17:16:08 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3494
    CVS date: 1999/12/21 17:16:08

commit 3b0700f77b8ad72f4cd7f1ffbfe4b1fc37740603
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 21 17:11:43 1999 +0000

    lib/rpmio.c: Start weeding the debug messages.
    lib/rpmio.c: Functional HTTP PUT.
    
    CVS patchset: 3493
    CVS date: 1999/12/21 17:11:43

commit 6e704014b740394aba2452f8fb78726925a78dcf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 19 19:55:14 1999 +0000

    Initialize values behind pointers before calling rpmGet{Arch,Os}Info.
    Sanity (make dist).
    
    CVS patchset: 3492
    CVS date: 1999/12/19 19:55:14

commit e6c1c88e7c0ab49ebfc35c18319b731d187be760
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 19 18:59:46 1999 +0000

    Typo (t->num rather than tnum causes segfault while re-reading rpmrc on exit).
    
    CVS patchset: 3491
    CVS date: 1999/12/19 18:59:46

commit 2a7a110805a4ec51e5227e51147a831d4bfb8277
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 18 19:38:18 1999 +0000

    fix: turn off stdio buffering if not opened O_RDONLY for now.
    
    CVS patchset: 3490
    CVS date: 1999/12/18 19:38:18

commit d76e89ddef99c60a271ece1910ba3e2da23906cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 18 15:20:29 1999 +0000

    Spelling correction.
    
    CVS patchset: 3489
    CVS date: 1999/12/18 15:20:29

commit eddf0228f58f33211313e9a8ff7bd61f7afdb38e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 16 21:58:19 1999 +0000

    diddle some names to keep my C++ brethern happy (i.e. kpackage port).
    
    CVS patchset: 3488
    CVS date: 1999/12/16 21:58:19

commit 82a546f8f44fdd1cf14deb854816e0a29c63a39b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 16 19:38:28 1999 +0000

    fix: missing strdup when overriding buildroot from command line
         argument (#1026,#5006).
    
    CVS patchset: 3487
    CVS date: 1999/12/16 19:38:28

commit f7748bb6b3d73be7075ba442c61d6bfb682a1bfd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 21:51:07 1999 +0000

    expose enough of legacy fdio interface to compile gnorpm.
    
    CVS patchset: 3486
    CVS date: 1999/12/15 21:51:07

commit 3da0771698b46ca6f83e29acaa4ea698586fc6a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 18:19:47 1999 +0000

    Correct --tarball option (long name should have been --tarbuild).
    
    CVS patchset: 3485
    CVS date: 1999/12/15 18:19:47

commit d6cb9b8fda11e0e7a24b1010fc5b0b164ee40bfd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 17:10:31 1999 +0000

    uninstall.c: rpmdbRemove used to have 2nd arg, tolerant = 0. This generates
            an error message because of a db-1.85 hash access bug that cannot be
            easily fixed. So, we turn off the error message.
    
    CVS patchset: 3484
    CVS date: 1999/12/15 17:10:31

commit 94a2aeab4880fdb11185ab124dbfe7c205f7e2d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 15:52:47 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3483
    CVS date: 1999/12/15 15:52:47

commit 4da2c641a09811b954bfd8effa8185f29c7dd0d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 15:52:47 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3482
    CVS date: 1999/12/15 15:52:47

commit 8885331b742acd8a827771fabe51b527c1b455b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 15 15:51:30 1999 +0000

    fix: compressFileList was over-generating dirNames.
    fix: alAddPackage sorted dirNames too soon, destroying dirMapping.
    
    CVS patchset: 3481
    CVS date: 1999/12/15 15:51:30

commit dab52919d121711f70e286416e2304733aa2e268
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 13 19:27:34 1999 +0000

    NULL missing at end of packages-to-be-installed array.
    
    CVS patchset: 3480
    CVS date: 1999/12/13 19:27:34

commit 8f481702d8203c95d390f6eac93434019cf8d797
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 12 21:14:05 1999 +0000

    reload macros from cmd line when re-reading config files.
    
    CVS patchset: 3479
    CVS date: 1999/12/12 21:14:05

commit 292b9f10befbeb1044d2db98f62de0e65aff3317
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 12 17:46:22 1999 +0000

    lib/rpminstall.c: Perform glob on remote ftp install args.
    lib/misc.[ch]: Rename remoteGlob to rpmGlob. Preserve glob_error behavior.
    build/files.c: Ditto.
    lib/rpmio.c: Collapse ftpFileDesc() into ftpReq().
    lib/rpmio.c: Eliminate all uses of u->path.
    lib/url.c: Ditto.
    lib/url.c: Tweak url cache code to reuse empty slots (never happens).
    
    CVS patchset: 3478
    CVS date: 1999/12/12 17:46:22

commit b438e61808c5a81b6d648a632278b6adc7db680e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 12 01:46:13 1999 +0000

    perform glob on remote ftp queries.
    fix: ftpAbort must close the data channel to read abort status.
    
    CVS patchset: 3477
    CVS date: 1999/12/12 01:46:13

commit 6f2127f425eea67893d12dc12e4f2bba2a64a100
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 11 17:55:20 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3476
    CVS date: 1999/12/11 17:55:20

commit a5c7e24cd9de4f232bdce21d513963b20f2dcd14
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 11 17:55:20 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3475
    CVS date: 1999/12/11 17:55:20

commit bd928fc23c2383de6ead25cd64fdc2f1210f88c5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 11 17:53:25 1999 +0000

    partial implementation for ftp globbing.
    
    CVS patchset: 3474
    CVS date: 1999/12/11 17:53:25

commit 7bcf51daa5454d86a6271c0de45e583f577d4b55
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 11 17:47:55 1999 +0000

    doLookup() wasn't stat'ing / properly
    
    CVS patchset: 3473
    CVS date: 1999/12/11 17:47:55

commit 52b5346ed85c200e4609005242c823cbacab7fdf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 21:29:23 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3472
    CVS date: 1999/12/10 21:29:23

commit 3e251df497671a4fdbf2fb952252355c2aef9d36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 21:29:23 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3471
    CVS date: 1999/12/10 21:29:23

commit f7be8892ddedca2cb0b7ec9c97354880c9e16040
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 21:26:58 1999 +0000

    add contentLength sanity check on rpmdb headerWrite.
    
    CVS patchset: 3470
    CVS date: 1999/12/10 21:26:58

commit 8b63e8893f97921794630572436227c7d5dcb4e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 18:13:23 1999 +0000

    fix: don't look at password when searching urlCache.
    
    CVS patchset: 3469
    CVS date: 1999/12/10 18:13:23

commit 16782dd67fa7014caa61518e4bdae1f39c8c13a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 15:44:12 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3468
    CVS date: 1999/12/10 15:44:12

commit ff438dd50d181d25ee0029f6d1332aaea8c2bb9b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Dec 10 15:37:41 1999 +0000

    Back out fix for dirIndexes memory leak.
    
    CVS patchset: 3467
    CVS date: 1999/12/10 15:37:41

commit bd109d5df5c914b3b3897d0344d61bf28e2aacb9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 8 19:04:50 1999 +0000

    rename new FILENAMES tags to BASENAMES/DIRNAMES/DIRINDEXES.
    
    CVS patchset: 3466
    CVS date: 1999/12/08 19:04:50

commit 132bdc063e023b2473056935f3f0dc182e79ecbe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 8 16:34:04 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3465
    CVS date: 1999/12/08 16:34:04

commit 77cdb93629dd680a292d6ab2011fc7a94bdac581
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 8 16:34:04 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3464
    CVS date: 1999/12/08 16:34:04

commit bd4e61e98e9a70c9b22948538460ed71d932d365
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 8 16:32:25 1999 +0000

    fix: new filelists require package index, not pointer.
    
    CVS patchset: 3463
    CVS date: 1999/12/08 16:32:25

commit ca5882b322289dc644aa01e4ff662badfde6ca8b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 7 21:14:51 1999 +0000

    Makefile.am: Add RPM-GPG-KEY to the package.
    Use fdLink/fdFree for fd/scriptFd references in transaction set/availableList.
    fprint.h: Permit (and check for) subDir = NULL in fingerPrints.
    More lclint annotations.
    
    CVS patchset: 3462
    CVS date: 1999/12/07 21:14:51

commit 92a11a944b81bea96a3ab951d04b8cfdedf7d159
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 7 07:05:14 1999 +0000

    Here is a patch for rpmdiff.  It fixes a bug where I did not
    understand the difference between:
     'FILEUIDS', 'FILEGIDS',
    and
     'FILEGROUPNAME', 'FILEUSERNAME',
    Ken
    
    CVS patchset: 3461
    CVS date: 1999/12/07 07:05:14

commit 4d81760947605d0378274447e9802d2233047d4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 6 18:03:52 1999 +0000

    fix: default for rd_timeoutsecs is 1 sec (avoid ufdio assertion).
    
    CVS patchset: 3460
    CVS date: 1999/12/06 18:03:52

commit a923894df743a8a106db80172d3bc1697554ba54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 6 17:53:13 1999 +0000

    fix: Fopen should use 0666 as default (umask will be applied later).
    
    CVS patchset: 3459
    CVS date: 1999/12/06 17:53:13

commit c56b542f6e290acef32bf804f4bfac93b583e7f6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 5 21:23:55 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3458
    CVS date: 1999/12/05 21:23:55

commit acd32889f49328cccfdb4be351141a098ef2ae5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Dec 5 21:22:45 1999 +0000

    expose enough of the legacy fdio interface to compile rpmfind/rpm2html.
    
    CVS patchset: 3457
    CVS date: 1999/12/05 21:22:45

commit b80c6385f40de1c066e27eadc08cde7ff025a1f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 21:58:04 1999 +0000

    Handle both old and new style bash2 hacks for now.
    
    CVS patchset: 3456
    CVS date: 1999/12/02 21:58:04

commit d863da403bf652bbe253b3ce484ca1235beab2e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 20:38:44 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3455
    CVS date: 1999/12/02 20:38:44

commit 4ee67ca11a663db9b9c54a7c2ca15dd39fc622cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 20:37:26 1999 +0000

    Bump release.
    
    CVS patchset: 3454
    CVS date: 1999/12/02 20:37:26

commit 83e1c73b2f49e7542a698a6e7c260fcf9c795b6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 18:30:31 1999 +0000

    initial version of check-prereqs.
    
    CVS patchset: 3453
    CVS date: 1999/12/02 18:30:31

commit 2b8dc2ee5bee229a7e7886ee79e9dd4b2f8c6922
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 17:07:29 1999 +0000

    fail to package if absolute symlink points within build root.
    
    CVS patchset: 3452
    CVS date: 1999/12/02 17:07:29

commit 7e8b64d33591bad6c877d6fe7660107cb339d7f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 2 16:31:35 1999 +0000

    permit --whatprovides to lookup file dependencies.
    
    CVS patchset: 3451
    CVS date: 1999/12/02 16:31:35

commit fc75f4fc82f10d3d9e72d3978beda5ef2c9171d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 1 20:17:05 1999 +0000

    Sanity (make dist).
    
    CVS patchset: 3450
    CVS date: 1999/12/01 20:17:05

commit 8da3fc6db1926f13aceb842860fbfd7d5a2871a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 1 20:00:39 1999 +0000

    Solaris fiddles.
    
    CVS patchset: 3449
    CVS date: 1999/12/01 20:00:39

commit 8289346751e2d994a83416e90a67b5c96f4b07cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 1 19:57:17 1999 +0000

    Add underscore in front of (possibly) non-supported FDIO_t vectors.
    Make buildFileList() part of rpmlib API as rpmBuildFileList().
    lib/rpmdb.c: Compare fingerprints from different caches by value.
    
    CVS patchset: 3448
    CVS date: 1999/12/01 19:57:17

commit 3678e4a3b548c00667db8587eb3061ac49ae3a67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 18:41:12 1999 +0000

    Sanity.
    
    CVS patchset: 3447
    CVS date: 1999/11/30 18:41:12

commit 920f41920e121328a2906246eba7b0cea7774849
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 18:39:50 1999 +0000

    python/* needs to include "system.h".
    
    CVS patchset: 3446
    CVS date: 1999/11/30 18:39:50

commit 7a41cb8e4a8ab930e2cbd03d0fdf9f9eb3a7c073
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 18:27:49 1999 +0000

    lib/transaction.c: Fix (in the right place) the dil memory leak.
    
    CVS patchset: 3445
    CVS date: 1999/11/30 18:27:49

commit 3c9bc3c94fcc2160f7cac9d09b8f94e5a333d64d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 18:13:39 1999 +0000

    Update-po.
    
    CVS patchset: 3444
    CVS date: 1999/11/30 18:13:39

commit 06aedc29ca90537e91d0ed2b7a90493a8bd7d8e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 18:07:08 1999 +0000

    lib/depends.c: Fix minor memory leak.
    lib/fprint.c: Pass both dirName/baseName to fpLookup() to avoid memory leaks.
    lib/rpmdb.c: ditto, and use scaremem=1.
    lib/transaction.c: Fix minor memory leak.
    
    CVS patchset: 3443
    CVS date: 1999/11/30 18:07:08

commit 4e56943831a57ab9cc00182007ee55c6fc46ba1e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 30 14:49:45 1999 +0000

    lib/install.c: Check errno and mkdir specdir/sourcedir only for local fs.
    lib/rpmio.c: Create ftpOpen/httpOpen from ufdOpen case's.
    lib/rpmio.c: ftpStat et al uses ftpOpen and NLST w/o path.
    lib/query.c: Don't Fclose(fd) if fd == NULL.
    
    CVS patchset: 3442
    CVS date: 1999/11/30 14:49:45

commit c48ddf778309aae045945c372cc2eae9e60fcaa9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 29 14:56:36 1999 +0000

    Add timestamping to statistics.
    Rudimentary display of statistics for GZDIO/BZDIO.
    
    CVS patchset: 3441
    CVS date: 1999/11/29 14:56:36

commit db3213b0574239c732f4a9e59a1e297589d3eb3c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 27 00:15:07 1999 +0000

    lib/stubs.c: Add portability routines to rpmlib for portable shared rpmlib.
    lib/rpmio.c: Internalize single use of inet_aton().
    lib/rpmio.h: Include libio.h retrofit here rather than in system.h.
    configure.in: Remove regex/glob tests.
    
    CVS patchset: 3440
    CVS date: 1999/11/27 00:15:07

commit 4d26dfa475765173ecb06bf17bda66ddb179acad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 26 22:31:19 1999 +0000

    Minimal python compile.
    
    CVS patchset: 3439
    CVS date: 1999/11/26 22:31:19

commit 90098c27571975cd88c05b617504d78e06187431
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 26 22:02:37 1999 +0000

    Package 3.0.4-0.1
    
    CVS patchset: 3438
    CVS date: 1999/11/26 22:02:37

commit 2c4c12af4f9f901fb07edc4a6c5d7f5e0f831ed6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 26 22:00:02 1999 +0000

    use directory tokens internally to reduce memory usage.
    
    CVS patchset: 3437
    CVS date: 1999/11/26 22:00:02

commit f202d104d070c43fa9b1f029fa85f6b7517ae5c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 26 21:58:42 1999 +0000

    Consistent usage for fileNames, baseNames, dirNames and dirIndexes throughout.
    rpm.c: Add --nodirtokens and --dirtokens to control file list compression.
    lib/misc.c: Default (conservative) valuse _noDirTokens is TRUE.
    lib/misc.c: Add expandFileList analogue to compressFileList.
    build/pack.c: Compress file list only if compression is requested.
    lib/rpmdb.c: Expand file list before headerWrite if compression not requested.
    
    CVS patchset: 3436
    CVS date: 1999/11/26 21:58:42

commit c8406c80d2a9670df64f1ab7e38d90626cad906f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 26 16:19:30 1999 +0000

    lib/macro.c: Create rpmCleanPath().
    build/misc.c: Delete cleanFileName().
    
    CVS patchset: 3435
    CVS date: 1999/11/26 16:19:30

commit 2a423cf9398d597b1320e95e864909e292f9c82f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 24 16:55:42 1999 +0000

    Display message if GNU xgettext is not found.
    
    CVS patchset: 3434
    CVS date: 1999/11/24 16:55:42

commit 5144525bbc1936f7e0288718a7614ffa1c6ca63b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 24 16:16:17 1999 +0000

    build/files.c: Remove dead code.
    lib/cpio.c: Open file to be installed with "w" not "r+".
    lib/fprint.c: Use variable length string keys for rpmdbFindByFile cache.
    
    CVS patchset: 3433
    CVS date: 1999/11/24 16:16:17

commit 4221ce1aa1fff15764b1620d904c713f8bc727ae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 24 00:03:54 1999 +0000

    lib/macro.c: Canonicalize paths in rpmGetPath().
    build.c: ditto.
    build/build.c: ditto.
    build/files.c: ditto.
    build/parsePreamble.c: ditto.
    build/parseSpec.c: ditto.
    build/myftw.c: Use Opendir/Readdir/Closedir wrappers.
    lib/cpio.c: Use Readlink/Stat/Lstat wrappers while building archive.
    lib/rpmio.c: functional ftpLstat, ftpStat and ftpReadlink.
    
    CVS patchset: 3432
    CVS date: 1999/11/24 00:03:54

commit abe7856bb066b68cffb378cd30771bc57bc49333
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 19:47:43 1999 +0000

    Add reminder to export shell variables.
    
    CVS patchset: 3431
    CVS date: 1999/11/19 19:47:43

commit c6d768583ef384f1037d5d3fb3c73174cebd6bdf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 19 18:19:41 1999 +0000

    macros.in: Add buildsubdir and scriptlet template macros.
    build/build.c: Rewrite to use scriptlet templates.
    build/files.c: Rename variables to prepare for (possibly) URL's in %files.
    build/myftw.c: Use Lstat.
    build/parsePreamble.c: Permit URL's in BuildRoot tag if not from spec file.
    build/parseSpec.c: ditto
    build/parsePrep.c: Add buildsubdir macro.
    lib/macro.c: Add url2path (nickname u2p) and verbose macro primitives.
    lib/url.c: urlPath returns "" if url is NULL (rpmGenPath memory corruption).
    
    CVS patchset: 3430
    CVS date: 1999/11/19 18:19:41

commit 1f6614e61efc520d2da0c09604d4ee1c06117073
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 18 18:07:46 1999 +0000

    The death of lib/ftp.c, merged into lib/rpmio.c.
    Start composting the rpmio API.
    Preliminary (not working) support for HTTP PUT.
    build.c: Check fd for NULL and use Ferror() for Fopen return.
    build/parseSpec.c: ditto
    build/pack.c: Use fdGetFP() rather than fpio->ffileno().
    build/parseSpec.c: ditto
    build/pack.c: Use Stat/Mkdir wrappers.
    build/pack.c: Do Fflush before fdDup so that writes can remain buffered.
    lib/install.c: ditto
    build/parsePrep.c: Skip over URL leadin when writing %prep scriptlet.
    lib/misc.c: Rewrite to use simpler urlPath(). Restore checks on local fs.
    lib/rpmchecksig.c: Open with "r+" rather than "w" to avoid truncation.
    lib/url.c: Do lazy malloc of u->buf in rpmio.c checkResponse().
    lib/rpmio.c: Make persist/contentLength per-fd rather than per-url.
    lib/rpmio.c: Add wr_chunked method for HTTP PUT (still broken).
    lib/rpmio.c: ftpAbort() should use timedRead.
    lib/rpmio.c: Add Fflush().
    lib/url.c: urlPath() should return something ("/") on url = NULL (paranoia).
    lib/url.c: urlSplit() should return something ("/") on url w/o path.
    
    CVS patchset: 3429
    CVS date: 1999/11/18 18:07:46

commit 3a6118d4194d9672b24cd7b357e6191f4eb47fde
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 18 17:10:15 1999 +0000

    From: Dick Porter <dick@acm.org> --
    Here is a patch for popt to implement selective argument stripping from argv.
    With this patch I can use popt in ORBit (the CORBA spec requires ORBs to
    remove all ORB options from argv), which allows me to export a popt option
    table to the rest of Gnome.
    There is also a bug fix included where a string was realloc()d into a space
    too small to hold the trailing NULL.
    
    CVS patchset: 3428
    CVS date: 1999/11/18 17:10:15

commit 284ac8bec49c6a708dd096c17115c34c3cd8bc80
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 18 16:57:45 1999 +0000

    fix: realloc didn't include space for trailing NUL.
    
    CVS patchset: 3427
    CVS date: 1999/11/18 16:57:45

commit 1140a20ef80e32b3ab3da9153cab8e940dcc58ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 15 23:57:18 1999 +0000

    Make static fd in transaction callback persistent.
    
    CVS patchset: 3426
    CVS date: 1999/11/15 23:57:18

commit 07fa5616811da29b4e4630288864f858b019e77f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 15 22:16:54 1999 +0000

    rpm.c: Add --ftpdebug, --urldebug, --rpmiodebug (for my sanity).
    build/pack.c: Remove unnecessary persist in package{Sources,Binaries}.
    lib/rpmio.c: Expose fdGetFp() for use in url.c.
    lib/rpmio.c: Debug refs with FILE/FTP/HTTP url's.
    lib/url.c: Push fp in order to use Fclose() when cleaning up url cache.
    
    CVS patchset: 3425
    CVS date: 1999/11/15 22:16:54

commit 4e62a322a266e9d95007540d10e67fc75bf80aa7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 14 19:15:18 1999 +0000

    lib/rpmio.c: Implement per-fd layers as a stack, add fdPush/fdPop.
    lib/rpmio.c: Add fd{Get,Set}{Io,Fp,Fdno} abstraction wrappers.
    lib/rpmio.c: Start rationalizing debug output by using fdbg to display the
            fd layer stack.
    rpm.c: Add --nolibio to disable libio if desired.
    rpm2cpio.c: Use Fdopen(..., gzdio) and ufdCopy().
    build/build.c: Use Fdopen(..., fpio) rather than fdio.
    build/files.c: Use Fdopen(..., fpio) rather than ufdio.
    build/parseSpec.c: ditto.
    lib/macro.c: ditto.
    lib/rpmrc.c: ditto
    lib/macro.c: Use Fopen(..., ufdio) in isCompressed() rather that fdOpen().
    lib/misc.c: ditto.
    lib/misc.c: Avoid fstat by using Stat.
    build/pack.c: Add persist fdLink() and use fdFree() in package{Sources,Binaries}
    build/pack.c: Try to remove the fdDup before cpioBuildArchive() call.
    build/pack.c: Use rpmGenPath with %{_builddir}.
    build/parsePreamble.c: Use fdSize rather than Stat to get icon file size.
    lib/rpmrc.c: ditto
    lib/ftp.c: start capturing ufdio layer syserrno/errcookie.
    
    CVS patchset: 3424
    CVS date: 1999/11/14 19:15:18

commit 471ba3b2386a15b5cd0ad202238dd38161788416
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 12 21:26:04 1999 +0000

    add/update dependency scripts (Ken Estes).
    
    CVS patchset: 3423
    CVS date: 1999/11/12 21:26:04

commit 8ce88756fdb4a1cd88085acfac49c3a7180bb1bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 12 17:20:49 1999 +0000

    Use Fstrerror on ufdio throughut.
    rpm.c: add --rmspec to usage output.
    build/files.c: use ufdio to permit '%files -f <url>' (untested).
    build/pack.c: use ufdio in readRPM(), writeRPM(), and addFileToTag().
    build/parsePreamble.c: use ufdio in readIcon().
    lib/ftp.c: httpOpen() now takes FD_t ctrl arg to uncouple from u->ctrl.
    lib/install.c: usr rpmGenPath() to identify first found url in file path concat.
    lib/install.c: permit url's in files[i].relativePath.
    lib/macro.c: use ufdio, diddle macros for tmacro standalone build.
    lib/macro.c: Create rpmGenPath().
    lib/macro.c: diddle macro files path to permit url's.
    lib/rpmchecksig.c: use Fopen on fdio.
    lib/rpmio.c: replace copyData() with ufdCopy().
    lib/rpmio.c: replace httpGetFile() with ufdGetFile().
    lib/rpmio.c: add ufdWrite().
    lib/rpmio.c: permit 2 simultaneous persistent malloc/open HTTP/1.1 connections.
    lib/rpmio.c: Add Lstat(), Stat(), and Access().
    lib/rpmio.c: assume paths in syscall stubs are loopback (WRONG).
    lib/url.c: add urlPath().
    
    CVS patchset: 3422
    CVS date: 1999/11/12 17:20:49

commit e0b1d0be3607ef673555ca17078bfff6f854267e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 10 22:09:49 1999 +0000

    Swap 2nd and 3rd arg to Fread/Fwrite to preserve read/write type return.
    Use Fstrerror to retrieve fd->syserrno.
    Make ftpFileDoneNeeded per-fd rather than per-url.
    Make data fd unique rather than per-url.
    Use appropriate protocol commands for ufdio writing.
    
    CVS patchset: 3421
    CVS date: 1999/11/10 22:09:49

commit aeab1e959d1fb383a0ff21924bff0edd01404fab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 9 20:57:38 1999 +0000

    fix: typo in error message (#6858).
    tufdio.c: Create.
    rpmurl.h: Add ctrl, data, buf, and bufAlloced to urlinfo. UFDSANE assertion.
    rpmio.h: Add fdWritable(), fdReadable(), fdRdline(), exported (for now) to
             ftp.c checkResponse().
    ftp.c: checkResponse() rewritten to use above.
    ftp.c: checkResponse() handles html in 501 response on closed http connection.
    ftp.c: ftpCommand() rewritten to simplify (using stpcpy).
    ftp.c: httpOpen() now reopens time-out persistent connection.
    ftp.c: Get rid of O_NONBLOCK reads, not necessary AFAICT.
    ftp.c: ftpFileDesc() uses u->data rather than passed in fd arg.
    Use a consistent refcounting scheme to achieve persistent malloc and open ctrl.
    query.c: get ready for Remglob().
    rpmio.c: ftpCmd() functional (using tufdio).
    
    CVS patchset: 3420
    CVS date: 1999/11/09 20:57:38

commit 20cafc16fec4345edef90a5e8586de6434eed773
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 6 20:44:11 1999 +0000

    Sanity.
    
    CVS patchset: 3419
    CVS date: 1999/11/06 20:44:11

commit e8c7c6893ce0de37de7218d6419ca31452eaa601
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 5 20:00:26 1999 +0000

    rpmio.c: Add per FD_t syserrno, read timers and simple counting statistics.
    rpmio.c: Honor contentLength to prevent R/W I/O dribbles.
    ftp.c: Support for HTTP/1.1 with persistent connection.
    ftp.c: Read (and set) Content-Length and HTTP minor version from reply.
    
    CVS patchset: 3418
    CVS date: 1999/11/05 20:00:26

commit 3363604c7076329e431afdc975f205b54f088631
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 4 21:26:08 1999 +0000

    Use Fopen almost everywhere.
    Rip out --enable-bzip2-payload, we'll use Fopen w macros instead.
    Work out ref counting for ftpControl so that control channel is persistent.
    build/build.c: Use fpio to write build stage script.
    parseSpec.c: Rework include stack to use FD_t, not FILE *.
    tread.c: Delete, use ufdio->read instead.
    rpmio.c: Filter out fdio fd == NULL assertion failures.
    rpmrc.c: Don't fail if HOME is not environment.
    rpmrc.c: Rework ufdio FTP rcfile I/O to be more similar to stdio.
    
    CVS patchset: 3417
    CVS date: 1999/11/04 21:26:08

commit 94dd9f796e8c8fa7b59e9690d8d0cf476313e5a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 3 20:33:53 1999 +0000

    First use of libio.
    
    CVS patchset: 3416
    CVS date: 1999/11/03 20:33:53

commit 85d4129c7bedafd466625fd4400ea5607e2f09a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 2 17:56:30 1999 +0000

    Move most of the ftp and http interface to rpmio.c.
    
    CVS patchset: 3415
    CVS date: 1999/11/02 17:56:30

commit 7fc3a97733080a03e8bb3872bd37019db483b93c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 2 14:33:14 1999 +0000

    Add ref/deref/new/fileno/open vectors to FDIO_t.
    Hide fdOpen/ufdOpen, use {fdio,ufdio}->open throughout.
    url.c: Create ref counted abstract urlinfo type with debugging.
    url.c: Rename functions to urlNew/urlFree/urlFreeCache for consistency.
    rpmio.c: Create ref counted abstract FD_t type with debugging.
    rpmio.c: Create private struct _FD_s type.
    cpio.c: Create fd[GS]etCpioPos to preserve FD_t abstraction.
    
    CVS patchset: 3414
    CVS date: 1999/11/02 14:33:14

commit 65a08c9e60c0bff0e09cfdcc98ca97910ab24ac5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 1 23:23:09 1999 +0000

    fix: expandNextArg() can't permit '\\' escapes.
    
    CVS patchset: 3413
    CVS date: 1999/11/01 23:23:09

commit b1cb8f1b3ed725542bbba6a8f2fe6a1722c2e632
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 1 19:03:31 1999 +0000

    Typo.
    
    CVS patchset: 3412
    CVS date: 1999/11/01 19:03:31

commit decd6483206dd25fac8032957f67286552904123
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 1 19:02:46 1999 +0000

    freshen.sh: detect when all packages are up to date (Ian Macdonald).
    
    CVS patchset: 3411
    CVS date: 1999/11/01 19:02:46

commit efa7fc6d03dbff3b6900063bb58f45b5a84aff95
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 1 14:29:37 1999 +0000

    ftp.c: Preserve FD_t abstraction by creating fdDebug()/ufdSetFd().
    
    CVS patchset: 3410
    CVS date: 1999/11/01 14:29:37

commit b57249fd5e6a292a6d6aec9c0ec4b9d2fecb08d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 31 21:38:21 1999 +0000

    Spec: Add rootdir (as in chroot).
    parseSpec(): Pass rootdir argument.
    rpm.c: Rework bigMode enum to simplify per-mode option checks.
    build/build.c: Attempt a chroot before execl().
    falloc.c: thinko: test for non-existent packages database was broke.
    makeTempFile(): Skip possible URL leader on tempfile name expansion.
    rpmio.c: Mkdir/Chdir/Rmdir/Rename/Chroot/Unlink syscall wrappers.
    rpmdb.c: Coalesce and simplify legacy openDatabase() wrappers.
    uninstall.c: Skip possible URL leader on chroot arg.
    
    CVS patchset: 3409
    CVS date: 1999/10/31 21:38:21

commit 3d087dcf52531f766af0c503a6cbddfaef84f86a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 21:26:45 1999 +0000

    Rename faFoo() routines, use FD_t I/O with fadio cookie throughout.
    Try to be URL sensitive on filename arguments throughout.
    falloc.c: Eliminate faFile, use FD_t.
    falloc.c: preserve abstract FD_t by creating fadGet*()/fadSet*().
    macro.c: rpmGetPath() expansions were clobbering URL's.
    rpmio.c: create Fcntl(), Pread(), Pwrite() from previous faFoo().
    rpmio.c: attempt per FD_t debugging.
    rpm.c: permit --dbpath with --rebuild.
    
    CVS patchset: 3408
    CVS date: 1999/10/30 21:26:45

commit 2b84d36c2edb0acd8f47bd3316e1535cfdf60fc0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 16:43:29 1999 +0000

    Make fdFileno() static, use Fileno()/Ferror() analogues throughout.
    Make ufdClose() static, use Fclose() with ufdio cookie throughout.
    rpm.c: Clean urlinfoCache and rpmBuildArgs leaks.
    url.c: urlIsURL() should be here, not in rpmio.c.
    url.c: Preserve FD_t abstraction by creating ufdGetUrlinfo().
    url.c: Create freeUrlinfoCache().
    rpmio.c: Create ufdio cookie.
    
    CVS patchset: 3407
    CVS date: 1999/10/30 16:43:29

commit 533991efdbbeff0c0f3b6f5b008c748ee61bc85e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 16:17:02 1999 +0000

    Merged back into rpmio.c.
    
    CVS patchset: 3406
    CVS date: 1999/10/30 16:17:02

commit 1484a93a3f9a46d91b732c9d20ab7a24f7bee413
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Oct 30 16:16:30 1999 +0000

    Sanity.
    
    CVS patchset: 3405
    CVS date: 1999/10/30 16:16:30

commit 7b4cf4bf196bbc8477fb5aae8a37c56f20c6aaa2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 29 23:03:12 1999 +0000

    fix: resurrect multiple target platform builds.
    
    CVS patchset: 3404
    CVS date: 1999/10/29 23:03:12

commit 1e0138188b4887431444d90395be0f2fac5c2db3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 29 16:06:01 1999 +0000

    check for memory leaks (almost all leaks are plugged).
    
    CVS patchset: 3403
    CVS date: 1999/10/29 16:06:01

commit 0d0b405c201b43f2eebc61257f5992931e1cdb0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 27 23:18:10 1999 +0000

    use compressed filenames on install side.
    start unifying FD types, CFD_t now gone.
    
    CVS patchset: 3402
    CVS date: 1999/10/27 23:18:10

commit 82c75cb6a261465700ca469793b54ad68bef99a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 20:10:00 1999 +0000

    Add poptDupArgv() and const's to popt.3 man page.
    
    CVS patchset: 3401
    CVS date: 1999/10/25 20:10:00

commit b074f1e2e712870d73613b4f8d848e963182b7e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 19:07:14 1999 +0000

    lclint annotations.
    
    CVS patchset: 3400
    CVS date: 1999/10/25 19:07:14

commit ba1f155cdcd759363d00a1d0a9317c720c584d84
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 18:24:38 1999 +0000

    Lazy allocation of deleted arg bit map.
    
    CVS patchset: 3399
    CVS date: 1999/10/25 18:24:38

commit 1cdcd275a8b81a8e5258a0696ab198ccfd7408ca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 25 18:22:19 1999 +0000

    Add !#:+ token parsing to retrieve (and delete) next argument from list.
    
    CVS patchset: 3398
    CVS date: 1999/10/25 18:22:19

commit e2d517c67ce9c4a100bad0e44f17b930e4b457b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 22 18:25:39 1999 +0000

    Modify test1 to do poptResetContext before parsing args.
    
    CVS patchset: 3397
    CVS date: 1999/10/22 18:25:39

commit d4fed4bde1aafd03c328b7ebd710a8e33c7f2203
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 22 18:10:51 1999 +0000

    fix: long options like "--long=val" needed longArg reset to NULL at top of
         poptGetNextOpt() while loop.
    Variables in poptGetNextOpt() are also locally scoped.
    
    CVS patchset: 3396
    CVS date: 1999/10/22 18:10:51

commit d5b272105ba8b2a9e38cb70166f503bd974f5ee5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 21:38:18 1999 +0000

    Functional "make check".
    
    CVS patchset: 3395
    CVS date: 1999/10/21 21:38:18

commit bd34f27bb4617a172b1fee3be70b040e041858a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 20:36:16 1999 +0000

    lclint annotations and compiler cruft.
    
    CVS patchset: 3394
    CVS date: 1999/10/21 20:36:16

commit c8b83b08c57667fe92ad68a76eba9dff8abd031e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 18:48:00 1999 +0000

    lclint annotations.
    
    CVS patchset: 3393
    CVS date: 1999/10/21 18:48:00

commit 8bf4afe2d738ede9a3c5567da6679205ac9b6f5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 18:20:29 1999 +0000

    Create.
    
    CVS patchset: 3392
    CVS date: 1999/10/21 18:20:29

commit d1a5cef88a7340caf881c5a7b1689bcaf37f06c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 18:20:12 1999 +0000

    lclint annotations.
    
    CVS patchset: 3391
    CVS date: 1999/10/21 18:20:12

commit 3ae84a6867ec831d2a3bcc0423565104626efd28
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 21 15:04:25 1999 +0000

    lclint annotations.
    
    CVS patchset: 3390
    CVS date: 1999/10/21 15:04:25

commit 1bcfa7ac608310ff018e9fca851f64d61ec99ddf
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 21 02:40:57 1999 +0000

    got installs/removes working with new file lists
    
    CVS patchset: 3389
    CVS date: 1999/10/21 02:40:57

commit e6698260f453b3f9418a8d7fdbbd6d764ef99606
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 21:47:42 1999 +0000

    Use xmalloc/xrealloc/xstrdup.
    
    CVS patchset: 3388
    CVS date: 1999/10/20 21:47:42

commit 6defa683eb5eab3411a1bd827106ccf45edfd7f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 21:40:10 1999 +0000

    lclint annotations.
    
    CVS patchset: 3387
    CVS date: 1999/10/20 21:40:10

commit 574cad11f200498c52daf162d71b22c928926534
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 18:38:37 1999 +0000

    Tyo: RPMTAG_COMPFILENAMES is ...COMPFILELIST.
    Remove compiler warnings.
    
    CVS patchset: 3386
    CVS date: 1999/10/20 18:38:37

commit 22947b332ed67b529c33e60ed0309e55ec7de678
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 16:48:10 1999 +0000

    perl from /usr/bin
    
    CVS patchset: 3385
    CVS date: 1999/10/20 16:48:10

commit b38f7bc532b038cfc0aac13ba8a7ff15c6c6b923
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 20 16:46:54 1999 +0000

    Dependency code from Ken Estes.
    
    CVS patchset: 3384
    CVS date: 1999/10/20 16:46:54

commit 925c8130d5e4b8399e45e79b6253df5f8a8de760
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 20 10:22:46 1999 +0000

    another batch of changes for new file list format -- one more to go
    
    CVS patchset: 3383
    CVS date: 1999/10/20 10:22:46

commit 28c54f8f22bd0185fd587d63cae27f4542f9edd8
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 17 20:59:39 1999 +0000

    relocations work better now
    
    CVS patchset: 3382
    CVS date: 1999/10/17 20:59:39

commit 00ba060900a25d1521edf8018da17c4a0804550f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 11 16:37:55 1999 +0000

    Start rpm-3.0.4.
    
    CVS patchset: 3381
    CVS date: 1999/10/11 16:37:55

commit 87c7c2f8d7fe1e0a8cf430448dccc625d1d5a347
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 11 15:47:27 1999 +0000

    Add quotes to check for file list existence (nigel@pobox.com).
    
    CVS patchset: 3380
    CVS date: 1999/10/11 15:47:27

commit cfa9ce427b7c5e2dbb9eba9fe94fff59833d53b3
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 8 20:30:49 1999 +0000

    support new file list format for relocations and package removal
    
    CVS patchset: 3379
    CVS date: 1999/10/08 20:30:49

commit 568dceb42b2cdaaeafdcab97e155475ef6d1f2b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 8 17:42:02 1999 +0000

    Do lseek as part of readp/writep.
    
    CVS patchset: 3378
    CVS date: 1999/10/08 17:42:02

commit 8ef4ebd1331eed2ff91feda99a0ad7726a083743
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 8 16:38:33 1999 +0000

    Use xmalloc/xstrdup rather than malloc/strdup.
    
    CVS patchset: 3377
    CVS date: 1999/10/08 16:38:33

commit 1ba4ccb8706d27ba8e5da5d9fc03544af1445b56
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 22:52:35 1999 +0000

    use OLDFILENAMES tag
    
    CVS patchset: 3376
    CVS date: 1999/10/06 22:52:35

commit c0f5d38f862c428849bf73e9242d475a33f08c31
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 22:52:12 1999 +0000

    updated for compressed file lists -- dep check should stay much smaller
    now
    
    CVS patchset: 3375
    CVS date: 1999/10/06 22:52:12

commit 360c32cb66543a85d9b3a2befc1e97f6af9e8ea1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 22:51:53 1999 +0000

    rpmdbFindByFile() deals with compressed file lists
    
    CVS patchset: 3374
    CVS date: 1999/10/06 22:51:53

commit f90d8e7415fe75045db5db5504016c0ba5773a8e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 22:50:55 1999 +0000

    moved removed of extra UID information from header here from dependency
    code (why was it ever there?)
    
    CVS patchset: 3373
    CVS date: 1999/10/06 22:50:55

commit 2423cad4c41645bf43f8b6201d6ef5f2a6ed6481
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 18:29:27 1999 +0000

    fixed bug w/ compressing file lists
    
    CVS patchset: 3372
    CVS date: 1999/10/06 18:29:27

commit c04fd2f1e4cfdba7a69db2ee9a9e79e890ee3fc3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 15:51:38 1999 +0000

    write out compressed file lists *only* -- this is for sanity, we'll write
    out both sets for compatibility once the rest of the stuff starts to work
    
    CVS patchset: 3371
    CVS date: 1999/10/06 15:51:38

commit 4cfb2f8d63490f0bc7508bd25a2fc519d19e0707
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 6 15:51:14 1999 +0000

    first steps toward getting compressed file lists to work -- most things
    are still *horribly* broken
    
    CVS patchset: 3370
    CVS date: 1999/10/06 15:51:14

commit 55773323ccd3b5f4a0bac80d468c4cdbf572376f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 22:04:20 1999 +0000

    Rpm 3.0.3 release.
    
    CVS patchset: 3369
    CVS date: 1999/10/04 22:04:20

commit 1f815adc05bfef382d99696661f3c853e464b403
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 21:00:30 1999 +0000

    Poertability.
    
    CVS patchset: 3368
    CVS date: 1999/10/04 21:00:30

commit be45257fd9ca72ea8d450afe20ea3fc8254f0798
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 20:18:48 1999 +0000

    dumb cpp's want white space around lclint annotations (Tim Mooney).
    aix: aix.req broken by cut-and-paste (Tim Mooney).
    
    CVS patchset: 3367
    CVS date: 1999/10/04 20:18:48

commit cabcec362682a5bd68d5acc2191333cb903a2e4e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 19:40:03 1999 +0000

    lclint annotations from build.
    
    CVS patchset: 3366
    CVS date: 1999/10/04 19:40:03

commit 767f75648fb05790ddb3200cba8ddf730a136dd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 17:29:58 1999 +0000

    fix: non-GNU globs burp on repeated '/' in patterns.
    
    CVS patchset: 3365
    CVS date: 1999/10/04 17:29:58

commit 9336fba9832d8ebf9e325b15f96961f2ca92507c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 4 15:15:46 1999 +0000

    Display errno on getOutputFrom() fork/exec failures.
    
    CVS patchset: 3364
    CVS date: 1999/10/04 15:15:46

commit f72d5eec3bb762c1e158b7abd2e1538019c73c5b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 21:40:20 1999 +0000

    Sanity.
    
    CVS patchset: 3363
    CVS date: 1999/09/30 21:40:20

commit 907e305591fab72f5c152c134bfe0a999f5d6753
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 21:20:34 1999 +0000

    Build on solaris2.6 with gcc.
    
    CVS patchset: 3362
    CVS date: 1999/09/30 21:20:34

commit 46b128762bf88581fbca33d00129c32e559e2c94
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 21:10:04 1999 +0000

    Sanity.
    
    CVS patchset: 3361
    CVS date: 1999/09/30 21:10:04

commit 4310a0aa2ac5d5a714898d35b3ca83cff7937fbe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 20:14:16 1999 +0000

    Sanity.
    
    CVS patchset: 3360
    CVS date: 1999/09/30 20:14:16

commit 1db2e3df7a24397d83f4db7229aae94ed01ae9d6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 20:04:03 1999 +0000

    Sanity.
    
    CVS patchset: 3359
    CVS date: 1999/09/30 20:04:03

commit 082c8bba35d4ea9257e9a2f411e071b3b7b8847f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 19:37:54 1999 +0000

    Sanity.
    
    CVS patchset: 3358
    CVS date: 1999/09/30 19:37:54

commit a7d1b1a2c90b2ac1bb931cf36933b324c64695b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 19:31:44 1999 +0000

    Sanity.
    
    CVS patchset: 3357
    CVS date: 1999/09/30 19:31:44

commit d7ba7d08d195283773b170080b14072a71a4477b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 17:45:42 1999 +0000

    More HPUX cc fiddles.
    
    CVS patchset: 3356
    CVS date: 1999/09/30 17:45:42

commit ff642c3a5eeacf392c1bb220a1ca70f9296a1fe9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 16:56:05 1999 +0000

    HPUX cc compiler fidgets.
    
    CVS patchset: 3355
    CVS date: 1999/09/30 16:56:05

commit 5b7c1963ebf6d543d46de2e72ac0d9615bc8598f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 16:11:52 1999 +0000

    Access fd_fileno correctly.
    
    CVS patchset: 3354
    CVS date: 1999/09/30 16:11:52

commit 1baa4101d6a58837ad196d987bb1fc18d62aed08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 16:03:43 1999 +0000

    Don't build rpmgettext/rpmputtext if USE_NLS=no.
    
    CVS patchset: 3353
    CVS date: 1999/09/30 16:03:43

commit 2affcc2244e177bced04013197c032e38a0e9d67
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 14:53:33 1999 +0000

    HPUX groks not long long.
    
    CVS patchset: 3352
    CVS date: 1999/09/30 14:53:33

commit 960b02877875443801bfca622330623fcb4d73e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 00:22:15 1999 +0000

    new find req/prov scripts for non-linux platforms (Tim Mooney).
    
    CVS patchset: 3351
    CVS date: 1999/09/30 00:22:15

commit ff01ced80f6811c940da2e098873f3dc3233c083
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 00:03:10 1999 +0000

    Add libtool.m4.
    
    CVS patchset: 3350
    CVS date: 1999/09/30 00:03:10

commit 307e51db290281f68520adacff4a2e46e8b03f71
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 30 00:00:10 1999 +0000

    Ignore generated files.
    
    CVS patchset: 3349
    CVS date: 1999/09/30 00:00:10

commit aaa572a6eadcde7eb190c5bb352b4dd63be04792
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:58:51 1999 +0000

    Aother typo.
    
    CVS patchset: 3348
    CVS date: 1999/09/29 23:58:51

commit e3be66cc1094de9dd4f41c58aec5c497dfbac80e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:57:42 1999 +0000

    Add libtool.m4 to aclocal.m4.
    
    CVS patchset: 3347
    CVS date: 1999/09/29 23:57:42

commit b8acb34828d4d8d2aa45ec9b066ebb6e4d016c20
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:48:54 1999 +0000

    Typo.
    
    CVS patchset: 3346
    CVS date: 1999/09/29 23:48:54

commit 3e86bf7d52def1dd00a4f58f8f4bf63363b94a40
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:48:23 1999 +0000

    Ignore generated files.
    
    CVS patchset: 3345
    CVS date: 1999/09/29 23:48:23

commit 043529894e481ac82012899310f2a01837a5d4d0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:37:04 1999 +0000

    Nuke'em again.
    
    CVS patchset: 3344
    CVS date: 1999/09/29 23:37:04

commit a20c89d42bd04629ee290b46046b63e92ea3a18c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:29:57 1999 +0000

    Check in time stamps again.
    
    CVS patchset: 3343
    CVS date: 1999/09/29 23:29:57

commit 32942a7b6bdfb0c12dae5bc0c6e8fec12c8aac9a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 23:26:08 1999 +0000

    Check in time stamps.
    
    CVS patchset: 3342
    CVS date: 1999/09/29 23:26:08

commit 798e32a254f8a85b01ecdc22088be506815b5736
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 21:22:24 1999 +0000

    Create.
    
    CVS patchset: 3341
    CVS date: 1999/09/29 21:22:24

commit 0750a8385c5083ae19b3f137660fa19921a33d4b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 21:12:45 1999 +0000

    Add intl so popt no longer requires gettext.
    
    CVS patchset: 3340
    CVS date: 1999/09/29 21:12:45

commit 07d68db900f165350dfe51b2e80ff1e7077e3a6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 29 15:59:55 1999 +0000

    Don't use err(3) for now.
    
    CVS patchset: 3339
    CVS date: 1999/09/29 15:59:55

commit 63798c65a1d243b3fb8750f1e8b1de07acbf5acc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 28 18:38:51 1999 +0000

    updated pl/rpm.8 (PLD team).
    
    CVS patchset: 3338
    CVS date: 1999/09/28 18:38:51

commit 5714a7f0b1dc139f0c7b31a8eeb127e5f3a2f093
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 28 15:24:01 1999 +0000

    portatbility fiddles (solaris).
    create binary rpm directory (e.g. .../%{_target_cpu}) on the fly.
    
    CVS patchset: 3337
    CVS date: 1999/09/28 15:24:01

commit aaf3ed92bc7b91a003c11a9e74b3ed62a801c30e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 23:46:42 1999 +0000

    Add regex.c/regex.h.
    
    CVS patchset: 3336
    CVS date: 1999/09/26 23:46:42

commit c7a61217062bc81485fba5561c48a91031dbbe99
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 23:44:36 1999 +0000

    Search /usr/include before misc.
    
    CVS patchset: 3335
    CVS date: 1999/09/26 23:44:36

commit a38a3b7f35adebd1bbefa7cf2ccde413db1c8a2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 23:16:14 1999 +0000

    Sanity.
    
    CVS patchset: 3334
    CVS date: 1999/09/26 23:16:14

commit 23ddc3c8ceb8484e05acc9920db98b3e54ad0df8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 22:50:47 1999 +0000

    Autoconf test for glob (and regex) functionality.
    
    CVS patchset: 3333
    CVS date: 1999/09/26 22:50:47

commit bc0955ad3c26524eef366a9e66a889d38a05b12f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 17:28:00 1999 +0000

    Solaris compilation.
    
    CVS patchset: 3332
    CVS date: 1999/09/26 17:28:00

commit d6f997e62d7bce0f24623ba8acfe3280fd6caf82
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 17:09:46 1999 +0000

    Drill msgid at same time as msgstrs.
    
    CVS patchset: 3331
    CVS date: 1999/09/26 17:09:46

commit e60094b302720378ca194db760e51299b32e0a70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 15:04:03 1999 +0000

    Retrofit glibc __progname.
    
    CVS patchset: 3330
    CVS date: 1999/09/26 15:04:03

commit 0464b19302bcceafe0c597f1feb693f69ab9b12d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 00:44:52 1999 +0000

    Sanity.
    
    CVS patchset: 3329
    CVS date: 1999/09/26 00:44:52

commit 861a7532cdc06f841d0a93e45e5b962033d35397
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 26 00:43:12 1999 +0000

    fix: rpm-2.5.1 had file list w/o leading / fix.
    
    CVS patchset: 3328
    CVS date: 1999/09/26 00:43:12

commit c63192d864acc8481c2afc2012d5c98efdb8abad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 23:36:52 1999 +0000

    Release candidate.
    
    CVS patchset: 3327
    CVS date: 1999/09/24 23:36:52

commit c5890f94566506396bd2d041db7d8e4c5930eb29
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 21:58:35 1999 +0000

    Sanity.
    
    CVS patchset: 3326
    CVS date: 1999/09/24 21:58:35

commit 896f0898dcadc03f9442e80734769551cd56a55f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 18:03:20 1999 +0000

    Remove unnecssary malloc.
    
    CVS patchset: 3325
    CVS date: 1999/09/24 18:03:20

commit 098c2a19dfa65bc9a97a0e11f4c80a56eb97eabd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 16:02:14 1999 +0000

    Improved warning message on legacy epoch-less compare.
    
    CVS patchset: 3324
    CVS date: 1999/09/24 16:02:14

commit aa3a086ba2e1a4ecc2deaba687ed8d71426df217
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 14:54:23 1999 +0000

    fix: version compares compatible with epoch-less requires/conflicts.
    
    CVS patchset: 3323
    CVS date: 1999/09/24 14:54:23

commit cdaf55aa9c8ba8c4f31b0e8974cc0617f4cf04ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 24 01:50:04 1999 +0000

    Test for non-existence of provides/obsoletes tags (without versioning).
    
    CVS patchset: 3322
    CVS date: 1999/09/24 01:50:04

commit dcb48a58ffc57c35e3356f1cf3809113ed7f8167
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 23 22:30:45 1999 +0000

    Make sure that %lang(it) matches LANG=it.
    
    CVS patchset: 3321
    CVS date: 1999/09/23 22:30:45

commit 25132a985ab9518148b4010991a3d50e773df6d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 23 21:46:48 1999 +0000

    Add rpminject.
    
    CVS patchset: 3320
    CVS date: 1999/09/23 21:46:48

commit 388163596677a563fc7febcf5aa52638fdc86420
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 22 18:17:41 1999 +0000

    lclint annotations.
    
    CVS patchset: 3319
    CVS date: 1999/09/22 18:17:41

commit ac5b027ef0710c5a5ee4ab22c68c4bd06843afcb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 22 18:04:16 1999 +0000

    Sanity.
    
    CVS patchset: 3318
    CVS date: 1999/09/22 18:04:16

commit df6acadcf7830eba3e585a2fa23bab29f3ac6c02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 22 18:03:19 1999 +0000

    Add --redhatprovides and --redhatrequires to rpmpopt.
    
    CVS patchset: 3317
    CVS date: 1999/09/22 18:03:19

commit 444952d085ab84f3960fc6ed3f402499dd69527c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 22 16:34:08 1999 +0000

    Orphan.
    
    CVS patchset: 3316
    CVS date: 1999/09/22 16:34:08

commit 868920d4a76844d8cbef8589e7247f4c9ff1a104
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 22 13:43:45 1999 +0000

    Update from specspo.
    
    CVS patchset: 3315
    CVS date: 1999/09/22 13:43:45

commit 391f138fc1e13f7197460ada9b42e9decc5a5e75
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 21 22:42:10 1999 +0000

    Bump release.
    
    CVS patchset: 3314
    CVS date: 1999/09/21 22:42:10

commit 9fea0d1addb5a14d493e44934ab5c82403787639
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 21 22:41:37 1999 +0000

    Apply sanity check to database permissions.
    
    CVS patchset: 3313
    CVS date: 1999/09/21 22:41:37

commit e6318cc57f9581393d6cb534e3dece38b87aa3cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 21 17:21:57 1999 +0000

    fix: removed files fingerprint memory leak.
    fix: resurrect allfiles flag from rpm-2.5.x.
    
    CVS patchset: 3312
    CVS date: 1999/09/21 17:21:57

commit 20d78e939aa218e85ef19013769494851d863f13
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 21 03:22:53 1999 +0000

    fix: command line install had header memory leak.
    check for NULL on all memory allocations.
    free rpmrc mallocs on exit.
    permit run time leak detection.
    
    CVS patchset: 3311
    CVS date: 1999/09/21 03:22:53

commit 78ce864c5eee9b2d4fc3a3a4a201818f4e500d50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 20 15:35:08 1999 +0000

    Add err.[ch] to portability checks (as yet unused).
    get latest error.[ch] from glibc.
    
    CVS patchset: 3310
    CVS date: 1999/09/20 15:35:08

commit 6bdf51d7f3a40988812f3d5ea829ae2395e8e05a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 20 13:34:47 1999 +0000

    Start experimental support for bzip2 payloads.
    
    CVS patchset: 3309
    CVS date: 1999/09/20 13:34:47

commit aa8b92fedffeed174157fee39090dcb78611ac5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 20 13:23:46 1999 +0000

    Skip provides along for the ride.
    
    CVS patchset: 3308
    CVS date: 1999/09/20 13:23:46

commit 86aa4396e54fd9b56590fb1af56079154f54b7ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 20 13:04:44 1999 +0000

    Don't segfault on unversioned provides.
    
    CVS patchset: 3307
    CVS date: 1999/09/20 13:04:44

commit 2fe0890ca552e4fd829d181030569b1b3542e466
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 19 19:41:00 1999 +0000

    Sanity.
    
    CVS patchset: 3306
    CVS date: 1999/09/19 19:41:00

commit e0e0a755b917d358d38003a3da2f46d83fb70265
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 19 15:27:37 1999 +0000

    When comparing EVR with missing epoch, package with epoch is considered newer.
    Free providesEVR from added package index.
    python: shared module linked correctly.
    
    CVS patchset: 3305
    CVS date: 1999/09/19 15:27:37

commit 29c1a3598ac127c4b2b0b936a2edd6c76ce82325
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 19 00:29:44 1999 +0000

    do versioned provides/conflicts resolution correctly.
    rpmpopt: display versioned provides/obsoletes.
    revert to shared libbz2.so now that bzip2 is in base install.
    
    CVS patchset: 3304
    CVS date: 1999/09/19 00:29:44

commit b0f03239bbd48ef228e0f390e0f6afd94b27c316
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 23:18:24 1999 +0000

    Typo.
    
    CVS patchset: 3303
    CVS date: 1999/09/17 23:18:24

commit 0148d1e87dc4dc6d31bf2b01e5a21a99ed46239c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:59:31 1999 +0000

    python: shared module needs -lrpm -lbz2.
    
    CVS patchset: 3302
    CVS date: 1999/09/17 22:59:31

commit 7cf4b2e1aa3c238aa2e972efda67e63e7207877c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:23:33 1999 +0000

    lclint annotations.
    
    CVS patchset: 3301
    CVS date: 1999/09/17 22:23:33

commit 0a816b4cb5dc06db41a096c7455bcc4f8c815910
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:10:39 1999 +0000

    add perms to openDatabase() call.
    
    CVS patchset: 3300
    CVS date: 1999/09/17 22:10:39

commit d0d0eefa53d0baab83ca7588582c75cc251556e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:06:32 1999 +0000

    Turn off noise for now.
    
    CVS patchset: 3299
    CVS date: 1999/09/17 22:06:32

commit 8258a9497eb12c8a55b7ad16e467977c066db9ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:02:44 1999 +0000

    lclint annotations.
    
    CVS patchset: 3298
    CVS date: 1999/09/17 22:02:44

commit 8464ba8e6c86367812164541cb5ad084c69b63f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 22:01:34 1999 +0000

    rewrite installArchive() with common exit point.
    lclint annotations.
    
    CVS patchset: 3297
    CVS date: 1999/09/17 22:01:34

commit ca578f4da5537564d942294fb21ef2b7bc12959e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:51:23 1999 +0000

    lclint annotations.
    
    CVS patchset: 3296
    CVS date: 1999/09/17 21:51:23

commit 57313de553626f1f414292d171f4204500d531f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:50:10 1999 +0000

    simplyify prefix prepending.
    lclint annotations.
    
    CVS patchset: 3295
    CVS date: 1999/09/17 21:50:10

commit d567366f46a7ec05eeab6985f11797c445c205a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:44:39 1999 +0000

    lclint annotations.
    
    CVS patchset: 3294
    CVS date: 1999/09/17 21:44:39

commit aea37e90473a6c82913e5f9968f64194bc3b60d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:31:38 1999 +0000

    lclint annotations.
    
    CVS patchset: 3293
    CVS date: 1999/09/17 21:31:38

commit 4cf669a6f5d80adf97e1d5cf8507d3af2a4c581f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:26:00 1999 +0000

    lclint annotations.
    
    CVS patchset: 3292
    CVS date: 1999/09/17 21:26:00

commit e5d3c31bb26bfcae20340f2902c43dba23e08da9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 21:08:32 1999 +0000

    lclint annotations.
    
    CVS patchset: 3291
    CVS date: 1999/09/17 21:08:32

commit 00dcfeff38c8af85dfb7a96834e9ca758dd273fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:52:46 1999 +0000

    lclint annotations.
    
    CVS patchset: 3290
    CVS date: 1999/09/17 20:52:46

commit a8e5caca589b5d87c6fa0b9664219a26405e1720
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:42:51 1999 +0000

    lclint annotations and consts.
    
    CVS patchset: 3289
    CVS date: 1999/09/17 20:42:51

commit b8d3c0d56a77ca1131a74560413a0e8a16704f4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:40:41 1999 +0000

    lclint annotations.
    
    CVS patchset: 3288
    CVS date: 1999/09/17 20:40:41

commit b226bc53d0074ed9eadc979abcda1adb75fd7ff3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:17:40 1999 +0000

    lclint annotations.
    
    CVS patchset: 3287
    CVS date: 1999/09/17 20:17:40

commit bdefece969c640b12069b40f74322c20d2663491
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:15:22 1999 +0000

    lclinit annotations.
    
    CVS patchset: 3286
    CVS date: 1999/09/17 20:15:22

commit 315eb02ffa5324d5ea71750b003738ff73c66a73
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 20:11:44 1999 +0000

    Update from anaconda.
    
    CVS patchset: 3285
    CVS date: 1999/09/17 20:11:44

commit 89a17f4cfab00c46170f07a2f68f91c3e8ca26df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 17 18:33:21 1999 +0000

    Link with librpm and libbz2.
    
    CVS patchset: 3284
    CVS date: 1999/09/17 18:33:21

commit 6bdc80981e13f49419a8eb3e9056cfb6ac3abd35
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 14 16:04:03 1999 +0000

    fix: with unspecified epochs, skip dependency epoch compare.
    
    CVS patchset: 3283
    CVS date: 1999/09/14 16:04:03

commit 5776936ece0bcb7f9c0f6f899dcb5d3a9c0a2352
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 14 05:41:13 1999 +0000

    fix: versioned provides devolved to existence test with conflicts.
    
    CVS patchset: 3282
    CVS date: 1999/09/14 05:41:13

commit f005d4c15c11eacc245d11e2f069881d2543e32c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 12 20:43:23 1999 +0000

    Fiddles to resurrect lclint.
    
    CVS patchset: 3281
    CVS date: 1999/09/12 20:43:23

commit fa165f14175844cbb582eea1617345da0bd779eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 12 00:47:09 1999 +0000

    Bump release.
    
    CVS patchset: 3280
    CVS date: 1999/09/12 00:47:09

commit 075fa0ef785c4f31e1fad8d7e71b4b11b8934533
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 12 00:41:51 1999 +0000

    glibc2: always enable dynamic mtrace if available.
    
    CVS patchset: 3279
    CVS date: 1999/09/12 00:41:51

commit 55c52041442a629962a4317a1a7cf9fce50da05b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 11 23:57:59 1999 +0000

    fix: avoid db problems with self-obsoleting packages on install.
    
    CVS patchset: 3278
    CVS date: 1999/09/11 23:57:59

commit ff2540dba8917e8adc9775f2ad33f671403eeeb5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 11 21:10:02 1999 +0000

    Common variable naming using EVR rather than Version.
    
    CVS patchset: 3277
    CVS date: 1999/09/11 21:10:02

commit 70a0eb1d9ba1e60e10a995604a3fa259945e06c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 10 23:48:56 1999 +0000

    pgp and pgp5 have compatible RSA signature (#4780).
    
    CVS patchset: 3276
    CVS date: 1999/09/10 23:48:56

commit f293b8e06f1d721587c9a7f1de3184f8fc8fddf7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 10 13:36:18 1999 +0000

    Display Mb or Kb.
    
    CVS patchset: 3275
    CVS date: 1999/09/10 13:36:18

commit 1cc9b7b5e8a1b19343b8b9add6a53dc5c97d49d3
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 10 00:50:25 1999 +0000

    version 1.4
    
    CVS patchset: 3274
    CVS date: 1999/09/10 00:50:25

commit a7a728a11e98db57b8f0888cd8076c9daf07d120
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 9 15:16:01 1999 +0000

    Limit header max size to < 32 Mb (~16 times largest currently known).
    
    CVS patchset: 3273
    CVS date: 1999/09/09 15:16:01

commit 424a891e92464d7d94991a092f656a4400e83c55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 9 15:09:30 1999 +0000

    Apply max 32 Mb sabity check to headers.
    
    CVS patchset: 3272
    CVS date: 1999/09/09 15:09:30

commit 6b66cf510cdedda4e89aaa5d63168b334ded07e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 8 22:50:30 1999 +0000

    Fix lchown detection.
    
    CVS patchset: 3271
    CVS date: 1999/09/08 22:50:30

commit 7c106b348feb608521d38951f39dd85b34d1f6a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 8 22:33:01 1999 +0000

    Fix lchown test.
    
    CVS patchset: 3270
    CVS date: 1999/09/08 22:33:01

commit 81355ca3677059062a7ac7b654de6863c31d1dde
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 23:04:24 1999 +0000

    Bump release.
    
    CVS patchset: 3269
    CVS date: 1999/09/07 23:04:24

commit 6281ee4de1edd2882452f3cc0ddff5e8ab94f222
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 22:49:45 1999 +0000

    Use sizeof("...")-1 throughout.
    
    CVS patchset: 3268
    CVS date: 1999/09/07 22:49:45

commit 834db501abf63981c5445edac45af8de278b0777
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 22:48:55 1999 +0000

    Update from anaconda.
    
    CVS patchset: 3267
    CVS date: 1999/09/07 22:48:55

commit 002c65379feb473d79a626b8abcf474c5cd72f2b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 22:46:19 1999 +0000

    Solaris: use getpassphrase rather than getpass if available.
    
    CVS patchset: 3266
    CVS date: 1999/09/07 22:46:19

commit 719984e0960264b3bc821b8aa99afbb8e525a638
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 19:53:10 1999 +0000

    Tru64: avoid find-requires variable size limit (Tim Mooney).
    
    CVS patchset: 3265
    CVS date: 1999/09/07 19:53:10

commit 582808bce3d636bfd8c2a71e0982af6fe91b2fef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 19:47:53 1999 +0000

    link libbz2.a statically to avoid rpm->bzip2 dependence for now.
    
    CVS patchset: 3264
    CVS date: 1999/09/07 19:47:53

commit f2cfa9e4944becc9f3bf885cffd663ce69d2695e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 16:24:20 1999 +0000

    suggested changes to docs from Ken Estes (#4451).
    
    CVS patchset: 3263
    CVS date: 1999/09/07 16:24:20

commit aed59a55a77acd2d6fa6cf2723d077f0bffd2315
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 15:46:53 1999 +0000

    suggested changes to docs from Ken Estes (#4451).
    
    CVS patchset: 3262
    CVS date: 1999/09/07 15:46:53

commit fabbb86306277887f45569898e1f6a6c60c0c618
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 14:50:32 1999 +0000

    add --freshen to usage message (#4823).
    
    CVS patchset: 3261
    CVS date: 1999/09/07 14:50:32

commit b4be0ac88bf159068e7b5e5a96de5603a05cae47
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 7 12:32:10 1999 +0000

    add sparcv9 architecture.
    
    CVS patchset: 3260
    CVS date: 1999/09/07 12:32:10

commit d753cdadf734488f5539a53e3898fd3ebc1a4508
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 6 20:59:39 1999 +0000

    fix: don't successfully match with strncasecmp("sparc", "sparc64", 5)
    
    CVS patchset: 3259
    CVS date: 1999/09/06 20:59:39

commit bc837d1e3f616a7dd2973f25b7ac1d18bfafcb16
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 5 16:56:44 1999 +0000

    added message to getFilesystem() -- this can hang up when we can't
    reach nfs servers, and it's nice for -vv to indicate what's wrong
    
    CVS patchset: 3258
    CVS date: 1999/09/05 16:56:44

commit 7685084b9e5c1c32aad5a849495e0beec1815cf5
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Sep 4 19:38:05 1999 +0000

    *** empty log message ***
    
    CVS patchset: 3257
    CVS date: 1999/09/04 19:38:05

commit dacd97b455d7351b5680f7259b6791b4f3942990
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Sep 4 19:37:00 1999 +0000

    null terminate parsed argument lists
    
    CVS patchset: 3256
    CVS date: 1999/09/04 19:37:00

commit aeeaed68f9714080bb3a6e60e3c6125e37b3b4bc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 25 20:00:26 1999 +0000

    get the right default if no --prefix is given.
    
    CVS patchset: 3255
    CVS date: 1999/08/25 20:00:26

commit 374924ae9607253e1615db2fe982591daa175ae9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 23:27:48 1999 +0000

    Fix duplicate dependency check.
    
    CVS patchset: 3254
    CVS date: 1999/08/24 23:27:48

commit 6c46bff3021b8ec6ece201a0dcab6a963a4b7184
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 22:26:55 1999 +0000

    add versions to prereq.
    add syntax sensitive implict prereq on rpm-3.0.3.
    
    CVS patchset: 3253
    CVS date: 1999/08/24 22:26:55

commit 881c8fbba23132bedfa6d6bdacbb8513347e5b1f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 22:08:52 1999 +0000

    Orphans.
    
    CVS patchset: 3252
    CVS date: 1999/08/24 22:08:52

commit 5b7d1f7876a40e6900331a9aa9a77263c3fe6a57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 21:10:30 1999 +0000

    update python bindings from anaconda.
    
    CVS patchset: 3251
    CVS date: 1999/08/24 21:10:30

commit 438d40966ef28e012b49ec2a61462d27c5e88b70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 15:18:43 1999 +0000

    add headerWrite return code and check for errors.
    
    CVS patchset: 3250
    CVS date: 1999/08/24 15:18:43

commit e04da2741558aad5db0c2e15724e1b68be79996a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 24 14:10:58 1999 +0000

    Remove legacy langNum interface.l
    
    CVS patchset: 3249
    CVS date: 1999/08/24 14:10:58

commit 5c4a3b51cea5d3de47221b760a7fc282160b0ed9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 23 23:51:34 1999 +0000

    Typo.
    
    CVS patchset: 3248
    CVS date: 1999/08/23 23:51:34

commit 3ae1ccb3aaff3a6e4b2d37d533bb07f34621e96f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 23 23:10:35 1999 +0000

    fix: segfault with "--sign" w/o supplying files (#4651).
    
    CVS patchset: 3247
    CVS date: 1999/08/23 23:10:35

commit 751c9f18c8c7ecb18e33edc8614c0f91d5b1e528
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 23 16:05:08 1999 +0000

    More environment fiddles.
    
    CVS patchset: 3246
    CVS date: 1999/08/23 16:05:08

commit 279e4cc33839f46209224742fb0ce4ada6f03ec6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 22 04:17:12 1999 +0000

    add %_install_langs to configure languages to be installed.
    
    CVS patchset: 3245
    CVS date: 1999/08/22 04:17:12

commit b2aff25f78baea9cfba2106702d8de63e4537e9c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 21 23:07:22 1999 +0000

    Check POSIX environment variables too.
    
    CVS patchset: 3244
    CVS date: 1999/08/21 23:07:22

commit d2094dc229f3efa82bde4c92d77d7314a370d4f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 20 21:05:18 1999 +0000

    add versions to obsoletes.
    
    CVS patchset: 3243
    CVS date: 1999/08/20 21:05:18

commit 75808ee2d4c1b34c70758d5c72a2b7a386b1124b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 20 19:11:37 1999 +0000

    Add script execution order.
    
    CVS patchset: 3242
    CVS date: 1999/08/20 19:11:37

commit e42968ff8b28a632917ec526bae27b10d8e5576f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 20 17:55:12 1999 +0000

    Break out locale match test.
    
    CVS patchset: 3241
    CVS date: 1999/08/20 17:55:12

commit 36771ae0adff7e595eb4f0e28d3293db18186431
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 19 21:09:38 1999 +0000

    Shared libraries in main package.
    
    CVS patchset: 3240
    CVS date: 1999/08/19 21:09:38

commit 8907c7e1a03b721ce696bce499b52ebc7ebb1cd7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 19 19:42:18 1999 +0000

    match "de" when locale is specified as "de_DE.ISO-8859-1@Munich".
    
    CVS patchset: 3239
    CVS date: 1999/08/19 19:42:18

commit 5eca02dc3469eb2a76412d50c4543d93e1517630
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 18 18:28:36 1999 +0000

    Documentation fiddles (#3638).
    
    CVS patchset: 3238
    CVS date: 1999/08/18 18:28:36

commit 5a8aceb05e843bfb523b91a904846ec23276350c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 18 17:04:54 1999 +0000

    fix: use pgp5 rather than pgp-2.6.3 if both are in %_pgpbin (#4564).
    
    CVS patchset: 3237
    CVS date: 1999/08/18 17:04:54

commit 13db81ac61d360b20ebe5934e3e11d37404b875d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 18 16:29:53 1999 +0000

    Typo.
    
    CVS patchset: 3236
    CVS date: 1999/08/18 16:29:53

commit 54218bb5e15f932c13afe64fdb3567ed9c2803dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 17 23:09:09 1999 +0000

    Bump release.
    
    CVS patchset: 3235
    CVS date: 1999/08/17 23:09:09

commit 210d76a5cd8dad3eb22fbf8f8b02ac2d00829924
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 17 23:05:24 1999 +0000

    fix: more precise handling was needed for multiple overlapped removed files.
    
    CVS patchset: 3234
    CVS date: 1999/08/17 23:05:24

commit 50b5b66546c3f520401d06304b92fbf1eb86546f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 16 22:11:25 1999 +0000

    Bump release.
    
    CVS patchset: 3233
    CVS date: 1999/08/16 22:11:25

commit 3cb1e6fe07d2035d5d9bd0d74f02d0db6f861acb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 16 22:10:27 1999 +0000

    fix: n>1 occurrences of %config(noreplace) should not FA_CREATE (#4355).
    
    CVS patchset: 3232
    CVS date: 1999/08/16 22:10:27

commit dde031db23b1d98350d7237c0f2ebb4b4f81ac88
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 16 20:14:34 1999 +0000

    tmacro was broke.
    
    CVS patchset: 3231
    CVS date: 1999/08/16 20:14:34

commit 06689265dded4ea12840ab808d799bb389b52dbb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 16 18:57:37 1999 +0000

    fix: last char in rpmrc w/o terminating newline lost (#4361).
    prepare for handling \r in macro exapnsions.
    
    CVS patchset: 3230
    CVS date: 1999/08/16 18:57:37

commit 96114b6bf298ca19e348a703e95eb4c34d72cc3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 16 16:18:25 1999 +0000

    fix: macro table cannot contain NULL pointers (#4263).
    
    CVS patchset: 3229
    CVS date: 1999/08/16 16:18:25

commit 1e4d3532ea18961649955eba075f82be5a71ece4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 15 19:11:40 1999 +0000

    resuscitate net shared paths (#4330).
    
    CVS patchset: 3228
    CVS date: 1999/08/15 19:11:40

commit 5a137dbb7161acad2983333a2af085a8f36e5a30
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 15 14:42:28 1999 +0000

    Bump release.
    
    CVS patchset: 3227
    CVS date: 1999/08/15 14:42:28

commit 721d10da7c494d56fc1e537993c459750edf0f18
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 15 13:41:06 1999 +0000

    Fix the erased files last fix.
    
    CVS patchset: 3226
    CVS date: 1999/08/15 13:41:06

commit f12ab9fac151d0dadcfb49fb16f5e495c00c5774
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 14 20:01:38 1999 +0000

    fix: don't remove file until last occurence in transaction (#4291).
    
    CVS patchset: 3225
    CVS date: 1999/08/14 20:01:38

commit e466edec37f656159c561c63d73226d70c3e64a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 14 15:33:19 1999 +0000

    Comments, consts and style.
    
    CVS patchset: 3224
    CVS date: 1999/08/14 15:33:19

commit de8d6b59e1f0f7b32bc12188c5e50d7fb592e7fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 13 20:05:57 1999 +0000

    Comments, consts, and simplifications.
    
    CVS patchset: 3223
    CVS date: 1999/08/13 20:05:57

commit 07f2fceeb43e1f39852b8cf68c2587964c0ed8a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 9 14:28:13 1999 +0000

    Prepare for per-package non-string macros like epoch.
    Collapse RPMFILE_STATE_NETSHARED onto RPMFILE_STATE_NOTINSTALLED.
    
    CVS patchset: 3222
    CVS date: 1999/08/09 14:28:13

commit f88a79c205c36a3e04454798ec7851908ed10e16
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 8 17:51:43 1999 +0000

    Typo.
    
    CVS patchset: 3221
    CVS date: 1999/08/08 17:51:43

commit ac542cea244cb33689051a3bc3f454a37b4445ce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 8 17:45:05 1999 +0000

    Typo.
    
    CVS patchset: 3220
    CVS date: 1999/08/08 17:45:05

commit 9c7952f3faf29c30517ab4d587e8203579b77366
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 8 17:43:28 1999 +0000

    Run ldconfig in %post.
    
    CVS patchset: 3219
    CVS date: 1999/08/08 17:43:28

commit d71e246e745774457083496159bd1c4533a39524
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 7 00:07:51 1999 +0000

    Comments and consts ...
    
    CVS patchset: 3218
    CVS date: 1999/08/07 00:07:51

commit e36fd7ef12192da3574af8fc36d08f492d3fb035
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 6 23:44:25 1999 +0000

    Comments and consts ...
    
    CVS patchset: 3217
    CVS date: 1999/08/06 23:44:25

commit 64c9a2d1cfa65f039eca023311d46a759556c63b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 6 22:52:49 1999 +0000

    Use headerNVR throughout.
    More const's.
    
    CVS patchset: 3216
    CVS date: 1999/08/06 22:52:49

commit 0343b15e5511e3b5b99cbc7e8e712aed9589b487
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 6 21:35:15 1999 +0000

    Get rid of trailing white space.
    
    CVS patchset: 3215
    CVS date: 1999/08/06 21:35:15

commit b5b29dd7a36f7b3f3d0884d0084a1b683d7f5a97
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 4 18:07:18 1999 +0000

    Clarify licensing: "GNU General Public License" not s/General //.
    
    CVS patchset: 3214
    CVS date: 1999/08/04 18:07:18

commit 1daea4ec399ddbb0b81a1251ab67cd355c1d29ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Aug 4 14:46:07 1999 +0000

    Re-add bzip2 build requirement.
    
    CVS patchset: 3213
    CVS date: 1999/08/04 14:46:07

commit 795a39fe3f276c5821e68169898a43f9ddba5512
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 21:06:33 1999 +0000

    More informative message for "free list corrupt".
    
    CVS patchset: 3212
    CVS date: 1999/08/02 21:06:33

commit f692823a2d44734554b94ea900327616602d350d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 19:24:36 1999 +0000

    Not quite ready for build requires bzip2.
    
    CVS patchset: 3211
    CVS date: 1999/08/02 19:24:36

commit 13bc36591663bc6c9f08511e4edbded7bda5ba56
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 2 19:10:09 1999 +0000

    Sanity.
    
    CVS patchset: 3210
    CVS date: 1999/08/02 19:10:09

commit f9ed8f7bdc2467873142260705782a2910280137
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 29 12:36:03 1999 +0000

    macro fixes (Benedict Lofstedt, #4220):
      expand %# just like %{#} (and with same value as shell analogues).
      macro defaults for *, 0, and # if no args specified.
      getopt on non-linux requires optind to be saved/restored.
    
    CVS patchset: 3209
    CVS date: 1999/07/29 12:36:03

commit 587dab926c4314c71390bd6f6c5844751b8dfd1c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 29 11:20:20 1999 +0000

    fix: getopt on non-linux requires optind to be saved/restored
    rather than just set to 0 (Benedict Lofstedt, #4220).
    
    CVS patchset: 3208
    CVS date: 1999/07/29 11:20:20

commit c789b859108907d135a37c3acc030755678ba76b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 28 00:56:34 1999 +0000

    Finally fixed it up for the new version of perl.
    
    CVS patchset: 3207
    CVS date: 1999/07/28 00:56:34

commit 3952d8e797bae56a0122ef96b2361686305c4852
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 27 22:05:43 1999 +0000

    popt: heavy dose of const.
    
    CVS patchset: 3206
    CVS date: 1999/07/27 22:05:43

commit 12dacc46fba0fb50e984e11f6d391c9b69f5cf8b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 26 23:39:34 1999 +0000

    Hacks
    
    CVS patchset: 3205
    CVS date: 1999/07/26 23:39:34

commit b22ee45ae2937612fdab3b8639432a6e30d1d6e7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 26 21:52:44 1999 +0000

    Bump release.
    
    CVS patchset: 3204
    CVS date: 1999/07/26 21:52:44

commit cdd837431a4606ab692d3a53c40b61013307cf76
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 26 21:51:03 1999 +0000

    fix: segfault on --rebuild (#4185).
    
    CVS patchset: 3203
    CVS date: 1999/07/26 21:51:03

commit 5ddfcc2f6ab43ca5bbaf4cfce2aeeef5c316616c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 23 19:19:15 1999 +0000

    add post install configurable dependency checking.
    
    CVS patchset: 3202
    CVS date: 1999/07/23 19:19:15

commit 22dad3f4ce2a1571a1a109f817568dc322d6354b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 23:05:43 1999 +0000

    add _mandir/_infodir macro expansions to docdirs (Tomasz Kloczko).
    
    CVS patchset: 3201
    CVS date: 1999/07/22 23:05:43

commit b27a7971eb4f2c83fcebac447916e396dcbcc5be
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 23:01:31 1999 +0000

    the death of RPMSENSE_SERIAL, use [epoch:]version[-release] instead.
    
    CVS patchset: 3200
    CVS date: 1999/07/22 23:01:31

commit 775e0bc797aef06b577bf36d6deca6da606ffc24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 22:38:44 1999 +0000

    print all dependencies for each package at end of build.
    
    CVS patchset: 3199
    CVS date: 1999/07/22 22:38:44

commit e5a77f761f660a8a07235d84b4df2970f6e89b1d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 19:38:25 1999 +0000

    fix: sanity test on specfile fails when encountering i18n chars.
    
    CVS patchset: 3198
    CVS date: 1999/07/22 19:38:25

commit f4cb9f792a3d5845fd22c91912511f04bb23ef7d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 17:51:59 1999 +0000

    Bump release.
    
    CVS patchset: 3197
    CVS date: 1999/07/22 17:51:59

commit 0f7a33ebf8ea7128f5504e93e77f8aeaa43ab119
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 22 17:48:31 1999 +0000

    add versions to provides.
    
    CVS patchset: 3196
    CVS date: 1999/07/22 17:48:31

commit 1cbea413b4e90fe517fbb18f925fea9a13cc0c31
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 21 16:17:42 1999 +0000

    Bump release.
    
    CVS patchset: 3195
    CVS date: 1999/07/21 16:17:42

commit 114c7f8f69cdb31e7e8a9bde989133bc0d6889b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 21 16:17:12 1999 +0000

    Match any epoch if package has epoch and dependency doesn't specify.
    
    CVS patchset: 3194
    CVS date: 1999/07/21 16:17:12

commit c9cd11a3259022f2040ae497b8199a332665ee74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 20:49:39 1999 +0000

    Sanity.
    
    CVS patchset: 3193
    CVS date: 1999/07/20 20:49:39

commit 2da2ce8b10a8960a793b2ba28156b6b738558f19
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 20:48:49 1999 +0000

    Bump release.
    
    CVS patchset: 3192
    CVS date: 1999/07/20 20:48:49

commit 1132ce76b9ae341bd356c7ba9d811638bcd2a97a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 20:48:29 1999 +0000

    Save and restore 1st char of next line in multiline expansion correctly.
    
    CVS patchset: 3191
    CVS date: 1999/07/20 20:48:29

commit c50704544bf39d077f73f33aea423db911308b8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 18:51:57 1999 +0000

    fix: incomplete cleanup if --rebuilddb fails (#4115).
    
    CVS patchset: 3190
    CVS date: 1999/07/20 18:51:57

commit 16b83080f748d6b409b7cf07eb1aa61a97d892d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 18:50:33 1999 +0000

    Orphan.
    
    CVS patchset: 3189
    CVS date: 1999/07/20 18:50:33

commit dbe7cc83782fe4851276e9b83e58527960e4cfb9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 20 11:56:22 1999 +0000

    Credit the PLD team.
    
    CVS patchset: 3188
    CVS date: 1999/07/20 11:56:22

commit adb4f581473e441123d9c1bee9f2b3e23ca82312
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 22:28:41 1999 +0000

    Orphans.
    
    CVS patchset: 3187
    CVS date: 1999/07/19 22:28:41

commit 42487584200e0f47d8a8665468d9022496986e11
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 22:20:57 1999 +0000

    Man pages have moved.
    
    CVS patchset: 3186
    CVS date: 1999/07/19 22:20:57

commit ac305baca71f512e09656c98378cc0587ebbb6c2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 22:20:01 1999 +0000

    Orphans.
    
    CVS patchset: 3185
    CVS date: 1999/07/19 22:20:01

commit 7fb78a663d30c83a0df3cf3bac45c12f85b19aff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 22:15:08 1999 +0000

    Bump release.
    
    CVS patchset: 3184
    CVS date: 1999/07/19 22:15:08

commit 46572592b4f958444c854bb9ee0cc6e7d8cd1d86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 22:13:12 1999 +0000

    add pl translation and man pages (Tomasz K?oczko et al).
    
    CVS patchset: 3183
    CVS date: 1999/07/19 22:13:12

commit 816ca6b54c3a4e5776bc091bfe3e754f77704231
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 21:25:53 1999 +0000

    debug multiline macro expansion.
    
    CVS patchset: 3182
    CVS date: 1999/07/19 21:25:53

commit b499fad53862605683cda2a897ba953406e178e3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 19 20:17:59 1999 +0000

    Updated
    
    CVS patchset: 3181
    CVS date: 1999/07/19 20:17:59

commit c4e615007f983bb065f86a58b15ba792eeba51d3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 18:39:48 1999 +0000

    permit multiline macro expansions.
    
    CVS patchset: 3180
    CVS date: 1999/07/19 18:39:48

commit 673bd51d8bd8e3d2f24bdb4906af37975a8628a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 16:20:02 1999 +0000

    Another dead strtok.
    
    CVS patchset: 3179
    CVS date: 1999/07/19 16:20:02

commit 07a1b9a39fe390001df01eba15d9faec0682261d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 13:23:00 1999 +0000

    Bump release.
    
    CVS patchset: 3178
    CVS date: 1999/07/19 13:23:00

commit 902cdf4c1b2715f5b19007dbcfabf5579cc42f8d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 19 13:22:21 1999 +0000

    fix: %if parsing skipped 3 chars too many.
    
    CVS patchset: 3177
    CVS date: 1999/07/19 13:22:21

commit 78808908b4bbf3086cb0ab0688dd20b51b29f5db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 17 19:00:45 1999 +0000

    make query (rpm -qvl) behave like (POSIX?) ls for older files (#4050).
    
    CVS patchset: 3176
    CVS date: 1999/07/17 19:00:45

commit 149db88d72ba9b4114abe1c53ebc9768e5578ef7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 16 08:46:16 1999 +0000

    ignore perl
    
    CVS patchset: 3175
    CVS date: 1999/07/16 08:46:16

commit 8e4d1531d6e10bbe405d7f80b4f1ae940ec5cf88
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 16 08:45:24 1999 +0000

    New file
    
    CVS patchset: 3174
    CVS date: 1999/07/16 08:45:24

commit 1d18d03f9d3632cea29e45db952a22a601f09fbe
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 16 08:44:54 1999 +0000

    Added rpmdb traversal
    
    CVS patchset: 3173
    CVS date: 1999/07/16 08:44:54

commit dfb29dcf5b7d676ca572bdb324612df4e83c480c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 23:08:18 1999 +0000

    Force static library linkage.
    
    CVS patchset: 3172
    CVS date: 1999/07/15 23:08:18

commit 5ad244b9d1fc1c7110eebe6c2b104afa7514ecd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 22:26:15 1999 +0000

    Change shared lib defaults.
    
    CVS patchset: 3171
    CVS date: 1999/07/15 22:26:15

commit 40354061750dac15bc0cf036626a5e5220a271c7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 22:01:29 1999 +0000

    Typo.
    
    CVS patchset: 3170
    CVS date: 1999/07/15 22:01:29

commit d9f36428bc78fafc8b658bb0f10358040952186b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 21:48:28 1999 +0000

    Typo.
    
    CVS patchset: 3169
    CVS date: 1999/07/15 21:48:28

commit 48114d505c8789c6b409a6fb28ddf2c05f5e223a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 21:47:49 1999 +0000

    Build shared libs too.
    
    CVS patchset: 3168
    CVS date: 1999/07/15 21:47:49

commit 3655254b008133be1172cceb53b5b4a89fc78afc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 21:18:39 1999 +0000

    Popuilate.
    
    CVS patchset: 3167
    CVS date: 1999/07/15 21:18:39

commit d73d7c130cc6dde7eb651c149b97233b994df3af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 21:09:52 1999 +0000

    Carry Makefile.in for now.
    
    CVS patchset: 3166
    CVS date: 1999/07/15 21:09:52

commit 35f09998f87dca3101b5989db4ff8c4df9fbac02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 21:02:54 1999 +0000

    add python bindings to rpm-devel (linux only).
    
    CVS patchset: 3165
    CVS date: 1999/07/15 21:02:54

commit c3f62fe632456a58e60107f972692a9f5afe9f00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 15 20:15:23 1999 +0000

    Automake to create python bindings.
    
    CVS patchset: 3164
    CVS date: 1999/07/15 20:15:23

commit aa85d25a0e5e3b146f8f65c582c652d62109869c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 14 22:06:21 1999 +0000

    Added transactions skeleton
    
    CVS patchset: 3163
    CVS date: 1999/07/14 22:06:21

commit ed0b4f5fc1511f69f8e179edefd4688b00b82b39
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 14 18:23:16 1999 +0000

    added comment
    
    CVS patchset: 3162
    CVS date: 1999/07/14 18:23:16

commit 99c487c9eff00d3b8b3d5bec1d51aa6084976d65
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 18:15:09 1999 +0000

    Copy from anaconda/rpmmodules.
    
    CVS patchset: 3161
    CVS date: 1999/07/14 18:15:09

commit 4352ef4a987e56b69f91be767427fae1593eb310
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 14 17:23:30 1999 +0000

    Updated
    
    CVS patchset: 3160
    CVS date: 1999/07/14 17:23:30

commit 4adbd80d74a551019494c49d64cf33d2a36b4ffe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 16:53:57 1999 +0000

    Orphans.
    
    CVS patchset: 3159
    CVS date: 1999/07/14 16:53:57

commit a10abcc2bf24b060a15701e5fd6311275e3715fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 16:52:52 1999 +0000

    Merge Christian's preliminary perl bindings.
    
    CVS patchset: 3158
    CVS date: 1999/07/14 16:52:52

commit 40d76f715b4a71e2c69d185e83177b1c2cef9750
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 16:47:30 1999 +0000

    move checksig/resign major modes into rpmlib.
    
    CVS patchset: 3157
    CVS date: 1999/07/14 16:47:30

commit 4a0755d14fad844a3953b5abaa95bf255d80f0ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 16:09:41 1999 +0000

    Create from top level checksig.c.
    
    CVS patchset: 3156
    CVS date: 1999/07/14 16:09:41

commit d795e1e296bc300ee6ae51f9b7037e6b9de82500
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 15:43:30 1999 +0000

    move install/erase major modes into rpmlib.
    
    CVS patchset: 3155
    CVS date: 1999/07/14 15:43:30

commit 6fef7c55e95b1d7481132b23da3435958e66ed3a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 15:28:03 1999 +0000

    Create from top level install.c.
    
    CVS patchset: 3154
    CVS date: 1999/07/14 15:28:03

commit 3165d323386c48a2d7e644dae155620d9479c750
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 14 14:36:10 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3153
    CVS date: 1999/07/14 14:36:10

commit 4bd2f3531a51fd99adb4e3e7007a3ffee1b178ef
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 23:33:02 1999 +0000

    File internals rearranged to taste.
    
    CVS patchset: 3152
    CVS date: 1999/07/13 23:33:02

commit fca8845a9a45f9d2d8940f145b311ef79d51c1ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 23:19:08 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3151
    CVS date: 1999/07/13 23:19:08

commit 348fcc286d45687fc7d00312a13c1f9f20bcd661
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:53:46 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3150
    CVS date: 1999/07/13 22:53:46

commit 05dc5eaccf810133472f31223784419321490bb3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:45:06 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3149
    CVS date: 1999/07/13 22:45:06

commit fe8d812f821f66ea70419382bba04abdc8bc9e17
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:21:25 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3148
    CVS date: 1999/07/13 22:21:25

commit 9bcf57372b268034b6ef6c3f24e0a12cf5ff63ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:17:16 1999 +0000

    Eliminate const warning.
    
    CVS patchset: 3147
    CVS date: 1999/07/13 22:17:16

commit 0ea6b769d96189da1cda0ae462d7eb306e78d00e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:08:55 1999 +0000

    Remove static prototypes.
    
    CVS patchset: 3146
    CVS date: 1999/07/13 22:08:55

commit 71b7c18f72a0beff8348f8ba65f5bc70f4d5726f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:05:28 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3145
    CVS date: 1999/07/13 22:05:28

commit 42892b018d529a5fa244b40a6a356b2135545d9d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 22:00:05 1999 +0000

    Eliminate static prototypes.
    
    CVS patchset: 3144
    CVS date: 1999/07/13 22:00:05

commit 8bd997f2e0d977ddde56ea4debad83197355a2c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 13 21:37:57 1999 +0000

    Perl bindings need
            #include <foo.h>
    not
            #include "foo.h"
    
    CVS patchset: 3143
    CVS date: 1999/07/13 21:37:57

commit 2f400a54b2194cc1caee95cb0a3da74f4bce1735
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jul 11 18:02:31 1999 +0000

    Use size of target not claimed size of soruce in memcpy.
    
    CVS patchset: 3142
    CVS date: 1999/07/11 18:02:31

commit 5992f0fe0329285149d07945d2450da8a72ac981
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 10 20:51:35 1999 +0000

    add epoch (as [0-9]*:version-release) to install dependency parse.
    
    CVS patchset: 3141
    CVS date: 1999/07/10 20:51:35

commit 050075d98e184dbf768bd8df20fe7bd2135b8bea
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 10 17:21:36 1999 +0000

    Bump release.
    
    CVS patchset: 3140
    CVS date: 1999/07/10 17:21:36

commit 3138e99fd496abc3db828e7f3cadfa5e442b102b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 10 17:21:10 1999 +0000

    include shared libs in rpm-devel (no versioning yet).
    
    CVS patchset: 3139
    CVS date: 1999/07/10 17:21:10

commit 8938ee3a9d1b7478cdfa022785b734355cae31c6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 10 16:23:30 1999 +0000

    Eliminate unnecessary extern.
    
    CVS patchset: 3138
    CVS date: 1999/07/10 16:23:30

commit ab69afb6e3b8382362f598a09ade77b5dcc133eb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 8 22:37:05 1999 +0000

    Typos.
    
    CVS patchset: 3137
    CVS date: 1999/07/08 22:37:05

commit 25e6b06959c7f0ee81654059e7770c60d70d9ba3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 8 22:10:33 1999 +0000

    add configure scaffolding to support rpm-4.0 packages.
    
    CVS patchset: 3136
    CVS date: 1999/07/08 22:10:33

commit 7f9aeb867a19b3d6262c065054d7b1b6bb0844f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 8 19:59:55 1999 +0000

    add --eval to find result of macro expansion.
    
    CVS patchset: 3135
    CVS date: 1999/07/08 19:59:55

commit 9c1719e45f3ab1547d83e74099fd953942cad26d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 7 19:26:02 1999 +0000

    Ignore .libs.
    
    CVS patchset: 3134
    CVS date: 1999/07/07 19:26:02

commit d70b2a549638b0549b9e2073fce5d586f58c30a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 7 19:25:34 1999 +0000

    Begin rpm-3.0.3.
    
    CVS patchset: 3133
    CVS date: 1999/07/07 19:25:34

commit f8ea714939333dbd77d37ccfcb2e8cd2b1a00b02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 7 14:30:35 1999 +0000

    Release rpm-3.0.2.
    
    CVS patchset: 3132
    CVS date: 1999/07/07 14:30:35

commit 110e5ef1b0fae309fd965f33e1449e4083a2c52d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 7 14:29:25 1999 +0000

    tru64: use /bin/sh not /usr/bin/ksh in find-requires.
    
    CVS patchset: 3131
    CVS date: 1999/07/07 14:29:25

commit 419325db063cb976c1806d37a7adebbd18ba0bcf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 7 14:28:07 1999 +0000

    *** empty log message ***
    
    CVS patchset: 3130
    CVS date: 1999/07/07 14:28:07

commit 9ed3f8f6fd74b8684d5ae86adb89e0102def5434
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 6 17:32:49 1999 +0000

    changelog stamp broken w/ big endian 64 bit time_t (Stephane Erania).
    
    CVS patchset: 3129
    CVS date: 1999/07/06 17:32:49

commit e49a44937bc9510e08e0673c4d09eb853186a63d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 6 12:51:16 1999 +0000

    Bump release.
    
    CVS patchset: 3128
    CVS date: 1999/07/06 12:51:16

commit 6782ac4fa4e03a835cbc56217c44a49501826397
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jul 6 12:50:45 1999 +0000

    Check that url contained service field.
    Return strerror if ftpStrerror is not enough.
    
    CVS patchset: 3127
    CVS date: 1999/07/06 12:50:45

commit 8e1bdb7ebd20ab61953270b6f5ba78f48fe0d21d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 3 23:36:35 1999 +0000

    Add newborns.
    
    CVS patchset: 3126
    CVS date: 1999/07/03 23:36:35

commit d64cb1c78cd91fdde3bc1be2b588f7c9890e5c77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 3 23:21:36 1999 +0000

    Reorder. Ignore javadeps.
    
    CVS patchset: 3125
    CVS date: 1999/07/03 23:21:36

commit 400ffe008c8baa82e7b6e56fdaa5cfd7c61fd2f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 3 22:58:08 1999 +0000

    12 more dead strtoks.
    
    CVS patchset: 3124
    CVS date: 1999/07/03 22:58:08

commit ebdafb810ec772a905f03fc5ee923b5841807af7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 3 17:59:28 1999 +0000

    Redundant line.
    
    CVS patchset: 3123
    CVS date: 1999/07/03 17:59:28

commit 45637b94c1e6929b3e478ec9a1ae490a624467de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 3 14:52:06 1999 +0000

    Add arch/os for IBM Big Iron.
    
    CVS patchset: 3122
    CVS date: 1999/07/03 14:52:06

commit 25643f9764eedaff0769483112bd8b31b17b6ead
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 2 21:15:25 1999 +0000

    Add includes for more robust standalone behavior.
    
    CVS patchset: 3121
    CVS date: 1999/07/02 21:15:25

commit 56496ce0886ebf4ca168387f4fa149b3fd52a6d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 2 20:56:04 1999 +0000

    Quick 'n dirty macro evaluation.
    
    CVS patchset: 3120
    CVS date: 1999/07/02 20:56:04

commit 5fc70a54d73a54638812ba224cddbf84b5b5e1bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 21:24:06 1999 +0000

    More ugliness.
    
    CVS patchset: 3119
    CVS date: 1999/06/30 21:24:06

commit 2cc65c7fb730acc5459a41ba45119950c9dd7e4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 21:18:43 1999 +0000

    Ugly hack to get query dependencies right.
    
    CVS patchset: 3118
    CVS date: 1999/06/30 21:18:43

commit 082ee36e0a65e817dd44936cfa89e50fcefcd5af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 20:09:31 1999 +0000

    move url.c and ftp.c to rpmlib right next to query.
    
    CVS patchset: 3117
    CVS date: 1999/06/30 20:09:31

commit 10b1febba767d88cb43983b9e44cbb1d345f7544
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 19:03:17 1999 +0000

    Bump release.
    
    CVS patchset: 3116
    CVS date: 1999/06/30 19:03:17

commit ae5b56fa00804e3391aba88038ee16798b486c90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 19:02:46 1999 +0000

    move url.c and ftp.c to rpmlib right next to query.
    
    CVS patchset: 3115
    CVS date: 1999/06/30 19:02:46

commit c0d41067da0219fdf0d2fccd8628f5d336554229
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 19:02:06 1999 +0000

    Dead.
    
    CVS patchset: 3114
    CVS date: 1999/06/30 19:02:06

commit e77fec4b16d30f5ecacd033314f3e092e90ba050
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 19:01:47 1999 +0000

    Use rpmurl.h not separate url.h ftp.h.
    
    CVS patchset: 3113
    CVS date: 1999/06/30 19:01:47

commit c9ba6cba9c3ed612d7bdb3978da1577dc314d76e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 30 14:18:05 1999 +0000

    avoid numeric overflow in version comparison (Thayne Harbaugh<tharbaug@liberate.com>).
    
    CVS patchset: 3112
    CVS date: 1999/06/30 14:18:05

commit 79ba901dfee62d4ef037b312974c12cfaa08858f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jun 28 21:26:57 1999 +0000

    Better error message on ftp open failures.
    
    CVS patchset: 3111
    CVS date: 1999/06/28 21:26:57

commit de9f04066425bceb29d6ac5592fcd001c8d0f8e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 25 10:14:13 1999 +0000

    fix: --checksig segfault with odd pgp output (e.g. w/o ~/.pgp) (#3720)
    
    CVS patchset: 3110
    CVS date: 1999/06/25 10:14:13

commit 7f5a4a4aed21b30717605d6e1d7829661476af81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 24 22:23:46 1999 +0000

    fix: bsearch needs macro table sorted after undefine.
    
    CVS patchset: 3109
    CVS date: 1999/06/24 22:23:46

commit 8bc8f024e61fc218fe8285e33e645a2bb8df7ed6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 23 21:01:38 1999 +0000

    Finesse tagName dependency loop.
    
    CVS patchset: 3108
    CVS date: 1999/06/23 21:01:38

commit 963f0117f943daaab57110a5438e17da42878c01
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 22 23:02:15 1999 +0000

    Bump release.
    
    CVS patchset: 3107
    CVS date: 1999/06/22 23:02:15

commit 3e6bf30555ba476c016475ef96485bccb99007d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 22 23:00:26 1999 +0000

    fix: false fingerprint stat cache hit -- "the tetex problem".
    
    CVS patchset: 3106
    CVS date: 1999/06/22 23:00:26

commit 190bef3fe67bdfcb0ca6cede598ba660cfca1f08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 19 18:09:49 1999 +0000

    Re-initialize dependency flags for each token.
    
    CVS patchset: 3105
    CVS date: 1999/06/19 18:09:49

commit 9da0429a4e7801ce68d068ef4faa483a2535c76c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 19 17:43:53 1999 +0000

    Bump release.
    
    CVS patchset: 3104
    CVS date: 1999/06/19 17:43:53

commit 2d040b54c41bbce6187f0574dbb297a9d71379f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 18 17:47:59 1999 +0000

    Don't let executables depend on libNoVersion.so
    
    CVS patchset: 3103
    CVS date: 1999/06/18 17:47:59

commit a7052073c667e579e578612ad380bc87ce8fc01a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 18 14:37:11 1999 +0000

    Sanity.
    
    CVS patchset: 3102
    CVS date: 1999/06/18 14:37:11

commit 35f20f2eceeaf27b44d8d5639e2a95277a4dc792
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 18 14:33:16 1999 +0000

    Incorrect sense matched.
    
    CVS patchset: 3101
    CVS date: 1999/06/18 14:33:16

commit c2cef6642004897e415dc203eeae436d65cf87fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 23:28:54 1999 +0000

    Typo.
    
    CVS patchset: 3100
    CVS date: 1999/06/17 23:28:54

commit d13637e024732c50a55f027b54d58a2359725153
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 23:22:01 1999 +0000

    Typo.
    
    CVS patchset: 3099
    CVS date: 1999/06/17 23:22:01

commit e98e5cc4bcc3b3066e4a2f83d63ceb78e6c3363c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 22:37:40 1999 +0000

    Bump release.
    
    CVS patchset: 3098
    CVS date: 1999/06/17 22:37:40

commit 51487c42f533a75eccc10767324e3a1cc9e48ab2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 22:29:22 1999 +0000

    fix: --rebuilddb with --root dinna remove directory (Michael Andres).
    
    CVS patchset: 3097
    CVS date: 1999/06/17 22:29:22

commit bafb62fbb0e8d912fe372f776be9280df76e6679
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 21:35:34 1999 +0000

    MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>).
    
    CVS patchset: 3096
    CVS date: 1999/06/17 21:35:34

commit 8fa7181fa3b0db8e282c03e8df251cb32518bfa3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 20:18:08 1999 +0000

    eliminate find-requirements on libNoVersion (Red Hat linux only).
    add new-fangled requires on "libc.so.6(GLIBC_2.1)" (sparc-linux only).
    
    CVS patchset: 3095
    CVS date: 1999/06/17 20:18:08

commit a5697afafd9f5c8e480c0f6052cf4885ce8af811
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 17 15:44:47 1999 +0000

    don't spin while waiting for delayed requires/provides input (#3289).
    common parse for all dependency token syntax.
    
    CVS patchset: 3094
    CVS date: 1999/06/17 15:44:47

commit 567a4e033ec21ad30baf4e379ffbab30503795df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 16 21:45:11 1999 +0000

    rpm-devel should require popt (#3125).
    
    CVS patchset: 3093
    CVS date: 1999/06/16 21:45:11

commit 9a01054a201bcb624434632bdefdec94b881d16f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 16 21:39:57 1999 +0000

    resurrect "rpm -Va --nofiles" (i.e. dependencies only) (#3111)
    
    CVS patchset: 3092
    CVS date: 1999/06/16 21:39:57

commit 984a6ad296e5643a638bbca6509b7ed55cbc1146
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 16 20:02:17 1999 +0000

    Propagate CONFIG_SITE to popt (#3212).
    
    CVS patchset: 3091
    CVS date: 1999/06/16 20:02:17

commit b63a3e97dfc8414fcfde9d127cac24d7a1be64e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 14:46:31 1999 +0000

    build root from cmd line did not set macro %buildroot.
    
    CVS patchset: 3090
    CVS date: 1999/06/15 14:46:31

commit cef1847364f17c4bc752488c200bf4237207bf62
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 14:35:17 1999 +0000

    Plug memory leak.
    
    CVS patchset: 3089
    CVS date: 1999/06/15 14:35:17

commit 18d8dfc0c99ffd304b5eb0fabc23b8b37615cab2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jun 15 12:38:30 1999 +0000

    Update to libtool-1.3.2.
    
    CVS patchset: 3088
    CVS date: 1999/06/15 12:38:30

commit 02d0ab97b631254e37b1e4e5026cc477b72c08ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 9 19:06:48 1999 +0000

    wrong: "arch_compat: sun4u: sparc"
    
    CVS patchset: 3087
    CVS date: 1999/06/09 19:06:48

commit 00425624b6a6af73226a5cea5e7547f29fb84490
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 9 14:13:31 1999 +0000

    don't clobber LDFLAGS in top-level Makefile (Tim Mooney).
    move libtool version forward.
    
    CVS patchset: 3086
    CVS date: 1999/06/09 14:13:31

commit 07a258e32922b9d49b967a053246e3e2046e1887
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 5 21:00:53 1999 +0000

    Remove compiler warnings.
    
    CVS patchset: 3085
    CVS date: 1999/06/05 21:00:53

commit b7a61f5b889f9c3b1cbd628847dd8ac47c243bd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jun 5 20:52:30 1999 +0000

    Add javadeps and perl provides/requires scripts (Ken Estes).
    
    CVS patchset: 3084
    CVS date: 1999/06/05 20:52:30

commit f3a29caf8fabf6f6280a976c41c8d3bba7d7e13a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jun 4 19:05:22 1999 +0000

    add vpkg-provides.sh (Tim Mooney).
    
    CVS patchset: 3083
    CVS date: 1999/06/04 19:05:22

commit f2ad04e0634ff28fded04e277a3816d804ff152d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 2 20:32:49 1999 +0000

    updated ru translation (Sergey Kubushin).
    
    CVS patchset: 3082
    CVS date: 1999/06/02 20:32:49

commit b846572401c3087398a59cfb7877c4ae67b8d84d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 2 18:08:50 1999 +0000

    move printDep* routines into rpmlib for gnorpm et al.
    
    CVS patchset: 3081
    CVS date: 1999/06/02 18:08:50

commit cde2b85a9d8dd04897b8e73aa456bd0c33fad93e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jun 2 14:45:46 1999 +0000

    fix: bigendian's with longlong file sizes (e.g. IRIX) dinna work.
    
    CVS patchset: 3080
    CVS date: 1999/06/02 14:45:46

commit 3e2edc54224f6d36e3127816b53fd641785337a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 26 04:05:33 1999 +0000

    add BuildConflicts: and BuildRequires: in spec file and src rpm.
    
    CVS patchset: 3079
    CVS date: 1999/05/26 04:05:33

commit b6b3485847db4317122e3d42db7a16d55c590222
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 26 00:09:42 1999 +0000

    Typo.
    
    CVS patchset: 3078
    CVS date: 1999/05/26 00:09:42

commit a162f5ddbd8aed0a8cbae61bc4b408152c010b6a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 25 20:24:46 1999 +0000

    permit multiple "Provides: " lines in rpmrc (#2999).
    
    CVS patchset: 3077
    CVS date: 1999/05/25 20:24:46

commit de4a177dca6835246eb9d6ecd5d52559e52da2ff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 24 21:32:03 1999 +0000

    eliminate armv4 entries from rpmrc (Andrew E. Mileski).
    
    CVS patchset: 3076
    CVS date: 1999/05/24 21:32:03

commit 2ed98fa0744f713bb1ca4d13b66197c070fdb603
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 24 20:37:52 1999 +0000

    Begin 3.0.2.
    
    CVS patchset: 3075
    CVS date: 1999/05/24 20:37:52

commit f3fe795e955d4b524cfde881730879533367bdfa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 24 15:36:39 1999 +0000

    add librpmbuild.a to the file list.
    
    CVS patchset: 3074
    CVS date: 1999/05/24 15:36:39

commit f85d25c0b07b3df0ef1ecb346f59f2b1e56b2c96
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 23 18:34:30 1999 +0000

    1) got --prefix working (again)
    2) rpmtransAddPackage() makes a copy of the relocation list
    
    CVS patchset: 3073
    CVS date: 1999/05/23 18:34:30

commit 1c79e3fe742b6f956227bf4bfe94de6202f706d7
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 23 18:34:06 1999 +0000

    added lib-rpmrc
    
    CVS patchset: 3072
    CVS date: 1999/05/23 18:34:06

commit 15d28f59f6d474334dee41dd9f627167c2898b60
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 23 18:33:00 1999 +0000

    added ia64 arch number
    
    CVS patchset: 3071
    CVS date: 1999/05/23 18:33:00

commit ce8c2d53efb93bc37fc0d13f9ae72e4691e5f64d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 18 14:11:01 1999 +0000

    On HP-UX, FILENAME_MAX is only 14 -- use 4096 instead.
    
    CVS patchset: 3070
    CVS date: 1999/05/18 14:11:01

commit f11e91ff1d0f91fe73b1bcadb092cb9582f15b77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 17 19:32:15 1999 +0000

    Debug multiple %langs's per item.
    
    CVS patchset: 3069
    CVS date: 1999/05/17 19:32:15

commit 036cdfdc69bcfeb99ae91709c0b80dce746f6525
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 17 18:44:14 1999 +0000

    permit %lang(xx,yy,zz) constructs --  2 more dead strtoks.
    
    CVS patchset: 3068
    CVS date: 1999/05/17 18:44:14

commit 0c2d03c5b62ee36fc3cb76d5cd3b056e0c83ae15
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 17 16:40:11 1999 +0000

    Force FILELANGS tag even if not specified.
    
    CVS patchset: 3067
    CVS date: 1999/05/17 16:40:11

commit c0b62c5773bf9ed8fdd563b9127c68ca032e3987
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 17 16:34:58 1999 +0000

    Bump rlease.
    
    CVS patchset: 3066
    CVS date: 1999/05/17 16:34:58

commit 58a7953f0c816ca813ea092901cab515a93c8879
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 17 16:27:38 1999 +0000

    permit multiple %lang(xx) markers on elements in %files.
    
    CVS patchset: 3065
    CVS date: 1999/05/17 16:27:38

commit 8d0c528b5942347c852ef733b1ef3a0df57aecb1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat May 15 14:46:29 1999 +0000

    fix: prevent return code wrap during packagage checking/resigning.
    
    CVS patchset: 3063
    CVS date: 1999/05/15 14:46:29

commit f3abab07b4e3b073c60bb7421aab551d32dc69d9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 14 18:59:43 1999 +0000

    Add nil macro.
    
    CVS patchset: 3062
    CVS date: 1999/05/14 18:59:43

commit 3dc8ed83ab4d4d409c88dbfc29b0d3264016b1a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 14 18:48:12 1999 +0000

    another strtok bites the dust.
    
    CVS patchset: 3061
    CVS date: 1999/05/14 18:48:12

commit 6e5c77a7beaa8a65294a9c6c992e70e288fff89c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 13 14:26:58 1999 +0000

    fix: conversion script left off leading underscores.
    
    CVS patchset: 3060
    CVS date: 1999/05/13 14:26:58

commit 73fb1d72355a5defacb8bd388afd5c13245b38f8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 12 20:24:00 1999 +0000

    fix: shared file not skipped when removed.
    
    CVS patchset: 3059
    CVS date: 1999/05/12 20:24:00

commit ac640010ef52ece0f125d2bded78ff91f1a5ef7e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 11 20:05:43 1999 +0000

    better cpio error message if package contains missing hard links.
    
    CVS patchset: 3058
    CVS date: 1999/05/11 20:05:43

commit c276bd3827ce05f8fa95eca93a9afc835b2c3428
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 11 16:21:06 1999 +0000

    Update-po.
    
    CVS patchset: 3057
    CVS date: 1999/05/11 16:21:06

commit 2b81e0423d9b2aaab6a00897235324f64781be52
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 11 16:13:28 1999 +0000

    Remove verify.c
    
    CVS patchset: 3056
    CVS date: 1999/05/11 16:13:28

commit b638d1ef0e33d2de1d44199dc63345db36969fd5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 10 23:41:04 1999 +0000

    colesce query and verify modes.
    
    CVS patchset: 3055
    CVS date: 1999/05/10 23:41:04

commit 6e2d075970bfe25af4d7a1607cfd7472d60ae780
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 10 22:58:35 1999 +0000

    Fix requires_eq macro.
    
    CVS patchset: 3054
    CVS date: 1999/05/10 22:58:35

commit 081ebcd142c3213ce7337ea60a47083a66640e1e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 7 19:40:51 1999 +0000

    Typo.
    
    CVS patchset: 3053
    CVS date: 1999/05/07 19:40:51

commit 92dc15f7ffe5400e2beae7c099d1c9e99678b557
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri May 7 18:33:35 1999 +0000

    fix: resurrect -Vp, -Vf and -Vg functionality.
    
    CVS patchset: 3052
    CVS date: 1999/05/07 18:33:35

commit 331076d9a13f4625650fbde1f517b8320ab5a432
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu May 6 23:21:08 1999 +0000

    Add argument to specedit to choose between specs and powertools packages.
    
    CVS patchset: 3051
    CVS date: 1999/05/06 23:21:08

commit 5df8ebee630e9cbc6dfaea72925a7be596bd44f3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 5 19:01:01 1999 +0000

    Add perl macros (from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>)
    
    CVS patchset: 3050
    CVS date: 1999/05/05 19:01:01

commit 8b7923f6bc11107d441a8edb6a08c81ab66c3cd6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed May 5 13:25:25 1999 +0000

    add rpm prefix to MD5 routines to avoid name conflict on solaris.
    
    CVS patchset: 3049
    CVS date: 1999/05/05 13:25:25

commit 05d3980fa413c89babe2a59221bd81804b6e6834
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 4 19:15:05 1999 +0000

    Typo.
    
    CVS patchset: 3048
    CVS date: 1999/05/04 19:15:05

commit b3998debd6efff4729436ae299ec40ffd6c1f49a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 4 15:11:23 1999 +0000

    Another typo.
    
    CVS patchset: 3047
    CVS date: 1999/05/04 15:11:23

commit fe3cab9b89662c710fcbab43977ce1376fcd1d9a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue May 4 14:26:56 1999 +0000

    Typo.
    
    CVS patchset: 3046
    CVS date: 1999/05/04 14:26:56

commit 26c219a0d0efc67aa3b9945638e3dbbd3b997dcd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 3 23:20:42 1999 +0000

    Bump release.
    
    CVS patchset: 3045
    CVS date: 1999/05/03 23:20:42

commit a918f8f9c00f220215902eccedbfbc2e1cb21fee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon May 3 23:20:08 1999 +0000

    New flags to integrate rpmputtext with build system.
    
    CVS patchset: 3044
    CVS date: 1999/05/03 23:20:08

commit 07d8488056ca8cdc02c7239d5fd7d1217515d676
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 30 16:11:07 1999 +0000

    Sanity.
    
    CVS patchset: 3043
    CVS date: 1999/04/30 16:11:07

commit ab46aedd86f681a46670e00383e529136c7eabbf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 30 15:55:45 1999 +0000

    resurrect toplevel tar target.
    spec file removal separate from source removal (Shing-Gene Yung).
    
    CVS patchset: 3042
    CVS date: 1999/04/30 15:55:45

commit d28afe6e1e4652c9e55af2f67b088517b9677f66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 30 14:59:47 1999 +0000

    fix: %doc wrongly inherits lang from last entry in %files.
    
    CVS patchset: 3041
    CVS date: 1999/04/30 14:59:47

commit 77317dc8f66b0f3b57f9998e61a71df872f36e90
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 30 14:56:32 1999 +0000

    fix: non-apache servers need "GET ... HTTP/1.0" by the book.
    
    CVS patchset: 3040
    CVS date: 1999/04/30 14:56:32

commit ee185b8ef38bad9ac3d5ad42697e817572bcd7f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 29 21:48:24 1999 +0000

    Strip rpmgettext/rpmputtext.
    
    CVS patchset: 3039
    CVS date: 1999/04/29 21:48:24

commit 11327c6c7e2061b625c276e1a6fb4a2ba1c49270
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 29 21:07:52 1999 +0000

    Bump release.
    
    CVS patchset: 3038
    CVS date: 1999/04/29 21:07:52

commit d26418617c697b3118a4cc0c9eb94ea72b1e01d1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 29 19:18:22 1999 +0000

    fix: prefer pgp2.6.3 over pgp5 if both are installed.
    
    CVS patchset: 3037
    CVS date: 1999/04/29 19:18:22

commit 73996a7806f9cd20c43af217523a5eba043cf097
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 28 14:20:31 1999 +0000

    Update RU translation.
    
    CVS patchset: 3036
    CVS date: 1999/04/28 14:20:31

commit b72b138ea595c95697a5bb4e01dd504c41cd8248
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 28 14:12:55 1999 +0000

    Update-po before new RU files.
    
    CVS patchset: 3035
    CVS date: 1999/04/28 14:12:55

commit e305220516334651a46fdced9ce508c31add929b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 28 13:49:37 1999 +0000

    Sanity.
    
    CVS patchset: 3034
    CVS date: 1999/04/28 13:49:37

commit 9bb2e8ddc1145c9607a6b334f56066b4500b03b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 27 19:46:45 1999 +0000

    Typo.
    
    CVS patchset: 3033
    CVS date: 1999/04/27 19:46:45

commit 7d84d9a070ee4d5026230c435fb0bf72142d5e64
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 26 17:54:28 1999 +0000

    fix: optflags not implicitly set to canonical arch value.
    
    CVS patchset: 3032
    CVS date: 1999/04/26 17:54:28

commit 5e43be57bd1ed50d0e4b2e3a7cc8276f39266e05
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 26 17:38:44 1999 +0000

    s/querybypkg/filesbypkg/g
    
    CVS patchset: 3031
    CVS date: 1999/04/26 17:38:44

commit 4ea813b28b89cb42c37605b58d18cb0eb7fa8e88
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 26 15:01:40 1999 +0000

    Shell bulletproofing.
    
    CVS patchset: 3030
    CVS date: 1999/04/26 15:01:40

commit b8a99b4444fca7452a9f1f367c24699ef16d1d11
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 22 16:01:02 1999 +0000

    *** empty log message ***
    
    CVS patchset: 3029
    CVS date: 1999/04/22 16:01:02

commit c276ec532c2331fa16cc9e3ca295342a086379c2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 22 16:00:43 1999 +0000

    $2 passed to %triggerpostun was wong
    
    CVS patchset: 3028
    CVS date: 1999/04/22 16:00:43

commit 97843056606d8c2c33c9a24d1f5c17b6dacbbcfc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 21 16:20:20 1999 +0000

    Typo.
    
    CVS patchset: 3027
    CVS date: 1999/04/21 16:20:20

commit 4c10d8f2325f6a658c3ae78d74b267990b9fe510
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 21 15:35:06 1999 +0000

    Bump version/release.
    
    CVS patchset: 3026
    CVS date: 1999/04/21 15:35:06

commit 65cc651fc4d85a5c4ebc0469f0757d7f083db3cc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 21 15:32:23 1999 +0000

    fix: noarch header gets initialized differently.
    
    CVS patchset: 3025
    CVS date: 1999/04/21 15:32:23

commit a0d3acc8a3e386940e153dcd7ddf1b110820dd96
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 20 22:45:52 1999 +0000

    Add -C dir and -M options to %GNUconfigure.
    
    CVS patchset: 3024
    CVS date: 1999/04/20 22:45:52

commit 0cf9b0bdfed25fd22c80b32219b33edd61ed05dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 20 19:17:23 1999 +0000

    fix: % before non-alphabetic non-macro special now passed unscathed.
    
    CVS patchset: 3023
    CVS date: 1999/04/20 19:17:23

commit 10b88439eb63852e8a0d5cb1a32724529ee49c61
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 20 18:21:08 1999 +0000

    Add core set of autoconf/automake variables.
    
    CVS patchset: 3022
    CVS date: 1999/04/20 18:21:08

commit 4542ab23b2b386499366dfd555657c5bddb5e779
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 19 08:41:30 1999 +0000

    Make 3.0 release same as Red Hat version.
    
    CVS patchset: 3017
    CVS date: 1999/04/19 08:41:30

commit 8d7018d847f1da914b6e0d59378d07ab63cb70bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 19 08:28:20 1999 +0000

    Release rpm 3.0.
    
    CVS patchset: 3016
    CVS date: 1999/04/19 08:28:20

commit 56b31cf8324974da891d028eec4a92072a5a5271
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 18 20:56:19 1999 +0000

    Root reserved fs blocks adjustment should be 1.05 (not 1/0.95).
    
    CVS patchset: 3015
    CVS date: 1999/04/18 20:56:19

commit 553cc8be098f827627cae1ebeb2b206b054e601d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 18 20:18:48 1999 +0000

    Prereq gawk, not awk.
    
    CVS patchset: 3014
    CVS date: 1999/04/18 20:18:48

commit 54b2127faa044f5729f74a5ce60e0543d2133add
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 18 19:36:46 1999 +0000

    Bump release.
    
    CVS patchset: 3013
    CVS date: 1999/04/18 19:36:46

commit c67e60d5e793ef2ba0f3327aa13e7cf693196d6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 18 19:01:46 1999 +0000

    convert per-system configuration in /etc/rpmrc to macros.
    
    CVS patchset: 3012
    CVS date: 1999/04/18 19:01:46

commit 3b9ca6b62e66d2e92160e0aa7ecf415fe499d575
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 18 17:08:49 1999 +0000

    Fix disk space estimate.
    
    CVS patchset: 3011
    CVS date: 1999/04/18 17:08:49

commit ba617e479df389ae2faf9866e92e365756ab2b6d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 17 14:23:42 1999 +0000

    check build prerequisites before building from specfile.
    
    CVS patchset: 3010
    CVS date: 1999/04/17 14:23:42

commit 68b321a44fb9b043909747cccec51c53613dd347
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 17 09:07:20 1999 +0000

    Bump release.
    
    CVS patchset: 3009
    CVS date: 1999/04/17 09:07:20

commit b35e80b7b8d5c8d7d208721bffb2087b29c3819c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 17 08:38:18 1999 +0000

    Update.
    
    CVS patchset: 3008
    CVS date: 1999/04/17 08:38:18

commit f3a36fd9c9cde77207c2301aa91d263468e43bae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 17 05:06:58 1999 +0000

    Typo.
    
    CVS patchset: 3007
    CVS date: 1999/04/17 05:06:58

commit a36d27ad3a9e2bd8244b76eec15cb39d46a9e4ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 16 23:06:17 1999 +0000

    Add conversion script (johnsonm@rdhat.com).
    
    CVS patchset: 3006
    CVS date: 1999/04/16 23:06:17

commit 2320364c7762b11225be7a9511065ae207095a9f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 16 23:05:00 1999 +0000

    Use statvfs on solaris2.6+ (Eddie Bugg <ralp@terra.abcbs.com>)
    
    CVS patchset: 3005
    CVS date: 1999/04/16 23:05:00

commit f13de7df8d75a321b08408a95292d51a40dc6c07
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 16 22:26:17 1999 +0000

    Make sparc4[cdmu] compatible with noarch.
    
    CVS patchset: 3004
    CVS date: 1999/04/16 22:26:17

commit 220e344c339a61c3000196da3c5566a8c141bd43
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 16 06:15:27 1999 +0000

    Bump release.
    
    CVS patchset: 3003
    CVS date: 1999/04/16 06:15:27

commit 59e22c8102383c060757a661b268567c7697ed3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 16 05:44:36 1999 +0000

    Add -f to combat new POSIX behavior chown/chgrp on dangling symlinks.
    Hard configure absolute paths (rather than using which).
    
    CVS patchset: 3002
    CVS date: 1999/04/16 05:44:36

commit 5d946bae6109a9cdaeb25d81df83564ddeeac9b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 15 06:18:48 1999 +0000

    Bump release.
    
    CVS patchset: 3001
    CVS date: 1999/04/15 06:18:48

commit 3c532167278b3f9b83dce9d97a45b5d1c3f5277a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 15 06:16:04 1999 +0000

    typo.
    
    CVS patchset: 3000
    CVS date: 1999/04/15 06:16:04

commit bcdfc22cf73cdbcd968c96184c2b24b25d8b6807
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 15 06:14:34 1999 +0000

    Fix: handle %config(noreplace) correctly for linuxconf.
    
    CVS patchset: 2999
    CVS date: 1999/04/15 06:14:34

commit 0530ddd0bbdefae60cc5a2035e7f49a6114010b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 15 05:38:43 1999 +0000

    Make sure parens match.
    
    CVS patchset: 2998
    CVS date: 1999/04/15 05:38:43

commit aa2536a3dba3ac34a5d2d380276d88aa7c609758
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 14 19:49:17 1999 +0000

    2.95-4
    
    CVS patchset: 2997
    CVS date: 1999/04/14 19:49:17

commit 0c1e1a7f4726608f9853a29dea239eaf836b3b95
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 14 19:48:25 1999 +0000

    we need to remember about shared files long enough to handle config files
    properly
    
    CVS patchset: 2996
    CVS date: 1999/04/14 19:48:25

commit 89e28f78e89e3f07cc4bbc61f5bf0d5d5ee1ad5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 14 12:35:08 1999 +0000

    Make silly headerGetEntry consistent throughout.
    
    CVS patchset: 2995
    CVS date: 1999/04/14 12:35:08

commit 9c6e100351d70b9d3724be36858baf72d6e23b72
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 14 11:42:35 1999 +0000

    basename prototype.
    
    CVS patchset: 2994
    CVS date: 1999/04/14 11:42:35

commit 527e1bc4e0430a08f5a897ecee4feecdd57a6875
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 14 11:28:31 1999 +0000

    fix: last update transaction set segfault bug in installer.
    improved checks for statfs (Tim Mooney).
    remove inconsistent use of __P((...)) throughout.
    non-static inline functions caused IRIX cc pain.
    CPIOERR_CHECK_ERRNO masking caused AIX cc warnings.
    
    CVS patchset: 2993
    CVS date: 1999/04/14 11:28:31

commit f5cf7b223f88c4cc975f4778010909209435fdae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 13 22:58:08 1999 +0000

    Bump release.
    
    CVS patchset: 2992
    CVS date: 1999/04/13 22:58:08

commit e1fd3b3f250feeafe2bdf0bf740aa1c665ce7907
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 13 22:47:44 1999 +0000

    don't start mucking with filelists for packages which have already been removed!
    
    CVS patchset: 2991
    CVS date: 1999/04/13 22:47:44

commit f5f4de42eca22ea8004becd62d35791c4f3171e2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 13 17:26:43 1999 +0000

    added some assertions
    
    CVS patchset: 2990
    CVS date: 1999/04/13 17:26:43

commit 6ca17d58f45fc8815e88bdd75d376910b8687b4b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 13 17:12:09 1999 +0000

    fixed minor memory leak
    
    CVS patchset: 2989
    CVS date: 1999/04/13 17:12:09

commit 720cfa506df565d8ebf43184fea418393345bc48
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 13 17:11:54 1999 +0000

    minor cleanups
    
    CVS patchset: 2988
    CVS date: 1999/04/13 17:11:54

commit 13c006cb583250ab4b0d0a4eae621c8a8219c46a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 12 21:19:44 1999 +0000

    2.95-2
    
    CVS patchset: 2987
    CVS date: 1999/04/12 21:19:44

commit c69903d87152ecf926afb09839671acec532fc71
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Apr 12 21:03:50 1999 +0000

    don't report disk space problems for packages w/ no files
    
    CVS patchset: 2986
    CVS date: 1999/04/12 21:03:50

commit f5028ecd3689d781b4a0e71b2ce300997233876e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Apr 12 20:33:50 1999 +0000

    duh -- don't free alloca() buffers
    
    CVS patchset: 2985
    CVS date: 1999/04/12 20:33:50

commit d590fe33e17cf9c908e15e84c29f5a064b8aa006
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 12 16:11:24 1999 +0000

    version 2.95
    
    CVS patchset: 2984
    CVS date: 1999/04/12 16:11:24

commit 26ee995123a365eaa16b828ac744c5b06adbd5d2
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 12 16:09:19 1999 +0000

    replaced distribution line in --info with relocations info
    
    CVS patchset: 2983
    CVS date: 1999/04/12 16:09:19

commit ad9224dbbf684748e45cde69823d128a4ed1facd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 12 16:08:11 1999 +0000

    we were saving a little too much memory
    
    CVS patchset: 2982
    CVS date: 1999/04/12 16:08:11

commit 7bfe9f85d7199460fe923de4bff9d38a44a73ec9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 11 22:18:10 1999 +0000

    Bump release.
    
    CVS patchset: 2981
    CVS date: 1999/04/11 22:18:10

commit c5f831ad7e86abcf5e67f41a99b12362d165a354
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 11 22:15:26 1999 +0000

    Default to not build shared libraries.
    
    CVS patchset: 2980
    CVS date: 1999/04/11 22:15:26

commit ba7f3e41e0713b6173e0970054b4fa13040d9b22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 9 22:41:34 1999 +0000

    Include all po files.
    
    CVS patchset: 2979
    CVS date: 1999/04/09 22:41:34

commit a1e91c99857bc08da18b7de3bc5ab2a8b40fa7de
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Apr 9 21:59:14 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2978
    CVS date: 1999/04/09 21:59:14

commit f6d65265ed14cab319adb210da3a293616cc17fa
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Apr 9 21:58:07 1999 +0000

    removed extra headerFree() :-(
    
    CVS patchset: 2977
    CVS date: 1999/04/09 21:58:07

commit f9bb9355cc4bf7f7ea554b44270647501935b718
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 9 15:18:16 1999 +0000

    Don't mark empty strings as translatable.
    
    CVS patchset: 2976
    CVS date: 1999/04/09 15:18:16

commit e9e7a32d24618f203f07940a0cb921867bffbb77
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Apr 9 14:15:28 1999 +0000

    Add popt to include path.
    
    CVS patchset: 2975
    CVS date: 1999/04/09 14:15:28

commit 39ce07cc160cf79d966033b3365fdfda140d5feb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 21:27:57 1999 +0000

    Update Slovak translations.
    Update-po.
    
    CVS patchset: 2974
    CVS date: 1999/04/08 21:27:57

commit 8dfb93f84f7862cb820b89718c8b2dcc3bba4fe2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 20:53:45 1999 +0000

    non-linux, non-gcc portability fixes (Tim Mooney).
    
    CVS patchset: 2973
    CVS date: 1999/04/08 20:53:45

commit 200d5128061648a19dac9c0784d95be15cad7803
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 20:09:48 1999 +0000

    From Tim Mooney:
    Make the statfs stuff work more reliably.  Switch from using AC_EGREP_HEADER
    to AC_TRY_COMPILE, which should be much more reliable.
    Change all places where a previous patch I had sent in said "convertdb"
    when it should have said "rpmconvert".
    Change the LDFLAGS_STATIC for HP-UX so that static linking isn't done on
    HP-UX with libtool.  Everything could be linked statically *except* the shl_*
    routines, which are in `libdld.1', but libtool doesn't know how to do
    a "--prefer-static" type link, so we have to just avoid trying the static
    link at all.
    Fix a warning that happens over and over as `header.h' is included
    on Digital Unix systems.  Digital Unix defines `__alpha', not `__alpha__',
    so I just added the additional check for __alpha.
    Fix a number of places in the code where there is a spurious/extra
    semi-colon.  This gets rid of quite a few warnings.
    
    CVS patchset: 2972
    CVS date: 1999/04/08 20:09:48

commit 90ac221132dbb8f410a7ecaf08497edb6809e9c1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 8 19:24:56 1999 +0000

    Better diagnostic message for unparseable macro error.
    
    CVS patchset: 2971
    CVS date: 1999/04/08 19:24:56

commit 929049a21042e9fb8f0486ea5af098e9edc57ffa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Apr 7 21:10:05 1999 +0000

    Use fdRead, not read typo.
    
    CVS patchset: 2970
    CVS date: 1999/04/07 21:10:05

commit 5f61eccb06e0c0526aaf82e2d591158463733fa6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Apr 7 18:57:23 1999 +0000

    Merge (most) changes from the GNOME version of popt. The remaining changes
    are GNOME-specific.
    
    CVS patchset: 2969
    CVS date: 1999/04/07 18:57:23

commit 46d50aea919979a05e15c91c4c3fc7799820f5b6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:29:53 1999 +0000

    release 4
    
    CVS patchset: 2968
    CVS date: 1999/04/07 06:29:53

commit 281503a7f9ef7e3f757012fd68b8cf1c3b0cf745
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:25:08 1999 +0000

    version 1.3
    
    CVS patchset: 2967
    CVS date: 1999/04/07 06:25:08

commit 4c23cb8b6fe44143a96d8b205e41306066fd2f5c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:23:07 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2966
    CVS date: 1999/04/07 06:23:07

commit ffa1389df4627db2815b835b2f4391ea4850c407
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:22:30 1999 +0000

    added tests for single - argument
    
    CVS patchset: 2965
    CVS date: 1999/04/07 06:22:30

commit 362c4cc03213c78e959a3af6cfabef6695e6a723
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:20:13 1999 +0000

    we weren't quite careful enough about testing for a single -
    
    CVS patchset: 2964
    CVS date: 1999/04/07 06:20:13

commit 34cf387ac294d9c832854c2dcec5d8ff8ee3cc87
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:11:01 1999 +0000

    deal with errors properly
    
    CVS patchset: 2963
    CVS date: 1999/04/07 06:11:01

commit 9a3add1327ae2f4050d33606a78b883a3730dace
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 06:04:42 1999 +0000

    install callbacks didn't return proper total size for source packages
    
    CVS patchset: 2962
    CVS date: 1999/04/07 06:04:42

commit edf3ad468fbb2f5940f62e0155b4c5f80f0e43cb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 05:54:45 1999 +0000

    fix size estimates for source packages
    
    CVS patchset: 2961
    CVS date: 1999/04/07 05:54:45

commit 1e9035b3b9ae3701fa56ceeb7a3a2a5fab88800e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 05:31:28 1999 +0000

    when we're upgrading from one version to the same version, don't regard
    that as a true upgrade -- the old package should be left out of the
    remove list
    
    CVS patchset: 2960
    CVS date: 1999/04/07 05:31:28

commit 4606c3415399da816dea7f2567d88bfb22b87644
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 00:06:56 1999 +0000

    give an error w/ we find packages with bad capabilities
    
    CVS patchset: 2959
    CVS date: 1999/04/07 00:06:56

commit 1d353c4ac41bb65f53bd8b50e0180d0121af7dcb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 00:06:00 1999 +0000

    added comments
    
    CVS patchset: 2958
    CVS date: 1999/04/07 00:06:00

commit 65c0322d804d990251b0a0877c9cf8eee7f4dedb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 00:05:08 1999 +0000

    check capabilities flag
    
    CVS patchset: 2957
    CVS date: 1999/04/07 00:05:08

commit f5346e0e71da4996ffa18d7918b53a20b379c4f1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 7 00:04:32 1999 +0000

    removed some fixme's which don't need fixing
    
    CVS patchset: 2956
    CVS date: 1999/04/07 00:04:32

commit 37f75f8ad8c5c775d61fc2f78e4bcc2bb1928360
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 6 21:41:47 1999 +0000

    Include "popt.h" from rpmlib.h so that struct poptOption is defined.
    
    CVS patchset: 2955
    CVS date: 1999/04/06 21:41:47

commit 5ff51b4f8629661c695b52fd74e66282bbc72ffc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 6 19:51:23 1999 +0000

    fix: --prefix resurrected.
    
    CVS patchset: 2954
    CVS date: 1999/04/06 19:51:23

commit 7184a3a632349b6c5171347e2203f4d9912c1037
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 6 19:08:27 1999 +0000

    1) fixed --prefix
    2) got RPM_INSTALL_PREFIX env variables set properly
    
    CVS patchset: 2953
    CVS date: 1999/04/06 19:08:27

commit c06d64a88cf2b921854607d465493887bcf8f0fb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Apr 6 16:54:55 1999 +0000

    fix: os was not initialized with "--target i586".
    
    CVS patchset: 2952
    CVS date: 1999/04/06 16:54:55

commit e1cef20ad03bc04997953e498cea77b957aea4f9
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 5 20:30:21 1999 +0000

    added disk space fudge factor
    
    CVS patchset: 2951
    CVS date: 1999/04/05 20:30:21

commit 0f9aa84de9708cb17c96312e4c6f2b608dd5a0e0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 19:25:07 1999 +0000

    Reset release.
    
    CVS patchset: 2950
    CVS date: 1999/04/05 19:25:07

commit 7fb97e9a9a81977f57a33b727cddac09f38fe653
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 19:21:20 1999 +0000

    fix: segfault while parsing target string.
    
    CVS patchset: 2949
    CVS date: 1999/04/05 19:21:20

commit 0beb0f799d72bc4f775769ce79a593018b558369
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 19:01:33 1999 +0000

    Bump version.
    
    CVS patchset: 2948
    CVS date: 1999/04/05 19:01:33

commit c56d566b179f212f3e6500a7101c8c4f9f08522a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 16:06:28 1999 +0000

    Bump release.
    
    CVS patchset: 2947
    CVS date: 1999/04/05 16:06:28

commit 78ccf90ab8afc864d829c0bb88f1638848652514
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 16:05:44 1999 +0000

    Update-po.
    
    CVS patchset: 2946
    CVS date: 1999/04/05 16:05:44

commit f98ec6d75d1a5ff6d19782d3e3462f468f409a50
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Apr 5 15:23:37 1999 +0000

    permit 0x1b in specfile sanity check.
    
    CVS patchset: 2945
    CVS date: 1999/04/05 15:23:37

commit 81bb570437b5185179287876132d5566f647208e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Apr 4 21:26:36 1999 +0000

    removes for upgrades should happen inthe middle of transactions, not
    clustered at the end
    
    CVS patchset: 2943
    CVS date: 1999/04/04 21:26:36

commit 3e38468d2d9dc16dbb96fdd5568b3f614fc2decc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 4 20:10:33 1999 +0000

    Arm-linux fiddles: set RPMCANONARCH correctly and go back to -O2 (#1985).
    
    CVS patchset: 2942
    CVS date: 1999/04/04 20:10:33

commit 114d2630ad6a4d3786f1a4dbd0bfabeb3929bdc4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Apr 4 16:56:53 1999 +0000

    Don't clobber fd (#1966).
    
    CVS patchset: 2941
    CVS date: 1999/04/04 16:56:53

commit c2ace2da95fdd6719f2b9217848a25244b845454
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 3 17:13:35 1999 +0000

    Portability fiddles (Tim Mooney).
    
    CVS patchset: 2940
    CVS date: 1999/04/03 17:13:35

commit a050bcb8172f1830cc22560a8c588a76eb2182b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 3 00:05:46 1999 +0000

    Bump release.
    
    CVS patchset: 2939
    CVS date: 1999/04/03 00:05:46

commit 30fde130876a910ed382b5e4319a8401173d7819
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Apr 3 00:05:03 1999 +0000

    add name/version/release macros during src.rpm install.
    attempt mkdir sourcedir/specdir during src.rpm install.
    
    CVS patchset: 2938
    CVS date: 1999/04/03 00:05:03

commit 4e50407fddebf63b2f5e426e64cc3ed9271f34c4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 1 23:46:50 1999 +0000

    Bump release.
    
    CVS patchset: 2937
    CVS date: 1999/04/01 23:46:50

commit 6266b08a66354fc2ec731bc642e2cbbd8bc2de84
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 1 22:26:44 1999 +0000

    add per-target macrofiles to search path.
    take globalMacroContext out of macro api.
    fix: flush all macros between builds.
    
    CVS patchset: 2936
    CVS date: 1999/04/01 22:26:44

commit 9bcdba42f2849957f59d93a5fd2aa861742f115b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Apr 1 16:57:18 1999 +0000

    Add autofetch of nosource tarballs.
    
    CVS patchset: 2935
    CVS date: 1999/04/01 16:57:18

commit 4111caf5e8a6efca00949068fd5bc2c5d370ee0d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 31 22:19:00 1999 +0000

    don't install a single package twice
    
    CVS patchset: 2934
    CVS date: 1999/03/31 22:19:00

commit 5fbc0dd6c39f033ca0cd3a6975f1195b94f113db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 20:37:55 1999 +0000

    add explicit macrofiles path to rpmrc.
    
    CVS patchset: 2933
    CVS date: 1999/03/31 20:37:55

commit 3fae8324504fc1b4c15d3fe5d3f6846191400b4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 16:59:17 1999 +0000

    Bump release.
    
    CVS patchset: 2932
    CVS date: 1999/03/31 16:59:17

commit f0a088596ec7da11c44a83dd42d34935532b83e5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 16:57:01 1999 +0000

    expand twiddles in macrofiles list.
    
    CVS patchset: 2931
    CVS date: 1999/03/31 16:57:01

commit b4dfd488b0e1e4233ff0279965d0d8a3b1b67328
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 16:23:34 1999 +0000

    Typo.
    
    CVS patchset: 2930
    CVS date: 1999/03/31 16:23:34

commit 9b580d78a37f35bfee07ce69496f9cadc2f71590
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 15:08:40 1999 +0000

    I was told by Timur Bakeyev <mc@bat.ru> that on BSD systems
    setuid should be prefered over setreuid.
    On Unixware 2.1 linking the Midnight Commander against libucb
    broke the binary horrible (readdir returned garbage). I haven't
    looked deeper into this because I don't have such a system.
    Instead I applied a similar patch like the one attached
    to this message (I made this patch against popt from CVS).
    from Norbert Warmuth <nwarmuth@privat.circular.de>
    
    CVS patchset: 2929
    CVS date: 1999/03/31 15:08:40

commit ad9d28638c2ad3c9aac5f58b573c067d2199d874
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 14:58:43 1999 +0000

    Include alloca.h if available (Tim Mooney).
    
    CVS patchset: 2928
    CVS date: 1999/03/31 14:58:43

commit 37d0ee567a49fd2afcd80e734efd69d47a832b85
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 13:16:08 1999 +0000

    Restore check on BuildRoot != "/".
    
    CVS patchset: 2927
    CVS date: 1999/03/31 13:16:08

commit 214f096003c91d9536363cab54b5bb81f2c3d35d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 31 13:07:20 1999 +0000

    (re-)enable fixowner/fixgroup macros.
    fix: specfile BuildRoot was masking rpmrc macro.
    
    CVS patchset: 2926
    CVS date: 1999/03/31 13:07:20

commit 48e8d3521c73671038ad40ccf9d3677e38009d6e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 30 19:34:01 1999 +0000

    Restore "chmod -R ." as default.
    
    CVS patchset: 2925
    CVS date: 1999/03/30 19:34:01

commit ceb687851bc6f83d60e9a2de237a52b3136b19e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 01:04:37 1999 +0000

    Eliminate ftp/http proxy vars.
    
    CVS patchset: 2924
    CVS date: 1999/03/28 01:04:37

commit df6dcb8a860744e1712a3cb778083d0e7db5072c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 00:50:29 1999 +0000

    Bump release.
    
    CVS patchset: 2923
    CVS date: 1999/03/28 00:50:29

commit 9b94f186e688a2e604948bb4d6d460b78d67c3c0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 28 00:47:40 1999 +0000

    fix: avoid segfault using --prefix until ewt fixes.
    add --define "%foo %bar" option.
    dump macros to same fd as --showrc uses.
    add %GNUconfigure for full-blown package regeneration.
    fix: RPM_ARCH/RPM_OS had wrong values.
    fix: create ppc directories correctly.
    
    CVS patchset: 2922
    CVS date: 1999/03/28 00:47:40

commit 6147ae79959477cec35cb6ed6211c0c1b53ac710
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 27 21:40:56 1999 +0000

    %vendor         contains Red Hat
    %_vendor        contains redhat
    
    CVS patchset: 2921
    CVS date: 1999/03/27 21:40:56

commit 017f7f9bb5b9441b4041442bbc6d3b381a9ea36b
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 27 20:37:34 1999 +0000

    release 5
    
    CVS patchset: 2920
    CVS date: 1999/03/27 20:37:34

commit 091d12699469451ff260a5f4a4671c6dd4145daf
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 27 20:36:08 1999 +0000

    added help message for --ignoresize
    
    CVS patchset: 2919
    CVS date: 1999/03/27 20:36:08

commit 7361e830934dc1fb78b0ab6aa6843c5cf1cdabe6
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 27 17:47:04 1999 +0000

    invalidate the ftpControl fd when ftpGetFileDesc() fails
    
    CVS patchset: 2918
    CVS date: 1999/03/27 17:47:04

commit e088e8fb770a4b87ee5444f2d9a0a64f36bf484b
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 27 17:41:23 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2917
    CVS date: 1999/03/27 17:41:23

commit 3237d652a555591d3df4c771504ed1ad41b52e74
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 26 22:04:55 1999 +0000

    added ignoresize
    
    CVS patchset: 2916
    CVS date: 1999/03/26 22:04:55

commit 7a9fe7272ca2ef91efab16edcdc86b19ee381d54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 26 20:07:34 1999 +0000

    autoReq/autoProv now per-package.
    
    CVS patchset: 2915
    CVS date: 1999/03/26 20:07:34

commit 746681bee72b41cf3cb5c6a7b1687ad8c29c95a1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 26 19:52:42 1999 +0000

    Typo -- libtool-1.2f.
    
    CVS patchset: 2914
    CVS date: 1999/03/26 19:52:42

commit e6d646a8c97c9dcb28a9ee084acb51582156bd00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 24 12:38:08 1999 +0000

    fix: segfault from unknown uid/gid -- use builder's uid/gid instead.
    
    CVS patchset: 2913
    CVS date: 1999/03/24 12:38:08

commit f8c33e1165d90e4cbf9380608b27d3405788906a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 22 20:46:21 1999 +0000

    fix: accessing freed memory.
    
    CVS patchset: 2912
    CVS date: 1999/03/22 20:46:21

commit dff7526edd6292ab39fa7a2021c04ab84396230e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 22 20:23:24 1999 +0000

    Bump release.
    
    CVS patchset: 2911
    CVS date: 1999/03/22 20:23:24

commit a1058e3d9ed9fda442a89d7529a3c09e3e564449
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 22 18:36:23 1999 +0000

    more DU 4.0D fiddles (Shing-Gene Yung).
    
    CVS patchset: 2910
    CVS date: 1999/03/22 18:36:23

commit bd3990b81cbd1df9b5b5164ef32e44158288e95f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 22 17:31:53 1999 +0000

    fix: don't add header if signature generation failed (Carlo Wood).
    
    CVS patchset: 2909
    CVS date: 1999/03/22 17:31:53

commit 7944ca9ba3f29bc3a2f6ba69d2d0c55f080d6e6d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Mar 22 16:23:05 1999 +0000

    fix: segfault from double close on ftpGetFileDesc ftpAbort path.
    
    CVS patchset: 2908
    CVS date: 1999/03/22 16:23:05

commit 2f5f89f2a3a974ce54f4670edc91c2b56e0b2551
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 21 19:11:29 1999 +0000

    Typos.
    
    CVS patchset: 2907
    CVS date: 1999/03/21 19:11:29

commit 89e64b9785efb334ab62dd0f982585a012c9f630
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 21 18:43:22 1999 +0000

    pgp5 support (Carlo Wood <carlo@runaway.xs4all.nl>).
    
    CVS patchset: 2906
    CVS date: 1999/03/21 18:43:22

commit bc76393a1701faba6defb20ce0b81002ce129a7f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 20 21:09:47 1999 +0000

    eliminate old rpmrc configuration syntax.
    
    CVS patchset: 2905
    CVS date: 1999/03/20 21:09:47

commit 801b0c9b4b3aa050b0bd0b2863feccd8a0918a02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 20 15:11:03 1999 +0000

    Bump version.
    
    CVS patchset: 2904
    CVS date: 1999/03/20 15:11:03

commit 49926ed9f6ea03ba4814a240095cd5f0e671ae70
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 19 22:38:40 1999 +0000

    update with libtool-2.4f.
    
    CVS patchset: 2903
    CVS date: 1999/03/19 22:38:40

commit ef1b0f4d694a78a5671bb4f8bde52c9042cefb9b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 19 21:33:28 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2902
    CVS date: 1999/03/19 21:33:28

commit 604cf5d1e665820c10f2f29897f075050b634abe
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 19 18:42:38 1999 +0000

    added string for DISKSPACE problem
    
    CVS patchset: 2901
    CVS date: 1999/03/19 18:42:38

commit 6823e0ce122231519762a34cfa87b243098416d5
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 19 18:42:17 1999 +0000

    1) moved disk space code into handleOverlappedFiles()
    2) added some missing headerLink() calls
    2) removed unnecessary notifys
    
    CVS patchset: 2900
    CVS date: 1999/03/19 18:42:17

commit 52f3a21929bd29942139467a3904c3d2ac998f2a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 19 16:39:15 1999 +0000

    DU 4.0D fiddles (Shing-Gene Yung<shing@cz3.nus.edu.sg>)
    
    CVS patchset: 2899
    CVS date: 1999/03/19 16:39:15

commit 881f2388fc7dd8b62b43f6e03283422234d37999
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 19 03:39:17 1999 +0000

    added disk space checking
    
    CVS patchset: 2898
    CVS date: 1999/03/19 03:39:17

commit 44c09b105ed044c30ae9345ed42d0d0ae743b94a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 17 20:01:40 1999 +0000

    Bump release.
    
    CVS patchset: 2897
    CVS date: 1999/03/17 20:01:40

commit e444149fe3126e33ddf06beba6e5926901846fd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 17 20:01:09 1999 +0000

    Typos.
    
    CVS patchset: 2896
    CVS date: 1999/03/17 20:01:09

commit 70e3f43050ffe6759ba3a20f5969b3aab9113662
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 17 18:17:15 1999 +0000

    Bump version.
    
    CVS patchset: 2895
    CVS date: 1999/03/17 18:17:15

commit d84c548c0ba241ceb19e2a9c1aa457cf5652098d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 17 18:11:01 1999 +0000

    fix: recursive strtok's is a no-no.
    
    CVS patchset: 2894
    CVS date: 1999/03/17 18:11:01

commit fa3c0712e2b60521415cad49de6c2ab762959242
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 16 20:47:27 1999 +0000

    RE fiddle to get canonical arch correct.
    
    CVS patchset: 2893
    CVS date: 1999/03/16 20:47:27

commit ca9dc63de974d1335dce533d310ffbb11812fce0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 16 20:04:26 1999 +0000

    Fix newSpec in "rpm -q --specfile --specedit"
    
    CVS patchset: 2892
    CVS date: 1999/03/16 20:04:26

commit 776dc9c2581c54e7ebb9980ca01401956e4f81b0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Mar 14 00:34:52 1999 +0000

    change support@redhat.com to rpm-list@redhat.com.
    
    CVS patchset: 2891
    CVS date: 1999/03/14 00:34:52

commit d32ae3ef069894e08929261d911ad300b9767a3a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 13 23:29:59 1999 +0000

    Typos.
    
    CVS patchset: 2890
    CVS date: 1999/03/13 23:29:59

commit a36b1b3871c78e0a1e98cb1a5b7d00ecac260238
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Mar 13 22:37:47 1999 +0000

    fix: with --target=i686, pass macro %_arch=i386.
    
    CVS patchset: 2889
    CVS date: 1999/03/13 22:37:47

commit 40670e2a961b15503b0a2b0acad8ccc64b8c0a62
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 18:20:31 1999 +0000

    Bump version.
    
    CVS patchset: 2888
    CVS date: 1999/03/12 18:20:31

commit aaaf86cfe18ec374aa3206d617fddfe09a5e5127
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 18:20:06 1999 +0000

    fix: rpm -q --specfile --specedit now works even with BuildArch:.
    
    CVS patchset: 2887
    CVS date: 1999/03/12 18:20:06

commit c50cdee669b707c40fcc87403d2173a1ee83c4f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 15:56:48 1999 +0000

    fix: --target=arch works.
    
    CVS patchset: 2886
    CVS date: 1999/03/12 15:56:48

commit da6cb7f4e53e80d12a66fdba1caca6e5f804f989
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 15:32:02 1999 +0000

    Bump release.
    
    CVS patchset: 2885
    CVS date: 1999/03/12 15:32:02

commit be7c392673e97b6b3fe7e6b9561afe919c22610b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 06:01:36 1999 +0000

    Resurrect --target.
    
    CVS patchset: 2884
    CVS date: 1999/03/12 06:01:36

commit 876abb2617148c6c2a23ee6deb1446eaa7740d4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 06:00:17 1999 +0000

    Make canonarch dir as well as buildarch dir.
    
    CVS patchset: 2883
    CVS date: 1999/03/12 06:00:17

commit e57db6a8e021dbe39a4674c5c4f75ed045b61662
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 05:57:41 1999 +0000

    rpmRelocation no longer used.
    
    CVS patchset: 2882
    CVS date: 1999/03/12 05:57:41

commit b51670d6e33a1a6e9fcbd69fb528981c78b56b79
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 05:57:01 1999 +0000

    Typos -- curlys match curlys.
    
    CVS patchset: 2881
    CVS date: 1999/03/12 05:57:01

commit 572c470125abc3b068216c9bee539eba5f0f9fd3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Mar 12 05:55:51 1999 +0000

    Don't segfault if filename does not exist.
    
    CVS patchset: 2880
    CVS date: 1999/03/12 05:55:51

commit b9234bb860f9908f15ab6915cb815fa869c96896
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 11 17:57:00 1999 +0000

    Typo.
    
    CVS patchset: 2879
    CVS date: 1999/03/11 17:57:00

commit 19caf606ac867c8fbde6c96d7706d4675d52064a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 11 17:23:57 1999 +0000

    Don't cache proxy info.
    
    CVS patchset: 2878
    CVS date: 1999/03/11 17:23:57

commit f34ebe53f56fc06ebc7c72be55249a58da5c4e3f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Mar 11 02:08:42 1999 +0000

    Matt's cache hit algorithm.
    
    CVS patchset: 2877
    CVS date: 1999/03/11 02:08:42

commit a63acfe986e5255f82a49468e8a6c37067d5a570
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 10 17:24:16 1999 +0000

    2.92-4
    
    CVS patchset: 2876
    CVS date: 1999/03/10 17:24:16

commit 7a974dfe8d60abc8ec55397a70026e6f4146c7d4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 10 17:00:57 1999 +0000

    Typo.
    
    CVS patchset: 2875
    CVS date: 1999/03/10 17:00:57

commit 38400127cb2b3dba0c4232b10944acaf96f9f840
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 10 17:00:34 1999 +0000

    Stash ftpGetFileDesc failures too.
    
    CVS patchset: 2874
    CVS date: 1999/03/10 17:00:34

commit bbd84c568f5f3f8c951f3d741e207f1dc2c4331d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Mar 10 15:24:48 1999 +0000

    New descriptive text.
    
    CVS patchset: 2873
    CVS date: 1999/03/10 15:24:48

commit dd2ebadb484ec8cb62f1f885e153c3072c1b1e18
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 10 04:47:06 1999 +0000

    updated for new rpmdepOrder()
    
    CVS patchset: 2872
    CVS date: 1999/03/10 04:47:06

commit a73e669b5971a583301f9f7188012c1bc5d790fc
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 10 03:43:22 1999 +0000

    replaced = NULL stuff here and there with blanket memset() calls
    
    CVS patchset: 2871
    CVS date: 1999/03/10 03:43:22

commit 4deee420a340d9389475a598fbb456b0cef41992
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Mar 10 02:55:24 1999 +0000

    autogen.sh: Fix builddir != srcdir.
    *.c: Fix compilation with -ansi -pedantic-errors.
    
    CVS patchset: 2870
    CVS date: 1999/03/10 02:55:24

commit 35d63ade01d13df445c8c917c99e84fdd1ac1d4b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 10 02:53:37 1999 +0000

    updated rpmdepOrder() for better cooperation with new transaction code
    
    CVS patchset: 2869
    CVS date: 1999/03/10 02:53:37

commit 1f9c136553dadc9eae56f6d9e9958eb5036cc2ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 9 18:47:08 1999 +0000

    Ratchet forward to rpm-2.5.7.
    
    CVS patchset: 2868
    CVS date: 1999/03/09 18:47:08

commit dcea20ca588c3a88d68db192819956fe394f959e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 9 17:42:36 1999 +0000

    changed version number
    
    CVS patchset: 2867
    CVS date: 1999/03/09 17:42:36

commit 8bb3d5556ed49c9695c2f92a3a9116d6f89f21f2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 9 17:41:10 1999 +0000

    changed version number
    
    CVS patchset: 2866
    CVS date: 1999/03/09 17:41:10

commit d559a8afd3e8289aa61779523b6594fa82f32310
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 9 16:53:52 1999 +0000

    Work around failing --prefix ...
    
    CVS patchset: 2865
    CVS date: 1999/03/09 16:53:52

commit a44cb6f19e6e6ad1778c9d6a74cd18dc195c01df
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 9 16:29:22 1999 +0000

    memory optimizations
    
    CVS patchset: 2864
    CVS date: 1999/03/09 16:29:22

commit 655aad964de09c7c5fa345ad35c8f42548794725
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Mar 9 03:37:22 1999 +0000

    Fix proxy FTP segfault.
    
    CVS patchset: 2863
    CVS date: 1999/03/09 03:37:22

commit fb28457b676cd91e15d47ed7c7d9807b47622701
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 6 18:47:56 1999 +0000

    rev 2
    
    CVS patchset: 2862
    CVS date: 1999/03/06 18:47:56

commit 1f16f5c166deb070f8c409a001a402ab09d03be9
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 6 18:43:49 1999 +0000

    be a bit more agressive about freeing memory
    
    CVS patchset: 2861
    CVS date: 1999/03/06 18:43:49

commit 852533fe9ac33f0855291fcaf92dfeb9bab408f8
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 6 17:19:48 1999 +0000

    redid ingoreSet code which was broken
    
    CVS patchset: 2860
    CVS date: 1999/03/06 17:19:48

commit 7f62e74a3fc881e9b907bfbfc894f5ec38e8d56b
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 6 15:16:34 1999 +0000

    removed double frees
    
    CVS patchset: 2859
    CVS date: 1999/03/06 15:16:34

commit d3c3f654f19e8fef2d9a8f8721ba29ad70d13816
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 22:43:03 1999 +0000

    support for new rpmRunTransactions() parameter
    
    CVS patchset: 2858
    CVS date: 1999/03/05 22:43:03

commit 7d7728ef2b81a3a1b29de7b93ca2229ae41c2f57
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 22:41:59 1999 +0000

    reduce the number of reads a bit
    
    CVS patchset: 2857
    CVS date: 1999/03/05 22:41:59

commit 1ed14e0bcf48c0b738c2211b30afed62934a7d38
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 22:41:10 1999 +0000

    1) reindented notify lines
    2) added ignoreSet parameter
    
    CVS patchset: 2856
    CVS date: 1999/03/05 22:41:10

commit e0e9021472cd6eb2ef2eba033279f6b9a1b1d95b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 22:40:29 1999 +0000

    added ignoreSet to rpmRunTransaction()
    
    CVS patchset: 2855
    CVS date: 1999/03/05 22:40:29

commit ea630b173721a938cc7cfbefadd31a3f7ef91873
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 22:33:00 1999 +0000

    tiny little optimization
    
    CVS patchset: 2854
    CVS date: 1999/03/05 22:33:00

commit 23430a401a0c8a9bb9f9d3da71df9a2bfe738b33
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 21:37:15 1999 +0000

    fixed memory leak
    
    CVS patchset: 2853
    CVS date: 1999/03/05 21:37:15

commit ad163a65bd7e2caf744928f311ef5bd6dbdbccdd
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 01:19:29 1999 +0000

    fixed a memory leak
    
    CVS patchset: 2852
    CVS date: 1999/03/05 01:19:29

commit 58e6b0d408b267727a69f22236e43e7ff3fe58a1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 01:18:19 1999 +0000

    plugged a memory leak
    
    CVS patchset: 2851
    CVS date: 1999/03/05 01:18:19

commit 6338acbf5edae4b7718ce8a8e2110d918e98af72
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 01:17:49 1999 +0000

    purely cosmetic changes
    
    CVS patchset: 2850
    CVS date: 1999/03/05 01:17:49

commit f3c66319d33b9e82386bf07c073cabe63a6148d4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 01:17:21 1999 +0000

    wasn't using fdClose() for some odd reason
    
    CVS patchset: 2849
    CVS date: 1999/03/05 01:17:21

commit 0b4a1f434375bcf87f6abc2f545eb4a76e30c46b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 5 01:16:42 1999 +0000

    plugged some minor memory leaks
    
    CVS patchset: 2848
    CVS date: 1999/03/05 01:16:42

commit 1f49616d61aa2b0effce0a2c72dc36ed9a67076b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 4 23:45:26 1999 +0000

    Use callbacks to open/close files. This avoids limits on how many files
    we can have open at a time, andcloses a memory leak for good measure.
    
    CVS patchset: 2847
    CVS date: 1999/03/04 23:45:26

commit eca1c0bf1922f14d05045863540b297e3f699e95
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 4 23:26:51 1999 +0000

    plugged memory leak
    
    CVS patchset: 2846
    CVS date: 1999/03/04 23:26:51

commit b2e49d841daad3965e2446b4283ff4e4202e76bf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 28 19:07:13 1999 +0000

    Bump version.
    
    CVS patchset: 2845
    CVS date: 1999/02/28 19:07:13

commit c871d58f381b0e83a063e1dde4a0d57cff6a52e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 28 18:36:19 1999 +0000

    fix: memory leaks in rpmRunTransactions plugged.
    
    CVS patchset: 2844
    CVS date: 1999/02/28 18:36:19

commit f5c1c639b85b521b193ada3fd8e7d4d5d9ba6934
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 28 14:57:00 1999 +0000

    Bump release.
    
    CVS patchset: 2843
    CVS date: 1999/02/28 14:57:00

commit a3d1bd66628a5eb1a2770cbea6e1531549eb350b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 28 14:18:56 1999 +0000

    increase timeout in tread from 5 to 30 secs for slow links.
    
    CVS patchset: 2842
    CVS date: 1999/02/28 14:18:56

commit 0e54446b944f3d208cb1da361d638ff25b13572b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 26 21:47:33 1999 +0000

    fix: build of packages w/o BuildRoot segfault.
    
    CVS patchset: 2840
    CVS date: 1999/02/26 21:47:33

commit eb77d9f4593fbf00e99eac3ab2c31de2cf1ce8d9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 25 20:17:30 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2839
    CVS date: 1999/02/25 20:17:30

commit 8069caca00caac8815078603ed1db91685a29fa2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 25 20:16:43 1999 +0000

    allow single dash arguments (to represent stdin)
    
    CVS patchset: 2838
    CVS date: 1999/02/25 20:16:43

commit c2421db17a996ea4b729bfc1811ecfa451ea3914
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 25 02:54:39 1999 +0000

    Typo.
    
    CVS patchset: 2837
    CVS date: 1999/02/25 02:54:39

commit 7b9a63b2b2645ae491e6247f18a64f318d5ac489
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 25 02:50:49 1999 +0000

    Fix proxy FTP coredump.
    
    CVS patchset: 2836
    CVS date: 1999/02/25 02:50:49

commit a9f17f6470c55de5fbcde25226ee0b784a1499e9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 25 02:41:22 1999 +0000

    Improvements on leak plugging.
    
    CVS patchset: 2835
    CVS date: 1999/02/25 02:41:22

commit 83134039a97b1b7d2e3cfc6313c971e09d56914e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 24 23:55:30 1999 +0000

    Bump release.
    
    CVS patchset: 2834
    CVS date: 1999/02/24 23:55:30

commit 12c69b1075ab1cca55cc713758a860ade9eef0b4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 24 23:55:00 1999 +0000

    Memory leaks.
    
    CVS patchset: 2833
    CVS date: 1999/02/24 23:55:00

commit 5f642bafdd847c2e61d2cdd3dc28fb0feff33eab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 23 07:17:15 1999 +0000

    Bump release.
    
    CVS patchset: 2832
    CVS date: 1999/02/23 07:17:15

commit 3bb305643b4b8c9ad2b4d3c0421de6d42500ef49
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 23 07:10:56 1999 +0000

    Move callback before return.
    
    CVS patchset: 2831
    CVS date: 1999/02/23 07:10:56

commit 696c4ce1251025e97d5a8639287e57b41d895f4d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 23 05:52:08 1999 +0000

    Another callback for Matt.
    
    CVS patchset: 2830
    CVS date: 1999/02/23 05:52:08

commit e603e625a138a069de63a156b5745304f654527e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 23 05:50:38 1999 +0000

    Capitalize tag names.
    
    CVS patchset: 2829
    CVS date: 1999/02/23 05:50:38

commit 5c135524d79a4f4bfd0f2c06e786932697b322d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 23 00:56:32 1999 +0000

    More callbacks for Matt.
    
    CVS patchset: 2828
    CVS date: 1999/02/23 00:56:32

commit ba8e017ac035cc36e63fbce173d3f6c715639c33
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 22 22:15:19 1999 +0000

    Add notifys for msw.
    
    CVS patchset: 2827
    CVS date: 1999/02/22 22:15:19

commit 46fe51d2e9b639a03d42cbae64676b7205546bf4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 22 18:09:17 1999 +0000

    Meta-msgid's generated by tagName.
    
    CVS patchset: 2826
    CVS date: 1999/02/22 18:09:17

commit 7a7e3397ea44de1ddb5600d671a754f5865c8414
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 22 17:45:50 1999 +0000

    Bump release.
    
    CVS patchset: 2825
    CVS date: 1999/02/22 17:45:50

commit 6b9fe27f52f5558f64acecb8e99b27dd21dd4192
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 22 17:44:57 1999 +0000

    permit substitution of I18N strings from PO meta-catalogues.
    
    CVS patchset: 2824
    CVS date: 1999/02/22 17:44:57

commit c9ca4e44a56ec5484d6321ae2b3ef1599adf6799
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 21 04:02:57 1999 +0000

    removed outdated fixme
    
    CVS patchset: 2823
    CVS date: 1999/02/21 04:02:57

commit 12b921284d210c13091b176fdbb0bc6fd2adc461
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 21 04:01:12 1999 +0000

    fixed relocated/excluded paths
    
    CVS patchset: 2822
    CVS date: 1999/02/21 04:01:12

commit 4db26fd478db2574b825f848020818fc4ce20a00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 21 03:57:57 1999 +0000

    Permit group extraction from command line.
    
    CVS patchset: 2821
    CVS date: 1999/02/21 03:57:57

commit 6d53fa695bf28941fce2ad57a8ce43e962945f49
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Feb 21 03:57:09 1999 +0000

    Ultrapenguin has not S_ISTXT (although ALLPERMS mentions).
    
    CVS patchset: 2820
    CVS date: 1999/02/21 03:57:09

commit 1725b77f712de3aa201a060fc5116492fbfd054a
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 21 03:34:52 1999 +0000

    got excludedocs, netsharedpath, and lang exclusions working
    
    CVS patchset: 2819
    CVS date: 1999/02/21 03:34:52

commit 4bf2ceb8a301530bb8f9d98fed2b98afcb39eda4
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 21 03:32:56 1999 +0000

    dded FA_ to enum fileActions stuff
    
    CVS patchset: 2818
    CVS date: 1999/02/21 03:32:56

commit f9db40a17201c50237ae2f57f88093578469d76f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 21 02:34:45 1999 +0000

    should be able to install v1 source packages now, though I certainly
    didn't test it <shrug>
    
    CVS patchset: 2817
    CVS date: 1999/02/21 02:34:45

commit a79bc883fc1b3a669f637f8552bcb04cac07cde8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 19 23:17:17 1999 +0000

    Tighter constraints on urlinfo cache-hits.
    Force ftp control channel close in ufdClose.
    
    CVS patchset: 2816
    CVS date: 1999/02/19 23:17:17

commit 78bb12db47983849a8e552f14a7d71af9c4bbe7f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 19 17:52:46 1999 +0000

    Added space in format.
    
    CVS patchset: 2815
    CVS date: 1999/02/19 17:52:46

commit aefcab536ea414c27c770f85876f009da519e891
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 19 15:26:46 1999 +0000

    Bump releas.
    
    CVS patchset: 2814
    CVS date: 1999/02/19 15:26:46

commit bbd07e2c481ac60a82ccddd3ec7bad1308703589
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 19 15:23:34 1999 +0000

    Typo.
    
    CVS patchset: 2812
    CVS date: 1999/02/19 15:23:34

commit 63b073c0876b4137e49d82cd3d0bb94d844a5766
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 18 17:50:44 1999 +0000

    Bump release.
    
    CVS patchset: 2811
    CVS date: 1999/02/18 17:50:44

commit 6f35dcf84bc859aefe8c4bf54a1d29aeb3a6a39a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Feb 18 17:21:50 1999 +0000

    rename file before unlinking to avoid EBUSY failures.
    
    CVS patchset: 2810
    CVS date: 1999/02/18 17:21:50

commit c74948930dbd848faddf14546d4e3c797fd722b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 17 17:26:53 1999 +0000

    headerGetEntry now returns count=0 if tag not found (Chris Blizzard).
    
    CVS patchset: 2808
    CVS date: 1999/02/17 17:26:53

commit 77e113332e357fbe08c5552e3bf0335016f29c42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 17 17:20:17 1999 +0000

    Avoid double close in ufdOpen().
    
    CVS patchset: 2806
    CVS date: 1999/02/17 17:20:17

commit 64e0363db6396a16b981bdbae40f46ed80689a8e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 17 17:04:51 1999 +0000

    Meta-msgid generation.
    
    CVS patchset: 2804
    CVS date: 1999/02/17 17:04:51

commit 01450f4a02eb5117bab00956b48713b77c9cc1d6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 17 04:33:50 1999 +0000

    moved ensureOlder() to transaction.c
    
    CVS patchset: 2803
    CVS date: 1999/02/17 04:33:50

commit c1959865f841ae4e408a8166592b58e2e3efd852
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 17 04:32:55 1999 +0000

    added checks for installation of old packages
    
    CVS patchset: 2802
    CVS date: 1999/02/17 04:32:55

commit 784a8eeb8ad9494a40d09ade64ef6372fb18dbaa
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 17 04:04:53 1999 +0000

    fixed noreplace handling
    
    CVS patchset: 2801
    CVS date: 1999/02/17 04:04:53

commit c361b1f1efafcf9f4c14ea81be82e69a7700dbcc
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 17 03:46:57 1999 +0000

    don't be too clever -- skipping file creation because it'll be created
    later in the transaction ignores the needs of %post scripts <sigh>
    
    CVS patchset: 2800
    CVS date: 1999/02/17 03:46:57

commit da45cac856377c490ef25006c4dfaba3afa8c3b3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 17 03:42:57 1999 +0000

    moved things to transaction flags from independent install/uninstall flags
    
    CVS patchset: 2799
    CVS date: 1999/02/17 03:42:57

commit a56247c2b2df165a0da2c4ff5379cbd19425c64f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 16 06:17:46 1999 +0000

    Repair rpmputtext.
    
    CVS patchset: 2798
    CVS date: 1999/02/16 06:17:46

commit 7b495d4b7c22a7d66fa76289c3900905eef9e623
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 16 03:07:24 1999 +0000

    Update to automake 1.4a.
    
    CVS patchset: 2797
    CVS date: 1999/02/16 03:07:24

commit 1556aeb600b7d9344faf5990b6f57d78f4a8a46c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 16 02:42:29 1999 +0000

    add callbacks for installer updates while doing URL xfers.
    
    CVS patchset: 2796
    CVS date: 1999/02/16 02:42:29

commit 81f17dd94b4528af653c7bf76a10266c1e8d081e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Feb 16 02:14:19 1999 +0000

    Repair http queries.
    New function urlStrerror to fish out URL open failure codes.
    
    CVS patchset: 2795
    CVS date: 1999/02/16 02:14:19

commit 6d0e3c455d9d8dd917429277d774c43bffd37c55
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 15 18:58:17 1999 +0000

    sub-packages should inheirit Prefixes tag (Ian Mortimer).
    
    CVS patchset: 2794
    CVS date: 1999/02/15 18:58:17

commit b6eaf3aee4ab84d3991b174fe6eda97677e7d3d7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 15 18:51:16 1999 +0000

    resurrect osf1 as canonical os name (Time Mooney).
    
    CVS patchset: 2793
    CVS date: 1999/02/15 18:51:16

commit 5336a6f5e4de9a1b2ca67c80deb3009cee77a793
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Feb 15 18:26:09 1999 +0000

    augment linux provides/requires for glibc 2.1 backward compatibility.
    
    CVS patchset: 2790
    CVS date: 1999/02/15 18:26:09

commit 206a2b42ccc1f41ed2bb04bedd871d93945bfb74
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Feb 10 16:25:48 1999 +0000

    Fix inverted args in error message.
    
    CVS patchset: 2788
    CVS date: 1999/02/10 16:25:48

commit 232b1ca6df145314c41713fbba500ad8b2f6a9c7
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 23:14:16 1999 +0000

    rel 8
    
    CVS patchset: 2787
    CVS date: 1999/02/07 23:14:16

commit b997c2ad4d4a8ae8f4a6c14b4cf886058a09ff17
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 23:14:04 1999 +0000

    don't let hdrs[] be sparse
    
    CVS patchset: 2786
    CVS date: 1999/02/07 23:14:04

commit 7b20861ad6c97839dc77823afeedd4ce15420a94
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 21:57:30 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2785
    CVS date: 1999/02/07 21:57:30

commit a92a662e9ec55b5e26f87ed53ee1289649e11a87
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 21:21:11 1999 +0000

    rel 7
    
    CVS patchset: 2784
    CVS date: 1999/02/07 21:21:11

commit f93e0d2f61381f2ff87674b365b664510943eb1c
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 21:20:04 1999 +0000

    added fdScript stuff
    
    CVS patchset: 2783
    CVS date: 1999/02/07 21:20:04

commit 22b0159facaad0ad544b241965cb92fd86129a48
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 21:19:00 1999 +0000

    1) %attr(mode,user,group,dmode) is illegal! (though %defattr is fine)
    2) use %attr(mode) for directories w/o a separate dmode
    
    CVS patchset: 2782
    CVS date: 1999/02/07 21:19:00

commit 177b2215a967e09b4aaf9e92d4dd56b556e510a9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 20:09:27 1999 +0000

    need to chroot() a bit sooner
    
    CVS patchset: 2781
    CVS date: 1999/02/07 20:09:27

commit d9ff192cbaa7b9322dd736e9ffafbb0a5ca0e74e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 18:36:13 1999 +0000

    I don't know why this works better, but it does.
    
    CVS patchset: 2780
    CVS date: 1999/02/07 18:36:13

commit 05e7aecfed2b37566433be2f648233d2dddd9102
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 7 16:44:21 1999 +0000

    uninstalls need to handle shared config files properly
    
    CVS patchset: 2779
    CVS date: 1999/02/07 16:44:21

commit 0ac25fcf2607dfb1ba880770b20a90e56ead28b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 5 20:13:58 1999 +0000

    Bump release.
    
    CVS patchset: 2778
    CVS date: 1999/02/05 20:13:58

commit decbf0135cbc534d6cafd4e351eaa25588a9e1ee
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Feb 5 20:00:24 1999 +0000

    Made HTTP much better.
    
    CVS patchset: 2777
    CVS date: 1999/02/05 20:00:24

commit 6e22dccb47172ee94141d13be8ee9afb8a4f7500
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Feb 5 18:32:06 1999 +0000

    - add BuildPrereq: in spec file and src rpm.
    
    CVS patchset: 2776
    CVS date: 1999/02/05 18:32:06

commit 39daf317c745ee27e07186b92febe8214a444add
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 4 23:00:23 1999 +0000

    changed minimal open code (again)
    
    CVS patchset: 2775
    CVS date: 1999/02/04 23:00:23

commit 5409a7ad52d233839315bf5fe98103b4d540ea37
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 4 22:04:10 1999 +0000

    minimal opens need to provide name index
    
    CVS patchset: 2774
    CVS date: 1999/02/04 22:04:10

commit a7366495ae19850d0cc996cae867ac5b59b250af
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Feb 4 18:48:03 1999 +0000

    Finally, preliminary http support.
    - Alex
    
    CVS patchset: 2773
    CVS date: 1999/02/04 18:48:03

commit 0166b45137233b4e51b0062633b13962a6af0715
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 4 05:10:05 1999 +0000

    make --test work for source packages
    
    CVS patchset: 2772
    CVS date: 1999/02/04 05:10:05

commit c7c870b0c5d1ebc6696d3be28e52f30c48dc21ab
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 4 05:03:16 1999 +0000

    added rpmdbOpenForTraversal()
    
    CVS patchset: 2771
    CVS date: 1999/02/04 05:03:16

commit 35cb65b449feb3ac7533576b0c588de8f3d8a303
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 2 19:43:35 1999 +0000

    handle spec file which Provide filenames
    
    CVS patchset: 2770
    CVS date: 1999/02/02 19:43:35

commit ce6ad243f66e23c2c037b06329639a92a688944f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 27 19:46:13 1999 +0000

    Sanity.
    
    CVS patchset: 2769
    CVS date: 1999/01/27 19:46:13

commit f8e3f7e92cfc25c05fcefbc796c6ea3f523d416b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 27 19:41:20 1999 +0000

    Bump release.
    
    CVS patchset: 2768
    CVS date: 1999/01/27 19:41:20

commit 83863df5019310f6813f64f6fe7d7d04e5d3f00b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 27 19:40:01 1999 +0000

    Fix defattr/attr screwup.
    
    CVS patchset: 2767
    CVS date: 1999/01/27 19:40:01

commit 291f407baa5f6bbc5d35386ec0a1a88c18d32f3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 27 15:40:06 1999 +0000

    Needed trailing / when expanding specdir.
    
    CVS patchset: 2766
    CVS date: 1999/01/27 15:40:06

commit 1330d5fc27b289568764ac294b32437246eb66ed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 22:25:24 1999 +0000

    Typo.
    
    CVS patchset: 2765
    CVS date: 1999/01/26 22:25:24

commit 06de7de1382954ce352027680568087196c8cffa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 21:58:46 1999 +0000

    Bump release.
    
    CVS patchset: 2764
    CVS date: 1999/01/26 21:58:46

commit ee244b7e0ada391f29837d15647ef1f63d27c17c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 21:57:57 1999 +0000

    Parse BuildRequires: and add appropriate RPMTAG_*REQUIRES* to src rpm
    header.
    
    CVS patchset: 2763
    CVS date: 1999/01/26 21:57:57

commit a012dfe2dde3ef8f798defd9951bd13025db9d0e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 20:30:07 1999 +0000

    Typo.
    
    CVS patchset: 2762
    CVS date: 1999/01/26 20:30:07

commit c1cb9dc9e4f271af96fa75d0e15da6cb06b5b8b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 20:01:34 1999 +0000

    Orphan.
    
    CVS patchset: 2761
    CVS date: 1999/01/26 20:01:34

commit 29241c8d043395672b32b37f8a0d25363739f54e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 19:55:43 1999 +0000

    Check for correct versions of libtool/autoconf/automake.
    
    CVS patchset: 2760
    CVS date: 1999/01/26 19:55:43

commit 0809998ce30bd293a0ad7fea4c2f1bb7c68fcebb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 19:07:25 1999 +0000

    1st attempt to automate srpm building.
    
    CVS patchset: 2757
    CVS date: 1999/01/26 19:07:25

commit ddd00bd992bce2706eea52862b71ac0a2659f809
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 19:04:39 1999 +0000

    Use "make dist" when making an archive. Make sure tag is correct.
    
    CVS patchset: 2756
    CVS date: 1999/01/26 19:04:39

commit 6d1bd5f75bb9a41afe8dab15d1788921f3086a59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 18:29:40 1999 +0000

    Restore RPMCONFIGDIR throughout.
    
    CVS patchset: 2755
    CVS date: 1999/01/26 18:29:40

commit cb451613c94dfa9310fbfde7f9f6c42b34cbafec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 18:20:15 1999 +0000

    Bump release.
    
    CVS patchset: 2754
    CVS date: 1999/01/26 18:20:15

commit 5bb717be191bff766e0ce7e2f36fc7f714dedb19
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 26 18:08:14 1999 +0000

    make '-' character illegal (again) in version/release.
    Use auto-standard names for auto-package components.
    
    CVS patchset: 2753
    CVS date: 1999/01/26 18:08:14

commit 6f6b66d55a979a922255ec01d0f6b38369d9f268
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 26 17:10:29 1999 +0000

    changes for packages w/ 0 files
    
    CVS patchset: 2752
    CVS date: 1999/01/26 17:10:29

commit 2daecca27b7f56fd8093e689a374eedb0c6e36d5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 25 19:46:40 1999 +0000

    Eliminate generated files.
    
    CVS patchset: 2750
    CVS date: 1999/01/25 19:46:40

commit 777388f1634bb4b9ee4f79ba8465536c1d5bafbb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 25 15:07:44 1999 +0000

    Add required file.
    
    CVS patchset: 2749
    CVS date: 1999/01/25 15:07:44

commit e9cbe6622a50d77b71cb658726f897dd50efe816
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 24 19:40:38 1999 +0000

    Eliminate files that can be regenerated.
    
    CVS patchset: 2748
    CVS date: 1999/01/24 19:40:38

commit 6503ca3645d71e8f4805e52747ee33d20b2217d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 22:20:44 1999 +0000

    Do only string replacement (w/o -C) in %configure for now.
    
    CVS patchset: 2747
    CVS date: 1999/01/22 22:20:44

commit d635ea8d0987019dc8a20ca4a6da72180b2d5872
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 20:02:40 1999 +0000

    Libtool config files needed by cvs checkouts.
    
    CVS patchset: 2746
    CVS date: 1999/01/22 20:02:40

commit b3ff088a22985690ae8844d978bdcf8e83ad4e69
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 18:42:31 1999 +0000

    Use libtool to build libraries, but force --disable-shared for now.
    
    CVS patchset: 2745
    CVS date: 1999/01/22 18:42:31

commit 5dbf31f418895b396607d6ae1c9275689b5e89a5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 17:24:04 1999 +0000

    Ignore libtool glop.
    
    CVS patchset: 2744
    CVS date: 1999/01/22 17:24:04

commit ecf16c45e7952bf034eb3972625df91b32ac1efa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 17:22:59 1999 +0000

    Bump release.
    
    CVS patchset: 2743
    CVS date: 1999/01/22 17:22:59

commit 072b219a6970e156a267d1dfc0dab87169bfcf17
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 17:22:17 1999 +0000

    Use libbtool to generate librpmbuild.a.
    
    CVS patchset: 2742
    CVS date: 1999/01/22 17:22:17

commit 398c9e0363c65ddab756427d07d41908292036e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 15:57:39 1999 +0000

    Change dependencies so that automake is not needed to build.
    Update rpm POTFILES.
    Popt too.
    
    CVS patchset: 2741
    CVS date: 1999/01/22 15:57:39

commit a72a5178aff6d3ddc60851d0936c005598465ef7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 00:40:53 1999 +0000

    use portable #!/bin/sh (Tim Mooney).
    
    CVS patchset: 2740
    CVS date: 1999/01/22 00:40:53

commit d09dddb1a68d5be9d0ff4b63c3cc1dbfc7c6e8c8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 00:38:10 1999 +0000

    don't erase failing build script (Tim Mooney).
    
    CVS patchset: 2738
    CVS date: 1999/01/22 00:38:10

commit fc421d4a1f59c2c4ebc7f3a0366bf739877e812d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 00:34:30 1999 +0000

    use portable mkinstalldirs (Tim Mooney).
    
    CVS patchset: 2736
    CVS date: 1999/01/22 00:34:30

commit ba66f057961eadf16e3034a884e521dd0b6ed684
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 22 00:25:25 1999 +0000

    irix6 autodeps were dup'd (Shing-Gene Yung <shing@cz3.nus.edu.sg>).
    
    CVS patchset: 2733
    CVS date: 1999/01/22 00:25:25

commit 324f6639d7758005bcda8f081911186f0a5f517b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 21 22:30:50 1999 +0000

    After running libtoolize to update config.guess config.sub
    
    CVS patchset: 2732
    CVS date: 1999/01/21 22:30:50

commit b0784c39c1996f8abb8cd439197c6a045238f3ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 21 19:43:23 1999 +0000

    Add rpmpopt to the dist.
    
    CVS patchset: 2731
    CVS date: 1999/01/21 19:43:23

commit e13cffa7460b2069bb9ad67af2525d80a1e018d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 21 19:14:31 1999 +0000

    Fix: clear orphaned "Transfer complete" from ftp control channel if
    using ftpGetFileDesc() access with cached control connection.
    
    CVS patchset: 2730
    CVS date: 1999/01/21 19:14:31

commit 4bcd4d620df2afd3b448ded4eb06e9708ca58165
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 21 18:42:53 1999 +0000

    Automake: almost functional make dist.
    
    CVS patchset: 2729
    CVS date: 1999/01/21 18:42:53

commit 394f3cb1ddf52fa7829dab790e34f1dfa5886b5d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 21 17:18:38 1999 +0000

    Eliminate Makefile.inc dependence in subdirs.
    Change "Bad header" to "Bad/unreadable header" for most common cpio failure.
    
    CVS patchset: 2728
    CVS date: 1999/01/21 17:18:38

commit 459dc6ef3eb334df673c514b67c1e343942b9a1c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 23:59:28 1999 +0000

    create rpmbzio.c to avoid implicit dependence on libbz2 for installer.
    
    CVS patchset: 2727
    CVS date: 1999/01/19 23:59:28

commit 903b747e028caf47d1b0f19d546b11a5c5732f00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 23:54:30 1999 +0000

    Released rpm-2.90 -- version is now 2.91
    Use automake 1.4 and autoconf 2.13.
    
    CVS patchset: 2726
    CVS date: 1999/01/19 23:54:30

commit aeb2017fb240f1ebb469b3b98bdfd86fe896f9fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 19:56:37 1999 +0000

    More automake nonsense.
    
    CVS patchset: 2725
    CVS date: 1999/01/19 19:56:37

commit f4ccc38cdf5be6a3f05b1510c8ff6b767b5b57ad
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 19:50:18 1999 +0000

    Automake fiddles.
    
    CVS patchset: 2724
    CVS date: 1999/01/19 19:50:18

commit 4123688cb1f010e1c42331ccbc85d9bbdd0dc36d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 19:42:31 1999 +0000

    Automake fiddles.
    
    CVS patchset: 2723
    CVS date: 1999/01/19 19:42:31

commit efd78aab74e2ef3a101bbfc4c2c6082418d15468
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 17:23:32 1999 +0000

    Create %configure macro.
    
    CVS patchset: 2722
    CVS date: 1999/01/19 17:23:32

commit 02f03358f6dbc347a18a8afdd1c33ae3841c9cf6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 16:52:25 1999 +0000

    getservbyname needed ntohs().
    
    CVS patchset: 2721
    CVS date: 1999/01/19 16:52:25

commit a0f1da436bf39a965d550318916578b7aef85d34
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 16:25:10 1999 +0000

    added --excludepath
    
    CVS patchset: 2720
    CVS date: 1999/01/19 16:25:10

commit 11264c2b93341c5caedc53c0a77de5f083a1a532
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 16:24:57 1999 +0000

    use SKIPNSTATE
    
    CVS patchset: 2719
    CVS date: 1999/01/19 16:24:57

commit aeee27354957ad5f63513f3ed580bee01428b479
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 16:24:43 1999 +0000

    added SAVENSTATE action
    
    CVS patchset: 2718
    CVS date: 1999/01/19 16:24:43

commit fb49619ccfe9eea3903d623c305a9310680267ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 19 16:02:44 1999 +0000

    getservbyname returns network ordered port.
    
    CVS patchset: 2716
    CVS date: 1999/01/19 16:02:44

commit 06a29f2dd5ea70a3bb30f379a29725518daad96c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 03:02:45 1999 +0000

    handle RPMTAG_ORIGFILENAMES properly
    
    CVS patchset: 2715
    CVS date: 1999/01/19 03:02:45

commit 8c45431632d039f5d9666fd66acefaf4ccac0faf
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 03:01:52 1999 +0000

    1) fixed relocations
    2) let the relocation stuff omit files by path
    
    CVS patchset: 2714
    CVS date: 1999/01/19 03:01:52

commit 74b036680cf053416bc171fa8385a18549ea18c7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 02:58:48 1999 +0000

    force the unknown action to be 0
    
    CVS patchset: 2713
    CVS date: 1999/01/19 02:58:48

commit 46ddcf95cc18871f5f7c75fe1889a5aa64ecbf59
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 19 02:56:13 1999 +0000

    mucked with comments a bit
    
    CVS patchset: 2712
    CVS date: 1999/01/19 02:56:13

commit f84b91ec9dae00b1e3e3aa3754636833d0a35803
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 18 19:04:44 1999 +0000

    Christian sez' -O not -O2 on armv4l.
    
    CVS patchset: 2711
    CVS date: 1999/01/18 19:04:44

commit 71171a5c04c539d2580b58dd74e4981d81a64cdf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 18 00:13:45 1999 +0000

    identify missing keys by type (Toshio Kuratomi)
    
    CVS patchset: 2710
    CVS date: 1999/01/18 00:13:45

commit 260b5c18cec1e1059f11060277a2191f8c07b151
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 15 17:29:21 1999 +0000

    Update from libtool.
    
    CVS patchset: 2708
    CVS date: 1999/01/15 17:29:21

commit e616c441bc870b20b741bd10dd00665871e198f4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 15 16:31:14 1999 +0000

    Use %optflags from rpmrc not macros.
    
    CVS patchset: 2706
    CVS date: 1999/01/15 16:31:14

commit 94c5a9f233102f51f997aedda302f47f522b10a0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 15 16:20:17 1999 +0000

    Bump release.
    
    CVS patchset: 2705
    CVS date: 1999/01/15 16:20:17

commit b5361c831885403c08bcacd811125c5a42279c2d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 15 03:50:51 1999 +0000

    relocate filelists from files opened in a callback
    
    CVS patchset: 2704
    CVS date: 1999/01/15 03:50:51

commit d35b55b7b74b50e0fb089e98a92b809309294246
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 15 03:49:40 1999 +0000

    handle stat of / properly for fingerprints
    
    CVS patchset: 2703
    CVS date: 1999/01/15 03:49:40

commit 08bfb976269799d72aadd2ce8d7966d7f4b3c4e6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 22:53:33 1999 +0000

    Default value for ALLPERMS.
    
    CVS patchset: 2702
    CVS date: 1999/01/13 22:53:33

commit aa362e8c171e6eda8fa3c575fdfe7e659e8fbfcf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 22:10:00 1999 +0000

    Use mmap when writing rpm's.
    
    CVS patchset: 2701
    CVS date: 1999/01/13 22:10:00

commit fda6c97ad1e5fa639fa95369aabd46b40ab226cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 21:20:00 1999 +0000

    Don't free alooca memory.
    
    CVS patchset: 2700
    CVS date: 1999/01/13 21:20:00

commit fc0c2ddc4ff37f2f220ef01134fb9597f50f1784
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 20:24:00 1999 +0000

    Fix: sub-packages require name from header (which is not %{name}).
    
    CVS patchset: 2699
    CVS date: 1999/01/13 20:24:00

commit bc0404541a5041b9745055cd9d7b226423c85084
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 20:13:20 1999 +0000

    Release is 9.
    
    CVS patchset: 2698
    CVS date: 1999/01/13 20:13:20

commit d2afcd026091eab068d802d6401b69c14aadd1df
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 19:28:12 1999 +0000

    Use mktemp(3) for temp file names.
    
    CVS patchset: 2697
    CVS date: 1999/01/13 19:28:12

commit a48b72b8b9115ba673643ae2ba5a6d9a2326880d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 13 18:30:31 1999 +0000

    Fix: seg fault due to multiple close in runScript().
    More const char * within verify.
    
    CVS patchset: 2696
    CVS date: 1999/01/13 18:30:31

commit 82065b1d64a263de245efd08978003bc54d07707
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 12 11:44:21 1999 +0000

    Bump version.
    
    CVS patchset: 2693
    CVS date: 1999/01/12 11:44:21

commit b5d564eb99cd9798996627af4c30e4a652e955b5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 12 11:43:31 1999 +0000

    Automake noise..
    
    CVS patchset: 2692
    CVS date: 1999/01/12 11:43:31

commit 33d610be387218a7c786a84e585efd2cc3a33881
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 12 03:11:25 1999 +0000

    I'm too lazy to put these in a third time.
    
    CVS patchset: 2691
    CVS date: 1999/01/12 03:11:25

commit 37a0fd968d3e033a71f0f3e5ed12cefedb5a6ab6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 11 23:16:09 1999 +0000

    Typo.
    
    CVS patchset: 2690
    CVS date: 1999/01/11 23:16:09

commit 42ea3846fc41b46a314b711ab91faa3d9153c5aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 10 21:39:13 1999 +0000

    Bump version.
    
    CVS patchset: 2689
    CVS date: 1999/01/10 21:39:13

commit dd63b4fd681b1ee38d31c963d6c6ec59664211a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 10 17:10:17 1999 +0000

    More fixes from Toshio.
    
    CVS patchset: 2688
    CVS date: 1999/01/10 17:10:17

commit 8e4b5d19fc40b0b5af6364ae855ea39564ce768c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 9 00:24:02 1999 +0000

    1998 8 Jan Toshio Kuratomi <badger@prtr-13.ucsc.edu>
        * rpm.c: An error message for --nomd5 incorrectly  read "--nopgp can only
          be used during...."... Changed the --nopgp to --nomd5
    1998 7 Jan  Toshio Kuratomi <bagder@prtr-13.ucsc.edu>
        * lib/rpmlib.h: Add a RPMSIGTAG_GPG define for gnupg.
        * lib/rpmlib.h: Add RPMVAR_GPG_PATH and RPMVAR_GPG_NAME variables.
        * lib/rpmrc.c: (optionTable) Add gpg_path and gpg_name to the optionTable
          (same stats as pgp_name and pgp_path.)
        * lib/signature.c: (rpmLookupSignatureType) Add RPMSIGTAG_GPG as one of the
          recognized types.
        * lib/signature.c: (rpmAddSignature) Add ability to create gnupg signature.
        * lib/signature.c: (makeGPGSignature) Routine to create a gnupg signature
          (based on makePGPSignature.)
        * lib/signature.c: (rpmVerifySignature) Add ability to verify gnupg
          signatures.
        * lib/signature.c: (verifyGPGSignature) Routine to verify a gnupg signature
          (based on verifyPGPSignature.)
        * lib/signature.c: (rpmGetPassPhrase) When getting pass phrase for gnupg,
          use RPMVAR_GPG_NAME instead of RPMVAR_PGP_NAME if we are signing with
          GPG isntead of PGP.
        * lib/signature.c: (checkPassPhrase) Need to allow for GPG when we check
          the PassPhrase's correctness.
        * rpm.c: Add equivalent GPG lines everywhere we find a PGP line.
        * rpm.c: Add equivalent gpg stanzas wherever we find a pgp stanza.
        * checksig.h: define CHECKSIG_GPG (1 << 2)  [Is this correct?]
        * checksig.c: (doCheckSig) Check for GPG signatures.  [A lot could be
          wrong/left out here.]
        * rpm.c: change the call to rpmGetPassPhrase to throw in the sigType as
          well.
        * signature.h: change rpmGetPassPhrase declaration to:
          rpmGetPassPhrase(const char * prompt, const int sigTag);
        * signature.c: (rpmGetPassPhrase) change the function to accept the
          signature type as its second argument.
    
    CVS patchset: 2686
    CVS date: 1999/01/09 00:24:02

commit 8792366734a989de7865d45218fdc75ba7e023ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 8 20:30:50 1999 +0000

    Fix check for source RPM.
    
    CVS patchset: 2685
    CVS date: 1999/01/08 20:30:50

commit b9370c8b18f761db7f161684bb1478b184af02b2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 8 19:53:34 1999 +0000

    defaultdocdir should not have testdir prepended.
    
    CVS patchset: 2684
    CVS date: 1999/01/08 19:53:34

commit b7fde554e60769d77d57e2e9ea2bfcec873d4575
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 8 17:21:21 1999 +0000

    Bump release.
    
    CVS patchset: 2683
    CVS date: 1999/01/08 17:21:21

commit 303fa780d31fb4b408515e89e5bee43a7fc12632
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jan 8 16:44:30 1999 +0000

    EGCS cruft.
    Use cpioStrerror when getNextHeader fails.
    More const warnings removed.
    binary rpms always have RPMTAG_SOURCERPM, source rpms do not.
    
    CVS patchset: 2682
    CVS date: 1999/01/08 16:44:30

commit 401268b739cd07cb51c227456ee7e01dfbb6bff3
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 8 03:12:51 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2681
    CVS date: 1999/01/08 03:12:51

commit c4b85d23ed171c6b3d7fdccb4be1e05aefbd38da
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 8 03:12:11 1999 +0000

    const cleanups
    
    CVS patchset: 2680
    CVS date: 1999/01/08 03:12:11

commit a12dc83141f2ed32b8511d16aa800d11d5c480cc
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 8 03:11:54 1999 +0000

    make use of currentDirectory()
    
    CVS patchset: 2679
    CVS date: 1999/01/08 03:11:54

commit 8bef8b932c7b913a12f58d21615336299e0624bb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 8 03:10:12 1999 +0000

    added currentDirectory()
    
    CVS patchset: 2678
    CVS date: 1999/01/08 03:10:12

commit 0c69b1363d0f61e1f78c33e334987d8429d45996
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 8 03:09:57 1999 +0000

    1) const cleanups
    2) chroot() when setting up file actions
    
    CVS patchset: 2677
    CVS date: 1999/01/08 03:09:57

commit a4a7a0e44eb6a5f6d3517fc32ee84e25c436c8fc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 17:06:24 1999 +0000

    assemble replaced file list
    
    CVS patchset: 2676
    CVS date: 1999/01/07 17:06:24

commit fbc95234ac04ae834985298983068b2fa024f8ec
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 17:05:10 1999 +0000

    added struct sharedFileInfo
    
    CVS patchset: 2675
    CVS date: 1999/01/07 17:05:10

commit b369006f28ccef0c911e30341586880621a9b227
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 17:05:02 1999 +0000

    replaced file list is passed in externally
    
    CVS patchset: 2674
    CVS date: 1999/01/07 17:05:02

commit 560d7be379d02109d82d2ba9e3f0b9585b05ec4b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 04:11:12 1999 +0000

    \n properly if -v is used on install w/o -h
    
    CVS patchset: 2673
    CVS date: 1999/01/07 04:11:12

commit deff5aec38ebefec951308a4204802f3e89ccc70
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 04:07:31 1999 +0000

    try to use notify function properly (though hashing still doesn't work??)
    
    CVS patchset: 2672
    CVS date: 1999/01/07 04:07:31

commit 3036da5cf68b1b6cacab7db54e078d2e92413f19
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 04:07:00 1999 +0000

    1) don't pass a label string for source package installation
    2) rpmtransAddPackage() can fail (only on source packages though)
    
    CVS patchset: 2671
    CVS date: 1999/01/07 04:07:00

commit fd5e7c4e30fd89a49d64bf54fbb1734a8ad04c9d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 04:06:30 1999 +0000

    don't let them add packages for installation if they are source packages
    
    CVS patchset: 2670
    CVS date: 1999/01/07 04:06:30

commit 1164370f664f6c3ec6b12a9a6743ebb5e857f581
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 7 04:05:23 1999 +0000

    reworked rework of source package install -- I think this was is
    cleaner, and more in the spirit of transaction sets (sorry Jeff)
    
    CVS patchset: 2669
    CVS date: 1999/01/07 04:05:23

commit 72111f3e44428fd9bda9031aa01f8e1a7d1189da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 7 00:45:52 1999 +0000

    Re-implement the ability to install source rpms.
    
    CVS patchset: 2668
    CVS date: 1999/01/07 00:45:52

commit b2f3993b1bd22becd6289445abbb4fe6d8db2bed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 6 21:05:03 1999 +0000

    Eliminate inline functions (the inline, not the function).
    EGCS cruft.
    
    CVS patchset: 2667
    CVS date: 1999/01/06 21:05:03

commit 95cfbca845f9fd1328ad1d4ee81dcf69c804a1f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 6 20:54:08 1999 +0000

    EGCS cruft.
    
    CVS patchset: 2666
    CVS date: 1999/01/06 20:54:08

commit 0e31bb0e781ed81387752daaa561a95597d5811f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 6 18:19:36 1999 +0000

    Typos.
    
    CVS patchset: 2665
    CVS date: 1999/01/06 18:19:36

commit c959f725695701b3fd2bd3b64714ae5744b597e1
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 6 17:45:48 1999 +0000

    Bump release.
    
    CVS patchset: 2664
    CVS date: 1999/01/06 17:45:48

commit bd626d134d27fa77cae0f26aa7c03649d1bb2ef9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 6 17:33:50 1999 +0000

    propagate "const char *" into rpmlib prototypes.
    
    CVS patchset: 2663
    CVS date: 1999/01/06 17:33:50

commit 7eca53f7ea2a634205d7234bc00d1f06e378db39
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:56:31 1999 +0000

    fixed an infinite loop (oops)
    
    CVS patchset: 2662
    CVS date: 1999/01/06 03:56:31

commit 1ba327b1e8e6af7e8698fac13783cbb94f67e9d9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:54:56 1999 +0000

    upgrade flag wasn't being passed properly
    
    CVS patchset: 2661
    CVS date: 1999/01/06 03:54:56

commit 69e9b14c97eea43ef96ca5f25f8ef70568365f43
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:51:53 1999 +0000

    fixed labels and hashing
    
    CVS patchset: 2660
    CVS date: 1999/01/06 03:51:53

commit 1fd38f09887057bc8cf77f9a444fca46b7735adc
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:16:35 1999 +0000

    use altH in problem struct
    
    CVS patchset: 2659
    CVS date: 1999/01/06 03:16:35

commit decbbfcdabc3fa13fd325f2b5635b16d95902c0a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:16:14 1999 +0000

    display altH info for file conflicts
    
    CVS patchset: 2658
    CVS date: 1999/01/06 03:16:14

commit 78064b8749230db3d2ff53a0a05b9699e9d42c28
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:15:45 1999 +0000

    added altH field to problem structure
    
    CVS patchset: 2657
    CVS date: 1999/01/06 03:15:45

commit 03c8985d5e82b2910d7732da628b3808d6b524fa
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:14:44 1999 +0000

    include lookup.h
    
    CVS patchset: 2656
    CVS date: 1999/01/06 03:14:44

commit 8b6764efbcb0a1ba51f90a1d11efdd3494133292
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 03:14:26 1999 +0000

    *** empty log message ***
    
    CVS patchset: 2655
    CVS date: 1999/01/06 03:14:26

commit 0a15aaad53d0cf71344b84e3a7deff104315dc96
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 6 02:29:42 1999 +0000

    headers in available lists weren't being freed properly
    
    CVS patchset: 2654
    CVS date: 1999/01/06 02:29:42

commit 8af5b5af8757e9385ea90770997b45f4f82c06db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 5 23:13:56 1999 +0000

    Expand path macros with rpmGetPath(path, ...).
    
    CVS patchset: 2652
    CVS date: 1999/01/05 23:13:56

commit c7c985480ab320547dbdb977a0e8682c24710393
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Jan 5 17:27:04 1999 +0000

    Avoid segfault with "rpm --initdb" when no database exists.
    
    CVS patchset: 2650
    CVS date: 1999/01/05 17:27:04

commit 0906a9bebd1ec9c72125980d8de4d158dc9a4d5e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jan 4 22:10:05 1999 +0000

    Playpen release.
    
    CVS patchset: 2649
    CVS date: 1999/01/04 22:10:05

commit 84bfb712a6daa5bbb251bb68b52863e07c92425b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 19:11:04 1999 +0000

    1) install packages still need to pay attention to db entries for
       packages being removed
    2) don't ignore the removal action decided on by the database just
       because of overlapping files
    
    CVS patchset: 2648
    CVS date: 1999/01/04 19:11:04

commit c4567f6371f37c82004d5425278d8f4c3ae85c38
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:44:52 1999 +0000

    canonicalize the root directory
    
    CVS patchset: 2647
    CVS date: 1999/01/04 16:44:52

commit fcfce2db40da497ebd1d7f169eefe44a48884cc0
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:44:38 1999 +0000

    removed removeBinaryPackage()
    
    CVS patchset: 2646
    CVS date: 1999/01/04 16:44:38

commit 37d4963129888be4cb4870e22f0bac48d7e7f0da
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:44:20 1999 +0000

    package removal should have proper semantics now
    
    CVS patchset: 2645
    CVS date: 1999/01/04 16:44:20

commit 46328662ee8ce15b284472dfda857d4be872a63e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:44:05 1999 +0000

    Use an action list which is passed into removeBinaryPackage() rather then
    generating our own. This outdated a bunch of functions (like
    handleSharedFiles()), which have been removed.
    
    CVS patchset: 2644
    CVS date: 1999/01/04 16:44:05

commit 6ef4113eb330e8bef70835a09bde3ec31b484f01
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:43:31 1999 +0000

    1) renamed enum instAction to enum fileActions
    2) removed KEEP action (it was identical to SKIP), added REMOVE action
    3) removed findSharedFiles() prototype
    4) added removeBinaryPackages() and fileActionString() prototype
    
    CVS patchset: 2643
    CVS date: 1999/01/04 16:43:31

commit fca3a181f4127fd669ab94a37f99b273ce66a017
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 4 16:42:15 1999 +0000

    1) moved root canonicalization to transaction set creation
    2) removed KEEP state (SKIP had identical semantics)
    3) added REMOVE state to fileActionString()
    4) export fileActionString()
    
    CVS patchset: 2642
    CVS date: 1999/01/04 16:42:15

commit 854d1760c0e45659897e0eba6b400e3bb8652e03
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Jan 3 03:13:50 1999 +0000

    Expand SPECDIR/SOURCEDIR using macros.
    
    CVS patchset: 2641
    CVS date: 1999/01/03 03:13:50

commit e8d006c635bc39cb9190f240b03bbb30399dbdc4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 31 22:09:43 1998 +0000

    use "original db-1.85" if available (Raw Hide glibc 2.1).
    
    CVS patchset: 2640
    CVS date: 1998/12/31 22:09:43

commit 7731ce66a1762885e2097d906393c2b6f91026f5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 20:19:07 1998 +0000

    create .rpmorig stuff
    
    CVS patchset: 2639
    CVS date: 1998/12/31 20:19:07

commit 670095971ec8a92252a8fa6fd8f85fdd43248f79
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 19:16:31 1998 +0000

    generate a file action list and pass it into installBinaryPackage()
    
    CVS patchset: 2638
    CVS date: 1998/12/31 19:16:31

commit 9102dc094c2796cbc0527e2198072f489b37c9fb
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 19:16:12 1998 +0000

    makes use of a passed in action list rather then generating our own
    
    CVS patchset: 2637
    CVS date: 1998/12/31 19:16:12

commit 3dde252b6801e5b6f56bd11cfabe0176324d0424
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 16:19:42 1998 +0000

    switched around file conflict logic to build a proper action set
    
    CVS patchset: 2636
    CVS date: 1998/12/31 16:19:42

commit ae671205466b3dc0b34c445e1b85ec641f79e935
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 16:19:20 1998 +0000

    updated a comment ;-)
    
    CVS patchset: 2635
    CVS date: 1998/12/31 16:19:20

commit 029e1deb65f2a08b623e9c6e1907fba36f7e1eb2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 16:18:58 1998 +0000

    enum instActions { UNKNOWN, CREATE, BACKUP, KEEP, SAVE, SKIP, ALTNAME };
    enum fileTypes { XDIR, BDEV, CDEV, SOCK, PIPE, REG, LINK } ;
    
    CVS patchset: 2634
    CVS date: 1998/12/31 16:18:58

commit bedb797889055f375a4916baca74c2ae6c5b29b9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 31 16:18:27 1998 +0000

    renamed some enums to avoid conflicts with enums now defined in install.h
    
    CVS patchset: 2633
    CVS date: 1998/12/31 16:18:27

commit 381dd7d4532a0e9475a9b8d8c30a12f3799d09d7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 23:03:43 1998 +0000

    reworked shared file lookups in database; it's *much* more efficient now
    
    CVS patchset: 2632
    CVS date: 1998/12/30 23:03:43

commit b2c5f65efb7b777be4cba6d3fdf6b55cba111c4a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 23:03:18 1998 +0000

    updated relocateable package handling
    
    CVS patchset: 2631
    CVS date: 1998/12/30 23:03:18

commit 8d0dd34d5c9089b5e6a9d17e329a2938db2ccefb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 23:02:49 1998 +0000

    added RPMPROB_FILE_CONFLICT message
    
    CVS patchset: 2630
    CVS date: 1998/12/30 23:02:49

commit 87451ef325979e5cf6c5b25c5ec57f6bc5ad5571
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 23:02:27 1998 +0000

    fixed scare memory option
    
    CVS patchset: 2629
    CVS date: 1998/12/30 23:02:27

commit a771d1a7a827b4144a673a8e0d71942752677be0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 23:01:11 1998 +0000

    added rpmdbFindFpList
    
    CVS patchset: 2628
    CVS date: 1998/12/30 23:01:11

commit fdef7d45749917bc6465de816d9012e8747a0860
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 21:39:51 1998 +0000

    headerLoad() wasn't initializing the usage count
    
    CVS patchset: 2627
    CVS date: 1998/12/30 21:39:51

commit 42edfe17497d61b7d2b6909da12fc00fbdb8f03c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 20:22:18 1998 +0000

    make sure files to sign exist before asking for the pass phrase
    
    CVS patchset: 2625
    CVS date: 1998/12/30 20:22:18

commit 7618c64e23ddf34c702ac8abc7e74d23ef83c932
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 16:59:54 1998 +0000

    1) make use of fpLookupList() for some speedup
    2) be a bit better about freeing memory -- I'm sure there are plenty
       of holes left still, though
    3) added a braindead db lookup for shared files. this will be reworked soon.
    
    CVS patchset: 2624
    CVS date: 1998/12/30 16:59:54

commit d7ad76b4fcea79a327c5ef49ad28d1c116c66117
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 30 16:56:28 1998 +0000

    added fpLookupList()
    
    CVS patchset: 2623
    CVS date: 1998/12/30 16:56:28

commit 61a2cbcabfaea2b3f36d7eb1759aab61a935ce80
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 30 01:51:53 1998 +0000

    use "original db-1.85" if available (Raw Hide glibc 2.1).
    
    CVS patchset: 2622
    CVS date: 1998/12/30 01:51:53

commit 27bfa9da821b9653e0193b1c47c616ae015742bf
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 29 03:02:20 1998 +0000

    version 1.2.3
    
    CVS patchset: 2620
    CVS date: 1998/12/29 03:02:20

commit 1a6b3d01c7287161191301fb7591fa2f91366d38
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 29 02:52:47 1998 +0000

    const'ified poptParseArgvString (Jeff Garzik)
    
    CVS patchset: 2619
    CVS date: 1998/12/29 02:52:47

commit d3bd733a950b73d36fa5bea2e033fad3f5977184
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 29 02:35:08 1998 +0000

    fixed memset() in help message generation (Dale Hawkins)
    added extern "C" stuff to popt.h for C++ compilers (Dale Hawkins)
    
    CVS patchset: 2618
    CVS date: 1998/12/29 02:35:08

commit 35381371cda1d98647998f738a8735449a7c4fd3
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 18:32:08 1998 +0000

    make use of fingerprints for checking file conflicts
    
    CVS patchset: 2617
    CVS date: 1998/12/26 18:32:08

commit 55d6927c9d4d63bd8864e86d376312340b9db667
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 18:31:45 1998 +0000

    1) allow generic key types
    2) possibly copy the key around
    3) optionally return the key stored in the table
    
    CVS patchset: 2616
    CVS date: 1998/12/26 18:31:45

commit 008d1240004ce4c0adbc2ba40327ed6bd8537ff8
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 18:29:32 1998 +0000

    added fpHashFunction() and fpEqual()
    
    CVS patchset: 2615
    CVS date: 1998/12/26 18:29:32

commit 429557f9d6e985bfecdfd05d16aa04a454708760
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 17:13:34 1998 +0000

    use fingerprinting for path lookups
    
    CVS patchset: 2614
    CVS date: 1998/12/26 17:13:34

commit a2c96ed1f5f4a6534fda1a55b25fcfbb04371cc9
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 17:13:10 1998 +0000

    removed unused variable
    
    CVS patchset: 2613
    CVS date: 1998/12/26 17:13:10

commit 1319828529c7f462884fa35ecbe92ccef92cd980
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 17:12:50 1998 +0000

    added simple fingerprinting
    
    CVS patchset: 2612
    CVS date: 1998/12/26 17:12:50

commit 29edbba1a83312f5509748b378af87763f9b5e41
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Dec 26 16:33:51 1998 +0000

    1) initial cut at hash tables
    2) initial cut at file list handling during transaction processing
    
    CVS patchset: 2611
    CVS date: 1998/12/26 16:33:51

commit 0199cb5b0add417da4cb4241b4c8dd8070fc8400
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 24 07:09:55 1998 +0000

    Updated the man page, finally.
    
    CVS patchset: 2610
    CVS date: 1998/12/24 07:09:55

commit 92a278f68ed828d744de5cf4d0667fd7403ed6c8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 18 19:09:38 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2606
    CVS date: 1998/12/18 19:09:38

commit 0c254129027caaff918760d86753ef067b5b47a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 17 16:45:22 1998 +0000

    ultrapenguin 1.1.9 sparc64 changes.
    
    CVS patchset: 2605
    CVS date: 1998/12/17 16:45:22

commit 10d3b6d5b6784c8a3c1680497af3e0a15e5e884a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 16 21:58:53 1998 +0000

    first pass at new transaction api; basic installing/removing works
    fine but I wouldn't push it much harder then that
    
    CVS patchset: 2603
    CVS date: 1998/12/16 21:58:53

commit 033797c0ef831a0fd0a8e7ccf4f014e3476a67de
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 15 05:48:11 1998 +0000

    added dbiGetFirstKey()
    
    CVS patchset: 2602
    CVS date: 1998/12/15 05:48:11

commit 2bbb5a8f933867a4c1518eb58bc1b835f3e4b081
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 15 05:46:58 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2601
    CVS date: 1998/12/15 05:46:58

commit 26bd58415bbe763af2f945e8f13ad9d46a0af228
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 15 05:45:36 1998 +0000

    1) store basenames only in fileindex
    2) do realpath stuff in rpmdbFindByFile()
    3) do smart symlink chasing
    
    CVS patchset: 2600
    CVS date: 1998/12/15 05:45:36

commit 665fc7e9094dd6c464dfc604c5e70e7aeaca92a9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 15 05:43:18 1998 +0000

    don't do realpath stuff here; it's done in rpmdbFindByFile() now
    
    CVS patchset: 2599
    CVS date: 1998/12/15 05:43:18

commit ce37ae3d9d7c48e14e710ca94f6e10cfb1592fc8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Dec 14 21:34:11 1998 +0000

    permit http:// and file:// url's as well as ftp://.
    attempt ftp ABOR on query/verify url's.
    cache open ftp control descriptor with password.
    verify needed same realpath semantics as query.
    plug fd leak in urlGetFile().
    
    CVS patchset: 2598
    CVS date: 1998/12/14 21:34:11

commit 80693fe2cecbdf8f8f0e95737dba4f1fbcf2ba59
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 10 20:56:01 1998 +0000

    Move inlines to rpmio.c.
    rpmio.h needs necessary includes.
    
    CVS patchset: 2594
    CVS date: 1998/12/10 20:56:01

commit 4dac29ae701ec67fa55861973ff0d65f84f55d47
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 10 18:37:22 1998 +0000

    releasing 1.2.2
    
    CVS patchset: 2593
    CVS date: 1998/12/10 18:37:22

commit 9d8c68e32d87826eede3849a28d2d5c53fae506e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 5 23:22:41 1998 +0000

    translate cpio errors using cpioStrerror.
    
    CVS patchset: 2592
    CVS date: 1998/12/05 23:22:41

commit fb2fc01de41dc92ebe66a027e975f9063adb6c8a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 5 20:06:00 1998 +0000

    Automake voodoo.
    
    CVS patchset: 2590
    CVS date: 1998/12/05 20:06:00

commit 3fae42117d1489d64f6b5d4d90473b3a059f8fcb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 5 19:38:29 1998 +0000

    display "..?....." rather than "..5....." for unreadable files.
    run time (rather than compile time) host endian check.
    
    CVS patchset: 2589
    CVS date: 1998/12/05 19:38:29

commit c36ca7c15b13dd2221007150b726886232e88a87
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 5 19:18:43 1998 +0000

    Typos.
    
    CVS patchset: 2588
    CVS date: 1998/12/05 19:18:43

commit 9702a4c8c601e628cbf6345f19f92f0ce75e8e7f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Dec 5 19:16:19 1998 +0000

    display "..?....." rather than "..5....." for unreadable files.
    run time (rather than compile time) host endian check.
    
    CVS patchset: 2587
    CVS date: 1998/12/05 19:16:19

commit c76756479efc783ccfe66cb17c3e0ead6ba88da0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 3 19:36:01 1998 +0000

    caldera patches (ray@Caldera.DE)
    
    CVS patchset: 2584
    CVS date: 1998/12/03 19:36:01

commit d92ce3f6354ce7dba633589a8001348c68cc1351
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 3 19:30:32 1998 +0000

    added ARM patches.
    
    CVS patchset: 2583
    CVS date: 1998/12/03 19:30:32

commit b1e4b6e679ec075ed5c00b837f0eff9f61298790
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Dec 3 17:35:50 1998 +0000

    http/file/ftp URL's for query/verify (but not install) work.
    
    CVS patchset: 2580
    CVS date: 1998/12/03 17:35:50

commit d12d3e8eea84c64d2a0951c6806d654a45a6923a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 3 14:47:55 1998 +0000

    1) let you pass the db type per-index
    2) during rebuild, just open packages.rpm, not the indexes
    
    CVS patchset: 2579
    CVS date: 1998/12/03 14:47:55

commit e3205eaa9f6b14f3989e570162a351739c302a3b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 2 21:10:18 1998 +0000

    Sanity.
    
    CVS patchset: 2577
    CVS date: 1998/12/02 21:10:18

commit 8351bf636ade67fe72c354a4696f63a79fe501ef
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 2 20:50:57 1998 +0000

    made rpmio.o contiain the functions properly
    
    CVS patchset: 2576
    CVS date: 1998/12/02 20:50:57

commit 9b362a451a7cb84df543e7add5e7ef1b0643e243
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 2 19:55:36 1998 +0000

    Compile in default macro values sufficient to pass make check.
    
    CVS patchset: 2575
    CVS date: 1998/12/02 19:55:36

commit b3179e6de35d2b960dab92230e106a817b00bc64
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 2 18:09:41 1998 +0000

    Set max_macro_depth to 16 always.
    
    CVS patchset: 2574
    CVS date: 1998/12/02 18:09:41

commit d92392129691bddc6cb6ce6fbefd6969fd02d315
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 2 17:59:32 1998 +0000

    change --rcfile to permit colon separated file list.
    compile in defaults from rpmrc/macros.
    
    CVS patchset: 2573
    CVS date: 1998/12/02 17:59:32

commit 4c4388dea16abe3083ed0fdb237983388d264ddc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Dec 2 15:17:01 1998 +0000

    Sanity.
    
    CVS patchset: 2572
    CVS date: 1998/12/02 15:17:01

commit d13e72854260e93b68cae7fd9bf3304743c69ace
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 1 23:28:26 1998 +0000

    More build popts moved to build.c
    Fix access of freed memory.
    
    CVS patchset: 2571
    CVS date: 1998/12/01 23:28:26

commit d1b089000e2b91f6d42848b4ccd4a30b0aae223c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 1 22:28:41 1998 +0000

    fixed a few typos, documented POPT_ARGFLAG_DOC_HIDDEN
    
    CVS patchset: 2570
    CVS date: 1998/12/01 22:28:41

commit ef96e432ede7b490d3256dcd6ef6fe4ce054cb71
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 1 19:05:36 1998 +0000

    POPT_ARG_VAL appears to work, now that I have a finished test case...
    
    CVS patchset: 2569
    CVS date: 1998/12/01 19:05:36

commit 234db2e2f68fe57220371d2d46f9c68897223eff
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 1 17:18:38 1998 +0000

    Start separating build options.
    I18N for popt tables.
    
    CVS patchset: 2568
    CVS date: 1998/12/01 17:18:38

commit 5f72265982d9fc3de1bc506dbea33dc64d5700a3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Dec 1 00:10:18 1998 +0000

    Sanity.
    
    CVS patchset: 2567
    CVS date: 1998/12/01 00:10:18

commit 5d69afce68cc51d4d8f9b4e1c87e1f538409fbd8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 30 22:39:11 1998 +0000

    Use AC_CANONICAL_SYSTEM, not AC_CANONICAL_HOST.
    
    CVS patchset: 2566
    CVS date: 1998/11/30 22:39:11

commit 4e4d1936359e11d9c0bbff7b55997d8043e84551
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 30 20:54:35 1998 +0000

    Add library dependencies.
    Remake with latest automake.
    
    CVS patchset: 2565
    CVS date: 1998/11/30 20:54:35

commit 03864a75db89b44efc68c94c965e80227bedb940
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 30 17:53:01 1998 +0000

    switched to rpmfilexists
    
    CVS patchset: 2564
    CVS date: 1998/11/30 17:53:01

commit 4dede4ad3c1a04f17dc3ec77b50d6ff942129cfd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 30 17:48:03 1998 +0000

    switched exists() to rpmfileexists()
    
    CVS patchset: 2563
    CVS date: 1998/11/30 17:48:03

commit 2940357e3df5c2701ef748cc9d2f1054e52945de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 20:23:32 1998 +0000

    fix incorrect directory permissions using %attr/%defattr.
    
    CVS patchset: 2562
    CVS date: 1998/11/25 20:23:32

commit b4b8bc6a61cb427b744da4ed5cbc546ab9a641c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 19:52:12 1998 +0000

    Sanity.
    
    CVS patchset: 2561
    CVS date: 1998/11/25 19:52:12

commit 469f309419c1cd9da52327bc0aa6905a5fab6a42
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 19:43:31 1998 +0000

    Sanity.
    
    CVS patchset: 2560
    CVS date: 1998/11/25 19:43:31

commit 65f24cffd10f55f6fa818412a3c1d44fab9d099a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 19:31:10 1998 +0000

    Sanity.
    
    CVS patchset: 2559
    CVS date: 1998/11/25 19:31:10

commit 46052773f37316fb3b03e621aebdfde739274c0c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 19:09:55 1998 +0000

    Use VFA_t for %verify attribute parsing.
    
    CVS patchset: 2558
    CVS date: 1998/11/25 19:09:55

commit b2fd4c2d88653aa2d3832e24c066f9d5d204772a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 25 00:42:36 1998 +0000

    Add dup for the "other" gzdopen premature close.
    
    CVS patchset: 2556
    CVS date: 1998/11/25 00:42:36

commit 4551a1256f6c43498c838838fe9343e8b6ccb69a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 24 19:30:38 1998 +0000

    Clean up on files.c.
    
    CVS patchset: 2555
    CVS date: 1998/11/24 19:30:38

commit bf93337cec80049e178d4c8e2762bb68c89ff7a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 23 21:47:55 1998 +0000

    Sanity.
    
    CVS patchset: 2554
    CVS date: 1998/11/23 21:47:55

commit fa463ea4ab6ecec6ee6ccb5b48a08d60ab1b1a4f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 23 19:06:28 1998 +0000

    Typo.
    
    CVS patchset: 2553
    CVS date: 1998/11/23 19:06:28

commit eb0436b4b23ebdc8d18d2745223b6ceaf9e9a94c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 22 19:48:48 1998 +0000

    Start abstracting compressed I/O.
    
    CVS patchset: 2552
    CVS date: 1998/11/22 19:48:48

commit a15a36abd12dba7dcf5cab390100dfcbc16dd6b8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 20 20:18:22 1998 +0000

    Sanity.
    
    CVS patchset: 2551
    CVS date: 1998/11/20 20:18:22

commit 8f2a5b4031cba427d46b8d19a8da5d30eddb2f4a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 20 00:34:55 1998 +0000

    update-po.
    
    CVS patchset: 2550
    CVS date: 1998/11/20 00:34:55

commit 1a20fafcc9c37b5df659ff2e3f4f284bbb797dda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 20 00:31:53 1998 +0000

    Add querytags test.
    
    CVS patchset: 2548
    CVS date: 1998/11/20 00:31:53

commit 2b44c3a5c3528eb84df457317243f82f1a98dd36
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 20 00:29:46 1998 +0000

    permit "rpm -q --specfile ... file.spec" queries.
    
    CVS patchset: 2547
    CVS date: 1998/11/20 00:29:46

commit 8d6486d50f9bac50b3d49245e15b159933958cf9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Nov 19 20:56:15 1998 +0000

    Improved man page a bit, install by default.
    Added POPT_ARG_VAL
    
    CVS patchset: 2545
    CVS date: 1998/11/19 20:56:15

commit 7e617bde3629f7fbfa7e600621a6196f2653498e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 19 19:10:23 1998 +0000

    lclint noise.
    
    CVS patchset: 2544
    CVS date: 1998/11/19 19:10:23

commit dc7ee4090deb5638aee8837f7cad73840cf74e5f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Nov 19 18:10:28 1998 +0000

    finish hiding rpmdb index record data ("matches").
    
    CVS patchset: 2543
    CVS date: 1998/11/19 18:10:28

commit 2578b7fc8451f06f83640b448bda098e295447cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 18 21:41:05 1998 +0000

    implement abstract fd type almost everywhere.
    
    CVS patchset: 2542
    CVS date: 1998/11/18 21:41:05

commit 9e52926682d6df396086c32c9c86a81212441775
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Nov 18 19:42:07 1998 +0000

    Sanity.
    
    CVS patchset: 2541
    CVS date: 1998/11/18 19:42:07

commit 28c4ae83a312a54cbe0faa2827ca6a3f9106b4a9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Nov 16 21:40:28 1998 +0000

    LCLINT pass 0.
    
    CVS patchset: 2540
    CVS date: 1998/11/16 21:40:28

commit bed2bf89c9cc52f655900413d32eb8a5bdcb810c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 16 21:01:30 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2539
    CVS date: 1998/11/16 21:01:30

commit bc2c860f87d25ce6be51e9dfd3f352879b6e5547
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 16 21:00:43 1998 +0000

    bug in alias handling (showed up w/ --triggers)
    
    CVS patchset: 2538
    CVS date: 1998/11/16 21:00:43

commit 3b5593c7e0ea3aadb67669aba623df44c955a8ce
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 15 17:00:24 1998 +0000

    strncasecmp on spec file separators (KDE has %Description).
    
    CVS patchset: 2537
    CVS date: 1998/11/15 17:00:24

commit 468597524d30c44c7c17a20b58c512003ab0dc1a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 8 18:23:16 1998 +0000

    remove redundant md5 computation on uninstall.
    
    CVS patchset: 2534
    CVS date: 1998/11/08 18:23:16

commit 2d8382033656676768b21ca792302b106b86fc05
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Nov 8 00:15:33 1998 +0000

    permit --rmsource --force even if sources/patches are missing.
    
    CVS patchset: 2532
    CVS date: 1998/11/08 00:15:33

commit ff40919a65327793fd4a10855b2898ee538a8e51
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 7 23:55:43 1998 +0000

    permit --rmsource --force even if sources/patches are missing.
    
    CVS patchset: 2531
    CVS date: 1998/11/07 23:55:43

commit bb2f68c51011365af953e407b845adb72c6c267e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 7 22:48:12 1998 +0000

    don't compute md5sum on non-file %config objects. (from Jos Vos)
    
    CVS patchset: 2529
    CVS date: 1998/11/07 22:48:12

commit 886d61a91e41156e5f241a096b85cd8a2c62d2ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Nov 7 22:05:28 1998 +0000

    check arch only on RPMBUILD_{PREP,BUILD,INSTALL,PACKAGEBINARY}.
    
    CVS patchset: 2527
    CVS date: 1998/11/07 22:05:28

commit d51ce05214e8b55b2d493bbb9f572ff5ff06f6fd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 22:55:30 1998 +0000

    configure.in: set default value for RPM. (Tim Mooney)
    
    CVS patchset: 2525
    CVS date: 1998/11/06 22:55:30

commit 7806f10c0378d698e6b12030773556760ec77bf6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 22:42:27 1998 +0000

    update-po.
    
    CVS patchset: 2523
    CVS date: 1998/11/06 22:42:27

commit 03cffdb11976dab2799aa098806c35e15ffeedd5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 22:41:10 1998 +0000

    update and rename Czech (Pavel Makovec <pavelm@terminal.cz>)
    
    CVS patchset: 2522
    CVS date: 1998/11/06 22:41:10

commit 9f08d63bfb8b90817ad141a2eef7b0bde85e0ac6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 22:16:17 1998 +0000

    update Russian translation w man pages.
    
    CVS patchset: 2521
    CVS date: 1998/11/06 22:16:17

commit 496f994b05745c2dc5ad9ff857e7e30d0deb5c44
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 22:12:01 1998 +0000

    add new Epoch: keyword just like Serial:.
    
    CVS patchset: 2520
    CVS date: 1998/11/06 22:12:01

commit 4514c7600fccadf64720905e3512b7343ec6939b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 19:55:55 1998 +0000

    solaris: don't attempt static link. (Tim Mooney)
    fix: timeCheck in rpm.c should be unsigned long. (Tim Mooney)
    osf: prov searches only shared libraries. (Tim Mooney)
    solaris: set PATH in prov/req scripts. (Tim Mooney)
    fix: ignore modes on symlinks. (Tim Mooney)
    
    CVS patchset: 2517
    CVS date: 1998/11/06 19:55:55

commit 45f063a167b2c4e217395efbd5d5ff18c65bacb4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 18:50:33 1998 +0000

    Sanity.
    
    CVS patchset: 2515
    CVS date: 1998/11/06 18:50:33

commit b9defc611c3c62d36bc61be9abd910666281dba4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Nov 6 18:30:35 1998 +0000

    sub-packages inherit RPMTAG_EPOCH (just like RPMTAG_VERSION/RELEASE).
    
    CVS patchset: 2514
    CVS date: 1998/11/06 18:30:35

commit 06346f87e70453d6758ac06837060880a54a2bd2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Nov 3 19:13:50 1998 +0000

    Set value of LOCALEDIR.
    Change name of installed file to popt.mo.
    
    CVS patchset: 2512
    CVS date: 1998/11/03 19:13:50

commit 63898fa0ab57ef356f8c4e6e9f44b85aa8ee2c9f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 29 22:54:31 1998 +0000

    updated to version 1.2.1
    
    CVS patchset: 2511
    CVS date: 1998/10/29 22:54:31

commit 9d5b0438279f888b03c30a77af0130cff1137743
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 29 22:52:03 1998 +0000

    added POPT_ARG_INTL_DOMAIN (Elliot Lee)
    updated Makefile's to be more GNUish (Elliot Lee)
    
    CVS patchset: 2510
    CVS date: 1998/10/29 22:52:03

commit 983300ecb3e5faa170dd939b31c8605ba9f4b136
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 29 16:33:04 1998 +0000

    their must be a { between two % in a query format (unless %% is used)
    
    CVS patchset: 2509
    CVS date: 1998/10/29 16:33:04

commit d05a0a39c9aa57c097c799b6c670877651ad26ac
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 29 15:16:11 1998 +0000

    update-po.
    
    CVS patchset: 2507
    CVS date: 1998/10/29 15:16:11

commit 8b3dc0e6a6949088873e6151162c7958e177a6ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 29 13:49:24 1998 +0000

    Sanity.
    
    CVS patchset: 2506
    CVS date: 1998/10/29 13:49:24

commit 56187988a61e37c7d02e6ea4c02272bf84393547
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 29 13:46:56 1998 +0000

    No more query.h.
    
    CVS patchset: 2505
    CVS date: 1998/10/29 13:46:56

commit 482a553ada47b679df075c1c05dcaad5e3d776e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 27 19:54:08 1998 +0000

    fix off-by-1 alloca that prevented relocating /.
    
    CVS patchset: 2504
    CVS date: 1998/10/27 19:54:08

commit 62efcbd3fc18b322d1cb236f0ea4cf7dc9099beb
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 27 05:41:02 1998 +0000

    1) split query option parsing into popt subtables
    2) moved query code into rpmlib
    
    CVS patchset: 2502
    CVS date: 1998/10/27 05:41:02

commit 2796491ba3a7b3047fbb24f469d31ded77e274fd
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 27 05:38:37 1998 +0000

    implemented POPT_ARGINFO_INC_DATA
    
    CVS patchset: 2501
    CVS date: 1998/10/27 05:38:37

commit f65c9a1541f742f2cfd901e693d3f9ef8bc02b0f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 26 21:53:26 1998 +0000

    Add install steps for libpopt.a and popt.h
    
    CVS patchset: 2500
    CVS date: 1998/10/26 21:53:26

commit 7ce37fbf245ff0348daa8ae4970847d21bfc5c9c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 26 21:20:31 1998 +0000

    don't typedef poptOption on c++
    
    CVS patchset: 2499
    CVS date: 1998/10/26 21:20:31

commit 4cb02e48bb9d348f9d434f9f3791c8b93c22b19f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 20:32:09 1998 +0000

    Revert VERSION change.
    
    CVS patchset: 2498
    CVS date: 1998/10/22 20:32:09

commit dc791bb98dadc41a0617480773746bccf973e719
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 20:15:23 1998 +0000

    Oriphan.
    
    CVS patchset: 2497
    CVS date: 1998/10/22 20:15:23

commit b08a35c0a3b1eca37bc28c210508aa3b39b92e57
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 20:15:05 1998 +0000

    Set VERSION at top of Makefile.am, expand popt.spec.in accordingly.
    
    CVS patchset: 2496
    CVS date: 1998/10/22 20:15:05

commit d1bd01611747c37170b1f0c278443fd3a5e3e892
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 20:06:47 1998 +0000

    Sanity.
    
    CVS patchset: 2495
    CVS date: 1998/10/22 20:06:47

commit 19fbfec6ae76ef696b3839b8f8ba7f8d5d63ebca
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 19:41:24 1998 +0000

    Quiet "make archive: output.
    
    CVS patchset: 2494
    CVS date: 1998/10/22 19:41:24

commit 1d6ef834aafe5aba71ba67912f681b5d49bc5ad9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 19:39:12 1998 +0000

    Check in to test "make archive".
    
    CVS patchset: 2493
    CVS date: 1998/10/22 19:39:12

commit 90d8ac2686423b33aca084200d4f4948bd332500
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 19:11:53 1998 +0000

    Add test1 as compile target.
    
    CVS patchset: 2492
    CVS date: 1998/10/22 19:11:53

commit 3a394eb3e66eac60037f68c560ad2802e79d7d58
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 22 18:59:41 1998 +0000

    fixed a typo in translation
    
    CVS patchset: 2491
    CVS date: 1998/10/22 18:59:41

commit 548d5b27e02740c5d3e822ca56668b43832e7fad
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:58:07 1998 +0000

    use autogen, version 1.2
    
    CVS patchset: 2490
    CVS date: 1998/10/22 18:58:07

commit 1ce75c2e66136f2ed22065a9eb9303bef49abc93
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:57:30 1998 +0000

    use autogen
    
    CVS patchset: 2489
    CVS date: 1998/10/22 18:57:30

commit 0524e0a99cf939d283c5b6005179cdcdada51fba
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:57:04 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2488
    CVS date: 1998/10/22 18:57:04

commit 1abebef2bacc5bf5488568d9777fa7e806f71b8d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:56:55 1998 +0000

    added po subdirectory
    
    CVS patchset: 2487
    CVS date: 1998/10/22 18:56:55

commit 961e7ec87f490a05ed6a3bd3596688b6a711836b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:56:26 1998 +0000

    tried to get install rule working
    
    CVS patchset: 2486
    CVS date: 1998/10/22 18:56:26

commit 95696935ceb9e6e65b62d529abc60701cd07b013
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:53:48 1998 +0000

    added a missing \n
    
    CVS patchset: 2485
    CVS date: 1998/10/22 18:53:48

commit f1ee2a640217ae61da2ccc7fa57c21534416052e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:52:38 1998 +0000

    install popt.mo, not rpm.mo
    
    CVS patchset: 2484
    CVS date: 1998/10/22 18:52:38

commit 00622ef496952ebec0d011c668602041b54e9397
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:51:37 1998 +0000

    added romainian
    
    CVS patchset: 2483
    CVS date: 1998/10/22 18:51:37

commit a5e3717c73c21cb4d2b789790a362083f3a14455
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 22 18:49:50 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2482
    CVS date: 1998/10/22 18:49:50

commit 10c722007a992fd7a830f6dd65a5d5a8253c6b1f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:43:50 1998 +0000

    fixes
    
    CVS patchset: 2481
    CVS date: 1998/10/22 18:43:50

commit dbf444268cbc330807330ad559fd3a1474b3156c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:41:04 1998 +0000

    added po/Makefile.in
    
    CVS patchset: 2480
    CVS date: 1998/10/22 18:41:04

commit 490368555553bc9b6839c099203b00b6acf687c2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:40:57 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2479
    CVS date: 1998/10/22 18:40:57

commit b0ff21dbad2f3769b4814e2b6a9a7b314f797b2f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:33:13 1998 +0000

    these don't need to be in CVS
    
    CVS patchset: 2478
    CVS date: 1998/10/22 18:33:13

commit 1bf1381215c951dbfb69abde35e4c719feef95c5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 18:32:50 1998 +0000

    added i18n support
    
    CVS patchset: 2477
    CVS date: 1998/10/22 18:32:50

commit c272e2a2fc6316e79ce715ddb4c2994bea675cd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 22 18:06:35 1998 +0000

    Standalone popt with automake.
    
    CVS patchset: 2476
    CVS date: 1998/10/22 18:06:35

commit cbbb7842d1212268aaf87e878f9c8cf85eeed2aa
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 16:03:47 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2475
    CVS date: 1998/10/22 16:03:47

commit 48775318719ef627f3d099adfde2bb6bdd26e3e3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 22 16:03:38 1998 +0000

    added ifo on help functions
    
    CVS patchset: 2474
    CVS date: 1998/10/22 16:03:38

commit d56f5e6d16e8343610d9214fdbbe9f11fabe5488
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 21 21:44:18 1998 +0000

    implemented POPT_ARGFLAG_DOC_HIDDEN, POPT_CBFLAG_PRE, POPT_CBFLAG_POST
    
    CVS patchset: 2473
    CVS date: 1998/10/21 21:44:18

commit fa3f916f27a9b3012078ad7c42e454ea54cb017b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 21 20:34:05 1998 +0000

    added poptGetInvocationName()
    
    CVS patchset: 2472
    CVS date: 1998/10/21 20:34:05

commit 46e27fdf22ebbcf2f215486d22ff80eb3986607b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 21 20:31:23 1998 +0000

    added POPT_ARGFLAG_ONEDASH
    
    CVS patchset: 2471
    CVS date: 1998/10/21 20:31:23

commit 3607264dfd549d50e3582b6c7061c65fd281e1af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 20 19:30:02 1998 +0000

    More "make check" enhancement.
    
    CVS patchset: 2469
    CVS date: 1998/10/20 19:30:02

commit 444714ca5cb4a6ceb7a483706cffcf0b550174f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 20 15:36:12 1998 +0000

    Enhanced hello.spec.
    
    CVS patchset: 2468
    CVS date: 1998/10/20 15:36:12

commit 04852fe8b7300ddaba4417250e0b5c4c8bd8f080
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 20 14:40:34 1998 +0000

    Add lead/header/signature/cpio verification.
    
    CVS patchset: 2467
    CVS date: 1998/10/20 14:40:34

commit c98d94abb2ed545771c23729cc5a9be26cde3d24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 20 13:40:27 1998 +0000

    Working make check.
    
    CVS patchset: 2466
    CVS date: 1998/10/20 13:40:27

commit 5fc8cb62a550c25c2d688b1c85fee56203ad1d66
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 20 11:54:13 1998 +0000

    First attempt at "make check".
    
    CVS patchset: 2465
    CVS date: 1998/10/20 11:54:13

commit 6fa0d192717289118eb934d23ea087006b0c4a1a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 16 19:05:12 1998 +0000

    added proper licensing info
    
    CVS patchset: 2464
    CVS date: 1998/10/16 19:05:12

commit 9f20ee028be86ad9c02275772f1153f00c99a4f6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 15 23:29:25 1998 +0000

    augment --showrc with -v, only display set variables without -v.
    add macrofiles variable, permit second entry to initMacros().
    
    CVS patchset: 2463
    CVS date: 1998/10/15 23:29:25

commit 200977cdf3524d4b4e519870940167aef2886e5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 15 16:34:51 1998 +0000

    add config.h defines for scripts like find-requires.
    
    CVS patchset: 2462
    CVS date: 1998/10/15 16:34:51

commit 1b359d4778e687157a7e0f77d0356d549f40e871
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 14 19:00:22 1998 +0000

    Permit multiple -l flags.
    Internalize language loop for speed.
    
    CVS patchset: 2460
    CVS date: 1998/10/14 19:00:22

commit c21f3285204c86aa2e90594798aed4052d618e22
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 13 15:10:10 1998 +0000

    Turn on writing.
    
    CVS patchset: 2457
    CVS date: 1998/10/13 15:10:10

commit d8e111920b0f379e6f659586a73ccbb0f180e522
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 13 15:04:40 1998 +0000

    test1.c
    
    CVS patchset: 2456
    CVS date: 1998/10/13 15:04:40

commit e6ba33c6b498c62584fe5b23524c87eef7a6a711
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 13 14:52:13 1998 +0000

    used POPT_ARG_MASK
    
    CVS patchset: 2455
    CVS date: 1998/10/13 14:52:13

commit 4cee4c7f334964cbfa1c833b2710227f6e3bd489
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 13 14:47:38 1998 +0000

    use POPT_ARG_MASK
    
    CVS patchset: 2454
    CVS date: 1998/10/13 14:47:38

commit 9b1c7d5afc014d1ab333ed15dfa500d8a5bdf3f3
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 13 14:45:18 1998 +0000

    1) added (unimplemented) POPT_CB_USE_INCLUDE_DATA and POPT_ARG_FLAG_*
    2) added (and sued) POPT_ARG_MASK
    
    CVS patchset: 2453
    CVS date: 1998/10/13 14:45:18

commit 301fd9e17335d546b4c49886addcbf9ebfe5fd88
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 12 18:25:56 1998 +0000

    fixed --help
    
    CVS patchset: 2450
    CVS date: 1998/10/12 18:25:56

commit 9daa5cbdee6e00fb642a83ae150f8b71ea3663da
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 12 15:49:16 1998 +0000

    Typo.
    
    CVS patchset: 2448
    CVS date: 1998/10/12 15:49:16

commit 06032e9afd7a6ba6e0401fc707652e5b42c79541
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 11 21:43:10 1998 +0000

    Plug input fd leak.
    
    CVS patchset: 2447
    CVS date: 1998/10/11 21:43:10

commit 0406f6dae3c777968467b6845e02bccb544ceca6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 11 20:58:58 1998 +0000

    Test drill.
    
    CVS patchset: 2446
    CVS date: 1998/10/11 20:58:58

commit a776c84fe10d2fa21211c605665a2ecaa2811b6b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 11 17:32:45 1998 +0000

    Makefile.in generated.
    
    CVS patchset: 2445
    CVS date: 1998/10/11 17:32:45

commit 0609401b792bbcb1b5278b0115a10c56dbe48e7a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 11 16:17:45 1998 +0000

    Sub-dir compilation on solaris.
    
    CVS patchset: 2442
    CVS date: 1998/10/11 16:17:45

commit df9b72c229181fb88f309631bb260b55c0c6a787
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Oct 11 15:19:55 1998 +0000

    permit rpm to be built in a sub-directory (--srcdir=DIR).
    
    CVS patchset: 2441
    CVS date: 1998/10/11 15:19:55

commit 4e498b0bcb7b0669e4eeac32d1a3052718646412
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 9 23:51:19 1998 +0000

    permit rpm to be built in a sub-directory (--srcdir=DIR).
    
    CVS patchset: 2440
    CVS date: 1998/10/09 23:51:19

commit 8ce5bb8febef35db985f3213d8303157983d8f20
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 9 00:52:32 1998 +0000

    return CPIO_BAD_HEADER instead of exiting. (Scott M. Stone)
    
    CVS patchset: 2438
    CVS date: 1998/10/09 00:52:32

commit 768c0238b0544477f81492be0e3339f2b9eaa8fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 9 00:48:18 1998 +0000

    untranslate "(none)" for auto relocating script wrappers.
    
    CVS patchset: 2436
    CVS date: 1998/10/09 00:48:18

commit 70d38b48bccdbfc933bdf9a76d1689d735720d5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 9 00:47:03 1998 +0000

    Sanity.
    
    CVS patchset: 2435
    CVS date: 1998/10/09 00:47:03

commit 12dbb712dddd146acb348c05355bb1fba38fb707
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 18:51:48 1998 +0000

    Do "ln -s a a", not lazy "ln -s a".
    
    CVS patchset: 2431
    CVS date: 1998/10/08 18:51:48

commit 025a69e0d71a094d1dde676d052317a08264296f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 18:49:59 1998 +0000

    rpmgettext on solaris.
    
    CVS patchset: 2429
    CVS date: 1998/10/08 18:49:59

commit 5e2e4ae2ef2d8d0f22e49ff90b14943587ab78a6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 16:03:06 1998 +0000

    Orphan.
    
    CVS patchset: 2428
    CVS date: 1998/10/08 16:03:06

commit 3427af0adbbdef335ca37733938fdd15a93534a4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 16:02:08 1998 +0000

    egcs warnings.
    
    CVS patchset: 2427
    CVS date: 1998/10/08 16:02:08

commit 3c4dd252d7038a7d13c2ed88fbe173eebf88a0e8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 15:16:23 1998 +0000

    Restore rpmputtext compilation.
    
    CVS patchset: 2426
    CVS date: 1998/10/08 15:16:23

commit 1607fbe7a370485b5ae1dcf4ba0f7216a3cbb9bb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 14:59:17 1998 +0000

    Consolidate i18n baggage into AM_GNU_GETTEXT and system.h.
    
    CVS patchset: 2425
    CVS date: 1998/10/08 14:59:17

commit dbc931969995fc56dd9b0361b7fbd8d2264d6472
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 14:23:53 1998 +0000

    add required files to popt.
    restore CVSTAG for "make archive"
    
    CVS patchset: 2424
    CVS date: 1998/10/08 14:23:53

commit afbe183dd5cf6079e1d3249ac54fe8946ad37e49
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 12:44:39 1998 +0000

    Use AC_REPLACE_FUNCS.
    
    CVS patchset: 2423
    CVS date: 1998/10/08 12:44:39

commit d93b2ada1113caba237fd73b04d8eebe45fc5d31
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 11:55:37 1998 +0000

    egcs warning removal.
    
    CVS patchset: 2422
    CVS date: 1998/10/08 11:55:37

commit 7e8efa2f984512efdd92f76c1e13be97c36943a2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 11:19:57 1998 +0000

    automake linux fiddles.
    
    CVS patchset: 2421
    CVS date: 1998/10/08 11:19:57

commit df9fe91d0cc46123a9c93f499d54387609d64e3d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 10:57:03 1998 +0000

    Orphan.
    
    CVS patchset: 2420
    CVS date: 1998/10/08 10:57:03

commit b70bc6469bbd04be5013702159ab70e16e06019d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 10:52:51 1998 +0000

    Orphans.
    
    CVS patchset: 2419
    CVS date: 1998/10/08 10:52:51

commit 1516f1d56c6fc74fa77596e78237ab7400cae4e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Oct 8 10:40:27 1998 +0000

    configure using automake.
    
    CVS patchset: 2418
    CVS date: 1998/10/08 10:40:27

commit 44184bacebad7f7e3d8afc6e31015683ff78e5f5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 7 17:06:10 1998 +0000

    arch/os (and platform) should be case insensitive everywhere forever.
    
    CVS patchset: 2417
    CVS date: 1998/10/07 17:06:10

commit 44df481b463d98d27110da4f48c6d4b0cf8561e2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 7 16:05:51 1998 +0000

    fix per-arch macro setting (e.g. optflags).
    better way to handle Linux vs. linux.
    
    CVS patchset: 2416
    CVS date: 1998/10/07 16:05:51

commit 698ec237180132948d22ee2fea740e2df8dcec5c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 7 15:33:51 1998 +0000

    attempt to deal rationally with os as "Linux" or "linux".
    
    CVS patchset: 2415
    CVS date: 1998/10/07 15:33:51

commit 7a57c1de121da87f67b3713e8a812969c0f17af3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Oct 7 13:48:53 1998 +0000

    Typo.
    
    CVS patchset: 2414
    CVS date: 1998/10/07 13:48:53

commit ffb5ed842f60ea3f234dbe530b25e1f237ceb4f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 23:16:29 1998 +0000

    Move forceIncludeFile to eliminate warning.
    
    CVS patchset: 2412
    CVS date: 1998/10/06 23:16:29

commit 081efe9cfae95e1a231e57da3183fceac1149f44
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 23:11:54 1998 +0000

    Initialize fileStack.
    
    CVS patchset: 2411
    CVS date: 1998/10/06 23:11:54

commit 7ad030f18f118f164a088852aa01ffc2784d006b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 19:18:47 1998 +0000

    non-linux arch/os identification (Eugene Kanter).
    
    CVS patchset: 2410
    CVS date: 1998/10/06 19:18:47

commit 76b407a906cffa58e7d8986b11de92b3da1d032a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 17:56:44 1998 +0000

    portable mode_t/pid_t typedefs.
    
    CVS patchset: 2406
    CVS date: 1998/10/06 17:56:44

commit c821c63f4f1597b44d4a0e96193ddf48a2f74567
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 17:49:59 1998 +0000

    update-po.
    
    CVS patchset: 2404
    CVS date: 1998/10/06 17:49:59

commit fecf31143c2da611b824e323299ac52c7144c46a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 17:34:58 1998 +0000

    add generalized expression handler (Tom Dyas<tdyas@remus.rutgers.edu>)
    
    CVS patchset: 2403
    CVS date: 1998/10/06 17:34:58

commit 606a74badc1788bc0c78221de466c21d5b0f57ee
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 16:04:03 1998 +0000

    use /usr/lib/rpm/mkinstalldirs if mkdir -p fails.
    
    CVS patchset: 2402
    CVS date: 1998/10/06 16:04:03

commit 7a9831a86cb98687225976cced128748e0c1bd08
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 15:26:55 1998 +0000

    more portable dirent handling (Hermann Lauer).
    
    CVS patchset: 2401
    CVS date: 1998/10/06 15:26:55

commit a48ab753eee6ef2d4c45e73b1f3a3a566a8c4350
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Oct 6 14:21:06 1998 +0000

    fix check for trailing / in Prefix:
    
    CVS patchset: 2400
    CVS date: 1998/10/06 14:21:06

commit 0bbb9e055716817b1e0b9ceddf99a3d54fa05098
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 19:49:30 1998 +0000

    miscellaneous portability cruft (Eugene Kanter).
    
    CVS patchset: 2398
    CVS date: 1998/10/05 19:49:30

commit 4acdf2581ad413bb5e48644f0b04ab4bf5bc3ce8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 18:35:07 1998 +0000

    Create.
    
    CVS patchset: 2396
    CVS date: 1998/10/05 18:35:07

commit 8dab48ac0ad15696e3970575a80f53fa226175dd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 18:31:48 1998 +0000

    miscellaneous portability cruft (Eugene Kanter).
    
    CVS patchset: 2395
    CVS date: 1998/10/05 18:31:48

commit 430cc4f45ec0083fb4a8f60afa088250089a4a5a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 17:26:46 1998 +0000

    miscellaneous portability cruft (Eugene Kanter).
    
    CVS patchset: 2392
    CVS date: 1998/10/05 17:26:46

commit ac661a8436f9d63277e610f12b854fa257caea44
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 17:25:18 1998 +0000

    remove 2 character language name assumption.
    add /usr/lib/rpm/find-lang.sh (W. L. Estes <wlestes@uncg.edu>)
    
    CVS patchset: 2391
    CVS date: 1998/10/05 17:25:18

commit 220a2033af18797417d3000b163d237e55dc84f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 17:24:18 1998 +0000

    No i18n on rpminject.c
    
    CVS patchset: 2390
    CVS date: 1998/10/05 17:24:18

commit a0f290873e35f0895dac8ca72cca54cb8b20a177
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Oct 5 17:20:09 1998 +0000

    remove 2 character language name assumption.
    add /usr/lib/rpm/find-lang.sh (W. L. Estes <wlestes@uncg.edu>)
    
    CVS patchset: 2389
    CVS date: 1998/10/05 17:20:09

commit f4b29669e796e147091edaa1329baeb81e2ffe4d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 2 15:37:37 1998 +0000

    miscellaneous portability cruft (Eugene Kanter).
    
    CVS patchset: 2386
    CVS date: 1998/10/02 15:37:37

commit 4e3cea63b560380de0d34e70004f40bbcfc63dda
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 2 14:01:29 1998 +0000

    Makefile: don't use ln -sf.
    
    CVS patchset: 2384
    CVS date: 1998/10/02 14:01:29

commit 0d38d87261256a8753c292571a693e2a040b9723
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 2 13:50:49 1998 +0000

    rpm.spec: create /usr/src/redhat/* in %install.
    
    CVS patchset: 2382
    CVS date: 1998/10/02 13:50:49

commit 83a84b5e430cdc439b11826a8f220f2698723f69
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Oct 2 13:45:30 1998 +0000

    getOutputFrom(): fix race between last read on pipe and child death
    (exacerbated in 2.5.4).
    
    CVS patchset: 2380
    CVS date: 1998/10/02 13:45:30

commit 26e10a5280b10fdaf63a4bf861e5142e7bffe344
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 29 14:19:39 1998 +0000

    Eliminate gcc warning.
    
    CVS patchset: 2378
    CVS date: 1998/09/29 14:19:39

commit a88e320d6d8d2c338e1987bb268d9aaeb192f163
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 28 22:03:28 1998 +0000

    Sync with 2.5.4.
    
    CVS patchset: 2376
    CVS date: 1998/09/28 22:03:28

commit fd068345e6e5165b8b772edc3392adda228800fe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 27 22:03:52 1998 +0000

    add Slovak translation (Stanislav Meduna <stano@trillian.eunet.sk>)
    gettextify rpmMessage/rpmError/fprintf messages.
    
    CVS patchset: 2368
    CVS date: 1998/09/27 22:03:52

commit 4ce5eff979df73a23c4ef071e52cff67693e15d2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 27 21:55:05 1998 +0000

    Add sk translation.
    
    CVS patchset: 2367
    CVS date: 1998/09/27 21:55:05

commit a97c115f33ca6df258fbf412ee9f3ea4cd4bcdfa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 27 20:17:31 1998 +0000

    add Slovak translation (Stanislav Meduna <stano@trillian.eunet.sk>)
    gettextify rpmMessage/rpmError/fprintf messages.
    
    CVS patchset: 2366
    CVS date: 1998/09/27 20:17:31

commit 660ace52bccc0f77573f210aaa5347752f3c045b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 16:05:54 1998 +0000

    fixed ls -l information for sockets
    
    CVS patchset: 2364
    CVS date: 1998/09/27 16:05:54

commit 696d7869323e4813004dbd32874755378d2565d7
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:58:31 1998 +0000

    made callback display val
    
    CVS patchset: 2363
    CVS date: 1998/09/27 15:58:31

commit a388d1ad903c3e0dc659bf3a2a7d62039a037a6f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:57:56 1998 +0000

    split popt into multiple files
    
    CVS patchset: 2362
    CVS date: 1998/09/27 15:57:56

commit 41bcd2e98b4fb80e0ad5569aab9da8b16bb4391f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:56:18 1998 +0000

    1) modified test to display callback val field
    2) split popt stuff into multiple iles
    
    CVS patchset: 2361
    CVS date: 1998/09/27 15:56:18

commit aacc8cc6c9f48decef167358fca1f840e8304294
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:54:20 1998 +0000

    changed popt callbacks t get a pointer into the option table
    
    CVS patchset: 2360
    CVS date: 1998/09/27 15:54:20

commit 88c518a2c8f4e0650c1806cc3dc1afbd77cbc1bd
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:53:49 1998 +0000

    started autohelp, include, and callback docs
    
    CVS patchset: 2359
    CVS date: 1998/09/27 15:53:49

commit 240dac723b6d22f20d87e1eefd404e456bda6386
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 15:02:53 1998 +0000

    by default, allow exec's across absolute paths
    
    CVS patchset: 2358
    CVS date: 1998/09/27 15:02:53

commit 0b277bc85b1fec1aba7566bed03c732ed3088edc
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 27 14:57:03 1998 +0000

    1) added included tables
    2) added option callbacks
    3) added automatic help/usage messages
    
    CVS patchset: 2357
    CVS date: 1998/09/27 14:57:03

commit 60e834d306ea049d85b8f77d6b27933f055883b9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 25 12:20:55 1998 +0000

    update po files; add cz to catalogs.
    
    CVS patchset: 2356
    CVS date: 1998/09/25 12:20:55

commit 563733b477a9592ef347eaf7a7169d5d9e71d63f
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 25 09:07:11 1998 +0000

    expand args using popt on pre-rpmReadConfigFiles arg pass.
    
    CVS patchset: 2354
    CVS date: 1998/09/25 09:07:11

commit 54b2849f61f86f75c1eb7481c6aa7ebd4acb6284
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 20:36:54 1998 +0000

    skip arch checks if only packaging source rpm.
    
    CVS patchset: 2352
    CVS date: 1998/09/24 20:36:54

commit d6a3e244e0aa5308844623f7973f03bd87dc3aaf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 19:13:08 1998 +0000

    add license field to rpmpopt -qi alias.
    
    CVS patchset: 2350
    CVS date: 1998/09/24 19:13:08

commit 4a3682fdc756a9d06117886d502139c163a4891a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 18:02:57 1998 +0000

    provides/obsoletes requires tokens that begin with alnum or _.
    
    CVS patchset: 2347
    CVS date: 1998/09/24 18:02:57

commit 5428fb90f4432052eb08f9b7e3072e1af97bff4c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 17:47:41 1998 +0000

    non-zero exit status for verify failures.
    
    CVS patchset: 2345
    CVS date: 1998/09/24 17:47:41

commit c3970176a9da3bcb466b58977a38b9c6c9d7d8af
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 16:59:24 1998 +0000

    hpux does setreuid differently (Hermann Lauer).
    
    CVS patchset: 2343
    CVS date: 1998/09/24 16:59:24

commit f8f96a4609fac0d82e564153e56dc599f11fdbb9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 16:57:38 1998 +0000

    hpux does setreuid differently (Hermann Lauer)
    
    CVS patchset: 2342
    CVS date: 1998/09/24 16:57:38

commit 4d413b87d8d3a2bacb291cc43322311b556a2408
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 24 16:49:51 1998 +0000

    check for setreuid portably (Eugene Kanter).
    
    CVS patchset: 2340
    CVS date: 1998/09/24 16:49:51

commit 1d6fe134f4b18e190d77e99786d471a8b425b99b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 23 16:23:18 1998 +0000

    add Serbian translation (Zoltan Csala <zcsala@iname.com>).
    
    CVS patchset: 2338
    CVS date: 1998/09/23 16:23:18

commit 1f1bd8211cd8b23f0ea283fc27c92e7613d7e9ec
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 23 13:31:54 1998 +0000

    arch/os tables were not being initialized  for noarch builds.
    
    CVS patchset: 2335
    CVS date: 1998/09/23 13:31:54

commit 7a84b82c3e2d44d8f8bbb5ee2c4b33cbcc0af5e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 20 19:31:57 1998 +0000

    Fix for losing end-of-file message.
    
    CVS patchset: 2333
    CVS date: 1998/09/20 19:31:57

commit 32ffb6b77c138989f89bedb97b8ceaf982a9cc2e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 20 18:27:03 1998 +0000

    Rearrange gettext sources to taste.
    
    CVS patchset: 2332
    CVS date: 1998/09/20 18:27:03

commit 33e58c54f53e14e4f214153a40fa59f9b0ae07aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 20 17:49:35 1998 +0000

    Copies from gettext-0.10.35.
    
    CVS patchset: 2331
    CVS date: 1998/09/20 17:49:35

commit 0ba3a6c926b206f7bc48e6f3d9ae6ed3823dbdeb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 19 23:23:54 1998 +0000

    Sanity.
    
    CVS patchset: 2330
    CVS date: 1998/09/19 23:23:54

commit 572ef48842a4656f5a73fa006598f80dcf348ce5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 19 18:00:25 1998 +0000

    Numeric values for tags in xref field.
    Include src rpm name even if not a sub-package.
    
    CVS patchset: 2329
    CVS date: 1998/09/19 18:00:25

commit d7ffdb24eb55ddbc1d7c9183c8dd2d05d32e0692
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 19 16:57:06 1998 +0000

    Permit gettext with single language.
    
    CVS patchset: 2328
    CVS date: 1998/09/19 16:57:06

commit 6af85682e178fcb056afdbb6ebf21a9f0e55d1f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 19 16:36:22 1998 +0000

    quote users/groups/filenames in --setugids.
    
    CVS patchset: 2327
    CVS date: 1998/09/19 16:36:22

commit bd3f2ce41341dcd14c99e0305fa97731b67bbdbe
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 18 19:10:12 1998 +0000

    First injection.
    
    CVS patchset: 2325
    CVS date: 1998/09/18 19:10:12

commit 669b31acf4367c59f40e99cef4ed3afc8e330e31
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 17 21:02:54 1998 +0000

    Prepare for injection.
    
    CVS patchset: 2324
    CVS date: 1998/09/17 21:02:54

commit 14946826bb3f44df904985d69b84174804714037
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 17 00:58:38 1998 +0000

    Debug parsing problems with xref comments.
    
    CVS patchset: 2323
    CVS date: 1998/09/17 00:58:38

commit 06a486fd6f5bfb765cdfc9f475677d08e8bbe95a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 16 21:17:27 1998 +0000

    More work with xref files.
    
    CVS patchset: 2322
    CVS date: 1998/09/16 21:17:27

commit 603448337a14dfcdd395681dae11088db9a7385d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 16 08:39:29 1998 +0000

    add russian translation w man pages (Serguei Koubouchine <ksi@gu.net>).
    
    CVS patchset: 2321
    CVS date: 1998/09/16 08:39:29

commit 74d621fd11ce72ef1e2efcea1defb52ba694a1de
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 16 08:39:11 1998 +0000

    Typo.
    
    CVS patchset: 2320
    CVS date: 1998/09/16 08:39:11

commit 220fc4aa3cf811e5b892375a65deb23b0f2d08b7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 15 21:21:08 1998 +0000

    Add sourcerpm xref line.
    
    CVS patchset: 2318
    CVS date: 1998/09/15 21:21:08

commit f142465f72fff92e7f9ebc1a826bd0c4a9c5868a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 15 17:14:41 1998 +0000

    Parse out msgstr with lang as domain.
    
    CVS patchset: 2317
    CVS date: 1998/09/15 17:14:41

commit f9cd41664a6137ee82a98ab744ecfdbd539e3005
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 15 16:51:57 1998 +0000

    Parse into msglist, take 1.
    
    CVS patchset: 2316
    CVS date: 1998/09/15 16:51:57

commit 49656cd7e3e93d16aa6dbac51dae7d8be385e537
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 15 14:26:02 1998 +0000

    fix virtual file attribute bug that skipped all files in binary rpm.
    
    CVS patchset: 2315
    CVS date: 1998/09/15 14:26:02

commit 679e135014fbc9af22c3ea26ae435f91064ae51d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 14 20:58:51 1998 +0000

    Swipe data structures from gettext.
    
    CVS patchset: 2311
    CVS date: 1998/09/14 20:58:51

commit b4f7b7d126eb85fe87ec99edae0a62ed4b56814e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 14 18:55:18 1998 +0000

    eliminate infinite loop with missing tmpdir (Trent Jarvi).
    
    CVS patchset: 2310
    CVS date: 1998/09/14 18:55:18

commit 9d1dec2a001f969acd05a5257c709969c9d8bbb6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 14 17:50:49 1998 +0000

    Parser for rpmpo files.
    
    CVS patchset: 2308
    CVS date: 1998/09/14 17:50:49

commit e09d4d2fbfdbdedabe4cf0c969343adfd6e4cad6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Sep 14 17:47:16 1998 +0000

    os_canon for CYGWIN32_NT/95.
    
    CVS patchset: 2307
    CVS date: 1998/09/14 17:47:16

commit 2847b27b7879b7ea50a2e6ceae0f0d8ea02210f9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Sep 13 18:33:17 1998 +0000

    Don't bother with untranslated RPMTAG_GROUP's.
    
    CVS patchset: 2304
    CVS date: 1998/09/13 18:33:17

commit df2707beca642be48d3ad94004db79714cb79cae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 12 21:49:03 1998 +0000

    Merge in rpminject routines.
    
    CVS patchset: 2303
    CVS date: 1998/09/12 21:49:03

commit b68857cfe164fdd3d60383434bd10f9974bf4027
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 12 20:46:24 1998 +0000

    rationalize autoconf detection of gzip/bzip2.
    
    CVS patchset: 2302
    CVS date: 1998/09/12 20:46:24

commit bfb66fb33eaa6aa8ed417cd3514b14add42f23f2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 12 20:14:49 1998 +0000

    Add inputdir, outputdir, and gentran flags.
    Attempt inverse of printing po strings.
    
    CVS patchset: 2300
    CVS date: 1998/09/12 20:14:49

commit 47c0370a06a26fa13d1183fa1851a5aa78ca09a8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 12 19:12:08 1998 +0000

    Extract I18N headers from rpms.
    
    CVS patchset: 2299
    CVS date: 1998/09/12 19:12:08

commit f6aa54688c13665bf0c86ee87bbae9902b28bfd9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 12 13:29:10 1998 +0000

    restore backward compatible rpmrc/rpmpopt symlinks.
    
    CVS patchset: 2298
    CVS date: 1998/09/12 13:29:10

commit 4d8bd387702d57999e1d2586441b0c0dfc9fe7b3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 11 20:14:32 1998 +0000

    update pt_BR translations (Arnaldo Carvalho de Melo).
    
    CVS patchset: 2296
    CVS date: 1998/09/11 20:14:32

commit 640648d955debc56d49a19266a9cd067de94c615
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 11 19:36:34 1998 +0000

    update pt_BR translations (Arnaldo Carvalho de Melo).
    
    CVS patchset: 2294
    CVS date: 1998/09/11 19:36:34

commit fc47c37e207b5fa70087015898e9a89b712c3e00
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 11 08:11:06 1998 +0000

    permit --{buildroot,timecheck,test,sign} with -tX (Toshio Kuratomi).
    
    CVS patchset: 2292
    CVS date: 1998/09/11 08:11:06

commit 3d2769f74da29dd0ba948e7d2ab241f8fdba173d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 11 07:57:41 1998 +0000

    fix database rebuilds with triggers (Steve Sanberg).
    
    CVS patchset: 2290
    CVS date: 1998/09/11 07:57:41

commit dd573c5a8a569afb2b0c1681b929adc6ad063ac8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 10 16:25:15 1998 +0000

    diagnostic message if unreadable/short source or patch file.
    
    CVS patchset: 2287
    CVS date: 1998/09/10 16:25:15

commit 173ebb3fe6d38ac123b13afa29b61a01409707f0
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Sep 10 15:09:21 1998 +0000

    eliminate redundant close in provide/require processing.
    
    CVS patchset: 2286
    CVS date: 1998/09/10 15:09:21

commit 1ae7d58bf0bab6baba3699d480aa19f4b5f5f548
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Sep 9 21:19:59 1998 +0000

    solaris portability patch resurrection (Steve Sanberg).
    
    CVS patchset: 2284
    CVS date: 1998/09/09 21:19:59

commit 0a4e182e4003be1497452658b7b3327975694641
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 5 23:13:35 1998 +0000

    Integrate shell and macro enviroments for scripts.
    
    CVS patchset: 2282
    CVS date: 1998/09/05 23:13:35

commit 5973a1a52d424f1e40e944560c1bbe86064a6f4a
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 5 21:54:05 1998 +0000

    More RPMVAR_* conversion to macros.
    
    CVS patchset: 2281
    CVS date: 1998/09/05 21:54:05

commit 2e89e42535225624e56732a9a3c784bfa87e11cb
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 5 20:12:32 1998 +0000

    Typo.
    
    CVS patchset: 2280
    CVS date: 1998/09/05 20:12:32

commit e8b7b65b28000640df90a72d920eca7daa3db0aa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 5 20:02:08 1998 +0000

    Start converting variables into macro expansions.
       RPMVAR_SOURCEDIR -> %{_sourcedir}
       RPMVAR_BUILDDIR -> %{_builddir}
    
    CVS patchset: 2279
    CVS date: 1998/09/05 20:02:08

commit dd8f00921aa4ec5b45d0db8b3b55b8ea109f1fed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Sep 5 18:20:52 1998 +0000

    Rewrite strsep code using strtok for ANSI C portability.
    Remove RPMVAR_SETENV for now.
    
    CVS patchset: 2278
    CVS date: 1998/09/05 18:20:52

commit 8fa9463826e3aef7ed763b2d1d6bb0937e91b8cd
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Sep 4 16:17:46 1998 +0000

    Sync with 5.2 branch.
    
    CVS patchset: 2275
    CVS date: 1998/09/04 16:17:46

commit 03114f2cf11a853aaa6933beae97f49c2229851e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Sep 1 13:19:24 1998 +0000

    align "Build Host:" with other fields
    
    CVS patchset: 2272
    CVS date: 1998/09/01 13:19:24

commit b2c81de5d619a76a7cee983b87d8b12be32b2fed
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Aug 31 21:06:41 1998 +0000

    copy changelog tags to sub-packages just before packaging.
    
    CVS patchset: 2269
    CVS date: 1998/08/31 21:06:41

commit db15666699babd446f30d74d5e76b0a6d5c28d93
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 25 15:10:04 1998 +0000

    added info on --triggers, --triggeredby
    
    CVS patchset: 2265
    CVS date: 1998/08/25 15:10:04

commit 3d48c1b420b0740006e3b2128b61009a1d5f7dc8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Aug 23 19:23:18 1998 +0000

    speeling
    -Marc
    
    CVS patchset: 2264
    CVS date: 1998/08/23 19:23:18

commit 7c055ccee657b74321c21d9eeae9d421b3f39077
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 20 19:12:30 1998 +0000

    Typo.
    
    CVS patchset: 2263
    CVS date: 1998/08/20 19:12:30

commit 0a38e41556db8b9070f04cc369559a1ed48cfaae
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Aug 20 16:34:58 1998 +0000

    Add RPMTAG_EPOCH and RPMTAG_CAPABILITY init to 0.
    
    CVS patchset: 2262
    CVS date: 1998/08/20 16:34:58

commit fddd1e72153562ba64285af4b283bf155d3c5530
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 19 02:30:02 1998 +0000

    added epoch handling
    
    CVS patchset: 2261
    CVS date: 1998/08/19 02:30:02

commit 546b00b2815a8b56876f74beffb6a45e7dcf91ba
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 16 18:47:20 1998 +0000

    Re-add.
    
    CVS patchset: 2256
    CVS date: 1998/08/16 18:47:20

commit 5a7141d62bdcfe3e50fca26cde2d70e21ed0ad83
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 16 14:35:20 1998 +0000

    Missing attribution.
    
    CVS patchset: 2255
    CVS date: 1998/08/16 14:35:20

commit 8e9041037f6a50d37378c4c83c6267fe2e5c8849
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 16 14:26:04 1998 +0000

    sanity.
    
    CVS patchset: 2253
    CVS date: 1998/08/16 14:26:04

commit 5c7453f237811c40615f4bf66c4276bab4551c02
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 16 14:06:19 1998 +0000

    - added :hex query format
    - fixed --querytags to display virtual tags
    
    CVS patchset: 2252
    CVS date: 1998/08/16 14:06:19

commit 969ea06e161af3b6d6b232922c44a89e5fc77a6d
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 16 13:48:27 1998 +0000

    CHANGES
    
    CVS patchset: 2251
    CVS date: 1998/08/16 13:48:27

commit 2ae7a2d53ccc3ab8b56b795ff3b438f411d20290
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 16 13:43:10 1998 +0000

    added :hex format
    
    CVS patchset: 2250
    CVS date: 1998/08/16 13:43:10

commit 85d8c817233a557ac69ec5268211d24ce7da3e44
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 15 14:04:57 1998 +0000

    Fix infinite recursion on non-ERANGE return from getcwd() during install.
    
    CVS patchset: 2245
    CVS date: 1998/08/15 14:04:57

commit f612cb1bf38b0179bff78ed1b9303af287745ca3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 11 18:24:48 1998 +0000

    Sync with 2.5.2 branch patches.
    cpio_gzip: dup the fd before doing gzdopen (Thanks Erik!)
     add --noLang to skip non-default languages.
    
    CVS patchset: 2243
    CVS date: 1998/08/11 18:24:48

commit 8ff713d13030f2f598e33535366f785047bd50e4
Author: Jeff Johnson <jbj@redhat.com>
Date:   Tue Aug 11 16:09:20 1998 +0000

    rm .depend for multiple builds in same tree (Will Partain)
    
    CVS patchset: 2242
    CVS date: 1998/08/11 16:09:20

commit 7a94ee782ec2afa3a1615f14cc8fb46fbad0becf
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 9 17:01:57 1998 +0000

    Get the lead exactly right w/o reading rpmrc.
    
    CVS patchset: 2240
    CVS date: 1998/08/09 17:01:57

commit aa8549e65b669b39fc8e9eb6e9288e853f5175d8
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 8 22:27:08 1998 +0000

    writeRPM can now copy cpio archive from fd.
    iVS: ----------------------------------------------------------------------
    
    CVS patchset: 2239
    CVS date: 1998/08/08 22:27:08

commit 145d77b79d95dcf1f4866921f97e97602c275f65
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Aug 7 18:35:05 1998 +0000

    initMacros must be called someplace to enable full reursion.
    Suggestions for further arch/os decimation.
    
    CVS patchset: 2238
    CVS date: 1998/08/07 18:35:05

commit b17070240573c434575c40f25a010a227c1db604
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 21:53:49 1998 +0000

    an update.
    
    CVS patchset: 2237
    CVS date: 1998/08/06 21:53:49

commit 8bdb7e0448feb227dcf1050e57db255c6b136e27
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 21:53:07 1998 +0000

    This gets rid of all the basic rpm options for --buildarch and --buildos.
    
    CVS patchset: 2236
    CVS date: 1998/08/06 21:53:07

commit 73a5b61c2685454e8d716aab23257a0e7ec5e2e2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 21:15:25 1998 +0000

    Adding a list of things to do.
    
    CVS patchset: 2235
    CVS date: 1998/08/06 21:15:25

commit d1ad332335c30f5d2ed5341174cb905713a3c203
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 19:40:00 1998 +0000

    The rpmReadConfigFiles() interface now has a new parameter on the end.
    
    CVS patchset: 2234
    CVS date: 1998/08/06 19:40:00

commit dda966d5433b042f81d4fe9de4fd1248c291e7f2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 19:35:07 1998 +0000

    Added support for --buildplatform, setenv: tag in rpmrc, fixed
    %buildplatform, fixed it so that the default buildarch is the
    canonacalized architecture, not the native.  Cross building appears to
    work!
    
    CVS patchset: 2233
    CVS date: 1998/08/06 19:35:07

commit 6d430b8a95f0b2a8f0aa520db4fcbde8e1ee7fc3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 6 19:27:54 1998 +0000

    Add support for --buildplatform, and support for the setenv: tag in rpmrc files.  Also fixed the %buildplatform macro a bit.  Cross building appears to work!
    -
    
    CVS patchset: 2232
    CVS date: 1998/08/06 19:27:54

commit 9422cd7082df9d5971ab89c42da00d8a8a284fde
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 6 14:30:10 1998 +0000

    updated
    
    CVS patchset: 2230
    CVS date: 1998/08/06 14:30:10

commit e1753d36d0c76330b34fdcac4f5cfad08e265ff3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 3 15:05:27 1998 +0000

    fixed another typo
    
    CVS patchset: 2228
    CVS date: 1998/08/03 15:05:27

commit 9ad6207b3ded440c87b5cdde0da51b8df7ab8361
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 3 14:59:00 1998 +0000

    fixed spelling of expected
    
    CVS patchset: 2224
    CVS date: 1998/08/03 14:59:00

commit f33efd0cc48f62da84376724356e8d2d2bca9631
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 2 15:14:38 1998 +0000

    String substitution macro file.
    
    CVS patchset: 2223
    CVS date: 1998/08/02 15:14:38

commit 0817a10a570692eeac21d30449999621124b2609
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 2 15:03:54 1998 +0000

    Create.
    
    CVS patchset: 2222
    CVS date: 1998/08/02 15:03:54

commit 12c5bea4d847ac97efc837deeab2cdebc244df54
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sun Aug 2 13:48:37 1998 +0000

    Special case of "/" in %files was broken.
    Don't freeMacros in freeSpec -- macros have been globalized.
    Remove extra debugging '_' prefix.
    
    CVS patchset: 2220
    CVS date: 1998/08/02 13:48:37

commit c8271be9c7cff11211ff26e472dfb0ccc70b3290
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Aug 1 18:48:06 1998 +0000

    Preliminary macro invironment as side effect of rpmrc parse.
    
    CVS patchset: 2219
    CVS date: 1998/08/01 18:48:06

commit 134c5ae3ba10d3dccdb3a189a891c2ec5dae1104
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 31 20:53:45 1998 +0000

    (Un)typo.
    
    CVS patchset: 2218
    CVS date: 1998/07/31 20:53:45

commit 4c932b343e9fd1e98eb10458cabb8abf4d924ce6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 31 20:29:03 1998 +0000

    Typo.
    
    CVS patchset: 2217
    CVS date: 1998/07/31 20:29:03

commit c88091c8e0627d2a7ff2e8784e8455085e15fc86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 31 20:17:06 1998 +0000

    Typo.
    
    CVS patchset: 2216
    CVS date: 1998/07/31 20:17:06

commit f005d723a5290e9afa1c832fa667720d9ca11fd3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 31 20:11:49 1998 +0000

    Macro handling in rpmlib -- rework include: tag with macro expansion.
    
    CVS patchset: 2215
    CVS date: 1998/07/31 20:11:49

commit fc09e52f545cd99dc9f9b98b36518f17d57ed2c3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 30 22:42:18 1998 +0000

    First attempt at librpmbuild API.
    
    CVS patchset: 2214
    CVS date: 1998/07/30 22:42:18

commit 5142bf78e626b861ec1af6be7d81d3bb5c0afe03
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 30 22:09:42 1998 +0000

    Consolidated includes for librpmbuild API.
    
    CVS patchset: 2213
    CVS date: 1998/07/30 22:09:42

commit ff2267faac75d20f0b8e8ebfda7f571403ad5ee5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 30 14:53:29 1998 +0000

    don't strcmp() a NULL longName
    
    CVS patchset: 2212
    CVS date: 1998/07/30 14:53:29

commit 55bcc2c4bbcc85a6bb392066929eb0b7887c7d3b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 30 14:18:58 1998 +0000

    fixed stupif strdup() mistake
    
    CVS patchset: 2209
    CVS date: 1998/07/30 14:18:58

commit 63842cc30591b5e7dd62471d14fa0b7e37f175ea
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 29 16:03:04 1998 +0000

    updated for exec passing command name
    
    CVS patchset: 2207
    CVS date: 1998/07/29 16:03:04

commit c0d30e86e32307a700ed8d2f7fd33040e3cf4c63
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 29 16:02:54 1998 +0000

    added poptSetExecPath()
    
    CVS patchset: 2206
    CVS date: 1998/07/29 16:02:54

commit a9363dbdd1fedd4c7491884a25e5f0ae4b9fc5ad
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 29 14:37:11 1998 +0000

    success check of access() was backwards
    
    CVS patchset: 2200
    CVS date: 1998/07/29 14:37:11

commit 49059ccc58ab090f18da19ff724d0b6a3d6a1e12
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 29 00:57:09 1998 +0000

    Woops!
    fixed it so on free(), it doesn't segfault.
    -
    
    CVS patchset: 2199
    CVS date: 1998/07/29 00:57:09

commit 8438ce1cd7875c57e54a666f8eb23039f0b307c9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 29 00:39:18 1998 +0000

    Modified rpmrc.c to allow include: lines in rpmrc files.  Also, added functionality to be able to do rpmrc variable-based includes, such as:
    include: /usr/lib/rpm/build/%buildplatform.conf
    Added three new RPMVAR types, RPMVAR_OS, RPMVAR_ARCH and RPMVAR_BUILDPLATFORM .
    -
    
    CVS patchset: 2198
    CVS date: 1998/07/29 00:39:18

commit 9ae23df85b5a76eedac8181a6fe25b39b7d9205d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 29 00:36:30 1998 +0000

    Changed the version number, added include functionality.
    
    CVS patchset: 2197
    CVS date: 1998/07/29 00:36:30

commit 4e758564ca52acfd2dc780d50010be8189a83d7d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 18:55:56 1998 +0000

    1) pass the name of the current exectuable to exec'd scripts
    2) removed support for setting up popt alises through enviornment variables
    
    CVS patchset: 2196
    CVS date: 1998/07/27 18:55:56

commit 731b388974e6ef376beb75347c10cae568e62825
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 18:55:07 1998 +0000

    added findme.c
    
    CVS patchset: 2195
    CVS date: 1998/07/27 18:55:07

commit 00a4aa9a8950f58956a94dad099d94f3c2ef2869
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 18:53:42 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2194
    CVS date: 1998/07/27 18:53:42

commit fe7d5c009aedaf6cbba372146094170a32ca18cd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 18:45:47 1998 +0000

    changed version number to 2.90
    
    CVS patchset: 2193
    CVS date: 1998/07/27 18:45:47

commit 9dd96c1cabe0860db0f7765e8dc1f0097aefac61
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 16:25:21 1998 +0000

    added test1
    
    CVS patchset: 2192
    CVS date: 1998/07/27 16:25:21

commit c1f123e6a2a264ee3613daa0d22c34232ea9e769
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 16:24:50 1998 +0000

    no need to check for mmap anymore
    
    CVS patchset: 2191
    CVS date: 1998/07/27 16:24:50

commit 6d8813f7ff02b3e2e9fb0fdce5941656e5b25434
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 16:01:38 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2190
    CVS date: 1998/07/27 16:01:38

commit 976e67e456992ac6708990f102b24ed8c77de210
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 16:00:38 1998 +0000

    added -Wall be default
    
    CVS patchset: 2189
    CVS date: 1998/07/27 16:00:38

commit ba97f4c646356c223ccd79059631a185b58b3c84
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 15:58:33 1998 +0000

    build the test cases
    
    CVS patchset: 2188
    CVS date: 1998/07/27 15:58:33

commit 621f97f98e8ccf9be11ac179929f42f7020a2901
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 15:54:20 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2187
    CVS date: 1998/07/27 15:54:20

commit 60853de1bef46b700cd51dc1ab2409c0101098f3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 15:53:36 1998 +0000

    1) moved duplicated alias handling code into handleAlias()
    2) added support for exec options
    
    CVS patchset: 2186
    CVS date: 1998/07/27 15:53:36

commit 0c487fc908215cfd871cff69a43f9cf65d68f8fd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 15:52:21 1998 +0000

    1) renamed POPT_KEEP_FIRST to POPT_CONTEXT_KEEP_FIRST
    2) added POPT_CONTEXT_NO_EXEC
    
    CVS patchset: 2185
    CVS date: 1998/07/27 15:52:21

commit 3bcb7e50e52426cf3dbfddb40aed60e53be9de2e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 27 12:55:49 1998 +0000

    don't use mmap anymore -- it's not worth the trouble
    
    CVS patchset: 2184
    CVS date: 1998/07/27 12:55:49

commit e4151252f8c4e422e18f83616392e3dc53d6d1ab
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 25 21:00:26 1998 +0000

    Aggregate system includes into system.h.
    Rearrange functions to minimize exported routines in librpmbuild API.
    VS: ----------------------------------------------------------------------
    
    CVS patchset: 2183
    CVS date: 1998/07/25 21:00:26

commit c617a31606aec7fccaf26e0947f15f4cbacf089b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 25 15:33:15 1998 +0000

    Generalize cpio I/O to eliminate pipe to exec'd gzip on install.
    
    CVS patchset: 2182
    CVS date: 1998/07/25 15:33:15

commit 9acba0bdddcbd3cfd7c3d6729191b23dab432097
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 25 15:10:58 1998 +0000

    Add multiple include avoidance and c++ prototype wrapping throughout *.h.
    Delete trailing white space in *.h.
    
    CVS patchset: 2181
    CVS date: 1998/07/25 15:10:58

commit 15ac92ba2933d5953abbcae4fa75a771ca5b85e3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jul 25 15:01:44 1998 +0000

    Better query semantics with symlinks (Tim Mooney).
    
    CVS patchset: 2180
    CVS date: 1998/07/25 15:01:44

commit 2d00835e5bc72bc3ac82e9cf51ab14a51a90e6c9
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 24 20:30:55 1998 +0000

    Patch from Tim Mooney.
    
    CVS patchset: 2179
    CVS date: 1998/07/24 20:30:55

commit 765310798953e6a7a82fefe294101330c6d2dc29
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 23 16:57:44 1998 +0000

    Typo.
    
    CVS patchset: 2177
    CVS date: 1998/07/23 16:57:44

commit 4b57bc1a40c2ec6d6be1d336909ffb7a6fdbe98d
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 23 16:57:06 1998 +0000

    Create.
    
    CVS patchset: 2176
    CVS date: 1998/07/23 16:57:06

commit 29d5aee8d8d5113f3e6330237c670f61fff495fa
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 17 14:53:06 1998 +0000

    Move rpmrc/rpmpopt to /usr/lib/rpm.
    
    CVS patchset: 2175
    CVS date: 1998/07/17 14:53:06

commit c1fc46aeb8e828b0d5e196ef774c05fc1aae9ff5
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 17 14:18:48 1998 +0000

    Create.
    
    CVS patchset: 2174
    CVS date: 1998/07/17 14:18:48

commit e6545be221f736d49cc746ced7ef8f5fe7dc272c
Author: Jeff Johnson <jbj@redhat.com>
Date:   Fri Jul 17 14:15:55 1998 +0000

    Finish planting /usr/lib/rpm (remove compatibility symlinks).
    
    CVS patchset: 2173
    CVS date: 1998/07/17 14:15:55

commit 2089bf9496276647c8d596df1ecf21ed9c3abf81
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jul 16 14:23:41 1998 +0000

    Bugfix from Fredrik Hubinette <hubbe@hubbe.net>.
    
    CVS patchset: 2171
    CVS date: 1998/07/16 14:23:41

commit 94f5fbeec363059ca9eb986ee294ffcdf20bcb04
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 8 17:50:48 1998 +0000

    Add new fully recursive macro.c
    
    CVS patchset: 2169
    CVS date: 1998/07/08 17:50:48

commit 209af5b9eb64f5aa35666ad6439c5c3db2f25f1b
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 8 17:30:37 1998 +0000

    Add {init,add,expand}Macro args everywhere (new macro.c compatibility).
    Create /usr/lib/rpm directory and move rpmrc et al there.
    
    CVS patchset: 2168
    CVS date: 1998/07/08 17:30:37

commit 27c677e034eca8672881414f1ceb33fe3144e3dc
Author: Jeff Johnson <jbj@redhat.com>
Date:   Mon Jul 6 19:26:26 1998 +0000

    Typo -- include RPMS/* too.
    
    CVS patchset: 2167
    CVS date: 1998/07/06 19:26:26

commit a5ab233a9ad2e65b5e1203209410edf2ddb10f5f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 3 06:20:59 1998 +0000

    allow %define with leading whitespace
    
    CVS patchset: 2165
    CVS date: 1998/07/03 06:20:59

commit 29ce440d2024be3a4524a8beba514e5c2684c6e3
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jul 1 19:17:51 1998 +0000

    CVS fiddles.
    
    CVS patchset: 2164
    CVS date: 1998/07/01 19:17:51

commit 301d338bc0595b8b949fec9a1b282e01c013c04e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 20:13:44 1998 +0000

    changed group to Utilities/System
    
    CVS patchset: 2163
    CVS date: 1998/06/30 20:13:44

commit f9cd7f58aba4470c1aef6a741a50b83c4cda416b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:53:43 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2162
    CVS date: 1998/06/30 18:53:43

commit c5ed4ca1260c96a3e1c10a06cf0e20863b54a98e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:53:06 1998 +0000

    version 2.5.2
    
    CVS patchset: 2161
    CVS date: 1998/06/30 18:53:06

commit 51ec6e32a0a6d2491392bd938e5a01c708fc1108
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:52:54 1998 +0000

    Provides: parsing in rpmrc wasn't done properly
    
    CVS patchset: 2160
    CVS date: 1998/06/30 18:52:54

commit bfc226e9ad87110c9aa0f0d3466135e0f8f47050
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:52:29 1998 +0000

    added an error message when rmdir() fails
    
    CVS patchset: 2159
    CVS date: 1998/06/30 18:52:29

commit 5de4d92922b081d951cfb70bd62c9b15322e0879
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:51:44 1998 +0000

    added --notriggers
    
    CVS patchset: 2158
    CVS date: 1998/06/30 18:51:44

commit e74380923ff04001fd927522145a88a0cf7c717e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:51:25 1998 +0000

    1) added NOTRIGGERS support
    2) trigger versions include the trigger name for some reason; ignore the
       name portion if it's there
    
    CVS patchset: 2157
    CVS date: 1998/06/30 18:51:25

commit ccdab42a9e60001a3562564ff2d88e087119c33c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:50:47 1998 +0000

    1) made --triggers an alias for --triggerscripts
    2) added --filesbypkg
    
    CVS patchset: 2156
    CVS date: 1998/06/30 18:50:47

commit 682ea21b932eb4c4ee5b9a58e99fb4798123ff90
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:50:15 1998 +0000

    1) version 2.5.2
    2) moved buildroot to /var/tmp
    3) /usr/src/redhat/RPMS should have been %dir
    
    CVS patchset: 2155
    CVS date: 1998/06/30 18:50:15

commit bc0bfe06213d8620e0b7726888e591cc36238fc1
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:47:20 1998 +0000

    added updated machten and arm entries
    
    CVS patchset: 2154
    CVS date: 1998/06/30 18:47:20

commit c56cf7d21ebaf25b8df6fe561850450d632c94c8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 30 18:46:54 1998 +0000

    ftp installs were adding an extra /tmp/ to the tmpdir
    
    CVS patchset: 2153
    CVS date: 1998/06/30 18:46:54

commit d01943ad8a933c2e7d48f5cf0af244feb6d4f195
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 29 04:42:36 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2152
    CVS date: 1998/06/29 04:42:36

commit 710acda0e4a7bff49af56bf9c3c770085495eac2
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 14 16:04:37 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2151
    CVS date: 1998/06/14 16:04:37

commit 119bcbf20499aab8d6421a00a16ae3ceb14c7683
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 14 16:04:00 1998 +0000

    fssizes weren't behaving for pacakges w/o file list
    
    CVS patchset: 2150
    CVS date: 1998/06/14 16:04:00

commit 835ae99566c22cf8bfac0f6d53e035faca385df8
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 14 16:03:14 1998 +0000

    more updates from Tim Mooney
    
    CVS patchset: 2149
    CVS date: 1998/06/14 16:03:14

commit d32b57aafa60dccb0af4996e3eed1d127e57be06
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 12 19:50:44 1998 +0000

    Enhanced the '--last' option to include release and version numbers
    
    CVS patchset: 2148
    CVS date: 1998/06/12 19:50:44

commit 10cc4878e97b7feaaaad7ab2a5f634b3dce586bc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 11 20:02:29 1998 +0000

    --justdb should tag files as normal
    
    CVS patchset: 2147
    CVS date: 1998/06/11 20:02:29

commit 1c35d8d6d7fc3763be564c207567b3fe26818c24
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jun 11 02:58:13 1998 +0000

    Typo.
    
    CVS patchset: 2146
    CVS date: 1998/06/11 02:58:13

commit 34d149ffdaada50c8889b5c3592562965e6e90c5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jun 8 00:12:17 1998 +0000

    Group: i18n
    
    CVS patchset: 2145
    CVS date: 1998/06/08 00:12:17

commit 14996941672975dbbb02e8a40cc5efb7241395a9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jun 4 17:03:29 1998 +0000

            - added --last alias
            - fix :depflags query format
    
    CVS patchset: 2144
    CVS date: 1998/06/04 17:03:29

commit ec3256b8b9bccbb428f437772a4aea211699a2bd
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jun 3 03:32:59 1998 +0000

    - fix bug packing /usr/doc when last file was %dir
    
    CVS patchset: 2143
    CVS date: 1998/06/03 03:32:59

commit a8975d188ea58fee841b4da0ec38140e786ce89d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 2 21:34:51 1998 +0000

            - fixed ugly i18n header bug
            - deal with lang paths sanely when entries are missing languages
    
    CVS patchset: 2142
    CVS date: 1998/06/02 21:34:51

commit 5373b67cf1d99d7746fc630a5fd9d5b2f7a87b89
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 2 19:53:21 1998 +0000

    handle %files -f with no %setup (no build directory)
    
    CVS patchset: 2141
    CVS date: 1998/06/02 19:53:21

commit 0c0931281542c4c59dd8de85720193904697b9fc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jun 2 19:30:23 1998 +0000

    follow symlinks in source packages
    copy CHANGELOG* and URL stuff to all subpackages
    
    CVS patchset: 2140
    CVS date: 1998/06/02 19:30:23

commit 006dd62fd2930f4cf17a1381eb7b40ae93f72a63
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 2 13:48:59 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2139
    CVS date: 1998/06/02 13:48:59

commit ebc7a63bddcf53a46911ef1e2bf579c3da99903d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 2 13:48:05 1998 +0000

    let -bs build just a source package
    
    CVS patchset: 2138
    CVS date: 1998/06/02 13:48:05

commit 58aec46809ebba2efaebc330cb1e9894a4d85439
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 27 02:17:44 1998 +0000

    version 2.5.1
    
    CVS patchset: 2137
    CVS date: 1998/05/27 02:17:44

commit 45570444844be9203b28d6ed8dd9b238eeb7e1a5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 27 02:17:21 1998 +0000

    Fix segfault
    
    CVS patchset: 2136
    CVS date: 1998/05/27 02:17:21

commit 1789870b35cdbd1ca058bd22affe6ffd31fdacbd
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:45:16 1998 +0000

    - set file states to missing for --justdb packages
    - handle missing file states properly in -e code
    - install time wasn missing for --justdb packages
    
    CVS patchset: 2135
    CVS date: 1998/05/26 13:45:16

commit 089681ce55499b31a023febf4c0d13845ff04fad
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:28:48 1998 +0000

    various updates from Tim Mooney
    
    CVS patchset: 2134
    CVS date: 1998/05/26 13:28:48

commit 7d24769a3365676ddeed076b6e5db296cca1e85a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:26:09 1998 +0000

    aix.req
    
    CVS patchset: 2133
    CVS date: 1998/05/26 13:26:09

commit 3e1560b060467de0cc92b72ed77a227cf41b8c16
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:23:03 1998 +0000

    fixed typo
    
    CVS patchset: 2132
    CVS date: 1998/05/26 13:23:03

commit 07ec9c5bc2527133d784e00a0a069e6f70726295
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:22:39 1998 +0000

    prefer db_185.h to db.h
    
    CVS patchset: 2131
    CVS date: 1998/05/26 13:22:39

commit 0968b7855484ba6523f0ac33b2faf7b9be7d0676
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:20:40 1998 +0000

    added finish translation
    
    CVS patchset: 2130
    CVS date: 1998/05/26 13:20:40

commit 9848b7df30f5213f11149a4fe8528af534dad4ba
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 26 13:19:52 1998 +0000

    set bzip2path through configure
    
    CVS patchset: 2129
    CVS date: 1998/05/26 13:19:52

commit 12c8e2c29ca59e0f4f60dc0d0630bdfffe841b03
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 25 18:40:25 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2128
    CVS date: 1998/05/25 18:40:25

commit c39795e7df882ce289ea6e8b8d2511c4db4800d0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 25 03:18:54 1998 +0000

    Added headerGzRead() and headerGzWrite()
    
    CVS patchset: 2127
    CVS date: 1998/05/25 03:18:54

commit 700837975a076d06a47007bf097c5e22fc94587e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun May 24 22:41:45 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2126
    CVS date: 1998/05/24 22:41:45

commit 1213df19a247d02cfe7273da718e903bbd263ed5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun May 24 22:38:40 1998 +0000

    unlink() before writing RPM
    
    CVS patchset: 2125
    CVS date: 1998/05/24 22:38:40

commit 82636fbc4b1f3acbf561ee143672b9eadad03359
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 21 18:13:16 1998 +0000

    added config.h.in
    
    CVS patchset: 2124
    CVS date: 1998/05/21 18:13:16

commit e5dd155e6ddf10263ed2f2fd7b79125db76d7676
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 21 18:12:48 1998 +0000

    added loads of .cvsignore files
    
    CVS patchset: 2123
    CVS date: 1998/05/21 18:12:48

commit 4ff9973e0685f7b7ac8f0c20cffbc2a60ffd1aa0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 21 18:11:24 1998 +0000

    removed CHANGES
    
    CVS patchset: 2122
    CVS date: 1998/05/21 18:11:24

commit 76518a7790bc74de852e469f34949c62b0c17588
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 21 18:11:14 1998 +0000

    added CHANGES file
    updated .cvsignore
    
    CVS patchset: 2121
    CVS date: 1998/05/21 18:11:14

commit 7e3b1b2197df204e1063a2c207516ab5b74576f2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu May 21 03:21:13 1998 +0000

    - make %doc script obey --test
    - hopefully fix temp file creation problems
    
    CVS patchset: 2120
    CVS date: 1998/05/21 03:21:13

commit f0d4eed0dbd83837bc3abaf19f0c0957103a0786
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 20 17:05:26 1998 +0000

    Actually catch errors from readLine()
    
    CVS patchset: 2119
    CVS date: 1998/05/20 17:05:26

commit c1b802dfda639c253884252835ca7f8020a56338
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon May 18 15:16:16 1998 +0000

    fail if sources are not regular files
    
    CVS patchset: 2118
    CVS date: 1998/05/18 15:16:16

commit b460ebd46bf1c0b4ef998ee3c2d37152f4fc6b76
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 10 20:32:15 1998 +0000

    .cvsignore
    
    CVS patchset: 2117
    CVS date: 1998/05/10 20:32:15

commit 6931b10c8525aebeec9bfe9a80ce3ca72bbe3c91
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 10 20:31:51 1998 +0000

    .cvsignore
    
    CVS patchset: 2116
    CVS date: 1998/05/10 20:31:51

commit d2fc8072f9abecd24513596e9fee59d1ab0a51e4
Author: Erik Troan <ewt@redhat.com>
Date:   Sun May 10 18:37:35 1998 +0000

    don't pay attention to reqflags unless a reqversion is present <sigh>
    
    CVS patchset: 2115
    CVS date: 1998/05/10 18:37:35

commit a03489fed04770208d62db8bc01ed50858e153e3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 7 19:01:58 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2114
    CVS date: 1998/05/07 19:01:58

commit 7ff21b80097a1fca5b98cfc384bf7b128cb55de7
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 7 18:22:34 1998 +0000

    updated translations
    requires patch >= 2.5
    
    CVS patchset: 2113
    CVS date: 1998/05/07 18:22:34

commit 07fe25a61bb1049ad47dc083966603a722254902
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 6 21:46:17 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2112
    CVS date: 1998/05/06 21:46:17

commit 16e9eae0e1bf199f8cb66b0e578df9a6fb49ccc2
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 6 21:46:03 1998 +0000

    shared files weren't handled properly in netsharedpaths
    
    CVS patchset: 2111
    CVS date: 1998/05/06 21:46:03

commit 6c5e7ad28b10124c700610683ce0ec855c168147
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed May 6 21:07:04 1998 +0000

    fixed bug in part recognition
    
    CVS patchset: 2110
    CVS date: 1998/05/06 21:07:04

commit b527117c0344ab7d2d7a8989f46f757577b7ccfe
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 5 23:19:54 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2109
    CVS date: 1998/05/05 23:19:54

commit fb90f503ddb332f4c043773699b18a58dfa87787
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 5 23:12:17 1998 +0000

    fixed misc memory leaks
    
    CVS patchset: 2108
    CVS date: 1998/05/05 23:12:17

commit 2a0f3482cbff46bee5894bc4cc5cd259c696acda
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue May 5 18:24:36 1998 +0000

    Copy the I18N table to the source header so i18n works there
    
    CVS patchset: 2107
    CVS date: 1998/05/05 18:24:36

commit 27e10f28bb8ae185f64bc861800069707b2dfa08
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 4 21:30:12 1998 +0000

    version 2.5
    
    CVS patchset: 2106
    CVS date: 1998/05/04 21:30:12

commit 72dedbf1dd34327db2ad911010730093d8342c59
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 1 21:10:51 1998 +0000

            - save/restore existing arch when done with buildarch
    
    CVS patchset: 2105
    CVS date: 1998/05/01 21:10:51

commit 26d510ed983cb4dc3e89d533e6b9f16c5fcf2091
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 1 19:33:51 1998 +0000

    static rpm generation was fubarred
    
    CVS patchset: 2104
    CVS date: 1998/05/01 19:33:51

commit 2afff79ebcefd9d8b2030181ab83e3d73d3f94d6
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 1 19:33:36 1998 +0000

    didn't handle packages w/ empty filelists
    
    CVS patchset: 2103
    CVS date: 1998/05/01 19:33:36

commit bef12c4a53f69b404c716e3b295669372ee8ad81
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 1 17:10:25 1998 +0000

            - headerGetEntry() should return count of 1 when returning
              strings plucked from i18n strings
    
    CVS patchset: 2102
    CVS date: 1998/05/01 17:10:25

commit da136c205c9c605e614c42c0c732eee6804afccc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri May 1 01:54:27 1998 +0000

    Do not remove comments in scripts
    
    CVS patchset: 2101
    CVS date: 1998/05/01 01:54:27

commit 27dc5bb73ec72d37ada0d3710a0d481719b66360
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 30 21:20:01 1998 +0000

    undo bug inbtroduced when moving macro before %if
    
    CVS patchset: 2100
    CVS date: 1998/04/30 21:20:01

commit 9e5c81ab8b3a1ade086d9a0eaa772302e60a38f0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 30 20:34:08 1998 +0000

    dump postun triggers properly
    
    CVS patchset: 2099
    CVS date: 1998/04/30 20:34:08

commit 5cbb2405f4bbd97d4914c251bdb17a59c504cd18
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 30 15:20:58 1998 +0000

    include icons in the source packages
    
    CVS patchset: 2098
    CVS date: 1998/04/30 15:20:58

commit aa3c0aabd1a22e80b2577547b3da1a0a192f6050
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Apr 22 18:11:31 1998 +0000

    fix type in %triggerpostun
    
    CVS patchset: 2097
    CVS date: 1998/04/22 18:11:31

commit 0f78a6d5e8e01f4f83133d7bbe1703e38ecc1ba8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 20 14:44:35 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2096
    CVS date: 1998/04/20 14:44:35

commit 134a297b4edcdb734f915655f146599ce985b999
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 20 14:44:07 1998 +0000

    need to init freePrefixes
    
    CVS patchset: 2095
    CVS date: 1998/04/20 14:44:07

commit 47571d8adfd2014da9ba84458b654f8bd0882141
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Apr 20 01:15:41 1998 +0000

    Missed some unlinks() when scripts failed
    
    CVS patchset: 2094
    CVS date: 1998/04/20 01:15:41

commit 09ddb1a9f020b5c33d1316f8f6bd8f106a6191a5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 17 04:25:27 1998 +0000

    Added AutoReq: and AutoProv:
    
    CVS patchset: 2093
    CVS date: 1998/04/17 04:25:27

commit fded3f9abc235a876bb53fc3fc8bf1ab897e2d11
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 16 16:25:03 1998 +0000

    pay attention to autoreqprov flag
    
    CVS patchset: 2092
    CVS date: 1998/04/16 16:25:03

commit 272e203dabf2ebbd2b3a75a53415d87928d5f820
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 16 16:23:19 1998 +0000

    return as soon as a dep loop is found
    
    CVS patchset: 2091
    CVS date: 1998/04/16 16:23:19

commit a615f6e8e9a8feea1c96ff59dab8f2370a961efc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Apr 15 15:01:51 1998 +0000

    Do macro expansion before %if processing
    
    CVS patchset: 2090
    CVS date: 1998/04/15 15:01:51

commit 7d292a2860369511251666344badff46898d5920
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Apr 13 18:10:20 1998 +0000

    return code buglet
    
    CVS patchset: 2089
    CVS date: 1998/04/13 18:10:20

commit ebc77079a107b33fcf67f8db4350d45104b47699
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Apr 11 16:07:32 1998 +0000

    version 2.4.109
    
    CVS patchset: 2088
    CVS date: 1998/04/11 16:07:32

commit 4da20c6624afa7bed25551cf3916bb2c9d0004d8
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Apr 11 16:06:58 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2087
    CVS date: 1998/04/11 16:06:58

commit ac79b84d1aa101f7126c66b7fb286c9c298c732f
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Apr 11 16:05:42 1998 +0000

    1) don't malloc() 0
    2) fixed some memory leaks
    
    CVS patchset: 2086
    CVS date: 1998/04/11 16:05:42

commit 484c325f037a36ccd8a69859f077ff1efe5f8da7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 9 20:20:17 1998 +0000

    Jeff Johnson's memleak patches
    
    CVS patchset: 2085
    CVS date: 1998/04/09 20:20:17

commit 16bd7e06bb57e03179759f38279736eafdaff312
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Apr 9 16:46:30 1998 +0000

            - remove icons with --rmsource
            - do dependecy generation on -bl
            - check files on all packages on -bl
    
    CVS patchset: 2084
    CVS date: 1998/04/09 16:46:30

commit 95b362f4a1f95721c12ff50d13616dbc19ff3626
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 14:00:32 1998 +0000

    fixed some broken install rules
    
    CVS patchset: 2083
    CVS date: 1998/04/09 14:00:32

commit 7fbc5ef8673823d1a72c649f4889bb7c87ff03b7
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 13:59:38 1998 +0000

    don't override CFLAGS for make, just for configure
    
    CVS patchset: 2082
    CVS date: 1998/04/09 13:59:38

commit d1403fe120b8cda1ae6511575b5a5fc44371b65b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 13:55:29 1998 +0000

    - version 1.1.1
    - spec file needs to ./configure
    
    CVS patchset: 2081
    CVS date: 1998/04/09 13:55:29

commit 2a02725d9e46d014c5961ffa98c5f7cd4051cfff
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:48:44 1998 +0000

    version 2.4.108 (the tags for 2.4.107 are wrong though)
    
    CVS patchset: 2080
    CVS date: 1998/04/09 02:48:44

commit 7d993d1bea2d83c7056ee35d9983a0a3e03ad9e3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:46:40 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2079
    CVS date: 1998/04/09 02:46:40

commit 01eca71f1a169c7bd8bee851d55bcfc8bf96aa32
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:45:39 1998 +0000

    fixed configure.in patch introduced by patch
    
    CVS patchset: 2078
    CVS date: 1998/04/09 02:45:39

commit 6f2eb2440d48b7fa60b910a5e671e64310a252c9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:41:13 1998 +0000

    1) fix search for find scripts
    2) new find scripts for Solaris
    3) gernerate -static more automatically
    
    CVS patchset: 2077
    CVS date: 1998/04/09 02:41:13

commit efc6a16bbaf30396b635e2bafc3a9faf31a137ac
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:36:43 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2076
    CVS date: 1998/04/09 02:36:43

commit 7964e84a24b9bc116ce921a963621fc1ce696783
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 9 02:36:10 1998 +0000

    left extraneous line in after patch
    
    CVS patchset: 2075
    CVS date: 1998/04/09 02:36:10

commit c4b0bbd922c44d0a33d5d48ce9a11d61e95fbd74
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Apr 8 14:22:41 1998 +0000

    make --clean work with no %setup
    
    CVS patchset: 2074
    CVS date: 1998/04/08 14:22:41

commit 67943e0370d3d949f3c696e561ea1fbdf0aa4bbb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Apr 7 23:58:01 1998 +0000

    Generate a source RPM name even if we aren't building a source RPM.
    
    CVS patchset: 2073
    CVS date: 1998/04/07 23:58:01

commit 3c53731ab2b78a5232dd9ee7e99a76ef1b09f35e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Apr 5 20:57:13 1998 +0000

    fixed bad variable name
    
    CVS patchset: 2072
    CVS date: 1998/04/05 20:57:13

commit 37e6bc17694031a1f7ff14db066921b65f35d4a3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Apr 5 17:22:28 1998 +0000

    implemented %triggerpostun
    
    CVS patchset: 2071
    CVS date: 1998/04/05 17:22:28

commit a1aba0f11d6597e1715dc6584fd2d0d558976422
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Apr 3 17:14:21 1998 +0000

    Make --rmsource actually work.
    
    CVS patchset: 2070
    CVS date: 1998/04/03 17:14:21

commit f51eda06367d0347379198c4a824e2e68e07bd1e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Apr 3 16:33:35 1998 +0000

    version 2.4.107
    
    CVS patchset: 2069
    CVS date: 1998/04/03 16:33:35

commit 879e03787cf178ef665d1d254e225824edddb771
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Apr 3 16:33:19 1998 +0000

    1) fixed --nomd5 parsing
    2) updated configure.in find-req and find-prov checks
    
    CVS patchset: 2068
    CVS date: 1998/04/03 16:33:19

commit 412714af8d79047f59620dd0829e0641d3dda20e
Author: Unknown Author <devnull@localhost>
Date:   Thu Apr 2 20:56:34 1998 +0000

    added postun to command description
    
    CVS patchset: 2067
    CVS date: 1998/04/02 20:56:34

commit ec176c137b9162d9a8014d9ff10a8d3a471ebbbc
Author: Unknown Author <devnull@localhost>
Date:   Thu Apr 2 20:29:08 1998 +0000

    typo fix
    
    CVS patchset: 2066
    CVS date: 1998/04/02 20:29:08

commit 99d7188d035d6f5a6e9bae8e383d35b232ee8b2f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 18:33:24 1998 +0000

    version 2.4.106 -- 105 got lost somewhere :-9
    
    CVS patchset: 2065
    CVS date: 1998/04/02 18:33:24

commit e0e9b11a55b69384bb300822f10bec685cfa2399
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 18:33:05 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2064
    CVS date: 1998/04/02 18:33:05

commit ce22bc8796fbbcc3005221330a2806ad10707d5d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 18:31:24 1998 +0000

    version 2.4.105
    
    CVS patchset: 2063
    CVS date: 1998/04/02 18:31:24

commit 6d1654df0845324943c58c6dc5da236a87f58423
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 18:31:12 1998 +0000

    handle negative return values from poptGetNextOpt()
    
    CVS patchset: 2062
    CVS date: 1998/04/02 18:31:12

commit 58fd76f7d024c00dff58273d2ec84a393933e611
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 17:49:19 1998 +0000

    added CC
    
    CVS patchset: 2061
    CVS date: 1998/04/02 17:49:19

commit ef2758d5f08747734b560ec586be4ca5cee2c2f4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 17:48:34 1998 +0000

    applied from from Till which fixes a fssizes problem
    
    CVS patchset: 2060
    CVS date: 1998/04/02 17:48:34

commit 4aa94a4124afaede0d46bfd893d5168e410881f8
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Apr 2 17:25:44 1998 +0000

    added CC line
    
    CVS patchset: 2059
    CVS date: 1998/04/02 17:25:44

commit e2167205cfdacd7ea8869a25fc002b8257744029
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Apr 1 16:02:05 1998 +0000

    Added %triggerpostun
    deps for shared libs
    only check first 128 chars for non-printables
    
    CVS patchset: 2058
    CVS date: 1998/04/01 16:02:05

commit 1968fa2fd5f7ba2784e86db4f735b54a83c01971
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Mar 29 06:26:45 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2057
    CVS date: 1998/03/29 06:26:45

commit e562ddba41b34c542b7f02129447b0dc6701be7e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:42:28 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2056
    CVS date: 1998/03/27 17:42:28

commit 52724fe1edba325109a540ec457c9c86e7880636
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:41:19 1998 +0000

    fixed minor typos
    
    CVS patchset: 2055
    CVS date: 1998/03/27 17:41:19

commit d4e89c52a245857aaddaf794bca98e639654a1d9
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:26:36 1998 +0000

    get all of the message catalogs
    
    CVS patchset: 2054
    CVS date: 1998/03/27 17:26:36

commit c287c48d3694081822c19de0d5f6a55d021a1c0c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:25:55 1998 +0000

    an extraneous memcpy() was floating around in headerAppendEntry(), which
    caused some reading from unallocated stack regions
    
    CVS patchset: 2053
    CVS date: 1998/03/27 17:25:55

commit 25a085d52a8d3767f036fecad8772c14afa83aa3
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:23:41 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2052
    CVS date: 1998/03/27 17:23:41

commit 0d6558640497de83dec5902e972f84f289b84ba4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:23:20 1998 +0000

    strntoul() was returning a pointer into alloca()'s memory
    
    CVS patchset: 2051
    CVS date: 1998/03/27 17:23:20

commit 8cfbc0ef42dd0cde5110cb433c0407ee1f8cfe56
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 17:11:43 1998 +0000

    added trigger docs
    
    CVS patchset: 2050
    CVS date: 1998/03/27 17:11:43

commit 7b8522b57e1182c87a151c81ea35ce8457ce9a34
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 27 16:46:39 1998 +0000

    added trigger support
    
    CVS patchset: 2049
    CVS date: 1998/03/27 16:46:39

commit 319ff94132a360ec1b6361416cbd72c4e0738908
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 20:52:17 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2048
    CVS date: 1998/03/23 20:52:17

commit 3c0b3df2e44b04b275b3df3335666e2555f23a43
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 20:48:29 1998 +0000

    added autoconf into make archive
    
    CVS patchset: 2047
    CVS date: 1998/03/23 20:48:29

commit ab9e98d3e3d9d1cdadabbdeb172b49d3ad79c010
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 20:42:40 1998 +0000

    didn't work when open() returned stdin
    
    CVS patchset: 2046
    CVS date: 1998/03/23 20:42:40

commit 36f4818c99398201153fbacab968811f30c7497d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 20:28:01 1998 +0000

    don't read ~/.popt in setuid apps
    
    CVS patchset: 2045
    CVS date: 1998/03/23 20:28:01

commit 508c31d7040cd6968dd50544b7c2b98a57a6a44d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 20:26:36 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2044
    CVS date: 1998/03/23 20:26:36

commit fb1398490ed263ecb6fa50a50e4352b1bb121952
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 16:34:38 1998 +0000

    check LINGUAS when installing i18n files
    
    CVS patchset: 2043
    CVS date: 1998/03/23 16:34:38

commit c456ea27e587d0845a1dd19eecedede6d13c4352
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 23 16:26:10 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2042
    CVS date: 1998/03/23 16:26:10

commit 4c80f87f14034a7f451efbe05c4df1d4f57388c1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 20 22:38:00 1998 +0000

    Added trigger support to build code
    Got rid of myftw warning
    
    CVS patchset: 2041
    CVS date: 1998/03/20 22:38:00

commit 85e4e95c7c83b1ba2171d4fdd4df5c580bc30e54
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 20 05:15:08 1998 +0000

    Make header.h & dbindex.h C++-safe as well
    
    CVS patchset: 2040
    CVS date: 1998/03/20 05:15:08

commit 073cb4fdccd8ceee4a6c581c5f7192706ba287d2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 20 04:48:27 1998 +0000

    Added some C++ cruft to rpmlib.h
    
    CVS patchset: 2039
    CVS date: 1998/03/20 04:48:27

commit 6ea468663f85cd5712ce296e61544de739f7316f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Mar 20 04:34:09 1998 +0000

    Added langpatt:
    
    CVS patchset: 2038
    CVS date: 1998/03/20 04:34:09

commit 114a8e0fd8f9ac99b906603f28374f0cf83856d3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Mar 11 23:28:47 1998 +0000

    Work around broken realloc()'s.
    
    CVS patchset: 2037
    CVS date: 1998/03/11 23:28:47

commit d6bd199c5920676da1c490f3fab339d3fd4b21ec
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Mar 11 21:32:48 1998 +0000

    Remove dead code.
    
    CVS patchset: 2036
    CVS date: 1998/03/11 21:32:48

commit f83f246e517eca1282c7d87460fa3f27c12a500b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 5 20:50:04 1998 +0000

    get CPP from autoconf
    
    CVS patchset: 2035
    CVS date: 1998/03/05 20:50:04

commit 323f4c4212f3d4080fad4617ef4fb7f30074f359
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 5 20:49:58 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2034
    CVS date: 1998/03/05 20:49:58

commit ec4c8852138c5abf4236e120ef5d69ec3f1f8e6d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 5 20:48:23 1998 +0000

    ftp files to RPMVAR_TMPPATH, not /var/tmp
    
    CVS patchset: 2033
    CVS date: 1998/03/05 20:48:23

commit f28be6951d0d70ee704243bbb48bbfd32ba28412
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 21:39:35 1998 +0000

    1) version 2.4.104
    2) changed (C) to 1998
    
    CVS patchset: 2032
    CVS date: 1998/03/04 21:39:35

commit a320896969e64846913c00e50bf2b7f321e5b4f8
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 21:39:19 1998 +0000

    'make archive' creates .depend files now
    
    CVS patchset: 2031
    CVS date: 1998/03/04 21:39:19

commit 8ffb41439aa3b9b0f243433889135a0e6c3d304d
Author: Unknown Author <devnull@localhost>
Date:   Wed Mar 4 19:40:00 1998 +0000

    fixed buglet in version tree
    
    CVS patchset: 2030
    CVS date: 1998/03/04 19:40:00

commit 753bfb9585f417db255d1795d3c6dce3a63c5896
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 17:24:07 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2029
    CVS date: 1998/03/04 17:24:07

commit 0c23cb357e1a20d7de0392ae852cfcf1130fa488
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:57:29 1998 +0000

    moved popt table to global scope to satisfy broken compilers
    
    CVS patchset: 2028
    CVS date: 1998/03/04 16:57:29

commit a9b34847ae9825f0f99c9bc0a9442a3b038685e0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:55:20 1998 +0000

    fixed == typo
    
    CVS patchset: 2027
    CVS date: 1998/03/04 16:55:20

commit 179e9c159a23c4908a7b1bcdb70639f6d9008d35
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:53:54 1998 +0000

    1) added more portability checks
    2) use new dependency scheume
    3) use autoheader
    
    CVS patchset: 2026
    CVS date: 1998/03/04 16:53:54

commit 0f2c5851dac43dce7f8174de5849dd7f542ce2b6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:53:24 1998 +0000

    1) all main()s should return ints
    2) use new dependency scheme
    
    CVS patchset: 2025
    CVS date: 1998/03/04 16:53:24

commit 4786aaf0660172b5778e4cc6197f0be6cb7b8118
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:52:59 1998 +0000

    1) header file cleanups
    2) use new dependency scheme
    3) changed " #if" to "# if"
    
    CVS patchset: 2024
    CVS date: 1998/03/04 16:52:59

commit 619bdbe02e1b693afffe29226114c4cccc9e1d6b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:52:19 1998 +0000

    1) check for alloca.h in configure.in
    2) use more portable dependency scheme
    
    CVS patchset: 2023
    CVS date: 1998/03/04 16:52:19

commit 820afde7fa87f430d38c7a38d6734f80f7e16896
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:51:54 1998 +0000

    include alloca.h if present
    
    CVS patchset: 2022
    CVS date: 1998/03/04 16:51:54

commit 1d7baffb338d8571d9ba15f1ebac67325bb8e94a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:51:38 1998 +0000

    1) make use of new delpendency scheme
    2) made "   #if" look like "#   if" for portability
    3) added strdup.c
    
    CVS patchset: 2021
    CVS date: 1998/03/04 16:51:38

commit d29004dc6918935f3a6916e59f373874a5f6ab85
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:51:06 1998 +0000

    1) include cleanups for portability
    2) pulled popt structures and variables out of functions -- they need to
       be global due to stupid compilers
    3) modified the Makefile to use relative dependencies, and make dependencies
       optional
    
    CVS patchset: 2020
    CVS date: 1998/03/04 16:51:06

commit 25231c427210c21570097a10f4782850a02246ff
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:49:55 1998 +0000

    got rid of "#endif foo.h" type things (which aren't ansi)
    
    CVS patchset: 2019
    CVS date: 1998/03/04 16:49:55

commit a4d37675c298b24dbb80d159adbbfd4de993d245
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 4 16:05:15 1998 +0000

    don't depend on bash
    
    CVS patchset: 2018
    CVS date: 1998/03/04 16:05:15

commit 62b7293e32f56a1140c996933592b6969ab02111
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 3 21:45:56 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2017
    CVS date: 1998/03/03 21:45:56

commit 1de8a71f5e411aa275e3edb2301a56c98589574d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 3 21:45:38 1998 +0000

    be more paranoid abou temporary files
    
    CVS patchset: 2016
    CVS date: 1998/03/03 21:45:38

commit 6accf2f42670aa86ce45741eaaa349cb250826a1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Mar 3 17:07:39 1998 +0000

    Clean up buildroot (remove suplicate slashes, trailing slashes)
    
    CVS patchset: 2015
    CVS date: 1998/03/03 17:07:39

commit 9fa832f9b60d9dc2c07da88c33c87b7404ae9a86
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Feb 28 20:29:11 1998 +0000

    Jeff Johnson's mode/dev fixes
    
    CVS patchset: 2014
    CVS date: 1998/02/28 20:29:11

commit 082dc4c97095bb8825ee5b9bfc6e916daffb11fa
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Feb 28 16:58:23 1998 +0000

    Fix dumb memory handling bug.
    
    CVS patchset: 2013
    CVS date: 1998/02/28 16:58:23

commit 5e0cec0c81c3fcf9a3d8882db0fdbf7e29f4809e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 25 18:31:52 1998 +0000

    replaced include of <malloc.h> with an include of <stdlib.h>
    
    CVS patchset: 2012
    CVS date: 1998/02/25 18:31:52

commit 425d259fda75fa5302673f1f5b06e439cb66d6dd
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 24 19:43:14 1998 +0000

    added byHeader to dependency conflict reporting
    
    CVS patchset: 2011
    CVS date: 1998/02/24 19:43:14

commit 6e61dd8c3490c04b0dd45751abfdca164eb1336c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Feb 21 00:03:44 1998 +0000

    *** empty log message ***
    
    CVS patchset: 2010
    CVS date: 1998/02/21 00:03:44

commit f7d58c70f160c2f7c7ea4a159b896fe31a72234f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Feb 21 00:02:50 1998 +0000

    Allow spaces in group names.
    
    CVS patchset: 2009
    CVS date: 1998/02/21 00:02:50

commit 0994d93e13ae547585ebd681cd3fff2e9e890886
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 18 18:43:11 1998 +0000

    added missing space
    
    CVS patchset: 2008
    CVS date: 1998/02/18 18:43:11

commit 0b66924909c108550c2b05840fa0ca816920bc9a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 17 17:47:46 1998 +0000

    added comments mentioning that these files shouldn't be mucked with
    
    CVS patchset: 2007
    CVS date: 1998/02/17 17:47:46

commit 597927f2db2a2ddc16e80a717572b04c4853d5b4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 17 16:46:13 1998 +0000

    1) added autoconf for popt directory to make archive
    2) version 2.4.103
    
    CVS patchset: 2006
    CVS date: 1998/02/17 16:46:13

commit 7388abf88b2f181dee5c17f3a4282eaadb3444d3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 11 08:59:34 1998 +0000

    1) added changes which let RPM build in a directory other then its source
       directory
    2) moved popt to autoconf
    
    CVS patchset: 2005
    CVS date: 1998/02/11 08:59:34

commit c8be333089ae5c1d8d523a0cce332f34293ef02c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 10 16:33:04 1998 +0000

    Make BuildArch: a synonym for BuildArchitectures:
    
    CVS patchset: 2004
    CVS date: 1998/02/10 16:33:04

commit 33d74a2279d3f0a9cb4e33624c0274ba8acf1d0e
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 9 19:37:59 1998 +0000

    Fixed typo in the rpm.8 man page.
    
    CVS patchset: 2003
    CVS date: 1998/02/09 19:37:59

commit 99813b2c61459c81bd1680bb53ef8f7fad1bd612
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:30:58 1998 +0000

    fixed INSTPREFIX virtual tags
    
    CVS patchset: 2002
    CVS date: 1998/02/08 17:30:58

commit 9a3dc5a07b56edb3f77154f463a153137a66d578
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:30:39 1998 +0000

    error codes can't be negative for errno flag to work
    
    CVS patchset: 2001
    CVS date: 1998/02/08 17:30:39

commit fd14facfb016e0029c98dfd5f9b148e89e971151
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:30:10 1998 +0000

    --setugids uses separate chown and chgrp commands
    
    CVS patchset: 2000
    CVS date: 1998/02/08 17:30:10

commit c277b410dcc6ae20415442d625f89e77963dd3ff
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:29:37 1998 +0000

    rpmInstallPackage() doesn't take netsharedpath as an argument
    
    CVS patchset: 1999
    CVS date: 1998/02/08 17:29:37

commit 33b012193bdb60dbe87cb47d55ba821fdd261e84
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:29:17 1998 +0000

    1) fixed memory leak w/ netsharedpaths
    2) generates INSTPREFIXES tag for relocated packages
    
    CVS patchset: 1998
    CVS date: 1998/02/08 17:29:17

commit 1917c5b67d59d52762002d4aa8e8f06b833e5d3d
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:28:16 1998 +0000

    1) fixed RPM_INSTALL_PREFIXn env variables
    2) checks netsharedpath before removing files
    
    CVS patchset: 1997
    CVS date: 1998/02/08 17:28:16

commit 9eebb3a595edde8c9e04e46eba02e9f237259cb2
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:26:57 1998 +0000

    don't pass net shared path to rpmInstallPackage()
    
    CVS patchset: 1996
    CVS date: 1998/02/08 17:26:57

commit 902f28c4dbb3dea9bfaab225cf1b2caa6b3ebe32
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 17:26:11 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1995
    CVS date: 1998/02/08 17:26:11

commit 14e30a7cb0cb8a597775c5dc9208b8661e3a31f2
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 07:07:02 1998 +0000

    added a comment to keep things clear
    
    CVS patchset: 1994
    CVS date: 1998/02/08 07:07:02

commit 5e5fb32e4933b981f5fef3bc58b53d458908c8fe
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 07:06:31 1998 +0000

    1) fixed memory leak
    2) fixed memory allocation problem
    
    CVS patchset: 1993
    CVS date: 1998/02/08 07:06:31

commit bca8e57f2f4326e0f118611c7006a510c2b9b375
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 07:06:07 1998 +0000

    added suppor fo INSTPREFIX virtual tag (for backwards compatibility)
    
    CVS patchset: 1992
    CVS date: 1998/02/08 07:06:07

commit 05b819a5616f73e0eaa7436efcf238504731b8e3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 8 07:05:39 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1991
    CVS date: 1998/02/08 07:05:39

commit 76cee5d3ccbb4762950334d8236b809f5515e7a3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Feb 5 14:35:56 1998 +0000

    Fix problem with bzip2/gzip.
    Fix problem with prefix/prefixes.
    
    CVS patchset: 1990
    CVS date: 1998/02/05 14:35:56

commit 7394837eaf3ceb5122014967c467f74a94cca9eb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Feb 5 14:26:43 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1989
    CVS date: 1998/02/05 14:26:43

commit ea93083e5175b0c3ae24ed6a0e24912b35ae5579
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 4 16:01:42 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1988
    CVS date: 1998/02/04 16:01:42

commit 8a3b7532ec6f4b4ba6204d4348d151920d9aff52
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 4 16:01:14 1998 +0000

    fixed spelling of instchangelog
    
    CVS patchset: 1987
    CVS date: 1998/02/04 16:01:14

commit b1ce8fb522a844bd7a6c68f3128c0b7c60eb3a7a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 3 16:40:16 1998 +0000

    version 2.4.101
    
    CVS patchset: 1986
    CVS date: 1998/02/03 16:40:16

commit 3125b1e00bb883992c829fe8f2ee3b3040b884b9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 3 16:40:02 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1985
    CVS date: 1998/02/03 16:40:02

commit ab907f8aaca69a460ecf2e5d9d2230fbdb60f2d2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 3 15:21:47 1998 +0000

    fixed various bugs in relocation code
    
    CVS patchset: 1984
    CVS date: 1998/02/03 15:21:47

commit 4f3c571a16fc2b6bf6a2e46d587b90039d4d99ba
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 3 15:11:23 1998 +0000

    Added sanity check on Prefixes:
    Added some support for bzip2.  Still needs configure and lib-rpmrc.in stuff.
    
    CVS patchset: 1983
    CVS date: 1998/02/03 15:11:23

commit 840599e3d92e29e8e1c1cf7ecf4ad5c37d3bf021
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 3 04:30:19 1998 +0000

    New prefix handling (also take Prefixes:)
    
    CVS patchset: 1982
    CVS date: 1998/02/03 04:30:19

commit 9fc5557ba49b82434bc5b23e5dee6e69ebd07609
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 2 15:34:36 1998 +0000

    Fix return code handling
    
    CVS patchset: 1981
    CVS date: 1998/02/02 15:34:36

commit 6681ac1ceeafe5f745b409fc124b900cbf30e8d9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 29 19:39:12 1998 +0000

    fixed problems in file relocation
    
    CVS patchset: 1980
    CVS date: 1998/01/29 19:39:12

commit 2c223345d827d2d77d429faef59d804adf8b33cc
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 28 16:49:43 1998 +0000

    implemented most of generic package relocation
    
    CVS patchset: 1979
    CVS date: 1998/01/28 16:49:43

commit b910492639f20d8d37b5839da72d4fca6a04671e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 26 15:52:56 1998 +0000

    Fix bug where macros were being improperly set for Patch: and Source: lines.
    
    CVS patchset: 1978
    CVS date: 1998/01/26 15:52:56

commit 2ae55b71cba7599bf5441e3f97874e76f26c3ba7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jan 25 17:03:30 1998 +0000

    New rpmrc entry BuildShell can used to set the shell used for build scripts.
    Default is /bin/sh.
    
    CVS patchset: 1977
    CVS date: 1998/01/25 17:03:30

commit 79fc5363ded0aab99c4489dc4a44f721a1122d5d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 23 04:23:33 1998 +0000

    Handle files with spaces
    
    CVS patchset: 1976
    CVS date: 1998/01/23 04:23:33

commit 69fdcb85694a4f5745d09e42a9772c1ce7981d8b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 22 14:13:01 1998 +0000

    added include of stdio.h
    
    CVS patchset: 1975
    CVS date: 1998/01/22 14:13:01

commit 01c24328af074c071733ccc3162e2f35dff62973
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 20 02:41:18 1998 +0000

    accept NULL as a valid prefix in rpmdbOpen()
    
    CVS patchset: 1974
    CVS date: 1998/01/20 02:41:18

commit f36e7608ea56cc899288f755919c7811d85e2ce9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 15 19:52:42 1998 +0000

    changes to differentiate mipsel from mipseb
    
    CVS patchset: 1973
    CVS date: 1998/01/15 19:52:42

commit e583c55c13cd3dbea34fdaee8441a571a9313d6b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 15 16:47:55 1998 +0000

    added -L$(topdir)/popt to Makefile.inc
    
    CVS patchset: 1972
    CVS date: 1998/01/15 16:47:55

commit a396fe9ed5478a3e8941fe1b191f0de29f88f9cc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 15 16:43:11 1998 +0000

    fixed typo
    
    CVS patchset: 1971
    CVS date: 1998/01/15 16:43:11

commit 056755707e08c37e86e56f3764a764894b8e0f04
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 15 16:42:41 1998 +0000

    version 2.4.99
    
    CVS patchset: 1970
    CVS date: 1998/01/15 16:42:41

commit dc8d984758da8baa2574af13060c40489bb3c5e6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jan 15 16:18:31 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1969
    CVS date: 1998/01/15 16:18:31

commit 7ab0c835714690031cbcd11a8c1c3b2d8b2a290e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jan 15 15:36:52 1998 +0000

    Hmm, why don't we actually pass the archive through gzip?
    That sounds like a good idea.
    
    CVS patchset: 1968
    CVS date: 1998/01/15 15:36:52

commit 449a0f84c7c585f7f86b31ee6827263be92ffa1f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jan 15 15:03:08 1998 +0000

    Change use of "export" to work on non-bash shells.
    
    CVS patchset: 1967
    CVS date: 1998/01/15 15:03:08

commit 83ec1da3f40ad4651c0b869f1585e82a2cfd6342
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 14 22:04:06 1998 +0000

    Don't build any packages if we got --test.
    
    CVS patchset: 1966
    CVS date: 1998/01/14 22:04:06

commit 041f4d727f55b6b88d729bd0af7d2118b494f0a8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 14 22:02:01 1998 +0000

    Don't try to cd into the build dir if there isn't onw.
    
    CVS patchset: 1965
    CVS date: 1998/01/14 22:02:01

commit 2b00d3199d90abcd702d10a81d4c3b28be90db37
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 14 14:40:02 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1964
    CVS date: 1998/01/14 14:40:02

commit 1ee0cac0dea2d5090eeda84cf5c478c44f324532
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 14 14:39:11 1998 +0000

    fixed rpmlibbuild.a to librpmbuild.a
    
    CVS patchset: 1963
    CVS date: 1998/01/14 14:39:11

commit 63a1a6794b4fafeef773e3a50135e266d0c5f649
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 14 04:14:35 1998 +0000

    Fix (and slightly change effects of) --rebuild and --recompile.
    
    CVS patchset: 1962
    CVS date: 1998/01/14 04:14:35

commit c1d4e941066ff05c1b63113bdd017986a1cb180e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 14 03:32:44 1998 +0000

    The spec file read code was inserting a second \n after every line!
    
    CVS patchset: 1961
    CVS date: 1998/01/14 03:32:44

commit e249552f6f28639793e64ded9c919ae2745a8398
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 13 19:59:26 1998 +0000

    Add changelog and man page entry for --rmsource.
    
    CVS patchset: 1960
    CVS date: 1998/01/13 19:59:26

commit f640acd1b4b6e5f149de40c6200d6ff6fc1a87d4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 13 19:56:18 1998 +0000

    Remove requirement of Distribution, Vendor, and Packager.
    
    CVS patchset: 1959
    CVS date: 1998/01/13 19:56:18

commit 9adb4d81fdde1842d1410eca176249db166368b5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 13 19:53:07 1998 +0000

    Temp turn off -p "foo foo foo" in CHANGELOG.
    Forgot to turn on rmsource.
    
    CVS patchset: 1958
    CVS date: 1998/01/13 19:53:07

commit 161b80d7eb481ae34bb98e69cb93273ea2469b26
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 13 19:38:40 1998 +0000

    fix for stupid freebsd header files
    
    CVS patchset: 1957
    CVS date: 1998/01/13 19:38:40

commit 757e50ffc827297e36f793cf79ddc471878f6d0b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 12 21:31:29 1998 +0000

    merged in Marc's new build code
    
    CVS patchset: 1956
    CVS date: 1998/01/12 21:31:29

commit ec07f9df959c911c60727ba68c455f4ff20497bf
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 12 16:58:31 1998 +0000

    fixed memory leak -- findMatches() wasn't freeing headers
    
    CVS patchset: 1953
    CVS date: 1998/01/12 16:58:31

commit 32c00a2278b5d3fe2d17d7829d48002723a8172f
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 12 16:58:16 1998 +0000

    added include of "intl.h"
    
    CVS patchset: 1952
    CVS date: 1998/01/12 16:58:16

commit 119cba2b87eb3589172f60cfd5712771efc10fc4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jan 11 18:53:39 1998 +0000

    Add intl.h
    
    CVS patchset: 1951
    CVS date: 1998/01/11 18:53:39

commit 26360c96541f6dbfa955d3d9fcc762366b0c6480
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jan 11 18:20:49 1998 +0000

    Add intl.h
    
    CVS patchset: 1950
    CVS date: 1998/01/11 18:20:49

commit de01516d05d94b51e0445532871d9a365fe6dc32
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jan 11 17:17:46 1998 +0000

    Obsolete root rpmrc var - use buildroot instead.
    
    CVS patchset: 1949
    CVS date: 1998/01/11 17:17:46

commit 7adbd683c5f901fd0d8970cc88025b7cf77bd068
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jan 11 16:40:08 1998 +0000

    Small bug fix.
    Allow C lang to be specified as "C" (as oppopsed to NULL).
    
    CVS patchset: 1948
    CVS date: 1998/01/11 16:40:08

commit 39165d71e6e5454d96896f4b2c0f2acc192df998
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 10 07:48:37 1998 +0000

    freed things improperly
    
    CVS patchset: 1947
    CVS date: 1998/01/10 07:48:37

commit af9aba223f6a49e9ecd96fb1fbc59ffdecf5b97c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 9 19:10:54 1998 +0000

    added more i18n strings
    
    CVS patchset: 1946
    CVS date: 1998/01/09 19:10:54

commit bee24b06ae463b921d91225867bc5a6831d06cfe
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 9 19:10:28 1998 +0000

    added lots of files
    
    CVS patchset: 1945
    CVS date: 1998/01/09 19:10:28

commit f9024508212cdd1e9d6e6b38c405745a4c0fe356
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 9 18:45:41 1998 +0000

    added _() around a string
    
    CVS patchset: 1944
    CVS date: 1998/01/09 18:45:41

commit 62d0b6f13b642a0735456ff78c0a3f460fd099ae
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 8 15:32:40 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1943
    CVS date: 1998/01/08 15:32:40

commit aaa4e01d982018570eb1517dca359a6e3cc3278a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 8 15:32:10 1998 +0000

    don't run scripts in test mode
    
    CVS patchset: 1942
    CVS date: 1998/01/08 15:32:10

commit b1271fa8a6e9a4d76fb22092c9c86420a17ec726
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 8 15:24:27 1998 +0000

    added Turkish message catalog
    
    CVS patchset: 1941
    CVS date: 1998/01/08 15:24:27

commit f96e84373ea2dbd070326841993917ee09a91532
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 7 15:43:42 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1919
    CVS date: 1998/01/07 15:43:42

commit 40f08d3731aa154cacf677b38857271a8fa7ec69
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 7 15:26:43 1998 +0000

    build time arch/os numbers weren't going through canon tables
    
    CVS patchset: 1918
    CVS date: 1998/01/07 15:26:43

commit aaf61490701a33aed49ea2be4f8d6bfd19322d0c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 7 15:25:46 1998 +0000

    undid some --setugids problems -- I don't know where they came from though
    
    CVS patchset: 1917
    CVS date: 1998/01/07 15:25:46

commit 306172f60020c97064cc194492e28f86efc30f8d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 6 03:20:24 1998 +0000

    0 length files are bad only if the files are regular ones -- it may be
    fine for sockets
    
    CVS patchset: 1916
    CVS date: 1998/01/06 03:20:24

commit 2dfbef04161668639212170a47f35f679e9e717f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 6 02:45:02 1998 +0000

    static strings before an array qualifier could get dropped
    
    CVS patchset: 1915
    CVS date: 1998/01/06 02:45:02

commit 733a31bb2b309260acee1b7e3b9e322e204e8b03
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 5 17:22:51 1998 +0000

    vesrion 2.4.12
    
    CVS patchset: 1914
    CVS date: 1998/01/05 17:22:51

commit 462655d9c02c3b296bc311ee4ccbaa1e441fe16e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 5 17:22:44 1998 +0000

    *** empty log message ***
    
    CVS patchset: 1913
    CVS date: 1998/01/05 17:22:44

commit a84fe2e28e254acf477ee040ea7d32438f5545ff
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 5 17:22:04 1998 +0000

    Fixed some error messages
    
    CVS patchset: 1912
    CVS date: 1998/01/05 17:22:04

commit ba236840af2fa9ebdb1899f2b2d541fdb6b4689c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 5 17:21:18 1998 +0000

    memset() reserved portion of lead
    
    CVS patchset: 1911
    CVS date: 1998/01/05 17:21:18

commit ace46218c0679eb029d155069dfc033f936b7bfd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 5 17:21:07 1998 +0000

    1) version 2.4.12
    2) doesn't require cpio anymore
    
    CVS patchset: 1910
    CVS date: 1998/01/05 17:21:07

commit 0a3d080403ca110af7217a19a799c5db51d0ed51
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 30 19:26:15 1997 +0000

    let mips build noarch packages
    
    CVS patchset: 1909
    CVS date: 1997/12/30 19:26:15

commit 7b53d1ce60fd347aaafe5c1849e28bacd1ef4260
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 30 19:25:51 1997 +0000

    made --setperms not follow symlinks
    
    CVS patchset: 1908
    CVS date: 1997/12/30 19:25:51

commit 9122ac746ca4c1393d484f688c889e478eef2c42
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 30 19:25:42 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1907
    CVS date: 1997/12/30 19:25:42

commit d07d0e7d82b433ccd601959943c0a451b971f941
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Nov 18 17:30:58 1997 +0000

    Added RPMTAG_FILEDEVICES, RPMTAG_FILEINODES, and RPMTAG_FILELANGS.
    
    CVS patchset: 1906
    CVS date: 1997/11/18 17:30:58

commit 209c6839dc7086ab461ee30d1ae06520d210ba21
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 14:25:55 1997 +0000

    changed #ifdef to #if
    
    CVS patchset: 1905
    CVS date: 1997/11/18 14:25:55

commit 248c72996359f03dd41c86ac4698acc4d476418a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 03:15:29 1997 +0000

    version 2.4.11
    
    CVS patchset: 1904
    CVS date: 1997/11/18 03:15:29

commit 1e318ff6d174757d8e177cf4426803f13dde283c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 03:13:56 1997 +0000

    various header file cleanups
    
    CVS patchset: 1903
    CVS date: 1997/11/18 03:13:56

commit d134038e40d3d41f7465248ae94cd68b14399b4b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 03:07:10 1997 +0000

    Force string.h to be present
    
    CVS patchset: 1902
    CVS date: 1997/11/18 03:07:10

commit 4533301c3816df9b5142d1cd2be9aa45989986ca
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 02:57:00 1997 +0000

    it wasn't ending a static string which occured immediately before
    an array
    
    CVS patchset: 1901
    CVS date: 1997/11/18 02:57:00

commit 59f3f537e94420a8b201fc6bce964bfff7e69f24
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 18 02:45:38 1997 +0000

    1) fixed \%dFOO query formats
    2) made %% work in query formats
    
    CVS patchset: 1900
    CVS date: 1997/11/18 02:45:38

commit d5b0c59cecd3032d8b3261077da10d1ace19c6a3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 12 14:47:12 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1899
    CVS date: 1997/11/12 14:47:12

commit aceb7c974016eb17811e2441499f469a511bf8b9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 12 14:46:39 1997 +0000

    fixed SYS_SOCKET symbol
    
    CVS patchset: 1898
    CVS date: 1997/11/12 14:46:39

commit b602abd8c3a7d6e1bd5248b29cd80e1b87b17f0b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Nov 7 17:27:56 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1897
    CVS date: 1997/11/07 17:27:56

commit 147a37e062f46d3562e027f75ebb6b48955af921
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Nov 6 19:14:03 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1896
    CVS date: 1997/11/06 19:14:03

commit 31808c0fc22126fe151f9f1717b0f723cfffe8c0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Nov 6 17:28:29 1997 +0000

    Fix bug where the directory prefix is listed in the file list
    
    CVS patchset: 1895
    CVS date: 1997/11/06 17:28:29

commit d45341c53c319233d16be3cbf2ae6169f5fa2bed
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Nov 5 14:39:20 1997 +0000

    Handle broken readdir() in sinix
    
    CVS patchset: 1894
    CVS date: 1997/11/05 14:39:20

commit 002ae63afbb68fcdc506e40da390fe1b48f71ef6
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 4 15:28:55 1997 +0000

    fixed oops
    
    CVS patchset: 1893
    CVS date: 1997/11/04 15:28:55

commit 05fc59570b1b0f3c555aadc9b78720a2fbc08344
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 3 20:18:11 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1892
    CVS date: 1997/11/03 20:18:11

commit d63fd08403359531feb367118e64c2504075b024
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 3 20:17:45 1997 +0000

    handle empty files as bad magic, not read errors
    
    CVS patchset: 1891
    CVS date: 1997/11/03 20:17:45

commit 727d6480b1b7291b9bec1e20f04846ef64dbb748
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 3 15:12:03 1997 +0000

    removed extraneous ' '
    
    CVS patchset: 1890
    CVS date: 1997/11/03 15:12:03

commit 68d771b7424c4d9363e11ec69a0048a3e1de9eb8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Nov 2 22:49:50 1997 +0000

    Added POPT_KEEP_FIRST to cause popt to *not* ignore first arg.
    
    CVS patchset: 1889
    CVS date: 1997/11/02 22:49:50

commit c74609f805beafd948b59379fe073ee5cb0acc6a
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Nov 2 16:45:17 1997 +0000

    added error strings for BADNUMBER and OVERFLOW errors
    
    CVS patchset: 1888
    CVS date: 1997/11/02 16:45:17

commit bdc2be0a078a729dca51648d4608e9c6eef662ad
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Nov 2 16:12:55 1997 +0000

    implmented POPT_ARG_INT and POPT_ARG_LONG
    
    CVS patchset: 1887
    CVS date: 1997/11/02 16:12:55

commit 24626289d2136276a909cbeb56d5f5df1faf81a5
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 19:36:57 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1886
    CVS date: 1997/10/31 19:36:57

commit 00d2ffce5271597882cc3d7a6afe2faf15a82146
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 19:32:56 1997 +0000

    fixed misc handling in makefile
    
    CVS patchset: 1885
    CVS date: 1997/10/31 19:32:56

commit b1842c1e7740f062a9d3a32ae7973ceeddd9121c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 19:24:48 1997 +0000

    only build misc dir and use libmisc.a if necessary
    
    CVS patchset: 1884
    CVS date: 1997/10/31 19:24:48

commit 67c236d758373bb3537f8563e3dd24bde414d3eb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 17:31:17 1997 +0000

    1) use rand
    2) conditionally check for newbuild
    
    CVS patchset: 1883
    CVS date: 1997/10/31 17:31:17

commit 016384f4591285d2449cdfe51b38c92a5d8555af
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 17:18:49 1997 +0000

    ftp code works in rpm and install
    
    CVS patchset: 1882
    CVS date: 1997/10/31 17:18:49

commit bcc9a0f74ad73bac457ab8b284413ded038c6212
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 31 17:10:29 1997 +0000

    cersion 2.4.10
    
    CVS patchset: 1881
    CVS date: 1997/10/31 17:10:29

commit a831aa003e9aaa24a737bf8560a0650fda8db105
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 29 22:13:48 1997 +0000

    don't give an error if missingok files don't exist on -e
    
    CVS patchset: 1880
    CVS date: 1997/10/29 22:13:48

commit b3a2b23fceef36ed0955b94ebdb2271cf93ab92d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 29 20:08:20 1997 +0000

    set uid/gid of source files to the same as the process's
    
    CVS patchset: 1879
    CVS date: 1997/10/29 20:08:20

commit 2048155a4b65efca8f3f4e92b76f67a2b72f9cbb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 29 16:02:07 1997 +0000

    cookie handling
    
    CVS patchset: 1878
    CVS date: 1997/10/29 16:02:07

commit 673346f72e37073e816011d343e520d30ab1f1af
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 29 15:55:29 1997 +0000

    ignore cookies
    
    CVS patchset: 1877
    CVS date: 1997/10/29 15:55:29

commit 868ce096dc2c453c2ba2c1e547ecd961862a638f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 29 15:55:09 1997 +0000

    handle cookies in source packages
    
    CVS patchset: 1876
    CVS date: 1997/10/29 15:55:09

commit e4bfb97c6a74814c0877a9f02daaa8266783d21b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 29 15:54:45 1997 +0000

    added cookie support
    
    CVS patchset: 1875
    CVS date: 1997/10/29 15:54:45

commit 3723ba4c06a02382e9bc157fbc1a848b16813d1f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 29 15:53:35 1997 +0000

    oboslete code was using a wrong loop invariant
    
    CVS patchset: 1874
    CVS date: 1997/10/29 15:53:35

commit 0426f5a19e1d39af9d1e33735983cf49aceb4375
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 29 15:12:19 1997 +0000

    use simple dns stuff
    
    CVS patchset: 1873
    CVS date: 1997/10/29 15:12:19

commit fd2f4aa0592bbd63ceea3a38b6243ec8b05b531d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 28 20:59:16 1997 +0000

    look for user/group name->id transitions after running preinstall
    
    CVS patchset: 1872
    CVS date: 1997/10/28 20:59:16

commit 56c3634cfab9fee5619cafb3da43745c2d0e3e8b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 26 16:42:44 1997 +0000

    ignore missing entries in requires database
    
    CVS patchset: 1871
    CVS date: 1997/10/26 16:42:44

commit 636fc4bec9353821db983092424a30e2b0c39a84
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Oct 23 15:10:03 1997 +0000

    Handle patch > 2.1
    
    CVS patchset: 1870
    CVS date: 1997/10/23 15:10:03

commit 5bfbd87d1dd9281bbb7021356a3e8d449713321e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 22 03:22:17 1997 +0000

    fixed oldpatch stuff
    
    CVS patchset: 1869
    CVS date: 1997/10/22 03:22:17

commit 7ade6087751d268d893dabaa677fe3274335a477
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 22 00:20:06 1997 +0000

    added check for old patch versions
    
    CVS patchset: 1868
    CVS date: 1997/10/22 00:20:06

commit 93900131c3dd7944ea45975b99f4dfadd01af944
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 17 18:35:53 1997 +0000

    Handle scripts where script prog in a string array.
    Make verify script use runScript().
    Always chdir("/") before running scripts.
    
    CVS patchset: 1867
    CVS date: 1997/10/17 18:35:53

commit 3354920c7cb1059b4e0a5e5a6538bad78d034326
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 17 18:34:22 1997 +0000

    Use runScript() for verifying script.
    Add verify prog args.
    
    CVS patchset: 1866
    CVS date: 1997/10/17 18:34:22

commit 99d07c6e204bd025a00bf283e0107622a665742b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 17 18:12:09 1997 +0000

    Check for write errors
    
    CVS patchset: 1865
    CVS date: 1997/10/17 18:12:09

commit deaf96073e4b68a0bb993ff7555711b6b6054124
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 17 04:34:34 1997 +0000

    header adjustment
    
    CVS patchset: 1864
    CVS date: 1997/10/17 04:34:34

commit a8b1b7aa6fe3279e9128220b94cb6391fcd08478
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Oct 17 04:14:06 1997 +0000

    Added headerAddOrAppendEntry()
    Allow more NULL args to getEntry(), etc
    
    CVS patchset: 1863
    CVS date: 1997/10/17 04:14:06

commit adf3f31c69dd450848ae6a332e7444c60409ff1a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 17 03:12:31 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1862
    CVS date: 1997/10/17 03:12:31

commit e548c70dde9f70a50fa177dc5ce0512a59b613c4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 17 03:12:03 1997 +0000

    when evaluating conditionals, array iteration number stays the same
    
    CVS patchset: 1861
    CVS date: 1997/10/17 03:12:03

commit 73306a9493d8b545b6cfbe4ad205e9ab597cc8d3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 16 17:35:48 1997 +0000

    made mips compatible with noarch
    
    CVS patchset: 1860
    CVS date: 1997/10/16 17:35:48

commit b564f1a8d92ccb8af36eaf8dfa5cd13eaceab6fd
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 15 18:53:54 1997 +0000

    oops
    
    CVS patchset: 1859
    CVS date: 1997/10/15 18:53:54

commit aa527b45203013cb4d2a95170ac57796cd955205
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 15 15:46:09 1997 +0000

    added header for SunOS
    
    CVS patchset: 1858
    CVS date: 1997/10/15 15:46:09

commit 9a899455f5449442d02735a67dca831f394278b2
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Oct 15 15:44:57 1997 +0000

    serial handling fixes
    
    CVS patchset: 1857
    CVS date: 1997/10/15 15:44:57

commit 27f71aba7b121f8474242feba80c62350eed8f25
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 14 22:02:54 1997 +0000

    Do a sanity check on BuildRoot
    
    CVS patchset: 1856
    CVS date: 1997/10/14 22:02:54

commit 081fc78381c1864115ac1f5203449a78c62eab27
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 14 21:50:13 1997 +0000

    Allow License: instead of Copyright:
    
    CVS patchset: 1855
    CVS date: 1997/10/14 21:50:13

commit f21b2d27ad2804bdf450f0c66e23e107a411bde3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 14 21:46:49 1997 +0000

    Allow Copyrght: to be inherited
    
    CVS patchset: 1854
    CVS date: 1997/10/14 21:46:49

commit b0bed59f684181d9e519b2dd6e7b938285c63e1e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 14 15:22:55 1997 +0000

    1) added make tar rule
    
    CVS patchset: 1853
    CVS date: 1997/10/14 15:22:55

commit d4ee4e7d6f39f9572ace5d73d65011e1503df9fc
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 14 15:20:39 1997 +0000

    verification fix for systems where a single gid maps to multiple gnames
    
    CVS patchset: 1852
    CVS date: 1997/10/14 15:20:39

commit 91995566f1e73986919ce0fdcc808b07858b01f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Oct 13 16:39:27 1997 +0000

    When creating archive use fsPath to find the file.
    
    CVS patchset: 1851
    CVS date: 1997/10/13 16:39:27

commit 00bec5227c2bf471e8e908357fe46b761849b89b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 10 21:46:34 1997 +0000

    updated versions to 2.4.9
    
    CVS patchset: 1850
    CVS date: 1997/10/10 21:46:34

commit a9d27441864cb8b71f2f1bdac708683e8935d010
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 10 21:29:15 1997 +0000

    remove popt.spec when building archive
    
    CVS patchset: 1849
    CVS date: 1997/10/10 21:29:15

commit 7a19e58f99eaca6bd062c4b35cf5678bece16aa4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 10 19:12:31 1997 +0000

    fixes from obsoletes changes
    
    CVS patchset: 1848
    CVS date: 1997/10/10 19:12:31

commit abaa0261fe04fb5be3ce5a36be56039491d34244
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 10 19:11:01 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1847
    CVS date: 1997/10/10 19:11:01

commit 6608c32b48787c6832ab6ca22761e26c494c1e1b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 10 19:10:36 1997 +0000

    only generate requirements for executable files
    
    CVS patchset: 1846
    CVS date: 1997/10/10 19:10:36

commit 398ca4e827492b1c249826ae6af0118307a5eac8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Oct 8 15:13:35 1997 +0000

    Terminate optionsTable
    
    CVS patchset: 1845
    CVS date: 1997/10/08 15:13:35

commit 199b537e338041dee082b81a4df446f34afb9952
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 7 14:33:50 1997 +0000

    changed 'archive' rule to use cvs export
    
    CVS patchset: 1844
    CVS date: 1997/10/07 14:33:50

commit 518ddc38e0491224a191ddf38df96111a94e06f6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Oct 7 14:22:40 1997 +0000

    Bug
    
    CVS patchset: 1843
    CVS date: 1997/10/07 14:22:40

commit b161f84ea64d724d02383dd854eb4bc1f407da80
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 6 18:00:11 1997 +0000

    fflags query formatter handles ghosts
    
    CVS patchset: 1842
    CVS date: 1997/10/06 18:00:11

commit 017fde861df2c50e6230b2d6857870b0ed1b4d18
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Oct 6 17:43:58 1997 +0000

    Added %ghost option for files
    
    CVS patchset: 1841
    CVS date: 1997/10/06 17:43:58

commit 144ef26448e1f43d3737cfda6c40a4f1b1b75656
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 3 16:09:15 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1840
    CVS date: 1997/10/03 16:09:15

commit e436c8ad2e7ec9982e60c8a5cfd889c72185febd
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 3 16:08:45 1997 +0000

    added smarts for ordering sets
    
    CVS patchset: 1839
    CVS date: 1997/10/03 16:08:45

commit 7ed282cb04ade7021882782c6cdad7aa908d49e9
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 3 16:08:20 1997 +0000

    was calculating incorrect archive size for package w/ hard links
    
    CVS patchset: 1838
    CVS date: 1997/10/03 16:08:20

commit e590740bbe85095f3c4e0629a2275be0d88afd47
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 3 16:06:36 1997 +0000

    fixed problems introduced by obsolete handling
    
    CVS patchset: 1837
    CVS date: 1997/10/03 16:06:36

commit dac493ef9edff235c4abad40801c93fcbdd35840
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Oct 3 16:05:46 1997 +0000

    needs to read rpmrc
    
    CVS patchset: 1836
    CVS date: 1997/10/03 16:05:46

commit d518d25eb911b0c9bffc1da95f3d753ea4041d05
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Sep 30 20:23:20 1997 +0000

    Sanity check
    
    CVS patchset: 1835
    CVS date: 1997/09/30 20:23:20

commit b7d6861f740b68720d276da802330bd95c6a1914
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 19 14:08:10 1997 +0000

    popt is it's own library
    
    CVS patchset: 1834
    CVS date: 1997/09/19 14:08:10

commit 23a98445167f19dbdbadfd4a7a526cbba2b1e745
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Sep 18 16:46:08 1997 +0000

    1) allowed installation based on a PREFIX
    2) added popt.spec
    
    CVS patchset: 1833
    CVS date: 1997/09/18 16:46:08

commit b5572be323cb4d03b21dfcd4a88baba67069cf19
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Sep 18 16:39:46 1997 +0000

    1) use Makefile.inc if it's present
    2) added install rule
    
    CVS patchset: 1832
    CVS date: 1997/09/18 16:39:46

commit b7770cb63d5aec08c3737c13c905ef46835459c0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Sep 18 01:54:30 1997 +0000

    added kickstart support for
            1) keymap
            2) swap
            3) lilo
            4) postinstall networking (preliminary)
            5) dependency resolution
    
    CVS patchset: 1831
    CVS date: 1997/09/18 01:54:30

commit b1af513e6358428e6f934db1c611222812d3f55f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Sep 17 17:52:08 1997 +0000

    Fix requires generation for scripts
    
    CVS patchset: 1830
    CVS date: 1997/09/17 17:52:08

commit d4803c088c1e115dfbb21e9d2c312bef8af2decb
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Sep 16 23:16:21 1997 +0000

    added install/dep time support for obsoletes tag
    
    CVS patchset: 1829
    CVS date: 1997/09/16 23:16:21

commit 3b6704e349687faf49c27548ea98dd3f12c3e66a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Sep 16 20:09:31 1997 +0000

    Move obsoletes to own tag
    
    CVS patchset: 1828
    CVS date: 1997/09/16 20:09:31

commit 7a16d204c479d2eb62ca7468109ebdf856599269
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Sep 16 19:20:16 1997 +0000

    Added Obsoletes: tag
    
    CVS patchset: 1827
    CVS date: 1997/09/16 19:20:16

commit 6fedd84788cb4df935c9eeb21aca55b3508616e3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 14 13:16:51 1997 +0000

    removed some unused variables
    
    CVS patchset: 1826
    CVS date: 1997/09/14 13:16:51

commit 9b2315744954a4f5ea1d6fb3729c9c678033a4ba
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 14 13:16:36 1997 +0000

    fixed size in write()
    
    CVS patchset: 1825
    CVS date: 1997/09/14 13:16:36

commit bb1ce12d842438bba1a8d0666e1671c32de59dee
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 14 13:16:25 1997 +0000

    added various arch_compat and build_arch_compat lines
    
    CVS patchset: 1824
    CVS date: 1997/09/14 13:16:25

commit 2a0ffbb344c9a78fa1cbe180ec1729e80737e373
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 14 02:33:27 1997 +0000

    added build compatibilities for m68k ppc
    
    CVS patchset: 1823
    CVS date: 1997/09/14 02:33:27

commit bc5e955e9e779b36fdaa15efb872aed6132cad65
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 12 19:26:01 1997 +0000

    vesrion 2.4.7
    
    CVS patchset: 1822
    CVS date: 1997/09/12 19:26:01

commit ff2e07c8e37905900e06bae096a595bbb1cd0dbf
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 12 19:13:58 1997 +0000

    vesrion 2.4.7
    
    CVS patchset: 1821
    CVS date: 1997/09/12 19:13:58

commit 67b7c3bc00af4d30fa1cb37866fbc2d3c97df38b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 12 19:12:36 1997 +0000

    do "set -x" as "set -xs" is simply broken
    
    CVS patchset: 1820
    CVS date: 1997/09/12 19:12:36

commit a74c005013aec09c5f49da894480f010ae642d77
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 12 19:09:07 1997 +0000

    1) fixed some HP specific typos
    2) uname() rseults get pushed through *_canon tables before being used
    
    CVS patchset: 1819
    CVS date: 1997/09/12 19:09:07

commit 6558956b6e99c810530888a3e1121a10d77a74c7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Sep 9 21:00:48 1997 +0000

    pre/post script processing had some erroneous free() calls
    
    CVS patchset: 1818
    CVS date: 1997/09/09 21:00:48

commit afdca6b38f988707a9b1506ed80737238dd681f2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Sep 9 19:11:27 1997 +0000

    didn't package / properly
    
    CVS patchset: 1817
    CVS date: 1997/09/09 19:11:27

commit 6dd1dc3c14a8d5c90b22e31e4268aeb4d4484ba2
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 1 15:55:56 1997 +0000

    find-requires (Linux) adds requirements for shell interpretors
    
    CVS patchset: 1816
    CVS date: 1997/09/01 15:55:56

commit 65905e2ee76fea6f3d134e8bb26afb31702c1fdc
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 31 14:00:23 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1815
    CVS date: 1997/08/31 14:00:23

commit 1b98b7327a2b86b131d331d7b5913b4e1e0f72c5
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 31 13:58:57 1997 +0000

    Had some wrong month length in date parsing code
    
    CVS patchset: 1814
    CVS date: 1997/08/31 13:58:57

commit 8e4e2d67e1ea748560fb15a6561b9957dc57f5b1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Aug 29 15:49:10 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1813
    CVS date: 1997/08/29 15:49:10

commit b96467df0305107bc8de8959e27c1a47edb21b1d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Aug 29 14:04:58 1997 +0000

    Do not allow version specification in PreReq:
    
    CVS patchset: 1812
    CVS date: 1997/08/29 14:04:58

commit bc8f275da320f0d67ffeaaeed58246eb4cf6a8a6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 20:53:30 1997 +0000

    fixed __hpux test
    
    CVS patchset: 1811
    CVS date: 1997/08/28 20:53:30

commit dedcaa3fbe37d992bbbbf7c8995f8e5a49c0cd43
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 19:15:47 1997 +0000

    only write install prefix env variable if one is defined
    
    CVS patchset: 1810
    CVS date: 1997/08/28 19:15:47

commit d4e8084b2a8ee8d5eae97a3273f09b4fa3a6eea6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 19:13:54 1997 +0000

    replaced temporary file creation to be significantly safer
    
    CVS patchset: 1809
    CVS date: 1997/08/28 19:13:54

commit fe6d4834696c89e5fcdd258439889b153197fb5d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 18:51:07 1997 +0000

    set RPM_INSTALL_PREFIX properly
    
    CVS patchset: 1808
    CVS date: 1997/08/28 18:51:07

commit 78618acbb3b55a079ceeeabc4dbd339b61d3cd4b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 18:49:01 1997 +0000

    hpux hacks
    
    CVS patchset: 1807
    CVS date: 1997/08/28 18:49:01

commit 3b9ccca76ad584847bf143336bda6b9261d19e98
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 28 18:41:06 1997 +0000

    need to fabricate user/group name lists for v1 packagse
    
    CVS patchset: 1806
    CVS date: 1997/08/28 18:41:06

commit 505557300379d127cbb12b275a7531e0a30e29c1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 27 14:25:28 1997 +0000

    version 2.4.6
    
    CVS patchset: 1805
    CVS date: 1997/08/27 14:25:28

commit d55cb332670225d344c546787829c69806bf8b68
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 27 13:24:04 1997 +0000

    added sun4d arch_canon entry
    
    CVS patchset: 1804
    CVS date: 1997/08/27 13:24:04

commit e637438e975e8c168ac4e7c00e68c4910940024c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 26 18:22:16 1997 +0000

    set proper default for chown() checking
    
    CVS patchset: 1803
    CVS date: 1997/08/26 18:22:16

commit 80d5d62bc1a98918f0f16c77dbc1cc35b766390b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 26 16:36:30 1997 +0000

    Fixed md5 on source packages.
    
    CVS patchset: 1802
    CVS date: 1997/08/26 16:36:30

commit a9f16a53a61dbaf005404ba39350928d8b7b9fef
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 26 14:26:27 1997 +0000

    chown() follows symlinks on nextstep (that's what I'll guess anyway)
    
    CVS patchset: 1801
    CVS date: 1997/08/26 14:26:27

commit df4eb604ecdc71d15b6b784e5dece0133327971b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 26 14:21:46 1997 +0000

    got rid of includes of malloc.h (use stdlib.h instead)
    
    CVS patchset: 1800
    CVS date: 1997/08/26 14:21:46

commit b54778e17dee3e5bf9dd4fc6e52c7b5424531de0
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 26 14:19:35 1997 +0000

    added os_canon entries for BSD/OS and NextStep
    
    CVS patchset: 1799
    CVS date: 1997/08/26 14:19:35

commit 7bc17e28d6c5be192bb168154cb7bfc16febf41e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 25 17:45:30 1997 +0000

    don't do link count checking on dirs
    
    CVS patchset: 1798
    CVS date: 1997/08/25 17:45:30

commit c7d861cd1fa37a30f3740164696b402c678a22db
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 25 14:39:13 1997 +0000

    Updated to 2.4.5
    
    CVS patchset: 1797
    CVS date: 1997/08/25 14:39:13

commit 2519b8c0d035b15b4a41ad32aee8601f2bcfb587
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 25 14:38:48 1997 +0000

    1) RPM_ARCHIVESIZE tag didn't get filled in properly
    2) added include of <pwd.h> to lib/install.c
    
    CVS patchset: 1796
    CVS date: 1997/08/25 14:38:48

commit fc32e706f3df1c27cf465c07576c00763ab4c8cf
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 18:12:05 1997 +0000

    1) added buildarch_compat tables
    2) fixed malloc problem in rpmrc parsing
    
    CVS patchset: 1795
    CVS date: 1997/08/24 18:12:05

commit 18573ee5524b7eb6b343433a5cc8b20974db0e3f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 13:04:46 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1794
    CVS date: 1997/08/24 13:04:46

commit f35f7825a6b6ae60895e0d9ae6fa382fdda45e9c
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 13:04:39 1997 +0000

    added version stamp
    
    CVS patchset: 1793
    CVS date: 1997/08/24 13:04:39

commit bbe85028fad889dff6667b5735bb064325e11286
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 13:04:25 1997 +0000

    recognizes i686
    
    CVS patchset: 1792
    CVS date: 1997/08/24 13:04:25

commit 7f5c95c6750303c3432bef884aa2bd4469dbfae0
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 13:04:06 1997 +0000

    version 2.4.5
    
    CVS patchset: 1791
    CVS date: 1997/08/24 13:04:06

commit 3a1f07df62827be18cd2d819896b2ae6cfd28cf3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 24 13:00:51 1997 +0000

    If --root is used, call getpwent() before the chroot(), forcing any
    name services libraries to be loaded from outside of the chroot()
    
    CVS patchset: 1790
    CVS date: 1997/08/24 13:00:51

commit f6b5bc1f9dd3c85c626297e131bf7789ebe119ff
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 21 01:56:28 1997 +0000

    changed vesrion to 2.4.4
    
    CVS patchset: 1789
    CVS date: 1997/08/21 01:56:28

commit 6aa825730d47a4d3436e9cb5ee58ff9a686088ae
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 21 01:23:14 1997 +0000

    added --noorder
    
    CVS patchset: 1788
    CVS date: 1997/08/21 01:23:14

commit b782a7d4aa0c7273ebade951d8292a5584a80114
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 21 01:20:16 1997 +0000

    1) rpm2cpio didn't handle zlib errors properly
    2) query formats could yield (none)\n instead of just (none)
    3) queries of fssizes w/o fsnames went bonkers
    
    CVS patchset: 1787
    CVS date: 1997/08/21 01:20:16

commit a50bad6f038dd3965a7702ebeda77de79ed74bbe
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 21 01:07:29 1997 +0000

    build up LIBS by appending
    
    CVS patchset: 1786
    CVS date: 1997/08/21 01:07:29

commit c24b00b73c8f11bcf801f12d8e83c825188f6cb9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 21 01:04:46 1997 +0000

    applied changes from Alex deVries
    
    CVS patchset: 1785
    CVS date: 1997/08/21 01:04:46

commit 36c5ef71e95ec3ef2d0dc383009383762135dacd
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 19 16:36:20 1997 +0000

    BUILDARCHS is now not only internal
    
    CVS patchset: 1784
    CVS date: 1997/08/19 16:36:20

commit a377e96040f7e49ef6f818556a07cc7160b46ceb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Aug 19 16:35:33 1997 +0000

    Add BUILDARCHS tag to source packages.
    
    CVS patchset: 1783
    CVS date: 1997/08/19 16:35:33

commit 2ec98d5fed84aa71656b92a3703643f79b249a9c
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 10 13:41:11 1997 +0000

    Look for random() in -lucb
    
    CVS patchset: 1782
    CVS date: 1997/08/10 13:41:11

commit 3a7e18a373b51458a1094bd6e3026ccea35efdc0
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Aug 10 13:40:16 1997 +0000

    Changed licensing of librpm to LGPL
    
    CVS patchset: 1781
    CVS date: 1997/08/10 13:40:16

commit 8f347affdca544ff7cb4e1fe49564727c5d3ee65
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 31 16:25:34 1997 +0000

    return proper success code after writing hardlinks
    
    CVS patchset: 1780
    CVS date: 1997/07/31 16:25:34

commit fb72e505a9a7bcc8cf54cc8bc4306a951da5dee6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 31 16:02:19 1997 +0000

    1) improved cpio error message
    2) moved bad chdir() restoration
    3) close files after writing their contents to cpio archive
    
    CVS patchset: 1779
    CVS date: 1997/07/31 16:02:19

commit 9174be23bae7e21c3e1ffb11c0b301a2ca14bc1b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 31 14:04:56 1997 +0000

    1) cpio can now conditionally follow symlinks
    2) directory archiving is fixed
    
    CVS patchset: 1778
    CVS date: 1997/07/31 14:04:56

commit ce379332c44dd6f69929da17da3e338874733850
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 30 22:19:39 1997 +0000

    Restore CWD after packing files
    
    CVS patchset: 1777
    CVS date: 1997/07/30 22:19:39

commit 73fa07578ac8c09a911c4b302d923a7cc868b5f3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 28 21:16:55 1997 +0000

    Added include of errno.h
    
    CVS patchset: 1776
    CVS date: 1997/07/28 21:16:55

commit 96a4b7ca2c6fbf6a3786642c27996d09fe42f28d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 28 20:39:41 1997 +0000

    added buildarchitectures info
    
    CVS patchset: 1775
    CVS date: 1997/07/28 20:39:41

commit c4a86e70debfbcc7c93bc02c8845b688f2e4a066
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 25 13:57:17 1997 +0000

    Get rid of warning
    
    CVS patchset: 1774
    CVS date: 1997/07/25 13:57:17

commit ccc21cb726e302dad410c6b4e6cabf4095f1249a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jul 25 13:09:05 1997 +0000

    Modify to allow BuildArchitectures:
    
    CVS patchset: 1773
    CVS date: 1997/07/25 13:09:05

commit dd4a1f65102901b5108b2d3a58e3e90e654b2241
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 24 19:15:03 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1772
    CVS date: 1997/07/24 19:15:03

commit 53cfcda67d361ff75387474915838f9442226891
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 24 15:15:48 1997 +0000

    Added --justdb
    
    CVS patchset: 1771
    CVS date: 1997/07/24 15:15:48

commit 9b0241488164d65d54af6a233dcd8472a660fe26
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 24 14:41:55 1997 +0000

    Fixed installs of serial/version tags
    
    CVS patchset: 1770
    CVS date: 1997/07/24 14:41:55

commit d4e36ffd5647d5df0ae6920ce4bf63cc4ed124d6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 19:11:10 1997 +0000

    tried to fix --setperms
    
    CVS patchset: 1769
    CVS date: 1997/07/23 19:11:10

commit 815321cb72f68a562e33733ac81acb338a62e11e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 19:10:16 1997 +0000

    Removed # from :octal specifier
    
    CVS patchset: 1768
    CVS date: 1997/07/23 19:10:16

commit 322f3f85ffdb916c6459cd098b3cf4188eaf9c6e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 19:03:38 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1767
    CVS date: 1997/07/23 19:03:38

commit 0d6eda54e6f6fa2610f57f9e83372e361202ef12
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:43:47 1997 +0000

    cvs changes
    
    CVS patchset: 1766
    CVS date: 1997/07/23 18:43:47

commit 309b29ed815d9b7c83fdd0351a3579bae22ac9a9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:42:42 1997 +0000

    "make archive" displays the version number prominetly
    
    CVS patchset: 1765
    CVS date: 1997/07/23 18:42:42

commit 126ba89735b31535ad9efbd66b113ce43db00feb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:38:51 1997 +0000

    fixed problem in awk invocation
    
    CVS patchset: 1764
    CVS date: 1997/07/23 18:38:51

commit 722f358b495cb541521f0d02eae8228e8330af15
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:38:43 1997 +0000

    added Eric Mumpower
    
    CVS patchset: 1763
    CVS date: 1997/07/23 18:38:43

commit c412e45d33bfbcea2e60b520e872442a0db75083
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:36:55 1997 +0000

    look for random() in libm
    
    CVS patchset: 1762
    CVS date: 1997/07/23 18:36:55

commit 29284ac90a663c7dfb2f94edb287b8d9660f1e03
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:35:34 1997 +0000

    added #define for SCO
    
    CVS patchset: 1761
    CVS date: 1997/07/23 18:35:34

commit 94ff866183a1e28b70ea54fb70466dd5a36bcce5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:32:15 1997 +0000

    added provides rpmrc tag
    
    CVS patchset: 1760
    CVS date: 1997/07/23 18:32:15

commit 31897750f814160ed6bba6b33f14e66127717936
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:14:51 1997 +0000

    removed cpiobin from rpmrc
    
    CVS patchset: 1759
    CVS date: 1997/07/23 18:14:51

commit b74c382c4efaaae31aa17d445f007668a2829fff
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:08:51 1997 +0000

    renamed cpio mapping finalPath to fsPath
    
    CVS patchset: 1758
    CVS date: 1997/07/23 18:08:51

commit aaceb01a4fdaf6729733b99ac7d968d17455096b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:08:16 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1757
    CVS date: 1997/07/23 18:08:16

commit 96fd394a90fe6e7746b8f78e467ae5140ce6ae41
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:08:01 1997 +0000

    Moidified to use internal cpio building code
    
    CVS patchset: 1756
    CVS date: 1997/07/23 18:08:01

commit ce27d9c15c362cf04be53c512c78f01fa56a4e7a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 18:07:46 1997 +0000

    1) added cpio building code
    2) changed how filenames are read from cpio archives; this shouldn't
       break anything <gulp>
    
    CVS patchset: 1755
    CVS date: 1997/07/23 18:07:46

commit b1120e3415e0bf6007bdfa31679224bc0787da0b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 13:44:42 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1754
    CVS date: 1997/07/23 13:44:42

commit 6c5567483be5b64ac6384e24b25f7697949a639b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 13:09:33 1997 +0000

    - compatible arch/os lists should be based on physical machine, not
      translated machine
    - added build arch/os lists to --showrc
    
    CVS patchset: 1753
    CVS date: 1997/07/23 13:09:33

commit 79c05ecc3edcbc3da41d2ce7039cd858cf01c5e5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 01:17:17 1997 +0000

    Fixed architecture overrides
    
    CVS patchset: 1752
    CVS date: 1997/07/23 01:17:17

commit 7b3f4e860149fd68da5e8c51c845b3e4b382b208
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 23 01:06:03 1997 +0000

    rewrote rcfile parsing
    
    CVS patchset: 1751
    CVS date: 1997/07/23 01:06:03

commit d30a47c0b44c7ff0ee03a6ed6a5c7ff573c6aacf
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 22 16:29:57 1997 +0000

    Removed NEWS file
    
    CVS patchset: 1750
    CVS date: 1997/07/22 16:29:57

commit 3cc65fbe06ec54c6411d6c9baeca3d54e4b8ceab
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 22 16:29:09 1997 +0000

    1) conditionally display url/packager tags
    2) display "(not installed)" for the install time of packages w/ haven't
       been installed
    
    CVS patchset: 1749
    CVS date: 1997/07/22 16:29:09

commit 478cbfe961f53b0e82e9906ce0077ba617d4a65a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 18 15:21:51 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1748
    CVS date: 1997/07/18 15:21:51

commit d30d904329cf4944f5021d2936f07e9ac0a0865e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 18 15:03:35 1997 +0000

    Dump the stack when a dependency loop is encountered
    
    CVS patchset: 1747
    CVS date: 1997/07/18 15:03:35

commit 007b4c33a2a558fc1f062b8ceab0aeab41a36dac
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 17 19:18:33 1997 +0000

    When a uname->id translation fails, close the password file and retry
    
    CVS patchset: 1746
    CVS date: 1997/07/17 19:18:33

commit b00397df1140bfda4a0dd49a9224fcb62b8fa13f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 17 19:18:15 1997 +0000

    Restore original directory after chroot()
    
    CVS patchset: 1745
    CVS date: 1997/07/17 19:18:15

commit 6c518ea2790669e1632c18a7a49f72b62c275ccb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:57:50 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1744
    CVS date: 1997/07/16 01:57:50

commit 3f8dd5dd2f90b4dea934737de4d76e3e0a222303
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:56:14 1997 +0000

    Don't bother creating devices/symlinks which already exist
    
    CVS patchset: 1743
    CVS date: 1997/07/16 01:56:14

commit acbd1b17c200d87d07415adbc2921793dc470373
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:48:46 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1742
    CVS date: 1997/07/16 01:48:46

commit a498165bc5a9d2802b1d740a56cece424b486940
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:44:27 1997 +0000

    Uses chroot() for --root rather then hand manipulation
    
    CVS patchset: 1741
    CVS date: 1997/07/16 01:44:27

commit cb568d02f5527b063c0bfdcc29134ef20034e192
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:42:13 1997 +0000

    Interface changes for PROG tags
    
    CVS patchset: 1740
    CVS date: 1997/07/16 01:42:13

commit 05ecca354d59e0ed0c9a8afe7cabaac4451f7747
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:41:50 1997 +0000

    Implements POSTUNPROG-type tags
    
    CVS patchset: 1739
    CVS date: 1997/07/16 01:41:50

commit cdf81c1bed179cdf1b598006b114ae47d21ee043
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:40:23 1997 +0000

    Hardwired lookups for root user and group lookups
    
    CVS patchset: 1738
    CVS date: 1997/07/16 01:40:23

commit 0d07345d8ae7c5ddad465a69ad8a3e44a56249ff
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:39:54 1997 +0000

    Indexes need to me made w/ ordering is done
    
    CVS patchset: 1737
    CVS date: 1997/07/16 01:39:54

commit 4f0ecdf028f7b364275b93ee91411a3bfea40994
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 16 01:38:55 1997 +0000

    Don't check for symlink() reutrning nonzero, check only for < 0
    
    CVS patchset: 1736
    CVS date: 1997/07/16 01:38:55

commit d2356b89a358e684ebd8f871683a687385d7a6d8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 14 14:48:38 1997 +0000

    Fixes to script runs
    
    CVS patchset: 1735
    CVS date: 1997/07/14 14:48:38

commit cc0a278e1d2a8b81916d443b90c6ac6c1191247d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 8 18:48:36 1997 +0000

    Don't include packages multiple times in ordering
    
    CVS patchset: 1734
    CVS date: 1997/07/08 18:48:36

commit 3e4b8299e5e239cfbbca946351fcfb2c6a0f782f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 8 18:41:10 1997 +0000

    Packages may satisfy their own dependencies
    
    CVS patchset: 1733
    CVS date: 1997/07/08 18:41:10

commit 94cebfb2fa3f86caec8a854ef257fb34f33ea4ef
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 7 22:22:44 1997 +0000

    1) changed popt's ternary operator to work properly
    2) popt doesn't take \ at the end of a line as a newline
    3) fixed --scripts in rpmpopt to take advantage of #1
    
    CVS patchset: 1732
    CVS date: 1997/07/07 22:22:44

commit 4fc52f759c02ad82d4df94207956fafad46f47d9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 7 21:13:26 1997 +0000

    Fix handling of %pre -p <prog> when it has no body
    
    CVS patchset: 1731
    CVS date: 1997/07/07 21:13:26

commit 9f56b79acf30747a1102bffcd85b0a9a585ec9a9
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 7 20:46:18 1997 +0000

    Added termnary expression evaluation
    
    CVS patchset: 1730
    CVS date: 1997/07/07 20:46:18

commit f253cb1c13493c20654ee4eedb2103064c734417
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 7 19:20:47 1997 +0000

    Restored %{#TAG} style
    
    CVS patchset: 1729
    CVS date: 1997/07/07 19:20:47

commit 932e837097d7de0efbf8f5f06a9687e6a23e56d4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 7 14:51:54 1997 +0000

    Add %pre/%post -p <prog> handling
    
    CVS patchset: 1728
    CVS date: 1997/07/07 14:51:54

commit de6dd8d747ecdc529ed526e9e97dfc46c4ab4b6b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jul 3 21:11:06 1997 +0000

    Change message to standard "Build failed."
    
    CVS patchset: 1727
    CVS date: 1997/07/03 21:11:06

commit 03671e7a5f7e27cd02133aa42f9e3bb4326c09ac
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jul 3 16:34:12 1997 +0000

    Handle -p <prog> on pre/post scripts
    
    CVS patchset: 1726
    CVS date: 1997/07/03 16:34:12

commit e5db5b2a684394a7455afb81fa2c1ab172c342b5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 1 16:29:30 1997 +0000

    Make comments "deactivate" %define
    
    CVS patchset: 1725
    CVS date: 1997/07/01 16:29:30

commit ce8b1ddc6ef77e8bdf9ccaee5aba3eb54ca5aa53
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 1 16:24:08 1997 +0000

    Added install time prerequisite checking
    
    CVS patchset: 1724
    CVS date: 1997/07/01 16:24:08

commit aaea587060aed238d70b9470a8e78c6af824349f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 1 15:23:47 1997 +0000

    add /usr/X11R6/man to docdirs
    
    CVS patchset: 1723
    CVS date: 1997/07/01 15:23:47

commit ce86635a34fb8989910dcda2164366eb88365cb5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 30 15:59:30 1997 +0000

    Added include for SunOS
    
    CVS patchset: 1722
    CVS date: 1997/06/30 15:59:30

commit cd457cbd869152f8809d12f7e3a66648391c4a62
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 27 22:39:57 1997 +0000

    Changed versions to 2.4.3
    
    CVS patchset: 1721
    CVS date: 1997/06/27 22:39:57

commit 77f29da77ca7adca208254956f3dae881b2e52dc
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 27 21:58:34 1997 +0000

    oops
    
    CVS patchset: 1720
    CVS date: 1997/06/27 21:58:34

commit b5be704565774dd68e7fd9ea7eef9d516fe9ee20
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 27 21:55:49 1997 +0000

    Tried to get everything working for SCO.
    
    CVS patchset: 1719
    CVS date: 1997/06/27 21:55:49

commit 398062305f1881fa45057498799b24f2fafe7714
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 27 21:47:43 1997 +0000

    uname() IP* is truncated to just IP
    
    CVS patchset: 1718
    CVS date: 1997/06/27 21:47:43

commit 328cab55d59253e024e3c0017ccfc427942b9572
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 27 21:47:03 1997 +0000

    1) Changed IP24 to IP in prep for better IP handling
    2) Made IP an alias for mips architecture
    3) Added IRIX64
    
    CVS patchset: 1717
    CVS date: 1997/06/27 21:47:03

commit d7e4e056fab11977e4767875a7abc1aa5fbd1035
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 26 14:35:37 1997 +0000

    Fixed output messages
    
    CVS patchset: 1716
    CVS date: 1997/06/26 14:35:37

commit 9dcf56f81fa163cfe46748e7fd0fdc2b943f964e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 26 14:35:27 1997 +0000

    Fixed user to group
    
    CVS patchset: 1715
    CVS date: 1997/06/26 14:35:27

commit a3c0eeb9bc12724bbc29afbf6038785fa37ed2d1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 20:23:27 1997 +0000

    chown() follows symlinks on hpux
    
    CVS patchset: 1714
    CVS date: 1997/06/25 20:23:27

commit be985f4853101c69384eb0fabb9d81b4050e722e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 16:12:11 1997 +0000

    remove all CVS dirs during "make archive"
    
    CVS patchset: 1713
    CVS date: 1997/06/25 16:12:11

commit dfe564e55dba38bf561deb8c9623808320bf5d20
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 16:10:19 1997 +0000

    more osf getmntent_r() patches
    
    CVS patchset: 1712
    CVS date: 1997/06/25 16:10:19

commit 08a988c7523450cb755701c3bf062da53d1b278d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 16:09:38 1997 +0000

    taght it to figure out the arch of aix systems
    
    CVS patchset: 1711
    CVS date: 1997/06/25 16:09:38

commit 4562a634999fa180c613f58db557d22f06d2ba57
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 16:04:50 1997 +0000

    correctly determines architecture for powerpc
    
    CVS patchset: 1710
    CVS date: 1997/06/25 16:04:50

commit 1533f245d278734559b507753a893ee0d8d9676e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 25 15:50:10 1997 +0000

    new translations
    
    CVS patchset: 1709
    CVS date: 1997/06/25 15:50:10

commit dda52c18d6a434f6f4c947cd75770240a738f9d6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 22:18:02 1997 +0000

    Changes for OSF/1 getmntinfo_r()
    
    CVS patchset: 1708
    CVS date: 1997/06/19 22:18:02

commit 5b52e398993a6bc104fc88912f88ed61b9ad9be0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 22:17:45 1997 +0000

    fixed "struct fd_set" to fd_set for glibc
    
    CVS patchset: 1707
    CVS date: 1997/06/19 22:17:45

commit 4ff14e057d24add6b0f0f75b3a5833bc80ff5c44
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 19 19:46:19 1997 +0000

    PreReq handling
    
    CVS patchset: 1706
    CVS date: 1997/06/19 19:46:19

commit 6dd67818e951fb1f2577186acebb512ff91b6646
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 19 18:51:26 1997 +0000

    Fix src package file name.
    
    CVS patchset: 1705
    CVS date: 1997/06/19 18:51:26

commit ca410b34d009b64dc1ad483e4bf26152a6bdbd89
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 15:15:03 1997 +0000

    fixed typo
    
    CVS patchset: 1704
    CVS date: 1997/06/19 15:15:03

commit 300911b8b7e64e91701d81cb1d16e719b2bde17f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 14:16:59 1997 +0000

    Fixed some typos
    
    CVS patchset: 1703
    CVS date: 1997/06/19 14:16:59

commit bfad9c327187b2e69b3fcd1a2fe22ad57cae23fe
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 13:30:47 1997 +0000

    First pass at SCO getmntent()
    
    CVS patchset: 1702
    CVS date: 1997/06/19 13:30:47

commit a25a642bbbe429a3eea2749a9c4ec6abcd8b3125
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 13:18:41 1997 +0000

    Include "miscfn.h"
    
    CVS patchset: 1701
    CVS date: 1997/06/19 13:18:41

commit 52ed621c76ca5940a446fc20a672dd18c5f4d511
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 13:17:56 1997 +0000

    Fixed memory allocation
    
    CVS patchset: 1700
    CVS date: 1997/06/19 13:17:56

commit 9932bf2f0df4de6acebc6452665672e8684c4067
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 13:17:45 1997 +0000

    Placed include of <sys/wait.h> after <sys/resource.h> for AIX
    
    CVS patchset: 1699
    CVS date: 1997/06/19 13:17:45

commit 9b7a0228d1c600991f54c1410521da983329a218
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 19 13:13:50 1997 +0000

    AIX changes from Till Bubeck
    
    CVS patchset: 1698
    CVS date: 1997/06/19 13:13:50

commit f889cd5bdd39d115b913b8c85a660d1b226b5e81
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 18 23:19:59 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1697
    CVS date: 1997/06/18 23:19:59

commit c177b9240befd8e3b7fce7f07e1e27ee0ba87422
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 18 23:17:55 1997 +0000

    Added language support to header
    
    CVS patchset: 1696
    CVS date: 1997/06/18 23:17:55

commit c36947471e62731e588bd940f91118d7e95c31e6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 18 20:45:48 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1695
    CVS date: 1997/06/18 20:45:48

commit 6ee3ae9249ced83b93a52f034cc4573f983fba54
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jun 18 20:45:17 1997 +0000

    Added %flags(noreplace) support, but it *hasn't been tested an iota*
    
    CVS patchset: 1694
    CVS date: 1997/06/18 20:45:17

commit 45d5621091f7b3d2eeedee4d53844b61545b5b67
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 17 15:54:46 1997 +0000

    Assign new number to RPMFILE_SPECFILE
    
    CVS patchset: 1693
    CVS date: 1997/06/17 15:54:46

commit 36bd9c21011a48be3d8484ce7e7594734f4e477a
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 17 15:52:09 1997 +0000

    Clear the stupid isspecfile flag!
    
    CVS patchset: 1692
    CVS date: 1997/06/17 15:52:09

commit d224a783f1e9d020c5d0d4428c07043803a53a5e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 17 15:37:28 1997 +0000

    1) added 's', 'm', 'n' to fflags type tag
    2) implemented missingok
    3) added --allfiles
    
    CVS patchset: 1691
    CVS date: 1997/06/17 15:37:28

commit aaecdd0b19cab6eb1ef040d82b10a6796b337875
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 17 14:49:07 1997 +0000

    Fixed mntctl() checking
    
    CVS patchset: 1690
    CVS date: 1997/06/17 14:49:07

commit 8cef38026eb38e668bb12f0b04f3c9b1f3c434eb
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 16 18:24:50 1997 +0000

    dded --changelog to help, usage, and rpm.8
    
    CVS patchset: 1689
    CVS date: 1997/06/16 18:24:50

commit e70bb34b548d74b7f939f449d155400957176a6b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 16 18:21:37 1997 +0000

    added "day" format specified and --changelog
    
    CVS patchset: 1688
    CVS date: 1997/06/16 18:21:37

commit 0a236450d7477bd809d70edff4ab7fdc918b9e6a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 16 18:13:23 1997 +0000

    Tried again to not backup config files on netshared path
    
    CVS patchset: 1687
    CVS date: 1997/06/16 18:13:23

commit 835e5f5f2d33f4532d860898c5875f9e1d7f24d3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 16 17:30:59 1997 +0000

    changed struct rpmdb to struct rpmdb_s for C++
    
    CVS patchset: 1686
    CVS date: 1997/06/16 17:30:59

commit 6c6815035ecbb57e7e993d0ce32f4b8e8d49ccbe
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 16 17:29:29 1997 +0000

    Removed buildos: buildarch: brokeness
    
    CVS patchset: 1685
    CVS date: 1997/06/16 17:29:29

commit fbb4be2eb21c8fd14f3e4502ca3dea6d5f964bfb
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 3 22:02:37 1997 +0000

    Fail if version or release are empty
    
    CVS patchset: 1684
    CVS date: 1997/06/03 22:02:37

commit 27ba21871780f89e6971d1b672b0b5123406acc9
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 3 21:45:09 1997 +0000

    Allow %if* stuff to be indented
    
    CVS patchset: 1683
    CVS date: 1997/06/03 21:45:09

commit b4dee2cb45d597488cef7c86225d3d49d0f0f83b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 3 19:08:39 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1682
    CVS date: 1997/06/03 19:08:39

commit d532528178702bdfab21b8e24898f407a126d10c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 3 16:08:23 1997 +0000

    Fixed horrible brokenness
    
    CVS patchset: 1681
    CVS date: 1997/06/03 16:08:23

commit 7ba07d0e70ba58d0d79d9a48169a5b479b3bea95
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 2 19:59:31 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1680
    CVS date: 1997/06/02 19:59:31

commit 9b9de6ce15f26c7214423fdcaa8c9d8a9e598044
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 2 19:59:07 1997 +0000

    Provide an alternate getmntent() if necessary.
    
    CVS patchset: 1679
    CVS date: 1997/06/02 19:59:07

commit 79b64691980480d3a123903377530a58314f74e3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 2 15:46:25 1997 +0000

    Updated man page
    
    CVS patchset: 1678
    CVS date: 1997/06/02 15:46:25

commit fccf9d02490fac351968d8d75247605adc4af096
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 2 14:01:29 1997 +0000

    Use pclose() w/ popen(), not fclose()
    
    CVS patchset: 1677
    CVS date: 1997/06/02 14:01:29

commit c428a31fe6ff1fb402e28df30ea39f9521c6d60d
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 1 23:00:54 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1676
    CVS date: 1997/06/01 23:00:54

commit 9b92c41eac934f5e95e44c8c9e35a7eb1898a44d
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 1 22:59:24 1997 +0000

    Added rpmfilename tag to to rpmrc and made use of it during package builds
    
    CVS patchset: 1675
    CVS date: 1997/06/01 22:59:24

commit c5dcacd20144babd52181ea9bb34aa82f895b828
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:57:31 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1674
    CVS date: 1997/05/30 21:57:31

commit 18e62235a1a469bf46aa538413d368c67b0959ce
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:57:10 1997 +0000

    Solaris fixes
    
    CVS patchset: 1673
    CVS date: 1997/05/30 21:57:10

commit 0965d6236ed9c67e8164f1f6274d2c864b3cdebe
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:14:51 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1672
    CVS date: 1997/05/30 21:14:51

commit eee6452dc0a625802a3c7272b2b042668d530c9e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:14:34 1997 +0000

    moved findPackageByLabel() to rpmdbFindByLabel() and added rpmdbFindByHeader()
    
    CVS patchset: 1671
    CVS date: 1997/05/30 21:14:34

commit 381df9002167f7867b721c36a0539149a15c5fa2
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:05:02 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1670
    CVS date: 1997/05/30 21:05:02

commit 1368d5d273dd70c4328a39c37c950f2c44988ee8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 21:04:42 1997 +0000

    added fssizes tag
    
    CVS patchset: 1669
    CVS date: 1997/05/30 21:04:42

commit 9491610f7edd4338a1b186c50000b1ea1b6d1801
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 30 14:16:20 1997 +0000

    added virtual query tag ability, fsnames query tag,
    
    CVS patchset: 1668
    CVS date: 1997/05/30 14:16:20

commit 93af6a49c303b2b1eed3957e6eb70d2a9215dd7c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 29 20:10:03 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1667
    CVS date: 1997/05/29 20:10:03

commit 2eb5561b5add234d261f1b49593d72388137f241
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 29 20:09:45 1997 +0000

    Replaced queryformat code with headerSprintf() <whew>
    
    CVS patchset: 1666
    CVS date: 1997/05/29 20:09:45

commit 2aff0769dab3ad948e9daca645ceee205df1e972
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 28 14:21:27 1997 +0000

    Fixed some missing >] in usage message
    
    CVS patchset: 1665
    CVS date: 1997/05/28 14:21:27

commit 6ce27675f6f4c4c85d45d9a700688e7b19be7161
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 28 14:19:44 1997 +0000

    version 2.4.2
    
    CVS patchset: 1664
    CVS date: 1997/05/28 14:19:44

commit cec51e424349fb9cfc9b5a202138dd4719019e6e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 27 14:02:53 1997 +0000

    changed version to 2.4.1
    
    CVS patchset: 1663
    CVS date: 1997/05/27 14:02:53

commit 15bd819b0bb1c76453bdb6d459ff028af4de8e6d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 27 14:01:45 1997 +0000

    don't backup config files on netsharedpaths
    
    CVS patchset: 1662
    CVS date: 1997/05/27 14:01:45

commit c3aa83ec8ca6ec354445156e9682aaeb3f35b779
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 27 14:01:39 1997 +0000

    Changed version to 2.4.1
    
    CVS patchset: 1661
    CVS date: 1997/05/27 14:01:39

commit 171e55b75184386341b2bf139cd48a7b902d271c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 27 14:01:14 1997 +0000

    added info on --build{arch|os} to --help and usage messages
    
    CVS patchset: 1660
    CVS date: 1997/05/27 14:01:14

commit b19f29ec07d3241c04a753a4a4212bdb8567ddbf
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 26 13:15:46 1997 +0000

    fixed group verification
    
    CVS patchset: 1659
    CVS date: 1997/05/26 13:15:46

commit 0ac6e87f5ef3bf6b744b34e265cb1528ccc15b13
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 23 15:18:15 1997 +0000

    Omit RPMTAG_ portion of --querytags output.
    
    CVS patchset: 1658
    CVS date: 1997/05/23 15:18:15

commit 149fffad23e65bc40003789b252ef804bdee2707
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 23 15:10:58 1997 +0000

    Omit RPMTAG_ portion of --querytags output.
    
    CVS patchset: 1657
    CVS date: 1997/05/23 15:10:58

commit 32721ebeb22480787ccb46be20189a6f36602f95
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 21 19:39:54 1997 +0000

    Fixed aix chown test.
    
    CVS patchset: 1656
    CVS date: 1997/05/21 19:39:54

commit 098292053eb720fd293a94b2e1ad63f632a24f9d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 21 17:46:16 1997 +0000

    Created noarch architecture
    
    CVS patchset: 1655
    CVS date: 1997/05/21 17:46:16

commit dbd5ccf1a727d010173995f6117744189ebd14a4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 17:44:11 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1654
    CVS date: 1997/05/20 17:44:11

commit c81e8aefaa94f14a5573a6ddb4135c0c304e7653
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 17:43:34 1997 +0000

    Must include <sys/tiome.h> before <sys/resource.h> for SunOS
    
    CVS patchset: 1653
    CVS date: 1997/05/20 17:43:34

commit 3d2d9920a3caa5cd01e1886f9efcdf55d9250d31
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 16:24:33 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1652
    CVS date: 1997/05/20 16:24:33

commit 8f19c5cf59a93e1ae56ec1854d374208781eca51
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 16:21:17 1997 +0000

    remove (none) entries during --setperms, --setugids
    
    CVS patchset: 1651
    CVS date: 1997/05/20 16:21:17

commit f770c2a33da106bf98626a18427d353f8e9f7d4e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 16:19:45 1997 +0000

    Use :shescape for --setugids, --setperms
    
    CVS patchset: 1650
    CVS date: 1997/05/20 16:19:45

commit 334697c68fe9008b15ed8172ff871039ac642131
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 16:16:54 1997 +0000

    Added :shescape query format tag
    
    CVS patchset: 1649
    CVS date: 1997/05/20 16:16:54

commit 49afbf25a16ce997c1e9e6f3ef74da1fa9d9032a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 15:57:39 1997 +0000

    Moved includes of miscfn.h to the top.
    
    CVS patchset: 1648
    CVS date: 1997/05/20 15:57:39

commit 12bb20628971224eeada04763ef7cceb0fcc0a35
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 15:42:49 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1647
    CVS date: 1997/05/20 15:42:49

commit aeb65017bbce8e790680e7f816af16aac854066b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 15:42:27 1997 +0000

    Added more includes of <sys/time.h> and <sys/resource.h> for AIX
    
    CVS patchset: 1646
    CVS date: 1997/05/20 15:42:27

commit 34110c1694d871015d2c0e48c9da41b3ca226c6d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 15:29:59 1997 +0000

    Use a more portable alternative to 'id -u'
    
    CVS patchset: 1645
    CVS date: 1997/05/20 15:29:59

commit c5c46a7c386df074a4f8311b5614f85028ec9729
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 20 15:28:25 1997 +0000

    Use lchown() if it's available
    
    CVS patchset: 1644
    CVS date: 1997/05/20 15:28:25

commit d17a80d764203329c780587027ee3e4d2c81d0a0
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 19 14:09:35 1997 +0000

    Guess chown doesn't follow symlinks w/ configure is run by non-root user.
    
    CVS patchset: 1643
    CVS date: 1997/05/19 14:09:35

commit d532969bf3b0211ca3aa409ec15a48984dfd6440
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 19 14:05:32 1997 +0000

    Fixed some typos in verify.c for CHOWN_FOLLOWS_SYMLINK case
    
    CVS patchset: 1642
    CVS date: 1997/05/19 14:05:32

commit 379067dcddc784fe557ae361f73c8e878e063986
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 16 18:41:25 1997 +0000

    Added de, pt-br catalogs to file list.
    
    CVS patchset: 1641
    CVS date: 1997/05/16 18:41:25

commit f899d97420345333854f2b4ec78cb1b8bb24c111
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 16 15:55:47 1997 +0000

    Updated rpm.spec for 2.4.
    
    CVS patchset: 1640
    CVS date: 1997/05/16 15:55:47

commit 2006e2ea37fb4ea343d899e07924b362bfc66744
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 16 15:33:31 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1639
    CVS date: 1997/05/16 15:33:31

commit 1296efb89ab5a5098702dff5413383d71d9c2314
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 16 15:32:57 1997 +0000

    Applied changes for AIX. This involved using <sys/select.h> if it's available.
    
    CVS patchset: 1638
    CVS date: 1997/05/16 15:32:57

commit 95eca9397293a0d1a1d7eccad08e8ed8ebc0b1c0
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 16 15:25:31 1997 +0000

    Don't use fchdir() as it's not terribly portable.
    
    CVS patchset: 1637
    CVS date: 1997/05/16 15:25:31

commit d526f6299b4d31f0dbe4cc48453b64fef2124be3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 15:24:48 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1636
    CVS date: 1997/05/15 15:24:48

commit e324da522d9455f360592a1a9b9f8282a2609ce0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 15:19:56 1997 +0000

    If CHOWN_FOLLOWS_SYMLINK is set:
            1) don't set the owner/group of symlinks during cpio expansion
            2) don't verify the owner/group of symlinks
    
    CVS patchset: 1635
    CVS date: 1997/05/15 15:19:56

commit 50a49ee9ed1267d1d044988b92cdefee3db09cbd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 15:10:42 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1634
    CVS date: 1997/05/15 15:10:42

commit 1a382cc365e7c7c1fb6fe58d6e4f4f1030130f8e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 15:09:44 1997 +0000

    Added --enable-broken-chmod
    
    CVS patchset: 1633
    CVS date: 1997/05/15 15:09:44

commit 555fd3176d2eaa304725b53a8a8c9351700b5104
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:40:20 1997 +0000

    added packager and url to default -qi output
    
    CVS patchset: 1632
    CVS date: 1997/05/15 14:40:20

commit ba03c6c1f8667f2ef994ecf4d6bd89a0397e1a92
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:32:24 1997 +0000

    Check for chown() following symlinks
    
    CVS patchset: 1631
    CVS date: 1997/05/15 14:32:24

commit 58166a9c323d8afff48b738d398a4e984bb013dc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:08:52 1997 +0000

    Fix things up for SunOS
    
    CVS patchset: 1630
    CVS date: 1997/05/15 14:08:52

commit 7ce7d42fb627a5707b1fd37271158d14b8d9ed53
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:04:39 1997 +0000

    Include "miscfn.h" in a few more places.
    
    CVS patchset: 1629
    CVS date: 1997/05/15 14:04:39

commit c312659a879d98343c4a7179e1f86994db4b1d5d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:02:36 1997 +0000

    Automatically define NEED_TIMEZONE
    
    CVS patchset: 1628
    CVS date: 1997/05/15 14:02:36

commit 1cc429b054fd7f5215a098eade1589e21272fd7f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:01:41 1997 +0000

    Include <limits.h> if it's available.
    
    CVS patchset: 1627
    CVS date: 1997/05/15 14:01:41

commit c6aac8432921d5c5586cb29f81cd85831a473e75
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:00:44 1997 +0000

    Don't segv if we can't do a uid to uname conversion
    
    CVS patchset: 1626
    CVS date: 1997/05/15 14:00:44

commit 9b93a43a010691c149a811e2480c12bcb2d58c17
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 15 14:00:14 1997 +0000

    Allow --dbpath during --rebuildbdb
    
    CVS patchset: 1625
    CVS date: 1997/05/15 14:00:14

commit d969bbac6f416e62a6f06c8f5cd4042937ef3a63
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:43:37 1997 +0000

    New translation from Karl Eichwalder
    
    CVS patchset: 1624
    CVS date: 1997/05/14 18:43:37

commit 43e43407b8eaf58a1afa5020987e324cbaec5b9d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:42:47 1997 +0000

    Fixed some minor problems.
    
    CVS patchset: 1623
    CVS date: 1997/05/14 18:42:47

commit 5c28a3c5416dd27a186f9838028f4f4917287ffe
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:39:43 1997 +0000

    Made some missing rpmrc entries a fatal error
    
    CVS patchset: 1622
    CVS date: 1997/05/14 18:39:43

commit 9970538dee53c7732fb1baeaddf5d1bf58fcd704
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:33:00 1997 +0000

    Removed conflicting realpath() declaration.
    
    CVS patchset: 1621
    CVS date: 1997/05/14 18:33:00

commit 3f88e268a6664a945bd83309ea1a5d572ae266f5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:32:18 1997 +0000

    Create intermediate directories properly.
    
    CVS patchset: 1620
    CVS date: 1997/05/14 18:32:18

commit 91ef4108d5596d9038f040ef0b4a186ffb8f2aab
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 14 18:31:17 1997 +0000

    Try to handle solaris2.5.1 in configure better
    
    CVS patchset: 1619
    CVS date: 1997/05/14 18:31:17

commit 7df2d5037e31cd0e0714ce4b247dcb5669fccc21
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 12 13:28:15 1997 +0000

    Added includes of miscfn.h
    
    CVS patchset: 1618
    CVS date: 1997/05/12 13:28:15

commit 2dfd1635794207b0332e5d6c278f446b40a2003f
Author: Unknown Author <devnull@localhost>
Date:   Wed May 7 20:22:55 1997 +0000

    fix cpio bug
    fix spec file marking bug
    
    CVS patchset: 1617
    CVS date: 1997/05/07 20:22:55

commit 39422acd79561c6694e66083d16967cd7da0b715
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 20:08:11 1997 +0000

    Fixed broken brackets in help document.
    
    CVS patchset: 1616
    CVS date: 1997/05/07 20:08:11

commit bd1ece83f25672ef7dfbbe5895a40f0a178bfa87
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 19:43:23 1997 +0000

    = didn't work w/ long arguments
    
    CVS patchset: 1615
    CVS date: 1997/05/07 19:43:23

commit 49a247317a3b5a31f2a3f8a0ebe867aae78de077
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 19:27:21 1997 +0000

    Include sys/socket.h if it's available
    
    CVS patchset: 1614
    CVS date: 1997/05/07 19:27:21

commit f3b683a4b0cbd32a4c29a76ef6804406362d7fd4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 18:24:36 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1613
    CVS date: 1997/05/07 18:24:36

commit 24fcb1113e503ac878ca11a2586c6c741ce40e21
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 18:24:05 1997 +0000

    Changed a bunch of bsearch() calls to work when sizeof(int) != sizeof(int *)
    
    CVS patchset: 1612
    CVS date: 1997/05/07 18:24:05

commit b00166a733e0a31db68e0a2f60706b10cde60b3c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:16:14 1997 +0000

    Handle NEED_TIMEZONE, NEED_MYREALLOC
    
    CVS patchset: 1611
    CVS date: 1997/05/07 15:16:14

commit 80a62f50911186070ace7f1ed09b2ae25c398589
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:15:42 1997 +0000

    Look for limits.h (strtol.c uses it)
    
    CVS patchset: 1610
    CVS date: 1997/05/07 15:15:42

commit 3272c3d1f1ebcb0fa0689f9c19afd03c7f19a2ca
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:11:46 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1609
    CVS date: 1997/05/07 15:11:46

commit 67c8991eb0560035783f1e44ce6b757c61509ec4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:09:39 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1608
    CVS date: 1997/05/07 15:09:39

commit 9c2a152c85f5c6b97f25ac4b0b355d6a816fe967
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:07:50 1997 +0000

    Added config.h, miscfn.h header files
    
    CVS patchset: 1607
    CVS date: 1997/05/07 15:07:50

commit 140af1251243e1cad1ba92b95c1017ee5a918567
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:06:12 1997 +0000

    Added include of config.h
    
    CVS patchset: 1606
    CVS date: 1997/05/07 15:06:12

commit 5b9ad7af53576de5a03c304a741a063a30036522
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:05:49 1997 +0000

    Added includes of config.h, miscfn.h
    
    CVS patchset: 1605
    CVS date: 1997/05/07 15:05:49

commit 00237aeb99f0b0a1321c6dbcd61dace77096b8aa
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:05:26 1997 +0000

    added NEED_TIMEZONE, NEED_MYREALLOC
    
    CVS patchset: 1604
    CVS date: 1997/05/07 15:05:26

commit 5ccef4733df2bb9278439a964bdcc911f58903f4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:05:05 1997 +0000

    Protoype realpath() if it's not provided by libc.
    
    CVS patchset: 1603
    CVS date: 1997/05/07 15:05:05

commit bb90619b9303fc6c66121b4792172586c5a09d7d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:04:34 1997 +0000

    Check for strerror, strtol, strtoul.
    
    CVS patchset: 1602
    CVS date: 1997/05/07 15:04:34

commit fee8c944955653af4344a3d3d68d5363c3023ab3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 15:02:23 1997 +0000

    Includes config.h, miscfn.h
    
    CVS patchset: 1601
    CVS date: 1997/05/07 15:02:23

commit a5681a3d0c36411edd808eb6283a7aa0b798a832
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 7 14:56:06 1997 +0000

    Minor cleanups.
    
    CVS patchset: 1600
    CVS date: 1997/05/07 14:56:06

commit 0637a12f1d92a6d97142f01b8ac56a704512254c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 6 23:54:28 1997 +0000

    1) include config.h first
    2) conditionaly include alloca.h
    3) use ofF_t instead of loff_t as it appears to be more portable
    
    CVS patchset: 1599
    CVS date: 1997/05/06 23:54:28

commit 2b8a1d28e5011306eeb87fc13ef6d2133416b1e0
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 6 18:19:19 1997 +0000

    Source package installs use built in cpio now.
    
    CVS patchset: 1598
    CVS date: 1997/05/06 18:19:19

commit ab932fa5d80ecf50b3d459b2d7d5c4196dc7e989
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 6 17:38:05 1997 +0000

    Added support for hard links.
    
    CVS patchset: 1597
    CVS date: 1997/05/06 17:38:05

commit 0a02b64c726bce0763e71ba393ad2740c2ecdd9f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 6 15:27:46 1997 +0000

    Added callbacks to cpio to allow -h to work.
    
    CVS patchset: 1596
    CVS date: 1997/05/06 15:27:46

commit 260850e9b840b6b745121a8c7c9fe8d70b116d7e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon May 5 20:46:58 1997 +0000

    Doesn't use cpio to unpack archives anymore...
    
    CVS patchset: 1595
    CVS date: 1997/05/05 20:46:58

commit 060b551100696ae3629eb7a701bb265668bb30cd
Author: Erik Troan <ewt@redhat.com>
Date:   Sat May 3 16:24:05 1997 +0000

    Fixed rengade .po to .mo
    
    CVS patchset: 1594
    CVS date: 1997/05/03 16:24:05

commit 21ccd4d5db26cfbdd70c8a467649c662f698ad8d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 18:09:41 1997 +0000

    Needed to include miscfn.h
    
    CVS patchset: 1593
    CVS date: 1997/05/02 18:09:41

commit 25182162c55f3761846713662bf1a105a5eef570
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 18:04:15 1997 +0000

    The gzipbin transition added a %d where there should have been a %s.
    
    CVS patchset: 1592
    CVS date: 1997/05/02 18:04:15

commit f7d09bd88767c8feaa19105b7de1ab179f6bf5f3
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 15:48:07 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1591
    CVS date: 1997/05/02 15:48:07

commit 250bbe29e17e638065df09a99f71bffdb57c2b02
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 15:47:37 1997 +0000

    Use strings.h on SCO (there's probably a better way of doing this, but this
    will work so why bother?).
    
    CVS patchset: 1590
    CVS date: 1997/05/02 15:47:37

commit 4a07d308e2b5107de891028a4703ceff1b78a979
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 15:05:17 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1589
    CVS date: 1997/05/02 15:05:17

commit 62fdd6be18d8227a824c4aaf2c3e3e70456c99ba
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 15:04:09 1997 +0000

    Fixed "cannot open /var/lib/rpm/package.rpm" to use dbpath setting
    
    CVS patchset: 1588
    CVS date: 1997/05/02 15:04:09

commit e37769828624bbb176a287fef1a0ed5a5b47bb3c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 15:00:38 1997 +0000

    Don't set owner and group during a "make install"
    
    CVS patchset: 1587
    CVS date: 1997/05/02 15:00:38

commit 8741db86ed3c6867c7f01d579c902889576b408c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 00:52:23 1997 +0000

    Added portugese (brazilian) translation.
    
    CVS patchset: 1586
    CVS date: 1997/05/02 00:52:23

commit 5c6641eb47708e76fea3b829913f268f66db26fe
Author: Erik Troan <ewt@redhat.com>
Date:   Fri May 2 00:49:42 1997 +0000

    Fixed some typos in strings.
    
    CVS patchset: 1585
    CVS date: 1997/05/02 00:49:42

commit 4fbd5adc4417267c7e6ccd8ebc4932e34c053847
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 21:07:46 1997 +0000

    Made code recognize gzipbin rpmrc entry.
    
    CVS patchset: 1584
    CVS date: 1997/05/01 21:07:46

commit a4beb010aa937a343e5853d1dfc5f6fd61f755df
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 19:08:15 1997 +0000

    Look for gzip in path and store binary to use in /usr/lib/rpmrc
    
    CVS patchset: 1583
    CVS date: 1997/05/01 19:08:15

commit b86bcefc78929bb9ad1593e625c9d630359c2012
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 19:07:43 1997 +0000

    1) Added search for gzip binary
    2) Don't die if gzip/cpio not found, just look in path at run time
    3) Fixed problems with stat macro detection
    
    CVS patchset: 1582
    CVS date: 1997/05/01 19:07:43

commit b1d351ab8562420caa70b628a38a66c475c5057a
Author: Unknown Author <devnull@localhost>
Date:   Thu May 1 17:32:04 1997 +0000

    tweak trigger variable naming
    
    CVS patchset: 1581
    CVS date: 1997/05/01 17:32:04

commit 0bf49c3c45402557f3ebd8e6bce5d57c58ed1626
Author: Unknown Author <devnull@localhost>
Date:   Thu May 1 17:26:56 1997 +0000

    tweak naming of trigger variables
    
    CVS patchset: 1580
    CVS date: 1997/05/01 17:26:56

commit d3b8bdddd3d4f0174a4a1c22dcd22ef092f33088
Author: Unknown Author <devnull@localhost>
Date:   Thu May 1 17:22:35 1997 +0000

    handle files in Requires/Provides/Conflicts
    
    CVS patchset: 1579
    CVS date: 1997/05/01 17:22:35

commit b2a7ff43f32e891f75d6b2d57fdab100c6a056d4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 15:15:11 1997 +0000

    Made messages translatable.
    
    CVS patchset: 1578
    CVS date: 1997/05/01 15:15:11

commit d4597b438ccfc4c92bba65094cc2d9099553b273
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 15:14:52 1997 +0000

    Added more i18n's files
    
    CVS patchset: 1577
    CVS date: 1997/05/01 15:14:52

commit 609ec0acf9fd7db284260ec2ba26c9ce18a23ebc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 15:14:26 1997 +0000

    Added @LIBINTL@ to link line
    
    CVS patchset: 1576
    CVS date: 1997/05/01 15:14:26

commit d474db281d8bb22ffee562d20b25365b90614500
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 14:58:28 1997 +0000

    Include miscfn.h
    
    CVS patchset: 1575
    CVS date: 1997/05/01 14:58:28

commit 73c573b957dd437bd515e09d6ff755294b612bf0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 14:54:31 1997 +0000

    New translations from Karl Eichwalder
    
    CVS patchset: 1574
    CVS date: 1997/05/01 14:54:31

commit 22a9fe43e3fcafb3cea9231e748b78f532422ef9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 14:53:48 1997 +0000

    fixed minor typo
    
    CVS patchset: 1573
    CVS date: 1997/05/01 14:53:48

commit 890f8653f5b7003c7c42129fb064691eea17d6b4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 14:51:16 1997 +0000

    needs to include "miscfn.h"
    
    CVS patchset: 1572
    CVS date: 1997/05/01 14:51:16

commit eae23ccc642aef0dbcd606768df2aecceb9656c7
Author: Erik Troan <ewt@redhat.com>
Date:   Thu May 1 14:50:22 1997 +0000

    need to handle conflictsindex in rpmdbMoveDatabase() and rpmdbRenameDatabase()
    
    CVS patchset: 1571
    CVS date: 1997/05/01 14:50:22

commit 36166b76bb1764c9516f301aa769ed4189ba984e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 21:30:55 1997 +0000

    Added includes of "miscfn.h".
    
    CVS patchset: 1570
    CVS date: 1997/04/30 21:30:55

commit 71e9bc91501aca955b4d83703761fffbcd296e9e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 19:32:57 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1569
    CVS date: 1997/04/30 19:32:57

commit 6dcdbecf9040559a2cd24fc86cbb955689ddc766
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 19:28:09 1997 +0000

    Added file (anything that begins with a leading /) dependencies.
    
    CVS patchset: 1568
    CVS date: 1997/04/30 19:28:09

commit 2cd6cf055dc66a4f613e9a41e3514390d0ae8ec4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 19:26:53 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1567
    CVS date: 1997/04/30 19:26:53

commit 8dc6da8e117002d7783736a2e3bbfe64c4e8157d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 19:26:32 1997 +0000

    Fixed problem with 8 character user names.
    
    CVS patchset: 1566
    CVS date: 1997/04/30 19:26:32

commit 377e15bc2d5427a9e463e35c8fc1db0488c35943
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 18:03:59 1997 +0000

    Fixed archive rule (recovering from changes for CVS).
    
    CVS patchset: 1565
    CVS date: 1997/04/30 18:03:59

commit 34211b9ecca45ec3a0b16e8421c0c9b4f6ce37c6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 18:03:27 1997 +0000

    Changed ucb rules, look for /usr/ucblib.
    
    CVS patchset: 1564
    CVS date: 1997/04/30 18:03:27

commit acb0a9c9289e0b57c735b42321ac3dbd37e576c4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 15:32:40 1997 +0000

    Look for S_IFSOCK and define it as 0 if it doesn't exist (this is for SCO).
    
    CVS patchset: 1563
    CVS date: 1997/04/30 15:32:40

commit a2bc26c4c4f5c8b5d48614e781999840d899306e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 30 15:32:22 1997 +0000

    changed indentation (oooh...)
    
    CVS patchset: 1562
    CVS date: 1997/04/30 15:32:22

commit bc51bb881a64be21956465ec52fdcdbf199a9494
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 29 02:45:19 1997 +0000

    Made many more strings in the toplevel interface translatable.
    
    CVS patchset: 1561
    CVS date: 1997/04/29 02:45:19

commit be4b74cd260a0d0b7246b997af2193614f72992e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 21:17:06 1997 +0000

    use -F for cvs tag, not -f
    
    CVS patchset: 1560
    CVS date: 1997/04/28 21:17:06

commit 94c6b4b30db11ed2ba7260454ebaf9f604bf68ff
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 21:14:50 1997 +0000

    pass -f to cvs tag
    
    CVS patchset: 1559
    CVS date: 1997/04/28 21:14:50

commit 5773db483c95c43eabe5890745dc9136e0a2dd36
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 21:14:01 1997 +0000

    1) added r in front of tag for CVS
    2) make distclean should remove lib-rpmrc
    
    CVS patchset: 1558
    CVS date: 1997/04/28 21:14:01

commit f2f2d31fd3a3a80870d977d517ba7baa96e1e7bd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 21:01:01 1997 +0000

    rpmFindByFile() removes duplicate and trailing / providing weak filename
    canonicaliaztion.
    
    CVS patchset: 1557
    CVS date: 1997/04/28 21:01:01

commit 33553fb3f719a1e67c0ea2e6fbd076ce25c26fb5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 20:52:18 1997 +0000

    Moved rpmrc, rpmpopt back to $(libdir) as @sysconfdir@ defaults to /usr/etc
    (blech) and they aren't config files anyway. @datadir@ might make more
    sense though?
    
    CVS patchset: 1556
    CVS date: 1997/04/28 20:52:18

commit d28996c0935d3cfcc8b4d55f4f19a056c35fbc50
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 20:48:41 1997 +0000

    Fixed verify script code to compile.
    
    CVS patchset: 1555
    CVS date: 1997/04/28 20:48:41

commit 84de5ba32e199f4ee0e6e09b7ab6b822dfebf746
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 28 20:45:05 1997 +0000

    - changed LIBRPMRC_FILENAME, LIBRPMALIAS_FILENAME, RPMNLSDIR
      directories to @sysconfdir@, @sysconfdir@, and @datadir@ to
      better conform with autoconf
    - set RPM_INSTALL_PREFIX environment variable when running
      verify scripts
    - beginnings of SCO support (though I suspect it will take one
      or two more iterations to get it right)
    - switched to CVS and updated some Makefile rules
    - look for gethostbyname() instead of gethostname() in -nsl
      (this could break some things)
    - added check for strcasecmp() in -lucb on systems which don't
      have strcasecmp() in libc
    - don't build -static on hpux10
    - don't try and NLS empty strings
    - changed index() call to strchr() in macro code
    - include <time.h> in build/spec.c for various platforms
    - added update-po rule to po/Makefile.in
    - updated de.po (thanks to Karl Eichwalder)
    
    CVS patchset: 1554
    CVS date: 1997/04/28 20:45:05

commit 0db7dadc02864b676f21a91af2bd8be85983ab29
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 23 16:03:07 1997 +0000

    duh
    
    CVS patchset: 1553
    CVS date: 1997/04/23 16:03:07

commit 7f4bfe283c3e8db9857f0c3e3417c4f2785c8247
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 20:51:04 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1552
    CVS date: 1997/04/16 20:51:04

commit 1c275172cccc647bc9f165691564a014b6d5c507
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 20:49:22 1997 +0000

    handle source files with bad owner/group
    
    CVS patchset: 1551
    CVS date: 1997/04/16 20:49:22

commit f31e630997775b12769528f7af64853d66969085
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 16 20:39:48 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1550
    CVS date: 1997/04/16 20:39:48

commit a9215c3384c766766b9513fe25e2d9628216bf4c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 16 20:39:24 1997 +0000

    version 2.3.11
    
    CVS patchset: 1549
    CVS date: 1997/04/16 20:39:24

commit eb5dbaa968e3bf2f3d63f6750a451e2a00ce8670
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 16 20:38:38 1997 +0000

    fixed newlines
    
    CVS patchset: 1548
    CVS date: 1997/04/16 20:38:38

commit 11e17ce9af6e7581ea0104a2fbd6d2989c06ece1
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 15:51:25 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1547
    CVS date: 1997/04/16 15:51:25

commit c28af4df7884e2a063b134d6c59bc3da3afd2b96
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 15:50:37 1997 +0000

    make tags case sensisitve (lower case)
    
    CVS patchset: 1546
    CVS date: 1997/04/16 15:50:37

commit 90083180cd3bd5bfd3d270add76d7602982bdac4
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 15:48:49 1997 +0000

    make %define case sensitive (lower case)
    
    CVS patchset: 1545
    CVS date: 1997/04/16 15:48:49

commit e532d1fc16eb8535e0613a781b8f861cebd1ccce
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 15:48:10 1997 +0000

    make %patch and %setup case sensitive
    
    CVS patchset: 1544
    CVS date: 1997/04/16 15:48:10

commit c8a09d420496a2e24fe65ef0527e50204dbb0a48
Author: Unknown Author <devnull@localhost>
Date:   Wed Apr 16 15:34:00 1997 +0000

    macros should be case insensitive
    
    CVS patchset: 1543
    CVS date: 1997/04/16 15:34:00

commit b444e52d2e209ca8a28016545d24486ee14d6d51
Author: Unknown Author <devnull@localhost>
Date:   Tue Apr 15 15:34:09 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1542
    CVS date: 1997/04/15 15:34:09

commit 8fe174e395a583b55fc54bd455fb88bec19f7e45
Author: Unknown Author <devnull@localhost>
Date:   Tue Apr 15 15:33:08 1997 +0000

    strip trailing slahes from file names
    don't set config flag on directories
    
    CVS patchset: 1541
    CVS date: 1997/04/15 15:33:08

commit 812d83035e2983c218831cf381a58e9b488ad98f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 15 14:42:12 1997 +0000

    ignore config bit for direcrroies
    
    CVS patchset: 1540
    CVS date: 1997/04/15 14:42:12

commit 886e17e89bcd43e9dd1f11cc58255f47f594dbb2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 15 14:42:08 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1539
    CVS date: 1997/04/15 14:42:08

commit 5a0f6288e693614ee189e6c5ea4e4b1f45d27ad6
Author: Unknown Author <devnull@localhost>
Date:   Tue Apr 15 02:23:52 1997 +0000

    make unknown signature types terribly obvious
    
    CVS patchset: 1538
    CVS date: 1997/04/15 02:23:52

commit 97ad8f52e1d24befb632a7eeb4c5c8e8c0903b7c
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:20:43 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1537
    CVS date: 1997/04/14 20:20:43

commit 1693698c405dfe253b82e291ba924152ee4f50e2
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:20:13 1997 +0000

    added SOURCEURLn and PATCHURLm pacros
    
    CVS patchset: 1536
    CVS date: 1997/04/14 20:20:13

commit 5144e825ee12fadf64ec04659e08e725d70d5c63
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:05:43 1997 +0000

    moved %doc/script handling to files.c
    
    CVS patchset: 1535
    CVS date: 1997/04/14 20:05:43

commit 6c38cbd1843cb50106a58772f52191ef0ae23974
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:05:12 1997 +0000

    call finish_filelists where apprpriate
    
    CVS patchset: 1534
    CVS date: 1997/04/14 20:05:12

commit f4dd8dd1e6125e60356851e1e5c103c70ff8f257
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:04:18 1997 +0000

    added finish_filelists, moved parseForDocFiles here from spec.c
    and moved file -f <file> provcessing vocode from process_filelist()
    rto finish_filelists
    
    CVS patchset: 1533
    CVS date: 1997/04/14 20:04:18

commit 5458db1cf4a885ae55e3b58cb63d8365777b7c4b
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:04:03 1997 +0000

    added finish_filelists
    
    CVS patchset: 1532
    CVS date: 1997/04/14 20:04:03

commit c73a4c2a4d782145286c05753703b5956f5bf746
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 20:03:48 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1531
    CVS date: 1997/04/14 20:03:48

commit f28df5d5c1d82b998e941a6b7cd31c8f33e6be1b
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 18:40:23 1997 +0000

    add SOURCEn and PATCHn prefdefined macros
    
    CVS patchset: 1530
    CVS date: 1997/04/14 18:40:23

commit 23fbf53b074763766dc22a823ead8479bd9e3688
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 14 17:17:43 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1529
    CVS date: 1997/04/14 17:17:43

commit 23048b1684b77212f6abaafa485c6bca08ac81fe
Author: Unknown Author <devnull@localhost>
Date:   Thu Apr 10 19:15:28 1997 +0000

    oops - a failed listcheck never terminated
    
    CVS patchset: 1528
    CVS date: 1997/04/10 19:15:28

commit cbf8d3156771b52c4eb37d47f276e4616009fb71
Author: Unknown Author <devnull@localhost>
Date:   Thu Apr 10 18:56:31 1997 +0000

    don't parse macro stuff inside non-reading conditionals
    
    CVS patchset: 1527
    CVS date: 1997/04/10 18:56:31

commit 3f66dedef3edbfcefcd213424de09db35c9f016b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 9 15:53:54 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1526
    CVS date: 1997/04/09 15:53:54

commit 5b1d41cb33f297b6adc319fe1936ffeeded10cb6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 9 15:53:22 1997 +0000

    changes for --removeall (or wahtever that caused) broke some things
    
    CVS patchset: 1525
    CVS date: 1997/04/09 15:53:22

commit 899033811a6920a8d9e7aa97a1e334b1ec64541d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 9 15:52:56 1997 +0000

    changed to version 2.3.10
    
    CVS patchset: 1524
    CVS date: 1997/04/09 15:52:56

commit 06109421af4b100dee7327368e44c6c70fc6460f
Author: Unknown Author <devnull@localhost>
Date:   Tue Apr 8 15:44:26 1997 +0000

    allow %doc and %attr()on a single line
    I think it may still break if the %doc is at the end of the line
    but who cares
    
    CVS patchset: 1523
    CVS date: 1997/04/08 15:44:26

commit 0ce0902ae5a26e1dbff959e5436d37d7b59bfaa1
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 1 22:52:39 1997 +0000

    marc is a dork
    
    CVS patchset: 1522
    CVS date: 1997/04/01 22:52:39

commit a1d5e05c78ff875c52b763f8f7b7eaad2bd2a614
Author: Unknown Author <devnull@localhost>
Date:   Tue Apr 1 20:59:33 1997 +0000

    reset firstFree when resetting macros
    
    CVS patchset: 1521
    CVS date: 1997/04/01 20:59:33

commit 4252a906d1c1c0e89314a231ff3e7550507a8580
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 20:25:54 1997 +0000

    Initial revision
    
    CVS patchset: 1520
    CVS date: 1997/03/31 20:25:54

commit 434454d7a4d538a3060365e64c17ed524b793c9b
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 20:18:04 1997 +0000

    added warning
    
    CVS patchset: 1519
    CVS date: 1997/03/31 20:18:04

commit aa55856e82d5d30d2b7e85e9c5334e0935640ef7
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 20:17:11 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1518
    CVS date: 1997/03/31 20:17:11

commit 8a7ad17640b1078af3d91c204ebc36f18980719d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 20:15:41 1997 +0000

    added support for UNINSTALL_ALLMATCHES
    
    CVS patchset: 1517
    CVS date: 1997/03/31 20:15:41

commit fca4fd305164ec05ca2c2dea13ff1096a8333b61
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 20:15:31 1997 +0000

    added --allmatches
    
    CVS patchset: 1516
    CVS date: 1997/03/31 20:15:31

commit e82919e6de7d1f661064c426b407c2901dfa2a24
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 20:15:23 1997 +0000

    fixed \r\n stuff
    
    CVS patchset: 1515
    CVS date: 1997/03/31 20:15:23

commit 57e9dfb3a3798eaba66a320b4e9648ad02aeac59
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 20:15:14 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1514
    CVS date: 1997/03/31 20:15:14

commit 257c5aede44aa25365babfe96faa884f2a785db1
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 19:47:55 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1513
    CVS date: 1997/03/31 19:47:55

commit 45c8e72b5f3c72ac1ee211de34ba4ea03b7fe171
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 31 15:47:46 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1512
    CVS date: 1997/03/31 15:47:46

commit 92f08cd2f468916a6503b3ccc33a95d4203b7f8d
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 14:16:11 1997 +0000

    %macro handling
    fix bug where last "part" was not added to header
    
    CVS patchset: 1511
    CVS date: 1997/03/31 14:16:11

commit 83bc9d61848e75fb3570fe4d98e73f19dc2813c1
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 14:14:20 1997 +0000

    added %macro handling on %files -f
    added %config(missingok noreplace)
    process whole file list before failing
    clean up return codes (0 = success)
    
    CVS patchset: 1510
    CVS date: 1997/03/31 14:14:20

commit 5682d91f286aacbe0b26e0dab03e8d413a450461
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 14:13:21 1997 +0000

    Initial revision
    
    CVS patchset: 1509
    CVS date: 1997/03/31 14:13:21

commit 33593bf30275c5035ddaf18057180be7097cb6be
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 14:13:00 1997 +0000

    added macro.o
    
    CVS patchset: 1508
    CVS date: 1997/03/31 14:13:00

commit f8fa3e50ed439a816097e03046d0af30aef4047b
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 31 14:12:12 1997 +0000

    added RPMFILE_MISSINGOK and RPMFILE_NOREPLACE
    
    CVS patchset: 1507
    CVS date: 1997/03/31 14:12:12

commit 449ffd13fd1bc14fbf083df0de66e40570226519
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 28 19:42:41 1997 +0000

    2.3.9
    
    CVS patchset: 1506
    CVS date: 1997/03/28 19:42:41

commit a8652598dc4c446fcb9df97c01fc22bb1f09c697
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 28 19:41:43 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1505
    CVS date: 1997/03/28 19:41:43

commit 8fc43321cd96d8bbae46bfbe3e0c79dd6310d5b8
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 28 18:01:54 1997 +0000

    fixed the broken md5 logic
    
    CVS patchset: 1504
    CVS date: 1997/03/28 18:01:54

commit aa64e9fdd7b54737fccd67cc91365d8b6d141b58
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 28 17:46:34 1997 +0000

    added more support for broken md5 code
    
    CVS patchset: 1503
    CVS date: 1997/03/28 17:46:34

commit d27dd974ec3edcb20490974d939e80b8bc17fa43
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 28 17:45:08 1997 +0000

    made WORDS_BIGENDIAN look like the rest of config.h
    
    CVS patchset: 1502
    CVS date: 1997/03/28 17:45:08

commit 68a71dc3629edff71bae880503788a9a8a1569aa
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 28 17:44:38 1997 +0000

    added RPMSIGTAG_LEMD5_2 brokenness
    
    CVS patchset: 1501
    CVS date: 1997/03/28 17:44:38

commit 587687ee47aff344ddd9a77e04b6500963b35f48
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 28 03:22:36 1997 +0000

    add WORDS_BIGENDIAN
    
    CVS patchset: 1500
    CVS date: 1997/03/28 03:22:36

commit ab1d659e515be796f968d65d2b68800d2e7f9853
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Mar 23 19:52:07 1997 +0000

    rewrote %setup expanion to use popt and allow multiple -a, -b arguments
    
    CVS patchset: 1499
    CVS date: 1997/03/23 19:52:07

commit 37f6056dd0bb08eb03c724695cc7ffba78ab88d9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Mar 23 18:51:07 1997 +0000

    version 2.3.9
    
    CVS patchset: 1498
    CVS date: 1997/03/23 18:51:07

commit 59e490ffef9898688ae35a198f58e1dbf78fa6ee
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 21 23:57:16 1997 +0000

    1) remove spurious printf
    2) cleanup up pipes a bit
    
    CVS patchset: 1497
    CVS date: 1997/03/21 23:57:16

commit e5415fd5dacfc21c3edfaf166e352381360844b7
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 21 15:50:09 1997 +0000

    send '\n\r' not just '\n'
    
    CVS patchset: 1496
    CVS date: 1997/03/21 15:50:09

commit f62f50151ab343a69a4775f629dc88de5d9b983c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:55:58 1997 +0000

    1) close pipes after dup'ing
    2) don't close stderr when running find-* -- it just makes problems harder
       to find
    
    CVS patchset: 1495
    CVS date: 1997/03/20 15:55:58

commit 677b95bbd982ba5fb76800d2752766933cd27e60
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:55:31 1997 +0000

    fixed typos
    
    CVS patchset: 1494
    CVS date: 1997/03/20 15:55:31

commit 5c343ab3c18e4465ff54ae2c1d4db7c3ba352883
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:19:51 1997 +0000

    added HAVE_S_ISLNK and HAVE_S_ISSOCK
    
    CVS patchset: 1493
    CVS date: 1997/03/20 15:19:51

commit 88cf717a10b334d6ab3b18fb39af7c477fdeea4a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:19:00 1997 +0000

    1) added typecast around getpid() to let us printf it on all platforms
    2) fixed spelling of deprecated
    
    CVS patchset: 1492
    CVS date: 1997/03/20 15:19:00

commit e10573b85e4e8eeaf303be8d01e84e14a5090c34
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:18:45 1997 +0000

    return code from rpmRemovePackage() was being ignored
    
    CVS patchset: 1491
    CVS date: 1997/03/20 15:18:45

commit 418a9bc06a2c92bbdf4e3cef9e0ea2564fb334f6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:18:28 1997 +0000

    define S_ISLNK, S_ISSTAT if needed
    
    CVS patchset: 1490
    CVS date: 1997/03/20 15:18:28

commit 0ca7205ef3e98e25f7ffed4cf6f3415ab79ef11c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:18:07 1997 +0000

    look for S_ISLNK and S_ISSTAT and define macros appropriately
    
    CVS patchset: 1489
    CVS date: 1997/03/20 15:18:07

commit 2940534c5de98d69f578255ff02c006c863e5d4d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:18:03 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1488
    CVS date: 1997/03/20 15:18:03

commit 71b0d739d4e7cbcd83e20c33663cdf02a9e49e16
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 20 15:14:54 1997 +0000

    added missing \n
    
    CVS patchset: 1487
    CVS date: 1997/03/20 15:14:54

commit 33a5f18db9e6a2f7a559b831f4541627ab68c57f
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 14 20:37:13 1997 +0000

    exec sh on the script, not the script directly
    
    CVS patchset: 1486
    CVS date: 1997/03/14 20:37:13

commit 857f5372870999245c46d2a513977e172972465d
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 14 20:34:38 1997 +0000

    cruft cleaning
    
    CVS patchset: 1485
    CVS date: 1997/03/14 20:34:38

commit f16936cb7c1c4a185e3c42fb9516fe50883d05e8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:12:42 1997 +0000

    fixed changelog parsing
    
    CVS patchset: 1484
    CVS date: 1997/03/11 17:12:42

commit 62d3993e0506aed9e1a63fd56f4bb1f887276cb2
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:10:24 1997 +0000

    fixed error message
    
    CVS patchset: 1483
    CVS date: 1997/03/11 17:10:24

commit 441fceb55ba93475b1a1ff90ebca39da2c437123
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:10:04 1997 +0000

    -ta didn't handle absolute paths to tar files properly
    
    CVS patchset: 1482
    CVS date: 1997/03/11 17:10:04

commit fd5f6c1efc8f6c1271ccde94e4676d8c5241c6e3
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:09:34 1997 +0000

    got rid of LIBSOCKET, ZLIB
    check for not needing -lnsl and -lsocket before looking for the libs
    
    CVS patchset: 1481
    CVS date: 1997/03/11 17:09:34

commit 13255871fd472e2f1d6579d8e1ffa8a0a4882888
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:09:20 1997 +0000

    got rid of ZLIB, LIBSOCKET
    
    CVS patchset: 1480
    CVS date: 1997/03/11 17:09:20

commit af2cce911cc3a22301d1f2d554c820ed71c1caec
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:09:07 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1479
    CVS date: 1997/03/11 17:09:07

commit d78faa3f8014ae18b72328c02b9bfdecf4fce3f5
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 11 17:05:16 1997 +0000

    don't use ZLIB anymore (rolled into normal LIBS variable)
    
    CVS patchset: 1478
    CVS date: 1997/03/11 17:05:16

commit cb679a2dd0945a4cee1a2fa4674feab8dc7be90c
Author: Unknown Author <devnull@localhost>
Date:   Wed Mar 5 15:43:15 1997 +0000

    header sorting function changed
    
    CVS patchset: 1477
    CVS date: 1997/03/05 15:43:15

commit d8bb04a08182c32cce1f2f89de1df7e60d3c75a0
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:24:53 1997 +0000

    make distclean should remove autodepenency scripts
    
    CVS patchset: 1476
    CVS date: 1997/03/04 02:24:53

commit 146c9933a7f40d51b11b95b23055388e7efdb5e4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:23:51 1997 +0000

    --requires shouldn't imply -q
    
    CVS patchset: 1475
    CVS date: 1997/03/04 02:23:51

commit 75e6e1d3f08216f67322244e3ef13bb61ef56564
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:23:04 1997 +0000

    fixed POPT_OPTION_DEPTH checking
    
    CVS patchset: 1474
    CVS date: 1997/03/04 02:23:04

commit 2c99fe0b7ee875256ca46ad8ee8cbba1737c2626
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:22:20 1997 +0000

    cleanup up the -lsocket, -lnsl stuff some more <sigh>
    
    CVS patchset: 1473
    CVS date: 1997/03/04 02:22:20

commit 4cf01a127792cf9bd102d811ad5aaf4b7b6aa8f9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:22:10 1997 +0000

    added rpmconvert target
    
    CVS patchset: 1472
    CVS date: 1997/03/04 02:22:10

commit 785faee5330cb1942fd3499349a38f8b8807f6c0
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:22:04 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1471
    CVS date: 1997/03/04 02:22:04

commit c6dff6c65492d802875d4b063329d031374a088b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:19:06 1997 +0000

    removed oldrpmdb.c
    
    CVS patchset: 1470
    CVS date: 1997/03/04 02:19:06

commit 0f0e56f1656b34367ae2ea30afa8861828203670
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:18:55 1997 +0000

    added include of <sys/types.h>
    
    CVS patchset: 1469
    CVS date: 1997/03/04 02:18:55

commit 960d25e7d999d6f7fe61ea1c7d7bf7ab2399bba6
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:17:56 1997 +0000

    removed seemingly extranous include of regex.h
    
    CVS patchset: 1468
    CVS date: 1997/03/04 02:17:56

commit 020f9d270c05b5f3c106e7eb88bb4d686f033f8e
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:08:21 1997 +0000

    fixed some simple problems from the last revision
    
    CVS patchset: 1467
    CVS date: 1997/03/04 02:08:21

commit e91eaa89c9f71dc223562350a8421d775227beb7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Mar 4 02:07:12 1997 +0000

    made xargs more resilant to quoting characters in filenames
    
    CVS patchset: 1466
    CVS date: 1997/03/04 02:07:12

commit 1874a35403f88f592f31d07a243102d94ab10827
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 3 23:20:18 1997 +0000

    export headerSort()
    
    CVS patchset: 1465
    CVS date: 1997/03/03 23:20:18

commit 440a29281285bfca633515861763357598bef387
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 3 23:01:49 1997 +0000

    don't strlen(NULL) in copyData()
    
    CVS patchset: 1464
    CVS date: 1997/03/03 23:01:49

commit 464233cdd82086249d957ef57109fb85a420fac4
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 3 15:46:23 1997 +0000

    fixed ftp URLs
    
    CVS patchset: 1463
    CVS date: 1997/03/03 15:46:23

commit cdc098cb403643b08384b66b8acec5e9430ec098
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 27 04:32:38 1997 +0000

    fail if we get a bad owner/group
    
    CVS patchset: 1462
    CVS date: 1997/02/27 04:32:38

commit b40b26d0200d676a8aa6427f82a3e9c12765b060
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 27 04:31:46 1997 +0000

    if user/group olookup fails return NULL
    
    CVS patchset: 1461
    CVS date: 1997/02/27 04:31:46

commit 2816621389fe7de24db3639d7bfb0ac9579dc097
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:18:00 1997 +0000

    version 2.3.8
    
    CVS patchset: 1460
    CVS date: 1997/02/25 23:18:00

commit 93e32a738c20aeddb63f8b43520944b7f0790a93
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:17:49 1997 +0000

    rearranged -lsocket/-lnsl checks
    
    CVS patchset: 1459
    CVS date: 1997/02/25 23:17:49

commit 8181256a83b1c88633649550fef055dbe23587d8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:17:38 1997 +0000

    added -t? functionality
    
    CVS patchset: 1458
    CVS date: 1997/02/25 23:17:38

commit 7e21d61da183e5324590d21f7ce124b4b020d555
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:17:29 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1457
    CVS date: 1997/02/25 23:17:29

commit d5889803cf95c3b815336f26193e8dfba245b88c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:17:25 1997 +0000

    Initial revision
    
    CVS patchset: 1456
    CVS date: 1997/02/25 23:17:25

commit 718c3a1542b78df2e429fbf89204428fda2e3e73
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:04:22 1997 +0000

    removed defaultQueryFormat string (obosoleted by popt)
    
    CVS patchset: 1455
    CVS date: 1997/02/25 23:04:22

commit 7fea6dc9f13685d7f9707529226a20d5ffa45dd5
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 23:03:20 1997 +0000

    document -t?
    
    CVS patchset: 1454
    CVS date: 1997/02/25 23:03:20

commit 9073456f72218451b2cc16dd71360a1e3697a840
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 25 22:58:54 1997 +0000

    added initializations of fileOwnerList, fileGroupList
    
    CVS patchset: 1453
    CVS date: 1997/02/25 22:58:54

commit 1f02b916af723d3ae4648d3ad776c5ad8dc59f45
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 24 19:50:57 1997 +0000

    updated
    
    CVS patchset: 1452
    CVS date: 1997/02/24 19:50:57

commit 603de4d82f2049f7f76565b3376871e1b3a14430
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 16:20:53 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1451
    CVS date: 1997/02/20 16:20:53

commit fca9595fc1c73ec447cddc0e0e5e9c1bf1fb6a49
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:21:36 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1450
    CVS date: 1997/02/20 02:21:36

commit a9cfcdad6f4a11cb9951caaac7faed9fbd6e6f39
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:21:23 1997 +0000

    1) include config.h
    2) pay attention to HAVE_DIRENT_H
    
    CVS patchset: 1449
    CVS date: 1997/02/20 02:21:23

commit 6b5a82caab0555e265204b7112826f3beec86579
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:20:58 1997 +0000

    frees FILEUSERNAME and FILEGROUPNAME lists
    
    CVS patchset: 1448
    CVS date: 1997/02/20 02:20:58

commit fc3a2d33a9ae4179ab95d0b02add105c56dc288a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:20:46 1997 +0000

    added HAVE_DIRENT_H
    
    CVS patchset: 1447
    CVS date: 1997/02/20 02:20:46

commit 78385bc21418d0d8b3dca6162245727c79e5ced9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:20:10 1997 +0000

    1) traded LIBPATH for LIBS
    2) checks for dirent.h
    3) checks for -lnsl explicitly
    
    CVS patchset: 1446
    CVS date: 1997/02/20 02:20:10

commit 86b4b648b7fb014138095f1d6621988117d0f620
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:19:51 1997 +0000

    1) version 2.3.7
    2) traded LIBPATH for LIBS
    
    CVS patchset: 1445
    CVS date: 1997/02/20 02:19:51

commit 90956d09aee0e1873d42326f70e86ac26df18ab5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 20 02:10:36 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1444
    CVS date: 1997/02/20 02:10:36

commit 049a0ed0a555288fa52c9261367e6e2700c90fdb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 18 01:47:16 1997 +0000

    fix null dereference
    
    CVS patchset: 1443
    CVS date: 1997/02/18 01:47:16

commit a7fe8049fceb88cc995b5f92e916cc56bb394f86
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 18 01:16:14 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1442
    CVS date: 1997/02/18 01:16:14

commit 2c056abce666a9e1fd00cbaf46eff52cfc764d29
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 18 00:01:39 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1441
    CVS date: 1997/02/18 00:01:39

commit 2741e30f3c0c3c93ad24a6aea6f13dcb9be43678
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 23:58:08 1997 +0000

    got rid of the LIBS/LIBPATH dualism
    
    CVS patchset: 1440
    CVS date: 1997/02/17 23:58:08

commit 9b17af5137c19ba26f433ae663aef10f698c9200
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 17 23:45:40 1997 +0000

    fixed code so -qvv actually works
    
    CVS patchset: 1439
    CVS date: 1997/02/17 23:45:40

commit d0f53bd36d002ca237e9b940a10ad0c60a8a8f8f
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 17 23:45:37 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1438
    CVS date: 1997/02/17 23:45:37

commit 479e552ef148590980d1e965db292276993fff0b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:29:07 1997 +0000

    if a user specified rcfile doesn't exist, exit with an error
    
    CVS patchset: 1437
    CVS date: 1997/02/17 20:29:07

commit ef6947376630f67682485b50b629c5cb14cd926a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:28:50 1997 +0000

    be a bit more carefull about checking --rcfiles argument
    
    CVS patchset: 1436
    CVS date: 1997/02/17 20:28:50

commit 14b83466f4a85874f63fc083b56f43574d6e0ece
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:22:45 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1435
    CVS date: 1997/02/17 20:22:45

commit a7c9c37358647e9b6e7d287cf4aac1812f1c0dd8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:21:16 1997 +0000

    1) added poptStuffArgs()
    2) added character argument aliasing
    3) aliases are searched for in reverse order
    
    CVS patchset: 1434
    CVS date: 1997/02/17 20:21:16

commit 0fd27e81a1e3283304b1f32189f444a275b4acc6
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:20:59 1997 +0000

    1) added poptStuffArgs()
    2) added shortName to popt aliases
    
    CVS patchset: 1433
    CVS date: 1997/02/17 20:20:59

commit daa851cf1ed5afce3e230b162798b86f0b6319e7
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:20:32 1997 +0000

    1) empty user/group names are handled better (sigh)
    2) added typecasts to clean up some warning
    
    CVS patchset: 1432
    CVS date: 1997/02/17 20:20:32

commit 94953f0ad7c8c8a1e743de997ca00629d0852336
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:20:21 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1431
    CVS date: 1997/02/17 20:20:21

commit 313c75b2e82949cdb7d7d972c257366ffb91a4cb
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:20:04 1997 +0000

    migrated to new format (with --), added --requires, -R, and --info
    
    CVS patchset: 1430
    CVS date: 1997/02/17 20:20:04

commit e21915afcc51f30889366a8d321b10e899834b0f
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:18:54 1997 +0000

    dropped QUERY_FOR_INFO, QUERY_FOR_REQUIRES
    
    CVS patchset: 1429
    CVS date: 1997/02/17 20:18:54

commit 65199afb2205ce7af85dad206ab7e28806564696
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:18:36 1997 +0000

    redid -i parsing, moved --info and --requires to popt aliases
    
    CVS patchset: 1428
    CVS date: 1997/02/17 20:18:36

commit 51fc5073792d72ebecfdd25277cbd70e98343956
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 20:18:28 1997 +0000

    Changed to version 2.3.6
    
    CVS patchset: 1427
    CVS date: 1997/02/17 20:18:28

commit 2f43ed80e444b6970aeb9694e471f256e09370ba
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 16:53:30 1997 +0000

    -Vp should use realpath()
    
    CVS patchset: 1426
    CVS date: 1997/02/17 16:53:30

commit d58a17d1bde09ab9b8bba06de1e1ff00001c0741
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 17 16:52:45 1997 +0000

    --ftp* arguments should work with -Vp as well
    
    CVS patchset: 1425
    CVS date: 1997/02/17 16:52:45

commit 1c3ca02cced5045f22ffb5953784a393962e3080
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:40:00 1997 +0000

    needs to include unistd.h to get some types
    
    CVS patchset: 1424
    CVS date: 1997/02/14 03:40:00

commit 05509cb62aad541b830eefe3a65a860f8a385f5e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:32:26 1997 +0000

    including <string.h> makes this a bit cleaner
    
    CVS patchset: 1423
    CVS date: 1997/02/14 03:32:26

commit c9ba3d9d89271220c1de40aeafede4312c5da5b1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:26:16 1997 +0000

    1) cleaned up horrbile relocateFilelist() hacks thanks to new header
    2) remove UID, GID lists from headers if symbolic versions are present
    3) fixed but in reloacteFilelist() which occasionally made it noop
    
    CVS patchset: 1422
    CVS date: 1997/02/14 03:26:16

commit 9b70abb46223e8bc0b2ea801d654dcccafc89942
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:25:52 1997 +0000

    if symbolic user and group names aren't present try to fall back
    on id's (this if for old v1 packages)
    
    CVS patchset: 1421
    CVS date: 1997/02/14 03:25:52

commit 62a01ab51869d05c9ad7e81eb3435580adbb9538
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:25:42 1997 +0000

    added headerRemoveEntry()
    
    CVS patchset: 1420
    CVS date: 1997/02/14 03:25:42

commit 56b924a57ff685e0ca748b09a1586286d6068fbb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:25:31 1997 +0000

    fixed gidToGname() prototype
    
    CVS patchset: 1419
    CVS date: 1997/02/14 03:25:31

commit 6e3bed7cf3dbbb0880d836d46f59204d39261f1d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:25:14 1997 +0000

    exclude 'ignore' marked RPMTAG entriess from tag table
    
    CVS patchset: 1418
    CVS date: 1997/02/14 03:25:14

commit 635803a994a1e6c53026e9adc5692fefe2621ae0
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:24:58 1997 +0000

    added 'internal' keyword to get RPMTAG's ignored by tagtable.c
    
    CVS patchset: 1417
    CVS date: 1997/02/14 03:24:58

commit b26934ee9c1d1b11011618c1d415cd0c097d6284
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 03:24:45 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1416
    CVS date: 1997/02/14 03:24:45

commit aa7bba8e59e6db594e7d42822b4917cc6653c1ea
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:05:43 1997 +0000

    verify users and groups by name not by id
    
    CVS patchset: 1415
    CVS date: 1997/02/14 02:05:43

commit eafe2c752f6c0bbfdae81d8bdfca70af23dc3578
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:05:33 1997 +0000

    use new id query calls from misc.c
    
    CVS patchset: 1414
    CVS date: 1997/02/14 02:05:33

commit 97999ce92c1cad3315d85c02bb3c62007a75d846
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:05:13 1997 +0000

    added unameToUid(), gnameToGid(), uidToUname(), gidToUname()
    
    CVS patchset: 1413
    CVS date: 1997/02/14 02:05:13

commit a7afd38d35cf918d91989d6639e6291bc93a8a1f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:04:37 1997 +0000

    if we're not using GNU gettext #define the i18n stuff away (and get
    rid of the gettextstub.c stuff as well)
    
    CVS patchset: 1412
    CVS date: 1997/02/14 02:04:37

commit 22b96549a74c98f35d07a584d4d2d6232b29e303
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:04:13 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1411
    CVS date: 1997/02/14 02:04:13

commit a5cd69b3db129f55bd6776f2148a7cfb1b4bf8fb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 14 02:04:04 1997 +0000

    restored include of <locale.h>
    
    CVS patchset: 1410
    CVS date: 1997/02/14 02:04:04

commit 91a063524fa2f409791116c70d6202f5ec36daf3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 16:54:49 1997 +0000

    array size mismatches in --qf should send error to stderr
    
    CVS patchset: 1409
    CVS date: 1997/02/12 16:54:49

commit 4f4c7b2e9c55439b20a67ecb455839be55800121
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 05:06:25 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1408
    CVS date: 1997/02/12 05:06:25

commit b66955246958ab08c0d270c2a3c81761f77438ce
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 05:05:58 1997 +0000

    1) don't remove pre/post scripts if isdebug is set
    2) use '-xs' reather then separate args -- works around some broken shells
    
    CVS patchset: 1407
    CVS date: 1997/02/12 05:05:58

commit 3e9c2525399679378ef288dd167d00c0ac4e89cb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 05:05:13 1997 +0000

    1) don't ever change the umask
    2) when installing sources with --root, directory checks need to
       use the relocated paths
    
    CVS patchset: 1406
    CVS date: 1997/02/12 05:05:13

commit 3cb5b141d5d26a73b9d3b4a21763dac1fb3b32ed
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 05:04:38 1997 +0000

    added optflags for ppc
    
    CVS patchset: 1405
    CVS date: 1997/02/12 05:04:38

commit 0d6a23c34e67752094c3141d95ee950fff705b21
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 05:03:02 1997 +0000

    run depend only against sources used
    
    CVS patchset: 1404
    CVS date: 1997/02/12 05:03:02

commit 7cdaa87e0f96ebd169020a531196e580342b8d80
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 04:48:51 1997 +0000

    made verify work on URLs
    
    CVS patchset: 1403
    CVS date: 1997/02/12 04:48:51

commit 5a761a05227693e5e4b37abe8a314dcba71950cd
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 04:48:37 1997 +0000

    fixed -r, --root processing
    
    CVS patchset: 1402
    CVS date: 1997/02/12 04:48:37

commit 5c503f570f32253a6eea3a41bc8b2cbc40f4c5e3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 04:48:06 1997 +0000

    if a prefix other then /usr or /usr/local is used look in $prefix/lib
    and $prefix/include for libraries
    
    CVS patchset: 1401
    CVS date: 1997/02/12 04:48:06

commit 900266be6af55119c525d57035d6afde6cbb11e6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 12 04:47:49 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1400
    CVS date: 1997/02/12 04:47:49

commit cce6ae6b2ccccc0f33f0278bed8ec4feafb08bbe
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 6 20:45:08 1997 +0000

    changed to version 2.3.5
    
    CVS patchset: 1399
    CVS date: 1997/02/06 20:45:08

commit a2c2d90cb79abaad2113938a14666fa51a8dbdf8
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 6 20:44:10 1997 +0000

    %{#TAG} prints the number of items in the item (array length)
    
    CVS patchset: 1398
    CVS date: 1997/02/06 20:44:10

commit 7be278677ea6deb0bed516dbc223c2d10f8d4c4f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 6 20:31:43 1997 +0000

    changed a bunch of parameter names for cleanliness
    
    CVS patchset: 1397
    CVS date: 1997/02/06 20:31:43

commit 949a2fc3e9fad0d5d54f2bf3bd20a27a55f06862
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 31 21:43:00 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1396
    CVS date: 1997/01/31 21:43:00

commit e902653112d0cb27c29839d5ec4c146e19024b38
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 21:27:42 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1395
    CVS date: 1997/01/30 21:27:42

commit 62ccc79f90f0b97dbb8384db7b8add7c2953e3a9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 21:27:10 1997 +0000

    fixed sigcheck w/ always failed with a made up error
    
    CVS patchset: 1394
    CVS date: 1997/01/30 21:27:10

commit cfdc587c25c2c1eea6a9f3ad8cd22a0e660ddc44
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:45:07 1997 +0000

    install rpmpopt properly
    
    CVS patchset: 1393
    CVS date: 1997/01/30 20:45:07

commit 63056f52cea7e87bd3fe48f80d7579ef72981e3b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:20:29 1997 +0000

    changed to version 2.3.4
    
    CVS patchset: 1392
    CVS date: 1997/01/30 20:20:29

commit 79f644ecdad5409b5857c4e2e3b3964b9130d213
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:16:49 1997 +0000

    removed VERIY_SRPM
    
    CVS patchset: 1391
    CVS date: 1997/01/30 20:16:49

commit ca89c7dd06316d8ade0b179c2c6bf58d65a89f35
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:14:22 1997 +0000

    changed fixperms to setperms
    
    CVS patchset: 1390
    CVS date: 1997/01/30 20:14:22

commit e2ef8c9b0acb56954d65f4b814a9331a329ca8fe
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:09:42 1997 +0000

    set the time on changelogs to noon UTC
    
    CVS patchset: 1389
    CVS date: 1997/01/30 20:09:42

commit 6a52e861c7b2028d0a9feac29d59a0d8f120ec44
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:04:11 1997 +0000

    NULL terminate result of poptGetArgs()
    
    CVS patchset: 1388
    CVS date: 1997/01/30 20:04:11

commit 6f9e6402382e2e35d9ea479bcb809b5e79676b3a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:03:39 1997 +0000

    moved dbiFreeIndexRecord() to be more appropriate (i.e. not segv)
    
    CVS patchset: 1387
    CVS date: 1997/01/30 20:03:39

commit f4f50e367a0a927a636fd5cc1f41b8d0f79e07bb
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:03:01 1997 +0000

    remove one from rpmTagTableSize (NULL entry)
    
    CVS patchset: 1386
    CVS date: 1997/01/30 20:03:01

commit ca81a06e73296cd56a3691db48767c76cadf8f48
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 20:02:28 1997 +0000

    added doc stubs for --fixperms, --setugids, --rebuilddb, --showrc
    
    CVS patchset: 1385
    CVS date: 1997/01/30 20:02:28

commit 647b233511c9500924167a033421aa85fecf9583
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:59:14 1997 +0000

    1) removed --provides, --scripts (moved to rpmpopt)
    2) concatenates multiple query formats
    3) doesn't support stdin query/verify modes (thank god)
    
    CVS patchset: 1384
    CVS date: 1997/01/30 19:59:14

commit f1ca8333220eabd80b7671158c35485b36c99435
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:58:55 1997 +0000

    removed stdin verification modes
    
    CVS patchset: 1383
    CVS date: 1997/01/30 19:58:55

commit b5f1f94bba82125bc7a5ae6337ed1d49f2ad7b10
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:58:40 1997 +0000

    removed stdin queries and moved --scripts, --provides to rpmpopt
    
    CVS patchset: 1382
    CVS date: 1997/01/30 19:58:40

commit 9db020e418717341aaf517d883836f15525798c1
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:58:26 1997 +0000

    installs rpmpopt
    
    CVS patchset: 1381
    CVS date: 1997/01/30 19:58:26

commit b0afc4092cef3eeff109f3de7df183afc7dcd516
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:57:47 1997 +0000

    Initial revision
    
    CVS patchset: 1380
    CVS date: 1997/01/30 19:57:47

commit dcd2a73991b7cf8537711955fd430533219c86d0
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:57:30 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1379
    CVS date: 1997/01/30 19:57:30

commit 5aad93af5d0203e26c9be06eafd119a550721a27
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 19:56:36 1997 +0000

    updated to RPM 2.3.1 (or so)
    
    CVS patchset: 1378
    CVS date: 1997/01/30 19:56:36

commit 7bc74ba4aa4529d9683986493e2da1cb9cd354f9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 30 15:54:59 1997 +0000

    added info on conflicts
    
    CVS patchset: 1377
    CVS date: 1997/01/30 15:54:59

commit fb25acc6f607a72b8ef9d41c71de77dcf0c6b5d0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 29 17:40:03 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1376
    CVS date: 1997/01/29 17:40:03

commit be0b90359bcd8156385178eb9b570c0538c0333f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 29 17:39:46 1997 +0000

    does some basic sanity checks on headers read from the database
    
    CVS patchset: 1375
    CVS date: 1997/01/29 17:39:46

commit 364db20c195b8e5fd06cc27e6745dc8ba1e583f9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 29 17:39:11 1997 +0000

    1) made faNextOffset(), faFirstOffset() return signed ints
    2) both return -1 on error
    3) faNextOffset() detects loops and returns -1
    
    CVS patchset: 1374
    CVS date: 1997/01/29 17:39:11

commit bc1cb8cc9ff765e13c8691f1babac44f9cc0fb1f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 29 17:38:47 1997 +0000

    made rpmdbFirstRecNum() and rpmdbNextRecNum() return signed ints
    
    CVS patchset: 1373
    CVS date: 1997/01/29 17:38:47

commit 5612933dcb9fa3cb0963347605a1feba6847c609
Author: Unknown Author <devnull@localhost>
Date:   Tue Jan 28 15:34:31 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1372
    CVS date: 1997/01/28 15:34:31

commit e633246d1ddc1427319a781f85c06942597afdb3
Author: Unknown Author <devnull@localhost>
Date:   Tue Jan 28 15:33:55 1997 +0000

    fixed requires/conflicts
    
    CVS patchset: 1371
    CVS date: 1997/01/28 15:33:55

commit 52978613bc110c659a1f9e397ea20bf0b3acb3e4
Author: Unknown Author <devnull@localhost>
Date:   Sat Jan 25 04:48:56 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1370
    CVS date: 1997/01/25 04:48:56

commit 6ffeda1eaa7315d94b0d07b6a988c93558a2fd3a
Author: Unknown Author <devnull@localhost>
Date:   Sat Jan 25 04:48:06 1997 +0000

    added %changelog processing
    
    CVS patchset: 1369
    CVS date: 1997/01/25 04:48:06

commit b161ffd5c8c83449c310e422a5a9bbcfbbb4f29b
Author: Unknown Author <devnull@localhost>
Date:   Sat Jan 25 04:47:27 1997 +0000

    added RPMTAG_CHANGELOGTIME RPMTAG_CHANGELOGNAME RPMTAG_CHANGELOGTEXT
    
    CVS patchset: 1368
    CVS date: 1997/01/25 04:47:27

commit 021ca4b3450cc99b3ab771dea35f79db3f2bb87f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 22:56:25 1997 +0000

    added some missing -p's to mkdirs
    
    CVS patchset: 1367
    CVS date: 1997/01/24 22:56:25

commit 49392863405756e01085dbfb7d7804d9b6245dbf
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 22:50:38 1997 +0000

    create RPMNLSDIR
    
    CVS patchset: 1366
    CVS date: 1997/01/24 22:50:38

commit 06927d450814d8b141593d4c375a999121352970
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 22:50:01 1997 +0000

    changed NLSDIR to RPMNLSDIR
    
    CVS patchset: 1365
    CVS date: 1997/01/24 22:50:01

commit 5b744e7a24293f96ca84e39fcffde299ed04ef42
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:06:35 1997 +0000

    prototype realpath if appropriate
    
    CVS patchset: 1364
    CVS date: 1997/01/24 19:06:35

commit bf515de97c95c27b91bac8fd530a1461ed6211a2
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:06:16 1997 +0000

    prototype bindtextdomain(), textdomain() if libintl.h isn't being used
    
    CVS patchset: 1363
    CVS date: 1997/01/24 19:06:16

commit 6e1a9bd641d8759122d40073f4403f200dc5e594
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:06:09 1997 +0000

    include config.h
    
    CVS patchset: 1362
    CVS date: 1997/01/24 19:06:09

commit 0d6a382fb16f1f74b35be962c86539f8518faa27
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:05:56 1997 +0000

    don't include miscfn.h -- glob.h gets it
    
    CVS patchset: 1361
    CVS date: 1997/01/24 19:05:56

commit 3d51574396bd7934b01c7714a7fcd544820bda5d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:05:39 1997 +0000

    don't mkdir anything -- toplevel Makefile handles that
    
    CVS patchset: 1360
    CVS date: 1997/01/24 19:05:39

commit 87a10745a27e8a05e4442b6a4757d1692116030f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:05:23 1997 +0000

    added STDC_HEADERS,  HAVE_STRING_H, HAVE_REALPATH
    
    CVS patchset: 1359
    CVS date: 1997/01/24 19:05:23

commit f818ac27f7d141136e068029f21e7554046291a1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:04:51 1997 +0000

    1) check for STDC headers (makes glob.c, etc happy)
    2) check from string.h
    3) define HAVE_REALPATH as appropriate
    
    CVS patchset: 1358
    CVS date: 1997/01/24 19:04:51

commit 3a7a9798784883007a36a49440e2c5d23f272f9b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:04:31 1997 +0000

    moved isUrl initialization to remove dumb warning
    
    CVS patchset: 1357
    CVS date: 1997/01/24 19:04:31

commit 2c83a713fd9fc2129f48fd1d39b0ea494e926028
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:04:14 1997 +0000

    use RPMNLS* rather then NLS*
    
    CVS patchset: 1356
    CVS date: 1997/01/24 19:04:14

commit a34820cda3ef9aa1b07d6674863f4fe4fff6e44b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:03:06 1997 +0000

    1) only mkdir directories which don't exist
    2) use RPMNLS* rather then NLS*
    
    CVS patchset: 1355
    CVS date: 1997/01/24 19:03:06

commit b0290919c25d402ff0bb12dc1f6d03e504004fa8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 19:03:01 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1354
    CVS date: 1997/01/24 19:03:01

commit 352e7cd6f34e41d64050af0ef873903477aae316
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 24 16:13:19 1997 +0000

    removed unused variable tok
    
    CVS patchset: 1353
    CVS date: 1997/01/24 16:13:19

commit bfd57b7a22d891f6b88e2c942cc79bfced5d1437
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 21:17:25 1997 +0000

    1) added copyData()
    2) changed grabData() to use copyData()
    3) made headerAppendEntry() use copyData() so it will actually work
    
    CVS patchset: 1352
    CVS date: 1997/01/23 21:17:25

commit 21620b1414e73d4234f8d18765c4554afe4b12bd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 21:12:26 1997 +0000

    increment count in headerAppendEntry()
    
    CVS patchset: 1351
    CVS date: 1997/01/23 21:12:26

commit d0c5b80dec5c5fe0d5fe30770ed02b42ea2dc283
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:57:58 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1350
    CVS date: 1997/01/23 20:57:58

commit d12e155ba86959103f2443f86b9b764c52dcc059
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:56:58 1997 +0000

    always link against libmisc
    
    CVS patchset: 1349
    CVS date: 1997/01/23 20:56:58

commit 0dab6d67bf464bfb1a3adfd68dd853ca8a88e8dd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:56:45 1997 +0000

    may skip file md5 checks
    
    CVS patchset: 1348
    CVS date: 1997/01/23 20:56:45

commit fa4a7a11bba35fac1daa8b9bb75ba3152d4715cd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:56:16 1997 +0000

    added --nomd5
    
    CVS patchset: 1347
    CVS date: 1997/01/23 20:56:16

commit 4d4c71c5805a4cbdf52297c99e6f20a1afb6e6af
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:55:52 1997 +0000

    allows you to omit md5 signature checks
    
    CVS patchset: 1346
    CVS date: 1997/01/23 20:55:52

commit d3f7e48be949aca972ea3e67815dab6e6a994b41
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:55:33 1997 +0000

    added omitFlags to rpmVerifyFile()
    
    CVS patchset: 1345
    CVS date: 1997/01/23 20:55:33

commit 0d0ca1f947d0cf61cfb09f0647562b6d8d1a92c6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:29:16 1997 +0000

    tried to fix h_errno check
    
    CVS patchset: 1344
    CVS date: 1997/01/23 20:29:16

commit ed17a7118243ce1bad6c0fa2e326af2dec99b1cd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:24:25 1997 +0000

    1) changed for new headerDump()
    2) reads rpmrc to find rpm library
    
    CVS patchset: 1343
    CVS date: 1997/01/23 20:24:25

commit 167b4407ffe8fd3b3039236b5e897c4eb375fcf9
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:24:16 1997 +0000

    changed for new headerDump()
    
    CVS patchset: 1342
    CVS date: 1997/01/23 20:24:16

commit 5807c0cf2a9c2edf9782dcf9bbf492cd699e7208
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:24:00 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1341
    CVS date: 1997/01/23 20:24:00

commit 8aefc029089b68876913be987e39607d1fac7e15
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:23:35 1997 +0000

    only check rdev w/ appropriate, include device type (block vs char) in
    D bit
    
    CVS patchset: 1340
    CVS date: 1997/01/23 20:23:35

commit e14c030f939650117a2d0274021346ba1c2548fb
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 23 20:23:17 1997 +0000

    added some -'s for correctness
    
    CVS patchset: 1339
    CVS date: 1997/01/23 20:23:17

commit df5f2c436784fb07e71bb6d9c49e3b84cb4f50ca
Author: Unknown Author <devnull@localhost>
Date:   Thu Jan 23 19:17:35 1997 +0000

    some tmpPath's were being alloceted w/o paying attention to the length
    of RPMVAR_TMPPATH
    
    CVS patchset: 1338
    CVS date: 1997/01/23 19:17:35

commit 11eb37a7a23b8074afb3053510cfa7f5f2ebcd3d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:42:36 1997 +0000

    moved struct rpmTagTableEntry to header.h (and renamed it)
    
    CVS patchset: 1337
    CVS date: 1997/01/22 20:42:36

commit 0264e478d897d89fd729ebffbf7afd376eb48e1f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:42:10 1997 +0000

    1) struct rpmTagTableEntry now struct headerTagTableEntry
    
    CVS patchset: 1336
    CVS date: 1997/01/22 20:42:10

commit b18f0a329c94edfbd2b8ec90fe651ecc996f311c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:41:50 1997 +0000

    headerDump() now needs tag table
    
    CVS patchset: 1335
    CVS date: 1997/01/22 20:41:50

commit 3c528c8ab63e68c813195c3f7fb72aa2ebc2ddb3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:40:45 1997 +0000

    don't look for getopt anymore (we don't need it)
    
    CVS patchset: 1334
    CVS date: 1997/01/22 20:40:45

commit ac61b79a0034fc381bf29ec8671f12c215d822a2
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:40:33 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1333
    CVS date: 1997/01/22 20:40:33

commit 3272d6857c38f7a8dc75df57536664bb866fb8ab
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:25:38 1997 +0000

    bug parsing multiline responses
    
    CVS patchset: 1332
    CVS date: 1997/01/22 20:25:38

commit fb837ffbb494b3af8f16c4b0f96729fc97d9caa5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 22 20:25:23 1997 +0000

    changed types to headerTabTableEntry from rpmTagTableEntry
    
    CVS patchset: 1331
    CVS date: 1997/01/22 20:25:23

commit c212907847fb6e831b837030b04549249ce2330b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 21 18:09:16 1997 +0000

    1) made headerDump() take tag table
    2) removed rpmlib.h, messages.h dependencies
    
    CVS patchset: 1330
    CVS date: 1997/01/21 18:09:16

commit 4d9920ab1fccd0f15166cd0e159e434e2fc72b89
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 20 22:34:47 1997 +0000

    1) use autoconf message facilities
    2) look for h_errno
    
    CVS patchset: 1329
    CVS date: 1997/01/20 22:34:47

commit 1c6087767f4b404b26833a2055aa73dbed8f6110
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 20 22:34:34 1997 +0000

    defined HAVE_HERRNO if necessary
    
    CVS patchset: 1328
    CVS date: 1997/01/20 22:34:34

commit 11fda8ed4ff0573b9436e73a3b6eae958563a56a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 20 22:34:26 1997 +0000

    added HAVE_HERRNO
    
    CVS patchset: 1327
    CVS date: 1997/01/20 22:34:26

commit 17c36159c7822c4c2b9440b2dd074adcf04a0142
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 20 22:16:31 1997 +0000

    added poptBadOption(), poptStrerror(), flags argument to poptAddAlias
    
    CVS patchset: 1326
    CVS date: 1997/01/20 22:16:31

commit 22d5f14f156b0d385b86a83f15b350efede49ea5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 20 22:16:01 1997 +0000

    1) sanity check --timecheck
    2) print usefull errors during argument processing
    
    CVS patchset: 1325
    CVS date: 1997/01/20 22:16:01

commit 3366d6c2e0f027256860db99b562627aa6db3088
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 22:56:22 1997 +0000

    added :octal for int32 and int16
    
    CVS patchset: 1324
    CVS date: 1997/01/17 22:56:22

commit 10ac1065199e0ddfd51fd25fcb9cb9472b2220a7
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 21:58:27 1997 +0000

    1) added parsing options for option args
    2) added alias config files
    
    CVS patchset: 1323
    CVS date: 1997/01/17 21:58:27

commit adcc39df50e9d7518554d01a934a08881500bda8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 21:58:00 1997 +0000

    1) added --pipe
    2) read popt config files
    3) takes advantage of some popt shortcuts
    
    CVS patchset: 1322
    CVS date: 1997/01/17 21:58:00

commit bd2663da8eb1f8fed1eda4e4cdd00eadc458270b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 21:57:52 1997 +0000

    added DLIBRPMALIAS_FILENAME
    
    CVS patchset: 1321
    CVS date: 1997/01/17 21:57:52

commit b7daa4d1d0700944e6b1075fbd6911108b4a435c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:23:58 1997 +0000

    use config.h, not misc-config.h
    
    CVS patchset: 1320
    CVS date: 1997/01/17 16:23:58

commit d9d67931b8a482835f119cdf63192134fbd13feb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:23:49 1997 +0000

    added popt to Makefile.in
    
    CVS patchset: 1319
    CVS date: 1997/01/17 16:23:49

commit 265d11ee06dfa77f450d43d476f93b3493a98cbc
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:23:22 1997 +0000

    define PATH_MAX if necessary
    
    CVS patchset: 1318
    CVS date: 1997/01/17 16:23:22

commit 15e5bfc3ce8bf29b038f361141c3a68923b09e77
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:22:57 1997 +0000

    1) use config.h if available
    2) use if not ifdef
    3) use <signal.h> instead of <sys/signal.h>
    
    CVS patchset: 1317
    CVS date: 1997/01/17 16:22:57

commit 9c23e2a5a99225d657d4ca5d2d1ae3379c3a77e1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:22:45 1997 +0000

    1) use config.h if available
    2) use if not ifdef
    3) include <string.h>
    
    CVS patchset: 1316
    CVS date: 1997/01/17 16:22:45

commit e95e75d71d2f0630b4e187a56d2f96b17bb9467f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:22:08 1997 +0000

    use if not ifdef
    include "misc.h" and "config.h"
    
    CVS patchset: 1315
    CVS date: 1997/01/17 16:22:08

commit 0a5763e9d1e5a60b3b6cdbad85da122a01dbfe90
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:21:51 1997 +0000

    1) use config.h if available
    2) use if not ifdef
    3) typevase getpid() to int for printf()
    
    CVS patchset: 1314
    CVS date: 1997/01/17 16:21:51

commit 9a3d1082496c15b73c887d9e6e3b47357abf6d12
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:21:38 1997 +0000

    include <string.h>
    
    CVS patchset: 1313
    CVS date: 1997/01/17 16:21:38

commit c1ba92895474b316b6b5b69e7b2a5cf6ab193110
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:20:18 1997 +0000

    1) use config.h if available
    2) use if not ifdef
    
    CVS patchset: 1312
    CVS date: 1997/01/17 16:20:18

commit c40e834ea0e7fec8af9b59bc09d1b3639199b5b6
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:20:10 1997 +0000

    use config.h now
    
    CVS patchset: 1311
    CVS date: 1997/01/17 16:20:10

commit 176e84672b163a944bbceaf47c01b4dad3cc5cbd
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:20:07 1997 +0000

    Initial revision
    
    CVS patchset: 1310
    CVS date: 1997/01/17 16:20:07

commit 5f1329228093aac371dc22377493703973e23cbb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 16:19:51 1997 +0000

    added topdir to -I path so we find config.h
    
    CVS patchset: 1309
    CVS date: 1997/01/17 16:19:51

commit fa6881186405884687724ab893323c50f0557310
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 15:48:09 1997 +0000

    use config.h now
    
    CVS patchset: 1308
    CVS date: 1997/01/17 15:48:09

commit d731b1a1b0065c388da861710c99a9af6305dc28
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 15:41:28 1997 +0000

    use if instead of ifdef
    
    CVS patchset: 1307
    CVS date: 1997/01/17 15:41:28

commit f54f87c666ebfdaafe8ab3644fb09d0d0a6c3e54
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 00:25:02 1997 +0000

    made rpm depend on misc/libmisc.a
    
    CVS patchset: 1306
    CVS date: 1997/01/17 00:25:02

commit ca2c80ddf980e7596767b63d6c6801e8a5ebcac2
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 17 00:24:36 1997 +0000

    Initial revision
    
    CVS patchset: 1305
    CVS date: 1997/01/17 00:24:36

commit f9f5e0cd4b65d45770308d0a89e4e1ffc3f37be4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 23:26:42 1997 +0000

    switched from getopt to popt
    
    CVS patchset: 1304
    CVS date: 1997/01/16 23:26:42

commit 21b9b7cabe014d7dcfdfc6b034c19057922ad68d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:49:45 1997 +0000

    don't use config.h
    
    CVS patchset: 1303
    CVS date: 1997/01/16 19:49:45

commit e6914feda1c736c8a0528b68984214489a4ecb56
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:46:38 1997 +0000

    Initial revision
    
    CVS patchset: 1302
    CVS date: 1997/01/16 19:46:38

commit 85719fbf14d8d7e95cc28fc0aacd9fa30daaa045
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:46:14 1997 +0000

    use misc-config.h
    
    CVS patchset: 1301
    CVS date: 1997/01/16 19:46:14

commit b64894d7a8629f96c9e3e9d1eea0ec789fd22781
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:44:42 1997 +0000

    use "miscfn.h" not <glob.h>
    
    CVS patchset: 1300
    CVS date: 1997/01/16 19:44:42

commit 944ef205b9744ae21dca06fd79d1e40f6a8f6aac
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:44:24 1997 +0000

    look for glob.h, fnmatch.hj
    
    CVS patchset: 1299
    CVS date: 1997/01/16 19:44:24

commit 23923edefb6baf38c62dc66fe1bc04f95d59cbfa
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:44:15 1997 +0000

    don't need INTLDEF
    
    CVS patchset: 1298
    CVS date: 1997/01/16 19:44:15

commit f8009aeafc0c15ac8673b03cb8d69f6d5d0d71cd
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 19:43:48 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1297
    CVS date: 1997/01/16 19:43:48

commit 5142d097245909ca49396d0892dbcb609c05de06
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:24:51 1997 +0000

    added RPMVAR_FIXPERMS
    
    CVS patchset: 1296
    CVS date: 1997/01/16 17:24:51

commit f8d36658fae430512a363c7f7c0fd6ed72244e47
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:24:37 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1295
    CVS date: 1997/01/16 17:24:37

commit 8114a6c58045edee36c94ecd11d358caa31195c2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:24:00 1997 +0000

    added fixperms entry
    
    CVS patchset: 1294
    CVS date: 1997/01/16 17:24:00

commit 2788ae7180e44f27c212e4b54f943467009db6a6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:23:44 1997 +0000

    look for POSIX chmod
    
    CVS patchset: 1293
    CVS date: 1997/01/16 17:23:44

commit ed2bd2bede9e3bcfc40e2e30b967901d0d15d626
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:23:29 1997 +0000

    use RPMVAR_FIXPERMS rather then static chmod args
    
    CVS patchset: 1292
    CVS date: 1997/01/16 17:23:29

commit fc92e27c20aad91ce913041a05121a0a9466fae2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:22:20 1997 +0000

    use <string.h> not <strings.h>
    
    CVS patchset: 1291
    CVS date: 1997/01/16 17:22:20

commit db2bf9fbf0bbb393fb728803db9e87014c2751ed
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 17:03:58 1997 +0000

    use "cp -pr" not "cp -ar"
    
    CVS patchset: 1290
    CVS date: 1997/01/16 17:03:58

commit 45bcb0704e5200fde9d25cd84ee5fab668db5e04
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:46:37 1997 +0000

    Reimplemented header internals
    
    CVS patchset: 1289
    CVS date: 1997/01/16 16:46:37

commit ebcbd42cc294539b5307a689af0729cb2966c878
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:46:15 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1288
    CVS date: 1997/01/16 16:46:15

commit 8d2e35709ccff8e08040ce927dde0a8f945daafe
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:45:52 1997 +0000

    changed to rpm, 2.3.3
    
    CVS patchset: 1287
    CVS date: 1997/01/16 16:45:52

commit 258f679cccd00317c97360e142c7d86827bf7693
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:20:45 1997 +0000

    changed version to 2.3.2
    
    CVS patchset: 1286
    CVS date: 1997/01/16 16:20:45

commit 80aca082350f800e542939b1b75027b99bbe9e77
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:18:48 1997 +0000

    1) fixed bug in rpmVersionCompare() with segv'd
    2) fixed silly type
    
    CVS patchset: 1285
    CVS date: 1997/01/16 16:18:48

commit 57d436b9c0e1825468d5a172eccce965cfaaad09
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 16:17:41 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1284
    CVS date: 1997/01/16 16:17:41

commit 9c82f20f126c8e6fa3fce4033ec959e8b782053f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 16 04:12:29 1997 +0000

    use H_OLDHEADER not H_HEADER
    
    CVS patchset: 1283
    CVS date: 1997/01/16 04:12:29

commit 3895967ba829dd4f8b799bf7751262ac41a15023
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 22:46:41 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1282
    CVS date: 1997/01/15 22:46:41

commit 5c221d638b02f4441adb1e43bff0706c0a5f2ac2
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 22:45:36 1997 +0000

    relocating packages didn't work when the package contained a directory
    equivalent to the prefix
    
    CVS patchset: 1281
    CVS date: 1997/01/15 22:45:36

commit d9fc50656a1b1aa68262b70ec9b606e9d5f30326
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:55:20 1997 +0000

    passes installprefix to child makes
    
    CVS patchset: 1280
    CVS date: 1997/01/15 16:55:20

commit 82a617f13f76a29a26e3172a8d28a49e0546f84c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:55:08 1997 +0000

    make install needs to respect installprefix
    
    CVS patchset: 1279
    CVS date: 1997/01/15 16:55:08

commit e5b9e4adb3075b1adafabc341b7ab8f722d536bd
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:26:57 1997 +0000

    1) don't export rpmEnsureOlder()
    2) added rpmVersionCompare()
    
    CVS patchset: 1278
    CVS date: 1997/01/15 16:26:57

commit 59ac149c8e193538bd13e21fb42c41f1c24c759d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:26:42 1997 +0000

    don't close std[err,out] after a verify script
    
    CVS patchset: 1277
    CVS date: 1997/01/15 16:26:42

commit ba4290acd3de2ab0b9abe4c51ebf5249fb2ff900
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:24:14 1997 +0000

    1) made rpmEnsureOlder() static and user a header instead of strings
    2) use rpmvercmp() instead of vercmp()
    3) added rpmVersionCompare()
    
    CVS patchset: 1276
    CVS date: 1997/01/15 16:24:14

commit 0c7b02c1ef1911e7f9557139a275b5e675e06797
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:23:50 1997 +0000

    changed vercmp() to rpmvercmp()
    
    CVS patchset: 1275
    CVS date: 1997/01/15 16:23:50

commit 4b893222661c81edd24de0b3bb84f017a192a9f7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jan 15 16:23:24 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1274
    CVS date: 1997/01/15 16:23:24

commit e7cff19dc1c59bc5022d1bcc25891715402ae39d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 14 23:26:46 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1273
    CVS date: 1997/01/14 23:26:46

commit bd91e242c3044961d54611b0514f98cfe4959965
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 13 17:23:43 1997 +0000

    add mkj's usage message
    
    CVS patchset: 1272
    CVS date: 1997/01/13 17:23:43

commit 052ae10749842cb1ecbe94e80d07691fc576c19e
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 4 02:48:55 1997 +0000

    Sanity (make dist).
    
    CVS patchset: 1271
    CVS date: 1997/01/04 02:48:55

commit 7ac91c9f8b0894cb4a00149b6ce5cd4a2fda60b6
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 4 02:48:55 1997 +0000

    Sanity (make dist).
    
    CVS patchset: 1270
    CVS date: 1997/01/04 02:48:55

commit 8eacd2250ae19792c1bc14d567540f9d19dc3b97
Author: Jeff Johnson <jbj@redhat.com>
Date:   Sat Jan 4 02:17:22 1997 +0000

    Add ufdSeek.
    
    CVS patchset: 1269
    CVS date: 1997/01/04 02:17:22

commit 3ba113e5e93ab595026462fecde7677f1038bb8c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:49:42 1997 +0000

    added patter rule for running msgfmt
    
    CVS patchset: 1268
    CVS date: 1997/01/02 17:49:42

commit e3049ed75bcf9f72ce1ba582678c7ebc01245012
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:49:09 1997 +0000

    1) moved NLSDIR, NLSPACKAGE from Makefile.in
    2) changed to version 2.3.1
    
    CVS patchset: 1267
    CVS date: 1997/01/02 17:49:09

commit 44dfc187e1df7bd18e9ceb7e5ee128e05ec93308
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:48:56 1997 +0000

    changes to be more i18n friendly
    
    CVS patchset: 1266
    CVS date: 1997/01/02 17:48:56

commit 66e5b49d7d0001cc7a0fc03b44226104fb255b39
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:48:35 1997 +0000

    don't pass NLSDIR to submakes (they get it from Makefile.inc instead)
    
    CVS patchset: 1265
    CVS date: 1997/01/02 17:48:35

commit 0332f9252ef9591a2feb9e6174f0dd224435ec6e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:48:29 1997 +0000

    *** empty log message ***
    
    CVS patchset: 1264
    CVS date: 1997/01/02 17:48:29

commit 61d6be240dff65d907828d3227f0b9e07f28a33f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:46:32 1997 +0000

    handle RPM_CHAR_TYPE like RPM_INT8_TYPE for queries
    
    CVS patchset: 1263
    CVS date: 1997/01/02 17:46:32

commit 6b71cfae881107942c0e9aa6f0c44722dcf3098a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jan 2 17:36:24 1997 +0000

    Initial revision
    
    CVS patchset: 1262
    CVS date: 1997/01/02 17:36:24

commit 087d57853f8bc8f4791a0d2015191ffbbdb3d696
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 2 08:34:28 1997 +0000

    Update header.
    
    CVS patchset: 1261
    CVS date: 1997/01/02 08:34:28

commit f8e8ec57a7a0ca37210513783703ca3ac25b4ae2
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 2 08:26:33 1997 +0000

    Add header.
    
    CVS patchset: 1260
    CVS date: 1997/01/02 08:26:33

commit 519ad628bd1d260b7ad02cbd6ed965b70211c8db
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 2 08:14:49 1997 +0000

    Auto-update by jbj@redhat.com
    
    CVS patchset: 1259
    CVS date: 1997/01/02 08:14:49

commit 35b8b604d331fd1c151698a485835135761e1455
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 2 08:08:02 1997 +0000

    Auto-update by jbj@redhat.com
    
    CVS patchset: 1258
    CVS date: 1997/01/02 08:08:02

commit a41111b03c947258c66c1aaf16d3116e519e1fd7
Author: Jeff Johnson <jbj@redhat.com>
Date:   Thu Jan 2 07:54:59 1997 +0000

    Create.
    
    CVS patchset: 1257
    CVS date: 1997/01/02 07:54:59

commit 7dbc73fec627ec4760f8b031df64ee659c6e6a86
Author: Jeff Johnson <jbj@redhat.com>
Date:   Wed Jan 1 01:30:08 1997 +0000

    Merge rpm-4.0.4 changes.
    
    CVS patchset: 1256
    CVS date: 1997/01/01 01:30:08

commit 931f010d2dcf882b5217be87485758ad82e57164
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:04:45 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1255
    CVS date: 1996/12/24 14:04:45

commit cfbce6ef6769ecba6b375c82d5a7c304dc763a48
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:03:11 1996 +0000

    changed version to 2.3
    
    CVS patchset: 1254
    CVS date: 1996/12/24 14:03:11

commit b442e7e1740787f644c448ecc1915122ef659f65
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:02:35 1996 +0000

    don't check for setenv() anymore as we never use it anyway
    
    CVS patchset: 1253
    CVS date: 1996/12/24 14:02:35

commit c3caab7f1feb1052e6a83af9bb3a40af4c7afa95
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:02:21 1996 +0000

    use doputenv() and dosetenv()
    
    CVS patchset: 1252
    CVS date: 1996/12/24 14:02:21

commit 02650a718564ca2c2a7fbd1cc16337b76341e51a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:01:56 1996 +0000

    added doputenv(), dosetenv()
    
    CVS patchset: 1251
    CVS date: 1996/12/24 14:01:56

commit e03fdd38745392455f1dc9b41e0529855531bdeb
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 24 14:00:52 1996 +0000

    1) don't chmod() directories that already exist
    2) stamp new directories which mtime
    3) set umask() to 0
    
    CVS patchset: 1250
    CVS date: 1996/12/24 14:00:52

commit cb4abed453fa05c38122a9de0f3aed6d9b0f4398
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 20 22:50:53 1996 +0000

    we weren't printing the sticky bit properly
    
    CVS patchset: 1249
    CVS date: 1996/12/20 22:50:53

commit 3d7e3545194172c6268c77d249ac4e6107398225
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 20 22:50:31 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1248
    CVS date: 1996/12/20 22:50:31

commit 6a5447106abef1c23bf937bfe52a56f7d8b9b48d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 20 22:48:42 1996 +0000

    gave it more snae handling of symlinks
    
    CVS patchset: 1247
    CVS date: 1996/12/20 22:48:42

commit 2030ca0f9c171ba481e5e7d74a7ee01a9a7bc4a5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 16 03:31:16 1996 +0000

    changed version to 2.2.11
    
    CVS patchset: 1246
    CVS date: 1996/12/16 03:31:16

commit 01ec02b6ae3b70d061c93a309cf624e482dfeabb
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 16 03:31:03 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1245
    CVS date: 1996/12/16 03:31:03

commit 74ff0bac2bff51e637ae53420490af06f086ab47
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 16 03:29:41 1996 +0000

    fixed silly include file ordering problems on FreeBSD
    
    CVS patchset: 1244
    CVS date: 1996/12/16 03:29:41

commit c7e3a366838e1fb053360bb9bdb9f7cc8377f221
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 16 03:29:13 1996 +0000

    fixed silly ifdef logic
    
    CVS patchset: 1243
    CVS date: 1996/12/16 03:29:13

commit 34e7fe62834bd2effd5a6b34ff696dde5f18cbd8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 16 03:28:52 1996 +0000

    changed order of include files for broken FreeBSD
    
    CVS patchset: 1242
    CVS date: 1996/12/16 03:28:52

commit 6c4819a2b885bc8c9cf307020a46bd55bd67ca6e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 21:33:45 1996 +0000

    fixed some typoes
    
    CVS patchset: 1241
    CVS date: 1996/12/12 21:33:45

commit 86982f323309afdde38ea6e0bb546621e11568f1
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 16:38:19 1996 +0000

    improved test for rpm
    
    CVS patchset: 1240
    CVS date: 1996/12/12 16:38:19

commit 215e5c00f914b3c3138da0aa837c41a3714e835c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 16:37:22 1996 +0000

    changed "struct option" to "struct rpmoption" to avoid conflicts with some
    broken header files
    
    CVS patchset: 1239
    CVS date: 1996/12/12 16:37:22

commit 3a09a368306fb9180bf1306f31f02a8b9f49bfb7
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 16:35:54 1996 +0000

    include intl.h instead of libintl.h
    
    CVS patchset: 1238
    CVS date: 1996/12/12 16:35:54

commit 69b514ef3dbeb2f4646b102f36d98fab1e103814
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:56:30 1996 +0000

    use RPM not RPMSTATIC
    
    CVS patchset: 1237
    CVS date: 1996/12/12 03:56:30

commit 481fed5eec8a7874962e6455c9b37bf6d3686a4f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:52:15 1996 +0000

    don't build both rpm and rpm.shared
    
    CVS patchset: 1236
    CVS date: 1996/12/12 03:52:15

commit 6acc8213ea3f04be31e6fa7b22db444687eea7e3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:51:58 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1235
    CVS date: 1996/12/12 03:51:58

commit 048759f728cfad06e8f8b3e0d305e1d387bdcd02
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:44:29 1996 +0000

    Initial revision
    
    CVS patchset: 1234
    CVS date: 1996/12/12 03:44:29

commit dec77c92e85e56f81a083a1ed02a3f39aab6bb4b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:35:01 1996 +0000

    use _exit instead of exit in forks
    
    CVS patchset: 1233
    CVS date: 1996/12/12 03:35:01

commit 82b53b60a1767a3f8395748c0d1a2ba0062b0b25
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:34:18 1996 +0000

    added include of sys/types.h
    
    CVS patchset: 1232
    CVS date: 1996/12/12 03:34:18

commit 11ebfc5a8ebde0fa36bebbdc65233c5657199728
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:33:47 1996 +0000

    changes to detect amiga's
    
    CVS patchset: 1231
    CVS date: 1996/12/12 03:33:47

commit c6a77883f8a744633ce336e8037c8197899c135d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:33:32 1996 +0000

    1) added IP22 arch
    2) added FreeBSD OS
    
    CVS patchset: 1230
    CVS date: 1996/12/12 03:33:32

commit 491bea2511f8a323b203955af600b4c45640c886
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:33:12 1996 +0000

    removed INTLDEF thanks to intl.h
    
    CVS patchset: 1229
    CVS date: 1996/12/12 03:33:12

commit 2e1c47a108928705863878bd15c689a15914a287
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:32:40 1996 +0000

    1) added --disable-nls
    2) slight support for cross compiling
    3) check for libintl.h
    
    CVS patchset: 1228
    CVS date: 1996/12/12 03:32:40

commit 329e94d98e96cb0f5a64b87e0ad5108dd7c50f3e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:32:22 1996 +0000

    made include of alloca.h conditional
    
    CVS patchset: 1227
    CVS date: 1996/12/12 03:32:22

commit a255e37e2f377f50a1f7b883fed193fa36f453c6
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:31:50 1996 +0000

    1) made install of po directory conditional
    
    CVS patchset: 1226
    CVS date: 1996/12/12 03:31:50

commit fa32168afed4d92b260e3f357d2c18b4044975e8
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:31:35 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1225
    CVS date: 1996/12/12 03:31:35

commit c3ae492d1e3bc18d8dfd84227e17d2c42bfda755
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:21:00 1996 +0000

    minor cleanups -- the gz stream was never getting closed
    
    CVS patchset: 1224
    CVS date: 1996/12/12 03:21:00

commit 602b387052b3dbe04b923261d06ec57ed52e3cd8
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 12 03:01:09 1996 +0000

    Initial revision
    
    CVS patchset: 1223
    CVS date: 1996/12/12 03:01:09

commit 5360171eb08096bedc6989176b569a38685d0080
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 11 19:15:36 1996 +0000

    fixed case w/ no soname
    
    CVS patchset: 1222
    CVS date: 1996/12/11 19:15:36

commit 86e019bab8a171bed4317ef6b92cc9aba143055e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 11 15:53:58 1996 +0000

    actually fixed core dump this time
    
    CVS patchset: 1221
    CVS date: 1996/12/11 15:53:58

commit 211c385eade66c3133127f7ef0ad644690df7e20
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 11 15:39:57 1996 +0000

    fixed the fix from memory leak plugging <sigh>
    
    CVS patchset: 1220
    CVS date: 1996/12/11 15:39:57

commit 65c137ada83c4fe30a5b8a207e518a34ee71382b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 10 23:15:20 1996 +0000

    fixed GNU cpio detection
    
    CVS patchset: 1219
    CVS date: 1996/12/10 23:15:20

commit 3b9d4aa2b3bc32f3684a1ac206b45f1c26571ec7
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 9 19:33:25 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1218
    CVS date: 1996/12/09 19:33:25

commit 238ba73b8152cc6e2f2f49641a7fadfd2a84cc58
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 9 19:32:48 1996 +0000

    changed canonical name for 68k to m68k
    
    CVS patchset: 1217
    CVS date: 1996/12/09 19:32:48

commit cb0d3c339c543a8a33c6a9bc2c99e94c52b27f35
Author: Unknown Author <devnull@localhost>
Date:   Fri Dec 6 20:25:36 1996 +0000

    fixed dbiFreeIndex() in rpmInstallPackage() to be called only when it
    was needed
    
    CVS patchset: 1216
    CVS date: 1996/12/06 20:25:36

commit 6a73bab77c4fb890ec7ae131300a8600fa215b46
Author: Unknown Author <devnull@localhost>
Date:   Fri Dec 6 16:53:54 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1215
    CVS date: 1996/12/06 16:53:54

commit 3a60f69697d00783fa6809f3d006d2a9f5907552
Author: Unknown Author <devnull@localhost>
Date:   Fri Dec 6 16:52:11 1996 +0000

    use select() rather than busy waiting in cpio_gzip()
    
    CVS patchset: 1214
    CVS date: 1996/12/06 16:52:11

commit 968063fbab40cafd00b9747254e6ea729c777ce5
Author: Unknown Author <devnull@localhost>
Date:   Fri Dec 6 16:51:52 1996 +0000

    if spec check fails, fail.
    
    CVS patchset: 1213
    CVS date: 1996/12/06 16:51:52

commit 374bbf39c9938b3fe4f772bd818e8d2569ba574e
Author: Unknown Author <devnull@localhost>
Date:   Fri Dec 6 16:06:39 1996 +0000

    added dummy object file to make some ar's happy
    
    CVS patchset: 1212
    CVS date: 1996/12/06 16:06:39

commit 1bcd4b342f47a79113263198c52e15076340ff8a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 6 04:08:23 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1211
    CVS date: 1996/12/06 04:08:23

commit 550e8442c388cf08322c4e52823ec7d8fe31b5aa
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Dec 6 04:07:28 1996 +0000

    plugged memory leaks in upgrade
    
    CVS patchset: 1210
    CVS date: 1996/12/06 04:07:28

commit 1bcc465f1901962afc56fa41311705a6b1165557
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 22:13:46 1996 +0000

    dependency checking didn't work with a NULL database (conflicts broke this)
    
    CVS patchset: 1209
    CVS date: 1996/12/05 22:13:46

commit 1346212e7720bfcfbbd1ad1e53e9005e74c2d8fb
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 22:13:07 1996 +0000

    changed version from 2.3 to 2.2.10 :-(
    
    CVS patchset: 1208
    CVS date: 1996/12/05 22:13:07

commit f2514c928236d176559d6efe330aca395b8ff5a4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 22:13:03 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1207
    CVS date: 1996/12/05 22:13:03

commit ebecf603469dffbb78c6cc68f1f9a5ef49009f4a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 22:04:44 1996 +0000

    don't let cpio create *any* directories
    
    CVS patchset: 1206
    CVS date: 1996/12/05 22:04:44

commit 2690f0eeca09973a62d1629d5bf06bf8804b8d74
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 21:11:17 1996 +0000

    1) netsharedpath had unhappy realtions with prefix's
    
    CVS patchset: 1205
    CVS date: 1996/12/05 21:11:17

commit ae884fe7d6a1445e41bc7965f88cc28341a4687a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 5 00:01:49 1996 +0000

    allow -qip -
    
    CVS patchset: 1204
    CVS date: 1996/12/05 00:01:49

commit db144206b5f35d612b038a5b0538e4433bc1299a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 2 23:27:39 1996 +0000

    look for GNU cpio 2.4.2 or later (w/ --quiet support), not just
    GNU cpio (with --help support)
    
    CVS patchset: 1203
    CVS date: 1996/12/02 23:27:39

commit 131f695565fd10bb68234a1edabfa1f523d4ac6e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 25 20:17:57 1996 +0000

    use "objdump -p" rather then hacking it
    
    CVS patchset: 1202
    CVS date: 1996/11/25 20:17:57

commit 1729d08c2af7066a3d7910d17c60dcf37ff4ed5f
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 25 16:05:08 1996 +0000

    Elliot says this one actually works!
    
    CVS patchset: 1201
    CVS date: 1996/11/25 16:05:08

commit a1ba4b7be3c2c5054a51a540764097eb0a8b0797
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 25 16:03:04 1996 +0000

    removed spurious topdir entry
    
    CVS patchset: 1200
    CVS date: 1996/11/25 16:03:04

commit fea564a773cccd40296ab05c9d44288f0354d385
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Nov 25 16:02:48 1996 +0000

    Initial revision
    
    CVS patchset: 1199
    CVS date: 1996/11/25 16:02:48

commit c43e1a299cf5f3898c61481ce6635d5a6d5815c5
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 22:24:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1198
    CVS date: 1996/11/22 22:24:59

commit 83484cf5fbd41e58b4485ac6c409c5313b10b572
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 21:49:56 1996 +0000

    changed tag for alphas to alpha from axp
    
    CVS patchset: 1197
    CVS date: 1996/11/22 21:49:56

commit 6d92aa115f100ae826acca2db70d6ef212f7dfb2
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 20:01:06 1996 +0000

    changed to version 2.3
    
    CVS patchset: 1196
    CVS date: 1996/11/22 20:01:06

commit 8322d1044d70d37c329b70f43b130025e80005d8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 19:23:11 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1195
    CVS date: 1996/11/22 19:23:11

commit 8e51231790f2309e185e0982a26beff3351c321c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 19:22:33 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1194
    CVS date: 1996/11/22 19:22:33

commit 0ac124afc2edf15fee047832e9191b4c6363d5cb
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:20:00 1996 +0000

    added rpmVerifyScript()
    
    CVS patchset: 1193
    CVS date: 1996/11/22 17:20:00

commit ba2f38194d6109cd9e94dcf7d68caa0526c4e2e5
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:19:45 1996 +0000

    1) changed some "uninstall" references to "erase" references
    
    CVS patchset: 1192
    CVS date: 1996/11/22 17:19:45

commit b31d0fa4623ff870502e8292f51542b6197272fe
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:19:34 1996 +0000

    --scripts prints verify script
    
    CVS patchset: 1191
    CVS date: 1996/11/22 17:19:34

commit 8c77f11f06d8411848119a25b0390555f89b13ae
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:19:25 1996 +0000

    added VERIFY_SCRIPTS falg
    
    CVS patchset: 1190
    CVS date: 1996/11/22 17:19:25

commit 25fae5a415b0eb08051c46fbf7525240db2adebf
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:19:14 1996 +0000

    added VERIFY_SCRIPTS support
    
    CVS patchset: 1189
    CVS date: 1996/11/22 17:19:14

commit 251232e36f5c6bd2ba7e7c31252607f15ffd9f7f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 22 17:18:37 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1188
    CVS date: 1996/11/22 17:18:37

commit 15887305ad8cb323655217915e80c7f69dd034de
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 22:30:11 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1187
    CVS date: 1996/11/21 22:30:11

commit 90dffed8722d4d308963e5d0116650f2fc4e1e6a
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 21 22:24:34 1996 +0000

    use find-requires
    
    CVS patchset: 1186
    CVS date: 1996/11/21 22:24:34

commit abee89799bc33ee876ad4bef9ecdcb88c1d100ef
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 21 22:16:25 1996 +0000

    oops
    
    CVS patchset: 1185
    CVS date: 1996/11/21 22:16:25

commit 774c0df66a42f7e4fa85167f9aeee503d788dca2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 22:16:00 1996 +0000

    removed extra grep
    
    CVS patchset: 1184
    CVS date: 1996/11/21 22:16:00

commit 796032899f5ff50563ff8f44fbd7f94542b61a62
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 22:06:06 1996 +0000

    don't ever cause core dumps
    
    CVS patchset: 1183
    CVS date: 1996/11/21 22:06:06

commit 61b3ba144f3a9cc1f36c11600140724a4a029e90
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 22:05:26 1996 +0000

    1) look for => instead of ! "statically linked"
    2) don't follow symlinks
    3) use basename on lib names
    
    CVS patchset: 1182
    CVS date: 1996/11/21 22:05:26

commit ae565589c53c9b2f6882b6433e0ac6eb707a619e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 22:00:02 1996 +0000

    1) moved find-provides to autodeps
    2) added requires shell script
    
    CVS patchset: 1181
    CVS date: 1996/11/21 22:00:02

commit edd6929adcc2c4507ba7aedf96583e3d37da3134
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Nov 21 21:58:50 1996 +0000

    Initial revision
    
    CVS patchset: 1180
    CVS date: 1996/11/21 21:58:50

commit 8f846037f5df73eda19529ad0e8ff2532c3c6269
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Nov 19 20:35:51 1996 +0000

    follow symlinks and ignore 'file' errors
    
    CVS patchset: 1179
    CVS date: 1996/11/19 20:35:51

commit 96858e59b086e62af97f2358652ac2c28399c293
Author: Unknown Author <devnull@localhost>
Date:   Tue Nov 19 20:30:29 1996 +0000

    run find-provides on *all* files in the file list
    
    CVS patchset: 1178
    CVS date: 1996/11/19 20:30:29

commit 06426ba98a17d4e889a3d77a8e84de124021dc35
Author: Unknown Author <devnull@localhost>
Date:   Tue Nov 19 02:47:46 1996 +0000

    cleanup
    
    CVS patchset: 1177
    CVS date: 1996/11/19 02:47:46

commit f0c802769591e13ddb369728012719cc9ba7f038
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 23:16:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1176
    CVS date: 1996/11/18 23:16:46

commit 89bb32a2c0cb9a9ed211abecd24199f5598e4025
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 23:15:51 1996 +0000

    only add trigger entries if there are triggers!
    
    CVS patchset: 1175
    CVS date: 1996/11/18 23:15:51

commit 21abb0ace5c6eca7b4b80acac1dc3a47ddf591a5
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 23:15:21 1996 +0000

    handle new ldd where it returns 1 for non executables
    
    CVS patchset: 1174
    CVS date: 1996/11/18 23:15:21

commit 735c84c83a595f7376090a3d9ebd9e31f24e745e
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 21:29:23 1996 +0000

    fix -Q
    
    CVS patchset: 1173
    CVS date: 1996/11/18 21:29:23

commit ab10d4e17d71bd786a68902fcb806bafbc81e6a1
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 18:10:00 1996 +0000

    Initial revision
    
    CVS patchset: 1172
    CVS date: 1996/11/18 18:10:00

commit d382745d17ae859c0ad43d691648da576bd70907
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 18 18:02:36 1996 +0000

    The Great Renaming
    
    CVS patchset: 1171
    CVS date: 1996/11/18 18:02:36

commit 5c46c799f264c30b6414f4a64e27b42ca829bb51
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 22:22:38 1996 +0000

    include find-provides in many make actions
    
    CVS patchset: 1170
    CVS date: 1996/11/15 22:22:38

commit 2575803c35b71fcdf153f5dfbb86dc4607a85066
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 21:04:09 1996 +0000

    made find-provides os specific
    
    CVS patchset: 1169
    CVS date: 1996/11/15 21:04:09

commit 783f6c4617344c1a6bb6a4b6e42f8f2e4be6b908
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 20:54:16 1996 +0000

    added rpmReadPackageInfo(), RPMTAG_EXTERNAL_TAG
    
    CVS patchset: 1168
    CVS date: 1996/11/15 20:54:16

commit 68b3ca9ea6933cd8b0bf42e85a5cc1608e26e14d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 20:54:00 1996 +0000

    cleaned up pkgReadHeader() mechanism
    
    CVS patchset: 1167
    CVS date: 1996/11/15 20:54:00

commit 8af7afa86842ab2df27e91bdba4af5604482de79
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 20:53:34 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1166
    CVS date: 1996/11/15 20:53:34

commit 3b5163a3d9ef7be5b8a8f382e928517f78ce72cd
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 17:44:35 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1165
    CVS date: 1996/11/15 17:44:35

commit 737def7522d2e5ade38b409a680b16abe697a1b0
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 17:42:53 1996 +0000

    changed to 2.2.9
    
    CVS patchset: 1164
    CVS date: 1996/11/15 17:42:53

commit 34a0dc192ab147fae33736814b1b6e34596ecf89
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Nov 15 17:41:48 1996 +0000

    made getBooleanVar() a -bit- better
    
    CVS patchset: 1163
    CVS date: 1996/11/15 17:41:48

commit 10eda0cb8ad5dc61cd64bc0d44446063c7ebda9b
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 21:57:24 1996 +0000

    verify script stuff
    
    CVS patchset: 1162
    CVS date: 1996/11/14 21:57:24

commit 35f133a8cb4fbb5be7bfa22488d4a64d81f9e851
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 21:55:41 1996 +0000

    specFile tagging
    
    CVS patchset: 1161
    CVS date: 1996/11/14 21:55:41

commit 468a4386fef259bfff019168f2aeec004fec6614
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 17:59:05 1996 +0000

    added specfile flag, verifyscript tag
    
    CVS patchset: 1160
    CVS date: 1996/11/14 17:59:05

commit 098609bcf66f7418cdc387781dfe2f4bac60ea13
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 17:37:06 1996 +0000

    Initial revision
    
    CVS patchset: 1159
    CVS date: 1996/11/14 17:37:06

commit 64a4f1d940106da168e7c584d40da79773c9afff
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 17:36:01 1996 +0000

    added trigger stuff
    export ReqComparisons
    clean up messages a bit
    
    CVS patchset: 1158
    CVS date: 1996/11/14 17:36:01

commit 54ccf16a42762a3fe29aaa07d60fc39ba330b8e7
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 17:35:32 1996 +0000

    added trigger stuff
    
    CVS patchset: 1157
    CVS date: 1996/11/14 17:35:32

commit 7031b1cc8c6044081915e2b421508c1490cd50f2
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 17:35:21 1996 +0000

    added trigger.o
    
    CVS patchset: 1156
    CVS date: 1996/11/14 17:35:21

commit 3bb883b77be722e7aaf5dd75a1a8e64296fa8a2a
Author: Unknown Author <devnull@localhost>
Date:   Thu Nov 14 16:02:55 1996 +0000

    duh
    
    CVS patchset: 1155
    CVS date: 1996/11/14 16:02:55

commit fb970c7e75f094ebc2737998de652aa4396613fb
Author: Unknown Author <devnull@localhost>
Date:   Wed Nov 13 23:15:08 1996 +0000

    added TRIGGER entries
    
    CVS patchset: 1154
    CVS date: 1996/11/13 23:15:08

commit ffe3bf87ddd47ae0d11120d9d54521870d6de210
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 6 21:08:25 1996 +0000

    Initial revision
    
    CVS patchset: 1153
    CVS date: 1996/11/06 21:08:25

commit bd5f7932af8bea7013caf6bedeab71c56bbcee01
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 6 21:03:55 1996 +0000

    changed to use #!/bin/bash
    
    CVS patchset: 1152
    CVS date: 1996/11/06 21:03:55

commit f22482e83c54f28dcf84c8dfc8de1c3d8bca5199
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 6 20:58:54 1996 +0000

    got rid of a printf("%s", NULL)
    
    CVS patchset: 1151
    CVS date: 1996/11/06 20:58:54

commit f53478370c87e6678d599cbdfcba6a9fbda3c793
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 6 14:37:21 1996 +0000

    don't verify files that were never installed (i.e. because of --excludedocs)
    
    CVS patchset: 1150
    CVS date: 1996/11/06 14:37:21

commit 3feb50cd98e149d264ed8a8a090de899539c5ea2
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Nov 6 14:37:07 1996 +0000

    added paragraph on --excludedocs
    
    CVS patchset: 1149
    CVS date: 1996/11/06 14:37:07

commit c6ebbac4b83eb9b49c99554078e5dcfde0487754
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 23:52:27 1996 +0000

    fixed typo
    
    CVS patchset: 1148
    CVS date: 1996/10/31 23:52:27

commit 4e60ff902f5dde8ba8ea88275bebc45e6f769212
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:09:26 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1147
    CVS date: 1996/10/31 21:09:26

commit 14f0517569adebbd072e19a843f8ab128b1252d3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:08:44 1996 +0000

    added defaultdocdir
    
    CVS patchset: 1146
    CVS date: 1996/10/31 21:08:44

commit 845a829172308ba1c3c7719e0a843fde0b36578f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:08:23 1996 +0000

    fixed message() call to not print NULL %s
    
    CVS patchset: 1145
    CVS date: 1996/10/31 21:08:23

commit b8a8ae879605e372bb3b823839e63c30b8127991
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:08:05 1996 +0000

    use RPMVAR_DEFAULTDOCDIR
    
    CVS patchset: 1144
    CVS date: 1996/10/31 21:08:05

commit 17b351fe0d05a2beb0ac60d16b1dfe719a2d4e40
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:07:55 1996 +0000

    added RPMVAR_DEFAULTDOCDIR
    
    CVS patchset: 1143
    CVS date: 1996/10/31 21:07:55

commit 95fc0bdd1dab527d8cd90d63bf8d2980ea16ccf4
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:07:30 1996 +0000

    1) don't remove package when preinstall script fails
    2) removed extraneous \n from error() calls
    
    CVS patchset: 1142
    CVS date: 1996/10/31 21:07:30

commit daae77f092a2bd4a21374ccd7e5a7cabd603b304
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:06:55 1996 +0000

    1) removed \n from error() calls
    2) checks for writeable source/spec directories when installing source
       packages
    3) returns proper codes when installing source packages
    
    CVS patchset: 1141
    CVS date: 1996/10/31 21:06:55

commit 26e07c47b461b75d4cda1a95cb954200dcd3df1f
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 21:06:20 1996 +0000

    --root should work with --initdb
    
    CVS patchset: 1140
    CVS date: 1996/10/31 21:06:20

commit 50eae3a5a4b51e043106d1f0c21e5934afb5c5e8
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:54:26 1996 +0000

    kill(2) arguments were backwards
    
    CVS patchset: 1139
    CVS date: 1996/10/31 19:54:26

commit 9ff81b985e6d477f04101d31f7937fe49ef0a9be
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:53:35 1996 +0000

    use separate chgrp/chown commands (slightly more portable, if a bit
    slower)
    
    CVS patchset: 1138
    CVS date: 1996/10/31 19:53:35

commit 34a53b48993321ecf3e7d640048ef1c875081883
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:48:54 1996 +0000

    moved optflags, topdir defaults from rpmrc to here, removed rpmrc
    
    CVS patchset: 1137
    CVS date: 1996/10/31 19:48:54

commit dce5886eb8965c5b868d4810ef20ccaf148cc778
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:48:42 1996 +0000

    removed /etc/rpmrc install (as we don't ship a default anymore)
    
    CVS patchset: 1136
    CVS date: 1996/10/31 19:48:42

commit e68c9160919324b48529f03a33688d98c422d532
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:45:35 1996 +0000

    added real fix for 2.1 kernel write() behavior
    
    CVS patchset: 1135
    CVS date: 1996/10/31 19:45:35

commit 000e1792b2d1be1645b67a7f265c48fc369c23ff
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:45:09 1996 +0000

    fixed ultrasparc number <blush>
    
    CVS patchset: 1134
    CVS date: 1996/10/31 19:45:09

commit afaa5018bc2bc26b4e2d1929e1be0fb5a7592d2d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Oct 31 19:44:13 1996 +0000

    added ultrasparc arch tags
    
    CVS patchset: 1133
    CVS date: 1996/10/31 19:44:13

commit ae2878694cc575240f0cecddca856f58e501453c
Author: Unknown Author <devnull@localhost>
Date:   Wed Oct 30 02:30:01 1996 +0000

    add %patch -E
    
    CVS patchset: 1132
    CVS date: 1996/10/30 02:30:01

commit 02f638f9e098e7b8f1d3de62867638b1ecb2be34
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 22 22:32:20 1996 +0000

    1) don't use getpwuid() to get username for uid 0, just use "root"
    
    CVS patchset: 1131
    CVS date: 1996/10/22 22:32:20

commit 6ff46f65f50477f4927649c44a74f5080314c315
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:20:20 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1130
    CVS date: 1996/10/21 02:20:20

commit 947a93a597108fb4e1f905cdfb96c5d72c9db159
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:19:37 1996 +0000

    1) never removed files which are state RPMFILE_STATE_NOTINSTALLED
    
    CVS patchset: 1129
    CVS date: 1996/10/21 02:19:37

commit 6d61fa694c55af74acd157f403689e722e49101d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:19:15 1996 +0000

    1) added RPMVAR_NETSHAREDPATH
    2) added netsharedPath parameter to rpmInstallPackage()
    
    CVS patchset: 1128
    CVS date: 1996/10/21 02:19:15

commit 65194700ee22180beac65e2a0a1be06ba4cea555
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:18:54 1996 +0000

    1) added RPMVAR_NETSHAREDPATH
    2) don't exit w/ unknown options are in rpmrc files
    
    CVS patchset: 1127
    CVS date: 1996/10/21 02:18:54

commit b144da7d021892476b178e71347df1e51dd48ffd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:17:39 1996 +0000

    1) moved code around to make things a bit more readable
    2) added support for netsharedPath's
    3) cleaned up some memory leaks
    
    CVS patchset: 1126
    CVS date: 1996/10/21 02:17:39

commit 25cc5d49e1634fec2b1946c8f591a6958f9882fe
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:17:23 1996 +0000

    conflict checking was using the wrong header
    
    CVS patchset: 1125
    CVS date: 1996/10/21 02:17:23

commit 3cc144a2f83dc71f1c13bca388a8a2fde29027b4
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:14:17 1996 +0000

    handles RPMFILE_STATE_NETSHARED, prints number of unknown states
    
    CVS patchset: 1124
    CVS date: 1996/10/21 02:14:17

commit 40ce2dafe7cb73d7163fda5df776b4c7dd914715
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:14:02 1996 +0000

    passes netSharedPath() from rpmrc
    
    CVS patchset: 1123
    CVS date: 1996/10/21 02:14:02

commit e2b02ae48ba26c36423ac1a537e4e720ec19ad55
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 02:13:41 1996 +0000

    added -Wall, -Wstrict-prototypes to flags
    
    CVS patchset: 1122
    CVS date: 1996/10/21 02:13:41

commit aca34134701ccc3254f343f7150f6c261ec88198
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 01:24:25 1996 +0000

    1) free matches in findSharedFiles()
    2) if no matches are found in findSharedFiles() free memory and return
       NULL ptr
    
    CVS patchset: 1121
    CVS date: 1996/10/21 01:24:25

commit 9d5ce56fe4d71cbe053d060d0c696c72854b805c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 01:23:29 1996 +0000

    rpmdbRemove() should free header it read
    matches needed to be freed in removeIndexEntry()
    
    CVS patchset: 1120
    CVS date: 1996/10/21 01:23:29

commit 6491c55d0a581e67abea9c924e34e3eb669c374f
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 01:22:47 1996 +0000

    1) use freeHeader(), not free() after writeheader()
    2) free iterators in copyHeader()
    3) free string arrays after interation
    
    CVS patchset: 1119
    CVS date: 1996/10/21 01:22:47

commit 1e63efe01ed81252882b188d405554f07b3cf97b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 01:22:12 1996 +0000

    1) free binaryHeaders w/ done with installs
    2) free rpmdep structures in both install and uninstall
    
    CVS patchset: 1118
    CVS date: 1996/10/21 01:22:12

commit e513460a43c3a25b3365b98191ff7dccac66a4c7
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 21 01:21:48 1996 +0000

    rpmdepFreeConflicts() needs to be used, not plain free()
    
    CVS patchset: 1117
    CVS date: 1996/10/21 01:21:48

commit 39678b767d1b1405ae46ce62f7f2f05f6b1dab7b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:31:21 1996 +0000

    added conflict checking
    
    CVS patchset: 1116
    CVS date: 1996/10/20 19:31:21

commit 15e8f808216f202fba690e2d83c22d171ef2b40a
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:31:12 1996 +0000

    added some comments, rpmdbFindByConflicts()
    
    CVS patchset: 1115
    CVS date: 1996/10/20 19:31:12

commit 96ece3484c4f934db1a666d46e2fc2b233d2af34
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:31:02 1996 +0000

    added conflicts index
    
    CVS patchset: 1114
    CVS date: 1996/10/20 19:31:02

commit 6f0f757490eb95bb002b76a30d0b83b815f3c12d
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:30:48 1996 +0000

    changed to version 2.2.8
    
    CVS patchset: 1113
    CVS date: 1996/10/20 19:30:48

commit bbf9b6561a82daff48a6ceb97abcf9e337a4f4d1
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:30:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1112
    CVS date: 1996/10/20 19:30:10

commit ff01a9b53b68769d68f32c8f3bdfe18904101aa2
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:29:57 1996 +0000

    return rc from doUninstall()
    
    CVS patchset: 1111
    CVS date: 1996/10/20 19:29:57

commit 6e5691a4ff571cb8b8bdd15ab2720917ea89ef15
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 19:29:34 1996 +0000

    print conflict problems differently then missing dependencies
    
    CVS patchset: 1110
    CVS date: 1996/10/20 19:29:34

commit 394f7abfbc0bf78fc335b32cfe85b7b155dac1f3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:25:19 1996 +0000

    added FTPPROXY, FTPPORT
    
    CVS patchset: 1109
    CVS date: 1996/10/20 18:25:19

commit 7e5bb4fd73bee22aeac1230a9497fb5cb7de2a98
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:24:50 1996 +0000

    added --nodeps, --showrc, info on ftp URL
    
    CVS patchset: 1108
    CVS date: 1996/10/20 18:24:50

commit 76f9720b8937679467aceacac4c0a5823a302543
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:24:42 1996 +0000

    added --ftpproxy, --ftpport
    
    CVS patchset: 1107
    CVS date: 1996/10/20 18:24:42

commit 37f861b22af3d8cda33acc95e43f4697e51951a9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:24:18 1996 +0000

    1) display more intelligent errors when ftp queries fail
    2
    
    CVS patchset: 1106
    CVS date: 1996/10/20 18:24:18

commit 1a30047fc520eb6cafb8ba5565107633f1aa80ec
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:24:06 1996 +0000

    added ftp proxy support
    
    CVS patchset: 1105
    CVS date: 1996/10/20 18:24:06

commit 03cd239ed5ad0ce9fde7bc1c08c2513486756bf5
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Oct 20 18:21:04 1996 +0000

    1) rewrite ftpCheckResult() to be more robust
    2) added FTPERR_FILE_NOT_FOUND as a separte error
    3) #1 fixed proxy support
    4) added port arg to ftpOpen(), which may be -1
    
    CVS patchset: 1104
    CVS date: 1996/10/20 18:21:04

commit b6112216646970af5003c4a3ae9ca50af0016377
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 20:51:57 1996 +0000

    use gettext() from libc if available
    
    CVS patchset: 1103
    CVS date: 1996/10/15 20:51:57

commit 57886e17413c07f21f6c66f9d400c12ca4396b39
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 19:16:26 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1102
    CVS date: 1996/10/15 19:16:26

commit 483c216793728922cf6e2e1f0986eb997d756d27
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 19:08:14 1996 +0000

    1) we must open RPM database for -Vp if dependencies need to be verified
    2) if the database isn't opened during a verify, it needs to be NULL
    
    CVS patchset: 1101
    CVS date: 1996/10/15 19:08:14

commit 8dd60ac9159dd6c2143762b2f7615b8d5042f1b7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 15:04:09 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1100
    CVS date: 1996/10/15 15:04:09

commit 224275ea75d813e026f6fa614589ad44d0473dff
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 15:03:19 1996 +0000

    don't assume write(fd, buf, 0) always returns w/o error
    
    CVS patchset: 1099
    CVS date: 1996/10/15 15:03:19

commit 4f6655c287738665b16dc5103a3e68c5939d900c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:15:52 1996 +0000

    Initial revision
    
    CVS patchset: 1098
    CVS date: 1996/10/15 03:15:52

commit 32095d5f4ab554b863cae3cbac77fb49e6e48a4f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:15:43 1996 +0000

    added tread.c
    
    CVS patchset: 1097
    CVS date: 1996/10/15 03:15:43

commit e1060256732e43a1c9f006f597fcd88b2e7f57b9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:15:30 1996 +0000

    use timedRead() instead of read()
    
    CVS patchset: 1096
    CVS date: 1996/10/15 03:15:30

commit 22f79c11fae52db656a3f17d818f899a0c9a8533
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:15:14 1996 +0000

    moved timedRead() to tread.c
    
    CVS patchset: 1095
    CVS date: 1996/10/15 03:15:14

commit 5d52779a8ea9a07d105910ec083cf61817f54f40
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:14:50 1996 +0000

    added url.o
    
    CVS patchset: 1094
    CVS date: 1996/10/15 03:14:50

commit dcd11545893df2996d1ac07e0e9a7e9bae5d520a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:14:50 1996 +0000

    added support for querying ftp:// packages
    
    CVS patchset: 1093
    CVS date: 1996/10/15 03:14:50

commit 46329edc45e899631b8e175279889f6ad09a74eb
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:14:50 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1092
    CVS date: 1996/10/15 03:14:50

commit 6b46a177650e6e4bc855846f6643ade3fb43a2c7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 03:14:35 1996 +0000

    pulled URL handling to url.c
    
    CVS patchset: 1091
    CVS date: 1996/10/15 03:14:35

commit 5f567af6b233bd758c5f21fc648d42a54868a76b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:23:03 1996 +0000

    use cpio specified by rpmrc
    
    CVS patchset: 1090
    CVS date: 1996/10/15 02:23:03

commit 278579be90e4e31d8bf89685d22015f8a24eca98
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:22:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1089
    CVS date: 1996/10/15 02:22:46

commit f26b120e8071913691cea8ba0ef8f1861b26da2f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:14:42 1996 +0000

    added ftpGetFileDesc(), ftpGetFileDone() and changed ftpGetFile()
    to use them
    
    CVS patchset: 1088
    CVS date: 1996/10/15 02:14:42

commit 36ddeb2f7979ddc3d7034ea9af6baf168d12e850
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:14:32 1996 +0000

    added ftpGetFileDesc(), ftpGetFileDone()
    
    CVS patchset: 1087
    CVS date: 1996/10/15 02:14:32

commit ac6ebc279d0ce7dd403d144ef573be447465bb41
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:14:02 1996 +0000

    1) added sun4m, sun4c arch's
    2) added OSF1 OS
    3) added cpiobin
    
    CVS patchset: 1086
    CVS date: 1996/10/15 02:14:02

commit 1fc9379c0d65f1afdaf9efc09d337841784fa9c4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:13:16 1996 +0000

    1) users vfork() when fork() isn't available [amigaos]
    2) looks for GNU cpio
    
    CVS patchset: 1085
    CVS date: 1996/10/15 02:13:16

commit 9764ac9511f96c57b46d224b8f4b30a8d8896a4a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:12:51 1996 +0000

    1) cleaned up conditional gettext support
    2) removed ; which broke install rule
    
    CVS patchset: 1084
    CVS date: 1996/10/15 02:12:51

commit 46b7c2ba7276c0e64d5592cb39b582b0c1b1dcb8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Oct 15 02:11:23 1996 +0000

    readHeader() should work when fd is a socket
    
    CVS patchset: 1083
    CVS date: 1996/10/15 02:11:23

commit dfeaca7b218452a0cbbb814ec9cb3185ef80b43b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 14 23:49:40 1996 +0000

    added RPMVAR_CPIOBIN
    
    CVS patchset: 1082
    CVS date: 1996/10/14 23:49:40

commit ce1c560e21f2d958858c19cbd6bd67a267316464
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Oct 14 23:49:27 1996 +0000

    use cpio specified in rpmrc
    
    CVS patchset: 1081
    CVS date: 1996/10/14 23:49:27

commit f30c0309712945258e6bcaa485cc6e3a8494e3b9
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 30 16:32:37 1996 +0000

    Initial revision
    
    CVS patchset: 1080
    CVS date: 1996/09/30 16:32:37

commit 27b5ea093993fae763431f460248201d4d7e1d0c
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:31:30 1996 +0000

    distclean now removes librpmrc
    
    CVS patchset: 1079
    CVS date: 1996/09/29 02:31:30

commit 5c38e242fc27dde2b500afa13ca76b9228e6ff03
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:30:43 1996 +0000

    Initial revision
    
    CVS patchset: 1078
    CVS date: 1996/09/29 02:30:43

commit 0a2e302f3a3c62f715a00f4bc860f1831439f4b1
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:30:27 1996 +0000

    generalized LIBOBJETS
    
    CVS patchset: 1077
    CVS date: 1996/09/29 02:30:27

commit 0c42e59adc37a253dabab0daf44b92e6fe2ce19c
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:30:09 1996 +0000

    used LIBMISC during linking
    
    CVS patchset: 1076
    CVS date: 1996/09/29 02:30:09

commit 5a968b6257383dbbe60713dafd3c9092a0c20afe
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:29:50 1996 +0000

    removed dependence on outside ftw.h
    
    CVS patchset: 1075
    CVS date: 1996/09/29 02:29:50

commit 7bc74bbc45ac06dcd136d27588232311c2d1a128
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:29:36 1996 +0000

    don't include <ftw.h>
    
    CVS patchset: 1074
    CVS date: 1996/09/29 02:29:36

commit e24a31f3b77bc026f7cddcb9cd61ef6dfe4085fa
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:29:25 1996 +0000

    distclean rule should depend on clean rule
    
    CVS patchset: 1073
    CVS date: 1996/09/29 02:29:25

commit b098e693b1783fe0578ce1ee8961251add0e33ee
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:29:09 1996 +0000

    added H_SIGNATURE wrapper
    
    CVS patchset: 1072
    CVS date: 1996/09/29 02:29:09

commit eceef605329acf056a4bbc77cf6087a18581a4e9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:28:42 1996 +0000

    don't include paths.h (which isn't used anyway)
    
    CVS patchset: 1071
    CVS date: 1996/09/29 02:28:42

commit 9a361debb5c9e8e169e4d96dde73468600ab411e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:28:29 1996 +0000

    use posix fcntl() locks rather then BSD flock()
    
    CVS patchset: 1070
    CVS date: 1996/09/29 02:28:29

commit ca102e04a7adddda814484fcc6bd7f6e41ab1263
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:28:08 1996 +0000

    removed use of various endian.h files, as they weren't needed anyway
    
    CVS patchset: 1069
    CVS date: 1996/09/29 02:28:08

commit 72cc4009e47594443b11082f731a2924fba2839e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:27:44 1996 +0000

    use autoconf's endian detection, not system include files
    
    CVS patchset: 1068
    CVS date: 1996/09/29 02:27:44

commit e044f14af3ee10208fb1348603812f8a67730978
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:27:20 1996 +0000

    made filecmp() and decideFileFate() protoyped static as well as
    defined static
    
    CVS patchset: 1067
    CVS date: 1996/09/29 02:27:20

commit 86bedc2f1d261cbe08d1ed4c3dbcc0e14e1f25af
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:27:07 1996 +0000

    lots of changes and cleanups for Solaris
    
    CVS patchset: 1066
    CVS date: 1996/09/29 02:27:07

commit bbc636dce728df79ecabc2a89afa8cedf5deac1b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:26:24 1996 +0000

    moved CPP, prefix, exec_prefix, libdir, LIBRPMRC_FILENAME defs here
    added selectable i18n support
    
    CVS patchset: 1065
    CVS date: 1996/09/29 02:26:24

commit 451be6d0358dda54900997fd4b554c1999cd84b9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:25:18 1996 +0000

    1) don't always build static version (Solaris is broken)
    2) remove old .tar.gz files for 'make archive'
    3) misc should be the first subdirectory built
    4) made i18n support optional
    
    CVS patchset: 1064
    CVS date: 1996/09/29 02:25:18

commit d3a6e501e88a49470d569c18dd104657ec905fd9
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:22:27 1996 +0000

    cleaned up for Solaris
    
    CVS patchset: 1063
    CVS date: 1996/09/29 02:22:27

commit 7d94c814431fc8f8798a747b6a16025333a35b65
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:22:07 1996 +0000

    removed definition of _() which gets set by configure
    
    CVS patchset: 1062
    CVS date: 1996/09/29 02:22:07

commit 267f88eb7b1842511810a8e6edbfb3cb88dbb406
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 29 02:20:51 1996 +0000

    Initial revision
    
    CVS patchset: 1061
    CVS date: 1996/09/29 02:20:51

commit 09d70b98bf9c45209cb188f94ad8f4a3950d2ea6
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 27 15:49:19 1996 +0000

    distclean should remove Makefile.inc
    
    CVS patchset: 1060
    CVS date: 1996/09/27 15:49:19

commit 4358dd0ab7e8465f7b694189c19fb2754797fe39
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:19:39 1996 +0000

    use Makefile.inc
    added distclean rule
    
    CVS patchset: 1059
    CVS date: 1996/09/25 19:19:39

commit aff4e65e7e026bdee26c899cd41617325ff904f4
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:18:16 1996 +0000

    use $(INSTALL) for installs
    use Makefile.inc
    added distclean rule
    
    CVS patchset: 1058
    CVS date: 1996/09/25 19:18:16

commit ca40e9d0a8be7552278774bc03000329d1724c66
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:17:15 1996 +0000

    use alloca(), not __allocaa()
    use NAMLEN (and define it if it doesn't exist)
    
    CVS patchset: 1057
    CVS date: 1996/09/25 19:17:15

commit d9aea8c24422bc7eb9001c7f3eda8162d25cc2ec
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:17:03 1996 +0000

    changed index() calls to strchr()
    
    CVS patchset: 1056
    CVS date: 1996/09/25 19:17:03

commit e35bd4f4cfb71e28008257d5b1625b3255f30350
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:16:51 1996 +0000

    1) use Makefile.inc
    2) added distclean rule
    
    CVS patchset: 1055
    CVS date: 1996/09/25 19:16:51

commit 88926b82b97dfec0d56ee5dd21d0c20ddb9b56bb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:16:34 1996 +0000

    conditionally include <asm/byteorder.h>
    
    CVS patchset: 1054
    CVS date: 1996/09/25 19:16:34

commit 4d8b1b4f2f1abf3d2b0e31f8aa8b0b27fd4ebd98
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:16:05 1996 +0000

    conditionally include <machine/types.h>
    
    CVS patchset: 1053
    CVS date: 1996/09/25 19:16:05

commit e79a00174fdcae4bc63b9c2a1df0b6932260e87d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:15:49 1996 +0000

    conditionally include <alloca.h>
    
    CVS patchset: 1052
    CVS date: 1996/09/25 19:15:49

commit 69f4363cf4eeee6b2021e62e2eeefe4fe612439d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:15:33 1996 +0000

    doesn't do anything, as we never used it
    
    CVS patchset: 1051
    CVS date: 1996/09/25 19:15:33

commit a341f3d4d00a30aafb37a113d6e976eb24b6358f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:15:21 1996 +0000

    typecase getpid() return to int
    
    CVS patchset: 1050
    CVS date: 1996/09/25 19:15:21

commit 14c5372f03317d05cfba8805b199c2c8ed6e617e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:14:52 1996 +0000

    conditionally include <endian.h>, <machine/endian.h>
    
    CVS patchset: 1049
    CVS date: 1996/09/25 19:14:52

commit 61ed6250e33d3ce26890af4ccce55e9924808a12
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:14:17 1996 +0000

    1) made some functions static
    2) changed enum fileStates DIR to XDIR to avoid conflicts with <dirent.h>
    3) conditionally include alloca.h
    
    CVS patchset: 1048
    CVS date: 1996/09/25 19:14:17

commit e54b510c86a62c3ee5306c02fc0594a1f1ad9f89
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:13:59 1996 +0000

    1) conditionally include asm/byteorder.h
    2) include netinet/in.h
    
    CVS patchset: 1047
    CVS date: 1996/09/25 19:13:59

commit f853210bea092fc703ea2b602abb100645f19562
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:13:05 1996 +0000

    conditionally includes alloca.h
    
    CVS patchset: 1046
    CVS date: 1996/09/25 19:13:05

commit da5e2434565d25f61710191f0816450827066901
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:12:53 1996 +0000

    added distclean rule
    uses Makefile.inc
    
    CVS patchset: 1045
    CVS date: 1996/09/25 19:12:53

commit 460c2ec61ccbe7b89b37b18b79889331b1719a01
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:12:17 1996 +0000

    added rs6000, hppa archs
    added m68k uname
    added AmigaOS, AIX, HP-UX
    
    CVS patchset: 1044
    CVS date: 1996/09/25 19:12:17

commit e21f534fd1297908718cdeb4594fed5a396f2932
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:11:30 1996 +0000

    typecast getpid() to (int)
    
    CVS patchset: 1043
    CVS date: 1996/09/25 19:11:30

commit bef32a6e22bf8c25026bd94bf6314319ae7722fd
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:11:14 1996 +0000

    small portability enhancements
    
    CVS patchset: 1042
    CVS date: 1996/09/25 19:11:14

commit cf30d4f8044f65d8bdf38bcc7069e975897d05c5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:10:44 1996 +0000

    added rules misc platforms
    
    CVS patchset: 1041
    CVS date: 1996/09/25 19:10:44

commit aefa633c1c901fc4af4509f497b399670da998eb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:09:34 1996 +0000

    1) moved MDEFINES stuff Makefile.inc
    2) added distclean, rcstag rules
    
    CVS patchset: 1040
    CVS date: 1996/09/25 19:09:34

commit 267ff1310c1279b1d926ef3885fc9cd72fe3c648
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:08:31 1996 +0000

    Initial revision
    
    CVS patchset: 1039
    CVS date: 1996/09/25 19:08:31

commit 82d807605d71f5b4977ef619b287bf92c22df595
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 19:08:18 1996 +0000

    added Jeff Johnson
    
    CVS patchset: 1038
    CVS date: 1996/09/25 19:08:18

commit 2431b082624beab81b763c07541807d569ea3090
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Sep 25 18:21:08 1996 +0000

    fixes some silly typos
    
    CVS patchset: 1037
    CVS date: 1996/09/25 18:21:08

commit 8f8e860eaf6658c1735535e475860c105b4e9d0c
Author: Unknown Author <devnull@localhost>
Date:   Mon Sep 23 13:40:09 1996 +0000

    bug in handling nosource/nopatch
    
    CVS patchset: 1036
    CVS date: 1996/09/23 13:40:09

commit 0c077a34c9da9696dd9444950f45bf40229cfab4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 20 14:41:25 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1035
    CVS date: 1996/09/20 14:41:25

commit 85ad3cfc53ec5dddca293b4145660b744adab992
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Sep 20 14:40:57 1996 +0000

    fixed problem in group assignments
    
    CVS patchset: 1034
    CVS date: 1996/09/20 14:40:57

commit bdbf4ad072483e0ddf5ec3bf6efd9d17dc9fb558
Author: Unknown Author <devnull@localhost>
Date:   Wed Sep 18 13:28:50 1996 +0000

    added message
    
    CVS patchset: 1033
    CVS date: 1996/09/18 13:28:50

commit 1bd2a89ad70d9d79fed81ed13c04835da588a483
Author: Unknown Author <devnull@localhost>
Date:   Tue Sep 17 19:17:02 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1032
    CVS date: 1996/09/17 19:17:02

commit d0f084b97fe598c1cfc936577b570fcb327d142f
Author: Unknown Author <devnull@localhost>
Date:   Tue Sep 17 19:14:32 1996 +0000

    close fp always
    
    CVS patchset: 1031
    CVS date: 1996/09/17 19:14:32

commit 3337feba2f121c753855070ff190263a9349197e
Author: Unknown Author <devnull@localhost>
Date:   Tue Sep 17 19:14:00 1996 +0000

    use TMPPATH var
    
    CVS patchset: 1030
    CVS date: 1996/09/17 19:14:00

commit 6cfe6184c42219bff3d60862dea7c3e41d50036b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:41:52 1996 +0000

    document --rebuilddb supports --dbpath
    
    CVS patchset: 1029
    CVS date: 1996/09/16 22:41:52

commit 3c1ab2d3401fb9ca22426f2e79d2cf7f1d4b81d4
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:41:25 1996 +0000

    --rebuilddb supports --root, say so in --help
    
    CVS patchset: 1028
    CVS date: 1996/09/16 22:41:25

commit 7760d03320966e3f564ba827760c0afa55dabe19
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:36:57 1996 +0000

    updated man page for --rebuilddb
    
    CVS patchset: 1027
    CVS date: 1996/09/16 22:36:57

commit 2c459a7d9dfc892712f512eb59fb13dd486fff91
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:33:38 1996 +0000

    changed version to 2.2.6
    
    CVS patchset: 1026
    CVS date: 1996/09/16 22:33:38

commit c928b2798b5f45e685cba574594326c9d7705e35
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:33:29 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1025
    CVS date: 1996/09/16 22:33:29

commit 03361daed985303041832789a9aa7fa783e430a8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:31:05 1996 +0000

    added --rebuild
    
    CVS patchset: 1024
    CVS date: 1996/09/16 22:31:05

commit 991a3cf6ce73ebce8d9a29dad8da3daf8350eb9d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:29:46 1996 +0000

    moved rpmdbRemove(), rpmdbAdd(), rpmdbUpdateRecord() to rpmdb.h
    added rpmdbRebuild()
    
    CVS patchset: 1023
    CVS date: 1996/09/16 22:29:46

commit 79048cda3af6bfdbc3b59dce1b28b4d0811aff5b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:29:17 1996 +0000

    1) changed dbopen(), renamed it to openDatabase()
    2) added rpmdbMoveDatabase(), rpmdbRemoveDatabase()
    
    CVS patchset: 1022
    CVS date: 1996/09/16 22:29:17

commit e779ebb2172165a45bf689d1b534347ee54c2e12
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:28:56 1996 +0000

    include "rpmdb.h"
    
    CVS patchset: 1021
    CVS date: 1996/09/16 22:28:56

commit da0ef2e35e5d802123bac6ce52d639a8db665d59
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:28:47 1996 +0000

    Initial revision
    
    CVS patchset: 1020
    CVS date: 1996/09/16 22:28:47

commit fef4104e8ae0ac195737659dd2e20998e22917c4
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Sep 16 22:28:39 1996 +0000

    added rebuilddb.c
    
    CVS patchset: 1019
    CVS date: 1996/09/16 22:28:39

commit 885ac5d6bdc0e81d21e8a438dc6c3515e7f9833e
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Sep 5 19:58:41 1996 +0000

    fixed --scripts output
    
    CVS patchset: 1018
    CVS date: 1996/09/05 19:58:41

commit 10a25c69b88bdd70ae56b3cfc065fd1982ec4651
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Sep 5 19:58:04 1996 +0000

    1) fileCount of -1 makes installArchive() install all files (for installing
       source packages)
    2) fixed silly bug in copyFile()
    
    CVS patchset: 1017
    CVS date: 1996/09/05 19:58:04

commit c60309f169fc6c0213ba7fe7236b0af09d498975
Author: Unknown Author <devnull@localhost>
Date:   Mon Sep 2 01:58:58 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1016
    CVS date: 1996/09/02 01:58:58

commit c3b58424648442e4e4ca29631f00c50811f464a2
Author: Unknown Author <devnull@localhost>
Date:   Mon Sep 2 01:58:13 1996 +0000

    --test for building
    
    CVS patchset: 1015
    CVS date: 1996/09/02 01:58:13

commit d4f868b78020287b3b1dfb3fe82808d97c6ea63b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 1 16:56:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 1014
    CVS date: 1996/09/01 16:56:10

commit 99f690279a31ad5b529cbe73c90df457094cd129
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 1 16:54:43 1996 +0000

    added :fflags format
    
    CVS patchset: 1013
    CVS date: 1996/09/01 16:54:43

commit ac5a232084020d6551dbc626d25e67c12cb09cc4
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Sep 1 16:54:16 1996 +0000

    added --qf as an alias to --queryformat, but didn't document it as it
    is easily confused with "-qf"
    
    CVS patchset: 1012
    CVS date: 1996/09/01 16:54:16

commit e28490df04968667ae0e3f55a70f6e8e7b67b204
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:37:25 1996 +0000

    add RPMTAG_RPMVERSION to headers
    
    CVS patchset: 1011
    CVS date: 1996/08/31 18:37:25

commit d5378e6c93c4d2d6d5e8d578170d7d05bc2e4ced
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:36:53 1996 +0000

    changed MD5 sig type because of big-endian problems
    
    CVS patchset: 1010
    CVS date: 1996/08/31 18:36:53

commit b22c838a04ab744bf925df1e39ba92b70b0b92e4
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:36:28 1996 +0000

    supports broken md5's that rpm used to generate on the SPARC
    
    CVS patchset: 1009
    CVS date: 1996/08/31 18:36:28

commit cea3897179b1bea7b95ce0738b8d25063f9ad726
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:36:18 1996 +0000

    added RPMTAG_RPMVERSION
    
    CVS patchset: 1008
    CVS date: 1996/08/31 18:36:18

commit 886d64e0e0c4ada69e68c5a6207caf03e8e06d44
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:35:54 1996 +0000

    works with old, broken MD5 sums RPM used to generate on big endian
    machines
    
    CVS patchset: 1007
    CVS date: 1996/08/31 18:35:54

commit 3224eb87e60ae47a8ff6800074056a3d199ce453
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:35:40 1996 +0000

    support old, broken md5sum on SPARC's
    
    CVS patchset: 1006
    CVS date: 1996/08/31 18:35:40

commit f8aac5ea33be8aaee4800a725e7352a9655f3c4f
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:35:26 1996 +0000

    getEntry() allows NULL pointers
    
    CVS patchset: 1005
    CVS date: 1996/08/31 18:35:26

commit 19d4dc1a8fe19c9d9fd0cf95e3441c5bdbec8e5f
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:34:51 1996 +0000

    supports broken md5sum's that used to be generated on SPARCs
    
    CVS patchset: 1004
    CVS date: 1996/08/31 18:34:51

commit f1457cd67d2d041cc47a83975b9b17e196d9a6c4
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:34:28 1996 +0000

    supports SIGTAG_LITTLEENDIANMD5
    
    CVS patchset: 1003
    CVS date: 1996/08/31 18:34:28

commit a56db46b5a6982f23dbc3d3fadebb38cfd08ac93
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 18:34:16 1996 +0000

    pass the VERSION define to sub-makefiles
    
    CVS patchset: 1002
    CVS date: 1996/08/31 18:34:16

commit 630ac54a73b3ad7692bfdaad10f418b6f5ff5d86
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 14:59:27 1996 +0000

    fixed error message
    
    CVS patchset: 1001
    CVS date: 1996/08/31 14:59:27

commit b72002c101140c2a72d031adc62f417286ba5dcf
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Aug 31 14:58:53 1996 +0000

    pkReadHdr() shouldn't fail on minor number differences
    
    CVS patchset: 1000
    CVS date: 1996/08/31 14:58:53

commit 5153d3b436fb4a0fa8dbf758e126f64e04f59188
Author: Unknown Author <devnull@localhost>
Date:   Fri Aug 30 19:58:35 1996 +0000

    added include of <netinet/ip.h>
    
    CVS patchset: 999
    CVS date: 1996/08/30 19:58:35

commit 6aad60201615b3802df88ea4e434f0aaa3449540
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Aug 30 19:17:33 1996 +0000

    1) plugged some memory leaks
    2) call _exit(), not exit() from subprocess to prevent stdio buffers from
       being flushed twice
    
    CVS patchset: 998
    CVS date: 1996/08/30 19:17:33

commit b9f14e914107dc1db2be8a77da646d3e1b2b6669
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Aug 30 16:54:17 1996 +0000

    removed rules that were hurting my head
    
    CVS patchset: 997
    CVS date: 1996/08/30 16:54:17

commit 65dc69e804a449700172272f4636bd4659c99f48
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 29 18:33:17 1996 +0000

    *** empty log message ***
    
    CVS patchset: 996
    CVS date: 1996/08/29 18:33:17

commit b669dad0f5175b1983cc1991dedca6a7a1182711
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 29 18:32:01 1996 +0000

    added AutoReqProv: logic
    
    CVS patchset: 995
    CVS date: 1996/08/29 18:32:01

commit 2576e61c082e5f5f93b6401987f9d8cfff62bba9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 29 18:25:35 1996 +0000

    fixed AUTOREQDEP -> AUTOREQPROV
    
    CVS patchset: 994
    CVS date: 1996/08/29 18:25:35

commit 008093a2bd7c9a1df266b18ed8287edf24d35668
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Aug 29 18:01:00 1996 +0000

    added RPMTAG_AUTOREQDEP
    
    CVS patchset: 993
    CVS date: 1996/08/29 18:01:00

commit 047724fccf3f42c5607c4d4a701fa7c57ecd0164
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:18:43 1996 +0000

    changed version to 2.2.5
    
    CVS patchset: 992
    CVS date: 1996/08/29 04:18:43

commit 1341d4d5ec83c2cc4094f545e2f092331078e3f1
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:16:07 1996 +0000

    1) take advantage of ARCHIVESIZE (if present) when displaying hash marks
    2) support notify functions and labelFormat for source packages >= V2
    3) if rename() fails to move a file from SOURCE to SPECS try copying it
    
    CVS patchset: 991
    CVS date: 1996/08/29 04:16:07

commit 148c67febc0887a9cac23b40ca128e88c5111e13
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:15:54 1996 +0000

    pkgReadHeader() optionally returns major/minor version of package
    
    CVS patchset: 990
    CVS date: 1996/08/29 04:15:54

commit 4fcb77bcbd10fd0c881b4c8446958220ec644bd2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:15:25 1996 +0000

    1) pkgReadHeader() optionally returns major/minor version of package
    2) rpmInstallSourcePackage() takes notify function, label format
    
    CVS patchset: 989
    CVS date: 1996/08/29 04:15:25

commit ec675e5097de65eddce9221271f0838e952bc6a5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:14:54 1996 +0000

    1) pass printFormat and notify function to rpmInstallSourcePackage()
    2) ignore major/minor number returned by pkgReadHeader()
    
    CVS patchset: 988
    CVS date: 1996/08/29 04:14:54

commit 0e2a5e3c5640dc41d5a55d436921430b97a0dbf3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:14:38 1996 +0000

    ignore major, minor from pkgReadHeader()
    
    CVS patchset: 987
    CVS date: 1996/08/29 04:14:38

commit 2de1986a1277fe31a2a36806881476a7bbf376d2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 29 04:14:29 1996 +0000

    *** empty log message ***
    
    CVS patchset: 986
    CVS date: 1996/08/29 04:14:29

commit d7d6fc4e4bd51a9b7f68cbaa29d9814f7c4b635f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Aug 23 16:21:56 1996 +0000

    added paths
    
    CVS patchset: 985
    CVS date: 1996/08/23 16:21:56

commit 59eb518440c5bf88b73c34324ffaf9814371f657
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 22 21:05:48 1996 +0000

    *** empty log message ***
    
    CVS patchset: 984
    CVS date: 1996/08/22 21:05:48

commit ded3a0f8442be3b97eae95d23da77f6aaa96b6d9
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 22 21:04:33 1996 +0000

    only rm -rf docdir if we've got a %doc
    
    CVS patchset: 983
    CVS date: 1996/08/22 21:04:33

commit 10e0cf40aa3ec9b7ee3f0e94eaf117784635db20
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 22 20:25:46 1996 +0000

    only allow readConfigFiles() once
    
    CVS patchset: 982
    CVS date: 1996/08/22 20:25:46

commit 292f0fe1247c1e1ac34f767e2e7be5d467f60e6e
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 20 20:57:33 1996 +0000

    *** empty log message ***
    
    CVS patchset: 981
    CVS date: 1996/08/20 20:57:33

commit 9b9817967e455c8d145fcb7d9bd91571ea242be5
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:37:08 1996 +0000

    *** empty log message ***
    
    CVS patchset: 980
    CVS date: 1996/08/20 16:37:08

commit 108d637d220d15a874849df25b3fe9fa4a34f983
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:29:19 1996 +0000

    allows <version>-<release> in dependency version strings
    
    CVS patchset: 979
    CVS date: 1996/08/20 16:29:19

commit 836b47a1a3d3fab2fd6deb6923a1bc08605e8919
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:29:10 1996 +0000

    added RPMVAR_TMPPATH
    
    CVS patchset: 978
    CVS date: 1996/08/20 16:29:10

commit dce342d096346f870380eea8d40edef2bde4f5e4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:28:51 1996 +0000

    1) addded RPMVAR_TMPPATH
    2) use LIBRPMRC_FILENAME for base rc file name
    
    CVS patchset: 977
    CVS date: 1996/08/20 16:28:51

commit 4ed78096b767334b11d28f85de8beb4b32bc271d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:28:40 1996 +0000

    uses RPMVAR_TMPPATH
    
    CVS patchset: 976
    CVS date: 1996/08/20 16:28:40

commit 226c40250a8095f152db5145a05f029b69b5c195
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:28:30 1996 +0000

    don't use a default path for the database
    
    CVS patchset: 975
    CVS date: 1996/08/20 16:28:30

commit 1a71b56a0dee023b5a097a287eed28bdd09b88e3
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:25:02 1996 +0000

    1) added LIBRPMRC_FILENAME
    2) changed usr.lib.rpmrc to lib-rpmrc
    3) installs find-provides script
    
    CVS patchset: 974
    CVS date: 1996/08/20 16:25:02

commit 87b891ba3dfc83a211aa338f22cf19d103a3232c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 16:24:37 1996 +0000

    1) finds varprefix, tmppath
    2) filters lib-rpmrc
    
    CVS patchset: 973
    CVS date: 1996/08/20 16:24:37

commit f1180d90478f92ed729abdf9fbfb2bfdc724f642
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Aug 20 15:44:08 1996 +0000

    *** empty log message ***
    
    CVS patchset: 972
    CVS date: 1996/08/20 15:44:08

commit 52d79674c0b6fc263635c22706da66f9c3a82b87
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 20 14:30:32 1996 +0000

    *** empty log message ***
    
    CVS patchset: 971
    CVS date: 1996/08/20 14:30:32

commit f574c657ece3e1794a65c8f7bc8028ee1a402f10
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 20 14:29:41 1996 +0000

    complain if spec file is not a regular file
    
    CVS patchset: 970
    CVS date: 1996/08/20 14:29:41

commit 9c30ac18f9b9766df71f4c6d64b6b9e4a28c1325
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 20 14:19:10 1996 +0000

    disallow - chars in version and release
    
    CVS patchset: 969
    CVS date: 1996/08/20 14:19:10

commit d25b955f3b29dd9ced56f68d9d2a50ea1c2ef6f0
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:47:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 968
    CVS date: 1996/08/19 17:47:46

commit 7f47bebad797da7ce7a8f6f164fdcfa44e056a20
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:42:39 1996 +0000

    *** empty log message ***
    
    CVS patchset: 967
    CVS date: 1996/08/19 17:42:39

commit 27d4e890b0799f0cfaad36e4405f9290eba231bc
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:41:18 1996 +0000

    added Kristof Depraetere
    
    CVS patchset: 966
    CVS date: 1996/08/19 17:41:18

commit cedc509fe594a224b94bcc47dfc5818b668ae0c2
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:40:18 1996 +0000

    fixed make archive rule
    
    CVS patchset: 965
    CVS date: 1996/08/19 17:40:18

commit e5349bdf75186ea8baa9b486b663bd356ab87a13
Author: Unknown Author <devnull@localhost>
Date:   Mon Aug 19 17:23:26 1996 +0000

    use -lintl conditionally
    
    CVS patchset: 964
    CVS date: 1996/08/19 17:23:26

commit 50d4e96930e1026f6258a4b4e9dfd6b12b868d25
Author: Unknown Author <devnull@localhost>
Date:   Mon Aug 19 17:23:07 1996 +0000

    fallback to just libc of libintl dne
    
    CVS patchset: 963
    CVS date: 1996/08/19 17:23:07

commit 3fea92f2129355196f7288eb4db69afcf9639036
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:15:47 1996 +0000

    Initial revision
    
    CVS patchset: 962
    CVS date: 1996/08/19 17:15:47

commit 22df06ef4cb9077ccd3e0afbbe421ec576c95a81
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:08:21 1996 +0000

    Initial revision
    
    CVS patchset: 961
    CVS date: 1996/08/19 17:08:21

commit 22bf5cae6d3165e0601c42ffb66f5cad41c8e843
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:07:07 1996 +0000

    changed to use autoconf
    
    CVS patchset: 960
    CVS date: 1996/08/19 17:07:07

commit 623fd34b9706ec8935393a5d71b75584211616a3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:03:11 1996 +0000

    changed to work w/ autoconf
    
    CVS patchset: 959
    CVS date: 1996/08/19 17:03:11

commit f28ea61ee42a4561f08c4c8ea62d3bda3558cef2
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Aug 19 17:02:29 1996 +0000

    converted to use autoconf
    
    CVS patchset: 958
    CVS date: 1996/08/19 17:02:29

commit 6cfcf867762810fd2703efe9f209134779add9d6
Author: Unknown Author <devnull@localhost>
Date:   Sun Aug 18 21:42:58 1996 +0000

    spelling
    
    CVS patchset: 957
    CVS date: 1996/08/18 21:42:58

commit 04d5d9d6a603baaafb7c1dcf9650c95925d55672
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 15 13:46:51 1996 +0000

    fix return code handling
    
    CVS patchset: 956
    CVS date: 1996/08/15 13:46:51

commit 315e01fd580192ff79ad8453e3432a1536825941
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 15 13:46:20 1996 +0000

    tiny bug
    
    CVS patchset: 955
    CVS date: 1996/08/15 13:46:20

commit e6ad3d0cf9e51002acef1bf137c67e13a526fb60
Author: Unknown Author <devnull@localhost>
Date:   Wed Aug 14 21:02:54 1996 +0000

    cleanup - make nice little function that runs programs and collects output
    use and external find-provides script
    
    CVS patchset: 954
    CVS date: 1996/08/14 21:02:54

commit 9de35134298d3534ceb8e4a5982366d3d061fcba
Author: Unknown Author <devnull@localhost>
Date:   Wed Aug 14 21:02:31 1996 +0000

    Initial revision
    
    CVS patchset: 953
    CVS date: 1996/08/14 21:02:31

commit 9962520a26f21fc8d3db44b0a28c12e593070e0b
Author: Unknown Author <devnull@localhost>
Date:   Wed Aug 14 19:56:41 1996 +0000

    add find-provides
    
    CVS patchset: 952
    CVS date: 1996/08/14 19:56:41

commit bc1e6bd997a4b870dd8c6f12bf7b75eec8dfdb93
Author: Unknown Author <devnull@localhost>
Date:   Wed Aug 14 16:51:39 1996 +0000

    *** empty log message ***
    
    CVS patchset: 951
    CVS date: 1996/08/14 16:51:39

commit 613fbe8a103f30f2f6228f41c9a6fd0fb18abe5d
Author: Unknown Author <devnull@localhost>
Date:   Wed Aug 14 16:50:37 1996 +0000

    allow -R to %patch
    echo the patch number as it is patched
    
    CVS patchset: 950
    CVS date: 1996/08/14 16:50:37

commit dd4593d79cf005009e238cad47b6a83693f84cd1
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 8 17:34:14 1996 +0000

    *** empty log message ***
    
    CVS patchset: 949
    CVS date: 1996/08/08 17:34:14

commit fd31424fd3bd5abff9d79b5f9a3638957a5ad6a1
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Aug 8 17:34:05 1996 +0000

    fixed sscanf() to use proper types
    
    CVS patchset: 948
    CVS date: 1996/08/08 17:34:05

commit 6768a41feb80cef1e1798775eb463abb7410fff0
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 8 16:46:50 1996 +0000

    *** empty log message ***
    
    CVS patchset: 947
    CVS date: 1996/08/08 16:46:50

commit c3a1335f50088c94fa999b40afc1cfbffd2c03af
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 8 16:46:15 1996 +0000

    null terminate the result of readlink()
    
    CVS patchset: 946
    CVS date: 1996/08/08 16:46:15

commit cbdf4b5bba15e2e32ffd6941077e7a12818ccc92
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 8 13:25:57 1996 +0000

    *** empty log message ***
    
    CVS patchset: 945
    CVS date: 1996/08/08 13:25:57

commit 845866dcc9b48dd0f7046a15126c96ec972a5e26
Author: Unknown Author <devnull@localhost>
Date:   Thu Aug 8 13:25:27 1996 +0000

    strip leading directories from ldd output
    
    CVS patchset: 944
    CVS date: 1996/08/08 13:25:27

commit 4e972f25e1441d4708b8393b5b35d88dc79b711f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 7 15:47:04 1996 +0000

    added rpmdepFreeConflicts() to fix bad core dump
    
    CVS patchset: 943
    CVS date: 1996/08/07 15:47:04

commit ef630d166ad469918078b9f44ef19f90b897ab47
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 7 15:46:57 1996 +0000

    added rpmdepFreeConflicts()
    
    CVS patchset: 942
    CVS date: 1996/08/07 15:46:57

commit a91d2e03d41eea23f693ca00b8d07caa90176a66
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 7 15:46:22 1996 +0000

    added support for rpmdepFreeConflicts()
    
    CVS patchset: 941
    CVS date: 1996/08/07 15:46:22

commit d5d07197fc0c6a3d913c5c75424e10b049f3820c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Aug 7 15:45:38 1996 +0000

    fixed --group query specifier
    
    CVS patchset: 940
    CVS date: 1996/08/07 15:45:38

commit 95b076fee2c0256ca3e3356430aa4268a6945c5a
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 6 20:05:30 1996 +0000

    changed version to 2.2.3
    
    CVS patchset: 939
    CVS date: 1996/08/06 20:05:30

commit 82692083ddfc29438c4282b2dbf0e57418b91468
Author: Unknown Author <devnull@localhost>
Date:   Tue Aug 6 20:05:17 1996 +0000

    *** empty log message ***
    
    CVS patchset: 938
    CVS date: 1996/08/06 20:05:17

commit 9ba82b190e0ab199e2112463de11c1b8f60d0dff
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 31 18:45:22 1996 +0000

    config file md5 sums were improperly calculated for root and prefixed
    installs
    
    CVS patchset: 937
    CVS date: 1996/07/31 18:45:22

commit 712b32851038577ec9e9c2b0a8eb97adba9971ef
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 29 19:29:47 1996 +0000

    changed warning text
    
    CVS patchset: 936
    CVS date: 1996/07/29 19:29:47

commit 79e061d575bcd8fe07a92b921ea6e329ead9bc89
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 29 19:27:50 1996 +0000

    changed warning for saved files to RPMMESS_BACKUP
    
    CVS patchset: 935
    CVS date: 1996/07/29 19:27:50

commit 57bef04d27950e9bb1fd093fdce4d28664d7fa08
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 29 19:20:22 1996 +0000

    removed verbose messages
    
    CVS patchset: 934
    CVS date: 1996/07/29 19:20:22

commit c92b4f273c30a9c055254b32bba78461d0b987d4
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 28 22:58:02 1996 +0000

    RPMVAR_FTPPROXY was using same number as PACKAGER
    
    CVS patchset: 933
    CVS date: 1996/07/28 22:58:02

commit 2e698f176f89bb9bf804755393c483223b14016b
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 27 23:35:07 1996 +0000

    check new file list for config files as well as the old ones
    
    CVS patchset: 932
    CVS date: 1996/07/27 23:35:07

commit e92f4e985adbe37d887ef960fbf85bc1140a8a06
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 26 20:11:08 1996 +0000

    fixed another memory leak
    
    CVS patchset: 931
    CVS date: 1996/07/26 20:11:08

commit bc3582d686afacbb33369a166186e2f46f5c12b6
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 26 19:52:05 1996 +0000

    fixed bigger memory leak
    
    CVS patchset: 930
    CVS date: 1996/07/26 19:52:05

commit 5b70645c5254f5e6594124f7ec6a782c9253ab4f
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 26 19:24:02 1996 +0000

    fixed minor leak
    
    CVS patchset: 929
    CVS date: 1996/07/26 19:24:02

commit 3a6dab5bb4c59997690010e31f4a294b6a3df589
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 25 16:39:01 1996 +0000

    cpio filelists go in $ROOT/var/tmp
    
    CVS patchset: 928
    CVS date: 1996/07/25 16:39:01

commit 7d830c1c487a386c39d66dd042af47e7f612cb42
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 23 20:59:06 1996 +0000

    *** empty log message ***
    
    CVS patchset: 927
    CVS date: 1996/07/23 20:59:06

commit 5c0e47c6bd20c6dd16cefb2f05b56a856dbc1d3d
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 23 20:58:09 1996 +0000

    do some sanity checking on the file list
    - only one file listed per line
    - barf on any files that don't start with "/"
    
    CVS patchset: 926
    CVS date: 1996/07/23 20:58:09

commit 4441898dd062d74e15e51c1314477fbf30ff6196
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 23 15:47:06 1996 +0000

    removed unused variable
    
    CVS patchset: 925
    CVS date: 1996/07/23 15:47:06

commit d5d10546904c3f9cae3e93f08af6dd494dd08d1c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 14:54:46 1996 +0000

    change sleep(1) to sleep(5) so yo can read the spec file warnings
    
    CVS patchset: 924
    CVS date: 1996/07/23 14:54:46

commit 9509caccf3eeab56e22aadedd9f66d027e9c7bef
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 14:11:28 1996 +0000

    *** empty log message ***
    
    CVS patchset: 923
    CVS date: 1996/07/23 14:11:28

commit 12c4bc76c697af65902c4e7b2758e60497398545
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 14:11:02 1996 +0000

    catch duplicate files
    
    CVS patchset: 922
    CVS date: 1996/07/23 14:11:02

commit beb6d2d6cc708995cfa6c4b7d40f1084373a9371
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 03:40:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 921
    CVS date: 1996/07/23 03:40:10

commit 7e46ec48ecbff19e794770fb200d6c2c647f51eb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 03:33:20 1996 +0000

    parse %prep even for list check
    
    CVS patchset: 920
    CVS date: 1996/07/23 03:33:20

commit ff49802b59137de912bdbd2fa551bf24c0732952
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 03:30:44 1996 +0000

    implement -bl
    
    CVS patchset: 919
    CVS date: 1996/07/23 03:30:44

commit 215309b156ab417d043791ee6a691e420c43f3a1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 02:58:13 1996 +0000

    *** empty log message ***
    
    CVS patchset: 918
    CVS date: 1996/07/23 02:58:13

commit f70335292bb2f59d290cd75be7595de67ff0f6a3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 02:57:32 1996 +0000

    --timecheck
    
    CVS patchset: 917
    CVS date: 1996/07/23 02:57:32

commit 113be81304b612e23b4ac923986a60d4fcf3bd10
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 02:51:48 1996 +0000

    implement --timecheck (used to be --time-check)
    
    CVS patchset: 916
    CVS date: 1996/07/23 02:51:48

commit 5af7615ceb20dd62ee9a7534539355a79d7d9dc4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 02:42:20 1996 +0000

    do some checking on the timecheck value
    
    CVS patchset: 915
    CVS date: 1996/07/23 02:42:20

commit 5dd3a986d52556a7788c8845be101218d37a04be
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 23 02:41:54 1996 +0000

    implement timecheck
    
    CVS patchset: 914
    CVS date: 1996/07/23 02:41:54

commit 74853f39dd16083d87d85cd00d7f7fa737fd9062
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 22 18:32:03 1996 +0000

    move ensureOlder() -> rpmEnsureOlder(), and make it public
    
    CVS patchset: 913
    CVS date: 1996/07/22 18:32:03

commit 8a8cb4599acff56ad91a679a388e5d865faec38d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jul 22 14:49:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 912
    CVS date: 1996/07/22 14:49:46

commit 5badf2b83e82097bc81531f59a9b89d38c9cefea
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 20 23:21:18 1996 +0000

    added dependency verification
    
    CVS patchset: 911
    CVS date: 1996/07/20 23:21:18

commit bf60ec455312e67724a00c9f1a00e5088c04c963
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 20 23:20:56 1996 +0000

    made printDepFlags() externally visible
    
    CVS patchset: 910
    CVS date: 1996/07/20 23:20:56

commit 314715470b0c5bd62e9bdf3cc0970d0007f7bcd5
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 20 23:20:45 1996 +0000

    added --nofiles
    added --nodpes to useage messages
    
    CVS patchset: 909
    CVS date: 1996/07/20 23:20:45

commit 7c82b89164ee1bd7836568c0cb6275e179e62c1d
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 20 23:16:56 1996 +0000

    added info on dependency verification
    
    CVS patchset: 908
    CVS date: 1996/07/20 23:16:56

commit 7f7a8ba10bb2a9aa024db5a52b511bf4328ddb28
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 23:02:53 1996 +0000

    *** empty log message ***
    
    CVS patchset: 907
    CVS date: 1996/07/20 23:02:53

commit 31ae65343a62d3c0d9eb71890b4d9f30445ea737
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 23:00:33 1996 +0000

    if objdump gets us "_end" then there is no embedded soname,
    so we just provide the name of the file.
    do not pass non-regular files to ldd.
    don't pass leading "/" to ldd
    
    CVS patchset: 906
    CVS date: 1996/07/20 23:00:33

commit 0e47282edfe0f025ddd73ea7b6f23a4020445f0d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 22:30:47 1996 +0000

    *** empty log message ***
    
    CVS patchset: 905
    CVS date: 1996/07/20 22:30:47

commit 8dadbc32bc4cf2eb8aaf3e2074dd9e02e635ed95
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 22:19:18 1996 +0000

    skip blank lines and "_end" from objdump
    skip lead "/" in filenames passed to ldd
    
    CVS patchset: 904
    CVS date: 1996/07/20 22:19:18

commit 970890e71e77a54f5b143b616cb7423b88fd03e5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 21:10:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 903
    CVS date: 1996/07/20 21:10:46

commit 46018c47287035bf2b4252bd14b9d32b0890f5e1
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 20 21:09:48 1996 +0000

    added info on the '=' operator
    
    CVS patchset: 902
    CVS date: 1996/07/20 21:09:48

commit 28f21c3c18e201d47bbf60e9de9cc26da018cef7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 21:09:00 1996 +0000

    fix exclusiveos to match on os, not arch.  duh.
    
    CVS patchset: 901
    CVS date: 1996/07/20 21:09:00

commit dd51d07c5031eca6be52175a9955689f72149e05
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 20:46:25 1996 +0000

    *** empty log message ***
    
    CVS patchset: 900
    CVS date: 1996/07/20 20:46:25

commit 0350cc811c296bcf4fb988743837b7bd12e53ab5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jul 20 20:45:43 1996 +0000

    match shared libs on ".so"
    
    CVS patchset: 899
    CVS date: 1996/07/20 20:45:43

commit 5d1c48a5a09f4b33b496d8d4fb0f3386ab6df998
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 19 22:32:36 1996 +0000

    fixed hashing for multiple packages
    
    CVS patchset: 898
    CVS date: 1996/07/19 22:32:36

commit d597761fe0c1d56c47a7ee73e9c6e730baae4704
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 19 22:31:37 1996 +0000

    install v2 and v1 packages despite OS field, don't refuse to install all
    of them
    
    CVS patchset: 897
    CVS date: 1996/07/19 22:31:37

commit d59b565f72f0538133ec1804796a74ce0577689a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 19 22:26:00 1996 +0000

    don't core dump if we can't suggested a package that satisfies a dependency
    
    CVS patchset: 896
    CVS date: 1996/07/19 22:26:00

commit 45fcaa398e6f0c4add353954de49d8001be65180
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jul 18 22:32:31 1996 +0000

    newtree target makes docs dir
    
    CVS patchset: 895
    CVS date: 1996/07/18 22:32:31

commit e72b8606d3db151dad4ce76e5255b4702fcba416
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Jul 18 22:17:12 1996 +0000

    2.2.2
    
    CVS patchset: 894
    CVS date: 1996/07/18 22:17:12

commit 4418c3bb4779bf59a98963d89c43f484b79f8421
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 18 21:42:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 893
    CVS date: 1996/07/18 21:42:59

commit 57907afa36a6abd22ca371866dd36ae68455b647
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 18 21:42:12 1996 +0000

    v2 packages included improper OS tags, so ignore them
    
    CVS patchset: 892
    CVS date: 1996/07/18 21:42:12

commit 4977f77e21abdc778f1d0f6a75878c6fe7f067b8
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 18 16:10:15 1996 +0000

    *** empty log message ***
    
    CVS patchset: 891
    CVS date: 1996/07/18 16:10:15

commit 7c40614eb71b0803721086f16fba16b0906afb6c
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 18 16:09:25 1996 +0000

    fix nasty bug where pointers into the header were getting stale
    /.
    
    CVS patchset: 890
    CVS date: 1996/07/18 16:09:25

commit 575b2504717ae0841a6aa2615588479da264075d
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 18 16:07:33 1996 +0000

    print prefix in error message
    
    CVS patchset: 889
    CVS date: 1996/07/18 16:07:33

commit f00ea40a2c01a0fd0a25578a47a9b04dc9bf7e46
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 18 03:01:16 1996 +0000

    *** empty log message ***
    
    CVS patchset: 888
    CVS date: 1996/07/18 03:01:16

commit 4df21a982d2cf51b60f3ed0ad19ecdfb276b20c3
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 18 03:00:16 1996 +0000

    fix stupid free().
    
    CVS patchset: 887
    CVS date: 1996/07/18 03:00:16

commit ebf5952ce7c6cf92718a4a6ce4af265d26bc986a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 18 02:25:58 1996 +0000

    *** empty log message ***
    
    CVS patchset: 886
    CVS date: 1996/07/18 02:25:58

commit aad9e68ff73abb9d9658f011220f5c03245d5c37
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 18 02:25:13 1996 +0000

    added rpmdepAvailablePackage() and made rpmdepCheck() suggest fixes
    for dependency problems if fixes are avaialble
    
    CVS patchset: 885
    CVS date: 1996/07/18 02:25:13

commit 56d7914e38ad31ecbfbb56cde1267b1e83a62f45
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 18 02:24:55 1996 +0000

    1) added suggestedPackage to dependency conflict structure
    2) added rpmdepAvailablePackage()
    
    CVS patchset: 884
    CVS date: 1996/07/18 02:24:55

commit 763b11d392f3983b25925ca98438f57726def275
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 17 21:33:51 1996 +0000

    *** empty log message ***
    
    CVS patchset: 883
    CVS date: 1996/07/17 21:33:51

commit 473a7d887ece74323a9d2d38e6c43f3da5fdc562
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 17 21:33:01 1996 +0000

    fixed bug where a long name was getting mapped to a long name
    
    CVS patchset: 882
    CVS date: 1996/07/17 21:33:01

commit 3a40404166fd69c0b0724304e1f5fa8fb6e3cff0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:03:26 1996 +0000

    changed version to 2.2.1
    
    CVS patchset: 881
    CVS date: 1996/07/17 20:03:26

commit 02fd7b28a3e922c98ab9b9470f51917a2220e1ea
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:03:04 1996 +0000

    *** empty log message ***
    
    CVS patchset: 880
    CVS date: 1996/07/17 20:03:04

commit 165a40c8e7904c3dcac0c00d1b6666978c161fdb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:02:28 1996 +0000

    generalize list of added packages, and fixed problem where packages
    installed at the same time would verify against each other properly
    
    CVS patchset: 879
    CVS date: 1996/07/17 20:02:28

commit 85db57fe5d1965c7f44a0ec7097f0334ac579584
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:01:45 1996 +0000

    1) sets arch properly for v1 packages
    2) assumes all v1 packages were built for OS #1 (Linux)
    
    CVS patchset: 878
    CVS date: 1996/07/17 20:01:45

commit cf3c76c5aa1f8664a039f033ec1f4fd59f4e17a7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:01:38 1996 +0000

    added RPMVAR_FTPPROXY
    
    CVS patchset: 877
    CVS date: 1996/07/17 20:01:38

commit e1f76ba7a2804ea62f439bced9ef229c11efff3b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:01:29 1996 +0000

    added ftpproxy
    
    CVS patchset: 876
    CVS date: 1996/07/17 20:01:29

commit fb9b0b92c164d8781468616ee97e8b1223f1e580
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:00:49 1996 +0000

    1) began adding support for proxy ftp, though it doesn't work yet
    2) fixed spacing annoyance in dependency conflict printout
    
    CVS patchset: 875
    CVS date: 1996/07/17 20:00:49

commit 56a9277121e87d207f0ecd56ddf8d8c2179cf8f7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:00:31 1996 +0000

    began adding support for proxy ftp, though it doesn't work yet
    
    CVS patchset: 874
    CVS date: 1996/07/17 20:00:31

commit aed3be5ee5f84eeca72a61f15f116ed62e58b5c9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 20:00:21 1996 +0000

    minor spelling/spacing fixes
    
    CVS patchset: 873
    CVS date: 1996/07/17 20:00:21

commit 120170226efd347573ddb0b9f7bcffbe50b2a920
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 17 14:38:55 1996 +0000

    removed debugging message, fixed typo
    
    CVS patchset: 872
    CVS date: 1996/07/17 14:38:55

commit d825ec8d00371aca374cad98c23fb6b454e0e7f2
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 17 04:57:28 1996 +0000

    remove warning
    
    CVS patchset: 871
    CVS date: 1996/07/17 04:57:28

commit 23f5f63cefc59104add9fd4f1fa1a4665f818f3e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 17 01:38:19 1996 +0000

    *** empty log message ***
    
    CVS patchset: 870
    CVS date: 1996/07/17 01:38:19

commit 31e5d186effafae9d122ca9be42ffb2064171b38
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 17 01:36:13 1996 +0000

    new tags: RPMTAG_EXCLUDEARCH RPMTAG_EXCLUDEOS RPMTAG_EXCLUSIVEARCH RPMTAG_EXCLUSIVEOS
    
    CVS patchset: 869
    CVS date: 1996/07/17 01:36:13

commit 517519682f193b99edd514fc9252aad1f7f84257
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jul 17 01:35:08 1996 +0000

    Put exclude/exclusive arch/os in header
    depricate Exclude: and Exclusive:, now use ExcludeArch: ExclusiveArch:,
    and same for OS.
    
    CVS patchset: 868
    CVS date: 1996/07/17 01:35:08

commit 7aaa507e70502c9ff39c1406362b7905535b698d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 21:07:16 1996 +0000

    *** empty log message ***
    
    CVS patchset: 867
    CVS date: 1996/07/16 21:07:16

commit 5ef09eb03a6d1644e494139c61cf5096a9e1df8a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 21:06:08 1996 +0000

    supports for ftp://user:pass@machiune/ URL's, with password prompting
    when the password is missing
    
    CVS patchset: 866
    CVS date: 1996/07/16 21:06:08

commit 3ad2f39c0fdb52363d4e059247639be40b5cd11d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 20:22:09 1996 +0000

    added message for verbose mode
    
    CVS patchset: 865
    CVS date: 1996/07/16 20:22:09

commit 4616cc81ba42ae7fcccb907ff60575d643ef8656
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 18:45:52 1996 +0000

    added missing .br
    
    CVS patchset: 864
    CVS date: 1996/07/16 18:45:52

commit 302205cd6c9cabd2801db1d8f35251661bc566a6
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 18:38:21 1996 +0000

    *** empty log message ***
    
    CVS patchset: 863
    CVS date: 1996/07/16 18:38:21

commit 71b5d067b4db6b4d95e69e7ddfa70645396acaa4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 16:54:49 1996 +0000

    *** empty log message ***
    
    CVS patchset: 862
    CVS date: 1996/07/16 16:54:49

commit 85650608a28da2528973cf42b62461434c0daec6
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 16:54:36 1996 +0000

    changed version to 2.2 (2.1.3 was never publically released)
    
    CVS patchset: 861
    CVS date: 1996/07/16 16:54:36

commit 0382eab6a96bd6ea55eb1981c1f703e458f09552
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 16:37:15 1996 +0000

    *** empty log message ***
    
    CVS patchset: 860
    CVS date: 1996/07/16 16:37:15

commit 13c9f2cfdf0d5d3e37369168dc8994f3cc649848
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 16:12:21 1996 +0000

    *** empty log message ***
    
    CVS patchset: 859
    CVS date: 1996/07/16 16:12:21

commit 0a2a43aa4dbda884cc7db0f6338906667a036c76
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 16:11:37 1996 +0000

    various changes from Joesph Hartmann
    
    CVS patchset: 858
    CVS date: 1996/07/16 16:11:37

commit 9b7b8f2743d2aba7335230afea4d8b8b8c4f1e88
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 15:57:16 1996 +0000

    *** empty log message ***
    
    CVS patchset: 857
    CVS date: 1996/07/16 15:57:16

commit 8339f90a044336b7b95c0127519dfa01a2ebbf4f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 15:56:21 1996 +0000

    improved error message when file is missing
    
    CVS patchset: 856
    CVS date: 1996/07/16 15:56:21

commit c2c19b6de7e47a6c662af5afeaef769cdc3d4e6d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 15:46:33 1996 +0000

    reset hash count after a package is installed
    
    CVS patchset: 855
    CVS date: 1996/07/16 15:46:33

commit 67722f95de4c5e5a8d76c1d0c5cda85b2bd58f86
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jul 16 15:20:52 1996 +0000

    move arch_compat lines to usr.lib.rpmrc
    add arch_compat lines for mklinux stuff
    
    CVS patchset: 854
    CVS date: 1996/07/16 15:20:52

commit ce9e54314573bf36870ea33b609fa60b96e7df58
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:52:27 1996 +0000

    *** empty log message ***
    
    CVS patchset: 853
    CVS date: 1996/07/16 03:52:27

commit 6f38e76282384e866d59f567b6d34b21eeb0f998
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:46:36 1996 +0000

    *** empty log message ***
    
    CVS patchset: 852
    CVS date: 1996/07/16 03:46:36

commit c54a7cf0867e3d1e731218e853a55f316a84133d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:46:20 1996 +0000

    added --ignoreos
    
    CVS patchset: 851
    CVS date: 1996/07/16 03:46:20

commit 5a03def29400afc77690605e34cd453aa3632a2d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:43:33 1996 +0000

    1) returns score instead of distance into equivalences
    
    CVS patchset: 850
    CVS date: 1996/07/16 03:43:33

commit 7ac283b75aeb2baf9ff4c4482ef8454382a06c5f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:43:13 1996 +0000

    1) checks gzread() properly <blush>
    2) returns on bad arch/os <blush>
    
    CVS patchset: 849
    CVS date: 1996/07/16 03:43:13

commit 88a305a6ac03008c271b43ecf9b4439cad3a46ad
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:37:28 1996 +0000

    1) added INSTALL_NOOS flag
    2) renamed showRc() rpmShowRC()
    3) added rpmOsScore()
    
    CVS patchset: 848
    CVS date: 1996/07/16 03:37:28

commit 2320fb3fc0fa977e62dc2b72cbf7182c34590a71
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:37:07 1996 +0000

    1) check OS's at install time
    2) checks return code from gzread()
    
    CVS patchset: 847
    CVS date: 1996/07/16 03:37:07

commit 078fc06412dc87eb34d768bf782e672732af19c9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:36:23 1996 +0000

    1) renamed showRc() to rpmShowRC()
    2) added a true digraph for arch/os resolution at install time
    3) updates rpmShowRC() to list arch and os equivalences
    
    CVS patchset: 846
    CVS date: 1996/07/16 03:36:23

commit 885affddf5746c0d546cc3f6453a81e4ba0c9f86
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:36:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 845
    CVS date: 1996/07/16 03:36:10

commit 46eed9fc1ec16c86b1a7692a18afbdb79256103c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:35:29 1996 +0000

    changed showRc() to rpmShowRC()
    made -u option exit with an error
    
    CVS patchset: 844
    CVS date: 1996/07/16 03:35:29

commit c2081bbe1e7fdd924bd570d9efa77caf92c6dca1
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jul 16 03:35:20 1996 +0000

    *** empty log message ***
    
    CVS patchset: 843
    CVS date: 1996/07/16 03:35:20

commit b0d057d49bad2c804d24e548efda0886dbfa7322
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 22:35:57 1996 +0000

    change all the "data" things to "canon" things (arch and os)
    For a given arch_canon: A B C, add an A B C, and a B B C entry
    (same for os)
    
    CVS patchset: 842
    CVS date: 1996/07/15 22:35:57

commit f0c5b323d2951419d5d1e804168dc3b1d8881660
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 22:35:47 1996 +0000

    *** empty log message ***
    
    CVS patchset: 841
    CVS date: 1996/07/15 22:35:47

commit 4c1339ea0c269f886d6dfaae838db824f9898cf1
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 22:34:44 1996 +0000

    change to _canon
    move osfmach* translations to buildarchtranslations
    /
    
    CVS patchset: 840
    CVS date: 1996/07/15 22:34:44

commit 6f49f824c6709512805f9875433aacd85ac73b10
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 18:35:34 1996 +0000

    *** empty log message ***
    
    CVS patchset: 839
    CVS date: 1996/07/15 18:35:34

commit 1baa75ddb9d9514c99ec7b080cac0ea867e42507
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 18:34:47 1996 +0000

    make rpmrc case insensitive
    
    CVS patchset: 838
    CVS date: 1996/07/15 18:34:47

commit f68961d513c22953e3ccab04c845be771ba7a1bb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 02:05:39 1996 +0000

    *** empty log message ***
    
    CVS patchset: 837
    CVS date: 1996/07/15 02:05:39

commit e252e69b3e9773a48ab19b135e5329e1b8839125
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 01:56:15 1996 +0000

    heavy hackage:
    added:  getOsNum getArchNum getOsName getArchName
    added: showRc()
    remove from rpmrc: docdir, os, build_arch
    add to rpmrc: packager
    added os_data and arch_data to hold arch short_name and archnumber
      (same for os)
    always parse /usr/lib/rpmrc
    added buildarchtranslate, and buildostranslate to rpmrc
      to specify default build arch other than what uname() returns (and os)
    
    CVS patchset: 836
    CVS date: 1996/07/15 01:56:15

commit 7b947a2d232bb4fbb0bcdd93278f1529a159398f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 01:55:38 1996 +0000

    remove initArchOs getOsNum getArchNum getOsName getArchName
    
    CVS patchset: 835
    CVS date: 1996/07/15 01:55:38

commit d93466fa0b705dd3a693b7e8801590ac904040d6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 01:53:21 1996 +0000

    remove RPMVAR_DOCDIR RPMVAR_PGP_SECRING RPMVAR_PGP_PUBRING RPMVAR_BUILDARCH
    remove RPMVAR_BUILDOS
    add RPMVAR_PACKAGER
    moved from misc.h: getOsNum getArchNum getOsName getArchName
    add showRc
    
    CVS patchset: 834
    CVS date: 1996/07/15 01:53:21

commit c5e21975d4e0aa78b60d8b4712a498ddcc956e3b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 01:52:08 1996 +0000

    change --arch and --os to --build and --buildos
    add --showrc
    
    CVS patchset: 833
    CVS date: 1996/07/15 01:52:08

commit 02f27ca67a41ad349ac271c8082c433edbad16eb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 01:50:58 1996 +0000

    remove pgp cruft
    install /usr/lib/rpmrc
    
    CVS patchset: 832
    CVS date: 1996/07/15 01:50:58

commit f552c9bc52e6478d3660633a6539b8eb52de56e8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 00:56:32 1996 +0000

    Initial revision
    
    CVS patchset: 831
    CVS date: 1996/07/15 00:56:32

commit 7ae3268ff72e936ec87f9b7679335e017984c973
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jul 15 00:54:18 1996 +0000

    take packager from rpmrc
    
    CVS patchset: 830
    CVS date: 1996/07/15 00:54:18

commit c26b4691b02f92ba5d53f54c25c55d9339216f2b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jul 14 23:36:09 1996 +0000

    *** empty log message ***
    
    CVS patchset: 829
    CVS date: 1996/07/14 23:36:09

commit b3c486a7d6e41ffdf626a52b731aeb4a1f98402c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jul 14 23:31:36 1996 +0000

    remove DOCDIR
    
    CVS patchset: 828
    CVS date: 1996/07/14 23:31:36

commit 393cce24cddcf07aafa4fd1a9de0b955ce4411f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jul 14 23:30:24 1996 +0000

    remove DOCDIR
    /
    
    CVS patchset: 827
    CVS date: 1996/07/14 23:30:24

commit 78382b8775a3d718b8b276f33a6de542bce42fb6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sun Jul 14 22:59:41 1996 +0000

    change message
    
    CVS patchset: 826
    CVS date: 1996/07/14 22:59:41

commit 2679755ef789d750dd012e42864d8423fee19326
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:40:02 1996 +0000

    *** empty log message ***
    
    CVS patchset: 825
    CVS date: 1996/07/14 16:40:02

commit 6b5fe3f3fbcdfd9e114c77fe4b258721a8cf97dc
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:38:57 1996 +0000

    allow Prefix: (DEFAULTPREFIX) for sub packages
    
    CVS patchset: 824
    CVS date: 1996/07/14 16:38:57

commit 8cc5a4021be703b916915c7341cef774459fab34
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:21:27 1996 +0000

    sub packges should have summaries
    allow default prefixes for sub packages
    
    CVS patchset: 823
    CVS date: 1996/07/14 16:21:27

commit 9aa4a366406aa19d2efce95e533a6b9462627486
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jul 14 16:19:51 1996 +0000

    changed version to 2.1.3
    
    CVS patchset: 822
    CVS date: 1996/07/14 16:19:51

commit 3a8c88000f6003b4d45a513e46b76215cc1c08e0
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jul 14 16:19:32 1996 +0000

    *** empty log message ***
    
    CVS patchset: 821
    CVS date: 1996/07/14 16:19:32

commit 373acfe46bf8fa1c87c851e2ea11fca6ce283f57
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jul 14 16:14:39 1996 +0000

    1) added Summary to -qi output
    2) made --requires and --provides not print (none) if the tags aren't present
    
    CVS patchset: 820
    CVS date: 1996/07/14 16:14:39

commit b67317e599105b4fe45fde2ec77c3c7730bcbcc2
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jul 14 16:14:24 1996 +0000

    made -R work as a shortcut for --requires
    
    CVS patchset: 819
    CVS date: 1996/07/14 16:14:24

commit d302f506aaaf18674b10bee90dceba9a33b0308a
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:14:01 1996 +0000

    change "build prefix" to "build root"
    
    CVS patchset: 818
    CVS date: 1996/07/14 16:14:01

commit 1a0bc2056d1784ecb3caa3072c94ce1c9d3e8874
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:12:18 1996 +0000

    Initial revision
    
    CVS patchset: 817
    CVS date: 1996/07/14 16:12:18

commit 19dbeeece09ae3dd59df98e4be19b8370d52d6df
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 16:06:35 1996 +0000

    buildprefix -> buildroot
    
    CVS patchset: 816
    CVS date: 1996/07/14 16:06:35

commit 0fe72e0e37b389d07e0be3e17b2ba0b9d0bfcb2a
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:47:46 1996 +0000

    arch sensitive always on
    
    CVS patchset: 815
    CVS date: 1996/07/14 03:47:46

commit af8ec8c659860d8a63b411e5843a02f25280e8b5
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:47:23 1996 +0000

    removed arch sensitive -- always on
    
    CVS patchset: 814
    CVS date: 1996/07/14 03:47:23

commit 92150f2b387d7924f87834b83c5686689909d889
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:47:00 1996 +0000

    *** empty log message ***
    
    CVS patchset: 813
    CVS date: 1996/07/14 03:47:00

commit cbadbc8206d6edfd3b55731e6c3358d5e64aa077
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:39:14 1996 +0000

    *** empty log message ***
    
    CVS patchset: 812
    CVS date: 1996/07/14 03:39:14

commit ac3cfd4775b7132cf878ef83548c03e39822e153
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:38:29 1996 +0000

    do not allow Prefix: or Buildprefix: in sub packages
    
    CVS patchset: 811
    CVS date: 1996/07/14 03:38:29

commit f5617dc32ab78fc2af68f2bff6ba97546a5827ac
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:38:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 810
    CVS date: 1996/07/14 03:38:10

commit b644f93374ee63f5c2b77843837046188453d2f5
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 03:37:18 1996 +0000

    remove require_group.  It will always be ON now.
    
    CVS patchset: 809
    CVS date: 1996/07/14 03:37:18

commit ce8b994704e1749c6bd0c067a6354ed92789683d
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 00:45:34 1996 +0000

    *** empty log message ***
    
    CVS patchset: 808
    CVS date: 1996/07/14 00:45:34

commit 3b23471795963368028a662790b38724f16d91ce
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 14 00:43:39 1996 +0000

    send stuff to xargs with null termination so that we can
    handle weird file names with quotes and spaces
    
    CVS patchset: 807
    CVS date: 1996/07/14 00:43:39

commit d2028b29aa4e34000e24ba0a696c2a1ea3e20dd6
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 13 22:18:48 1996 +0000

    fixed nasty bug w/ arg list passed to cpio wasn't getting NULL terminated
    when a /tmp filelist was used
    
    CVS patchset: 806
    CVS date: 1996/07/13 22:18:48

commit cdd4c29192131e1b6a3369b10f324928336a63da
Author: Unknown Author <devnull@localhost>
Date:   Sat Jul 13 20:03:55 1996 +0000

    Initial revision
    
    CVS patchset: 805
    CVS date: 1996/07/13 20:03:55

commit a5edccd71c050c410abab4b5807289c501f74d7a
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jul 13 14:53:33 1996 +0000

    after successfull file transfer, read the "Transfer Completed" from the
    server -- if we don't, we can't do another transfer w/o reconnecting
    
    CVS patchset: 804
    CVS date: 1996/07/13 14:53:33

commit 0b020614b25ee6a67013295271b8827e2b0d3bb9
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 12 20:28:43 1996 +0000

    removed printf, fixed inet_aton() result check
    
    CVS patchset: 803
    CVS date: 1996/07/12 20:28:43

commit e837ec5148fc320288caecbae81144861450766c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 12 20:11:08 1996 +0000

    removed message() calls to use code in install
    
    CVS patchset: 802
    CVS date: 1996/07/12 20:11:08

commit 54ba2f084059849768e641cc0b1254b3dd33b6df
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 19:28:21 1996 +0000

    *** empty log message ***
    
    CVS patchset: 801
    CVS date: 1996/07/12 19:28:21

commit 2e4837fb6d5bc329c1a0dda2f12d3f5049a6f6bd
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 19:27:34 1996 +0000

    add stuff for missing PGP keys
    
    CVS patchset: 800
    CVS date: 1996/07/12 19:27:34

commit ebc8ff6e5798965524ccee5e7de54ecb8ce7e974
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 19:26:31 1996 +0000

    print message if couldn't find a PGP key
    
    CVS patchset: 799
    CVS date: 1996/07/12 19:26:31

commit 758eff8987f087d187ce534de87a5b8d0833c1fb
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 17:06:33 1996 +0000

    added some signatures
    
    CVS patchset: 798
    CVS date: 1996/07/12 17:06:33

commit c6012d1698d622a82973196466325ed67388b5d6
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 12 02:34:25 1996 +0000

    1) removed rpmconvert from Makefile
    2) fixed find line
    3) 'make co' checks out latest versions of docs
    
    CVS patchset: 797
    CVS date: 1996/07/12 02:34:25

commit d4a0fa43887d78e9a35c0658581f1aee30154d55
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 12 02:32:31 1996 +0000

    removed extraneous ' '
    
    CVS patchset: 796
    CVS date: 1996/07/12 02:32:31

commit 0d58d159910f488392205e18a0217d51f9ab837e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jul 12 02:31:16 1996 +0000

    Initial revision
    
    CVS patchset: 795
    CVS date: 1996/07/12 02:31:16

commit 3d2adecc22106f77ead967354ce07a89369f25e1
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 01:36:42 1996 +0000

    *** empty log message ***
    
    CVS patchset: 794
    CVS date: 1996/07/12 01:36:42

commit 9430e6139ce3d17565d6bb7b4bce2e1fc0a1b326
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 01:36:29 1996 +0000

    fixed qsort() and bsearch() sizes for the provides table
    
    CVS patchset: 793
    CVS date: 1996/07/12 01:36:29

commit 397794d5c14c3bfbdac5ba51309b73c0e4570727
Author: Unknown Author <devnull@localhost>
Date:   Fri Jul 12 01:17:58 1996 +0000

    cleans up core files in make clean
    
    CVS patchset: 792
    CVS date: 1996/07/12 01:17:58

commit 4c35337d4b85fca5511560703f477a42fb1acdd3
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 11 23:45:13 1996 +0000

    *** empty log message ***
    
    CVS patchset: 791
    CVS date: 1996/07/11 23:45:13

commit f722281aa171f42165e5272bef05ce5136a93483
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 11 23:42:46 1996 +0000

    clean up temp file
    
    CVS patchset: 790
    CVS date: 1996/07/11 23:42:46

commit 6f0ecdac88d12f3cde9688dd2f511e8daaf03778
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 11 18:13:12 1996 +0000

    *** empty log message ***
    
    CVS patchset: 789
    CVS date: 1996/07/11 18:13:12

commit 05fc349ebd0ec609a6d78e5397d8ead7658042cf
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 11 18:12:40 1996 +0000

    don't free lists never allocated!
    
    CVS patchset: 788
    CVS date: 1996/07/11 18:12:40

commit 383f9cb337f9d8be5cc3d22b76ae958726d2020a
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 11 16:32:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 787
    CVS date: 1996/07/11 16:32:10

commit 8cbaab5fa0b27dde2921155f498f02df043fe122
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 11 15:49:53 1996 +0000

    *** empty log message ***
    
    CVS patchset: 786
    CVS date: 1996/07/11 15:49:53

commit 09b573f5dc7f41d20b2fee90d2829fcb76268700
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 11 15:48:21 1996 +0000

    fixed error message for packages which are not relocateable
    
    CVS patchset: 785
    CVS date: 1996/07/11 15:48:21

commit 2b298ad4c0267137e590c4e24849689418c92dbe
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 11 15:17:03 1996 +0000

    changed to version 2.1.2
    
    CVS patchset: 784
    CVS date: 1996/07/11 15:17:03

commit 269881b8bfea6277d053d2fdf9fa84bd36ec1b3b
Author: Unknown Author <devnull@localhost>
Date:   Thu Jul 11 15:11:49 1996 +0000

    fix auto-provide stuff to use ROOT
    
    CVS patchset: 783
    CVS date: 1996/07/11 15:11:49

commit b4e0a62b6a2695fdf0f0e4fc9197c6160b103f52
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jul 11 02:15:30 1996 +0000

    *** empty log message ***
    
    CVS patchset: 782
    CVS date: 1996/07/11 02:15:30

commit 13a43cc7c899f3c75794c38d531e693238a9d944
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 23:59:54 1996 +0000

    changed version number to 2.1.1
    
    CVS patchset: 781
    CVS date: 1996/07/10 23:59:54

commit 7f0a7733ea58ffd1bdc421acdbb9938377fbe8a1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 23:59:37 1996 +0000

    fixed default build string to not use '-' to print dates
    
    CVS patchset: 780
    CVS date: 1996/07/10 23:59:37

commit ba394876c166b16c728802a3c9b2b54e7a5733cf
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 20:51:14 1996 +0000

    Initial revision
    
    CVS patchset: 779
    CVS date: 1996/07/10 20:51:14

commit c8dbde3e87a07f589ec9b835522593547ae57c5c
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 20:19:07 1996 +0000

    use proper soname for automatic shared lib req/prov
    
    CVS patchset: 778
    CVS date: 1996/07/10 20:19:07

commit 229721a5ddd03c1d86311a309be87a5161c50f6d
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 20:18:43 1996 +0000

    warn if they use Root:
    
    CVS patchset: 777
    CVS date: 1996/07/10 20:18:43

commit 4ac3bcf8fd8ddd9a0c69e129ea602d30669b3a6f
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 20:18:15 1996 +0000

    clean up formatting
    
    CVS patchset: 776
    CVS date: 1996/07/10 20:18:15

commit 64fcd73d5738ffee0f05157c431220d489087803
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 19:50:46 1996 +0000

    check package version numbers for source packages
    
    CVS patchset: 775
    CVS date: 1996/07/10 19:50:46

commit 11931fd81b0f2f0b0a549b7ec04d26b174dc8e1f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:29:44 1996 +0000

    1) added send to dependency conflict reporting
    2) added rpmdepUpgradePackage()
    
    CVS patchset: 774
    CVS date: 1996/07/10 16:29:44

commit 1178a102cc99479c2c16510bb6cc7c77f9095eb3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:29:24 1996 +0000

    1) added version and serial number checking
    2) supports upgrades properly
    
    CVS patchset: 773
    CVS date: 1996/07/10 16:29:24

commit 98fe02908713e3560f2ace873bafe1d43c30601f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:28:50 1996 +0000

    1) improved printing of dependency conflics
    2) corrected dependency checking for upgrades
    
    CVS patchset: 772
    CVS date: 1996/07/10 16:28:50

commit 20cf048a8c501148e81cd5621044342adfad7bb6
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:28:24 1996 +0000

    1) changed a bunch of the queries to happen via query formats
    2) added :depflags query tag
    
    CVS patchset: 771
    CVS date: 1996/07/10 16:28:24

commit c7934684224f30e430203ee049c70b8925495123
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:28:10 1996 +0000

    *** empty log message ***
    
    CVS patchset: 770
    CVS date: 1996/07/10 16:28:10

commit 0ea45f6a7442fa96461c8518ab94e80b96bbcfc5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 16:16:05 1996 +0000

    *** empty log message ***
    
    CVS patchset: 769
    CVS date: 1996/07/10 16:16:05

commit 3afd2294dc930c233eaf1ac56de73842b8c83ab5
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 15:47:33 1996 +0000

    clean up message for release
    
    CVS patchset: 768
    CVS date: 1996/07/10 15:47:33

commit 1c0441f20f50578a20933c0e578b7f3c53bea496
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 15:42:48 1996 +0000

    initialize res
    
    CVS patchset: 767
    CVS date: 1996/07/10 15:42:48

commit aa64e5b8e3dc0872b2f0ebcb489843916d877ec4
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 15:16:54 1996 +0000

    fix uninitialized buildprefix
    
    CVS patchset: 766
    CVS date: 1996/07/10 15:16:54

commit 42f7afa1f75d4966c789c5befddad62cdcc1f696
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 14:11:19 1996 +0000

    changes to set RPMTAG_INSTALLPREFIX correctly
    
    CVS patchset: 765
    CVS date: 1996/07/10 14:11:19

commit 3e26f1bd58b6b77a7c0f7c39549fb2f307af84d8
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 14:11:04 1996 +0000

    set RPM_INSTALL_PREFIX environment variable in runScript() when appropriate
    
    CVS patchset: 764
    CVS date: 1996/07/10 14:11:04

commit b49226a7ed475a2262941c9173ad3280d7bfe53b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:35:31 1996 +0000

    1) reworked long arguments to eliminate strcmp()'s
    2) added --prefix option
    3) added --rpmdb option
    
    CVS patchset: 763
    CVS date: 1996/07/10 02:35:31

commit b4e42cbe892eea237c62ffb20c9978ad7875ce3a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:35:15 1996 +0000

    added support for relocateable packages
    
    CVS patchset: 762
    CVS date: 1996/07/10 02:35:15

commit d5588e711c0485c76035a409afb8e2799f3a483e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:35:11 1996 +0000

    *** empty log message ***
    
    CVS patchset: 761
    CVS date: 1996/07/10 02:35:11

commit 49f4b0fba00d5437e2bfadcba7f1a0f621e5b357
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:34:15 1996 +0000

    aedded RPMTAG_INSTALLPREFIX, RPMVAR_DBPATH, and location parameter to
    rpmInstallPackage()
    
    CVS patchset: 760
    CVS date: 1996/07/10 02:34:15

commit 3685015232cf8870ff32f30e1e446e52809651c0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:33:54 1996 +0000

    added stripTrailingSlashes()
    
    CVS patchset: 759
    CVS date: 1996/07/10 02:33:54

commit 5f0b82b4f575d3e23b541b68899cfb4db9ddc76a
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:33:38 1996 +0000

    supports relocateable packages
    
    CVS patchset: 758
    CVS date: 1996/07/10 02:33:38

commit abb42944a48ffd9ed05155dce7ddf8010f1192d3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:33:26 1996 +0000

    supports different database locations
    
    CVS patchset: 757
    CVS date: 1996/07/10 02:33:26

commit b59685851409130542fc370080483168959b9fd0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:33:11 1996 +0000

    cleaned up some misleading error messages
    
    CVS patchset: 756
    CVS date: 1996/07/10 02:33:11

commit 2cf5f7b52fdb24499a9edab285636f522c4df174
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 10 02:32:45 1996 +0000

    added dbpath
    
    CVS patchset: 755
    CVS date: 1996/07/10 02:32:45

commit bd5fd3558502a4058969dac01c55f1f4f29b6c53
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 01:38:44 1996 +0000

    initialize prefix and prefixLen
    
    CVS patchset: 754
    CVS date: 1996/07/10 01:38:44

commit dd646a2df914129c1f52fedf1b3485d72b3b9894
Author: Unknown Author <devnull@localhost>
Date:   Wed Jul 10 01:38:14 1996 +0000

    additional check for running off end of string
    
    CVS patchset: 753
    CVS date: 1996/07/10 01:38:14

commit d671a6567a17140d823e42924f4fbf5ebb5e177e
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 22:29:16 1996 +0000

    BUILDPREFIX stuff
    
    CVS patchset: 752
    CVS date: 1996/07/09 22:29:16

commit 71ee0f2b24397a905023288165afe7b4ccc1a973
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 22:28:43 1996 +0000

    handle --buildprefix
    
    CVS patchset: 751
    CVS date: 1996/07/09 22:28:43

commit c6a464e9fbf2782924af31db67ae4cf9f20d6968
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 22:28:22 1996 +0000

    handle Build Prefix
    
    CVS patchset: 750
    CVS date: 1996/07/09 22:28:22

commit 8232554b3dc6c4f15d5ac7a0ae0d33fd7661a7d7
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 02:07:21 1996 +0000

    *** empty log message ***
    
    CVS patchset: 749
    CVS date: 1996/07/09 02:07:21

commit e914b78e33143855c850e1cdb513a0103ee9f17e
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 02:06:26 1996 +0000

    logic for handling Prefix:
    
    CVS patchset: 748
    CVS date: 1996/07/09 02:06:26

commit 6a9e968b167a2d1b7177632ee07a7fa9f56b50b4
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 9 01:10:00 1996 +0000

    added RPMTAG_DEFAULTPREFIX
    
    CVS patchset: 747
    CVS date: 1996/07/09 01:10:00

commit 83f2bed396792aa5298eee9e57da27379690f669
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 15:46:29 1996 +0000

    fix Summary parsing
    
    CVS patchset: 746
    CVS date: 1996/07/08 15:46:29

commit 08370243546bae623966a927eafc9f2746b58d81
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:58:03 1996 +0000

    make --nopgp work
    
    CVS patchset: 745
    CVS date: 1996/07/08 03:58:03

commit 2c9c29a23c88c62de0bb5d87c416884d1395ce1b
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:54:26 1996 +0000

    *** empty log message ***
    
    CVS patchset: 744
    CVS date: 1996/07/08 03:54:26

commit bc6d4246fc3b89b3cdf37fcb173b40909d05b540
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:27:05 1996 +0000

    cleanup of verify stuff
    
    CVS patchset: 743
    CVS date: 1996/07/08 03:27:05

commit 95419b579038611bcbd84c9ec7099ff973738e0b
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:26:34 1996 +0000

    --addsign
    
    CVS patchset: 742
    CVS date: 1996/07/08 03:26:34

commit adfc74a3f02fa8eba172d8712a91ff56a1e00497
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:25:57 1996 +0000

    handle --addsign and new Header-style signatures
    somewhat cleaner -K output
    
    CVS patchset: 741
    CVS date: 1996/07/08 03:25:57

commit a5886c0e5c875d268f1c0d9c1ee0a3f1f320b24e
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 8 03:25:36 1996 +0000

    change soReSign() to handle addition of signatures
    
    CVS patchset: 740
    CVS date: 1996/07/08 03:25:36

commit 6d5274833811ae749e76a9690039b670faa9d494
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:38:57 1996 +0000

    print architecture name if architecture error
    
    CVS patchset: 739
    CVS date: 1996/07/07 22:38:57

commit 42a5bd5280e63887373f1295ffe85a5e831712c1
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:26:31 1996 +0000

    remove support for old-new style signatures (never released)
    
    CVS patchset: 738
    CVS date: 1996/07/07 22:26:31

commit 86dd8ab30438db4320d35d5f3abe7523b6afff7f
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:19:32 1996 +0000

    new Header-style signatures
    
    CVS patchset: 737
    CVS date: 1996/07/07 22:19:32

commit 3bd8fef246e9a33fd6260798a25df27dcec12042
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:18:56 1996 +0000

    HEADER_MAGIC
    
    CVS patchset: 736
    CVS date: 1996/07/07 22:18:56

commit 1f5921a0461fb10eb23e5ec35b349e2e13de81e2
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:18:14 1996 +0000

    new Header-style signatures, HEADER_MAGIC
    
    CVS patchset: 735
    CVS date: 1996/07/07 22:18:14

commit 5f8fc3c18a0b5a4940cc96079253af63f74a0e74
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:17:48 1996 +0000

    cleanup - init_arch_os no longer used
    
    CVS patchset: 734
    CVS date: 1996/07/07 22:17:48

commit 6cff32b5162cf31f156126f33db188a35b8eabbd
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:15:14 1996 +0000

    HEADER_MAGIC, error checking in readHeader(), dump BIN_TYPEs, fix other
    dump outputs
    
    CVS patchset: 733
    CVS date: 1996/07/07 22:15:14

commit 394d9b8acb4cc3e1d3aa6f984e50bcf52860cebb
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:13:37 1996 +0000

    mods for new Header-style signature and HEADER_MAGIC
    
    CVS patchset: 732
    CVS date: 1996/07/07 22:13:37

commit 9cd8b6196fd5afc99b2ffaed440edfbbd5c9741f
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:12:06 1996 +0000

    take stdin
    mods for HEADER_MAGIC
    
    CVS patchset: 731
    CVS date: 1996/07/07 22:12:06

commit 13557192ec64c6b8f5cd149d7eb1a2c155e1ed36
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:11:43 1996 +0000

    remove rpmchecksig
    
    CVS patchset: 730
    CVS date: 1996/07/07 22:11:43

commit e0878672e314f2b7080e26fac5676f2b77773c2c
Author: Unknown Author <devnull@localhost>
Date:   Sun Jul 7 22:11:13 1996 +0000

    mods for new Header-style signatures
    
    CVS patchset: 729
    CVS date: 1996/07/07 22:11:13

commit 650fae80bd3ba1918a707d98db5e6788c6ed4451
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 16:26:06 1996 +0000

    uses passive mode now
    
    CVS patchset: 728
    CVS date: 1996/07/03 16:26:06

commit 480c4e66f347240bfa0cda224c404cfe2b2ada17
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 15:33:18 1996 +0000

    O_CREAT should only be used with O_RDWR
    
    CVS patchset: 727
    CVS date: 1996/07/03 15:33:18

commit 814d4e6fa59d1edeafad934f324e0f24c3d56874
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 15:22:06 1996 +0000

    changed to use rpmReadConfigFiles() instead of readConfigFiles()
    
    CVS patchset: 726
    CVS date: 1996/07/03 15:22:06

commit 0ee6477a896a07d15288809d0dfe119c51ae16bf
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 02:55:56 1996 +0000

    changed arch tag to build_arch
    added arch_compat handling
    
    CVS patchset: 725
    CVS date: 1996/07/03 02:55:56

commit 47a43c115052d52c217ac2d6b6c9f7dae0f4df0e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 02:55:32 1996 +0000

    changed RPMVAR_ARCH ro RPMVAR_BUILDARCH
    added INSTALL_NOARCH flag
    renamed readConfigFiles rpmReadConfigFiles
    added rpmArchScore()
    
    CVS patchset: 724
    CVS date: 1996/07/03 02:55:32

commit 30b58fb9bdbd9848c946da2b86ea59dbc186aaaf
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 02:55:03 1996 +0000

    added handling for arch strings, INSTALL_NOARCH flag
    
    CVS patchset: 723
    CVS date: 1996/07/03 02:55:03

commit ece66fbc5cf60680a595feebc5c9e6cf0a58be9d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 02:54:53 1996 +0000

    added --ignorearch
    
    CVS patchset: 722
    CVS date: 1996/07/03 02:54:53

commit e03da0c65640719a5468a895d5817fc359e134a3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Jul 3 02:54:49 1996 +0000

    *** empty log message ***
    
    CVS patchset: 721
    CVS date: 1996/07/03 02:54:49

commit f69df4da5009e270582ba19be7a0d445ba355096
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 2 21:45:16 1996 +0000

    temp hack to warn on spec file check errors
    
    CVS patchset: 720
    CVS date: 1996/07/02 21:45:16

commit 8fded05eba5ccb28ff56b7ca798a77860b092a13
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 2 21:40:10 1996 +0000

    add some strict spec file checking
    
    CVS patchset: 719
    CVS date: 1996/07/02 21:40:10

commit 5a65d9a2bed49816838ea80a3053301f2aaad0db
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 2 19:16:46 1996 +0000

    added support for %description
    
    CVS patchset: 718
    CVS date: 1996/07/02 19:16:46

commit c8d10250d23495fefe7cd4dbd844bbcc9a4cb162
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 2 19:16:06 1996 +0000

    added stripTrailingBlanksStringBuf()
    
    CVS patchset: 717
    CVS date: 1996/07/02 19:16:06

commit 9d020ce33522d4a16e3a2619ef7b5c0ef958188f
Author: Unknown Author <devnull@localhost>
Date:   Tue Jul 2 18:44:09 1996 +0000

    fix %changelog handling
    start to add %description handling
    
    CVS patchset: 716
    CVS date: 1996/07/02 18:44:09

commit 1e7ab3dd3675cdcca45aa266eb186fbc8ab7c2cd
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:47:55 1996 +0000

    pass RPM_ARCH and RPM_OS to scripts
    
    CVS patchset: 715
    CVS date: 1996/07/01 21:47:55

commit 2303b5028911adfdb697b14732236345d6457016
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:44:39 1996 +0000

    *** empty log message ***
    
    CVS patchset: 714
    CVS date: 1996/07/01 21:44:39

commit 566cd0c4dc7d791a7978b7194572f0a1ea14c7e8
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:40:22 1996 +0000

    fix call to readCOnfigFiles
    
    CVS patchset: 713
    CVS date: 1996/07/01 21:40:22

commit b7fc7d8bf596c5dec7b654bd83c8345df180bdd5
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:39:34 1996 +0000

    add proto for initArchOs
    
    CVS patchset: 712
    CVS date: 1996/07/01 21:39:34

commit 6c3baf24078c60f85c4f00d0fce606652ad9aa94
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:39:17 1996 +0000

    stuff for new style arch and os handling
    
    CVS patchset: 711
    CVS date: 1996/07/01 21:39:17

commit f8933d7aa5a091007f9e61cd9deb6f432c90c7d0
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:38:34 1996 +0000

    added stuff to parse config files arch specific and
    non-arch specific
    .,
    
    CVS patchset: 710
    CVS date: 1996/07/01 21:38:34

commit 891c24c444133be59b9e98bc9ebdc1b252ce24fb
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:38:06 1996 +0000

    add ARCH and OS vars
    pass arch and os to readConfigFiles
    
    CVS patchset: 709
    CVS date: 1996/07/01 21:38:06

commit 0c947120d2d3ea6ce19adde8791998ea7c89cb39
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:37:18 1996 +0000

    change OS and ARCH to strings
    
    CVS patchset: 708
    CVS date: 1996/07/01 21:37:18

commit 3fc67229c0e4b7613e15b743cae0eef1f3e9f5ae
Author: Unknown Author <devnull@localhost>
Date:   Mon Jul 1 21:36:36 1996 +0000

    added stuff to handle --arch and --os and
    wacky new arch handling stuff
    
    CVS patchset: 707
    CVS date: 1996/07/01 21:36:36

commit d1f1f7375a2077493b5b4013c4fffb4fa78f9fa7
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 28 21:13:32 1996 +0000

    strip out duplicate '/' in filenames
    
    CVS patchset: 706
    CVS date: 1996/06/28 21:13:32

commit 92ea12597b906cbe996c62621ad432c6bd7110fb
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 28 21:13:13 1996 +0000

    skip ALL leading slashes :-)
    
    CVS patchset: 705
    CVS date: 1996/06/28 21:13:13

commit dbb11ff0d3738a93fd8cdb4f7e1352289304b114
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 28 18:50:42 1996 +0000

    *** empty log message ***
    
    CVS patchset: 704
    CVS date: 1996/06/28 18:50:42

commit 1e9ee9f5d530ef316d2758aea2348edba34440e2
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 28 18:48:34 1996 +0000

    added stuff for "size" signature
    
    CVS patchset: 703
    CVS date: 1996/06/28 18:48:34

commit 484ad05247b48aecf689c57c1a0bae1fc97f20db
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 28 14:38:23 1996 +0000

    runScripts() doesn't take generic "upgrade" argument, but numeric one
    instead
    
    CVS patchset: 702
    CVS date: 1996/06/28 14:38:23

commit 30fb5648595683677c0c78c1b931f7d30847d35b
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 28 14:38:12 1996 +0000

    added code to pass numeric arg to scripts
    
    CVS patchset: 701
    CVS date: 1996/06/28 14:38:12

commit 0a6c517b8b1c09e31165a1db87013f279958fc8e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 28 14:37:45 1996 +0000

    1) removed "upgrade" arg hack
    2) added code to uninstall to pass numeric arg
    3) handled numeric arg in runScripts()
    
    CVS patchset: 700
    CVS date: 1996/06/28 14:37:45

commit fb860c41c5729775dc62f004f2917571b1435d7a
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 28 14:37:30 1996 +0000

    removed upgrade flag from rpmRemovePackage()
    
    CVS patchset: 699
    CVS date: 1996/06/28 14:37:30

commit bd0459fcc050a79caf546f2c9b478a2e34a795ae
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 28 14:37:01 1996 +0000

    removed passing upgrade flag during package uninstall
    
    CVS patchset: 698
    CVS date: 1996/06/28 14:37:01

commit a6681aebd24a25336f0897913119bf8be92f4e22
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 20:52:29 1996 +0000

    oops
    
    CVS patchset: 697
    CVS date: 1996/06/27 20:52:29

commit d2979e846d011743f391c6e0c0141f9a6c189027
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 20:48:53 1996 +0000

    *** empty log message ***
    
    CVS patchset: 696
    CVS date: 1996/06/27 20:48:53

commit 47dec8713a3ea722bfe51961cfaac7fc7dde113a
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 20:47:54 1996 +0000

    added interation for queryformats and :date and :perms formats
    
    CVS patchset: 695
    CVS date: 1996/06/27 20:47:54

commit 6795c09522b25375fef3d5552af391e62c7c02e8
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:16:40 1996 +0000

    added REQUIRE_CONFLICTS REQUIRE_SENSEMASK for conflicts:
    
    CVS patchset: 694
    CVS date: 1996/06/27 20:16:40

commit 8f908462dc995ff00ed5d56177864dd48cff30d0
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:16:20 1996 +0000

    conflicts handling
    
    CVS patchset: 693
    CVS date: 1996/06/27 20:16:20

commit 93a5a6fd147882d797c61ef7f014fe966db8bffa
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:15:53 1996 +0000

    parsing for conflicts:
    
    CVS patchset: 692
    CVS date: 1996/06/27 20:15:53

commit b2ffaeb0dd3bdddc8e73d30e2bfffa12bcc4ed93
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:15:31 1996 +0000

    add counter for conflicts
    
    CVS patchset: 691
    CVS date: 1996/06/27 20:15:31

commit 74c00d052d61ca20cf39cd24c02ebf8b61a4e93e
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:15:15 1996 +0000

    make tools depend on librpm.a
    
    CVS patchset: 690
    CVS date: 1996/06/27 20:15:15

commit a18157f3a98560131eebaad2f54fc20d20a9a172
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:10:16 1996 +0000

    *** empty log message ***
    
    CVS patchset: 689
    CVS date: 1996/06/27 20:10:16

commit 926a1e909c0a73aa2e5a61ae1c9ea682ea3e2d66
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 20:06:53 1996 +0000

    *** empty log message ***
    
    CVS patchset: 688
    CVS date: 1996/06/27 20:06:53

commit b211bddc8d74e65286de50571bceafeefcbd856b
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 18:53:46 1996 +0000

    add CONFLICT* tags
    
    CVS patchset: 687
    CVS date: 1996/06/27 18:53:46

commit 21a4aa3fd334b0d116a63ea6f74e0166f27e24f6
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 18:27:18 1996 +0000

    set major number to 3
    
    CVS patchset: 686
    CVS date: 1996/06/27 18:27:18

commit 94e9397435dece32e0f834e43d26d3649dc84d8f
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 18:25:09 1996 +0000

    handle staticly linked binaries
    
    CVS patchset: 685
    CVS date: 1996/06/27 18:25:09

commit d6d9d0fefdf007228c16d412f06a490deffa04f2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 18:19:14 1996 +0000

    *** empty log message ***
    
    CVS patchset: 684
    CVS date: 1996/06/27 18:19:14

commit 13b145e64b00e7f8cc696fb533c99e04aa15a8c5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 18:18:15 1996 +0000

    supports version 3 packages
    
    CVS patchset: 683
    CVS date: 1996/06/27 18:18:15

commit 5c1b4c03770cc549473df83aa37ba15eb9ef54fc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 18:14:45 1996 +0000

    added support for INT8 types in query formats
    
    CVS patchset: 682
    CVS date: 1996/06/27 18:14:45

commit 1b11db2d4f98e38a8252811d820bd4bdf4e957ee
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 17:22:18 1996 +0000

    added stuff for nosrc packages
    
    CVS patchset: 681
    CVS date: 1996/06/27 17:22:18

commit 7f7e7bcae2cc0422ecf8d7055d1fcec75964afc5
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 17:21:31 1996 +0000

    added stuff for nosrc
    little better progress messages
    
    CVS patchset: 680
    CVS date: 1996/06/27 17:21:31

commit 533ca15f5568d3c244cf71a401c0e5f6582f193d
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 17:20:56 1996 +0000

    added stuff of nosrc packages
    
    CVS patchset: 679
    CVS date: 1996/06/27 17:20:56

commit 1fa24fb7cf2e8e7f5291c1ad1e65b1fa093b8dfc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 17:19:43 1996 +0000

    added --initdb
    
    CVS patchset: 678
    CVS date: 1996/06/27 17:19:43

commit 882a311aef44cdb6870670a11fa738cbed90b34c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 17:19:25 1996 +0000

    removed Provides: and Requires: tags from printouts
    
    CVS patchset: 677
    CVS date: 1996/06/27 17:19:25

commit cc72a55f6c008d59dc3826926d98900c9c5bd801
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 17:18:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 676
    CVS date: 1996/06/27 17:18:59

commit 09522d7d0467300ed2683cb8545a65f8fd38629c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 17:18:07 1996 +0000

    when installs are done with a --root, the getpwent() stuff needs to
    happen in a chroot(). RPM forks itself to do so.
    
    CVS patchset: 675
    CVS date: 1996/06/27 17:18:07

commit 3b2aada6e223c60301bddd6c8156064e1e137809
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 17:17:32 1996 +0000

    added rpmdbInit() call
    
    CVS patchset: 674
    CVS date: 1996/06/27 17:17:32

commit 90fb1d3e71a9ace0bb6d59d26e5e551cfd044cc4
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 27 16:45:09 1996 +0000

    added RPMTAG_NOSOURCE RPMTAG_NOPATCH
    
    CVS patchset: 673
    CVS date: 1996/06/27 16:45:09

commit 573a3391b40bf51c8ffefc91abd7535ce99e6e6d
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 27 16:37:28 1996 +0000

    *** empty log message ***
    
    CVS patchset: 672
    CVS date: 1996/06/27 16:37:28

commit 6aff2ddf3d5ad0c12ccd9369e33ebc3309bec579
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 25 15:09:03 1996 +0000

    more cleaning
    
    CVS patchset: 671
    CVS date: 1996/06/25 15:09:03

commit 01015bf25dd8f76ce94fb15f584c9785f4c32620
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jun 25 14:59:20 1996 +0000

    general cleaning
    
    CVS patchset: 670
    CVS date: 1996/06/25 14:59:20

commit 48efe16be8d70895452a26a4c4a3964633097d3a
Author: Unknown Author <devnull@localhost>
Date:   Mon Jun 24 22:06:04 1996 +0000

    *** empty log message ***
    
    CVS patchset: 669
    CVS date: 1996/06/24 22:06:04

commit 71a118d40248324bd65e3ae3b921651a2871d348
Author: Unknown Author <devnull@localhost>
Date:   Mon Jun 24 22:04:49 1996 +0000

    allow # comments in the %files section
    
    CVS patchset: 668
    CVS date: 1996/06/24 22:04:49

commit 8a0025607cc6dde1fc8480611b38d58ea87d8556
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jun 21 18:43:07 1996 +0000

    use RPM_OPT_FLAGS if there
    
    CVS patchset: 667
    CVS date: 1996/06/21 18:43:07

commit 358b8181c2c6702763d19dba9683caf0d20e9872
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jun 21 01:47:18 1996 +0000

    added uint_16 type
    
    CVS patchset: 666
    CVS date: 1996/06/21 01:47:18

commit 5e700ad271d6e914190c51b9972a3a38b429c039
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Jun 20 22:28:02 1996 +0000

    got --whatrequires, --whatprovides, --requires, --provides, --dump
    implemented
    
    CVS patchset: 665
    CVS date: 1996/06/20 22:28:02

commit a30d9b77a430554dc33fe560c585150045d3054a
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 15:56:43 1996 +0000

    handle new signature types
    
    CVS patchset: 664
    CVS date: 1996/06/20 15:56:43

commit 7617f677bf35c3a9c0620ec8b64b3ba02eaeeb8a
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 15:55:35 1996 +0000

    fixed up for new signature styles
    
    CVS patchset: 663
    CVS date: 1996/06/20 15:55:35

commit 612f9a2e2ec3af21310a38d3beb6605615653b24
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 15:55:14 1996 +0000

    added --nopgp
    
    CVS patchset: 662
    CVS date: 1996/06/20 15:55:14

commit f3739ce23c940c9c6ee12be7d9c023d84ccee856
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 15:45:01 1996 +0000

    *** empty log message ***
    
    CVS patchset: 661
    CVS date: 1996/06/20 15:45:01

commit 9000f3506ab3ae94578391589c41fa6e8f38364e
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 15:40:55 1996 +0000

    new arg
    
    CVS patchset: 660
    CVS date: 1996/06/20 15:40:55

commit 451c1558def1b526add7a096bde654e9ad5b5227
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 03:13:18 1996 +0000

    *** empty log message ***
    
    CVS patchset: 659
    CVS date: 1996/06/20 03:13:18

commit dc2a236ff40590aed707ff007261befad7c929d5
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 03:10:44 1996 +0000

    handle new sig types
    always do at least a MD5
    
    CVS patchset: 658
    CVS date: 1996/06/20 03:10:44

commit 4969fb4549ad1a5d3fd32ed36aa9feb37c8ba523
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 03:10:17 1996 +0000

    new sig types
    
    CVS patchset: 657
    CVS date: 1996/06/20 03:10:17

commit 92d0e6456c5cf7c5279fccd7fa524eae8f953954
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 03:09:11 1996 +0000

    only ask for passphrase for MD5_PGP sig types
    
    CVS patchset: 656
    CVS date: 1996/06/20 03:09:11

commit ee8093c3d24334fcd1db91e1d6ae9fa51ab6973c
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 03:08:31 1996 +0000

    add mdbinfile() which is like mdfile() but it returns a binary MD5
    
    CVS patchset: 655
    CVS date: 1996/06/20 03:08:31

commit 4d101d220472a773a0d196baa1cfec984f8d959d
Author: Unknown Author <devnull@localhost>
Date:   Thu Jun 20 02:19:00 1996 +0000

    fix signedness
    
    CVS patchset: 654
    CVS date: 1996/06/20 02:19:00

commit 6e6482b60b97f2b5e9dfb8edd0d3fca6fe009f87
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 19:59:30 1996 +0000

    handle new sig types
    
    CVS patchset: 653
    CVS date: 1996/06/19 19:59:30

commit 6f435ae1313835a6f14a11467f0fff8fc7ebbc96
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 18:18:04 1996 +0000

    comment
    
    CVS patchset: 652
    CVS date: 1996/06/19 18:18:04

commit c334b7caf95ba39075cdee4668e22d6a34872e1c
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 14:38:20 1996 +0000

    hack for new pgp handling
    
    CVS patchset: 651
    CVS date: 1996/06/19 14:38:20

commit 4ce45208ee044c453caa0bd188707b47957a6513
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 14:31:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 650
    CVS date: 1996/06/19 14:31:59

commit 7d2880e5fb67480b4b16112f31e9feb68879b599
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 14:30:19 1996 +0000

    remove pub/sec ring stuff, set defaults properly
    
    CVS patchset: 649
    CVS date: 1996/06/19 14:30:19

commit eb5cf89443af8c3ad69b4058c81dcfae028c333a
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 19 14:29:48 1996 +0000

    remove pu/sec ring stuff, and use PGPPATH properly
    
    CVS patchset: 648
    CVS date: 1996/06/19 14:29:48

commit ae3f14f40a1c2dae120a3f8d99dd7bb1719974d9
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 20:05:43 1996 +0000

    *** empty log message ***
    
    CVS patchset: 647
    CVS date: 1996/06/18 20:05:43

commit cda8cbaddd9ee56b1d8061e0a3fa5f3a24282975
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 18:50:28 1996 +0000

    misc header
    
    CVS patchset: 646
    CVS date: 1996/06/18 18:50:28

commit 19323af58ffa7dbbeada1f56f49e1e7f22ef6d0b
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 18:41:17 1996 +0000

    misc header
    
    CVS patchset: 645
    CVS date: 1996/06/18 18:41:17

commit b79de33f1c004788d79b040dd8f2d35da908001b
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 18:39:58 1996 +0000

    misc headers
    
    CVS patchset: 644
    CVS date: 1996/06/18 18:39:58

commit 6d78907efe48d99231e61a2b629ca721637666c5
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 17:07:21 1996 +0000

    add errno.h
    
    CVS patchset: 643
    CVS date: 1996/06/18 17:07:21

commit 4cd9f67a2a4766d77b93818e99e0d5e97636bf85
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 18 17:06:32 1996 +0000

    clean up
    
    CVS patchset: 642
    CVS date: 1996/06/18 17:06:32

commit 571888e3a2800d20f53290ee6fd152387e81294d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 17 19:43:55 1996 +0000

    merged rpmlib.h and package.h
    
    CVS patchset: 641
    CVS date: 1996/06/17 19:43:55

commit 04f3815a7c5e24ea362c7ecf66ba2da8ebb82646
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 16 22:45:47 1996 +0000

    cleanup temp file stuff
    
    CVS patchset: 640
    CVS date: 1996/06/16 22:45:47

commit 89bc7540b7081662a9313660c1f66fe9019b12ac
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 16 22:45:29 1996 +0000

    header fix for glibc
    
    CVS patchset: 639
    CVS date: 1996/06/16 22:45:29

commit 689d37c54d56829a08163321676eae7102a96268
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 16 16:08:51 1996 +0000

    use getBooleanVar()
    
    CVS patchset: 638
    CVS date: 1996/06/16 16:08:51

commit 744f6a80afb4144c788f12a9fc5f49afcbc24ed7
Author: Unknown Author <devnull@localhost>
Date:   Mon Jun 10 20:47:55 1996 +0000

    more messages
    
    CVS patchset: 637
    CVS date: 1996/06/10 20:47:55

commit 83203543e52bb5b57b7f80a70a3bfcbfa6dd2d39
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:43:11 1996 +0000

    added interface for dependency checking
    
    CVS patchset: 636
    CVS date: 1996/06/10 17:43:11

commit fa630a02d556c9f3f05c29ef3b7a4d82fce7601a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:42:57 1996 +0000

    fixed bugs, added dependency checks for removed packages
    
    CVS patchset: 635
    CVS date: 1996/06/10 17:42:57

commit 20c3b8d652d45f0931de842804f9b3ebeacff785
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:42:51 1996 +0000

    added depends.c
    
    CVS patchset: 634
    CVS date: 1996/06/10 17:42:51

commit 909fbdadede471a5406fd26039bc903e3adbf37b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:42:38 1996 +0000

    documented flags for dependencies
    
    CVS patchset: 633
    CVS date: 1996/06/10 17:42:38

commit 494a10ca94afb8c3a58a5844cba0a9cc72c946d8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:41:44 1996 +0000

    *** empty log message ***
    
    CVS patchset: 632
    CVS date: 1996/06/10 17:41:44

commit 8c20f1d6dc869c453298903d9743a6f28270aec3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:41:24 1996 +0000

    1) changed doInstall() and doUninstall() calls to pass all of the arguments
       at once
    2) added dependency checking
    
    CVS patchset: 631
    CVS date: 1996/06/10 17:41:24

commit e573369c0e933d05bf46f7cff53af4639149441c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:40:40 1996 +0000

    1) added --nodeps for installs and uninstalls
    2) changed doInstall() and doUninstall() calls to pass all of the arguments
       at once
    3) added --requiredby and --provides queries
    
    CVS patchset: 630
    CVS date: 1996/06/10 17:40:40

commit 6330070bc6cab90f89dc5e15b20daac9e756bfb8
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 17:39:26 1996 +0000

    changed version to 2.1
    
    CVS patchset: 629
    CVS date: 1996/06/10 17:39:26

commit a34ffc0e7df8ee72b5f79d40b8128ad72e646101
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 02:36:07 1996 +0000

    Initial revision
    
    CVS patchset: 628
    CVS date: 1996/06/10 02:36:07

commit 792adcf00077ba232e2f518ce859b3b3897cf13b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jun 10 02:35:48 1996 +0000

    *** empty log message ***
    
    CVS patchset: 627
    CVS date: 1996/06/10 02:35:48

commit e1ef49377f2820417ec0a6b04213e39744fb70a8
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 9 21:51:13 1996 +0000

    handles providesIndex and requiredbyIndex
    
    CVS patchset: 626
    CVS date: 1996/06/09 21:51:13

commit 967ef34a058779058906075e7d6cb04060250fce
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 9 21:50:44 1996 +0000

    added rpmdbFindByProvides(), rpmdbFindByRequiredBy()
    
    CVS patchset: 625
    CVS date: 1996/06/09 21:50:44

commit db0e2d93fa8ce8f13fe2a10ef7ccdb69fe1576ce
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jun 9 21:47:42 1996 +0000

    added requiredby and provides querying
    
    CVS patchset: 624
    CVS date: 1996/06/09 21:47:42

commit 812468916a676676ebd948bbc4a645f05f6e7c1f
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jun 8 17:27:10 1996 +0000

    added dependency querying
    
    CVS patchset: 623
    CVS date: 1996/06/08 17:27:10

commit 250264495c9e46118b6cf9a769eb2df06d1d756b
Author: Unknown Author <devnull@localhost>
Date:   Sat Jun 8 03:39:49 1996 +0000

    provide lib.so IF lib.so.*
    
    CVS patchset: 622
    CVS date: 1996/06/08 03:39:49

commit adcdd689b083d8eff8151aaf9827b3b07a2d46bc
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:50:22 1996 +0000

    display cleanup
    
    CVS patchset: 621
    CVS date: 1996/06/07 18:50:22

commit ae24d0f4b120e04e33dfaa97744594170ce6d384
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:32:10 1996 +0000

    Initial revision
    
    CVS patchset: 620
    CVS date: 1996/06/07 18:32:10

commit 1c2ce0164f29372af2dc4a6e23c2a08629e29f09
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:31:31 1996 +0000

    move a lot of stuff to names.c and files.c
    
    CVS patchset: 619
    CVS date: 1996/06/07 18:31:31

commit cab11b049002d17022f64d03f55d1f1229cd4391
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:31:08 1996 +0000

    wrap up req/dep
    
    CVS patchset: 618
    CVS date: 1996/06/07 18:31:08

commit 081d340a210fb263b19f9cd8df42f92eaf5043ab
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:29:32 1996 +0000

    new prototypes
    
    CVS patchset: 617
    CVS date: 1996/06/07 18:29:32

commit 0f3bd22def7d3b2eb728f1c6cdd2e24a91149296
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:29:21 1996 +0000

    *** empty log message ***
    
    CVS patchset: 616
    CVS date: 1996/06/07 18:29:21

commit b0519bfdd2c6914d597ebe17ef4d3ac2594dd764
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:27:56 1996 +0000

    move doRmSource() here
    
    CVS patchset: 615
    CVS date: 1996/06/07 18:27:56

commit b6b3ace3887070d9c6bdb76f0668698e14868559
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:27:14 1996 +0000

    add files.o names.o reqprov.o
    
    CVS patchset: 614
    CVS date: 1996/06/07 18:27:14

commit 94e26c5b59c6064a4203576319903f13b3432ecc
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 18:25:24 1996 +0000

    use the new tagtable to dump the header
    
    CVS patchset: 613
    CVS date: 1996/06/07 18:25:24

commit 50f8edaeb3b5d3f958e2323fdf9bf9a2b07f5c15
Author: Unknown Author <devnull@localhost>
Date:   Fri Jun 7 15:22:15 1996 +0000

    added REQUIRE_ANY (for no version dep)
    
    CVS patchset: 612
    CVS date: 1996/06/07 15:22:15

commit 05d93b0ba091866783dda28ffd7e34baf15f33cb
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 5 18:30:51 1996 +0000

    use on-disk file type to determine what tests to use
    
    CVS patchset: 611
    CVS date: 1996/06/05 18:30:51

commit def69da25b701d3fe0829cea15ccb957b53ac181
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 5 04:38:42 1996 +0000

    *** empty log message ***
    
    CVS patchset: 610
    CVS date: 1996/06/05 04:38:42

commit 9d3a5c2aa8a49f4c1895981cfd08f35bea840ded
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 5 02:05:19 1996 +0000

    *** empty log message ***
    
    CVS patchset: 609
    CVS date: 1996/06/05 02:05:19

commit 047e96d7bb17ef6c672d140b3f96b08f81aa8b18
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 5 01:38:44 1996 +0000

    *** empty log message ***
    
    CVS patchset: 608
    CVS date: 1996/06/05 01:38:44

commit 26d7b67e9c3b4aadcd8cbe745f73365634be9f7e
Author: Unknown Author <devnull@localhost>
Date:   Wed Jun 5 01:33:17 1996 +0000

    *** empty log message ***
    
    CVS patchset: 607
    CVS date: 1996/06/05 01:33:17

commit bd1b97e82c83545643b7659b0331db53adfcf580
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 4 22:54:17 1996 +0000

    *** empty log message ***
    
    CVS patchset: 606
    CVS date: 1996/06/04 22:54:17

commit 2c31a7a90151487ef197a30a3fa12129d9b68d2f
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 4 22:53:56 1996 +0000

    fixed chmod(symlink) bug
    
    CVS patchset: 605
    CVS date: 1996/06/04 22:53:56

commit cb255f199f90521849a13448a4419e7f449c0736
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 4 19:34:50 1996 +0000

    fix --root --verify
    
    CVS patchset: 604
    CVS date: 1996/06/04 19:34:50

commit b555ee90590a81e796477339bcd8d2df8aa23b8f
Author: Unknown Author <devnull@localhost>
Date:   Tue Jun 4 19:33:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 603
    CVS date: 1996/06/04 19:33:46

commit d3124e4b7cb4839342f70f3769d9acd42b11e599
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:25:37 1996 +0000

    *** empty log message ***
    
    CVS patchset: 602
    CVS date: 1996/06/02 18:25:37

commit f7a945fa9115599bfabfe8a803f2ad313011a059
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:06:49 1996 +0000

    *** empty log message ***
    
    CVS patchset: 601
    CVS date: 1996/06/02 18:06:49

commit 5f39cdec343debe1efe77e13abf58fc03f2a73dc
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:06:00 1996 +0000

    handle # comments in the preamble
    
    CVS patchset: 600
    CVS date: 1996/06/02 18:06:00

commit 2d7219af102c0c59136f96e3b0891b3c11eaedb0
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:05:36 1996 +0000

    don't barf if we can't canonicalize the hostname
    
    CVS patchset: 599
    CVS date: 1996/06/02 18:05:36

commit 6e459f800208f04cbfb4e74434bc33545b592779
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:05:11 1996 +0000

    make arch_sensitive the default
    
    CVS patchset: 598
    CVS date: 1996/06/02 18:05:11

commit 870b1ea849237faab38da0be44270cd5e812ff27
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:04:36 1996 +0000

    add --querybynumber
    
    CVS patchset: 597
    CVS date: 1996/06/02 18:04:36

commit ceb25d98d5b80de86321e1f428e15a5b793f207f
Author: Unknown Author <devnull@localhost>
Date:   Sun Jun 2 18:04:20 1996 +0000

    *** empty log message ***
    
    CVS patchset: 596
    CVS date: 1996/06/02 18:04:20

commit af3f428bd252335e0b510fb1187f832e9d68069f
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 03:11:57 1996 +0000

    Initial revision
    
    CVS patchset: 595
    CVS date: 1996/05/23 03:11:57

commit 84a95a572a08e683d700d93bbcc14bac562489a8
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 03:05:34 1996 +0000

    Initial revision
    
    CVS patchset: 594
    CVS date: 1996/05/23 03:05:34

commit abebd59dd6f049b71d50d3da9b0b3315217493cb
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 03:00:47 1996 +0000

    *** empty log message ***
    
    CVS patchset: 593
    CVS date: 1996/05/23 03:00:47

commit 196951db61970866cb2f10718123ea37955e47f3
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 02:42:51 1996 +0000

    set the mode always when installing (for %attr() support)
    
    CVS patchset: 592
    CVS date: 1996/05/23 02:42:51

commit 4a5d9f080d5b7d4c36ebf9d1175529c06bb851f1
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 02:38:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 591
    CVS date: 1996/05/23 02:38:59

commit e3872c8cf7d4d22a873d59144189c74adc934501
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 02:34:41 1996 +0000

    fix dumb %verify() parse bug
    add %attr() support
    
    CVS patchset: 590
    CVS date: 1996/05/23 02:34:41

commit 416ac7c33bf99de84d0ce75be02751a1387a44b5
Author: Unknown Author <devnull@localhost>
Date:   Thu May 23 00:15:27 1996 +0000

    *** empty log message ***
    
    CVS patchset: 589
    CVS date: 1996/05/23 00:15:27

commit a22ba6af4a73c18891207b24d254a40c06f3fb8a
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 20:39:47 1996 +0000

    added sun4, mips, 68k, sgi, sunos, solaris
    
    CVS patchset: 588
    CVS date: 1996/05/22 20:39:47

commit fce5bd09af57607c2a7c5737f1a1e4b880baef97
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 20:39:33 1996 +0000

    fixed
    
    CVS patchset: 587
    CVS date: 1996/05/22 20:39:33

commit a6b6d18e5ceb3b637ca5616740a97874d2b25f23
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 19:39:24 1996 +0000

    use PATH to find cpio
    
    CVS patchset: 586
    CVS date: 1996/05/22 19:39:24

commit 4768c9cca20016256c129e1118e890615b09db9d
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 19:30:48 1996 +0000

    pass "upgrade" arg to pre/post when upgrading
    
    CVS patchset: 585
    CVS date: 1996/05/22 19:30:48

commit 43c3d744d5bf889cabaffab61fa695c950265674
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 19:30:04 1996 +0000

    pass "upgrade" arg to pre/post scripts when upgrading
    remove BASH-ism
    
    CVS patchset: 584
    CVS date: 1996/05/22 19:30:04

commit 901e34898402ef1eb33a68ce401c07670bc5bd76
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 19:27:16 1996 +0000

    add code for scripts getting "upgrade" argument
    
    CVS patchset: 583
    CVS date: 1996/05/22 19:27:16

commit 71f749f517c3835be99a23f872e41e0349bf9265
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:42:35 1996 +0000

    small oops
    
    CVS patchset: 582
    CVS date: 1996/05/22 17:42:35

commit 1118c8904a17ae929a324649ce20961dc1658093
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:38:46 1996 +0000

    strip all trailing whitespace in the spec file
    of course, this means you can't have files with a space at the end
    
    CVS patchset: 581
    CVS date: 1996/05/22 17:38:46

commit cb4b89886c1b3bb7911f7d12d70ba2c2f8d1f212
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:34:35 1996 +0000

    don't use RPMS/<arch> if not arch_sensitive
    
    CVS patchset: 580
    CVS date: 1996/05/22 17:34:35

commit 93ca0fdc2ade3e5274fab732df23fcaa81ca1d00
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:24:20 1996 +0000

    Initial revision
    
    CVS patchset: 579
    CVS date: 1996/05/22 17:24:20

commit 67161fc989ce78d4b7bfc557111301fe131a7b3c
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:23:51 1996 +0000

    use myftw() istead of ftw() -- it uses lstat() instead of stat()
    
    CVS patchset: 578
    CVS date: 1996/05/22 17:23:51

commit 9e2a3ed366ae3caa37590fe2eae3be60e188cb57
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 17:09:32 1996 +0000

    added myftw.c
    
    CVS patchset: 577
    CVS date: 1996/05/22 17:09:32

commit 567bcde1db5a6477d1e2ed2cc8945518b1e177f8
Author: Unknown Author <devnull@localhost>
Date:   Wed May 22 14:37:19 1996 +0000

    handle rpm -q 4gl (invalid package)
    
    CVS patchset: 576
    CVS date: 1996/05/22 14:37:19

commit df1a2b2fa4bf07975f7dd92d5d77b065502f4036
Author: Unknown Author <devnull@localhost>
Date:   Fri May 17 18:47:11 1996 +0000

    fix globbing bug when Root: is used
    
    CVS patchset: 575
    CVS date: 1996/05/17 18:47:11

commit 647d0794e12a7034560e78564099413fbee1e5a0
Author: Unknown Author <devnull@localhost>
Date:   Fri May 17 18:37:46 1996 +0000

    call verifySpec()
    
    CVS patchset: 574
    CVS date: 1996/05/17 18:37:46

commit f28f51fc0258328844e7ccd50b407522e7bab442
Author: Unknown Author <devnull@localhost>
Date:   Fri May 17 18:35:55 1996 +0000

    add verifySpec()
    
    CVS patchset: 573
    CVS date: 1996/05/17 18:35:55

commit 026db0c54251d35559d07448e7ae654544f684f3
Author: Unknown Author <devnull@localhost>
Date:   Fri May 17 18:35:06 1996 +0000

    add LDFLAGS to rpmconvert link
    
    CVS patchset: 572
    CVS date: 1996/05/17 18:35:06

commit 98b9c3102bff03da71533d8da3daa24e351c34b0
Author: Unknown Author <devnull@localhost>
Date:   Thu May 16 15:23:39 1996 +0000

    add vspec
    
    CVS patchset: 571
    CVS date: 1996/05/16 15:23:39

commit 40ee60b49c41c23349ecd15eb0524af334a35b45
Author: Unknown Author <devnull@localhost>
Date:   Fri May 10 16:24:05 1996 +0000

    handle dot files
    
    CVS patchset: 570
    CVS date: 1996/05/10 16:24:05

commit a97ae7625c806f6ddcac01f3db7fc7b918f85f89
Author: Erik Troan <ewt@redhat.com>
Date:   Wed May 8 02:13:37 1996 +0000

    changed version to 2.0.8
    
    CVS patchset: 569
    CVS date: 1996/05/08 02:13:37

commit 90561990deb4dc2d5627bca4cda7d528a084e954
Author: Unknown Author <devnull@localhost>
Date:   Tue May 7 22:03:07 1996 +0000

    new args
    
    CVS patchset: 568
    CVS date: 1996/05/07 22:03:07

commit 520e439a3142da997d3a2e6901bc176cbc267ae6
Author: Unknown Author <devnull@localhost>
Date:   Tue May 7 18:49:33 1996 +0000

    prelim Req / Prov stuff
    %files -f ... support
    
    CVS patchset: 567
    CVS date: 1996/05/07 18:49:33

commit e8d9a79e9f11209bd3c2aeff565fdbcfc3c0ae71
Author: Unknown Author <devnull@localhost>
Date:   Tue May 7 18:48:53 1996 +0000

    make build_subdir visible
    
    CVS patchset: 566
    CVS date: 1996/05/07 18:48:53

commit 01b86a9918bad3e00915b48c2aa570b64cfdbd56
Author: Unknown Author <devnull@localhost>
Date:   Tue May 7 18:48:11 1996 +0000

    prelim Req / Prov stuff
    slot for %files -f ...
    
    CVS patchset: 565
    CVS date: 1996/05/07 18:48:11

commit fe38562decb1fd139fdb2f7ca49422b1e2bad6c4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:26:53 1996 +0000

    1) undocumented --keep-temps, --search, and --where which aren't
       implemented anyway
    2) added --rcfile option
    
    CVS patchset: 564
    CVS date: 1996/05/07 03:26:53

commit 68460fa19ba737cebba77108d22bb4065eeca22d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:26:30 1996 +0000

    1) undocumented --keep-temps, --search, and --where which aren't
       implemented anyway
    2) documented --rcfile
    
    CVS patchset: 563
    CVS date: 1996/05/07 03:26:30

commit a640a789e79fa3a77177c52b698b87b5f442b695
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:26:27 1996 +0000

    *** empty log message ***
    
    CVS patchset: 562
    CVS date: 1996/05/07 03:26:27

commit 67b9dec6682b623451775039bb15db6f48847eb8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:22:31 1996 +0000

    1) fixed bug in reading $HOME/.rpmrc
    2) allows rpmrc file to be overridden
    
    CVS patchset: 561
    CVS date: 1996/05/07 03:22:31

commit b64d6eeecb0a8fbf397320e3a9f30e5c03f1ec10
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:22:16 1996 +0000

    updated prototype of readConfigFiles()
    
    CVS patchset: 560
    CVS date: 1996/05/07 03:22:16

commit c1b755b88174a2e441e8309a209532143ed29a44
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 03:21:44 1996 +0000

    uses a temp file to pass big file lists to cpio
    
    CVS patchset: 559
    CVS date: 1996/05/07 03:21:44

commit fc92f872116bd0abe4d4844207d0570742e36d6c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue May 7 01:49:06 1996 +0000

    the norunScripts parameter to runScript() was implemented backwards :-(
    
    CVS patchset: 558
    CVS date: 1996/05/07 01:49:06

commit 015375b576fa1f612217667dd8c87632822a6541
Author: Unknown Author <devnull@localhost>
Date:   Mon May 6 19:57:41 1996 +0000

    add PROVIDES define
    
    CVS patchset: 557
    CVS date: 1996/05/06 19:57:41

commit b5b503d43c81db056d436389ceceb5bf36ff1be1
Author: Unknown Author <devnull@localhost>
Date:   Mon May 6 19:14:52 1996 +0000

    clean rpm.shared
    
    CVS patchset: 556
    CVS date: 1996/05/06 19:14:52

commit 938bce37bd971bf6cd6b776d00c473e9db3b3316
Author: Unknown Author <devnull@localhost>
Date:   Thu May 2 00:48:18 1996 +0000

    started provide/require stuff
    unknown field -> error
    
    CVS patchset: 555
    CVS date: 1996/05/02 00:48:18

commit 267fcf65d64cda7a55bdfd1afc7697c9de85b5fd
Author: Unknown Author <devnull@localhost>
Date:   Wed May 1 21:14:53 1996 +0000

    *** empty log message ***
    
    CVS patchset: 554
    CVS date: 1996/05/01 21:14:53

commit 41c262efdb9af54cb1327a28028026269fc2a2a3
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 29 14:26:59 1996 +0000

    *** empty log message ***
    
    CVS patchset: 553
    CVS date: 1996/04/29 14:26:59

commit f0156ac74cc1e30c04b3c6429771b8b437bb4953
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 29 14:26:01 1996 +0000

    turn off any default armor
    
    CVS patchset: 552
    CVS date: 1996/04/29 14:26:01

commit 7f4acbe43db5200e0cc7074c51938b4a1ad4f394
Author: Unknown Author <devnull@localhost>
Date:   Thu Apr 18 16:29:40 1996 +0000

    added sigs
    
    CVS patchset: 551
    CVS date: 1996/04/18 16:29:40

commit e3ef22cfe88378bdbe1fbca784f43f1ecf0a54cd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:38:36 1996 +0000

    *** empty log message ***
    
    CVS patchset: 550
    CVS date: 1996/04/15 22:38:36

commit 4d6d411489b30f00f656edd36eab0cc7e7b4d1cc
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:23:46 1996 +0000

    added support for INSTALL_NOSCRIPTS, UNINSTALL_NOSCRIPTS
    changed test to use UNINSTALL_TEST flag
    
    CVS patchset: 549
    CVS date: 1996/04/15 22:23:46

commit 35cd57b45759ff913a38478e22489620f590ce41
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:23:34 1996 +0000

    added INSTALL_NOSCRIPTS, UNINSTALL_TEST, UNINSTALL_NOSCRIPTS
    
    CVS patchset: 548
    CVS date: 1996/04/15 22:23:34

commit 9624dafc69d4050051f1ebc3f0fb95c480bc5b8c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:23:19 1996 +0000

    packages with no group get added to "Unknown" group
    
    CVS patchset: 547
    CVS date: 1996/04/15 22:23:19

commit e6b5229f06ebfde5c669b9e5f7902ea629f329ed
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:23:05 1996 +0000

    runScript() runs scripts conditionally
    
    CVS patchset: 546
    CVS date: 1996/04/15 22:23:05

commit 6156911e0f116578b1c541dadf0fdd2e618fd7fe
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:22:50 1996 +0000

    added INSTALL_NOSCRIPTS
    
    CVS patchset: 545
    CVS date: 1996/04/15 22:22:50

commit f9718739d9c760ee3c3bf4f039db91d08a0da559
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:21:30 1996 +0000

    added --script querying
    
    CVS patchset: 544
    CVS date: 1996/04/15 22:21:30

commit 6f60c4901fe7b7925c58a2742972c043d64e09da
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:21:21 1996 +0000

    changed uninstall code for new uninstall call
    
    CVS patchset: 543
    CVS date: 1996/04/15 22:21:21

commit d9c99fc4ef3dc3e7bd57a646faf87e0e6caa2b75
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:20:01 1996 +0000

    1) added --scripts query option
    2) added --noscripts option for installs and uninstalls
    3) changed uninstall code for new uninstall call
    
    CVS patchset: 542
    CVS date: 1996/04/15 22:20:01

commit 3966935d19254dad6128fefeb73a1bcea502f014
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:19:41 1996 +0000

    changed version to 2.0.7
    
    CVS patchset: 541
    CVS date: 1996/04/15 22:19:41

commit fb1f240dcb9f64a5e258454b5a7eccdbd109c631
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:19:30 1996 +0000

    *** empty log message ***
    
    CVS patchset: 540
    CVS date: 1996/04/15 22:19:30

commit 31a3a231caeaf977de077160abf58d012188b3d9
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 22:16:27 1996 +0000

    added info on --scripts, --noscripts
    
    CVS patchset: 539
    CVS date: 1996/04/15 22:16:27

commit b9fef275b7fccc0563a4f738105bb2cdf4b2cead
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 15 21:29:01 1996 +0000

    added REQUIRE/PROVIDE tags
    added version dependency constants
    
    CVS patchset: 538
    CVS date: 1996/04/15 21:29:01

commit 434d04c5d700e42f870f53d621fe4de25756ad9d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 21:09:40 1996 +0000

    fixed return codes
    
    CVS patchset: 537
    CVS date: 1996/04/15 21:09:40

commit c1eae68958bc7d9ccbf7f74fa0cf0d77527c9c57
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 21:08:12 1996 +0000

    fixed new awk code which generated tagtable.c
    
    CVS patchset: 536
    CVS date: 1996/04/15 21:08:12

commit 29414279b610f56c8e1e491c6ebb0bdad6352a0c
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Apr 15 21:06:26 1996 +0000

    queries relative paths correctly (thanks to Johnie Stafford)
    
    CVS patchset: 535
    CVS date: 1996/04/15 21:06:26

commit f6c4f0538ea3534ba0a61f578d22d98a293169a8
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Apr 12 16:51:38 1996 +0000

    use awk instead of perl to make tagtable.c
    
    CVS patchset: 534
    CVS date: 1996/04/12 16:51:38

commit a0b0ad43bf0bdc76e1a0d53151eff83f76282917
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 8 17:55:35 1996 +0000

    *** empty log message ***
    
    CVS patchset: 533
    CVS date: 1996/04/08 17:55:35

commit 94eddeb66a6e1ca6b934b1da79c505673752fad5
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 8 17:53:21 1996 +0000

    set umask on all script runs
    
    CVS patchset: 532
    CVS date: 1996/04/08 17:53:21

commit 7a677fce4600178304779ba3d4604afa6dc7cfd0
Author: Unknown Author <devnull@localhost>
Date:   Fri Apr 5 17:39:43 1996 +0000

    made rpm2cpio get stripped during install
    
    CVS patchset: 531
    CVS date: 1996/04/05 17:39:43

commit 3a7bfad7bebaab8129e70ab25b9a930c643c3d35
Author: Unknown Author <devnull@localhost>
Date:   Fri Apr 5 17:37:06 1996 +0000

    changed to version 2.0.6
    
    CVS patchset: 530
    CVS date: 1996/04/05 17:37:06

commit a82bae4fa4144756cb04125144b09a34ac9d6541
Author: Unknown Author <devnull@localhost>
Date:   Fri Apr 5 17:36:11 1996 +0000

    packages with bad headers shouldn't cause an error, just a differnet return
    code
    
    CVS patchset: 529
    CVS date: 1996/04/05 17:36:11

commit 51c14bb24858aab6447b3a8631b445c388a2a6bc
Author: Unknown Author <devnull@localhost>
Date:   Fri Apr 5 17:35:45 1996 +0000

    added more intelligent error messages for bad magic
    
    CVS patchset: 528
    CVS date: 1996/04/05 17:35:45

commit 9b4667fe91e6ae08dbf44b59a411d61f507d7202
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 04:01:18 1996 +0000

    changed version to 2.0.5
    
    CVS patchset: 527
    CVS date: 1996/04/03 04:01:18

commit b713f99520fd49ea9ca02d424feb6daf3385fe21
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:47:25 1996 +0000

    *** empty log message ***
    
    CVS patchset: 526
    CVS date: 1996/04/03 03:47:25

commit 65df4a10e9f542ef4d716219fb00203a5ad2afef
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:46:41 1996 +0000

    doInstall() now returns success or error
    
    CVS patchset: 525
    CVS date: 1996/04/03 03:46:41

commit 119be69b35be03cd27e5defe193eb93e56485117
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:46:35 1996 +0000

    Initial revision
    
    CVS patchset: 524
    CVS date: 1996/04/03 03:46:35

commit ca716f386ed2e30c2a7683de1fd9624768df704e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:45:27 1996 +0000

    wrote queryPrintTags()
    made doQuery return something more reasonable
    
    CVS patchset: 523
    CVS date: 1996/04/03 03:45:27

commit 296a55b25b02f021ff2d5d98732ed20710dac354
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:45:17 1996 +0000

    doQuery() should return an int
    
    CVS patchset: 522
    CVS date: 1996/04/03 03:45:17

commit a6e28f246fb6d3388d3f6ab44272eb1320ea0c6b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:44:38 1996 +0000

    added --querytags, updated help/useage messages
    made install and queries return better error codes
    changed all exit(-1) to exit(1)
    
    CVS patchset: 521
    CVS date: 1996/04/03 03:44:38

commit 0b23836cdbe63d106b6358918e6612154d9c10c1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Apr 3 03:31:38 1996 +0000

    added documentation of custom query formats
    
    CVS patchset: 520
    CVS date: 1996/04/03 03:31:38

commit 762cb127aa8834157776b6eae320325af1ba6c7b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 2 03:37:03 1996 +0000

    added declarations for tag table
    
    CVS patchset: 519
    CVS date: 1996/04/02 03:37:03

commit bd9d21bd8cd5633b763bd66cf11dde2d2d650d9f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 2 03:36:54 1996 +0000

    clean removes tagtable.c
    
    CVS patchset: 518
    CVS date: 1996/04/02 03:36:54

commit 4f94ee363c4ae295c4fcbe1fd2d10a5754055462
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 2 03:36:30 1996 +0000

    creates tagtable.c now
    
    CVS patchset: 517
    CVS date: 1996/04/02 03:36:30

commit 7ac93a6cfb262a02c55e1cb8f7fc241eb311e0e9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Apr 2 03:36:00 1996 +0000

    added support for user specified query formats
    
    CVS patchset: 516
    CVS date: 1996/04/02 03:36:00

commit 0fff3d855d88ea3f48006edbfcb08d0ec48d74a5
Author: Unknown Author <devnull@localhost>
Date:   Mon Apr 1 16:13:11 1996 +0000

    fixed HOWTO URL
    
    CVS patchset: 515
    CVS date: 1996/04/01 16:13:11

commit 4d98255dea7df05979a96d82f2982e582f499bb0
Author: Unknown Author <devnull@localhost>
Date:   Sat Mar 30 19:44:29 1996 +0000

    added --short-circuit
    
    CVS patchset: 514
    CVS date: 1996/03/30 19:44:29

commit 8efc2d3052ddc609abca3d143e661fcbc904f0ba
Author: Unknown Author <devnull@localhost>
Date:   Sat Mar 30 04:01:36 1996 +0000

    installs rpm2cpio man page
    
    CVS patchset: 513
    CVS date: 1996/03/30 04:01:36

commit 26cf99a9a9e48f3947b53cdb2ebb35173c1a42bb
Author: Unknown Author <devnull@localhost>
Date:   Sat Mar 30 04:01:09 1996 +0000

    documented --excludedocs and --includedocs
    
    CVS patchset: 512
    CVS date: 1996/03/30 04:01:09

commit 053d644aaf385badccb56d52e7586d9b915b0efd
Author: Unknown Author <devnull@localhost>
Date:   Sat Mar 30 04:00:55 1996 +0000

    Initial revision
    
    CVS patchset: 511
    CVS date: 1996/03/30 04:00:55

commit 2db2a25a6db5d99f691d7cb23ef15df0f00d9725
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:52:03 1996 +0000

    added support for excluded documentation files
    
    CVS patchset: 510
    CVS date: 1996/03/29 20:52:03

commit ebcd159917c814a332f4ae06276533c4584e6358
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:51:54 1996 +0000

    added excludedocs line to /etc/rpmrc
    
    CVS patchset: 509
    CVS date: 1996/03/29 20:51:54

commit 80037ff601a628d4950e6dd446e1b124cce7a038
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:51:40 1996 +0000

    added RPMFILE_STATE_NOTINSTALLED, INSTALL_NODOCS, RPMVAR_EXCLUDEDOCS
    
    CVS patchset: 508
    CVS date: 1996/03/29 20:51:40

commit c17b5493c19628fe6af906f3a18264fef7252023
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:51:20 1996 +0000

    doesn't remove files that were never installed (RPMFILE_STATE_NOTINSTALLED)
    
    CVS patchset: 507
    CVS date: 1996/03/29 20:51:20

commit 78b1ae4232406a317d8732523d147aeb1e1501bd
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:51:12 1996 +0000

    added getBooleanVar
    
    CVS patchset: 506
    CVS date: 1996/03/29 20:51:12

commit 82bf92cbb86877b26c3291cc20060f29fee2a8ed
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:50:53 1996 +0000

    recoginizes files that have intentionally not been installed
    
    CVS patchset: 505
    CVS date: 1996/03/29 20:50:53

commit 04bf634ef02e15502bf64a62f8296136264209b9
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 20:50:47 1996 +0000

    handles --excludedocs
    
    CVS patchset: 504
    CVS date: 1996/03/29 20:50:47

commit 9563a5d9c10baf4c76d8399d0378f82350beef5e
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 20:06:02 1996 +0000

    added some better error messages
    
    CVS patchset: 503
    CVS date: 1996/03/29 20:06:02

commit 6f8bc1da13ea9530c8c92a6b2dd7ef4435fd9993
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 20:05:40 1996 +0000

    fixed missing paren
    
    CVS patchset: 502
    CVS date: 1996/03/29 20:05:40

commit 1e344457e568f2a0903f4999ed506415f0e94176
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 19:57:19 1996 +0000

    fix mklinux stuff
    
    CVS patchset: 501
    CVS date: 1996/03/29 19:57:19

commit c179616796ca3b23a00c1018833a8bcc47027b48
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 19:40:08 1996 +0000

    frees source package headers (when available)
    
    CVS patchset: 500
    CVS date: 1996/03/29 19:40:08

commit db3e2a06f82647515beb3ec9a2aa1fb22d637ddf
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 19:39:56 1996 +0000

    returns a null header for old style source packages
    
    CVS patchset: 499
    CVS date: 1996/03/29 19:39:56

commit 29269c7429a9ff2dea3e5981023eca5bf83a0701
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 19:39:41 1996 +0000

    refuses to query old format source packages
    
    CVS patchset: 498
    CVS date: 1996/03/29 19:39:41

commit 96e602e3bae05e1fdea172a2396730463fb4accf
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 19:25:17 1996 +0000

    fixed bug where a header was freed when it shouldn't have been
    
    CVS patchset: 497
    CVS date: 1996/03/29 19:25:17

commit 18db9bdc482630b85676fbcba8e35e23b4ec16ae
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 29 19:24:52 1996 +0000

    handles headers with no state properly
    
    CVS patchset: 496
    CVS date: 1996/03/29 19:24:52

commit 93efd0a7b8ffc48adafc9ba25e7cee42a8bef153
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:43:10 1996 +0000

    don't overwrite an existing database
    
    CVS patchset: 495
    CVS date: 1996/03/29 01:43:10

commit 2aed2e1fa84cd6fab776af73a56b4fc3ae00bb34
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:35:33 1996 +0000

    Initial revision
    
    CVS patchset: 494
    CVS date: 1996/03/29 01:35:33

commit 54ca5bf9543a74a10f0fbcf67cb34614754a72c2
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:35:05 1996 +0000

    made default optimizations -O2
    builds shared version w/o GNU gettext (uses stubs)
    
    CVS patchset: 493
    CVS date: 1996/03/29 01:35:05

commit d4a59f62c7def30a70c966bf4f860a159ece4287
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:26:20 1996 +0000

    use /var/tmp
    
    CVS patchset: 492
    CVS date: 1996/03/29 01:26:20

commit 1bd9ff15cc40281a2137336f2ef195f48dda5164
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:24:38 1996 +0000

    added --rebuild and --recompile
    
    CVS patchset: 491
    CVS date: 1996/03/29 01:24:38

commit f28ce8f6943ade8f2a279d3906a589a711b0d3e4
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:22:14 1996 +0000

    *** empty log message ***
    
    CVS patchset: 490
    CVS date: 1996/03/29 01:22:14

commit 9b25b89c15366309ff2c4e0a332169eb1f83386d
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:19:49 1996 +0000

    changed version to 2.0.4
    
    CVS patchset: 489
    CVS date: 1996/03/29 01:19:49

commit 502e34e500e1ea7ecc33efd1c13848d934e51000
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 01:19:10 1996 +0000

    added verbose error checking
    
    CVS patchset: 488
    CVS date: 1996/03/29 01:19:10

commit a1a51786da7672587e33562f1dc708dfacd20095
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 29 00:52:29 1996 +0000

    added --recompile
    
    CVS patchset: 487
    CVS date: 1996/03/29 00:52:29

commit 8d9e9fbe8c3037fad9f65e37a2c835f1c12c61da
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 28 23:57:37 1996 +0000

    added --resign
    
    CVS patchset: 486
    CVS date: 1996/03/28 23:57:37

commit e587de6e8690a3036c34dcb92e606e81af3ddeee
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 28 23:56:49 1996 +0000

    added doReSign()
    
    CVS patchset: 485
    CVS date: 1996/03/28 23:56:49

commit 5e3b53f7afb02c5aac2373bb48287e4a37bd6b93
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 28 22:52:06 1996 +0000

    added a few osfmach* archs
    fail immediately on unknown arch/os
    
    CVS patchset: 484
    CVS date: 1996/03/28 22:52:06

commit 64ffda0cbba9c8093122e9a889243ab484b595a7
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 22 16:14:48 1996 +0000

    changed version to 2.0.3
    
    CVS patchset: 483
    CVS date: 1996/03/22 16:14:48

commit df2dfc15bebb86130a86afa775eda563e9874b8b
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 22 16:14:25 1996 +0000

    add support for 786, 886, 986
    
    CVS patchset: 482
    CVS date: 1996/03/22 16:14:25

commit fcce3a625f56147c32cf23515ea2f1ce3269ffe0
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 22 15:10:41 1996 +0000

    added i686 (Pentium Pro)
    
    CVS patchset: 481
    CVS date: 1996/03/22 15:10:41

commit 799ccf21dc42520a0e26c081feeaf11dd894bc40
Author: Unknown Author <devnull@localhost>
Date:   Tue Mar 19 21:47:10 1996 +0000

    removed PGP install stuff - it tended to blow away anything already there
    
    CVS patchset: 480
    CVS date: 1996/03/19 21:47:10

commit ff2b86f319c2dd3c230725074803563b39c0bfdd
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 18 17:11:46 1996 +0000

    added url
    
    CVS patchset: 479
    CVS date: 1996/03/18 17:11:46

commit bf5337634726e66df668f4941fe6a56c32a60993
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 15 23:03:35 1996 +0000

    added french catalog
    
    CVS patchset: 478
    CVS date: 1996/03/15 23:03:35

commit f753e724e6c1b8d19fbf3b5a90321dbd17abd1a1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 15 23:02:44 1996 +0000

    ftp's now returns an error code when it times out while getting a
    package
    
    CVS patchset: 477
    CVS date: 1996/03/15 23:02:44

commit 998c552a7ea39b2d753413b5285469b488a0b254
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 15 23:00:55 1996 +0000

    changed error message presented when an ftp fails
    
    CVS patchset: 476
    CVS date: 1996/03/15 23:00:55

commit 6a9763c47b147d07c740e9e2d26b9205c95bd587
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 14 20:01:41 1996 +0000

    Initial revision
    
    CVS patchset: 475
    CVS date: 1996/03/14 20:01:41

commit c7b65d338cfcd242c3bb97690d095deecd62ef31
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 14 17:28:01 1996 +0000

    added depend rule
    
    CVS patchset: 474
    CVS date: 1996/03/14 17:28:01

commit cbfbed5f56937a0b33dd3919a86c1fb2a22b0afc
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 14 17:23:42 1996 +0000

    added clean rule
    
    CVS patchset: 473
    CVS date: 1996/03/14 17:23:42

commit 5c34d42bd122a01f57c2f3a9c3c6669e086d9790
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 14 17:17:42 1996 +0000

    changed to version 2.0.2
    
    CVS patchset: 472
    CVS date: 1996/03/14 17:17:42

commit 39711f383a80c6daa64876877adc39b8b6c25b58
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 14 16:54:08 1996 +0000

    Added NLS support
    
    CVS patchset: 471
    CVS date: 1996/03/14 16:54:08

commit 0a81a5cc41e2222339bb4dc50343ac870ecbe7b2
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 14 16:53:55 1996 +0000

    added support for NLS catalogs
    
    CVS patchset: 470
    CVS date: 1996/03/14 16:53:55

commit 96e1e1d2e56a39ebe4639488ee0b5f14a7ae44b3
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Mar 14 16:51:55 1996 +0000

    Initial revision
    
    CVS patchset: 469
    CVS date: 1996/03/14 16:51:55

commit fede4fefc5d9246b10a90e0977c8b5e61cdbe450
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 13 03:58:59 1996 +0000

    changed version number to 2.0.1
    
    CVS patchset: 468
    CVS date: 1996/03/13 03:58:59

commit 1a00319bb9ba29e4445f9642d6cf9a0d169cefb8
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 13 03:51:56 1996 +0000

    - hashing and percentages no longer SIGFPE on 0 byte packages
    - when an ftp fails, install.c no longer tries to install the package
    - ftps files to /var/tmp rather then /usr/tmp
    
    CVS patchset: 467
    CVS date: 1996/03/13 03:51:56

commit 9d5800fe34ed41ff011deb2984150840070eae58
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 13 03:48:48 1996 +0000

    added message() calls for debugging info
    
    CVS patchset: 466
    CVS date: 1996/03/13 03:48:48

commit 6ad0ce0b6f524856e8ef1866e3dc180059f2f528
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Mar 13 03:48:00 1996 +0000

    fixed small minor typos
    
    CVS patchset: 465
    CVS date: 1996/03/13 03:48:00

commit 05a40f129f1f3a40bde47c3b62131f4438bd23b4
Author: Unknown Author <devnull@localhost>
Date:   Mon Mar 11 15:48:22 1996 +0000

    added mdfile prototype
    
    CVS patchset: 464
    CVS date: 1996/03/11 15:48:22

commit 5203f9c5df1b5e2b2a49c2243c9215550f7b1f4e
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 7 16:48:12 1996 +0000

    fixed old lead struct for Alpha
    
    CVS patchset: 463
    CVS date: 1996/03/07 16:48:12

commit c8e2fe70aab91d87983f18c05c247de14fe3fb51
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 7 16:48:06 1996 +0000

    added some debug messages
    
    CVS patchset: 462
    CVS date: 1996/03/07 16:48:06

commit 36fca13dffa4e76dc485555717d8aa3e25c6af1a
Author: Unknown Author <devnull@localhost>
Date:   Thu Mar 7 05:36:15 1996 +0000

    RPM 2.0 released
    
    CVS patchset: 461
    CVS date: 1996/03/07 05:36:15

commit 0f7eca08a63e7e765e4bbfbc71ecbed5488c7dc9
Author: Unknown Author <devnull@localhost>
Date:   Tue Mar 5 16:14:21 1996 +0000

    added PGP stuff
    
    CVS patchset: 460
    CVS date: 1996/03/05 16:14:21

commit 9b993ba4b85c8abd395a309608434ed654bd159d
Author: Unknown Author <devnull@localhost>
Date:   Tue Mar 5 15:45:13 1996 +0000

    stuff.
    
    CVS patchset: 459
    CVS date: 1996/03/05 15:45:13

commit 35939888ffac617cbfc52c71cf2ea01f0f3a1115
Author: Unknown Author <devnull@localhost>
Date:   Tue Mar 5 15:44:50 1996 +0000

    add verify and PGP stuff
    
    CVS patchset: 458
    CVS date: 1996/03/05 15:44:50

commit 3042da83c9ee6d720ee1e125efa273e93552c2f3
Author: Unknown Author <devnull@localhost>
Date:   Tue Mar 5 14:45:20 1996 +0000

    Initial revision
    
    CVS patchset: 457
    CVS date: 1996/03/05 14:45:20

commit 214d48fbb4fd1a17b2e6cb513fe55cddf47f1908
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 4 22:52:34 1996 +0000

    indicates config files for files that don't verify
    
    CVS patchset: 456
    CVS date: 1996/03/04 22:52:34

commit 618ad69371b15a8f6fb8c9b9575d24126562b785
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Mar 4 22:47:35 1996 +0000

    prints SUID, SGID, sticky bits
    
    CVS patchset: 455
    CVS date: 1996/03/04 22:47:35

commit 551f7b254077edf19667495344d9d3a3958b6085
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 2 17:37:23 1996 +0000

    1) added rpm2cpio rules
    2) changed to version 2.0
    
    CVS patchset: 454
    CVS date: 1996/03/02 17:37:23

commit 851ccc022f09619c44acc71e7ce53bc46a8cd771
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 2 17:36:57 1996 +0000

    Initial revision
    
    CVS patchset: 453
    CVS date: 1996/03/02 17:36:57

commit 51ace9888732d68de98d067d1ab4b9ba0f96f312
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Mar 2 17:19:52 1996 +0000

    exits when bad options are given
    
    CVS patchset: 452
    CVS date: 1996/03/02 17:19:52

commit f255f857aad576341b4f0da1c5f2eb74783b4270
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 17:44:02 1996 +0000

    numerous bug fixes
    
    CVS patchset: 451
    CVS date: 1996/03/01 17:44:02

commit a2dcd3552f9f14e6c8f46a65100331649a21012f
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 1 17:43:34 1996 +0000

    changed to 2.0j
    
    CVS patchset: 450
    CVS date: 1996/03/01 17:43:34

commit e5d1cfe5e4554b92ba9d3b73485edbf10a5ca0e4
Author: Unknown Author <devnull@localhost>
Date:   Fri Mar 1 15:29:04 1996 +0000

    add new -e and --erase options
    warn about -u and --uninstall
    
    CVS patchset: 449
    CVS date: 1996/03/01 15:29:04

commit 1da80ad8a520398183455fedd57a490e41335484
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 03:29:18 1996 +0000

    lets you query a package by record number
    
    CVS patchset: 448
    CVS date: 1996/03/01 03:29:18

commit 55134cf73729b8cc3018fe6ede25f3725a560ee4
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 03:28:55 1996 +0000

    adds freed blocks to the free list
    
    CVS patchset: 447
    CVS date: 1996/03/01 03:28:55

commit 00377d6ae5b1b0af88b870c018e8dfae1cd6b5df
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 03:28:33 1996 +0000

    don't back up directories marked as config files, even if they already
    exist
    
    CVS patchset: 446
    CVS date: 1996/03/01 03:28:33

commit cd07a9b0577864ea9d5e659cf826830109ad7f2c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 01:59:26 1996 +0000

    switched the ordering in the decision process for how config files are
    upgraded
    
    CVS patchset: 445
    CVS date: 1996/03/01 01:59:26

commit c0dae8e3cf5e0f8083e700167ee8ce8d1d6e0873
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 01:59:03 1996 +0000

    creates a default path which is used for running scripts
    
    CVS patchset: 444
    CVS date: 1996/03/01 01:59:03

commit 32495fc761a135dd7449adff17717d9c38bd3867
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 01:58:27 1996 +0000

    vercmp() returnd backwards results when one of the strings ran out
    before the other
    
    CVS patchset: 443
    CVS date: 1996/03/01 01:58:27

commit 4ca3469b48d03ae60ba4afb737ade9bce2333ec5
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Mar 1 01:57:52 1996 +0000

    ftp installs should use temp space within the directory given by
    --root if it was used
    
    CVS patchset: 442
    CVS date: 1996/03/01 01:57:52

commit 99d24b904cd43d8eb00124718398e10635bc48e5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 29 18:55:19 1996 +0000

    changed to version 2.0i
    
    CVS patchset: 441
    CVS date: 1996/02/29 18:55:19

commit 2313457459be3ebfc6ef0ab9d4fc61fecb28192d
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 29 03:39:20 1996 +0000

    turned off DEBUG
    
    CVS patchset: 440
    CVS date: 1996/02/29 03:39:20

commit 8d334d7ec632b2eed906a1e69a5a0e41137f4972
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 29 03:38:33 1996 +0000

    made logic that for handling config files during installs much smarter
    
    CVS patchset: 439
    CVS date: 1996/02/29 03:38:33

commit 4cf0beea9fa01d84671291c8af7db311fa89409e
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 29 02:07:47 1996 +0000

    added basic checking of user and groups. this does it by [GU]ID only
    
    CVS patchset: 438
    CVS date: 1996/02/29 02:07:47

commit f5fcec5d5dab9fdf55e8e443a0ec9e9f0ac54208
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 29 00:55:31 1996 +0000

    switch back to using a gzip process instead of gzlib :-(.
    
    CVS patchset: 437
    CVS date: 1996/02/29 00:55:31

commit 3ae84362c0741a20818a15487b6eec025c3b92ca
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 28 17:16:47 1996 +0000

    changed to version h
    
    CVS patchset: 436
    CVS date: 1996/02/28 17:16:47

commit 96ed778bc7265e7250ce894d4d39483fcb92eed3
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 27 23:40:44 1996 +0000

    null terminate.  duh.
    
    CVS patchset: 435
    CVS date: 1996/02/27 23:40:44

commit 6fade5096ae44f270926d31528eeb641e79e753e
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 27 23:18:11 1996 +0000

    added SPARC architecture
    
    CVS patchset: 434
    CVS date: 1996/02/27 23:18:11

commit ba1906fdfeccd0ceb87b63150b61e420cea7a446
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 27 22:50:55 1996 +0000

    better reporting for v1.0 packages
    
    CVS patchset: 433
    CVS date: 1996/02/27 22:50:55

commit 6bada7decff3103bd7a7b6050d260a158d680e54
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 27 17:40:59 1996 +0000

    fixed bug
    
    CVS patchset: 432
    CVS date: 1996/02/27 17:40:59

commit a6ad7dbfd3823476a9686ee989dff027bc0a6f56
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 27 17:40:34 1996 +0000

    1) added ftp.[ch]
    2) changed version to 2.0g
    
    CVS patchset: 431
    CVS date: 1996/02/27 17:40:34

commit 81f604b4cb466193d4f5f93867f6d6c6a96cb12b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 27 17:37:06 1996 +0000

    added support for ftp style URL's on RPM command line
    
    CVS patchset: 430
    CVS date: 1996/02/27 17:37:06

commit f9c1e8d7281d369ac194a74505c9cb4eddea1d77
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 27 17:37:03 1996 +0000

    Initial revision
    
    CVS patchset: 429
    CVS date: 1996/02/27 17:37:03

commit fbb56975fb19ddaf7bcf6553005b354dc8b3a6bc
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 26 22:53:35 1996 +0000

    fixes for some silly bugs
    
    CVS patchset: 428
    CVS date: 1996/02/26 22:53:35

commit fe37f884f1132b74693c591b25ea900c574e2a21
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 26 22:45:24 1996 +0000

    checks the architecure before installing binary packages
    
    CVS patchset: 427
    CVS date: 1996/02/26 22:45:24

commit 88b48eddb105c87d487280a83e6376f8b1821552
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 26 22:45:10 1996 +0000

    Adds RPMTAG_ARCH to header for old packages
    
    CVS patchset: 426
    CVS date: 1996/02/26 22:45:10

commit bbaba89807a4030b5c9151eae99437d71c1d7cfb
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:27:43 1996 +0000

    added include of checksig.h to eliminate warning
    
    CVS patchset: 425
    CVS date: 1996/02/25 22:27:43

commit ba70204bbf920e6146aed8e9591de9840ca5443b
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:23:01 1996 +0000

    changed --check-sig to --checksig for consistency
    
    CVS patchset: 424
    CVS date: 1996/02/25 22:23:01

commit 14c7c734521ba2e1b59b94c5aa08cdf4905fc027
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:22:58 1996 +0000

    *** empty log message ***
    
    CVS patchset: 423
    CVS date: 1996/02/25 22:22:58

commit b0d4b33c9216f50fab4a64bbe02ce2f5ee1109a7
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:11:24 1996 +0000

    added support for --oldpackage
    
    CVS patchset: 422
    CVS date: 1996/02/25 22:11:24

commit 45061be267a55c9a6062c406fcd1fb1772213bf3
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:11:00 1996 +0000

    checks for upgrades to old versions of packages and gives an appropriate
    error
    
    CVS patchset: 421
    CVS date: 1996/02/25 22:11:00

commit d91b0512d0b40bc87a420d832776ba3766cdb030
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:10:50 1996 +0000

    added INSTALL_UPGRADETOOLD
    
    CVS patchset: 420
    CVS date: 1996/02/25 22:10:50

commit faa8bd69ac8e17e03d0ed4a6598095850bb69a07
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Feb 25 22:10:25 1996 +0000

    added vercmp()
    
    CVS patchset: 419
    CVS date: 1996/02/25 22:10:25

commit 8ecf043b19cda5c7c864aeeeb94d37becd7e4cda
Author: Unknown Author <devnull@localhost>
Date:   Sun Feb 25 05:05:52 1996 +0000

    check for 151 byte sig and try again
    
    CVS patchset: 418
    CVS date: 1996/02/25 05:05:52

commit 43f56d773ede8a7aa31a9382c8233b7af66a8c47
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Feb 24 23:47:32 1996 +0000

    VERSION=2.0f
    
    CVS patchset: 417
    CVS date: 1996/02/24 23:47:32

commit 0c8dc8f29e01b98a4ab13f72c6a1d26b54fa8c30
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Feb 24 23:46:36 1996 +0000

    got rid of INSTALL_PRINTLABEL, added labelFormat to rpmInstallPackage
    
    CVS patchset: 416
    CVS date: 1996/02/24 23:46:36

commit a923c3297fff02640714f69ebacc100326cfd2b9
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Feb 24 23:46:09 1996 +0000

    made --percent look like it did in RPM 1.x
    
    CVS patchset: 415
    CVS date: 1996/02/24 23:46:09

commit 7d1e36e5f72aac12e2d874732467f6240e89cd1c
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 22:28:59 1996 +0000

    fix return codes
    
    CVS patchset: 414
    CVS date: 1996/02/23 22:28:59

commit 68425333a052d1e7acc9404ee4ff7273c7565431
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 22:28:40 1996 +0000

    add a few return codes
    
    CVS patchset: 413
    CVS date: 1996/02/23 22:28:40

commit 664ec3353e31df55078caaa8fab40ef26e8b80be
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 22:28:19 1996 +0000

    better reporting
    
    CVS patchset: 412
    CVS date: 1996/02/23 22:28:19

commit e7b8fd79a40644bc0735a51faa8323c4bb20bc5c
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Feb 23 19:32:29 1996 +0000

    long_index needs to be set to 0 before calling getopt
    
    CVS patchset: 411
    CVS date: 1996/02/23 19:32:29

commit 42a026ec2211e91b12e6391f903d5b83e2f9f8cf
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 16:21:06 1996 +0000

    files with the same md5 shouldn't cause conflicts
    
    CVS patchset: 410
    CVS date: 1996/02/23 16:21:06

commit 115bc0e28833405a991117bac419f89ee4765b12
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 05:15:13 1996 +0000

    add debug message
    
    CVS patchset: 409
    CVS date: 1996/02/23 05:15:13

commit 3eee5e7604321c1243d051782dc52982d580187e
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 03:47:43 1996 +0000

    pass subpackage name to process_filelist() for doc dir
    
    CVS patchset: 408
    CVS date: 1996/02/23 03:47:43

commit 211f35618e362d47c7df82d05519c93ab346bef8
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 02:22:18 1996 +0000

    add a couple statics
    move doc script generation after all parsing is done
    this is necessary to allow each pacakge to have it's own docs
    
    CVS patchset: 407
    CVS date: 1996/02/23 02:22:18

commit 9ef003123c8ac8ed7af51c05e665bbeb3cd7987d
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 23 02:21:26 1996 +0000

    add doc StringBuf to package record for per-package doc stuff
    
    CVS patchset: 406
    CVS date: 1996/02/23 02:21:26

commit a571c501a9021dc4a02c986b18690efc1e7dd03f
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 21:31:16 1996 +0000

    use level 9 compression!
    
    CVS patchset: 405
    CVS date: 1996/02/22 21:31:16

commit e649ec37c1757d25cec6ff8568ac312920239880
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 21:11:22 1996 +0000

    better error reporting
    
    CVS patchset: 404
    CVS date: 1996/02/22 21:11:22

commit e10aa661f3694c43142c9348053e8a34e5fcc1ec
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 20:28:19 1996 +0000

    fix last ':' checking patch - source and patch lines cna have #'s!
    
    CVS patchset: 403
    CVS date: 1996/02/22 20:28:19

commit 787d0ca1021ec049d1f928991624a58130ca324c
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 20:01:56 1996 +0000

    require ':' after preamble parts
    warn user about unknown premable parts "Fields"
    sanity check for internal error
    
    CVS patchset: 402
    CVS date: 1996/02/22 20:01:56

commit a6dfa42373ff40957bc1c842efcc836a3bef618d
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 20:00:56 1996 +0000

    add "all" dependency for "make install"
    
    CVS patchset: 401
    CVS date: 1996/02/22 20:00:56

commit 9599f0fa43edbe7745652ad4aa88c016aae5f259
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 19:33:08 1996 +0000

    stop builds on error
    
    CVS patchset: 400
    CVS date: 1996/02/22 19:33:08

commit 23e9920a5fb09622b04cb9d0a4c954b6e4ad376c
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 19:21:54 1996 +0000

    toss trailing spaces on name, version, release
    
    CVS patchset: 399
    CVS date: 1996/02/22 19:21:54

commit 719100f0566f2e7578f26eb746987e49aa0c5165
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 18:52:05 1996 +0000

    added checksig.o
    
    CVS patchset: 398
    CVS date: 1996/02/22 18:52:05

commit 4e60315c9290789a2b1a887c1db5ff68839f8e6b
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 18:51:25 1996 +0000

    add help for --sign and --check-sig
    add --check0sig handling
    
    CVS patchset: 397
    CVS date: 1996/02/22 18:51:25

commit 6c23574bb9840ba7a69af29e4f73dba978def543
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 18:50:41 1996 +0000

    Initial revision
    
    CVS patchset: 396
    CVS date: 1996/02/22 18:50:41

commit b21fa18aeccf5b6a23c885eb3fa804a94d14b5b5
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 15:46:54 1996 +0000

    don't just exit on error, clean up and return
    
    CVS patchset: 395
    CVS date: 1996/02/22 15:46:54

commit e641ac922b4e4f63f8c93c1eaae4ea516724a548
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 15:34:27 1996 +0000

    more error checking during package write
    
    CVS patchset: 394
    CVS date: 1996/02/22 15:34:27

commit 16ea7d2b258a6bd9f64f89411c7835a94befd41f
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 02:50:56 1996 +0000

    change message() call to fprintf(stderr, ...)
    
    CVS patchset: 393
    CVS date: 1996/02/22 02:50:56

commit a2f32ab422398091c1f2b1bc23f5d5dca70b203c
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 02:49:12 1996 +0000

    reset RPMVAR_ROOT in reset_spec()
    
    CVS patchset: 392
    CVS date: 1996/02/22 02:49:12

commit 694c6a3c8e52dfe95081170d33c10f98de3069ee
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 02:29:38 1996 +0000

    add pass phrase sucess message
    
    CVS patchset: 391
    CVS date: 1996/02/22 02:29:38

commit dfb5ed188b71bdbb4c8d091bad5c275d99f5f8a4
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 01:59:29 1996 +0000

    fix return codes for makeSignature()
    
    CVS patchset: 390
    CVS date: 1996/02/22 01:59:29

commit 379473e17efa6cc4f6fe744524fcff5b2a586c4e
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 01:35:34 1996 +0000

    better error checking during builds
    
    CVS patchset: 389
    CVS date: 1996/02/22 01:35:34

commit 391abf9b9395ebe0b143b52b2ebc773a02f44849
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 01:35:00 1996 +0000

    check for bad pass phrases
    
    CVS patchset: 388
    CVS date: 1996/02/22 01:35:00

commit 81e9d511e7f1b859d55b17e510acd37e17a53c48
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 22 01:34:20 1996 +0000

    better pass phrase handling, check for bad pass phrase
    
    CVS patchset: 387
    CVS date: 1996/02/22 01:34:20

commit c3acfa7ab3e8be53de1e161bd9e28500bfa3fdb5
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 23:18:36 1996 +0000

    don't sweep in build_subdir is "."
    
    CVS patchset: 386
    CVS date: 1996/02/21 23:18:36

commit 177488cb3b5b727d5a0c93ee94b5d8b39c17ae4c
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 22:20:51 1996 +0000

    read the signature
    
    CVS patchset: 385
    CVS date: 1996/02/21 22:20:51

commit d90c22d3e9706f53003130539835aa4d2ffc61e4
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 22:20:37 1996 +0000

    check for bad read in readSignature()
    
    CVS patchset: 384
    CVS date: 1996/02/21 22:20:37

commit cfe18a3208dd233526da56bb2d09b044ce982ba5
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 21 18:24:15 1996 +0000

    installs /etc/rpmrc, /usr/bin/gendiff
    
    CVS patchset: 383
    CVS date: 1996/02/21 18:24:15

commit d7bd6eaa4da603c7a93931a35a066bcc71fe1b46
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 21 18:09:31 1996 +0000

    variable was initialized wrong - fixed
    
    CVS patchset: 382
    CVS date: 1996/02/21 18:09:31

commit 728102b6bdaba5fa113bd7083ae3db150d6489ff
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 17:32:07 1996 +0000

    fix doc/docdir handling
    
    CVS patchset: 381
    CVS date: 1996/02/21 17:32:07

commit bce4b08641faf9ac3a578ba22b5b161d3bea9378
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 17:31:56 1996 +0000

    remove bogus comment
    
    CVS patchset: 380
    CVS date: 1996/02/21 17:31:56

commit 2076c0f2f6bfbd3c30de012caf4269ae605c662f
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 17:19:52 1996 +0000

    handle names properly!  Can't figure 'em out until the entire
    spec file is parsed.
    
    CVS patchset: 379
    CVS date: 1996/02/21 17:19:52

commit c50bf4d20ae591aca5750b12f1a9dd2a095afffc
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 17:19:17 1996 +0000

    just get the name from the header
    
    CVS patchset: 378
    CVS date: 1996/02/21 17:19:17

commit bc9746b005ab001c3e2ac22aee806aaf70c21724
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 17:17:58 1996 +0000

    fix ROOT_DIR setting (for NULL)
    
    CVS patchset: 377
    CVS date: 1996/02/21 17:17:58

commit 6e76ca36c748d7a4438069ee9ee2a8ac07f8156b
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 15:29:20 1996 +0000

    fix extra %endif catching
    better errors
    
    CVS patchset: 376
    CVS date: 1996/02/21 15:29:20

commit e11a0b13ee384e545cc9abcbc84a4c716e380147
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 15:28:47 1996 +0000

    fix %doc %docdir contention
    
    CVS patchset: 375
    CVS date: 1996/02/21 15:28:47

commit e23939d83735236f3ebded9b268bf04abd61de23
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 21 15:11:54 1996 +0000

    add root dir to doc dir
    
    CVS patchset: 374
    CVS date: 1996/02/21 15:11:54

commit 7da9a0568fb74f04cd435fd1e579ae3c0bf65f03
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 23:56:14 1996 +0000

    added co rule
    
    CVS patchset: 373
    CVS date: 1996/02/20 23:56:14

commit 2fda53f1aa47ed318c00eee8b38a04923ef33cad
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 23:55:15 1996 +0000

    moved rpm to /bin
    
    CVS patchset: 372
    CVS date: 1996/02/20 23:55:15

commit 0bca0361024911942b2ad854196bda07d7f0167e
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 23:31:59 1996 +0000

    fix ugly race condition in cpio_gzip()
    fix md5sum generation for package with root:
    add some verbose messagin
    
    CVS patchset: 371
    CVS date: 1996/02/20 23:31:59

commit 31963f7978eeae9285bb433633c23a00816b42d4
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 22:25:21 1996 +0000

    fix off by one error (to agree with comment, no less)
    
    CVS patchset: 370
    CVS date: 1996/02/20 22:25:21

commit c40c0b624cdca8eb912b27f66fd6d86044028fa9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 22:18:36 1996 +0000

    missing files are reported better
    
    CVS patchset: 369
    CVS date: 1996/02/20 22:18:36

commit cffbf3f1d004135a3926d589ace685291a9c18a8
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 21:54:19 1996 +0000

    1) added upgrade arg handling
    2) fixed verify of stdin handling
    
    CVS patchset: 368
    CVS date: 1996/02/20 21:54:19

commit 7f9577ed2d06910c2c052920405105afe340bb9a
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 21:54:07 1996 +0000

    added INSTALL_UPGRADE flag
    
    CVS patchset: 367
    CVS date: 1996/02/20 21:54:07

commit dc21c59ee61f93f11ae9b4e0db02fb317b055042
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 21:54:02 1996 +0000

    added upgrading
    
    CVS patchset: 366
    CVS date: 1996/02/20 21:54:02

commit 822ff53ec90c4dee7dfeed4d0f113bf0d45477cf
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 21:53:44 1996 +0000

    fixed symlink verification
    
    CVS patchset: 365
    CVS date: 1996/02/20 21:53:44

commit 697c3e6d39a14cb9be758c2e03e14c78dc30e8c5
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 20:56:26 1996 +0000

    removed dump, dumpdb
    
    CVS patchset: 364
    CVS date: 1996/02/20 20:56:26

commit c46c2ae2626754090ac18e9d72dd480ae10251d9
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 20:55:47 1996 +0000

    added dump, dumpdb
    
    CVS patchset: 363
    CVS date: 1996/02/20 20:55:47

commit 6aac154e2c1a8a82f721b48580e23f8a9cc9c1af
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 20:55:04 1996 +0000

    Initial revision
    
    CVS patchset: 362
    CVS date: 1996/02/20 20:55:04

commit aa79548c2f662fa67f3f23fa7756e7344d3cfb54
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 20:10:12 1996 +0000

    bump version
    
    CVS patchset: 361
    CVS date: 1996/02/20 20:10:12

commit fd29b68bcd4adbb0799a4bc4c2a324fd2f67ab09
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 19:42:47 1996 +0000

    changed output of verification
    
    CVS patchset: 360
    CVS date: 1996/02/20 19:42:47

commit 4ae33f74b29bd84d66a967ab8d55c77eb6079148
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 17:58:41 1996 +0000

    finished
    
    CVS patchset: 359
    CVS date: 1996/02/20 17:58:41

commit 4b525901c125da27db4894fb3e33fabc08f4bb80
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 17:58:31 1996 +0000

    fixed to return correct sum :-)
    
    CVS patchset: 358
    CVS date: 1996/02/20 17:58:31

commit 0fe113d764c90be7ce35d2c682a819c720b1eb94
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 17:55:15 1996 +0000

    add wacky subpackage version/release stuff
    fix readlink non-null-termination problem
    
    CVS patchset: 357
    CVS date: 1996/02/20 17:55:15

commit 3e7309560893527e27e6b3a6067f0f7b1cc607eb
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 16:00:04 1996 +0000

    pass around the passPhrase
    
    CVS patchset: 356
    CVS date: 1996/02/20 16:00:04

commit 57b6582561af071081a3c1b553e44bdac2368516
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 15:59:34 1996 +0000

    pass passPhrase to doBuild
    
    CVS patchset: 355
    CVS date: 1996/02/20 15:59:34

commit b3769faaa38f3b1ac72aaad442fc6a3466ed6469
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 15:59:10 1996 +0000

    add passPhrase stuff and --sign
    
    CVS patchset: 354
    CVS date: 1996/02/20 15:59:10

commit 46a977012a04bebbf3661223e097783038063b4f
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 15:07:02 1996 +0000

    add simple getPassPhrase()
    
    CVS patchset: 353
    CVS date: 1996/02/20 15:07:02

commit 7ac23c2d72cc7a8cc9ecab131061af272468f5e8
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 15:06:47 1996 +0000

    add getPassPhrase()
    
    CVS patchset: 352
    CVS date: 1996/02/20 15:06:47

commit db1590def9a1b6289d9e328e722417d0181f8c5d
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 06:02:32 1996 +0000

    passPhrase is passed as arg
    start writing getPassPhrase()
    
    CVS patchset: 351
    CVS date: 1996/02/20 06:02:32

commit 68e87d3653bdd334afc2ff1b9e3a6ae0e09f75ee
Author: Unknown Author <devnull@localhost>
Date:   Tue Feb 20 06:01:30 1996 +0000

    passPhrase is arg to makeSignature()
    
    CVS patchset: 350
    CVS date: 1996/02/20 06:01:30

commit 019c209d1a61d1775c99add08a7fc387ff95ac20
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 04:47:25 1996 +0000

    Initial revision
    
    CVS patchset: 349
    CVS date: 1996/02/20 04:47:25

commit 09ba912bd2fe1428fa8c96e5ce13487fc3f44bd5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 04:40:53 1996 +0000

    Initial revision
    
    CVS patchset: 348
    CVS date: 1996/02/20 04:40:53

commit 60adc4402ed727453b61b27fc0d9a1c47126450d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 04:31:08 1996 +0000

    Initial revision
    
    CVS patchset: 347
    CVS date: 1996/02/20 04:31:08

commit 6a0b1e775e317b256d845388d4679603ad735f49
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 03:54:01 1996 +0000

    added parsing and calling for verification
    
    CVS patchset: 346
    CVS date: 1996/02/20 03:54:01

commit e8a560988d0dd67e587bb84eb91cfd7ea5ffb9ec
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 03:52:58 1996 +0000

    added prototypes for verification, changed VERIFY flags
    
    CVS patchset: 345
    CVS date: 1996/02/20 03:52:58

commit 7bd32a18d1e994aa6c2834684c650affbc442a8c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 03:52:37 1996 +0000

    added verify.c
    
    CVS patchset: 344
    CVS date: 1996/02/20 03:52:37

commit 6a20b58b0b6d1b8465af978cfc048a864cef8199
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 02:33:52 1996 +0000

    use VERIFY_USER and VERIFY_GROUP, not by id
    
    CVS patchset: 343
    CVS date: 1996/02/20 02:33:52

commit dbd38e9ea434d81704c826ca5f9f716807cb0911
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 02:27:51 1996 +0000

    mv rpm* tools into tools
    
    CVS patchset: 342
    CVS date: 1996/02/20 02:27:51

commit 0e47fd42b895a5e8b60e9b945b964d4bc0903dea
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Feb 20 01:35:04 1996 +0000

    added "," as separator for %verify()
    
    CVS patchset: 341
    CVS date: 1996/02/20 01:35:04

commit 235bcd763919e6de545506dd65d6e694e4e6c635
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:25:34 1996 +0000

    changed version
    
    CVS patchset: 340
    CVS date: 1996/02/20 00:25:34

commit 96493b6e68646a3fae5fc04704e844a1e1a2c64f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:24:43 1996 +0000

    should flush after handling INSTALL_PRINTLABEL
    
    CVS patchset: 339
    CVS date: 1996/02/20 00:24:43

commit f6879cec2d6e64d2db6dd7643b3d9fd6790ef773
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:24:24 1996 +0000

    -hiv is handled via INSTALL_PRINTLABEL
    
    CVS patchset: 338
    CVS date: 1996/02/20 00:24:24

commit c1adebc3e7ad755d9317505d042bf2bc08d746d7
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:18:23 1996 +0000

    added INSTALL_PRINTLABEL support
    
    CVS patchset: 337
    CVS date: 1996/02/20 00:18:23

commit 76dc38a451a84f5832798a06c57320b7c4a69b73
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:17:51 1996 +0000

    1) added INSTALL_PRINTLABEL support
    2) shouldn't update header's we've freed
    
    CVS patchset: 336
    CVS date: 1996/02/20 00:17:51

commit d46f2806ee40dd112869eb69e4f7f8f6d837cead
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:17:35 1996 +0000

    marks free blocks, though faFree() still isn't quite right
    
    CVS patchset: 335
    CVS date: 1996/02/20 00:17:35

commit ad341d23a3dbfc4f094fff0f00407a6756be0b76
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Feb 20 00:12:50 1996 +0000

    fixed sorting of the shared file list
    
    CVS patchset: 334
    CVS date: 1996/02/20 00:12:50

commit 8748b30339e7bf9371d857b69df83d4c5e572f6d
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 23:41:46 1996 +0000

    add %verify() handling
    
    CVS patchset: 333
    CVS date: 1996/02/19 23:41:46

commit 6ff596b90a07350eb5896cc63a217e8bb7fec726
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 23:34:25 1996 +0000

    11) removed silly debug message
    2) fixed problem with unarchiving files containing shell globbing characters
    
    CVS patchset: 332
    CVS date: 1996/02/19 23:34:25

commit 89a31f02cd86dad6ac01b81b7506cee79ff85ddd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 23:34:02 1996 +0000

    1) added signal blocking and db syncing to help insure integrity
    2) added db locking
    
    CVS patchset: 331
    CVS date: 1996/02/19 23:34:02

commit 32b8c34d634cfcedb8435f9da53b280f20e0d1a5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 23:33:56 1996 +0000

    added sync function
    
    CVS patchset: 330
    CVS date: 1996/02/19 23:33:56

commit 6b86d4ce24cd82dd010a67e314370eeecda35b1e
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 23:00:16 1996 +0000

    use libz instead of gzip
    put ARCHIVESIZE in the header
    
    CVS patchset: 329
    CVS date: 1996/02/19 23:00:16

commit b1d827e8d152790c1cc55d76e2e2310ba037ef0e
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 22:52:39 1996 +0000

    added RPMTAG_ARCHIVESIZE
    
    CVS patchset: 328
    CVS date: 1996/02/19 22:52:39

commit 3ca3620fe37d824a28781fa0562510e761a700ae
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 22:18:30 1996 +0000

    fix build shit
    
    CVS patchset: 327
    CVS date: 1996/02/19 22:18:30

commit dfc6cc33d24f19ac0477ea1680386e700faffcac
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 22:15:38 1996 +0000

    shouldn't reference variables pointing into a header after the header has
    been freed
    
    CVS patchset: 326
    CVS date: 1996/02/19 22:15:38

commit 7147d0518c9beb434332022d59c969182053ffcc
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 22:01:40 1996 +0000

    added database locking
    
    CVS patchset: 325
    CVS date: 1996/02/19 22:01:40

commit bc9b266d6883652de9ced673b1527cda79c18ebe
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 21:16:15 1996 +0000

    catch unbalanced %endifs
    
    CVS patchset: 324
    CVS date: 1996/02/19 21:16:15

commit fd45e25ce9e5309eb8d826cd6bd2a92e1048f3dc
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 17:03:29 1996 +0000

    make serial number an int32
    
    CVS patchset: 323
    CVS date: 1996/02/19 17:03:29

commit b581648217713662c57b565f390805c4557fe30e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 16:29:15 1996 +0000

    shouldn't write to strings that are initialized
    
    CVS patchset: 322
    CVS date: 1996/02/19 16:29:15

commit 8961358412a8583f11161b3f2fa9c6386ebd7b36
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 15:17:56 1996 +0000

    added verbose querying of links
    
    CVS patchset: 321
    CVS date: 1996/02/19 15:17:56

commit d34604145ceac5276d4a896d2127d8bb36c7f974
Author: Unknown Author <devnull@localhost>
Date:   Mon Feb 19 15:13:37 1996 +0000

    added signature.o
    
    CVS patchset: 320
    CVS date: 1996/02/19 15:13:37

commit e3761e244dce3c98157f5d30bbeb4189570e04f4
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:52:09 1996 +0000

    changed sense of a bunch of the functions to fit the rest of rpm
    
    CVS patchset: 319
    CVS date: 1996/02/19 04:52:09

commit c8c0165386a4ecd16d354847c673d7f7b3edba55
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:51:12 1996 +0000

    started rewrite to allow fragment collection, free space reclamation. It
    isn't done yet though, and this version is pretty broken
    
    CVS patchset: 318
    CVS date: 1996/02/19 04:51:12

commit 652efd55459bd8c78f5f3cbfac65495f0332e46b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:51:12 1996 +0000

    changed faFree() to return void
    
    CVS patchset: 317
    CVS date: 1996/02/19 04:51:12

commit ca0f8fe5099eb5d5a98df9b488ccdb95a93741fb
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:50:33 1996 +0000

    1) changed sense of rpmdbOpen()
    2) started implementing verbose querying of the file list
    
    CVS patchset: 316
    CVS date: 1996/02/19 04:50:33

commit 21eab129c6d972ec28f85af57c79225ea996be5b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:50:15 1996 +0000

    changed sense of rpmdbOpen
    
    CVS patchset: 315
    CVS date: 1996/02/19 04:50:15

commit 6e136fedd057247b16fea607ef413865d709178b
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:29:39 1996 +0000

    no comment :-(
    
    CVS patchset: 314
    CVS date: 1996/02/19 04:29:39

commit 149130ecc155581ea2640cf235b0da512af8c5fe
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 04:28:31 1996 +0000

    1) silly bug left over from getting rid of mutable flag
    2) getEntry should set pointer to NULL when it returns 0
    
    CVS patchset: 313
    CVS date: 1996/02/19 04:28:31

commit 3a4c95f8d697616f2520844e46e3c12f0507cc57
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:37:21 1996 +0000

    removed signature type macros
    
    CVS patchset: 312
    CVS date: 1996/02/19 02:37:21

commit 6d602a76b25be6b4ee4bb55d1ab5f6e614ddc617
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:35:29 1996 +0000

    added pgp signature stuff
    
    CVS patchset: 311
    CVS date: 1996/02/19 02:35:29

commit bcfe51b9782681cdf430d3b7a603d7c57215ef76
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:34:06 1996 +0000

    added verify flags
    added pgp vars
    
    CVS patchset: 310
    CVS date: 1996/02/19 02:34:06

commit 06cfb946332676c144f4b4444d29bf0d8ad48b6f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:32:11 1996 +0000

    Initial revision
    
    CVS patchset: 309
    CVS date: 1996/02/19 02:32:11

commit e6389c6dd5f9678ec3cfa9e3c7aae59be94aa28c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:27:35 1996 +0000

    pass a name to openScript() for display purposes
    put set -x after setting of all the variable names
    
    CVS patchset: 308
    CVS date: 1996/02/19 02:27:35

commit 84025076e461f81f37c50f8412bace29861ea962
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:26:47 1996 +0000

    removed old SOURCE and PATCH macros
    
    CVS patchset: 307
    CVS date: 1996/02/19 02:26:47

commit 43966970f27a175eeccdcb053b96c376a78ac6de
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:24:47 1996 +0000

    added signature handling
    unified final packing stages
    added vendor and distrbution to headers
    free all those freakin lists in process_filelist()!
    start working on %verify() stuff
    
    CVS patchset: 306
    CVS date: 1996/02/19 02:24:47

commit 0202dbf7f037d76c1459c2e7d767b1619c452150
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:21:05 1996 +0000

    added signature handling
    
    CVS patchset: 305
    CVS date: 1996/02/19 02:21:05

commit bbd778e9d8d66e0dd636c52e120476389fd8d18c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:20:21 1996 +0000

    added stuff for Serial and PGP signatures
    
    CVS patchset: 304
    CVS date: 1996/02/19 02:20:21

commit 6cad74bc6ee37f6aa93e99d774feba9eced2d602
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:19:18 1996 +0000

    Initial revision
    
    CVS patchset: 303
    CVS date: 1996/02/19 02:19:18

commit 5a64e734f5bb748af4a6f7234fb3eb5398bcb2f6
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Feb 19 02:18:35 1996 +0000

    added rpmsignature rpmchecksig
    
    CVS patchset: 302
    CVS date: 1996/02/19 02:18:35

commit c7c8b5d0b36e411610701a5977b70229ca5d33f5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Feb 19 01:40:55 1996 +0000

    tried to help header.c recover from Marc's recent mutilation of it :-)
    
    CVS patchset: 301
    CVS date: 1996/02/19 01:40:55

commit 0840162b4cbdc0e0a5d28580b4e6d4a8fbdc3fee
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 17:37:53 1996 +0000

    don't allocate 0 bytes!
    
    CVS patchset: 300
    CVS date: 1996/02/16 17:37:53

commit dad54fe3956428f416606e95b30e759fc73d418d
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 17:26:43 1996 +0000

    fix handling of NULL newname/subname in lookup_package()
    
    CVS patchset: 299
    CVS date: 1996/02/16 17:26:43

commit d0040747b059fa689774d5e8dee3cb09d1b856be
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 17:26:05 1996 +0000

    changed error handling in build()
    
    CVS patchset: 298
    CVS date: 1996/02/16 17:26:05

commit 7ac9bde7638d5fdc413adc69a1a69f31d9eb2718
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 05:55:17 1996 +0000

    strip trailing whitespace off %part args
    add handling for specfiles that start with "%package subname"
    
    CVS patchset: 297
    CVS date: 1996/02/16 05:55:17

commit b6c44dc2845a4b91b3c67401bd9b65a646032a9f
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 05:37:08 1996 +0000

    removed mmapHeader()
    
    CVS patchset: 296
    CVS date: 1996/02/16 05:37:08

commit f974adb86c16e42547054fe231b0269e92bdee2a
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 05:35:53 1996 +0000

    set verbosity properly for building
    
    CVS patchset: 295
    CVS date: 1996/02/16 05:35:53

commit 3f7ef2aa1f6356dd7b710c00fe20dc4da94d89dc
Author: Unknown Author <devnull@localhost>
Date:   Fri Feb 16 05:34:22 1996 +0000

    added getVerbosity()
    
    CVS patchset: 294
    CVS date: 1996/02/16 05:34:22

commit 4dbff32aece57dd3a48adbf6f20b13d6a5421bf6
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 23:22:49 1996 +0000

    fixed the sizeofHeader()
    fixed unloadHeader()
    
    CVS patchset: 293
    CVS date: 1996/02/15 23:22:49

commit d520eb7905baa0a6ea6279e549104a87cd9aefcf
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 23:15:51 1996 +0000

    fixed return from unloadHeader()
    
    CVS patchset: 292
    CVS date: 1996/02/15 23:15:51

commit 3e32f9e73a9f088f9513e71bd1335bbe8ebbb533
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 23:13:08 1996 +0000

    make load/unload sort like read/write
    fix type correction in getEntry()
    
    CVS patchset: 291
    CVS date: 1996/02/15 23:13:08

commit 67a5d89bbec226f70a71aeb7a0bc5ca33a96360a
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 22:55:44 1996 +0000

    copy specfile name
    
    CVS patchset: 290
    CVS date: 1996/02/15 22:55:44

commit d396a858d132b6099afd5a2a990bb8366aa352c4
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 22:44:46 1996 +0000

    do not allow STRING_TYPE with count != 1
    move index/data sorting into copyHeader()
    cause sizeofHeader() tp call copyHeader() to sort index/data
    have writeHeader() call sizeofHeader() to sort index/data
    The net effect is that if you call writeHeader() or sizeofHeader()
    your Header is actually sorted and replaced with a new copy.
    
    CVS patchset: 289
    CVS date: 1996/02/15 22:44:46

commit 1efa980d28535a131268521f61851b09e98194f6
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 22:44:04 1996 +0000

    change to test new copyHeader code
    
    CVS patchset: 288
    CVS date: 1996/02/15 22:44:04

commit c3f2ff17405a6c2953d0bf66043068d755e4f784
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 21:08:48 1996 +0000

    marks replaced files during installs
    
    CVS patchset: 287
    CVS date: 1996/02/15 21:08:48

commit 77c2db950c16591f14d607170b755aec14d77869
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 21:08:41 1996 +0000

    added rpmdbUpdateRecord()
    
    CVS patchset: 286
    CVS date: 1996/02/15 21:08:41

commit 512d9fb694e7d793027be106a418d599933d586b
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 21:08:23 1996 +0000

    1) added rpmdbUpdate()
    2) changed sense of rpmdbRemove()
    
    CVS patchset: 285
    CVS date: 1996/02/15 21:08:23

commit 878cebe9470b0bfd8e4302e2cf304cc7d52f0e38
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 21:08:09 1996 +0000

    fixed bug which resulted in shared files getting backed up
    
    CVS patchset: 284
    CVS date: 1996/02/15 21:08:09

commit 7d7fc550f78235cae0ba4f8dae98cd40e35dfb8a
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 19:32:03 1996 +0000

    fixed freSpec() call
    
    CVS patchset: 283
    CVS date: 1996/02/15 19:32:03

commit 2b4e37a993501d16ea94aa52817c45c20f46d5a5
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 19:21:01 1996 +0000

    fixed dereference problem
    
    CVS patchset: 282
    CVS date: 1996/02/15 19:21:01

commit 042dc300f0727108a57c305ae2d46692475fde1e
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 16:22:32 1996 +0000

    remove a few stray statics
    init build_subdir to .
    
    CVS patchset: 281
    CVS date: 1996/02/15 16:22:32

commit 4ffe1c93696296120d1536a77dcf8d6aabca42ca
Author: Unknown Author <devnull@localhost>
Date:   Thu Feb 15 16:21:48 1996 +0000

    free the spec file when done
    
    CVS patchset: 280
    CVS date: 1996/02/15 16:21:48

commit 030a88838a5c2ed2d4e0807edb3a01c96557deb5
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 00:10:29 1996 +0000

    don't open the database O_EXCL - we need to use locking instead!
    
    CVS patchset: 279
    CVS date: 1996/02/15 00:10:29

commit ea3e7dcddb02ad07b57d1456480a9abd5c9f0f8c
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Feb 15 00:10:15 1996 +0000

    don't open files O_EXCL
    
    CVS patchset: 278
    CVS date: 1996/02/15 00:10:15

commit 1ec84a6f6389f29d73c58b62e5b3e7a2d324cf15
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 23:21:02 1996 +0000

    added flush after printing percentages
    
    CVS patchset: 277
    CVS date: 1996/02/14 23:21:02

commit 9297a2f698411e02ab587f4020a221af0fba3083
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 22:31:37 1996 +0000

    doRmSource should return something
    
    CVS patchset: 276
    CVS date: 1996/02/14 22:31:37

commit 90f82529517f8db18d32cd6c2d8b2036613a54c1
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 22:20:08 1996 +0000

    checks for directory existence before trying to create one
    
    CVS patchset: 275
    CVS date: 1996/02/14 22:20:08

commit 84b62fd459ba7456b02533c8156ab480e6342b88
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 21:56:29 1996 +0000

    fixed to installArchive()
    1) detect dead child correctly
    2) handle all files when read() from pipe returns many of them
    
    CVS patchset: 274
    CVS date: 1996/02/14 21:56:29

commit 86e09a97bc60635f12fb92b60c47e6751a313480
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 21:26:21 1996 +0000

    handles reinstallation of a binary package
    
    CVS patchset: 273
    CVS date: 1996/02/14 21:26:21

commit 6b7dcf1cd43381685f58ddb561150a0d9111d409
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 20:56:22 1996 +0000

    accepts package specifications like name-version, name-version-release
    
    CVS patchset: 272
    CVS date: 1996/02/14 20:56:22

commit 865692e3c2c7e2833797c70732a47c8e818d4a5c
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 20:18:41 1996 +0000

    fixed -c in %setup
    
    CVS patchset: 271
    CVS date: 1996/02/14 20:18:41

commit 0bf5f03d1df678a43007e61d05a60fe74147a9c7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 20:10:42 1996 +0000

    added --rebuild
    
    CVS patchset: 270
    CVS date: 1996/02/14 20:10:42

commit 9b940881d1e6159fa28d58d1d039aafaed75f0c3
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Feb 14 20:09:14 1996 +0000

    added ability to install a source package and find the spec file name
    
    CVS patchset: 269
    CVS date: 1996/02/14 20:09:14

commit 51139caf7d74533530b391b78c6f66816c116ad7
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 20:07:23 1996 +0000

    added RPMBUILD_RMSOURCE
    ,
    
    CVS patchset: 268
    CVS date: 1996/02/14 20:07:23

commit 4e85ef055e85ab2bb9ce0e63f51c3c5379a40988
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 20:07:09 1996 +0000

    added doRmSource()
    
    CVS patchset: 267
    CVS date: 1996/02/14 20:07:09

commit b9c9a122863081e75decc53c90747512d7cc2d4f
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 17:55:38 1996 +0000

    changed wayward SPEC to SPECS
    
    CVS patchset: 266
    CVS date: 1996/02/14 17:55:38

commit ca4a7f8132ecb5444b0988c8c46e9dd8a8b4eeef
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 17:55:28 1996 +0000

    added support for old packages, lots of bug fixes
    
    CVS patchset: 265
    CVS date: 1996/02/14 17:55:28

commit 2a9f4dea652996196c6e83c0ed4d5cc645b36027
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 17:54:37 1996 +0000

    Understands source packages
    
    CVS patchset: 264
    CVS date: 1996/02/14 17:54:37

commit 1ac992f934be5e3fc0aee78895a5283b7ec68be1
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 17:54:30 1996 +0000

    installs rpmerr.h
    
    CVS patchset: 263
    CVS date: 1996/02/14 17:54:30

commit f0f7186677c445d1135d732854f18ac608c31d1c
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:56:02 1996 +0000

    error for unknown icon type
    don't add empty entries for sources and patches
    
    CVS patchset: 262
    CVS date: 1996/02/14 16:56:02

commit 103d4fa9f0ada168a667b5172af80cd2de058538
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:32:46 1996 +0000

    *** empty log message ***
    
    CVS patchset: 261
    CVS date: 1996/02/14 16:32:46

commit 5743df5fb6e6ad641b748f331f5e7fbd74e5ac57
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:22:50 1996 +0000

    install rpmconvert, statically link with libc
    
    CVS patchset: 260
    CVS date: 1996/02/14 16:22:50

commit 80bf2608f24b007f17507e8ba93abbecc25d692a
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:18:12 1996 +0000

    added install rule
    
    CVS patchset: 259
    CVS date: 1996/02/14 16:18:12

commit 9da1bde9e6022eff490c3971b74d25129413e6bd
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:12:32 1996 +0000

    fixed for packages w/o any groups
    
    CVS patchset: 258
    CVS date: 1996/02/14 16:12:32

commit 0a1c831d2d0c8513b219c175d38f4d1923572dbf
Author: Unknown Author <devnull@localhost>
Date:   Wed Feb 14 16:11:37 1996 +0000

    turned on gif support during db conversion
    
    CVS patchset: 257
    CVS date: 1996/02/14 16:11:37

commit c1cc9bf1f2f66087193db55501cf97aa84416dc4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 17:35:13 1996 +0000

    won't leave 0.0 files around which are SUID if they're supposed to be
    owned by someone else
    
    CVS patchset: 256
    CVS date: 1996/01/30 17:35:13

commit d952a38c432f5f5178a1658015ff8be37b9a6349
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 16:19:22 1996 +0000

    Initial revision
    
    CVS patchset: 255
    CVS date: 1996/01/30 16:19:22

commit 6481fa6a78a06e39f44c6a6e49ab460814d11fb3
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 04:14:53 1996 +0000

    changed where make clean happens when creating an archive
    
    CVS patchset: 254
    CVS date: 1996/01/30 04:14:53

commit 00a51932b9937970a4ef1c4aafdee90bc700f1a3
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 04:13:17 1996 +0000

    fixed alpha arch detection
    
    CVS patchset: 253
    CVS date: 1996/01/30 04:13:17

commit 5764e29cdc5b7416c8b5f557ac69e945371fdbae
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 04:12:58 1996 +0000

    fixed problem which could result in strdup(NULL)
    
    CVS patchset: 252
    CVS date: 1996/01/30 04:12:58

commit 881145f547e490ee85dba04c2a57c3543a60f357
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:50:28 1996 +0000

    reads in rpm rc files at startup
    
    CVS patchset: 251
    CVS date: 1996/01/30 03:50:28

commit b752738dddaa98353a6005b101a2b201af15b945
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:50:17 1996 +0000

    made rpm depend on build/libbuild.a
    
    CVS patchset: 250
    CVS date: 1996/01/30 03:50:17

commit a7d5497818c81a5d30301293c9276289f9ddf8f4
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:49:37 1996 +0000

    removed reference to var.h (which disappeared)
    
    CVS patchset: 249
    CVS date: 1996/01/30 03:49:37

commit e1c34e4c20f035dfd83ee7c5237b2c663ddc3949
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:49:00 1996 +0000

    1) removed reference to var.h (which disappeared)
    2) when source files aren't found, it prints the complete path it was
       looking for
    
    CVS patchset: 248
    CVS date: 1996/01/30 03:49:00

commit de4eb379d83268b4713b9ebaaccfd96a41ce5fe0
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:47:30 1996 +0000

    added RPMVAR entries and prototypes
    
    CVS patchset: 247
    CVS date: 1996/01/30 03:47:30

commit 403095d4027bf72f7e5e6e46db360edf18f33317
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:46:46 1996 +0000

    completely rewritten for performance, ease of use
    
    CVS patchset: 246
    CVS date: 1996/01/30 03:46:46

commit a6b200db9947ab3d86be16c5739bf66e3d194116
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 03:46:32 1996 +0000

    added rpmrc.o
    
    CVS patchset: 245
    CVS date: 1996/01/30 03:46:32

commit d8b2c60d4382f48bd76c79afa5294223e9099789
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 30 02:16:47 1996 +0000

    1) places new packages in RPM_RPM_DIR/arch/file.rpm
    2) cleaned up some warnings that were bugging me
    
    CVS patchset: 244
    CVS date: 1996/01/30 02:16:47

commit 37ee0cf5e2ff9c1be06628b22dfa1c13a4228cb0
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 23:27:12 1996 +0000

    adjusted config file checking to adjust for the prefix
    
    CVS patchset: 243
    CVS date: 1996/01/29 23:27:12

commit 41f28319235dd4ad8d832afbf511b7b517249313
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 23:26:45 1996 +0000

    fixed check of --root
    
    CVS patchset: 242
    CVS date: 1996/01/29 23:26:45

commit 6b561b5d1bf158d8bfe34bb3e5ddd956588c3b3d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 20:09:49 1996 +0000

    write rpms to proper directories (not arch sensitive though)
    
    CVS patchset: 241
    CVS date: 1996/01/29 20:09:49

commit f50ac27315c9929d002c881770dacfd0bb8e6ba2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:48:54 1996 +0000

    added RPMVAR_RPMDIR, RPMVAR_SRPMDIR
    
    CVS patchset: 240
    CVS date: 1996/01/29 19:48:54

commit a8abed4bc4890502aed1443a77540f36ac489a0e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:42:29 1996 +0000

    change to use RPMBUILD_SWEEP
    
    CVS patchset: 239
    CVS date: 1996/01/29 19:42:29

commit ec5a833d250530bd8b3cde3ce3fdd9a66ea4551c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:42:29 1996 +0000

    add static to doSweep()
    
    CVS patchset: 238
    CVS date: 1996/01/29 19:42:29

commit efcea4901c0a1eafbc2f8ecd60eb54598f8c9a91
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:37:59 1996 +0000

    1) should handle config files well
    2) created directories should get umask independent permissions
    3) fixed notification handling
    4) creates file states list, install time
    
    CVS patchset: 237
    CVS date: 1996/01/29 19:37:59

commit d000ba9b49ab4e5c2a3feb946570f56efbd62aba
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:37:28 1996 +0000

    New packages have forward sorted file lists - uninstalls should traverse
    such a list backwards to give rmdir() a fighting chance
    
    CVS patchset: 236
    CVS date: 1996/01/29 19:37:28

commit 313a9e8a30f425d5d392e074c82a367fc9f2a318
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:36:49 1996 +0000

    prints install date, handles missing build date
    
    CVS patchset: 235
    CVS date: 1996/01/29 19:36:49

commit bdc12d835b0f0baeb69232bced62ae77804067fd
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:34:58 1996 +0000

    changed version to 2.0b
    
    CVS patchset: 234
    CVS date: 1996/01/29 19:34:58

commit e542d237153bdae116863cd94cdd47ece4296971
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:31:05 1996 +0000

    reversed the order of the filelist during reading of old style packages
    
    CVS patchset: 233
    CVS date: 1996/01/29 19:31:05

commit ea7daa21f8fe86fdcb01a0c49ba421fd4333dec1
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 29 19:30:49 1996 +0000

    reversed the order of the filelist during conversion
    
    CVS patchset: 232
    CVS date: 1996/01/29 19:30:49

commit 6cd793c2c23990712dd9373d04fda869aa773d34
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:14:54 1996 +0000

    add RPMBUILD_CLEAN support
    
    CVS patchset: 231
    CVS date: 1996/01/29 19:14:54

commit 71bad57b4dfad7a1014dff5e7f5a899b7eb112e5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:14:31 1996 +0000

    use RPMBUILD_SWEEP
    
    CVS patchset: 230
    CVS date: 1996/01/29 19:14:31

commit 87fbb7842d38ba7b52290cf8d8dd619ba96bc5ad
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 19:06:33 1996 +0000

    removed -m486
    
    CVS patchset: 229
    CVS date: 1996/01/29 19:06:33

commit 208e413b0e2277225057a10ccc38d10d28d8b5af
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 03:33:06 1996 +0000

    fix icon handling
    remove spec file after source packaging
    handle special %doc macro
    
    CVS patchset: 228
    CVS date: 1996/01/29 03:33:06

commit 82a0ba550fd5a494a7f3241c100610d2868d49a5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 03:32:22 1996 +0000

    added RPM_PACKAGE_NAME var to all scripts
    do special %doc install after %install
    
    CVS patchset: 227
    CVS date: 1996/01/29 03:32:22

commit 6e4421c23ff2f67f8ae527b7fe45088493a527e7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 03:31:39 1996 +0000

    added parsing for special %doc macros
    
    CVS patchset: 226
    CVS date: 1996/01/29 03:31:39

commit 1836c915e8c2fba77c3ded8de4ec59ddaf4d143c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 03:30:46 1996 +0000

    added doc section to spec file for special %doc macro
    
    CVS patchset: 225
    CVS date: 1996/01/29 03:30:46

commit 9554a0f093fdbaad657fd19ab396aea2c6e90cc2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 29 03:30:25 1996 +0000

    remove rpmbuild
    
    CVS patchset: 224
    CVS date: 1996/01/29 03:30:25

commit 8d2dea9accf22c91ba10c0d06f0e0c1fc260b202
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 28 21:38:43 1996 +0000

    added building options to RPM, tightened error checking during argument
    parsing a bit
    
    CVS patchset: 223
    CVS date: 1996/01/28 21:38:43

commit 769a70fab52cf894eb4ee28fa561d5d60c81ce17
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 28 19:42:04 1996 +0000

    implemented --hash, --percent
    
    CVS patchset: 222
    CVS date: 1996/01/28 19:42:04

commit a8900dfbd022316a88888ffdd1b3882708bcc641
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 22 21:13:55 1996 +0000

    fixed some bad frees
    
    CVS patchset: 221
    CVS date: 1996/01/22 21:13:55

commit ae492679ac7f4a612978bb6a8b648918636d35e7
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 22 21:13:27 1996 +0000

    changed parameters to install.c to allow for a notification function
    
    CVS patchset: 220
    CVS date: 1996/01/22 21:13:27

commit e1922a0bb150f5fb9da63085ea0d2705f0c37faf
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 22 21:13:12 1996 +0000

    started work on file sharing, added --hash and --percent
    
    CVS patchset: 219
    CVS date: 1996/01/22 21:13:12

commit 5584fe2e7102e88465e442ffa0fd78c22d47535d
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 22 21:12:55 1996 +0000

    added --percent, --hash
    
    CVS patchset: 218
    CVS date: 1996/01/22 21:12:55

commit 1bed3119b0f95534e4d084ffb7c52a451e84766c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 17 18:17:50 1996 +0000

    fixed broken SOURCERPM entry
    add sources and patches to source rpm header
    
    CVS patchset: 217
    CVS date: 1996/01/17 18:17:50

commit f269ab9be601b6aec5a4b3511f46a0ad72281633
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 17 18:17:01 1996 +0000

    keep a count of sources and patches
    .,
    
    CVS patchset: 216
    CVS date: 1996/01/17 18:17:01

commit dd58084b7e4335a3f555ad9adbb072e764b25681
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 17 18:16:46 1996 +0000

    count sources and patches
    
    CVS patchset: 215
    CVS date: 1996/01/17 18:16:46

commit 155618b2fadc6cb52faa7146d5e6b240b14456f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 17 17:47:28 1996 +0000

    added globbing in file list
    
    CVS patchset: 214
    CVS date: 1996/01/17 17:47:28

commit 6d709dd98bf04dda9e982f855d9090d1316e5f61
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 15 00:03:16 1996 +0000

    removed "test" target, removed convertdb.c from librpm.a
    
    CVS patchset: 213
    CVS date: 1996/01/15 00:03:16

commit 4dd52c744c55f752218fabae1d1bf514f0a8a4c5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 15 00:02:17 1996 +0000

    turned off efence as a default (we shouldn't require it for shipped versions)
    
    CVS patchset: 212
    CVS date: 1996/01/15 00:02:17

commit 4d395ecd187923f848eea7ee184e6330f2f5c0ac
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 15 00:01:43 1996 +0000

    moved version number to Makefile, added "archive" target
    
    CVS patchset: 211
    CVS date: 1996/01/15 00:01:43

commit c33544a8ef90abbcceb87603a3447a1ea8906cdc
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 15 00:01:31 1996 +0000

    changed to take VERSION field from the Makefile
    
    CVS patchset: 210
    CVS date: 1996/01/15 00:01:31

commit 530f9de331b410851e066f02b1a714c2037ef710
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 15 00:01:03 1996 +0000

    fixed a typo
    
    CVS patchset: 209
    CVS date: 1996/01/15 00:01:03

commit a856972cc62dd84f7c6061625f2286d68bdadf6f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 14 23:07:54 1996 +0000

    modified to be standalone program
    
    CVS patchset: 208
    CVS date: 1996/01/14 23:07:54

commit 42ecff8eb985edba41f114c11d1df89329779c59
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 14 19:32:17 1996 +0000

    1) checks for pacakges already installed, but doesn't handle overrides
       correctly
    2) sets file ownderships by symbolic name when they are available
    3) creates directories when needed
    
    CVS patchset: 207
    CVS date: 1996/01/14 19:32:17

commit 6447dde417116b70f00150434a888b841c4e796f
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 14 19:31:50 1996 +0000

    fixed error generated for bad magic
    
    CVS patchset: 206
    CVS date: 1996/01/14 19:31:50

commit 749b978d8b9a7282b695c52cf8f34ae13c0c4963
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Jan 14 19:31:10 1996 +0000

    removed <sys/mman.h> (mmapping isn't used anymore)
    added strings for RPMTAG_FILEUSERNAME RPMTAG_FILEGROUPNAME RPMTAG_EXCLUDE
                      RPMTAG_EXCLUSIVE RPMTAG_ICON RPMTAG_SOURCERPM
    
    CVS patchset: 205
    CVS date: 1996/01/14 19:31:10

commit d60028fa99b78c901d269623eeed0ef91120197b
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 13 22:02:24 1996 +0000

    added installFlags, changed error message
    
    CVS patchset: 204
    CVS date: 1996/01/13 22:02:24

commit 521eef02d232229d1c3f847abf8ef020bea5a50d
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 13 22:00:57 1996 +0000

    fixed detection when packages aren't opened correctly, prints source
    package names
    
    CVS patchset: 203
    CVS date: 1996/01/13 22:00:57

commit 29928e45703776a065cf9a88db0287fa727b7d2a
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 13 22:00:11 1996 +0000

    changed --force for installs, added --replacepkgs --replacefiles
    
    CVS patchset: 202
    CVS date: 1996/01/13 22:00:11

commit b18259e21dce0c137a6c2ff99a63ea739e82e10e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jan 13 00:48:51 1996 +0000

    added  RPMFILE_STATE_REPLACED
    
    CVS patchset: 201
    CVS date: 1996/01/13 00:48:51

commit 1c02bb1d89aa530e68a8c8f81315428b7f7e880e
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 13 00:18:06 1996 +0000

    added installFlags to prototype of install function
    
    CVS patchset: 200
    CVS date: 1996/01/13 00:18:06

commit 0d9d12120ae9a6a851ade0c0b75a018989ff21b9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 12 23:46:47 1996 +0000

    added RPMTAG_SOURCERPM to binary packages
    
    CVS patchset: 199
    CVS date: 1996/01/12 23:46:47

commit 2244ce669603172a844511be6c17c33bc7406129
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 12 17:03:48 1996 +0000

    . filelists are now sorted (as opposed to reverse-sorted)
    
    CVS patchset: 198
    CVS date: 1996/01/12 17:03:48

commit 0752fc3951cd41e75f086cca2f7615470fb1dcd0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 12 07:31:41 1996 +0000

    added BUILDHOST
    do %docdir, and default doc directories
    
    CVS patchset: 197
    CVS date: 1996/01/12 07:31:41

commit 76d811cc328f638fbe26e794904bc271c9b51769
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 12 07:31:04 1996 +0000

    add support for multi-line descriptions
    
    CVS patchset: 196
    CVS date: 1996/01/12 07:31:04

commit 104702f3f4cbe04081e1c6cf7d6ba4867e9948cb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 12 02:48:35 1996 +0000

    added RPMTAG_OS, RPMTAG_ARCH
    reverse sort the file list
    
    CVS patchset: 195
    CVS date: 1996/01/12 02:48:35

commit 01d5bdc5955e2065bc7fabf94dc2cc982a1b5267
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 10 17:05:40 1996 +0000

    fixed RPM-HOWTO URL
    
    CVS patchset: 194
    CVS date: 1996/01/10 17:05:40

commit bda14ac0f4cb9753ba794e63337717b11018ceaa
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 10 17:03:08 1996 +0000

    Initial revision
    
    CVS patchset: 193
    CVS date: 1996/01/10 17:03:08

commit 8b67cf70a34ce5e896bdc362fcf913febd897d3a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Jan 10 16:57:58 1996 +0000

    added --replace* options
    
    CVS patchset: 192
    CVS date: 1996/01/10 16:57:58

commit a178727eb8c4f4d99be22dac376dcce37a3893a0
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 9 23:54:35 1996 +0000

    Initial revision
    
    CVS patchset: 191
    CVS date: 1996/01/09 23:54:35

commit 8d3a074f66cf2c72aca4649950dc3b41d431987d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 9 23:41:35 1996 +0000

    added SIZE tag
    try to determine type of icon, and file in header under GIF, XPM, or ICON
    
    CVS patchset: 190
    CVS date: 1996/01/09 23:41:35

commit 0786ba9b7a3c35b579192924d71e7276ec9134bd
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:51:53 1996 +0000

    when a db doesn't exist, try to create it
    
    CVS patchset: 189
    CVS date: 1996/01/09 21:51:53

commit 5a289cef0c3e452296965e540dc12a941b038148
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:51:07 1996 +0000

    removed extra error messages
    
    CVS patchset: 188
    CVS date: 1996/01/09 21:51:07

commit 15a0018629880ffd2677543f631e01f9a241c543
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:50:54 1996 +0000

    fixed getScript()
    
    CVS patchset: 187
    CVS date: 1996/01/09 21:50:54

commit c6dfde414fb1bea071b6cc0b9d8dfeaaa1a6b995
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:50:43 1996 +0000

    fixed detection of errors on open
    
    CVS patchset: 186
    CVS date: 1996/01/09 21:50:43

commit eb15ccd3be058f1dbb9653898e636ed23e4f8726
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:50:22 1996 +0000

    added -lgz which marc seems to have removed
    
    CVS patchset: 185
    CVS date: 1996/01/09 21:50:22

commit a6c129e54e1e34f3a1019088f76fb06f3888f2de
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 21:49:40 1996 +0000

    removed extraneous error message
    
    CVS patchset: 184
    CVS date: 1996/01/09 21:49:40

commit b9b5ef9c331acd41b5e3d6048dd51154fe9ee9aa
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Jan 9 16:59:16 1996 +0000

    removed extranous printf() (which happened to be causing a seg fault)
    
    CVS patchset: 183
    CVS date: 1996/01/09 16:59:16

commit 7e28f8ace3576f44eab94d462095db59a5a014c2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Jan 9 16:28:15 1996 +0000

    removed INSTALLTIME frmo rpms
    added FILEUSERNAME, FILEGROUPNAME
    
    CVS patchset: 182
    CVS date: 1996/01/09 16:28:15

commit a9ec932bda7447c28fc69366ba0fc907de049c19
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 23:46:08 1996 +0000

    removed -lgdbm -lgz
    
    CVS patchset: 181
    CVS date: 1996/01/08 23:46:08

commit db89d2cbfda5620686343748175c0feb7d9f2f5a
Author: Unknown Author <devnull@localhost>
Date:   Mon Jan 8 21:28:20 1996 +0000

    fixed problems with --root
    
    CVS patchset: 180
    CVS date: 1996/01/08 21:28:20

commit 735ce6fc9971be392606504af22df5dc10dc4b5d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 20:21:22 1996 +0000

    handles config files, directories correctly
    
    CVS patchset: 179
    CVS date: 1996/01/08 20:21:22

commit e0208694bdd21c6374243875079fb8a86a18d0e0
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:44:29 1996 +0000

    Fixed handling of buildTime for 64 bit time_t
    Don't open database when querying package files
    
    CVS patchset: 178
    CVS date: 1996/01/08 19:44:29

commit 6ca62ee7d0b168125738901b8c700d890e3e4135
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:31:44 1996 +0000

    Initial revision
    
    CVS patchset: 177
    CVS date: 1996/01/08 19:31:44

commit bd01c5d1edef5d08625b7893136daf961d0dfce5
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:21:55 1996 +0000

    wrote doInstall()
    
    CVS patchset: 176
    CVS date: 1996/01/08 19:21:55

commit 88b6fc3f3ab11da84f600b970bd7a13e154aee23
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:21:37 1996 +0000

    added -lgz to libraries list
    
    CVS patchset: 175
    CVS date: 1996/01/08 19:21:37

commit 32a5b3bbc3189e3cfad8f2d29f9d8a65b26744a1
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:21:11 1996 +0000

    changed default prefix to / rather then empty
    added prefix to doInstall
    
    CVS patchset: 174
    CVS date: 1996/01/08 19:21:11

commit 423c649c6839c7848efca83a086241e20dd5458f
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:20:45 1996 +0000

    added install.o
    
    CVS patchset: 173
    CVS date: 1996/01/08 19:20:45

commit c16c83dffc37ba40dccf446417276f78a772af18
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:20:17 1996 +0000

    Initial revision
    
    CVS patchset: 172
    CVS date: 1996/01/08 19:20:17

commit 077c3bb502fd66892dad9af0a6cb5d34e3f337f3
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:19:53 1996 +0000

    handles shared files - doesn't handle config files correctly yet
    
    CVS patchset: 171
    CVS date: 1996/01/08 19:19:53

commit 35d9f6ca170c5ce371337048870d5454277b678e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:19:12 1996 +0000

    added rpmdbAdd()
    
    CVS patchset: 170
    CVS date: 1996/01/08 19:19:12

commit 2717f7d97991fe5c4fa7ccd07e9c33b00429a240
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:18:50 1996 +0000

    added a line of documentation
    
    CVS patchset: 169
    CVS date: 1996/01/08 19:18:50

commit dfffc8c9ef9c125aa9fa9f928454176d9cf1dc4a
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:18:14 1996 +0000

    uses rpmdbAdd function rather then duplicating it
    converts pre/post uninstall scripts
    
    CVS patchset: 168
    CVS date: 1996/01/08 19:18:14

commit 65377cb3040638a9e0ac083a0bdbf90a3516d9ae
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:17:43 1996 +0000

    saves pre and post install and uninstall scripts from old style packages
    
    CVS patchset: 167
    CVS date: 1996/01/08 19:17:43

commit 6175e290ecbc138f89599f3eb9596caad1a4d75d
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:17:22 1996 +0000

    add isDebug() function
    
    CVS patchset: 166
    CVS date: 1996/01/08 19:17:22

commit b696bb30932f309838bc67f6bd22b755ef41af79
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:16:46 1996 +0000

    added support for retrieving pre/post uninstalls from database
    
    CVS patchset: 165
    CVS date: 1996/01/08 19:16:46

commit 5dbd3e85b0af783997fffdfcfdd6405a8ed4cd08
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:15:54 1996 +0000

    added support for pre/post install and uninstall scripts, fixed
    extraction of buildDate from spec
    
    CVS patchset: 164
    CVS date: 1996/01/08 19:15:54

commit 89381ecafa8c3c79470169e51ac81126beb41d58
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 19:15:22 1996 +0000

    If not error callback is registered, the error gets printed to stderr
    
    CVS patchset: 163
    CVS date: 1996/01/08 19:15:22

commit ab74a09ce50ea73e2004116eb8c1d05c8338ea5c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 17:40:59 1996 +0000

    added RPMTAG_EXCLUSIVE RPMTAG_EXCLUDE RPMTAG_ICON
    
    CVS patchset: 162
    CVS date: 1996/01/08 17:40:59

commit 12908c65ebbad32ef5240aa7e65fc43c68248fad
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Jan 8 17:02:35 1996 +0000

    added rpmdbAdd()
    
    CVS patchset: 161
    CVS date: 1996/01/08 17:02:35

commit 97216a56c78e74092e3f5fe07dfd303e053a75fa
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:12:19 1996 +0000

    fix comment
    
    CVS patchset: 160
    CVS date: 1996/01/08 07:12:19

commit a07f81442a27d2775cf9864d8719eefd76b2acae
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:10:32 1996 +0000

    remove extraneous read() that was screwing things up
    
    CVS patchset: 159
    CVS date: 1996/01/08 07:10:32

commit 2d82745bc0574e340ed9a17234a5cb90da0ec385
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:07:35 1996 +0000

    modify cpio_gzip() and process_filelist() to handle source package filelists
    wrote markBuildTime() and packageSource()
    
    CVS patchset: 158
    CVS date: 1996/01/08 07:07:35

commit 053153a3a0fb7429af0b4a48a31158ec3dd8d992
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:06:16 1996 +0000

    check for euid == 0 before doing chown -R on sources
    add checkSources() to test access() on sources, patches, and icons
    use markBuildTime()
    
    CVS patchset: 157
    CVS date: 1996/01/08 07:06:16

commit 83db46ec7bf2995d8e6da8fa333a44dac1a39e53
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:04:24 1996 +0000

    add markBuildTime() to time stamp builds
    
    CVS patchset: 156
    CVS date: 1996/01/08 07:04:24

commit ce8f72ea89e060f8a02a5c128de107a11cb87e6d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:03:21 1996 +0000

    added icon, exclude, exclusive handling
    parseSpec now takes specfile name as argument
    
    CVS patchset: 155
    CVS date: 1996/01/08 07:03:21

commit a6401a1f4789cf1d5249398a5667591512df8272
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:02:32 1996 +0000

    spec struct now has specfile and icon elements
    
    CVS patchset: 154
    CVS date: 1996/01/08 07:02:32

commit 210ebc2ab7a877b18cca0cad43a661ec93bd5638
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:01:36 1996 +0000

    parseSpec() now takes a specfile name as argument
    
    CVS patchset: 153
    CVS date: 1996/01/08 07:01:36

commit 97aa9df6e9c1f32b6b52eb6c1c67b8a74201ca3c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Jan 8 07:00:41 1996 +0000

    make progs depend on libobjects
    specify LOADLIBES
    
    CVS patchset: 152
    CVS date: 1996/01/08 07:00:41

commit 719e577c5ac64175a7fa771de41a943ff2909bf4
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jan 6 23:33:45 1996 +0000

    reversed order of pre/preun post/postun checking
    
    CVS patchset: 151
    CVS date: 1996/01/06 23:33:45

commit d267993eac79d1f6ea8594975c4e14762b1ddd02
Author: Elliot Lee <sopwith@redhat.com>
Date:   Sat Jan 6 21:23:03 1996 +0000

    fixed prein -> pre and postin->post
    
    CVS patchset: 150
    CVS date: 1996/01/06 21:23:03

commit 405a63ffff840e33ece451781ca08d54480a8285
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 18:54:50 1996 +0000

    Initial revision
    
    CVS patchset: 149
    CVS date: 1996/01/06 18:54:50

commit 02dfd12a92044e19ccae728104f495229765e154
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:07:50 1996 +0000

    creates header for old style packages
    
    CVS patchset: 148
    CVS date: 1996/01/06 00:07:50

commit 874f4f9dbad8a924425ef573104eefe0771f56a5
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:07:13 1996 +0000

    uses oldheader.[ch] instead of oldrpmfile.[ch] (which was removed)
    
    CVS patchset: 147
    CVS date: 1996/01/06 00:07:13

commit e808a695a82ed94c6a3a4a20a23abfd6fc14a8e7
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:06:52 1996 +0000

    fixed traversal over freed spaces
    
    CVS patchset: 146
    CVS date: 1996/01/06 00:06:52

commit 2f5bde67eaff1e5a12f18e849e7b47a5eeeb5887
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:06:19 1996 +0000

    removed oldrpmfile.o, added oldheader.o, made programs depend on librpm.a
    
    CVS patchset: 145
    CVS date: 1996/01/06 00:06:19

commit 31e9a1b7b602ee3ae056ff1426d0cbfd6673dc42
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:06:09 1996 +0000

    fixed some messages
    
    CVS patchset: 144
    CVS date: 1996/01/06 00:06:09

commit 3d6e77e0b3d6c0bfe29375017ebb65de7ed0fe8f
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:05:14 1996 +0000

    fixed bug affecting removal of a pacakge which is installed multiple times
    
    CVS patchset: 143
    CVS date: 1996/01/06 00:05:14

commit 5131e75e19c562604f1f6abfbc9d218d82de69e9
Author: Erik Troan <ewt@redhat.com>
Date:   Sat Jan 6 00:05:02 1996 +0000

    made rpm depend on lib/librpm.a
    
    CVS patchset: 142
    CVS date: 1996/01/06 00:05:02

commit 5ff8f1637838cb0edf4e1192b5301be9914f7c8d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 19:10:38 1996 +0000

    added querying by group
    
    CVS patchset: 141
    CVS date: 1996/01/05 19:10:38

commit d9773ffe1172a5cfafde0c411e164733931572b1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 19:10:25 1996 +0000

    added uninstall.o
    added package.o
    
    CVS patchset: 140
    CVS date: 1996/01/05 19:10:25

commit 8178facb46214f1ac36d901ede4b0250dd49d380
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:21:33 1996 +0000

    added install.o
    
    CVS patchset: 139
    CVS date: 1996/01/05 18:21:33

commit 8d0f3b67e95fbe5077c94b99d061a363582e052e
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:19:48 1996 +0000

    added search and removal functions
    
    CVS patchset: 138
    CVS date: 1996/01/05 18:19:48

commit d2564d4aac1cea2cd9ea35382f703dd2e27b83b1
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:18:39 1996 +0000

    changed magic and version numbers to unsigned
    
    CVS patchset: 137
    CVS date: 1996/01/05 18:18:39

commit 51a5bd695ddc4137260e720a350df41ff3389474
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:16:50 1996 +0000

    added searching by group, started work on package removal
    
    CVS patchset: 136
    CVS date: 1996/01/05 18:16:50

commit 99a43e9240395e10e2b365bd35bdecad717bca37
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:15:57 1996 +0000

    began to add faFree(), though it doesn't work yet
    
    CVS patchset: 135
    CVS date: 1996/01/05 18:15:57

commit 93b99ec96e3a24414971b980982432e4681f1315
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:14:52 1996 +0000

    fixed bugs, added deletion
    
    CVS patchset: 134
    CVS date: 1996/01/05 18:14:52

commit 8555fba7bca118b28b1f9ed48d7450413f7a0b5d
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:13:25 1996 +0000

    added install, uninstall, and query by group
    
    CVS patchset: 133
    CVS date: 1996/01/05 18:13:25

commit fc3166e80dd0787b5a9e7d1ee0a58e198faf54af
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:12:55 1996 +0000

    Initial revision
    
    CVS patchset: 132
    CVS date: 1996/01/05 18:12:55

commit 7558c83bdb60fbbdb07a44462a1625ec51d53d17
Author: Erik Troan <ewt@redhat.com>
Date:   Fri Jan 5 18:12:17 1996 +0000

    1) fixed some bugs
    2) added querying by group
    3) added querying of binary packages
    4) added querying by name (though name-version-release doesn't work)
    
    CVS patchset: 131
    CVS date: 1996/01/05 18:12:17

commit 5caa05339e6971130b61dd2207f41fa8a7eb7719
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:13:40 1996 +0000

    use writeLead() from librpm
    
    CVS patchset: 130
    CVS date: 1996/01/05 03:13:40

commit e9293e83647b95c52f0cda65ccd56e5c3a01d261
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:08:34 1996 +0000

    get rid of some warnings
    
    CVS patchset: 129
    CVS date: 1996/01/05 03:08:34

commit 3bee9f51093983afbba3c6baad19e6b694f68d48
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:05:34 1996 +0000

    add readLead() and writeLead()
    
    CVS patchset: 128
    CVS date: 1996/01/05 03:05:34

commit fbdcf3e2d679263b8debef44411167beef32d659
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:05:34 1996 +0000

    Initial revision
    
    CVS patchset: 127
    CVS date: 1996/01/05 03:05:34

commit ceb04802f6afd68d877c0e45cb421d5b8981f2db
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:05:18 1996 +0000

    added rpmlead.o
    
    CVS patchset: 126
    CVS date: 1996/01/05 03:05:18

commit c4658b4c11a3583173c72bfe96792b90cfe405c2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 03:04:32 1996 +0000

    use readLead() and writeLead() from librpm.a
    
    CVS patchset: 125
    CVS date: 1996/01/05 03:04:32

commit ce54f1b8883baadb2589744010dd195d3fcdde6e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 02:10:08 1996 +0000

    added RPMLEAD_SIGNONE RPMLEAD_SIZE
    added signature_type to the lead structure
    pad lead structure to 96 bytes, 8 byte aligned
       should be enough for just about forever.
    
    CVS patchset: 124
    CVS date: 1996/01/05 02:10:08

commit 2e74958d63adfc24c64427b59fe770817694db91
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 02:08:51 1996 +0000

    use rpmlead.h
    
    CVS patchset: 123
    CVS date: 1996/01/05 02:08:51

commit 56789aa7412566d156c39f374ff0f3478a922afb
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 02:04:26 1996 +0000

    use RPMLEAD_SIZE from rpmlead.h
    
    CVS patchset: 122
    CVS date: 1996/01/05 02:04:26

commit ef6cf8e54b29f63f64cbd1913b01962f0b795655
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 02:02:21 1996 +0000

    removed RPM_LEAD_SIZE
    
    CVS patchset: 121
    CVS date: 1996/01/05 02:02:21

commit cfa399a5b9161e68a7faee7ba51241057cae7a0f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 01:48:03 1996 +0000

    added RPMTAG_FILEUSERNAME and RPMTAG_FILEGROUPNAME
    
    CVS patchset: 120
    CVS date: 1996/01/05 01:48:03

commit 3e4e12094a6a959ac90b4304937687af2b9cffa3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 01:44:52 1996 +0000

    cleaned up, added many global varsiables that used to be in
    secondary Makefiles
    
    CVS patchset: 119
    CVS date: 1996/01/05 01:44:52

commit 791596ff5191c65f603e40b8bde69e234bd785b3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 01:43:13 1996 +0000

    Initial revision
    
    CVS patchset: 118
    CVS date: 1996/01/05 01:43:13

commit 300994017f88970692e8a7571662e5fe49d567fd
Author: Elliot Lee <sopwith@redhat.com>
Date:   Fri Jan 5 01:42:43 1996 +0000

    cleaned up, moved most vars to top level Makefile
    
    CVS patchset: 117
    CVS date: 1996/01/05 01:42:43

commit fbc74f945d7967ac80fefce35d54488d2871cd6e
Author: Erik Troan <ewt@redhat.com>
Date:   Sun Dec 31 02:43:53 1995 +0000

    removed rpmbuild
    
    CVS patchset: 116
    CVS date: 1995/12/31 02:43:53

commit 09eb6916f3438c9fee1ee4b60a1576aca65ca934
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 21:55:33 1995 +0000

    added alignment code to addEntry()
    
    CVS patchset: 115
    CVS date: 1995/12/27 21:55:33

commit ca7d7895d58d8dec1d8395aeaad3c744d0f5b764
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 21:08:05 1995 +0000

    changed semantics so in-core data is in host order
    and on-disk data is in network order
    
    CVS patchset: 114
    CVS date: 1995/12/27 21:08:05

commit 624b12f4ecbd88a471dfb81ed0b14a04b2efa2f3
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 20:59:07 1995 +0000

    fixed handling of build time
    
    CVS patchset: 113
    CVS date: 1995/12/27 20:59:07

commit 4a40d6b3687d6562a0837e691dc650177899a14e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:52:58 1995 +0000

    removed ntohl() weirdness - header.c works better now
    
    CVS patchset: 112
    CVS date: 1995/12/27 20:52:58

commit 5939edd578ac857eba5dc45402208e2ceddaf46a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 20:47:09 1995 +0000

    added rule for rpmbuild
    
    CVS patchset: 111
    CVS date: 1995/12/27 20:47:09

commit b5ec54fbfa5dcf29408aeb8e0762c27d0b42a97c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:39:27 1995 +0000

    Initial revision
    
    CVS patchset: 110
    CVS date: 1995/12/27 20:39:27

commit 61dc3a5b745636aa198abd941ec16c51339c4b21
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:09:59 1995 +0000

    make depend should (and now does) recurse
    
    CVS patchset: 109
    CVS date: 1995/12/27 20:09:59

commit 626ff80c198c1be53ba9b9227a1628372b2f0315
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:08:35 1995 +0000

    Initial revision
    
    CVS patchset: 108
    CVS date: 1995/12/27 20:08:35

commit 89b8b299c6391eb4e5e1dd924ad2ae37307d01b7
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:08:11 1995 +0000

    basic querying works now, but building is broken
    
    CVS patchset: 107
    CVS date: 1995/12/27 20:08:11

commit fcf578890e222e6485fe372e06db63fff028cc0c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:05:14 1995 +0000

    changed to use oldrpmdb names insteaed of rpmdb ones
    
    CVS patchset: 106
    CVS date: 1995/12/27 20:05:14

commit 574b4da356896d57f2820f4ad65a5aeb140e81d0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 20:04:38 1995 +0000

    made changes to allow include of "falloc.h" to be removed
    
    CVS patchset: 105
    CVS date: 1995/12/27 20:04:38

commit a49f40af8cf7b2bef6464eb9fcce73358fa6400b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:50:38 1995 +0000

    Initial revision
    
    CVS patchset: 104
    CVS date: 1995/12/27 19:50:38

commit 29d08eac07783e68abed39cb32148d073b25f268
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:50:19 1995 +0000

    changed to use lead structure from lib/rpmlead.h
    
    CVS patchset: 103
    CVS date: 1995/12/27 19:50:19

commit 49ae796d731ae3a8fb9ca172d3502f87a157f4ba
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:45:36 1995 +0000

    changed to use rpmlead.h
    
    CVS patchset: 102
    CVS date: 1995/12/27 19:45:36

commit c270cf15b5f2644fc8e5a558b1fd7afffd7f1195
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 19:29:15 1995 +0000

    added depend, -lefence, removed stringbuf.o
    
    CVS patchset: 101
    CVS date: 1995/12/27 19:29:15

commit c7ed768e790f8e3500d19d6da110a0af1a1fdcd9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 19:22:42 1995 +0000

    added stringbuf.o
    
    CVS patchset: 100
    CVS date: 1995/12/27 19:22:42

commit 23ae3877ff35fb5e4cc52a57c339711227064b93
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 19:21:25 1995 +0000

    added RPMTAG_ROOT
    
    CVS patchset: 99
    CVS date: 1995/12/27 19:21:25

commit 92ebd71318e3d8225f66e270bc893c440e7af25b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:19:13 1995 +0000

    added types for database access
    
    CVS patchset: 98
    CVS date: 1995/12/27 19:19:13

commit beecff06081dd480eda82274a351026511bbf119
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:18:56 1995 +0000

    added "make depend", dbindex.o, rpmdb.o
    
    CVS patchset: 97
    CVS date: 1995/12/27 19:18:56

commit ffc5f383b89f7d5e1c929eec0f0d966e3f126cc0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 19:18:16 1995 +0000

    changed to support querying
    
    CVS patchset: 96
    CVS date: 1995/12/27 19:18:16

commit 9bba7f5a642f808c6f9f4eac6861cb2de7c95c07
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 19:04:31 1995 +0000

    added modifyEntry()
    
    CVS patchset: 95
    CVS date: 1995/12/27 19:04:31

commit e44542c280f21cec304f8645c44d6ef40bb88fd8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 18:05:01 1995 +0000

    sort indexes on write, use bsearch to find tags
    
    CVS patchset: 94
    CVS date: 1995/12/27 18:05:01

commit 3fc78abda7bc175be93c6d3ee69d1d31fc6b62da
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 17:33:28 1995 +0000

    allow 16 fd's for ftw()
    
    CVS patchset: 93
    CVS date: 1995/12/27 17:33:28

commit c0ca0abdc7d639d65853b04fe137e9944e4ecf9b
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 27 17:04:12 1995 +0000

    fixed bug in faAlloc()
    
    CVS patchset: 92
    CVS date: 1995/12/27 17:04:12

commit e48f33611071e8077f8ff8835ee9e93f7a44c355
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:54:54 1995 +0000

    add %setup and %patch handling
    add "really_exec" flag to execPart()
    
    CVS patchset: 91
    CVS date: 1995/12/27 16:54:54

commit d2d67bdffbdc44a7164e69e8b627cca8ad8f3ed9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:52:14 1995 +0000

    remove arch/os cruft and use stuff in librpm
    add root handling
    add %dir (and absense of) handling
    don't md5sum non-regular files
    
    CVS patchset: 90
    CVS date: 1995/12/27 16:52:14

commit 116446973dbd97e1c7c9e8e61a1766184d2cfa5e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:50:50 1995 +0000

    added source/patch line handling
    write real %ifarch %ifos stuff
    handle root: header option
    
    CVS patchset: 89
    CVS date: 1995/12/27 16:50:50

commit 10d55540fd0fb0df31ebf12563e72d2177034920
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:43:32 1995 +0000

    added really_exec arg to execPrep() (so we can parse without exec-ing)
    
    CVS patchset: 88
    CVS date: 1995/12/27 16:43:32

commit 7a9d83aa7ff7b22c5aae0696a61e5a7b078bf23b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:40:02 1995 +0000

    added struct sources
    
    CVS patchset: 87
    CVS date: 1995/12/27 16:40:02

commit d1c9f0d66a99755cdb2ede34d42c88009acf128b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:39:10 1995 +0000

    added getSource() getFullSource()
    
    CVS patchset: 86
    CVS date: 1995/12/27 16:39:10

commit 02d2b3068b2cc864fc57bc6f2615007d38ea5f76
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:32:19 1995 +0000

    added setVar(), ROOT var
    
    CVS patchset: 85
    CVS date: 1995/12/27 16:32:19

commit d5addaa30bf2c9374eb45d648a287a1b435d3e03
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:31:14 1995 +0000

    fixed isVerbose()
    
    CVS patchset: 84
    CVS date: 1995/12/27 16:31:14

commit 761d71df82d538f2d53db5d8e088e386a1d04fb8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 27 16:29:55 1995 +0000

    added get{Arch,Os}{Name,Num}()
    
    CVS patchset: 83
    CVS date: 1995/12/27 16:29:55

commit 61797fb2208af3c85f5bdd8913959a95edf05597
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 03:41:22 1995 +0000

    Initial revision
    
    CVS patchset: 82
    CVS date: 1995/12/27 03:41:22

commit a80f6e743678230ae42295a37ce1e6788d0749a9
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 03:40:36 1995 +0000

    fixed formatting
    
    CVS patchset: 81
    CVS date: 1995/12/27 03:40:36

commit bcc019d00072875887addb46a1e41bc51a77e8fb
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 27 03:37:38 1995 +0000

    1) added indexing by name, group, file
    2) changed some STRING types to STRINGARRAY
    
    CVS patchset: 80
    CVS date: 1995/12/27 03:37:38

commit d099d941b5b9404a7f44f17db9ae020e635707fb
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 26 23:07:41 1995 +0000

    moved to rpm.c from rpmq to get basic command line handling
    
    CVS patchset: 79
    CVS date: 1995/12/26 23:07:41

commit 0f2ea3da00e8f9c733d31150a34714233099f358
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:34:12 1995 +0000

    move RPMBUILD_* to build.h
    
    CVS patchset: 78
    CVS date: 1995/12/20 23:34:12

commit 4738e299a36c1eb6c5a0f3d03fb21f8a4bea9dcd
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:33:55 1995 +0000

    add RPMBUILD_* (used to be in build.c)
    
    CVS patchset: 77
    CVS date: 1995/12/20 23:33:55

commit d106b8bff32a5f087434a50711c4d21ac7816833
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:32:38 1995 +0000

    use STRING_ARRAY_TYPE for file, md5s, and linktos
    
    CVS patchset: 76
    CVS date: 1995/12/20 23:32:38

commit cb5270ad36ea2f6ebfe06fd42d6955ddf9ba357e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:31:16 1995 +0000

    use doBuild() instead of packageBinaries()
    
    CVS patchset: 75
    CVS date: 1995/12/20 23:31:16

commit ddfd47abbd1db5393084dcd47ab7c2b017296902
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:30:46 1995 +0000

    added %changelog
    handle %package -n
    
    CVS patchset: 74
    CVS date: 1995/12/20 23:30:46

commit b4147692a584d5f50c6e4e49a472892a987ce3f9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 23:27:15 1995 +0000

    added STRING_ARRAY_TYPE
    
    CVS patchset: 73
    CVS date: 1995/12/20 23:27:15

commit 81c82e7524ffd8463677c65950702b8b9a49a4ca
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 22:49:40 1995 +0000

    Initial revision
    
    CVS patchset: 72
    CVS date: 1995/12/20 22:49:40

commit 849b058ec09ca01754d6e2d362843a09d319d0cf
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 22:48:08 1995 +0000

    added freeIterator() copyHeader() isEntry()
    
    CVS patchset: 71
    CVS date: 1995/12/20 22:48:08

commit 78d1f4bc4d7a3121b11b6c902a572f9ca692dd0c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 20 22:47:19 1995 +0000

    added isEntry() freeIterator() and copyHeader()
    
    CVS patchset: 70
    CVS date: 1995/12/20 22:47:19

commit 68b72b0468aff6e416b833a9d58339a72211778c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 21:08:18 1995 +0000

    added dispatch code
    
    CVS patchset: 69
    CVS date: 1995/12/19 21:08:18

commit b74e71a16d0369bb8d4e33891673eaf88811ceed
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 21:06:39 1995 +0000

    add debug messages
    fixed subname entry stuff into the header
    
    CVS patchset: 68
    CVS date: 1995/12/19 21:06:39

commit f067ec7baea1e87751f71b26fd3839da0ea4fbd9
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 21:05:39 1995 +0000

    added error callback, call binary packaging
    
    CVS patchset: 67
    CVS date: 1995/12/19 21:05:39

commit 1efdf0b345af4f0bd8847ad944b96c572bc06492
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 19 20:57:18 1995 +0000

    md5 bits were signed, which caused bad expansion
    
    CVS patchset: 66
    CVS date: 1995/12/19 20:57:18

commit 80a3c6d773d43644e5eab22d0213e43cb1ced278
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 20:35:49 1995 +0000

    added md5.o and md5sum.o
    
    CVS patchset: 65
    CVS date: 1995/12/19 20:35:49

commit 3cbd6cbe9cff44cffd46b495f1030d883107ea3a
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 20:33:51 1995 +0000

    Initial revision
    
    CVS patchset: 64
    CVS date: 1995/12/19 20:33:51

commit 4a647b2bc3d4d3ddd4b810e7c66e2318d6e61985
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 17:56:45 1995 +0000

    added logic for empty %files section vs NO %files section
    ,.
    
    CVS patchset: 63
    CVS date: 1995/12/19 17:56:45

commit 12226f6441503a80c5d7807e67dcd96cec20ff5c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 17:17:37 1995 +0000

    fixed bug in string array stuff in getEntry()
    
    CVS patchset: 62
    CVS date: 1995/12/19 17:17:37

commit b1cbf6a140ad5aef9fef465ade3a6b53da3e67d2
Author: Elliot Lee <sopwith@redhat.com>
Date:   Tue Dec 19 16:57:12 1995 +0000

    made rpm depend on lib/librpm.a
    
    CVS patchset: 61
    CVS date: 1995/12/19 16:57:12

commit fcc49648fd74a07c50a9b0f8eab0b4aa64bab6ed
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 19 16:17:39 1995 +0000

    Added routines for traversal
    
    CVS patchset: 60
    CVS date: 1995/12/19 16:17:39

commit fa82a7b7ba63165347229476dbff2de5b972789c
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 19 16:17:21 1995 +0000

    Added routines for retrieving GIFs
    
    CVS patchset: 59
    CVS date: 1995/12/19 16:17:21

commit 03df85e13db3208b779cdb531ef3be6bfcfd1260
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 19 16:09:38 1995 +0000

    Changed RPMTAB_FILESTATES to INT8 from CHAR
    Added GIF's
    
    CVS patchset: 58
    CVS date: 1995/12/19 16:09:38

commit a0caa9c79cfc7cd170b317a6eca3475c52af814c
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 20:31:09 1995 +0000

    Initial revision
    
    CVS patchset: 57
    CVS date: 1995/12/18 20:31:09

commit d5b37d3e38a91a11f3a95da5fbc4154dbc643f5e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 20:28:07 1995 +0000

    added rpmlead rpmheader rpmarchive
    
    CVS patchset: 56
    CVS date: 1995/12/18 20:28:07

commit 3559014661b1ab9ee8f3e3f4f728c039342e8c44
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 18:44:16 1995 +0000

    fixed bug where every part was POSTUN
    
    CVS patchset: 55
    CVS date: 1995/12/18 18:44:16

commit 20679dba829440c68a07cac3f3c228bdc0649b27
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 18:13:41 1995 +0000

    fixed previous edit
    ,
    
    CVS patchset: 54
    CVS date: 1995/12/18 18:13:41

commit 304e100833b5ee3604bb1ec2cd5084fd7cbae2ca
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 18:08:30 1995 +0000

    allow type to be NULL in getEntry()
    
    CVS patchset: 53
    CVS date: 1995/12/18 18:08:30

commit ba10e3d22e70bda01ece1752567f945c89c37159
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 18:00:28 1995 +0000

    allow NULL to be passed for count in getEntry()
    
    CVS patchset: 52
    CVS date: 1995/12/18 18:00:28

commit ec6594f3e44724dd523df9b67a31f6fe4a95f7b5
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 17:43:06 1995 +0000

    added pack.o
    
    CVS patchset: 51
    CVS date: 1995/12/18 17:43:06

commit af1d65286bdb9dfa22a45bf9203917387465161d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 14:56:49 1995 +0000

    cleaned up error() for new error scheme
    relocated dump code
    
    CVS patchset: 50
    CVS date: 1995/12/18 14:56:49

commit c90196991c2384f4d1f4b057e4cb408c0432fb18
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 14:53:29 1995 +0000

    pulled out pack routines to pack.h
    
    CVS patchset: 49
    CVS date: 1995/12/18 14:53:29

commit d9a3f08d88220d9ebb16a8185381ea4161c3cdf7
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 14:53:14 1995 +0000

    unified script writing routines
    
    CVS patchset: 48
    CVS date: 1995/12/18 14:53:14

commit 8a0ef9fe18d69eb784f2c4c75f2347f0fd1d4229
Author: Elliot Lee <sopwith@redhat.com>
Date:   Mon Dec 18 14:48:03 1995 +0000

    made global error structure, and functions to read/write it
    ,.
    
    CVS patchset: 47
    CVS date: 1995/12/18 14:48:03

commit 033609ea2d5c22c48329b2181dc82c4167fd41cc
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 16:44:32 1995 +0000

    added var.o
    
    CVS patchset: 46
    CVS date: 1995/12/14 16:44:32

commit 1b6a9c93751802377ef23df97226e8fc5cc92b0e
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 16:42:39 1995 +0000

    Initial revision
    
    CVS patchset: 45
    CVS date: 1995/12/14 16:42:39

commit 9780fddd5eb31d1b0c252015191549a802c877f2
Author: Erik Troan <ewt@redhat.com>
Date:   Thu Dec 14 16:38:52 1995 +0000

    fixed make clean rule
    
    CVS patchset: 44
    CVS date: 1995/12/14 16:38:52

commit d39f2ac827c7bfddaa4518f23738ff189d693c8d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 16:17:51 1995 +0000

    fixed prototype warning
    
    CVS patchset: 43
    CVS date: 1995/12/14 16:17:51

commit 160f9371a8bd23203b47e458f68decb06f99864b
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 16:16:21 1995 +0000

    added isVerbose()
    
    CVS patchset: 42
    CVS date: 1995/12/14 16:16:21

commit 473c3731099ae692d952efad97d60f119518cf48
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 16:03:08 1995 +0000

    added iterator stuff
    
    CVS patchset: 41
    CVS date: 1995/12/14 16:03:08

commit f3d821cea4dafe238d16a7e0a46942ec9c4b040f
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 15:56:10 1995 +0000

    routines for building packages from parsed spec structs
    
    CVS patchset: 40
    CVS date: 1995/12/14 15:56:10

commit 32c194be7258f471677285e1d7cd6643e96528b8
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 15:54:13 1995 +0000

    Initial revision
    
    CVS patchset: 39
    CVS date: 1995/12/14 15:54:13

commit 241dc6a725f680198eb65edeff01f792c13e3011
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 15:52:51 1995 +0000

    added all parsing into spec and package structs
    tons of stuff
    
    CVS patchset: 38
    CVS date: 1995/12/14 15:52:51

commit 6d9fa6ae7ceb3da33f81df881ea5ccb673eb9733
Author: Elliot Lee <sopwith@redhat.com>
Date:   Thu Dec 14 15:50:00 1995 +0000

    added dumpSpec()
    
    CVS patchset: 37
    CVS date: 1995/12/14 15:50:00

commit 5a0502350d637fc988af7279e03b49289dc24a6a
Author: Unknown Author <devnull@localhost>
Date:   Thu Dec 14 15:47:55 1995 +0000

    rpm progs, build.o
    
    CVS patchset: 36
    CVS date: 1995/12/14 15:47:55

commit 33bc84283e2650d4f97f2eb8bdafec4af075a10a
Author: Unknown Author <devnull@localhost>
Date:   Thu Dec 14 15:46:09 1995 +0000

    Initial revision
    
    CVS patchset: 35
    CVS date: 1995/12/14 15:46:09

commit e09146763c91d638204786532b999e5e40b357ad
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 22:38:23 1995 +0000

    Added BIN_TYPE
    
    CVS patchset: 34
    CVS date: 1995/12/13 22:38:23

commit 934076d1c1a29f487dc9e544aacf9915888aa61d
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 13 21:40:59 1995 +0000

    changed error() to use varargs/vfprintf()
    
    CVS patchset: 33
    CVS date: 1995/12/13 21:40:59

commit 2eec922f7e9728a8a6cc069ee248774d81b4be65
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:20:14 1995 +0000

    minor changes to get it compiling again
    
    CVS patchset: 32
    CVS date: 1995/12/13 20:20:14

commit 75ab7b91d4b03c9b6707197f1d9dce8f1e90686c
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:13:49 1995 +0000

    Initial revision
    
    CVS patchset: 31
    CVS date: 1995/12/13 20:13:49

commit b1df00c5617b65070bdbce2e794fabd995db05d0
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:13:17 1995 +0000

    tests converDB() now
    
    CVS patchset: 30
    CVS date: 1995/12/13 20:13:17

commit 84f1a03dc196c312aa8eae2d22e5ca457e623339
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:13:06 1995 +0000

    added sizeofHeader
    
    CVS patchset: 29
    CVS date: 1995/12/13 20:13:06

commit 3f1ada23986ba1e51a7baaa3314b6cf73a822f5d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:12:35 1995 +0000

    1) made dumpHeader use symbolic names
    2) fixed allocation loop
    3) changed indentation
    4) added sizeofHeader
    
    CVS patchset: 28
    CVS date: 1995/12/13 20:12:35

commit 58269e9aaea5345987e32b50c5e2862e0045521e
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:11:46 1995 +0000

    1) added falloc.o convertdb.o oldrpmfile.o to librpm.a
    2) builds dumpdb
    
    CVS patchset: 27
    CVS date: 1995/12/13 20:11:46

commit 958dc058a48ed65070e09929a64cf04c3733402f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:11:31 1995 +0000

    added exists() function
    
    CVS patchset: 26
    CVS date: 1995/12/13 20:11:31

commit 1fa608da506a58002a0b0ad553e6968bdca05b4f
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:10:32 1995 +0000

    1) added copyright field for packages
    2) packages w/o groups are supported
    3) groups are returned correctly
    4) preamble parsing made case insensitive
    
    CVS patchset: 25
    CVS date: 1995/12/13 20:10:32

commit 85cff2274e66e265aa4b95e1424cd95ccd3b3b2d
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:10:25 1995 +0000

    added copyright field for packages
    
    CVS patchset: 24
    CVS date: 1995/12/13 20:10:25

commit 1223e1f8068fa6f0fbd65654e8e8b5dbff097d7b
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:09:47 1995 +0000

    Creates nearly complete packages.rpm - no indexing is done yet
    
    CVS patchset: 23
    CVS date: 1995/12/13 20:09:47

commit f9c02bf8cd4ce7f5eafac2c0cece04f3819a5fff
Author: Erik Troan <ewt@redhat.com>
Date:   Wed Dec 13 20:08:33 1995 +0000

    Added more RPMTAG's and the first RPMFILE class contants
    
    CVS patchset: 22
    CVS date: 1995/12/13 20:08:33

commit e70eb906e545cf267735db919aba7d212fdfd174
Author: Elliot Lee <sopwith@redhat.com>
Date:   Wed Dec 13 17:47:15 1995 +0000

    fixed dumb buffer extension bug
    
    CVS patchset: 21
    CVS date: 1995/12/13 17:47:15

commit 604a38ed5c2dbcd5e5448635ecd20021e55e6b98
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 13 16:04:49 1995 +0000

    added tags for pre/post in/out
    
    CVS patchset: 20
    CVS date: 1995/12/13 16:04:49

commit bef5fd6745de40acaa4aca5847bfdbbfbd96027c
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 13 16:01:36 1995 +0000

    Initial revision
    
    CVS patchset: 19
    CVS date: 1995/12/13 16:01:36

commit fe029afbbe197b48922d7bfc5b49a22f12edbc2f
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 13 16:01:10 1995 +0000

    added stringbuf.o
    
    CVS patchset: 18
    CVS date: 1995/12/13 16:01:10

commit ee28a4d263bd8f089afe5ab600c1f48e8c38675f
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 13 16:00:19 1995 +0000

    modified to test spec.c 1.4
    
    CVS patchset: 17
    CVS date: 1995/12/13 16:00:19

commit 4ca07d7be8f6cdc4c817d834399bb59a3d2ab8b1
Author: Unknown Author <devnull@localhost>
Date:   Wed Dec 13 15:57:59 1995 +0000

    fleshed out parsing, incorporated stringbufs, cleaned up
    the spec/package structures and relationships
    
    CVS patchset: 16
    CVS date: 1995/12/13 15:57:59

commit 2239fa559cc72de97d8bda3d3af357d07c27bf5b
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 12 23:25:31 1995 +0000

    Changed to use file descriptors instead of stdio
    
    CVS patchset: 15
    CVS date: 1995/12/12 23:25:31

commit e55cb9595488ae4423f336ef2078796b1c6fab5d
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 12 23:23:37 1995 +0000

    Added error number to messages
    
    CVS patchset: 14
    CVS date: 1995/12/12 23:23:37

commit 26efeda3f315f819dfaf4338dd84046295502f9f
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 12 22:35:42 1995 +0000

    added include of string.h to get rid of warning message
    
    CVS patchset: 13
    CVS date: 1995/12/12 22:35:42

commit b870ab911b8f8f2746d7d7b7408c6babcec6df07
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:53:17 1995 +0000

    removed -lefence (just temporary)
    
    CVS patchset: 12
    CVS date: 1995/12/12 17:53:17

commit 171bf4e279c6972634b682fd963458d101332d16
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:53:17 1995 +0000

    complete reorg of reading scheme
    added %else handling
    no regexp stuff
    nice big table of tags and keywords :-)
    
    CVS patchset: 11
    CVS date: 1995/12/12 17:53:17

commit c0fce339bf5463a5ee6b07dcd870e7f3283901f5
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:51:07 1995 +0000

    added rpmerr.o to LIBOBJECTS
    
    CVS patchset: 10
    CVS date: 1995/12/12 17:51:07

commit 173314bce5abf6f70ed428bb614d1d4fe80d8d2e
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:49:04 1995 +0000

    removed tag definitions (moved to rpmlib.h)
    
    CVS patchset: 9
    CVS date: 1995/12/12 17:49:04

commit 63b7e447d478af9d441bafd7549044a0cba49a7b
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:49:04 1995 +0000

    include rpmlib.h
    
    CVS patchset: 8
    CVS date: 1995/12/12 17:49:04

commit d1f254f84bc8b6a4d6b73bf7b16137e1a4dc7a0a
Author: Unknown Author <devnull@localhost>
Date:   Tue Dec 12 17:49:04 1995 +0000

    added some tags
    
    CVS patchset: 7
    CVS date: 1995/12/12 17:49:04

commit 8b02e113ece5e974695024cb7cedba86f956f2ba
Author: Erik Troan <ewt@redhat.com>
Date:   Tue Dec 12 17:40:49 1995 +0000

    added include of <string.h>
    
    CVS patchset: 6
    CVS date: 1995/12/12 17:40:49

commit 1f6a1869809f0f0615ed789de16014d5d9515c5e
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 11 23:42:31 1995 +0000

    Initial revision
    
    CVS patchset: 5
    CVS date: 1995/12/11 23:42:31

commit 61514fde9461cddabcb65834c20fb5659eecc590
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 11 22:53:09 1995 +0000

    Get DEBUG, WARNING, and EFENCE stuff from children
    
    CVS patchset: 4
    CVS date: 1995/12/11 22:53:09

commit 871c95922018f555a4369980011161120c2e4790
Author: Unknown Author <devnull@localhost>
Date:   Mon Dec 11 22:52:59 1995 +0000

    started parsing
    
    CVS patchset: 3
    CVS date: 1995/12/11 22:52:59

commit 93db395636f89d00bcf16574d67c2baf57022096
Author: Erik Troan <ewt@redhat.com>
Date:   Mon Dec 11 22:52:36 1995 +0000

    Passed warnings, efence flags to child makes
    
    CVS patchset: 2
    CVS date: 1995/12/11 22:52:36

commit 7153c160969d70a083f791bf75f9b4d09d2f2a45
Author: Unknown Author <devnull@localhost>
Date:   Mon Nov 27 22:31:21 1995 +0000

    Initial revision
    
    CVS patchset: 1
    CVS date: 1995/11/27 22:31:21
