On 20 Jul 2011, at 12:54, Stephan Beal wrote: > > On Wed, Jul 20, 2011 at 11:16 AM, Ben Summers <[email protected]> wrote: > >> I'm concerned that typing 'make' on obscure platforms builds subtly broken >> binaries. For example, on Solaris, it'll build one which truncates your >> passwords to 8 characters. >> > > That's not broken, though - that's the feature set provided by the OS. > Admittedly, it's semantically broken but it's not technically broken. The > bug is in Sun's heavy reliance on 1st-semester Chinese I.T. students to > write their most central OS software (how else can one explain the CLI > interface of SunCluster 3.1 and earlier?), and not fossil.
I think this is a side effect of the binary compatibility guarantee, which means getpass() can't return more than 8 characters to avoid breaking binaries from the Solaris 2 era. getpassphrase() is provided for new applications. The autosetup scripts check for this, and if it's available, it'll be used. I had terrible problems getting fossil to work, because it was silently truncating my 10 character passwords to 8 and I couldn't authenticate with the server. Regardless of the reasons for this breakage, it's an extremely bad user experience. However, I'm a little unclear about what you're proposing. Are you suggesting that fossil should only support majority operating systems, or that it's desirable to produce binaries which almost work but will infuriate people who try to use them? (For clarity: I'm perfectly happy to continue making fossil work on Solaris, and I'm not expecting anyone else to do anything about it.) > > I have also corrected the documentation. Suggesting people type >> "./configure; make" will just use the default Makefile on the platforms >> where it really matters! You need to use the explicit "./configure; make -f >> GNUmakefile" to pick up the autosetup generated Makefile. >> > > That is of course a problem, though. Perhaps we should rename the default > makefile to Makefile.unix (or similar). Since GNU make will look for > "GNUMakefile" by default, we could then keep the documentation (and > convention) that './configure && make' will work as-is for GNU platforms > resp. platforms where GNU make is used, but will fail with "makefile not > found" for non-GNU make. I agree that renaming the Makefiles would be sensible. However, I believe there is resistance to changing the build system if at all possible, hence, I made minimal changes. Although being consistent on every platform and requiring "./configure && make" might be a reasonable solution. Ben -- http://bens.me.uk/ _______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

