I am not known here, did not work for SUN, have not contributed code
to illumos or any derivatives, etc, but I feel my viewpoint is relevant.
what I can say for credentials is that I've used Slackware linux since
around 2001, have managed packaging on slackware, redhat,
debian/ubuntu (most painful experience ever), and freebsd, at least.
I've managed packages and their repositories in real life scenarios. I
got on solaris around 2005, and put it on a server when ZFS went into
Solaris 10. I didn't learn SVR4 packaging as it was too easy to
bash-script builds and updates of one-core software - a single
personal server, after all. but I worked with it plenty, and I've
worked with IPS maybe less so - I took a long break from the Solarish
world when IPS/Murdock/etc happened - but probably more in-depth.
currently I'm creating a distro of illumos, including a package
management system that makes sense to me.
basically, I live between the OS hackers and the end-users; I can't
write a package management system in C, but I can write one in bash,
perl, or go - and I think I know what to include and what to elide,
situation-depending. this is why I feel my viewpoint is relevant to
the original question.
here are the purely technical criticisms I have of IPS:
1. it's slow. it was slow when it started, it still is - improvements
notwithstanding. it's written in python, so basically it will never
operate at a reasonable speed.
2. it does too much. a package management system should manage
packages. otherwise, call it something else.
3. in keeping with (2), it is tediously over-complex. packaging is
*dead simple*. IPS is the opposite.
4. the lack of scripting is, in my opinion, simply stupid. we're not
there yet, we need scripts.
5. SVR4 wasn't perfect, the patch stuff was definitely wonky in my
experience, but actual package management worked, and consistently,
and at a respectable rate of speed. what, exactly, was the problem
with this scenario? throw out the patching and you have a perfectly
good system. the replacement of this with a slow thing that does too
much, requires learning a new interface, and breaks? a loss.
6. the network argument is simply nonsense. wget. script it if your
requirements are such. Schilling also pointed out a solution to this
total non-problem.
other points:
Quoting Joerg Schilling <[email protected]>:
So to me the question is rather: why do some people believe, we need a new
packaging system instead of working on fixing the old and proven one?
completely agreed. point 5.
Quoting Peter Tribble <[email protected]>:
in many scenarios. It's also proved in practice to be far too fragile
- many of us have ended up with a hosed system that IPS refused
point bank to let us do anything with because of its constraints.
facts. points 2,3, and 5.
distribute software for your platform. The IPS repository model
is a huge barrier to entry, and many will simply refuse point-blank
to be involved. By contrast, simple file-based packages are easy
to build and trivially easy to distribute by any channel. As a
I can't say that better.
Quoting Garrett D'Amore <[email protected]>:
IPS single greatest strength is that a package in theory is fully
described by its metadata. (It turns out that this isn't 100% true,
as post-reboot scripts in the form of special SMF manifests have
become a way to "workaround" the lack of scripting in IPS.) Whether
items 1 and 1.5: facts. items 1.5 and 2: ugh.
In almost every other way IPS fails, with the sole exception that it
works well *if* you are an end user who only ever installs software
using IPS, and you follow strict rules about using the right
repositories, etc. This does describe the majority of IPS users.
funny how well s/IPS/apt works there. doh...
In my "ubervision" of illumos packaging, we would use IPS manifests
(which have that wonderful self describing property), and different
vendors can use them as source files for a variety of binary
packaging formats. I know that people have figured out how to parse
and process those manifests to create not just IPS packages, but
also Debian (illumian & Nexenta do this), ISO (Joyent and DEY do
this), and SVR4 (I have done this in an ugly proof of concept).
I am absotively 100% for this. I've done this to create my own
packages, so I have a personal interest. but beyond that and more
important is the fact that, as you say, others are also doing this.
breaking that would be, in my opinion, a fatal error. which is part of
the problem with the move from SVR4 packaging to IPS packaging, as
you've also pointed out. for me, this is two simple perl scripts - one
that groks manifests and does things with that info, and another that
maps IPS packages, or oddly split-up IPS packages, into more sane
packages. I can't believe that others parsing the existent manifests
would not be upset if this changed.
IPS had some interesting and potentially good ideas: fact. Some great
minds put a lot of work into IPS: fact. its implementation was a
failure: fact. for people who package, it's painful. for people from a
slack/bsd background, it's painful. for people from a solaris
background, it's painful. even for end-users, it has that potential.
hell, even the debianish folk - masochists by definition - ditch IPS
for dpkg/apt - what does *that* tell you?
-J
Quoting Moinak Ghosh <[email protected]>:
On Wed, Dec 19, 2012 at 10:26 PM, Moinak Ghosh <[email protected]> wrote:
Good points from everybody. Adding a few tidbits of my own. Just to clarify
I'm no SVR4 lover having had worked on the messy codebase during my stint
at SUN. It had good ideas but the age of the code was showing.
BTW to repeat once more so that people do not misunderstand. SVR4 principles
were solid, codebase was somewhat messy. It is feasible to provide a
solution
that retained compatibility while utilizing a more modern core.
It is too heavily centered around scripting. The biggest drawback with the
SVR4
package tools is that there is no native notion of a package upgrade. There
is
only overwrite capability. So this is one thing that caused the messy
patching to
come into the picture.
Regards,
Moinak.
--
================================
http://moinakg.wordpress.com/
http://moinakg.github.com/pcompress/
-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/23519696-f7df691b
Modify Your Subscription:
https://www.listbox.com/member/?&
Powered by Listbox: http://www.listbox.com
-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription:
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com