[Slapt-get-devel] Re[2]: [Slapt-get-user] Filter location and meta package

Jason Woodward woodwardj at jaos.org
Mon Nov 8 14:09:46 EST 2004


Hi Kocil,

> Let's analyze the situation again.
> Between flavours, standard and soho, almost all packages are the same,
> except one or two specific packages.
> VL 5.0 standard, for example, has unique packages, e.g:
> - vldoc-5.0-noarch-vl5.tgz  (documentation)
> - vlart-5.0-noarch-vl5.tgz    (wallpaper etc)
> 
> Then VL 5.0 soho has these packages:
> - vldoc-soho-5.0-noarch-vl5.tgz
> - vlart-soho-5.0-noarch-vl5.tgz
> 
> When upgrading from VL STANDARD to VL SOHO,
> we want to remove vldoc-5.0 and vlart-5.0, replace it with the soho version.
> 
> How is the best way to accomplish it ? I'm thinking of two possible 
> solutions:
> 
> 1. Using conflicts
> Make two meta packages:
> a. vector-5.0_standard-noarch-vl5.tgz
>    required: vldoc-5.0-noarch-vl5.tgz, vlart-5.0-noarch-vl5.tgz
>    conflicts: vldoc-soho-5.0-noarch-vl5.tgz, vlart-soho-5.0-noarch-vl5.tgz
> 
> b. vector-5.0_soho-noarch-vl5.tgz
>    required: vldoc-soho-5.0-noarch-vl5.tgz, vlart-soho-5.0-noarch-vl5.tgz
>    conflicts: vldoc-5.0-noarch-vl5.tgz, vlart-5.0-noarch-vl5.tgz
> 
> I hope, when upgrading from standard to soho, the conflicts packages will be 
> removed.
> It won't ? Oh dear.

I just committed code to cvs to rectify this (0.9.9d forthcoming).  Just as in apt-get, if you
--install a package, it will now prompt to remove the conflicting packages.   

For example, cups and lprng conflict.  You have lprng installed, you --install cups it will
prompt to remove lprng.  If you have cups and lprng installed, and use slapt-get that has both
defined as conflicting, it will prompt to remove the package not requested by the command line.
 This does not apply to --upgrade and --dist-upgrade.  To be even clearer concerning upgrades,
if you specify --install cups it will upgrade cups if cups is installed and a newer version is
available, also removing conflicts since it was requested specifically.

To test this you can edit /var/slapt-get/package_data and setup the CONFLICTS line from both
packages.


> 2. Using same package names, different version:
> In this case, I have to rename the packages as follow:
> vldoc-soho-5.0-noarch-vl5.tgz ==> vldoc-5.0_soho-noarch-vl5.tgz
> vlart-soho-5.0-noarch-vl5.tgz ==> vlart-5.0_soho-noarch-vl5.tgz
> 
> Then the flavours meta packages became:
> a. vector-5.0_standard-noarch-vl5.tgz
>    required: vldoc-5.0-noarch-vl5.tgz, vlart-5.0-noarch-vl5.tgz
> 
> b. vector-5.0_soho-noarch-vl5.tgz
>    required: vldoc-5.0_soho-noarch-vl5.tgz, vlart-5.0_soho-noarch-vl5.tgz
> 
> So when installing, the vldoc and vlart will be upgraded too.
> 
> Which solution do you think will work better ?

I like the first option much better.   Changing the package names that like is very unorthodox
and likely to create exceptions and corner cases and result in unexpected behavior.

> > > 3. How to choose vl packages over slack packages ?
> >Most of all the unofficial slack packages available follow a convention of 
> >putting the
> >builder's tag after the build number.  So slapt-get has been designed to 
> >work with this.  If
> >you put vl after the 5 in your example, you will get the expected results.
> 
> Duh ... that is possible but ... not so elegant.
> May I ask a feature request ?
> Just add on option on slapt-getrc, for example:
> 
> PREFERED_RELEASE="REGULAR_EXPRESSION_HERE"  # can be [0-9], vl?, or else
> 
> Please, please ?.

How is this not so elegant?  It is the standard convention everyone else follows.

I don't want to introduce more configuration options, especially for broken naming conventions.

> >
> > > More difficult, Slackware has a problem with cdrtools, so we downgraded 
> >it.
> > > Slapt-get always wants to replace the right package like this:
> > >
> > > cdrtools-2.01-i486-1.tgz over cdrtools.1.10-i586-vl5.tgz
> > >
> > > That should not happen, since the older is BETTER.
> >
> >In this case, you can add cdrtools to the excludes list, cdrtools$ then 
> >rename your cdrtools to
> >cdrtools-stable-1.10-i585-5vl.tgz.  You can also use slack-conflicts to 
> >specify cdrtools as conflicting.
> 
> Hmmm, I choose the second solution.
> I just need to put the conflicting in one file,
> for example on the distro flavour meta package :
> vector-5.0_standard-noarch-vl5.tgz
>     conflicts: cdrtools-2.01-i486-1.tgz
> 
> Is that right ?

cdrtools >= 2.01-i486-1

> > > let's prove the capability of slapt-get with fully supportive FTP site.
> >
> >Hey, linuxpackages.net was the first! =]
> 
> Really ?
> So why do you not recomend them on the README ? ;-)

I do believe they are mentioned twice in the README, at least twice in the FAQ, and have a
prominent place in the example.slapt-getc file.


take care,
jason

--
Jason Woodward
woodwardj at jaos.org

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
 
mQGiBDrwHPoRBAC3nDJRLKTcFcJWid9PN08ChMI7tuQevomWoVeZpZZ0zzip2w/E
ts55Mx58eRRGFFmgZZGeP7EhyUPzb668LIsU62gFO7G5/oWCr3U3g3peabZsqRC9
FchdiM8DJqQu/7ryAjbQ4OFCSW+jAsMC3tKXrdaB48WiipiXUcKR/sONGwCgzGPf
yxDgOc7n9xWVH0qbUDC/vZsEAKvbckkhpe9/x2A4E15l6DUbliEmboeHiT9NJaok
vLo3ElSO1o6ld5+VhFIkhRmmovrS8oyttZNv8HjMEYf6L3NdZybTHfcdS5EIpguH
Xx2/IGzJKbgX3vM/qhJ0+F1LPuN20mOT0NO/29AXJn3V7rTKoKf/uOOKD+Eqh4r1
QVMoBAC3ZPF3idmuW3j4tqhOaWe2qHlLwEClwdsTG+KOsVYh1sU4RvyMErDIU6r/
MomkLAJfbtBTXKcknW68Y4Uv4B+UkyopklktRBFiMBffoHLUfkkQk/L9Yg1YG27N
COsECiamylF8hNSTcNIQqYXDpyoRcSi2p7gqkxJZrk7GwrX2ObQjSmFzb24gV29v
ZHdhcmQgPHdvb2R3YXJkakBqYW9zLm9yZz6IVwQTEQIAFwUCOvAc+gULBwoDBAMV
AwIDFgIBAheAAAoJEGu22odUp/oeN2IAoKHS+qH8AenlOTKL0Ifl3q1QSlDBAKDL
bvvgl7HoRTHY2b9n3pEPr+KIh7kBDQQ68Bz9EAQA2Ds/2VKc08qaNIkA1okxITmQ
aaNjUrm/au9jNzm9lyEFXWXBNegzP5Y4A1ESDKUt5RETgVhNKd9mGkP7tgPTs3f6
Z595K6W7xeZWONKbl578RbWwE1CiMqEOuXwr1/q0DzfwmNQLcqDcX3o0DEpWE+uZ
G+5CtpkXYiDmccigDKMAAwUD/iZDxEr1HC4iLnGXUCDpxXEtp7Fx150baFzZITns
4hpKRAbTR65s2tL8rh5d8ThDgqW5C9JQja9fMxI2u7zlyM2ALFXJP1xwgZTSOYvn
sq+x41i5tJpce+pDmMEl8X0wew2Z5ZRPfDLv64kKPIGNgVXsAHirH2KjChZat4VC
qkZciEYEGBECAAYFAjrwHP0ACgkQa7bah1Sn+h7qkQCePz0ds5O/dsZrm450pjLs
2V3BkMAAn2/6alBBC9b9F94svdOf0mGY/G5w
=4p8c
-----END PGP PUBLIC KEY BLOCK-----

my($c, at s)=(0,qw( | / - \ ));$|++;my$p;&{sub{map{$p.=chr$_}
unpack(join('a',('',split(//,$_->[1]))),$_->[0]);}}foreach
[qw/74117115116 2333/],[qw/65110111116104101114 2333333/],
[qw/80101114108 2333/],[qw/729799107101114 222333/];{my$z=
$c<4?$s[$c++]:$s [$c=0];printf"\ec%s%s%s",$z,$p,$z,select*
STDOUT,*STDOUT,*STDOUT,0.1,;redo;}##########JAPH##########



More information about the Slapt-get-devel mailing list