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.
repodata/repomd.xml to find the repository metadata; e.g.
repomd.xml to find the repository's
primary.xml file; e.g.
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
or use another download tool. Uncompress the file if it's compressed.
primary.xml to locate the the desired
grep location primary.xml
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
bunzip using Cygwin's
setup-x86_64.exe depending on how the
cpio archive is packed. Figure out the format of the 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.