new port: and the winner is....
hi
---the name of the game
I have reread dpkg-*/archtable a few times and I have
seen that the name of the ports have been chosen, in the past,
without following any rigorous rule; e.g,
i386 means 'linux kernel on Intel 32 bit 386 compatible processors'
m68k means 'linux kernel on Macintosh and atari and sun3 and amiga'
etc,etc
I have then read all the (many) replies
(and the ones on debianplanet, too); there were many ideas; thanks.
I have then decided for the name of the new port: I have
decided to stick to
canonical Debian architecture name= win
full name= Debian GNU/win
Why? well, there was no big consenous on any name; so I looked at the
problem the other way around, and saw that nobody was actually against
'win', but for
jsbien@mimuw.edu.pl (Janusz S. Biee?), who said that
> In hacker language, calling something a "win" is a form of praise. We
> don't want to praise a non-free Microsoft system, so we don't call it
> "win".
but this does not apply here; I indeed hope that 'Debian GNU/win'
will be a 'win' :-)
-----why is the 'win' port important?
because there are many people that use a PC and cannot, or don't want,
to completely abandon their usual O.S. (you know which O.S. :-} )
e.g. some friends of mine have expressed some concern
when I proposed to install Debian: they are quite productive
using Micro$oft window$, and, if they would boot a linux system;
they would not even be able to configure their usual e-mail provider
and yet they may enjoy using Debian; their knowledge of Debian may start
from using some powerful tool (think of the findutils !),
and extend smoothly; and when they really start enjoying it,
they may even decide to 'boot in the brave new world'
---- what has been done
I have patched dpkg to add the new architecture.
I have already cross compiled a first version of some packages, namely:
zlib1g libtiff libjpeg libpng glib-gtk1.3 gdk-pixbuf gtkmorph;
I copied manually the latter into a windows system, with all the libs,
and it really works.
I have sent many bugs regarding this port; in particular, I hope
to have a version of dpkg-cross that will work with the new port , to
speed things up
I have written an .html that explains the port, and it explains
how to adapt packages to cross-compile properly
----what needs to be discussed
1) I need a web page, linked under www.debian.org/ports,
to put the description of the new port; where do I put it?
I also need some web space to put the material (.debs, etc)
2) I have a big problem with shared libs; I am clueless;
I dont understand if I should generate them as
a) libfoo.so
b) libfoo.dll
c) both of the above
I dont know enough of the problem, please help.
does 'libfoo.so' work with cygwin ?
do we have versioned dll's ?
if so, when the package generates libfoo.so.1 , the 'win' port should ship
libfoo.so.1.dll , since I dont think that libfoo.dll.1 would ever work
if we choose b) or c) , we will need to
patch a lot of things: e.g., we may patch dh-movefile so that
it automatically prints a warn and moves libfoo.*.dll when
it moves libfoo.*.so; nonetheless, we will need to patch
a lot of 'install libfoo.so' lines in debian/rules
(adding 'ifeq ($(DEB_HOST_ARCH),win), install libfoo.dll, else ....)
we also need to modify dpkg-shlibs
3) since , to cross compile, it is useful to have the variables
DEB_BUILD_ARCH=i386
....
DEB_HOST_GNU_TYPE=...
properly set in debian/rules, I have a proposal: we may add
a makefile /usr/share/dpkg/rules.std to dpkg-dev
that defines many useful variables, that is, containing
---
DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
....
DEB_HOST_GNU_TYPE:= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
DEB_CONFIGURE := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
DEB_CC := $(DEB_HOST_GNU_TYPE)-gcc
DEB_CXX := $(DEB_HOST_GNU_TYPE)-g++
....
else
DEB_CC := gcc
DEB_CXX := g++
...
endif
---
then, to prepare a package to cross compile ok, the first thing would be
to add an 'include /usr/share/dpkg/rules.std' into debian/rules;
and then to add some lines here and there, e.g., CC=$(DEB_CC) before a make
4) what about ncurses? do these work in windows' terminals?
--------from here on
from here on, I think that we may restrict the discussion on 'win'
into the win32@lists.debian.org mailing list.
if someone wishes to collaborate, please subscribe there: we will then
divide the tasks; next things in line are:
0) port the important libraries; in particular, to port dpkg and apt-get,
I need to port libstdc++ (which is 16Mb!)
1) port the base packages
2) port all the build tools
3) port anything we like
------------
bye
a.
--
A Mennucc
"È un mondo difficile. Che vita intensa!" (Renato Carotone)
Reply to: