9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Roman V. Shaposhnik" <rvs@sun.com>
To: weigelt@metux.de, Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] plan9port lacks exportfs server
Date: Mon,  3 Nov 2008 17:23:13 -0800	[thread overview]
Message-ID: <1225761793.4781.213.camel@goose.sun.com> (raw)
In-Reply-To: <20081103001543.GC27416@nibiru.local>

On Mon, 2008-11-03 at 01:15 +0100, Enrico Weigelt wrote:
> * Roman Shaposhnik <rvs@sun.com> wrote:
>
> Hi,
>
> > >Besides the fact that I'm not making binary packages at all,
> > >splitted / small sources make packaging a lot easier.
> >
> > So let me  get this straight: you're trying to solve a problem
> > that you don't have, right?
>
> No, I got a problem to be solved, but it's not to produce
> general-purpose binary packages. Instead the problem is to
> produce buildfiles for Gentoo on the one and my own embedded
> systems builder "Briegel" on the other side. Both have in
> common that they always work ontop the source (hopefully the
> upstream's source, but unfortunately often requiring additional
> patches), while Briegel has some harder constraints, eg. always
> doing crosscompiling, basing on sysroot (a kind of chroot for
> from the compiler's perspective), etc. Of course I'm building
> binary packages, too, but they're always specialized for some
> particular target system, not general purpose, not comparable
> to what common binary distros do.
>
> Embedded systems tend to have a lot harder constraints than
> common ws's or servers - what I'm doing is applying embedded
> constraints to them, too, since I have to face these constraints
> anyways. It's also a matter of a strict QA, which starts at
> the source.
>
> > IOW, don't ever assume that you can simply take a source
> > code repository (however well it might be designed) and
> > produce a product by simply doing ./configure ; make ;
> > make install ; make pkg.
>
> Neither do I, instead I first fix the packages so I can do this.
> Actually, my Briegel buildsystem works exactly this way:
>
> #1: make a fresh sysroot image (eg. install prev. built deps)
> #2: fetch the source (via the CSDB - source database)
> #3: uncompress and apply the normalized patch from OSS-QM rep.
> #4: configure stage (eg. ./configure)
> #5: build stage (eg. make)
> #6: install stage (eg. make install)
> #7: create the binary package (eg. tgz, rpm, whatever ...)
>
> Any package that doesn't run cleanly through this process is
> declared broken and has to be fixed first. Briegel has no
> room for workarounds, intentionally.
>
> > The role of a packager is to address the end-users and thus
> > add value.
>
> The role of a packager (for a specific package) shouldn't be
> necessary at all. With a properly designed source package,
> that job can be completely done automatically. Leaving only
> the role of the distro/system maintainer, who decides things
> like which packages to get in, where to put certain types of
> files, some default configs, etc.
>
> > The kind of value that project members are simply not interested in.
>
> I know, and that tends to be the point where I fork.
>
> > >What does prevent you from having lots of separate packages
> > >in the same SCM ?
> >
> > Internal dependencies that are troublesome to externalize
> > if you break a single source code repository into multiple ones.
>
> Which ones exactly (specifically on p9p) ?
>
> > Updates of a non-trivial software projects are transactional in nature.
>
> The key question for me is: why is the sw so complex at all ?
> More to the point: what's so complex on p9p ? From what I see,
> it's structure is quite simple (especially compared with monsters
> like mozilla), since simplicity is actually one of Plan9's major
> design goals.
>
> > Breaking these transactions apart either by non grouping them
> > into a changeset, or applying them to different repositories
> > leads to all sorts of complications, such as inability to use
> > binary search efficiently for tracking down regressions and
> > the need for use of broken dynamic linking interfaces to
> > describe the connections between a single transaction
> > that spans different repos.
>
> Wououow ... binary interfaces ... we're still at the source
> level, aren't we ?
>
> *If* you want to nail down a fixed binary interface, you should
> to this exactly at that point which defines the interface: the
> package (eg. library) defining it. In other words: add appropriate
> regress tests to the library package, not abusing others that just
> happen to depend on it as regress test.
>
> Keyword: design by contract ;-P
>
>
> cu
> --
> ----------------------------------------------------------------------
>  Enrico Weigelt, metux IT service -- http://www.metux.de/
>
>  cellphone: +49 174 7066481   email: info@metux.de   skype: nekrad666
> ----------------------------------------------------------------------
>  Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
> ----------------------------------------------------------------------
>




      parent reply	other threads:[~2008-11-04  1:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-04 22:15 Roman Shaposhnik
2008-10-06 16:24 ` Russ Cox
2008-10-07  0:36   ` sqweek
2008-10-07  3:43   ` Roman V. Shaposhnik
2008-10-18 17:20     ` Russ Cox
2008-10-23  5:26       ` Roman V. Shaposhnik
2008-10-23 17:39         ` Russ Cox
2008-10-30 18:07           ` Enrico Weigelt
2008-10-30 21:15             ` Roman V. Shaposhnik
2008-11-01 19:05               ` Enrico Weigelt
2008-11-01 20:40                 ` Roman Shaposhnik
2008-11-03  0:15                   ` Enrico Weigelt
2008-11-04  1:23                     ` Roman V. Shaposhnik
2008-11-04  1:23                     ` Roman V. Shaposhnik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1225761793.4781.213.camel@goose.sun.com \
    --to=rvs@sun.com \
    --cc=9fans@9fans.net \
    --cc=weigelt@metux.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).