History log of /openbsd-current/usr.sbin/pkg_add/OpenBSD/LibSpec.pm
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.21 08-Oct-2023 espie

subclass system libraries so we can give better diagnostic eventually


Revision tags: OPENBSD_7_4_BASE
# 1.20 13-Jun-2023 espie

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.


# 1.19 27-May-2023 espie

document base method


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.18 16-Sep-2017 espie

we already have a comparison function for libobjects, so move it up to
the best class, and sort bad libraries in dependency solving accordingly


Revision tags: OPENBSD_6_1_BASE
# 1.17 10-Feb-2017 espie

add glue to be able to ask "give me the highest number shared library with
that stem". needed later for new fancy stuff in check-lib-depends
okay sthen@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 18-Mar-2014 espie

remove $_ usage that warns under perl 5.18


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.15 24-Dec-2010 espie

handle failures from ports tree with more care.
this does avoid infinite loops in case of wrong plists.
necessary since print-plist-with-depends CAN fail...


# 1.14 27-Oct-2010 espie

initial scaffolding for @rcscript: for now, acts like normal files,
but allow absolute pathnames (treat that as an implicit @cwd).


Revision tags: OPENBSD_4_8_BASE
# 1.13 11-Jul-2010 espie

move compare into LibSpec, it's not so specific to Signature after all


# 1.12 30-Jun-2010 espie

allow say and errsay to work without parameters, as it's ways common.
create verbose_system up in state, because it makes sense without verbose.


# 1.11 30-Jun-2010 espie

whitespace cleanup


# 1.10 19-Jun-2010 espie

let build libspec match as they should.
namely, if a shared lib exists, then a static library should not match
if the version number is not okay.
problem noticed by sthen@, okay sthen@


# 1.9 09-Jun-2010 espie

ui changes: go thru a state object for most printouts


# 1.8 10-May-2010 espie

whitespace fixes


# 1.7 24-Apr-2010 espie

more tweaks so that it can be extended and used during ports builds


# 1.6 24-Apr-2010 espie

refactor LibSpec to be able to reuse it for library matches during build:
- use double dispatch to match static libs
- prepare for less strict dependencies if need be


# 1.5 22-Mar-2010 espie

clean up the ProgressMeter code, create a specific class if a Term
is around.
start using stuff from termcap, specifically, cleareol, and move to hp.
use the full line when we can, cram 100% if we can.
(this should flicker much less on slow terminals).

clean-up the install-and-progress bits to be in progressmeter, this removes
some code.

have pkg_create follow the same pattern as the others, with a state.
This allows us to unify error messages a bit.


Revision tags: OPENBSD_4_7_BASE
# 1.4 24-Jan-2010 espie

extra indirection: no match gives a reason why, so we can rebuild
report_problems to actually say what's wrong...


# 1.3 24-Jan-2010 espie

add code to unify spec and names as LibraryObject, plus a repository and
match/lookup functions.


# 1.2 19-Jan-2010 espie

simplify caching: return $cached->{$_} //= new_value;
remove stats
cache LibSpec as well (1000 c.53.0 !)


# 1.1 19-Jan-2010 espie

move generic code to handle libspec in a new file, to clean up stuff


# 1.20 13-Jun-2023 espie

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.


# 1.19 27-May-2023 espie

document base method


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.18 16-Sep-2017 espie

we already have a comparison function for libobjects, so move it up to
the best class, and sort bad libraries in dependency solving accordingly


Revision tags: OPENBSD_6_1_BASE
# 1.17 10-Feb-2017 espie

add glue to be able to ask "give me the highest number shared library with
that stem". needed later for new fancy stuff in check-lib-depends
okay sthen@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 18-Mar-2014 espie

remove $_ usage that warns under perl 5.18


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.15 24-Dec-2010 espie

handle failures from ports tree with more care.
this does avoid infinite loops in case of wrong plists.
necessary since print-plist-with-depends CAN fail...


# 1.14 27-Oct-2010 espie

initial scaffolding for @rcscript: for now, acts like normal files,
but allow absolute pathnames (treat that as an implicit @cwd).


Revision tags: OPENBSD_4_8_BASE
# 1.13 11-Jul-2010 espie

move compare into LibSpec, it's not so specific to Signature after all


# 1.12 30-Jun-2010 espie

allow say and errsay to work without parameters, as it's ways common.
create verbose_system up in state, because it makes sense without verbose.


# 1.11 30-Jun-2010 espie

whitespace cleanup


# 1.10 19-Jun-2010 espie

let build libspec match as they should.
namely, if a shared lib exists, then a static library should not match
if the version number is not okay.
problem noticed by sthen@, okay sthen@


# 1.9 09-Jun-2010 espie

ui changes: go thru a state object for most printouts


# 1.8 10-May-2010 espie

whitespace fixes


# 1.7 24-Apr-2010 espie

more tweaks so that it can be extended and used during ports builds


# 1.6 24-Apr-2010 espie

refactor LibSpec to be able to reuse it for library matches during build:
- use double dispatch to match static libs
- prepare for less strict dependencies if need be


# 1.5 22-Mar-2010 espie

clean up the ProgressMeter code, create a specific class if a Term
is around.
start using stuff from termcap, specifically, cleareol, and move to hp.
use the full line when we can, cram 100% if we can.
(this should flicker much less on slow terminals).

clean-up the install-and-progress bits to be in progressmeter, this removes
some code.

have pkg_create follow the same pattern as the others, with a state.
This allows us to unify error messages a bit.


Revision tags: OPENBSD_4_7_BASE
# 1.4 24-Jan-2010 espie

extra indirection: no match gives a reason why, so we can rebuild
report_problems to actually say what's wrong...


# 1.3 24-Jan-2010 espie

add code to unify spec and names as LibraryObject, plus a repository and
match/lookup functions.


# 1.2 19-Jan-2010 espie

simplify caching: return $cached->{$_} //= new_value;
remove stats
cache LibSpec as well (1000 c.53.0 !)


# 1.1 19-Jan-2010 espie

move generic code to handle libspec in a new file, to clean up stuff


Revision tags: OPENBSD_6_2_BASE
# 1.18 16-Sep-2017 espie

we already have a comparison function for libobjects, so move it up to
the best class, and sort bad libraries in dependency solving accordingly


Revision tags: OPENBSD_6_1_BASE
# 1.17 10-Feb-2017 espie

add glue to be able to ask "give me the highest number shared library with
that stem". needed later for new fancy stuff in check-lib-depends
okay sthen@


Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 18-Mar-2014 espie

remove $_ usage that warns under perl 5.18


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.15 24-Dec-2010 espie

handle failures from ports tree with more care.
this does avoid infinite loops in case of wrong plists.
necessary since print-plist-with-depends CAN fail...


# 1.14 27-Oct-2010 espie

initial scaffolding for @rcscript: for now, acts like normal files,
but allow absolute pathnames (treat that as an implicit @cwd).


Revision tags: OPENBSD_4_8_BASE
# 1.13 11-Jul-2010 espie

move compare into LibSpec, it's not so specific to Signature after all


# 1.12 30-Jun-2010 espie

allow say and errsay to work without parameters, as it's ways common.
create verbose_system up in state, because it makes sense without verbose.


# 1.11 30-Jun-2010 espie

whitespace cleanup


# 1.10 19-Jun-2010 espie

let build libspec match as they should.
namely, if a shared lib exists, then a static library should not match
if the version number is not okay.
problem noticed by sthen@, okay sthen@


# 1.9 09-Jun-2010 espie

ui changes: go thru a state object for most printouts


# 1.8 10-May-2010 espie

whitespace fixes


# 1.7 24-Apr-2010 espie

more tweaks so that it can be extended and used during ports builds


# 1.6 24-Apr-2010 espie

refactor LibSpec to be able to reuse it for library matches during build:
- use double dispatch to match static libs
- prepare for less strict dependencies if need be


# 1.5 22-Mar-2010 espie

clean up the ProgressMeter code, create a specific class if a Term
is around.
start using stuff from termcap, specifically, cleareol, and move to hp.
use the full line when we can, cram 100% if we can.
(this should flicker much less on slow terminals).

clean-up the install-and-progress bits to be in progressmeter, this removes
some code.

have pkg_create follow the same pattern as the others, with a state.
This allows us to unify error messages a bit.


Revision tags: OPENBSD_4_7_BASE
# 1.4 24-Jan-2010 espie

extra indirection: no match gives a reason why, so we can rebuild
report_problems to actually say what's wrong...


# 1.3 24-Jan-2010 espie

add code to unify spec and names as LibraryObject, plus a repository and
match/lookup functions.


# 1.2 19-Jan-2010 espie

simplify caching: return $cached->{$_} //= new_value;
remove stats
cache LibSpec as well (1000 c.53.0 !)


# 1.1 19-Jan-2010 espie

move generic code to handle libspec in a new file, to clean up stuff