Merge lp:~mfisch/ubuntu/precise/live-manual/live-manual-fix-ftbfs-831392 into lp:ubuntu/precise/live-manual
Status: | Merged |
---|---|
Merged at revision: | 30 |
Proposed branch: | lp:~mfisch/ubuntu/precise/live-manual/live-manual-fix-ftbfs-831392 |
Merge into: | lp:ubuntu/precise/live-manual |
Diff against target: |
47 lines (+11/-3) 3 files modified
debian/changelog (+7/-0) debian/control (+3/-2) debian/rules (+1/-1) |
To merge this branch: | bzr merge lp:~mfisch/ubuntu/precise/live-manual/live-manual-fix-ftbfs-831392 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Timo Aaltonen | Approve on 2012-03-07 | ||
Ubuntu branches | 2012-03-04 | Pending | |
Review via email:
|
Description of the change
I have tracked down the FTBFS issue, it is because that inside the chroot the environment (specifically LC_ALL is set to "C") and so when it tries to process the manuals for the other languages, like de, it bails when it sees "invalid byte sequence in US-ASCII". Then later on it really fails when it can't find the localized manuals to complete the processing.
What the fix is is that you need to install the us locale in your chroot and setting LC_ALL before the build. I think the key here is that the environment is <something>.UTF-8, but there's no reason not to use en_US, the other manuals are not broken by this process from what I see.
This failure also explains to me why it builds fine outside a chroot on my dev box or in a regular VM.
Stefano Rivera (stefanor) wrote : | # |
Matt Fischer (mfisch) wrote : | # |
From what I can tell it builds fine for debian since they have binary packages for it. I assumed that their build systems already had locales installed. Can you confirm that this is also broken for them?
Matt Fischer (mfisch) wrote : | # |
Okay, so I see what python-djvulibre does (another package on the FTBFS list btw), I can try that method and remove the new dependency. I'd still like to know how this builds for debian and not for us or perhaps I'm mistaken.
Matt Fischer (mfisch) wrote : | # |
Stefano,
I'm able to get it to build by doing this in debian/rules:
%:
mkdir -p debian/tmp/locale/
localedef -f UTF-8 -i en_US ./debian/
export LOCPATH=
export LC_ALL=en_US.UTF-8 && \
dh ${@}
Doing those steps in override_
I also removed the changes to the control file. If this is what you're looking for, I'll push a new version. Let me know.
This issue isn't specific to Ubuntu, so it would be nice to have a generic solution that would work for Debian too.
Debian doesn't have langpacks. It does have locales-all, but that's huge, and takes forever to install. So, the best solution is usually to generate a locale during install (python-djvulibre is an example of a package doing something like this).