Commit graph

5079 commits

Author SHA1 Message Date
Jessica Clarke
62b958cb94 cross-build: Add comment missing from 9e5b0d9eac
Whilst the commit message documented some of the details, I had intended
to include this comment in the actual header, but failed to amend the
commit properly.

Fixes:		9e5b0d9eac ("cross-build: Fix bmake bootstrap with glibc 2.34")
MFC after:	1 week

(cherry picked from commit aee99ab4fe)
2022-01-24 23:59:44 +00:00
Jessica Clarke
e8a6686252 cross-build: Fix bmake bootstrap with glibc 2.34
As of glibc 2.34, our unistd.h wrapper's inclusion of stdlib.h exposes
fragility in glibc's sys/wait.h and corresponding part of stdlib.h,
leading to "error: use of undeclared identifier 'WNOHANG'" and similar
errors when bootstrapping bmake.

Work around this by wrapping sys/wait.h to force stdlib.h's inclusion
first before it's implicitly included during the problematic window in
sys/wait.h.

MFC after:	1 week

(cherry picked from commit 9e5b0d9eac)
2022-01-24 23:59:42 +00:00
Jessica Clarke
b65517ccd7 cross-build: Add __weak_symbol definition for libdwarf bootstrap
Fixes:		3aa0bc89c6 ("libdwarf: Add a weak uncompress() symbol")
MFC after:	1 week

(cherry picked from commit d752d10e53)
2022-01-24 23:59:40 +00:00
Jessica Clarke
102717f773 cross-build: Provide _PASSWORD_EFMT1 for libcrypt on Linux
Linux's pwd.h does not define _PASSWORD_EFMT1 (macOS's does), so we need
to define it in order to be able to bootstrap libcrypt (crypt-des.c uses
it) on non-FreeBSD, which will be done in a subsequent commit.

MFC after:	1 week

(cherry picked from commit e0cb1fe7dd)
2022-01-24 23:59:24 +00:00
Jessica Clarke
94b6c9bab7 cross-build: Define crypt_data in unistd.h for libcrypt
This is where it's defined in the base system, so is where libcrypt
expects it to exist when being built, and will be needed when being
bootstrapped in a subsequent commit.

MFC after:	1 week

(cherry picked from commit 8ceba27a5d)
2022-01-24 23:59:21 +00:00
Jessica Clarke
6318e220e3 Bootstrap libz when cross-building from non-FreeBSD
This is needed now libdwarf depends on libz.

Fixes:		dbf05458e3 ("libdwarf: Support consumption of compressed ELF sections")
MFC after:	1 week

(cherry picked from commit 8d5d329553)
2022-01-24 23:59:14 +00:00
Jessica Clarke
e06a24658a tools: Also create ${WORLDTMP}/legacy/usr/libdata/pkgonfig
This is needed for the next commit which will make libz a bootstrap
library as needed by ctfconvert. We could just not install the .pc file
as it's not needed, but that requires a per-library hack every time a
bootstrap library gains a .pc file, so this keeps bootstrap-tools
looking as much like a normal build as possible.

MFC after:	1 week

(cherry picked from commit 7ba31d58f0)
2022-01-24 23:59:12 +00:00
Jessica Clarke
cd7a83084e Makefile.boot: Fix copy/paste error in LIBNV's crossbuild override
Only noticed due to needing to change the surrounding lines, so
presumably nothing currently needs this.

MFC after:	1 week

(cherry picked from commit 5022d54e06)
2022-01-24 23:59:05 +00:00
Jessica Clarke
29665d68e2 Makefile.boot: Make -Wno-typedef-redefinition Clang-specific
GCC doesn't have this warning and so also doesn't have the flag to
disable it, resulting in it spewing a bunch of warnings about the
command line option being unrecognised.

MFC after:	1 week

(cherry picked from commit 05066fad68)
2022-01-24 23:59:02 +00:00
Mark Johnston
b1ecdb70c9 depend-cleanup.sh: Make the output message more precise
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 73db11a4d1)
2021-12-13 08:27:31 -05:00
Mark Johnston
18ae2f6f4b depend-cleanup.sh: Handle commit cbdec8db18
That commit changed libc to use the MI pdfork implementation, but with
an incremental build the object file for the pdfork.S stub lingers and
causes a linker error.

Cleaning the depend file is not enouch, so modify clean_deps() to remove
object files as well, and add a call to ensure that pdfork.*o is
cleaned.  The new file is _pdfork.o.

Reported by:	jhb
Reviewed by:	emaste
Fixes:		cbdec8db18 ("libc: Add pdfork to the list of interposed system calls")
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 187fe192ce)
2021-12-13 08:27:24 -05:00
Ed Maste
0f0d52fd6a sbin: build ping if at least one of INET & INET6 is enabled
It does not build (and serves no purpose) if neither is true (i.e.,
building WITHOUT_INET and WITHOUT_INET6).  Also add an explicit error
in ping to make this case clear.

PR:		260082
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a4ef9e58bc)

OptionalObsoleteFiles: remove ping with INET & INET6 disabled

Reported by:	kevans
Fixes:		a4ef9e58bc ("sbin: build ping if at least one of...")
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 0179739a00)
2021-12-12 20:28:58 -05:00
Ed Maste
129d0eb49e CI: add arm64 support to ci-qemu-test.sh
Reviewed by:	imp (earlier)
MFC after:	3 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30907

(cherry picked from commit bba96bb143)
2021-12-12 17:45:25 -05:00
Ed Maste
4a713d6501 WITH_/WITHOUT_CXX: update description
Contrary to the previous description WITHOUT_CXX does not disable
/usr/bin/c++, which is just a link to Clang.  We also no longer have
gperf.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 145a574fa1)
2021-12-08 20:44:29 -05:00
Cameron Katri
e52de8a915 llvm-readobj: Attach to buildsystem
Also install it as readelf when MK_LLVM_BINUTILS is set.

Reviewed By:	dim, arichardson
Differential Revision: https://reviews.freebsd.org/D32058

(cherry picked from commit 1b85b68da0)
2021-12-06 17:30:05 +01:00
Dimitry Andric
2e2f8eac75 Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR:		258209

(cherry picked from commit 6e75b2fbf9)
2021-12-06 17:30:03 +01:00
Dimitry Andric
5f7ddb1456 Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR:		258209

(cherry picked from commit fe6060f10f)
2021-12-06 17:30:02 +01:00
Warner Losh
59a8905f08 nanobsd/rescue: Catch up to 20210907 OpenSSH import
Sponsored by:		Netflix

(cherry picked from commit 872d50a5d8)
2021-12-06 08:55:55 -07:00
Warner Losh
002309f649 nanobsd: remove psuedo-terminals from ttys
Yowsa! Another review mentioned this in passing... Only 10 years late.

Sponsored by:		Netflix

(cherry picked from commit 1376924697)
2021-12-06 08:55:54 -07:00
Jose Luis Duran
b1b13085a3 NanoBSD/rescue: Update to 20200214 OpenSSH configuration files
No functional change intended.

(cherry picked from commit 9f6c794ee2)
2021-12-06 08:55:54 -07:00
Herbert J. Skuhra
4a10f984d8 OptionalObsoleteFiles.inc: Add rc.d/zfskeys
While here, sort the etc/rc.d entries.

PR:		256483
Reviewed by:	allanjude
Approved by:	allanjude (src)
MFC after:	3 days
Sponsored by:	Modirum MDPay
Sponsored by:	Klara Inc.
Differential Revision:	https://reviews.freebsd.org/D33238

(cherry picked from commit a58135eb09)
2021-12-06 10:56:28 +01:00
Alex Richardson
5b356e6395 Update OptionalObsoleteFiles.inc after 021385aba5
I forgot to update this file so make delete-old would incorrectly remove
the newly-installed LLVM binutils. While touching the file also update
for 8e1c989abb since ObsoleteFiles.inc now inludes the tablegen binaries.

Reported by:	Herbert J. Skuhra <herbert@gojira.at>
Reviewed By:	emaste, imp

Differential Revision: https://reviews.freebsd.org/D32022

(cherry picked from commit 88c027338f)
2021-12-05 21:56:38 +01:00
Alex Richardson
a5186406ac Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain
When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as
ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones.
Having the LLVM binutils instead of the elftoolchain ones allows us to use
features such as LTO that depend on binutils that understand LLVM IR.
Another benefit will be an improved user-experience when compiling with
AddressSanitizer, since ASAN does not symbolize backtraces correctly if
addr2line is elftoolchain addr2line instead of llvm-symbolizer.
See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html
for more details.

This is currently off by default but will be turned on by default at some
point in the near future.

Reviewed By:	emaste

Differential Revision: https://reviews.freebsd.org/D31060

(cherry picked from commit 021385aba5)
2021-12-05 21:42:14 +01:00
Ed Maste
9a463b80e5 CI: use amd64 EDK II firmware included with QEMU
QEMU (now) includes a prebuilt EDK II firmare in edk2-x86_64-code.fd.
Use that instead of requring a standalone uefi-edk2-qemu-x86_64 package.

Reviewed by:	imp
MFC after:	3 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30915

(cherry picked from commit 7d9794b34b)
2021-12-03 11:44:48 -05:00
John Baldwin
64c043d2d2 crypto: Support Chacha20-Poly1305 with a nonce size of 8 bytes.
This is useful for WireGuard which uses a nonce of 8 bytes rather
than the 12 bytes used for IPsec and TLS.

Note that this also fixes a (should be) harmless bug in ossl(4) where
the counter was incorrectly treated as a 64-bit counter instead of a
32-bit counter in terms of wrapping when using a 12 byte nonce.
However, this required a single message (TLS record) longer than 64 *
(2^32 - 1) bytes (about 256 GB) to trigger.

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32122

(cherry picked from commit 42dcd39528)
2021-10-21 14:19:30 -07:00
John Baldwin
8581b350dd cryptocheck: Support multiple IV sizes for AES-CCM.
By default, the "normal" IV size (12) is used, but it can be overriden
via -I.  If -I is not specified and -z is specified, issue requests
for all possible IV sizes.

Reviewed by:	markj
Sponsored by:	 Chelsio Communications, The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32110

(cherry picked from commit bcb0fd6acc)
2021-10-21 14:07:24 -07:00
John Baldwin
d8b6a65590 cryptocheck: Expand the set of sizes tested by -z.
Test individual sizes up to the max encryption block length as well as
a few sizes that include 1 full block and a partial block before
doubling the size.

Reviewed by:	cem, markj
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D29518

(cherry picked from commit c86de1dab8)
2021-10-21 08:51:24 -07:00
John Baldwin
29af3bc12d cryptocheck: Free generated IV after each GMAC test.
Reviewed by:	cem
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D28753

(cherry picked from commit 442a293611)
2021-10-21 08:51:23 -07:00
John Baldwin
1ab6c8ca7e cryptocheck: Add support for the Poly1305 digest.
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D28758

(cherry picked from commit 68c0373448)
2021-10-21 08:51:23 -07:00
John Baldwin
3a7ae9ce6d cryptocheck: Add Chacha20-Poly1305 AEAD coverage.
- Make openssl_gcm_encrypt generic to AEAD ciphers (aside from CCM)
  and use it for Chacha20-Poly1305.

- Use generic AEAD control constants instead of GCM/CCM specific names.

Reviewed by:	cem
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D27838

(cherry picked from commit 1bd9fc96d4)
2021-10-21 08:51:22 -07:00
Vincenzo Maffione
fdbbd118fa nemtap: lb app: Validate ihl field when hashing packet
MFC after:	1 week

(cherry picked from commit f7cef43aa9)
2021-10-09 21:19:20 +00:00
Alan Somers
ce10852cb3 tools/test/upsdl: fix compiler warnings
Sponsored by:	Axcient

(cherry picked from commit 5dc5f849be)
2021-10-07 15:41:47 -06:00
Konstantin Belousov
9eb77afb4d test/ptrace/scescx.c: fix printing of braces for syscalls without args
(cherry picked from commit 9a8eb5db55)
2021-09-19 14:18:12 +03:00
Warner Losh
363f9e1114 nanobsd: adopt dhcpd to latest conventions
Adopt the dhcpd build to use nanobsd-build top level directory that
other nanobsd builds are using.

Sponsored by:		Netflix

(cherry picked from commit 9ed1e98abf)
2021-09-12 09:56:15 -06:00
Jessica Clarke
572a78599d tools/build/cross-build: Fix building libllvmminimal on Linux
There is a __used member in glibc's posix_spawn_file_actions_t in
spawn.h, so we must temporarily undefine __used when including it,
otherwise Support/Unix/Program.inc fails to build. This is based on
similar handling for __unused in other headers.

Fixes:		31ba4ce889 ("Allow bootstrapping llvm-tblgen on macOS and Linux")
MFC after:	1 week

(cherry picked from commit 8a1895a3fa)
2021-09-07 13:08:17 +01:00
Jose Luis Duran
4a6bf977ac Fix cross-builds after 4e5d32a445
Add alignment macros to cross-build's sys/cdefs.h

Pull Request:	https://github.com/freebsd/freebsd-src/pull/531
MFC after:	immediately (build fix)

(cherry picked from commit 94d9439b6b)
2021-09-07 10:56:17 +01:00
Gordon Bergling
a6bc738260 Fix a few typos in source code comments
- s/posbile/possible/

(cherry picked from commit 34f620f1d0)
2021-08-19 09:29:25 +02:00
Emmanuel Vadot
e99783747e pkgbase: Add an src.conf option for splitting man pages
Man pages can be big in total, add an options to split man pages
in -man packages so we produce smaller packages.
This is useful for small jails or mfsroot produced of pkgbase.
The option is off by default.

Reviewed by:	bapt, Mina Galić <me@igalic.co>
Differential Revision:	https://reviews.freebsd.org/D29169
MFC after:      2 weeks

(cherry picked from commit c7e6cb9e08)
2021-08-16 18:13:51 +02:00
Gordon Bergling
b844fc25c8 nanobsd: Correct a typo in a comment
- s/partion/partition/

(cherry picked from commit 8b9f6d62f7)
2021-08-12 14:25:50 +02:00
Alex Richardson
c65dab7dd2 Allow bootstrapping llvm-tblgen on macOS and Linux
This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan:	Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By:	dim
Differential Revision: https://reviews.freebsd.org/D31057

(cherry picked from commit 31ba4ce889)
2021-08-05 10:01:08 +01:00
Alex Richardson
85c76b4117 tools/build: Don't redefine open() for the linux bootstrap
This is needed to bootstrap llvm-tblgen on Linux since LLVM calls
`::open(...)` which does not work if open is a statement macro.
Also stop defining O_SHLOCK/O_EXLOCK and update the only bootstrap tools
user of those flags to deal with missing definitions.

Reviewed By:	jrtc27
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D31226

(cherry picked from commit 5f6c8ce245)
2021-08-05 10:00:45 +01:00
Ed Maste
3f244aace2 Update WITHOUT_KERNEL_SYMBOLS description
We have installed kernel debug data under /usr/lib/debug/ for some time
now, so the suggestion to set WITHOUT_KERNEL_SYMBOLS for small root
partitions is no longer valid.

Also call them "debug symbol files" rather than just "symbol files",
since they contain much more than just symbols.  The kernel also
includes (some) symbols, regardless of the setting of this knob.

MFC after:	1 week

(cherry picked from commit 5f946c76c0)
2021-08-04 13:21:33 -04:00
Dimitry Andric
af732203b8 Merge llvm-project 12.0.1 release and follow-up fixes
Merge llvm-project main llvmorg-12-init-17869-g8e464dd76bef

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12-init-17869-g8e464dd76bef, the last commit before the
upstream release/12.x branch was created.

PR:		255570

(cherry picked from commit e8d8bef961)

Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR:		255570

(cherry picked from commit d409305fa3)

Disable strict-fp for powerpcspe, as it does not work properly yet

Merge commit 5c18d1136665 from llvm git (by Qiu Chaofan)

  [SPE] Disable strict-fp for SPE by default

  As discussed in PR50385, strict-fp on PowerPC SPE has not been
  handled well. This patch disables it by default for SPE.

  Reviewed By: nemanjai, vit9696, jhibbits

  Differential Revision: https://reviews.llvm.org/D103235

PR:		255570

(cherry picked from commit 715df83abc)

Apply upstream libc++ fix to allow building with devel/xxx-xtoolchain-gcc

Merge commit 52e9d80d5db2 from llvm git (by Jason Liu):

  [libc++] add `inline` for __open's definition in ifstream and ofstream

  Summary:

  When building with gcc on AIX, it seems that gcc does not like the
  `always_inline` without the `inline` keyword.
  So adding the inline keywords in for __open in ifstream and ofstream.
  That will also make it consistent with __open in basic_filebuf
  (it seems we added `inline` there before for gcc build as well).

  Differential Revision: https://reviews.llvm.org/D99422

PR:		255570

(cherry picked from commit d099db2546)

Undefine HAVE_(DE)REGISTER_FRAME in llvm's config.h on arm

Otherwise, the lli tool (enable by WITH_CLANG_EXTRAS) won't link on arm,
stating that __register_frame is undefined. This function is normally
provided by libunwind, but explicitly not for the ARM Exception ABI.

Reported by:	oh
PR:		255570

(cherry picked from commit f336b45e94)

Merge llvm-project 12.0.1 rc2

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-rc2-0-ge7dac564cd0e, a.k.a. 12.0.1 rc2.

PR:		255570

(cherry picked from commit 23408297fb)

Revert libunwind change to fix backtrace segfault on aarch64

Revert commit 22b615a96593 from llvm git (by Daniel Kiss):

  [libunwind] Support for leaf function unwinding.

  Unwinding leaf function is useful in cases when the backtrace finds a
  leaf function for example when it caused a signal.
  This patch also add the support for the DW_CFA_undefined because it marks
  the end of the frames.

  Ryan Prichard provided code for the tests.

  Reviewed By: #libunwind, mstorsjo

  Differential Revision: https://reviews.llvm.org/D83573

  Reland with limit the test to the x86_64-linux target.

Bisection has shown that this particular upstream commit causes programs
using backtrace(3) on aarch64 to segfault. This affects the lang/rust
port, for instance. Until we can upstream to fix this problem, revert
the commit for now.

Reported by:	mikael
PR:		256864

(cherry picked from commit 5866c369e4)

Merge llvm-project 12.0.1 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.1-0-gfed41342a82f, a.k.a. 12.0.1 release.

PR:		255570

(cherry picked from commit 4652422eb4)

compilert-rt: build out-of-line LSE atomics helpers for aarch64

Both clang >= 12 and gcc >= 10.1 now default to -moutline-atomics for
aarch64. This requires a bunch of helper functions in libcompiler_rt.a,
to avoid link errors like "undefined symbol: __aarch64_ldadd8_acq_rel".

(Note: of course you can use -mno-outline-atomics as a workaround too,
but this would negate the potential performance benefit of the faster
LSE instructions.)

Bump __FreeBSD_version so ports maintainers can easily detect this.

PR:		257392

(cherry picked from commit cc55ee8009)
2021-07-31 20:56:55 +02:00
Jose Luis Duran
d2d322b012 Fix the pattern for changing PermitRootLogin
The previous pattern had the (harmless) side-effect of duplicating the
entry in the config file.

No functional change intended.

Reviewed by:	imp
Pull Request:	https://github.com/freebsd/freebsd-src/pull/510

(cherry picked from commit 73358cd2cf)
2021-07-30 17:02:13 -06:00
Yann Kerherve
2cbf9eff2d nanobsd: fix typo in NANO_WORLDDIR
Reviewed by:	imp
PR:		257299

(cherry picked from commit 5a9e5a5111)
2021-07-30 17:02:13 -06:00
Warner Losh
1f5bcd0b47 nanobsd: Bump rescue size to 8GB
Bump the rescue size from 1.2GB to just shy of 8GB as things have grown
somewhat. Also make it possible to build rescue somewhere other than
/usr/src.

Sponsored by:		Netflix

(cherry picked from commit 998abf5a12)
2021-07-21 10:13:11 -06:00
Warner Losh
b78807daaa pcengines: Fix kernel config
Update the old ALIX config to remove devices, add iflib and remove
trailing white space.

Sponsored by:		Netflix

(cherry picked from commit e44c620681)
2021-07-21 10:13:11 -06:00
Warner Losh
54ff80e07f nanobsd: default to -j $hw.ncpu
For paralllel builds, default to using all the CPUs on the system. The
old default of -j 3 was too few.

Sponsored by:		Netflix

(cherry picked from commit 7e3a794be3)
2021-07-21 10:13:11 -06:00
Arrigo Marchiori
50b2e5d608 nanobsd: Use gpart and create code image before full disk image
The attached patch brings two main changes to the nanobsd script:
 1- gpart is used instead of fdisk;
 2- the code image is created first, and then used to ``assemble'' the
    full disk image.

The patch was first proposed on the freebsd-embedded list:
http://lists.freebsd.org/pipermail/freebsd-embedded/2012-June/001580.html
and is currently under discussion:
http://lists.freebsd.org/pipermail/freebsd-embedded/2014-January/002216.html

Another effect is that the -f option ("suppress code slice extraction")
now imples the -i option ("suppress disk image build").

imp@ applied Patch by hand to new legacy.sh, plus tweaked for NANO_LOG vs
NANO_OBJ confusion in original.

PR:			186030
Reviewed by:		imp@
Differential Revision:	https://reviews.freebsd.org/D31102

(cherry picked from commit 587c054bea)
2021-07-21 10:13:11 -06:00
Lev A. Serebryakov
1405d761ba nanobsd: enhance fill_pkg.sh
NanoBSD has helper script "fill_pkg.sh" which links all packages and
ther dependencies from "package dump" (like /usr/ports/packages/All) to
specified director. fill_pkg.sh has some limitations:

1) It needs ports tree, which should have exactly same versions as
   "package dump".
2) It requires full paths to needed ports, including "/usr/ports" part.
3) It has assumptions about Nano Package Dir (it assumes, that it
   specified rtelative to current directory).
4) It does not have any diagnostics (almost).

This PR enhances "fill_pkg.sh" script in several ways:

1) Nano package dir could be absolute path.
2) Script understands four ways to specify "root" ports/packages:
   (a) Absolute directory with port (old one)
   (b) Relative directory with port, relative to ${PORTSDIR} or /usr/ports
   (c) Absolute path to file with package (with .tbz suffix)
   (d) Name of package in dump dir, with or without .tbz suffix

   These ways can be mixed in one call. Dependencies for
   packages are obtained with 'pkg_info -r' call, and are searched for
   in same directory as "parent" package. Dependencies for ports are
   obtained in old way from port's Makefile.
3) Three levels of diagnostic (and -v option, could be repeated) are added.
4) All path variables are enclosed in quotes, to make script work with paths,
   containing spaces.

Note: imp merged in the changes to fill_pkg.sh since this has been a PR.

PR:			151695
Reviewed by:		imp@
MFC After:		3 days
Differential Revision:	https://reviews.freebsd.org/D31101

(cherry picked from commit 36cfb5d50f)
2021-07-16 12:28:44 -06:00