summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 3b8a0c7e00296647405af0fdd102572d7e7741d9 (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
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
TODO (Prio A)
=============

[.] ipkg with dependecies

    update: 20090614 mkl:

	ipkg are created with dependencies now, image creation still works.
	however online update is still untested, though.

[ ] mol, rsc: improve user database concept. Especially for the system
    users we currently have the problem how to generate system users which
    are only necessary for certain services. Maybe some kind of
    /etc/passwd.d/* mechanism could be a solution? Discuss with team.

    Discuss UUID/GID of "rpcuser" and other important system users

[ ] rsc: GDB__VERSION: shouldn't this be taken from the toolchain, in
    order to be consistent with the gdb which is provided there? Discuss
    with mkl.

[ ] jbe: If someone adds a project local menu (*.in) file and uses
    'project_specific' as its SECTION name ptxdist should automatically
    generate an additional submenu "Project Specific Configuration" and
    include this menu into it. This should avoid a local "Kconfig" copy
    in each ptxdist project for such a simple addition.

[ ] lfu: some mountable devices are available after udev has started.
    hence we need an extra mount script to mount all entries in fstab
    instead out of rcS.

[ ] jbe: all test scripts should check if their interaction with the filesystem
    where successfull. If a file copy to /tftpboot fails, it should *not* continue.

TODO (Prio B)
=============

[ ] jbe: mplayer.compile: It seems very PXA specific now?

    i586-unknown-linux-gnu-gcc [...] -c -o vo_pxa.o vo_pxa.c
    vo_pxa.c: In function 'draw_osd':
    vo_pxa.c:964: error: unknown register name 'r5' in 'asm'
    vo_pxa.c:964: error: unknown register name 'r4' in 'asm'
    [...]
    vo_pxa.c: In function 'config':
    vo_pxa.c:964: error: unknown register name 'r5' in 'asm'
    vo_pxa.c:964: error: unknown register name 'r4' in 'asm'
    [...]
    make[2]: *** [vo_pxa.o] Error 1
    make[2]: Leaving directory `[...]/platform-i586/build-target/MPlayer-1.0rc2/libvo'

    --> menu contains pxa specific stuff. Maybe this should be modified?

    Even with disabled PXA specific options a build for x86 still fails:

    libvo/libvo.a(video_out.o):(.data+0x20): undefined reference to `video_out_x11'
    libvo/libvo.a(video_out.o):(.data+0x24): undefined reference to `video_out_xover'
    libvo/libvo.a(video_out.o):(.data+0x28): undefined reference to `video_out_pxa'
    [...] and much more

    Update 20090118 rsc: not reproducable, switched on again and we wait
    for sisyphus to explode.

[ ] http://www.osadl.org/Single-View.111+M52e8d0c2b2f.0.html

[ ] rsc: add "ptxdist export_bsp <dir>", similar to
    "ptxdist export_src <dir>".

    Structure:

    <dir>/README.txt
    <dir>/LICENSE.txt
    <dir>/Autostart.bat (optional)
    <dir>/index.html (optional)
    <dir>/install.sh
    <dir>/documentation/
    <dir>/images/oselas.bsp-phytec-phycore-12-root-full.jffs2 (optional)
    <dir>/images/oselas.bsp-phytec-phycore-12-root-headless.jffs2 (optional)
    <dir>/keys/ (optional)
    <dir>/packages/<platform>/foo_1.2.3_armel.ipk (optional)
    <dir>/sources/public/md5sums
    <dir>/sources/public/foo-1.2.3.tar.gz
    <dir>/sources/public/foo-1.2.3.tar.gz.md5 (optional)
    <dir>/sources/public/foo-1.2.3.tar.gz.asc (optional)
    <dir>/sources/private/bar-0.0.1.tar.gz
    <dir>/sources/unknown/baz-42.23.0.tar.bz2
    <dir>/oselas/ptxdist-1.99.12.tar.gz
    <dir>/oselas/ptxdist-1.99.12-patches.tar.gz
    <dir>/oselas/oselas.bsp-phytec-phycore-12.tar.gz
    <dir>/oselas/oselas.toolchain-1.99.3.2.tar.gz
    <dir>/oselas/oselas.toolchain-1.99.3-arm-v5te-linux-gnueabi-gcc-4.3.2-java-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized_i386.tar.bz2
    <dir>/oselas/oselas.toolchain-1.99.3-arm-v5te-linux-gnueabi-gcc-4.3.2-java-glibc-2.8-binutils-2.18-kernel-2.6.27-sanitized_i386.tar.deb

    - take care of all platforms: configs/*/platformconfig
    - images: images for all collections
    - for all optional packages: ask back if images, ipkgs etc. shall
      be bundled (with --force)

[ ] jbe: Shown pathes are much too long in "ptxconfig" and "platformconfig"
    while running "ptxdist menu"

[ ] jbe: We should provide a solution if someone selects "ptx" or
    "platform" while running "ptxdist menu" and these files are not new enough.
    (happens if someone wants to upgrade his ptxdist-1 based BSP). Currently
    there is only a error message, one should use "--force". Its correct, but
    is doesn't help! M$ help level!

    -> integrate --force into dialogs

[ ] jbe: most of the time thttpd does not respond to the USR1 signal.
	  - the start/stop script fails to stop this service

[ ] bbu, lfu, rsc, sha: "bspfix feature"

    Usecase:

    * create BSP config with "ptxdist menuconfig"
    * "ptxdist bspfix [bspfix-name]" (creates 2nd config internally)
    * user makes changes to the software config (menuconfig) and saves
    * some kind of "diff" is made between "selected_platformconfig" and
      bspfix-config
    * if user has one or several "bspfixes" around, they are patched into
      his ptxconfig on the fly

    Aims:

    * developer: can create their own local modifications of the bsp,
      without destroying the official one
    * customer: can make his own changes ontop of our releases; changes
      are easy to move forward


Before Release
--------------

[ ] rsc: we need a "tested distros" strategy for 2.0.0, with
    pre-packaged toolchains.

[ ] rsc: run dependency hunter and fix all remaining dependency problems

[ ] update ChangeLog from git

[ ] jbe, rsc: provide demo projects, including website documentation,
    maybe even elinux.org docs.

    Release tarballs in a way that they can be installed with ptxdist, which
    means that they have to be installed into the "projects/" directory in
    the toplevel dir, to be able to clone them.

    Provide debian packages of ptxdist, ptxdist-patches, toolchains and
    demo directories.

[ ] bbu: check ptxdist first-time-usage scenario for chicken-egg problems
    e.g. if you don´t set sane defaults for PTXCONF_SETUP_PROJECTPATH,
    ptxdist won´t find its own projects.

[ ] jbe: Would there be a solution to supress sysroot-* folders for target system
    (for example bare metall) that do not need a Unix filesystem?

[ ] jbe: it must be possible to force some userland components from inside the
    platformconfig. For example a platform specific kernel driver module
    needs a special component of the UDEV. Currently it does not work.
    Duplicating symbols in both config files may work, but it will be
    "BROKEN BY DESIGN".

    Update 20091017 rsc: Would it be possible to add that platform specific
    package in the platform?

[ ] rsc: configure continues, even if a test breaks. Example:
    checking lex library... sed: couldn't write 76 items to stdout: No space left on device
    grep: write error: No space left on device
    sed: couldn't write 46 items to stdout: No space left on device
    none needed
    checking whether yytext is a pointer... sed: couldn't write 29 items to stdout: No space left on device
    no
    [...anything proceeds...]

[ ] jbe: working with hd.img is very delicate. The incomplete partition
    table confuses the linux kernel, so any rewrite of the image after done
    one time fails with "no space left on device". Also fdisk fails when
    trying to repair this partition table. Only Windows can rewrite the
    partition table in this case. After this, also Linux is able to write to
    the hard disk again!  But the BIOS and Kernel on target side are
    successfull. Problem happend on SUSE-10.1 on host side and an USB to IDE
    adapter to initial write the hd.img to the harddisk.

TODO somewhen
=============

[ ] rsc: evaluate http://dolt.freedesktop.org

[ ] rsc: license management:

    - generate license dependency graph (based on objdump info?)
    - bundle GPL sources automatically

[ ] rsc: add sparse support

[ ] jbe: review samba configure stage. For a non-root and cross-compile run it
    seems to omit many tests and switches of many features in the final
    application. Check if samba_cv_HAVE_IFACE_IFCONF=yes and samba_cv_HAVE_MMAP=yes
    can be used all over all architectures as defaults

[ ] bbu: add minimal documentation for internal vars (useful for
    customer makefiles) -> see manual (not quickstart)

[ ] jbe: samba fails to run with:

    sys_gethostbyname: Unknown host. eth0
    can't determine netmask for eth0
    WARNING: no network interfaces found

    Seems to be a failure with current glibc

[ ] jbe: audit packages which are marked to be BROKEN

[ ] lfu: often used config files for X like xorg.conf or xinitrd shall be
    integrated into ptxdist generic files. the installation shall follow
    the scheme of other rootfs configuration files

[ ] jbe: 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!

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

[ ] feature request: add profiling support (kernel and userspace)
    best with host visualisation

[ ] jbe: more help texts

[ ] bbu: reimplement cuckoo-test

    - files w/ wrong build-arch
    - missing libs
    - statistics
    - stripped / non stripped files

[ ] bbu: reimplement generic pre- and post-flight checks

    - dependency checks
    - cuckoo-test
    - user defined checks
    - package tests
    - in-system test -> ltp

[ ] bbu: generic logging aproach w/ single and combined logs

    - combined log for normal use

    - build-logs per package, test-suite, etc would support features like

      - "quiet build", while still providing the full error
        output of the failing target
      - helpdesk notification fetaures
      - build statistics
      - better support for GUI driven builds

[ ] bbu,rsc,mkl: brain storming session

	Discussion about the whole PTXdist build-,
	deployment- and testing-mechanics:

	- Support different target package formats
	  Rationale: - Some standardization aproaches like carrier grade linux
		       or the linux standard base make rpm or dpk packages
		       mandatory.
		     - Users asked for it
	  Which package formats would be useful ?
	  		- ipkg
			- deb
			- rpm
			- openpkg
			- plain directory tree / tar[.gz]
	  ! Depends: Check rpm and deb database footprint
	  ! Depends: Discussion about the current installation scheme

	- Support binary package distribution
	  Rationale: Most Customers don´t want to build the
	  	     base System on their own. They want a
		     well defined base system and then apply
		     some changes, add files (probably on the fly)
		     by installing binary packages.
	  ! Problem: This might break the current PTXdist philosophy
	  	     (executeable documentation)
	  ! Depends: We would need some kind of install-filter or exclude-list

	- Deployment / Testing Frontend (maybe GUI driven)
	  Rationale: needed in a binary package distribution scenario
	  	     to customize the installation from a generic
		     binary package.

	- Support precompiled customer environment
	  Rationale: This would reduce compile times for
	  	     the customer, since he would start
		     directly w/ his own application
		     w/o the need for a full ptxdist run.
	  ! Problem: Build Hierarchy is not relocateable
	  	     -> libtool problems
	  ! Problem: Make depends on timestamps
	  Possible solutions:
	  	     - create intermediate build labels / paths
		     - tweak things during installation
		       (dirty, dirty ... how do we handle updates?)
		     - Provide a "full blown" toolchain with all
		       host-tools and chroot into it
		       (dirty, dirty ... needs root privileges)
		     - Provide a "full blown" toolchain with all
		       host-tools inside a virtual machine,
		       vmware image or CoLinux
		       (dirty, slow, but runs even with Windows)
		       (nasty, since it would be some kind of closed box solution)
		       (problem: how do we handle alternative toolchains in this case?)

	- Support Partitioned Images
	  ! Problem: We don´t want to use root privileges
	  ! Problem: Generate valid Partition Tables
	  ! Problem: ipkg list has to work inside the
		     target system, so we would need
		     two or more diffenrent installation "views":
		     - The partition image generation view,
		       which
		       a) respects partition boundaries
		       b) rewrites the resulting installation
		          paths respectively.
		     - The binary target package view (i.e. ipkg)
		       which
		       a) generates apropriate pre- and post-
		          installation scripts to i.e. remount
			  the partitions read/write
		       b) creates binary packages, rooted in
		          "/" on the target.
		     - An optional "user-view", where something
		       else can happen, i.e. transfering stuff
		       to an ftp server or mounting an image
		       with root privileges or as user via fuse.

	- TODO:
		- Create Use Cases:
			- What is covered by the current design
			- What would be nice, well designed and sane
			- What does $JON_DOE_HACKER  want
			- What does $JON_DOE_HACKER _need_
			- What does $CUSTOMER  want
			- What does $CUSTOMER _need_
		- Draw the big picture :-)
		- Create Roadmap

[ ] mol: add possibility to 'ptxdist print' more than one variable in
    one make call  bbu: maybe some kind of "ptxdist env" as in env(1) ?

[ ] check if ${PTXCONF_SYSROOT_TARGET} can be written to and barf if not

[ ] add sanity checks for all user configurable variables (especially
    paths)

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

[ ] 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/"

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

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

[ ] rsc: add checksums for download

Interesting packages
====================

[ ] rsc: http://en.opensuse.org/Icecream
[ ] rsc: http://cryptmount.sourceforge.net/
[ ] rsc: http://stapgui.sourceforge.net
[ ] rsc: bashdiff: http://home.eol.ca/~parkw/index.html
[ ] rsc: http://podgorny.cz/moin/UnionFsFuse
[ ] 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: 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 quagga


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

[ ] rsc: mutrace (mutex trace)
[ ] 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: audit for LSB compatiblity; are there any handable tests for
    checking compliance?
[ ] rsc: have a look at http://asic-linux.com.mx/~izto/checkinstall/


DONE
====

[x] rsc: fix python 3.x
    update 20100428 rsc: done by mol

[x] rsc: 'ptxdist images' for the i586 target sometimes does not work,
    the generated image is incorrect and grub stops booting.

    update 20100428 rsc: done

[x] rsc: multi stage BSPs: platform team releases a BSP, users use it.
    May involve 'apt-get install OSELAS.BSP-phyCORE-12'

    update 20100428 rsc: done

[x] jbe, rsc -> mgr: provide a "bare metal" project for Stellaris/Cortex-M3,
    to show how to use ptxdist-2 for non-Linux targets.

    update 20100428 rsc: done

[x] rsc: verify 'ptxdist newpackage' mechanics. Check all use cases,
    especially when creating new packages in ptxdist itself (not in the
    project). Workspace check needs more sophistication.

    update 20100428 rsc: seems to be fixed in the meantime

[x] rsc: port python 2.6 patches to 3.x -> mkl
    update 20100428 rsc: done by mol

[x] Write macros $(call compile) and $(call configure).

    update 20100419 mol: done

[x] libxslt crypto support is broken

    update 20100419 mol: done

[x] jbe: org-server fails if no xkbfile is selected

    update 20100419 mol: not sure what the problem was, but it seems to be gone.

[x] jbe: alsa-lib creates funny pathes at the install stage

    update 20100419 mol: done

[x] rsc: xorg-app-xkbcomp needs xorg-lib-xkbfile, but dependency doesn't
    work

    update 20100419 mol: not sure what the problem was, but it seems to be gone.

[x] rsc: xorg-data-xkbdata needs xkbcomp on the host - otherwhise we get
    a circular dependency ...

    update 20100419 mol: obsolete: xorg-data-xkbdata is gone.

[x] bbu: add more real GNU coreutils

    update 20100419 mol: done

[x] mol: bash configure --enable-job-control does not work when cross compiling
    posible fix in:
    https://iocaste.extern.pengutronix.de/svn/oselas/bsp/johndeere/OSELAS.BSP-JohnDeere-ComPC-trunk/rules/bash.make
    explained here:
    http://www.mail-archive.com/bug-bash%40gnu.org/msg03107.html

    update 20100419 mol: done

[x] rsc: http://www.nongnu.org/failmalloc/
[x] rsc: sysstat: http://perso.wanadoo.fr/sebastien.godard/
[x] rsc: ethtool: http://sourceforge.net/project/showfiles.php?group_id=3242&package_id=19201
[x] rsc: ntpclient: http://doolittle.faludi.com/ntpclient/
[x] rsc: openntpd: http://www.openntpd.org/
[x] rsc: install e2fsck
[x] rsc: LTT-ng

[x] download strategy: oe can be configured to download from a central
    server first and only fallback to the internet if packet is not there

    Update 20091019 rsc: The community has found that we already have this
    feature :-)

[x] ringlej. When the architecture is arm-ixp-big this message occurs:
    $ ptxdist kernelconfig
    <bla>/rules/ffmpeg.make:189: Please define the config options for this CPU type!

    20090625: fixed with:
	git: 2724dc0cd74b716b1ef770d847a5509291ce4bef
	svn: 10028

[x] rsc@thebe:OSELAS.BSP-Phytec-phyCORE-trunk$ ./p compile sw-ek-lm3s3748.compile
    /home/rsc/git/ptxdist/scripts/libptxdist.sh: line 125: unset: `PTXCONF_SW_EK_LM3S3748.COMPILE': not a valid identifier
    ptxdist: error: 'sw-ek-lm3s3748.compile' is not selected in
            /home/rsc/svn/oselas/bsp/phytec/phyCORE/OSELAS.BSP-Phytec-phyCORE-trunk/selected_ptxconfig

    PTXdist: fatal error ... cannot start, sorry!

    update: 20090614 mkl:

	[frogger@hardanger:OSELAS.BSP-Pengutronix-AllYes-trunk]$ ./p compile sw-ek-lm3s3748.compile
	ptxdist: error: 'sw-ek-lm3s3748.compile' is not a valid package name

	PTXdist: fatal error ... cannot start, sorry!

[x] some_autotool_fan: shebang-line of awk-scripts should use the $AWK
    value obtained from configure.
    20090610 wsa: we hardcoded gawk where needed. configure checks now
    		  for gawk explicitly.

[x] jbe: udev seems to load kernel modules by its own. How to disable it?

    20090610 lfu: the 80-drivers rule causes such behaviour. We don't install it
    to target, since it's mostly useless for embedded targets.

[x] bbu, lfu, rsc, sha: "collections"

    Observations / Ideas:

    * "modularity" doesn't fit our needs; we don't only want to build
      the base packages plus all modules; it is more something like:
      "build minimum set", or "build minimu set + feature x"

    * "collections" are lists of packages

    Use Cases:

    * "ptxdist --collectionconfig=base go" builds the package set "base"
    * "ptxdist --collectionconfig=headless_rt go" builds the package set "headless_rt"
    * "ptxdist --collectionconfig=all go" builds all selected packages
    * "ptxdist collection <pkgset>" creates "selected_collection" and makes it
      the default for subsequent commands

    Necessary:

    * separate "targetinstall" stage from "ipkg -> root/image"
    * How to call this?
    * API? "ptxdist --pkgset=<pkgset> foobar" installs root/ and image.blub from ipkgs

[x] jbe: Would it be possible to omit the "ptxconfig" and "platformconfig" menu entries
    when run "ptxdist menu" when the "selected_ptxconfig" and "selected_platformconfig"
    are real files than links (or not exist yet)? If they are real files, the project
    is a single platform one. There is no need for this step!

    Update 2009610 mkl: done

[x] 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
      mkl: this is not true!

    jbe: discuss the templeate rules and their content with mkl to shrink them or
    to adapt them to the current ptxdist behaviour

[x] mkl/jbe: Host's environment variable PKG_CONFIG_PATH leaks in.
    We want a whitelist instead of the current blacklist.

    Update 20090610 mkl: done

[x] jbe: fuse can be build without libiconv. The glibc iconv() works for
    it. But its configure is so stupid, it continues to detect a libiconv
    even if disabled and link against it.  (for example if libiconv is
    already built by accident)

    Update 20090610 rsc: done

[x] jbe: host-glib can be build against the iconv() in the host's glibc.
    There is no need for a host-libiconv!

    Update 20090610 rsc: fixed

[X] jbe: Running "ptxdist menu" shows always a "u-boot-v2" entry that fails
    if called even if the platformconfig do not use u-boot-v2

[x] mkl/jbe: The 'ps' command from the procps package outputs
            "Unknown HZ value! (xx) Assume 100."
    on a recently started system. Doing it later again, this message does
    not occur again. Kernel detection failure?

    Update 20090609: (mkl) fixed

[x] jbe: dropbear's init script seems to fail to do a simple "restart". For example
    if one changes the SSH portnumber in the script and try a restart, nothing changes!

    Update 20090609 rsc: fixed

[x] jbe: the libiconv package fails to build, if a libiconv library is
    present on the host system (for example in /usr/lib). In this case it
    tries to link against this library, instead of its own. In one link
    step:
       ../srclib/libicrt.a /usr/lib/libiconv.so
    versus (if no libiconv is present on the host)
       ../srclib/libicrt.a ../lib/.libs/libiconv.so

    Update 20090609 mkl: fixed

[x] bbu: default path to generic projects seems not to work

    Update 20090603 rsc: please provide test case, seems to work here.

[-] jbe: if ipkg building crashes, PTXdist doesn't break. rsc: see
    pipeline error fixing in scripts/libptxdist.sh

    Update 20090603 rsc: we need a testcase, bug closed.

[x] bbu: Discuss the whole definition of "package". At the moment,
    most package options are scattered across two or more
    *.in or *.make files, making "drop-in replacements" nearly
    impossible.

    Update 20090603 rsc: obsoleted by package model in ptxdist 2.0.

[x] rsc: find out why iproute2 needs berkeley-db

    Update 20090603 rsc: fixed with recent iproute2 patches from jbe

[x] rsc: iproute2 -> arpd needs db-44, but the select DB_44 does not work.

    Update 20090603 rsc: seems to be fixed in trunk, close.

[-] jbe: classpath.compile fails
    [...]
    ../external/sax/org/xml/sax/helpers/NewInstance.java:70: warning: non-varargs call of
            varargs method with inexact argument type for last parameter;
    cast to java.lang.Object for a varargs call
    cast to java.lang.Object[] for a non-varargs call and to suppress this warning
        return (ClassLoader) m.invoke(Thread.currentThread(), null);
                                                              ^
    Note: * uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    8 errors
    2 warnings

    Update 20090603 rsc: not reproducable, tested on i586 and arm1136.
    Please add proper info how to reproduce in case this problem does still
    persist.

[x] jbe: phyton24 states this but does not stop the build (in the install stage):
      cannot find -lncursesw
      collect2: ld returned 1 exit status
      cannot find -lpanelw
      collect2: ld returned 1 exit status

[x] rsc: dbus-python doesn't compile, needs either python-config or asks
    python for -I and -L paths.

    While being there, we should update to python-2.6, because this is
    the stable series we want to have in ptxdist-2.0.

    update 20090512: should work now

[x] jbe: INITMETHOD_BBINIT_ETC_INITD_LOGROTATE makes no sence with busybox's syslog.
    Doesn't work, because it does not create any *.log files, which logrotate tries
    to handle.

    20090420: update mkl: handles now messages, *.log, *.err

[x] mkl: remove inetd.conf leftovers

    [frogger@hardanger:rules]$ wcgrep inetd.conf|grep -v "inetd.conf.d"|grep -v postinst
    ./fam.in:52:              the /etc/inetd.conf a line like this:
    ./dnsmasq.in:47:                 /etc/inetd.conf a line like this:
    ./dnsmasq.in:71:          This string is added to inetd's configuration /etc/inetd.conf.
    ./portmap.make:132:     # /etc/inetd.conf sniplet
    ./cvs.in:124:     This string is added to inetd's configuration /etc/inetd.conf. @ROOT@
    ./rsync.make:108:       # /etc/inetd.conf sniplet
    ./rsync.in:69:            the /etc/inetd.conf a line like this:
    ./rsync.in:95:    This string is added to inetd's configuration /etc/inetd.conf. @CONFIG@

    Update 20090603 rsc: done

[x] mkl: fix startscript leftovers

    update: 20090512: mkl: done

[x] mkl:

    16:46 < ringlej>  /opt/tools/lib/ptxdist-1.99.11/config/collection/Kconfig:10: can't open file "generated/ptx_collection.in"
    16:47 < ringlej> That was it. I had none marked as "M"

    Update 20090603 rsc: fixed

[x] jbe: if one starts ptxdist with the --ptxconfig=<...> option and the
    given path and filename is at least in the form "selected/ptxconfig"
    (was a typo here, should be "selected_ptxconfig") ptxdist states:
    /opt/lib/ptxdist-trunk/scripts/libptxdist.sh: line 415: cd: selected: No such file or directory
    Should be a more reasonable error message.

    Update 20090603 rsc: fixed

[x] jbe: slang.compile fails while compiling png-module.c
    [...]
    pcre-module.c:6:18: error: pcre.h: No such file or directory
    [...]

    update 20090512: mkl: should work now

[x] mkl: fix startscript leftovers

    update: 20090512: mkl: done

[x] jbe: INITMETHOD_BBINIT_ETC_INITD_LOGROTATE makes no sence with busybox's syslog.
    Doesn't work, because it does not create any *.log files, which logrotate tries
    to handle.

    20090420: update mkl: handles now messages, *.log, *.err

[x] jbe: slang.compile fails while compiling png-module.c
    [...]
    pcre-module.c:6:18: error: pcre.h: No such file or directory
    [...]

    update 20090512: mkl: should work now

[-] jbe: libmad tries to re-generate the configure script and fails if system's
    version is not the correct one
    [...]
    missing --run automake-1.10 --foreign
    aclocal.m4:16: warning: this file was generated for autoconf 2.61.
    You have another version of autoconf.  It may work, but is not guaranteed to.
    If you have problems, you may need to regenerate the build system entirely.
    To do so, use the procedure documented by the package, typically `autoreconf'.
    configure.ac:29: version mismatch.  This is Automake 1.10,
    configure.ac:29: but the definition used by this AM_INIT_AUTOMAKE
    configure.ac:29: comes from Automake 1.10.1.  You should recreate                                                                         configure.ac:29: aclocal.m4 with aclocal and run automake again.

    Update 20090420 rsc: not reproducable, neither @mkl nor @rsc

[x] Dioptik: freetype 2.3.8 web link is dead
    From the freetype website "Don't use this version! This is a bugfix release
    for the 2.3 series. All users should upgrade. See this page for the release notes."

    Update: 20090417 mkl: done

[x] jbe: tcpdump fails when IPv6 is enabled:
    checking getaddrinfo bug... buggy
    Fatal: You must get working getaddrinfo() function.
           or you can specify "--disable-ipv6".

    Update: 20090417 mkl: done

[x] jbe: SDL menu: Unsure if SDL mixer and SDL image must depend on SDL?

    mkl: no they must select SDL

[x] rsc: if 'ptxdist setup' points to the wrong JDK, jvisu claims that
    it needs a set JAVA_HOME. A better error message would involve 'ptxdist
    setup'.

    mkl: fixed by mol

[x] jbe: Running 'ptxdist go' with an enabled but not yet configured
    kernel should give a reasonable error message. It should not just
    fail while downloading a nonexisting kernel.
    (happens when ptxconfig components forcing a kernel not yet configured
    in the platformconfig)

    Update 20090316 rsc: error message added

[x] rsc: check jvisu, it has a FIXME that ant may be needed as a host
    tool. Remove, use the same mechanism as with Perl::XML

    Update 20090313: fixed by mol and mkl

[x] jbe: It seems now be possible to install a /etc/rc.d/*telnetd link to
    /etc/init.d/telned without intalling a /etc/init.d/telnetd

[x] Sisyphus:

    [...]
    ----------------------
    target: glibmm.compile
    ----------------------
    [...]
    make[6]: Entering directory
    `[...]/glibmm-2.14.1/glib/glibmm'
    [...]
    convert.cc: In constructor 'Glib::IConv::IConv(const std::string&, const std::string&)':
    convert.cc:52: error: 'g_assert' was not declared in this scope
    make[6]: *** [convert.lo] Error 1
    make[6]: *** Waiting for unfinished jobs....
    date.cc: In member function 'Glib::ustring Glib::Date::format_string(const Glib::ustring&) const':
    date.cc:311: error: 'g_assert' was not declared in this scope
    make[6]: *** [date.lo] Error 1

    rsc: glib has recently been updated to a newer 2.12 version; find out
    which glibmm version fits the new one and adapt it.

    Update 20090303 rsc: updated all gtk stack components to latest stable.

[x] jbe: if one enters "ptxdist platformconfig" one can earn this message:
    error:  The config file 'selected_platformconfig'
            is missing the symbol: 'PTXCONF_PLATFORMCONFIG_VERSION',
	    which means it is broken.
    But also the "--force" option does not help. Only "--sledgehammer" helps
    to create this symbol. Intended behaviour?

    mkl: 20090302:
	 "--force" works now as expected

[x] rsc: add 'quiet' support to start scripts (probably centralized in rcS)

[x] mkl: reactiveate new install_copy feature (no explicid destination)
    rsc: ask mkl what kind of problems have been observed with the old
    implementation that has been thrown out again

	update: 2009-01-25: mkl:
		rsc has upgraded the install_copy macro to handle this

[x] jbe: e2fsprogs: HTREE can be disabled, but at least mkfs.ext2 creates (silently)
    a HTREE based filesystem! e2fsck will fail on such a filesystem unless HTREE
    support will be activated in the menu!

    mkl: 2009-2-27:
	htree enable i.e. hardcode htree supprt
	btw: disabling affects only the fsck tool, not mk2efs

[x] jbe: avoid the "make: Nothing to be done for `world'." message when running
    a "ptxdist images".

[x] jbe: xorg-lib-fontenc.compile: What does it mean? Intervention needed?
      [...]/arm-v5te-linux-gnueabi/bin/ld: warning: creating a DT_TEXTREL in object.

[x] jbe: same in cairo.compile

[x] jbe: xorg-lib-fontenc.compile (but this time seen on PowerPC)

    mkl: 2009-02-27:
	this means that we link a static lib into a shared one,
	and this should be avoided.

[x] jbe: it seems to extract a kernel always touches the local
	 kernelconfig.target (or similar). This confuses svn, as
	 this file always changes without calling "ptxdist kernelconfig"
    rsc: mol has a patch for this, integrate
    mkl: 20090626
	 no problem with with ptxdist-1.99.11,
	 probably in the whole 1.99.x series of ptxdist

[x] rsc: network handling with qemu does not work reliably; it works
    when being run with sudo (see start/stop/connect scripts in i586) and
    /dev/net/tun must be made rwrwrw.

[x] rsc: in x86 simulation: ipkg list doesn't work?

    mkl: 20090226: works

	 root@phyCORE:~ ipkg list
	 alsa-lib - 1.0.18 -
	 alsa-utils - 1.0.18 -
	 atk - 1.20.0 -
	 atop - 1.23 -
	 [...]

[x] jbe: avoid the convenience stage question, when running "pxtdist images".
    jbe: avoid the convenience stage question again and again and again....

[x] jbe:  host-fontconfig.compile
      if gcc [...] -c -o fc-case.o fc-case.c; \
        then
         mv -f ".deps/fc-case.Tpo" ".deps/fc-case.Po";
      else
        rm -f ".deps/fc-case.Tpo";
        exit 1;
      fi
      In file included from fc-case.c:25:
       ../src/fcint.h:118:21: error: fcalias.h: No such file or directory
       make[3]: *** [fc-case.o] Error 1

    mkl: 20090226
      works on himalia

[x] jbe: host-glade.prepare

[x] Bo Hansen: util-linux fails to build more.c when no curses library is
    present. Different development platforms are behaving differently.
    jbe's host detects the lack of curses and omits more.c to build in this
    case. So the build does not fail. Bo's host decide to build more.c
    even if curses is not present and fails.

[x] jbe: if one enable the "Local kernel tree" by accident but hasn't been setup
    the "Prefix for kernel trees", ptxdist should output a more useful error message
    than just:
    ----------------------
    target: kernel.extract
    ----------------------
    Error: empty parameter to 'extract()'

    mkl: 20090226: done:

    [frogger@hardanger:OSELAS.BSP-phyCORE-trunk]$ ./p go
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:43: ***
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:44: *** PTXCONF_KERNEL_LOCAL_FLAG feature activated, but
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:45: *** PTXCONF_SETUP_KERNELDIR_PREFIX is unset!
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:46: ***
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:47: *** This feature is mainly for developers, who to want have their kernel sources
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:48: *** outside of ptxdist. You can turn it off by deselecting "Local kernel tree":
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:49: *** "ptxdist platformconfig" -> "Linux kernel" -> "Local kernel tree"
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:50: ***
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:51: *** If you want to use the feature, please enter a propper prefix
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:52: *** to your kernel tree
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:53: *** "ptxdist setup" -> "Source Directories"
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:54: ***                 -> "Prefix for kernel trees"
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:55: *** and specify where to look for your kernel tree
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:56: ***
    /home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/kernel.make:57: *** .  Stop.

[x] jbe: host-intltool.prepare
      checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

    Update 20090118 rsc: add a function to 'ptxdist go' that can run
    stuff depending on ptxconfig; I don't want to add a ptxdist dependency
    to XML::Parser and perl, just for glade. Something that runs on 'ptxdist
    go' or 'ptxdist <some_stage>' (FIXME which one?) and can output something
    like "error: need perl and XML::Parser to build glade".

    Update 2009-01-20:  jbe: add a test for perl XML::Parser into these
			makefiles and fail gracefully with a nice error
			message. So this test runs on demand only.

[x] jbe: "ptxdist platformconfig" moans:
    error: The configfile version and ptxdist version do not match:
        configfile version:
        ptxdist version:    1.99.svn
    Users current focus is on "selected_platformconfig". But ptxdist
    moans about an empty 'selected_ptxconfig' here!

    Instead it should:
    - output the correct filename which is causing the problem here
    - silently does its job, because the platformconfig is all right here
    - should output this message, when running a "ptxdist menuconfig"

[x] Whenever a new packet dependency is added to the menus and one does not
    update the used ptxconfig file, the next build will only detect the
    "<packet_name>.install" dependency and fail due to the fact the
    "<packet_name>.[get|extract|prepare|compile]" are still missing. When
    ptxdist is able to detect the dependency to "<packet_name>.install", it
    should also add the other targets (get|extract|prepare|compile) from inside
    the <packet_name> silently. The current error is confusing, because it
    occures even the user didn't change anything in his/her project.

[x] jbe: Would it be possible to delete a directory defined by PTXCONF_SYSROOT_TARGET
    in the form "${PTXDIST_WORKSPACE}/local/${PTXCONF_ARCH_STRING}"
    Currently the "local" part still exists when running "ptxdist clean".
    This is for ptxdist-1 backward compatibility.

    Update 20090126:	the correct is path is:
			"${PTXDIST_WORKSPACE}/local/${PTXCONF_GNU_TARGET}"
			and it is cleaned now

[x] jbe: host-dbus-glib.compile
      ../../dbus/dbus-binding-tool: error while loading shared libraries:
         libdbus-glib-1.so.2: cannot open shared object file: No such file or directory

[x] 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.
    Update 2009-01-20:  jbe: add a test for 'ant' into jvisu's makefile and
			fail gracefully with a nice error message. So this test
			runs on demand only.

    Update 2009-01-26:	done, no tests in the configure script for now.
			looks this way now, everybody happy???
    Update 2009-02-05:  jbe is happy now.

make: *** [/home/frogger/pengutronix/bsp/OSELAS.BSP-Pengutronix-AllYes-trunk/platform-phyCORE-MPC5200B-tiny/state/jvisu.compile] Error 127
[frogger@hardanger:OSELAS.BSP-Pengutronix-AllYes-trunk]$ ./p compile jvisu
/home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/jvisu.make:18: *** ant is mandatory to build JVisu
/home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/jvisu.make:19: *** please install ant
/home/frogger/pengutronix/ptxdist/ptxdist-trunk/rules/jvisu.make:20: *** .  Stop.



[x] jbe: /usr/share/apache2/libexec/mod_python.so
    Misses libpython2.4.so.1.0 at runtime

    Update: 2009-01-29:	mkl broke it
			mol fixed it

[x] jbe: These libs/executeables are including host library search paths (RPATH)

    Check selected_toolchain/powerpc-603e-linux-gnu-readelf -d <binary>
    for long host paths:

    [x] mod_python from the Apache2 package
    [x] inotifywait from the inotify-tools package


[x] jbe: These libs/executeables are including host library search paths (RPATH)

    Check selected_toolchain/powerpc-603e-linux-gnu-readelf -d <binary>
    for long host paths:

    [x] libcpufreq from the cpufrequtils package
    [x] mc from the Midnight Commander package
    [x] jed from the JED package

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

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

[x] jbe: timezone files installation doesn't work as expected

[x] jbe, rsc: add sane minimal in-system documentation: README

[x] jbe: review all READMEs, COMPILE-TESTs, SPECIFICATIONs and so on files
	 in the ptxdist install folder. Most of them are trash only

[x] jbe: use tmpfs everywhere instead of the ramfs

[x] jbe: Current implementation of "screen" is useless due to lack of
         generic configuration

[x] jbe: replacing an *.make file for project use is easy. But how to
    replace a *.in file? rsc: no 0.10.6 issue, defer
    [...] same as below:
[x] bbu: Discuss the future kconfig include scheme. At the moment, overriding
	 single *.in files is a real pain.

	 - There should be a way to autogenerate the needed files
	   before starting kconfig or kconfig should just ignore
	   double definitions (which might be a bad idea)

	 Features needed:

	 - override *.make as well as *.in
	 - create a sane menu structure

[x] rsc: 'ptxdist print <variable>' is pretty slow now; shall work with retval=0
    if variable exists and retval!=0 if not

[x] RSC: http://htop.sourceforge.net/
    now part of ptxdist

[x] jbe: Working with local sources seems broken, when a <PACKET_NAME>_SOURCE
    is defined to the regular $(SRCDIR)/<PACKET_NAME>. The get stage fails in
    this case. Our template will always create and fill this variable. Don't
    know if this is intended and the failure is elsewhere.

    Update 20090120 jbe: *_SOURCE is now defined to an empty variable.

[p] jbe: fltk.compile
      In file included from ../FL/Fl_Single_Window.H:29,
      from doublebuffer.cxx:37:
      ../FL/Fl_Window.H: In member function 'void Fl_Window::size_range(int, int, int, int, int, int, int)':
      ../FL/Fl_Window.H:91: warning: conversion to 'uchar' from 'short int' may alter its value
      ../FL/Fl_Window.H:91: warning: conversion to 'uchar' from 'short int' may alter its value
      ../FL/Fl_Window.H:91: warning: conversion to 'uchar' from 'short int' may alter its value
      ../fluid/fluid: ../fluid/fluid: cannot execute binary file
       make[2]: *** [fast_slow.cxx] Error 126
       make[2]: *** Waiting for unfinished jobs....
       finished: fltk.compile
       ---> but it does not fail

    Update 20090120 rsc: nobody is using fltk right now @ ptx, so mark it broken

[p] jbe: fltk.install
      cp: cannot create regular file `/usr/lib/libfltk_jpeg.a': Permission denied
      make[2]: *** [install] Error 1
      cp: cannot create regular file `/usr/lib/libfltk_jpeg.a': Permission denied
      make[2]: *** [install] Error 1
       ---> but it does not fail

    Update 20090120 rsc: nobody is using fltk right now @ ptx, so mark it broken

[x] jbe: grep.compile: Host leakage
      [...]/arm-v5te-linux-gnueabi/bin/ld: skipping incompatible
         /usr/lib/libpcre.so when searching for -lpcre
      [...]/arm-v5te-linux-gnueabi/bin/ld: skipping incompatible
         /usr/lib/libpcre.a when searching for -lpcre
      [...]/arm-v5te-linux-gnueabi/bin/ld: cannot find -lpcre
         collect2: ld returned 1 exit status

    Update 20090119 rsc: added a well defined switch to the grep packet; we are
    not sure if this is the whole fix; until somebody shows us something different,
    we assume it to be fixed.

[x] jbe: proftpd.compile
     i586-unknown-linux-gnu-gcc [...] -I.. -I../include  -O2 -Wall -c pr_fnmatch.c
       In file included from [...]/sysroot-i586-unknown-linux-gnu/usr/include/asm/sigcontext.h:5,
         from [...]/sysroot-i586-unknown-linux-gnu/usr/include/bits/sigcontext.h:28,
         from [...]/sysroot-i586-unknown-linux-gnu/usr/include/signal.h:333,
         from [...]/sysroot-i586-unknown-linux-gnu/usr/include/sys/wait.h:31,
         from ../include/conf.h:95,
         from pr_fnmatch.c:38:
         [...]/sysroot-i586-unknown-linux-gnu/usr/include/asm/types.h:8:
            error: conflicting types for 'mode_t'
         [...]/sysroot-i586-unknown-linux-gnu/usr/include/sys/types.h:72:
	    error: previous declaration of 'mode_t' was here

    Update 20090118 rsc: later toolchain uncover this bug; we upgrade
    from 1.3.0a to 1.3.2rc3 which fixes the issue.

[x] jbe: madwifi.compile: Kernel version dependend
    on x86: Emits a huge amount of errors about wrong pointers and
    parameter counts.

    Update 20090118 rsc: madwifi doesn't build with current kernels any
    more, so we mark it BROKEN.

[x] jbe: valgrind.prepare
      checking the libc version... unsupported version
      configure: error: Valgrind requires glibc version 2.2 - 2.7

    Update 20090118 rsc: fixed, we use a newer valgrind version now

[x] jbe: libx86.compile
     i586-unknown-linux-gnu-gcc [...] -c -o lrmi.o lrmi.c
      lrmi.c: In function 'set_regs':
      lrmi.c:191: error: 'IF_MASK' undeclared (first use in this function)
      lrmi.c:191: error: (Each undeclared identifier is reported only once
      lrmi.c:191: error: for each function it appears in.)
      lrmi.c:191: error: 'IOPL_MASK' undeclared (first use in this function)
      lrmi.c: In function 'run_vm86':
      lrmi.c:613: error: 'VIF_MASK' undeclared (first use in this function)
      lrmi.c:613: error: 'TF_MASK' undeclared (first use in this function)
      lrmi.c: In function 'LRMI_int':
      lrmi.c:840: error: 'IF_MASK' undeclared (first use in this function)
      lrmi.c:840: error: 'IOPL_MASK' undeclared (first use in this function)
      make[2]: *** [lrmi.o] Error 1

    Update 20090118 rsc: fixed

[x] jbe: Busybox: (on PowerPC and X86 only)

    [...]
    cc1: warnings being treated as errors
    In file included from util-linux/fdisk.c:622:
    util-linux/fdisk_osf.c: In function 'xbsd_writelabel':
    util-linux/fdisk_osf.c:961: error: unused parameter 'p'

[x] jbe: chrony.compile
      powerpc-603e-linux-gnu-gcc  -O2 -g  -DFEAT_RTC=1 [...] -c rtc_linux.c
      In file included from rtc_linux.c:61:
      io_linux.h:39:2: error: #error "I don't know the values of the _IOC_* constants for your architecture"
      rtc_linux.c: In function 'switch_interrupts':
      rtc_linux.c:680: error: 'CHRONY_IOC_NONE' undeclared (first use in this function)
      rtc_linux.c:680: error: (Each undeclared identifier is reported only once
      rtc_linux.c:680: error: for each function it appears in.)
      rtc_linux.c:680: error: 'CHRONY_IOC_NRBITS' undeclared (first use in this function)
      rtc_linux.c:680: error: 'CHRONY_IOC_TYPEBITS' undeclared (first use in this function)
      rtc_linux.c:680: error: 'CHRONY_IOC_SIZEBITS' undeclared (first use in this function)
      [...]

    Update 20090118 rsc: fixed

[-] jbe: busybox.compile (on PowerPC)
        [...]
        CC      util-linux/volume_id/ext.o
	cc1: warnings being treated as errors
	In file included from util-linux/fdisk.c:622:
	util-linux/fdisk_osf.c: In function 'xbsd_writelabel':
	util-linux/fdisk_osf.c:961: warning: unused parameter 'p'
	make[2]: *** [util-linux/fdisk.o] Error 1
	make[1]: *** [util-linux] Error 2

    Update 20090118 rsc: this is a duplicate, also reported above.

[x] jbe: gwt.extract (at least a PowerPC) This stage seems to run the
    autotools.

    Update 20090118 rsc: it runs autotools because it is instructed to
    do so without any deeper sense, in the .make file. Fixed.

[x] jbe: Segmentation fault?

    -----------------------
    target: locales.install
    -----------------------

    generating "en_US" - this can take some time
    /work/ptxdist-trunk/scripts/make_locale.sh: line 29: 14673 Segmentation fault \
         I18NPATH=${SYSROOT_USR}/share/i18n ${LOCALEDEF} ${ENDIAN} -i $LOCALE_DEF \
         -f ${CHARMAP} --prefix=${PREF} $LOCALE_NAME
    calling localedef binary failed

[x] jbe: directfb.compile
     powerpc-603e-linux-gnu-gcc -DHAVE_CONFIG_H [...]  -c ppcasm_memcpy_cachable.S  -fPIC -DPIC -o .libs/ppcasm_memcpy_cachable.o
     ppcasm_memcpy_cachable.S:37:26: error: linux/config.h: No such file or directory

[x] jbe: libtheora.prepare
     "[x]   sdl support" results into a:
     [...]
     checking for sdl... yes
     checking for sdl >= fix.me.now... configure: error: *** sdl >= fix.me.now not found
        by pkg-config on your system

[x] jbe: libcgicc: Runs host's autotools when the compile stage starts on some
    systems (*not* on himalia). On system where it does not run the autotools
    the compile stage fails with:
      make[3]: Entering directory `[....]/platform-i586/build-target/cgicc-3.2.7/doc'
       if test ! -d html; then \
             mkdir html; \
       fi;
       DATE=`date '+%-d %b %Y'` VERSION=3.2.7 /bin/echo Doxyfile
       Doxyfile
       cp cgicc.png gnu-head-sm.jpg cgicc-doc.css html
       mv html/index.html html/index.html.bak
       mv: cannot stat `html/index.html': No such file or directory

[x] migrate libc from ptxconfig to platform

[x] rsc: config dependency dropper doesn't work yet; it assumes that all
    labels correspond to their package names, but that's not true for
    busybox, so the dropping doesn't work for bb. The right solution would be
    to change PTXCONF_BB_ to PTXCONF_BUSYBOX__, but that would break all
    migrations of old projects. Can only be done with a proper migration
    script.

[x] Subject: Re: [ptxdist-commit] ptxdist r9228 - in trunks/ptxdist-trunk/patches:
    libffi-3.0.7 libffi-3.0.7/generic

    I am not sure this is the correct fix. The problem seems that ptxdist
    uses ac_cv_sizeof_long_double with a value of 8, and that is where the
    problem is, because that should be 12 on x86 and 16 on x86_64. That
    error results in double and long double to have the same size and
    configure to conclude there is no long double. And since that is never
    true on x86 with gcc, there was no need for the ifdef with
    HAVE_LONGDOUBLE in the x86 case.

    - Erwin

    rsc: add proper definitions according to platform definition
    (PTXCONF_SIZEOF_LONG_DOUBLE)

[x] rsc: fix install_copy without source+destination; it worked before
    with destination-only, but there was some problem. Ask mkl.

    Update 20081228: rsc: seems like it works in the current trunk.

[x] rsc: autogenerated menues with overwriting.

    20081109 mkl:

    [x] directfb
    [x] xorg
    [x] gtk
    [x] bluez
    [x] crosstools
    [x] debug
    [x] gdb
    [x] gtk
    [x] host-gtk
    [x] hosttools
    [x] libc
    [x] ltp
    [x] net-sec
    [x] networking
    [x] ntp
    [x] sdl
    [x] tests
    [x] wireless
    [x] xorg

    still have to be migrated

[x] jbe: Getting the value of an internal ptxdist variable returns always 1 as
    its exit code ("ptxdist print ROOTDIR" returns with the correct value on stdout
    but with exit code = 1)

    Update 20081227: rsc: fixed, but now 'ptxdist print' is pretty slow.

[x] when the drop command is used without a stage, complain about that
    and suggest to use clean instead

[x] jbe: When someone do not need a Linux kernel one earns:
    <ptxdist/install/path>rules/kernel.make:109: warning: ignoring old commands for target
    `<path/to/current/BSP/directory>'

[x] rsc: fallback server for udev

[x] rsc: toolchain selection doesn't work if gcc revision is empty=nocheck

[x] rsc: platformconfig: check what about PTXCONF_IMAGE_IPKG_ARCH; it
    should go to the platformconfig code.

    arm -> oabi
    armel -> eabi little endian
    armeb -> eabi big endian

    This would make our packages compatible with maemo + debian

    [x] 20081107 mkl: we use not PTXDIST_IPKG_ARCH_STRING which is generated in
		      scripts/lib/ptxd_make_install.sh

[x] rsc: we don't seem to have a target option for the endianess!

[x] rsc: SuSE has an old stat version which doesn't support --printf;
    this breaks building of hd.img. Add test to configure.

    [x] 20081107 mkl: we use "stat -c" now

[x] jbe: When someone do not need u-boot-v2 one earns:
    <ptxdist/install/path>/rules/u-boot-v2.make:80: warning: overriding commands for
        target `<path/to/current/BSP/directory>'

[x] jbe: Fix the too many --without-pam and the always --without-sendmail given
    in the sudo.make in the prepare step
    rsc: fixed by cleaning up package and disabling all untested things

[x] jbe: if the kernel.extract stage fails, ptxdist returns with exit code 0
    Can be replicated by deleting the configures series file for the patch
    stack in use.

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

[x] add menu entry for user local config files in /etc

[x] mol: ptxdist commands behave differently for arguments which exceed
    the "current" command; some continue parsing and some exit.

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

    	* PTXdist
	* T2
	* OpenEmbedded
	  http://www.openembedded.org/repo/org.openembedded.dev/packages/
	* Gentoo
	* Debian

[x] bbu: audit *.in and *.make files, broken install definitions everywhere [tm]
	 (mostly c&p errors, probably)

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

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

[x] jbe: cleanup rules/other/Toplevel.make

[x] jbe: remove ptxdist's documentation from the installation.
	 It's now useless and outdated as a better alternative
	 is present with the application notes

[x] jbe: hd images must be built from ipkgs to support the ipkg tool
	 on the target

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

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

[x] jbe: Switching from generating hd image to jffs2 image _rebuilds_
	 the the whole project!

	 Known Problem: the virtual-cross-tools depends on host-mtd-utils,
	 which is selected by JFFS2. this must depend on images somewhere.
	 mkl knows how to fix it...

[x] jbe: current trunk complains
	glib.make:40: warning: overriding commands for target `/home/all_src/glib-2.8.6.tar.bz2'
	host-glib.make:38: warning: ignoring old commands for target `/home/all_src/glib-2.8.6.tar.bz2'

[x] jbe: if the "ptxdist toolchain" step was omited, ptxdist complains
	 about toolchain vendor instead of missing toolchain

[x] jbe: if ptxdist was called with wrong parameters (and complains about it) it
	 should return also an error return code (so something like
	 "ptxdist clen kernel && ptxdist go" fails)

[x] jbe: ipkg does not work on the target anymore. Cannot install anything.

[x] jbe: suppress cross toolchain and toolchain vendor check while --native build

[x] rsc: put export LANG=C somewhere into PTXdist, to make compiler
         output more readable

[x] jbe: libxcb depends on host's xslt installation! Current fix is to be checked.

[x] jbe: xcb-proto depends on host's xmllint!

[x] jbe:
    ptxdist: platformconfig...
    platforms/images.in:14:warning: 'select' used by config symbol 'IMAGE_HD' refers to undefined symbol 'HOST_GENPART'
    platforms/images.in:193:warning: 'select' used by config symbol 'IMAGE_JFFS2' refers to undefined symbol 'HOST_MTD_UTILS'
    platforms/images.in:226:warning: 'select' used by config symbol 'IMAGE_UIMAGE' refers to undefined symbol 'HOST_UMKIMAGE'
    platforms/images.in:271:warning: 'select' used by config symbol 'IMAGE_EXT2' refers to undefined symbol 'HOST_GENEXT2FS'

[x] jbe: add help what symbol "PTXCONF_PLATFORM" should contain (or what it
    means if this entry is still empty)

[x] jbe: "ptxdist help" does not output the new option "platformconfig"


[x] jbe: if the ptx dialog will be called from within the menu dialog the loop
    should stop, if calling the ptx dialog resturns with an error. In one case
    one of the *.in files was missed and the error message can't be read
    because the menu dialog overwrite it immediately

[x] jbe: udev. Generic startscript complains about a missing udev-adm

[x] jbe: fakeroot seems to have problems to run in a 64 bit environment. Not
	 at the image creation stage, only at the "install" stage
	 Update:
	 - fakeroot fails on all glibc 2.5 based systems

[x] jbe: rules file for zlib is broken since ptxdist-0.10.6!
	 What the hell means libz.so.0.0.0???? In ptxdist-0.10.5 it was libz.so.1.2.3!

[x] jbe: transfer ipkg's runtime configuration to the ipkg packet itself
	-> its not rootfs

[x] jbe: uboot-1.2.0's build system is not multi processor save
	-> supress -j option

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

TODO.rsc
--------

[ ] connman:

	[ ] add configure switch for glib detection
	[ ] if connecting dbus doesn't work, we get no output; seems
	    like daemon() doesn't connect to syslog first