Re: [Haskell-cafe] Re: Cabal's default install location
Victor Nazarov asviraspossi...@gmail.com writes: This tradition of global and /usr/local for ./configure scripts is ok, but for a convenient package manager it's not necessarily ideal. Well, the system package manager uses /usr. But for locally compiled software, I don't see any good alternative to /usr/local. It is certainly what I'd expect, based on most other build systems I've used. Also, it's the default location for some non-cabalized packages. Ubuntu/Debian policy seems to be installation into /var/lib/cabal . Since when? I have a ton of stuff installed via apt-get, and I don't even have this directory. The policy is that everything from the repositories (i.e. .deb packages) get installed under /usr. So it's clear that the whole hierarchy is managed by single tool cabal. Drawback is that you should add /var/lib/cabal/bin into your PATH. Some systems used /opt in more or less this way. -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Apr 29, 2009, at 04:29 , Ketil Malde wrote: Victor Nazarov asviraspossi...@gmail.com writes: Ubuntu/Debian policy seems to be installation into /var/lib/cabal . Since when? I have a ton of stuff installed via apt-get, and I don't Context suggests he means global installation via Cabal, not apt-get. cabal. Drawback is that you should add /var/lib/cabal/bin into your PATH. Some systems used /opt in more or less this way. And still do (Solaris, Mac OS X). -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH PGP.sig Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal's default install location
Richard O'Keefe o...@cs.otago.ac.nz wrote: I have never thought, stated, or implied, that only people without superuser access count! It's just that I and for that matter, the sysadmin I talk to most are heartily fed up with the assumption that everyone is a sysadmin. Yes, but I thought you implied exactly that, because I thought you were asking Are the ten people not having root access even worth the bother?. I didn't _mean_ to imply it, either, I _assumed_ you did, because, frankly, I would have written the same question in a way that wouldn't have me made that assumption. Not looking at your name before replying did the rest. Truth is a three-edged sword, and misunderstandings are great fun. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal's default install location
Edward Middleton emiddle...@bebear.net wrote: Could you add this[1] link too, because it highlights the problem with user installs[1]. i.e. you either have to have root access to install the dependencies, or install non-haskell dependencies in your home directory. Edward 1. http://haskell.org/pipermail/haskell-cafe/2009-April/060441.html I really, really don't think messed up global installs are an issue that cabal should worry about. A messed up OpenGL is more than enough reason to bug your admin, and a missing, say, libXML, is a thing you either have to deal with yourself or find a well-disposed admin. In any case, the cost of installing/fixing the install greatly outweights the --user/--global issue. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal's default install location
[Moved from the UHC thread – lets stop treading on those guys toes, they did something very very shiny] On 23 Apr 2009, at 07:02, Richard O'Keefe wrote: It's irrelevant, because I _do_ have root access to my machine, How nice to be you. Since the argument is entirely about people who _don't_, your point it? His point is that that kind of person is not the only kind of person, so to base an argument on what they want is as weak as basing an argument on what he wants. It is clear that the only sensible default is no default. That sounds pretty sensible to me too – much like darcs asks what your email address is the first time you work on a repository, cabal should probably ask the first time you run it do you prefer global or user installs? I think the right question is how many people prefer user installs over system installs, wrt. their hackage packages?. No, because the costs are asymmetric. I think this is a case of not seeing the costs to the other users because you're firmly entrenched in your camp. I would have said originally that the costs are asymmetric too – but that it's a much greater cost for the people who expect all installers to do global installs. So I think that the question asked there is a very valid one. However, I do like the solution of not giving any default. Bob___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
The results in the poll seem to have stabilised now, so I'll tell you what happened... For user installs: 103 For global installs: 52 Others: 9 Interesting Ideas: • Claus made the suggestion that there be no default, instead that cabal asks you which you prefer the first time you run, or directs you to the configuration file. • Many users made the suggestion that cabal should install globally when running as root, and for a user when running as a user, possibly also displaying a prominent message about what's going on. Conclusions: -- Most people do indeed want user installs, but a very much not insignificant population want global installs. Perhaps one of these other suggestions is the way forward? Bob p.s. I personally very much like Claus' idea.___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
Thanks for all that. Some good suggestions. I've linked the results in the ticket on this issue so someone can re-read all the suggestions in detail when they come to update the behaviour (hopefully for 0.6.4 or something). http://hackage.haskell.org/trac/hackage/ticket/289#comment:17 Duncan On Thu, 2009-04-23 at 09:48 +0200, Thomas Davie wrote: The results in the poll seem to have stabilised now, so I'll tell you what happened... For user installs: 103 For global installs: 52 Others: 9 Interesting Ideas: • Claus made the suggestion that there be no default, instead that cabal asks you which you prefer the first time you run, or directs you to the configuration file. • Many users made the suggestion that cabal should install globally when running as root, and for a user when running as a user, possibly also displaying a prominent message about what's going on. Conclusions: -- Most people do indeed want user installs, but a very much not insignificant population want global installs. Perhaps one of these other suggestions is the way forward? Bob p.s. I personally very much like Claus' idea. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
Duncan Coutts wrote: Thanks for all that. Some good suggestions. I've linked the results in the ticket on this issue so someone can re-read all the suggestions in detail when they come to update the behaviour (hopefully for 0.6.4 or something). http://hackage.haskell.org/trac/hackage/ticket/289#comment:17 Could you add this[1] link too, because it highlights the problem with user installs[1]. i.e. you either have to have root access to install the dependencies, or install non-haskell dependencies in your home directory. Edward 1. http://haskell.org/pipermail/haskell-cafe/2009-April/060441.html ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal's default install location
On 23 Apr 2009, at 7:39 pm, Thomas Davie wrote: His point is that that kind of person is not the only kind of person, so to base an argument on what they want is as weak as basing an argument on what he wants. But that is PRECISELY what I am arguing. I'm arguing that people-who-have-superuser-access are not the only kind of person, so that basing decisions on what is convenient for them ONLY is wrong. I have never thought, stated, or implied, that only people without superuser access count! It's just that I and for that matter, the sysadmin I talk to most are heartily fed up with the assumption that everyone is a sysadmin. I note that someone mentioned the Nix package manager in this thread. Reading the comments on that article opened my eyes: /usr/local is far less of a standard installation directory than I had ever supposed. So it is clear that people who DO have superuser access and DO want to install stuff in system areas will quite often need to put it elsewhere than /usr/local. (Case in point: the GHC 6.10.2 binary release for MacOS X expecting to find stuff installed in /opt/local/lib .) No, because the costs are asymmetric. I think this is a case of not seeing the costs to the other users because you're firmly entrenched in your camp. You are mistaken. The cost to users who expect global installs is *tiny*: run cabal without ever saying where you want things to go, and you get a *one time* prompt telling you that you have to set that up. The cool thing about this is that users who DO want global installs but want them in /opt/local or /opt/GHC instead of /usr/local pay the same one time price, and users who want an installation in directories they control is the same one time setup. That's the cost I would impose. It's tiny. The present system imposes very high costs to people who cannot do 'global' installs at all or who want /opt/something instead of /usr/local. By the way, the term 'global' is unfortunate. It is possible for a site to set up a Haskell aministrator who has full access to a publicly readable set of directories but who neither has nor needs any kind of superuser access. That's pretty much the setup I have on my SPARC: there's a /users/local directory that I have complete control over, but it's visible to anyone who wants it. By me, that's as global as anyone needs, but it's NOT in system space. I would have said originally that the costs are asymmetric too – but that it's a much greater cost for the people who expect all installers to do global installs. Can you please explain this a little more? Why is being prompted for a location a much greater cost than (for example) not being able to install at all, or having to rebuild from sources? While we're at it, I finally tracked down why ghc 6.6 didn't work on my SPARC. At least I think I did. There is a difference between there is a version of gcc that I can see and run and compile simple test files with and there is a version of gcc that understands all the version X.Y command line arguments.. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Wed, 2009-04-22 at 11:33 +0200, david48 wrote: The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, Where you choose to install ghc is not related. what does cabal install --global ? Global always means /usr/local by default, unless you change it in the cabal config file. By default ghc, gtk2hs also install globally in /usr/local (unless you specify a --prefix.) This tradition of global and /usr/local for ./configure scripts is ok, but for a convenient package manager it's not necessarily ideal. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Wed, Apr 22, 2009 at 12:06 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Wed, 2009-04-22 at 11:33 +0200, david48 wrote: The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, Where you choose to install ghc is not related. What about the package list ? In other words, why would I need a separate user and global package list if ghc is installed in my home directory ? David ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Wed, 2009-04-22 at 12:26 +0200, david48 wrote: On Wed, Apr 22, 2009 at 12:06 PM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Wed, 2009-04-22 at 11:33 +0200, david48 wrote: The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, Where you choose to install ghc is not related. What about the package list ? In other words, why would I need a separate user and global package list if ghc is installed in my home directory ? Sure, you don't strictly need two in that case. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, what does cabal install --global ? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
Am Mittwoch 22 April 2009 12:06:37 schrieb Duncan Coutts: On Wed, 2009-04-22 at 11:33 +0200, david48 wrote: The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, Where you choose to install ghc is not related. what does cabal install --global ? Global always means /usr/local by default, unless you change it in the cabal config file. By default ghc, gtk2hs also install globally in /usr/local (unless you specify a --prefix.) But when I install a binary, it always ends up in /usr/lib and /usr/bin, not in /usr/local. How come? Fortunately, once I've got the first binary, it's source installs from then on :) This tradition of global and /usr/local for ./configure scripts is ok, but for a convenient package manager it's not necessarily ideal. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Wed, Apr 22, 2009 at 2:06 PM, Duncan Coutts duncan.cou...@worc.ox.ac.ukwrote: On Wed, 2009-04-22 at 11:33 +0200, david48 wrote: The default should at least be consistent among cabal install, runghc Setup.hs, installing GHC, Gtk2Hs, and so on. If GHC is installed in /home/myusername/local, Where you choose to install ghc is not related. what does cabal install --global ? Global always means /usr/local by default, unless you change it in the cabal config file. By default ghc, gtk2hs also install globally in /usr/local (unless you specify a --prefix.) This tradition of global and /usr/local for ./configure scripts is ok, but for a convenient package manager it's not necessarily ideal. Ubuntu/Debian policy seems to be installation into /var/lib/cabal . So it's clear that the whole hierarchy is managed by single tool cabal. Drawback is that you should add /var/lib/cabal/bin into your PATH. -- Victor Nazarov ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Wed, Apr 22, 2009 at 1:28 PM, Victor Nazarov asviraspossi...@gmail.comwrote: Ubuntu/Debian policy seems to be installation into /var/lib/cabal . So it's clear that the whole hierarchy is managed by single tool cabal. Drawback is that you should add /var/lib/cabal/bin into your PATH. (K)Ubuntu is so far back on GHC releases that I never install anything haskell from the repositories :( ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal's default install location
Thomas Davie tom.da...@gmail.com wrote: There seems to be an assumption amongst the community that a user's home directory is the most useful place for cabal to install to by default. A few people have challenged that. I wanted to find out which one most people do actually prefer, so please go and vote on this poll. http://noordering.wordpress.com/2009/04/21/cabals-default-install-location/ It's no more than a straw poll, I don't know how protected it is against ballot stuffing, but I'm pretty confident that Haskellers are trustworthy enough not to play with it that way. I'll tell you all the result next week. alias cabal='cabal --global' -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
$ cat .cabal/config ... root-cmd: sudo ... user-install: False ... On 21 Apr 2009, at 14:41, Achim Schneider wrote: Thomas Davie tom.da...@gmail.com wrote: There seems to be an assumption amongst the community that a user's home directory is the most useful place for cabal to install to by default. A few people have challenged that. I wanted to find out which one most people do actually prefer, so please go and vote on this poll. http://noordering.wordpress.com/2009/04/21/cabals-default-install-location/ It's no more than a straw poll, I don't know how protected it is against ballot stuffing, but I'm pretty confident that Haskellers are trustworthy enough not to play with it that way. I'll tell you all the result next week. alias cabal='cabal --global' -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
Achim Schneider bars...@web.de writes: Thomas Davie tom.da...@gmail.com wrote: There seems to be an assumption amongst the community that a user's home directory is the most useful place for cabal to install to by default. A few people have challenged that. I wanted to find out which one most people do actually prefer, so please go and vote on this poll. http://noordering.wordpress.com/2009/04/21/cabals-default-install-location/ It's no more than a straw poll, I don't know how protected it is against ballot stuffing, but I'm pretty confident that Haskellers are trustworthy enough not to play with it that way. I'll tell you all the result next week. alias cabal='cabal --global' It's a trouble to distro maintainer, and relatively insecure for regular root user. -- c/*__o/* \ * (__ */\ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Cabal's default install location
On Tue, 2009-04-21 at 12:41 +0200, Achim Schneider wrote: alias cabal='cabal --global' We do have a config file you know. It's exactly to let you persistently set command line flags like this. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe