public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] portage database management
@ 2003-01-29 19:38 Ingo Krabbe
  2003-02-01  8:37 ` Rendhalver [Peter Brown]
  2003-02-03  9:19 ` [gentoo-dev] " Christian Plessl
  0 siblings, 2 replies; 23+ messages in thread
From: Ingo Krabbe @ 2003-01-29 19:38 UTC (permalink / raw
  To: Gentoo Developer

Hi all,

I'm currently working on a Berkeley DB project for my customer.  While
doing this I'm asking if the package management of portage shouldn't go
to database one day ?  I mean it is getting slow ... it could be much
faster though.

Has anybody thought about this topic ? Are there current developments
on this topic ?

BYE INGO

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [gentoo-dev] portage database management
@ 2003-02-04  7:59 Brian Friday
  2003-02-06  9:41 ` Jared H. Hudson
  0 siblings, 1 reply; 23+ messages in thread
From: Brian Friday @ 2003-02-04  7:59 UTC (permalink / raw
  To: gentoo-dev

-- Begin Newbie Rant

First (as it is my first post), I'd like to say thanks to all the people
who've made gentoo what it is today. I've used lots of linux distributions
but Gentoo was the first to make me feel at home. So thanks for creating
something I have, am and hope to continue enjoying.

-- End Newbie Rant

Perhaps I'm totally missing the point but....

On the large scale, there will be soon if not already a need to know
when a package was released and/or what version of the distribution it
first occurred in. In addition, making dependency information more
accessible, up to date and more detailed would be helpful as well. These
needs would be in addition to the general information portage currently
stores about a packages (ie category, name, version, size, homepage, and
description).

For the large scale, a database would seem to be the logical choice for
storing all this information. With a web or similarly easy interface to
allow casual browsing and or administration. You'd want to have primary
servers which would ideally feed mirrors who then in turn feed users.
Though they could feed the end users as well.

For the individual system, I think the DB idea is overkill but I like
the plugin ability. Maybe a step similar to choosing your cron/syslog but
instead you would be choosing your portage backend.

One of the key strengths of Gentoo I see as an end user is that most/all
of the files which determine how I can build/configure my system are
directly editable.  In practical terms, this openness has encouraged me to
pro-actively attack problems rather than wait for fixes. Ultimately
allowing me to feel a direct part of the Gentoo community, even if I'm
only hacking my system.

Now what if the portage on end user systems retained a XML text file
format similar to the example below. This would give us the flexibility of
text, as it is readable by the normal human, while at the same time
machine friendly. The example below is just a quick idea how a ebuild file
might look in an XML portage system.

Example XML file for a package:

<package>
<name></name>
<version></version>
<size></size>
<homepage></homepage>
<license></license>
<portage_release_date></portage_release_date>
<slot></slot>
<ebuild_comment></ebuild_comment>
<description>
    <keywords></keywords>
    <abstract>one line info text</abstract>
    <full_text>full about text</full_text>
    <ebuild_comment></ebuild_comment>
</description>
<dependency>
    <name></name>
    <version></version>
    <mandatory>yes or no</mandatory>
    <reason>why it might be good to have this</reason>
</dependency>
<ebuild_commands>
    <ebuild_comment></ebuild_comment>
    <pkg_setup>
          <ebuild_comment></ebuild_comment>
          <commands></commands>
    </pkg_setup>
    <src_unpack></src_unpack>
    <src_compile></src_compile>
    <src_install></src_install>
    <pkg_preinst></pkg_preinst>
    <pkg_postinst></pkg_postinst>
    <pkg_prerm></pkg_prerm>
    <pkg_postrm></pkg_postrm>
    <pkg_config></pkg_config>
</ebuild_commands>
</package>

The nice thing about XML is it could also be used with the plugin idea,
allowing for a intermediate structured format for transfer between the
gentoo servers/mirrors and the end user system. Backends are given the
data in a format they can parse through without to much trouble and you
could also export a ebuild out in a structured format perhaps allowing for
remote submission of ebuilds.

Now that I'm thinking about it you could have two XML package template
versions, detailed and optimised versions. The detailed version would be
as shown above containing absolutely everything about the ebuild. The
optimised version would contain just minimum elements needed for the
portage system. This would have the secondary effect of having optimised
mirrors which only have those bare bones ebuild files....

I'm rambling so I'll end this. Thoughts? Flames? Expressive Grunts?


--
Brian





--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2003-02-07  7:01 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-29 19:38 [gentoo-dev] portage database management Ingo Krabbe
2003-02-01  8:37 ` Rendhalver [Peter Brown]
2003-02-01  8:35   ` Ingo Krabbe
2003-02-01  9:16     ` Rendhalver [Peter Brown]
2003-02-01  9:25       ` Ingo Krabbe
2003-02-01 10:17         ` Rendhalver [Peter Brown]
2003-02-01 11:06           ` John Nilsson
2003-02-01 12:35             ` Ingo Krabbe
2003-02-01 15:34             ` Dylan Carlson
2003-02-02  3:29               ` Mark Constable
2003-02-02  5:44                 ` Jim Nutt
2003-02-01 15:34         ` Dylan Carlson
2003-02-01 16:02           ` Ingo Krabbe
2003-02-03  9:19 ` [gentoo-dev] " Christian Plessl
2003-02-03 20:45   ` Marko Mikulicic
  -- strict thread matches above, loose matches on Subject: below --
2003-02-04  7:59 [gentoo-dev] " Brian Friday
2003-02-06  9:41 ` Jared H. Hudson
2003-02-06 19:37   ` Alain Penders
2003-02-06 20:15     ` Riyad Kalla
2003-02-06 22:20     ` Brian Friday
2003-02-06 22:30       ` Riyad Kalla
2003-02-07  3:37         ` Mario Witt
2003-02-07  6:53         ` Matt Tucker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox