summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 1fcf0f928526b8fb34b357ad757f9f8b10f8dccb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
TODO for 0.10.5
===============

[ ] Our current host tools use their target counterparts for getting the
    sources; if the target counterpart is not selected, the dependencies
    are not created correctly! Test: switch off ipkg but activate
    host-ipkg.

[ ] audit 'get' stage
[ ] test OSELAS.Crosstool
[ ] util-linux: re-calls automake during compile
[ ] unbreak host-zlib; it is necessary for host-umkimage if there is no
    zlib devel packet installed on the host.
[ ] update ChangeLog
[ ] omitting glibc installation should be possible, first hack attempt done
[ ] creating links into non existent directories fails, but does not break the build!

TODO for PTXdist 0.10 Series - High Priority
============================================

[ ] we seem to need python2.3-dev, reported by Marco Cavallini:
[ ] pureftp's configure runs twice and needs host's autotools!

-------------------------------
target: host-ipkg-utils.install
-------------------------------

mkdir -p ""/home/koan/ptxtest/generic_test/local""/usr/bin
# ipkg.py is forgotten by MAKE_INSTALL, so we copy it manually
# FIXME: this should probably be fixed upstream
make[1]: Entering directory
`/home/koan/ptxtest/generic_test/build-host/ipkg-utils-1.7'
cp ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions
ipkg-upload /home/koan/ptxtest/generic_test/local/usr/bin
python setup.py install --prefix=/home/koan/ptxtest/generic_test/local/usr
/usr/lib/python2.3/distutils/dist.py:213: UserWarning: 'licence'
distribution option is deprecated; use 'license'
  warnings.warn(msg)
running install
error: invalid Python installation: unable to open
/usr/lib/python2.3/config/Makefile (No such file or directory)
make[1]: *** [install] Error 1
make[1]: Leaving directory
`/home/koan/ptxtest/generic_test/build-host/ipkg-utils-1.7'
make: ***
[/home/koan/ptxtest/generic_test/state/host-ipkg-utils.install] Error 2

[ ] if a packet is not selected, it's dependencies are not generated. If
    you kick a stage then, the dependend stages are not executed.
    Solution: generate the stages as well, so we get an error in that
    case.

[ ] Start a "Global Patch Repository Unification Project". Potential
    members:

    	* PTXdist
	* T2
	* OpenEmbedded
	  http://www.openembedded.org/repo/org.openembedded.dev/packages/
	* Gentoo
	* Debian
[ ] jbe: timezone files installation doesn't work as expected
[ ] jbe: if ipkg building crashes, PTXdist doesn't break. rsc: see
    pipeline error fixing in scripts/libptxdist.sh
[ ] rsc: ChangeLog automatism:
    http://www.simios.org/node/266?PHPSESSID=a736cf6396ad789e0148d9690761e733
[ ] ero: add -mcpu=... to PTXCONF_TARGET_EXTRA_CPPFLAGS, to let host tools
    definitely barf if they are accidently being built with the target
    compiler.
[ ] mol: ptxdist commands behave differently for arguments which exceed
    the "current" command; some continue parsing and some exit.
[ ] mol: add possibility to 'ptxdist print' more than one variable in
    one make call
[ ] check if ${PTXCONF_PREFIX} can be written to and barf if not
[ ] add sanity checks for all user configurable variables (especially
    paths)
[ ] audit project files for CROSS_AUTOCONF
[ ] Problem: When doing things like "PKG_CONFIG_PATH=bla something",
    something does not inherit the environment variable PKG_CONFIG_PATH.
    To achieve this properly, we need to export these variables to the
    calling shell. The same applies to lots of variables from
    Rules.make.
[ ] Write macros $(call compile) and $(call configure).
[ ] libxslt crypto support is broken
[ ] add menu entry for user local config files in /etc
[ ] image build mechanism tries to access data and infos from already
    disabled targets! (if they where enabled before). It does so
    unless a manually delete of the remaining and (now) useless targets
    in "state/"

Interesting packets
-------------------
[ ] RSC: http://cryptmount.sourceforge.net/
[ ] RSC: http://www.nongnu.org/failmalloc/
[ ] RSC: http://stapgui.sourceforge.net
[ ] RSC: http://home.eol.ca/~parkw/index.html
[ ] RSC: http://podgorny.cz/moin/UnionFsFuse
[ ] RSC: http://perso.wanadoo.fr/sebastien.godard/
[ ] RSC: http://clpbar.sourceforge.net/
[ ] RSC: http://xmlrpc-c.sourceforge.net/
[ ] RSC: http://www.vanheusden.com/httping/
[ ] RSC: http://urunlevel.sourceforge.net/
[ ] RSC: http://www.freshmeat.net/projects/bootutils
[ ] RSC: ethtool: http://sourceforge.net/project/showfiles.php?group_id=3242&package_id=19201
[ ] RSC: ntpclient: http://doolittle.faludi.com/ntpclient/
[ ] RSC: openntpd: http://www.openntpd.org/
[ ] RSC: http://www.reportlab.com/ftp/
[ ] RSC: http://rlib.sicompos.com/
[ ] RSC: MatrixSSL
[ ] MKL: lilo, tinylogin targetinstall (RSC: find out what MKL means here)
[ ] RSC: finish integration of zebra
[ ] RSC: install e2fsck

Test suite components to be added
=================================

[ ] RSC: http://ltp.sourceforge.net/tooltable.php
[ ] RSC: Add more test suite stuff:
    http://gcc.gnu.org/install/test.html
    http://www.plumhall.com/stec.html
[ ] RSC: lmbench
[ ] RSC: add regression tests from crosstool
[ ] RSC: look at Herbert Poetzl's cross test stuff:
       	 20040224182505.GA25038@MAIL.13thfloor.at
         Update: seems to have disappeared.
[ ] RSC: look at Linux Kernel Headers project:
    http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
[ ] RSC: audit for LSB compatiblity; are there any handable tests for
    checking compliance?
[ ] RSC: have a look at http://asic-linux.com.mx/~izto/checkinstall/

Current TODO List
=================

[ ] JBE: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27363

[ ] bump bluez-utils/libs to 3.0 (needs dbus)

[ ] port scripts/mkprefix to non-perl

[ ] ptxdist arch <arm|um|ppc|....>

    Split build-target into build-${PTXCONF_ARCH}

[ ] RSC: port XOrg 7.0

    Requirements, according to
    http://xorg.freedesktop.org/wiki/ModularDevelopersGuide

	[x] pkg-config > 0.18
	[ ] write test in configure to check for >0.18!
	[x] expat 1.95.8
	[x] freetype 1.2.9
	[x] fontconfig-2.2.3 recommendet, we have 2.2.99 (latest 2.2)
	[x] libpng 1.2.8
	[x] libdrm 2.0
	[x] zlib 1.2.3
	[x] mesa 6.4.1

    Things noticed during xorg port:

	[ ] address PTXCONF_XORG_SERVER_QUIRKS by sane upstream patching
	[ ] check ac_cv_* variables - they are problably not really
	    needed, at least not all of them.

[ ] Tree Structure
    RSC: Find sane place for generic files from projects/generic
    ERO: Make subdirectories, e.g. for x.org stuff. Might use symlinks
    to avoid changing the scripts.
    SHA: push make and in files into subdirs, add patches to that dirs
    as well.

[ ] Menu Structure
    JBE: Use menuconfig instead of menu + configs whereever possible.
    It looks nicer in "menuconfig" and its much better supported when using
    "xconfig"

[ ] Program Name Sorting
    JBE: Sort program entries in "Shell & Console Tools" and other menus by
    function, not by program name! Especially if there is more than one
    program that can do the job (see menu entries "Apache 1", "Apache 2" and
    "thttpd").  To be more concise the whole group should have a checkbox.
    Not until someone unlocks the "HTTP Server" group he can see the
    programs in this group.
    RSC: Please let's stay with alphabetic sorting in the menues. You
    don't find programs any more otherwhise. If the structure is not
    clear enough we should clean it up.

[ ] Graphical Configurator
    JBE:  For a graphical configurator instead of the ncurses one:
    Maybe ship a static linked "qconfig" version, otherwise the
    user also has to install the qt development libraries
    Same with ncurses (menuconfig), or the user has to be forced
    to install the development libraries for ncurses
    RSC: good idea, but only for customer packets. Maybe this will
    become obsolete when we have a good Eclipse based configurator.

[ ] JBE:  Make target "qconfig" starts target "oldconfig", even if
    the configuration was aborted! Target "menuconfig" doesn't

[ ] Startup Documentation
    JBE: add documentation to start from scratch with "make setup"
    this menu should provide the toolchain, all pathes to everything
    (also to a prebuilt toochain). All other targets should be project
    specific.

[ ] JBE: more help texts

[ ] RSC: make projects doesn't find local_projects/something, if
    something is a softlink and not a directory.

[ ] RSC: replace perl by (modern) sed -i (hosttool)

[ ] RSC: Do ipkg stuff during make images

[ ] RSC: in NATIVE=1 mode libpthread.so.0 is not copied; find out why

[ ] MKL: let get stages depend on the actual makefile

[ ] RSC: Finish autotoolisation of chrony. The old features from the
    handwritten configure script have to be added; readline dependency
    is now temporarily fixed, it should be made optional again.

[ ] RSC:sed: replace all "sed" occurences by $(SED) and maybe switch to
    a newer GNU sed, which has to be packaged as a hosttool then.

[ ] RSC:Invent a project_clean mechanism (workaround done)

[ ] RSC:is "select GLIBC_DEBUG" in gdb.in necessary??

[ ] sandeep: add a script to setup a new project interactively

[ ] RSC: do module stuff in kernel only when modules are enabled
    in kernel configuration

[ ] RSC: audit bash for configure/menu entry consistency

[ ] RSC: bing outputs strange large numbers when being compiled for ARM
    :-) Add test suite for floating point.

[ ] RSC: port LTT-ng

[ ] RSC: Mozilla has still problems with cross compilation. See the
    following Bugzilla entries for possible solutions:
    http://bugzilla.mozilla.org/show_bug.cgi?id=104541
    http://bugzilla.mozilla.org/show_bug.cgi?id=172651

[ ] RSC: add some useful statistics at the end of build (root size, image
    size etc.).

[ ] RSC: fix busybox extract script to support "select CONFIG_foo"

[ ] RSC: make MTDutils release and, by the way, fix build process.
    This "override" mechanism in the Makefile seems to be broken.
    MKL: mtdutils buildprocess fixed, splitted into 2 seperate file
    mtd.make and xchain-mtd.make 'override' seems to be working

[ ] RSC: audit all configure calls to be relative; configure scripts
    seem to have major problems when being called with absulute path

[ ] RSC: test flash

[ ] RSC: finish integration of iwconfig

[ ] RSC: add #ifdef __cplusplus ... #else ... #endif to bits/in.h

[ ] RSC: add .in file for xvkbd; integrate fixes for Makefile...

[ ] MKL: check openssl works with arm big endian (-DL_ENDIAN doesn't look good)

[ ] MKL: gmp3 cannot produce shared libc for ppc target (host i686-linux)

[ ] MKL: uclinux, patch breaks due to unclean produced patch at uclinux

[ ] MKL: test betaftp, old breaks due to a patch from DKE

[ ] MKL: test wxwindows

[ ] MKL: gawk fix prefix, due to hard coded path

[ ] MKL: integrate ldd (./build/glibc-2.2.5/elf/ldd.bash.in)

[ ] MKL: tweak wireless to xcompile

[ ] RSC: you currently need gdk-pixbuf-csource on the host

[ ] RSC: pango has a patch which has to be verified (GLIB_CFLAGS)

[ ] RSC: you currently need libXcursor.so.* and xcursorgen on the
    development host

[ ] RSC: replace bootdisk build mechanism by genext2fs; mke2fs is able
    to reserve N blocks at the beginning of the image!

[ ] KUB: busybox/ash job control is broken

[ ] RSC: add checksums for download

[ ] RSC: restructure config file layout

[ ] RSC: add a test: if #!/bin/sh scripts return
    "/bin/sh: bad interpreter: Permission denied"
    tell the user to look if his filesystem was monted
    with the "exec" option

[ ] RSC: check for uImage targets: have to depend on vmlinux, not on
    zImage.

[ ] LGR: concept for debug levels: strip, -g, -S

[ ] LGR: key infrastructure: integrate signing, activate this only
    when running the release cycle.

[ ] BBU: Implement scheme for alternative download-URLs as
    fallback (e.g. mirrors)

[ ] BBU: rsync URLs

[ ] BBU: show required cross-tool, host-gcc and -glibc-versions (compilercheck)

[ ] SHA: scripts/make_image_root.sh puts all ipkg packages from imagedir into the
    resulting images, even those which are lying there from old builds

DONE
----

[x] add prerequisite checks to configure script; find out which
    prerequisites we really need.

[x] Toolchain selection
    JBE:  add an identifier to a (central) toolchain (in "make setup").
    It should be possible to use more than one toolchain in a local
    ptxdist folder (for different targets/projects). So the idetifier
    selects the right toolchain for this project. This identifier
    simplifies the toolchain selection. There could be a central
    folder in the system with all informations (and identifiers)
    about any available toolchain installed on this system.
	 --> done: "ptxdist toolchain path" per project