about summary refs log tree commit diff
path: root/pkgs/common-updater/scripts
AgeCommit message (Collapse)AuthorFilesLines
2024-06-09common-updater-scripts/u-s-v: allow omitting version with --ignore-same-versionJan Tojnar1-1/+13
This is useful when wanting to update secondary hashes like `cargoDeps`.
2024-06-09common-updater-scripts/u-s-v: support --ignore-same-versionJan Tojnar1-6/+12
This is useful when updating multiple source attributes for a single version.
2023-02-10list-git-tags: fix for tags with / in the tag namelinsui1-1/+1
2023-01-05python37: dropMartin Weinelt1-1/+0
The package set hasn't been working for a long time now, due to infinite recursions, that nobody was going to fix. The release is going to go EOL in 2023/06 and we don't want to ship it in NixOS 23.05 anyway.
2022-12-10common-updater-scripts,directoryListingUpdater: add extraRegex parameterFrancesco Gazzetta1-1/+5
2022-12-10common-updater-scripts: list-directory-versions: scan for absolute urls tooFrancesco Gazzetta1-2/+2
2022-12-03qt5: drop 5.12, 5.14K9001-1/+0
2022-10-01httpTwoLevelsUpdater: fix variable default valueJosé Romildo1-2/+2
2022-10-01gitUpdater: fix variable default valueJosé Romildo1-1/+1
2022-10-01directoryListingUpdater: initJosé Romildo1-0/+65
Update a package looking for available versions in an html page
2022-09-30Merge pull request #193248 from romildo/upd.generic-updaterJosé Romildo Malaquias2-26/+40
generic-updater: more flexible with name, pname, version and attr path, and cleanups
2022-09-27generic-updater: more flexible with name, pname, version and attr pathJosé Romildo2-26/+40
- This information is availabe from environment variables defined by maintainers/scripts/update.nix - Renamed the shell script to generic-update-script.sh - Add a new optional argument (representing the package name) to the shell script - The version lister is called with a new optional argument (representing the package attribute path)
2022-09-27common-updater-scripts: fix silent error on 404Jan Tojnar1-2/+6
When TOFU was unable to download the file, there would be no hash in the fetch log, causing the grep to fail. Since the script is set to errexit, it would terminate the processing without any output. Let’s instead print the fetch log.
2022-09-16common-updater-scripts: Use custom fake temporary hashJan Tojnar1-6/+6
Some update scripts (e.g. sublime4) already use all-zeroes hashes for resetting a version when updating multiple sources. When `update-source-version "${attrPath}" 0 "${lib.fakeSha256}"` was executed, u-s-v would not be able to detect that the hash changed and would fail with the following message: Failed to replace temporary source hash of '…' to the final source hash! The update script worked when we tested it because change detection itself was broken until recently: https://github.com/NixOS/nixpkgs/pull/190554
2022-09-09common-updater-scripts: Only look for URL when replacing itJan Tojnar1-7/+8
This would do a pointless slow `nix-instantiate` call for a feature that is rarely used – initially, it was added for Firefox updates https://github.com/NixOS/nixpkgs/commit/186de9ca9ef5650180f2f0cf0a9efdc7dfb16e2e but now not even that uses it. Additionally, this would break stuff like `cargoDeps`, which lack the url attributes.
2022-09-09common-updater-scripts: Fix replacement failure detectionsJan Tojnar1-14/+11
Previously, we only made `sed` back up the version replacement. This meant that `cmp` would already recognize the files as changed before replacing hash and the other values, and the error would not be printed. Let’s always make the `sed` create a backup so that we can detect success of each situation. This will no longer allow us to revert to the original version on failure but the updated file should be tracked in git anyway.
2022-07-07common-updater-scripts/update-source-version: Add flag required for nix-commandOPNA26081-2/+2
2022-04-23common-updater-scripts/list-git-tags: prefer src.meta.homepageKira Bruneau1-1/+1
2022-02-21httpTwoLevelsUpdater: initJosé Romildo1-8/+14
2022-02-21gitUpdater: initJosé Romildo2-24/+58
- Add the 'gitUpdater' helper function to update git based packages, using the 'genericUpdater' function. - Rework argument passing to the `list-git-tags' and 'list-archive-two-level-versions' scripts. - Replace 'genericUpdater' plus 'list-git-tags' by 'gitUpdater'
2021-12-31common-updater-scripts: Silence outPath checkJan Tojnar1-1/+1
It is expected to fail in repos not using flakes-compat (like Nixpkgs).
2021-12-31common-updater-scripts: allow using different src attributeJan Tojnar1-11/+19
Useful for packages with multiple sources.
2021-10-03common-updater-scripts/update-source-version: Fix on Nix 2.4Samuel Gräfenstein1-2/+6
2021-10-01common-updater-scripts/*: /bin/sh -> /usr/bin/env bashSamuel Gräfenstein2-2/+2
2021-09-29common-updater-scripts/list-git-tags: don't print commandsSamuel Gräfenstein1-1/+1
2021-04-24common-updater-scripts: Support attribute lookup in flakeJan Tojnar1-0/+21
In flakes, packages are not exposed directly but instead they are declared inside “packages” or “legacyPackages” output under their host platform. flake-compat reflects this. Let’s look for an attribute also in these outputs if the direct lookup fails.
2021-04-24common-updater-scripts: Replace flake source by local pathJan Tojnar1-0/+8
When update-source-version is run in a repo with flake-compat, it would find the files in Nix store. Let’s replace them with the local path of the repository.
2021-04-24common-updater-scripts: handle default.nix without argumentsJan Tojnar1-3/+6
So that the script can be used outside of nixpkgs. For example, the default.nix recommended by flake-compat does not take arguments.
2021-04-24common-updater-scripts: remove lib dependencyJan Tojnar1-4/+3
So that the script can be used outside of nixpkgs.
2021-01-09pkgs.common-updater-scripts: update-source-version name singularMatej Urbas1-1/+1
2020-11-25scripts/mark-broken: fix pathSandro Jäckel1-1/+1
2020-11-21common-updater-scripts: add --rev to update-source-versionFrancesco Gazzetta1-1/+20
Adds a --rev=<revision> parameter to the script that makes it possible to explicitly specify a new revision. Useful to update unstable packages, where the version and revision may be independent.
2020-10-30scripts/mark-broken: improveJonathan Ringer1-66/+86
This improves on the previous verison of this script. Previously it only accepted one attr, and required explicit passing of the "broken" value. This script is meant to be used to mark failing hydra builds as broken in the meta attrs To use the script, you should pass the list of failing attrs as arguments to the script. Example: `cat failing-attrs | xargs ./pkgs/common-update/scripts/mark-broken` Generating a list of failing attrs: (this should be improved at a later date) - Go to the most recent hydra evaluation with all builds completed - Select the "builds still failing" tab - Highlight and select all packages, should be prefixed with `nixpkgs.` - Use regex and editor foo to leave only the attr names - Use the above example command to then execute the script OTHER NOTES: - The `denyFileList` and `denyAttrList` will likely need to be updated slightly to align with the conventions used in nixpkgs at execution time - Any attrs which failed for any reason will be written to `failed-marks.txt`. Those attrs will likely need manual attention as disablement will likely be conditional.
2020-09-19common-updater-scripts: add --print-changes flagJan Tojnar1-1/+11
Printing the changed file and new version can be used to commit the changes to git.
2020-04-16common-updater-scripts: add mark-broken scriptMilan Pässler1-0/+86
2020-04-15common-updater-scripts: add scripts to help update packagesJosé Romildo Malaquias2-0/+67
- updateScript: A nix expression that can be used in passThrough to update a package - list-git-tags: A shell script to list available tags in a git repository - list-archive-two-level-versions: A shell script to list available versions in a web site in two levels: there is a page listing the available major.minor versions, and for each of them there is another page listings the patch level versions major.minor.patch. It is suitable for Xfce packages for instance. How the updater works: 1. collect the available versions from the source repository (using a script given as argument) 2. print the collected versions (for debugging) 3. (optionally) apply some transformation to the collected versions to make them compatible with the versions used in nixpkgs (for instance, tags in the Xfce git repository may be prefixed with the package name, and the prefix need to be removed) 4. sort the available versions in decreasing order 5. choose the first version that pass validation: - check if the version may be a development version - if the version IS unstable, skip it and give a warning about skipping a development version (for debugging) - if the version COULD BE unstable, take it and give a warning about taking a potential development version (for debugging) - if the version IS stable, take it 6. update the package version and checksum in its nix expression 7. print the git commands for adding the modified files and for committing the changes
2020-02-20common-updater-scripts: Fix replacing SRI hashesJan Tojnar1-2/+6
SRI hashes (base64 encoded) can contain + sign which is a special character in extended regular expressions so it needs to be escaped.
2020-02-20common-updater-scripts: Handle errors in src hashingJan Tojnar1-5/+5
Previously, when downloading src failed for other reason than hash mismatch, the error ended up in newHash. This made evaluation fail since the error message is not valid hash. Now the failure will make newHash empty. It is also much cleaner than previously since \K is very cool thing and we no longer grep for legacy messages.
2020-02-04common-updater-scripts: move destructive changes further in the scriptJan Tojnar1-15/+15
We can check some things before the modifications take place.
2020-02-04common-updater-scripts: clean upJan Tojnar1-19/+19
Fix issues reported by shellcheck and few other style issues. Though we need to ignore $systemArg complaints because Nix does not support passing --system as a single argument.
2020-02-04common-updater-scripts: Support SRI-style hashJan Tojnar1-0/+23
Some fetcher functions support SRI-style `hash` attribute in addition to legacy type-specific attributes. When `hash` is used `outputHashAlgo` is null so let’s complain when SRI-style hash value was not detected. Such attributes match the form ${type}${separator}${hash}: True SRI uses dash as a separator and only supports base64, whereas Nix’s SRI-style format uses a colon and supports all the same encodings like regular hashes (16/32/64). To keep this program reasonably simple, we will upgrade Nix’s SRI-like format to pure SRI instead of preserving it.
2020-02-04common-updater-scripts: mention --ignore-same-hash in usageJan Tojnar1-0/+1
2019-11-26common-updater-scripts: Fix breakagetalyz1-1/+1
Fixes a bug introduced by 9b090ccbca3f7dd26d91db06e96e8bf8282c37ca where the script fails to run if $attr.${versionKey} exists.
2019-11-24treewide: Get rid of most `parseDrvName` without breaking compatJohn Ericson1-2/+2
That is because this commit should be merged to both master and release-19.09.
2019-06-02common-updater-scripts: simplify fetchgit fixJan Tojnar1-6/+2
No need to try evaluate the URL twice as introduced in the original fix https://github.com/NixOS/nixpkgs/commit/cce486838b6c52dedfec1c93f60ebadb72c48431
2019-06-02common-updater-scripts: keep the unescaped oldVersionJan Tojnar1-7/+7
Previously, we escaped the old version in place for use in sed commands, and then had to use that in error messages. We can do better.
2019-05-06common-updater: Fix syntaxTim Steinbach1-1/+1
Missing space before closing ] in if statement caused syntax errors
2019-05-03common-updater-scripts: fix fallback version detectionJan Tojnar1-1/+1
parseDrvName returns a set containing version attribute, not our customizable key.
2019-04-06update-source-version: Fixes, add --ignore-same-hashTim Steinbach1-3/+10
--ignore-same-hash allows ignoring if the same has is used. This gives the ability to run update-source-version multiple times to change multiple keys. Fix version-key, which was not being used to determine the oldVersion variable. If $attr.src.drvAttrs.urls is not found, look for $attr.src.drvAttrs.url since it is being used like that in fetchgit
2019-03-02common-updater-scripts: Add file and system flagsJan Tojnar1-17/+67
You can now optionally invoke update-source-versions with: * --system flag changing the host platform, to be passed dirrectly to Nix commands. This is useful for binary packages which have different sources for each platform. * --file flag allowing to change the file to be modified. This is useful for packages that offer multiple variants, listed in a different file than the derivation itself; e.g. packages.nix of Sublime Text 3. * --version-key, which is now a keyword flag instead of a positional argument.