tl;dr: This answers only the download/extract on Windows, not dependency management. Add repodata/repomd.xml
to the repository's base url and then examine repomd.xml
to locate and download its primary.xml
file which lists the urls to download desired .rpm
file(s). The script rpm2cpio.sh
can extract the (compressed) cpio
archive which cpio -id
can then copy into the filesystem.
First, find the base url for the repository; e.g.
https://brave-browser-rpm-beta.s3.brave.com/x86_64/
Add repodata/repomd.xml
to find the repository metadata; e.g.
https://brave-browser-rpm-beta.s3.brave.com/x86_64/repodata/repomd.xml
Examine repomd.xml
to find the repository's primary.xml
file; e.g. repodata/2635976bb02dab08a696dbaad778feea3f3351a3238fb6f77af52c651dd931cd-primary.xml.gz
Download primary.xml
for the repository; e.g.
curl --output primary.xml.gz https://brave-browser-rpm-beta.s3.brave.com/x86_64/repodata/2635976bb02dab08a696dbaad778feea3f3351a3238fb6f77af52c651dd931cd-primary.xml.gz
gunzip primary.xml.gz
or use another download tool. Uncompress the file if it's compressed.
Examine primary.xml
to locate the the desired .rpm
archive.
grep location primary.xml
or perhaps
findstr "location" primary.xml
Download the desired .rpm
file(s); e.g.
curl -O https://brave-browser-rpm-beta.s3.brave.com/x86_64/brave-browser-beta-0.67.99-1.x86_64.rpm
To unpack the contents from the .rpm
file, here are some suggested utilities. Install Cygwin to run the rpm2cpio.sh
script which extracts the cpio
archive (probably compressed) from the .rpm
file. (Use Cygwin's setup-x86_64.exe
to install any script dependencies if necessary). Example:
rpm2cpio.sh brave-browser-beta-0.67.99-1.x86_64.rpm > payload
Install cpio
and gunzip
, xz
, or bunzip
using Cygwin's setup-x86_64.exe
depending on how the cpio
archive is packed. Figure out the format of the payload:
file payload
Now uncompress and then extract the cpio
archive (An XZ compressed cpio archive in this example):
xz -d payload
cpio -id payload
Edit: alien is a much more versatile package format converter than rpm2cpio.sh. It's written in Perl. Also note that while this handles downloading and extracting RPMs on Windows (with Cygwin), it doesn't handle dependency management.