summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add/OpenBSD/PackageRepository.pm
AgeCommit message (Collapse)Author
2010-07-27print these betterMarc Espie
2010-07-26even if you write signal handlers to not do anything stupid when you'reMarc Espie
not on a terminal, they STILL interrupt long system calls and cause sysread to fail, so disable them when they're not needed. problem found by mlarkin@ this is just a band-aid, I guess I really need to "reset" non-needed signals globally whenever I fork... sigh.
2010-07-02move the empty url message up to PackageRepository, so that we can printMarc Espie
it cleanly. allow some urls to be empty without warning (e.g., "./" should generally be allowed to be empty).
2010-07-02use state to print out all error messagesMarc Espie
2010-07-02pass (and save) state around in Repository-related stuff.Marc Espie
2010-06-30allow say and errsay to work without parameters, as it's ways common.Marc Espie
create verbose_system up in state, because it makes sense without verbose.
2010-06-30whitespace cleanupMarc Espie
2010-06-30styleMarc Espie
2010-06-04centralize checking of packagenames. Avoid grabbing pkgnames that won'tMarc Espie
have a version number. This gets rid of: Can't call method "v" on an undefined value at /usr/libdata/perl5/OpenBSD/PackageName.pm line 310.
2010-05-10whitespace fixesMarc Espie
2010-01-10bump copyrightMarc Espie
2010-01-09move signal catching up, so we can clean repos and temp files at once.Marc Espie
Fix main program try/catch: signal message should use standard form so it gets caught.
2010-01-09create unique object for each repoMarc Espie
2010-01-09fixed version, somehow I forgot that I use parse to do weird things withMarc Espie
PKG_PATH...
2010-01-09temporary revert until I figure this outMarc Espie
2010-01-09move the code that recognizes /var/db/pkg as inst: into Repo::LocalMarc Espie
2010-01-09move some url parsing into Installed, provide for pipe:Marc Espie
2010-01-09kill more useless codeMarc Espie
2010-01-09simplify slightlyMarc Espie
2010-01-09move pipe handling into RepositoryListMarc Espie
2009-10-13you have to hate those stupid tools:Marc Espie
if you echo nlist |ftp some_url the site *won't* give you an error code, it will just spew out a stupid line like: Failed to change directory. Can't change directory to pub/OpenBSD/zoinx: No such file or directory and that on stdout !!! Detect this in list grabbing, and display a decent error message for the user. Avoids some duh moments where you won't find shit because you mistyped the url...
2009-08-24URI-decode the filenames in the listing used for HTTP pkg_add updates.Stuart Henderson
Fixes a problem with pkg_add -u where package names are encoded in the listing (e.g. those containing + like gtk+2-2.16.5 on standards-compliant servers). Problem noted and fix tested by ajacoutot@ against a server running lighttpd. No regressions against Apache. ok espie@
2009-05-11remove an extraneous slash from the requested URL; some strict proxiesStuart Henderson
(and maybe http servers) have a problem with it. ok espie@
2009-04-24oopsMarc Espie
2009-04-19remove class FatPackageLocation. Instead make PackageLocation a hierarchyMarc Espie
so that I can handle installed packages without playing ping-pong with the PackageRepository hierarchy (mostly)
2009-04-19synch with my new style search/location changesMarc Espie
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.
2009-02-02deals with shaddy repositories from backwards countries that implementMarc Espie
nlist incorrectly. as diagnosed by kili@
2008-12-11copying local files may cause some issues, as noticed by sturm@Marc Espie
Try really hard to avoid copying a file on itself: by first checking the stat() results, and if they are not available (since some people use fucked-up stuff like AFS), rely on the file names as a last resort. This should avoid stuff getting copied from PKG_CACHE to PKG_CACHE and erasing itself in a few cases...
2008-10-25Copy packages to the cache if a local PKG_PATH is used and PKG_CACHE isBernd Ahlers
defined. This unbreaks FETCH_PACKAGES with a local package repository. help & discussion: espie@ and sturm@
2008-10-20Say goodbye to local $_Marc Espie
lexical scoping is so much neater (courtesy of perl 5.10)
2008-07-04clean up parser a bit, separating local/distant parts in a more reusable way,Marc Espie
and simplify file: parsing scheme (trying it with file:, then without is a bit stupid once we have the pieces to put it back together directly). Drop the restriction on urls from the man page, no need to finish stuff with /.
2008-07-03deal with hrefs containing '/' instead of just the package file nameNikolay Sturm
this permits fetching packages from thttpd ok espie
2008-06-25much better url parser.Marc Espie
2008-06-18forgot: changed PackageLocator so that the new parse method is responsibleMarc Espie
for breaking up the next part.
2008-06-13550 is fatal, don't bother retrying.Marc Espie
Problem found by Martynas Venckus, fix by me.
2008-05-26remove nlist bandwidth optimization, since ftp servers actually don't copeMarc Espie
with *.tgz very well... Fix regexp for stripping out ftp responses (as noticed by bernd)
2008-05-16tweak ftp call, remove extraneous -o option.Marc Espie
okay sthen@
2008-03-04Since the back-off goes 5,10,20,40 seconds, allow the retry timeout toChris Kuethe
increase to 80 and then 160sec before failing. Helps when doing big updates with "pkg_add -ui" ok espie, deraadt
2008-02-06Fix FETCH_CMD and don't hardcode ftp(1) but use OpenBSD::Paths->ftp().Bernd Ahlers
ok espie@
2007-08-23write out the object url in the error message if that's an object error andMarc Espie
not a basic listing repository issue.
2007-06-23setup a local sigalarm to send a HUP to the ftp process if it takes longerMarc Espie
than 30 seconds to stop... 30 seconds chosen as a `nice' average value. Note that this is a `work-around' for some specificities of ftp(1), which usually doesn't react to SIGINT, but reacts instantly to SIGHUP...
2007-06-16FTP_KEEPALIVE as a crude interface to ftp -k. To be thought out later.Marc Espie
this is just an experiment.
2007-06-16use OpenBSD::Paths contentsMarc Espie
2007-06-12tidy error messages: uses $! more consistently, do not append \n on die,Marc Espie
do append \n on warn. Fix the two cases where the temp dir vanished too soon: not copying +DESC should have been apparent. Not finding a +DISPLAY file is not a reason for burping all over the place.
2007-06-10refactor the code a bit, so that lists through ftp and htpp share moreMarc Espie
code. Finally handle ftp_proxy (close PR 5308).
2007-06-06recognize and handle https.Marc Espie
2007-06-04a few missed $' / $`Marc Espie
2007-06-04more efficient regexps: anchor stuff at both ends, be more specific inMarc Espie
what matches. Get rid of $`, $', $&, which encur a performance penalty. (not yet done on PackageName and PkgSpec).
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-05-30move close methods so that error paths can proceed on Repository::Installed.Marc Espie