25 Commits

Author SHA1 Message Date
gjb
b1fc2fbae9 MFC r282500, r282693:
r282500:
  Add initial support for building RPI2 images.

  In release.sh, allow overriding buildenv_setup() before
  the handoff to arm/release.sh.

  Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and
  the correct KERNEL, and add the buildenv_setup() override
  to install the sysutils/u-boot-rpi2 port/package.

  Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf,
  and set the correct entries for the RaspberryPi2 board.

 r282693:
  Merge ^/projects/release-arm-redux into ^/head.

  Of note:

  - This commit adds native FreeBSD/arm release build support without
    requiring out-of-tree utilities.

  - Part of this merge removes the WANDBOARD-{SOLO,DUAL,QUAD} kernel
    configuration files, for which the IMX6 kernel configuration file
    should be used instead.

  - The resulting images have a 'freebsd' user (password 'freebsd'),
    to allow ssh(1) access when console access is not available (VGA
    or serial).  The default 'root' user password is set to 'root'.

  - The /etc/ttys file for arm images now enable both ttyv0 and ttyu0
    by default.

Note:  The RPI2 kernel configuration does not yet exist in stable/10,
however the merge conflicts needed to be properly resolved.
Additionally, SRCBRANCH has been set to base/stable/10 in the updated
arm configuration files as part of this commit.

Sponsored by:	The FreeBSD Foundation
2015-05-20 19:32:57 +00:00
gjb
92782b6e3e MFC r277458, r277536, r277606, r277609, r277836, r277839,
r278118, r278119, r278206, r278502:

 r277458:
  Move virtual machine / cloud provider targets and
  options from release/Makefile to their own Makefile.

  Add glue to allow enabling building cloud provider VM images
  by default.

  Add a 'vm-cloudware' target, used to drive all targets in
  CLOUDTARGETS.

  Add examples for WITH_CLOUDWARE to release.conf.sample.
  Add WITH_CLOUDWARE evaluation to RELEASE_RMAKEFLAGS.

  Rewrite to consolidate VM image build scripts into one.

  Fix duplicated mkimg(1) call in vm_create_disk().

  Add primitive (untested) PowerPC/PowerPC64 VM image support.

  Note: As it is currently written, the /boot/pmbr and
  /boot/{gptboot,boot1.hfs} use the build host and not the
  target build.  Fixing this is likely going to be a hack in
  itself.

  mount(8) and umount(8) devfs(5) as needed.

  Change path for mk-vmimage.sh from ${TARGET}/ to scripts/ now that
  it is consolidated into one file.

  Fix paths for the base image and output disk image files.

  Set the boot partition type to 'apple-boot' for powerpc.

  In vm_install_base(), copy the host resolv.conf into the build
  chroot before attempting to do anything that requires working DNS
  (i.e., pkg bootstrap).

  In vm_extra_pre_umount(), remove the resolv.conf before the disk
  image is unmounted from the backing md(4).

  Silence errors when umounting the chroot's /dev, since it probably
  doesn't exist when we're running this.

  Unmount filesystems before attempting to destroy the md which
  holds them.

  Unmount filesystem and destroy md before we read the vnode from
  disk and package it into a disk image.  Otherwise we end up
  packaging an unclean filesystem.

  Merge duplicative vm-CLOUDTYPE targets before additional duplication
  gets added by the impending arrival of ec2 and gcloud.

  Add NOSWAP option which can be set by a vmimage.conf file to specify
  that no swap space should be created in the image.  This will be used
  by EC2 builds, since FreeBSD/EC2 allocates swap space on "ephemeral"
  disks which are physically attached to the Xen host node.

  In vm_extra_install_packages(), only bootstrap pkg(8) if
  VM_EXTRA_PACKAGES is empty.

  In vm_extra_pre_umount(), cleanup downloaded packages if pkg(8) was
  bootstrapped earlier.

  In vm_extra_install_base(), do not install waagent in the openstack
  image, because it is not used.  This appears to be a copy mistake.

  Remove vm_extra_install_base() from the openstack.conf entirely,
  since it does not need to be overridden.

  Enable password-less sudo for openstack images.

  Update the VM_EXTRA_PACKAGES list for the openstack images.

  Remove vm_extra_install_base() for the Azure image, now that the
  waagent exists in the ports tree.

  Add sysutils/azure-agent to the VM_EXTRA_PACKAGES list.

  In vm_extra_pre_umount(), remove the explicit pkg(8) install
  list, as dependencies are resolved by sysutils/azure-agent.

  Add a 'list-cloudware' target to print the list of supported CLOUDWARE
  values and a description.

  Add the AZURE_DESC and OPENSTACK_DESC descriptions.

  Update release(7)

  Add 'list-vmtargets' target, which produces a list of all supported
  VM and cloud provider images.

  Add VHD_DESC, VMDK_DESC, QCOW2_DESC, RAW_DESC image descriptions.

  Update release(7) to document the list-vmtargets target.

  Add initial support for the GCE (Google Compute Engine) cloud hosting
  provider image.

  Remove the console setting from rc.conf(5), which is not used there.
  While here, set console to include vidconsole in the loader.conf(5).

  Remove the pkg-clean(8) call from vm_extra_pre_umount() since the
  function is often overridden.

  Add vm_extra_pkg_rmcache() to call pkg-clean(8) to avoid duplicated
  code.

  Move resolv.conf(5) removal back to vm_extra_pre_umount() where it
  belongs.

  The GCE image needs resolv.conf(5) to exist (created as part of the
  image setup), so it cannot be removed.

  Comment the line that configures ttys(5) to 'off', which makes it
  impossible to test that the image boots.

  Add a note explaining why the line is commented, and not (yet) removed
  entirely.

  Move the 'install' bits that are specific to virtual machine images
  from the Makefile to Makefile.vm.

  Rename the 'install' target to 'release-install', and add a new
  'vm-install' target.

  Add a new 'install' target that invokes the new targets.

  Add WITH_CLOUDWARE to the list of make(1) variables for the release
  build.

  Remove hw.vga.textmode=1 from the VM image loader.conf, which was
  included during test builds and not intended to be included when
  merging this project branch back to head.

  Remove mk-azure.sh, which is no longer needed.

 r277536:
  Rename the 'release' target to 'real-release', and add two targets,
  'vm-release' and 'cloudware-release', that are invoked if
  WITH_VMIMAGES and WITH_CLOUDWARE are not empty.

  This fixes an issue where 'make release' would not build the cloud
  provider targets because CLOUDWARE was not yet set.

  Move the WITH_VMIMAGES and WITH_CLOUDWARE targets to Makefile.vm.

  Note: There is no 'cloudware-install' target yet, since some of the
  disk image names may need to be specific to the provider, so this is
  probably best handled by the build scripts.

 r277606:
  Provide a recipe of "true" for building the "release" target once
  its prerequisites are satisfied, in order to avoid having an implicit
  rule triggered by the presence of release.sh.

 r277609:
  When iterating through VMFORMATS, the VMBASE file is not removed
  or truncated to a zero-size file, which if used to create more
  than one disk image format, can result in accidental pollution of
  the target formatted disk image.

  Instead of using a single VMBASE image (vm.img, by default), use
  a single base file for each format, named as VMFORMAT.img, which
  produces VMBASE.VMFORMAT as the final formatted image.

 r277836:
  Rename the 'system' target to 'disc1', which is specific to the
  disc1.iso installer image.

  Replace 'system' with 'release' in CLEANFILES, and add 'disc1'
  to CLEANDIRS.

  Ensure the 'dvd' target depends on 'packagesystem'.

  Fix 'mini-memstick.img' prerequisite, which should be the 'bootonly'
  target, not 'disc1' (previously 'system').

  Use .TARGET as the target installation directory for the disc1.iso
  and bootonly.iso images, which now expand to 'disc1' and 'bootonly'
  respectively, mimicking the behavior of the 'dvd' target.

  Remove '@true' from the 'release' target, and instead use
  'touch ${.TARGET}' to prevent multiple iterations of
  'make release' from clobbering previously-built installer
  medium.

 r277839:
  Update release(7) to reflect renaming the 'system' target to 'disc1'.

 r278118:
  Move service_enable="YES" rc.conf(5) additions to VM_RC_LIST and
  deduplicate.

  Evaluate if firstboot_freebsd_update should be enabled based on
  UNAME_r, because it is not supported for the -CURRENT or -STABLE
  branches.

 r278119:
  Use ifconfig_DEFAULT="" instead of hard-coding vtnet(4)

 r278206:
  Bump copyright after r277458.

 r278502:
  In scripts/mk-vmimage.sh, prevent incorrect usage() by defaulting
  VMCONFIG to /dev/null, and additionally ensuring VMCONFIG is not
  a character device before it is sourced.

  While here, be sure to exit if usage() is called.

  This should effectively be no-op, but the usage() output was
  discovered while investigating a larger issue.

* Several changes local to stable/10 were needed in order to handle
  UEFI images that are specific to this branch.

Tested with:	stable/10@r278906
Sponsored by:	The FreeBSD Foundation
2015-02-19 03:57:47 +00:00
gjb
dcfed64a2e MFC r272414:
Merge the following revisions from ^/projects/release-vmimage:

  r272234, r272236, r272262, r272264, r272269, r272271, r272272,
  r272277, r272279, r272376, r272380, r272381, r272392, r272234,
  r272412:

  r272234:
    Initial commit to include virtual machine images as part
    of the FreeBSD release builds.

    This adds a make(1) environment variable requirement,
    WITH_VMIMAGES, which triggers the virtual machine image
    targets when not defined to an empty value.

    Relevant user-driven variables include:

     o VMFORMATS:	The virtual machine image formats to create.
       Valid formats are provided by running 'mkimg --formats'

     o VMSIZE:	The size of the resulting virtual machine
       image.  Typical compression is roughly 140Mb, regardless
       of the target size (10GB, 15GB, 20GB, 40GB sizes have been
       tested with the same result).

     o VMBASE:	The prefix of the virtual machine disk images.
       The VMBASE make(1) environment variable is suffixed with
       each format in VMFORMATS for each individual disk image, as
       well as '.img' for the source UFS filesystem passed to
       mkimg(1).

    This also includes a new script, mk-vmimage.sh, based on how
    the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
    were created (mk-vmimage.sh in ^/user/gjb/thermite/).

    With the order in which the stages need to occur, as well as
    sanity-checking error cases, it makes much more sense to
    execute a shell script called from make(1), using env(1) to
    set specific parameters for the target image than it does to
    do this in make(1) directly.

  r272236:
    Use VMBASE in place of a hard-coded filename in the CLEANFILES
    list.

  r272262:
    Remove a 'set -x' that snuck in during testing.

  r272264:
    release/Makefile:
      Connect the virtual machine image build to the release
      target if WITH_VMIMAGES is set to a non-empty value.

    release/release.sh:
      Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

    release/release.conf.sample:
      Add commented entries for tuning the release build if the
      WITH_VMIMAGES make(1) environment variable is set to
      a non-empty value.

  r272269:
    release/Makefile:
      Include .OBJDIR in DESTDIR in the vm-base target.

    release/release.sh:
      Provide the full path to mddev.

  r272271:
    Fix UFS label for the root filesystem.

  r272272:
    Remove comments left in accidentally while testing, so the
    VM /etc/fstab is actually created.

  r272277:
    Remove the UFS label from the root filesystem since it is added
    by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

  r272279:
    Comment cleanup in panic() message when mkimg(1) does not support
    the requested disk image format.

  r272376:
    Separate release/scripts/mk-vmimage.sh to machine-specific
    scripts, making it possible to mimic the functionality for
    non-x86 targets.

    Move echo output if MAKEFLAGS is empty outside of usage().

    Remove TARGET/TARGET_ARCH evaluation.

  r272380:
    Avoid using env(1) to set values passed to mk-vmimage.sh,
    and instead pass the values as arguments to the script,
    making it easier to run this by hand, without 'make release'.

    Add usage_vm_base() and usage_vm_image() usage helpers.

  r272381:
    After evaluating WITH_VMIMAGES is non-empty, ensure
    the mk-vmimage.sh script exists before running it.

  r272392:
    Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
    xz(1) compression of the virtual machine images.

    This is intentionally separate to allow more fine-grained
    tuning over which images are compressed, especially in cases
    where compressing 20GB sparse images can take hours.

  r272412:
    Document the new 'vm-image' target, and associated release.conf
    variables.

  r272413:
    Remove two stray comments added during the initial iterations
    of testing, no longer needed.

Sponsored by:	The FreeBSD Foundation
2014-10-14 12:23:44 +00:00
gjb
524a0ad518 Revert r272724:
Features not yet available in stable/10 are needed in
  mkimg(1), and it is more dangerous to tweak these changes
  in stable/10 directly without explicitly testing certain
  failure cases.

  Re-addition of this change is imminent.

Sponsored by:	The FreeBSD Foundation
2014-10-08 04:42:56 +00:00
gjb
50b9567d08 MFC r272414:
Merge the following revisions from ^/projects/release-vmimage:

r272234, r272236, r272262, r272264, r272269, r272271, r272272,
r272277, r272279, r272376, r272380, r272381, r272392, r272234,
r272412:

r272234:
  Initial commit to include virtual machine images as part
  of the FreeBSD release builds.

  This adds a make(1) environment variable requirement,
  WITH_VMIMAGES, which triggers the virtual machine image
  targets when not defined to an empty value.

  Relevant user-driven variables include:

   o VMFORMATS:	The virtual machine image formats to create.
     Valid formats are provided by running 'mkimg --formats'

   o VMSIZE:	The size of the resulting virtual machine
     image.  Typical compression is roughly 140Mb, regardless
     of the target size (10GB, 15GB, 20GB, 40GB sizes have been
     tested with the same result).

   o VMBASE:	The prefix of the virtual machine disk images.
     The VMBASE make(1) environment variable is suffixed with
     each format in VMFORMATS for each individual disk image, as
     well as '.img' for the source UFS filesystem passed to
     mkimg(1).

  This also includes a new script, mk-vmimage.sh, based on how
  the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
  were created (mk-vmimage.sh in ^/user/gjb/thermite/).

  With the order in which the stages need to occur, as well as
  sanity-checking error cases, it makes much more sense to
  execute a shell script called from make(1), using env(1) to
  set specific parameters for the target image than it does to
  do this in make(1) directly.

r272236:
  Use VMBASE in place of a hard-coded filename in the CLEANFILES
  list.

r272262:
  Remove a 'set -x' that snuck in during testing.

r272264:
  release/Makefile:
    Connect the virtual machine image build to the release
    target if WITH_VMIMAGES is set to a non-empty value.

  release/release.sh:
    Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

  release/release.conf.sample:
    Add commented entries for tuning the release build if the
    WITH_VMIMAGES make(1) environment variable is set to
    a non-empty value.

r272269:
  release/Makefile:
    Include .OBJDIR in DESTDIR in the vm-base target.

  release/release.sh:
    Provide the full path to mddev.

r272271:
  Fix UFS label for the root filesystem.

r272272:
  Remove comments left in accidentally while testing, so the
  VM /etc/fstab is actually created.

r272277:
  Remove the UFS label from the root filesystem since it is added
  by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

r272279:
  Comment cleanup in panic() message when mkimg(1) does not support
  the requested disk image format.

r272376:
  Separate release/scripts/mk-vmimage.sh to machine-specific
  scripts, making it possible to mimic the functionality for
  non-x86 targets.

  Move echo output if MAKEFLAGS is empty outside of usage().

  Remove TARGET/TARGET_ARCH evaluation.

r272380:
  Avoid using env(1) to set values passed to mk-vmimage.sh,
  and instead pass the values as arguments to the script,
  making it easier to run this by hand, without 'make release'.

  Add usage_vm_base() and usage_vm_image() usage helpers.

r272381:
  After evaluating WITH_VMIMAGES is non-empty, ensure
  the mk-vmimage.sh script exists before running it.

r272392:
  Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
  xz(1) compression of the virtual machine images.

  This is intentionally separate to allow more fine-grained
  tuning over which images are compressed, especially in cases
  where compressing 20GB sparse images can take hours.

r272412:
  Document the new 'vm-image' target, and associated release.conf
  variables.

r272413:
  Remove two stray comments added during the initial iterations
  of testing, no longer needed.

Sponsored by:	The FreeBSD Foundation
2014-10-08 04:25:17 +00:00
gjb
339221a5fa MFC r270417, r270418, r270455, r270457:
r270417:
  Fix arm build breakage when building stable/10 on
  head/.

r270418:
  Also export UNAME_r to fix arm builds.

r270455:
  Set OSREL and UNAME_r in release/release.sh when building
  ports to prevent ports build failures from killing the
  release build.

r270457:
  Wrap a long line.

Sponsored by:	The FreeBSD Foundation
2014-08-27 00:50:51 +00:00
gjb
bfa777d36f MFC r264343:
Add SRC_UPDATE_SKIP, DOC_UPDATE_SKIP, and PORTS_UPDATE_SKIP
  variables.  These are intended to allow bypassing the
  'svn co /usr/{src,doc,ports}' step in the chroot when the
  tree exists from external means.

  The use case here is that /usr/src, /usr/doc, and /usr/ports
  in the chroot exist as result of zfs dataset clones, so it
  is possible (and happens quite often) that the included
  distributions may not be consistent.  (This is not the case
  for -RELEASE builds, but does happen for snapshot builds.)

Sponsored by:	The FreeBSD Foundation
2014-04-14 03:57:45 +00:00
gjb
6f50d7f091 MFC r264027, r264028, r264029, r264030, r264046, r264073:
r264027:
  Add a new release build variable, WITH_COMPRESSED_IMAGES.

  When set to a non-empty value, the installation medium is
  compressed as part of the 'install' target in the release/
  directory.

r264028:
  Clean up trailing whitespace in release/Makefile.

r264029:
  Fix logic error.

r264030:
  If WITH_COMPRESSED_IMAGES is set, add the compressed images
  to the CLEANFILES list.

r264046:
  Use xz(1) instead of gzip(1) to compress release images
  when WITH_COMPRESSED_IMAGES is used.

r264073:
  Allow overriding xz(1) path.

Sponsored by:	The FreeBSD Foundation
2014-04-08 00:53:31 +00:00
gjb
5be2c88184 MFC r262810, r262862, r264105:
r262810:
  Merge enabling building FreeBSD/arm images as part of the
  release build process.

r262862:
  Provide backwards-compatibility with release.conf SVNROOT
  entries that do not have a trailing '/'.

r264105:
  Add ZEDBOARD support for release builds.

* Local modifications:
  - Set SRCBRANCH from head/ to stable/10/.
  - Strip svn:merginfo from ^/projects/release-embedded to avoid
    pollution.

Sponsored by:	The FreeBSD Foundation
2014-04-04 07:34:46 +00:00
gjb
29fd702b03 MFC r262499, r262505, r262507, r262509:
r262499:
  release.sh:
  - Add a VCSCMD variable that defaults to 'svn checkout',
    and update places 'svn co' is used directly.
  - After sourcing a configuration file, prefix SRCBRANCH,
    PORTBRANCH, and DOCBRANCH with the SVNROOT.
  - Properly capitalize 'FreeBSD.org' in the default SVNROOT.
  - Update Copyright.

  release.conf.sample:
  - Add an example to use git instead of svn, by nullifying
    SVNROOT, and setting SRCBRANCH, DOCBRANCH, and PORTBRANCH
    to the URL fo a git repository.

  release.7:
  - Document VCSCMD.

r262505:
  In release/Makefile, remove exclusion of CVS directories in the
  src/ and ports/ distributions.

  While I am thinking about it, exclude .git directories for src/
  and ports/, as somewhat of a followup to r262499.

r262507:
  Chase r262505, and remove CVS exclusion from picobsd builds.

r262509:
  Rework how WORLD_FLAGS and KERNEL_FLAGS are set, to remove an
  unnecessary expr(1) call.

Sponsored by:	The FreeBSD Foundation
2014-03-05 00:45:28 +00:00
gjb
890135ba9f MFC r259868, r259881, 259955:
r259868 (jmmv):
  Delay copying of resolv.conf into the chroot until /etc
  exists.

r259881 (jmmv):
  Put the release objdir inside the chroot.

259955:
  Move build_doc_ports() to the if...fi block from which it is
  called.

Sponsored by:	The FreeBSD Foundation
2013-12-30 02:19:23 +00:00
gjb
3a49f6f7cf MFC r257805, r257806, r257807, r257942:
r257805:
  Add a 'mini-memstick.img' release target, which will use the
  'bootonly.iso' components to create a smaller memory stick image.

  This is useful for system recovery, where a full memstick.img image
  is not necessarily needed (or wanted).  In addition, it is possible
  to do bootonly-style installation, where the base.txz, kernel.txz,
  etc. are fetched from a remote source.

  Provide backwards-compatible target (mini-memstick), to keep in sync
  with the targets documented in release/Makefile.

r257806:
  Remove extra target from 'memstick' that I forgot to remove before
  previous commit.

r257807:
  Update release(7) to include 'mini-memstick'.

r257942:
  Fix a few style nits.

Sponsored by:	The FreeBSD Foundation
2013-12-11 19:26:56 +00:00
gjb
fca381ba6d MFC r259079:
Add WITH_DVD to RELEASE_RMAKEFLAGS, otherwise it is not actually
  passed to 'make release'.

Sponsored by:	The FreeBSD Foundation
2013-12-10 00:35:33 +00:00
gjb
190b91ee4b MFC r258786, r258796, r258797, r258847, r258853, r258949:
r258786:
  Move OPTIONS_UNSET outside of the PBUILD_FLAGS variable, otherwise
  the textproc/docproj port build fails.

r258796 (hrs):
  - Prevent TARGET and TARGET_ARCH from being defined as empty when
    TARGET="" and/or TARGET_ARCH="" is specified.
  - Remove extra ().

r258797 (hrs):
  Use standard CLEANFILES/CLEANDIRS and clean target in bsd.obj.mk.

r258847:
  Provide reproducibility between builds by building pkg(8) from ports,
  instead of using pkg-bootstrap.

  This should resolve a problem that was discovered during 10.0-BETA4
  freebsd-update(8) builds,

r258853:
  Turn off the dvdrom target by default.  dvd1.iso is now built by
  specifying 'WITH_DVD=1' during 'make release'.

  This caused some problems during the freebsd-update builds for
  10.0-BETA4.

r258949:
  Ensure WITH_DVD is not empty to prevent 'WITH_DVD= ' from evaluating
  to true.

Approved by:	re (hrs)
Sponsored by:	The FreeBSD Foundation
2013-12-05 00:59:29 +00:00
gjb
a2ed0ef7f6 MFC r258305, r258307, r258308, r258309, r258310, r258314, r258317,
r258319, r258320:

r258305:
  Use the IMAGES variable to determine which image files to remove
  as part of 'make -C /usr/src/release clean'.

r258307:
  Add a script and configuration files to fetch pre-built packages
  from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso).

r258308:
  Unconditionally copy the build host /etc/resolv.conf into
  the chroot directory, since hostname resolution may be
  needed in the case of building a dvd image (with packages)
  and also setting 'NOPORTS=1'.

r258309:
  Set the PKG_CACHEDIR directory to 'dvd/' instead of 'release/'
  in preparation of adding a 'dvd1.iso' target.

r258310:
  Add the 'dvd1.iso' target.  This mimics the 'release.iso' target,
  with the additional step of fetching packages for inclusion on the
  dvd image.

  The 'pkg-stage' target is used to run 'scripts/pkg-stage.sh' if
  the '${TARGET}/pkg-stage.conf' configuration file exists (currently
  only amd64 and i386).

  Allow dvd1.iso to be skipped if NODVD=1.

r258314:
  Fix how ABI is evaluated so it matches more than a dot-zero
  case.

r258317:
  Document the 'dvdrom' target.

r258319:
  Remove WITHOUT_PROFILE=1 for the dvd1.iso medium.

r258320:
  Simplify PKG_ABI for pkg-stage.sh.

Approved by:	re (hrs)
Sponsored by:	The FreeBSD Foundation
2013-11-21 02:45:36 +00:00
gjb
6863a0ee58 MFC r258101:
Since the doc/ toolchain conversion to docbook 5.0, JADETEX
  is no longer a valid option, so remove 'WITHOUT_JADETEX=yes'
  from PBUILD_FLAGS.

  While here, also remove 'WITHOUT_X11=yes', since it will
  cause a dependency conflict by requiring both print/ghostscript9
  and print/ghostscript9-nox11.

  Switch to OPTIONSNG format (WITHOUT_* -> OPTIONS_UNSET='FOO'),
  and unset the FOP option, which requires Java (although it is
  disabled by default).  Also unset the 'IGOR' option, since
  textproc/igor is a validation tool, not necessarily a dependency
  of the doc/ build itself.

  While here, reduce the line length of PBUILD_FLAGS.

Approved by:	re (kib)

Sponsored by:	The FreeBSD Foundation
2013-11-17 15:58:13 +00:00
gjb
912a6a5027 MFC r257641:
When building the textproc/docproj port, the ports-mgmt/pkg port
 needs /var/run/ld-elf*.so.hints, which is not automatically created.

 Fix reldoc build by running the ldconfig(8) startup script in the
 chroot directory before starting the port build phase.

Approved by:	re (kib)
Sponsored by:	The FreeBSD Foundation
2013-11-07 04:13:27 +00:00
gjb
627feb6294 Remove hash generation from release.sh, as it is run as part of
the 'install' target in the release/Makefile.

MFC after:	3 days
Submitted by:	jhb
Approved by:	re (hrs)
Sponsored by:	The FreeBSD Foundation
2013-10-09 22:00:03 +00:00
gjb
d60e48989e Remove extra 'MAKE_FLAGS' line.
Submitted by:	jhb
Approved by:	re (marius)
Sponsored by:	The FreeBSD Foundation
2013-09-19 19:49:31 +00:00
gjb
9a09e7fb6b Remove get_rev_branch(), functionality exists in the release/Makefile.
Submitted by:	hrs
2013-08-13 21:01:23 +00:00
gjb
cfc7739bb4 - Only set ARCH_FLAGS (TARGET/TARGET_ARCH) if specified, otherwise
allow the toolchain to detect the correct values.

- Remove {SRC,DOC,PORT}REVISION variables, and use 'branch@rNNNNNN'
  as the {SRC,DOC,PORT}BRANCH variables.

- Only set default KERNEL_FLAGS and WORLD_FLAGS make(1) jobs if the
  number of CPUs is greater than 1.

Submitted by:	hrs
2013-08-13 20:16:14 +00:00
gjb
3d6c89b2d6 - Add SRC_FORCE_CHECKOUT configuration option to force svn to checkout
the src/ tree into a directory that contains files/directories, such
  as a case where a custom kernel configuration file is specified.

- Allow specification of multiple KERNCONFs to pass to 'make release'.

- Move evaluation of NODOCS/NOPORTS earlier, and set based on how the
  release process expects these options to be evaluated.

- Wrap KERNCONF specification in double quotes, and use 'eval' so multiple
  kernel configurations do not cause the build to fail in strange ways.

- Set WITHOUT_X11 for the port build flags for the documentation toolchain
  build.  Also run 'clean distclean' targets during port build.

PR:		180192
Submitted by:	Anes Mukhametov
MFC after:	3 days
Approved by:	kib (mentor, implicit)
2013-07-05 22:04:49 +00:00
gjb
e08b36714d If MAKE_CONF and/or SRC_CONF are set and not character devices,
copy to chroot to use with release build.

Submitted by:	Garrett Cooper (original version)
Approved by:	kib (mentor)
MFC after:	1 week
2013-06-22 22:12:24 +00:00
gjb
9241c8f59f Fix OSVERSION variable within PBUILD_FLAGS.
Submitted by:	Garrett Cooper (in part)
Approved by:	kib (mentor)
MFC After:	1 week
X-MFC-With:	r251652
X-MFC-To:	stable/9 only
2013-06-16 17:54:56 +00:00
gjb
ceed11ef6c Add new script to run release builds. The script is heavily based upon
the release/generate-release.sh script by nwhitehorn.

This script can use optional configuration file to override defaults,
making running multiple serialzied builds with different specific
configurations or architecture-specific tunings quite easy.

Sample overrideable options are included in the release.conf.sample
file.

Approved by:	kib (mentor)
MFC After:	2 weeks
X-MFC-To:	stable/9 only
2013-06-12 13:15:28 +00:00