History log of /openbsd-src/usr.sbin/pkg_add/OpenBSD/UpdateSet.pm (Results 1 – 25 of 89)
Revision Date Author Comments
# 039cbdaa 13-Jun-2023 espie <espie@openbsd.org>

move to use v5.36;
tested by me over the last few weeks, and tb@
also fixed a "manual install" bug properly reported by tb@

aside that there should be *no functional change*.
If you see any message

move to use v5.36;
tested by me over the last few weeks, and tb@
also fixed a "manual install" bug properly reported by tb@

aside that there should be *no functional change*.
If you see any message like "hey, the number of params is wrong"
it is a fringe case I didn't run into and should be easy to fix.

show more ...


# a0ae1cf1 27-May-2023 espie <espie@openbsd.org>

more comment


# 2fcee420 13-Apr-2022 espie <espie@openbsd.org>

track ::Sample and ::Extra across an UpdateSet so that we may eventually
give out more accurate diagnostic (soon !)


# d66db768 17-Mar-2022 espie <espie@openbsd.org>

add some extra logic to prevent moving files around when this is possible.
Specifically, we created pkg.XXXX temp files for updates to work.

When I added tied files, I generalized this to installs a

add some extra logic to prevent moving files around when this is possible.
Specifically, we created pkg.XXXX temp files for updates to work.

When I added tied files, I generalized this to installs as well, because
it was becoming too complex.

Forward a few years:
- we have tags and define-tag, so we can deem a lot of UpdateSets "safe"
(because they don't run command during the deletion/installation, but at
the end, so they won't see unwanted files)
- the tied logic is well-proven

With this diff:
- installs will again extract files directly in-place, so that install
is (mostly) chown + utimes.

- updates will extract files with new names directly in-place

- tied files that didn't change names will have zero churn (instead
of link to pkg.XXXX, rm orig file, mv pkg.XXXX back to orig file)

After lots of tests involving somewhat broken things.

Okay sthen@

(if it breaks it's easy to revert, but the speed-up for stuff like
texlive minor updates is significant)

show more ...


# 0fc00915 04-Jul-2019 espie <espie@openbsd.org>

gc old code (unused since it couldn't work without a state)
hack "print" to do the right thing because it wouldn't.
this will probably need some cleanse at some point, like doing smart_join
in a smar

gc old code (unused since it couldn't work without a state)
hack "print" to do the right thing because it wouldn't.
this will probably need some cleanse at some point, like doing smart_join
in a smarter way.

show more ...


# 75ad74c9 30-Jun-2019 espie <espie@openbsd.org>

tweak short_print to commonalize stems if they all have the same version
number. Adjust the other shortener for that.


# b8b880d2 07-Apr-2019 espie <espie@openbsd.org>

some scenarios may call match_locations on a DeleteSet.
there is no external source, so return []

(noticed by Anton Karpov, not sure how to reproduce)


# 7571f4eb 12-Dec-2018 espie <espie@openbsd.org>

moving handles to kept means they're not affected by complete_set, which
means that they won't get their dependency information. But if they're
in kept, they're actually installed so make sure they h

moving handles to kept means they're not affected by complete_set, which
means that they won't get their dependency information. But if they're
in kept, they're actually installed so make sure they have a location.

This will let pkg_add always follow dependencies for all sets even if
there's nothing to directly install

show more ...


# 3c675cda 18-Jul-2018 espie <espie@openbsd.org>

make the logic for deleting first slightly more obvious
in particular, there's nothing to try if we don't have older packages


# 9a9cac3b 26-Jun-2018 espie <espie@openbsd.org>

make it possible to remove old packages with erroneous tags...
shouldn't happen, but...
- mark old handles as such in UpdateSets
- keep going on solve_handle_tag to get maximum reports
- tweak verify

make it possible to remove old packages with erroneous tags...
shouldn't happen, but...
- mark old handles as such in UpdateSets
- keep going on solve_handle_tag to get maximum reports
- tweak verify_tags to demote old handles to warnings from errors

show more ...


# f3ff8f9e 20-Jun-2018 espie <espie@openbsd.org>

tags from changed_handles will be relevant, from nowhere else...


# 1344a963 20-Jun-2018 espie <espie@openbsd.org>

move the solver autoloader into UpdateSet so that pkg_delete will be
able to use it.


# fb75580a 27-Feb-2018 espie <espie@openbsd.org>

sanitize say/print output further
- have confirm go thru f() every time (adding
confirm_defaults_to_no/confirm_defaults_to_yes apis... verbose but effective)
- check DESCR in pkg_create, as suggested

sanitize say/print output further
- have confirm go thru f() every time (adding
confirm_defaults_to_no/confirm_defaults_to_yes apis... verbose but effective)
- check DESCR in pkg_create, as suggested by sthen@
- don't do the whole safe dance when not needed (optimization)
- misnamed allowed -> forbidden (schwarze@)

This effectively prevents DESCR from using diacritics. Sorry!
Ingo makes a compelling argument that using UTF8 while installing a new
box is currently fairly dangerous, considering tty setups.

This affects about 10 ports at the moment, all of which were fixed before
this commit.

show more ...


# d957d6ed 25-Nov-2014 espie <espie@openbsd.org>

minor clean-up: the stuff not to display is tied to the set, so make the
current_set more explicit in the PkgAdd algorithm...
and clean it up when we clean the set.

Put the "tieing files" stuff into

minor clean-up: the stuff not to display is tied to the set, so make the
current_set more explicit in the PkgAdd algorithm...
and clean it up when we clean the set.

Put the "tieing files" stuff into its own function so that the add code
looks a bit less like a spaghetti monster

show more ...


# 2a5be836 04-Feb-2014 espie <espie@openbsd.org>

prevent updates from starting with a lone ":"
Some UpdateSets will only contain kept packages, BUT require the update
of some dependencies.

just spew out the kept_names instead of newer_names in tha

prevent updates from starting with a lone ":"
Some UpdateSets will only contain kept packages, BUT require the update
of some dependencies.

just spew out the kept_names instead of newer_names in that case.

show more ...


# bbe3831f 02-Feb-2014 espie <espie@openbsd.org>

simplify how "kept" packages are handled. First, we never need their
full plist, just their update_info. Also, the routine for move_kept is
pretty much always the same, so fold it.

Finally, delay fu

simplify how "kept" packages are handled. First, we never need their
full plist, just their update_info. Also, the routine for move_kept is
pretty much always the same, so fold it.

Finally, delay full plists in create_old.

show more ...


# 2c3f8ba0 01-Feb-2014 espie <espie@openbsd.org>

style


# 3dafbabd 31-Jan-2014 espie <espie@openbsd.org>

no longer a need for the solver, which is fortunate as this creates
a cycle (in perl -current at least).

found by careful usage of Devel::Leak::Object and going back in time to
2007...


# a92fd548 30-Jan-2014 espie <espie@openbsd.org>

don't create empty entries


# 0cc88a49 06-Sep-2012 espie <espie@openbsd.org>

shorter display for trivial updatesets,
foo-0.0->foo-1.0
becomes
foo-0.0->1.0


# d72bb06f 17-Jul-2011 espie <espie@openbsd.org>

now that the API is working, reorg the code correctly: DeleteSet is the
base class, and UpdateSet adds stuff to it.

During cleanup, also clean-up kept packages, there's no reason not to.


# b07acb4a 13-Jul-2011 espie <espie@openbsd.org>

let short_print work on DeleteSets


# 303a35c3 13-Jul-2011 espie <espie@openbsd.org>

create DeleteSet as a specialized version of UpdateSets that print
differently, specialize the states a wee little bit.


# 681090d4 12-Jul-2011 espie <espie@openbsd.org>

new pkg_delete, very similar to pkg_add, support for -a


# 24cff5d0 20-Jun-2011 espie <espie@openbsd.org>

in an UpdateSet, match new files with old files based on their sha256.
avoid extracting again identical files, leading to less file system churn.
put in a few failsafes (size check) for people with f

in an UpdateSet, match new files with old files based on their sha256.
avoid extracting again identical files, leading to less file system churn.
put in a few failsafes (size check) for people with fubar'd file
systems (hey oga@).

The more often you update, the more you gain. Over 6 months, about one
out of five files doesn't change.

apparently, improves things a lot on slow fs, as said landry@ and sthen@.
tested by quite a few people.

show more ...


1234