Re: Adoption of Nix?

2008-12-24 Thread Artyom Shalkhakov
Sorry, I forgot about the debian-devel for the second time. :(


-- Forwarded message --
From: Artyom Shalkhakov 
Date: 2008/12/24
Subject: Re: Adoption of Nix?
To: Всеволод Величко 


Hi Vsevolod,

2008/12/24 Всеволод Величко :

> Well, as I see, it uses it's own package format, which is
> wrapper-description around everything - source, deb or rpm. Does it
> really have any sense?

"Every problem in computer science can be solved by adding
a layer of indirection", as the saying goes.

> We have our deb and src packages, do we really need any
> wrappers, that make us possible to install rpms? For what
> purposes?
> Surely, dpkg always allows you to rollback any installed
> packages. You just sometimes have to rollback half of all your
> packages - in accordance with dependencies.

> I've just looked to the structure of that package format - it also
> requires to write dependencies - so what in it deals with 'em better?
> I really don't understand.

The difference is *purity*, which means that Nix expressions
are *deterministic*. And that's what really makes them better.

> Can it work with sections like "Recommends" or "Suggests"?

I don't know this yet, but I think it's nearly trivial to add.

> And, of course, for the 2-3 versions of each package will make debian
> security team curse you for ages. Consider it :)

Thanks for the advice, point taken. :)

Cheers,
Artyom Shalkhakov.

PS do you work for Nigma, an "intelligent search engine"?


Re: Adoption of Nix?

2008-12-24 Thread Artyom Shalkhakov
Sorry, I forgot to forward this to debian-devel.

-- Forwarded message --
From: Artyom Shalkhakov 
Date: 2008/12/24
Subject: Re: Adoption of Nix?
To: "Eugene V. Lyubimkin" 


2008/12/24 Eugene V. Lyubimkin :
> Which means that "find all dependencies with no exceptions" is not true.

This is how Nix developers put it:

> Runtime dependencies are found by scanning binaries for the hash parts
> of Nix store paths (such as r8vvq9kq…). This sounds risky, but it works
> extremely well.

(See <http://nixos.org/about.html>, section called "Complete dependencies".)

> If edited by administrator config file was deleted, then or it cannot be
> reverted, or it was not purged. Most other stuff can be reverted in theory...
> but again, Debian package maintainer scripts don't support downgrading (in
> general), and there are reasons for it.

Take another point of view: every Nix package exists in an ideal world where the
only packages it knows about are it's dependencies (and their precise versions).

> One big fact is: Debian have tens (or even hundreds) of tools that use apt
> infrastructure, including both user side and archive maintenance side. Nix, in
> any way it operates, suggests other API to maintain packages. Who is supposed
> to rewrite all this stuff for Nix?

You're probably right: nobody is going for a full rewrite. I guess I
should inspect
both Nix and dpkg more closely, and if I can find a one-to-one mapping between
the two, then we can go for an automatic migration.

> Yes, you are probably right: I don't understand how Nix may be useful for
> Debian (and for GNU/Linux also).

That's too bad for you. Shallow thinking doesn't get you anywhere.

Cheers,
Artyom Shalkhakov.


Re: Adoption of Nix?

2008-12-24 Thread Artyom Shalkhakov
Hi Eugene,

2008/12/24 Eugene V. Lyubimkin :
>> The claims that I think are valuable are:
>> - *all* dependencies of a package are automatically found by Nix,
>>   no exceptions,
> Hmm... Nix probably use libastral, doesn't it? Even for C/C++ programs there
> is no way to 100% automatically determine entire list of runtime
> libraries/tools needed for some particular program (consider runtime library
> opening and all non-library dependencies).

This is not about libastral, it's about pure functions (those without
side-effects).

Regarding "runtime library opening" (I suppose, you meant dlopen and friends),
then I suppose, you've found an exception to the rule, but maybe you are wrong.
I'm not a developer of Nix, so I can't say more.

>> - updates and rollbacks are atomic, an update can never break
>>   your system.
> This cannot be true. Consider package maintainer scripts. And, for example.
> purge of config files cannot be reverted.

It can always be reverted if you don't "destructively update" (overwrite) files
and if you can guarantee that filenames do not clash.

> It has nothing to do with our apt infrastructure, it doesn't
> understand it and invented its own wheel. I think no way for Nix in Debian. We
> have excellent dpkg, we have not-so-excellent, but rather good apt, and
> significant amount of Debian users choose Debian just only because of apt. 
> IMO.

I'm not interested in your opinion if it isn't backed by facts, I'm interested
in *informative discussion*. I don't say that dpkg/apt are bad, on the contrary,
I think they are good, but we aren't talking about personal tastes.

It looks like you completely misunderstood the idea, so lurk before
you post. Thanks.

Cheers,
Artyom Shalkhakov.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Adoption of Nix?

2008-12-24 Thread Artyom Shalkhakov
Hello,


Cite from the homepage:

> Nix is a purely functional package manager. It allows multiple
> versions of a package to be installed side-by-side, ensures that
> dependency specifications are complete, supports atomic
> upgrades and rollbacks, allows non-root users to install software,
> and has many other features.

The claims that I think are valuable are:
- *all* dependencies of a package are automatically found by Nix,
  no exceptions,
- updates and rollbacks are atomic, an update can never break
  your system.

What do you think of adopting Nix as a package management
tool for Debian? I would like to accentuate that I seek
an informative discussion, not a holy war.

Cheers,
Artyom Shalkhakov.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org