import Control.Monad (mapM_, filterM)
import Data.List (isSuffixOf)
import System.Directory (setCurrentDirectory, getDirectoryContents,
  removeFile, doesFileExist)
import System.Environment (getArgs)
import System.Exit (exitWith, ExitCode(ExitFailure))
import System.IO (hPutStrLn, stderr)
-- pkgdir = "/home/repo"
-- pkgdir = "/mnt/data/repo"
pkgdir = "/home/lilydjwg/tmpfs/repo"
exts = [".pkg.tar.xz", ".pkg.tar.xz.sig"]
removepkg = do
  setCurrentDirectory pkgdir
  getDirectoryContents "." >>= filterM doesFileExist . filter extOk
  >>= mapM_ verboseRemove
    where verboseRemove f = do putStrLn ("removing " ++ f ++ ".")
                               removeFile f
          extOk f = any (`isSuffixOf` f) exts
main = do
  args <- getArgs
  if args == ["I'm sure!"]
     then removepkg
     else hPutStrLn stderr "No, I won't do that." >> exitWith (ExitFailure 1)