Changes between Initial Version and Version 1 of WhyIHateX


Ignore:
Timestamp:
06/05/2011 03:16:38 PM (13 years ago)
Author:
Brian Warner
Comment:

gather my frustrations in one place, for easier reference

Legend:

Unmodified
Added
Removed
Modified
  • WhyIHateX

    v1 v1  
     1This is a collection of things that have annoyed me. I'm writing them down so
     2they'll seem smaller: if I only keep track of them in my head, I'm sure that
     3I've forgotten a few, and thus the perceived list is usually larger than the
     4actual list.
     5
     6== windows ==
     7* I had to use less-readable pathnames for flogfiles and incident reports
     8  (#177). Instead of `incident-2011-06-05--14:40:21Z-w2qn32q.flog`, I had to
     9  switch to `incident-2011-06-05--14-40-21Z-w2qn32q.flog`. The colons are
     10  more readable, and work fine on everything except for windows, but the
     11  hyphens are safe on all platforms. I'm bowing to the desires of my
     12  colleagues to value uniformity over readability.
     13* the normal safe atomic-rename trick (for overwriting a file) doesn't work
     14  on windows.
     15
     16== setuptools ==
     17* I added code to setup.py to add "entry points", which I dislike, because
     18  their use of `pkg_resources` makes it hard to locate the actual code being
     19  imported, and because they introduce a build step that isn't normally
     20  necessary. The `sys.path`-appending preamble in e.g. `bin/flogtool` works
     21  fine on all but windows, I think. (#109)
     22* I also added code to setup.py to add "install_requires", to present
     23  dependency information in a setuptools-visible way. While not a direct
     24  drawback, in my experience this dependency information is more likely to
     25  cause spurious failures at runtime than to improve anything. (when a
     26  dependent package is perfectly usable but, for some dumb reason, lacks
     27  version information that setuptools can recognize, then the `pkg_resources`
     28  checks in entry-point scripts will refuse to even attempt the import).
     29* Using setuptools at all means that 'setup.py install' doesn't work like GNU
     30  Autoconf -style 'make install', which causes problems with stow, and with
     31  debian package-building scripts. You can use the unpleasantly verbose
     32  `--single-version-externally-managed` flag to get closer to the original,
     33  if you can remember or discover it. I feel that OS-level packaging systems
     34  are better than per-language packaging systems, so I'd rather setup.py be
     35  simple and higher-level tools get more control.