[aur-general] masqmail 0.3 with no backward compatibility

Gary Wright wriggary at gmail.com
Tue Aug 10 18:47:25 EDT 2010


On Tue, Aug 10, 2010 at 11:00 AM, Matthias Matousek <m_matou at gmx.net> wrote:
> On Mon, Aug 09, 2010 at 02:14:55PM -0600, Gary Wright wrote:
>> On Mon, Aug 9, 2010 at 9:20 AM, Matthias Matousek <m_matou at gmx.net> wrote:
>> > On Fri, Aug 06, 2010 at 02:37:03PM +0200, Matthias Matousek wrote:
>> >> On Fri, Aug 06, 2010 at 07:12:21PM +0800, Ng Oon-Ee wrote:
>> >> > On Fri, 2010-08-06 at 11:10 +0200, Matthias Matousek wrote:
>> >> > > Hello,
>> >> > >
>> >> > > I am currently maintaining the masqmail package in aur. masqmail is a
>> >> > > small mail transfer agent. Last week a new version 0.3.0 was released
>> >> > > which has no compatibility to the 0.2 branch.
>> >> > > The masqmail developer recommends users who already use masqmail to
>> >> > > stick with the 0.2 branch and new users to take the 0.3 branch. To make
>> >> > > that possible there needs to be a package for each branch in the aur.
>> >> > > I'm not sure how I should handle that. I was thinking about creating a
>> >> > > second package "masqmail-0.3" in addition to the currently existing
>> >> > > package "masqmail". I wasn't able to find anything about such issues in
>> >> > > the packaging guidelines. Are there any suggestions how this should be
>> >> > > handled?
>> >> > >
>> >> > > Thanks,
>> >> > > matou
>> >> > >
>> >> > As I understand, convention is to rename the old branch to masqmail-0.2
>> >> > and update masqmail to 0.3. You could include a post-install file to
>> >> > inform users on updating that they may want to stick to masqmail-0.2
>> >> >
>> >> > Alternatively (and this may be better) is to delete masqmail and create
>> >> > masqmail-0.2 (which replaces it) and masqmail-0.3. This of course would
>> >> > be a bit more future-proof if upstream is going to make releases like
>> >> > this often.
>> >> >
>> >>
>> >> Thank you very much for the answer. I guess I will go for the second
>> >> option, then.
>> >
>> > I created masqmail-0.2 now and added a replaces=('masqmail'). But I was
>> > still able to install both packages. Does masqmail need to be deleted
>> > explicitely?
>> >
>>
>> well, it will replace masqmail-$PKGVER-$PKGREL.pkg.tar.gz if it is
>> installed on the system, but it won't replace
>> masqmail-0.2-$PKGVER-$PKGREL.pkg.tar.gz .   It will only complain
>> about the other version being installed if you put a
>> conflicts=('masqmail-0.2') in the -0.3 PKGBUILD. (and vice-versa in
>> the -0.2 PKGBUILD.)
>>
>> Hope that clears things up.
>>
>> G
>>
>> *note* $PKGVER and $PKGREL aren't strict expansions of the variable in
>> the current PKGBUILD, I'm just using them in place of the asterisk
>> glob to prevent confusion.
>
> I added a conflicts entry which makes it complain about other installed
> masqmail versions.
> But I still want to replace 'masqmail' with 'masqmail-0.2'. But pacman or
> yaourt does not try to replace masqmail.
>
Looks like I was wrong... usually happens when I open my mouth :P

After checking out the PKGBUILD page on ArchWiki [1], it would appear
that the replaces=() array is only used by pacman -Sy when it is
examining the repo.db files.   When working with the AUR, there are no
repo.db files to deal with, only a source tarballs that yaourt and
others conveniently download and process for you.

In short, makepkg and pacman -U (which is basically what yaourt does)
don't care what it says in the replaces=() array.  Best advice would
be to add masqmail (the old pkgname) into the conflicts() array of the
masqmail-0.2 PKGBUILD, and put a message up in the comments for
masqmail-0.2 advising users to remove the original masqmail package
before upgrading.


More information about the aur-general mailing list