History log of /openbsd-current/usr.sbin/pkg_add/OpenBSD/Search.pm
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.33 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.


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.32 30-Oct-2021 espie

document (hopefully) near future directions


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.31 19-Feb-2020 espie

allow search objects to say "keep_all" and make PackageRepositoryLists
aware of that for match_locations


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.30 25-Apr-2018 espie

we might not get update_info if unsigned!


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.29 14-Jun-2016 espie

new syntax: pkgname%branch to select a branch wherever it makes sense.
see pkg_add(1) for details.

Search framework makes that surprisingly simple.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.28 31-Jan-2014 espie

handle conflict with partial in a less hackish ways, by passing an
extra "with_partial" parameter to specs.
This also removes quite a lot extraneous objects.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.27 02-Jul-2011 espie

allows .libs* packages to match correctly in the presence of @conflict markers


Revision tags: OPENBSD_4_9_BASE
# 1.26 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.25 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.24 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.23 30-Jun-2010 espie

whitespace cleanup


# 1.22 10-May-2010 espie

whitespace fixes


Revision tags: OPENBSD_4_7_BASE
# 1.21 05-Jan-2010 espie

better spec handling: instead of dying, create badspec objects that never
match anything. Add method is_valid (and propagators) to know whether a
spec is valid (to be used in pkg_create in a systematic way).


# 1.20 05-Jan-2010 espie

use Auto::cache


# 1.19 27-Dec-2009 espie

fix partial stems, as noticed by numerous people


# 1.18 05-Dec-2009 espie

change the internal representation of Search::Stem to allow the addition
of supplementary stems (useful for quirks)


# 1.17 30-Nov-2009 espie

tweak the rules a bit: the search filter for "more recent than" ought to
notice it sees older stuff. Even if they get filtered later on, this would
turn into a "no need to update".

(in actual use, I probably will need to open those packages and look at
the pkgpaths to make sure they are not valid candidates, and to compare
full signatures... oh well)


# 1.16 10-Nov-2009 espie

kill more unused code


# 1.15 10-Nov-2009 espie

remove dead code: as far as possible, we use only
match_locations/filter_locations since we deal with location.

external API only uses spec->filter(), so we keep that one.
We still need the generic match/filter adapters for Stem searches.


# 1.14 10-Nov-2009 espie

bad espie: use strict/warnings consistently, and fix two nits and two
actual errors !


# 1.13 09-Nov-2009 espie

fix, need to keep =version for "no need to update" to occur...


# 1.12 09-Nov-2009 espie

okay, so updates become "true" updates: unless you say -F downgrade
then packages with an older version will be filtered out.


# 1.11 11-Oct-2009 espie

maybe I'll change the code later (two XXX), but allows flavor after stem,
so that e.g.
pkg_add star--
pkg_add star--static
are now not ambiguous.


Revision tags: OPENBSD_4_6_BASE
# 1.10 19-Apr-2009 espie

remove class FatPackageLocation. Instead make PackageLocation a hierarchy
so that I can handle installed packages without playing ping-pong with
the PackageRepository hierarchy (mostly)


# 1.9 19-Apr-2009 espie

synch with my new style search/location changes
It's likely there will be some fallout, but it's getting a bit too large
to keep around.
This does kill a few very old oddities as well.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.8 28-Dec-2007 espie

tweak the semantics so that no-default-conflict works.

requested by mbalmer@,sturm@. okay winiger@


Revision tags: OPENBSD_4_2_BASE
# 1.7 04-Jun-2007 espie

I am on drugs, I don't know where I found split can take strings as
arguments. Repair...


# 1.6 04-Jun-2007 espie

some minor systematic changes.
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.


# 1.5 19-May-2007 espie

add match_locations/filter_locations methods to search stuff that returns
full pkg locations instead of package names.


# 1.4 18-May-2007 espie

Add pkgpath hints to pkgspec. Make PackageRepository/Source functional:
if a pkgpath is hinted at, then we build that package, and we delegate
to the corresponding File: repository.

Some XXX: we need to unlock the database temporarily, as the build
*requires* shared access to stuff that is going on (and possibly write
access for installing subpackages, so this cannot work 100% yet).

Still, this allows the transparent build of one single package, at least.


# 1.3 14-May-2007 espie

for completion, allow Stem object to filter as well.


# 1.2 14-May-2007 espie

redo search filters as real objects. Accordingly, rename match_list to
filter.


# 1.1 14-May-2007 espie

put Search objects into their own file, finally


# 1.32 30-Oct-2021 espie

document (hopefully) near future directions


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.31 19-Feb-2020 espie

allow search objects to say "keep_all" and make PackageRepositoryLists
aware of that for match_locations


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.30 25-Apr-2018 espie

we might not get update_info if unsigned!


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.29 14-Jun-2016 espie

new syntax: pkgname%branch to select a branch wherever it makes sense.
see pkg_add(1) for details.

Search framework makes that surprisingly simple.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.28 31-Jan-2014 espie

handle conflict with partial in a less hackish ways, by passing an
extra "with_partial" parameter to specs.
This also removes quite a lot extraneous objects.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.27 02-Jul-2011 espie

allows .libs* packages to match correctly in the presence of @conflict markers


Revision tags: OPENBSD_4_9_BASE
# 1.26 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.25 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.24 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.23 30-Jun-2010 espie

whitespace cleanup


# 1.22 10-May-2010 espie

whitespace fixes


Revision tags: OPENBSD_4_7_BASE
# 1.21 05-Jan-2010 espie

better spec handling: instead of dying, create badspec objects that never
match anything. Add method is_valid (and propagators) to know whether a
spec is valid (to be used in pkg_create in a systematic way).


# 1.20 05-Jan-2010 espie

use Auto::cache


# 1.19 27-Dec-2009 espie

fix partial stems, as noticed by numerous people


# 1.18 05-Dec-2009 espie

change the internal representation of Search::Stem to allow the addition
of supplementary stems (useful for quirks)


# 1.17 30-Nov-2009 espie

tweak the rules a bit: the search filter for "more recent than" ought to
notice it sees older stuff. Even if they get filtered later on, this would
turn into a "no need to update".

(in actual use, I probably will need to open those packages and look at
the pkgpaths to make sure they are not valid candidates, and to compare
full signatures... oh well)


# 1.16 10-Nov-2009 espie

kill more unused code


# 1.15 10-Nov-2009 espie

remove dead code: as far as possible, we use only
match_locations/filter_locations since we deal with location.

external API only uses spec->filter(), so we keep that one.
We still need the generic match/filter adapters for Stem searches.


# 1.14 10-Nov-2009 espie

bad espie: use strict/warnings consistently, and fix two nits and two
actual errors !


# 1.13 09-Nov-2009 espie

fix, need to keep =version for "no need to update" to occur...


# 1.12 09-Nov-2009 espie

okay, so updates become "true" updates: unless you say -F downgrade
then packages with an older version will be filtered out.


# 1.11 11-Oct-2009 espie

maybe I'll change the code later (two XXX), but allows flavor after stem,
so that e.g.
pkg_add star--
pkg_add star--static
are now not ambiguous.


Revision tags: OPENBSD_4_6_BASE
# 1.10 19-Apr-2009 espie

remove class FatPackageLocation. Instead make PackageLocation a hierarchy
so that I can handle installed packages without playing ping-pong with
the PackageRepository hierarchy (mostly)


# 1.9 19-Apr-2009 espie

synch with my new style search/location changes
It's likely there will be some fallout, but it's getting a bit too large
to keep around.
This does kill a few very old oddities as well.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.8 28-Dec-2007 espie

tweak the semantics so that no-default-conflict works.

requested by mbalmer@,sturm@. okay winiger@


Revision tags: OPENBSD_4_2_BASE
# 1.7 04-Jun-2007 espie

I am on drugs, I don't know where I found split can take strings as
arguments. Repair...


# 1.6 04-Jun-2007 espie

some minor systematic changes.
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.


# 1.5 19-May-2007 espie

add match_locations/filter_locations methods to search stuff that returns
full pkg locations instead of package names.


# 1.4 18-May-2007 espie

Add pkgpath hints to pkgspec. Make PackageRepository/Source functional:
if a pkgpath is hinted at, then we build that package, and we delegate
to the corresponding File: repository.

Some XXX: we need to unlock the database temporarily, as the build
*requires* shared access to stuff that is going on (and possibly write
access for installing subpackages, so this cannot work 100% yet).

Still, this allows the transparent build of one single package, at least.


# 1.3 14-May-2007 espie

for completion, allow Stem object to filter as well.


# 1.2 14-May-2007 espie

redo search filters as real objects. Accordingly, rename match_list to
filter.


# 1.1 14-May-2007 espie

put Search objects into their own file, finally


# 1.31 19-Feb-2020 espie

allow search objects to say "keep_all" and make PackageRepositoryLists
aware of that for match_locations


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.30 25-Apr-2018 espie

we might not get update_info if unsigned!


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.29 14-Jun-2016 espie

new syntax: pkgname%branch to select a branch wherever it makes sense.
see pkg_add(1) for details.

Search framework makes that surprisingly simple.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.28 31-Jan-2014 espie

handle conflict with partial in a less hackish ways, by passing an
extra "with_partial" parameter to specs.
This also removes quite a lot extraneous objects.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.27 02-Jul-2011 espie

allows .libs* packages to match correctly in the presence of @conflict markers


Revision tags: OPENBSD_4_9_BASE
# 1.26 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.25 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.24 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.23 30-Jun-2010 espie

whitespace cleanup


# 1.22 10-May-2010 espie

whitespace fixes


Revision tags: OPENBSD_4_7_BASE
# 1.21 05-Jan-2010 espie

better spec handling: instead of dying, create badspec objects that never
match anything. Add method is_valid (and propagators) to know whether a
spec is valid (to be used in pkg_create in a systematic way).


# 1.20 05-Jan-2010 espie

use Auto::cache


# 1.19 27-Dec-2009 espie

fix partial stems, as noticed by numerous people


# 1.18 05-Dec-2009 espie

change the internal representation of Search::Stem to allow the addition
of supplementary stems (useful for quirks)


# 1.17 30-Nov-2009 espie

tweak the rules a bit: the search filter for "more recent than" ought to
notice it sees older stuff. Even if they get filtered later on, this would
turn into a "no need to update".

(in actual use, I probably will need to open those packages and look at
the pkgpaths to make sure they are not valid candidates, and to compare
full signatures... oh well)


# 1.16 10-Nov-2009 espie

kill more unused code


# 1.15 10-Nov-2009 espie

remove dead code: as far as possible, we use only
match_locations/filter_locations since we deal with location.

external API only uses spec->filter(), so we keep that one.
We still need the generic match/filter adapters for Stem searches.


# 1.14 10-Nov-2009 espie

bad espie: use strict/warnings consistently, and fix two nits and two
actual errors !


# 1.13 09-Nov-2009 espie

fix, need to keep =version for "no need to update" to occur...


# 1.12 09-Nov-2009 espie

okay, so updates become "true" updates: unless you say -F downgrade
then packages with an older version will be filtered out.


# 1.11 11-Oct-2009 espie

maybe I'll change the code later (two XXX), but allows flavor after stem,
so that e.g.
pkg_add star--
pkg_add star--static
are now not ambiguous.


Revision tags: OPENBSD_4_6_BASE
# 1.10 19-Apr-2009 espie

remove class FatPackageLocation. Instead make PackageLocation a hierarchy
so that I can handle installed packages without playing ping-pong with
the PackageRepository hierarchy (mostly)


# 1.9 19-Apr-2009 espie

synch with my new style search/location changes
It's likely there will be some fallout, but it's getting a bit too large
to keep around.
This does kill a few very old oddities as well.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.8 28-Dec-2007 espie

tweak the semantics so that no-default-conflict works.

requested by mbalmer@,sturm@. okay winiger@


Revision tags: OPENBSD_4_2_BASE
# 1.7 04-Jun-2007 espie

I am on drugs, I don't know where I found split can take strings as
arguments. Repair...


# 1.6 04-Jun-2007 espie

some minor systematic changes.
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.


# 1.5 19-May-2007 espie

add match_locations/filter_locations methods to search stuff that returns
full pkg locations instead of package names.


# 1.4 18-May-2007 espie

Add pkgpath hints to pkgspec. Make PackageRepository/Source functional:
if a pkgpath is hinted at, then we build that package, and we delegate
to the corresponding File: repository.

Some XXX: we need to unlock the database temporarily, as the build
*requires* shared access to stuff that is going on (and possibly write
access for installing subpackages, so this cannot work 100% yet).

Still, this allows the transparent build of one single package, at least.


# 1.3 14-May-2007 espie

for completion, allow Stem object to filter as well.


# 1.2 14-May-2007 espie

redo search filters as real objects. Accordingly, rename match_list to
filter.


# 1.1 14-May-2007 espie

put Search objects into their own file, finally


# 1.30 25-Apr-2018 espie

we might not get update_info if unsigned!


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.29 14-Jun-2016 espie

new syntax: pkgname%branch to select a branch wherever it makes sense.
see pkg_add(1) for details.

Search framework makes that surprisingly simple.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.28 31-Jan-2014 espie

handle conflict with partial in a less hackish ways, by passing an
extra "with_partial" parameter to specs.
This also removes quite a lot extraneous objects.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.27 02-Jul-2011 espie

allows .libs* packages to match correctly in the presence of @conflict markers


Revision tags: OPENBSD_4_9_BASE
# 1.26 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.25 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.24 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.23 30-Jun-2010 espie

whitespace cleanup


# 1.22 10-May-2010 espie

whitespace fixes


Revision tags: OPENBSD_4_7_BASE
# 1.21 05-Jan-2010 espie

better spec handling: instead of dying, create badspec objects that never
match anything. Add method is_valid (and propagators) to know whether a
spec is valid (to be used in pkg_create in a systematic way).


# 1.20 05-Jan-2010 espie

use Auto::cache


# 1.19 27-Dec-2009 espie

fix partial stems, as noticed by numerous people


# 1.18 05-Dec-2009 espie

change the internal representation of Search::Stem to allow the addition
of supplementary stems (useful for quirks)


# 1.17 30-Nov-2009 espie

tweak the rules a bit: the search filter for "more recent than" ought to
notice it sees older stuff. Even if they get filtered later on, this would
turn into a "no need to update".

(in actual use, I probably will need to open those packages and look at
the pkgpaths to make sure they are not valid candidates, and to compare
full signatures... oh well)


# 1.16 10-Nov-2009 espie

kill more unused code


# 1.15 10-Nov-2009 espie

remove dead code: as far as possible, we use only
match_locations/filter_locations since we deal with location.

external API only uses spec->filter(), so we keep that one.
We still need the generic match/filter adapters for Stem searches.


# 1.14 10-Nov-2009 espie

bad espie: use strict/warnings consistently, and fix two nits and two
actual errors !


# 1.13 09-Nov-2009 espie

fix, need to keep =version for "no need to update" to occur...


# 1.12 09-Nov-2009 espie

okay, so updates become "true" updates: unless you say -F downgrade
then packages with an older version will be filtered out.


# 1.11 11-Oct-2009 espie

maybe I'll change the code later (two XXX), but allows flavor after stem,
so that e.g.
pkg_add star--
pkg_add star--static
are now not ambiguous.


Revision tags: OPENBSD_4_6_BASE
# 1.10 19-Apr-2009 espie

remove class FatPackageLocation. Instead make PackageLocation a hierarchy
so that I can handle installed packages without playing ping-pong with
the PackageRepository hierarchy (mostly)


# 1.9 19-Apr-2009 espie

synch with my new style search/location changes
It's likely there will be some fallout, but it's getting a bit too large
to keep around.
This does kill a few very old oddities as well.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.8 28-Dec-2007 espie

tweak the semantics so that no-default-conflict works.

requested by mbalmer@,sturm@. okay winiger@


Revision tags: OPENBSD_4_2_BASE
# 1.7 04-Jun-2007 espie

I am on drugs, I don't know where I found split can take strings as
arguments. Repair...


# 1.6 04-Jun-2007 espie

some minor systematic changes.
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.


# 1.5 19-May-2007 espie

add match_locations/filter_locations methods to search stuff that returns
full pkg locations instead of package names.


# 1.4 18-May-2007 espie

Add pkgpath hints to pkgspec. Make PackageRepository/Source functional:
if a pkgpath is hinted at, then we build that package, and we delegate
to the corresponding File: repository.

Some XXX: we need to unlock the database temporarily, as the build
*requires* shared access to stuff that is going on (and possibly write
access for installing subpackages, so this cannot work 100% yet).

Still, this allows the transparent build of one single package, at least.


# 1.3 14-May-2007 espie

for completion, allow Stem object to filter as well.


# 1.2 14-May-2007 espie

redo search filters as real objects. Accordingly, rename match_list to
filter.


# 1.1 14-May-2007 espie

put Search objects into their own file, finally


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.29 14-Jun-2016 espie

new syntax: pkgname%branch to select a branch wherever it makes sense.
see pkg_add(1) for details.

Search framework makes that surprisingly simple.


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.28 31-Jan-2014 espie

handle conflict with partial in a less hackish ways, by passing an
extra "with_partial" parameter to specs.
This also removes quite a lot extraneous objects.


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.27 02-Jul-2011 espie

allows .libs* packages to match correctly in the presence of @conflict markers


Revision tags: OPENBSD_4_9_BASE
# 1.26 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.25 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.24 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.23 30-Jun-2010 espie

whitespace cleanup


# 1.22 10-May-2010 espie

whitespace fixes


Revision tags: OPENBSD_4_7_BASE
# 1.21 05-Jan-2010 espie

better spec handling: instead of dying, create badspec objects that never
match anything. Add method is_valid (and propagators) to know whether a
spec is valid (to be used in pkg_create in a systematic way).


# 1.20 05-Jan-2010 espie

use Auto::cache


# 1.19 27-Dec-2009 espie

fix partial stems, as noticed by numerous people


# 1.18 05-Dec-2009 espie

change the internal representation of Search::Stem to allow the addition
of supplementary stems (useful for quirks)


# 1.17 30-Nov-2009 espie

tweak the rules a bit: the search filter for "more recent than" ought to
notice it sees older stuff. Even if they get filtered later on, this would
turn into a "no need to update".

(in actual use, I probably will need to open those packages and look at
the pkgpaths to make sure they are not valid candidates, and to compare
full signatures... oh well)


# 1.16 10-Nov-2009 espie

kill more unused code


# 1.15 10-Nov-2009 espie

remove dead code: as far as possible, we use only
match_locations/filter_locations since we deal with location.

external API only uses spec->filter(), so we keep that one.
We still need the generic match/filter adapters for Stem searches.


# 1.14 10-Nov-2009 espie

bad espie: use strict/warnings consistently, and fix two nits and two
actual errors !


# 1.13 09-Nov-2009 espie

fix, need to keep =version for "no need to update" to occur...


# 1.12 09-Nov-2009 espie

okay, so updates become "true" updates: unless you say -F downgrade
then packages with an older version will be filtered out.


# 1.11 11-Oct-2009 espie

maybe I'll change the code later (two XXX), but allows flavor after stem,
so that e.g.
pkg_add star--
pkg_add star--static
are now not ambiguous.


Revision tags: OPENBSD_4_6_BASE
# 1.10 19-Apr-2009 espie

remove class FatPackageLocation. Instead make PackageLocation a hierarchy
so that I can handle installed packages without playing ping-pong with
the PackageRepository hierarchy (mostly)


# 1.9 19-Apr-2009 espie

synch with my new style search/location changes
It's likely there will be some fallout, but it's getting a bit too large
to keep around.
This does kill a few very old oddities as well.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.8 28-Dec-2007 espie

tweak the semantics so that no-default-conflict works.

requested by mbalmer@,sturm@. okay winiger@


Revision tags: OPENBSD_4_2_BASE
# 1.7 04-Jun-2007 espie

I am on drugs, I don't know where I found split can take strings as
arguments. Repair...


# 1.6 04-Jun-2007 espie

some minor systematic changes.
- mark all regexps I can with /o if they can be compiled once.
- turn $o->method() into $o->method
- remove unneeded prototypes
- reduce split /re/ into split "string" where possible.


# 1.5 19-May-2007 espie

add match_locations/filter_locations methods to search stuff that returns
full pkg locations instead of package names.


# 1.4 18-May-2007 espie

Add pkgpath hints to pkgspec. Make PackageRepository/Source functional:
if a pkgpath is hinted at, then we build that package, and we delegate
to the corresponding File: repository.

Some XXX: we need to unlock the database temporarily, as the build
*requires* shared access to stuff that is going on (and possibly write
access for installing subpackages, so this cannot work 100% yet).

Still, this allows the transparent build of one single package, at least.


# 1.3 14-May-2007 espie

for completion, allow Stem object to filter as well.


# 1.2 14-May-2007 espie

redo search filters as real objects. Accordingly, rename match_list to
filter.


# 1.1 14-May-2007 espie

put Search objects into their own file, finally