-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
1612 lines (1197 loc) · 62 KB
/
TODO
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
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.