On 03/13/2014 11:58 AM, Kir Kolyshkin wrote:
Ola, thanks for info!
To make a long story short, I have reverted the build script to the
old versioning
scheme. The next -testing kernel (042stab086.x) will use it, and the
stable kernel
with this old versioning will be released in about a month.
In fact I've just released 042stab085.18 to wheezy-testing, which is
back to the old versioning.
Please test it and let me know if it works for you.
Kir
Kir.
On 03/12/2014 01:47 PM, Ola Lundqvist wrote:
Hi
I can give you some additional feedback on what I think is the
motivation for why the Debian packages was done this way.
1) Debian kernels are tested a lot before each release. The release
is done every second year or so and there is a freeze period of at
least a half a year with a lot of testing involved.
2) The main motivation for this change is probably that the kernel
maintainers do not want to wait for FTP maintainers for every new
version uploaded. If you create a new package in Debian you have to
wait for FTP maintainers approval before it can reach the archives.
3) There is probably one more motivation and that is the Debian
archive size. It has grown over the years and the kernel is a quite
significant size of it. If every new kernel is kept for a while that
cause a large archive. Keeping the package name solves this issue.
4) There is one more thing as well. That is that there are quite a
few module packages in debian and they have to be re-built when the
package name is changed. If the name can be kept (see ABI too below)
they do not have to be and that release some load on the build
infrastructure.
5) Still kernel maintainers are aware of ABI compatibility. This is
the reason for the -n part of the version number. It tells (I guess)
the ABI version number for that kernel. As long as the ABI is still
kept the package name can remain.
6) The same thing as in 4) above applies for custom build kernel
modules done by the system administrator. This time it reduce the
work for the system admin to build their custom modules as ABI
compatibility is known by package name.
I do not think the error message:
"Some packages can not be updated, because they require other
packages that are not installed on your system. You might use
apt-get dist-upgrade to work around that"
is something that we should have as an argument. It is not really an
error message, and in some cases it is a good thing to get an extra
reminder that something large is on the way.
I agree that the "old scheme" is better in case the kernel is not
that well tested. If it is well tested then it is not really a problem.
On the other hand point 6) above is an argument for the "new scheme".
I do not think point 2), 3) and 4) is something that applies to the
openvz kernels. They should not be a problem.
Kir: But you need to consider point 5 and make sure that you make a
new package name each time the ABI compatibility is broken.
I do not want to vote for either scheme, both are good, but in
different ways.
Cheers,
// Ola
On Fri, Mar 7, 2014 at 9:23 AM, Kir Kolyshkin <[email protected]
<mailto:[email protected]>> wrote:
On 03/06/2014 06:13 PM, spameden wrote:
Hi
2014-03-07 5:28 GMT+04:00 Kir Kolyshkin <[email protected]
<mailto:[email protected]>>:
On 03/02/2014 02:01 PM, spameden wrote:
2014-03-03 0:38 GMT+04:00 Ola Lundqvist <[email protected]
<mailto:[email protected]>>:
Hi
Problem fixed now.
I had fixed the problem temporarily, but I had
forgotten to upgrade to the debarchiver version with
the fix so it will not happen again. Now I have done
the upgrade and fixed the problem properly.
I think it's not fixed properly:
1) wrong version of linux-image:
# dpkg -l|grep linux-image-openvz
ii linux-image-openvz-amd64 042+1 amd64 OpenVZ Linux
kernel (meta-package)
2) # ls /boot |grep openvz
config-2.6.32-openvz-042stab084.17-amd64
*config-2.6.32-openvz-amd64*
initrd.img-2.6.32-openvz-042stab084.17-amd64
*initrd.img-2.6.32-openvz-amd64*
System.map-2.6.32-openvz-042stab084.17-amd64
*System.map-2.6.32-openvz-amd64*
vmlinuz-2.6.32-openvz-042stab084.17-amd64
*vmlinuz-2.6.32-openvz-amd64*
so now we are missing usual version here in the package..
that's actually very bad ... can you look into it?
many thanks.
This is intentional, and I changed it after looking into how
default Debian kernel is packaged/versioned.
If you take a look, they have [meta]package
linux-image-amd64 which requires
package linux-image-3.2.0-4-amd64. The latter (currently)
has a version of
3.2.54-2 and this version is changed (incremented) with
every release, while
package name stays the same (linux-image-3.2.0-4-amd64).
Also, vzkernel
name stays the same -- it is /boot/vmlinuz-3.2.0-4-amd64 in
different versions.
I am using the very same approach now for OpenVZ kernels.
I understand your position. I checked how it's done in Debian
and yes you're right, they're using this scheme for their
mainline 3.2.0-4 kernel.
Tbh, I don't like their "NEW" way at all.
Here is why:
When new version of OpenVZ kernel comes its hard to have 2
different kernels on the system (with different versions).
Here is a simple scenario:
1) new kernel comes and it's not working at all on certain
configurations.
2) if you configured grub correctly it would boot previously
working kernel after reboot.
--> But it wont boot previous OpenVZ kernel version, because
when you upgrade you overwrite existing kernel and you need to
rollback to the previous version manually.
Previously I was adding the VZ version (i.e. 042stab0xy.z)
into kernel package name,
and it was added to vmlinuz and the /lib/modules directory
name as well.
I really liked how it was done before. There was an option to
leave certain kernel versions for testing as well and delete
what is not needed.
The problem
is, you need to specify a different dependency in
linux-image-openvz-amd64 metapackage,
and apt-get upgrade complains that it can't upgrade the
system since a new version
of an installed package (linux-image-amd64) requires a
package that is not installed yet.
The problem could be fixed by running dist-upgrade, but
eventually I decided that
this message is a hint that I package openvz kernels
improperly, that lead me to
looking into a way standard Debian kernels are packaged and
implementing it
the same way for OpenVZ kernels.
Interesting.. I never seen myself such problem before. It worked
just fine for me for a long time (before there was a problem
with chksums).
The error from apt-get update was something like this
(sorry I don't have exact message):
"Some packages can not be updated, because they require other
packages that are not installed on your system. You might use
apt-get dist-upgrade to work around that"
So I started to look why this is not happening with stock Debian
kernels
and found out that I was doing it all wrong (or so I thought at
that time).
We can surely revert back to the old packaging scheme...
I am not a Debian guru and am very open to suggestions on
how to improve this.
Perhaps we can return to the older versioning scheme and ask
people to use dist-upgrade.
Or maybe I am totally missing something. Please help.
Yes, old way was really cool and convinient personally for me on
production environment. And for testing new stable kernel
versions too.
Of course there is a drawback that you need to cleanup old
kernel versions manually, cuz your /boot partition must have
some free space for future upgrades.
If OpenVZ kernels are very well tested before going to stable
versions I wouldnt mind NEW way. It's probably more proper to
have just 1 OpenVZ kernel version and update it from time to time..
This is what we do with stable kernels -- they are released about
once a month,
and we test a lot before releasing those. But yeah, maybe we
should just revert
back to the old scheme.
--
--- Inguza Technology AB --- MSc in Information Technology ----
/ [email protected] <mailto:[email protected]> Annebergsslingan 37 \
| [email protected] <mailto:[email protected]> 654 65 KARLSTAD |
| http://inguza.com/ Mobile: +46 (0)70-332 1551 |
\ gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9 /
---------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/users