-The Git Autoinstaller
-
-TODO NOW:
-
-- Keep my sanity when upgrading 1000 installs
- - Replace gaierror with a more descriptive name (this is a DNS error)
-
-- Make the rest of the world use Wizard
- - Make parallel-find.pl use `sudo -u username git describe --tags`
- to determine version. Make parallel-find.pl have this have greater
- precedence. This also means, however, that we get
- full mediawiki-1.2.3-2-abcdef names (Have patch, pending testing and commit)
- - Make deployed installer use 'wizard install' /or/ do a migration
- after doing a normal install (the latter makes it easier
- for mass-rollbacks).
-
-- Pre-emptively check if daemon/scripts-security-upd
- is not on scripts-security-upd list (/mit/moira/bin/blanche)
-
-- Redo Wordpress conversion, with an eye for automating everything
- possible (such as downloading the tarball and unpacking)
+- [SCRIPTS] MediaWiki 1.9.3 and 1.6.7
+
+- The merge interface is a kind of major UI disaster; you won't
+ be able to use it unless you know how Git works. Also, the
+ merges can be quite difficult to resolve if upstream has made
+ large formatting changes like reindenting. We may also consider
+ providing a --rebase option, which seems to do better when
+ big problems like this show up.
+
+- Repeated --continue from a temporary directory doesn't really work...
+ (or maybe this interacts /really/ poorly with restore, in which case
+ restore should ensure all files are present before actually doing the
+ restore)
+- Should be able to run restore from /tmp directory
+- Show progress or something when upgrading
+- Allow 'sticky notes' for future upgraders to notice
+- Blacklist should allow an easy way for a user to override it,
+ described in the error message.
+- .wizard/url semantics are subtly wrong: in particular, if we
+ explicitly configure a URL at install, we should be able to
+ detect this URL as baked in from the configuration
+
+- gct has accidentally set the +x bit on a lot of files >.>.
+- Make gct do the right thing with no arguments
+- Rerere support doesn't actually work
+- Utility scripts gct should support multiple filenames
+- "Version 3.0.0 doesn't exist; did you mean 3.0?"
+- util.fetch() should use urllib under the hood, not httplib. Code
+ has to be changed. We should log if we get redirected.
+- Be a little more intelligent when perform web checks; for example,
+ if we get a forbidden message, that probably means we go the right
+ address but it's blocked off; if we get a 404 message, that probably
+ means wrong address. Account Unknown is something particularly good
+ to check for.
+- Wordpress module can do something intelligent if we get redirected
+ to the installation page.
+- The need to run egg_info can make things a little fragile when pulling
+ if you forget. How can we make this less easily forgotten?
+- wizardResolve* files seem to get left in tmp en-mass, and we don't
+ know why.
+
+- Plugin-ify! Hook-ify! In more detail, applications should all be moved
+ out into plugins, scripts specific behavior should be moved into
+ plugins, and hooks need to be made available so that we can exert
+ the correct level of control.
+
+- [SCRIPTS] Wordpress needs to get rid of the siteurl hack, so that it
+ actually has a fully-qualified URL http://foo.scripts.mit.edu/blah.
+ This will also fix Wordpress's cron functionality. We should be
+ careful not to write over users who are on vhosts. We should figure
+ out who is still on twiddle paths. We should make sure the redirect
+ is handled correctly.
+
+- Remerges aren't reflected in the parent files, so `git diff` output is
+ spurious. Not sure how to fix this w/o tree hackery.
+- Sometimes users remove files. Well, if those files change, they automatically
+ get marked as conflicted. Maybe we should say for certain files "if they're
+ gone, they're gone forever"? What is the proper resolution?
+
+- Parse output HTML for class="error" and give those errors back to the user (done),
+ then boot them back into configure so they can enter in something different
+
+- [SCRIPTS] If you try to do an install on scripts w/o sql, it will sign
+ you up but fail to write the sql.cnf file. This sucks.
+
+- [SCRIPTS] Web application for installing autoinstalls has a hard
+ problem with credentials (as well as installations that are not
+ conducted on an Athena machine.) We have some crazy ideas involving a
+ signed Java applet that uses jsch to SSH into athena.dialup and
+ perform operations.