Merge branch 'master' into master

This commit is contained in:
Joe Kachmar 2020-05-22 14:39:14 -04:00 committed by GitHub
commit 19708ae527
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 101 additions and 22 deletions

View File

@ -333,14 +333,15 @@ early and hopefully the nightlies will be timely.
LTS minor bumps typically are run on Sundays. LTS minor bumps typically are run on Sundays.
### Website sync debugging (and other out of disk space errors) ### Diskspace errors (and website sync debugging)
* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem * You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem.
* If you see that `/var/stackage/` is out of space, you can: * If you see that `/var/stackage/` is out of space, you can:
* run `./etc/diskspace/clean-old-stack-libs.sh [nightly|lts-XX]` (hopefully sufficient)
optionally (not recommended?):
* `rm -r /var/stackage/stackage/automated/work/lts*/unpack-dir/unpacked/` * `rm -r /var/stackage/stackage/automated/work/lts*/unpack-dir/unpacked/`
* `rm -r /var/stackage/stackage/automated/work/nightly/unpack-dir/unpacked/` * `rm -r /var/stackage/stackage/automated/work/nightly/unpack-dir/unpacked/`
* (outdated) There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally
* (outdated) You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it
### Wiping the cache ### Wiping the cache

View File

@ -12,6 +12,12 @@ packages:
"Allan Lukwago <epicallan.al@gmail.com> @epicallan": "Allan Lukwago <epicallan.al@gmail.com> @epicallan":
- servant-errors - servant-errors
"Christian Charukiewicz <c.charukiewicz@gmail.com> @charukiewicz":
- isbn
"Koz Ross <koz.ross@retro-freedom.nz> @kozross":
- medea
"Ashlynn Anderson <maintainer@pea.sh> @lambdadog": "Ashlynn Anderson <maintainer@pea.sh> @lambdadog":
- proto3-wire - proto3-wire
@ -86,7 +92,7 @@ packages:
"Robert Vollmert <rob@vllmrt.net> @robx": "Robert Vollmert <rob@vllmrt.net> @robx":
- configurator-pg - configurator-pg
- postgrest - postgrest < 7.0.1 # https://github.com/commercialhaskell/stackage/issues/5383
"Sandy Maguire <sandy@sandymaguire.me> @isovector": "Sandy Maguire <sandy@sandymaguire.me> @isovector":
- ecstasy - ecstasy
@ -316,8 +322,8 @@ packages:
"Pasqualino Assini <tittoassini@gmail.com> @tittoassini": "Pasqualino Assini <tittoassini@gmail.com> @tittoassini":
# - zm # - zm
# - flat # fails to build - flat
- model < 0 # BuildFailureException Process exited with ExitFailure 1: ./Setup build - model
"Jose Iborra <pepeiborra@gmail.com> @pepeiborra": "Jose Iborra <pepeiborra@gmail.com> @pepeiborra":
# - arrowp-qq # build failure https://github.com/pepeiborra/arrowp/issues/8 # - arrowp-qq # build failure https://github.com/pepeiborra/arrowp/issues/8
@ -469,7 +475,7 @@ packages:
"Li-yao Xia <lysxia@gmail.com> @Lysxia": "Li-yao Xia <lysxia@gmail.com> @Lysxia":
- boltzmann-samplers - boltzmann-samplers
- first-class-families < 0.8.0.0 - first-class-families
- generic-data - generic-data
- generic-data-surgery < 0 # via generic-data - generic-data-surgery < 0 # via generic-data
- generic-random - generic-random
@ -478,7 +484,7 @@ packages:
- type-map - type-map
"Tobias Dammers <tdammers@gmail.com> @tdammers": "Tobias Dammers <tdammers@gmail.com> @tdammers":
- ginger < 0 # via regex-tdfa-1.3.0 - ginger
- yeshql < 0 # via yeshql-hdbc - yeshql < 0 # via yeshql-hdbc
"Yair Chuchem <yairchu@gmail.com> @yairchu": "Yair Chuchem <yairchu@gmail.com> @yairchu":
@ -865,7 +871,7 @@ packages:
- compensated - compensated
- compressed < 0 - compressed < 0
- concurrent-supply - concurrent-supply
- constraints < 0.12 # https://github.com/commercialhaskell/stackage/issues/5124 - constraints
- contravariant - contravariant
- distributive - distributive
- discrimination < 0 - discrimination < 0
@ -1220,6 +1226,7 @@ packages:
"Colin Woodbury <colin@fosskers.ca> @fosskers": "Colin Woodbury <colin@fosskers.ca> @fosskers":
- aur - aur
- aura
- bounded-queue - bounded-queue
- kanji - kanji
- language-bash - language-bash
@ -3266,7 +3273,7 @@ packages:
- validation - validation
"Tony Day <tonyday567@gmail.com> @tonyday567": "Tony Day <tonyday567@gmail.com> @tonyday567":
- numhask - numhask < 0.5 # https://github.com/commercialhaskell/stackage/issues/5382
- numhask-array < 0 - numhask-array < 0
- numhask-prelude < 0 - numhask-prelude < 0
- numhask-space < 0 - numhask-space < 0
@ -3625,7 +3632,7 @@ packages:
- ilist - ilist
- life-sync - life-sync
- membrain - membrain
- relude < 0.7 # https://github.com/commercialhaskell/stackage/issues/5361 - relude
- shellmet - shellmet
- shortcut-links - shortcut-links
- summoner - summoner
@ -3869,10 +3876,10 @@ packages:
- heist < 0 # GHC 8.4 via map-syntax - heist < 0 # GHC 8.4 via map-syntax
- snap < 0 # GHC 8.4 via base-4.11.0.0 - snap < 0 # GHC 8.4 via base-4.11.0.0
- conferer - conferer
# - conferer-snap # Because snap #- conferer-snap # Because snap
- conferer-warp - conferer-warp
- conferer-hspec - conferer-hspec
- conferer-provider-json - conferer-source-json
"Tim Humphries <tim+stackage@utf8.me> @thumphries": "Tim Humphries <tim+stackage@utf8.me> @thumphries":
- transformers-either < 0 # via exceptions-0.10.0 - transformers-either < 0 # via exceptions-0.10.0
@ -4038,7 +4045,7 @@ packages:
- secp256k1-haskell - secp256k1-haskell
- rocksdb-haskell - rocksdb-haskell
- rocksdb-query - rocksdb-query
- haskoin-core - haskoin-core < 0.13.5 # https://github.com/haskoin/haskoin-core/issues/385
- haskoin-node - haskoin-node
- haskoin-store < 0 # https://github.com/haskoin/haskoin-store/issues/12 - haskoin-store < 0 # https://github.com/haskoin/haskoin-store/issues/12
@ -4175,7 +4182,8 @@ packages:
- minimal-configuration - minimal-configuration
"Davit Nalchevanidze <d.nalchevanidze@gmail.com> @nalchevanidze": "Davit Nalchevanidze <d.nalchevanidze@gmail.com> @nalchevanidze":
- morpheus-graphql - morpheus-graphql
- morpheus-graphql-core
"Satoshi Egi <egi@egison.org> @egisatoshi": "Satoshi Egi <egi@egison.org> @egisatoshi":
- egison - egison
@ -4245,6 +4253,12 @@ packages:
"Rickey Visinski <rickeyvisinski+hs@gmail.com> @rickeyski": "Rickey Visinski <rickeyvisinski+hs@gmail.com> @rickeyski":
- slack-api - slack-api
"Dobromir Nikolov <dnikolovv@hotmail.com> @dnikolovv":
- it-has
"Gabriele Sales <gbrsales@gmail.com> @gbrsales":
- cabal-appimage
"Grandfathered dependencies": "Grandfathered dependencies":
- network - network
- Boolean - Boolean
@ -4403,6 +4417,7 @@ packages:
- functor-combinators < 0 # via dependent-sum - functor-combinators < 0 # via dependent-sum
- generic-arbitrary - generic-arbitrary
- generics-sop-lens - generics-sop-lens
- ghc-byteorder
- ghc-compact - ghc-compact
- ghc-paths - ghc-paths
- ghc-prof - ghc-prof
@ -4814,15 +4829,9 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/5335 # https://github.com/commercialhaskell/stackage/issues/5335
- brick <0.53 - brick <0.53
# https://github.com/commercialhaskell/stackage/issues/5336
- colourista < 0.1.0.0
# https://github.com/commercialhaskell/stackage/issues/5347 # https://github.com/commercialhaskell/stackage/issues/5347
- persistent-template < 2.8.3 - persistent-template < 2.8.3
# https://github.com/commercialhaskell/stackage/issues/5346
- validation-selective < 0.1.0.0
# https://github.com/commercialhaskell/stackage/issues/5348 # https://github.com/commercialhaskell/stackage/issues/5348
- tasty < 1.3 - tasty < 1.3
- tasty-golden < 2.3.3.3 - tasty-golden < 2.3.3.3
@ -4833,6 +4842,8 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/5351 # https://github.com/commercialhaskell/stackage/issues/5351
- pantry < 0.5 - pantry < 0.5
# https://github.com/commercialhaskell/path/issues/161
- path < 0.7.1
# end of packages # end of packages
# Package flags are applied to individual packages, and override the values of # Package flags are applied to individual packages, and override the values of

View File

@ -0,0 +1,13 @@
#!/bin/bash
set -e
if [ $# != 1 ]; then
echo "Usage: $0 [nightly|lts-xx]"
exit 1
fi
cd ~/stackage/automated/work/$1/unpack-dir/.stack-work/install/x86_64-linux/*/*/lib/x86_64-linux-ghc-*
pwd
stack --resolver lts-14.27 script ~/stackage/etc/diskspace/remove-old-stack-work-libs.hs

View File

@ -0,0 +1,54 @@
#!/usr/bin/env stack
-- stack --resolver lts-14 script
-- Utility to remove old libs installed under .stack-work/ to save diskspace
-- Should be run in:
-- work/*/unpack-dir/.stack-work/install/x86_64-linux/*/*/lib/x86_64-linux-ghc-*
import Data.List
import System.Directory
import System.FilePath
import Text.Regex.TDFA
main = do
files <- sort <$> listDirectory "."
let (dynlibs,libdirs) = partition (".so" `isExtensionOf`) files
pkglibdirs = groupBy samePkgLibDir libdirs
pkgdynlibs = groupBy samePkgDynLib dynlibs
mapM_ (removeOlder removeDirectoryRecursive) pkglibdirs
mapM_ (removeOlder removeFile) pkgdynlibs
where
samePkgLibDir l1 l2 = pkgDirName l1 == pkgDirName l2
where
pkgDirName p =
if length p < 25
then error $ p ++ " too short to be in correct name-version-hash format"
else extractNameInternal p
extractNameInternal :: String -> String
extractNameInternal p =
let (name,match,internal) = p =~ "-[0-9.]+-[0-9A-Za-z]{20,22}" :: (String, String, String)
in if null match || null name then error $ p ++ " not in correct name-version-hash format"
else name ++ internal
samePkgDynLib d1 d2 = pkgDynName d1 == pkgDynName d2
where
pkgDynName p =
if length p < 42
then error $ p ++ " too short to be libHSname-version-hash-ghc*.so format"
else (extractNameInternal . removeDashSegment) p
removeDashSegment = dropWhileEnd (/= '-')
removeOlder remover files = do
-- keep 2 latest builds
oldfiles <- drop 2 . reverse <$> sortByAge files
mapM_ remover oldfiles
sortByAge files = do
timestamps <- mapM getModificationTime files
let fileTimes = zip files timestamps
return $ map fst $ sortBy compareSnd fileTimes
compareSnd (_,t1) (_,t2) = compare t1 t2