{"id":41591472,"url":"https://github.com/opensciencegrid/tools","last_synced_at":"2026-01-24T09:31:42.544Z","repository":{"id":44916754,"uuid":"55262967","full_name":"opensciencegrid/tools","owner":"opensciencegrid","description":"A grabbag of tools used by the OSG Software and Release teams","archived":false,"fork":false,"pushed_at":"2025-11-04T22:51:09.000Z","size":305,"stargazers_count":0,"open_issues_count":2,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-11-05T00:19:05.402Z","etag":null,"topics":["software"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opensciencegrid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-04-01T21:18:28.000Z","updated_at":"2025-11-04T22:51:13.000Z","dependencies_parsed_at":"2024-07-29T21:14:35.328Z","dependency_job_id":"85a6a1f2-9c0e-4854-8c8d-42e71d06cdc4","html_url":"https://github.com/opensciencegrid/tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opensciencegrid/tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensciencegrid%2Ftools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensciencegrid%2Ftools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensciencegrid%2Ftools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensciencegrid%2Ftools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensciencegrid","download_url":"https://codeload.github.com/opensciencegrid/tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensciencegrid%2Ftools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28723233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["software"],"created_at":"2026-01-24T09:31:41.841Z","updated_at":"2026-01-24T09:31:42.539Z","avatar_url":"https://github.com/opensciencegrid.png","language":"Python","readme":"# OSG Software and Release Tools\n\nThis repository contains miscellaneous scripts used primarily by the\nOSG Software and Release teams.\n\nMaintainer note:\nBecause UW CS cron jobs use some of these scripts, there is a clone of\nthis repo located at `/p/condor/workspaces/vdt/tools` on UW AFS.  After\nmerging or making changes to the \"master\" branch, don't forget to do\n\n```\ncd /p/condor/workspaces/vdt/tools \u0026\u0026 git pull\n```\n\nso the cron jobs get the updated scripts.\n\n---\n\n## Notes on individual tools\n - [`list-rpm-versions`](#list-rpm-versions)\n\n---\n\n### `list-rpm-versions`\n\nThis script is for listing rpm versions installed in an osg-test job output\nor summarizing across an entire VMU run on osghost.  A copy is installed\nthere under `/usr/local/bin`.\n\nBelow are some use cases for reference / appetite whetting.\n\n**TL;DR:** The most common use case will probably be the one at the end with `--summarize` and `--list-outputs` (`-sl` for short) run against the timestamp for a VMU run dir.\n\n---\n\nUsage \u0026 Options summary:\n```\n[edquist@osghost ~]\n$ list-rpm-versions --help\n\nUsage:\n  list-rpm-versions [options] output-001 [packages...]\n  list-rpm-versions [options] [--summarize] [run-]20161220-1618 packages...\n  list-rpm-versions [options] VMU-RESULTS-URL packages...\n\nList version-release numbers for RPMs installed in an osg-test run output\ndirectory, as found in output-NNN/output/osg-test-*.log\n\nThe output argument can also be a root.log from a koji/mock build,\nor the raw output of an 'rpm -qa' command, or an osg-profile.txt from\nosg-system-profiler.\n\nIf any packages are specified, limit the results to just those packages.\n\nPatterns can be specified for package names with the '%' character, which\nmatches like '*' in a shell glob pattern.\n\nIf a run directory (or, just the timstamp string) is specified, summary\ninformation will be printed for the listed packages across all output-NNN\nsubdirectories for that set of osg test runs.\n\nIf a VMU-RESULTS-URL is provided, the corresponding run dir will be used.\nEg: \"http://vdt.cs.wisc.edu/tests/20180604-1516/005/osg-test-20180604.log\"\nfor an individual output job (005),\nor: \"http://vdt.cs.wisc.edu/tests/20180604-1516/packages.html\"\nfor a summary of all jobs for the run.\n\nOptions:\n  -A, --no-strip-arch  don't attempt to strip .arch from package names\n  -D, --no-strip-dist  don't attempt to strip .dist tag from package releases\n\n  -s, --summarize      summarize results for all output subdirs\n                       (this option is implied if the argument specified is of\n                       the format [run-]YYYYMMDD-HHMM)\n  -l, --list-outputs   list output numbers (summarize mode only)\n  -L, --max-outputs N  list at most N output numbers per NVR (-1 for unlimited)\n```\n\n\nExample run on a single `output-NNN` dir for all packages:\n```\n[edquist@osghost /osgtest/runs/run-20161221-0423]\n$ list-rpm-versions output-123 \n\nPackage                         output-123\n-------                         ----------\nCGSI-gSOAP                      1.3.10-1\nGConf2                          3.2.6-8\napache-commons-cli              1.2-13\napache-commons-codec            1.8-7\napache-commons-collections      3.2.1-22\napache-commons-discovery        2:0.5-9\napache-commons-io               1:2.4-12\napache-commons-lang             2.6-15\napache-commons-logging          1.1.2-7\napr                             1.4.8-3\napr-util                        1.5.2-6\natk                             2.14.0-1\naudit-libs-python               2.4.1-5\navalon-framework                4.3-10\n...\n```\n\n\nExample run on a single `output-NNN` dir for two packages:\n```\n[edquist@osghost /osgtest/runs/run-20161221-0423]\n$ list-rpm-versions output-123 condor java-1.7.0-openjdk\n\nPackage             output-123\n-------             ----------\ncondor              8.5.8-1.osgup\njava-1.7.0-openjdk  1:1.7.0.121-2.6.8.0\n```\n\n\nExample run in summary mode over all `output-NNN` subdirs for a run set:\n```\n[edquist@osghost ~]\n$ list-rpm-versions -s 20161221-0423 condor java-1.7.0-openjdk\n\nPackage             Version-Release      Count\n-------             ---------------      -----\ncondor              -                    5\ncondor              8.4.9-1              63\ncondor              8.4.10-1             105\ncondor              8.5.7-1.osgup        42\ncondor              8.5.8-1.osgup        79\n\njava-1.7.0-openjdk  -                    5\njava-1.7.0-openjdk  1:1.7.0.121-2.6.8.0  121\njava-1.7.0-openjdk  1:1.7.0.121-2.6.8.1  168\n```\n\n\nSame thing, but list the output dir numbers also:\n```\n[edquist@osghost ~]\n$ list-rpm-versions -sl 20161221-0423 condor java-1.7.0-openjdk\n\nPackage             Version-Release      Count  Output-Nums\n-------             ---------------      -----  -----------\ncondor              -                    5      075,078,080,082,083\ncondor              8.4.9-1              63     000,001,002,003,004,005,006,...\ncondor              8.4.10-1             105    007,008,009,010,011,012,013,...\ncondor              8.5.7-1.osgup        42     021,022,023,024,025,026,027,...\ncondor              8.5.8-1.osgup        79     028,029,030,031,032,033,034,...\n\njava-1.7.0-openjdk  -                    5      075,078,080,082,083\njava-1.7.0-openjdk  1:1.7.0.121-2.6.8.0  121    000,001,002,003,004,005,006,...\njava-1.7.0-openjdk  1:1.7.0.121-2.6.8.1  168    126,127,128,129,130,131,132,...\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensciencegrid%2Ftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensciencegrid%2Ftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensciencegrid%2Ftools/lists"}