[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

T. Onoma

11/28/2003 6:37:00 AM

I would like to tell you about a project I started called Baker:

SHORT:

Baker is a source-based package management system. It can turn any OS
distribution into a source-based distro like SourceMage or Gentoo. But more
importantly, it allows distribution developers to maintain large collections
of binary packages very easily.

LONG:

Baker is an advanced source-based package management system It is 100% well
structed OO Ruby code, which can easily be extended and called upon as a
library. Its commandline interface called 'bake' makes it easy to download,
compile and install programs. A catalog of "recipes" (also called
the "recipe book" can be sync'd with masters and contains yaml files that
describe where to get a program (handles mirrors and local regions), how to
compile it and how to install it. It uses a sanbox for installing and has a
unique means of mapping the file hiearachy, thus it is easily suited to any
distribution, even those with non-standard file hierarchy. It is quite
flexible, you can build off the build in SimpleRecipe via subclassing and
easily create new smater ones, that work right along side the older. A
SimpleRecipe simply runs Yaml embedded scripts (shell, perl, ruby, etc.) for
each stage with proper varaible subtitutions. In the future "smart" recipes
could handle compilation semi-automatically augmented with yaml embedded
build options. It also automatically handles dependencies and conflicts and
gentoo like uses. The main goal of the project is to offer open operating
systems an easy means to manage large collections of packages.

FUN:

Pat-a-cake, pat-a-cake,
Baker's man!
So I do, master,
As fast as I can.

Pat it, and prick it,
And mark it with T,
Put it in the oven
For Tommy and me.

STATUS:

The project is beta, most of the system is functional.

http://rubyforge.org/proje...

-t0



5 Answers

Simon Strandgaard

11/28/2003 7:03:00 PM

0

On Fri, 28 Nov 2003 15:37:12 +0900, T. Onoma wrote:
>
> Baker is an advanced source-based package management system It is 100% well
> structed OO Ruby code, which can easily be extended and called upon as a
> library.

I think there already exists a project with similar goals.. Rubyx.
How are Baker different?

> Its commandline interface called 'bake' makes it easy to download,

'bake' seems very similar to 'rake'. Why not use Rake ?


> compile and install programs. A catalog of "recipes" (also called
> the "recipe book" can be sync'd with masters and contains yaml files that
> describe where to get a program (handles mirrors and local regions), how to
> compile it and how to install it.

Where does it download this information from? Gentoo? Bakery?
Are there a central repository? is it distibuted over multiple-servers?

--
Simon Strandgaard

T. Onoma

11/28/2003 9:41:00 PM

0

On Friday 28 November 2003 08:07 pm, Simon Strandgaard wrote:
> On Fri, 28 Nov 2003 15:37:12 +0900, T. Onoma wrote:
> > Baker is an advanced source-based package management system It is 100%
> > well structed OO Ruby code, which can easily be extended and called upon
> > as a library.
>
> I think there already exists a project with similar goals.. Rubyx.
> How are Baker different?

in fact i talked to Adnrew about rubyx a good bit before strating Baker, and
looked over his code in detail. Indeed I had started out with the idea of
just imporving rubyx, but Andrew and I had very different ideas. he wanted to
keep rubyx as a single all in one program. So Baker was born. I should also
mention that at first this was trageted for GoboLinux. But as soon as I told
them about what I was thinking the main guy over there turned around created
his own shell script sort of thing (Gobo only). Too bad b/c Baker is going
way beyond all that have come before. Why?

1) Uses 100% OO Ruby
2) Uses Yaml
3) 100% distro independent
(You can use it on any distro. It plays nice even
if your FHS is upside down and turned around.)
4) Doesn't require a package database
5) Creates automatic uninstall scripts
6) Single easy to use interface
7) Plenty more...Want to add a feature? Come over and help.

> > Its commandline interface called 'bake' makes it easy to download,
>
> 'bake' seems very similar to 'rake'. Why not use Rake ?

I've actually been lookong at Rake. I like Rake a lot, but Rake is much more
"general purpose" and ties you into using Ruby itself for package
maintainence. Baker allows you to use shell scripts (most common), ruby
scripts (including Rake), perl scripts, python scripts, etc. Rake I think is
more suited to making actual program installers. Baker is a meta-builder/
installer, if you will. It organizines the whole process of downloading,
compiling, installing, and building distro(s), even allowing you to maintain
seperate architecture builds. But unlike rubyx it extends.

> > compile and install programs. A catalog of "recipes" (also
> > called the "recipe book" can be sync'd with masters and contains yaml
> > files that describe where to get a program (handles mirrors and local
> > regions), how to compile it and how to install it.
>
> Where does it download this information from? Gentoo? Bakery?
> Are there a central repository? is it distibuted over multiple-servers?

We're just getting started on creating repositories. So that is yet to come.

Anyone is welcome to help, from developement to simple recipe testing.

Thanks for asking!
-t0


Simon Strandgaard

11/28/2003 10:08:00 PM

0

On Sat, 29 Nov 2003 06:41:23 +0900, T. Onoma wrote:

> On Friday 28 November 2003 08:07 pm, Simon Strandgaard wrote:
>> On Fri, 28 Nov 2003 15:37:12 +0900, T. Onoma wrote:
>> > Baker is an advanced source-based package management system It is 100%
>> > well structed OO Ruby code, which can easily be extended and called upon
>> > as a library.
>>
>> I think there already exists a project with similar goals.. Rubyx.
>> How are Baker different?
>
> in fact i talked to Adnrew about rubyx a good bit before strating Baker, and
> looked over his code in detail. Indeed I had started out with the idea of
> just imporving rubyx, but Andrew and I had very different ideas. he wanted to
> keep rubyx as a single all in one program. So Baker was born. I should also
> mention that at first this was trageted for GoboLinux. But as soon as I told
> them about what I was thinking the main guy over there turned around created
> his own shell script sort of thing (Gobo only). Too bad b/c Baker is going
> way beyond all that have come before. Why?
>
> 1) Uses 100% OO Ruby
> 2) Uses Yaml
> 3) 100% distro independent
> (You can use it on any distro. It plays nice even
> if your FHS is upside down and turned around.)
> 4) Doesn't require a package database

How does this works? not having a central/homedir database how?


> 5) Creates automatic uninstall scripts
> 6) Single easy to use interface
> 7) Plenty more...Want to add a feature? Come over and help.

Its rarely that I install via source. When I do I use gnu-stow and install
it in my homedir. My machine is slow, not suited for big compile-runs.
Have you considered also distributing binary-packages ?

Even though, it sounds promising..


>> 'bake' seems very similar to 'rake'. Why not use Rake ?
[snip]
> Baker is a meta-builder/
> installer, if you will. It organizines the whole process of downloading,
> compiling, installing, and building distro(s), even allowing you to maintain
> seperate architecture builds. But unlike rubyx it extends.

OK.



>> Where does it download this information from? Gentoo? Bakery?
>> Are there a central repository? is it distibuted over multiple-servers?
>
> We're just getting started on creating repositories. So that is yet to come.
>
> Anyone is welcome to help, from developement to simple recipe testing.

I have been involved in an operating-system project some years ago.
We collected many nice ideas. Many documents are unfortunatly in danish,
but there are some in english. You can browse them here:
http://cvs.sourceforge.net/viewcvs.py/metasystem/text/uk/...
Please tell me what you think.

I would like to help if the project goals were like the visions of the
above project :-)

How does the package-category system work ?


--
Simon Strandgaard

T. Onoma

11/29/2003 10:25:00 AM

0

On Friday 28 November 2003 11:12 pm, Simon Strandgaard wrote:

> How does this works? not having a central/homedir database how?

You'll have to join us to get the scoop on that. Its pretty simple though.
(albiet were still working out some of the finer aspects of it)

> > 5) Creates automatic uninstall scripts

> I have been involved in an operating-system project some years ago.
> We collected many nice ideas. Many documents are unfortunatly in danish,
> but there are some in english. You can browse them here:
> http://cvs.sourceforge.net/viewcvs.py/metasystem/text/uk/...
> Please tell me what you think.
>
> I would like to help if the project goals were like the visions of the
> above project :-)

I looked at those, and they describe ideas for an OS which has many
interesting and broad ideas. there are certanly areas of overlap. But what
specifically is the vision you're thinking you want them to have in common?

> How does the package-category system work ?

There are three ways. Basic categories are just arbitrary tags for searching
and what not. 2nd, we have "use cases" like gentoo. These just identify which
packages can work together, and allows you to say which options to leave out
or put in across the board. 3rd, you can catagorize packages into groups
called RecipeCollection. This is commonly used for, say, grouping all the
Gnome programs together. But you can create any collection you want. We do
not catagorize programs into a heirachy, if that's what you are asking.
RecipeCollections make it uneccessary.

We have a mialing list: baker-baker@rubyforge.org. We welcome you to join and
see what you think.

http://rubyforge.org/mailman/listinfo/b...

-t0


Simon Strandgaard

11/29/2003 12:25:00 PM

0

On Sat, 29 Nov 2003 19:24:39 +0900, T. Onoma wrote:

> On Friday 28 November 2003 11:12 pm, Simon Strandgaard wrote:
>
>> I have been involved in an operating-system project some years ago.
>> We collected many nice ideas. Many documents are unfortunatly in danish,
>> but there are some in english. You can browse them here:
>> http://cvs.sourceforge.net/viewcvs.py/metasystem/text/uk/...
>> Please tell me what you think.
>>
>> I would like to help if the project goals were like the visions of the
>> above project :-)
>
> I looked at those, and they describe ideas for an OS which has many
> interesting and broad ideas. there are certanly areas of overlap. But what
> specifically is the vision you're thinking you want them to have in common?

vision: An operating system which tries to implement the best from already
known operating systems.

We stole many great ideas from Amiga, Mac, Unix, Windows.
But the visions were maybe a bit too high.. after it had been going on for
3-4 years, we gave up (failure). We were 4 active developers.
Lack of coordination, too inexperienced, disagreement on license.. and
many years before I learned Ruby.

I often dream-of/reconsider doing it all over. As soon as yesterday on of
my operating system friends brought the same issue up.. He is obviously
also brainwashed. We need a good shrink, to get rid of such silly ideas.

Today if I were going to make an operating system, then I would do as much
in Ruby as possible. Use some sort of microkernel, so that
everyday kernel-compilation can be avoided. Such kind of project, will
require MANY developers, maybe 20. At least more than 4 active developers.

Because we failed saving the world, I am now doing the second best:
working on a programmers-editor (http://aeditor.ruby...).


>> How does the package-category system work ?
>
> There are three ways. Basic categories are just arbitrary tags for searching
> and what not. 2nd, we have "use cases" like gentoo. These just identify which
> packages can work together, and allows you to say which options to leave out
> or put in across the board. 3rd, you can catagorize packages into groups
> called RecipeCollection. This is commonly used for, say, grouping all the
> Gnome programs together. But you can create any collection you want. We do
> not catagorize programs into a heirachy, if that's what you are asking.
> RecipeCollections make it uneccessary.

Thanks for explaining.


> We have a mialing list: baker-baker@rubyforge.org. We welcome you to join and
> see what you think.
> http://rubyforge.org/mailman/listinfo/b...


OK, I will do that.

--
Simon Strandgaard