summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 49614ab6f15ecf1dd2591fcab89c23c5290245b4 (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
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
TODO for 0.10.6
===============

After branch:

[ ] rsc: audit if 'ptxdist get' fetches all packets correctly
    [ ] http://www.sqlite.org/sqlite-3.2.8.tar.gz does not exists any more
    [ ] ftp://ftp.leo.org/historic/comp/os/unix/networking/mgetty/mgetty1.1.30-Dec16.tar.gz
        503: Service Unavailable

[ ] update ChangeLog

After release:

[ ] rsc: update OSELAS.Toolchain and OSELAS.Crosstool to use this version.

TODO for 0.10.x
===============

[ ] audit all packages if they change the target CPU (with --march or --mtune)

   [ ] openssl does so

[ ] jbe: uRamdisk should be built from ipkg packages instead of root/ content!

[ ] rsc, bbu: audit THING mechanism in get stage, looks a little bit
    overcomplicated

[ ] jbe: Adding "ant" to the required host tools. Emit a warning if its not
    present, but not fail (required only to build jvisu)

    Update 2007-01-24:	rsc: rejected. Ant is only needed by tools which
			use Java, and we don't want a prerequisite to
			java in PTXdist. Maybe add some loud warning if
			packets are built which use java, such as jvisu.

[ ] rsc: fix 'ptxdist newpacket host'; find out what mkl intended with
    this "class" mechanism and make sure it produces sane output. Check
    with mkl.

    Example: ptxdist newpacket host-existing-target:

    - asks for version number, which should be derived from existing
      target version
    - asks for URL, but we want to use the download mechanics from
      target
    - should output warning that you have to change := into = for
      corresponding target packet

[ ] discuss UID of user "rpcuser"

[ ] discuss UIDs and GIDs of other important system users

[ ] jbe: reduce directory count on top level, combine build-* and
    local-* into a shared subdir rsc: we've agreed on this variant:

    	build-host/
	build-target/
	build-cross/
	local/
	local-target/
	local-cross/

[ ] repair make makro 'install'; there are sometimes three """.
    See procps.install for reference.

[ ] jbe: why does fam-2.7.0 always try to run the autotools? It fails on most
    modern systems -> mark as broken. rsc: real fix: find out why and fix.

[ ] jbe: replacing an *.make file for project use is easy. But how to
    replace a *.in file? rsc: no 0.10.6 issue, defer

    rsc: We have a problem with the dependency generator: if we have a
    packet which is already in ptxdist a second time in the local
    project, ptxdist includes _both_ .in files, resulting in the
    dependencies from the ptxdist version being superimposed on the
    local project ones.

    jbe: correct the ouput of "ptxdist menuconfig" when configuration is finished.
    The output of
    *** End of configuration.
    *** Execute 'make' to build the project or try 'make help'.
    is outdated...

    rsc: while doing this, update to a recent kconfig version, with
    saner colours instead of this unreadable yellow.

[ ] we seem to need python2.3-dev, reported by Marco Cavallini:

[ ] Profiling support (kernel and userspace)
    best with host visualisation

[.] jbe: more help texts

-------------------------------
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://htop.sourceforge.net/
[ ] 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/

Old TODOs
=========

[?] 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}

[ ] 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.

[ ] 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.

[ ] 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] pureftp's configure runs twice and needs host's autotools!

[x] audit the logfile of AllYesArm for autotool calls

    Update 2007-01-24:	rsc: the solution is simple: just add
    			AM_MAINTAINER_MODE to the configure.in/ac if the
			autotools are re-run. This avoids that the
			maintainer dependencies are put into the packet.

   [x] util-linux: re-calls automake during compile;
   [x] libxslt: re-calls automake during compile
   [x] pure-ftpd: re-calls automake during compile

[x] jbe: all local sources (file://) are still do a touch into the package directory.
    (into "Source Directory"). If this file gets deleted, ptxdist builds the whole
    package again (and recreate the file in the Source Directory).

    Update 2007-01-24:	fixed; order of PACKET-empty check in extract
    			was changed.

[x] jbe: Chrony fails to compile

    Update 2007-01-25:	jbe: better fix; force chrony to use the wide ncurses lib
			if present, else the non wide one
    Update 2007-01-19:	rsc: fixed; ncurses didn't install the
			non-widechar variants of the libraries.

[x] OSELAS.BSP-Pengutronix-TechPool-trunk$ p select ptxconfig.dotgnu
    /home/rsc/svn/ptxdist-trunk/scripts/libptxdist.sh: line 26:
    /media/rscusb1_plain/svn/oselas/bsp/pengutronix/huettinger/OSELAS.BSP-Pengutronix-TechPool-trunk/ptxconfig:
    No such file or directory

    Update 2007-01-19:	rsc: fixed

[x] jbe: starting with a new and empty project should provide the user with
    a generic (and default) ptxconfig instead of an error message.
    But it should not do it automatically! It should ask before doing it!
    Otherwise we will end up with many ptxconfig files in many directories...

    Update 2007-01-19:	rsc: it's not so easy as "touch ptxconfig &&
			ptxdist oldconfig". Error message is improved
			the preferred way to start a new project is
			cloning.

[x] jbe: host-mknbi fails to build

    Update 2007-01-19:	rsc: doesn't work, hasn't for ages, deleted

[x] jbe: liboldX fails to build the ipkg but the build continues!

    Update 2007-01-19:	rsc: fixed

[x] unbreak host-zlib; it is necessary for host-umkimage if there is no
    zlib devel packet installed on the host.

[x] omitting glibc installation should be possible, first hack attempt
    done

    Update 2007-01-12:	No idea what the reason was; we don't have a
    			concept for anything else than shared libs and
			glibc.

[x] rsc: fakeroot-the-hosttool seems not to be found - reported by wrap. It
    looks to me as if $(PTXDIST_WORKSPACE)/local/bin has to be included
    into the path somehow. Ask mkl.

[x] 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.

[x] audit 'get' stage

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

[x] ptxdist should reject working as ROOT

[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

[x] discuss UID of user "nobody" and GID of "nogroup"

[x] jbe: ptxdist images fails for jffs2 fileimage creation
	it seems local-host/sbin is not in the PATH

[x] jbe: procps.install stage fails with:

	make: Ungültige Option -- y
	make: Ungültige Option -- y
	make: Ungültige Option -- L
	make: Ungültige Option -- /
	make: Ungültige Option -- L
	make: Ungültige Option -- /

	Seems the install macro emits: make [...] CFLAGS=""" LDFLAGS=""" [...]

[x] jbe: udev needs rules to control permissions on device nodes; jbe
    currently writes docs for this.

[x] jbe/rsc: /etc/resolv.conf and /etc/nsswitch.conf:
    Find a solution to generate DNS configuration files from other sources
    like boardsetup (I have no clue what this means).
    "Then either have no resolv.conf at all (use /etc/hosts only), or generate
    resolv.conf from 'ptxdist boardsetup' information and generate a
    sane nsswitch.conf."

[x] rsc: check if we can update mtd-utils from 1.0.0 to 1.0.1; mkl has
    already prepared the patches; find out why the revision number was
    not bumped. mkl: 1.0.1 needs acl, so we stay with 1.0.0

[x] ssh: server start scripts are missing

[x] ssh: key gen mechanics needed

[x] dbus needs user messagebus -> /etc/passwd; jbe: needs other user,
    non-root; add this user to /etc/passwd. Debian has a user called
    "messagebus", we should do it the same way. Define a sane UID (ask
    jbe)

[x] rsc: find out why mkl added this new dependency mechanism which
    searches for ${${LABEL}_DIR}/.ptx-extract.

[x] rsc: merge mkl's host/cross/target-pkg-config fixes. We need this to
    have a proper x.org and host-dbus.

[x] jbe: make DHCP client useful on the target. Currently only the binary
    will be built and copied, but does not work on the target

[x] jbe: update DHCP tp 3.0.5 or correct path to 3.0.4

[x] jbe: creating links into non existent directories fails, but does
    not break the build!

    Update 2007-01-12:	rsc/mkl: the install_link macro has mkdir -p
			calls in all relevant places; should not
			happen -> jbe: retest.