summaryrefslogtreecommitdiff
path: root/henrietta-cache.scm
AgeCommit message (Collapse)Author
2021-06-15Handle symlinks first when moving files to cacheMario Domenech Goulart
When moving files from the temporary directory to the cache directory, we must handle symlinks first. If we handle the _target_ before the symlink, the target will be deleted and `copy-file' will break when trying to copy the symlink, as it will be dangling. Signed-off-by: Peter Bex <peter@more-magic.net>
2020-03-22Add note why module is commented outPeter Bex
2020-03-22Change default CHICKEN release to 5Peter Bex
2020-03-22Also copy over dotfiles after extracting the egg archivePeter Bex
2019-09-22Remove module wrapperPeter Bex
Forgot about the fact that hooks exist. It is unclear how this should work with initfiles that register hooks. Ideally it would simply be a matter of exporting the hooks, but then we need a C4 installation procedure that somehow installs just the program and an import library. With C5 this would be easier, but I don't yet want to make henrietta-cache C5-only.
2019-09-22Fix CHICKEN 4 imports1.5Peter Bex
2019-09-22Wrap the program in a module formPeter Bex
This makes it easier to find out missing imports.
2019-09-22Fix short option argument groupingPeter Bex
This used lset-intersection but that should've been lset-difference.
2019-09-22Add -k and -n flags, suggested by Diego "dieggsy"Peter Bex
The -k or -keep option tells henrietta-cache to throw away older releases, so that only the supplied number of latest releases is kept. The -n option tells henrietta-cache to not download any new releases. It can be used if one wants to prune old releases, together with -k.
2019-09-12Fix sloppy code dealing with tmpdir parent deletionPeter Bex
Somehow this now causes an exception to be raised when the temp dir was the contents dir, because move-to-cache already removes that directory.
2019-09-01Don't use "tmp" and copy instead of move to improve permission handling1.4Peter Bex
tmp causes warnings when linking on OpenBSD. Group ownership switches to the directory and warns when moving (on OpenBSD and possibly other BSDs, too). Thanks to "n0goOi3"
2018-09-06Drop module wrapper, as that breaks backwards compatibilityPeter Bex
The -i (init file) option means we can't wrap things in a module, unless we build and ship the module, which will mean people need to rewrite the init file. Not worth the hassle to figure out how to do it "properly". Fixes #1531, reported by Mario Goulart
2018-09-05Port to CHICKEN 5Peter Bex
This drops support for CHICKEN versions before 4.6 (copy-port is required now)
2018-09-05Wrap program in a module to make it easier to portPeter Bex
Fix some issues like depending on srfi-13 implicitly only for string-null? and some other bad imports.
2018-09-05Improve egg/meta-file handling by only allowing "distribution-files" in ↵Peter Bex
egg-files and "files" in meta-files There's some minor code duplication but it's worth the loss of confusion and potential for error.
2018-09-05Support for CHICKEN 5's egg description filesMario Domenech Goulart
Support both `meta-file' and `egg-file' as URI types, and both `files' and `distribution-files' forms in egg description files (.meta for C4 and .egg for C5). Note that: * Although `distribution-files' is intended to be used by C5's chicken-install, it can also be used in the toplevel of .meta files, as chicken-install for C4 is very permissive. `files', however, cannot be used in the toplevel of .egg files. * (uri meta-file ...) can point to a .egg file, and (uri egg-file ...) can point to a .meta file. `egg-file' is just and alias to `meta-file' for naming consistency in C5. * henrietta-cache for C4 can be used to cache eggs for C5 (and supports `egg-file' and `distribution-files'). Signed-off-by: Peter Bex <peter@more-magic.net>
2015-05-03Use gunzip and bunzip instead of zcat and bzcat, for compatibility reasonsPeter Bex
As reported by Jim Ursetto, the version of zcat shipped with OS X doesn't handle gzipped files, and gzcat doesn't exist on many Linuxen. However, gunzip has a -c option which does the same. For consistency, use bunzip2 -c as well.
2014-09-15Also pass CHICKEN release to the hooksPeter Bex
2014-09-15Do not default to the current CHICKEN release, that's just too confusing (I ↵Peter Bex
think). Remove "tags" subdirectories
2013-10-29Fix pax_global_header problem0.4.1Peter Bex
2013-10-01Download files from file-list types to a tmpdir and move them once completed.Peter Bex
This ensures that when we crap out mid-way for some reason, we won't leave an empty or half-populated directory around, which would cause it to skip the dir instead of trying again on the next run. (File-list types are meta-file or plaintext flat file listing)
2013-10-01Instead of trying to be fancy and "portable" with pax, just use tar.Peter Bex
Pax supports replacement patterns which makes it slightly simpler to use (and it's actually a standard), we'll just rely on the commonly supported tar flags "x" and "f", and just hope it'll work everywhere. This is because (at least on NetBSD), pax only supports plain ustar format, which has silly limitations on file name length. Longer file names are a GNU extension, which means we'll need something that supports these extensions anyway. On the long run we should probably switch to libarchive, but I don't feel like writing yet another egg just to work around these few problems. Also, don't create the target directory in advance but let the procedures do this, so if something breaks we won't get empty directories. This ensures it will be retried later.
2012-02-22properly handle errors thrown when loading the init filemoritz
2012-01-31use chicken-syntax for the init filemoritz
2012-01-31add usage info for -i/-init-file optionmoritz
2012-01-28pass condition message to download-release-error and add ↵moritz
read-release-info-file-error-hook.
2012-01-27remove redundant `and' guard in `and-let*' (thanks Peter)moritz
2012-01-26add -i/--init-file option for giving an init file that is loadedmoritz
before the update process starts. implement hook functionality which can be used from the init file (download-release-success and download-release-error hooks only so far).
2011-09-15Uri-encode strings when replacing URI patternsPeter Bex
2011-09-14Fix moving files for realPeter Bex
2011-09-14Use move-file from setup-api instead of rename-file, since the latter just ↵Peter Bex
relinks the file which doesn't work across filesystems
2011-06-02Update henrietta-cache so it doesn't get tripped up by Apache's extra newlinesPeter Bex
2011-06-02Update to ensure path is always taken as a dirPeter Bex
2011-05-26Add flat file list type to replace meta-files. This first lists a base URI ↵0.2Peter Bex
and then a list of files, one per line
2011-05-24TypoPeter Bex
2011-05-24Bug in sendfile was fixed. Adjust comment accordingly :)Peter Bex
2011-05-24Add better error reporting to make Felix happy :)Peter Bex
2011-03-29Use zcat instead of gzcat as that's apparently more 'portable'. Yay for GNU ↵0.1Peter Bex
and its 'standards' :(
2011-03-20Don't unneccessarily use an alist for the distribution typesPeter Bex
2011-03-20Add handling for meta-filesPeter Bex
2011-03-20Fix bug in error-handling code when release-info could not be retrievedPeter Bex
2011-03-20improve error handling in case of unknown URI typePeter Bex
2011-03-20improve error handling by logging errors to standard error and status output ↵Peter Bex
to standard output. Fix pax call to strip top-level directory correctly. Fix usage output
2011-03-20Fix usagePeter Bex
2011-03-20Add 'tags' subdir because henrietta expects itPeter Bex
2011-03-20Implement zipfile-extractionPeter Bex
2011-03-20Fix commandline argument handlingPeter Bex
2011-03-20Improve status output and don't download when we already have the filePeter Bex
2011-03-19Initial, currently broken, versionPeter Bex