K 10 svn:author V 6 marino K 8 svn:date V 27 2016-02-16T23:12:33.133309Z K 7 svn:log V 2180 ports-mgmt/synth: Release version 1.00 I'm pleased to finally issue the first release of Synth. There were some significant changes since the last release candidate: * Rework piped command handling to fix command parsing Synth was using ada-util to execute external commands and receive the output. Unfortunately, this implementation currently can not handle either extra whitespace nor can it support quoted values. The author is going to fix this soon using popen and pclose for Unix, but I just implemented the functionality by binding to those functions myself. * This was the only use of ada-util (I originally expected to use more of this library's functionality) so it's been dropped as a dependency. This reduces the stripped executable size by about 30%. * The environment was prepopulated with UNAME_[x] variables. This is required for Synth to support building packages for different releases or even architectures (e.g. building 10.2 packages on 11.0-CURRENT). * Define OSREL in the builder's /etc/make.conf. This seemed to be required for emulators/virtio-kmod which uses
 although it's not
  clear defining OSREL is necessary.
* Fix graceful shutdown handling in text mode.
  When the graceful shutdown key was changed from Escape to Control-Q, it
  stopped working in text mode (i.e. when it wasn't in curses).  I believe
  that's because the curses display uses the "raw" tty mode and lets all
  control characters through.  In text mode, Control-Q has a flow control
  functionality.  I wrote a routine to disable that flow control and give
  Synth access to control-Q keypress in all cases.
* The same routine disables TTY echoes when they are unwanted
* Fix "status-everything" dry-run issue where a graceful shutdown resulted
  in an unwanted "sorry" message.
* In test mode file system violation check, mark changes to /var/run
  during building to be excluded from checks.
* Add a guard that checks if Synth is launched when the current directory
  is /usr/local (or a subdirectory of it).  Synth will fail
  to mount everything in this case, so now it stops and tells the user
  to change directories and try again.

END