Hello,
One word about git tag format compliant with eups. Like K.T. previously
told us, git tag can be alphanumeric but they also MUST start with a
digit in order to be detected as version number by eups.
That's why xrootd tag "qs5" can't be recorded as a version number, we
have to prefix it with a digit. Daniel, could you provide me a digit
combination for qs5 please, maybe the xrootd origin version would be fine ?
Please have a look at eups/bin/pkgautoversion, l. 142 :
# Get pattern defining eligible tags
local TAG_PATTERN=${2:-'[0-9]*'}
# See if any annotated tags matching TAG_PATTERN point to $REF.
If yes,
# find the tag with the lowest version number (when versions are
# interpreted as dot-delimited tuples):
# get a list of annotated tags pointing to $REF
TAGS=( $(for tag in $(git tag -l "$TAG_PATTERN" --points-at
$REF); do [[ $(git cat-file -t $tag) == tag ]] && echo -n "$tag "; done)
and
fjammes@clrlsstwn02-vm:~/src/qserv-packager/dist/dependencies/libevent
(master) $ git tag
2.0.16-stable
fjammes@clrlsstwn02-vm:~/src/qserv-packager/dist/dependencies/libevent
(master) $ git tag -l "$TAG_PATTERN"
2.0.16-stable
fjammes@clrlsstwn02-vm:~/src/qserv-packager/dist/dependencies/xrootd
(master) $ git tag
qs5
fjammes@clrlsstwn02-vm:~/src/qserv-packager/dist/dependencies/xrootd
(master) $ git tag -l "$TAG_PATTERN"
fjammes@clrlsstwn02-vm:~/src/qserv-packager/dist/dependencies/xrootd
(master) $
Cheers,
Fabrice
On 02/07/2014 00:32, Kian-Tat Lim wrote:
> Daniel,
>
>> You said:
>>
>> "This all depends on how your distribution stack is setup and
>> tagged. You can choose to have any set of versions (that is mutually
>> compatible) in the distribution manifest."
>>
>> But in python/eups/distrib/eupspkg.py, I can't see how to manipulate
>> (and tag?) the distribution stack. There are some examples for
>> creating a particular package with a version number, with source
>> located <somewhere>, but it says nothing about dependencies, except
>> "If foo has any dependencies, EupsPkg packages will be created for
>> those as well." How does it know what versions of foo dependencies
>> are needed? I suppose it could introspect and see what versions are
>> "setup" or "current" at the time you ask it to "create". Does it do
>> this?
> I believe (but am not certain) that the dependency versions are
> either the ones recorded in the table file in the installed version of
> the package that you are creating a distribution for (i.e. the setup
> versions at the time you installed into the distribution stack) or the
> versions currently setup at "create" time. Mario would know this
> better.
>
> The goal is to be able to package up and reproduce a working,
> tested build; the dependency versions are thus not arbitrary.
>
>> I feel like what I want is somewhat in conflict with what eupspkg
>> wants to provide:
>> I want to say: "Install package X, version A" and have the system
>> respond "Oh, X depends on Y, version B. I will make sure Y version B
>> is installed and then install X version A"
> Yes, that is what the manifest will do.
>
>> Whereas I feel like eupspkg is designed to allow an arbitrary
>> combination of packages, i.e., it would respond "Oh, X depends on Y.
>> Oh, you have Y version C installed. That's cool, I'll use that and
>> just install X version A"
> No. *eups* is able to do the arbitrary combining, with things
> like table files, version resolution order, etc. helping to limit the
> arbitrariness.
>
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
|