Difference between revisions of "Raspbian"

From eLinux.org
Jump to: navigation, search
(add ekg2)
(Modified packages)
Line 93: Line 93:
 
|
 
|
 
|-
 
|-
| Disable icedtex6-jre-jamvm binary package
+
| Update jamvm
| libjvm-so in icedtex6-jre-jamvm was coming out with armv7 code in it
+
| libjvm-so in icedtex6-jre-jamvm with old jamvm was coming out with armv7 code in it
| Root cause has not been determined, if someone wants to put the effort into determining it that would be appreciated
+
| Likely to be kept as a local change in raspbian for wheezy. Openjdk-6 is likely to be dropped completely for jessie.
 
|
 
|
 
|-
 
|-
Line 137: Line 137:
 
| seperate build-arch and build-indep
 
| seperate build-arch and build-indep
 
| documentation build was silently failing (causing a file not found error later) on raspbian
 
| documentation build was silently failing (causing a file not found error later) on raspbian
| Bug [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675414 675414]submitted to debian for build-arch/build-indep split. No idea on root cause of documentation build issue.
+
| Bug [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675414 675414]submitted to debian for build-arch/build-indep split and has been fixed in experimental. No idea on root cause of documentation build issue.
 
|
 
|
 
|-
 
|-
Line 374: Line 374:
 
|
 
|
 
|-
 
|-
| Disable icedtex6-jre-jamvm binary package
+
| Update to newer version from experimental
| libjvm-so in icedtex6-jre-jamvm was coming out with armv7 code in it
+
| libjvm-so in icedtex6-jre-jamvm from the testing/unstable version was coming out with armv7 code in it
| Root cause has not been determined, if someone wants to put the effort into determining it that would be appreciated
+
| Hopefully debian testing/unstable will get this new version soon.
 
|
 
|
 
|-
 
|-
Line 444: Line 444:
 
| testsuite seemed to be failing on debian armhf in experimental and there isn't much we can do about testsuite failures anyway
 
| testsuite seemed to be failing on debian armhf in experimental and there isn't much we can do about testsuite failures anyway
 
| local hack hopefully can be dropped later.
 
| local hack hopefully can be dropped later.
|
 
|-
 
| clucene-core-experimental
 
| raspbian specific source package based on experimental version of clucene-core with renamed source package and dev package
 
| experimental version of libreoffice needed newer versions of clucene than was present in wheezy
 
 
|
 
|
 
|-
 
|-

Revision as of 12:39, 2 November 2012


Raspbian is a project to create a hard float port of debian for the Raspberry Pi and similar devices which use ARMv6 processors with VFPv2. The official Debian armhf packages are built with ARMv7, VFPv3_D16 and Thumb2. So they are not suitable for the Pi and similar devices. To get round this we have to change the compiler defaults (easy) and recompile everything (harder than it sounds).

Infrastructure has been set-up for building packages. We aim to stay as close to Debian wheezy as possible but we will pull in packages from sid and/or make our own modifications when we deem it necessary.

A chroot can be bootstrapped from a Debian squeeze armel installation using the following commands (replace /chroots/wheezy-armhf-rpi with where you want your chroot).

debootstrap --arch=armhf wheezy /chroots/wheezy-armhf-rpi http://archive.raspbian.org/raspbian
cd /chroots/wheezy-armhf-rpi
wget http://archive.raspbian.org/raspbian.public.key
chroot /chroots/wheezy-armhf-rpi
mount -t proc proc /proc
apt-key add raspbian.public.key
apt-get update

If you just want to install the minimum number of packages add a --variant=minbase to the bootstrap command

Since this is running in a chroot you probably don't want it attempting to start and stop services when you update packages. To avoid this create a file /usr/sbin/policy-rc.d with the following commands

 cat << EOD >/usr/sbin/policy-rc.d
 #!/bin/sh
 echo "rc.d operations disabled for chroot"
 exit 101
 EOD
 chmod 0755 /usr/sbin/policy-rc.d

Modified packages

Note: this list is incomplete

Source package Changes Reason Status Notes
elfutils testsuite disabled testsuite failed on plugwash's build system and package was needed local hack, hopefully we can drop later.
gcc-4.6 change compiler defaults need to build binaries suitable for rpi permanent raspbian change, not suitable for pushing upstream
gcc-4.5 change compiler defaults need to build binaries suitable for rpi permanent raspbian change, not suitable for pushing upstream
treat wheezy the same as sid compiler built in wheezy was passing --as-needed to the linker which we don't want could potentially be pushed upstream to debian but given they intend to get rid of the package in the not too distant future i'm not sure there is much point
disable testsuite gcc testsuite takes ages and we don't have the resources to do anything about failures anyway, especially for a non-default compiler version local hack, may be dropped later (but probablly won't)
git testsuite disabled testsuite failed and package was needed seems to be a subversion related issue (debian bug 678137), hopefully will be fixed more properly in debian
libatomic-ops fixed support for armv6 package failed to build with assembler errors undecided on whether to push upstream or keep as a local change
gcj-4.6 change compiler defaults need to build binaries suitable for rpi permanent raspbian change, not suitable for pushing upstream
disable testsuite gcc testsuite takes ages and we don't have the resources to do anything about failures anyway, especially for a non-default compiler version local hack, may be dropped later (but probablly won't)
openjdk-6 Alter arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S for armv6 arm version directives in the aforementioned file were making libjvm.so in openjdk-6-jre-headless come out armv7 dirty Probablly not suitable for pushing upstream in present form, may be able to be made suitable with extra conditionalising
Update jamvm libjvm-so in icedtex6-jre-jamvm with old jamvm was coming out with armv7 code in it Likely to be kept as a local change in raspbian for wheezy. Openjdk-6 is likely to be dropped completely for jessie.
qt4-x11 Disable neon armv6 doesn't have neon (and not all armv7 systems do either) Debian armhf isn't supposed to require NEON either. Working out whether this should be pushed upstream would require working out if there is any runtime checking for neon in QT which I (plugwash) don't have time for ATM. Building documentation on raspbian seems to hang, when updating package a source+all upload should be built on amd64 or similar. The buildds can then fill in the remaining binaries.
x264 Disable build of neon vairant neon variant sets of our v7 contamination checker which could possiblly obscure real problems. Not suitable for pushing upstream. May be dropped if our contamination checker gets smarter.
libvpx Disable build of neon vairant neon variant sets of our v7 contamination checker which could possiblly obscure real problems. Not suitable for pushing upstream. May be dropped if our contamination checker gets smarter.
python-apt disable testsuite testsuite seems to fail for us, most likely due to some characteristic of our repo (python-apt uses the apt data from the build system for it's testsuite) Local hack but it would be nice if we could convince upstream to ship test data rather than relying on data from the build system
strigi mark _ZNK15QBasicAtomicInteqEi@Base as optional the symbol did not appear in our builds Not sure if this is correct to push upstream.
guile-2.0 testsuite disabled testsuite failed on plugwash's build system and package was needed testsuite fails for debian as well, hopefully they will fix it at some point.
pyopenssl seperate build-arch and build-indep documentation build was silently failing (causing a file not found error later) on raspbian Bug 675414submitted to debian for build-arch/build-indep split and has been fixed in experimental. No idea on root cause of documentation build issue.
perl change build-depends and debian/config.debian to build with gcc-4.7 gcc 4.6 failed to build package with ICE local change likely to be kept until debian makes 4.7 the default on armhf
libmediainfo change build-depends and debian/config.debian to build with gcc-4.7 gcc 4.6 failed to build package with ICE local change likely to be kept until debian makes 4.7 the default on armhf
libpd-stats-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libdevice-cdio-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
rhash add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
frozen-bubble add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libasync-interrupt-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
gcc-4.7 change compiler defaults need to build binaries suitable for rpi permanent raspbian change, not suitable for pushing upstream
disable testsuite gcc testsuite takes ages and we don't have the resources to do anything about failures anyway, especially for a non-default compiler version local hack, may be dropped later (but probablly won't)
tcsh testsuite disabled testsuite failed and we needed to get update built to keep source and binary in sync local hack, hopefully we can drop later.
libfilter-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
nginx add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
exim4 add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libb-hooks-parser-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
pspp add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
disable testsuite testsuite failed and we don't have the resources to troubleshoot it local hack which hopefully can be dropped later
libvariable-magic-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libmath-tamuanova-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
pidgin add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
dietlibc tweak debian patches to support armv6 vfp package failed to build with assembler errors planning to file a bug report with patch but havent got arround to it yet
nkf add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
remctl add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libxml-xerces-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libtemplate-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libsys-cpu-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libsort-key-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libpadwalker-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libmoose-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libipc-sharelite-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libcoro-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libsocket-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
fpc change compiler defaults We need the right compiler defaults for raspbian Permanent raspbian change not suitable for pushing upstream
Fix inverted behaviour in floating point exception masking with patch from upstream freepascal was crashing with floating point exceptions Patch incorporated in debian package after discussions with arm porters. Apparently most armv7 hardware doesn't support floating point exceptions but some may.
build with -gl and don't strip I needed to figure out why things weren't working. Bit hacky and probablly not suitable for pushing upstream in current form. Maybe introducing a -dbg package would be the best option going forward.
hercules change build-depends and debian/rules to build with gcc-4.7 gcc 4.6 failed to build package with ICE local change likely to be kept until debian makes 4.7 the default on armhf
libavg set architecture list to any and add a fallback option for some debug related inline assembler package was requested by user bug 683105 filed in debian
gdal add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf when building manually make sure only the correct ruby version is installed or build will fail
libgeotiff-dfsg add libgeotiff-alt-dev binary package without static library or dependency on libtiff5-dev xastir was requested by user and it's build-depends could not be satisfied due to conflict between libtiff4-dev and libtiff5-dev patches sent to existing bug report 666589 in debian
xastir change build-dependencies from libgeotiff-dev to libgeotiff-alt-dev
openjdk-7 Alter openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S for armv6 arm version directives in the aforementioned file were making libjvm.so in openjdk-6-jre-headless come out armv7 dirty Probablly not suitable for pushing upstream in present form, may be able to be made suitable with extra conditionalising
Update to newer version from experimental libjvm-so in icedtex6-jre-jamvm from the testing/unstable version was coming out with armv7 code in it Hopefully debian testing/unstable will get this new version soon.
libxml-libxml-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
clisp add armhf to architecture lists armhf was not in architecture lists and package was requested by user bug 684631 filed in debian.
apply patch from sourceforge to fix operation on modern arm package failed to build with illegal instruction error while running newly built clisp binary
build with gcc-4.7 build failed with ICE local change likely to be kept until debian makes 4.7 the default on armhf
libccrtp1 new source package based on old version of libccrtp source package with renamed dev and doc packages twinkle needed an older version of libccrtp local change for raspbian wheezy. For jessie I plan to clean up packages that are no longer in debian and tell users to install them from wheezy.
libzrtpcpp1 new source package based on old version of libzrtpcpp1 source package with renamed dev package current version of libzrtpcpp is not compatible with the version of libccrtp needed for twinkle. local change for raspbian wheezy. For jessie I plan to clean up packages that are no longer in debian and tell users to install them from wheezy.
twinkle retintroduce package and change build-depends to libccrtp1 and libzrtcpp1 User requested package and current versions of libccrtp and libzrtpcpp are not compatible with twinkle. local change for raspbian wheezy. For jessie I plan to clean up packages that are no longer in debian and tell users to install them from wheezy.
rrdtool add build-depends on gcc-4.7 package was trying to build perl related stuff with gcc-4.7 (likely because we built perl with it) local change likely to be kept until debian makes gcc-4.7 the default on armhf.
obexftp add build-depends on gcc-4.7 package was trying to build perl related stuff with gcc-4.7 (likely because we built perl with it) local change likely to be kept until debian makes gcc-4.7 the default on armhf.
libreoffice use version from experimental testing/unstable version has a fragile build system that was causing us problems bug 685723 filed in debian (and marked as fixed in experimental)
change build-dependencies from libclucene-dev and libcmis-dev to (raspbian specific) libclucene-dev-experimental and libcmis-dev-experimental experimental version of libreoffice needed newer versions of libclucene and libcmis than were present in wheezy local hack, hopefully can be dropped post-wheezy
disable testsuite testsuite seemed to be failing on debian armhf in experimental and there isn't much we can do about testsuite failures anyway local hack hopefully can be dropped later.
clucene-core-experimental raspbian specific source package based on experimental version of clucene-core with renamed source package and dev package experimental version of libreoffice needed newer versions of libclucene than was present in wheezy local hack, hopefully can be dropped post-wheezy
libcmis-experimental raspbian specific source package based on experimental version of libcmis with renamed source package and dev package and removed client package experimental version of libreoffice needed newer versions of libcmis than was present in wheezy local hack, hopefully can be dropped post-wheezy
libcdr bring in new package from experimental (not present in debian wheezy) experimental version of libreoffice needed libcdr hopefully package will enter debian testing post-wheezy
libheimdal-kadm5-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
libgeo-ip-perl add build-depends on gcc-4.7 package was trying to build with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
ekg2 add build-depends on gcc-4.7 package was trying to build perl related code with 4.7 (likely because we built perl with it) local change likely to be kept until debian makes 4.7 the default on armhf
"commit" changes to config.sub and config.guess source package could not be built after running clean target due to config.sub and config.guess changes bug 690112 filed in debian.