summaryrefslogtreecommitdiff
path: root/Tools/scripts (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Tools/scripts: Add port_conflicts_check.luaStefan Eßer2022-01-222-0/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a script to check the CONFLICTS and CONFLICTS_INSTALL parameters of ports for completeness and correctness. This script uses the "hidden" LUA interpreter in the FreeBSD base system and the pkg-provides extension of the pkg command to check for conflicting files in all packages available for the architecture and version of the base system this command is run on. It generates output in the following format: portedit merge -ie 'CONFLICTS_INSTALL=kicad-library-footprints-devel \ # share/kicad/template/fp-lib-table' \ /usr/ports/cad/kicad-library-footprints (The last line is shown wrapped for the text of this commit message.) The portedit command is provided by the port-fmt package. It takes care of placing the CONFLICTS_ENTRY into the correct position of the port's Makefile (and removes prior definitions). The files listed with each result are examples of files that are in conflict between the port and the packages in the list after ">". The main purpose of the files list is to help distinguish between conflicts that affect all flavors or versions of a port, or whether the files are placed in version specific sub-directories or use other mechanisms to allow e.g. multiple Python versions to co-exist. (In the latter case ${PYTHON_PKGNAMEPREFIX} can be used to limit the CONFLICTS_INSTALL entry to conflicting packages using the same Python interpreter version, for example, else a prefix like py*- might be required for a version independent pattern). Users of this feature are highly advised to check each Makefile by comparing it with pre-edit version before the changes are committed! There are several limitations that can cause incorrect or undesirable changes: - The list of files installed by each port is only available for the officially built packages (and the flavors selected from the set of available flavors). It does not include ports that may not be packaged or that are broken or ignored due to a dependency on a broken port (or for other reasons). As a result, there may be undected conflicts with ports for which no official package is available. - The CONFLICTS_INSTALL line is not always inserted into the correct position in the Makefile, typically due to out-of-order entries used by portedit to locate the desired position. - Complex ports may have conditional CONFLICTS_INSTALL entries, depending on port options or flavors that are in effect. It is not possible to deal with that kind of Makefiles in an automated way. - The union of all CONFLICTS and CONFLICTS_INSTALL entries is used as the list of install conflicts of a port. But only CONFLICTS_INSTALL entries are generated by this tool. Quite a lot of ports have CONFLICTS entries where CONFLICTS_INSTALL would suffice (i.e. there is no build conflict, actually), but there are ports that need to keep the conflicts listed as CONFLICTS. Such issues can be found by comparing the before and after versions of the edited Makefiles. - Conflicting ports that have been removed from the ports system will only be found as long as their official package files are still available. (There is a recommendation that conflicts with removed ports are kept for a few months.) - If all packages conflicting with a given port have been removed from the ports system and the official packages repository, the now superfluous CONFLICTS_INSTALL definition will not be detected. This is due to only Makefiles of ports being parsed that install files in the same place as some other port. Parsing all Makefiles instead would increase the run-time of this script by more than a factor of 10.
* Tools/scripts/bump_revision.pl: Minimal updateMatthias Andree2022-01-171-12/+24
| | | | | to deal with ports that have flavors renaming the main port, for instance e2fsprogs-nobootfsck.
* tindex: add new compression format for INDEXBaptiste Daroussin2021-11-221-2/+7
| | | | | | | | | | Add zstd (faster to decompress) and xz (smaller) compression for INDEX Results are the following: 39552 INDEX-14 2366 INDEX-14.bz2 1625 INDEX-14.xz 1672 INDEX-14.zst
* Tools/scripts: Add new script update_crates to replace CARGO_CRATES blockRodrigo Osorio2021-11-142-0/+65
| | | | | | | | Simple shell script to help updating Makefile CARGO_CRATES variable returned by make cargo-crates. simplest way to use it : make cargo-crates | update_crates Makefile > NewMakefile
* cleanup: drop support for EOL FreeBSD 11.XRene Ladan2021-09-301-6/+2
| | | | | | | | | | | | | | | | | Search criteria used: - 11.4 - OSREL* - OSVER* - *_FreeBSD_11 Input from: - adridg: devel/qca-legacy - jbeich: _WITH_DPRINTF, _WITH_GETLINE, GNU bfd workarounds - sunpoet: security/p5-*OpenSSL* Reviewed by: doceng, kde, multimedia, perl, python, ruby, rust Differential Revision: https://reviews.freebsd.org/D32008 Test Plan: make index
* rmport: first check if we are in a git checkout, then check for changes.Rene Ladan2021-09-081-4/+4
|
* rmport: use "cleanup" instead of "*/*"Rene Ladan2021-07-031-1/+1
|
* cleanup: remove LEGAL and (support in) related tools.Rene Ladan2021-06-113-49/+1
| | | | | | | | | | | LEGAL is badly maintained, LEGALlint notices quite a number of ports which mismatch their line in LEGAL. The port itself is always leading. * math/giacxcas: restrict RESTRICTED_FILES to giac_* only Differential Revision: https://reviews.freebsd.org/D30061 Reviewed by: portmgr (mat), dch, eadler, marcus
* Tools/scripts/rmport: satisfy path check hookRene Ladan2021-05-311-1/+1
|
* Tools/scripts/getpatch: Add SPDX identifierSofian Brabez2021-05-281-0/+3
|
* Tools/scripts/rmport: differentiate exit codes.Rene Ladan2021-04-211-5/+5
|
* tindex: Amend last commit a bit.Mathieu Arnold2021-04-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | When you run `git log foo` foo can be, from git-log(1), `[<revision range>] [[--] <path>...]`, so, may things. - A "revision range" described by gitrevision(7) (don't got there unless you have a few hours, or already lost your sanity), which can be : * a commit hash, * a tag * a branch, * a ref name * a "describe output" * and many other ways to describe revisions * a range made by any of the above - An existing path. When it can't find any of those, git figures out that you meant something else and made a typo, and exits. If you really meant a path, you have to run `git log -- foo`. Then git knows that you meant a path and only a path, it will then assume that you knew what you meant, and will go look in the history.
* tindex: fix when INDEX fails and ports are deleted since the last success.Rene Ladan2021-04-081-2/+4
| | | | | | | | | | | `git log' cannot get the log of a non-existent file, which the script uses to obtain the last person who touched a port, so check if the file exists before getting its log. This is similar to the Subversion case, which only inspected changed files. The Git version still also checks added ports. While here, call git in blame() using the predefined global variable. Reported by: antoine
* Cleanup executable bits, prompted by 9e1d7c39a1fa.Mathieu Arnold2021-04-081-0/+0
|
* rmport: ready for gitRene Ladan2021-04-061-4/+19
| | | | | | | | | - do not remove ports immediately but store them in a temporary file and remove them once the script has iterated over all ports to be removed. This prevents failed searches. The Subversion version used a temporary worktree so the main tree was unaffected. - remove a "merge" from a question, we use rebase now. - check if INDEX is readable and exit if not
* rmport: fix and simplify workflowRene Ladan2021-04-061-9/+3
| | | | | | | | | | | | - gather information about the deleted port for the commit message before removing the port. I somehow missed that when testing the script. - Instead of a temporary branch, just operate on the current branch and incorporate upstream changes with git pull --rebase. This prevents one from being stranded on a temporary branch if the script crashes and oblivates the need for a squash merge [1] Suggested by: mat [1]
* all: Remove all other $FreeBSD keywords.Mathieu Arnold2021-04-062-4/+0
|
* framework: Remove $FreeBSD$Mathieu Arnold2021-04-0624-43/+2
| | | | Where appropriate fiddle with a few other things.
* Tools/scripts/rmport: convert workflow to git.Rene Ladan2021-04-061-160/+86
| | | | | | | | | Do not push the final result automatically yet, unlike its previous Subversion version. Reviewed by: emaste, mat, uqs Approved by: crees (maintainer, implicit) Differential Revision: https://reviews.freebsd.org/D29451
* Tools/scripts/chkversion.pl: remove svn compatibilityRene Ladan2021-04-061-17/+0
| | | | Differential Revision: https://reviews.freebsd.org/D29451
* Tools/scripts/MOVEDlint.awk: remove svn compatibilityRene Ladan2021-04-061-5/+1
| | | | | Reviewed by: uqs Differential Revision: https://reviews.freebsd.org/D29451
* Tools/scripts/search_lib_depends_and_bump.sh: remove svn in an echoRene Ladan2021-04-061-1/+0
| | | | Differential Revision: https://reviews.freebsd.org/D29451
* Remove two tools that are no longer useful with Git.Rene Ladan2021-04-063-387/+0
| | | | | | | | | | - mfh: this is replaced by 'git cherry-pick -x HASH' - psvn: unlike svn, git has no per-file properties Adjust README accordingly. Differential Revision: https://reviews.freebsd.org/D29451 With hat: portmgr
* Tools/scripts/tindex: update for gitRene Ladan2021-04-061-13/+10
| | | | | Reviewed by: uqs Differential Revision: https://reviews.freebsd.org/D29451
* addport: Update contributor list file after Asciidoc conversionEd Maste2021-03-291-1/+1
| | | | | | | Reviewed by: crees Approved by: crees Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29476
* You don't need approval to merge stuff.Mathieu Arnold2021-03-191-1/+0
|
* Tools/scripts/chkversion.pl: Git supportAdam Weinberger2021-01-271-14/+32
| | | | | | Git support is enabled by setting BLAME=yes (the SVN-specific SVNBLAME=yes will be retired after transition). Mark all SVN blocks to facilitate that eventuality.
* Tools/scripts/chkversion.pl: Fix and modernizeAdam Weinberger2021-01-261-102/+97
| | | | | | | | | | | chkversion.pl was broken in a number of ways, including looking for CVS-style Id lines in svn headers, not being updated for pkgng, etc. This commit fixes those, and adopts some modern Perl practices. NOTE: The $PKG_VERSION env var is renamed to $PKG. This should be a no-op for most people (in the sense of it didn't work before, and the default should work for pretty much everybody).
* Tools/scripts/chkversion.pl: Guard against undefined valuesAdam Weinberger2021-01-241-16/+17
| | | | | | There are a few places where undefined values can creep in. While reinforcing defined values, use the defined-or (//) operator for some visual simplification.
* Update tindex for FreeBSD 14Antoine Brodin2021-01-221-2/+6
|
* tindex: reduce diff with what is used on portsindexbuildAntoine Brodin2021-01-181-3/+4
| | | | Use git to update src.13
* bump_revision.pl: fix typo in help text.Matthias Andree2020-08-231-1/+1
|
* Make argument parsing a bit more robustMateusz Piotrowski2020-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | Currently, when running mfh with a flag like --help the user gets a confusing error message from expr(1) like the following: > expr: illegal option -- - > expr: usage: expr [-e] expression > > revision "--help" should be a number This is not helpful. Instead, make sure that any arguments specified by the user are handled properly by expr(1). This results in a much cleaner error message: > revision "--help" should be a number Reviewed by: mat Approved by: portmgr (mat) Differential Revision: https://reviews.freebsd.org/D25958
* Move script to a more appropriate location.Mathieu Arnold2020-08-031-13/+0
|
* - Update wording/style on REINPLACE_CMD checksRyan Steinmetz2020-08-031-1/+1
|
* bump_revision.pl: svn.freebsd.org -> repo.freebsd.orgMatthias Andree2020-07-161-2/+2
| | | | and while here, fix a typo in the tmpdir's name.
* Tools/scripts/patchtool: adjust for Python 3Rene Ladan2020-07-111-1/+6
| | | | | | PR: 246414 Submitted by: ashish Event: July 2020 Bugathon
* Tools/scripts/psvn: filter out svn status comments such as moved from/to.Matthias Andree2020-06-111-1/+1
| | | | Avoids spurious but harmless warnings.
* Tools/scripts/mfh: revert accidental tab expansionMatthias Andree2020-06-041-1/+1
| | | | | | | Regression from r537876 Reported by: tijl@ Approved by: portmgr@ (implicit, whitespace-only edit to fix a regression)
* Tools/scripts/mfh: check out entire port directory even if touching only files/Matthias Andree2020-06-041-25/+61
| | | | | | | | | | | | - remove unused clean() function, trap does it - fix race around mktemp/setting up rm trap - rename filelist to dirlist so it matches its purpose - move defaults up front to the script - misc. minor edits PR: 246336 Approved by: portmgr (mat@) Differential Revision: https://reviews.freebsd.org/D24789
* Tools/scripts/bump_revision.pl: Abort when invalid option given.Matthias Andree2020-05-081-1/+1
|
* Tools/scripts/sed_checked.sh: Revert accidental unapproved commit.Matthias Andree2020-05-081-81/+10
|
* Tools/scripts/bump_revision.pl: chase option rename for getopts().Matthias Andree2020-05-082-11/+82
|
* Tools/scripts/bump_revision.pl: rename options to avoid astonishment.Matthias Andree2020-05-081-7/+7
| | | | | -n was more or less some "force" option, rename to -f -c was a dry-run option that's often called -n, rename accordingly.
* bump_revision.pl: minor usability improvementsMatthias Andree2020-04-191-7/+16
| | | | | | | | - use env -S to split the shebang line (RhToad@#bsdports) - launder -p PORTSDIR argument and chdir to it so it doesn't matter which cwd bump_revision.pl is executed from - if INDEX not found, hint the user that also his -p option might be off, because the -i INDEX option defaults to a file relative to -p PORTSDIR.
* Tools/scripts/sed_checked.sh: reword sed warningMatthias Andree2020-01-121-1/+1
| | | | | | The original wording was misleading and might have mistaken for identical file names, but what is meant is that the sed run did not introduce changes to the file's __content__. Reword accordingly.
* Add QA warning about useless REINPLACE_CMDSteve Wills2020-01-091-0/+13
| | | | | | Reviewed by: mat, bdrewery, tobik Approved by: mat Differential Revision: https://reviews.freebsd.org/D22174
* Tools/scripts/bump_revision.pl: Fix a few issuesMatthias Andree2020-01-051-4/+6
| | | | | | | - When using a non-default ports tree (-p PATH), strip that from the requisite origins, too. - Fix the counters when multiple ports are given on the command line, i. e. we are bumping depends if more requisites are updated at once.
* Tools/scripts/bump_revision.pl: Fix typo in commentMatthias Andree2020-01-051-1/+1
|
* Update supported version of FreeBSDBaptiste Daroussin2019-09-131-16/+8
|