Reasons for rpm5:
- based wide spread use on desktop as well as server grade Linux based
distros such as RHEL, rpm works well and meets our needs of a good
modern package system
- I have managed to build rpm5 and have requested Jeff Johnson, the
present rpm5 maintainer and developer, to integrate two fixes needed
to build rpm5 on the opensolaris platform
- the current maintainers of rpm5 have given us a go ahead on bundling
rpm5 with Belenix [1]
- rpm5 is actively maintained [2]
- it uses modern compression systems and libraries [3]
- it is used by other distributions as well, who don't mind sharing
their learning with us [4]
Pending investigations:
1. Compatibiity with pkg-build spec files
We could potentially directly consume all the pkg-build specific spec
files in case we want to attempt source builds. I'm fairly confident
this should work, and I will be working on a test case. This may very
well be needed in case we use gcc to build KDE packages (necessary in
case we don't use hajma's SS12 built KDE IPS packages).
2. Direct import of IPS files into rpm5 files.
In case we decide to convert openindiana packages into rpm packages,
we'll need something like alien which would read IPS and generate rpm
files. This needs some investigation.
I also propose that we use the smart package manager
(http://www.labix.org/smart/):
- There are a number of dependency resolution issues that the smart
package manager has solved [5]
- There are a number of interesting features [6]
- There is wide spread adoption today of this tool by Ubuntu, Fedora,
and Suse, and other efforts such as unitylinux.
- smart provides many of the convenient command line parameters as does apt-get
- the smart community members are OK with us bundling smart within Belenix [7]
- Here is the smart package manager FAQ [8]
Unfortunate reasons for not being able to use .deb files (the dpkg format)
- At this time, the debian-legal community is still largely against of
bundling Nexenta's zfs-aware dpkg with a distro. [9]
- We don't have either the mental energy, the time, of the legal
awareness to go argue with debian-legal
- we don't want to get into disagreements with other open source and
free software communities.
Some thoughts on questions about apt-get
1. apt-get is great !
apt-get is a front for dpkg. The convenience of apt-get is matched by
the smart package manager.
2. apt-get gives me everything
Actually, apt-get merely queries a catalog of software, and let's us
install, upgrade and remove software. A rich collection of software
packages is something that the overall openindiana community can work
together on (with Belenix being part of that community).
3. apt-get is easy to use
Well, rpm has similar commands, and so does smart. Our overall
emphasis should be on using the smart package manager which will
consume rpm files underneath.
Links:
[1] http://www.mail-archive.com/rpm-...@rpm5.org/msg00519.html
[2] http://rpm5.org/files/rpm/rpm-5.3/SNAPSHOT/
[3] http://rpm5.org/cvs/fileview?f=rpm/INSTALL&v=2.122.2.4
[4] http://www.mail-archive.com/rpm-...@rpm5.org/msg00521.html
[5] http://zorked.net/smart/doc/README.html#study-cases
[6] http://labix.org/smart/features
[7] http://lists.labix.org/pipermail/smart-labix.org/2010-September/004099.html
[8] http://www.labix.org/smart/faq
[9] http://lists.debian.org/debian-legal/2010/09/msg00001.html
-- Sriram
--
Belenix: www.belenix.org
_______________________________________________
belenix-discuss mailing list
http://mail.opensolaris.org/mailman/listinfo/belenix-discuss
http://groups.google.com/group/belenix-discuss
I really do not know, if you really need a "binary package"
based approach. The issue is the variability of hardware use
here. I have nothing against "rpm" or "dpkg" based approach,
but then, at the end of the day, Belenix would become "Yet
Another Distro" ! Since the userland s/w is same for all *nix
based OSs, nobody would appreciate the difference.
I found nothing wrong with the "specs" based system which
Moinak had used for the initial belenix development. This can
be easily extended to a source based distribution system. My
preference would always be for a source based technology,
rather than pre-compiled binary downloads. Anything compiled
on your box always works !
Please study the *BSD ports systems. it would be the easiest
to implement on existing "specs" platform. It would also
reduce server requirements for storing various versions of
binaries.
For those, who have not used FreeBSD/ OpenBSD etc, "port" is
a technology used to install from source. Each Port is
a collection of scripts that when executed, automatically
download source of softwares from the Internet, patches,
configures if necessary, compiles and install it. Any
dependencies on other applications or libraries a port may
have are also installed for the user.
Like binary packages and ports understand dependencies.
Suppose you want to install an application that depends
on a specific library being installed, the ports system
automatically installs the library first.
Each port, or software package, is maintained by a “port
maintainer”, an individual who is responsible for staying
current with the latest software developments. Anyone is
welcome to become a port maintainer by contributing their
favourite piece of software to the collection. One may also
choose to adopt and maintain an existing port that has no
maintainer-ship.
This brings in better contribution and participation from the
community. You would notice, binary "packages" are invariably
the handiwork of a core group, thus creating an artificial
divisions of "developers" and "users".
Having things this way, would reduce the work of the core
group at developing a base install with minimal X with a full
gcc based development environment and networking support. The
"base" distro would be smaller, and "meaner", but more solid.
Now that Oracle has pulled the plug on OpenSolaris, a larger
community support is needed if any fork of the old OpenSolaris
base is to continue.
Just another view,
Bish
Yes a Gentoo like source based system appears nice and
is attractive to a bunch of people. However from my experience
most (me included) do not want their desktops/laptops doing
long-running builds the moment they try to install a package.
It becomes a worst-case scenario when you are doing a full
upgrade, or when you are trying to install big software bundles
like say Koffice, Firefox etc. Your laptop can potentially spend
a week compiling stuff, if you can keep it continuously on for
that long without overheating or battery draining if you are on
the move.
At the risk of starting a controversy: How popular is Gentoo today ?
In addition we plan to work with one standard codebase maintained
by the common community. Better cooperation and sharing of
effort. It is simply impossible for a few folks working on BeleniX to
maintain a parallel build system and parallel source base and
stacks of thousands of FOSS. Rather than fragmenting efforts we
stand to gain by cooperating in a single OpenIndiana community.
In addition the so called consolidations or multiple source bases
from which a typical OpenSolaris distro is built are diverse with
divergent build systems. It is quite a task to cohesively orchestrate
among these diverse systems.
Having said this we definitely want source build to be a reality for
those who want to experiment. It may even be an excellent way
to build and install Multimedia related software with machine
specific optimizations. Having a source build install is also related
to a future effort within the OpenIndiana community to unify build
systems to a common system, logically spec files as of now.
> Please study the *BSD ports systems. it would be the easiest
> to implement on existing "specs" platform. It would also
> reduce server requirements for storing various versions of
> binaries.
>
Yes ports handles additional layered software, not the core
system. Disk space goes cheaper and cheaper so storage is
not an issue :)
Usability and end-experience are primary motives here.
> For those, who have not used FreeBSD/ OpenBSD etc, "port" is
> a technology used to install from source. Each Port is
> a collection of scripts that when executed, automatically
> download source of softwares from the Internet, patches,
> configures if necessary, compiles and install it. Any
> dependencies on other applications or libraries a port may
> have are also installed for the user.
>
> Like binary packages and ports understand dependencies.
> Suppose you want to install an application that depends
> on a specific library being installed, the ports system
> automatically installs the library first.
>
> Each port, or software package, is maintained by a “port
> maintainer”, an individual who is responsible for staying
> current with the latest software developments. Anyone is
> welcome to become a port maintainer by contributing their
> favourite piece of software to the collection. One may also
> choose to adopt and maintain an existing port that has no
> maintainer-ship.
>
> This brings in better contribution and participation from the
> community. You would notice, binary "packages" are invariably
> the handiwork of a core group, thus creating an artificial
> divisions of "developers" and "users".
>
The same binary packages are built from spec files or maybe
makefiles, however each package gets an identified maintainer
to avoid any artificial divisions. Fedora does it that way and
distributes binary packages. The OpenIndiana folks are already
working to standardize processes in this regard.
> Having things this way, would reduce the work of the core
> group at developing a base install with minimal X with a full
> gcc based development environment and networking support. The
> "base" distro would be smaller, and "meaner", but more solid.
>
This is possible even with binary packages if the right level
of package granularity is maintained. In the OpenSolaris world
there are bigger issues than source vs binary packaging that
makes a mini distro more challenging that it should be. One
of those is the big monolothic packages that come out of the
core OS build.
> Now that Oracle has pulled the plug on OpenSolaris, a larger
> community support is needed if any fork of the old OpenSolaris
> base is to continue.
>
Yes, this is already happening around Illumos and OpenIndiana
efforts and we should gather around those and contribute to the
common goal.
Regards,
Moinak.
--
================================
http://www.belenix.org/
http://moinakg.wordpress.com/
On Tue, Nov 9, 2010 at 7:51 PM, Moinak Ghosh <moi...@belenix.org> wrote:
> On Sat, Nov 6, 2010 at 8:50 PM, USM Bish <bi...@airtelmail.in> wrote:
>>
>> I really do not know, if you really need a "binary package"
>> based approach. The issue is the variability of hardware use
>> here. I have nothing against "rpm" or "dpkg" based approach,
>> but then, at the end of the day, Belenix would become "Yet
>> Another Distro" ! Since the userland s/w is same for all *nix
>> based OSs, nobody would appreciate the difference.
>>
Yes, we could indeed become Yet Another Distro. Given that the core
team often has little time to stay abreast of package versions, it
becomes useful for us to use the OpenIndiana team's efforts, to
contribute spec file fixes there, and to focus on other
differentiating factors such as installers, package managers, system
tools, moving to more bleeding edge kernels from illumos as compared
to OpenIndiana, etc.
>> I found nothing wrong with the "specs" based system which
>> Moinak had used for the initial belenix development. This can
>> be easily extended to a source based distribution system. My
>> preference would always be for a source based technology,
>> rather than pre-compiled binary downloads. Anything compiled
>> on your box always works !
>>
We'll continue to use spec files where needed. The spec files that
we've been using so far, are spec files that have all the elemets that
rpm supports as well as some elements that have been specific to the
pkgbuild build system.
Moinak has proposed that we treat OpenIndiana as our upstream, import
binaries from within the IPS files into RPM files, and then use those
RPM files.
<snip/>
>
> Having said this we definitely want source build to be a reality for
> those who want to experiment. It may even be an excellent way
> to build and install Multimedia related software with machine
> specific optimizations. Having a source build install is also related
> to a future effort within the OpenIndiana community to unify build
> systems to a common system, logically spec files as of now.
>
In fact, with the spec files and the rpmbuild build in place, one
could consider modifying ports or portage to pull in specs and
rpmbuild into the destination folders.
<snip/>
>> Now that Oracle has pulled the plug on OpenSolaris, a larger
>> community support is needed if any fork of the old OpenSolaris
>> base is to continue.
>>
>
> Yes, this is already happening around Illumos and OpenIndiana
> efforts and we should gather around those and contribute to the
> common goal.
>
Based on the outcome of this discussion, we'll be talking about the
Belenix goals on the OpenIndiana lists.
> Regards,
> Moinak.
> --
-- Sriram