[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

'practice' question regarding 'meta' packages



I've been working on the task of compiling the gcc-m68k-linux source
package for a while now, and have a process I can set into a script which
could automagically download and build the cross-compiler, including a
temporary custom binutils package.

My script will need to do these things:

0) Make a temporary build directory.
1) Download ldso, libc6, libc6-dev for the target <arch>.
2) if binutils-<arch> is not installed,
   a) download binutils source,
   b) compile for <arch> target,
   c) install binutils-<arch> temporarily.
3) if dpkg-cross is not installed,
   a) install dpkg-cross temporarily.
4) dpkg-cross --install --arch <arch> ldso, libc6, libc6-dev.
5) Download gcc-m68k-linux source.
6) Munge gcc-m68k-linux control, rules, and changelog (until a more
   general crosscompiler source package is made)
7) Compile munged crosscompiler.
8) install crosscompiler package.
9) remove any temporary packages if admin okays.

The problem I'm currently having is with #4 above.
gcc-m68k-linux expects to find cross header files under
/usr/<arch>-linux/include.
binutils-<arch> places into /usr/<arch>-linux/bin.
dpkg-cross defaults to placing into /usr/local/<arch>-linux, and can be
changed by the admin.

Can do three things, that I see:
0) rework gcc-m68k-linux' Makefile.
1) make binutils-<arch> install into /usr/local/<arch>-linux/bin and munge
   gcc-m68k-linux.
2) be able to override dpkg-cross on a temporary basis, so that headers
   can go into /usr/<arch>-linux/include.

#0 is currently out of my league as a coder, but it could happen probably
if/when gcc-m68k-linux is updated/generalised.
For the purposes of this script, #2 would be the 'most correct/easiest'
method.

As I still have a ways to go toward becoming a developer (I'm waiting on
in-person keysigning) I felt it better to bring it up on -devel instead of
simply filing a wishlist against dpkg-cross.

Should #2 be done?




Reply to: