The decision to redesign was based on a number of factors. New capabilities like ZFS and Zones added complexity and opportunity that wasn’t possible with svr4pkg. The old code base was largely unmaintainable. It had to solve problems that were deemed no longer relevant (patching) and had a lot of extra complexity as a result.
A big piece of this was the design to disallow installation scripts. The package was meant to be 100% declarative. This is incredibly important. It allows for you to automate things like dependencies and reason about the package in ways that you can’t in the face of arbitrary package scripts. As I’m sure a search of Internet history will reveal I have no deep love of IPS. But it was time for something better than svr4pkg and the key design constraints that the IPS team adopted were IMO indubitably sound. I think most of my complaints have related to certain levels of inflexibility when trying to install test builds and a general frustration with the decision to implement in Python. I’m sure others feel the opposite. Sent from my iPhone > On Aug 2, 2021, at 12:08 AM, Gary <gdri...@gmail.com> wrote: > > >> On Sun, Aug 1, 2021 at 11:07 PM mayur...@kathe.in <mayur...@kathe.in> wrote: >> >> What was the system used for delivering and installing packages under >> Solaris before IPS was adopted? > > The SVR4 package format was presumably released in SunOS 5 (Solaris 2) since > that's the first version to be based on SVR4 instead of BSD. > >> Where did IPS come from? > > Oracle? > >> Who all were involved in developing IPS (names and email addresses to be >> included if available)? > > Have you looked here? https://github.com/oracle/solaris-ips/ > >> Why was IPS chosen in place of the previous package management system? > > Dependencies with SVR4 were a mess. There was no concept of network > repositories. You could bork a system pretty easily if the package overwrote > something crucial -- whereas with IPS you can rollback to a prior ZFS > snapshot pretty easily. IPS no longer requires using a different set of > commands for installing versus upgrading/patching. > illumos / illumos-discuss / see discussions + participants + delivery options > Permalink ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/Tf764b19e9f817c85-M971b8516036a7a88540c3f7c Delivery options: https://illumos.topicbox.com/groups/discuss/subscription