Hello community,

here is the log from the commit of package ghc-pantry for openSUSE:Factory 
checked in at 2019-10-18 14:34:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-pantry (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-pantry.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-pantry"

Fri Oct 18 14:34:29 2019 rev:4 rq:737208 version:0.2.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-pantry/ghc-pantry.changes    2019-08-29 
17:24:10.107300993 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-pantry.new.2352/ghc-pantry.changes  
2019-10-18 14:34:31.512068795 +0200
@@ -1,0 +2,13 @@
+Thu Oct 10 10:02:31 UTC 2019 - psim...@suse.com
+
+- Update pantry to version 0.2.0.0.
+  ## v0.2.0.0
+
+  Bug fixes:
+
+  * Don't compare the hashes of cabal files.
+    Addresses bugs such as [Stack
+    #5045](https://github.com/commercialhaskell/stack/issues/5045).
+    Data type changes: removed the `pmCabal` and `rpmCabal` fields.
+
+-------------------------------------------------------------------

Old:
----
  pantry-0.1.1.2.tar.gz

New:
----
  pantry-0.2.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-pantry.spec ++++++
--- /var/tmp/diff_new_pack.wE9vwJ/_old  2019-10-18 14:34:32.084067305 +0200
+++ /var/tmp/diff_new_pack.wE9vwJ/_new  2019-10-18 14:34:32.088067295 +0200
@@ -19,7 +19,7 @@
 %global pkg_name pantry
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.1.1.2
+Version:        0.2.0.0
 Release:        0
 Summary:        Content addressable Haskell package management
 License:        BSD-3-Clause

++++++ pantry-0.1.1.2.tar.gz -> pantry-0.2.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/ChangeLog.md 
new/pantry-0.2.0.0/ChangeLog.md
--- old/pantry-0.1.1.2/ChangeLog.md     2019-08-27 09:54:10.000000000 +0200
+++ new/pantry-0.2.0.0/ChangeLog.md     2019-10-06 06:21:38.000000000 +0200
@@ -1,5 +1,14 @@
 # Changelog for pantry
 
+## v0.2.0.0
+
+Bug fixes:
+
+* Don't compare the hashes of cabal files.
+  Addresses bugs such as [Stack
+  #5045](https://github.com/commercialhaskell/stack/issues/5045).
+  Data type changes: removed the `pmCabal` and `rpmCabal` fields.
+
 ## v0.1.1.2
 
 Bug fixes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/pantry.cabal 
new/pantry-0.2.0.0/pantry.cabal
--- old/pantry-0.1.1.2/pantry.cabal     2019-08-27 09:54:10.000000000 +0200
+++ new/pantry-0.2.0.0/pantry.cabal     2019-10-06 06:21:38.000000000 +0200
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: e338943a1a53aa6c588e00a1b9eb2d38801ab6382e7ea4c33b31bd9eea0fb994
+-- hash: abfcc422864de256ba0ef8b533df725b381cffd7791dca94f17303a16e69a2a3
 
 name:           pantry
-version:        0.1.1.2
+version:        0.2.0.0
 synopsis:       Content addressable Haskell package management
 description:    Please see the README on Github at 
<https://github.com/commercialhaskell/pantry#readme>
 category:       Development
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/src/Pantry/Archive.hs 
new/pantry-0.2.0.0/src/Pantry/Archive.hs
--- old/pantry-0.1.1.2/src/Pantry/Archive.hs    2019-08-25 08:35:58.000000000 
+0200
+++ new/pantry-0.2.0.0/src/Pantry/Archive.hs    2019-10-06 06:21:38.000000000 
+0200
@@ -51,12 +51,7 @@
   -> RIO env ()
 fetchArchives pairs =
   -- TODO be more efficient, group together shared archives
-  fetchArchivesRaw [
-    let PackageIdentifier nm ver = pmIdent pm
-        rpm = RawPackageMetadata (Just nm) (Just ver) (Just $ pmTreeKey pm) 
(Just $ pmCabal pm)
-        ra = RawArchive (archiveLocation a) (Just $ archiveHash a) (Just $ 
archiveSize a) (archiveSubdir a)
-    in (ra, rpm)
-   | (a, pm) <- pairs]
+  fetchArchivesRaw [(toRawArchive a, toRawPM pm) | (a, pm) <- pairs]
 
 getArchiveKey
   :: forall env. (HasPantryConfig env, HasLogFunc env, HasProcessContext env)
@@ -172,15 +167,13 @@
   -> Either PantryException Package
 checkPackageMetadata pl pm pa = do
   let
-      pkgCabal = case packageCabalEntry pa of
-                       PCCabalFile tentry -> tentry
-                       PCHpack phpack -> phGenerated phpack
       err = MismatchedPackageMetadata
               pl
               pm
               (Just (packageTreeKey pa))
-              (teBlob pkgCabal)
               (packageIdent pa)
+
+      test :: Eq a => Maybe a -> a -> Bool
       test (Just x) y = x == y
       test Nothing _ = True
 
@@ -188,7 +181,6 @@
         [ test (rpmTreeKey pm) (packageTreeKey pa)
         , test (rpmName pm) (pkgName $ packageIdent pa)
         , test (rpmVersion pm) (pkgVersion $ packageIdent pa)
-        , test (rpmCabal pm) (teBlob pkgCabal)
         ]
 
    in if and tests then Right pa else Left err
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/src/Pantry/Hackage.hs 
new/pantry-0.2.0.0/src/Pantry/Hackage.hs
--- old/pantry-0.1.1.2/src/Pantry/Hackage.hs    2019-08-25 08:35:58.000000000 
+0200
+++ new/pantry-0.2.0.0/src/Pantry/Hackage.hs    2019-10-10 05:59:10.000000000 
+0200
@@ -586,7 +586,6 @@
           { rpmName = Just name
           , rpmVersion = Just ver
           , rpmTreeKey = Nothing -- with a revision cabal file will differ 
giving a different tree
-          , rpmCabal = Nothing -- cabal file in the tarball may be different!
           }
     case packageTree package of
       TreeMap m -> do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/src/Pantry/Types.hs 
new/pantry-0.2.0.0/src/Pantry/Types.hs
--- old/pantry-0.1.1.2/src/Pantry/Types.hs      2019-08-27 08:00:28.000000000 
+0200
+++ new/pantry-0.2.0.0/src/Pantry/Types.hs      2019-10-10 05:59:10.000000000 
+0200
@@ -807,7 +807,6 @@
       !RawPackageLocationImmutable
       !RawPackageMetadata
       !(Maybe TreeKey)
-      !BlobKey -- cabal file found
       !PackageIdentifier
   | Non200ResponseStatus !Status
   | InvalidBlobKey !(Mismatch BlobKey)
@@ -920,13 +919,12 @@
     display loc <>
     ":\n" <>
     displayShow e
-  display (MismatchedPackageMetadata loc pm mtreeKey foundCabal foundIdent) =
+  display (MismatchedPackageMetadata loc pm mtreeKey foundIdent) =
     "Mismatched package metadata for " <> display loc <>
-    "\nFound: " <> fromString (packageIdentifierString foundIdent) <> " with 
cabal file " <>
-    display foundCabal <>
+    "\nFound: " <> fromString (packageIdentifierString foundIdent) <>
     (case mtreeKey of
        Nothing -> mempty
-       Just treeKey -> " and tree " <> display treeKey) <>
+       Just treeKey -> " with tree " <> display treeKey) <>
     "\nExpected: " <> display pm
   display (Non200ResponseStatus status) =
     "Unexpected non-200 HTTP status code: " <>
@@ -1360,10 +1358,6 @@
     -- ^ Tree key of the loaded up package
     --
     -- @since 0.1.0.0
-  , rpmCabal :: !(Maybe BlobKey)
-    -- ^ Blob key containing the cabal file
-    --
-    -- @since 0.1.0.0
   }
   deriving (Show, Eq, Ord, Generic, Typeable)
 instance NFData RawPackageMetadata
@@ -1373,7 +1367,6 @@
     [ (\name -> "name == " <> fromString (packageNameString name)) <$> rpmName 
rpm
     , (\version -> "version == " <> fromString (versionString version)) <$> 
rpmVersion rpm
     , (\tree -> "tree == " <> display tree) <$> rpmTreeKey rpm
-    , (\cabal -> "cabal file == " <> display cabal) <$> rpmCabal rpm
     ]
 
 -- | Exact metadata specifying concrete package
@@ -1388,10 +1381,6 @@
     -- ^ Tree key of the loaded up package
     --
     -- @since 0.1.0.0
-  , pmCabal :: !BlobKey
-    -- ^ Blob key containing the cabal file
-    --
-    -- @since 0.1.0.0
   }
   deriving (Show, Eq, Ord, Generic, Typeable)
 -- i PackageMetadata
@@ -1401,12 +1390,11 @@
   display pm = fold $ intersperse ", " $
     [ "ident == " <> fromString (packageIdentifierString $ pmIdent pm)
     , "tree == " <> display (pmTreeKey pm)
-    , "cabal file == " <> display (pmCabal pm)
     ]
 
 parsePackageMetadata :: Object -> WarningParser PackageMetadata
 parsePackageMetadata o = do
-  pmCabal :: BlobKey <- o ..: "cabal-file"
+  _oldCabalFile :: Maybe BlobKey <- o ..:? "cabal-file"
   pantryTree :: BlobKey <- o ..: "pantry-tree"
   CabalString pkgName <- o ..: "name"
   CabalString pkgVersion <- o ..: "version"
@@ -1419,7 +1407,7 @@
 --
 -- @since 0.1.0.0
 toRawPM :: PackageMetadata -> RawPackageMetadata
-toRawPM pm = RawPackageMetadata (Just name) (Just version) (Just $ pmTreeKey 
pm) (Just $ pmCabal pm)
+toRawPM pm = RawPackageMetadata (Just name) (Just version) (Just $ pmTreeKey 
pm)
   where
     PackageIdentifier name version = pmIdent pm
 
@@ -1520,11 +1508,10 @@
           RepoHg  -> "hg"
 
 rpmToPairs :: RawPackageMetadata -> [(Text, Value)]
-rpmToPairs (RawPackageMetadata mname mversion mtree mcabal) = concat
+rpmToPairs (RawPackageMetadata mname mversion mtree) = concat
   [ maybe [] (\name -> ["name" .= CabalString name]) mname
   , maybe [] (\version -> ["version" .= CabalString version]) mversion
   , maybe [] (\tree -> ["pantry-tree" .= tree]) mtree
-  , maybe [] (\cabal -> ["cabal-file" .= cabal]) mcabal
   ]
 
 instance FromJSON (WithJSONWarnings (Unresolved PackageLocationImmutable)) 
where
@@ -1621,12 +1608,21 @@
               Just x -> pure $ OSSubdirs x
           Nothing -> OSPackageMetadata
             <$> o ..:? "subdir" ..!= T.empty
-            <*> (RawPackageMetadata
+            <*> (rawPackageMetadataHelper
                   <$> (fmap unCabalString <$> (o ..:? "name"))
                   <*> (fmap unCabalString <$> (o ..:? "version"))
                   <*> o ..:? "pantry-tree"
                   <*> o ..:? "cabal-file")
 
+      rawPackageMetadataHelper
+        :: Maybe PackageName
+        -> Maybe Version
+        -> Maybe TreeKey
+        -> Maybe BlobKey
+        -> RawPackageMetadata
+      rawPackageMetadataHelper name version pantryTree _ignoredCabalFile =
+        RawPackageMetadata name version pantryTree
+
       repo = withObjectWarnings "UnresolvedPackageLocationImmutable.UPLIRepo" 
$ \o -> do
         (repoType, repoUrl) <-
           ((RepoGit, ) <$> o ..: "git") <|>
@@ -1665,7 +1661,7 @@
 osToRpms (OSPackageMetadata subdir rpm) = pure (subdir, rpm)
 
 rpmEmpty :: RawPackageMetadata
-rpmEmpty = RawPackageMetadata Nothing Nothing Nothing Nothing
+rpmEmpty = RawPackageMetadata Nothing Nothing Nothing
 
 -- | Newtype wrapper for easier JSON integration with Cabal types.
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/src/Pantry.hs 
new/pantry-0.2.0.0/src/Pantry.hs
--- old/pantry-0.1.1.2/src/Pantry.hs    2019-08-27 09:54:10.000000000 +0200
+++ new/pantry-0.2.0.0/src/Pantry.hs    2019-10-10 05:59:10.000000000 +0200
@@ -390,10 +390,6 @@
 --
 -- This function ignores all warnings.
 --
--- Note that, for now, this will not allow support for hpack files in
--- these package locations. Instead, all @PackageLocationImmutable@s
--- will require a .cabal file. This may be relaxed in the future.
---
 -- @since 0.1.0.0
 loadCabalFileImmutable
   :: (HasPantryConfig env, HasLogFunc env, HasProcessContext env)
@@ -402,24 +398,21 @@
 loadCabalFileImmutable loc = withCache $ do
   logDebug $ "Parsing cabal file for " <> display loc
   bs <- loadCabalFileBytes loc
-  let foundCabalKey = bsToBlobKey bs
   (_warnings, gpd) <- rawParseGPD (Left $ toRawPLI loc) bs
   let pm =
         case loc of
-          PLIHackage (PackageIdentifier name version) cfHash mtree -> 
PackageMetadata
+          PLIHackage (PackageIdentifier name version) _cfHash mtree -> 
PackageMetadata
             { pmIdent = PackageIdentifier name version
             , pmTreeKey = mtree
-            , pmCabal = cfHash
             }
           PLIArchive _ pm' -> pm'
           PLIRepo _ pm' -> pm'
   let exc = MismatchedPackageMetadata (toRawPLI loc) (toRawPM pm) Nothing
-        foundCabalKey (gpdPackageIdentifier gpd)
+        (gpdPackageIdentifier gpd)
       PackageIdentifier name ver = pmIdent pm
   maybe (throwIO exc) pure $ do
     guard $ name == gpdPackageName gpd
     guard $ ver == gpdVersion gpd
-    guard $ pmCabal pm == foundCabalKey
     pure gpd
   where
     withCache inner = do
@@ -448,26 +441,20 @@
 loadCabalFileRawImmutable loc = withCache $ do
   logDebug $ "Parsing cabal file for " <> display loc
   bs <- loadRawCabalFileBytes loc
-  let foundCabalKey = bsToBlobKey bs
   (_warnings, gpd) <- rawParseGPD (Left loc) bs
   let rpm =
         case loc of
-          RPLIHackage (PackageIdentifierRevision name version cfi) mtree -> 
RawPackageMetadata
+          RPLIHackage (PackageIdentifierRevision name version _cfi) mtree -> 
RawPackageMetadata
             { rpmName = Just name
             , rpmVersion = Just version
             , rpmTreeKey = mtree
-            , rpmCabal =
-                case cfi of
-                  CFIHash sha (Just size) -> Just $ BlobKey sha size
-                  _ -> Nothing
             }
           RPLIArchive _ rpm' -> rpm'
           RPLIRepo _ rpm' -> rpm'
-  let exc = MismatchedPackageMetadata loc rpm Nothing foundCabalKey 
(gpdPackageIdentifier gpd)
+  let exc = MismatchedPackageMetadata loc rpm Nothing (gpdPackageIdentifier 
gpd)
   maybe (throwIO exc) pure $ do
     guard $ maybe True (== gpdPackageName gpd) (rpmName rpm)
     guard $ maybe True (== gpdVersion gpd) (rpmVersion rpm)
-    guard $ maybe True (== foundCabalKey) (rpmCabal rpm)
     pure gpd
   where
     withCache inner = do
@@ -766,9 +753,9 @@
   => RawPackageLocationImmutable
   -> RawPackageMetadata
   -> RIO env PackageMetadata
-completePM plOrig rpm@(RawPackageMetadata mn mv mtk mc)
-  | Just n <- mn, Just v <- mv, Just tk <- mtk, Just c <- mc =
-      pure $ PackageMetadata (PackageIdentifier n v) tk c
+completePM plOrig rpm@(RawPackageMetadata mn mv mtk)
+  | Just n <- mn, Just v <- mv, Just tk <- mtk =
+      pure $ PackageMetadata (PackageIdentifier n v) tk
   | otherwise = do
       pm <- packagePM <$> loadPackageRaw plOrig
       let isSame x (Just y) = x == y
@@ -777,8 +764,7 @@
           allSame =
             isSame (pkgName $ pmIdent pm) (rpmName rpm) &&
             isSame (pkgVersion $ pmIdent pm) (rpmVersion rpm) &&
-            isSame (pmTreeKey pm) (rpmTreeKey rpm) &&
-            isSame (pmCabal pm) (rpmCabal rpm)
+            isSame (pmTreeKey pm) (rpmTreeKey rpm)
       if allSame
         then pure pm
         else throwIO $ CompletePackageMetadataMismatch plOrig pm
@@ -787,9 +773,6 @@
 packagePM package = PackageMetadata
   { pmIdent = packageIdent package
   , pmTreeKey = packageTreeKey package
-  , pmCabal = teBlob $ case packageCabalEntry package of
-                         PCCabalFile cfile -> cfile
-                         PCHpack hfile -> phGenerated hfile
   }
 
 -- | Add in hashes to make a 'SnapshotLocation' reproducible.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/test/Pantry/ArchiveSpec.hs 
new/pantry-0.2.0.0/test/Pantry/ArchiveSpec.hs
--- old/pantry-0.1.1.2/test/Pantry/ArchiveSpec.hs       2019-07-16 
16:08:07.000000000 +0200
+++ new/pantry-0.2.0.0/test/Pantry/ArchiveSpec.hs       2019-10-06 
06:21:38.000000000 +0200
@@ -41,7 +41,6 @@
       { rpmName = Nothing
       , rpmVersion = Nothing
       , rpmTreeKey = Nothing
-      , rpmCabal = Nothing
       }
 
 parsePackageIdentifier' :: String -> PackageIdentifier
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/test/Pantry/BuildPlanSpec.hs 
new/pantry-0.2.0.0/test/Pantry/BuildPlanSpec.hs
--- old/pantry-0.1.1.2/test/Pantry/BuildPlanSpec.hs     2019-07-16 
16:08:07.000000000 +0200
+++ new/pantry-0.2.0.0/test/Pantry/BuildPlanSpec.hs     2019-10-06 
06:21:38.000000000 +0200
@@ -47,7 +47,6 @@
                     { rpmName = Nothing
                     , rpmVersion = Nothing
                     , rpmTreeKey = Nothing
-                    , rpmCabal = Nothing
                     }
           actual <- decode'' contents
           actual `shouldBe` pure expected
@@ -75,7 +74,6 @@
                     { rpmName = Nothing
                     , rpmVersion = Nothing
                     , rpmTreeKey = Nothing
-                    , rpmCabal = Nothing
                     }
           actual <- decode'' contents
           actual `shouldBe` pure expected
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/test/Pantry/CabalSpec.hs 
new/pantry-0.2.0.0/test/Pantry/CabalSpec.hs
--- old/pantry-0.1.1.2/test/Pantry/CabalSpec.hs 2019-07-16 16:08:07.000000000 
+0200
+++ new/pantry-0.2.0.0/test/Pantry/CabalSpec.hs 2019-10-06 06:21:38.000000000 
+0200
@@ -11,7 +11,8 @@
 
 spec :: Spec
 spec = describe "wrong cabal file" $ do
-  let test name action = it name (runPantryApp action :: IO ())
+  let test :: HasCallStack => String -> RIO PantryApp () -> Spec
+      test name action = it name (runPantryApp action :: IO ())
       shouldThrow' x y = withRunInIO $ \run -> run x `shouldThrow` y
   test "Hackage" $ do
     sha <- either throwIO pure
@@ -30,23 +31,19 @@
         size = FileSize 597
     go `shouldThrow'` \e ->
       case e of
-        MismatchedPackageMetadata rpli' rpm _tree cabal ident ->
+        MismatchedPackageMetadata rpli' rpm _tree ident ->
           rpli == rpli' &&
           rpm == RawPackageMetadata
             { rpmName = Just name
             , rpmVersion = Just version3
             , rpmTreeKey = Nothing
-            , rpmCabal = Just $ BlobKey sha size
             } &&
-          cabal == BlobKey sha size &&
           ident == PackageIdentifier name version2
         _ -> False
 
   test "tarball with wrong ident" $ do
     archiveHash' <- either throwIO pure
                   $ SHA256.fromHexBytes 
"b5a582209c50e4a61e4b6c0fb91a6a7d65177a881225438b0144719bc3682c3a"
-    sha <- either throwIO pure
-         $ SHA256.fromHexBytes 
"71c2c685a932cd3a70ec52d7bd0ec96ecbfa5e31e22130099cd50fa073ad1a69"
     let rpli = RPLIArchive archive rpm
         archive =
             RawArchive
@@ -59,7 +56,6 @@
             RawPackageMetadata
               { rpmName = Just acmeMissiles
               , rpmVersion = Just version2
-              , rpmCabal = Just $ BlobKey sha (FileSize 597)
               , rpmTreeKey = Nothing
               }
         go = loadCabalFileRawImmutable rpli
@@ -67,20 +63,15 @@
         version2 = mkVersion [0, 2]
     go `shouldThrow'` \e ->
       case e of
-        MismatchedPackageMetadata rpli' rpm' _treeKey cabal ident ->
+        MismatchedPackageMetadata rpli' rpm' _treeKey ident ->
           rpli == rpli' &&
           rpm == rpm' &&
-          cabal == BlobKey
-            (either impureThrow id $ SHA256.fromHexBytes 
"940d82426ad1db0fcc978c0f386ac5d06df019546071993cb7c6633f1ad17d50")
-            (FileSize 3038) &&
           ident == PackageIdentifier
             (mkPackageName "yesod-auth")
             (mkVersion [1, 6, 4, 1])
         _ -> False
 
   test "tarball with wrong cabal file" $ do
-    sha <- either throwIO pure
-         $ SHA256.fromHexBytes 
"71c2c685a932cd3a70ec52d7bd0ec96ecbfa5e31e22130099cd50fa073ad1a69"
     let rpli = RPLIArchive archive rpm
         archive =
             RawArchive
@@ -93,20 +84,17 @@
         rpm =
             RawPackageMetadata
               { rpmName = Just yesodAuth
-              , rpmVersion = Just version
-              , rpmCabal = Just $ BlobKey sha (FileSize 597)
+              , rpmVersion = Just badVersion
               , rpmTreeKey = Nothing
               }
         go = loadCabalFileRawImmutable rpli
         yesodAuth = mkPackageName "yesod-auth"
         version = mkVersion [1, 6, 4, 1]
+        badVersion = mkVersion [1, 6, 4, 0]
     go `shouldThrow'` \e ->
       case e of
-        MismatchedPackageMetadata rpli' rpm' _treeKey cabal ident ->
+        MismatchedPackageMetadata rpli' rpm' _treeKey ident ->
           rpli == rpli' &&
           rpm == rpm' &&
-          cabal == BlobKey
-            (either impureThrow id $ SHA256.fromHexBytes 
"940d82426ad1db0fcc978c0f386ac5d06df019546071993cb7c6633f1ad17d50")
-            (FileSize 3038) &&
           ident == PackageIdentifier yesodAuth version
         _ -> False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/test/Pantry/TreeSpec.hs 
new/pantry-0.2.0.0/test/Pantry/TreeSpec.hs
--- old/pantry-0.1.1.2/test/Pantry/TreeSpec.hs  2019-07-16 16:08:07.000000000 
+0200
+++ new/pantry-0.2.0.0/test/Pantry/TreeSpec.hs  2019-10-06 06:21:38.000000000 
+0200
@@ -5,6 +5,9 @@
 import Test.Hspec
 import RIO
 import Pantry
+import qualified Pantry.SHA256 as SHA256
+import Distribution.Types.PackageName (mkPackageName)
+import Distribution.Types.Version (mkVersion)
 
 spec :: Spec
 spec = do
@@ -14,7 +17,6 @@
         { rpmName = Nothing
         , rpmVersion = Nothing
         , rpmTreeKey = Nothing
-        , rpmCabal = Nothing
         }
       mkArchive url =
         RPLIArchive
@@ -58,3 +60,23 @@
     pair1 <- loadPackageRaw tarPL
     pair2 <- loadPackageRaw hgPL
     liftIO $ pair2 `shouldBe` pair1
+
+  it "5045 no cabal file" $ asIO $ runPantryAppClean $ do
+    let rpli = RPLIArchive archive rpm
+        packageName = mkPackageName "yaml"
+        version = mkVersion [0, 11, 1, 2]
+        archive =
+            RawArchive
+              { raLocation = ALUrl 
"https://github.com/snoyberg/yaml/archive/yaml-0.11.1.2.tar.gz";
+              , raHash = either impureThrow Just
+                         $ SHA256.fromHexBytes 
"b8564e99c555e670ee487bbf92d03800d955f0e6e16333610ef46534548e0a3d"
+              , raSize = Just $ FileSize 94198
+              , raSubdir = "yaml"
+              }
+        rpm =
+            RawPackageMetadata
+              { rpmName = Just packageName
+              , rpmVersion = Just version
+              , rpmTreeKey = Nothing
+              }
+    void $ loadCabalFileRawImmutable rpli
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pantry-0.1.1.2/test/Pantry/TypesSpec.hs 
new/pantry-0.2.0.0/test/Pantry/TypesSpec.hs
--- old/pantry-0.1.1.2/test/Pantry/TypesSpec.hs 2019-07-16 16:08:07.000000000 
+0200
+++ new/pantry-0.2.0.0/test/Pantry/TypesSpec.hs 2019-10-06 06:21:38.000000000 
+0200
@@ -49,6 +49,7 @@
     [r|
 subdir: wai
 cabal-file:
+  # This is ignored, only included to make sure we get no warnings
   size: 1765
   sha256: eea52c4967d8609c2f79213d6dffe6d6601034f1471776208404781de7051410
 name: wai
@@ -63,9 +64,6 @@
 samplePLIRepo2 :: ByteString
 samplePLIRepo2 =
     [r|
-cabal-file:
-  size: 1863
-  sha256: 5ebffc39e75ea1016adcc8426dc31d2040d2cc8a5f4bbce228592ef35e233da2
 name: merkle-log
 version: 0.1.0.0
 git: https://github.com/kadena-io/merkle-log.git
@@ -167,14 +165,11 @@
                         "d11d63f1a6a92db8c637a8d33e7953ce6194a3e0"
                   , repoUrl = "https://github.com/yesodweb/wai.git";
                   }
-          cabalSha =
-              SHA256.fromHexBytes
-                  
"eea52c4967d8609c2f79213d6dffe6d6601034f1471776208404781de7051410"
           pantrySha =
               SHA256.fromHexBytes
                   
"ecfd0b4b75f435a3f362394807b35e5ef0647b1a25005d44a3632c49db4833d2"
-      (csha, psha) <- case (cabalSha, pantrySha) of
-        (Right csha, Right psha) -> pure (csha, psha)
+      psha <- case pantrySha of
+        Right psha -> pure psha
         _ -> fail "Failed decoding sha256"
       let pkgValue =
               PackageMetadata
@@ -183,7 +178,6 @@
                             (mkPackageName "wai")
                             (mkVersion [3, 2, 1, 2])
                   , pmTreeKey = TreeKey (BlobKey psha (FileSize 714))
-                  , pmCabal = BlobKey csha (FileSize 1765)
                   }
       pli `shouldBe` PLIRepo repoValue pkgValue
 


Reply via email to