Urpm-reposync
urpm-reposync is the tool for synchronization of locally installed package set and the remote repository.
It's under development now. You can take part in urpm-reposync testing.
Help Reposync Testing
You need a virtual machine with some version of Mandriva or ROSA on-board. Do not forget to create a snapshot.
You can download the attachment and do the following:
1) install package pyhton-rpm (sudo urpmi python-rpm)
2) Setup correct mirrors (you can try other repositories. It would be a great experience too):
sudo urpmi.addmedia --distrib http://mirror.yandex.ru/rosa/rosa2012lts/repository/i586
And in case of 64 bit system:
sudo urpmi.addmedia --distrib http://mirror.yandex.ru/rosa/rosa2012lts/repository/i586
(64bit system has some packages installed from i586, so you need i586 repository too)
3) Now configure your media sources and enable all the media (maybe except contrib).
4) Run sudo ./urpm-reposync.py -av | tee /tmp/log_something-to-something
If some errors occurred, and send me the report (/tmp/log_something-to-something).
Please, report me about every problem and about every successful run.
If you have some feature requests - you are welcome, send it to me directly (anton.kirilenko@rosalab.ru)
New Features
- Trying not to remove packages, even if they are not in repository. But if this package prevents some other package from being upgraded/downgraded - it will be removed. Option "--remove" (or "-r") will remove all the packages which do not present in repository.
- Option "--detailed" will show some useful information: why the package should be removed (it requires something that will not be installed, it conflicts with something or something conflicts with it) or why the package should be installed (what package requires it).
- Option "--printonly" (ot "-p") will print one-line list of actions to be done and exit. Every line starts with the letter of action (Upgrade, Downgrade, Remove, Uppend, Save). It's useful for machine processing or to grep this list.
- Option "--download" (or "-d") will calculate all the actions to be done and download the packages, then exit.
- Option "--check" (or "-c") will download packages, generate transaction and check it with rpm, then exit.
- Option "--nokernel" (or "-k") will prevent reposync from dealing with kernels.
- Option "--runselftests" will run tests. There is not so mach to test, so there is small number of tests.
- Support of providing dependencies with version with ">" and "<". Some packages provide something like "depname[< 1.0]"
Planned Features
- Special mode to repair the system packages (try to fix missed dependencies, remove the older version of packages with multiple versions installed and so on)
Known Bugs
- There is a total amount of data to be downloaded in summary, but it is incorrect (about 2-3 times greater than real). The size comes from synthesis file (@filesize@ field), but it's incorrect there.
The newest version can be found here: [1]