1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-06 11:41:52 +00:00

ports-mgmt/synth: bug fixes and feature for port developers

I had hoped that 0.99_5 would be bug-free and the basis for the first
release (1.00), but couple were found.  If use of 0.99_6 reveals no
further issues after a week or so, I'll re-release it as v1.00.

bugs fixed:
  * if the origin started with a directory separator, an exception would
    occur.  Now it properly labels it as an invalid origin.
  * The "extract" stage was labelled as "checksum".  Internally everything
    was fine, but on the display, the order was checksum, extract-depends,
    checksum instead of checksum, extract-depends, extract.
  * During one phase (build), the DEVELOPER flag was set unconditionally.
    This was a regression as it wasn't always the case.  This code was
    tweaked several times since 0.99_5 and now the DEVELOPER setting has
    been moved the builder's make.conf to ensure it's consistently
    present or absent (as needed).
  * It turns out that the ports tree scan is affected by the DEVELOPER
    flag.  It turns out the setting can affect the dependencies list so
    it needs to be set (or absent) appropriately to match how it will be
    on the builders.  The make.conf solution above solves this too.
  * There was "NO_BACKUP" set in the builders make.conf.  This line is
    for the DragonFly src builder and it's presence caused no harm, but
    it's been removed now.
  * Make ports makefile respect CFLAGS

new feature:
  * Provide ability to break into a build at a specific point and
    interact with it.
      -  Only available on "test" command
      -  Only active when one (1) port origin is given to "test" command
      -  Only active when ENTERAFTER is defined in environment as:
           > extract
           > patch
           > configure
           > build
           > stage
           > install
           > deinstall
      -  All dependencies are built first with typical display and
         DEVELOPER=1 set.  Afterwards, Synth converts to text mode and
         builds the specified port up to and including the phase specified
         by ENTERAFTER.  Then it launches a tcsh shell and gives control
         to the user at the builder's root directory
      -  The user ends the interactive session with the shell cmd "exit"
      -  Synth will clean up and exit (it will not try to continue the
         build due to possible corruption from the users)
   * This is a port developers tool.  The average user does not need it.
   * The average user might use "test" command to generate a log to submit
     as a FreeBSD Bugzilla PR attachment.
This commit is contained in:
John Marino 2016-02-07 09:48:56 +00:00
parent 275db1ead5
commit 1cf60f2492
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=408354
2 changed files with 7 additions and 6 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= synth
PORTVERSION= 0.99
PORTREVISION= 5
PORTREVISION= 6
DISTVERSIONPREFIX= v
CATEGORIES= ports-mgmt
@ -21,7 +21,7 @@ USES= ada:6 ncurses:port
USE_GITHUB= yes
GH_ACCOUNT= jrmarino
GH_PROJECT= synth_external:bundle
GH_TAGNAME= v1.3:bundle 75a342d
GH_TAGNAME= v1.3:bundle 4417017
# When framework is moved to Ada6, the ada-util and ini-file-manager
# libraries can be used as prebuilt (switch default.gpr url)
@ -39,8 +39,9 @@ post-extract:
do-build:
# To avoid requiring gprbuild as a dependency, compile C manually
.for csrc in ${COBJFILES:R}
(cd ${WRKSRC}/external/include/adacurses && ${SETENV} ${MAKE_ENV} \
gcc -I. -c ${csrc}.c -o ../../build/adacurses/${csrc}.o)
(cd ${WRKSRC}/external/include/adacurses && \
${SETENV} ${MAKE_ENV} gcc -I. ${CFLAGS} -c ${csrc}.c \
-o ../../build/adacurses/${csrc}.o)
.endfor
(cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} \
gcc -c unix_core.c -o ../build/unix_core.o)

View File

@ -1,4 +1,4 @@
SHA256 (jrmarino-synth-v0.99-75a342d_GH0.tar.gz) = 88c50fce494a09a431e9810996beab3364c151f84aec97beb1f61ef73d7e444c
SIZE (jrmarino-synth-v0.99-75a342d_GH0.tar.gz) = 84582
SHA256 (jrmarino-synth-v0.99-4417017_GH0.tar.gz) = 5cf9c170e5ed17b58eb07b2056a4d6b409507b6a7bf50d4db9878ccd9a69bbe2
SIZE (jrmarino-synth-v0.99-4417017_GH0.tar.gz) = 86246
SHA256 (jrmarino-synth_external-v1.3_GH0.tar.gz) = 2afc03e494d2394446eabdb5244967c202a79b449c7cad7ea67a87807cc25f44
SIZE (jrmarino-synth_external-v1.3_GH0.tar.gz) = 209283