cpio build glitch breaks Unicode char handling

Bug #59228 reported by Jeff Bailey on 2006-09-06
10
Affects Status Importance Assigned to Milestone
GNU cpio
Fix Released
Unknown
cpio (Ubuntu)
Critical
Fabio Massimo Di Nitto
Dapper
Critical
Fabio Massimo Di Nitto

Bug Description

cpio misdetects that setlocale isn't available and disabled unicode char handling. There are three possible fixes suggested in the Debian bug.

Changed in cpio:
status: Unknown → Fix Released
Matt Zimmerman (mdz) wrote :

This should be fixed by syncing cpio 2.6-17 from Debian. It contains no other changes apart from the fix for this bug.

This is functionality covered by LSB, so this is important to get in for Edgy.

Changed in cpio:
importance: Undecided → Critical
status: Unconfirmed → Confirmed
Matt Zimmerman (mdz) on 2006-09-28
Changed in cpio:
assignee: nobody → fabbione
importance: Critical → Undecided
status: Confirmed → Unconfirmed
importance: Undecided → Critical
importance: Undecided → Critical
assignee: nobody → fabbione

After reading the bug and patch, my understanding is that an underlayng define is not set properly. The Debian workaround is to avoid that check since getlocale() is known to exists on our system by default and it looks the less intrusive one for a backport.

I am going to install this cpio on my edgy and dapper installs and rerun the LSB tests together with Marc ASAP and rebuild initramfs to make sure they don't become foobar.

If time allows, i could use this cpio to rerun edgy rebuild on edgy and check with debdiff if any package is corrupted but this test might take at least 3/4 days to run over 20000 pkgs.

Jeff do you know of any other cpio usage by default?

Fabio

+cpio (2.6-17) unstable; urgency=high
+
+ * Fix setlocale glitch. closes: #381348.
+
+ -- Clint Adams <email address hidden> Fri, 4 Aug 2006 09:45:10 -0400
+
 cpio (2.6-16) unstable; urgency=low

   * Use correct path for rmt. closes: #293632.
only in patch2:
unchanged:
--- cpio-2.6.orig/lib/system.h
+++ cpio-2.6/lib/system.h
@@ -474,9 +474,6 @@
 #if HAVE_LOCALE_H
 # include <locale.h>
 #endif
-#if !HAVE_SETLOCALE
-# define setlocale(category, locale) /* empty */
-#endif

 #include <time.h>
 #if defined(HAVE_SYS_TIME_H) && defined(TIME_WITH_SYS_TIME)

The patch does indeed build a proper cpio to use external setlocale(). Verified both on edgy and dapper.

I am proceeding now with tests.

Edgy: i386/ppc/sparc initramfs regeneration works fine (all machines booted with that)
Edgy: i386 LSB tests in progress with the old cpio to make sure we hit the bug. Will follow soon with fixed cpio and a full rerun on powerpc.

Dapper will need to wait once i am done with Edgy since i need to free the machines.

Fabio

Edgy i386 LSB tests did confirm both the failure with the old and the pass with the new package. journals attached to the bug for tracking.

Please sync cpio in edgy 2.6-17 (from Debian Unstable).

Fabio

Changed in cpio:
status: Unconfirmed → In Progress

the similar patch in 2.6-17 applied to dapper 2.6-10 in attachment as requested by SRU procedure.

*the changelog does not contain approval yet*

Changed in cpio:
status: Unconfirmed → In Progress

changes file as requested by SRU procedure

as before, it does not contain the approval entry.

dapper initramfs have been done and passed.

In attachment is the LSB test result from the fixed cpio.

for completeness here is the dapper LSB test failure with cpio 2.6-10 that's actually in the archive.

Matt,

as a result of all of the above:

- we can sync cpio 2.6-17 into edgy
- I need permission to upload cpio 2.6-10ubuntu0.1 to dapper-proposed and to include "SRU granted by XXX" to the changelog.

once permission in granted and upload done i can continue with the SRU procedure for QA and etc.

Thanks
Fabio

Colin Watson (cjwatson) wrote :

[Updating] cpio (2.6-16 [Ubuntu] < 2.6-17 [Debian])
 * Trying to add cpio...
  - <cpio_2.6-17.dsc: downloading from http://ftp.debian.org/debian/>
  - <cpio_2.6-17.diff.gz: downloading from http://ftp.debian.org/debian/>
  - <cpio_2.6.orig.tar.gz: already in distro - downloading from librarian>
I: cpio [main] -> cpio_2.6-16 [main].

Changed in cpio:
status: In Progress → Fix Released

As discussed on IRC, we need to update stable because actual cpio cannot cope with some file names when using some locales. The output of the cpio archive would be corrupted.
A test case is provided by the LSB certification suite here:

/tset/LI18NUX2K.L1/utils/cpio-fh/T.cpio-fh

that shows file names and locale.

We are not aware of any direct user being affected by this bug, but it fails the LSB test/certification process and it could of course hit users in future.

Fabio

Colin Watson (cjwatson) wrote :

Approved for upload to dapper-proposed.

Ok package has been uploaded to dapper-proposed.

Simon according to the SRU procedure you are the next in line. I already tested the packge before uploading to fulfill point 4.

Fabio

On Fri, Sep 29, 2006 at 07:43:07AM -0000, Fabio Massimo Di Nitto wrote:
> - I need permission to upload cpio 2.6-10ubuntu0.1 to dapper-proposed and to include "SRU granted by XXX" to the changelog.

There's no need; you only need to include the bug number (which you would
anyway) so that there is a reference to the approval here.

Please go ahead with the dapper-proposed upload.

--
 - mdz

the package has been uploaded already but i didn't get any mail from LP yet. It's probably waiting approval from one of the ftp-master guys :)

Fabio

Colin Watson (cjwatson) wrote :

dapper-proposed upload accepted. Over to you, Simon.

Simon Law (sfllaw) wrote :

Verified to work with LSB test suite 3.1.0-6 on i386 and amd64.

I've also verified that it works by hand, and is backwards compatible with Dapper's cpio.

Finally, I've ensured that it generates the correct initramfs to boot i386 and amd64 kernels.

According to the SRU, the 7 days window for testing in -proposed did expire one hour ago.

Following on the procedure at point 5 of SRU in attachement debdiff from -proposed and -updates and uploaded to the archive (waiting ftp-master approval).

Fabio

PS i am already subscribed in LP to receive all cpio bugs as requested in point 6.

Colin Watson (cjwatson) wrote :

Accepted into dapper-updates.

Changed in cpio:
status: In Progress → Fix Released

another week is passed, no regressions reported so far and everything looks good. I did unsubscribe from cpio bug list and SRU is completed 100%.

Enjoy
Fabio

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.