TODO for 0.10.6 =============== After branch: [ ] rsc: audit if 'ptxdist get' fetches all packets correctly [ ] http://www.sqlite.org/sqlite-3.2.8.tar.gz does not exists any more [ ] ftp://ftp.leo.org/historic/comp/os/unix/networking/mgetty/mgetty1.1.30-Dec16.tar.gz 503: Service Unavailable [ ] update ChangeLog After release: [ ] rsc: update OSELAS.Toolchain and OSELAS.Crosstool to use this version. TODO for 0.10.x =============== [ ] audit all packages if they change the target CPU (with --march or --mtune) [ ] openssl does so [ ] jbe: uRamdisk should be built from ipkg packages instead of root/ content! [ ] rsc, bbu: audit THING mechanism in get stage, looks a little bit overcomplicated [ ] jbe: Adding "ant" to the required host tools. Emit a warning if its not present, but not fail (required only to build jvisu) Update 2007-01-24: rsc: rejected. Ant is only needed by tools which use Java, and we don't want a prerequisite to java in PTXdist. Maybe add some loud warning if packets are built which use java, such as jvisu. [ ] rsc: fix 'ptxdist newpacket host'; find out what mkl intended with this "class" mechanism and make sure it produces sane output. Check with mkl. Example: ptxdist newpacket host-existing-target: - asks for version number, which should be derived from existing target version - asks for URL, but we want to use the download mechanics from target - should output warning that you have to change := into = for corresponding target packet [ ] discuss UID of user "rpcuser" [ ] discuss UIDs and GIDs of other important system users [ ] jbe: reduce directory count on top level, combine build-* and local-* into a shared subdir rsc: we've agreed on this variant: build-host/ build-target/ build-cross/ local/ local-target/ local-cross/ [ ] repair make makro 'install'; there are sometimes three """. See procps.install for reference. [ ] jbe: why does fam-2.7.0 always try to run the autotools? It fails on most modern systems -> mark as broken. rsc: real fix: find out why and fix. [ ] jbe: replacing an *.make file for project use is easy. But how to replace a *.in file? rsc: no 0.10.6 issue, defer rsc: We have a problem with the dependency generator: if we have a packet which is already in ptxdist a second time in the local project, ptxdist includes _both_ .in files, resulting in the dependencies from the ptxdist version being superimposed on the local project ones. jbe: correct the ouput of "ptxdist menuconfig" when configuration is finished. The output of *** End of configuration. *** Execute 'make' to build the project or try 'make help'. is outdated... rsc: while doing this, update to a recent kconfig version, with saner colours instead of this unreadable yellow. [ ] we seem to need python2.3-dev, reported by Marco Cavallini: [ ] Profiling support (kernel and userspace) best with host visualisation [.] jbe: more help texts ------------------------------- target: host-ipkg-utils.install ------------------------------- mkdir -p ""/home/koan/ptxtest/generic_test/local""/usr/bin # ipkg.py is forgotten by MAKE_INSTALL, so we copy it manually # FIXME: this should probably be fixed upstream make[1]: Entering directory `/home/koan/ptxtest/generic_test/build-host/ipkg-utils-1.7' cp ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload /home/koan/ptxtest/generic_test/local/usr/bin python setup.py install --prefix=/home/koan/ptxtest/generic_test/local/usr /usr/lib/python2.3/distutils/dist.py:213: UserWarning: 'licence' distribution option is deprecated; use 'license' warnings.warn(msg) running install error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory) make[1]: *** [install] Error 1 make[1]: Leaving directory `/home/koan/ptxtest/generic_test/build-host/ipkg-utils-1.7' make: *** [/home/koan/ptxtest/generic_test/state/host-ipkg-utils.install] Error 2 [ ] if a packet is not selected, it's dependencies are not generated. If you kick a stage then, the dependend stages are not executed. Solution: generate the stages as well, so we get an error in that case. [ ] Start a "Global Patch Repository Unification Project". Potential members: * PTXdist * T2 * OpenEmbedded http://www.openembedded.org/repo/org.openembedded.dev/packages/ * Gentoo * Debian [ ] jbe: timezone files installation doesn't work as expected [ ] jbe: if ipkg building crashes, PTXdist doesn't break. rsc: see pipeline error fixing in scripts/libptxdist.sh [ ] rsc: ChangeLog automatism: http://www.simios.org/node/266?PHPSESSID=a736cf6396ad789e0148d9690761e733 [ ] ero: add -mcpu=... to PTXCONF_TARGET_EXTRA_CPPFLAGS, to let host tools definitely barf if they are accidently being built with the target compiler. [ ] mol: ptxdist commands behave differently for arguments which exceed the "current" command; some continue parsing and some exit. [ ] mol: add possibility to 'ptxdist print' more than one variable in one make call [ ] check if ${PTXCONF_PREFIX} can be written to and barf if not [ ] add sanity checks for all user configurable variables (especially paths) [ ] audit project files for CROSS_AUTOCONF [ ] Problem: When doing things like "PKG_CONFIG_PATH=bla something", something does not inherit the environment variable PKG_CONFIG_PATH. To achieve this properly, we need to export these variables to the calling shell. The same applies to lots of variables from Rules.make. [ ] Write macros $(call compile) and $(call configure). [ ] libxslt crypto support is broken [ ] add menu entry for user local config files in /etc [ ] image build mechanism tries to access data and infos from already disabled targets! (if they where enabled before). It does so unless a manually delete of the remaining and (now) useless targets in "state/" Interesting packets ------------------- [ ] RSC: http://htop.sourceforge.net/ [ ] RSC: http://cryptmount.sourceforge.net/ [ ] RSC: http://www.nongnu.org/failmalloc/ [ ] RSC: http://stapgui.sourceforge.net [ ] RSC: http://home.eol.ca/~parkw/index.html [ ] RSC: http://podgorny.cz/moin/UnionFsFuse [ ] RSC: http://perso.wanadoo.fr/sebastien.godard/ [ ] RSC: http://clpbar.sourceforge.net/ [ ] RSC: http://xmlrpc-c.sourceforge.net/ [ ] RSC: http://www.vanheusden.com/httping/ [ ] RSC: http://urunlevel.sourceforge.net/ [ ] RSC: http://www.freshmeat.net/projects/bootutils [ ] RSC: ethtool: http://sourceforge.net/project/showfiles.php?group_id=3242&package_id=19201 [ ] RSC: ntpclient: http://doolittle.faludi.com/ntpclient/ [ ] RSC: openntpd: http://www.openntpd.org/ [ ] RSC: http://www.reportlab.com/ftp/ [ ] RSC: http://rlib.sicompos.com/ [ ] RSC: MatrixSSL [ ] MKL: lilo, tinylogin targetinstall (RSC: find out what MKL means here) [ ] RSC: finish integration of zebra [ ] RSC: install e2fsck Test suite components to be added ================================= [ ] RSC: http://ltp.sourceforge.net/tooltable.php [ ] RSC: Add more test suite stuff: http://gcc.gnu.org/install/test.html http://www.plumhall.com/stec.html [ ] RSC: lmbench [ ] RSC: add regression tests from crosstool [ ] RSC: look at Herbert Poetzl's cross test stuff: 20040224182505.GA25038@MAIL.13thfloor.at Update: seems to have disappeared. [ ] RSC: look at Linux Kernel Headers project: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ [ ] RSC: audit for LSB compatiblity; are there any handable tests for checking compliance? [ ] RSC: have a look at http://asic-linux.com.mx/~izto/checkinstall/ Old TODOs ========= [?] JBE: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27363 [ ] bump bluez-utils/libs to 3.0 (needs dbus) [ ] port scripts/mkprefix to non-perl [ ] ptxdist arch Split build-target into build-${PTXCONF_ARCH} [ ] Tree Structure RSC: Find sane place for generic files from projects/generic ERO: Make subdirectories, e.g. for x.org stuff. Might use symlinks to avoid changing the scripts. SHA: push make and in files into subdirs, add patches to that dirs as well. [ ] Program Name Sorting JBE: Sort program entries in "Shell & Console Tools" and other menus by function, not by program name! Especially if there is more than one program that can do the job (see menu entries "Apache 1", "Apache 2" and "thttpd"). To be more concise the whole group should have a checkbox. Not until someone unlocks the "HTTP Server" group he can see the programs in this group. RSC: Please let's stay with alphabetic sorting in the menues. You don't find programs any more otherwhise. If the structure is not clear enough we should clean it up. [ ] Graphical Configurator JBE: For a graphical configurator instead of the ncurses one: Maybe ship a static linked "qconfig" version, otherwise the user also has to install the qt development libraries Same with ncurses (menuconfig), or the user has to be forced to install the development libraries for ncurses RSC: good idea, but only for customer packets. Maybe this will become obsolete when we have a good Eclipse based configurator. [ ] JBE: Make target "qconfig" starts target "oldconfig", even if the configuration was aborted! Target "menuconfig" doesn't [ ] Startup Documentation JBE: add documentation to start from scratch with "make setup" this menu should provide the toolchain, all pathes to everything (also to a prebuilt toochain). All other targets should be project specific. [ ] RSC: make projects doesn't find local_projects/something, if something is a softlink and not a directory. [ ] RSC: replace perl by (modern) sed -i (hosttool) [ ] RSC: Do ipkg stuff during make images [ ] RSC: in NATIVE=1 mode libpthread.so.0 is not copied; find out why [ ] MKL: let get stages depend on the actual makefile [ ] RSC: Finish autotoolisation of chrony. The old features from the handwritten configure script have to be added; readline dependency is now temporarily fixed, it should be made optional again. [ ] RSC:sed: replace all "sed" occurences by $(SED) and maybe switch to a newer GNU sed, which has to be packaged as a hosttool then. [ ] RSC:Invent a project_clean mechanism (workaround done) [ ] RSC:is "select GLIBC_DEBUG" in gdb.in necessary?? [ ] sandeep: add a script to setup a new project interactively [ ] RSC: do module stuff in kernel only when modules are enabled in kernel configuration [ ] RSC: audit bash for configure/menu entry consistency [ ] RSC: bing outputs strange large numbers when being compiled for ARM :-) Add test suite for floating point. [ ] RSC: port LTT-ng [ ] RSC: Mozilla has still problems with cross compilation. See the following Bugzilla entries for possible solutions: http://bugzilla.mozilla.org/show_bug.cgi?id=104541 http://bugzilla.mozilla.org/show_bug.cgi?id=172651 [ ] RSC: add some useful statistics at the end of build (root size, image size etc.). [ ] RSC: fix busybox extract script to support "select CONFIG_foo" [ ] RSC: make MTDutils release and, by the way, fix build process. This "override" mechanism in the Makefile seems to be broken. MKL: mtdutils buildprocess fixed, splitted into 2 seperate file mtd.make and xchain-mtd.make 'override' seems to be working [ ] RSC: audit all configure calls to be relative; configure scripts seem to have major problems when being called with absulute path [ ] RSC: test flash [ ] RSC: finish integration of iwconfig [ ] RSC: add #ifdef __cplusplus ... #else ... #endif to bits/in.h [ ] RSC: add .in file for xvkbd; integrate fixes for Makefile... [ ] MKL: check openssl works with arm big endian (-DL_ENDIAN doesn't look good) [ ] MKL: gmp3 cannot produce shared libc for ppc target (host i686-linux) [ ] MKL: uclinux, patch breaks due to unclean produced patch at uclinux [ ] MKL: test betaftp, old breaks due to a patch from DKE [ ] MKL: test wxwindows [ ] MKL: gawk fix prefix, due to hard coded path [ ] MKL: integrate ldd (./build/glibc-2.2.5/elf/ldd.bash.in) [ ] MKL: tweak wireless to xcompile [ ] RSC: you currently need gdk-pixbuf-csource on the host [ ] RSC: pango has a patch which has to be verified (GLIB_CFLAGS) [ ] RSC: you currently need libXcursor.so.* and xcursorgen on the development host [ ] RSC: replace bootdisk build mechanism by genext2fs; mke2fs is able to reserve N blocks at the beginning of the image! [ ] KUB: busybox/ash job control is broken [ ] RSC: add checksums for download [ ] RSC: restructure config file layout [ ] RSC: add a test: if #!/bin/sh scripts return "/bin/sh: bad interpreter: Permission denied" tell the user to look if his filesystem was monted with the "exec" option [ ] RSC: check for uImage targets: have to depend on vmlinux, not on zImage. [ ] LGR: concept for debug levels: strip, -g, -S [ ] LGR: key infrastructure: integrate signing, activate this only when running the release cycle. [ ] BBU: Implement scheme for alternative download-URLs as fallback (e.g. mirrors) [ ] BBU: rsync URLs [ ] BBU: show required cross-tool, host-gcc and -glibc-versions (compilercheck) [ ] SHA: scripts/make_image_root.sh puts all ipkg packages from imagedir into the resulting images, even those which are lying there from old builds DONE ---- [x] pureftp's configure runs twice and needs host's autotools! [x] audit the logfile of AllYesArm for autotool calls Update 2007-01-24: rsc: the solution is simple: just add AM_MAINTAINER_MODE to the configure.in/ac if the autotools are re-run. This avoids that the maintainer dependencies are put into the packet. [x] util-linux: re-calls automake during compile; [x] libxslt: re-calls automake during compile [x] pure-ftpd: re-calls automake during compile [x] jbe: all local sources (file://) are still do a touch into the package directory. (into "Source Directory"). If this file gets deleted, ptxdist builds the whole package again (and recreate the file in the Source Directory). Update 2007-01-24: fixed; order of PACKET-empty check in extract was changed. [x] jbe: Chrony fails to compile Update 2007-01-25: jbe: better fix; force chrony to use the wide ncurses lib if present, else the non wide one Update 2007-01-19: rsc: fixed; ncurses didn't install the non-widechar variants of the libraries. [x] OSELAS.BSP-Pengutronix-TechPool-trunk$ p select ptxconfig.dotgnu /home/rsc/svn/ptxdist-trunk/scripts/libptxdist.sh: line 26: /media/rscusb1_plain/svn/oselas/bsp/pengutronix/huettinger/OSELAS.BSP-Pengutronix-TechPool-trunk/ptxconfig: No such file or directory Update 2007-01-19: rsc: fixed [x] jbe: starting with a new and empty project should provide the user with a generic (and default) ptxconfig instead of an error message. But it should not do it automatically! It should ask before doing it! Otherwise we will end up with many ptxconfig files in many directories... Update 2007-01-19: rsc: it's not so easy as "touch ptxconfig && ptxdist oldconfig". Error message is improved the preferred way to start a new project is cloning. [x] jbe: host-mknbi fails to build Update 2007-01-19: rsc: doesn't work, hasn't for ages, deleted [x] jbe: liboldX fails to build the ipkg but the build continues! Update 2007-01-19: rsc: fixed [x] unbreak host-zlib; it is necessary for host-umkimage if there is no zlib devel packet installed on the host. [x] omitting glibc installation should be possible, first hack attempt done Update 2007-01-12: No idea what the reason was; we don't have a concept for anything else than shared libs and glibc. [x] rsc: fakeroot-the-hosttool seems not to be found - reported by wrap. It looks to me as if $(PTXDIST_WORKSPACE)/local/bin has to be included into the path somehow. Ask mkl. [x] Our current host tools use their target counterparts for getting the sources; if the target counterpart is not selected, the dependencies are not created correctly! Test: switch off ipkg but activate host-ipkg. [x] audit 'get' stage [x] Menu Structure JBE: Use menuconfig instead of menu + configs whereever possible. It looks nicer in "menuconfig" and its much better supported when using "xconfig" [x] ptxdist should reject working as ROOT [x] add prerequisite checks to configure script; find out which prerequisites we really need. [x] Toolchain selection JBE: add an identifier to a (central) toolchain (in "make setup"). It should be possible to use more than one toolchain in a local ptxdist folder (for different targets/projects). So the idetifier selects the right toolchain for this project. This identifier simplifies the toolchain selection. There could be a central folder in the system with all informations (and identifiers) about any available toolchain installed on this system. --> done: "ptxdist toolchain path" per project [x] discuss UID of user "nobody" and GID of "nogroup" [x] jbe: ptxdist images fails for jffs2 fileimage creation it seems local-host/sbin is not in the PATH [x] jbe: procps.install stage fails with: make: Ungültige Option -- y make: Ungültige Option -- y make: Ungültige Option -- L make: Ungültige Option -- / make: Ungültige Option -- L make: Ungültige Option -- / Seems the install macro emits: make [...] CFLAGS=""" LDFLAGS=""" [...] [x] jbe: udev needs rules to control permissions on device nodes; jbe currently writes docs for this. [x] jbe/rsc: /etc/resolv.conf and /etc/nsswitch.conf: Find a solution to generate DNS configuration files from other sources like boardsetup (I have no clue what this means). "Then either have no resolv.conf at all (use /etc/hosts only), or generate resolv.conf from 'ptxdist boardsetup' information and generate a sane nsswitch.conf." [x] rsc: check if we can update mtd-utils from 1.0.0 to 1.0.1; mkl has already prepared the patches; find out why the revision number was not bumped. mkl: 1.0.1 needs acl, so we stay with 1.0.0 [x] ssh: server start scripts are missing [x] ssh: key gen mechanics needed [x] dbus needs user messagebus -> /etc/passwd; jbe: needs other user, non-root; add this user to /etc/passwd. Debian has a user called "messagebus", we should do it the same way. Define a sane UID (ask jbe) [x] rsc: find out why mkl added this new dependency mechanism which searches for ${${LABEL}_DIR}/.ptx-extract. [x] rsc: merge mkl's host/cross/target-pkg-config fixes. We need this to have a proper x.org and host-dbus. [x] jbe: make DHCP client useful on the target. Currently only the binary will be built and copied, but does not work on the target [x] jbe: update DHCP tp 3.0.5 or correct path to 3.0.4 [x] jbe: creating links into non existent directories fails, but does not break the build! Update 2007-01-12: rsc/mkl: the install_link macro has mkdir -p calls in all relevant places; should not happen -> jbe: retest.