[arch-general] Modify installed package version
Hey guys is there a way to modify an installed package's version using pacman, instead of upgrading the package. That is, only change the version in the database, but don't actually upgrade a package. Alternatively can I rename the package directory inside /var/lib/pacman/local/ and %VERSION% string inside the desc file to achieve the same?
On 10/22/2012 11:05 PM, gt wrote:
Hey guys
is there a way to modify an installed package's version using pacman, instead of upgrading the package. That is, only change the version in the database, but don't actually upgrade a package.
Alternatively can I rename the package directory inside /var/lib/pacman/local/ and %VERSION% string inside the desc file to achieve the same?
Yeah, in fact some times for a quick fix I don't even bother with the directory name, the desc file is enough.
[2012-10-23 10:35:56 +0530] gt:
Alternatively can I rename the package directory inside /var/lib/pacman/local/ and %VERSION% string inside the desc file to achieve the same?
Sure you can. But what exactly are you trying to achieve? Avoid upgrading a specific package? The IgnorePkg option of pacman.conf can make that happen in a much more robust way. -- Gaetan
On Tue, Oct 23, 2012 at 05:16:30PM +1100, Gaetan Bisson wrote:
[2012-10-23 10:35:56 +0530] gt:
Alternatively can I rename the package directory inside /var/lib/pacman/local/ and %VERSION% string inside the desc file to achieve the same?
Sure you can.
But what exactly are you trying to achieve? Avoid upgrading a specific package? The IgnorePkg option of pacman.conf can make that happen in a much more robust way.
Actually, it is related to IgnorePkg. I have a few packages locally compiled, for example mutt. I have stripped all unnecessary options from mutt, and added it to IgnorePkg. Now when an upgrade is available, i see the changes and decide whether to upgrade or not. In case of mutt, the last two upgrades had added patches which i didn't need. So i just changed the version in PKGBUILD to correspond to the arch repos. Now instead of compiling everytime due to an unnecessary version bump, i thought there must be a way to just change the version in the database, hence the question. Thanks to you and Matthew for the answers.
On Tue, Oct 23, 2012 at 05:16:30PM +1100, Gaetan Bisson wrote:
[2012-10-23 10:35:56 +0530] gt:
Alternatively can I rename the package directory inside /var/lib/pacman/local/ and %VERSION% string inside the desc file to achieve the same?
Sure you can.
But what exactly are you trying to achieve? Avoid upgrading a specific package? The IgnorePkg option of pacman.conf can make that happen in a much more robust way.
Actually, it is related to IgnorePkg.
I have a few packages locally compiled, for example mutt. I have stripped all unnecessary options from mutt, and added it to IgnorePkg. Now when an upgrade is available, i see the changes and decide whether to upgrade or not. In case of mutt, the last two upgrades had added
need. So i just changed the version in PKGBUILD to correspond to the arch repos.
Now instead of compiling everytime due to an unnecessary version bump, i thought there must be a way to just change the version in
gt wrote: patches which i didn't the database,
hence the question.
Thanks to you and Matthew for the answers.
IMO the best solution is creating a custom repository and putting it on the top of pacman.conf's repository list. No need to hack anything. Greg
On Tue 23/10/12, 12:14, gt wrote:
Actually, it is related to IgnorePkg.
I have a few packages locally compiled, for example mutt. I have stripped all unnecessary options from mutt, and added it to IgnorePkg. Now when an upgrade is available, i see the changes and decide whether to upgrade or not. In case of mutt, the last two upgrades had added patches which i didn't need. So i just changed the version in PKGBUILD to correspond to the arch repos.
Perhaps you can create a local repo with repo-add and list it in pacman.conf before the official ones. Giorgio
I have a few packages locally compiled, for example mutt. I have stripped all unnecessary options from mutt, and added it to IgnorePkg. Now when an upgrade is available, i see the changes and decide whether to upgrade or not. In case of mutt, the last two upgrades had added patches which i didn't need. So i just changed the version in PKGBUILD to correspond to the arch repos.
In your case, I believe it's easiest if you change the name of the package to "mutt-custom" or some-such. Optionally you could also add provides=(mutt) if there are some other packages that depend on mutt. -- дамјан
On Tue, Oct 23, 2012 at 01:08:28PM +0200, Giorgio Lando wrote:
On Tue 23/10/12, 12:14, gt wrote:
Actually, it is related to IgnorePkg.
I have a few packages locally compiled, for example mutt. I have stripped all unnecessary options from mutt, and added it to IgnorePkg. Now when an upgrade is available, i see the changes and decide whether to upgrade or not. In case of mutt, the last two upgrades had added patches which i didn't need. So i just changed the version in PKGBUILD to correspond to the arch repos.
Perhaps you can create a local repo with repo-add and list it in pacman.conf before the official ones.
That's a nice idea, though the packages i modify are usually less than 5, so i am fine with the current methodology. I'll keep it in mind for the future. On Tue, Oct 23, 2012 at 01:40:19PM +0200, Damjan wrote:
In your case, I believe it's easiest if you change the name of the package to "mutt-custom" or some-such. Optionally you could also add provides=(mutt) if there are some other packages that depend on mutt.
I can do that, but then i wouldn't be notified of upgrades by pacman.
participants (6)
-
Damjan
-
Gaetan Bisson
-
Giorgio Lando
-
Greg Bouzakis
-
gt
-
Matthew Monaco