Difference between revisions of "Urpm-reposync"

From Rosalab Wiki
Jump to: navigation, search
(New Features)
(New Features)
Line 53: Line 53:
  
 
* Support of providing dependencies with version with ">" and "<". Some packages provide something like "depname[< 1.0]"
 
* Support of providing dependencies with version with ">" and "<". Some packages provide something like "depname[< 1.0]"
 +
 +
* Warning about missed media. If there are libraries in your system which are not in repository, but the other architecture presents, reposync will warn you about it.
  
 
=== Planned Features ===
 
=== Planned Features ===

Revision as of 16:30, 17 May 2012

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).

For example, there can be a line like "U poppler 0.16.7-1(mdv2011.0) 0.16.7-2(rosa.lts2012.0) x86_64"

  • 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]"
  • Warning about missed media. If there are libraries in your system which are not in repository, but the other architecture presents, reposync will warn you about it.

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]