unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: Different versions of a package in the same profile?
@ 2014-11-02 18:52 Federico Beffa
  2014-11-03  8:58 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Federico Beffa @ 2014-11-02 18:52 UTC (permalink / raw)
  To: andreas, Guix-devel, Ludovic Courtès

Andreas Enge <andreas@enge.fr> writes:

> On Sun, Nov 02, 2014 at 06:22:28PM +0100, Ludovic Courtès wrote:
> There is also the question of conflicts with identical file names. They are
> already there now, but their probability should be higher with identical
> package names. Maybe we need to rethink the handling of conflicts also.

In the past I did use the packaging system called SEPP

http://oss.oetiker.ch/op-sepp/

It allow installing several versions of a program on a single system.
The way they use to avoid naming conflicts it to systematically add a
suffix to binary names, with the suffix corresponding to the version of
the package.  They even went one step further and they added a suffix
with the initials of the administrator who packaged the application.

Each program was available with several names. For program foo:
- foo
- foo-1.2.3
- foo-1.2.3-fb
Obviously if more foo versions were installed, only one would be
referred to by foo.  The others were available with versioned names.

As a user, the system did work very well.

To handle updating, specifying foo should update the version owning
the name foo.  To update another version one would give the versioned
name "foo-1.2.3".

Regards,
Fede

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: Problems with downloading from https
@ 2014-10-27 12:24 Ludovic Courtès
  2014-10-27 13:27 ` Alex Kost
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-10-27 12:24 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel, Alex Kost

Mark H Weaver <mhw@netris.org> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> Ludovic Courtès (2014-10-26 16:46 +0300) wrote:
>>>
>>>> Alex Kost <alezost@gmail.com> skribis:
>>>>
>>>>> Yes, I installed gnutls, but it didn't work because I didn't set the
>>>>> right guile paths: “guix package --search-paths” recommends
>>>>> "/usr/local/var/guix/profiles/per-user/<user>/guix-profile/share/guile/site/2.0"
>>>>> but "gnutls.scm" is actually placed in
>>>>> "/usr/local/var/guix/profiles/per-user/<user>/guix-profile/share/guile/site"
>>>>> so ‘(use-modules (gnutls))’ failed for me.
>>>>
>>>> Oh, that’s a bug of the GnuTLS package: we should pass the right
>>>> configure flag so that modules go to site/2.0.  Could you do that?
>
> Alex committed this change, and it broke all https downloads in Guix,
> leading to hydra build failures.  For example, see:
>
>   http://hydra.gnu.org/build/132928/nixlog/1/raw
>
> The reason is that guix/download.scm contains this code:
>
>               ;; Add GnuTLS to the inputs and to the load path.
>               #~(eval-when (load expand eval)
>                   (set! %load-path
>                         (cons (string-append #$(gnutls-package)
>                                              "/share/guile/site")
>                               %load-path)))
>               #~#t)

Oops, my bad.  I think this code should be changed to use site/2.0,
which is the standard search path specification.

> For now, I think we should revert this commit and discuss it further
> before proceeding.

I would just fix the above code to append (effective-version).  WDYT?

>>> Yes, but I'm a little concerned.  Should it really be so?  What about
>>> guile-1.8; isn't it supposed to use gnutls module as well?
>>
>> 1.8 has long been deprecated, so let’s not worry about it.
>
> I think Alex was right to be concerned.  We'll have the same problem
> when Guile 2.2 comes around, and then again for 2.4.  I'm reluctant to
> hardcode "2.0" into the code above.  Think about what it implies for
> GnuTLS in the future.  Will they be expected to install their modules
> into site/2.0, site/2.2, site/2.4, etc?  Do we really want to advocate
> this practice to projects that install Guile modules?

No, you’re right, of course.  However, I tend to distinguish between the
immediate issue that calls for a fix, and the design issue that has to
be addressed, but is less pressing.

Currently, there are a couple of packages that hard-code site/2.0.  They
should be changed to use:

  (string-append "--with-site-dir=.../site/" (effective-version))

That doesn’t help with 1.8, though, because 1.8 uses /site.  Perhaps a
fix would be to change 1.8 in Guix so that it uses a versioned site
directory like future versions do?  Another option would be to ignore 1.8.

WDYT?

There may be similar problems with Python, Ruby, etc., although these
haven’t come up yet, I think.  These can hopefully be addressed by
having their respective build system pass #:effective-version to the
build code.  Thoughts?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-11-03  8:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-02 18:52 Different versions of a package in the same profile? Federico Beffa
2014-11-03  8:58 ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2014-10-27 12:24 Problems with downloading from https Ludovic Courtès
2014-10-27 13:27 ` Alex Kost
2014-10-27 14:43   ` Mark H Weaver
2014-10-27 16:24     ` Ludovic Courtès
2014-10-27 16:44       ` Alex Kost
2014-10-28  8:03         ` Ludovic Courtès
2014-10-29 22:22           ` Andreas Enge
2014-10-30  7:27             ` Alex Kost
2014-10-30  7:49               ` Andreas Enge
2014-10-30 12:31                 ` Alex Kost
2014-10-30 12:38                   ` Andreas Enge
2014-10-30 23:07                     ` Different versions of a package in the same profile? Ludovic Courtès
2014-11-01 10:46                       ` Andreas Enge
2014-11-02 17:22                         ` Ludovic Courtès
2014-11-02 17:39                           ` Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).