Ticket #520: bug520.dpatch

File bug520.dpatch, 21.7 KB (added by nomeata, 3 years ago)
Line 
1Tue Dec  1 14:49:06 CET 2009  Joachim Breitner <mail@joachim-breitner.de>
2  * Use unicode characters in package dependencies (#520)
3-----BEGIN PGP SIGNED MESSAGE-----
4Hash: SHA1
5
6
7New patches:
8
9[Use unicode characters in package dependencies (#520)
10Joachim Breitner <mail@joachim-breitner.de>**20091201134906
11 Ignore-this: b2b2167509afe331aa51cd4b69c44069
12] {
13hunk ./PackagePage.hs 19
14 import Distribution.PackageDescription as P
15 import Distribution.Version    ( Version(Version), VersionRange(..),
16                                  withinRange )
17- -import Distribution.Text     ( display )
18+import Distribution.Text       ( display, disp )
19 import System.Directory                ( doesDirectoryExist )
20 import Text.XHtml              hiding ( p )
21hunk ./PackagePage.hs 22
22+import Text.PrettyPrint         ( (<+>), (<>) )
23+import qualified Text.PrettyPrint as Disp
24+
25 
26 import PublicFile
27 import Locations               ( cabalHomeURL, cabalLogoURL, pkgListURL, )
28hunk ./PackagePage.hs 239
29                anchor ! [href (packageURL (PackageIdentifier pname v))] <<
30                        display pname
31        showVers AnyVersion = noHtml
32- -     showVers vs' = toHtml (" (" ++ display vs' ++ ")")
33+       showVers vs' = toHtml (" (" ++ displayUnicode vs' ++ ")")
34        mb_vers = maybeLast $ filter (`withinRange` vs) $
35                Map.findWithDefault [] pname vmap
36 
37hunk ./PackagePage.hs 427
38 unionDisjunct xs ys = xs' ++ ys'
39   where ys' = [y | y <- ys, not (or [subConjunct y x | x <- xs])]
40        xs' = [x | x <- xs, not (or [subConjunct x y | y <- ys'])]
41+
42+-- A copy of the disp function from instance Text VersionRange, using unicode
43+-- characters
44+dispUnicode AnyVersion           = Disp.text "-any"
45+dispUnicode (ThisVersion    v)   = Disp.text "≡" <> disp v
46+dispUnicode (LaterVersion   v)   = Disp.char '>'  <> disp v
47+dispUnicode (EarlierVersion v)   = Disp.char '<'  <> disp v
48+dispUnicode (WildcardVersion v)  = Disp.text "≡" <> dispWild v
49+    where dispWild (Version b _) =
50+               Disp.hcat (Disp.punctuate (Disp.char '.') (map Disp.int b))
51+            <> Disp.text ".*"
52+dispUnicode (UnionVersionRanges (ThisVersion  v1) (LaterVersion v2))
53+    | v1 == v2 = Disp.text "≥" <> disp v1
54+dispUnicode (UnionVersionRanges (LaterVersion v2) (ThisVersion  v1))
55+    | v1 == v2 = Disp.text "≥" <> disp v1
56+dispUnicode (UnionVersionRanges (ThisVersion v1) (EarlierVersion v2))
57+    | v1 == v2 = Disp.text "≀" <> disp v1
58+dispUnicode (UnionVersionRanges (EarlierVersion v2) (ThisVersion v1))
59+    | v1 == v2 = Disp.text "≀" <> disp v1
60+dispUnicode (UnionVersionRanges r1 r2)
61+    = disp r1 <+> Disp.text "√" <+> disp r2
62+dispUnicode (IntersectVersionRanges r1 r2)
63+    = disp r1 <+> Disp.text "∧" <+> disp r2
64+
65+displayUnicode = Disp.renderStyle style . dispUnicode
66+  where style = Disp.Style {
67+          Disp.mode            = Disp.PageMode,
68+          Disp.lineLength      = 79,
69+          Disp.ribbonsPerLine  = 1.0
70+        }
71+
72hunk ./hackage-scripts.cabal 12
73 build-type:     Simple
74 build-depends:  base, Cabal >= 1.6, array, containers, directory, filepath,
75                 unix, process, bytestring, old-locale, old-time, network,
76- -                mtl, cgi, rss, parsedate, xhtml
77+                mtl, cgi, rss, parsedate, xhtml, pretty
78 extra-source-files:
79                 README post-upload-hook
80 
81}
82
83Context:
84
85[compile with -O
86Ross Paterson <ross@soi.city.ac.uk>**20090824150826
87 Ignore-this: 67ea1327df7bd8df059694d45a16dc0e
88]
89[tweak locations of distromaps
90Ross Paterson <ross@soi.city.ac.uk>**20090824150257
91 Ignore-this: d642276f3667e3a90065e57005089bd6
92]
93[fix haddock lexer (fixes #569)
94Ross Paterson <ross@soi.city.ac.uk>**20090801141552
95 Ignore-this: 561b885aea712bf59fedac5e0928740a
96]
97[handle WildcardVersion
98Ross Paterson <ross@soi.city.ac.uk>**20081225024413]
99[Mention splitDistroMap in README
100Joachim Breitner <mail@joachim-breitner.de>**20090822165007
101 Ignore-this: 4af14467aa9dc0267dde9b6b886de4dc
102]
103[Avoid compiler warnings in code added by me
104Joachim Breitner <mail@joachim-breitner.de>**20090822164654
105 Ignore-this: c144ce4997793fefc1bcfb006c21abca
106]
107[Add splitDistroMap to Makefile
108Joachim Breitner <mail@joachim-breitner.de>**20090822164644
109 Ignore-this: 11d7c96d0158487d03285cb6cb6a366
110]
111[Use the new per-package DistroInfo API in PackagePage
112Joachim Breitner <mail@joachim-breitner.de>**20090822164057
113 Ignore-this: 918119c885ae61604bbeb7e8806a5642
114]
115[Binary program to split the distro map
116Joachim Breitner <mail@joachim-breitner.de>**20090822163821
117 Ignore-this: 6c0d2733d78e772582f8a8f142ebbee4
118]
119[DistroInfo.splitDistroInfo
120Joachim Breitner <mail@joachim-breitner.de>**20090822163712
121 Ignore-this: 7340701ff507210abfe06cb3048d4935
122 
123 Add a function to DistroInfo to split the all-archive-distro-maps per package,
124 and write out short files per PackageName (not package+version) with only the
125 information for that package, to reduce parsing time.
126]
127[New function Util.unversionedPackageDir
128Joachim Breitner <mail@joachim-breitner.de>**20090822163609
129 Ignore-this: bf246d5c43642614884da3a26bbd001f
130 
131 This is like packageDir, but takes a PackageName instead of a PackageIdentifier
132 and thus returns the parent directory of packageDir. This new function is then
133 also used in packageDir.
134]
135[Implement DistroInfo
136Joachim Breitner <mail@joachim-breitner.de>**20090726132613
137 Ignore-this: 1e2fee85bbad474dc2eef2377e50a1e1
138]
139[Add a note in the README about the files
140Joachim Breitner <mail@joachim-breitner.de>**20090726131937
141 Ignore-this: 7d581e418b9c82a24d1367946ac81f50
142]
143[Set up DistroInfo module
144Joachim Breitner <mail@joachim-breitner.de>**20090726113015
145 Ignore-this: 4c4e6a6fe6fa5a9044363097b5005159
146]
147[show source repository
148Ross Paterson <ross@soi.city.ac.uk>**20090706170551
149 Ignore-this: 234c01bf707eaec9ac4efc8ca33ae7e6
150 
151 Only shows the development repo, and may be a bit simplistic.
152]
153[shorter package URL
154Ross Paterson <ross@soi.city.ac.uk>**20090611154034
155 Ignore-this: c812b49a1ca575e9c952d768860f3e2a
156]
157[canonicalize category links
158Ross Paterson <ross@soi.city.ac.uk>**20090611154013
159 Ignore-this: 4b320ba32d1aee8b92ca9c96e76bf112
160]
161[use display instead of show on license field
162Ross Paterson <ross@soi.city.ac.uk>**20090119134457]
163[explicit imports to avoid clash with Cabal-1.7
164Ross Paterson <ross@soi.city.ac.uk>**20081222124657]
165[add bug tracker link (#415)
166Ross Paterson <ross@soi.city.ac.uk>**20081126232839]
167[non-semantic changes to sync lexer and parser with versions in GHC
168Ross Paterson <ross@soi.city.ac.uk>**20081115170018]
169[update Haddock parser to 0.9 (fixes #406)
170Ross Paterson <ross@soi.city.ac.uk>**20081114235827]
171[record times in UTC
172Ross Paterson <ross@soi.city.ac.uk>**20081109151646]
173[show build failures and sucesses on different versions of GHC
174Ross Paterson <ross@soi.city.ac.uk>**20081109135425]
175[Read the .cabal file as UTF8 when unpacking (from Duncan Coutts)
176Ross Paterson <ross@soi.city.ac.uk>**20081101154633
177 Previously the upload check preview displayed incorrect encoding of
178 people's names and did not validate incorrect UTF8 encodings.
179]
180[use sparklines generated on an upload
181Ross Paterson <ross@soi.city.ac.uk>**20081024122101]
182[add graph to Recent additions page
183Ross Paterson <ross@soi.city.ac.uk>**20081024001245]
184[uniform layout whether or not haddock present, with italics for non-module nodes
185Ross Paterson <ross@soi.city.ac.uk>**20081014100238]
186[reformat the module list to look a bit more like Haddock's
187Ross Paterson <ross@soi.city.ac.uk>**20081014083632]
188[Render exposed modules as a nested list (#308)
189Ross Paterson <ross@soi.city.ac.uk>**20081014074946
190 
191 Written by Bas van Dijk.
192]
193[Marking packages deprecated
194Chry Cheng <chrycheng@gmail.com>**20080828145516
195 Fixes ticket no. 261 as discussed in its annotations.  Packages with "deprecated" "true" are excluded from the package list.  Packages with "superseded by" tags provide links to their superseding packages in the package page.
196]
197[Update deps to require Cabal-1.6
198Duncan Coutts <duncan@haskell.org>**20081011002506]
199[Update install procedure to install the preferred-versions
200Duncan Coutts <duncan@haskell.org>**20081010000322]
201[Add the initial preferred-versions list
202Duncan Coutts <duncan@haskell.org>**20081010000306]
203[Add the preferred-versions file into the 00-index.tar.gz file
204Duncan Coutts <duncan@haskell.org>**20081009235419
205 Old clients should ignore it.
206]
207[update files using mv to avoid corruption
208Ross Paterson <ross@soi.city.ac.uk>**20080907114910]
209[put synopsis in header, show version in context
210Ross Paterson <ross@soi.city.ac.uk>**20080905162925]
211[fix warning
212Ross Paterson <ross@soi.city.ac.uk>**20080905162858]
213[eliminate redundant dependencies
214Ross Paterson <ross@soi.city.ac.uk>**20080902001615]
215[update for Cabal 1.5
216Ross Paterson <ross@soi.city.ac.uk>**20080827020703]
217[use "none" for unmaintained packages
218Ross Paterson <ross@soi.city.ac.uk>**20080723224421]
219[add Hayoo to menu bar
220Ross Paterson <ross@soi.city.ac.uk>**20080723214433]
221[use a single methods to get the package info for display
222Ross Paterson <ross@soi.city.ac.uk>**20080628231737]
223[don't build index asynchronously
224Ross Paterson <ross@soi.city.ac.uk>**20080628231704]
225[flag null maintainer field on package page
226Ross Paterson <ross@soi.city.ac.uk>**20080628231424]
227[use non-versioned links in the package index (#271, #278)
228Ross Paterson <ross@soi.city.ac.uk>**20080510234607]
229[if a package has built, ignore any failures
230Ross Paterson <ross@soi.city.ac.uk>**20080425154935]
231[track changes to checkPackage
232Ross Paterson <ross@soi.city.ac.uk>**20080424003335]
233[add a meta tag declaring the charset as ISO-8859-1, as that's what Text.XHtml generates
234Ross Paterson <ross@soi.city.ac.uk>**20080328154601]
235[make parse warnings fatal
236Ross Paterson <ross@soi.city.ac.uk>**20080328121040]
237[update to Cabal 1.3.9
238Ross Paterson <ross@soi.city.ac.uk>**20080328120711]
239[disallow updating an existing package
240Ross Paterson <ross@soi.city.ac.uk>**20080328120600]
241[generate 00-index.tar.gz asynchronously
242Ross Paterson <ross@soi.city.ac.uk>**20080302105639]
243[prune the search for cabal files to make it go faster
244Ross Paterson <ross@soi.city.ac.uk>**20080302105432]
245[add small latest-versions lister
246Ross Paterson <ross@soi.city.ac.uk>**20080221134229]
247[use absolute filenames when looking for packages
248Ross Paterson <ross@soi.city.ac.uk>**20080221124040]
249[longer label on the search button
250Ross Paterson <ross@soi.city.ac.uk>**20080221123956]
251[simple implementation of tags, starting with upload info
252Ross Paterson <ross@soi.city.ac.uk>**20080216021131]
253[swap arguments to extraChecks
254Ross Paterson <ross@soi.city.ac.uk>**20080214182808]
255[fix warning
256Ross Paterson <ross@soi.city.ac.uk>**20080214182753]
257[Update to latest Cabal lib API and use new package checking code
258Duncan Coutts <duncan@haskell.org>**20080213201347
259 Compiles but otherwise totally untested.
260]
261[remove private copies of functions now in ghc 6.8
262Ross Paterson <ross@soi.city.ac.uk>**20080212011430]
263[introduce PublicFile for files visible through the web
264Ross Paterson <ross@soi.city.ac.uk>**20080212005643]
265[refactoring of upload and check scripts
266Ross Paterson <ross@soi.city.ac.uk>**20080211131109]
267[unpack the whole directory, not just the .cabal file
268Ross Paterson <ross@soi.city.ac.uk>**20080211131009]
269[add a Google search box to the package list page
270Ross Paterson <ross@soi.city.ac.uk>**20080203021954]
271[swap depends-on and required-by maps
272Ross Paterson <ross@soi.city.ac.uk>**20080202012507]
273[list successful and unsuccessful builds, with logs
274Ross Paterson <ross@soi.city.ac.uk>**20080126013443]
275[blacklist Application, Tool and Type categories
276Ross Paterson <ross@soi.city.ac.uk>**20071213074800]
277[add author
278Ross Paterson <ross@soi.city.ac.uk>**20071213074632]
279[correct and simplify the library and programs test
280Ross Paterson <ross@soi.city.ac.uk>**20071210104009]
281[capitalize category names
282Ross Paterson <ross@soi.city.ac.uk>**20071130143321]
283[merge category names that differ only in case
284Ross Paterson <ross@soi.city.ac.uk>**20071130142342]
285[render equality constraints concisely
286Ross Paterson <ross@soi.city.ac.uk>**20071128005652]
287[ignore case when sorting lists of dependent packages
288Ross Paterson <ross@soi.city.ac.uk>**20071120123549]
289[display dependencies in disjunctive normal form
290Ross Paterson <ross@soi.city.ac.uk>**20071024225216]
291[Oops, need the flattened package description to get exposed modules and executables
292Ross Paterson <ross@soi.city.ac.uk>**20071024070848]
293[use GenericPackageDescription instead of PackageDescription
294Ross Paterson <ross@soi.city.ac.uk>**20071024064933]
295[now need Cabal >= 1.2.1
296Ross Paterson <ross@soi.city.ac.uk>**20071021155643]
297[update for Cabal 1.2.1
298Ross Paterson <ross@soi.city.ac.uk>**20071021155322]
299[cabal packaging (based on work of Trevor Elliott)
300Ross Paterson <ross@soi.city.ac.uk>**20071019124210]
301[also install search
302Ross Paterson <ross@soi.city.ac.uk>**20070909185526]
303[Added search functionality (by Sascha Böhme), but not yet in main menu
304Ross Paterson <ross@soi.city.ac.uk>**20070909140603]
305[update for Cabal-1.2
306Ross Paterson <ross@soi.city.ac.uk>**20070907234506]
307[ensure the package list contains latest versions, plus some refacting
308Ross Paterson <ross@soi.city.ac.uk>**20070723204248]
309[add link to build log to package page
310Ross Paterson <ross@soi.city.ac.uk>**20070720124702]
311[minor build updates
312Ross Paterson <ross@soi.city.ac.uk>**20070617213315]
313[fix rendering of identifiers
314Ross Paterson <ross@soi.city.ac.uk>**20070617213249]
315[add missing file
316Ross Paterson <ross@soi.city.ac.uk>**20070530140019]
317[bugfix for previous commit
318Ross Paterson <ross@soi.city.ac.uk>**20070510142803]
319[fix error in building index
320Ross Paterson <ross@soi.city.ac.uk>**20070508165611]
321[include a package in the list only if it has a Cabal file
322Ross Paterson <ross@soi.city.ac.uk>**20070506180938]
323[change the directory layout of the HackageDB data
324Ross Paterson <ross@soi.city.ac.uk>**20070506151844
325 
326 Put version in a separate directory (to simplify future expansion).
327 This will not affect users of the web interface, but will be a breaking
328 change for those who reference the files directly, notably cabal-install.
329 
330 Here's how the positions of the files of the binary package change
331 (-> denotes a symbolic link):
332 
333 Old layout                              New layout
334 --------------------------------------------------------------------
335 binary/binary-0.2.cabal                 binary/0.2/binary.cabal
336 binary/binary-0.2.tar.gz                binary/0.2/binary-0.2.tar.gz
337 binary/binary-0.2.misc/doc/html/        binary/0.2/doc/html/
338 binary/binary-0.3.cabal                 binary/0.3/binary.cabal
339 binary/binary-0.3.tar.gz                binary/0.3/binary-0.3.tar.gz
340 binary/binary-0.3.misc/doc/html/        binary/0.3/doc/html/
341 binary/latest.misc -> binary-0.3.misc   binary/latest -> 0.3
342]
343[catch "Unclassified" category
344Ross Paterson <ross@soi.city.ac.uk>**20070307011355]
345[use local copy of Cabal logo
346Ross Paterson <ross@soi.city.ac.uk>**20070225125801]
347[make "recent additions" a generated page instead of a CGI script
348Ross Paterson <ross@soi.city.ac.uk>**20070220235702]
349[tweaks to package list
350Ross Paterson <ross@soi.city.ac.uk>**20070220235601]
351[generate RSS feed of recent updates
352Ross Paterson <ross@soi.city.ac.uk>**20070214185538]
353[bug fix: show preview even if no warnings
354Ross Paterson <ross@soi.city.ac.uk>**20070213180708]
355[check-pkg also returns plain text if requested
356Ross Paterson <ross@soi.city.ac.uk>**20070213001039]
357[for plain text clients, return only the warnings
358Ross Paterson <ross@soi.city.ac.uk>**20070211171633]
359[use CGI type synonym
360Ross Paterson <ross@soi.city.ac.uk>**20070210152353]
361[refactor pkgBody arguments as a record
362Ross Paterson <ross@soi.city.ac.uk>**20070208194243]
363[strip executables
364Ross Paterson <ross@soi.city.ac.uk>**20070207233429]
365[mark property table
366Ross Paterson <ross@soi.city.ac.uk>**20070207233402]
367[point to accounts page
368Ross Paterson <ross@soi.city.ac.uk>**20070207230638]
369[install upload-pkg in the correct place
370Ross Paterson <ross@soi.city.ac.uk>**20070206001525]
371[new location <pkgid>.misc/doc for docs
372Ross Paterson <ross@soi.city.ac.uk>**20070205004623]
373[versioned haddock documentation
374Ross Paterson <ross@soi.city.ac.uk>**20070203202526]
375[if PACKAGE/doc/html exists, module names are links into it
376Ross Paterson <ross@soi.city.ac.uk>**20070203170215
377 (Generation of haddock documentation is not yet automated, though)
378]
379[minor refactoring
380Ross Paterson <ross@soi.city.ac.uk>**20070202121300]
381[change package links from pkg/vers to pkg-vers
382Ross Paterson <ross@soi.city.ac.uk>**20070201143905]
383[package-ids are unambiguous
384Ross Paterson <ross@soi.city.ac.uk>**20070201132112]
385[allow version tags (they seem harmless)
386Ross Paterson <ross@soi.city.ac.uk>**20070201131251]
387[trim long synopses in package list
388Ross Paterson <ross@soi.city.ac.uk>**20070201100052]
389[tag category list
390Ross Paterson <ross@soi.city.ac.uk>**20070131121652]
391[some re-arrangement
392Ross Paterson <ross@soi.city.ac.uk>**20070131003654]
393[add category index to package list
394Ross Paterson <ross@soi.city.ac.uk>**20070130180021]
395[tweak Cabal logo
396Ross Paterson <ross@soi.city.ac.uk>**20070129130941]
397[add Cabal branding to package page
398Ross Paterson <ross@soi.city.ac.uk>**20070129122133]
399[mark package lists with an element class
400Ross Paterson <ross@soi.city.ac.uk>**20070129092724]
401[revert to textual indication of package type
402Ross Paterson <ross@soi.city.ac.uk>**20070129080416]
403[cleanup
404Ross Paterson <ross@soi.city.ac.uk>**20070129025127]
405[more compact presentation of package list
406Ross Paterson <ross@soi.city.ac.uk>**20070129021339]
407[show other versions on package page
408Ross Paterson <ross@soi.city.ac.uk>**20070129020229]
409[move cabalFile to Util
410Ross Paterson <ross@soi.city.ac.uk>**20070129014325]
411[pkg-list: only read the most recent Cabal file for each package
412Ross Paterson <ross@soi.city.ac.uk>**20070129012719]
413[trim unused functions
414Ross Paterson <ross@soi.city.ac.uk>**20070129012355]
415[add export lists for Main modules
416Ross Paterson <ross@soi.city.ac.uk>**20070129012315]
417[fix dependency
418Ross Paterson <ross@soi.city.ac.uk>**20070129005924]
419[refactoring of version search
420Ross Paterson <ross@soi.city.ac.uk>**20070129005845]
421[switch to Text.XHtml
422Ross Paterson <ross@soi.city.ac.uk>**20070129001802]
423[more graceful error on missing package
424Ross Paterson <ross@soi.city.ac.uk>**20070127171227]
425[minor simplification
426Ross Paterson <ross@soi.city.ac.uk>**20070127164406]
427[minor refactoring
428Ross Paterson <ross@soi.city.ac.uk>**20070127143750]
429[shuffle stuff between modules
430Ross Paterson <ross@soi.city.ac.uk>**20070127142603]
431[change install to scp + mv
432Ross Paterson <ross@soi.city.ac.uk>**20070127131030]
433[reword check output
434Ross Paterson <ross@soi.city.ac.uk>**20070127130746]
435[add upload.html
436Ross Paterson <ross@soi.city.ac.uk>**20070126210510]
437[re-order things on package page
438Ross Paterson <ross@soi.city.ac.uk>**20070126204017]
439[minor refactoring
440Ross Paterson <ross@soi.city.ac.uk>**20070126202141]
441[tabulate fields
442Ross Paterson <ross@soi.city.ac.uk>**20070126201050]
443[remove superfluous thehtml
444Ross Paterson <ross@soi.city.ac.uk>**20070126174820]
445[ensure that showPackageId produces the original pkg-id
446Ross Paterson <ross@soi.city.ac.uk>**20070126150901
447 
448 Rule out version numbers like "1.00" -> [1,0] -> "1.0".  These ought to be
449 rejected by the parser.
450]
451[add boilerplate header to each page
452Ross Paterson <ross@soi.city.ac.uk>**20070126143901]
453[remove old form-based parameters to package script
454Ross Paterson <ross@soi.city.ac.uk>**20070126115030]
455[tweak category headings
456Ross Paterson <ross@soi.city.ac.uk>**20070126112054]
457[make package URLs a bit shorter
458Ross Paterson <ross@soi.city.ac.uk>**20070125105147
459 
460 * remove .cgi from CGI scripts in cgi-bin
461 
462 * use PATHINFO instead of form data to identify packages.
463 
464 So now its .../package/<pkg>/<version> or just .../package/<pkg>
465]
466[some refactoring
467Ross Paterson <ross@soi.city.ac.uk>**20070118102430]
468[append a preview of the package page to the check-pkg output
469Ross Paterson <ross@soi.city.ac.uk>**20070118003003]
470[add a README file with overview and install instructions
471Ross Paterson <ross@soi.city.ac.uk>**20070116153445]
472[clean up locations a bit
473Ross Paterson <ross@soi.city.ac.uk>**20070116123020]
474[parse and markup package descriptions with code stolen from Haddock
475Ross Paterson <ross@soi.city.ac.uk>**20070116105520]
476[temporarily downgrade repeated-upload check to a warning
477Ross Paterson <ross@soi.city.ac.uk>**20070116073009
478 
479 The check seems like a good idea in the longer term, but
480 It's a bit cumbersome while we're all still experimenting.
481]
482[more compact log lines
483Ross Paterson <ross@soi.city.ac.uk>**20070113010328]
484[fix previous commit
485Ross Paterson <ross@soi.city.ac.uk>**20070112155632]
486[use errorOutput for error cases
487Ross Paterson <ross@soi.city.ac.uk>**20070112151251]
488[basename: strip to slash or backslash (which IE includes in filenames)
489Ross Paterson <ross@soi.city.ac.uk>**20070112143846]
490[use a different tmp directory for each process
491Ross Paterson <ross@soi.city.ac.uk>**20070111010943]
492[don't accept "Foreign binding" as a category
493Ross Paterson <ross@soi.city.ac.uk>**20070110233221]
494[fix stylesheet location
495Ross Paterson <ross@soi.city.ac.uk>**20070110182307]
496[change locations to match install on hackage.haskell.org
497Ross Paterson <ross@soi.city.ac.uk>**20070110170036]
498[repair post-upload-hook
499Ross Paterson <ross@soi.city.ac.uk>**20070109224215]
500[fallback for category: top-level of module hierarchy
501Ross Paterson <ross@soi.city.ac.uk>**20070109224115]
502[initial import
503Ross Paterson <ross@soi.city.ac.uk>**20070109004703
504 
505 This is a crude first cut at an interface to the Hackage package database:
506 * generating a package list (pkg-list)
507 * page describing a package (package.cgi)
508 * apply basic checks to a Cabal package (check-pkg.cgi)
509 * upload a Cabal package to the database (upload-pkg.cgi)
510]
511Patch bundle hash:
51200677be040db4bf86d23bf97ec0c54e6ac6b2d80
513-----BEGIN PGP SIGNATURE-----
514Version: GnuPG v1.4.10 (GNU/Linux)
515
516iEYEARECAAYFAksVHuoACgkQ9ijrk0dDIGxWjgCeIqiScCX8NO5bmKnUiH6c6p8/
517DtEAmwcsNkbrVMBshoVxzI1BE1JRI724
518=G8KT
519-----END PGP SIGNATURE-----