Move xdev knobs from release/arm/release.sh and into an
XDEV_FLAGS variable in ${KERNCONF}.conf file.
Local changes:
Fix XDEV_FLAGS for stable/10 branch, in particular, remove
WITH_GCC_BOOTSTRAP=1 and add WITH_GNUCXX=1.
Sponsored by: The FreeBSD Foundation
r264518:
Fix armv6 build failure: "armv6-freebsd-gcc: not found"
r264697:
When building the 'xdev' target when WITH_GCC=1 and
WITHOUT_CLANG_IS_CC=1, it appears WITHOUT_CLANG=1 must
also be set.
While here, reorder the lines to put the WITH_* and
WITHOUT_* entries on the same line.
r264698:
Fix EOL escape.
r264703:
Apply a slightly different color hammer to arm/release.sh:
- gcc(1) fails to build usr.bin/dtc
- lack of WITH_GNUCXX=1 causes cc1plus(1) calls to fail
- u-boot fails to build with clang (hard-coded gcc(1) calls)
Implement the proper incantation of WITH_/WITHOUT_ knobs
to get arm snapshot builds working again.
Since the cc(1) binary no longer needs to be cc(1) instead of
clang(1), remove the chroot(8) post-install cc(1) overwrite.
Sponsored by: The FreeBSD Foundation
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
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
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
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
ld-elf.so.hints exists for pkg(8).
This is a direct commit to stable/10 as generate-release.sh
does not exist in head/.
PR: 186554
Sponsored by: The FreeBSD Foundation
Update the pkg-stage target to be more compatible with pkg-1.2:
- Add a release-dvd.conf pkg(8) configuration file to override
the default FreeBSD.conf configuration.
- Remove architecture-specific pkg-stage.conf files, consolidate,
and move their contents to scripts/pkg-stage.sh.
- Use 'pkg -vv' to determine the ABI, which is used as the
cache directory.
Prior to these changes, it would be possible for pkg-stage to fetch
conflicting binary packages from multiple repositories.
Tested against: head@r260522, stable/10@r260522
Sponsored by: The FreeBSD Foundation
Move the installer's keymap solution introduced by SVN r259468. The new
location of /etc/rc.local on the install media is more appropriate as it
knows serial vs. non-serial and can also do the change earlier (so that
even the initial Install dialog can benefit from the change).
Discussed with: nwhitehorn
* Purge old translations.
* Add missing footer due to DSSSL->XSLT migration and use XML catalog to
resolve URI.
* Add missing arch= and revision= support.
- Update release.ent and fix release number in Errata.
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
Bootstrap etcupdate(8) as part of the release build, similar
to what is done for mergemaster(8). This allows etcupdate(8)
to work out-of-box after the first upgrade of a system.
Sponsored by: The FreeBSD Foundation
Add pointer to wiki for Hyper-V information.
Wiki content for Hyper-V in FreeBSD 10 was significantly updated by
Abhishek Gupta <abgupta@microsoft.com>.
r259426:
Add a pkg(8) repository configuration file for cdrom-based package
installation.
As part of the 'pkg-stage' target, copy the configuration file
to the 'packages/repos/' directory on the DVD filesystem.
r259427:
Export 'REPOS_DIR' when the selected source medium for package
installation is cdrom. This enables bsdconfig(8) to make use
of the on-disc pkg(8) repository configuration, which fixes
package selection and installation from the dvd installer.
Sponsored by: The FreeBSD Foundation
Prevent release build errors found during snapshot builds where if
NOPORTS=1, pkg-stage.sh cannot build the ports-mgmt/pkg port if
WITH_DVD=1.
Sponsored by: The FreeBSD Foundation
Reduce disc1.iso image size by installing the userland with
the WITHOUT_PROFILE=1 option set, trimming 56MB from the image.
This change was somehow lost during the 10.0-RELEASE cycle, and
is intended for MFC to releng/10.0.
Sponsored by: The FreeBSD Foundation
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
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
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
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
- Syncronize stable/10/release/doc with head/ in followup to
the docbook5.0 update to the doc/ repository.
Approved by: re (delphij)
Sponsored by: The FreeBSD Foundation
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
Newer FreeBSD installs require an install(1) that supports the new flags.
This adds ${MAKEOBJDIRPREFIX}${.CURDIR}/tmp/legacy/{bin,usr/{bin,sbin}}
to the PATH while generating an mtree database for 'make release'.
Note that the problem only exists here because mm-mtree.sh generates
its own object tree to avoid mucking with the existing one, which
results in a PATH containing legacy utility dirs that are empty.
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
o We need wait a bit before attempting the root mount. The CD drives
on HP machines (typical) go through the management controller so
that it can be virtualized. In practice what this means is that it
is slow to detect and attach.
o Tell the kernel what to use as the root file system. The /etc/fstab
trick doesn't work, because we're on the EFI-compatble file system.
Introduce $BASEBITSDIR for clarity and in order to avoid repeating this
mistake in the future. Fixing this ensures that we pick up the newly built
boot code and loader native to the target, which is especially relevant
when cross-building release images.
- It is pointless to specify an endianess for ISO 9660 images so strip that.
MFC after: 3 days
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)
with the -RELEASE suffix. This fixes the incorrect text on the -CURRENT
errata page from showing '10.0-CURRENT' followed by 'until 9.1-RELEASE is
released.'
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
or SUP_UPDATE.
CVS exporter for head/ is turned off for nearly one month now.
It is finally time to swing the ax at these update methods.
Reviewed by: eadler
MFC after: 1 month
- Use ln -fs to create a symlink.
- Remove pkgadd for docports.
- Use WITHOUT_JADETEX=yes instead of WITH_JADETEX=no.
- Add {WORLD,KERNEL}_FLAGS to [BTWK]MAKE.
- Use makefs(8) and gpart(8) for sparc64 ISO image[2].
- Add publisher option to makefs(8)[2].
Based on work by: gjb[1]
Discussed with: marius, nwhitehorn[2]
Volume Descriptor (section 7.4). In short, upper-case alphanumeric + some
symbols only. While the makefs utility automatically converts the characters,
$LABEL should be consistent in the scripts.
distribution. This can happen if the src/ tree checkout is
within its own ZFS dataset, and the 'snapdir' ZFS property
is set to 'visible.'
Approved by: hrs
MFC after: 3 days
X-MFC-To: stable/9 only
is set by specifying '-a <arch>'. (Only supported for i386 on amd64
and powerpc on powerpc64 currently).
- Change how textproc/docproj is installed:
o Attempt to install from pkg(8);
o Fall back to pkg_add(1) if pkg(8) installation is not
successful;
o Fall back to installing from ports as last resort.
- Ensure the script is run by root[1].
- Get OSVERSION from param.h[1].
Provided by: glebius [1]
Reviewed by: nwhitehorn, kensmith
Approved by: kensmith
MFC After: 2 weeks
X-Needs-MFC: r240586, r240587, r240588
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.
While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
- Add ${IMAGE} for the supported image files. This fixes the install target
on FreeBSD/pc98.
- Use "mkdir -p" instead of "-mkdir" consistently.
Reviewed by: nwhitehorn
installer on a VTY with no kernel messages (VTY 2), show the installer
log in real time on VTY 3, and spawn a shell on VTY 4.
PR: bin/161047, bin/161048
MFC after: 2 weeks
kernels specified by KERNCONF are built and packed into release.
The first one is packed into kernel.txz, all others to
kernel.CONFIG.txz.
The first one is installed on bootables in /boot.
The fix involved adding a proper build of ld-elf.so.1 ,
and also replacing ldd with objdump (suggested by Garrett Cooper)
to build the list of shared libraries needed by the binaries
and libraries on the target.
improve support for multi-arch and cross-arch builds, by adding
a suffix to the kernel config file and build_directory.
(cross builds not clean yet, a cross-built kernel boots
but fails when starting /sbin/init)
machines.
- Mention that V480 with broken centerplanes have a chance of working with
the WAR in the upcoming 8.3-RELEASE and 9.0-RELEASE.
MFC after: 3 days
- mvs.4 uses nested '.Bl' tags which appears to confuse man2hwnotes.pl
for hardware note generation
- mps.4 also breaks the build, but I haven't yet identified why
digit beyond your time.
Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.)
will be cleaned up in coming days. Some will take longer than others due to
a few other consumers (tzsetup and sade).
not configure the host's networking if netbooted [1]. Also fix FTP
installations behind some firewalls [2].
PR: bin/159583 [2]
Reported by: stas [1]
Approved by: re (kib)
the normal distfile mechanism. Thanks to Marc Fonvieille for the patch and
for putting up with me taking entirely too long to commit this!
Submitted by: blackend
o boot/mfsroot.gz is no more. Copy it only when it exists so as still
to be compatible with Makefile.sysinstall.
o while here, make ispfw.ko optional as well.
o '-b bootimage' is not a valid argument for makefs. What was meant
was '-o bootimage'.
o create the boot image in the current directory so that makefs can
find the file. Previously it had to be created under $BASE because
that's how mkisofs wanted it.
so that running make release causes make obj to be run before doing
anything. This fixes a bug wherein, when run for the first time, and
without -DNOSRC, make release would attempt to recursively tar up the src
directory including its own output and enter an infinite loop.
While here, make the cross-building stuff work a little more the way it
should if only one of TARGET/TARGET_ARCH is specified.
Some files keep the SUN4V tags as a code reference, for the future,
if any rewamped sun4v support wants to be added again.
Reviewed by: marius
Tested by: sbruno
Approved by: re
systems. In principle, FreeBSD should run on at least some of these
already, and support for the remainder will hopefully show up eventually,
so add this while I'm thinking about it.
changes, and backport the new logic (ISO images are TARGET dependant, not
TARGET_CPUARCH dependant) to Makefile.sysinstall. While modifying ISO
image scripts, change several archs to use makefs (from base) instead of
mkisofs (from ports) which makes release CD generation both faster and
self-hosting.
in hybrid image generation in cdrtools. This produces a small HFS partition
containing loader, mapped in by an oddly-formed APM table using a new
feature in makefs. This does not appear to work yet on early-model G3
systems, which will be fixed later, but produces bootable CDs on
everything else.
to be a meta-target, and having it do this avoids it spewing files all
over the source tree by default (and possible recursive tarring if
distributing a src tarball).
makes booting more reliable (and working at all on USB sticks). While here,
move responsibility for setting up fstab into the various platform mk-*.sh
scripts.
Suggested by: many
i386 and amd64. This involved moving the memstick generation script to
the arch directories from scripts/, in analogy to mkisoimages.sh. This
script was never called from /usr/src/release/Makefile, so that hasn't
been updated.
support files. This does not change the default behavior of anything.
To make bsdinstall-based media, pre-build world and GENERIC, then run
the release target in Makefile.bsdinstall.
infrastructure to use it. make distributeworld can now be used without
preparing its environment first and installs games into its distribution
using the regular make distribute logic instead of post-processing with
a script.
Also add two new targets, packageworld and packagekernel, that tar up the
results of distributeworld and distributekernel (also new), respectively.
we need to set TARGET and TARGET_ARCH to get a correct WMAKEENV.
I am setting both to i386 since this is what picobsd is used for,
though there might be a better fix.
Add initial support for parallel make. This is disabled right now,
because there are incorrect dependencies somewhere which require
to run picobsd 2-3 times to complete a build.
MFC after: 2 weeks
the hybrid disk. This is a stopgap until a better solution can be found,
but lets the powerpc release build complete for the time being.
MFC after: 1 week
- For the parallel stable/7 and stable/8 branches mention both releases that
first supported a particular sparc64 machine and update the sparc64 hardware
list regarding machines that will be supported beginning with 7.4-RELEASE.
used on powerpc64 as well (build scripts, for instance), and the MFS root
must be adjusted upward on powerpc64 as well.
This doesn't completely solve things: sysinstall stil needs some
persuasion to deal with a default kernel named GENERIC64.
perl-5.10. This aligns the release build process with the current
default version of perl in the ports tree.
I'll MFC this to all active branches.
MFC after: 3 days
it isn't being integrated into 'make release' because for the forseeable
future the memstick images will be identical to what's on the DVD except
for which package set is provided. If/when what's on the memstick diverges
from what's on the DVD it would make more sense to generate a "memstick"
directory in $CHROOT/R/cdrom and build the memstick image along with the
ISO images.
Reviewed by: jhb, ru, Garrett Cooper (yanefbsd at gmail dot com)
libulog now only provides functions that are used by various packages
from the ports tree, namely the libutempter ones. There is no reason to
link it into the crunch/fixit binaries anymore.
Clean up the ttys files shipped with PicoBSD, NanoBSD and TinyBSD. While
there, it seems one of them still had references to sio(4). Make it in
sync with what we do in the base system.