[magnus@therning.org: Some patches for cabal2arch]
Does anyone have a policy document they can point to for the following: "No package should ever be listed in both depends and makedepends." Cheers, Don ----- Forwarded message from Magnus Therning <magnus@therning.org> ----- Date: Thu, 04 Jun 2009 22:50:00 +0100 From: Magnus Therning <magnus@therning.org> To: Don Stewart <dons@galois.com> Subject: Some patches for cabal2arch Enjoy. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe Sat May 30 10:13:23 BST 2009 magnus@therning.org * Replacing all occurances of $startdir/{pkg,src} $startdir should never be used in PKGBUILD, instead $pkgdir and $srcdir should be used instead. Apparently there is no guarantee that $startdir/{pkg,src}==${pkg,src}dir. Sat May 30 10:33:51 BST 2009 magnus@therning.org * Use Control.OldException explicitly Thu Jun 4 22:42:14 BST 2009 magnus@therning.org * Clean up depends/makedepends No package should ever be listed in both depends and makedepends. For packages with only executables: makedepends = buildDepends depends = ['gmp'] ++ clibs For packages with only libs: makedepends = [] depends = buildDepends For packages with both executables and libs: makedepends = [] depends = buildDepends ++ ['gmp'] ++ clibs New patches: [Replacing all occurances of $startdir/{pkg,src} magnus@therning.org**20090530091323 Ignore-this: aa69185376663346b3710c7a80a8d388 $startdir should never be used in PKGBUILD, instead $pkgdir and $srcdir should be used instead. Apparently there is no guarantee that $startdir/{pkg,src}==${pkg,src}dir. ] { hunk ./Main.hs 525 ++ (display name </> display vers </> display name <-> display vers <.> "tar.gz") , arch_build = - [ "cd $startdir/src/" </> display name <-> display vers + [ "cd ${srcdir}/" </> display name <-> display vers , "runhaskell Setup configure --prefix=/usr || return 1" , "runhaskell Setup build || return 1" ] ++ hunk ./Main.hs 535 then ["runhaskell Setup register --gen-script || return 1" ,"runhaskell Setup unregister --gen-script || return 1" - ,"install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh" - , "install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh" + ,"install -D -m744 register.sh ${pkgdir}/usr/share/haskell/$pkgname/register.sh" + , "install -m744 unregister.sh ${pkgdir}/usr/share/haskell/$pkgname/unregister.sh" ] else []) ++ hunk ./Main.hs 540 - ["runhaskell Setup copy --destdir=$startdir/pkg || return 1"] + ["runhaskell Setup copy --destdir=${pkgdir} || return 1"] ++ (if not (null (licenseFile cabal)) && license cabal `notElem` [GPL,LGPL] then ["install -D -m644 " ++ licenseFile cabal ++ hunk ./Main.hs 544 - " $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1" ] + " ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1" ] else []) -- if its a library: } [Use Control.OldException explicitly magnus@therning.org**20090530093351 Ignore-this: 89ac5a923e7bb3d072adc8f39bfad4c9 ] { hunk ./Main.hs 41 import Control.Monad import Control.Concurrent -import Control.Exception -import qualified Control.Exception as C +import qualified Control.OldException as C import Data.List import Data.Maybe hunk ./Main.hs 64 main :: IO () main = - bracket + C.bracket -- We do all our work in a temp directory (do cwd <- getCurrentDirectory etmp <- myReadProcess "mktemp" ["-d"] [] hunk ./Main.hs 868 -- Safe wrapper for getEnv getEnvMaybe :: String -> IO (Maybe String) -getEnvMaybe name = handle (const $ return Nothing) (Just `fmap` getEnv name) +getEnvMaybe name = C.handle (const $ return Nothing) (Just `fmap` getEnv name) ------------------------------------------------------------------------ hunk ./cabal2arch.cabal 23 if flag(small_base) build-depends: - base < 4, + base, pretty, process, directory, } [Clean up depends/makedepends magnus@therning.org**20090604214214 Ignore-this: 3781e18ed593d5b31a927b22e8755168 No package should ever be listed in both depends and makedepends. For packages with only executables: makedepends = buildDepends depends = ['gmp'] ++ clibs For packages with only libs: makedepends = [] depends = buildDepends For packages with both executables and libs: makedepends = [] depends = buildDepends ++ ['gmp'] ++ clibs ] hunk ./Main.hs 500 -- All Hackage packages depend on GHC at build time -- All Haskell libraries are prefixed with "haskell-" - , arch_makedepends = my_makedepends + , arch_makedepends = if hasLibrary + then ArchList [] + else my_makedepends , arch_depends = (if not (isLibrary) Context: [Update versions for 6.10.2 Don Stewart <dons@galois.com>**20090503220339 Ignore-this: 9c7065402eb4b0fa40cb98d78257b1e8 ] [Don't die on meta packages Don Stewart <dons@galois.com>**20090503220326 Ignore-this: 865718094cb482a99e6d218eaffe8bca ] [bump Don Stewart <dons@galois.com>**20090120060802] [more stuff Don Stewart <dons@galois.com>**20090118204158] [tweaks Don Stewart <dons@galois.com>**20090115012123] [Update list to match ghc 6.10 Don Stewart <dons@galois.com>**20090115012027] [Fix type errors Don Stewart <dons@galois.com>**20081211003027 Ignore-this: b04864e1a4ef3f82d14d84a36f8159d9 ] [Bump Don Stewart <dons@galois.com>**20081211002459 Ignore-this: 68ee33c3a389cd2b4be843078c2a2363 ] [Changes for compatability with Cabal>=1.6 Asgaroth <asgaroth_@gmx.de>**20081210181517] [Bump Don Stewart <dons@galois.com>**20080912223231] [Typo correction in String Constant Matthew William Cox <matt@mattcox.ca>**20080824050628] [more notes Don Stewart <dons@galois.com>**20080819003802] [require cabal > 1.4.0.0 Don Stewart <dons@galois.com>**20080816214330] [typo Don Stewart <dons@galois.com>**20080809221828] [typo Don Stewart <dons@galois.com>**20080809221819] [Add Cabal as always required Don Stewart <dons@galois.com>**20080809221600] [libraries have a "runtime" dep on other libraires Don Stewart <dons@galois.com>**20080731043213] [more tewaks Don Stewart <dons@galois.com>**20080710232737] [bump Don Stewart <dons@galois.com>**20080704172433] [more apps Don Stewart <dons@galois.com>**20080704172421] [Add mozembed Don Stewart <dons@galois.com>**20080624224843] [more stuf Don Stewart <dons@galois.com>**20080622182333] [Add C dependencies support Don Stewart <dons@galois.com>**20080621231902] [more stuff Don Stewart <dons@galois.com>**20080621192207] [more stuff Don Stewart <dons@galois.com>**20080619214200] [bump Don Stewart <dons@galois.com>**20080619154829] [bump version Don Stewart <dons@galois.com>**20080619005235] [more libs Don Stewart <dons@galois.com>**20080619005042] [titles, fftw Don Stewart <dons@galois.com>**20080619001858] [nub Don Stewart <dons@galois.com>**20080618055140] [more stuff Don Stewart <dons@galois.com>**20080618014217] [incorrect bump Don Stewart <dons@galois.com>**20080618002208] [more libraries Don Stewart <dons@galois.com>**20080618001954] [Handle missing LICENSE files Don Stewart <dons@galois.com>**20080617214806] [fix bug with quoting in pkgdesc. Don Stewart <dons@galois.com>**20080617210705] [more libs Don Stewart <dons@galois.com>**20080617001133] [more libs, new env var Don Stewart <dons@galois.com>**20080616215343] [bump version Don Stewart <dons@galois.com>**20080616180921] [add gtk2hs support Don Stewart <dons@galois.com>**20080616180845] [Enough to build 250 libraries Don Stewart <dons@galois.com>**20080616075512] [Add more rules for C libraries Don Stewart <dons@galois.com>**20080616013917] [some more libraries Don Stewart <dons@galois.com>**20080616001949] [depend on new puremd5 Don Stewart <dons@galois.com>**20080613235859] [Determine canonical name for C libraries Don Stewart <dons@galois.com>**20080613211325] [always use hackage url Don Stewart <dons@galois.com>**20080613053013] [0.3.1 Don Stewart <dons@galois.com>**20080613045331] [depend on stable pureMD5 Don Stewart <dons@galois.com>**20080613045238] [add missing libraries and bump version Don Stewart <dons@galois.com>**20080613041415] [bump version Don Stewart <dons@galois.com>**20080613010106] [lowercase Don Stewart <dons@galois.com>**20080613000828] [typo Don Stewart <dons@galois.com>**20080613000354] [tweaks Don Stewart <dons@galois.com>**20080613000100] [Bump version, now produces valid libraries Don Stewart <dons@galois.com>**20080612232452] [Finish off beta version Don Stewart <dons@galois.com>**20080612224944] [more notes Don Stewart <dons@galois.com>**20080612063850] [add build() generation and correct version dep printing Don Stewart <dons@galois.com>**20080612043420] [Initial stab at cabal2arch Don Stewart <dons@galois.com>**20080612012022] Patch bundle hash: 60a5d14760663bdbbf06e3616119f857ed3a768f ----- End forwarded message -----
On Thu, 18 Jun 2009 14:41:31 -0700 Don Stewart <dons@galois.com> wrote:
Does anyone have a policy document they can point to for the following:
"No package should ever be listed in both depends and makedepends."
Cheers, Don
There is a message on the arch-general list in which a developer (Allan) confirms this when asked for clarification: http://www.mail-archive.com/arch-general@archlinux.org/msg05439.html Although not stated in those words, the explanations of "depends" and "makedepends" in the PKGBUILD man page and in the following wiki articles make it clear that the two are mutually exclusive: http://wiki.archlinux.org/index.php/The_Arch_package_making_HOW-TO_-_with_gu... http://wiki.archlinux.org/index.php/Building_Packages_in_Arch_Linux Regards, Xyne
participants (2)
-
Don Stewart -
Xyne