Opened 5 years ago

Closed 4 years ago

#1120 closed defect/bug (fixed)

svn navit package for N810 fails to install

Reported by: chr Owned by: KaZeR
Priority: major Milestone: version 0.5.1
Component: install Version: git master
Severity: normal Keywords: maemo, n800, n900, package
Cc:

Description

Hello,

on my N810 the installation of up to date packages from http://download.navit-project.org/navit/n800/svn/ fails. On the command line I get the following message:

 #  dpkg -i navit-svn-5496.deb
 tar: warning: skipping header 'x'
 tar: warning: skipping header 'x'
 tar: warning: skipping header 'x'
 tar: warning: skipping header 'x'
 (Reading database ... 24413 files and directories currently installed.)
 Preparing to replace navit 5496 (using navit-svn-5496.deb) ...
 Unpacking replacement navit ...
 dpkg: error processing navit-svn-5496.deb (--install):
  corrupted filesystem tarfile - corrupted package archive
 dpkg-deb: subprocess paste killed by signal (Broken pipe)

Having a closer look I get the following first bytes for the newer navit package files:

 # dpkg --fsys-tarfile navit-svn-5496.deb |less
 ./PaxHeaders.2941/.^@^@^@^@^@

and for the older ones which can be installed:

 $ dpkg --fsys-tarfile navit-svn-5183.deb |less
 ./^@^@^@^@^@^@^@^@^@

I assume it is a posix - tar compliance problem. My N810 cannot unpack them. Extracting and rebuilding the package on a Debian PC cures the problem.

Can you change back to the former packaging technique?

Software info:

# uname -a
Linux Nokia-N810-23-14 2.6.21-omap1 #2 PREEMPT Sun Mar 13 23:29:39 CET 2011 armv6l unknown

The software:
 ii  busybox        3:1.6.1.legal-1osso23
 ii  dpkg           1.14.7maemo5

Regards, Christian

Change History (17)

comment:1 Changed 5 years ago by momcilo majic

Same problem here. I have tried gnutar package, and it still fails. Perhaps if we knew which tar is used in build environment, we could repackage gnutar

Last edited 5 years ago by momcilo majic (previous) (diff)

comment:2 follow-up: Changed 5 years ago by chr

Replacing busybox tar by the tar (1.14-2.1osso) package from the repos (which was a hassle by its own, it conflicts busybox) did not help on my side. Dpkg and the GUI package manager seem to use some internal tar functionality. With tar (1.14-2.1osso) I can extract navit-svn-5496.deb but dpkg still fails to install. Just the leading tar warnings disappear:

# dpkg -i navit-svn-5496.deb 
Selecting previously deselected package navit.
(Reading database ... 22456 files and directories currently installed.)
Unpacking navit (from navit-svn-5496.deb) ...
dpkg: error processing navit-svn-5496.deb (--install):
 corrupted filesystem tarfile - corrupted package archive
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 navit-svn-5496.deb

Regards, Christian

Last edited 5 years ago by chr (previous) (diff)

comment:3 in reply to: ↑ 2 ; follow-up: Changed 5 years ago by momcilo majic

It looks like tar belongs to dpkg build deps. Most likely it is a static link. We can not do anything externaly.

So there are actually following options:

  • upgrade dpkg :(
  • ask somebody to revert to old system
  • try to make a new system produce old tar format (if it does not link directly to libtar)
  • create repackaging scripts if everything else fails (btw: what execatly did you do with package?)

The reposotory provides only chinook distribution for all devices. My guess is that present changes were introduced to provide support for n900/n9.

Replying to http://wiki.navit-project.org/index.php/user:chr:

Replacing busybox tar by the tar (1.14-2.1osso) package from the repos (which was a hassle by its own, it conflicts busybox) did not help on my side. Dpkg and the GUI package manager seem to use some internal tar functionality. With tar (1.14-2.1osso) I can extract navit-svn-5496.deb but dpkg still fails to install. Just the leading tar warnings disappear:

# dpkg -i navit-svn-5496.deb 
Selecting previously deselected package navit.
(Reading database ... 22456 files and directories currently installed.)
Unpacking navit (from navit-svn-5496.deb) ...
dpkg: error processing navit-svn-5496.deb (--install):
 corrupted filesystem tarfile - corrupted package archive
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 navit-svn-5496.deb

Regards, Christian

comment:4 in reply to: ↑ 3 Changed 5 years ago by chr

Replying to momcilo majic:

It looks like tar belongs to dpkg build deps. Most likely it is a static link. We can not do anything externaly.

So there are actually following options:

  • upgrade dpkg :(
  • ask somebody to revert to old system
  • try to make a new system produce old tar format (if it does not link directly to libtar)
  • create repackaging scripts if everything else fails (btw: what execatly did you do with package?)

The reposotory provides only chinook distribution for all devices. My guess is that present changes were introduced to provide support for n900/n9.

I don't think so. I had a look at fremantle on maemo.org and neither the newest tar-gnu (packaged in 2010) nor packages build yesterday do have the posix compliance tar header 'PaxHeaders?'. I guess N900/N9 with fremantle just does not stumble, while the older diablo and chinook do. The svn-navit packages on Debian do not have the PaxHeader? either. I do get more and more sure, that an accident with packaging happened after svn-5183.

Here how I rebuild the navit archive file for my N810 on a i386 Debian deskop PC:

place navit-svn-5496.deb in the current directory
$ mkdir xt
$ dpkg -e navit-svn-5496.deb xt/DEBIAN
$ dpkg -x navit-svn-5496.deb xt

dpkg expects the version number to start with a number, svn-5496 has to be
changed in the control file. May be there is an option to allow the version
number to start with 'svn-...'. In the end rebuilding is not a solution it
is a work around:
$ vi xt/DEBIAN/control
$ fakeroot dpkg -b xt navit-svn-5496m.deb

navit-svn-5496m.deb can be installed on the N810.

Regards, Christian

comment:5 Changed 4 years ago by usul

  • Keywords maemo n800 n900 package added
  • Milestone set to version 0.5.1

So our release can't installed on n800 internet tablet obviously. We might need to finetune our build server scripts.

As essential bug to the maemo related community, I schedule it for next hotfix.

comment:6 Changed 4 years ago by usul

I managed to install Navit on my N900 using this guide: http://zerties.org/index.php/Navit_auf_n900

Can anybody please try it on a N800?

comment:7 Changed 4 years ago by chr

  • Severity set to normal

I want to try, but the link is gone. Please can you update the link?

comment:8 Changed 4 years ago by klosels -2-

The link is http://ccc.zerties.org/index.php/Navit_auf_n900 The repo mentioned there works for N900 only, at least not out of the box for my N810.

comment:9 Changed 4 years ago by klosels -2-

Could it be that the whole issue is in some way related to this old tar bug on Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230872

(don't know on what system the Maemo/chinook packages are built; I'm just an N810 Navit user with some IT background...)

Last edited 4 years ago by klosels -2- (previous) (diff)

comment:10 Changed 4 years ago by chr

Klosels, thank you for your replies. The repo does not work for my N810 either. Many libs are too old and qt does not exist.

The bug report is very interesting. Thus, the default format is 'ustar' not 'posix' aka 'pax'. This should be configured on the build server for the n800 package. The environment setting POSIXLY_CORRECT=1 on my debian PC does not make GNU tar nor bsdtar use the 'posix' format.

Is there anything I can do to help with the software on the build server? I really care about navit on my N810.

comment:11 Changed 4 years ago by tryagain

Thank you everybody for the links supplied. I think I have got a clue what happens.

Now I have changed our server scripts to pass -H ustar option to tar when creating n800 deb package.

Updated n800 build is already at http://download.navit-project.org/navit/n800/svn/

So please verify if new package is:

  • compatible with n800 devices
  • still compatible with n900 devices

comment:12 Changed 4 years ago by momcilo majic

Confirmed to work for n810 running diablo.

However, except it looks like the icons are low resolution now. It may be unrelated to the packing issue.

comment:13 Changed 4 years ago by chr

The same for me with my N810. In addition there are no GPS sources / profiles under Settings > Vehicle. Something else changed besides passing the -H ustar option to tar?

In my opinion the packaging issue is solved for the N810. Thank you!

comment:14 follow-up: Changed 4 years ago by klosels -2-

Installation works again - great :-) N810 running Diablo. Thanks for fixing the packaging!

However, I see the same icon problem; all the same icons as before are installed, so this is no packaging problem. I fixed my OSD icons by using the *_48_48.png variety explicitly now.

More serious problem, but equally probably not related to packaging: GPS isn't turned on automatically anymore on N810. Revision rev. 5642 looks suspicious to me - just tried rev. 5640 by replacing all binaries manually: works! I'll open another ticket.

Last edited 4 years ago by klosels -2- (previous) (diff)

comment:15 in reply to: ↑ 14 Changed 4 years ago by tryagain

Replying to klosels:

However, I see the same icon problem; all the same icons as before are installed, so this is no packaging problem. I fixed my OSD icons by using the *_48_48.png variety explicitly now.

That was me who broke icon sizes. Hope I have fixed them with r5709

comment:16 Changed 4 years ago by chr

All icons are fine with r5709 here. No more tiny icons on my n810. Thanks

comment:17 Changed 4 years ago by tryagain

  • Resolution set to fixed
  • Status changed from new to closed

So closing this one now, N800 GPS problem is separate and being solved at #1179.

Note: See TracTickets for help on using tickets.