pkgin/pkgin 777eeb9. configure CHANGES.md

Release 23.12.0.
DeltaFile
+10-10configure
+6-0CHANGES.md
+1-1configure.ac
+17-113 files

pkgin/pkgin 5033ff7. download.c main.c

Require valid certs for https:// repositories.

New `-i' option to allow insecure transport.

Requires libfetch>=2.40.
DeltaFile
+23-3download.c
+11-2main.c
+5-2pkgin.1.in
+5-1README.md
+2-0pkgin.h
+46-85 files

pkgin/pkgin 0bb4739. configure CHANGES.md

Release 23.8.1.
DeltaFile
+10-10configure
+5-0CHANGES.md
+1-1configure.ac
+16-113 files

pkgin/pkgin 8de4e70. pkgindb_queries.c main.c

Fix keep/unkeep regression in 23.8.0.

Changing pkg_keep() to accept a single argument broke running "keep" and
"unkeep" with multiple arguments.  While here, fix the exit status so
that failures are now reported correctly.
DeltaFile
+8-4pkgindb_queries.c
+8-2main.c
+16-62 files

pkgin/pkgin 0fb025c. CHANGES.md configure

Release 23.8.0.
DeltaFile
+41-0CHANGES.md
+10-10configure
+1-1configure.ac
+52-113 files

pkgin/pkgin 0ce431d. pkgindb_queries.c

Update CHECK_DB_LATEST to the latest pkgin.sql.
DeltaFile
+3-1pkgindb_queries.c
+3-11 files

pkgin/pkgin 96777ce. order.c download.c

Order downloads alphabetically and print counters.
DeltaFile
+25-5order.c
+1-1download.c
+26-62 files

pkgin/pkgin 55e58c7. summary.c impact.c

Plug various memory leaks.
DeltaFile
+11-5summary.c
+12-2impact.c
+10-3depends.c
+33-103 files

pkgin/pkgin cec4962. pkg_str.c

Avoids globs in -[0-9]* patterns.

Fixes issue seen with e.g. postgresql9[01235-9]-[0-9]* where an
incorrect pkgbase was computed.
DeltaFile
+4-2pkg_str.c
+4-21 files

pkgin/pkgin 426b77f. pkg_check.c actions.c

Use a Plistarray for conflicts handling.

Also add DISTINCT to the LOCAL_CONFLICTS query, reduces the number of
distinct CONFLICTS entries by around 50% on the test system.  Overall,
improves performance of "pkgin -n upgrade" by around 20%.
DeltaFile
+95-17pkg_check.c
+14-12actions.c
+22-1pkgin.h
+1-1pkgindb_queries.c
+132-314 files

pkgin/pkgin f161213. impact.c

Improve and fix record_supersedes().

Fix logic error with strcmp() checking that meant we were only ever
handling a maximum of one SUPERSEDES match, and use the optional PKGBASE
returned by the SQL query to speed up find_local_pkg() searching.
DeltaFile
+7-3impact.c
+7-31 files

pkgin/pkgin bf85e64. depends.c impact.c

Implement hashed lookups for the majority of lists.

Add a new array type which is an array of SLISTs, and use them where we
will often look up packages by name.  djb_hash() is used as the hashing
function for good distribution, and each type of hash has its own size
based on performance analysis on the test system.

Many parts of the depends and impact code needed altering to work with
this, and along the way a number of bugs were fixed, mainly around
partial installs where previously we did not correctly consider reverse
dependencies and what happens if they themselves are updated.  Partial
upgrades now correctly recurse both ways for upgraded packages.

As well as fixing bugs, the main benefit of hashed lookups is
performance, and this commit speeds up "pkgin -n upgrade" by 10x on the
test system, and "pkgin -n install zlib" by 5x.
DeltaFile
+257-156depends.c
+268-134impact.c
+213-27pkglist.c
+127-26pkg_str.c
+134-9pkgin.h
+11-11actions.c
+1,010-3636 files not shown
+1,052-39612 files

pkgin/pkgin b70dc53. summary.c, external iterate.c lib.h

Improve performance of add_required_by().

This is the optimisation as described in my tech-pkg review request:

  https://mail-index.netbsd.org/tech-pkg/2023/08/07/msg027952.html

where pkgdb iterations can be configured to be ignored after finding the
first valid match.  Saves many unnecessary calls to pkg_order() and
improves performance by around 12x on my test system.
DeltaFile
+30-4external/iterate.c
+1-1external/lib.h
+1-1summary.c
+32-63 files

pkgin/pkgin de91a30. pkg_check.c actions.c

Gather up all conflicts before printing them.

Avoids the user having to type "y" for each of them just to see if there
are any other conflicts.  While here tidy things up a bit and simplify.
DeltaFile
+20-22pkg_check.c
+18-13actions.c
+38-352 files

pkgin/pkgin ed4b6e1. actions.c download.c

Implement counters for downloads.
DeltaFile
+13-5actions.c
+7-5download.c
+1-1pkgin.h
+21-113 files

pkgin/pkgin 365a23a. actions.c messages.h

Add counter for removals too.
DeltaFile
+12-7actions.c
+0-1messages.h
+12-82 files

pkgin/pkgin b2a5b74. pkglist.c impact.c

Various compiler warning fixes.
DeltaFile
+6-5pkglist.c
+3-3impact.c
+2-2actions.c
+1-1fsops.c
+1-1autoremove.c
+1-1main.c
+14-136 files

pkgin/pkgin b88700b. summary.c main.c

Plug a bunch of memory leaks.

Found using the macOS leaks(1) command running against the test suite.
DeltaFile
+13-1summary.c
+11-2main.c
+8-0actions.c
+3-3impact.c
+2-1download.c
+2-0pkglist.c
+39-73 files not shown
+45-79 files

pkgin/pkgin 7dd8dec. actions.c pkglist.c

Add pkgfs to Pkglist, path to downloaded file.

Saves a duplicate string in different places.  While here ensure all
char Pkglist entries are freed.
DeltaFile
+16-20actions.c
+6-2pkglist.c
+3-2pkgin.h
+25-243 files

pkgin/pkgin 7940de0. actions.c

Print a simple progress counter when installing.
DeltaFile
+22-6actions.c
+22-61 files

pkgin/pkgin 2a29dff. actions.c messages.h

Improve output messages when reducing disk usage.

Also go back to using defines for these messages, it's getting a little
messy.
DeltaFile
+42-24actions.c
+20-0messages.h
+62-242 files

pkgin/pkgin eaf6c75. pkgin.sql pkgindb_queries.c

Clean up ancilliary table handling.

Be consistent in how DEPENDS, CONFLICTS, etc are handled.  Avoid magic
queries that force them to have the same column names, and instead
rename the columns so they make sense for each.  Start using lowercase
column names for readability.

As an example the PROVIDES/REQUIRES tables now have a "filename" column
given they represent file paths, instead of e.g. REMOTE_REQUIRES_PKGNAME
which made no sense.

Ensure all relevant indexes are created, speeding up database queries.

New "switch-repo" test in the test suite verifies correct database
handling.
DeltaFile
+108-92pkgin.sql
+68-61pkgindb_queries.c
+41-45summary.c
+13-12pkgindb.h
+9-9depends.c
+4-4pkg_check.c
+243-2232 files not shown
+246-2268 files

pkgin/pkgin 71f61d3. pkgindb_queries.c pkgindb.h

Remove more unused queries.
DeltaFile
+0-23pkgindb_queries.c
+0-3pkgindb.h
+0-262 files

pkgin/pkgin 1e807eb. pkgin.sql

Remove DESCRIPTION column, unused.
DeltaFile
+0-8pkgin.sql
+0-81 files

pkgin/pkgin 05641fe. pkgin.sql pkgindb_queries.c

Add some more database indexes.

Also stop using "dewey" for patterns, just call them patterns as they
have nothing to do with dewey decimals.
DeltaFile
+27-2pkgin.sql
+8-4pkgindb_queries.c
+2-2depends.c
+1-2summary.c
+38-104 files

pkgin/pkgin 81a095a. actions.c impact.c

Implement initial SUPERSEDES support.

This is enough to get at least basic replacements working, for example
nodejs superseding npm, and also cleans up some of the remove path.
DeltaFile
+158-43actions.c
+99-5impact.c
+21-6order.c
+12-1pkgindb_queries.c
+9-0summary.c
+7-0pkg_check.c
+306-554 files not shown
+318-5510 files

pkgin/pkgin 04fb026. pkgin.h

Remove unused "type" entry from struct Pkglist.
DeltaFile
+0-2pkgin.h
+0-21 files

pkgin/pkgin 53f9770. actions.c impact.c

Give actions a proper type.
DeltaFile
+25-16actions.c
+14-13impact.c
+13-8pkgin.h
+1-1pkg_check.c
+1-1order.c
+1-1pkglist.c
+55-406 files

pkgin/pkgin ccc25c9. actions.c autoremove.c

Sort output package lists alphabetically.

Should be the final issue raised in NetBSDfr/pkgin#17.
DeltaFile
+76-16actions.c
+46-14autoremove.c
+9-0pkg_str.c
+1-0pkgin.h
+132-304 files

pkgin/pkgin 8f74cf7. summary.c main.c

Avoid local database update messages on startup.

This can essentially corrupt some output such as "pkgin export" if
performed after a pkgdb update, as described in NetBSDfr/pkgin#97.

Output is retained for operations which themselves modify the pkgdb.
DeltaFile
+8-4summary.c
+3-2main.c
+11-62 files