Commit Graph

129 Commits

Author SHA1 Message Date
Gerald Pfeifer b2e6ef7f3b Revert r562049 which I committed by mistake.
Pointy hat:	gerald
2021-01-19 15:04:17 +00:00
Gerald Pfeifer db1e3fae20 GCC_DEFAULT now sits at 10, so remove the special setting we added for
powerpc64le which is a nop now (essentially reverting revision 559637).

Reported by:	pkubaj
2021-01-19 15:02:22 +00:00
Rene Ladan 8a45ee228f Remove graphics/jpeg which has expired in favor of graphics/jpeg-turbo
Update qa checks and add a note to UPDATING to help users migrate.
Differential Revision:	https://reviews.freebsd.org/D27425
2020-12-01 19:12:47 +00:00
Mathieu Arnold 292183dbc4 Ignore readelf's return value.
PR:		251110 (with style fixes)
Submitted by:	John Hein
2020-11-16 10:50:54 +00:00
Mathieu Arnold f916081e1c Add set pipefail in most framework scripts.
set pipefail changes the pipeline return status from being the return
status of the last command to the last non 0 exit status of any command
in the pipeline.  This is needed to make sure all the commands in a
pipeline did actually return a non 0 status and not only the last one.

PR:		250723
Exp-run by:	antoine
Reviewed by:	bapt
Approved by:	bapt
Differential Revision:	https://reviews.freebsd.org/D27007
2020-11-11 13:29:52 +00:00
Tobias C. Berner 9e0e8d17a4 Prefer graphics/ligvrsvg2-rust over graphics/librsvg2
- switch to the more modern version of librsvg2 on architectures
  supporting rust
- this will fix some graphical issues on these architectures

PR:		250276
Exp-run by:	antoine
Submitted by:	tobik
Differential Revision:	https://reviews.freebsd.org/D18878
2020-11-09 17:08:12 +00:00
Mathieu Arnold aeda355b1b Backout r554139. 2020-11-05 16:51:30 +00:00
Mathieu Arnold e9b2078c6c Add set pipefail in most framework scripts.
set pipefail changes the pipeline return status from being the return
status of the last command to the last non 0 exit status of any command
in the pipeline.  This is needed to make sure all the commands in a
pipeline did actually return a non 0 status and not only the last one.
2020-11-05 16:42:35 +00:00
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
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
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
Baptiste Daroussin a472a290be Add make to the list of allowed shebang
PR:		228874
Reported by:	jwb
2019-09-06 08:57:12 +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
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
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
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
Tobias Kortkamp 69fbf6bed7 Mk/Scripts/qa.sh: Remove glib12 and gtk12
Approved by:	portmgr (bapt)
Differential Revision:	https://reviews.freebsd.org/D19055
2019-02-01 16:43:37 +00:00
Mathieu Arnold 3642a3436f Fix proxydeps QA check when multiple flavor of a package are installed.
Previously it would do this:

$ pkg which -q -o /usr/local/lib/libphonon4qt5.so
multimedia/phonon
$ pkg pkg annotate -q -S multimedia/phonon flavor
qt4
qt5

And that would break things in an interesting way.

This changes makes it use the package name of the required file, which
is unique.

Note that this problem would probably only ever happen on a live system.
I was not able to find a single port that would trigger this it in a
clean environment (poudriere testport).

PR:		231332
Submitted by:	dbn
2019-01-11 12:50:51 +00:00
Mathieu Arnold dc820c0194 Remove obsolete qa check. 2018-12-17 14:29:41 +00:00
Mathieu Arnold 35326f1a97 security/openssl-devel was removed, but there is a security/openssl111 now. 2018-11-10 10:09:48 +00:00
Sunpoet Po-Chuan Hsieh 6dd23db065 Fix typo
Differential Revision:	https://reviews.freebsd.org/D17263
Approved by:	bapt (portmgr)
2018-09-22 16:45:47 +00:00
Mathieu Arnold 7256d8f2f7 Tell people who disabled LICENSE processing that it then cannot be
checked.

Reported by:	mfechner
Approved by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D16450
2018-07-26 10:37:36 +00:00
Mathieu Arnold 1e5af0bf74 Have the license qa check actually work.
Pointy hat:	mat
Sponsored by:	Absolight
2018-07-18 11:33:24 +00:00
Mathieu Arnold f305cacf3a Add a license qa check to tell porters when their ports will be mostly
useless.

Reviewed by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D16103
2018-07-18 11:13:06 +00:00
Tobias C. Berner b1a1d38bf9 Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
From now on, ports that depend on Qt4 will have to set
	USES=		qt:4
	USE_QT=		foo bar
ports depending on Qt5 will use
	USES=		qt:5
	USE_QT=		foo bar

PR:		229225
Exp-run by:	antoine
Reviewed by:	mat
Approved by:	portmgr (antoine)
Differential Revision:	→https://reviews.freebsd.org/D15540
2018-06-28 17:39:53 +00:00
Mathieu Arnold b19fe1e937 SC1004: This backslash+linefeed is literal. Break outside single quotes if you just want to break the line.
You have a single quoted string containing a backslash followed by a
linefeed (newline). Unlike double quotes or unquoted strings, this has
no special meaning. The string will contain a literal backslash and a
linefeed.

If you wanted to break the line but not add a linefeed to the string,
stop the single quote, break the line, and reopen it.

PR:             227109
Submitted by:   mat
Sponsored by:   Absolight
2018-06-08 09:26:41 +00:00
Mathieu Arnold b234bfd716 SC2162: read without -r will mangle backslashes.
By default, read will interpret backslashes before spaces and line
feeds, and otherwise strip them. This is rarely expected or desired.

Normally you just want to read data, which is what read -r does. You
should always use -r unless you have a good reason not to.

PR:             227109
Submitted by:   mat
Sponsored by:   Absolight
2018-06-08 09:26:34 +00:00
Mathieu Arnold ac5e64ba02 SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
It's common to use A && B to run B when A is true, and A || C to run C
when A is false.

However, combining them into A && B || C is not the same as if A then B
else C.

In this case, if A is true but B is false, C will run.

If an if clause is used instead, this problem is avoided.

PR:             227109
Submitted by:   mat
Sponsored by:   Absolight
2018-06-08 09:26:31 +00:00
Mathieu Arnold bf064c8390 SC2006: Use $(..) instead of legacy ...
Backtick command substitution `STATEMENT` is legacy syntax with several
issues.

 - It has a series of undefined behaviors related to quoting in POSIX.
 - It imposes a custom escaping mode with surprising results.
 - It's exceptionally hard to nest.

$(STATEMENT) command substitution has none of these problems, and is
therefore strongly encouraged.

PR:		227109
Submitted by:	mat
Sponsored by:	Absolight
2018-06-01 16:20:54 +00:00
Mathieu Arnold ccbfedd88c SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
cd can fail for a variety of reasons: misspelled paths, missing
directories, missing permissions, broken symlinks and more.

If/when it does, the script will keep going and do all its operations in
the wrong directory. This can be messy, especially if the operations
involve creating or deleting a lot of files.

PR:		227109
Submitted by:	mat
Sponsored by:	Absolight
2018-06-01 16:20:48 +00:00
Mathieu Arnold 2364943f9d SC2153: Possible misspelling: PORTNAME may not be assigned, but portname is.
ShellCheck has noticed that you reference a variable that is not
assigned in the script, which has a name remarkably similar to one that
is explicitly assigned. You should verify that the variable name is
spelled correctly.

PR:		227109
Submitted by:	mat
Sponsored by:	Absolight
2018-06-01 16:20:45 +00:00
Mathieu Arnold 644b6c731d SC2091: Remove surrounding $() to avoid executing output.
ShellCheck has detected that you have a command that just consists of a
command substitution.

This is typically done in order to try to get the shell to execute a
command, because $(..) does indeed execute commands. However, it's also
replaced by the output of that command.

PR:		227109
Submitted by:	mat
Sponsored by:	Absolight
2018-06-01 16:20:42 +00:00
Mathieu Arnold d605296d6e SC2145: Argument mixes string and array. Use * or separate argument.
The behavior when concatenating a string and array is rarely intended.
The preceeding string is prefixed to the first array element, while the
succeeding string is appended to the last one. The middle array elements
are unaffected.

For example, with the parameters foo,bar,baz, "--flag=$@" is equivalent
to the three arguments "--flag=foo" "bar" "baz".

PR:		227109
Submitted by:	mat
Sponsored by:	Absolight
2018-06-01 16:20:22 +00:00
Bryan Drewery 9c31cc2ac7 stage-qa: Change stripped check to only look for .debug_info.
'strip -x', and splitting out debug symbols with objcopy, will leave
a .symtab section but will still remove the .debug_info section.  file(1)
shows this distinction as well after the use of 'strip -x':

    work/tcl8.7a1/unix/libtcl8.7.so:       ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, with debug_info, not stripped
    work/stage/usr/local/lib/libtcl8.7.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, not stripped

This fixes false-positives when using install-strip and symbol splitting.

With hat:	portmgr
2018-05-10 23:00:15 +00:00
Mathieu Arnold 3754818b76 Handle flavors in the proxydeps qa check.
Reviewed by:	bdrewery
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D14595
2018-03-07 09:17:33 +00:00
Mathieu Arnold eb10fef04c Add a hint about devel/boost-python-libs.
Sponsored by:	Absolight
2018-03-06 16:25:16 +00:00
Torsten Zuehlsdorff 2816b55780 add new stage-qa target: gemfiledeps
This checks whether rubygem based ports have all of their dependencies
in Gemfile(s) satisfied by what's currently installed. Sample output:

====> Running Q/A tests (stage-qa)
Warning: Dependencies defined in /usr/ports/www/gitlab/work/stage/usr/local/www/gitlab/Gemfile are not satisfied

These ports could (!) be broken at runtime. Be aware: some projects
defines multiple Gemfiles and not all are used at runtime. For example
www/gitlab has two Gemfiles, but only one is used for testing and warnings
about it can be ignored.

Approved by: portmgr (mat), lifanov
Differential Revision: https://reviews.freebsd.org/D11865
2018-01-22 16:35:23 +00:00
Dmitry Marakasov 273db182a9 Report (in q/a) and fix (in shebangfix) python[23] shebangs
Currently, only python shebangs (e.g. /bin/python, /usr/local/bin/python,
/usr/bin/env python etc.) are reported by stage Q/A and fixed by
USES=shebangfix. We need to do the same for python[23] as well.

Before the problem was not noticeable since many ports had e.g.
USES=python:2, which added a dependency on python2 metaport, however
that's going to switch to USES=python:2.7, and neither it, nor more
widely used USES=python adds a dependency on metaports, so there's
very high probability that python[23] links are not available.

Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D13571
2017-12-21 13:27:51 +00:00
Mathieu Arnold e5587103cd Fix qa lib dependency checks when using libmap.conf.
This happens, for instance, if x11/nvidia-driver is installed.

PR:		221406
Submitted by:	tobik
Approved by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11977
2017-12-15 15:56:09 +00:00
Mathieu Arnold 30c4ca5784 Generic FLAVORS work.
- Enable FLAVORS.
- Make make describe flavors aware.
- Add a qa check for unique package names amongst flavors.
- Make MOVEDlint understand flavors.
- Add a bit of sanity check to make sure FLAVORS stay lowercase.
- Various fixes.

Reviewed by:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12577
2017-11-30 15:33:29 +00:00
Adriaan de Groot 0607e8e163 Take out the check that suggests that all <foo>-qt5 ports should be
part of USE_QT5, since all of those suggestions are wrong.

Approved by:	rakuco (mentor), tcberner (mentor), portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D12526
2017-10-04 21:01:09 +00:00
Mathieu Arnold 2454b666be Remove a useless block in the shebang checks.
* Once upon a time, we checked all of STAGEDIR/PREFIX's executable
  files.
* We then decided too many false positives were found, so we switched to
  only checking executable files in bin/sbin/libexec/www, and also
  symlinks that were in there.
* And then, we decided to go back to check all of STAGEDIR/PREFIX's
  executable files, but forgot to remove the checks for symlinks (which
  are now useless because we already check all the executable files.)

Reported by:	lifanov
Sponsored by:	Absolight
2017-09-25 22:45:08 +00:00
Mathieu Arnold 3fcd0e41de Remove USES=execinfo.
PR:		220271
Submitted by:	mat (review), Yasuhiro KIMURA (PR)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11488
2017-09-22 10:48:28 +00:00
Nikolai Lifanov 327751a539 add new stage-qa target: gemdeps
This checks whether rubygem ports have all of their dependencies
in gemspec satisfied by what's currently installed. Sample output:

====> Running Q/A tests (stage-qa)
Error: RubyGem dependency archive-tar-minitar = 0.5.2 is not satisfied.
*** Error code 1

Stop.
make: stopped in /usr/home/lifanov/src/svn/freebsd/ports/head/archivers/rubygem-fpm

These ports would be broken at runtime.

Big thanks to:
  swills - discussion
  mat - reviews
  antoine - exp runs
  sunpoet - fixing several dozens of ports :)

PR:		220605
Reviewed by:	mat, sunpoet
Approved by:	portmgr (mat)
Differential Revision:	https://reviews.freebsd.org/D11841
2017-08-07 19:09:41 +00:00
Koop Mast 3d842c21b9 Add gstreamer 0.10 and 1.0 hints to the qa script.
Approved by:	portmgr (bapt@)
Differential Revision:	https://reviews.freebsd.org/D11610
2017-08-05 22:07:45 +00:00