Ticket #873: patch873.dpatch

File patch873.dpatch, 9.8 KB (added by nomeata, 22 months ago)
Line 
12 patches for repository http://darcs.haskell.org/cabal:
2
3Sat Aug 13 23:09:34 CEST 2011  Joachim Breitner <mail@joachim-breitner.de>
4  * Remove duplicated comment header
5  The same header appears further above.
6
7Sat Aug 13 23:26:04 CEST 2011  Joachim Breitner <mail@joachim-breitner.de>
8  * Add checkChangelogExists check
9 
10  This makes cabal check warn about a missing changelog if no commonly named
11  changelog file is found. Fixes #873.
12-----BEGIN PGP SIGNED MESSAGE-----
13Hash: SHA1
14
15
16New patches:
17
18[Remove duplicated comment header
19Joachim Breitner <mail@joachim-breitner.de>**20110813210934
20 Ignore-this: d420950822b9f3b7a38bd001d426feab
21 The same header appears further above.
22] hunk ./cabal/Distribution/PackageDescription/Check.hs 1339
23 repoTypeDirname Monotone   = ["_MTN"]
24 repoTypeDirname _          = []
25 
26- --- ------------------------------------------------------------
27- --- * Checks involving files in the package
28- --- ------------------------------------------------------------
29- -
30 -- | Check the names of all files in a package for portability problems. This
31 -- should be done for example when creating or validating a package tarball.
32 --
33[Add checkChangelogExists check
34Joachim Breitner <mail@joachim-breitner.de>**20110813212604
35 Ignore-this: 53610c2452018584720889f09d825e7
36 
37 This makes cabal check warn about a missing changelog if no commonly named
38 changelog file is found. Fixes #873.
39] {
40hunk ./cabal/Distribution/PackageDescription/Check.hs 1252
41   configureError  <- checkConfigureExists ops pkg
42   localPathErrors <- checkLocalPathsExist ops pkg
43   vcsLocation     <- checkMissingVcsInfo  ops pkg
44+  changeLogExists <- checkChangelogExists ops pkg
45 
46   return $ catMaybes [licenseError, setupError, configureError]
47         ++ localPathErrors
48hunk ./cabal/Distribution/PackageDescription/Check.hs 1257
49         ++ vcsLocation
50+        ++ changeLogExists
51 
52 checkLicenseExists :: Monad m => CheckPackageContentOps m
53                    -> PackageDescription
54hunk ./cabal/Distribution/PackageDescription/Check.hs 1341
55 repoTypeDirname Monotone   = ["_MTN"]
56 repoTypeDirname _          = []
57 
58+checkChangelogExists :: Monad m => CheckPackageContentOps m
59+                        -> PackageDescription
60+                        -> m [PackageCheck]
61+checkChangelogExists ops pkg = do
62+    hasChangelog <- liftM or $ mapM (doesFileExist ops) changelogFilenames
63+    if hasChangelog
64+      then return []
65+      else return [ PackageDistSuspicious message ]
66+  where
67+    changelogFilenames = [ "CHANGES", "ChangeLog", "changelog", "NEWS" ]
68+    message  = "Distributed packages should inform the user about the changes "
69+            ++ "in the various files. Please include a changelog file. The "
70+            ++ "suggest file name is \"CHANGES\"."
71+
72 -- | Check the names of all files in a package for portability problems. This
73 -- should be done for example when creating or validating a package tarball.
74 --
75}
76
77Context:
78
79[Relax cabal-install's deps for ghc-7.2
80Duncan Coutts <duncan@community.haskell.org>**20110812110846
81 Ignore-this: 1524732bffa5cc04e5d475ec4c4f12d8
82]
83[Fix the repo location
84Duncan Coutts <duncan@community.haskell.org>**20110812110820
85 Ignore-this: 1ed9152864fc3336c82495904b1e5612
86]
87[Improve the error message emitted when multiple .cabal files are found
88Duncan Coutts <duncan@community.haskell.org>**20110508223014
89 Ignore-this: 1c96d4f42fe55094f07b0573bb80fda1
90]
91[Add Safe Haskell flags to known extensions
92David Terei <davidterei@gmail.com>**20110810201543
93 Ignore-this: 9e0a42de1539e1a56d72f9a7ecdf554c
94]
95[Change trusted property to be true by default
96David Terei <davidterei@gmail.com>**20110808223228
97 Ignore-this: c46cf169c46b809cf457678f77e02b20
98]
99[Fix for intra-package build-tools dependencies
100Duncan Coutts <duncan@community.haskell.org>**20110808165045
101 Ignore-this: 83f148981c7d8d3c616027975ee8f59a
102]
103[Simplify some code in Program.Hpc slightly
104Duncan Coutts <duncan@community.haskell.org>**20110726001531
105 Ignore-this: d7ea77d1f072f7071fc709e0c9a38ded
106]
107[Added Distribution.Simple.Program.Hpc.
108Thomas Tuegel <ttuegel@gmail.com>**20110719004251
109 Ignore-this: a988f4262e4f52c8ae0a3ca5715a636e
110]
111[Restore graceful failure upon invoking "cabal test" before "cabal build".
112Thomas Tuegel <ttuegel@gmail.com>**20110719002218
113 Ignore-this: 2096a4cfad17eb67ef26bb15a8b3a066
114]
115[Fix executable test suite unit test for improved HPC interface.
116Thomas Tuegel <ttuegel@gmail.com>**20110718033150
117 Ignore-this: b543b01721940b23aac7bd46282425b1
118]
119[Generate aggregate coverage statistics from all test suites in package.
120Thomas Tuegel <ttuegel@gmail.com>**20110718050448
121 Ignore-this: bff5f3167ab61da015b8fcb7c4f77cdc
122]
123[Invoke HPC using D.S.Program utilities.
124Thomas Tuegel <ttuegel@gmail.com>**20110718045949
125 Ignore-this: 37e1f01f594dd522c5328b397ac0e94d
126 This patch also reorganizes the HPC output directories for consistency. All
127 files related to HPC are now located in the "dist/hpc" directory.
128]
129[Fix cabal haddock for packages with internal dependencies
130Duncan Coutts <duncan@community.haskell.org>**20110718235728
131 Ignore-this: 86cdab6325a86875e9ae592881b4f54f
132]
133[Update cabal sdist to follow the changes in the Cabal lib
134Duncan Coutts <duncan@community.haskell.org>**20110717223648
135 Ignore-this: 1136aa98cb024a10250ea75ec8633a2c
136]
137[Added unit test for test options.
138Thomas Tuegel <ttuegel@gmail.com>**20110521164529
139 Ignore-this: 3dc94c06cdfacf20cf000682370fbf3
140]
141[Fixed crash on Windows due to file handle leak.
142Thomas Tuegel <ttuegel@gmail.com>**20110518030422
143 Ignore-this: c94eb903aef9ffcf52394a821d245dda
144 Ticket #843. Cabal test crashed when trying to delete a temporary log file
145 because 'readFile' reads unnecessarily lazily and was keeping a file handle
146 open during attempted deletion. This patch forces the entire file to be read
147 so the handle will be closed.
148]
149[Stop cabal-install from duplicating test options.
150Thomas Tuegel <ttuegel@gmail.com>**20110521232047
151 Ignore-this: 55b98ab47306178e355cacedc7a5a6d2
152]
153[Fix use of multiple test options.
154Thomas Tuegel <ttuegel@gmail.com>**20110521223029
155 Ignore-this: c694ad21faab23abb7157ccec700ccf2
156]
157[Don't prefix test output with ">>>".
158Thomas Tuegel <ttuegel@gmail.com>**20110708035007
159 Ignore-this: a9d417eb836c641339a0203d1c36e82e
160 Ticket #848. Removing the prefix brings "cabal test" in line with other cabal
161 commands, which do not prefix their output, either. Prior to this patch, the
162 summary notices which appear before and after each test suite were written to
163 the temporary log file along with the stdio from the test executable; this would
164 lead to duplicate notices when the contents of the temporary log file are read
165 onto the console. After this patch, the summary notices are never written to the
166 temporary log file, only to the console and the final log file (which is never
167 read by Cabal), removing the confusing duplicate notices.
168]
169[Fail gracefully when running "setup test" before "setup build".
170Thomas Tuegel <ttuegel@gmail.com>**20110303164611
171 Ignore-this: a4d818cd7702ddbbbbffc8679abeb85d
172]
173[Bump cabal-install version
174Duncan Coutts <duncan@community.haskell.org>**20110708013248
175 Ignore-this: 16626faad564787fc5ae3808d1e6ccc9
176]
177[Bump Cabal lib version
178Duncan Coutts <duncan@community.haskell.org>**20110708013245
179 Ignore-this: e01c7efbb68856167c227ba118ddce33
180]
181[Couple of trivial code changes
182Duncan Coutts <duncan@community.haskell.org>**20110708013012
183 Ignore-this: b98aaac9e33f8c684cefedcd05d37ee2
184]
185[Fix withComponentsLBI and move Components to LocalBuildInfo module
186Duncan Coutts <duncan@community.haskell.org>**20110708012122
187 Ignore-this: 57217119f7825c9bcd3824a34ecd0c8f
188 An annoyance of the current Simple build system is that each phase
189 (build, install, etc) can be passed additional HookedBuildInfo which
190 gets merged into the PackageDescription. This means that we cannot
191 process the PackageDescription up front at configure time and just
192 store and reuse it later, we have to work from it each time afresh.
193 
194 The recent addition of Components (libs, exes, test suites) and a
195 topoligical sort of the components in the LocalBuildInfo fell foul
196 of this annoyance. The LocalBuildInfo stored the entire component
197 which meant they were not updated with the HookedBuildInfo. This
198 broke packages with custom Setup.hs scripts that took advantage of
199 the HookedBuildInfo feature, including those with configure scripts.
200 
201 The solution is to store not the list of whole components but the
202 list of component names. Then withComponentsLBI retrieves the actual
203 components from the PackageDescription which thus includes the
204 HookedBuildInfo.
205 
206 Also moved the Components into an internal module because (for the
207 moment at least) it is part of the Simple build system, not part of
208 the package description.
209]
210[Relax some dependencies
211Ian Lynagh <igloo@earth.li>**20110706192619
212 Ignore-this: 6353c1d64a2fff3cef3ca0d8a9f2e95e
213]
214[Add files needed by the GHC build system
215Ian Lynagh <igloo@earth.li>**20110624003654
216 Ignore-this: a40dd98104e994d1a1648c3ce2676a45
217]
218[Add a dash separator for pid in createTempDirectory and openBinaryTempFile too
219Jens Petersen <juhp@community.haskell.org>**20110519021658
220 Ignore-this: ee0c842388212326579309ac6f93408f
221]
222[Update changelog for 1.10.2.0
223Duncan Coutts <duncan@community.haskell.org>**20110618190748
224 Ignore-this: 64129f45dd16d2d93c82097530dc15d1
225]
226[TAG cabal-install merged
227Duncan Coutts <duncan@community.haskell.org>**20110619135228
228 Ignore-this: 58d670de46a24046d0b869dc2b88e13a
229 We now have both the Cabal library and the cabal-install tool
230 together in the same repo, each in a subdir.
231     
232 The idea is that this will make splitting packages and moving
233 code between package rather easier in future.
234]
235Patch bundle hash:
236b95b825517a7ee4245b11669148b095e20b8f11b
237-----BEGIN PGP SIGNATURE-----
238Version: GnuPG v1.4.11 (GNU/Linux)
239
240iEYEARECAAYFAk5G7K8ACgkQ9ijrk0dDIGwwBgCfaUU5LRkqS5ekOvQ5qL75U9EH
241Eu8AoIH/JXeIYj3/rXX8G04qpeA7ntkx
242=Lx7q
243-----END PGP SIGNATURE-----