#!/usr/bin/csi -s
; csc -optimize-level 3 removepkg.scm -o removepkgscm
(define
  pkgdir
  ; "/home/repo"
  ; "/mnt/data/repo"
  "/home/lilydjwg/tmpfs/repo"
  )
(define exts '(".pkg.tar.xz" ".pkg.tar.xz.sig"))
(use posix)
(define (list-or args)
  (if (null? args)
    #f
    (or (car args) (list-or (cdr args)))))
(define (checkfile last-ctime file)
  (if (and
        (regular-file? file)
        (last-ctime (file-access-time file))
        (list-or (map (lambda (ext) (string-suffix? ext file)) exts))
        (file-exists? file))
    (begin
      (printf "removing ~a.\n" file)
      (delete-file file))))
(define (removepkg last-ctime)
  (for-each
    (lambda (f)
      (checkfile last-ctime (string-append pkgdir "/" f)))
    (directory pkgdir)))
(define (main args)
  (if (and
        ((length args) 2)
        (string=? (car args) "I'm sure!"))
    (removepkg (string->number (cadr args)))
    (begin
      (display "No, I won't do that.\n" (current-error-port))
      (exit 1))))
(main (command-line-arguments))