Commit graph

327 commits

Author SHA1 Message Date
Tobias C. Berner
0edfaee1ed KDE's August 2020 Apps Update
Dozens of KDE apps are getting new releases from KDE’s release service. New
features, usability improvements, re-designs and bug fixes all contribute to
helping boost your productivity and making this new batch of applications more
efficient and pleasant to use.

Full announcement:
        https://kde.org/announcements/releases/2020-08-apps-update/
2020-08-13 17:10:30 +00:00
Mathieu Arnold
466a092fb2 Move script to a more appropriate location. 2020-08-03 13:53:06 +00:00
Ryan Steinmetz
178b0490c2 - Update wording/style on REINPLACE_CMD checks 2020-08-03 13:46:11 +00:00
Tobias C. Berner
89fc0f48dc Update KDE Framewokrs to 5.72
July 04, 2020. KDE today announces the release of KDE Frameworks 5.72.0.

KDE Frameworks are over 70 addon libraries to Qt which provide a wide variety
of commonly needed functionality in mature, peer reviewed and well tested
libraries with friendly licensing terms. For an introduction see the KDE
Frameworks web page.

This release is part of a series of planned monthly releases making
improvements available to developers in a quick and predictable manner.

Changelog:
	https://kde.org/announcements/kde-frameworks-5.72.0.php?site_locale=en

- net/kdav became a framework and was therefore moved to net/kf5-kdav.
- thanks to adridg@ for fixing the fallout

Exp-run by:	antoine
PR:		247907
2020-07-21 17:15:38 +00:00
Dan Langille
c1f39c706a At present, the policy implemented in Mk/Scripts/qa.sh prevents me
from adding lang/python, lang/python2, or lang/python3 as a dependency of
another port. "This is to prevent adding dependencies to meta ports that
are only there to improve the end user experience." - I build my own packages
via poudriere. I want to create my own meta-package which has such packages
as RUN_DEPENDS. It's been suggested that I patch my own copy of the tree.
This patch moves towards tools, not policy.

This patch allows me to set this variable in a poudriere make.conf file:

QA_ENV+= IGNORE_DEPENDS_BLACKLIST="YES"

Reviewed by:	mat
Approved by:	portmgr
Differential Revision:	https://reviews.freebsd.org/D25450
2020-07-20 19:22:16 +00:00
Mathieu Arnold
653dab23f7 Fix overlays when using flavors.
Move FLAVOR processing before the overlays processing so that flavors
can be used with overlays.

PR:		247741
Submitted by:	mikael
2020-07-06 11:10:16 +00:00
Mathieu Arnold
c671212915 Add PATCH_CONTINUE_ON_FAIL to allow patching to go through all the
patches even if one fail.

This helps when upgrading ports with a large number of patches, like
www/chromium where having to fix one patch, re-do the patching, fix the
fallout, 800 times, is really painful.

This fixes the first attempt at this which would make ports with
multiple patches patching one file somewhat explode.
2020-05-14 14:33:34 +00:00
Bryan Drewery
a4ecca97c2 Support OVERLAY dir passed in from Poudriere. 2020-05-04 18:27:51 +00:00
Mathieu Arnold
0c93135004 When one patch fails, continue with appling patches.
This makes the process of make patch, fix fallout, make makepatch much
easier as only one iteration is required.

While there, refactor things around, and streamline messages passed
between functions.

PR:		244626
Reported by:	cem
2020-04-30 14:48:22 +00:00
Mathieu Arnold
634e7a24f5 Lower case local variable. 2020-04-30 14:47:59 +00:00
Baptiste Daroussin
86dce8416e Allow lua scripts in the framworks.
Bump the minimum required pkg version to a version that accepts
properly lua scripts

Lua script offers the advantages over shell scripts that they are
running in a capsicum sandbox and they are natively rootdir friendly

Reviewed by:		portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D21433
2020-04-29 14:01:05 +00:00
Emmanuel Vadot
ab88b482cc users-groups-install: Make it pkg -r friendly
The generated pre-install scripts isn't pkg -r friendly for all
ports that have USERS/GROUPS with an homedir, fix that.

Reviewed by:	bapt
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D24531
2020-04-23 18:06:47 +00:00
Bryan Drewery
b74622b8ed Don't show private variable name in user message. 2020-04-10 23:28:56 +00:00
Mathieu Arnold
f5e4ea9e14 Unbreak make makepatch.
The glob in `find ./*` is handled by the shell and actually sorts the
files, so one needs to to ask find to sort the result, using `find -s`.

`find ./* -maxdepth 0` is not equivalent to `find . -maxdepth 0`, the
depth increases by one as `./x` is on level deeper than `.`.

Pointy hat:	bdrewery
2020-01-23 08:55:25 +00:00
Bryan Drewery
ed09885fec find(1) doesn't need a glob to search for patches.
This change also avoids cmdline length errors and other subst
parsing issues that were previously targeted.

Sponsored by:	DellEMC
2020-01-21 20:36:14 +00:00
Tobias Kortkamp
83096313be lang/rust: Add COMPAT_FREEBSD11 canary
This attempts to provide a nicer error message for the subset of
users who build their own kernels without COMPAT_FREEBSD11 and then
attempt to build lang/rust.  The Rust ecosystem currently uses
pre-ino64 syscalls, so building lang/rust without COMPAT_FREEBSD11
is not going to work.

The error message for this is non-obvious and there is a new bug
for this at least every 1-2 months.  Hopefully this will improve
the situation a little.

Cargo and Gecko ports are similarly affected, so add the pre-build
check to them too.

Reviewed by:	jbeich, mikael.urankar@gmail.com
Tested by:	madpilot (negative case)
Approved by:	gecko (jbeich)
Differential Revision:	https://reviews.freebsd.org/D23100
2020-01-13 18:36:04 +00:00
Steve Wills
0a82a7c091 Add QA warning about useless REINPLACE_CMD
Reviewed by:	mat, bdrewery, tobik
Approved by:	mat
Differential Revision:	https://reviews.freebsd.org/D22174
2020-01-09 13:01:45 +00:00
Baptiste Daroussin
c2ca919129 Garbage collect libgnomeprint 2019-12-26 21:46:02 +00:00
Tobias Kortkamp
bb415dbba6 Mk/Uses/cargo.mk: Support new Cargo.lock format
The new format [1,2] dropped the [metadata] table.  As a consequence
our cargo-crates.awk script no longer outputs CARGO_CRATES.  We can
get the crate list from the various [[package]] tables instead.
This should work with the new as well as the old format.

[1] https://github.com/rust-lang/cargo/pull/7070
[2] https://github.com/rust-lang/cargo/pull/7579

PR:		242416
Reported by:	jbeich
2019-12-05 06:42:22 +00:00
Bryan Drewery
19aa5ff42e generate-symbols: Need @dir entries if PREFIX!=LOCALBASE.
- makeplist/check-plist: Don't suggest or complain about @dir entries
  for debug symbols added by this script. Same as is done for the
  debug symbols themselves.

Sponsored by:	DellEMC
2019-11-07 20:49:17 +00:00
Li-Wen Hsu
a7dfc7e583 Retire the palm category (1999-2019)
Reviewed by:	mat
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D22222
2019-11-04 11:57:46 +00:00
Baptiste Daroussin
a472a290be Add make to the list of allowed shebang
PR:		228874
Reported by:	jwb
2019-09-06 08:57:12 +00:00
Baptiste Daroussin
7610a280b5 Add support for overlays
overlays are a way to help users to integrate their own ports tree
with the official ports tree without having to maintain clone of the
official tree and remerge on regular basis.

The ports tree will lookup in the overlays (in the order the are listed in
OVERLAY variable) for the dependencies and the USES. It will use the first
found.

in order to use it the user have to declare his overlays that way in their
make.conf:
OVERLAYS= overlay1 overlay2 overlay3

Reviewed by:	manu
Approved by:	swills
Differential Revision:	https://reviews.freebsd.org/D21468
2019-09-03 14:36:00 +00:00
Rene Ladan
85ce2bc6f6 Remove USES=pure and its QA check now that lang/pure has been removed. 2019-09-01 15:54:18 +00:00
Baptiste Daroussin
9ea8668beb Prevent globbing before validating env vars.
Submitted by:	dillon
Obtained from:	dports (dragonfly)
2019-08-27 08:52:28 +00:00
Mathieu Arnold
55b249bab3 Add a QA check warning porters about non UCL pkg-message files.
Reviewed by:	adamw
Differential Revision:	https://reviews.freebsd.org/D21262
2019-08-19 12:18:21 +00:00
Mathieu Arnold
b174453dcd If pkg-message is not a UCL file, assume the message is "install" only.
Reviewed by:	adamw
Differential Revision:	https://reviews.freebsd.org/D21262
2019-08-19 12:18:16 +00:00
Koichiro Iwao
222e095f2a Implement new virtual category: net-vpn for VPN related ports
based on discussion at ports@ [1]. As VPN softwares are put in different
physical category net and security. This is a little bit confusing. Let's
give them new virtual category net-vpn.

[1] https://lists.freebsd.org/pipermail/freebsd-ports/2019-April/115915.html

PR:		239395
Submitted by:	myself
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D21174
2019-08-14 03:26:09 +00:00
Mathieu Arnold
13a7d55681 Force ports depending on a fetch target to actually run checksum.
This prevents an improbable MITM attack on dependencies where the target
is "fetch" and the port is built manuallt.  (Which means a port depends
on a dependency being fetched, but not built or anything else.)  In this
case, as the target is only "fetch", the distribution files of the
dependency are not checked against the dependency's distinfo file.  One
could, in theory, impersonate the dependency's master site and provide a
malicious distribution file.

The ports that could in theory be affected are russian/gd, ukrainian/gd,
and ukrainian/webalizer.  They are only affected when building manually,
as when building with poudriere, the *-depends target do not have
network access, and the build would fail if the distribution files are
not already present.  (From the dependencies being built normally, where
checksum would have ran.)

The detail is described here:
https://www.reddit.com/r/BSD/comments/br62hm/freebsd_cryptographic_bypass_and_mitmbased/

Reported by:	emaste (on IRC)
Reviewed by:	swills emaste antoine
MFH:		2019Q3
Differential Revision:	https://reviews.freebsd.org/D21230
2019-08-13 10:31:18 +00:00
Tobias Kortkamp
ee15f75b1e Mk/Uses/cargo.mk: cargo-crates to flag unknown git hosts
To avoid some head scratching print a warning instead of being
silent when encountering unhandled git hosts.
2019-08-07 10:37:10 +00:00
Tobias Kortkamp
076bb3ef0b Mk/Uses/cargo.mk: Add support for CARGO_USE_GITLAB/GL_TUPLE to cargo-crates 2019-08-06 08:12:39 +00:00
Tobias Kortkamp
2cb86a796d Assign cargo-crates.awk to rust@ too same as USES=cargo 2019-08-06 06:44:48 +00:00
Tobias Kortkamp
f06ec8723e Mk/Uses/cargo.mk: Fix cargo-crates to not output identical GH_TUPLE entries
For example, in audio/spotifyd some crates have their sources on
GitHub instead of crates.io and share the same repository and commit
in Cargo.lock like

[[package]]
name = "librespot"
source = "git+https://github.com/librespot-org/librespot.git#4e3576ba7c6146cf68e1953daeec929d619b26b1"

[[package]]
name = "librespot-audio"
source = "git+https://github.com/librespot-org/librespot.git#4e3576ba7c6146cf68e1953daeec929d619b26b1"

Based on this cargo-crates.awk would naively generate multiple
identical entries like

librespot-org:librespot:4e3576ba7c6146cf68e1953daeec929d619b26b1:librespot
librespot-org:librespot:4e3576ba7c6146cf68e1953daeec929d619b26b1:librespotaudio

This adds a lot of extra noise to the port and distinfo and is not
really needed for anything.
2019-08-06 06:43:43 +00:00
Mathieu Arnold
c5f7a50a9d Fix fetch-list when running as a user.
The fetch-list target is used to generate a shell script that will more
or less replicates what do-fetch does. It allows one to do most things
as a regular user, and generate that script to run, say, on another
machine, if the one where you build things does not have access to the
internet, or has much slower access.

It was failing when DISTDIR was not writable by the current user, and
the port had a distribution file with a path in it. (Not using
DIST_SUBDIR, something else, like lang/rust does.) It was failing
because it was trying to create that subdirectory unconditionally,
instead of only creating the subdirectory if actually had to.  This also
fixes the bug that the generated script did not have the appropriate
mkdirs for those directories.

PR:		239293
Submitted by:	tobik (earlier version)
Reported by:	Ruslan Garipov
Differential Revision:	https://reviews.freebsd.org/D21112
2019-07-31 10:10:35 +00:00
Bryan Drewery
51409ae5ed Don't try splitting symbols out of .a archives.
Sponsored by:	DellEMC
2019-07-13 17:32:14 +00:00
Bryan Drewery
d64353f33f Fix handling of ports with *1* file.
Reported by:	glebius
Sponsored by:	DellEMC
2019-07-10 16:18:32 +00:00
Bryan Drewery
245e0379ee Reduce code duplication from r504140.
Suggested by:	cem
Sponsored by:	DellEMC
2019-06-30 23:02:44 +00:00
Bryan Drewery
9ba153d1d4 generate-symbols: Commit a working version.
This file originated from Isilon's codebase. When I upstreamed it
originally I refactored it to a broken version. This is now the
working version.

Debug files are purposely moved to LOCALBASE/lib/debug regardless
of what PREFIX is.

Sponsored by:	DellEMC
2019-06-26 01:19:00 +00:00
Bryan Drewery
6e992e91cb Revert r505129: I still have the wrong version. 2019-06-26 01:07:41 +00:00
Bryan Drewery
9ec378268c Allow generate-symbols.sh to actually work.
It splits out symbols to PREFIX as well not LOCALBASE. Fix
check-stagedir.sh for that.
2019-06-26 00:44:55 +00:00
Bryan Drewery
5211362c14 parse_plist: Avoid excess fork+exec inside the loop for stripping (mode) lines.
Need to do it still after stripping away @comment though.
The @dir handling could probably be improved as well somehow.
2019-06-13 22:22:06 +00:00
Bryan Drewery
6ced1c7607 Speedup ELF file detection almost 100%.
This uses the same pattern we have in qa.sh.  Rather than using file(1),
which reads the whole file and does too much magic, use readelf(1) which
bails out if the file lacks the proper ELF headers.

(This file is not yet used by anything)

Sponsored by:	DellEMC
2019-06-11 22:56:32 +00:00
Mathieu Arnold
bd94d2c38d Use UCL for pkg-message
Remain backward compatible but use ucl for the pkg-messages, which allows to:
- append messages one after the other
- only print message on delete, install, upgrade from a version to another

If pkg-message starts with a [ we consider it should be a valid ucl file

The format is the following:
[
{ message: "Always print" },
{ message: "package being removed", type: remove },
{ message: "package being installed", type: install },
{ message: "package is being upgraded", type: upgrade },
{ message: "Upgrading from lower than 1.0", maximum_version: "1.0", type: upgrade },
{ message: "Upgrading from higher than 1.0", minimum_version: "1.0", type: upgrade  },
{ message: "Upgrading from >1.0 < 3.0", maximum_version: "3.0", minimum_version: "1.0",
]

Because it is ucl one can use some sugar like:
[
{ message = <<EOD
formatted
message 'with fancy things'
EOD
},
}

Submitted by:	bapt
Reviewed by:	bapt, mat
Differential Revision:	https://reviews.freebsd.org/D19310
2019-06-03 12:57:44 +00:00
Antoine Brodin
fa22bcefd1 Add lang/julia to the blacklist of ports that other ports must not depend upon.
With hat:	portmgr
2019-05-28 09:44:05 +00:00
Baptiste Daroussin
127e896f23 Improve vulnerability checking
Use the return value of the pkg audit command instead of parsing its output
The output will change in the next version of pkg

Approved by:	mat (portmgr)
Reviewed by:	mat (portmgr)
Differential Revision:	https://reviews.freebsd.org/D20376
2019-05-27 13:02:05 +00:00
Mathieu Arnold
7551edfa4b Have makepatch ignore "C function prototype".
This will reduce the churn when base system diff subtly changes what is
put in that field.
2019-05-20 13:04:03 +00:00
Rene Ladan
dfd801cad1 Remove esound support from the ports tree, as audio/esound expired. 2019-05-08 12:54:13 +00:00
Tobias C. Berner
c5584049b0 qa.sh: update KDE components
- synchronize the list of components
- update the comment on how to generate the components for the now kde- prefixed names
- remove the now unnecessary part about Qt4

Reviewed by:	yuri
Approved by:	portmgr (rene)
Differential Revision:	https://reviews.freebsd.org/D19894
2019-04-13 17:05:45 +00:00
Mathieu Arnold
a29c880f74 Add a blacklist of ports that other ports must not depend upon.
Those ports are meta ports, and are only there to improve the user's
experience, in which, if they want, say, python or gcc, they do not have
to figure out what version they should be installing, they simply
install python or gcc.

Reviewed by:	antoine
Approved by:	adamw
Differential Revision:	https://reviews.freebsd.org/D19562
2019-03-18 15:59:13 +00:00
Bryan Drewery
f4320c83f5 Respect UID_FILES.
Reported by:	dvl
Tested by:	dvl
Approved by:	portmgr (implicit)
2019-03-09 18:38:18 +00:00