rpmdownloader

Utilities

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
5 .0
Description:

RpmDownloader is a small application which can mirror a subset of RPMs from a specified repository. But it is more than a simple mirror tool it helps you finding the RPM, can resolve dependencies (only for the selected repository and only yum repositories), informs you if a newer version is available and then downloads only the updated/missing packages.

Why this tool?

I've developed this tool for two reasons: I sometimes build RPMs for openSuSE (especially zoneminder) and for that I need a subset of RPMs from the packman repository, which contents changes very frequently. I want to get informed if a newer version is available and only download the changed RPMs. Second reason was that I wanted to play a bit around with Qt :)

Who might find this tool interesting?
Maybe you want to do something similar then you might want to try this application. Another possibility is that you want to download packages to make them available offline, this tool can then resolve the dependencies (only for the selected repository) and adds all packages which are needed from the repository to install the package.


Short user instruction:

It is designed to handle multiple architectures and different repositories but the download location must be different for each of the repositories. Copy and paste is supported: you can paste a space separated list of RPMs, copy selected RPMs to another profile or duplicate a complete repository profile. By pressing "del" key or the remove button you delete the current selected items in the currently highlighted table.

Completion of the RPM names is supported when the initial list of RPMs is downloaded from the remote repository which should happen at the application start. The automatic status update (in background) is performed at startup too it is not required to use the desired button. But when you just added or changed a repository profile you can use this button to avoid the waiting for the next update cycle.

The legend for the displayed symbols can be found in the help menu.

The rest should be (hopefully) intuitive enough :)

Available languages are English and German.
Last changelog:

9 years ago

Changelog for version 0.11.3:
- updated handling newer yum repository format.
* primary file can include the hash in the file name.
* using different hash algorithms depending on the package / repository meta informations. (shasum is now required).
- fixed some wrong translations.

Changelog for version 0.11.2:
- added better checking of database versions so that an update takes place automatic
- added index for faster database lookups which makes resolving dependencies faster when not using cache
- fixed resolving dependencies without cache
- added possibility to clean up orphaned packages (with deletion of local version and from package selection)
- fixed translation issue in package details view
- fixed background thread issue which blocks the GUI while updating the repository contents in background.


Changelog for version 0.11.1:
- fixed building cache which was broken. For this I reverted the extended inserts.
- using location tag for yum repositories. This lets the repository specify the location where the RPMs are stored and therefore allows downloading from repositories with a slightly different directory structure.
- added action to clear cache directory. You can use this to enforce a complete refresh of all repositories or to clear the no more used files.
- added a better checking of the database structure which makes it easier to handle structure changes and recreates the database if necessary so that the user has not to delete the database by hand on changes.

Changelog for version 0.11.0:
- implemented complete redirect functionality in all modules for http
- also show size of download in the status bar.
- using extended inserts in database module for a faster insert.
- faster parsing of meta data from a repository by allowing to load the complete file into memory (optional in settings).
- overall download status bar now uses overall download size instead of overall number of packages.

Changelog for version 0.10.7:
- corrected some spelling errors
- checked source with a source code checker (krazy2) and corrected some related issues.
- fixed a bug that the overall status for the profile wasn't updated when a package was removed or deleted from disk.

Changelog for version 0.10.6:
Because the database scheme changed for this version you have to clear your cache folder after the update
- fixed crash when filter is applied and solving dependencies for the current selected RPM.
- fixed redirection: for the first package the redirection was not applied correctly so that this resulted in a corrupted package.
- feature: added check sum check after a package was downloaded so that it is sure that the downloaded package is not corrupted.

Changelog for version 0.10.5:
- fixed bug: the OK buttons in the profiles settings dialog was sometimes disabled for HTTP even for yum repositories (only for plain repositories it should be disabled).
- when downloading RPMs now redirects are followed (but not for fetching the repository contents). With this change it is possible to use rpmdownloader direct with repositories from the open suse build service and not only with the mirrors.
- now it is possible to change the tool bar button size.

Changelog for version 0.10.4:
- fixed bug: repository content change was no recognized correct for yum repositories.
- added the possibility to change the display style for the tool bar.

Changelog for version 0.10.3:
- removed empty unused space from layout
- added a short delay for the search field before the packet filter is applied

Changelog for version 0.10.2:
- fix a crash when trying to filter for packages and no profiles are available
- added a grey help text in the filter area when no filter text is set (like in Firefox the search bar).
- cursor is now busy while applying a filter.

Changelog for version 0.10.1:
- I found it most annoying that I could not filter for packages in the packages view. It was on the plan for the last release but I must have forgotten it so I added it now.
- State (positions) of the tool bars are now saved and restored.

Changelog for version 0.10.0:
- Speed improvements: The last version was very slow this is solved with this version by using hashes and QxmlStreamReader.
- Works now with official suse repositories (without solving dependencies): The focus of this app is not to solve the whole dependencies of a distribution but it should be possible to download a package from official (without dependencies) which was not possible because of different version numbers for different architectures. This issue is solved now but I had to disable http support for plain repositories because it was too slow to parse the directory index with regular expressions but FTP works perfect :)
- Using sqlite databases also plain repositories. This makes the handling more consistent compared to yum repositories.
A lot of small bugfixes which I encountered during testing.

Changelog for version 0.9.1
- bug fixed: when renaming a profile the cache directory was not renamed in the same way.
- bug fixed: when a content update was canceled due to loading a new file the program went into undefined behavior and a content update was not possible anymore.
- translation updated: fixed some German translation issues and the application now provides what's this tips for most important configuration parameters.
- usability: removed server address and server field instead a new url field is provided which simply allows copy and paste a complete url.

Be the first to comment

9 years ago

Changelog for version 0.11.3:
- updated handling newer yum repository format.
* primary file can include the hash in the file name.
* using different hash algorithms depending on the package / repository meta informations. (shasum is now required).
- fixed some wrong translations.

Changelog for version 0.11.2:
- added better checking of database versions so that an update takes place automatic
- added index for faster database lookups which makes resolving dependencies faster when not using cache
- fixed resolving dependencies without cache
- added possibility to clean up orphaned packages (with deletion of local version and from package selection)
- fixed translation issue in package details view
- fixed background thread issue which blocks the GUI while updating the repository contents in background.


Changelog for version 0.11.1:
- fixed building cache which was broken. For this I reverted the extended inserts.
- using location tag for yum repositories. This lets the repository specify the location where the RPMs are stored and therefore allows downloading from repositories with a slightly different directory structure.
- added action to clear cache directory. You can use this to enforce a complete refresh of all repositories or to clear the no more used files.
- added a better checking of the database structure which makes it easier to handle structure changes and recreates the database if necessary so that the user has not to delete the database by hand on changes.

Changelog for version 0.11.0:
- implemented complete redirect functionality in all modules for http
- also show size of download in the status bar.
- using extended inserts in database module for a faster insert.
- faster parsing of meta data from a repository by allowing to load the complete file into memory (optional in settings).
- overall download status bar now uses overall download size instead of overall number of packages.

Changelog for version 0.10.7:
- corrected some spelling errors
- checked source with a source code checker (krazy2) and corrected some related issues.
- fixed a bug that the overall status for the profile wasn't updated when a package was removed or deleted from disk.

Changelog for version 0.10.6:
Because the database scheme changed for this version you have to clear your cache folder after the update
- fixed crash when filter is applied and solving dependencies for the current selected RPM.
- fixed redirection: for the first package the redirection was not applied correctly so that this resulted in a corrupted package.
- feature: added check sum check after a package was downloaded so that it is sure that the downloaded package is not corrupted.

Changelog for version 0.10.5:
- fixed bug: the OK buttons in the profiles settings dialog was sometimes disabled for HTTP even for yum repositories (only for plain repositories it should be disabled).
- when downloading RPMs now redirects are followed (but not for fetching the repository contents). With this change it is possible to use rpmdownloader direct with repositories from the open suse build service and not only with the mirrors.
- now it is possible to change the tool bar button size.

Changelog for version 0.10.4:
- fixed bug: repository content change was no recognized correct for yum repositories.
- added the possibility to change the display style for the tool bar.

Changelog for version 0.10.3:
- removed empty unused space from layout
- added a short delay for the search field before the packet filter is applied

Changelog for version 0.10.2:
- fix a crash when trying to filter for packages and no profiles are available
- added a grey help text in the filter area when no filter text is set (like in Firefox the search bar).
- cursor is now busy while applying a filter.

Changelog for version 0.10.1:
- I found it most annoying that I could not filter for packages in the packages view. It was on the plan for the last release but I must have forgotten it so I added it now.
- State (positions) of the tool bars are now saved and restored.

Changelog for version 0.10.0:
- Speed improvements: The last version was very slow this is solved with this version by using hashes and QxmlStreamReader.
- Works now with official suse repositories (without solving dependencies): The focus of this app is not to solve the whole dependencies of a distribution but it should be possible to download a package from official (without dependencies) which was not possible because of different version numbers for different architectures. This issue is solved now but I had to disable http support for plain repositories because it was too slow to parse the directory index with regular expressions but FTP works perfect :)
- Using sqlite databases also plain repositories. This makes the handling more consistent compared to yum repositories.
A lot of small bugfixes which I encountered during testing.

Changelog for version 0.9.1
- bug fixed: when renaming a profile the cache directory was not renamed in the same way.
- bug fixed: when a content update was canceled due to loading a new file the program went into undefined behavior and a content update was not possible anymore.
- translation updated: fixed some German translation issues and the application now provides what's this tips for most important configuration parameters.
- usability: removed server address and server field instead a new url field is provided which simply allows copy and paste a complete url.

12345678910
product-maker Base: 4 x 5.0 Ratings
Be the first to comment
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.11.3
updated Mar 27 2011
added Oct 24 2008
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0
System Tags app software