JFYI, as I'm not sure someone of the dpkg devs is on the distributions@l.freedesktop.o list. You might want to voice your comments on the topic. Thanks for maintaining dpkg! Cheers. ----- Forwarded message from Denis Washington <dwashington@gmx.net> ----- Date: Wed, 23 Jun 2010 13:46:39 +0200 From: Denis Washington <dwashington@gmx.net> To: Distributions@lists.freedesktop.org Subject: An attempt at improving cross-distribution software deployment: The Psys Library Hi, Cross-distribution software deployment on Linux remains to be a big problem. Basically, an independent software provider (ISV) has two choices: - Creating separate packages for every distribution (or, at least, every package format). This provides a high level of integration with the distribution, but is a relatively high investment for an ISV, which must not understand only one, but multiple packaging systems. Also, this approach doesn't help users of smaller distributions with less-mainstream packaging systems, for which most probably no packages will be built. - Bypassing the package manager completely by deploying an executable installer which essentially just copies files. This has the obvious advantage of really working on any distribution, and also lowers the level of investment required by the ISV remarkably (especially if the software is deployed with a cross-platform installer framework, which requires the ISV to develop only one solution for all supported operating systems). But the equally obvious disadvantage is the complete lack of integration; the package manager has no control over the installation and cannot avoid conflicts with other packages, and users cannot manage (e.g. uninstall) the software with their distribution's software management tools. As can be seen quickly, both solutions are far from optimal. In 2006, the Free Standards Group (the organisation behind the LSB, whose CTO was Debian founder Ian Murdock at that time) attempted to do better. In an LSB face-to-face meeting in Berlin, attended by several representatives of major distributions (including Red Hat, Novell, Mandriva and Ubuntu) and ISVs, the topic was discussed. The approach promoted by Murdock, and generally agreed upon by the attendants, was to bridge the gap between executable installers and package managers with a simple LSB-standardized programming interface - later codenamed the "Berlin Packaging API". The idea was to enable installer programs to tell the package manager when they install or uninstall software, giving the package manager the opportunity to update its package database accordingly [1]. Unfortunately, this idea didn't seem to be followed by any kind of standards process or implementation effort, and so the project eventually died. Today, I am pleased to announce a project to you which tries to reignite the Berlin Packaging API effort with a concrete design and a proof-of-concept implementation ready for testing: the "Psys Library". From the README: "The psys library provides a simple interface to the system package managerof a Linux system. It allows installation programs to notify the packagemanager of the installation, uninstallation and update of third-partysoftware packages, and to request these packages to be added to or removed from the system package database. The psys library interface is generic and not tied to a specific package management system or Linux distribution. Note that the psys library is only useful for adding and removing software which complies to the Linux Standard Base (LSB) specifications. Most notably, it is assumed that the data files of a software package are installed into /opt as demanded by the Filesystem Hierarchy Standard (FHS), and that a package only depends on the interfaces and behavior specified by the LSB; any additional dependencies must be contained within the package itself. The psys library interface is strongly influenced by the Berlin Packaging API concept discussed at the 2006 LSB face-to-face meeting in Berlin. The library interface is meant as a proposal for a future version of the LSB standard." More information, including the complete API documentation and a link to the git repository with the source code, can be found on the project page [2]. Now, I am asking you for support. While the psys library in its current form does, in fact, already offer basic integration into RPM- and Debian-based distributions through "fallback backends" (see the project wiki), the greatest level of integration can only be received if the implementation is provided by distributions directly. The question is: can you imagine adding support for a programming interface like this in your distribution? If not, why? And if you do, what do you think of the psys API in its current form? Where do you think it is lacking? Flawed? Complete BS? I am thrilled to hear your replies, and hope we can all together make something happen to improve the state of third-party software deployment on Linux. Best regards, Denis Washington [1] http://www.linuxfoundation.org/en/Berlin_Packaging_API [2] http://gitorious.org/libpsys P.S.: You might remember an earlier (2008), somewhat over-engineered attempt of mine to implement the Berlin Packaging API concept, the "Burgdorf Packaging API" (http://www.linuxfoundation.org/en/Burgdorf_Packaging_API), which spawned quite a lot of discussion at that time. Let me assure you, though, that the psys library is much simpler (and also already more advanced) in design and implementation than Burgdorf, and much lighter in terms of dependencies (libc, essentially). _______________________________________________ Distributions mailing list Distributions@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/distributions ----- End forwarded message ----- -- Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7 zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/ Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
Attachment:
signature.asc
Description: Digital signature