MiKRO wrote:
Hi Mark,
I've seen some of your remarks about dev site here and there but I
never got into it -- please, could you tell me what do you have in
mind?
>From my point of view, we need something like "central build machine",
where one could download latest stable version or either latest
nightly builds. This applies especially to RPMs which use mintlib
since we lack of shared libs... so every new bugfix in mintlib is
pending to include into some application RPM even for years (I just
recompiled bash which was last updated in 2004 by you! and this is
even very bad example -- there are packages since 1999)
Maybe with this gcc4 working both on falcon and linux we could make
use of crosscompilers and arrange nightly builds in this way...
Maybe also some cvs/cvn repository would be nice? But it's true I
don't see anything bad on the current one ;-)
Or did you think something completely different? ;)
Mikro,
My vision involves several components, centered primarily around the
idea of proper package management.
We have 3 problems:
1. Packages don't get approved quickly enough
2. There's no suitable environment to test packages that might break
things
3. Since we are static linking, there's no way to include packages
for users with faster CPU. Everything is optimized mostly for 68000
yet we probably have no 68000 users!
My solution involves 3 discrete components:
1. A dynamic website running on a linux server in PHP.
- This is the central organizing and processing force behind
sparemint. It will handle users, permissions and privileges,
community review, multiple package repositories, package information,
package update lists/hashes, etc. The idea is that you will pick a
repository for your sparemint system, i.e. 68060, built on GCC4 with
-O3 package repository, and load your system up with those packages.
When a package is submitted, you would submit an SRPM and the
autobuilder would build all of the associated binary packages for
each repository. The packages would be in a test repository until a
couple people voted the package as tested and stable at which point
it would be replicated to stable. This could have issues due to
depedencies and users will be expected to not approve one package
which is dependent on one other package also in test... Users will
have to do the part of extreme dependency resolution because it would
be wasteful and stupid to write this code.
2. A build farm. Using php or bash scripts, this build farm would be
6 or so aranym instances which would each run a fully different
version of sparemint, one with gcc4, one with gcc 2.95, one for
68060, one for 68030+fpu, etc. Each aranym instance would autobuild
the SRPM and auto-upload the resulting packages to the website.
3. SUM or Sparemint Update Manager. A combination GEM/console
program that will connect to the sparemint website and automatically
download needed updates from your chosen repository. It also allows
you to do things like say
"sum install sed" which will connect, find the latest version of sed
for your repository, download and install.
MUCH of this functionality is DONE. The website is mostly done, the
autobuilder scripts are done, and SUM is mostly done but could use
some improvements from an experienced GEM/Windom/C programmer.
Notable abscence from the done list are the different aranym intances
optimized for the particular platform. The other being a location to
host this new sparemint site with a ton of disk space and bandwidth.
Since this will be multiple instances of sparemint it would need to
have probably 20GB+ diskspace to devote to sparemint.
People would be able to on a whim use the sparemint update manager to
replace every package on their system with the 68060 optimized
version, or things like that. While the system is statically linked
this would be safe and easy to do to a currently running system.
Think of the possibilities. Only thing required is TONS of bandwidth
on the server.
I need support, and I need to feel like people will use this. If I
get the support, I'll pony up the extra $50 a month for the bandwidth
on my FIOS fiber internet connection and make it happen. I stopped
working on this a couple years ago and very few people have noticed
or cared. What's the point of such work and expense? I already have
the available server and diskspace but it's at my house and thus my
house needs to the bandwidth and static IP.
BTW: To make use of cross compilers you need to have RPM working in a
cross compiling mode. I looked into this and there was big
problems. I forget what exactly. Multiple headless aranym instances
on a powerful linux box is the way to go probably.
Thanks,
Mark