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

Re: dpkg-cross



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Wel most of it is in the dpkg-buildpackage wrapper from dpkg-cross. I
> hacked up the compiler recognition (so it also allows other compilers
> than <arch>-linux-gcc), put some lines in that pass on the library,
> extra flags etc... I got your package and should hack the differences in
> somewhere this week.

I've downloaded stag-addons_1.1.tar.gz from 
http://emdebian.sourceforge.net/emdebian/dists/unstable/main/source/, and 
looked there.

Seems that changes (over 1.14) are:

- - -Emdb command line switch added; it just sets 'emdebian' environment 
variable to 'true', and does nothing more (it also sets perl variable 
$emdebian, but it is not used anywhere)

- - $crossprefix configuration parameter is exported to environment variable 
CROSSPREFIX

- - $extraflags configuration parameter added, and exported to environment 
variable EXTRA_CFLAGS

- - $library configuration parameter added, and exported to environment 
variable LIBC

- - $config configuration parameter added, and exported to environment 
variable CONFIG

I may easilly incorporate those into dpkg-cross 1.14.6.
However, first I'd like to get some comments on the following.
- - I can't get what's that new -Emdb switch for (just setting 'emdebian' env 
variable?);
- - $library and $config are not the best names for configuration parameters: 
it's difficult to guess what these names mean; probably LIBC should be set 
to $libc? And what's CONFIG for, I can't guess ...
- - cross-compile(5) manpage should be updated.

Maybe it's better to create a more general solution? What comes to mind:

- - allow /etc/dpkg/cross-compile to define ANY environment variables 
directly in /etc/dpkg/cross-compile;

- - or even more general: dpkg-buildpackage wrapper will get a "mode" 
parameter (e.g. -m MODE); /etc/dpkg/cross-compile will have "mode 
sections", that define, which environment variables should be set in which 
mode; so one mode will be used for emdebian, other mode for debian 
packages cross-compiling, others for something else ...

Isn't that a better solution that your changes? This may be implemented in 
half-an-our, and won't require a rewrite when tomorrow you will need some 
more environment variables.


One more thing with stag-addons: it provides some non-null information 
in /var/lib/dpkg-embed/info and /var/lib/dpkg-embed/alternatives; this 
information is not consistent with what is in /var/lib/dpkg-embed/status. 
That's strange.

And about stag-get: it seems that it replaces /etc/apt/sources.list and 
other files for a time; I believe it's a very bad idea, because it will 
left host system broken if it's interrupted. Probably some games with trap
shell builtin may make situation a bit better, but still it will be unsafe.
On the other hand, apt allows to redefine almost any parameter in command 
line or in a configuration file! You may make it to use other files 
instead of /etc/apt/sources.list, /var/cache/apt/*, etc, etc
I believe this should be used instead of altering important system 
configuration files...

Nikita
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAvO7isTbPknTfAB4RAgXHAKCcyImlHUG8aXnunOzgs4EVbclJAgCcD+HL
9jeQTllA3sgKjxcJfxp0X/I=
=wX2z
-----END PGP SIGNATURE-----



Reply to: