summaryrefslogtreecommitdiff
path: root/Mk/Scripts/qa.sh (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make baselibs QA check non recursive and activate it againAntoine Brodin2015-08-101-6/+6
| | | | | | | | Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D3352 Notes: svn path=/head/; revision=393878
* Disable baselibs check until it is made saner (aka non recursive)Baptiste Daroussin2015-08-091-1/+1
| | | | Notes: svn path=/head/; revision=393778
* Fix a typo that made baselibs QA check run twice on some filesAntoine Brodin2015-08-091-1/+1
| | | | | | | With hat: portmgr Notes: svn path=/head/; revision=393773
* Fix path of libeditBaptiste Daroussin2015-07-191-1/+1
| | | | Notes: svn path=/head/; revision=392541
* Add a QA check on some base libraries (for now only libedit and libarchive)Baptiste Daroussin2015-07-191-1/+23
| | | | Notes: svn path=/head/; revision=392538
* - Add /usr/sbin/dtrace to the list of allowed shebangsDmitry Marakasov2015-07-141-0/+1
| | | | | | | | | Submitted by: amdmi3 Approved by: portmgr (bapt) Differential Revision: D3070 Notes: svn path=/head/; revision=392087
* - Add blacklist of files which are not intended to be executed to shebang testDmitry Marakasov2015-06-041-4/+12
| | | | | | | | | | | - Sort shebang list Differential Revision: D2670 Submitted by: amdmi3 Approved by: portmgr (bapt) Notes: svn path=/head/; revision=388526
* - Add ${PREFIX}/www to shebang check. We have many shebang problems which ↵Dmitry Marakasov2015-05-201-3/+4
| | | | | | | | | | need to be discovered and fixed in www category. Differential Revision: D2580 Approved by: portmgr (bapt) Notes: svn path=/head/; revision=386884
* Fix strip check to consider setuid binaries.Bryan Drewery2015-04-301-1/+1
| | | | | | | | | | file(1) returns 'setuid' before the rest of the ELF output. With hat: portmgr Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=385021
* - Display a stage-qa warning when ports use PREFIX/var instead of /varTijl Coosemans2015-04-201-1/+7
| | | | | | | | | | | | | | | | | | | | | - Add --localstatedir=/var to _LATE_CONFIGURE_ARGS (like --mandir) but not when CONFIGURE_ARGS already sets it. (GNU configure scripts set it to PREFIX/var when PREFIX != /usr.) - Add --localstatedir="${PREFIX}/var" to CONFIGURE_ARGS in some ports so they aren't affected by this change (for now at least). This commit is meant to ensure that new ports don't make the same mistake. - games/acm: the configure script in this port is very old; instead of patching it more, just replace GNU_CONFIGURE with HAS_CONFIGURE. - irc/charybdis: it already used /var but adding --localstatedir=/var changed the behaviour of the configure script; adjust the port to this. PR: 199506 Exp-run by: antoine Approved by: portmgr (antoine) Notes: svn path=/head/; revision=384380
* Speed up checking for stripped binariesMark Felder2015-03-231-1/+1
| | | | | | | | | | | Skip ascii files. This significantly speeds up stage-qa on ports with a considerable amount of text files being installed. Differential Revision: https://reviews.freebsd.org/D2121 Approved by: bdrewery Notes: svn path=/head/; revision=382038
* Don't output a warning if PERL_ARCH does not exist.Mathieu Arnold2014-12-231-1/+1
| | | | | | | | With hat: portmgr Sponsored by: Absolight Notes: svn path=/head/; revision=375297
* Make Perl link all .so it builds with libperl.so.Mathieu Arnold2014-12-171-1/+50
| | | | | | | | | | | | | | | | | | | It makes upgrading from one Perl major version to another way easier. For binary package users, it means pkg upgrade will detect the libperl.so.x.yy change, and reinstall the affected packages. For users using ports, it will save rebuild time as it's easier to detect what ports really need to be rebuilt. PR: 195821 Differential Revision: https://reviews.freebsd.org/D1241 Submitted by: mat Reviewed by: antoine, bdrewery Exp-run by: antoine With hat: perl Sponsored by: Absolight Notes: svn path=/head/; revision=374847
* - Allow LINUXBASE for shebangs.Bryan Drewery2014-10-031-0/+1
| | | | | | | | | PR: 193878 Submitted by: Jan Beich <jbeich@vfemail.net> With hat: portmgr Notes: svn path=/head/; revision=369928
* Turn the installation of *.la files, without some form of USES=libtool inTijl Coosemans2014-09-151-3/+3
| | | | | | | | | | | | | | | | | | the port Makefile, into a stage-qa error. All ports that would trigger this error have been converted. Many thanks to all people involved in this, especially Dmitry Marakasov (amdmi3) who handled most ports. At this moment over 2200 ports have USES=libtool and over 20000 library dependencies between packages have been removed. This also marks the point where :keepla is no longer special. It is now only needed if a port uses *.la files at run-time. QA-run by: antoine Approved by: portmgr (antoine) Notes: svn path=/head/; revision=368281
* Ignore references to stagedir in .fmt and .log files generated for tex formatsAntoine Brodin2014-08-301-0/+2
| | | | | | | | | | | | | Those are harmless (records from which file they were generated from) and removing them would require ugly hacks according to hrs@ PR: ports/192933 Differential Revision: https://reviews.freebsd.org/D684 Reviewed by: bapt, hrs With hat: portmgr Notes: svn path=/head/; revision=366597
* Check that the plist doesn't reference the stage dir during stage-qaAntoine Brodin2014-08-251-1/+1
| | | | | | | | | | | | | ====> Running Q/A tests (stage-qa) Error: '/usr/ports/www/claroline/work/.PLIST.mktmp' is referring to /usr/ports/www/claroline/work/stage *** Error code 1 Differential Revision: https://reviews.freebsd.org/D685 Reviewed by: bdrewery With hat: portmgr Notes: svn path=/head/; revision=366159
* Advise trying INSTALL_TARGET=install-strip before ${STRIP_CMD}Antoine Brodin2014-08-171-1/+1
| | | | | | | | | Phabric: D477 Reviewed by: bdrewery With hat: portmgr Notes: svn path=/head/; revision=365214
* Mk/Scripts/qa.sh: add /bin/tcsh as a valid shebang.Rene Ladan2014-06-171-0/+1
| | | | | | | | Phabric: D231 Approved by: portmgr (antoine) Notes: svn path=/head/; revision=358122
* - Fix regression handling files with spaces from r350006.Bryan Drewery2014-05-091-21/+40
| | | | | | | | | | | | | | | Separate file(1) and stat(1) output by a newline and read each line individually to avoid losing spaces. - Use <<-EOF with heredocs to avoid bad indent - Add some more comments - Quote filenames in output so it is less unclear Spotted by: mandree Reviewed by: antoine With hat: portmgr Notes: svn path=/head/; revision=353532
* Let stage-qa detect .la libraries and warn that a port needs USES=libtool.Tijl Coosemans2014-05-061-1/+12
| | | | | | | | PR: ports/189255 Approved by: portmgr (antoine) Notes: svn path=/head/; revision=353084
* - Do not advise to strip non FreeBSD binaries [1]Antoine Brodin2014-04-211-4/+4
| | | | | | | | | | - Shorten messages Requested and tested by: xmj [1] With hat: portmgr Notes: svn path=/head/; revision=351707
* Do not advise to strip ELF relocatables, usually it is harmfulAntoine Brodin2014-04-121-1/+3
| | | | | | | With hat: portmgr Notes: svn path=/head/; revision=351133
* Reduce the number of false positives reported by the shebang qa checkAntoine Brodin2014-04-121-19/+45
| | | | | | | | | | by looking only at files and symlinks in bin, sbin and libexec Reviewed by: bdrewery With hat: portmgr Notes: svn path=/head/; revision=351132
* - Make shebang a warning for now, too many false-positives in files weBryan Drewery2014-04-111-2/+2
| | | | | | | | | | | do not care about. antoine@ is working on a better solution for this. With hat: portmgr Notes: svn path=/head/; revision=350959
* Rewrite the sharedmimeinfo qa check so that it doesn't produce a falseAntoine Brodin2014-04-081-4/+11
| | | | | | | | | | positive on misc/shared-mime-info With help from: bdrewery With hat: portmgr Notes: svn path=/head/; revision=350634
* - stage-qa: Fix absolute symlink check to look at target not fully resolvedBryan Drewery2014-04-031-1/+1
| | | | | | | | | | | path. Now tested on both good and bad symlinks. Reported by: antoine Pointyhat to: bdrewery With hat: portmgr Notes: svn path=/head/; revision=350013
* - Fix fatal checks not exiting with non-zero [1]Bryan Drewery2014-04-031-16/+46
| | | | | | | | | | | | | | | This means that files referrencing stagedir or linked to stagedir will now be fatal errors as intended. - Stop polluting global namespace with IFS changes - Speedup find(1) -exec usage by execing far less - Ignore known false-positive/harmless stagedir files in paths() [2] Reported by: eadler [1] Discussed with: antoine [2] With hat: portmgr Notes: svn path=/head/; revision=350006
* - Do not check for ${WRKDIR} in staged files, there are lots of falseAntoine Brodin2014-01-281-7/+5
| | | | | | | | | | | positives as some .o files may embed the source path [1] - Only check shebang of files with executable bit set Requested by: bapt [1] With hat: portmgr Notes: svn path=/head/; revision=341664
* Fix paths check from qa.shAntoine Brodin2014-01-091-2/+1
| | | | | | | | | IFS is set to newline so dirs was not correctly splitted Approved by: portmgr (bapt) Notes: svn path=/head/; revision=339268
* /usr/bin/nawk and /bin/csh are valid shebangsBaptiste Daroussin2013-12-061-0/+2
| | | | Notes: svn path=/head/; revision=335787
* - in qa.sh, properly work with filenames containing blank or tab,Matthias Andree2013-11-231-4/+7
| | | | | | | | | | | | | | | | by setting IFS to just LF - in check-stagedir.sh, properly detect unset environmental variables, and list them all - in check-stagedir.sh, also list the full prefix as known, not just its parents PR: 184039 Approved by: portmgr (bapt) Notes: svn path=/head/; revision=334663
* bsd.stage.mk: Fewer false positives, much faster, easier maintenance.Matthias Andree2013-10-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bugfixes: * @cmd in pkg-plist is now properly handled. - It was previously treated the same as though there was a directory following it, missing the prefix. (ordering matters in case...esac) - Due to the cwd=${PREFIX} inside the while read line loop, state tracking was broken and every new line assumed that cwd were the prefix. * stage-qa no longer complains about unstripped binaries if debugging is active (WITH_DEBUG set && WITHOUT_DEBUG unset). * The compress-man target uses ECHO_MSG, not ECHO_CMD, to print its build step. Additions: * The plist parser now understands @unexec rmdir ... || ... lines, including those with redirections, so that there are no false positives for directories stripped with @unexec rmdir (usually happens on stuff installed outside $PREFIX, as in /var). * The system's root and var mtrees are now also expanded to avoid false @dirrm positives if a port installs directories under /var and has to create parents in the stagedir that are present in a fully installed system (i. e. in the real $PREFIX). * Given that pkg_create is deemed beyond repair with respect to deleting files outside prefix, generate @unexec rmdir statements for such directories, rather than @dirrmtry, to sidestep the problem. Speedups: * the orphan check now generates sorted lists of staged files, and plisted/mtree files, and compares them with comm(1). This saves us the overhead of running one grep process per file and up to two per directory, and defers the actual list processing to a shell utility. Complexity has not changed, but overhead per item has. * the orphan check now uses one file for directories and one file for files mentioned in pkg-plist, so we need not decorate them with "dir " and parse them out any longer. * qa.sh's shebang scanner only looks at the first line of a file, sed is told to exit from the 2nd line. Other Changes: * Split the makeplist/check-orphans logic out of bsd.stage.mk, it is too unwieldy to maintain in make-escaped shell syntax, and permits shell tracing with "SH=sh -x" (including quotes!) * Unify the functions "makeplist" and "check-orphans" in one script. The only difference is that makeplist assumes an empty pkg-plist, whereas check-orphans parses it. * overhaul the mtree extractor, avoiding awk. Reviewed by: bapt Approved by: portmgr (bapt) Notes: svn path=/head/; revision=332275
* - Add check for suid files and directoriesAlex Kozlov2013-10-201-1/+12
| | | | | | | Approved by: portmgr (bapt) Notes: svn path=/head/; revision=331046
* Recommand to use STRIP_CMD to strip binaries given that it will respect the ↵Baptiste Daroussin2013-10-191-1/+1
| | | | | | | WITH_DEBUG option Notes: svn path=/head/; revision=330810
* - Fix desktopfileutils() and sharedmimeinfo() returning non-zero and causingBryan Drewery2013-10-111-0/+2
| | | | | | | | | | | | | failure on every port that does not use shared-mime-info or need it. Must return 0 at end of functions or it considers the last command ran as the return code. Reported by: eadler With hat: portmgr Notes: svn path=/head/; revision=330052
* Add two QA tests for staged ports:Antoine Brodin2013-10-101-1/+21
| | | | | | | | | | - check for desktop files handling MIME types - check for share MIME-Info database Approved by: portmgr (bapt) Notes: svn path=/head/; revision=330020
* First set of Q/A for staged ports.Baptiste Daroussin2013-10-091-0/+82
A couple of Q/A tests are done if the DEVELOPER macros is set in make.conf Right now the tests are: - Check if the symlinks are properly created - Check if the binaries are stripped (just warn) - Check if the STAGEDIR or the WORKDIR are referenced in the final files - Check if the ports provide script with bad shebangs. Notes: svn path=/head/; revision=329902