Commit graph

63 commits

Author SHA1 Message Date
Aleksey Cheusov
70f18400cb update tp 0.33.0
add: new build stage "upload" in BUILD_STAGES instead of two
  "upload_logs" and "upload_pkgs".

  Two new variables are introduced: CSS_FILE and ICON_FILE.
  Now user can override the default distbb.css and distbb.ico.
  .pkg-total style is not used for "Inspected packages" line.
2009-10-26 08:42:02 +00:00
Aleksey Cheusov
aa16c5edeb more notes 2009-10-14 10:53:33 +00:00
Aleksey Cheusov
2e25ce1a69 update to 0.32.0
Major changes:

  fix: workaround for buggy FreeBSD (at least 6.2-7.2) shell that
  doesn't handle correctly 'if eval false;' statement if 'set -e'
  mode is activated.

  fix: PSS_SLAVES is unset before building src_summary in !MASTER mode.

  New variable RSYNC_CMD is introduced. It sets the command used for
  uploading logs and packages. [rsync]

  New variable REPORT_FILE is introduced. It defaults to
  "report_mini.txt" for shortened report. Set it to "report.txt" for
  full report. REPORT_CMD variable doesn't contain `<' redirection
  anymore.

  New option "distbb -K" for skipping a pkg_summary updating step.

  New option "distbb -l" for labeling a bulk build. Unless -B option
  was applied, BUILD_ID and logging directory will look like
  YYYYMMDD-<label>.

  New option "distbb -x" for excluding specified stages from bulk build.
  For example, "distbb -xupload_pkgs -xupload_logs -p wip/distbb".

  NOTES section in META/report.html is not surrounded by <p></p> pair.
  Do it manually if you need.

  "distbb -B" can get a full path to the logging directory, not just
  subdirectory of $REPORTS_DIR. Such a directory may be everywhere,
  not necessarily under $REPORTS_DIR.

  By default net/tnftp is also a part of EXTRA_DEPS.

  Better handling of REPORT_MINI_SIZE_LIMIT.

  Warning messages about packages versions going backward are
  collected in $build_src_summary_log_fn
2009-10-11 08:05:13 +00:00
Aleksey Cheusov
efbb3723b5 LICENSE=mit 2009-08-10 19:37:06 +00:00
Aleksey Cheusov
de8557a636 update to version 0.31.0
Major changes:

  There is no need to add /usr/pkg_distbb/bin to PATH environment
  variable on all build hosts.
2009-08-09 18:16:18 +00:00
Aleksey Cheusov
9ec6f239c2 update to 0.30
FIXED: {alter,native}:../depend/encies were handled incorrectly.
  As a result distbb wrongly detected cyclic dependencies, e.g.
     devel/p5-Module-Build -> devel/p5-version
     devel/p5-version -> devel/p5-Module-Build
  To fix this problem an external utility pkg_summary2build_graph is
  used for creating a dependency graph for building packages.

  Improvements for  bulk building multivariant packages.

  PSS_PAEXEC_EXTRA_OPTS is by default set to $PAEXEC_EXTRA_OPTS.
  See pkg_src_summary(1) and paexec(1).

  xxx.done files have been renamed to xxx_done.tmp and therefore are
  not uploaded anymore.

  Minor fixes in Makefile.

DEPENDS on latest pkg_summary-utils and latest paexec
2009-05-30 17:37:32 +00:00
Aleksey Cheusov
d7fe52f949 Update to version 0.29.0
DISTBB now depends on latest paexec-0.13.0.

  New configuration variable PAEXEC_EXTRA_OPTS for passing extra
  options to paexec(1). It defaults to -Z300.

  As of this version if one or more (but not all simultaneously!) of
  your build hosts hanged up, or other type of bad things happened,
  distbb will try to restore connection to them automatically every 5
  minutes (by default, see PAEXEC_EXTRA_OPTS). That is, now you can
  run pkgsrc bulk builds even on not very stable hardware, software
  and even over unreliable network, e.g. internet, without warrying
  about manual restarting a bulk build. Now you can reboot your build
  hosts freely. If you prefer old distbb behaviour, set
  PAEXEC_EXTRA_OPTS to -z. See paexec(1).
2009-03-15 21:27:25 +00:00
Aleksey Cheusov
e3c3c3184a updated to 0.28.0
distbb_diff takes into account "not available" packages
2009-01-31 12:10:07 +00:00
Aleksey Cheusov
ab8a415feb update to version 0.27.0
report.*, regress sections:
      - "Breaks" column is added
      - packages failed due to broken dependencies are removed
2009-01-06 23:07:47 +00:00
Aleksey Cheusov
f214a3fa7b update to 0.26.0
all .html pages of the report have favicon taken from here
  http://www.netbsd.org/~dillo/ made by Dieter Baron.
  Later I'll try to create my own...

  added: option -s. If applied, an exit status is 0 if building *ALL*
  packages succeeded, otherwise exit status is 5.
2008-12-26 23:44:37 +00:00
Aleksey Cheusov
9bd775c34b update to 0.25.0
Now bulk builds don't stop in case of connection failure to the
  build host (power down, segfault, hang up for any reason etc.). Such
  a host is marked as unavailable and distbb continuous to work
  reassigning a failed package (if any) to another build host.

  EXTRA_DEPS_CMD variable has been removed from configuration.
  Packages listed in EXTRA_DEPS are built one-by-one in order they are
  listed in.

  stage_gen_report: new link in "Jumps" section
2008-12-24 00:09:49 +00:00
Aleksey Cheusov
2caadf87c0 ++pkgrevision
latest paexec, runawk and pkg_summary-utils are required
2008-12-02 20:20:39 +00:00
Aleksey Cheusov
afdd4a91dd Update to 0.24.0 (lots of significant improvements)
distbb.conf is splitted into two parts: global defaults
  (distbb.default.conf) and user's settings (distbb.conf). This is
  major change in distbb! Instead of upgrading your existing
  distbb.conf it is *strongly* recommended to recreate it from
  examples/ template. Sorry for inconvenience.

  added: 'distbb -r|--retry' option. if your bulk build failed for
  some reason, you may continue it from that point it stopped at by
  running 'distbb -r -B YYYYMM.HHMM'

  stage_upload_pkgs now supports NO_BIN_ON_CDROM and NO_BIN_ON_FTP.
  By default all packages are uploaded. If you want to change this,
  set UPLOAD_PKGS_FILES variable in your distbb.conf
  (See distbb.default.conf for a list of available variants).

  stage_xxxx.html improvements. Packages failed due to their
  dependencies now have their own info.html. So, you can see its
  summary and decide whether to fix this package or not.

  DEPENDS_TARGET configuration variable is removed, now it should be
  a part of EXTRA_OPTS. See distbb.default.conf

  mini report is introduced (META/report_mini.txt) which is sent by
  stage_report (by default). In this mini report "Failures per
  maintainer" and "Failed due to dependencies" sections are removed.
  A purpose of this is to reduce a size of the report sent by email
  (pkgsrc-bulk mailing list has limitations).

  New config variable REPORT_MINI_SIZE_LIMIT. report_mini.txt sent by
  email is limited to approximately REPORT_MINI_SIZE_LIMIT bytes.

  PKGNAMEs are removed from report{,_mini}.txt. This also reduces
  report's size.

  New configuration variable BUILD_STAGES which stores a list of
  building stages.  If you want to, for example, send report before
  uploading binaries, change this variable in your distbb.conf.
  But be careful, list of available stages may change in the future.

  dbb_init target does not output useless noise to stdout anymore. As
  a result it is usually not listed in failed package's stage_*.html.

  Usage of REPORT_CMD changed. Now redirection from stdin (report.txt)
  should be inside it. Update your distbb.conf and set I_AM_READY to 4

  ADDED: new config variables USER_MAIL and MAIL_PROG. They are for
  stage_report.

  ADDED: PKG_CMP_SUMMARY_CMD configuration variable, for setting
  a program for comparing pkg_summary(5) for available binaries and
  pkg_src_summary collected from pkgsrc source tree.

  distbb.default.conf SPECIAL_PACKAGES:
  'dbb_canbebuild' and 'replace' targets removed, 'dbb_vars' added

  dbb_vars target fix: POSIX sed does not except \n
2008-12-02 19:51:40 +00:00
Aleksey Cheusov
4c2b71924e update to 0.23.1
fix: yet another PKGNAME->PKGPATHm_PKGNAME
  movement in stage_gen_report
2008-11-06 00:17:20 +00:00
Aleksey Cheusov
f485efeae8 updated to 0.23.0
While running bulk builds for PKGSRC+WIP packages, I've found that
  PKGNAME is not unique for ALL packages. So, neither PKGPATH nor
  PKGNAME is unique.  This leads to distbb failure happened because
  different packages have the same directory for logging.  To avoid
  this I've changed per-package logging directory from PKGNAME to
  category_package_PKGNAME, e.g. pkgtools_pkg_chk_pkg_chk-1.2.3.

     The same may happen if you build, for example, (for testing
     purposes) both
       textproc/dictem:EMACS_TYPE=xemacs215 and
       textproc/dictem:EMACS_TYPE=xemacs214.
     In both cases PKGNAME remain the same. This case is not fixed yet.
2008-11-05 23:39:43 +00:00
Aleksey Cheusov
e7839969da update to 0.22.2
FIXED: qt3-libs and qt4-libs fail at dbb_vars stage because of '<'
  symbol inside CONFIGURE_ARGS value. NOW it is fixed.
2008-10-31 20:38:57 +00:00
Aleksey Cheusov
4ef3a48e0c remove mk/bsd.prefs.mk 2008-10-25 16:42:23 +00:00
Aleksey Cheusov
eb50fcae79 REPLACE_SH (for Solaris) 2008-10-25 16:40:46 +00:00
Aleksey Cheusov
aeb6b07fa8 updated to 0.22.1
FIXED typo in stage_gen_report:
       packages_failed_prev_cnt(bug) -> packages_failed_deps_cnt(ok)

  Workaround for the following bug in Korn shell.
     Seen on Interix's /bin/sh, FreeBSD's /bin/sh (and NetBSD's /bin/ksh)

       0 ~>cat /home/cheusov/tmp/1.sh
       #!/bin/sh
       set -e
       if eval false; then
           echo 'Really?'
       fi
       echo "Ok"
       0 ~>/bin/sh /home/cheusov/tmp/1.sh # good
       Ok
       0 ~>/bin/ksh /home/cheusov/tmp/1.sh # bad
       1 ~>

  DISTBB feature list in README
2008-10-24 11:02:08 +00:00
Aleksey Cheusov
e95be8ceec fixed: pkglint warnings 2008-10-22 20:30:17 +00:00
Aleksey Cheusov
3659869a5a Updated to 0.22.0
New stage_post_build containing user's actions is added.
  Actions are defined in 'post_build' shell function in distbb.conf.
  Update your existing distbb.conf! I_AM_READY=3 is required.

  distbb.mk: new 'dbb_vars' target that outputs formatted variables
  values. They may be useful for debugging.
  I put dbb_vars to the default TARGETS.

  Code updating "virtual best" bulk build directory
  is now separated to an individual stage - stage_update_best.
  It is run after 'stage_gen_report'.

  distbb.conf: logging directory default changed from xxx/log to xxx/logs.

  stage_gen_report: progress messages become more verbose
2008-10-19 17:23:17 +00:00
Aleksey Cheusov
7ea9d53927 CONF_FILES: distbb.conf and distbb.local.mk are configuration files
distbb doesn;t depend on rsync, this tool is optional,
    added MESSAGE about dependencies
++pkgrevision
2008-10-16 11:49:42 +00:00
Aleksey Cheusov
c9922e6487 update to 0.21.0
DISTBB_CONF environment variable points to the distbb configuration file,
  it is overriden by -C option (distbb -C). -C option is new option.
  By default @@sysconfdir@@/distbb.conf is used.

  distbb.conf:
     New mandatory conf variable DISTBB_LOCAL_MK, that should
     point to distbb.local.mk

  distbb_diff:
     +d means that given package is now built correctly but
     previously was failed DUE TO ITS DEPENDENCIES

     -c means "pkg_src_summary" failed for given package

     n[-+] changed to N[-+]

  REPORT

     META/packages_total.txt renamed to META/packages_built_total.txt,
     new "Packages built (total)" line added to META/report.html
     META/packages_built_total.txt = META/packages_built_{*}.txt

     New report file META/packages_failed_total.txt,
     new "Packages failed (total)" line added to META/report.html
     META/packages_failed_total.txt = META/packages_failed_{*}.txt

     New report file META/packages_failed_notavail.txt that lists
     packages marked as "not available",
     new "packages marked as not available" line added to report.{txt,html}

     New entry to the report: "Inspected packages"

     PKGNAME/stage_xxx.html: links to other stages appear both at the
     top and bottom of the html page

     If building stage succeeded without any output
     (e.g. dbb_canbebuilt or dbb_excluded) it is not listed in other
     PKGNAME/stage_xxx.html files, i.e. no links to such files

     Link to package's summary (PKGNAME/summary.txt) is added to
     PKGNAME/stage_xxx.html
2008-10-13 12:37:34 +00:00
Aleksey Cheusov
752471803f depends on pkg_summary-utils>=0.17.2
++pkgrevision
2008-10-04 20:23:08 +00:00
Aleksey Cheusov
b8cae98cfa updated to 0.20.1
Major changes:

  FIX: serious bug in "stage_build is rerunable" feature.
  Generating a queue of tasks was not fully correct.

  FIX: stage_gen_report may fail because of spaces inside MAINTAINER
  field in package's summary (lang/gauche/Makefile revision 1.50).
  Now everything after comma is removed, that is only first maintainer
  in the list is printed.

  fix: META/packages_{built,failed}.txt may have duplicates when
  PREFIX/libexec/distbb/stage_build is run more than once
  (rerun manually after unexpected failure)

  New section in report.{html,txt} - "old bulk build vs. new bulk build".
  It contains a list of packages that was built previosuly but failed
  and more. See information about distbb_diff executable below.
  To activate it, run 'distbb -B'. By default this feature is disabled.

  New section in report.{html,txt} - "BEST bulk build vs. new bulk
  build".  The same as "old bulk build vs. new bulk build" but instead
  of "old bulk build", "virtual best" bulk build is used.  It is not a
  real bulk build but a collection of packages that where built
  sucessfully in the past. In this section you'll see ALL regressions,
  not only regressions in comparison with ONE PREVIOUS bulk build.

  report.txt is reorganized. Now it is aligned to 75-columns.
  No "Failed Stage" column, ---- separator between sections,
  "responsible person" is not included anymore
  and other minor changes.

  "failed due to deps" section is reorganized in both report.html and
  report.txt. Both maintainers are output, i.e. maintainer of the
  indirectly failed package and maintainer of failed dependancies.

  New executable - 'distbb_diff' intended for comparing two
  bulk builds.

     usage: distbb_diff [OPTIONS] bbdir1 bbdir2
     OPTIONS:
     -h|--help              display this help message
     -V|--version           distbb version

     bbdir1 - path to bulk build directory, e.g. ~/bulk-logs/20080915.1010
     bbdir2 - path to bulk build directory

     Output format:
     <CMP> <PKGPATH> <PKGBASE> <Version(s)>
     where CMP is a combination of the following characters
     +   - package failed in bbdir1 but succeeded in bbdir2
     -   - package was built sucessfully in bbdir1 but failed in bbdir2
     R   - package was removed or pkg_src_summary failed for it
     d   - package failed due to broken dependency

  fix in stage_gen_report: detecting a "failed stage" is more correct
  now (it takes into acount SPECIAL_PACKAGES field) and becomes clearer.

  Log files PKGNAME/failed_packages.txt have been renamed
         to PKGNAME/failed_deps.txt

  META/*.raw files are not uploaded

  report_html is run once, a whole stage_gen_report is now much faster

  example distbb.conf:
     CREATE_WRKDIR_SYMLINK=no added to EXTRA_OPTS,
     obsolete PAEXEC_BUFSIZE removed,
     -m option added to pkg_src_summary (PKG_UPDATE_SRC_SUMMARY)
2008-09-29 22:45:37 +00:00
Aleksey Cheusov
05afc7b29b update to 0.19.1
Version 0.19.1, by Aleksey Cheusov, Sun, 14 Sep 2008 11:11:33 +0300

  minor addition in stage_gen_report: failed package in "Failed due to
  dependencies" section are now printed in their "short" form.

     Version 0.19.0, by Aleksey Cheusov, Sat, 13 Sep 2008 12:00:06 +0300

  Multivariant packages, that is packages/modules for different
  versions of Apache, Python and PHP can be built by "distbb". To
  enable this set PKG_UPDATE_SRC_SUMMARY variable to
    'pkg_src_summary -m ...'
  in your distbb.conf.  Because of this new feature per-package
  logging directories are changed from PKGPATH to PKGNAME. I don't
  like this (sometimes this makes untrivial the searching for logs of
  a particular packages) but I don't see any reasonable
  alternatives. AFAIK Joerg's pbulk does the same.

  "support for multivariant packages" feature has one interesting
  side-effect. PKGPATHs passed to distbb (by -f, -p options or
  LIST_ALL_PKGS_CMD variable in config file) can now be "enriched"
  with building options.
  Format for this "enriched" PKGPATH:
     category/package[:var1=value1[,var2=value2[,...]]]
  For example:
     textproc/dictem:EMACS_TYPE=xemacs214
     www/ap2-wsgi:PKG_APACHE=apache22,PYTHON_VERSION_REQD=25
  Spaces are also allowed inside "valueN", they should be encoded as
  symbol ~ (tilde).
  As a result you can build several variants of a given package
  with different options (see OPTIONS framework) by passing to distbb
  "enriched" PKGPATHs like the following

     sysutils/mc:PKG_OPTIONS.mc=-subshell~-slang~-charset,PKGNAME=mc-light-4.6.1nb4
     sysutils/mc:PKG_OPTIONS.mc=samba,PKGNAME=mc-full-4.6.1nb4
     sysutils/mc:PKG_OPTIONS.mc=-x11,PKGNAME=mc-nox11-4.6.1nb4

  Local copy of pkg_src_summary (i.e. META/pkg_src_summary.txt) is
  used for building packages and generating report. This means that
  after stage_init finished, you may change PKG_SRC_SUMMARY file (by
  another distbb bulk build, pkg_update_src_summary or whatever).

  distbb.conf.in: no need for DISTBB_LOCK variable

  stage_init.in: minor fixes (awk getline vs. end of file)

  stage_init.in: if PKG_UPDATE_SRC_SUMMARY_CMD fails, its stderr is
  output to stderr too, not only to META/build_src_summary_log.txt
  (normally PKG_UPDATE_SRC_SUMMARY_CMD should always exit with exit
  status 0, failure means fatal error).

  Directories for logging (REPORT1_DIR/PKGNAME) are created as soon as
  they become necessary, not all at once at the beginning...
  Code for removing the empty logging directories is moved from
  stage_gen_report to stage_build
2008-09-14 08:46:15 +00:00
Aleksey Cheusov
1f7bea149c updated to 0.18.0
stage_build becomes rerunable. If, for example, your SLAVE hosts
  hanged up, turned off due to power lost or something similar
  happened while BUILDING stage, you can continue running bulk build
  by running PREFIX/libexec/distbb/stage_build <BUILD_ID>.
  NOTE: In case MASTER host hanged up or turned off, rerunning
  stage_build may be not fully correct because of possible data loss.

  stage_build script is fully reworked. As it was planned, tricky and
  dirty shlock/sh/awk code that processes packages graph is now
  removed from distbb. All necessary functionality is generalized and
  becomes a part of external utility "paexec" (see paexec -s option).
  As a result pkgtools/shlock is not used anymore.

  wip/netbsd-uuencode is not used anymore. PAEXEC sends unencoded data
  to distbb.
2008-09-05 09:58:42 +00:00
Aleksey Cheusov
2347d222b4 updated to version 0.17.0
ADDED: -p option. If you want to build a few packages, you
  can specify them in command line:

      distbb -p 'wip/dict-server wip/pkg_online wip/distbb'

      Actually this option was added in version 0.16.0.
      I just forgot to mention it in appropriate NEWS section.

  FIXED: packages for which pkg_src_summary (pkgsrc tree scanning) failed
      (bad PKGPATH, errors in Makefile etc.)
      appear in META/packages_built_prev.txt.

      Now such packages are collected in META/package_failed_scan.txt
      If such failures happen, report.html includes an additional line

         Packages failed (pkg_src_summary/scanning)   <COUNT> <LOGS>

  Slave hosts/chroots save building logs locally and send them to the
  master host only after building is completed. This can speed-up
  building.

  "Top offenders" -> "Failures per maintainer"
     Some developers treat the word "offender" offensive.

  Packages failed at dbb_canbebuilt (that is packages failed because
  of ONLY_FOR_PLATFORM, ONLY_FOR_PLATFORM etc.) and dbb_excluded
  (packages are excluded from bulk build by person who runs a bulk
  build) stages do not increase "failures per maintainer" counter.

     It is recommended to always include dbb_canbebuilt to TARGETS,
     otherwise counters in "Failures per maintainer" will be not fully
     correct.

  Speeds-ups for stage_gen_report
2008-07-27 21:42:03 +00:00
Aleksey Cheusov
0838d82f39 updated to 0.16.0
Version 0.16.0, by Aleksey Cheusov, Sat, 19 Jul 2008 14:13:26 +0300

  fixed: after bulk build finished, not all empty CATEGORY/PACKAGE
  directories were removed.

  packages_built_prev.txt, packages_built.txt, packages_failed.txt,
  packages_failed_deps.txt and packages_total.txt files now contain
  both PKGPATH and PKGNAME

  META/summary_cmp.txt is generated (pkg_summary vs. pkg_src_summary
  comparison) and is included to report.html

  META/pkg_src_summary.txt is generated and is included to report.html

  Progress messages are generated in META/progress.txt.
  This file is included to report.html

  Cleaning the working directories is now optional.
    distbb.conf:
       CLEAN_TARGET=clean    # clean them! (default in example distbb.conf)
       CLEAN_TARGET=dbb_none # keep them!
    Update your distbb.conf!

  html link to itself is removed from report.html

  CATEGORY/PKG/stage_*.html log files also conform to "HTML 4.01 Strict".
  Tested via http://validator.w3.org

  An internal "init" target and initial (before building start)
  "clean" targets are not hardcoded in libexec/distbb/slave script
  anymore.  The special target "dbb_init" is implemented in
  share/distbb/distbb.mk for initialization (removing PREFIX/PKGDBDIR
  and unpacking bootstrap).  Both "dbb_init" and "clean"
  targets should be a part of TARGETS variables.  Update your local
  distbb.conf and set I_AM_READY to 2

  META/packages_built.txt is sorted alphabetically and is included to
  report.html as "list", That is, no "sorted" and unsorted" lists
  anymore.

  Minor fixes and additions in example distbb.conf

  ============================================================
  Example of bulk build result:
    http://www.mova.org/~cheusov/pub/pkgsrc-distbb/Linux/current-unprivileged/log/20080719.1147/META/report.html
2008-07-19 18:44:39 +00:00
Aleksey Cheusov
9ecd9213c2 updated to version 0.15.1
FIXED: another bug in handling EXTRA_DEPS
2008-07-07 15:12:54 +00:00
Aleksey Cheusov
bcc1e82a4b Updated to version 0.15.0
META/packages_total.txt file is build that contains a list built
  packages plus those that are not rebuilt (no need for this). This
  file is uploaded by stage_upload_logs.

  report.html now includes links to META/packages_total.txt,
  META/packages_built_prev.txt, META/packages_built.txt,
  META/packages_failed.txt and META/packages_failed_deps.txt.

  added: option -B to 'distbb' executable. This is usefuil for
  debugging. It sets an unchangable BUILD_ID.

  LIST_ALL_PKGS_CMD command is run on the first slave host from
  $SLAVES list in case both SLAVES and TRANSPORT are set.  The problem
  with master host is that master's and slave's /usr/pkgsrc may be not
  the same.
2008-06-22 19:57:17 +00:00
Aleksey Cheusov
2dac56584f updated to version 0.14.0
FIXED: sometimes packages are built in a wrong order.

  FIXED: there were two examples for PKG_UPDATE_SRC_SUMMARY_CMD
  in the sample distbb.conf:
  'pkg_update_src_summary' and 'pkg_src_summary'. But the latter
  just didn't work because these two commands have imcomppatible usage.
  Now this is fixed but changes are incompatible with old distbb.conf.
  Update it according to the new sample for distbb.conf.
  Also set I_AM_READY variable to 1.
  Side effect: 'pkg_src_summary -A' can now be used for generating summary.
  This will build pkg_src_summary only for requested packages (distbb -f)
  and their dependancies, not for entire pkgsrc
  tree (pkg_update_src_summary).
  Both Hubert's bulk build and pbulk work this way. Now distbb too.

  FIX: EXTRA_DEPS now can contain more than one package and is handled
  correctly. Copy EXTRA_DEPS_CMD from the sample to your distbb.conf

  The following files are sorted alphabetically:
     CATEGORY/PACKAGE/failed_packages.txt
     CATEGORY/PACKAGE/failed_because.txt
     META/packages_built_prev.txt
     META/packages_failed_deps.txt
  In case of LOTS of failures this make searching in these files much easier.

  Latest paexec, runawk and pkg_summary-utils are needed.

  report.html conforms to HTML 4.01 Strict specification.
  Thanks to validator.w3.org.
  UTF-8 charset is also used (See NOTES and RESPONSIBLE variables)

  "build_end" date/time are moved from stage_gen_report to stage_build.

  Lots of comments and suggestions in the sample for distbb.conf

  Other minor fixes, improvements and code clean-ups.
2008-06-18 20:18:38 +00:00
Aleksey Cheusov
315500a9c4 updated to version 0.13.0
ADDED: mega-feature/new variable SPECIAL_PACKAGES

     Example and notes from distbb.conf:
     ...
     # some packages fail to build because they are a part of pkgsrc
     # bootstrap.  if you want to build them try to uncomment lines in
     # SPECIAL_PACKAGES variables
     #
     # you may also want to use different building options
     # to build some packages, e.g. to use gcc-3.4 for building
     # audio/festival,
     # under Linux Debian/etch or DragonFlyBSD where it is a part
     # of "base" system, see lines in SPECIAL_PACKAGES.
     # NOTE: There are no quotes around string containing spaces
     #       (this is not shell ;-) )
     # NOTE: An empty string after EACH package section is mandatory
     # NOTE: Do not forget that you can define your own Makefile targets
     #       in distbb.local.mk. this new target can run, for example,
     #       pkg_add -u

     SPECIAL_PACKAGES="\
     #PKGPATH=pkgtools/digest
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=pkgtools/bootstrap-mk-files
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=net/tnftp
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=sysutils/checkperms
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=devel/bmake
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=pkgtools/pkg_install
     #TARGETS=depends fetch checksum configure build package
     #EXTRA_OPTS=BATCH=yes PKG_VERBOSE=1 USE_DESTDIR=full CHECK_SHLIBS=no
     #
     #PKGPATH=audio/festival # TARGETS is not changed!
     #EXTRA_OPTS=CC=/usr/bin/gcc-3.4 CXX=/usr/bin/g++-3.4
     #
     "

  distbb.conf: 'extract' and 'patch' targets are in TARGETS now.

  distbb.conf: fix in comment: package-deinstall -> deinstall
2008-06-11 22:14:21 +00:00
Aleksey Cheusov
e15addfb9c upgraded to version 0.12.0
Two new variables (for distbb.conf) are introduced:
    - STDIN_FROM_DEV_NULL:
      Some broken packages need an interaction with user even if BATCH
      variable is set to YES. This may "hang" a bulk build. If you
      don't want this, set the following variable to "1", otherwise
      leave it unset.
    - LOG_SIZE_LIMIT:
      If STDIN_FROM_DEV_NULL=1, some packages may produce infinite
      garbage to stdout and in turn may waste ALL your free disk
      space. To prevent this, set the following limit. Leave it unset
      for no limit.

  fix:
     If there is nothing to be built stage_build may fail under Linux,
     Solaris, HP-UX, Interix and probably many others. This is because
     Free/NetBSD xargs works differently - in case of no input it just
     do NOT call program (xargs's argument) at all. Others do.

   stage_*.txt files are not uploaded anymore.
   Only html versions are uploaded.

   README: distbb is NOT fork of pbulk in any way! ;-)
   It was written from scratch.
2008-06-08 07:37:29 +00:00
Aleksey Cheusov
1632ed00b7 fixed: pkglint warning 2008-05-19 18:27:17 +00:00
Aleksey Cheusov
aa46e32257 needs latest summary utils, ++pkgrevision 2008-05-16 16:42:02 +00:00
Aleksey Cheusov
f3335bf486 fixed: INSTALLATION_DIRS 2008-05-15 16:46:45 +00:00
Aleksey Cheusov
a77e91c1f2 Requires pkg_summary-utils>=0.8.0nb2 (fix for awk dewey)
Upgrade to version 0.11.0
  Major changes:

  Both .html and .txt report include a number failed dependancies for
  each indirectly failed package. This number was limited by hardcoded
  constant, now it is regulated by variable MAX_FAILED_DEPS_CNT Add it
  to your distbb.conf.

  stage_gen_report: fix for Debian dash - its ` and $( work
  differently :-(

  distbb uses TARGETS variables that contains a list of targets to run
  in order to build, install and create a binary package. TARGETS
  variable can easily be changed by user and this makes distbb very
  flexible - user may change build order or even define his own
  build/packaging procedure. As of this version user can define
  his/her own make rules without changing mk.conf and without
  recreating bootstrap tarball - by changing
  /usr/pkg_distbb/etc/distbb.local.mk file, second configuration file
  of distbb. distbb also defines two its own special targets which you
  can use: dbb_canbebuilt and dbb_excluded.  Read comments in
  /usr/pkg_distbb/share/distbb/distbb.mk about them.  Note that
  etc/distbb/local.mk MUST exist, copy it from
  share/examples/distbb/distbb.local.mk to etc/distbb.local.mk
  and edit for preferences.
2008-05-15 16:32:38 +00:00
Aleksey Cheusov
bf66954784 requires latest version of pkg_summary-utils
++pkgrevision
2008-05-12 23:17:55 +00:00
Aleksey Cheusov
c6cd1342d7 upgrade to version 0.10.0
Major changes:

  At startup, PREFIX and PKGDBDIR directories are deleted and
  bootstrap is unpacked (on all $SLAVES when MASTER_MODE=yes).
  NOTE: if you are upgrading from previous versions of distbb,
  recheck your EXTRACT_BOOTSTRAP_CMD (tar -C / is needed).

  distbb.conf: more examples for alternative/distributed
  PKG_UPDATE_SRC_SUMMARY_CMD. If you'll use distributed one,
  make sure PATH variable contains /usr/pkg_distbb/bin directory.
2008-05-10 13:48:27 +00:00
Aleksey Cheusov
1d883f13f9 fix a typo 2008-05-09 10:19:04 +00:00
Aleksey Cheusov
69c41d49c0 upgrade to version 0.9.0
Major changes:

  Instead of red counts the "Breaks" column now contains the link to
  the actual list of indirectly failed packages.

  stage_gen_report: hardcoded string "Responsible person" is not printed

  distbb.conf: another example for PKG_UPDATE_SUMMARY_CMD

  Additions and more details in README

  BUILD_START renamed to BUILD_ID
2008-05-09 10:09:42 +00:00
Aleksey Cheusov
b7a14dfa45 Version 0.8.0, by Aleksey Cheusov, Sun, 4 May 2008 20:50:43 +0300
Sometimes building packages stops because some of them require an
  interaction with user. BATCH=yes doesn't help.  In order to prevent
  this, bmake is run with < /dev/null. As a result, such a bad
  packages can not break/stop bulk builds anymore.

  distbb version is included to the report.

  An information about the person that runs a bulk build, is
  optionally included to the report.

  LIST_ALL_PKGS_CMD variable is introduced.  It defaults to
  'pkg_list_all_pkgs'.  If set, the specified command is run to get
  list of packages to be built.
  You need to upgrade your distbb.conf
     Examples:
        LIST_ALL_PKGS_CMD='@@bindir@@/pkg_list_all_pkgs'
        #LIST_ALL_PKGS_CMD='( @@bindir@@/pkg_list_all_pkgs
                              cat my_extra_wip_packages.txt )'

  added: distbb --version|-V

  "on <SLAVEHOST>" is appended to 'succeeded' and 'FAILED' log
  messages. That is now it is seen on which host a particular package
  succeeded or failed.

  distbb.conf.in:
  # The following is for pkg_summary-tools > 0.5.0
  #PKG_UPDATE_SRC_SUMMARY_CMD='@@bindir@@/pkg_update_src_summary -f \
  # "PKGNAME PKGPATH DEPENDS BUILD_DEPENDS"'
2008-05-04 17:57:20 +00:00
Aleksey Cheusov
171f5461af update to version 0.7.0
NEWS:

  stage_init.in: completely reimplemented. An algorithm become easier
  and cleaner. FIXED: incorrect calculating "build_previously" count,
  and therefore "total_packages" too. The code also become cleaner.

  FIX: build_init.in now doesn't depend on fields order in
  pkg_src_summary (doesn't reply on that PKGPATH is before
  [BUILD_]DEPENDS). This may cause an inifinite loop because of
  oncorrect (cyclic) dependancies in META/tmp/trans_closure.tmp

  distbb.conf.in:
    minor fix: pkg_src_update_summary -> pkg_update_src_summary

  Exporting LC_ALL=C and other important initializations have been
  moved from distbb.in to common.in. Now every significant
  initialization is made in PREFIX/libexec/distbb/stage_*, i.e. these
  scripts become more all-sufficient.

  Minor changes and fixes in README
2008-04-19 08:20:23 +00:00
Aleksey Cheusov
5bd1367d84 FIX for DOCDIR: share/distbb -> share/doc/distbb 2008-04-16 09:45:59 +00:00
Aleksey Cheusov
9191fee78f NEWS files is also installed to PREFIX/share/distbb 2008-04-16 09:43:04 +00:00
Aleksey Cheusov
a4807415a7 upgraded to 0.6.2
Failures of PKG_SRC_SUMMARY_CMD for individual packages are logged
  and reported
2008-04-13 12:07:43 +00:00
Aleksey Cheusov
bd65f31a89 upgrade to 0.6.1
distbb.conf:
    BATCH=yes by default in distbb.conf

  FIXED: another BUG in handling EXTRA_DEPS
2008-04-06 18:10:17 +00:00
Aleksey Cheusov
698662a97c README file is also installed
additions and addons in DESCR
DESTDIR support
PKGREVISION=1
2008-04-05 21:07:27 +00:00
Aleksey Cheusov
084aa2aaf3 more features 2008-04-05 17:17:09 +00:00