Differences between revisions 24 and 25
Revision 24 as of 2015-05-22 15:40:40
Size: 5881
Editor: josch
Comment:
Revision 25 as of 2015-05-22 15:45:12
Size: 5890
Editor: GuillemJover
Comment: Use DebianBug link
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
 * fix #647028  * fix DebianBug:647028

Instead of having this list hang on my fridge, I'll maintain my personal Debian TODO list here.

TODO

  • have a service like codesearch but index the built source package directories. This allows to search in the files generated during the build process. For example, the glib/gobject function g_signal_list_ids returns an array in random order (relevant for ReproducibleBuilds) but its invocations are automatically generated when valac turns vala code into C, making it impossible to find all affected packages.

  • have a tool like apt-file but let it search the files the binary package creates *after* installation. This is useful for tools which use maintainer scripts to create symlinks or files.
  • extend binarycontrol.d.n with contrib and non-free and hopefully merge it into codserach.d.n at some point

  • extend jenkins bin/reproducible_create_meta_pkg_sets.sh to use more ceve once new dose3 version with support for source packages arrives in unstable
  • extend jenkins bin/find_dpkg_trigger_cycles.sh with a heuristic based on maintainer scripts and then testing whether a cycle actually exists as documented in 774803 This will fix problems as in 778695

  • add a jenkins test checking the validity of Debian architecture wildcard: https://github.com/josch/findarchwildcardproblems

  • check for unused build dependencies: https://github.com/josch/findunusedbd

    • in the process, check for writes outside the build directory (like in $HOME)
    • in the process, check for source packages with a non-functional clean target, meaning that the source package cannot be rebuilt in the same tree because of dpkg-source errors
    • publish the generated file access statistics generated by fatrace for possible other uses
  • package lego-parts-generator: https://github.com/josch/lego-parts-generator

  • package img2pdf: https://github.com/josch/img2pdf

  • fix 693926 by letting make respect the MAKE_HOST variable when creating the shared library path. Filed as 777270

  • a way to map input sources to created binaries
    • benefits: copyright, embedded code copies stuff, GPL compliance verification
    • can be solved either by running all compilation through wrapper scripts that do the logging or by having "structured build logs"
  • structured build logs
    • a structured build log would for each "line" know the originating process
    • a structured build log from a parallel build could be linearized retroactively, because the process tree is known
    • a structured build log could also mention which files a process used and which it produced
    • ptrace and LD_PRELOAD do not work well because they break test suits
  • check dose-ceve support for who_provides and source packages and poke people for a release or otherwise a git-version upload to experimental
  • fix botch-build-order-from-zero but this needs dose-ceve support for who_provides and sources files (only in git right now)
    • TODOs from Helmut:
      • rename to something that does not include "order", because it is not about ordering at all
      • desired API:
        • takes a build architecture (implicit?), host architecture, binary package lists (for build and host), source package list, a set of binary (or source?) package names that are to be cross-built
        • returns a set of source package names that need to be cross-built in order to obtain the requested set
      • ideally, it has close to no false positives
      • ideally, it something facilitates improving the input data as the archive currently does not allow build profiles, :native or is just missing M-A annotations
      • allow to specify a custom source package for cross satisfyability analysis instead of defaulting to build-essential
  • wanna-build:
    • should be packaged for Debian
    • should only retry X times and not infinite until somebody notices and lets a buildd admin set the package to failed
    • if a buildd reboots or halts, then the state keeps being "building" even
      • in case of reboot, if a buildd instance does another build then the prior build has to be cleaned
      • in case of hanged buildd, the admin should be notified after a certain time of inactivity
  • I somehow cannot get debugedit to work in the first place so no way to fix its use for reproducible builds
  • generate cross.html for more arches, particularly multilib arches (armhf is not multilib) and then have an overview page showing a quick summary of packages failing on all arches and those that only fail on some
  • mk-build-deps should use the binary package building capabilities of sbuild and in turn sbuild should offer these as a library
    • allow to make use of all sbuild features automatically (build profiles, cross building, resolution of disjunctions, using dpkg for parsing)
    • less duplication of dependency parsing code
  • extend botch-cross such that cross toolchain translation exists (gcc-for-host) and then sed all gcc, gcc-X.Y, gcc-multilib to gcc-for-host (same for g++, gfortran) and pretend the availability of gcc-for-host:host and also tell it that libc6-dev:host exists already
  • extend debversioncomp https://gitlab.mister-muffin.de/josch/debversioncomp with tests for libdpkg-perl and libben

  • some cycles have a source package (src:cups-filters, src:ijs) multiple times in a cycle. This should not happen. Look at the output of botch-stat-html or the FIXME comment in stat-html.py.
  • fix 647028

  • add statistics about usage of build profiles in Debian source packages to bootstrap.debian.net