automatic source downloading/compiling (for pgcc optimization)
- To: firstname.lastname@example.org
- Subject: automatic source downloading/compiling (for pgcc optimization)
- From: Ervin Walter <email@example.com>
- Date: Mon, 3 Aug 1998 17:24:55 -0500
- Message-id: <firstname.lastname@example.org>
I have recently downloaded and compiled pgcc (pegcs) and recompiled some
debian pacakges with amdk6 optimization using something like
penium-builder, and I am pleased with the results. I can post details if
people would like to see the limited tests I did, but basically, with k6
optimization there is an improvement over unoptimized and over pentium
optimized on my k6-2 300.
Since, I like to follow unstable rather closely, I was wondering if the
following functionality is currently available or is planned for the near
future. If it is being worked on, I'd be happy to help.
For a specific list of pacakges, instead of downloading .debs and
installing them, apt would download source, recompile (with dbuild or
something like this) and install the generated deb. This would allow
someone (me) to have a list of pacakges in /etc/apt/recompile or whatever
that I like to recompile with amdk6 optimization. If i had dbuild or
whatever set up to build with the desired optimization, I could have
optimized pacakges with the same ease with which I currently have
unoptimized binaries. This is more cpu intensive for me, but it means the
ftp sites do not have to keep packages for all types of optimization
(pentium, pentiumpro, amdk6, etc). I am almost sure this doesn't currently
exist, and I'm not familiar with the internals of apt so I'm kind of afraid
to tackle this without some study.
Easier and almost as good but not ideal (requires human intervention):
Seperate programs to do the work (not in apt). I could apt-get update and
see a list of new/updated pacakges in dselect, then do the following:
1) dselect update is done and a list of new/updates packages is noted by me
in dselect select. quit dselect.
2) call some script with a list of the new/updates (that I want optimized)
on the command line.
3) script calls some program that downloads the source automatically from
the ftp/http site. it would be nice if apt-get had this functionality so
you could say 'apt-get installsource somepackage' kinda like you can now
'apt-get install somepackage'. Basically anything that eliminates the need
for me to scan the ftp site and/or /var/lib/dpkg/available by hand to find
the source would make life easier.
4) script calls optimizing dbuild for the downloaded source packages
5) script installs new debs
6) script cleans up
7) dselect is run to install the remaining new/updated packages.
This is plausible. The only thing I think that needs to be created is the
automatic source finding/downloading program. Maybe this already exists
somewhere I don't know about. Unfortunatly, human intervention is still
needed from step 1 to step 2. This second solution is less elegant than
the 1st, but doesn't require me to hack apt (which I don't currently
understand). I could probably put together some perl script to do the
downloading of the source, but maybe it is better to just break down and
learn how apt works and add it there (where it probably belongs).
Is there anyway to get a parsable list of updated/new packages after
apt-get update? Then it might be easy to compare this list to a config
file with a list of packages to be optimized. This would eliminate the
Anyway, what do you think? Is there some much simpler way to get amdk6
optimized packages that are sort of up to date on a semi regular basis
(without having them precompiled on the ftp site)?
Also, concerning pgcc. Is anyone packaging this? It was easy for me to
patch egcs.orig with pgcc and install in /usr/local, but I had trouble with
compiling when I patched egcs with debian.diff and pgcc. The patches both
apply ok, but pgcc changes the compiler hosttype to i586-pc-linux-gnu or
something. This messes up the Makefiles or debian/rules somewhere where it
expects the original i486-whatever. I didn't look to hard at this problem
and there may be others. Installing in /usr/local/ works fine, but it
would be nice to have a debian pacakge.
Ervin Walter email@example.com
Graduate Student firstname.lastname@example.org
Department of Chemistry email@example.com
University of Wisconsin-Madison http://www.sit.wisc.edu/~edwalter
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact email@example.com