Things to do for piuparts ========================= Please also check the BTS, especially the bugs with a severity higher than wishlist! And see the bottom of this file for wishlist bugs someone once expressed… Some stuff we might tackle during the bullseye development cycle: - switch to python3 (that's actually a must) - README_server.txt: rewrite style a bit more. its super easy to setup now! - ==== piuparts.debian.org specific configuration ^^^^^^^ scripts should be the headline, not piu.d.o - move more bits from README_pejacevic.txt to README_server.txt - split out README_protocol and README_piuparts.conf? -> in piuparts.conf manpage maybe? - support multiple architectures: #762308 - piuparts-report should have a list of available arch and list packages only available on untested archs in a new state "(depends-)not-available-on-tested-archs" - master should (per default) only schedule packages which are not available on the master arch to slaves of different archs -> "schedule-evenly-to-slaves = no" - more stats and graphs: - new section stats page: - packages processed per day and section, master writes submissions.txt since 0.45 for all sections. - generate simple diagrams: number of source + binary packages in all single distros: lenny, squeeze, wheezy, jessie, stretch, buster, sid. - graph about piuparts stati for all sections combined? (possible ignore successful) - master should create the master and backup directories, if they don't exist. If master does that remove that sentence from README_server.txt again, same with slave and tmp. - if it weren't for 'slave-bin/slave_cleanup', the slave would only need rights to run "sudo piuparts" but nothing else. If we can clean this up, the sudoers.d should recommend sudo (lsof|kill|umount) for admins. - if there were real schroot support, piuparts could be used without sudo. (#708663) - use network namespaces to disable network during the tests: - < weasel> says: unshare --uts --ipc --net -- sh -c 'ip addr add 127.0.0.1/8 dev lo && ip link set dev lo up && stuff' and points to https://anonscm.debian.org/gitweb/?p=mirror/dsa-puppet.git;a=blob;f=modules/porterbox/files/dd-schroot-cmd#l104 - problem might be access to the mirror, either (bind mounted) nfs access will still work in the chroots or do as its done on the porterboxes: apt-get install -d , unshare apt-get install foo - add a sample config with all possible keys set to some useful value (like /usr/share/doc/apt/examples/configure-index.gz) - generate piuparts.1.txt automatically from piuparts.py - see this blog post for a nice howto: http://andialbrecht.wordpress.com/2009/03/17/creating-a-man-page-with-distutils-and-optparse/ - though this seems pretty complicated... maybe rather grep for parser.add_option and help= in piuparts.py ?! - requires merging all the additional infomation in piuparts.1.txt into piuarts.py - parsing piuparts --help output may be easier than parsing piuparts.py - elso: examples are duplicated in piuparts.1.txt and README.txt - check the logfiles (especially pass/) for - "Exception in thread" - java stacktraces - "Can't locate .* in @INC" - we should probably have an install test with --enable-recommends and without --warn-on-others to avoid adding artificial barriers where package subsets are configured (wheezy2jessie-rcmd is *not* the solution for this) - report actually ignored files/patterns ROT13 encoded to be able to spot and reschedule such tests - p-r: in the section summary page, report the piuparts flags being used - p-s: report age of the basetgz being used - solve the discrepancies between "dist-upgrade" (apt) and "distupgrade" (piuparts), adopting apt's naming Ideas for later: - maybe compress all logfiles - install from git/Makefile: remove the need for /etc/piuparts - accept a PIUPARTS_CONF environment variable everywhere to point to a different piuparts.conf - write reportbug-like wrapper for mass bug filing (start simple, make it more sophisticated later). - rework known_problems: - use a number prefix for sorting - add title information - piuparts-report: "discover" the available known_problems, don't hardcode the list - drop _issue/_error duplication, have flags inside to indicate whether to generate _issues.tpl (pass/) and/or _error.tpl (fail/ bugged/ affected/) - rework known problems to a python-friendlier format - the templates used by piuparts-report.py should all be taken from /etc/piuparts/templates/ and not be included in the python source - a redirect of http://piuparts.d.o/foo to http://p.d.o/source/f/foo.html would be nice More ideas for even later: - make it possible to call aptitude (or similar) instead of apt-get and allow to override the commandline arguments. - "decorate" (strike-through) bug links generated by piuparts-analyze to indicate resolved state (take package version into account!) - report: - write stats about the reasons for failures, as its done with shell scripts now (piuparts-analyze.py is an existing "fragment".) - RSS feeds of logs - do more fancy R graphs, eg. also per state - link (and target) to piuparts.d.o configuration is static to pejacevic. should refer to the actual hosts configuration if running somewhere else - not sure if it's a sensible thing to to, but provide a way to turn off debugging output for piuparts.py - see http://docs.python.org/library/logging.html - automated testing of piuparts using an archive of known broken packages: - create archive of broken packages to provide test cases for piuparts testing. - create emacspeak-broken-dpkg-preconfigure package for broken repo. (then later put more broken packages in there and use that for testing piuparts) (Closed) wishlist bugs are listed here so it's easier to find information about them should one wants to implement support for those. Usually wishlist bugs are closed not because the feature is unwanted, but because noone is working on them… see http://blog.liw.fi/posts/wishlist-bugs for a longer rationale. piuparts: - #664727 - support cowbuilder in addition to pbuilder - #798306 - piuparts should support [trusted=yes] in "file deb src" sources.list lines - #588042 - add an option to override the log file instead of append to it - #354842 - new option: remove /usr/local - #558819 - new option: check that daemon stop scripts don't fail even if the daemon doesn't run - #660896 - new option: use etckeeper and show how modified files have changed - #403648 - new test: Try unpack, then remove? - #561444 - new test: install, remove configuration files, re-install, check that configuration files don't re-appear - #561445 - new test: install, mangle configuration file, re-install, check that manglement is still there - #665016 - new test: more checks on alternatives - #810323 - new test: deconfiguring and configuring a package again - #658731 - add pattern for owned files that are always an error - #682741 - add a second set of ignored files and patterns for "partial purge" tests piuparts-report: - #685813 - add a single report of all failures (from all sections) ordered by age