FS#16132 - possibility to sync only a specified repository

Attached to Project: Pacman
Opened by Rogutės (rogutes) - Friday, 11 September 2009, 00:21 GMT
Last edited by Allan McRae (Allan) - Sunday, 04 December 2022, 07:20 GMT
Task Type Feature Request
Category General
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version 3.3.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 8
Private No

Details

Request
Network traffic could be reduced and some time could be saved if pacman would be able to sync only a specified (local) repository.

Explanation
With every update to my local repository, I have to run "pacman -Sy" for the changes to be picked up. Sometimes, when handling not so simple packages like pulseaudio, I rebuild the package multiple times in a row until I'm satisfied with the result, and every time I have to sync, thus syncing core, extra and community together with my local repo.

(this request might be somewhat related to FS#15561...)
This task depends upon

Closed by  Allan McRae (Allan)
Sunday, 04 December 2022, 07:20 GMT
Reason for closing:  Won't implement
Comment by Allan McRae (Allan) - Friday, 11 September 2009, 13:14 GMT
I also would make use of such a feature.
Comment by Dan McGee (toofishes) - Friday, 11 September 2009, 13:20 GMT
Not that it wouldn't be useful, but the use case is a bit funny to me- if it really is only one package why aren't you just using 'pacman -U'?

And there would be less network chatter, but realize that in just about all cases you are shooting off a HTTP request for the DB and getting back a '304 Not Modified', so there is very little actual content being transferred during a DB sync.
Comment by Allan McRae (Allan) - Friday, 11 September 2009, 13:33 GMT
My use case might be a bit extreme... I do big rebuilds for a library soname bump and make a repo to pull in newly built packages from when they are need as deps for other packages on the rebuild list.

Anyway, you are right about the low network use of checking the need to update the db so it would be a fairly minimal saving.
Comment by Allan McRae (Allan) - Friday, 11 September 2009, 13:34 GMT
Just had a thought... it would allow you to update the db for a local repo without network access
Comment by Rogutės (rogutes) - Friday, 11 September 2009, 14:04 GMT
I guess "pacman -U" would work as long as I didn't want to share my repository accross multiple hosts.

As for pacman syncing only modified repositories, I am not seeing it:
$ pacman -Sy;pacman -Sy
:: Synchronizing package databases...
core 33.7K 48.3K/s 00:00:01 [###############] 100%
extra 422.1K 107.4K/s 00:00:04 [###############] 100%
community 370.5K 103.7K/s 00:00:04 [###############] 100%
:: Synchronizing package databases...
core 33.7K 107.6K/s 00:00:00 [###############] 100%
extra 422.1K 163.9K/s 00:00:03 [###############] 100%
community 370.5K 181.6K/s 00:00:02 [###############] 100%
Comment by Gavin Bisesi (Daenyth) - Sunday, 13 September 2009, 23:36 GMT
I'd use this too.
Comment by Gavin Bisesi (Daenyth) - Tuesday, 15 September 2009, 00:24 GMT
I'd like the syntax of something like pacman -Sy core/. A package name should never (can't?) end in /, so it echoes the pacman -S repo/pkgname format.
Comment by Dan McGee (toofishes) - Tuesday, 15 September 2009, 00:34 GMT
Pick a different mirror, your choice seems to be quite broken.

dmcgee@galway ~/projects/pacman (master)
$ pacSy
Password:
:: Synchronizing package databases...
testing 11.6K 90.8K/s 00:00:00 [####################################################################################] 100%
core 33.7K 121.7K/s 00:00:00 [####################################################################################] 100%
extra 422.5K 194.5K/s 00:00:02 [####################################################################################] 100%
community 370.4K 217.5K/s 00:00:02 [####################################################################################] 100%

dmcgee@galway ~/projects/pacman (master)
$ time pacSy
:: Synchronizing package databases...
testing is up to date
core is up to date
extra is up to date
community is up to date

real 0m0.716s
user 0m0.007s
sys 0m0.003s

Loading...