This is the TODO file for Abeni. If you are interested in working on any of these, please email pythonhead AT gentoo DOT org * Website: - Needs make-over * General: - Option to sort functions: src_unpack then src_compile, src_install etc. - Need to check if external apps exist every time someone tries to launch the external editor, web browser etc. - When you inherit an eclass, scan the functions and add them to Scintilla's keyword list for highlighting and auto-completion - Get dev email from env var ECHANGELOG_USER="Rob Cakebread " then fill in option in dev prefs. - Disable menus when not in edit mode - Improve find / search&replace dialog, "whole word", "match case" don't work - Lowercase PN when given URI on new ebuilds - Launch browser to HOMEPAGE url (Need function to extract variables from editor) - Don't let user edit current ebuild through Explorer * Dialogs: - Add Notes dialog with bugzilla bug# field, launch browser to bug# - metadata.xml library to choose from, for all the herds you belong to - When deleting ebuild, offer to rm -rf package dir when there are no more ebuilds * Syntax/formatting ebuilds: - Check Common Ebuild Mistakes, see if we can auto-fix any - Remove trailing spaces on save. - Warn on leading whitespace or try to convert to tabs - Give warning if /usr/local is in ${D} - Give warning when SLOTS are not numeric. Dynamic slots like in mod_php are a bad thing because portage can't detect them. * Documentation: - Its out of date, website needs big makeover * Command line options need to be implemented. Rough ideas: * -c, --create Create ebuild using src_uri to determine package and filename * -e, --eclass Add inherit and appropriate functions for eclass, used with --created * -v, --variable Add variable(s) and their value(s) * -f, --function Add function name(s) * -h, --help Show list of command line options * -b, --bump Bump the given ebuild up one version * -d, --digest Create digest. Used with --bump * -t, --category Set package category * -l, --license Set LICENSE * -i, --iuse Set IUSE * -t, --description Set DESCRIPTION * -a, --homepage Set HOMEPAGE * -k, --keywords Set KEYWORDS * -o, --slot Set SLOT * -s, --s Set S * -p, --pretend Show which package would be used with --bump, and version numbers. Example One: We have a python program that uses 'python setup.py install': abeni --create 'http://abeni.sf.net/foo-0.1.tgz' --eclass 'distutils' --category 'app-admin' --digest This would create an ebuild named foo-0.1.ebuild in PORTDIR_OVERLAY/app-admin, fetch the source code and create the digest, creating a complete ebuild, ready to be emerged. Example Two: We have package app-admin/cheese with cheese-0.0.1.ebuild. cheese-0.0.2.tar.gz was released today. We simply want to create a bumped-up version of the ebuild: abeni --bump app-admin/cheese --pretend (Output shows:) cheese-0.0.1.ebuild will be bumped up to cheese-0.0.2.ebuild This is what we want so we issue: abeni --bump app-admin/cheese --digest cheese-0.0.2.ebuild is created in PORTDIR_OVERLAY/app-admin/cheese/ The digest is updated. cheese-0.0.2.ebuild is ready to emerge. * Known problems: - The first entry in the Most-Recently-Used list is shown without the path, the other entries contain the full path (seems to be wxPython/wxGTK bug) - I've had problems with the cursor vanishing in the editor when it loses focus and you focus it again. Seems to only be problem with gtk2?