[Users] Re: vzpkg2

Kir Kolyshkin kir at openvz.org
Sun Sep 14 05:17:09 EDT 2008


Robert Nelson wrote:
> Kir Kolyshkin wrote:
>> Robert Nelson wrote:
>>> Kir Kolyshkin wrote:
>>>> Hi Robert,
>>>>
>>>> I'm trying to play with vzpkg2. Here are some random problems I 
>>>> found so far.
>>>>
>>>>
>>>> 1. I am trying to install the beast on Fedora 7 x86_64 system. This 
>>>> is what I see:
>>>>
>>>> /usr/share/vzpkg2/cache-os: line 164: 
>>>> /usr/lib/vzctl/scripts/vps-create: No such file or directory
>>>>
>>>> The thing is vps-create is located in /usr/lib64/vzctl/scrpts on an 
>>>> x64 box (vzctl-lib-3.0.22-1.x86_64.rpm). This was never a problem 
>>>> because vzpkg didn't work on x86_64. Now this needs to be fixed, I 
>>>> guess the workaround is to check lib64 first and use it if 
>>>> available. Patch (0001-*) is attached.
>>>>
>>>
>>> I am also testing on an x86_64 machine and vzctl/scripts is still 
>>> installed in /usr/lib.  This must be a change in the never released 
>>> version of vzctl.  I don't think this change is correct.  /usr/lib 
>>> should be for 32 bit and "Architecture-Independent" files, 
>>> /usr/lib64 is for 64 bit only "Architecture Dependent" files.
>> I checked with vzctl-3.0.20 and 3.0.22 -- official built RPMs from 
>> download.openvz.org.
>>
>> Even if it is incorrect we can fix it in future version but the 
>> problem is people are using current versions and will use it for some 
>> time.
>>
>> Which vzctl do you have, where you got it from? Maybe Debian build?
>
> I'm using version 3.0.22 and I test on both Debian and CentOS.  By 
> default CentOS installs both the 32 and 64 bit versions.  On Debian 
> I'm using the vzctl from http://download.openvz.org/debian-syst and it 
> doesn't use /usr/lib64.
>
> Anyways, it is a simple enough to test for /usr/lib64/vzctl/scripts first.

This is what  did in that patch I sent :)

>>>>
>>>> 2. In git commit 2fdcbfc56b4d823ff085e80ec79828f67b5de5a9 you have 
>>>> added %{dist} to the value of Release: field of vzpkg.spec. This is 
>>>> a good thing, since it makes .spec file to be more 
>>>> Fedora-packaging-guidelines compatible. Then in commit 
>>>> 0fe151bd07301c78c85a319d683c3e7fd9117f38 you are removing it.
>>>>
>>>> The proper way is to put %{?dist} so if it's not set then it will 
>>>> expand to empty string. Patch (0002-*) is attached.
>>>>
>>>
>>> I know about the %(?dist), in fact I use it in the add-ons spec 
>>> files.  However vzpkg is not distribution specific and there is no 
>>> reason to build separate binary rpms for each distribution and each 
>>> release of the distribution.
>> Still all the packages in Fedora have that suffix. I do not have time 
>> at the moment to dig into Fedora Packaging Guidelines but AFAIK it is 
>> required. It does no harm since it is expanded to nothing if %dist is 
>> unset (which happened on my F9 box).
>>
>> UPDATE: here it is -- 
>> https://fedoraproject.org/wiki/Packaging/DistTag. Basically, setting 
>> this makes it easier to become a part of Fedora.
>>>
>
>
>     Purpose of the Dist Tag
>
> There are several uses for a |%{dist}| tag. The original purpose was 
> so that a single spec file could be used for multiple distribution 
> releases. In doing this, there are cases in which BuildRequires: and 
> Requires: will need to be different for different distribution 
> releases. Hence, |%{dist}| does double duty:
>
>     * it differentiates multiple packages which would otherwise have
>       the same |%{name}-%{version}-%{release}|, but very different
>       dependencies.
>
>     * it allows for a conditional check in the spec to deal with the
>       differing dependencies.
>
>
>       Do I Have To Use the Dist Tag?
>
> No. It is documented and standardized so that maintainers who wish to 
> use it can do so, but it is not mandatory.
>
>
> Above is the actual text from the Guidelines.  Since vzpkg doesn't 
> have any dependencies it isn't version or distribution specific.  So 
> it isn't necessary, the guidelines also specify that it is optional.  
> If it is specified then you would need to generate separate RPMs for 
> every distribution and every version of those distributions.  This 
> isn't a problem if it is being built as part of a distribution but it 
> is when you are building separate from a distribution.

All right, agreed :)

>
>
>>>>
>>>> 3. There are a few problems with setting VZPKG_CACHE_HOST in 
>>>> /etc/vz/vz.conf
>>>>
>>>> (a) From my POV, vzpkg should work (maybe suboptimal and 
>>>> inefficient, but it should) without any additional settings. Now 
>>>> it's not so -- you have to specify VZPKG_CACHE_HOST manually. It 
>>>> should be optional.
>>>
>>> With a bit of work I can generate default values in an install 
>>> script.  But it is really hard to figure out a default static IP 
>>> address needed to do an template update for Debian.
>>
>> Is there some list of mirrors available? I mean, if I run say 
>> debootstrap I do not have to configure anything.
>
> I'm not sure how that is relevant to the issue being discussed.  The 
> issue I'm talking about is an IP address for the container.
Is there a documentation for VZPKG_CACHE_HOST I can take a look at? Yup 
I know the best documentation is the code, and I will take a look, but 
anyways...
>   This is needed so that the container can access the network to run 
> "apt-get upgrade" to update the template with latest versions of the 
> installed packages.
>
> As far as the question about debootstrap, there is a default mirror 
> built into the debootstrap script.  This works for Debian, for Ubuntu 
> the default mirror is in the various scripts in 
> /usr/share/debootstrap/scripts on Debian or 
> /usr/lib/debootstrap/scripts on Fedora.



More information about the Users mailing list