RobertCNelson / bb-kernel

MIT License
130 stars 102 forks source link

New version of dpkg creates packages that aren't compatible with older versions of dpkg by default #55

Closed misterhayman closed 5 years ago

misterhayman commented 5 years ago
 --[no-]uniform-compression
              Specify  that  the  same  compression  parameters should be used for all archive members (i.e. control.tar and data.tar;
              since dpkg 1.17.6).  Otherwise only the data.tar member will use those parameters. The only supported compression  types
              allowed  to  be  uniformly used are none, gzip and xz.  The --no-uniform-compression option disables uniform compression
              (since dpkg 1.19.0).  Uniform compression is the default (since dpkg 1.19.0).

Beaglebones with Wheezy have dpkg 1.16.18, which does not support this feature that was added in 1.17.6, and is now default as of 1.19.

The KERNEL/scripts/package/builddeb script should be updated to specify --no-uniform-compression if the dpkg version is 1.19 or greater.

RobertCNelson commented 5 years ago

I suppose, we could hack that in.. But how long do we really want to support wheezy?

https://wiki.debian.org/LTS wheezyeol

Regards,

RobertCNelson commented 5 years ago

For reference, the last change i did to our wheezy repo was on: 2018-03-16 22:04:59

https://rcn-ee.net/repos/debian/log/wheezy.log

Here is what is in the repo:

https://gist.github.com/RobertCNelson/ecca7eecd61615aae3eb8f9e2b5bbb47

Regards,

misterhayman commented 5 years ago

Yes, you're right Wheezy is ancient and outdated. I mostly just wanted to report this somewhere so that people who experience the same problem won't waste a day trying to figure it out (like I did). :)

The error message looks like so: dpkg-deb: error: archive 'connman_1.36-1_armhf.deb' contains not understood data member control.tar.xz, giving up

misterhayman commented 5 years ago

Could I submit a PR to fix this? Which branch would it go on? I notice that you still occasionally backport odds and ends to 3.8.13 kernel which I think is targeted at Wheezy. 3.8.13-bone86 was released on 2018-07-31.

RobertCNelson commented 5 years ago

We also targeted 3.8.13-bone86 with Jessie/Stretch.. glibc/systemd in buster needs a new kernel..

Here is where dpkg get's called: https://github.com/RobertCNelson/stable-kernel/blob/master/3rdparty/packaging/builddeb#L32-L34

Regards,

misterhayman commented 5 years ago

I see. If I were to submit a PR to resolve this issue on that repository, would you be amenable to merging it in at your convenience? If not, no worries, we can close this issue.

RobertCNelson commented 5 years ago

I think it would be best to wire it up into "yakbuild" as that's where i point users today, when they want to build a really old kernel image. (It's essentially replaced all the script backports i use to do on x-number of branches..)

https://github.com/RobertCNelson/yakbuild/

I'm thinking something after "git_shallow" here:

https://github.com/RobertCNelson/yakbuild/blob/master/scripts/git.sh

Regards,

misterhayman commented 5 years ago

I forked yakbuild and created a branch with a single commit. https://github.com/MarkForged/yakbuild/commit/0685caa97c3affba3e87d37e089a228a0378a8e6 Not sure if this is what you had in mind, but if you like, feel free to grab it. I'll close this with the understanding that wheezy is ancient.