Skip to content

Commit

Permalink
Merge pull request #7746 from fendor/feature/remove-world-file
Browse files Browse the repository at this point in the history
Remove any remnant of the 'world' file
  • Loading branch information
Mikolaj committed Oct 23, 2021
2 parents 7b74c31 + 35a6537 commit e74a53b
Show file tree
Hide file tree
Showing 23 changed files with 37 additions and 303 deletions.
1 change: 0 additions & 1 deletion cabal-install/cabal-install.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,6 @@ library
Distribution.Client.VCS
Distribution.Client.Version
Distribution.Client.Win32SelfUpgrade
Distribution.Client.World

build-depends:
async >= 2.0 && < 2.3,
Expand Down
16 changes: 2 additions & 14 deletions cabal-install/src/Distribution/Client/Config.hs
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,6 @@ instance Semigroup SavedConfig where
globalLocalNoIndexRepos = lastNonEmptyNL globalLocalNoIndexRepos,
globalActiveRepos = combine globalActiveRepos,
globalLogsDir = combine globalLogsDir,
globalWorldFile = combine globalWorldFile,
globalIgnoreExpiry = combine globalIgnoreExpiry,
globalHttpTransport = combine globalHttpTransport,
globalNix = combine globalNix,
Expand Down Expand Up @@ -321,7 +320,6 @@ instance Semigroup SavedConfig where
installReportPlanningFailure = combine installReportPlanningFailure,
installSymlinkBinDir = combine installSymlinkBinDir,
installPerComponent = combine installPerComponent,
installOneShot = combine installOneShot,
installNumJobs = combine installNumJobs,
installKeepGoing = combine installKeepGoing,
installRunTests = combine installRunTests,
Expand Down Expand Up @@ -540,7 +538,6 @@ baseSavedConfig = do
userPrefix <- getCabalDir
cacheDir <- defaultCacheDir
logsDir <- defaultLogsDir
worldFile <- defaultWorldFile
return mempty {
savedConfigureFlags = mempty {
configHcFlavor = toFlag defaultCompiler,
Expand All @@ -552,8 +549,7 @@ baseSavedConfig = do
},
savedGlobalFlags = mempty {
globalCacheDir = toFlag cacheDir,
globalLogsDir = toFlag logsDir,
globalWorldFile = toFlag worldFile
globalLogsDir = toFlag logsDir
}
}

Expand All @@ -567,14 +563,12 @@ initialSavedConfig :: IO SavedConfig
initialSavedConfig = do
cacheDir <- defaultCacheDir
logsDir <- defaultLogsDir
worldFile <- defaultWorldFile
extraPath <- defaultExtraPath
installPath <- defaultInstallPath
return mempty {
savedGlobalFlags = mempty {
globalCacheDir = toFlag cacheDir,
globalRemoteRepos = toNubList [defaultRemoteRepo],
globalWorldFile = toFlag worldFile
globalRemoteRepos = toNubList [defaultRemoteRepo]
},
savedConfigureFlags = mempty {
configProgramPathExtra = toNubList extraPath
Expand Down Expand Up @@ -614,12 +608,6 @@ defaultLogsDir = do
dir <- getCabalDir
return $ dir </> "logs"

-- | Default position of the world file
defaultWorldFile :: IO FilePath
defaultWorldFile = do
dir <- getCabalDir
return $ dir </> "world"

defaultExtraPath :: IO [FilePath]
defaultExtraPath = do
dir <- getCabalDir
Expand Down
5 changes: 1 addition & 4 deletions cabal-install/src/Distribution/Client/DistDirLayout.hs
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,7 @@ data StoreDirLayout = StoreDirLayout {
data CabalDirLayout = CabalDirLayout {
cabalStoreDirLayout :: StoreDirLayout,

cabalLogsDirectory :: FilePath,
cabalWorldFile :: FilePath
cabalLogsDirectory :: FilePath
}


Expand Down Expand Up @@ -309,5 +308,3 @@ mkCabalDirLayout cabalDir mstoreDir mlogDir =
defaultStoreDirLayout (fromMaybe (cabalDir </> "store") mstoreDir)
cabalLogsDirectory :: FilePath
cabalLogsDirectory = fromMaybe (cabalDir </> "logs") mlogDir
cabalWorldFile :: FilePath
cabalWorldFile = cabalDir </> "world"
3 changes: 1 addition & 2 deletions cabal-install/src/Distribution/Client/Fetch.hs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ fetch verbosity _ _ _ _ _ _ _ [] =
notice verbosity "No packages requested. Nothing to do."

fetch verbosity packageDBs repoCtxt comp platform progdb
globalFlags fetchFlags userTargets = do
_ fetchFlags userTargets = do

traverse_ (checkTarget verbosity) userTargets

Expand All @@ -87,7 +87,6 @@ fetch verbosity packageDBs repoCtxt comp platform progdb
pkgConfigDb <- readPkgConfigDb verbosity progdb

pkgSpecifiers <- resolveUserTargets verbosity repoCtxt
(fromFlag $ globalWorldFile globalFlags)
(packageIndex sourcePkgDb)
userTargets

Expand Down
3 changes: 1 addition & 2 deletions cabal-install/src/Distribution/Client/Freeze.hs
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,13 @@ getFreezePkgs :: Verbosity
-> FreezeFlags
-> IO [SolverPlanPackage]
getFreezePkgs verbosity packageDBs repoCtxt comp platform progdb
globalFlags freezeFlags = do
_ freezeFlags = do

installedPkgIndex <- getInstalledPackages verbosity comp packageDBs progdb
sourcePkgDb <- getSourcePackages verbosity repoCtxt
pkgConfigDb <- readPkgConfigDb verbosity progdb

pkgSpecifiers <- resolveUserTargets verbosity repoCtxt
(fromFlag $ globalWorldFile globalFlags)
(packageIndex sourcePkgDb)
[UserTargetLocalDir "."]

Expand Down
3 changes: 1 addition & 2 deletions cabal-install/src/Distribution/Client/Get.hs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ get :: Verbosity
get verbosity _ _ _ [] =
notice verbosity "No packages requested. Nothing to do."

get verbosity repoCtxt globalFlags getFlags userTargets = do
get verbosity repoCtxt _ getFlags userTargets = do
let useSourceRepo = case getSourceRepository getFlags of
NoFlag -> False
_ -> True
Expand All @@ -84,7 +84,6 @@ get verbosity repoCtxt globalFlags getFlags userTargets = do
(sourcePkgDb, _, _) <- getSourcePackagesAtIndexState verbosity repoCtxt idxState activeRepos

pkgSpecifiers <- resolveUserTargets verbosity repoCtxt
(fromFlag $ globalWorldFile globalFlags)
(packageIndex sourcePkgDb)
userTargets

Expand Down
2 changes: 0 additions & 2 deletions cabal-install/src/Distribution/Client/GlobalFlags.hs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ data GlobalFlags = GlobalFlags
, globalLocalNoIndexRepos :: NubList LocalRepo
, globalActiveRepos :: Flag ActiveRepos
, globalLogsDir :: Flag FilePath
, globalWorldFile :: Flag FilePath
, globalIgnoreExpiry :: Flag Bool -- ^ Ignore security expiry dates
, globalHttpTransport :: Flag String
, globalNix :: Flag Bool -- ^ Integrate with Nix
Expand All @@ -84,7 +83,6 @@ defaultGlobalFlags = GlobalFlags
, globalLocalNoIndexRepos = mempty
, globalActiveRepos = mempty
, globalLogsDir = mempty
, globalWorldFile = mempty
, globalIgnoreExpiry = Flag False
, globalHttpTransport = mempty
, globalNix = Flag False
Expand Down
19 changes: 2 additions & 17 deletions cabal-install/src/Distribution/Client/Install.hs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ import qualified Distribution.Client.InstallSymlink as InstallSymlink
( symlinkBinaries )
import Distribution.Client.Types.OverwritePolicy (OverwritePolicy (..))
import qualified Distribution.Client.Win32SelfUpgrade as Win32SelfUpgrade
import qualified Distribution.Client.World as World
import qualified Distribution.InstalledPackageInfo as Installed
import Distribution.Client.JobControl

Expand Down Expand Up @@ -129,8 +128,6 @@ import Distribution.Package
( PackageIdentifier(..), PackageId, packageName, packageVersion
, Package(..), HasMungedPackageId(..), HasUnitId(..)
, UnitId )
import Distribution.Types.Dependency
( Dependency (..), mainLibSet )
import Distribution.Types.GivenComponent
( GivenComponent(..) )
import Distribution.Types.PackageVersionConstraint
Expand Down Expand Up @@ -165,11 +162,9 @@ import qualified Data.ByteString as BS
-- * complain about flags that do not apply to any package given as target
-- so flags do not apply to dependencies, only listed, can use flag
-- constraints for dependencies
-- * only record applicable flags in world file
-- * allow flag constraints
-- * allow installed constraints
-- * allow flag and installed preferences
-- * change world file to use cabal section syntax
-- * allow persistent configure flags for each package individually

-- ------------------------------------------------------------
Expand Down Expand Up @@ -257,7 +252,7 @@ makeInstallContext :: Verbosity -> InstallArgs -> Maybe [UserTarget]
-> IO InstallContext
makeInstallContext verbosity
(packageDBs, repoCtxt, comp, _, progdb,
globalFlags, _, configExFlags, installFlags, _, _, _) mUserTargets = do
_, _, configExFlags, installFlags, _, _, _) mUserTargets = do

let idxState = flagToMaybe (installIndexState installFlags)

Expand All @@ -282,7 +277,6 @@ makeInstallContext verbosity
| otherwise = userTargets0

pkgSpecifiers <- resolveUserTargets verbosity repoCtxt
(fromFlag $ globalWorldFile globalFlags)
(packageIndex sourcePkgDb)
userTargets
return (userTargets, pkgSpecifiers)
Expand Down Expand Up @@ -798,7 +792,6 @@ theSpecifiedPackage pkgSpec =
-- * build reporting, local and remote
-- * symlinking binaries
-- * updating indexes
-- * updating world file
-- * error reporting
--
postInstallActions :: Verbosity
Expand All @@ -810,13 +803,7 @@ postInstallActions :: Verbosity
postInstallActions verbosity
(packageDBs, _, comp, platform, progdb
,globalFlags, configFlags, _, installFlags, _, _, _)
targets installPlan buildOutcomes = do

unless oneShot $
World.insert verbosity worldFile
--FIXME: does not handle flags
[ World.WorldPkgInfo (Dependency pn vr mainLibSet) mempty
| UserTargetNamed (PackageVersionConstraint pn vr) <- targets ]
_ installPlan buildOutcomes = do

let buildReports = BuildReports.fromInstallPlan platform (compilerId comp)
installPlan buildOutcomes
Expand All @@ -840,8 +827,6 @@ postInstallActions verbosity
where
reportingLevel = fromFlag (installBuildReports installFlags)
logsDir = fromFlag (globalLogsDir globalFlags)
oneShot = fromFlag (installOneShot installFlags)
worldFile = fromFlag $ globalWorldFile globalFlags

storeDetailedBuildReports :: Verbosity -> FilePath
-> [(BuildReports.BuildReport, Maybe Repo)] -> IO ()
Expand Down
3 changes: 1 addition & 2 deletions cabal-install/src/Distribution/Client/List.hs
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ info verbosity _ _ _ _ _ _ [] =
notice verbosity "No packages requested. Nothing to do."

info verbosity packageDBs repoCtxt comp progdb
globalFlags _listFlags userTargets = do
_ _listFlags userTargets = do

installedPkgIndex <- getInstalledPackages verbosity comp packageDBs progdb
sourcePkgDb <- getSourcePackages verbosity repoCtxt
Expand All @@ -209,7 +209,6 @@ info verbosity packageDBs repoCtxt comp progdb
++ map packageId
(PackageIndex.allPackages sourcePkgIndex)
pkgSpecifiers <- resolveUserTargets verbosity repoCtxt
(fromFlag $ globalWorldFile globalFlags)
sourcePkgs' userTargets

pkgsinfo <- sequenceA
Expand Down
1 change: 0 additions & 1 deletion cabal-install/src/Distribution/Client/Manpage.hs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ data FileInfo = FileInfo String String -- ^ path, description
files :: [FileInfo]
files =
[ (FileInfo "~/.cabal/config" "The defaults that can be overridden with command-line options.")
, (FileInfo "~/.cabal/world" "A list of all packages whose installation has been explicitly requested.")
]

manpageCmd :: String -> [CommandSpec a] -> ManpageFlags -> IO ()
Expand Down
2 changes: 0 additions & 2 deletions cabal-install/src/Distribution/Client/ProjectConfig.hs
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,6 @@ resolveBuildTimeSettings verbosity
--buildSettingLogVerbosity -- defined below, more complicated
buildSettingBuildReports = fromFlag projectConfigBuildReports
buildSettingSymlinkBinDir = flagToList projectConfigSymlinkBinDir
buildSettingOneShot = fromFlag projectConfigOneShot
buildSettingNumJobs = determineNumJobs projectConfigNumJobs
buildSettingKeepGoing = fromFlag projectConfigKeepGoing
buildSettingOfflineMode = fromFlag projectConfigOfflineMode
Expand All @@ -336,7 +335,6 @@ resolveBuildTimeSettings verbosity
projectConfigBuildReports = toFlag NoReports,
projectConfigReportPlanningFailure = toFlag False,
projectConfigKeepGoing = toFlag False,
projectConfigOneShot = toFlag False,
projectConfigOfflineMode = toFlag False,
projectConfigKeepTempFiles = toFlag False,
projectConfigIgnoreExpiry = toFlag False
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,6 @@ convertLegacyBuildOnlyFlags globalFlags configFlags
GlobalFlags {
globalCacheDir = projectConfigCacheDir,
globalLogsDir = projectConfigLogsDir,
globalWorldFile = _,
globalHttpTransport = projectConfigHttpTransport,
globalIgnoreExpiry = projectConfigIgnoreExpiry
} = globalFlags
Expand All @@ -520,7 +519,6 @@ convertLegacyBuildOnlyFlags globalFlags configFlags
installBuildReports = projectConfigBuildReports,
installReportPlanningFailure = projectConfigReportPlanningFailure,
installSymlinkBinDir = projectConfigSymlinkBinDir,
installOneShot = projectConfigOneShot,
installNumJobs = projectConfigNumJobs,
installKeepGoing = projectConfigKeepGoing,
installOfflineMode = projectConfigOfflineMode
Expand Down Expand Up @@ -586,7 +584,6 @@ convertToLegacySharedConfig
globalLocalNoIndexRepos = projectConfigLocalNoIndexRepos,
globalActiveRepos = projectConfigActiveRepos,
globalLogsDir = projectConfigLogsDir,
globalWorldFile = mempty,
globalIgnoreExpiry = projectConfigIgnoreExpiry,
globalHttpTransport = projectConfigHttpTransport,
globalNix = mempty,
Expand Down Expand Up @@ -642,7 +639,6 @@ convertToLegacySharedConfig
installReportPlanningFailure = projectConfigReportPlanningFailure,
installSymlinkBinDir = projectConfigSymlinkBinDir,
installPerComponent = projectConfigPerComponent,
installOneShot = projectConfigOneShot,
installNumJobs = projectConfigNumJobs,
installKeepGoing = projectConfigKeepGoing,
installRunTests = mempty,
Expand Down Expand Up @@ -1027,7 +1023,7 @@ legacySharedConfigFieldDescrs constraintSrc = concat
, "root-cmd", "symlink-bindir"
, "build-log"
, "remote-build-reporting", "report-planning-failure"
, "one-shot", "jobs", "keep-going", "offline", "per-component"
, "jobs", "keep-going", "offline", "per-component"
-- solver flags:
, "max-backjumps", "reorder-goals", "count-conflicts"
, "fine-grained-conflicts" , "minimize-conflict-set", "independent-goals"
Expand Down
2 changes: 0 additions & 2 deletions cabal-install/src/Distribution/Client/ProjectConfig/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ data ProjectConfigBuildOnly
projectConfigBuildReports :: Flag ReportLevel,
projectConfigReportPlanningFailure :: Flag Bool,
projectConfigSymlinkBinDir :: Flag FilePath,
projectConfigOneShot :: Flag Bool,
projectConfigNumJobs :: Flag (Maybe Int),
projectConfigKeepGoing :: Flag Bool,
projectConfigOfflineMode :: Flag Bool,
Expand Down Expand Up @@ -448,7 +447,6 @@ data BuildTimeSettings
buildSettingBuildReports :: ReportLevel,
buildSettingReportPlanningFailure :: Bool,
buildSettingSymlinkBinDir :: [FilePath],
buildSettingOneShot :: Bool,
buildSettingNumJobs :: Int,
buildSettingKeepGoing :: Bool,
buildSettingOfflineMode :: Bool,
Expand Down
13 changes: 0 additions & 13 deletions cabal-install/src/Distribution/Client/Setup.hs
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,6 @@ globalCommand commands = CommandUI {
-- arguments we don't want shown in the help
-- the remote repo flags are not useful compared to the more general "active-repositories" flag.
-- the global logs directory was only used in v1, while in v2 we have specific project config logs dirs
-- the world-file flag is long deprecated and unused
-- default-user-config is support for a relatively obscure workflow for v1-freeze.
argsNotShown :: [OptionField GlobalFlags]
argsNotShown = [
Expand Down Expand Up @@ -407,11 +406,6 @@ globalCommand commands = CommandUI {
globalConstraintsFile (\v flags -> flags {globalConstraintsFile = v})
(reqArgFlag "FILE")

,option [] ["world-file"]
"The location of the world file"
globalWorldFile (\v flags -> flags { globalWorldFile = v })
(reqArgFlag "FILE")

]

-- ------------------------------------------------------------
Expand Down Expand Up @@ -1573,7 +1567,6 @@ data InstallFlags = InstallFlags {
-- when removing v1 commands
installSymlinkBinDir :: Flag FilePath,
installPerComponent :: Flag Bool,
installOneShot :: Flag Bool,
installNumJobs :: Flag (Maybe Int),
installKeepGoing :: Flag Bool,
installRunTests :: Flag Bool,
Expand Down Expand Up @@ -1614,7 +1607,6 @@ defaultInstallFlags = InstallFlags {
installReportPlanningFailure = Flag False,
installSymlinkBinDir = mempty,
installPerComponent = Flag True,
installOneShot = Flag False,
installNumJobs = mempty,
installKeepGoing = Flag False,
installRunTests = mempty,
Expand Down Expand Up @@ -1909,11 +1901,6 @@ installOptions showOrParseArgs =
installPerComponent (\v flags -> flags { installPerComponent = v })
(boolOpt [] [])

, option [] ["one-shot"]
"Do not record the packages in the world file."
installOneShot (\v flags -> flags { installOneShot = v })
(yesNoOpt showOrParseArgs)

, option [] ["run-tests"]
"Run package test suites during installation."
installRunTests (\v flags -> flags { installRunTests = v })
Expand Down
Loading

0 comments on commit e74a53b

Please sign in to comment.