5438 Commits

Author SHA1 Message Date
espie
0099224d2e fix logic in the case where the proot is straight under /
problem noticed by Xiyue Deng
2019-12-29 10:35:23 +00:00
sthen
d57d24ed23 Catch up with the documentation that espie@ recently added to
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.
2019-12-20 20:00:30 +00:00
sthen
6b8d182a2c add a reminder to commit db/user.list if pkg/P* contains tags to add users/groups 2019-12-20 19:52:26 +00:00
espie
16c8437688 make DEBUG_PACKAGES slightly less confusing for modules 2019-12-16 09:18:27 +00:00
espie
f56ed279b2 strip and objcopy do not like bad permissions. Moreover, they will silently
drop a setuid bit AND not error out when they can't do stuff.

Fix the perms pre-emptively, so that aja@ can DEBUG_PACKAGES login_krb5

There are bugs to fix in binutils...!!!
2019-12-15 15:28:44 +00:00
afresh1
e49022c4a4 Centralize multi-value variable formatting in portgen(1) 2019-12-15 00:57:49 +00:00
afresh1
7f6e61979c Look for existing ports by stem in portgen
Also caches the sqlports connection and query

OK abeiber@
2019-12-15 00:18:04 +00:00
afresh1
ed6197337f Have portgen(1) set FIX_EXTRACT_PERMISSIONS if necessary
Idea and initial patch from cwen@
OK abeiber@
2019-12-15 00:15:30 +00:00
espie
df22749e9b This is non obvious enough, document 2019-12-14 10:58:54 +00:00
espie
20e9bc753e much better with the actual test... I'm a moron 2019-12-14 09:56:04 +00:00
espie
d8154adcb8 fold some of the common logic in write_rule
- do the dir check late, so we don't create .debug dirs if not needed.
- add an emptyness check, so that we can warn if we produce an empty
debug package, and advise to tweak DEBUG_PACKAGES manually if there are
several subpackages involved
2019-12-13 10:17:44 +00:00
espie
353a9aa5c7 buglet: directory info should be per-subpackage
explain why link handling has to be global
2019-12-13 10:01:55 +00:00
espie
479214b7b0 add INSTALL_DEBUG_PACKAGES user knob now that this specific configuration
works

(to be documented once I finish pkg_delete -a)
2019-12-08 11:51:56 +00:00
espie
a91bd3601e shorten the default message for copying.
The only weird stuff is for links, so keep the full message there
2019-12-08 10:33:19 +00:00
espie
3368c98d52 have cryptic message be explicit about what locate db we're talking about 2019-12-06 13:40:46 +00:00
sthen
206b5fa7b1 -.if !defined(MAKE_JOBS) && ${DPB_PROPERTIES:Mparallel})
+.if !defined(MAKE_JOBS) && ${DPB_PROPERTIES:Mparallel}
2019-12-05 22:07:36 +00:00
sthen
e506a46e80 Treat DPB_PROPERTIES=parallel as a hint that a port is parallel-safe
for use in regular builds too; if that is present in a port, use
${PARALLEL_MAKE_JOBS} jobs in the build, defaulting to hw.ncpuonline.

Adjust PARALLEL_BUILD=No, this originally seemed intended to be a hint
that a port could NOT handle a parallel build, but current usage is
"don't pass make -jXX because this port has its own way to handle things",
instead change this to a slightly more understandable PARALLEL_MAKE_FLAGS
variable. This defaults to -j${PARALLEL_MAKE_JOBS} but can be reset for
build system requirements as needed (java/libreoffice have their own
mechanism) and is added automatically to MAKE_FLAGS where a build uses
>1 concurrent job.

Based on a diff from / ok espie@ - the default value may want revising
as hw.ncpuonline jobs will be too many in some cases (e.g. machines with
many cores or low RAM), but committing at this stage to avoid further
out-of-tree bikeshedding. If you need to restrict to a lower number of
jobs, set e.g. PARALLEL_MAKE_JOBS=2 in /etc/mk.conf, and please provide
feedback.
2019-12-05 21:18:08 +00:00
pirofti
eb7e1d06b3 Use strip(1) instead of objcopy(1) to remove debug information.
Few people complained that stripped binaries are slightly
larger now than they used to be when debug packages are enabled.

My investigations show that this is because objcopy --strip-debug is
less efficient than plain strip(1) which is what we use for non-debug
packages.

Reintroducing strip(1) does not affect current debug packages behaviour
in my experience. The link to the debug symbols is still there and
egdb(1) still loads it automatically and displays all the debug info.

OK espie@
2019-12-04 11:34:29 +00:00
espie
92dbe205b0 simpler check for gettext dependency anywhere in BUILD_DEPENDS.
We're in bsd.port.mk, so we're allowed to use internals, and _BUILD_DEP
contains exactly what we need.

okay naddy@
2019-12-02 18:59:03 +00:00
sthen
36eb147a1a oops, adjust previous to unbreak (needed _BUILDLIB_DEPENDS in addition
to BUILD_DEPENDS rather than replacing)
2019-12-02 12:02:05 +00:00
sthen
0660d1cde0 Change the gettext-tools poisoning to use _BUILDLIB_DEPENDS instead of
BUILD_DEPENDS and simplify (it's always defined, so no need for a "is defined"
check).

Although it's not used often there is now an external-facing library
that is part of gettext-tools so it's valid to have it listed as a LIB_DEPENDS
rather than a BUILD_DEPENDS.

_BUILDLIB_DEPENDS suggested by espie@ naddy@ as an improvement to my more
complex and less complete "check BUILD_DEPENDS and LIB_DEPENDS" which ignored
multi-packages.
2019-12-02 11:38:22 +00:00
espie
0ab1dbdef3 for the packaging step
- don't use $@D so that we can put two targets in there
- set a variable to add the debug package to the targets

This fixes behavior in the very specific case the normal package was already
built without DEBUG_PACKAGES and you're repackaging with DEBUG_PACKAGES set.

okay landry@
2019-12-02 10:36:51 +00:00
espie
c1024b8fcd update the internals with a few more details 2019-12-01 09:36:29 +00:00
kmos
03e2882de7 Add the common misspelling "MODPY_TEST" (should be "MODPY_PYTEST") to the
poisoned misspellings to help point out when the typo happens.

ok phessler
2019-11-30 18:11:46 +00:00
espie
542e93575d document the result 2019-11-30 10:20:53 +00:00
sthen
4c645f78fa oops, that should not have been part of previous commit 2019-11-29 02:43:16 +00:00
sthen
d13bf19794 reserve 846 for net/dhcpcd, the master branch upstream now has working privsep 2019-11-29 02:42:44 +00:00
espie
e8b70183b5 so figured out what to do with links. Fun!
(there's still one corner case to detect, but it's unlikely to happen in
practice)
2019-11-27 15:10:19 +00:00
sthen
d665f4f90d +snmp_exporter 2019-11-27 10:47:22 +00:00
espie
70af6987c7 a few more comments in the generated makefile
fold abstraction that's no longer needed
turns out I don't need to worry about symlinks, egdb handles them
2019-11-26 12:02:46 +00:00
espie
609569ab04 better if I build the correct package :/
sorry guys, broken debug packages
2019-11-26 11:49:02 +00:00
espie
7eaccc69c8 fold trivial code 2019-11-25 15:35:05 +00:00
espie
afa1c62789 stop doing anything with @static-lib, my plan didn't work correctly
(how do you link with a lib in a package that you can't really depend
upon)

There are few enough static libs that the difference won't be that much
anyway.

okay pirofti@
2019-11-25 14:51:15 +00:00
espie
337eaeceb0 add a warning for the actual absence of debug-info
okay pirofti@
2019-11-25 14:35:06 +00:00
espie
1136f61008 have comment reflect reality 2019-11-25 13:57:11 +00:00
espie
efd273d5a8 rename p into pkgname, so I do not need an extra temp variable
move checksum_package to the final loop, so *only* final packages
will get checksummed
2019-11-24 12:54:12 +00:00
espie
703ae9ad93 restore logic to NOT register debug packages
noticed by aja@, thx
2019-11-24 12:23:22 +00:00
espie
eeedab813e use the exact same logic for FETCH_PACKAGES: grab all files. If we got
them all we move them (and we can still fail if permissions are not okay)
Otherwise, we run the normal _internal-package-only again, with FETCH_PACKAGES
neutralized (as before)

This fixes the issue reported by semarie@ and kmos@
2019-11-23 16:31:20 +00:00
espie
085528005c tweak the logic slightly: use one single variable _pkg${_S} to hold the
packages we build (normal/debug) and put the code back inside the actual
target instead of fragments.

Stop doing tests (shell exits as usual and trap is enough to remove temp
files).

The same logic will be used for debug_packages
2019-11-23 16:19:48 +00:00
espie
bdfceef887 add extra variables to make the definition of PACKAGE_COOKIE more regular
to be used for DEBUG_PACKAGES
2019-11-23 16:00:34 +00:00
espie
5bc08af6fd zap useless tests (dates back when this governed _PACKAGE_LINKS as well,
before the MULTI_PACKAGES/BUILD_PACKAGES separation)
2019-11-23 15:50:14 +00:00
espie
58cccbe929 fix bug in FETCH_PACKAGES logic: do NOT run _internal-package-only if
FETCH_PACKAGES succeeded. Also: error out if we can't copy/link the
cached package, as this is probably some permission error.
2019-11-23 15:43:20 +00:00
sthen
593e1a38f9 portgen sqlports improvements, changes suggested by espie in response to my
not-so-good change to just using the PortsQ "cache":

- use _paths/_ports directly rather than the "ports" view and remove bogus
flavour-clearing regex subst

- open sqlports ReadOnly
2019-11-23 14:59:39 +00:00
abieber
e0f2a305ba Remove unused NPM bits.
OK afresh1@
2019-11-22 00:01:10 +00:00
sthen
273bc91140 - comment-out net/cvsync uid
- drop description of "noauto", not used since 2006
2019-11-20 15:37:52 +00:00
afresh1
45800df741 Remove sqlports-compact support from portgen
Ok, initial idea, and initial patch from cwen@
2019-11-19 22:43:31 +00:00
espie
31c7e58902 do the destdir dance using File::Spec for simpler, canonical paths 2019-11-19 16:35:20 +00:00
espie
0b8672b605 rename generic "out" into "mk" since we're writing to a makefile
(makes it more obvious compared to the plist fh)

start preparing for actually handling links
2019-11-19 15:49:30 +00:00
espie
cf1e5fa4f3 repair 2019-11-19 15:06:19 +00:00
espie
d189070fb1 document a design choice 2019-11-19 14:55:42 +00:00