on master help sign in
etc/diskspace: factor out keepBuilds: number of pkg build versions to keep
6d7bd96Jens Petersen
etc/diskspace/remove-old-stack-work-libs.hs+5−2
@@ -11,6 +11,10 @@ import System.Directory
11import System.FilePath
11import System.FilePath
12import Text.Regex.TDFA
12import Text.Regex.TDFA
13
13
14+-- keep 2 latest builds
15+keepBuilds :: Int
16+keepBuilds = 2
17+
14main = do
18main = do
15 files <- sort <$> listDirectory "."
19 files <- sort <$> listDirectory "."
16 let (dynlibs,libdirs) = partition (".so" `isExtensionOf`) files
20 let (dynlibs,libdirs) = partition (".so" `isExtensionOf`) files
@@ -42,8 +46,7 @@ main = do
42 removeDashSegment = dropWhileEnd (/= '-')
46 removeDashSegment = dropWhileEnd (/= '-')
43
47
44 removeOlder remover files = do
48 removeOlder remover files = do
45− -- keep 2 latest builds
46− oldfiles <- drop 2 . reverse <$> sortByAge files
49+ oldfiles <- drop keepBuilds . reverse <$> sortByAge files
47 mapM_ remover oldfiles
50 mapM_ remover oldfiles
48
51
49 sortByAge files = do
52 sortByAge files = do