Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3(about to be) available.)

2001-04-20 Thread Charles Steinkuehler

> > If so, I
> > think a separate tree for packages is in order. I also, like David's
diff
> > idea for them.
>
> This doesn't necessarily help in this case, though: the distributions
> now present are starting to show direct incompatabilities:
>
> * glibc 2.0.7 vs. glibc 2.1.3 vs. glibc 2.2 (future)
> * Linux 2.0 vs Linux 2.2 vs Linux 2.4
>
> What the diff file does is to allow a user to get an unmodified source
> tar-ball, and apply the patch to it.  It also means that it puts into
> one place all the work we do to get the source compiled, and it is
> saved and reproduceable.  Some of the reasons I wanted to use diffs
> are: a) creates a package DURING THE MAKE process; b) be able to
> remove the source directory tree in favor of the source file and a
> diff file.  This models after the Debian and Red Hat way of doing
> things; Debian puts out the source tarball and the diff next to each
> other in their source directory; Red Hat puts everything together
> (source tarball, patches, etc) together into a source RPM.



> I'm still contemplating how to create packages that work under glibc
> 2.1.3 and MARK themselves as such.  Perhaps this is a problem which
> should be discussed..



> Red Hat and Mandrake and others put things like versions, CPU, release
> version, into their names.  With the 8.3 limitation imposed by LRP,
> the package names for us don't have that kind of room.



> These are the things I've thought about, and my opinions on them:
>
> * Include versions in the package name - not enough name space.

Why not require VFAT support?  I don't think it adds too much size to a
compressed kernel.  We could also switch to minix formatted floppies, but
the Windows folks would have a fit (and you thought 1680K floppies were hard
to work with on 'Doze :)

> * Include a file (flag) such as: /var/lib/lrpkg/.glibc-2.1
> * Add "(2.1)" to the version, in the .version file, like so:
> 3.61(2.1)-1
> * Use a different extension than ".lrp" - the new Oxygen, using glibc
> 2.1, is not limited to using *.lrp - but this is not true of other
> distributions
>
> I tend to lean towards the latter two, at least for glibc 2.1
> binaries.  The reasons are:
>
> * Someone has to CHANGE the extension to use them - this right away
> tells them something is different.
> * When listing versions, the "(2.1)" stands out more than the
> others...
> * Of course, then there is always the SegFault :O

Why not change the package format?  It's possible to work with deb and rpm
pacakges in shell-script using nothing more than dd, gzip, cat, and tar.
Using dd to cut the file up, you can have an initial text (or script)
portion, followed by one or more tgz archives (this is pretty much how a deb
package is made).

I'd like to see pre/post install/remove script support, and I think we could
have minimal dependancy checking (for library existance/version, kernel rev,
etc) without too much bloat to the packaging scripts...

Charles Steinkuehler
http://lrp.steinkuehler.net
http://c0wz.steinkuehler.net (lrp.c0wz.com mirror)


___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3(about to be) available.)

2001-04-20 Thread David Douthitt

Charles Steinkuehler wrote:

> > These are the things I've thought about, and my opinions on them:
> >
> > * Include versions in the package name - not enough name space.
> 
> Why not require VFAT support?  I don't think it adds too much size to a
> compressed kernel.

Not a bad idea; however, there are a few things that come to mind:

* How do you create a VFAT diskette under Windows?  Some may laugh; I
for one am not sure how
* What about DOS diskettes? 1.44M preformatted diskettes?
* What of mkfs.msdos?  Does it understand VFAT?

> We could also switch to minix formatted floppies, but
> the Windows folks would have a fit (and you thought 1680K floppies were hard
> to work with on 'Doze :)

Heh.

> Why not change the package format?  It's possible to work with deb and rpm
> pacakges in shell-script using nothing more than dd, gzip, cat, and tar.

So I've heard; however, RPM files have not worked that way in my
experience - they require rpm2cpio to get anything decent out.  Also,
last time I started untarring (more recent) DEB files there was always
an error or warning about a particular file - it may have been called
'-' or something.

> Using dd to cut the file up, you can have an initial text (or script)
> portion, followed by one or more tgz archives (this is pretty much how a deb
> package is made).

I'm not sure what you mean, but I have a strong aversion to any format
which can't be undone by the following GNU tar command:

tar xzvf 

I've had it up to here with all the different package formats - and
none of them satisfy the above requirement.  I've HP-UX boxes here
(Software Depots), Unixware ("Packages"), Red Hat Linux (RPM), and
until recently Debian (DEB).  Makes me want to do what I've heard
somewhere that a few others are doing: skip the packages altogether
and only use source *.tar.gz files from the original creator

> I'd like to see pre/post install/remove script support,

var/lib/lrpkg/.sh

...used this way:

pkg.sh postremove
pkg.sh preremove
pkg.sh postinstall
pkg.sh preinstall

> and I think we could
> have minimal dependancy checking (for library existance/version, kernel rev,
> etc) without too much bloat to the packaging scripts...

How to check for library version?  You could use:

LIBC=$(ls -1 /lib/libc-*)
LIBC=${LIBC%%.so}
LIBC=${LIBC##*/libc-}

...but then you are relying on the name to be correct.  Is it?

For the kernel, you'd probably be best with

KERNEL=$(uname -r)
KERNEL=${KERNEL%%-*}

...this assumes that uname -r works; does it?

___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3 (about to be) available.)

2001-04-20 Thread Charles Steinkuehler

> Getting back to your CVS comments from yesterday. I agree, we need to
start
> committing files to CVS. There are approximately six people working
> independently on the EigerStein update. Putting these individual pieces
> into CVS will allow all of us to build off of each others efforts.
>
> First, Charles this looks like a significant update. Are we still going to
> call it EigerStein, or have you decided on a new name?

Depends on what you're talking about (see next answer, below)

After consulting my wife (a professional gardner), I intend to use her
suggestion of 'Quercus' (latin for Oak) as a 'family' name.  The initial and
subsequent releases would be named for a particular varieties of Oak:

Quercus macrocarpa - Burr Oak
Quercus rubra - Red Oak
Quercus alba - White Oak

and so on, with subsequent major releases using a different species (like
Maple, Spruce, etc).  The latin and english names could be used somewhat
interchangably...

> Second, are we creating a release that branches from 2.9.8, or ESb2?

There are two issues at hand.  One is an update of ES2Beta, which should
simply be the existing ES2Beta + David's updated binaries for various
libraries and programs that had security holes + latest versions of the
encluded LRP packages + possibly a new kernel.  This should probably be ES3
or something...

I'd also like to see a whole new distribution put together, as previously
discussed.  This would use SeaWall (or one of the other firewall packages)
for the firewall rules, might be based on a 2.4 kernel and perhaps even an
updated libc.  I don't think it matters much what distribution we base this
off of (unless Butterfly actually appears and looks suitable), as long as we
either pick a distribution to develop on, select a distribution that already
squeezes packages for an embedded environemnt (unlikely to solve all our
problems), or (preferred) build a compile environment that can be installed
on any generic linux system, complete with local libraries, so it won't
matter what's running on the development box.

We would, however, need to decide on a general filesystem layout, rc.d
standards, and the like.  Ideally, this layout would match a mainstream
distribution (like debian, redhat, caldera, or similar), so folks wouldn't
be quite so lost when trying to figure out how everything ties together, and
creating packages would likely be easier (I'm envisioning taking an RPM or
DEB, applying a few 'tweaks', and making an LRP or it's new equivelant).

Charles Steinkuehler
http://lrp.steinkuehler.net
http://c0wz.steinkuehler.net (lrp.c0wz.com mirror)


___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3(about to be) available.)

2001-04-20 Thread Mike Noyes

David Douthitt, 2001-04-20 10:22 -0500
> > How close are you to committing the Oxygen devel tree to CVS?
>
>The CDROM contains a direct image of the Oxygen development source
>tree, along with the packages.  Everything in src/base is either a
>binary in the system or a package on the boot disk.  Everything else
>in src/ other than src/base are package sources; pkgs/ contains the
>results of compilations.
>
>Doing this should set up a good CVS tree for Oxygen:
>
># cd $CVSROOTDIR
># mkdir -p ./mnt
># mkdir -p ./Oxygen
># mount -o loop Oxygen-2.1.3-CDROM.iso ./mnt
># cp -a ./mnt/src/base ./Oxygen
>
>Is this possible on SourceForge?  Also, to get packages, do:

David,
No for two reasons. One we don't have shell level access to our CVS 
repository yet. Second, mount is restricted to root on shell1 (I just 
checked). However, you can commit this tree to our CVS repository from your 
machine. I don't know how long it will take.

># cd $CVSROOTDIR
># mkdir -p ./mnt
># mkdir -p ./packages
># mount -o loop Oxygen-2.1.3-CDROM.iso ./mnt
># cp -a ./mnt/src/* ./packages
># rm -rf ./packages/base
>
>That should do it.

Unfortunately, not. You need to use CVS for the import process. Otherwise, 
it wont be able to setup its internal housekeeping files.

--
Mike Noyes <[EMAIL PROTECTED]>
http://leaf.sourceforge.net/


___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3(about to be) available.)

2001-04-20 Thread David Douthitt

Mike Noyes wrote:

> Third, does anyone have suggestions for the tree structure?

Didn't we already hash that out?

I like separate directories or CVS trees for each of the significant
distributions (base).  Packages should probably be separate the
only interesting complication is that some systems may incorporate
into their base what others use as a package; however, this could be
handled by ignoring the package if the distribution contains the
binaries in the root.  In this case, the distribution would contain
the sources within its own tree, not the package tree.

Thus it would look like this:

++ Oxygen
 |
 + EigerSteinBeta
 |
 + Packages + Network
|
+ System
:
:

...and so on.

> Fourth, we need to decide if packages should have their own tree.

I think they should.

> Are we
> going to try to make them work on as many releases as possible?

I think they should.

> If so, I
> think a separate tree for packages is in order. I also, like David's diff
> idea for them.

This doesn't necessarily help in this case, though: the distributions
now present are starting to show direct incompatabilities:

* glibc 2.0.7 vs. glibc 2.1.3 vs. glibc 2.2 (future)
* Linux 2.0 vs Linux 2.2 vs Linux 2.4

What the diff file does is to allow a user to get an unmodified source
tar-ball, and apply the patch to it.  It also means that it puts into
one place all the work we do to get the source compiled, and it is
saved and reproduceable.  Some of the reasons I wanted to use diffs
are: a) creates a package DURING THE MAKE process; b) be able to
remove the source directory tree in favor of the source file and a
diff file.  This models after the Debian and Red Hat way of doing
things; Debian puts out the source tarball and the diff next to each
other in their source directory; Red Hat puts everything together
(source tarball, patches, etc) together into a source RPM.

I'm still contemplating how to create packages that work under glibc
2.1.3 and MARK themselves as such.  Perhaps this is a problem which
should be discussed..

Red Hat and Mandrake and others put things like versions, CPU, release
version, into their names.  With the 8.3 limitation imposed by LRP,
the package names for us don't have that kind of room.

These are the things I've thought about, and my opinions on them:

* Include versions in the package name - not enough name space.
* Include a file (flag) such as: /var/lib/lrpkg/.glibc-2.1
* Add "(2.1)" to the version, in the .version file, like so:
3.61(2.1)-1
* Use a different extension than ".lrp" - the new Oxygen, using glibc
2.1, is not limited to using *.lrp - but this is not true of other
distributions

I tend to lean towards the latter two, at least for glibc 2.1
binaries.  The reasons are:

* Someone has to CHANGE the extension to use them - this right away
tells them something is different.
* When listing versions, the "(2.1)" stands out more than the
others...
* Of course, then there is always the SegFault :O

> How close are you to committing the Oxygen devel tree to CVS?

The CDROM contains a direct image of the Oxygen development source
tree, along with the packages.  Everything in src/base is either a
binary in the system or a package on the boot disk.  Everything else
in src/ other than src/base are package sources; pkgs/ contains the
results of compilations.

Doing this should set up a good CVS tree for Oxygen:

# cd $CVSROOTDIR
# mkdir -p ./mnt
# mkdir -p ./Oxygen
# mount -o loop Oxygen-2.1.3-CDROM.iso ./mnt
# cp -a ./mnt/src/base ./Oxygen

Is this possible on SourceForge?  Also, to get packages, do:

# cd $CVSROOTDIR
# mkdir -p ./mnt
# mkdir -p ./packages
# mount -o loop Oxygen-2.1.3-CDROM.iso ./mnt
# cp -a ./mnt/src/* ./packages
# rm -rf ./packages/base

That should do it.

___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [Leaf-devel] CVS structure (was: Patched kernel 2.4.3 (about to be) available.)

2001-04-20 Thread Mike Noyes

Charles Steinkuehler, 2001-04-20 08:45 -0500
>It'd be interesting to see how much each option affected size, but
>overall a 411K 2.4 kernel is VERY COOL, and should be quite usable for
>floppy firewalls.  While I'd like to see a 'one size fits all' kernel,
>perhaps there could be a floppy only, minimal kernel, and a larger
>kernel with all the 'goodies' like RAID, loopback, etc (compiled as
>modules, where possible) for folks running from CD, HDD, Flash, or what
>have you.

Charles,
This sounds good.

Getting back to your CVS comments from yesterday. I agree, we need to start 
committing files to CVS. There are approximately six people working 
independently on the EigerStein update. Putting these individual pieces 
into CVS will allow all of us to build off of each others efforts.

First, Charles this looks like a significant update. Are we still going to 
call it EigerStein, or have you decided on a new name?

Second, are we creating a release that branches from 2.9.8, or ESb2?

Third, does anyone have suggestions for the tree structure? Should we use 
Dave C.'s or Matthew Grant's devel snapshot as a template? I did the 
following search on Google looking for ideas.
http://www.google.com/search?q=cvs+repository+structure

Fourth, we need to decide if packages should have their own tree. Are we 
going to try to make them work on as many releases as possible? If so, I 
think a separate tree for packages is in order. I also, like David's diff 
idea for them.
https://sourceforge.net/tracker/index.php? \
func=detail&aid=412704&group_id=13751&atid=313751

David,
How close are you to committing the Oxygen devel tree to CVS?

Jack,
How close is Ladybug to release? Is it ready for CVS?

Scott,
I think Echowall should be added to CVS. Do you agree?

--
Mike Noyes <[EMAIL PROTECTED]>
http://leaf.sourceforge.net/


___
Leaf-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-devel