better to install all sets by default, even though this makes the chroot
more costly (slightly).
So hard-code them for now, grabbing them off SHA256 is on the TODO list
from gettext, to add a few more gettext scripts that we see sometimes, and
to add asciidoc. (has been in i386 bulks for months and forgotten about!)
ok espie, "I'm fine with the gettext-tools part and have no opinion on asciidoc" naddy@
Add powerpc to LLD_ARCH, and bump _SYSTEM_VERSION-powerpc so people
will upgrade to lld-linked packages when they exist. Remove
-Wl,--relax from several ports; ld.bfd needed this flag, but ld.lld
can't take it.
lang/gcc/8 needs USE_LLD = No, because LLD can't link C++ code from
gcc (error: relocation refers to a discarded section: ...), and also,
the adastrap is too old.
To avoid linker errors on macppc, you need a snapshot where
/usr/bin/ld is LLD.
ok sthen@
- Add a version argument (second) to modgo-gen-modules-helper.
- Change modgo-gen-modules target to fetch module info for the
current MODGO_VERSION of a port. Setting MODGO_VERSION=latest
will fetch the latest version the Go ecosystem knows about.
Similarly, if MODGO_VERSION is empty, fetch the latest
verstion Go knows about.
While here:
- Add '-trimpath' to MODGO_FLAGS.
OK danj@
If we don't clean, then the upcoming make build won't notice any changes
that we actually added to the Makefile, such as setting the CONFIGURE_STYLE
to "modbuild tiny".
Noticed by Mischa <obsdml () high5 ! nl>
skeleton script for people who want to override FETCH_CMD but don't
know exactly what ftp(1) options pkg_add/bsd.port.mk/dpb are going to
want.
A bit of feedback from sthen@, more to come most probably
clean at the end of a build.
Add a new global config option: NEVER_CLEAN
so that no path ever gets cleaned (to be used ONLY if you have lots of disk
space).
I've actually done this manually in the past, to test various tools on
lots of objdirs...
These were previously used to automatically add tags to PLIST for
Haskell library ports. Since library ports no longer exist, such
tagging only ever triggers for ghc package where it is now harmful.
ok kili
While here try using @v/list first, if that fails use @latest. This should
fix some of the "not being able to see the latest version" issues that
happen when upstreams re-tag.
Tweaks / OK from afresh1
human-readable way, and compare them, so that people can figure out if
the version parsing did cope with whatever scheme upstream came with.
should alleviate the need for EPOCH in many cases
- fix an old optimisation that was lost, namely do not run distpatch
if it's not necessary
nothing broken after 3000 ports built, so it's unlikely to have any negative
side-effect
if a port needs 2.x then set MODPY_VERSION=${MODPY_DEFAULT_VERSION_2}.
This commit doesn't change any versions currently used; it may be that
some ports have MODPY_DEFAULT_VERSION_2 but don't require it, those
should be cleaned up in the course of updating ports where possible.
Python module ports providing py3-* packages should still use
FLAVOR=python3 so that we don't have a mixture of dependencies some
using ${MODPY_FLAVOR} and others not.
In some cases (mostly with insane distnames from local test builds, but
conceivably also possible with long combinations of flavours) they can
exceed the character limit. Discussed with espie@ who pointed out that
plist_db doesn't include entries for debug packages.
From Mikolaj Kucharski.
check. Newer ccache uses cmake making it impractical to break the loop by
just disabling ccache for the individual ports on the way to building ccache.
binaries for packages using DEBUG_PACKAGES. This avoids the current
situation where a backtrace is useless (function names all "??") if
a package was built with DEBUG_PACKAGES but the debug-foo package is
not installed. ok espie@ pirofti@
(a ten year old network daemon, no longer maintained in ports or upstream;
distfiles were fetched from debian who removed it from their packaging ~5
years ago). py-tagpy is one of the few consumers of boost's py2 library.
ok jca
everything so that people updating from subsequent snapshots won't
have old clang 8-compiled packages lying around.
also will work around the problem where packages don't have WANTLIB
in sync, in some cases these have an unlisted dependency on libc++
which won't have been updated as needed (found by matthieu@).
ok ajacoutot@
we rerun pkglocate
also check the pkglocate cookie vs the fake cookie, so that we rerun things
if somehow fake was rerun without cleaning things first (unlikely, but still)
- De-duplicate our .mod and .zip files.
- Move chdir to a child process.
- Break MODGO_MODULES and MODGO_MODFILES values into their own lines
for easier reading.
Updating bigger ports with lots of patches, combing the target's output
for failed hunks can be cumbersome; print failed patch files one per line
iff there are any to provide immediate feedback on what wrong and where.
"definitely wanted" landry
Style nits, OK espie
using MODGO_MODNAME.
This is needed to work around this issue:
https://github.com/golang/go/issues/27455
which makes `make clean` because of the restrictive permissions.
input and corrections from sthen@ and jca@
ok sthen@ jca@ espie@
UPDATE_COOKIES and BULK_COOKIES are not generated by dpb, but if you
build stuff manually and use dpb, they can happen, and you will see error
messages in dpb logs (trying to remove them as _pbuild), so give them
to _pbuild/tweak fix-extract-permissions accordingly.
Also fix an old feature where you can force UPDATE_COOKIES into WRKDIR
which got broken a long time ago.
Thanks to solene@ for tests
there's a bug elsewhere (autovivification of $w->{info}{BUILD_PACKAGES})
that I need to track down that results in $w->{info} being defined but
NOT a proper object.
dpb errors out at end-of-LISTING in case of a parse error in any Makefile.
solene@ ran into this a few days ago, probably some other people, and
finally I met the bug today. Ouchie. sorry about that.
tweak the path for copy-debug-info so we don't accidentally neuter
THAT strip as well.
this helps getting cmake/qmake do the right thing without needing to
alter strip behavior.
rather than 'RUN_DEPENDS=${BUILD_DEPENDS}' which is easily polluted by
compression utilities, ccache if used etc. Problem spotted by aja@ in a
port submission of mine where the skeleton was made by portgen.
While there, prefer setting 'TEST_DEPENDS=${RUN_DEPENDS}' rather than
to '${BUILD_DEPENDS}' if RDEP/BDEP are equal.
ok afresh1@
With this a port can be easily generated for Go applications that support Go
modules (there will be a go.mod file in the root of the project).
For example: https://github.com/jrick/domain/blob/master/go.mod
The mod file lists "github.com/jrick/domain" as the module name, so a portgen
command to build the above tool would be:
portgen go github.com/jrick/domain
OK afresh1@ kmos@
PyPI projects that already list multiple supported Python versions cause
portgen(1) to generate a flavoured port; of leaving FLAVOR emtpy, opt for
the highest available version.
This makes it use FLAVOR?=python3 insteaf of FLAVOR?= (empty) if any
sypport higher than Python 2 is listed.
Note that PyPI projects listing either only one sypported version or none
at all are not effected by this diff.
OK afresh1 kmos
Alexei dot Malinin at mail dot ru reported a compiler warning that,
in my opinion, probably indicates a security vulnerability, but due
to an incomplete description of the affected feature in the
documentation, it is unclear how it should be fixed. The program
appears to be sloppily written, sloppily documented, and abandoned
upstream 15 years ago.
OK ajacoutot@ for deleting it.
Although I couldn't find a definitive guide to version specs,
I did find an example showing this seems to be how RubyGems work.
From Thomas L. <tom.longshine () web ! de>
out of existence: arch-defines.mk MUST be included very early on, so that
modules can use it to decide on behavior, BUT modules are allowed to set
DEBUG_PACKAGES without worrying about it, and so bsd.port.arch.mk must be
the place that zaps!
Discovered by sthen@, because xfce4.port.mk would start churning out
DEBUG_PACKAGES on every architecture.
tested by naddy@ because I wasn't sure I didn't miss something non obvious.
They do result in a bulk package build taking about a third longer, but
the bulk build machines are significantly faster than the machines most
people are running the produced packages on, so it's a trade-off: a bit
of pain for builders vs a lot of pain for users wanting to debug things
on their normal hardware.
Simple MULTI_PACKAGES addition, no FLAVOR.
Diff from Thomas L. - thanks!
Tweaks and tests from me
"pkg_add murmur && rcctl start murmurd" just works on amd64 and sparc64
PREFIX.
Specifically:
- stop tweaking PREFIX for build-debug-info
- have build-debug-info use -B instead
- generate Makefile with full paths
- tweak the sequence in bsd.port.mk to NOT pass FAKE_SETUP around
This fixes got
it was checksummed.
(noticed on a port where EXTRACT_ONLY was a full file name and no longer
in distinfo, but still in DISTDIR)
thx naddy@ for making sure it didn't break in a bulk
Error: newgroup _inetsim: not registered in ports/infrastructure/db/user.list
Error: newuser _inetsim: not registered in ports/infrastructure/db/user.list
for now it rescans "stubbed" ports in case you did change them (or if
they were stubbed because of missing dependencies, etc)
Could become something else/more powerful eventually
add a debug command (cores) that shows explicitly each core known by
the core system, including idle cores (available) and "behind the scene"
stuff (ssh masters)
- mirrors.zerg.biz is no more (points to 127.0.0.1), drop it.
- savannah.c3sl.ufpr.br stopped their FTP service, use
ftp://ftp.cc.uoc.gr
- ftp.twaren.net replies 403 errors when fetching with ftp(1).
Move to mirror.ossplanet.net which is also in .tw and supports https
- also move mirror.csclub.uwaterloo.ca and nongnu.askapache.com to https
specifically, make sure dpb can't get confused if the same fullpkgname
points to two different locks (by stubbing/erroring out)
Clean up the code a bit so it shows up in equiv.log and as broken (so in
engine.log)
bsd.port.mk bits to test later (and document because this has lots of
caveats and should only be used under specific circumstances)
I used to have "site" always set, but it takes space for broken files,
so I removed it, and it breaks in case distfiles are incomplete.
So, just make it possible for some things to go missing, and properly test
for them later.
Noticed by jca@
- add a parameter "full" so that we don't show version mismatches twice
- remove host name from information, since the order is the same as the header
line.
- beautify by doing a line feed after banner and indent by two spaces so it
tends to fit on the line
return the full output of make as an array each time.
mainly done because SUBDIR should be passed in the environment, otherwise
some really funky things happen (ask kn@)
naddy@ approves the direction
anymore.
As a side effect, it unbreaks multimedia/mkvtoolnix on !clang archs.
Proposed by jca@, bulk tested by naddy@ on amd64 (thanks again!), and
me on macppc.
OK jca@
strip a leading "v" when it's followed by what looks like a version number,
also have it handle a few other common names seen in ports. likewise when
stripping 'v' from the default WRKDIST, also allow 'V', but only if
followed by digits (which seems a better match to what github are doing).
update the few ports which _require_ updates to match this change.
been through a bulk on i386 (plus I've diffed "make dump-vars" run in
in all ports having GH_TAGNAME before+after applying the patch), ok jca
bsd.port.mk(5) and actually make LLD_EMUL empty if the linker is not
ld.lld. Use a simpler variable-name-based lookup table rather than
string manipulation in a loop. Diff was worked out with espie a
couple of weeks ago.