summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add/OpenBSD/PackageInfo.pm
AgeCommit message (Collapse)Author
2008-06-15make sure installed_stem is defined when needed, prevents some weirdMarc Espie
errors.
2008-03-08rename forced to definesMarc Espie
2008-01-12better ui for locking messages.Marc Espie
Instead of just saying we await the release, we say when it's done. (practically, a lot of package operation take `some time', it's good for the user to know whether the command is still waiting for an held lock, or actually doing some work)
2007-06-16use OpenBSD::Paths contentsMarc Espie
2007-06-09rework `special' package names a bit.Marc Espie
- do a test to create partial-foo-1.0.1 instead of partial-partial-foo-1.0 when removing partial-foo fails. - have .libs name generation, e.g., .libs-foo, then .libs1-foo, then .libs2-foo instead of .libs-.libs-foo.... extend the pkgspec pattern slightly, so that all these are more or less equivalent for dependencies and conflicts. With this, we can do practically any scenario of shared libs updates and downgrades.
2007-06-04some minor systematic changes.Marc Espie
- 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.
2007-06-01refactor ProgressMeter code to create objects, put these into state.Marc Espie
Create a common state class for delete and add, put the progressmeter creation in there. neat effect: we don't have a progressmeter, we use a stub class instead and *never* pull the code in at all.
2007-05-31oops, move realname up so that ::Sample sees it too.Marc Espie
remove last traces of MODULEs.
2007-05-30simplify script handling a bit (they're going to disappear probably anyways).Marc Espie
Remove two passes visitors, we don't use them.
2007-05-18also strip +CONTENTSMarc Espie
2007-05-15fix dependenciesMarc Espie
2007-05-14put search objects into a search class.Marc Espie
2007-05-14maintain stemlist for installed packages dynamicallyMarc Espie
2007-05-14tidyMarc Espie
2007-05-13unify object lookup as locator->match($o) or $repo->match($o)Marc Espie
2007-05-07avoid calling compile_stemlist directlyMarc Espie
2007-04-15update copyright years, standardize licence.Marc Espie
reword the introduction to the stuff originally from FreeBSD to clarify slightly.
2007-03-18remove some unnecessary sanity checks. /var/db/pkg is supposed to containMarc Espie
only packages, so it's not really necessary to check for file existence and rights. Besides, actual use of package stuff will try reading +CONTENTS in a guarded way, so it will error out sanely... Trims out hundreds of stat() under /var/db/pkg, which are largely responsible for the slow start time of pkg_* tools.
2007-02-22Problem noticed by Henrik Hellerstedt <henrik@kohina.net>Marc Espie
Fix a really fun bug in pkg_delete: solve_installed_names has to normalize the list of names so that comparing its size vs. its transitive closure is meaningful. Use the classical hash + list to preserve the order. While we're there, use the hash to avoid asking the same questions again and again. After some back&forth with bernd. okay bernd@
2007-02-17ask_list() is in OpenBSD::Interactive, not OpenBSD::ProgressMeterNikolay Sturm
2005-09-04* New -i interactive option, that can ask obnoxious questions.Marc Espie
* move the signature code to a packing-list method, prepend the pkgname. * depend on distant listings, cache these systematically. * cut the PKG_PATH at :/ systematically, much simpler than parsing URLs. People should get used to trailing /s. * let pkg_add -u actually run the update. * check for signature in more places, for instance, let pkg_add installed_stuff be a void operation. * grab enough stuff during updates to check signatures, so that pkg_add -u can report updates that are not needed right away, instead of waiting for the more confusing `trying to update' * beginning of @module support. * @pkgpath support, including updates. * systematically expand stems when applicable. * use visitors systematically in pkg_info. * pkg_info -S reports signature. * remove hardcoding of categories in PackingList, so that future modules will be able to expand them. * add @updateset and @incompatibility keywords.
2005-01-16allow locking of database in quiet mode, where we don't display anyMarc Espie
message. Display the lock message on stderr anyways, so that we don't disturb normal displays. postpone locking after we know about -q in pkg_info's case. Display command line if pkg_create fails, so that we can see what arguments it found in bsd.port.mk.
2005-01-14`big lock' model: lock the whole db for reading/writing.Marc Espie
design checked with millert@, relying on process termination for unlock at his suggestion. Perf optimization: don't try to reinstall installed packages in kitchensink mode if !-r.
2004-12-27use delete, not undef, to update installed_packages correctly...Marc Espie
while we're there, clean-up code slightly.
2004-12-16renamed borked_installation from borked.n to partial-<pkgname> ...Marc Espie
partial-<pkgname>.n if needed. Make borked_installation take a message, to show installation/deinstallation issues correctly. Fix handling of ^C: this may lead some system calls to return early, thus registering as errors: so always mark the last file as done, so that borked installation will register it correctly. Kill packing-list cache for anything but depends: we've got a global cache of libraries now (use it in pkg_add). Make almost everyone look at $main::not, so that we can call register_installation to_installation RequirementList->add/delete safely. Simplify $not logic accordingly, do thing much more closely to what would happen without -n. This should allow pkg_add/pkg_delete -n to handle most nasty cases correctly now, since all the relevant information is kept internally in a compact format: - register of shared libraries - global register of conflicts - cache of depends.
2004-11-14make sure REQUIRING file is an integral part of what we do.Marc Espie
2004-11-14let RequiredBy generate lists directly, use hashes to trim down duplicates ↵Marc Espie
directly. Optimize for !wantarray, by telling whether the list is empty or not. prepare for a second similar list (REQUIRING) that will replace pkgdep, since pkg_add -r spends a hell of a lot of its time reading/writing long packing-lists... Use the simplified interface. Remove quite a few tests that the RequiredBy list is non-empty that do nothing but obfuscate the code: just deal with the damn list already.
2004-11-11package names starting with . are hidden from pkg_info by default.Marc Espie
-A shows them.
2004-11-11introduce shortcuts to read/write contents from_installation/to_installationMarc Espie
use these to simplify all those packing lists manipulations. demote non-root detection to a warning in -n mode: fix a couple of minor bugs, of stuff that was run in -n mode and should not. Namely, manpages were indexed/unindexed (ouch) and tempfiles were creating during updates.
2004-10-11add support for undisplay file, to be able to show information at pkgMarc Espie
removal without having to run a DEINSTALL script...
2004-10-11kill old MTREE option that was never implemented in the new tools anyways.Marc Espie
kill -C and -P options which are definitely no longer used as well. Reorder special files so that REQUIRE is at front (and it's executed first anyways).
2004-08-06unified headers, switch to smaller copyright notice.Marc Espie
2004-02-21distinguish between unreadable directories and non packages.Marc Espie
problem found by John L. Scarfone, who runs a paranoid root.
2004-01-27die $!Marc Espie
2003-12-09better management of list of installed packages. Allow pkg_add/delete -nMarc Espie
to proceed correctly in case of dependencies.
2003-11-06... pkg_add obviously much happier with borked_package...Marc Espie
2003-11-06Allow the use of full paths to refer to installed packages, so thatMarc Espie
pkg_delete /var/db/pkg/zsh-*/ works.
2003-10-16new import of my pkgtools, after a slight naming disagreement with theMarc Espie
Upper Management...